From c61d1a28e2b6924434ca35728500e1022df380fa Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Tue, 29 Sep 2026 11:56:18 +0000 Subject: [PATCH 1/4] The popup pan clears the map's bottom controls, not just the clip Clearing the clip is not the same as being clickable. The attribution and the pin hint are painted over the canvas and take pointer events, so a popup that ends fully inside the frame can still have its buttons underneath them. Measured at 390 on a 366x732 map: the pan cleared the clip exactly (cut 0) and a real click on Full Profile still did nothing, because at y~701 the top element at that point was div.maplibregl-ctrl-attrib-inner; on the sibling pin it was span.pin-hint-pill. Both pins panned, both looked fixed, neither was. Neither the popup nor the control is at fault. Attribution is a licence term of the basemap, so raising the popup over it is not available to us. The usable frame is simply shorter than the container, and the fit test has to say so. panPlanFor now takes a bottomInset and fits against containerH - bottomInset. On the measured case the plan changes from -77 (pan up, popup below the pin, buttons under the attribution) to +119 (pan down, popup above the pin, clear of the band) -- the planner flips direction because with the band reserved, fitting above became the smaller move. That is the existing "pick the smaller move" rule doing its job on a corrected frame, not a new rule. The inset is MEASURED from the live controls rather than assumed. A constant would be wrong on the next control we add, at a width where the attribution wraps to two lines, or when the gallery's clearance transform lifts the band. Only controls that intercept pointer events are measured: the corner container is pointer-events:none and spans nearly the full map width at 390, so measuring the container would over-reserve the whole strip. Unchanged where it was already right: a pin whose anchor fits still returns 0 (rega measured pan 0 on those in both arms), a popup taller than the usable frame still refuses rather than jumping the camera, and bottomInset 0 is byte-identical to the previous behaviour. 7 probe cases, with the post-pan fit asserted from the geometry rather than by re-calling the planner -- a self-consistent oracle cannot see an error that shifts both sides. --- library/components/maps/RegionCountryMap.vue | 55 +++++++++++++++++--- 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/library/components/maps/RegionCountryMap.vue b/library/components/maps/RegionCountryMap.vue index 00e9647ea..48e21162e 100644 --- a/library/components/maps/RegionCountryMap.vue +++ b/library/components/maps/RegionCountryMap.vue @@ -412,32 +412,73 @@ const POPUP_OFFSET = 12 * is 640px against a 452px popup — 164px of headroom. The popup would have to grow by 164px before * any width could overflow. So there is no residual case needing an inner scroll. * + * ★ CLEARING THE CLIP IS NOT THE SAME AS BEING CLICKABLE, which is what the first version of this + * got wrong. The bottom controls — the attribution and the pin hint — are painted OVER the canvas + * and take pointer events, so a popup that ends fully inside the frame can still have its buttons + * underneath them. MEASURED at 390 on a 366x732 map: the pan cleared the clip exactly (cut 0), and + * a real click on Full Profile still did nothing, because at y~701 the top element at that point + * was div.maplibregl-ctrl-attrib-inner; on the sibling pin it was span.pin-hint-pill. The popup is + * not at fault and neither is the control: attribution is a LICENCE TERM of the basemap, so raising + * the popup over it is not available to us. The usable frame is simply shorter than the container, + * and the fit test has to say so. + * + * bottomInset is therefore MEASURED from the live controls rather than assumed — a constant would + * be wrong on the next control we add, at a width where the attribution wraps to two lines, or when + * the gallery's clearance transform lifts the whole band. + * * Returns 0 when nothing should move: already fitting, unmeasurable, or a popup taller than its * container. That last one matters — a host can give the map a short slot, and there panning would * only move the clipping around, so the failure stays what it is today rather than becoming a * clipped popup AND a camera that jumped. */ -function panPlanFor({ containerH, popupH, pinY, offset = POPUP_OFFSET }) { +function panPlanFor({ containerH, popupH, pinY, offset = POPUP_OFFSET, bottomInset = 0 }) { if (!(containerH > 0) || !(popupH > 0) || !Number.isFinite(pinY)) return 0 const need = popupH + offset - if (pinY >= need || (containerH - pinY) >= need) return 0 // one anchor already fits - if (need > containerH) return 0 // taller than the frame: unfixable here + // The frame the popup must fit inside is the container MINUS the band the controls occupy. + const usableH = containerH - Math.max(0, bottomInset) + if (pinY >= need || (usableH - pinY) >= need) return 0 // one anchor already fits, clear of the controls + if (need > usableH) return 0 // taller than the usable frame: unfixable here const downToFitAbove = need - pinY - const upToFitBelow = need - (containerH - pinY) + const upToFitBelow = need - (usableH - pinY) return downToFitAbove <= upToFitBelow ? downToFitAbove : -upToFitBelow } +/** + * The height of the bottom control band, in CSS pixels, measured from the live elements. + * + * Both engines are named because the provider prop can swap them. Only controls that actually + * INTERCEPT POINTER EVENTS matter here: the container is pointer-events:none and the control inside + * it is pointer-events:auto, so the band is measured from the controls, not from their corner box — + * which at 390 spans nearly the full map width and would over-reserve the whole strip. + */ +function bottomControlInset(container) { + if (!container) return 0 + let top = Infinity + const box = container.getBoundingClientRect() + const sel = '.maplibregl-ctrl-bottom-left .maplibregl-ctrl, .maplibregl-ctrl-bottom-right .maplibregl-ctrl,' + + '.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl, .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl, .pin-hint-pill' + for (const el of container.querySelectorAll(sel)) { + const r = el.getBoundingClientRect() + if (r.height <= 0 || r.width <= 0) continue // a collapsed control reserves nothing + if (r.top < top) top = r.top + } + if (!Number.isFinite(top)) return 0 + return Math.max(0, Math.round(box.bottom - top)) +} + function panPopupIntoView(lngLat) { const m = map.value if (!m || !popup) return - let popupH = 0, containerH = 0, pinY = NaN + let popupH = 0, containerH = 0, pinY = NaN, bottomInset = 0 try { const el = popup.getElement() popupH = el ? el.getBoundingClientRect().height : 0 - containerH = m.getContainer()?.clientHeight || 0 + const c = m.getContainer() + containerH = c?.clientHeight || 0 + bottomInset = bottomControlInset(c) pinY = m.project(lngLat).y } catch (_) { return } // a map mid-load cannot be measured - const dy = panPlanFor({ containerH, popupH, pinY }) + const dy = panPlanFor({ containerH, popupH, pinY, bottomInset }) // panBy moves the CAMERA, so the sign is inverted: a positive plan moves the PIN down the screen. if (dy) { try { m.panBy([0, -dy], { duration: 200 }) } catch (_) { /* a pan is a nicety, never a failure */ } } } From 296e62ddfe78c48d9eca3a10c79f199984784c9e Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Tue, 29 Sep 2026 12:07:09 +0000 Subject: [PATCH 2/4] The browser/Node sheet equivalence check can measure on a fresh checkout check:poster-browser-equiv is chained in gates:pre and exited 75 NOT MEASURED every run. Its input, out/_records.json, is gitignored and written only by generate.mjs against a live API, so on CI and on any box without credentials the gate never looked at anything. The runner reported that honestly rather than as a pass, but an identical NOT MEASURED every run is indistinguishable from an unwired gate -- and this is the gate that proves a sheet generated in the browser is byte-identical to the one Node writes. An equivalence check needs the SAME input on both sides, not fresh input, so a committed fixture loses nothing it was measuring. The fixture is the 124 public records the two arms actually consume: Nepal's 34 for the country arm, and the 90 slugs the Gujarat zone selects for the zone arm. Same fields the served maps show; no other data. Verified equivalent to the full 2,106-record cache: identical zone pins in the same order, identical Nepal set, count 90, pop 3,164,770, series {2209, 28, 1}. Record ORDER is load-bearing -- it drives draw and label order -- so the fixture keeps the cache's order. A first cut sorted it: every aggregate matched and the pin SET matched, while the order differed. Sorting a fixture would have quietly changed the sheet it produces. generate.mjs gains RECORDS_FILE so a caller can name the offline input instead of only the API-written cache. It still fails closed without an API when no offline file is given. The gate passes it the very file the browser arm read, so both sides are fed the same records by construction. The gate now says which input it measured, because the full cache widens coverage to all 175 countries where it exists and the fixture is the floor everywhere else. Two-sided, on this tree: with the fixture it PASSES byte-identical on both arms (834,174 and 921,522 bytes). Dropping the province boundaries at posterSheets.js:206 -- the defect this gate's header records, where a country beside India or China printed without them -- makes the country arm 251,576 against Node's 921,522 and the gate exits 1. Restored, it passes again. --- internal/check-poster-browser-equiv.mjs | 52 ++++++++++++++++--- .../fixtures/equiv-records-npl-ind.json | 1 + library/scripts/posters/generate.mjs | 14 ++++- package.json | 2 +- 4 files changed, 59 insertions(+), 10 deletions(-) create mode 100644 library/scripts/posters/fixtures/equiv-records-npl-ind.json diff --git a/internal/check-poster-browser-equiv.mjs b/internal/check-poster-browser-equiv.mjs index fc3b3552e..4bfd5dff4 100644 --- a/internal/check-poster-browser-equiv.mjs +++ b/internal/check-poster-browser-equiv.mjs @@ -21,19 +21,50 @@ * is absent the check cannot run: NOT MEASURED (75). If it is present and the Node generator fails or * writes nothing, that is a FAILURE — a broken driver must not read as "not measured". */ -import { readFileSync, existsSync, rmSync } from 'node:fs' +import { readFileSync, existsSync, rmSync, mkdtempSync } from 'node:fs' import { spawnSync } from 'node:child_process' import { join } from 'node:path' +import { tmpdir } from 'node:os' import { pathToFileURL } from 'node:url' const REPO = new URL('..', import.meta.url).pathname const P = join(REPO, 'library/scripts/posters') const CACHE = join(P, 'out/_records.json') +// ★ A COMMITTED FIXTURE SO THIS GATE CAN MEASURE ON A FRESH CHECKOUT. out/_records.json is +// gitignored (library/scripts/*/out/**) and is written only by `generate.mjs` against a live API, +// so on CI and on any box without credentials this gate exited 75 EVERY run — chained in gates:pre +// and inert. The runner reported that honestly as NOT MEASURED rather than as a pass, but an +// identical ⊘ every run is indistinguishable from an unwired gate. +// AN EQUIVALENCE CHECK NEEDS THE SAME INPUT ON BOTH SIDES, NOT FRESH INPUT, so a fixed fixture +// loses nothing it was measuring. The fixture is the 124 PUBLIC records the two arms actually +// consume — Nepal's 34 (the country arm) and the 90 slugs the Gujarat zone selects (the zone arm) — +// carrying the same fields the served maps show. +// VERIFIED against the full 2,106-record cache: identical zone pins IN THE SAME ORDER, identical +// Nepal set, count 90, pop 3,164,770, series {2209, 28, 1}. Record ORDER is load-bearing (it drives +// draw and label order), so the fixture keeps the cache's order and is deliberately not sorted. +// NAMED equiv-*, NOT records-*: internal/build-packet-fixtures.mjs walks this directory for +// /^records-.*\.json$/ and builds EVERY match as a packet against one fixed zone (Tibet), so that +// shape is the only variable. A records-* file with no Tibet groups therefore fails that build by +// construction — which is exactly what this fixture did until it was renamed. Two different kinds +// of fixture share one directory; the prefix is what keeps them apart. +const FIXTURE = join(P, 'fixtures/equiv-records-npl-ind.json') +const SOURCE = existsSync(CACHE) ? CACHE : FIXTURE const ASSETS = join(REPO, 'public/dx-maps/assets') const DATE = '2026-09-29' -if (!existsSync(CACHE)) { - console.log('POSTER-BROWSER-EQUIV: NOT MEASURED (exit 75) — no offline records cache at library/scripts/posters/out/_records.json;') - console.log(' run `node generate.mjs` once with an API configured to write it.') +// ★ THIS GATE WRITES NOTHING SHARED. generate.mjs's default out/ is gitignored but SHARED, and +// check:zone-census counts the sheets in out/posters/ to decide whether every selectable zone has +// one. Running the generator here for a byte comparison left asia-india-gujarat.packet.html and +// country-npl.html behind, and zone-census read those two as a half-finished poster build: it went +// from NOT MEASURED to FAIL, naming 28 zones with no poster. A checker must not change what the +// next checker measures, so the generator is pointed at a private temp dir that is removed below. +const WORK = mkdtempSync(join(tmpdir(), 'equiv-')) +// Registered on 'exit' rather than written at the end: this gate exits 1 on a mismatch and 75 on a +// missing precondition, so a trailing cleanup line would be skipped on exactly the runs that ran the +// generator. 'exit' fires for all of them, and for a throw. +process.on('exit', () => { try { rmSync(WORK, { recursive: true, force: true }) } catch { /* best effort */ } }) +if (!existsSync(SOURCE)) { + console.log('POSTER-BROWSER-EQUIV: NOT MEASURED (exit 75) — no records to measure with: neither the offline cache') + console.log(' (library/scripts/posters/out/_records.json) nor the committed fixture (library/scripts/posters/fixtures/).') process.exit(75) } if (!existsSync(join(ASSETS, 'boundaries/world-adm0.geojson'))) { @@ -52,10 +83,13 @@ let failed = false if (!same) failed = true } function nodeSheet(env, file) { - const out = join(P, 'out/posters', file) + const out = join(WORK, 'posters', file) rmSync(out, { force: true }) const r = spawnSync('node', ['generate.mjs'], { cwd: P, encoding: 'utf8', timeout: 240000, - env: { PATH: process.env.PATH, HOME: process.env.HOME, OFFLINE: '1', VITE_API_BASE_URL: 'http://offline.invalid', POSTER_DATE: DATE, ...env } }) + // RECORDS_FILE is SOURCE, the very file the browser arm read. Feeding the two sides from the + // same records is what makes this an equivalence check rather than two independent renders — + // and it is what lets the Node side run at all without a live API having written the cache. + env: { PATH: process.env.PATH, HOME: process.env.HOME, OFFLINE: '1', VITE_API_BASE_URL: 'http://offline.invalid', POSTER_DATE: DATE, RECORDS_FILE: SOURCE, OUT_DIR: WORK, ...env } }) if (r.status !== 0 || !existsSync(out)) { console.log(` ✗ the Node generator did not write ${file} (exit ${r.status})\n${(r.stderr || r.stdout || '').slice(-400)}`) failed = true @@ -64,7 +98,11 @@ function nodeSheet(env, file) { return readFileSync(out, 'utf8') } const json = (p) => JSON.parse(readFileSync(p, 'utf8')) -const records = json(CACHE) +const records = json(SOURCE) +// SAY WHICH INPUT WAS MEASURED. The full cache widens coverage to all 175 countries where it +// exists; the fixture is the floor that makes the gate mean something everywhere else. A reader +// comparing two runs has to know which one produced the numbers below. +console.log(`POSTER-BROWSER-EQUIV: measuring with ${SOURCE === CACHE ? 'the offline cache out/_records.json' : 'the committed fixture fixtures/equiv-records-npl-ind.json'} — ${records.length} record(s).`) const assetsBase = pathToFileURL(ASSETS).href const results = [] diff --git a/library/scripts/posters/fixtures/equiv-records-npl-ind.json b/library/scripts/posters/fixtures/equiv-records-npl-ind.json new file mode 100644 index 000000000..eecd3a138 --- /dev/null +++ b/library/scripts/posters/fixtures/equiv-records-npl-ind.json @@ -0,0 +1 @@ +[{"slug":"agaria","name":"Agaria","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"25000","latitude":"23.24272500","longitude":"69.67236400","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"agri","name":"Agri","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"70000","latitude":"23.59500000","longitude":"72.96300000","primary_language":"mar","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Marathi","religion_label":"Hinduism"},{"slug":"anjana-patel-gujarati","name":"Anjana Patel (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"349000","latitude":"22.85345800","longitude":"72.14596900","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"bafan","name":"Bafan","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"600","latitude":"23.25708900","longitude":"69.66866000","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"bairagi-gujarati","name":"Bairagi (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"510000","latitude":"21.52446100","longitude":"70.45606100","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"bamcha","name":"Bamcha","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"5700","latitude":"22.25631400","longitude":"71.19128600","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"baniya","name":"Baniya","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"217000","latitude":"26.97589200","longitude":"85.34782000","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"banjania","name":"Banjania","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"35000","latitude":"24.18310300","longitude":"72.42584200","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"barae","name":"Barae","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"60500","latitude":"26.87503500","longitude":"85.57834900","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"barot","name":"Barot","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1700","latitude":"23.58788100","longitude":"72.36511900","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"barthari","name":"Barthari","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"16500","latitude":"22.79271400","longitude":"73.54118600","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"bhand","name":"Bhand","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"17000","latitude":"29.64410500","longitude":"80.50954500","primary_language":"urd","religion":"MSN","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Urdu","religion_label":"Islam - Sunni"},{"slug":"bhediyar","name":"Bhediyar","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"30500","latitude":"26.97077500","longitude":"85.32420100","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"bhodala","name":"Bhodala","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"14500","latitude":"22.82636400","longitude":"69.35677200","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"bodo","name":"Bodo","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A018","label":"Tibetan Peoples"},"population":"4900","latitude":"26.78124000","longitude":"88.08058000","primary_language":"brx","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Boro (India)","religion_label":"Hinduism"},{"slug":"borpi","name":"Borpi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"950","latitude":"20.60325300","longitude":"72.93564700","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"byangsi","name":"Byangsi","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A018","label":"Tibetan Peoples"},"population":"2700","latitude":"29.83070200","longitude":"81.88682300","primary_language":"bee","religion":"BLA","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Byangsi","religion_label":"Buddhism - Tibetan"},{"slug":"caki","name":"Caki","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1300","latitude":"22.83470000","longitude":"69.35487500","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"champta","name":"Champta","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"4400","latitude":"22.26265100","longitude":"70.77523800","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"chidmar","name":"Chidmar","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"21000","latitude":"28.05609700","longitude":"81.62803200","primary_language":"npi","religion":"HOF","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism - Folk"},{"slug":"churaute","name":"Churaute","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"8400","latitude":"26.66000000","longitude":"86.89000000","primary_language":"npi","religion":"MSN","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Islam - Sunni"},{"slug":"cunara","name":"Cunara","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"2500","latitude":"22.28140300","longitude":"70.75392200","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"dafer","name":"Dafer","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"275","latitude":"21.05444500","longitude":"70.53110500","primary_language":"kfr","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Hinduism"},{"slug":"dangasiya","name":"Dangasiya","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"4400","latitude":"22.77258900","longitude":"71.59743100","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"dasnami-bawa","name":"Dasnami Bawa","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"7300","latitude":"21.80000000","longitude":"70.75000000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"depala","name":"Depala","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"650","latitude":"22.98000000","longitude":"71.47000000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"dhobi","name":"Dhobi","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"126000","latitude":"27.00708400","longitude":"84.99578800","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"dhunia","name":"Dhunia","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A019","label":"Himalayan Peoples"},"population":"2100","latitude":"26.80680900","longitude":"85.83611800","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"dudhwala","name":"Dudhwala","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"2900","latitude":"22.30716100","longitude":"73.18121300","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"dura","name":"Dura","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"8800","latitude":"28.16038500","longitude":"84.30856200","primary_language":"npi","religion":"BOF","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Buddhism - Folk"},{"slug":"baloch","name":"Eastern Baloch","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A005","label":"Persian-Median"},"population":"97000","latitude":"21.29145000","longitude":"70.40546400","primary_language":"urd","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Urdu","religion_label":"Islam - Sunni"},{"slug":"gadhai","name":"Gadhai","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"750","latitude":"21.62000000","longitude":"71.23000000","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"galiara","name":"Galiara","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"550","latitude":"21.76577200","longitude":"72.15525800","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"gangai","name":"Gangai","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"53500","latitude":"26.44488200","longitude":"87.44065300","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"garmatan","name":"Garmatan","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"70","latitude":"22.45078100","longitude":"70.05878100","primary_language":"kfr","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Hinduism"},{"slug":"garvi","name":"Garvi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1300","latitude":"21.51835000","longitude":"70.45524700","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"gavli","name":"Gavli","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"17000","latitude":"22.29984200","longitude":"70.79480000","primary_language":"hin","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Hindi","religion_label":"Hinduism"},{"slug":"ghantiya","name":"Ghantiya","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"350","latitude":"21.76227500","longitude":"72.14930300","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"golarana","name":"Golarana","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"950","latitude":"23.81568600","longitude":"72.94855600","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"gosain-gujarati","name":"Gosain (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"85000","latitude":"21.34285000","longitude":"71.30763100","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"gyasumdoba","name":"Gyasumdoba","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"5800","latitude":"28.71230700","longitude":"84.25504200","primary_language":"gyo","religion":"BLA","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gyalsumdo","religion_label":"Buddhism - Tibetan"},{"slug":"hajjam-gujarati","name":"Hajjam (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"47000","latitude":"23.24377200","longitude":"69.67550500","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"halaypotra","name":"Halaypotra","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"4200","latitude":"23.68558300","longitude":"69.47986700","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"halkhor","name":"Halkhor","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"6200","latitude":"27.02597300","longitude":"84.91060100","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"haluwai","name":"Haluwai","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"86500","latitude":"26.76295500","longitude":"86.22268100","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"hingora","name":"Hingora","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"400","latitude":"23.26111100","longitude":"68.82666700","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"hingorza","name":"Hingorza","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"400","latitude":"23.07086400","longitude":"70.12964200","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"jaine","name":"Jaine","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1700","latitude":"27.70000000","longitude":"85.33333300","primary_language":"npi","religion":"OJA","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Other - Jainism"},{"slug":"jat-muslim","name":"Jat Muslim","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"645000","latitude":"23.71461400","longitude":"69.84301100","primary_language":"snd","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Sindhi","religion_label":"Islam - Sunni"},{"slug":"juneja","name":"Juneja","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"225","latitude":"23.89463300","longitude":"69.73679400","primary_language":"hin","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Hindi","religion_label":"Islam - Sunni"},{"slug":"kahar-gujarati","name":"Kahar (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"9000","latitude":"22.45279900","longitude":"72.78759700","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"kaike","name":"Kaike","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A019","label":"Himalayan Peoples"},"population":"2400","latitude":"28.87070000","longitude":"83.14550000","primary_language":"kzq","religion":"EAN","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kaike","religion_label":"Ethnoreligion - Animism"},{"slug":"kamalia","name":"Kamalia","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"13500","latitude":"23.50260000","longitude":"72.04440300","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"kamar","name":"Kamar","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"15000","latitude":"27.75240800","longitude":"85.01562400","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"kambodia-bhagat","name":"Kambodia Bhagat","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1300","latitude":"24.29063900","longitude":"71.74266100","primary_language":"rwr","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Marwari (India)","religion_label":"Hinduism"},{"slug":"kanu","name":"Kanu","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"164000","latitude":"26.99105800","longitude":"85.05256400","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"kapadi","name":"Kapadi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"6300","latitude":"23.65680000","longitude":"69.70260000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"kasar-gujarati","name":"Kasar (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"45500","latitude":"23.02671100","longitude":"72.46388800","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"kasbati","name":"Kasbati","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"25000","latitude":"21.52218400","longitude":"70.45787700","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"kathi","name":"Kathi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"19000","latitude":"22.30306700","longitude":"70.79685000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"kayastha","name":"Kayastha","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"79000","latitude":"26.48037300","longitude":"87.27548800","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"ker","name":"Ker","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"425","latitude":"23.81270000","longitude":"68.77225800","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"khalpa","name":"Khalpa","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"53500","latitude":"23.58796100","longitude":"72.36932500","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"khaskeli","name":"Khaskeli","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"600","latitude":"23.29216900","longitude":"70.33883800","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"khatik-gujarati","name":"Khatik (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"35000","latitude":"21.16693300","longitude":"73.54342200","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"langa","name":"Langa","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"475","latitude":"23.24051400","longitude":"69.66505600","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"lodha","name":"Lodha","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"42500","latitude":"27.51882000","longitude":"83.30012300","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"machhiyara","name":"Machhiyara","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"190000","latitude":"22.47000000","longitude":"70.07000000","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"majothi","name":"Majothi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"750","latitude":"23.65540000","longitude":"69.70300000","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"makalu-sherpa","name":"Makalu Sherpa","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A018","label":"Tibetan Peoples"},"population":"1600","latitude":"27.62575000","longitude":"87.23230000","primary_language":"xsr","religion":"BLA","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Sherpa","religion_label":"Buddhism - Tibetan"},{"slug":"makrani","name":"Makrani","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"33000","latitude":"21.51840000","longitude":"70.46710000","primary_language":"bcc","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Balochi, Southern","religion_label":"Hinduism"},{"slug":"mali","name":"Mali","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"19500","latitude":"27.01946300","longitude":"84.87856000","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"mallah","name":"Mallah","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"199000","latitude":"26.45474500","longitude":"87.29000100","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"mandali-muslims","name":"Mandali Muslims","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1700","latitude":"23.07730000","longitude":"72.08140000","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"marwadi","name":"Marwadi","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"75500","latitude":"26.47709600","longitude":"87.28312400","primary_language":"npi","religion":"HOF","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism - Folk"},{"slug":"mer","name":"Mer","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"6100","latitude":"21.63987500","longitude":"69.63065300","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"mir","name":"Mir","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"48500","latitude":"22.30716100","longitude":"73.18121300","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"miyana","name":"Miyana","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"41500","latitude":"23.70606400","longitude":"69.82952500","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"moghol-gujarati","name":"Moghol (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"6500","latitude":"23.54242100","longitude":"70.87557300","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"mujavar","name":"Mujavar","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"700","latitude":"23.68846134","longitude":"69.20593142","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"muslim-khatri","name":"Muslim Khatri","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"73500","latitude":"23.23557000","longitude":"69.67482800","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"muslim-lakhera","name":"Muslim Lakhera","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"2200","latitude":"22.82086200","longitude":"73.74778600","primary_language":"urd","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Urdu","religion_label":"Islam - Sunni"},{"slug":"muslim-patel","name":"Muslim Patel","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1500","latitude":"21.19500000","longitude":"72.81944400","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"mutwa","name":"Mutwa","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1400","latitude":"23.66612300","longitude":"69.60040000","primary_language":"kfr","religion":"HOF","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Hinduism - Folk"},{"slug":"narsinghpura","name":"Narsinghpura","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"75000","latitude":"22.60993000","longitude":"73.46264000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"nayak-muslims","name":"Nayak Muslims","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"8500","latitude":"22.30181900","longitude":"70.75141100","primary_language":"hin","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Hindi","religion_label":"Islam - Sunni"},{"slug":"node","name":"Node","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"3800","latitude":"23.42421100","longitude":"69.67644500","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"nurang","name":"Nurang","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A019","label":"Himalayan Peoples"},"population":"475","latitude":"26.48275700","longitude":"87.52729300","primary_language":"npi","religion":"HOF","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism - Folk"},{"slug":"padhar","name":"Padhar","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"37500","latitude":"22.77271400","longitude":"71.98728200","primary_language":"guj","religion":"HOF","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism - Folk"},{"slug":"pahari-nagarkotis","name":"Pahari Nagarkotis","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1500","latitude":"27.70000000","longitude":"85.33333300","primary_language":"phj","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Pahari","religion_label":"Hinduism"},{"slug":"panar","name":"Panar","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1800","latitude":"21.17048900","longitude":"72.83739400","primary_language":"hin","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Hindi","religion_label":"Islam - Sunni"},{"slug":"paradhi","name":"Paradhi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"8700","latitude":"22.84046100","longitude":"69.72556100","primary_language":"kfr","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Hinduism"},{"slug":"patanwadia","name":"Patanwadia","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"55000","latitude":"23.03340300","longitude":"72.58285000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"patni-jamat","name":"Patni Jamat","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1700","latitude":"23.84862300","longitude":"72.12710500","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"patni-vankars","name":"Patni Vankars","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"325","latitude":"23.03340000","longitude":"72.58440000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"pomla","name":"Pomla","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1300","latitude":"21.17000000","longitude":"72.83000000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"puma","name":"Puma","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A019","label":"Himalayan Peoples"},"population":"5500","latitude":"27.00500000","longitude":"86.87200000","primary_language":"pum","religion":"BLA","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Puma","religion_label":"Buddhism - Tibetan"},{"slug":"rajbhar","name":"Rajbhar","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"41500","latitude":"27.43318400","longitude":"83.84738100","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"raji-nepal","name":"Raji","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A019","label":"Himalayan Peoples"},"population":"3100","latitude":"28.50063400","longitude":"80.92791500","primary_language":"rji","religion":"HOF","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Raji","religion_label":"Hinduism - Folk"},{"slug":"rathodia","name":"Rathodia","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"700","latitude":"22.30392900","longitude":"73.40310100","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"raysipotra","name":"Raysipotra","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1500","latitude":"23.67123700","longitude":"69.71388000","primary_language":"kfr","religion":"MOF","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Folk"},{"slug":"royma","name":"Royma","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"425","latitude":"23.66555100","longitude":"69.90090200","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"sagar","name":"Sagar","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"18500","latitude":"21.52218400","longitude":"70.45787700","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"sandhai-muslims","name":"Sandhai Muslims","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1500","latitude":"21.52333900","longitude":"70.45605000","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"saranias","name":"Saranias","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"5900","latitude":"23.83557500","longitude":"72.99882800","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"sayyid-gujarati","name":"Sayyid (Gujarati)","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"176000","latitude":"21.10977300","longitude":"73.39480400","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"shaikh-bhojpuri","name":"Shaikh (Bhojpuri)","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"323000","latitude":"27.01233600","longitude":"84.86936800","primary_language":"bho","religion":"MSN","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Bhojpuri","religion_label":"Islam - Sunni"},{"slug":"shravan","name":"Shravan","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"50","latitude":"21.53231900","longitude":"70.45185700","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"siddi","name":"Siddi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"34500","latitude":"21.16930300","longitude":"70.59704300","primary_language":"guj","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Islam - Sunni"},{"slug":"sompura-salat","name":"Sompura Salat","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"21500","latitude":"22.30000000","longitude":"70.78000000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"sudhi","name":"Sudhi","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A019","label":"Himalayan Peoples"},"population":"154000","latitude":"26.76260100","longitude":"85.91716400","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"surel","name":"Surel","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"350","latitude":"27.98000000","longitude":"85.93000000","primary_language":"npi","religion":"H","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Nepali","religion_label":"Hinduism"},{"slug":"tai","name":"Tai","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"23000","latitude":"23.12632000","longitude":"72.04277500","primary_language":"urd","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Urdu","religion_label":"Islam - Sunni"},{"slug":"targala","name":"Targala","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"42500","latitude":"23.58796100","longitude":"72.36932500","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"theba","name":"Theba","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"750","latitude":"23.25708900","longitude":"69.66866000","primary_language":"kfr","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Islam - Sunni"},{"slug":"tirgar","name":"Tirgar","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"17500","latitude":"22.73910000","longitude":"72.44890000","primary_language":"guj","religion":"HOF","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism - Folk"},{"slug":"tseku","name":"Tseku","country_code":"NPL","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A018","label":"Tibetan Peoples"},"population":"6500","latitude":"27.12243000","longitude":"87.85420000","primary_language":"tsk","religion":"BLA","country_code_label":"Nepal","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Tseku","religion_label":"Buddhism - Tibetan"},{"slug":"turi-barot","name":"Turi Barot","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"13500","latitude":"22.73020800","longitude":"71.63766900","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"vadi","name":"Vadi","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"16500","latitude":"21.49100000","longitude":"70.10400000","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"vahivanca-barot","name":"Vahivanca Barot","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"6600","latitude":"23.58733600","longitude":"72.37486900","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"},{"slug":"vayati","name":"Vayati","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"16000","latitude":"23.82529400","longitude":"72.98514200","primary_language":"gbl","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gamit","religion_label":"Hinduism"},{"slug":"vyapari","name":"Vyapari","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1000","latitude":"23.12363800","longitude":"72.05274200","primary_language":"urd","religion":"MSN","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Urdu","religion_label":"Islam - Sunni"},{"slug":"wagheri","name":"Wagheri","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1500","latitude":"22.33122300","longitude":"70.21605600","primary_language":"kfr","religion":"HOF","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Kacchi","religion_label":"Hinduism - Folk"},{"slug":"wandharo","name":"Wandharo","country_code":"IND","wagf_region":"asia","wagf_block":"south_asia","rop1":{"value":"A012","label":"South Asian Peoples"},"population":"1900","latitude":"22.71979400","longitude":"71.64931700","primary_language":"guj","religion":"H","country_code_label":"India","wagf_region_label":"Asia","wagf_block_label":"South Asia","primary_language_label":"Gujarati","religion_label":"Hinduism"}] diff --git a/library/scripts/posters/generate.mjs b/library/scripts/posters/generate.mjs index 22f7ff936..3ab20ba26 100644 --- a/library/scripts/posters/generate.mjs +++ b/library/scripts/posters/generate.mjs @@ -34,7 +34,13 @@ const __dirname = dirname(fileURLToPath(import.meta.url)); const DATA = process.env.UPG100_DATA_PATH ? resolve(process.env.UPG100_DATA_PATH) : resolve(__dirname, '..', '..', '..', 'plugin-designs', 'my-upg-100-list', 'data'); -const OUT = join(__dirname, 'out'); +// OUT_DIR lets a caller write somewhere private instead of the shared out/. out/posters/ is +// gitignored but SHARED, and other gates read it: check:zone-census counts the sheets there to +// decide whether every selectable zone has a poster. A checker that runs this generator for its own +// comparison therefore has to write elsewhere, or it leaves two real sheets behind and the next gate +// reads them as a half-finished poster build. Measured: exactly that turned check:zone-census from +// NOT MEASURED into FAIL ("28 selectable zone(s) have NO poster") on a fresh checkout. +const OUT = process.env.OUT_DIR ? resolve(process.env.OUT_DIR) : join(__dirname, 'out'); const POSTERS = join(OUT, 'posters'); mkdirSync(POSTERS, { recursive: true }); @@ -116,7 +122,11 @@ const FIELDS = 'slug,name,country_code,wagf_region,wagf_block,rop1,population,la // ── fetch the live pins (the only network call; happens at GENERATE time only) ─ async function loadRecords() { - const cache = join(__dirname, 'out', '_records.json'); + // RECORDS_FILE lets a caller name the offline input instead of only the API-written cache. The + // equivalence check needs BOTH sides fed from the same records, and out/_records.json is + // gitignored — so without this the Node side could only ever run where a live API had already + // written that file, which is what left that gate inert on every fresh checkout. + const cache = process.env.RECORDS_FILE || join(__dirname, 'out', '_records.json'); if (process.env.OFFLINE) { try { return readJSON(cache); } catch { /* fall through */ } } const url = `${API}/api/people-groups/list?fields=${FIELDS}&lang=en`; const resp = await fetch(url, { headers: { accept: 'application/json' } }); diff --git a/package.json b/package.json index bb5502428..2135c7882 100644 --- a/package.json +++ b/package.json @@ -619,7 +619,7 @@ "check:gospel-set-fit": "the set charts FIT the canvas they are given. renderWorldCopies:false puts a hard floor under the zoom at log2(canvasWidth/512) — one world must fill the canvas WIDTH — and on a wide, short figure that floor is too close for the drawing's own height, so the outermost groups fall outside the frame (measured at 1440: 54 outside in ar, 97 in en, which is what proved it was the width and not RTL). Pure arithmetic against the components' own projection, so no browser and no drift. Negative control: the old 0.17 extentFraction still fails 796x249 at 271px of 169, so a pass cannot be vacuous. Also asserts both charts share one footprint, or the same population reads as a different size when a reader switches tabs.", "check:sentence-slots": "a translated SENTENCE that carries values stays ONE key, through library/composables/useSentence.js. Four properties that all fail silently: a translator can REORDER the clauses (the slots follow the message, not the call); a missing slot leaves its placeholder VISIBLE rather than rendering null or an empty gap, while 0 and '' are real values; slotted markup (a bold count, a dir=ltr island) goes in as a VALUE and is never translated around; and English renders as it did before the migration. Exists because the pattern it replaces built sentences by concatenating translated fragments around untranslated text — 'languages have', 'people.' — which in Arabic gives Arabic words in English clause order: grammatically broken, and worse than leaving it English because it looks translated. Sentinels are private-use (U+E000+n) so nothing in the i18n pipeline may rewrite them, and any sentinel already in a message is stripped before ours are placed — without that a stray swallowed a slot and the arm still passed, which is how this gate found its own weakness.", "check:people-group-records": "the records half of the print standard selects EXACTLY the set it is asked for, two-sided: a country selector returns that country and not another, an unknown selector returns nothing rather than every group on earth, one fetch per language serves every item, and a failed fetch is not cached so the next click retries.", - "check:poster-browser-equiv": "a map sheet GENERATED IN THE BROWSER (library/packet/posterSheets.js, the print standard: generate at the click) is byte-identical to the one the Node generator writes, given the same records: it runs the real generate.mjs for one UPG-100 zone (the map-only packet sheet, an India zone so the ADM1 path runs) and one country, draws both through the browser feed (the SERVED boundaries, data/zone-sheet.js, the library name table) and compares bytes. The drawing code is one factory (poster-render.js); this guards the FEED, which is what can still drift. NOT MEASURED without the generator's offline records cache.", + "check:poster-browser-equiv": "a map sheet GENERATED IN THE BROWSER (library/packet/posterSheets.js, the print standard: generate at the click) is byte-identical to the one the Node generator writes, given the same records: it runs the real generate.mjs for one UPG-100 zone (the map-only packet sheet, an India zone so the ADM1 path runs) and one country, draws both through the browser feed (the SERVED boundaries, data/zone-sheet.js, the library name table) and compares bytes. The drawing code is one factory (poster-render.js); this guards the FEED, which is what can still drift. Measures on a fresh checkout: it reads the API-written cache (out/_records.json) when present and otherwise the committed fixture (library/scripts/posters/fixtures/equiv-records-npl-ind.json, the 124 public records the two arms consume), feeds BOTH sides from that same file via RECORDS_FILE, and says which input it measured.", "check:poster-render-pinned": "the map-sheet generator a browser imports at print time (served at assets/lib/poster-render.js, not bundled) is integrity-pinned like every embed, because it executes on partner pages: the pin in library/packet/poster-render.integrity.js equals the sha384 of the source and of the served copy (a stale pin names `bun run pin:poster-render`), a TAMPERED copy is refused and its code never runs (a planted side effect stays unset), and the genuine copy loads and draws.", "pin:poster-render": "rewrite library/packet/poster-render.integrity.js from library/packet/poster-render.js — run after any change to the generator; check:poster-render-pinned fails until it is.", "check:board-map-options": "the GEOGRAPHIC map caller must state whiteboard/boundaries EXPLICITLY, never inherit them. library/maps/whiteboard-map.js defaults to whiteboard:true/boundaries:false (it was extracted for the whiteboard case), the inverse of what a real map needs, so a caller relying on defaults renders a blank basemap. check:gospel-whiteboard cannot see this — it asserts chart geometry and imports no component." From c5f136a35b4f15ffca96a10caffa3f39d699d22f Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Tue, 29 Sep 2026 12:30:24 +0000 Subject: [PATCH 3/4] Rebuild country-map and regions-dashboard so the popup pan fix actually ships The pan fix changed only RegionCountryMap.vue. A tree taken from that commit still serves the previous country-map.js and regions-dashboard.js, so an A/B against it would measure the unfixed bundle in both arms and report no change. Verified in the built artifacts rather than by rebuilding and trusting it: the bottom-control selector the fix introduced appears once in each of country-map.js and regions-dashboard.js. Body marker, not a function name -- minification renames names, so a name grep proves nothing here. Tree regenerated and SRI refreshed, as a bundle change requires. The manifest diff is integrity hashes only: 0 non-integrity lines changed. --- public/dx-maps/country-map/country-map.js | 40 +-- .../country-map/country-map/index.html | 2 +- public/dx-maps/doxa-maps-spa/manifest.json | 16 +- public/dx-maps/manifest.json | 16 +- .../region-dashboards/index.html | 2 +- .../regions-dashboard/regions-dashboard.js | 244 +++++++++--------- .../regions-dashboard/regions-list/index.html | 2 +- .../regions-dashboard/regions-mfe/index.html | 2 +- 8 files changed, 162 insertions(+), 162 deletions(-) diff --git a/public/dx-maps/country-map/country-map.js b/public/dx-maps/country-map/country-map.js index c9f14cc4d..5bc81934c 100644 --- a/public/dx-maps/country-map/country-map.js +++ b/public/dx-maps/country-map/country-map.js @@ -2,51 +2,51 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Fa(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Te={},_o=[],bt=()=>{},_i=()=>!1,Tn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Pn=e=>e.startsWith("onUpdate:"),Me=Object.assign,Na=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Xu=Object.prototype.hasOwnProperty,ye=(e,t)=>Xu.call(e,t),re=Array.isArray,Gt=e=>Wo(e)==="[object Map]",wn=e=>Wo(e)==="[object Set]",$i=e=>Wo(e)==="[object Date]",se=e=>typeof e=="function",Fe=e=>typeof e=="string",lt=e=>typeof e=="symbol",ve=e=>e!==null&&typeof e=="object",yi=e=>(ve(e)||se(e))&&se(e.then)&&se(e.catch),vi=Object.prototype.toString,Wo=e=>vi.call(e),Ju=e=>Wo(e).slice(8,-1),Sn=e=>Wo(e)==="[object Object]",Ln=e=>Fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Uo=Fa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),An=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Zu=/-\w/g,He=An(e=>e.replace(Zu,t=>t.slice(1).toUpperCase())),Qu=/\B([A-Z])/g,ct=An(e=>e.replace(Qu,"-$1").toLowerCase()),En=An(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ma=An(e=>e?`on${En(e)}`:""),_t=(e,t)=>!Object.is(e,t),Oa=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},ed=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ti=e=>{const t=Fe(e)?Number(e):NaN;return isNaN(t)?e:t};let Pi;const Rn=()=>Pi||(Pi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function io(e){if(re(e)){const t={};for(let o=0;o{if(o){const n=o.split(od);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function $o(e){let t="";if(Fe(e))t=e;else if(re(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ot=e=>Fe(e)?e:e==null?"":re(e)||ve(e)&&(e.toString===vi||!se(e.toString))?Li(e)?ot(e.value):JSON.stringify(e,Ai,2):String(e),Ai=(e,t)=>Li(t)?Ai(e,t.value):Gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],a)=>(o[ka(n,a)+" =>"]=r,o),{})}:wn(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ka(o))}:lt(t)?ka(t):ve(t)&&!re(t)&&!Sn(t)?String(t):t,ka=(e,t="")=>{var o;return lt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Fa(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Te={},_o=[],bt=()=>{},_i=()=>!1,Tn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Pn=e=>e.startsWith("onUpdate:"),Me=Object.assign,Na=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Xu=Object.prototype.hasOwnProperty,ye=(e,t)=>Xu.call(e,t),ae=Array.isArray,Gt=e=>Wo(e)==="[object Map]",wn=e=>Wo(e)==="[object Set]",$i=e=>Wo(e)==="[object Date]",ie=e=>typeof e=="function",Fe=e=>typeof e=="string",lt=e=>typeof e=="symbol",ve=e=>e!==null&&typeof e=="object",yi=e=>(ve(e)||ie(e))&&ie(e.then)&&ie(e.catch),vi=Object.prototype.toString,Wo=e=>vi.call(e),Ju=e=>Wo(e).slice(8,-1),Sn=e=>Wo(e)==="[object Object]",Ln=e=>Fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Uo=Fa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),An=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Zu=/-\w/g,He=An(e=>e.replace(Zu,t=>t.slice(1).toUpperCase())),Qu=/\B([A-Z])/g,ct=An(e=>e.replace(Qu,"-$1").toLowerCase()),En=An(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ma=An(e=>e?`on${En(e)}`:""),_t=(e,t)=>!Object.is(e,t),Oa=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},ed=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ti=e=>{const t=Fe(e)?Number(e):NaN;return isNaN(t)?e:t};let Pi;const Rn=()=>Pi||(Pi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function io(e){if(ae(e)){const t={};for(let o=0;o{if(o){const n=o.split(od);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function $o(e){let t="";if(Fe(e))t=e;else if(ae(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ot=e=>Fe(e)?e:e==null?"":ae(e)||ve(e)&&(e.toString===vi||!ie(e.toString))?Li(e)?ot(e.value):JSON.stringify(e,Ai,2):String(e),Ai=(e,t)=>Li(t)?Ai(e,t.value):Gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],a)=>(o[ka(n,a)+" =>"]=r,o),{})}:wn(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ka(o))}:lt(t)?ka(t):ve(t)&&!ae(t)&&!Sn(t)?String(t):t,ka=(e,t="")=>{var o;return lt(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 ke;class Ei{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&&ke&&(ke.active?(this.parent=ke,this.index=(ke.scopes||(ke.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(ke===this)ke=this.prevScope;else{let t=ke;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(Go){let t=Go;for(Go=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 Oi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ki(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),za(n),ld(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function Ha(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(xi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function xi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Vo)||(e.globalVersion=Vo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ha(e))))return;e.flags|=2;const t=e.dep,o=we,n=ft;we=e,ft=!0;try{Oi(e);const r=e.fn(e._value);(t.version===0||_t(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{we=o,ft=n,ki(e),e.flags&=-3}}function za(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let a=o.computed.deps;a;a=a.nextDep)za(a,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ld(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let ft=!0;const Ii=[];function $t(){Ii.push(ft),ft=!1}function yt(){const e=Ii.pop();ft=e===void 0?!0:e}function Di(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=we;we=void 0;try{t()}finally{we=o}}}let Vo=0;class cd{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 Wa{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(!we||!ft||we===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==we)o=this.activeLink=new cd(we,this),we.deps?(o.prevDep=we.depsTail,we.depsTail.nextDep=o,we.depsTail=o):we.deps=we.depsTail=o,Hi(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=we.depsTail,o.nextDep=void 0,we.depsTail.nextDep=o,we.depsTail=o,we.deps===o&&(we.deps=n)}return o}trigger(t){this.version++,Vo++,this.notify(t)}notify(t){Ia();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Da()}}}function Hi(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)Hi(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Mn=new WeakMap,so=Symbol(""),Ua=Symbol(""),jo=Symbol("");function Ge(e,t,o){if(ft&&we){let n=Mn.get(e);n||Mn.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new Wa),r.map=n,r.key=o),r.track()}}function Rt(e,t,o,n,r,a){const i=Mn.get(e);if(!i){Vo++;return}const s=l=>{l&&l.trigger()};if(Ia(),t==="clear")i.forEach(s);else{const l=re(e),c=l&&Ln(o);if(l&&o==="length"){const u=Number(n);i.forEach((g,h)=>{(h==="length"||h===jo||!lt(h)&&h>=u)&&s(g)})}else switch((o!==void 0||i.has(void 0))&&s(i.get(o)),c&&s(i.get(jo)),t){case"add":l?c&&s(i.get("length")):(s(i.get(so)),Gt(e)&&s(i.get(Ua)));break;case"delete":l||(s(i.get(so)),Gt(e)&&s(i.get(Ua)));break;case"set":Gt(e)&&s(i.get(so));break}}Da()}function ud(e,t){const o=Mn.get(e);return o&&o.get(t)}function yo(e){const t=be(e);return t===e?t:(Ge(t,"iterate",jo),ut(e)?t:t.map(Nt))}function Ba(e){return Ge(e=be(e),"iterate",jo),e}function vt(e,t){return jt(e)?qo(Vt(e)?Nt(t):t):Nt(t)}const dd={__proto__:null,[Symbol.iterator](){return Ga(this,Symbol.iterator,e=>vt(this,e))},concat(...e){return yo(this).concat(...e.map(t=>re(t)?yo(t):t))},entries(){return Ga(this,"entries",e=>(e[1]=vt(this,e[1]),e))},every(e,t){return Ft(this,"every",e,t,void 0,arguments)},filter(e,t){return Ft(this,"filter",e,t,o=>o.map(n=>vt(this,n)),arguments)},find(e,t){return Ft(this,"find",e,t,o=>vt(this,o),arguments)},findIndex(e,t){return Ft(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ft(this,"findLast",e,t,o=>vt(this,o),arguments)},findLastIndex(e,t){return Ft(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ft(this,"forEach",e,t,void 0,arguments)},includes(...e){return Va(this,"includes",e)},indexOf(...e){return Va(this,"indexOf",e)},join(e){return yo(this).join(e)},lastIndexOf(...e){return Va(this,"lastIndexOf",e)},map(e,t){return Ft(this,"map",e,t,void 0,arguments)},pop(){return Ko(this,"pop")},push(...e){return Ko(this,"push",e)},reduce(e,...t){return zi(this,"reduce",e,t)},reduceRight(e,...t){return zi(this,"reduceRight",e,t)},shift(){return Ko(this,"shift")},some(e,t){return Ft(this,"some",e,t,void 0,arguments)},splice(...e){return Ko(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 Ko(this,"unshift",e)},values(){return Ga(this,"values",e=>vt(this,e))}};function Ga(e,t,o){const n=Ba(e),r=n[t]();return n!==e&&!ut(e)&&(r._next=r.next,r.next=()=>{const a=r._next();return a.done||(a.value=o(a.value)),a}),r}const pd=Array.prototype;function Ft(e,t,o,n,r,a){const i=Ba(e),s=i!==e&&!ut(e),l=i[t];if(l!==pd[t]){const g=l.apply(e,a);return s?Nt(g):g}let c=o;i!==e&&(s?c=function(g,h){return o.call(this,vt(e,g),h,e)}:o.length>2&&(c=function(g,h){return o.call(this,g,h,e)}));const u=l.call(i,c,n);return s&&r?r(u):u}function zi(e,t,o,n){const r=Ba(e),a=r!==e&&!ut(e);let i=o,s=!1;r!==e&&(a?(s=n.length===0,i=function(c,u,g){return s&&(s=!1,c=vt(e,c)),o.call(this,c,vt(e,u),g,e)}):o.length>3&&(i=function(c,u,g){return o.call(this,c,u,g,e)}));const l=r[t](i,...n);return s?vt(e,l):l}function Va(e,t,o){const n=be(e);Ge(n,"iterate",jo);const r=n[t](...o);return(r===-1||r===!1)&&Hn(o[0])?(o[0]=be(o[0]),n[t](...o)):r}function Ko(e,t,o=[]){$t(),Ia();const n=be(e)[t].apply(e,o);return Da(),yt(),n}const fd=Fa("__proto__,__v_isRef,__isVue"),Wi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(lt));function gd(e){lt(e)||(e=String(e));const t=be(this);return Ge(t,"has",e),t.hasOwnProperty(e)}class Ui{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,a=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return a;if(o==="__v_raw")return n===(r?a?Yi:Ki:a?ji:Vi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=re(t);if(!r){let l;if(i&&(l=dd[o]))return l;if(o==="hasOwnProperty")return gd}const s=Reflect.get(t,o,Ne(t)?t:n);if((lt(o)?Wi.has(o):fd(o))||(r||Ge(t,"get",o),a))return s;if(Ne(s)){const l=i&&Ln(o)?s:s.value;return r&&ve(l)?Ka(l):l}return ve(s)?r?Ka(s):In(s):s}}class Bi extends Ui{constructor(t=!1){super(!1,t)}set(t,o,n,r){let a=t[o];const i=re(t)&&Ln(o);if(!this._isShallow){const c=jt(a);if(!ut(n)&&!jt(n)&&(a=be(a),n=be(n)),!i&&Ne(a)&&!Ne(n))return c||(a.value=n),!0}const s=i?Number(o)e,On=e=>Reflect.getPrototypeOf(e);function $d(e,t,o){return function(...n){const r=this.__v_raw,a=be(r),i=Gt(a),s=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=r[e](...n),u=o?ja:t?qo:Nt;return!t&&Ge(a,"iterate",l?Ua:so),Me(Object.create(c),{next(){const{value:g,done:h}=c.next();return h?{value:g,done:h}:{value:s?[u(g[0]),u(g[1])]:u(g),done:h}}})}}function kn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yd(e,t){const o={get(r){const a=this.__v_raw,i=be(a),s=be(r);e||(_t(r,s)&&Ge(i,"get",r),Ge(i,"get",s));const{has:l}=On(i),c=t?ja:e?qo:Nt;if(l.call(i,r))return c(a.get(r));if(l.call(i,s))return c(a.get(s));a!==i&&a.get(r)},get size(){const r=this.__v_raw;return!e&&Ge(be(r),"iterate",so),r.size},has(r){const a=this.__v_raw,i=be(a),s=be(r);return e||(_t(r,s)&&Ge(i,"has",r),Ge(i,"has",s)),r===s?a.has(r):a.has(r)||a.has(s)},forEach(r,a){const i=this,s=i.__v_raw,l=be(s),c=t?ja:e?qo:Nt;return!e&&Ge(l,"iterate",so),s.forEach((u,g)=>r.call(a,c(u),c(g),i))}};return Me(o,e?{add:kn("add"),set:kn("set"),delete:kn("delete"),clear:kn("clear")}:{add(r){const a=be(this),i=On(a),s=be(r),l=!t&&!ut(r)&&!jt(r)?s:r;return i.has.call(a,l)||_t(r,l)&&i.has.call(a,r)||_t(s,l)&&i.has.call(a,s)||(a.add(l),Rt(a,"add",l,l)),this},set(r,a){!t&&!ut(a)&&!jt(a)&&(a=be(a));const i=be(this),{has:s,get:l}=On(i);let c=s.call(i,r);c||(r=be(r),c=s.call(i,r));const u=l.call(i,r);return i.set(r,a),c?_t(a,u)&&Rt(i,"set",r,a):Rt(i,"add",r,a),this},delete(r){const a=be(this),{has:i,get:s}=On(a);let l=i.call(a,r);l||(r=be(r),l=i.call(a,r)),s&&s.call(a,r);const c=a.delete(r);return l&&Rt(a,"delete",r,void 0),c},clear(){const r=be(this),a=r.size!==0,i=r.clear();return a&&Rt(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=$d(r,e,t)}),o}function xn(e,t){const o=yd(e,t);return(n,r,a)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(ye(o,r)&&r in n?o:n,r,a)}const vd={get:xn(!1,!1)},Cd={get:xn(!1,!0)},Td={get:xn(!0,!1)},Pd={get:xn(!0,!0)},Vi=new WeakMap,ji=new WeakMap,Ki=new WeakMap,Yi=new WeakMap;function wd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function In(e){return jt(e)?e:Dn(e,!1,md,vd,Vi)}function Sd(e){return Dn(e,!1,bd,Cd,ji)}function Ka(e){return Dn(e,!0,hd,Td,Ki)}function Vb(e){return Dn(e,!0,_d,Pd,Yi)}function Dn(e,t,o,n,r){if(!ve(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const a=r.get(e);if(a)return a;const i=wd(Ju(e));if(i===0)return e;const s=new Proxy(e,i===2?n:o);return r.set(e,s),s}function Vt(e){return jt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function jt(e){return!!(e&&e.__v_isReadonly)}function ut(e){return!!(e&&e.__v_isShallow)}function Hn(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!ye(e,"__v_skip")&&Object.isExtensible(e)&&Ci(e,"__v_skip",!0),e}const Nt=e=>ve(e)?In(e):e,qo=e=>ve(e)?Ka(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function Pe(e){return qi(e,!1)}function zn(e){return qi(e,!0)}function qi(e,t){return Ne(e)?e:new Ld(e,t)}class Ld{constructor(t,o){this.dep=new Wa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:be(t),this._value=o?t:Nt(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)||jt(t);t=n?t:be(t),_t(t,o)&&(this._rawValue=t,this._value=n?t:Nt(t),this.dep.trigger())}}function je(e){return Ne(e)?e.value:e}const Ad={get:(e,t,o)=>t==="__v_raw"?e:je(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return Ne(r)&&!Ne(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function Xi(e){return Vt(e)?e:new Proxy(e,Ad)}function Ed(e){const t=re(e)?new Array(e.length):{};for(const o in e)t[o]=Fd(e,o);return t}class Rd{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=lt(o)?o:String(o),this._raw=be(t);let r=!0,a=t;if(!re(t)||lt(this._key)||!Ln(this._key))do r=!Hn(a)||ut(a);while(r&&(a=a.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=je(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ne(this._raw[this._key])){const o=this._object[this._key];if(Ne(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return ud(this._raw,this._key)}}function Fd(e,t,o){return new Rd(e,t,o)}class Nd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Wa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Vo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&we!==this)return Mi(this,!0),!0}get value(){const t=this.dep.track();return xi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Md(e,t,o=!1){let n,r;return se(e)?n=e:(n=e.get,r=e.set),new Nd(n,r,o)}const Wn={},Un=new WeakMap;let lo;function Od(e,t=!1,o=lo){if(o){let n=Un.get(o);n||Un.set(o,n=[]),n.push(e)}}function kd(e,t,o=Te){const{immediate:n,deep:r,once:a,scheduler:i,augmentJob:s,call:l}=o,c=_=>r?_:ut(_)||r===!1||r===0?Mt(_,1):Mt(_);let u,g,h,C,A=!1,v=!1;if(Ne(e)?(g=()=>e.value,A=ut(e)):Vt(e)?(g=()=>c(e),A=!0):re(e)?(v=!0,A=e.some(_=>Vt(_)||ut(_)),g=()=>e.map(_=>{if(Ne(_))return _.value;if(Vt(_))return c(_);if(se(_))return l?l(_,2):_()})):se(e)?t?g=l?()=>l(e,2):e:g=()=>{if(h){$t();try{h()}finally{yt()}}const _=lo;lo=u;try{return l?l(e,3,[C]):e(C)}finally{lo=_}}:g=bt,t&&r){const _=g,w=r===!0?1/0:r;g=()=>Mt(_(),w)}const z=Ri(),D=()=>{u.stop(),z&&z.active&&Na(z.effects,u)};if(a&&t){const _=t;t=(...w)=>{const L=_(...w);return D(),L}}let y=v?new Array(e.length).fill(Wn):Wn;const b=_=>{if(!(!(u.flags&1)||!u.dirty&&!_))if(t){const w=u.run();if(_||r||A||(v?w.some((L,N)=>_t(L,y[N])):_t(w,y))){h&&h();const L=lo;lo=u;try{const N=[w,y===Wn?void 0:v&&y[0]===Wn?[]:y,C];y=w,l?l(t,3,N):t(...N)}finally{lo=L}}}else u.run()};return s&&s(b),u=new Fi(g),u.scheduler=i?()=>i(b,!1):b,C=_=>Od(_,!1,u),h=u.onStop=()=>{const _=Un.get(u);if(_){if(l)l(_,4);else for(const w of _)w();Un.delete(u)}},t?n?b(!0):y=u.run():i?i(b.bind(null,!0),!0):u.run(),D.pause=u.pause.bind(u),D.resume=u.resume.bind(u),D.stop=D,D}function Mt(e,t=1/0,o){if(t<=0||!ve(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ne(e))Mt(e.value,t,o);else if(re(e))for(let n=0;n{Mt(n,t,o)});else if(Sn(e)){for(const n in e)Mt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Mt(e[n],t,o)}return e}/** +**/let ke;class Ei{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&&ke&&(ke.active?(this.parent=ke,this.index=(ke.scopes||(ke.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(ke===this)ke=this.prevScope;else{let t=ke;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(Go){let t=Go;for(Go=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 Oi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ki(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),za(n),ld(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function Ha(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(xi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function xi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Vo)||(e.globalVersion=Vo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ha(e))))return;e.flags|=2;const t=e.dep,o=we,n=gt;we=e,gt=!0;try{Oi(e);const r=e.fn(e._value);(t.version===0||_t(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{we=o,gt=n,ki(e),e.flags&=-3}}function za(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let a=o.computed.deps;a;a=a.nextDep)za(a,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ld(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let gt=!0;const Ii=[];function $t(){Ii.push(gt),gt=!1}function yt(){const e=Ii.pop();gt=e===void 0?!0:e}function Di(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=we;we=void 0;try{t()}finally{we=o}}}let Vo=0;class cd{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 Wa{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(!we||!gt||we===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==we)o=this.activeLink=new cd(we,this),we.deps?(o.prevDep=we.depsTail,we.depsTail.nextDep=o,we.depsTail=o):we.deps=we.depsTail=o,Hi(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=we.depsTail,o.nextDep=void 0,we.depsTail.nextDep=o,we.depsTail=o,we.deps===o&&(we.deps=n)}return o}trigger(t){this.version++,Vo++,this.notify(t)}notify(t){Ia();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Da()}}}function Hi(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)Hi(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Mn=new WeakMap,so=Symbol(""),Ua=Symbol(""),jo=Symbol("");function Ge(e,t,o){if(gt&&we){let n=Mn.get(e);n||Mn.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new Wa),r.map=n,r.key=o),r.track()}}function Rt(e,t,o,n,r,a){const i=Mn.get(e);if(!i){Vo++;return}const s=l=>{l&&l.trigger()};if(Ia(),t==="clear")i.forEach(s);else{const l=ae(e),c=l&&Ln(o);if(l&&o==="length"){const u=Number(n);i.forEach((f,h)=>{(h==="length"||h===jo||!lt(h)&&h>=u)&&s(f)})}else switch((o!==void 0||i.has(void 0))&&s(i.get(o)),c&&s(i.get(jo)),t){case"add":l?c&&s(i.get("length")):(s(i.get(so)),Gt(e)&&s(i.get(Ua)));break;case"delete":l||(s(i.get(so)),Gt(e)&&s(i.get(Ua)));break;case"set":Gt(e)&&s(i.get(so));break}}Da()}function ud(e,t){const o=Mn.get(e);return o&&o.get(t)}function yo(e){const t=be(e);return t===e?t:(Ge(t,"iterate",jo),ut(e)?t:t.map(Nt))}function Ba(e){return Ge(e=be(e),"iterate",jo),e}function vt(e,t){return jt(e)?qo(Vt(e)?Nt(t):t):Nt(t)}const dd={__proto__:null,[Symbol.iterator](){return Ga(this,Symbol.iterator,e=>vt(this,e))},concat(...e){return yo(this).concat(...e.map(t=>ae(t)?yo(t):t))},entries(){return Ga(this,"entries",e=>(e[1]=vt(this,e[1]),e))},every(e,t){return Ft(this,"every",e,t,void 0,arguments)},filter(e,t){return Ft(this,"filter",e,t,o=>o.map(n=>vt(this,n)),arguments)},find(e,t){return Ft(this,"find",e,t,o=>vt(this,o),arguments)},findIndex(e,t){return Ft(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ft(this,"findLast",e,t,o=>vt(this,o),arguments)},findLastIndex(e,t){return Ft(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ft(this,"forEach",e,t,void 0,arguments)},includes(...e){return Va(this,"includes",e)},indexOf(...e){return Va(this,"indexOf",e)},join(e){return yo(this).join(e)},lastIndexOf(...e){return Va(this,"lastIndexOf",e)},map(e,t){return Ft(this,"map",e,t,void 0,arguments)},pop(){return Ko(this,"pop")},push(...e){return Ko(this,"push",e)},reduce(e,...t){return zi(this,"reduce",e,t)},reduceRight(e,...t){return zi(this,"reduceRight",e,t)},shift(){return Ko(this,"shift")},some(e,t){return Ft(this,"some",e,t,void 0,arguments)},splice(...e){return Ko(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 Ko(this,"unshift",e)},values(){return Ga(this,"values",e=>vt(this,e))}};function Ga(e,t,o){const n=Ba(e),r=n[t]();return n!==e&&!ut(e)&&(r._next=r.next,r.next=()=>{const a=r._next();return a.done||(a.value=o(a.value)),a}),r}const pd=Array.prototype;function Ft(e,t,o,n,r,a){const i=Ba(e),s=i!==e&&!ut(e),l=i[t];if(l!==pd[t]){const f=l.apply(e,a);return s?Nt(f):f}let c=o;i!==e&&(s?c=function(f,h){return o.call(this,vt(e,f),h,e)}:o.length>2&&(c=function(f,h){return o.call(this,f,h,e)}));const u=l.call(i,c,n);return s&&r?r(u):u}function zi(e,t,o,n){const r=Ba(e),a=r!==e&&!ut(e);let i=o,s=!1;r!==e&&(a?(s=n.length===0,i=function(c,u,f){return s&&(s=!1,c=vt(e,c)),o.call(this,c,vt(e,u),f,e)}):o.length>3&&(i=function(c,u,f){return o.call(this,c,u,f,e)}));const l=r[t](i,...n);return s?vt(e,l):l}function Va(e,t,o){const n=be(e);Ge(n,"iterate",jo);const r=n[t](...o);return(r===-1||r===!1)&&Hn(o[0])?(o[0]=be(o[0]),n[t](...o)):r}function Ko(e,t,o=[]){$t(),Ia();const n=be(e)[t].apply(e,o);return Da(),yt(),n}const gd=Fa("__proto__,__v_isRef,__isVue"),Wi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(lt));function fd(e){lt(e)||(e=String(e));const t=be(this);return Ge(t,"has",e),t.hasOwnProperty(e)}class Ui{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,a=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return a;if(o==="__v_raw")return n===(r?a?Yi:Ki:a?ji:Vi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=ae(t);if(!r){let l;if(i&&(l=dd[o]))return l;if(o==="hasOwnProperty")return fd}const s=Reflect.get(t,o,Ne(t)?t:n);if((lt(o)?Wi.has(o):gd(o))||(r||Ge(t,"get",o),a))return s;if(Ne(s)){const l=i&&Ln(o)?s:s.value;return r&&ve(l)?Ka(l):l}return ve(s)?r?Ka(s):In(s):s}}class Bi extends Ui{constructor(t=!1){super(!1,t)}set(t,o,n,r){let a=t[o];const i=ae(t)&&Ln(o);if(!this._isShallow){const c=jt(a);if(!ut(n)&&!jt(n)&&(a=be(a),n=be(n)),!i&&Ne(a)&&!Ne(n))return c||(a.value=n),!0}const s=i?Number(o)e,On=e=>Reflect.getPrototypeOf(e);function $d(e,t,o){return function(...n){const r=this.__v_raw,a=be(r),i=Gt(a),s=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=r[e](...n),u=o?ja:t?qo:Nt;return!t&&Ge(a,"iterate",l?Ua:so),Me(Object.create(c),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:s?[u(f[0]),u(f[1])]:u(f),done:h}}})}}function kn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yd(e,t){const o={get(r){const a=this.__v_raw,i=be(a),s=be(r);e||(_t(r,s)&&Ge(i,"get",r),Ge(i,"get",s));const{has:l}=On(i),c=t?ja:e?qo:Nt;if(l.call(i,r))return c(a.get(r));if(l.call(i,s))return c(a.get(s));a!==i&&a.get(r)},get size(){const r=this.__v_raw;return!e&&Ge(be(r),"iterate",so),r.size},has(r){const a=this.__v_raw,i=be(a),s=be(r);return e||(_t(r,s)&&Ge(i,"has",r),Ge(i,"has",s)),r===s?a.has(r):a.has(r)||a.has(s)},forEach(r,a){const i=this,s=i.__v_raw,l=be(s),c=t?ja:e?qo:Nt;return!e&&Ge(l,"iterate",so),s.forEach((u,f)=>r.call(a,c(u),c(f),i))}};return Me(o,e?{add:kn("add"),set:kn("set"),delete:kn("delete"),clear:kn("clear")}:{add(r){const a=be(this),i=On(a),s=be(r),l=!t&&!ut(r)&&!jt(r)?s:r;return i.has.call(a,l)||_t(r,l)&&i.has.call(a,r)||_t(s,l)&&i.has.call(a,s)||(a.add(l),Rt(a,"add",l,l)),this},set(r,a){!t&&!ut(a)&&!jt(a)&&(a=be(a));const i=be(this),{has:s,get:l}=On(i);let c=s.call(i,r);c||(r=be(r),c=s.call(i,r));const u=l.call(i,r);return i.set(r,a),c?_t(a,u)&&Rt(i,"set",r,a):Rt(i,"add",r,a),this},delete(r){const a=be(this),{has:i,get:s}=On(a);let l=i.call(a,r);l||(r=be(r),l=i.call(a,r)),s&&s.call(a,r);const c=a.delete(r);return l&&Rt(a,"delete",r,void 0),c},clear(){const r=be(this),a=r.size!==0,i=r.clear();return a&&Rt(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=$d(r,e,t)}),o}function xn(e,t){const o=yd(e,t);return(n,r,a)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(ye(o,r)&&r in n?o:n,r,a)}const vd={get:xn(!1,!1)},Cd={get:xn(!1,!0)},Td={get:xn(!0,!1)},Pd={get:xn(!0,!0)},Vi=new WeakMap,ji=new WeakMap,Ki=new WeakMap,Yi=new WeakMap;function wd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function In(e){return jt(e)?e:Dn(e,!1,md,vd,Vi)}function Sd(e){return Dn(e,!1,bd,Cd,ji)}function Ka(e){return Dn(e,!0,hd,Td,Ki)}function Vb(e){return Dn(e,!0,_d,Pd,Yi)}function Dn(e,t,o,n,r){if(!ve(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const a=r.get(e);if(a)return a;const i=wd(Ju(e));if(i===0)return e;const s=new Proxy(e,i===2?n:o);return r.set(e,s),s}function Vt(e){return jt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function jt(e){return!!(e&&e.__v_isReadonly)}function ut(e){return!!(e&&e.__v_isShallow)}function Hn(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!ye(e,"__v_skip")&&Object.isExtensible(e)&&Ci(e,"__v_skip",!0),e}const Nt=e=>ve(e)?In(e):e,qo=e=>ve(e)?Ka(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function Pe(e){return qi(e,!1)}function zn(e){return qi(e,!0)}function qi(e,t){return Ne(e)?e:new Ld(e,t)}class Ld{constructor(t,o){this.dep=new Wa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:be(t),this._value=o?t:Nt(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)||jt(t);t=n?t:be(t),_t(t,o)&&(this._rawValue=t,this._value=n?t:Nt(t),this.dep.trigger())}}function je(e){return Ne(e)?e.value:e}const Ad={get:(e,t,o)=>t==="__v_raw"?e:je(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return Ne(r)&&!Ne(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function Xi(e){return Vt(e)?e:new Proxy(e,Ad)}function Ed(e){const t=ae(e)?new Array(e.length):{};for(const o in e)t[o]=Fd(e,o);return t}class Rd{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=lt(o)?o:String(o),this._raw=be(t);let r=!0,a=t;if(!ae(t)||lt(this._key)||!Ln(this._key))do r=!Hn(a)||ut(a);while(r&&(a=a.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=je(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ne(this._raw[this._key])){const o=this._object[this._key];if(Ne(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return ud(this._raw,this._key)}}function Fd(e,t,o){return new Rd(e,t,o)}class Nd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Wa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Vo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&we!==this)return Mi(this,!0),!0}get value(){const t=this.dep.track();return xi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Md(e,t,o=!1){let n,r;return ie(e)?n=e:(n=e.get,r=e.set),new Nd(n,r,o)}const Wn={},Un=new WeakMap;let lo;function Od(e,t=!1,o=lo){if(o){let n=Un.get(o);n||Un.set(o,n=[]),n.push(e)}}function kd(e,t,o=Te){const{immediate:n,deep:r,once:a,scheduler:i,augmentJob:s,call:l}=o,c=$=>r?$:ut($)||r===!1||r===0?Mt($,1):Mt($);let u,f,h,C,A=!1,v=!1;if(Ne(e)?(f=()=>e.value,A=ut(e)):Vt(e)?(f=()=>c(e),A=!0):ae(e)?(v=!0,A=e.some($=>Vt($)||ut($)),f=()=>e.map($=>{if(Ne($))return $.value;if(Vt($))return c($);if(ie($))return l?l($,2):$()})):ie(e)?t?f=l?()=>l(e,2):e:f=()=>{if(h){$t();try{h()}finally{yt()}}const $=lo;lo=u;try{return l?l(e,3,[C]):e(C)}finally{lo=$}}:f=bt,t&&r){const $=f,w=r===!0?1/0:r;f=()=>Mt($(),w)}const z=Ri(),x=()=>{u.stop(),z&&z.active&&Na(z.effects,u)};if(a&&t){const $=t;t=(...w)=>{const L=$(...w);return x(),L}}let y=v?new Array(e.length).fill(Wn):Wn;const _=$=>{if(!(!(u.flags&1)||!u.dirty&&!$))if(t){const w=u.run();if($||r||A||(v?w.some((L,N)=>_t(L,y[N])):_t(w,y))){h&&h();const L=lo;lo=u;try{const N=[w,y===Wn?void 0:v&&y[0]===Wn?[]:y,C];y=w,l?l(t,3,N):t(...N)}finally{lo=L}}}else u.run()};return s&&s(_),u=new Fi(f),u.scheduler=i?()=>i(_,!1):_,C=$=>Od($,!1,u),h=u.onStop=()=>{const $=Un.get(u);if($){if(l)l($,4);else for(const w of $)w();Un.delete(u)}},t?n?_(!0):y=u.run():i?i(_.bind(null,!0),!0):u.run(),x.pause=u.pause.bind(u),x.resume=u.resume.bind(u),x.stop=x,x}function Mt(e,t=1/0,o){if(t<=0||!ve(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ne(e))Mt(e.value,t,o);else if(ae(e))for(let n=0;n{Mt(n,t,o)});else if(Sn(e)){for(const n in e)Mt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Mt(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const Xo=[];let Ya=!1;function jb(e,...t){if(Ya)return;Ya=!0,$t();const o=Xo.length?Xo[Xo.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=xd();if(n)vo(n,o,11,[e+t.map(a=>{var i,s;return(s=(i=a.toString)==null?void 0:i.call(a))!=null?s:JSON.stringify(a)}).join(""),o&&o.proxy,r.map(({vnode:a})=>`at <${Ys(o,a.type)}>`).join(` `),r]);else{const a=[`[Vue warn]: ${e}`,...t];r.length&&a.push(` `,...Id(r)),console.warn(...a)}yt(),Ya=!1}function xd(){let e=Xo[Xo.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 Id(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Dd(o))}),t}function Dd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${Ys(e.component,e.type,n)}`,a=">"+o;return e.props?[r,...Hd(e.props),a]:[r+a]}function Hd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Ji(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Ji(e,t,o){return Fe(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ne(t)?(t=Ji(e,be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):se(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=be(t),o?t:[`${e}=`,t])}function vo(e,t,o,n){try{return n?e(...n):e()}catch(r){Jo(r,t,o)}}function gt(e,t,o,n){if(se(e)){const r=vo(e,t,o,n);return r&&yi(r)&&r.catch(a=>{Jo(a,t,o)}),r}if(re(e)){const r=[];for(let a=0;a>>1,r=Ke[n],a=Zo(r);a=Zo(o)?Ke.push(e):Ke.splice(Wd(t),0,e),e.flags|=1,Qi()}}function Qi(){Bn||(Bn=Zi.then(os))}function Ud(e){if(!re(e))Kt&&e.id===-1?Kt.splice(To+1,0,e):e.flags&1||(Co.push(e),e.flags|=1);else for(let t=0;tZo(o)-Zo(n));if(Co.length=0,Kt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function os(e){try{for(Ct=0;Ct{n._d&&Qn(-1);const a=Gn(t),i=fo.length;let s;try{s=e(...r)}finally{for(let l=fo.length;l>i;l--)zs();Gn(a),n._d&&Qn(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Gd(e,t){if(nt===null)return e;const o=aa(nt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&se(t)?t.call(n&&n.proxy):t}}function Vd(){return!!(St()||uo)}const jd=Symbol.for("v-scx"),Kd=()=>Ve(jd);function as(e,t){return Xa(e,null,t)}function Ye(e,t,o){return Xa(e,t,o)}function Xa(e,t,o=Te){const{immediate:n,deep:r,flush:a,once:i}=o,s=Me({},o),l=t&&n||!t&&a!=="post";let c;if(Ao){if(a==="sync"){const C=Kd();c=C.__watcherHandles||(C.__watcherHandles=[])}else if(!l){const C=()=>{};return C.stop=bt,C.resume=bt,C.pause=bt,C}}const u=We;s.call=(C,A,v)=>gt(C,u,A,v);let g=!1;a==="post"?s.scheduler=C=>{Qe(C,u&&u.suspense)}:a!=="sync"&&(g=!0,s.scheduler=(C,A)=>{A?C():qa(C)}),s.augmentJob=C=>{t&&(C.flags|=4),g&&(C.flags|=2,u&&(C.id=u.uid,C.i=u))};const h=kd(e,t,s);return Ao&&(c?c.push(h):l&&h()),h}function Yd(e,t,o){const n=this.proxy,r=Fe(e)?e.includes(".")?rs(n,e):()=>n[e]:e.bind(n,n);let a;se(t)?a=t:(a=t.handler,o=t);const i=cn(this),s=Xa(r,a.bind(n),o);return i(),s}function rs(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ja=Symbol("_leaveCb");function Xd(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==kt){t=o;break}}return t}function is(e){if(!Yn(e))return Vn(e.type)&&e.children?Xd(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&&se(o.default))return o.default()}}function Za(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Za(Vn(o.type)&&is(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 Yt(e,t){return se(e)?Me({name:e.name},t,{setup:e}):e}function Qa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ss(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const jn=new WeakMap;function Qo(e,t,o,n,r=!1){if(re(e)){e.forEach((v,z)=>Qo(v,t&&(re(t)?t[z]:t),o,n,r));return}if(en(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Qo(e,t,o,n.component.subTree);return}const a=n.shapeFlag&4?aa(n.component):n.el,i=r?null:a,{i:s,r:l}=e,c=t&&t.r,u=s.refs===Te?s.refs={}:s.refs,g=s.setupState,h=be(g),C=g===Te?_i:v=>ss(u,v)?!1:ye(h,v),A=(v,z)=>!(z&&ss(u,z));if(c!=null&&c!==l){if(ls(t),Fe(c))u[c]=null,C(c)&&(g[c]=null);else if(Ne(c)){const v=t;A(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(se(l))vo(l,s,12,[i,u]);else{const v=Fe(l),z=Ne(l);if(v||z){const D=()=>{if(e.f){const y=v?C(l)?g[l]:u[l]:A()||!e.k?l.value:u[e.k];if(r)re(y)&&Na(y,a);else if(re(y))y.includes(a)||y.push(a);else if(v)u[l]=[a],C(l)&&(g[l]=u[l]);else{const b=[a];A(l,e.k)&&(l.value=b),e.k&&(u[e.k]=b)}}else v?(u[l]=i,C(l)&&(g[l]=i)):z&&(A(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const y=()=>{D(),jn.delete(e)};y.id=-1,jn.set(e,y),Qe(y,o)}else ls(e),D()}}}function ls(e){const t=jn.get(e);t&&(t.flags|=8,jn.delete(e))}const cs=e=>e.nodeType===8;Rn().requestIdleCallback,Rn().cancelIdleCallback;function Jd(e,t){if(cs(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(cs(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const en=e=>!!e.type.__asyncLoader;function Zd(e){se(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:a,timeout:i,suspensible:s=!0,onError:l}=e;let c=null,u,g=0;const h=()=>(g++,c=null,C()),C=()=>{let A;return c||(A=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((z,D)=>{l(v,()=>z(h()),()=>D(v),g+1)});throw v}).then(v=>A!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Yt({name:"AsyncComponentWrapper",__asyncLoader:C,__asyncHydrate(A,v,z){const D=A.isConnected;let y=!1;(v.bu||(v.bu=[])).push(()=>y=!0);const b=()=>{y||!A.parentNode||D&&!A.isConnected||z()},_=a?()=>{const w=a(b,L=>Jd(A,L));w&&(v.bum||(v.bum=[])).push(w)}:b;u?_():C().then(()=>!v.isUnmounted&&_())},get __asyncResolved(){return u},setup(){const A=We;if(Qa(A),u)return()=>Kn(u,A);const v=w=>{c=null,Jo(w,A,13,!n)};if(s&&A.suspense||Ao)return C().then(w=>()=>Kn(w,A)).catch(w=>(v(w),()=>n?Ie(n,{error:w}):null));const z=Pe(!1),D=Pe(),y=Pe(!!r);let b,_;return Xn(()=>{b!=null&&clearTimeout(b),_!=null&&clearTimeout(_)}),r&&(_=setTimeout(()=>{A.isUnmounted||(y.value=!1)},r)),i!=null&&(b=setTimeout(()=>{if(!A.isUnmounted&&!z.value&&!D.value){const w=new Error(`Async component timed out after ${i}ms.`);v(w),D.value=w}},i)),C().then(()=>{A.isUnmounted||(z.value=!0,A.parent&&Yn(A.parent.vnode)&&A.parent.update())}).catch(w=>{if(A.isUnmounted){c=null;return}v(w),D.value=w}),()=>{if(z.value&&u)return Kn(u,A);if(D.value&&n)return Ie(n,{error:D.value});if(o&&!y.value)return Kn(o,A)}}})}function Kn(e,t){const{ref:o,props:n,children:r,ce:a}=t.vnode,i=Ie(e,n,r);return i.ref=o,i.ce=a,delete t.vnode.ce,i}const Yn=e=>e.type.__isKeepAlive;function Qd(e,t){us(e,"a",t)}function ep(e,t){us(e,"da",t)}function us(e,t,o=We){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(qn(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Yn(r.parent.vnode)&&tp(n,t,o,r),r=r.parent}}function tp(e,t,o,n){const r=qn(t,e,n,!0);Xn(()=>{Na(n[t],r)},o)}function qn(e,t,o=We,n=!1){if(o){const r=o[e]||(o[e]=[]),a=t.__weh||(t.__weh=(...i)=>{$t();const s=cn(o),l=gt(t,o,e,i);return s(),yt(),l});return n?r.unshift(a):r.push(a),a}}const Ot=e=>(t,o=We)=>{(!Ao||e==="sp")&&qn(e,(...n)=>t(...n),o)},ds=Ot("bm"),wo=Ot("m"),op=Ot("bu"),np=Ot("u"),tn=Ot("bum"),Xn=Ot("um"),ap=Ot("sp"),rp=Ot("rtg"),ip=Ot("rtc");function sp(e,t=We){qn("ec",e,t)}const lp="components",ps=Symbol.for("v-ndc");function fs(e){return Fe(e)?cp(lp,e,!1)||e:e||ps}function cp(e,t,o=!0,n=!1){const r=nt||We;if(r){const a=r.type;{const s=Ks(a,!1);if(s&&(s===t||s===He(t)||s===En(He(t))))return a}const i=gs(r[e]||a[e],t)||gs(r.appContext[e],t);return!i&&n?a:i}}function gs(e,t){return e&&(e[t]||e[He(t)]||e[En(He(t))])}const er=e=>e?Gs(e)?aa(e):er(e.parent):null,on=Me(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>er(e.parent),$root:e=>er(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_s(e),$forceUpdate:e=>e.f||(e.f=()=>{qa(e.update)}),$nextTick:e=>e.n||(e.n=Po.bind(e.proxy)),$watch:e=>Yd.bind(e)}),tr=(e,t)=>e!==Te&&!e.__isScriptSetup&&ye(e,t),up={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:a,accessCache:i,type:s,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return a[t]}else{if(tr(n,t))return i[t]=1,n[t];if(r!==Te&&ye(r,t))return i[t]=2,r[t];if(ye(a,t))return i[t]=3,a[t];if(o!==Te&&ye(o,t))return i[t]=4,o[t];or&&(i[t]=0)}}const c=on[t];let u,g;if(c)return t==="$attrs"&&Ge(e.attrs,"get",""),c(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(o!==Te&&ye(o,t))return i[t]=4,o[t];if(g=l.config.globalProperties,ye(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:a}=e;return tr(r,t)?(r[t]=o,!0):n!==Te&&ye(n,t)?(n[t]=o,!0):ye(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:a,type:i}},s){let l;return!!(o[s]||e!==Te&&s[0]!=="$"&&ye(e,s)||tr(t,s)||ye(a,s)||ye(n,s)||ye(on,s)||ye(r.config.globalProperties,s)||(l=i.__cssModules)&&l[s])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:ye(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function ms(e){return re(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let or=!0;function dp(e){const t=_s(e),o=e.proxy,n=e.ctx;or=!1,t.beforeCreate&&hs(t.beforeCreate,e,"bc");const{data:r,computed:a,methods:i,watch:s,provide:l,inject:c,created:u,beforeMount:g,mounted:h,beforeUpdate:C,updated:A,activated:v,deactivated:z,beforeDestroy:D,beforeUnmount:y,destroyed:b,unmounted:_,render:w,renderTracked:L,renderTriggered:N,errorCaptured:k,serverPrefetch:M,expose:J,inheritAttrs:pe,components:O,directives:te,filters:me}=t;if(c&&pp(c,n,null),i)for(const G in i){const W=i[G];se(W)&&(n[G]=W.bind(o))}if(r){const G=r.call(o,o);ve(G)&&(e.data=In(G))}if(or=!0,a)for(const G in a){const W=a[G],ne=se(W)?W.bind(o,o):se(W.get)?W.get.bind(o,o):bt,ue=!se(W)&&se(W.set)?W.set.bind(o):bt,fe=ie({get:ne,set:ue});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>fe.value,set:_e=>fe.value=_e})}if(s)for(const G in s)bs(s[G],n,o,G);if(l){const G=se(l)?l.call(o):l;Reflect.ownKeys(G).forEach(W=>{Tt(W,G[W])})}u&&hs(u,e,"c");function ce(G,W){re(W)?W.forEach(ne=>G(ne.bind(o))):W&&G(W.bind(o))}if(ce(ds,g),ce(wo,h),ce(op,C),ce(np,A),ce(Qd,v),ce(ep,z),ce(sp,k),ce(ip,L),ce(rp,N),ce(tn,y),ce(Xn,_),ce(ap,M),re(J))if(J.length){const G=e.exposed||(e.exposed={});J.forEach(W=>{Object.defineProperty(G,W,{get:()=>o[W],set:ne=>o[W]=ne,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===bt&&(e.render=w),pe!=null&&(e.inheritAttrs=pe),O&&(e.components=O),te&&(e.directives=te),M&&Qa(e)}function pp(e,t,o=bt){re(e)&&(e=nr(e));for(const n in e){const r=e[n];let a;ve(r)?"default"in r?a=Ve(r.from||n,r.default,!0):a=Ve(r.from||n):a=Ve(r),Ne(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:i=>a.value=i}):t[n]=a}}function hs(e,t,o){gt(re(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function bs(e,t,o,n){let r=n.includes(".")?rs(o,n):()=>o[n];if(Fe(e)){const a=t[e];se(a)&&Ye(r,a)}else if(se(e))Ye(r,e.bind(o));else if(ve(e))if(re(e))e.forEach(a=>bs(a,t,o,n));else{const a=se(e.handler)?e.handler.bind(o):t[e.handler];se(a)&&Ye(r,a,e)}}function _s(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:i}}=e.appContext,s=a.get(t);let l;return s?l=s:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Jn(l,c,i,!0)),Jn(l,t,i)),ve(t)&&a.set(t,l),l}function Jn(e,t,o,n=!1){const{mixins:r,extends:a}=t;a&&Jn(e,a,o,!0),r&&r.forEach(i=>Jn(e,i,o,!0));for(const i in t)if(!(n&&i==="expose")){const s=fp[i]||o&&o[i];e[i]=s?s(e[i],t[i]):t[i]}return e}const fp={data:$s,props:ys,emits:ys,methods:nn,computed:nn,beforeCreate:qe,created:qe,beforeMount:qe,mounted:qe,beforeUpdate:qe,updated:qe,beforeDestroy:qe,beforeUnmount:qe,destroyed:qe,unmounted:qe,activated:qe,deactivated:qe,errorCaptured:qe,serverPrefetch:qe,components:nn,directives:nn,watch:mp,provide:$s,inject:gp};function $s(e,t){return t?e?function(){return Me(se(e)?e.call(this,this):e,se(t)?t.call(this,this):t)}:t:e}function gp(e,t){return nn(nr(e),nr(t))}function nr(e){if(re(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${He(t)}Modifiers`]||e[`${ct(t)}Modifiers`];function $p(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Te;let r=o;const a=t.startsWith("update:"),i=a&&_p(n,t.slice(7));i&&(i.trim&&(r=o.map(u=>Fe(u)?u.trim():u)),i.number&&(r=r.map(ed)));let s,l=n[s=Ma(t)]||n[s=Ma(He(t))];!l&&a&&(l=n[s=Ma(ct(t))]),l&>(l,e,6,r);const c=n[s+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,gt(c,e,6,r)}}const yp=new WeakMap;function Cs(e,t,o=!1){const n=o?yp:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const a=e.emits;let i={},s=!1;if(!se(e)){const l=c=>{const u=Cs(c,t,!0);u&&(s=!0,Me(i,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!s?(ve(e)&&n.set(e,null),null):(re(a)?a.forEach(l=>i[l]=null):Me(i,a),ve(e)&&n.set(e,i),i)}function Zn(e,t){return!e||!Tn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ye(e,t[0].toLowerCase()+t.slice(1))||ye(e,ct(t))||ye(e,t))}function Kb(){}function Ts(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[a],slots:i,attrs:s,emit:l,render:c,renderCache:u,props:g,data:h,setupState:C,ctx:A,inheritAttrs:v}=e,z=Gn(e);let D,y;try{if(o.shapeFlag&4){const _=r||n,w=_;D=Pt(c.call(w,_,u,g,C,h,A)),y=s}else{const _=t;D=Pt(_.length>1?_(g,{attrs:s,slots:i,emit:l}):_(g,null)),y=t.props?s:vp(s)}}catch(_){fo.length=0,Jo(_,e,1),D=Ie(kt)}let b=D;if(y&&v!==!1){const _=Object.keys(y),{shapeFlag:w}=b;_.length&&w&7&&(a&&_.some(Pn)&&(y=Cp(y,a)),b=Lo(b,y,!1,!0))}if(o.dirs&&(b=Lo(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(o.dirs):o.dirs),o.transition){const _=Vn(b.type)&&is(b)||b;Za(_,o.transition)}return D=b,Gn(z),D}const vp=e=>{let t;for(const o in e)(o==="class"||o==="style"||Tn(o))&&((t||(t={}))[o]=e[o]);return t},Cp=(e,t)=>{const o={};for(const n in e)(!Pn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Tp(e,t,o){const{props:n,children:r,component:a}=e,{props:i,children:s,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Ps(n,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(Ss),As=e=>Object.getPrototypeOf(e)===Ss;function wp(e,t,o,n=!1){const r={},a=Ls();e.propsDefaults=Object.create(null),Es(e,t,r,a);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);o?e.props=n?r:Sd(r):e.type.props?e.props=r:e.props=a,e.attrs=a}function Sp(e,t,o,n){const{props:r,attrs:a,vnode:{patchFlag:i}}=e,s=be(r),[l]=e.propsOptions;let c=!1;if((n||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[h,C]=Rs(g,t,!0);Me(i,h),C&&s.push(...C)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!a&&!l)return ve(e)&&n.set(e,_o),_o;if(re(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ir=e=>re(e)?e.map(Pt):[Pt(e)],Ap=(e,t,o)=>{if(t._n)return t;const n=Bd((...r)=>ir(t(...r)),o);return n._c=!1,n},Ns=(e,t,o)=>{const n=e._ctx;for(const r in e){if(rr(r))continue;const a=e[r];if(se(a))t[r]=Ap(r,a,n);else if(a!=null){const i=ir(a);t[r]=()=>i}}},Ms=(e,t)=>{const o=ir(t);e.slots.default=()=>o},Os=(e,t,o)=>{for(const n in t)(o||!rr(n))&&(e[n]=t[n])},Ep=(e,t,o)=>{const n=e.slots=Ls();if(e.vnode.shapeFlag&32){const r=t._;r?(Os(n,t,o),o&&Ci(n,"_",r,!0)):Ns(t,n)}else t&&Ms(e,t)},Rp=(e,t,o)=>{const{vnode:n,slots:r}=e;let a=!0,i=Te;if(n.shapeFlag&32){const s=t._;s?o&&s===1?a=!1:Os(r,t,o):(a=!t.$stable,Ns(t,r)),i=t}else t&&(Ms(e,t),i={default:1});if(a)for(const s in r)!rr(s)&&i[s]==null&&delete r[s]},Qe=kp;function Fp(e){return Np(e)}function Np(e,t){const o=Rn();o.__VUE__=!0;const{insert:n,remove:r,patchProp:a,createElement:i,createText:s,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:h,setScopeId:C=bt,insertStaticContent:A}=e,v=(f,$,m,E=null,I=null,H=null,V=void 0,U=null,d=!!$.dynamicChildren)=>{if(f===$)return;f&&!sn(f,$)&&(E=X(f),_e(f,I,H,!0),f=null),$.patchFlag===-2&&(d=!1,$.dynamicChildren=null);const{type:p,ref:T,shapeFlag:R}=$;switch(p){case an:z(f,$,m,E);break;case kt:D(f,$,m,E);break;case lr:f==null&&y($,m,E,V);break;case at:O(f,$,m,E,I,H,V,U,d);break;default:R&1?w(f,$,m,E,I,H,V,U,d):R&6?te(f,$,m,E,I,H,V,U,d):(R&64||R&128)&&p.process(f,$,m,E,I,H,V,U,d,ee)}T!=null&&I?Qo(T,f&&f.ref,H,$||f,!$):T==null&&f&&f.ref!=null&&Qo(f.ref,null,H,f,!0)},z=(f,$,m,E)=>{if(f==null)n($.el=s($.children),m,E);else{const I=$.el=f.el;$.children!==f.children&&c(I,$.children)}},D=(f,$,m,E)=>{f==null?n($.el=l($.children||""),m,E):$.el=f.el},y=(f,$,m,E)=>{[f.el,f.anchor]=A(f.children,$,m,E,f.el,f.anchor)},b=({el:f,anchor:$},m,E)=>{let I;for(;f&&f!==$;)I=h(f),n(f,m,E),f=I;n($,m,E)},_=({el:f,anchor:$})=>{let m;for(;f&&f!==$;)m=h(f),r(f),f=m;r($)},w=(f,$,m,E,I,H,V,U,d)=>{if($.type==="svg"?V="svg":$.type==="math"&&(V="mathml"),f==null)L($,m,E,I,H,V,U,d);else{const p=f.el&&f.el._isVueCE?f.el:null;try{p&&p._beginPatch(),M(f,$,I,H,V,U,d)}finally{p&&p._endPatch()}}},L=(f,$,m,E,I,H,V,U)=>{let d,p;const{props:T,shapeFlag:R,transition:K,dirs:B}=f;if(d=f.el=i(f.type,H,T&&T.is,T),R&8?u(d,f.children):R&16&&k(f.children,d,null,E,I,sr(f,H),V,U),B&&co(f,null,E,"created"),N(d,f,f.scopeId,V,E),T){for(const F in T)F!=="value"&&!Uo(F)&&a(d,F,null,T[F],H,E);"value"in T&&a(d,"value",null,T.value,H),(p=T.onVnodeBeforeMount)&&wt(p,E,f)}B&&co(f,null,E,"beforeMount");const P=Mp(I,K);P&&K.beforeEnter(d),n(d,$,m),((p=T&&T.onVnodeMounted)||P||B)&&Qe(()=>{try{p&&wt(p,E,f),P&&K.enter(d),B&&co(f,null,E,"mounted")}finally{}},I)},N=(f,$,m,E,I)=>{if(m&&C(f,m),E)for(let H=0;H{for(let p=d;p{const U=$.el=f.el;let{patchFlag:d,dynamicChildren:p,dirs:T}=$;d|=f.patchFlag&16;const R=f.props||Te,K=$.props||Te;let B;if(m&&po(m,!1),(B=K.onVnodeBeforeUpdate)&&wt(B,m,$,f),T&&co($,f,m,"beforeUpdate"),m&&po(m,!0),p&&(!f.dynamicChildren||f.dynamicChildren.length!==p.length)&&(d=0,V=!1,p=null),(R.innerHTML&&K.innerHTML==null||R.textContent&&K.textContent==null)&&u(U,""),p?J(f.dynamicChildren,p,U,m,E,sr($,I),H):V||W(f,$,U,null,m,E,sr($,I),H,!1),d>0){if(d&16)pe(U,R,K,m,I);else if(d&2&&R.class!==K.class&&a(U,"class",null,K.class,I),d&4&&a(U,"style",R.style,K.style,I),d&8){const P=$.dynamicProps;for(let F=0;F{B&&wt(B,m,$,f),T&&co($,f,m,"updated")},E)},J=(f,$,m,E,I,H,V)=>{for(let U=0;U<$.length;U++){const d=f[U],p=$[U],T=d.el&&(d.type===at||!sn(d,p)||d.shapeFlag&198)?g(d.el):m;v(d,p,T,null,E,I,H,V,!0)}},pe=(f,$,m,E,I)=>{if($!==m){if($!==Te)for(const H in $)!Uo(H)&&!(H in m)&&a(f,H,$[H],null,I,E);for(const H in m){if(Uo(H))continue;const V=m[H],U=$[H];V!==U&&H!=="value"&&a(f,H,U,V,I,E)}"value"in m&&a(f,"value",$.value,m.value,I)}},O=(f,$,m,E,I,H,V,U,d)=>{const p=$.el=f?f.el:s(""),T=$.anchor=f?f.anchor:s("");let{patchFlag:R,dynamicChildren:K,slotScopeIds:B}=$;B&&(U=U?U.concat(B):B),f==null?(n(p,m,E),n(T,m,E),k($.children||[],m,T,I,H,V,U,d)):R>0&&R&64&&K&&f.dynamicChildren&&f.dynamicChildren.length===K.length?(J(f.dynamicChildren,K,m,I,H,V,U),($.key!=null||I&&$===I.subTree)&&ks(f,$,!0)):W(f,$,m,T,I,H,V,U,d)},te=(f,$,m,E,I,H,V,U,d)=>{$.slotScopeIds=U,f==null?$.shapeFlag&512?I.ctx.activate($,m,E,V,d):me($,m,E,I,H,V,d):ge(f,$,d)},me=(f,$,m,E,I,H,V)=>{const U=f.component=Wp(f,E,I);if(Yn(f)&&(U.ctx.renderer=ee),Up(U,!1,V),U.asyncDep){if(I&&I.registerDep(U,ce,V),!f.el){const d=U.subTree=Ie(kt);D(null,d,$,m),f.placeholder=d.el}}else ce(U,f,$,m,I,H,V)},ge=(f,$,m)=>{const E=$.component=f.component;if(Tp(f,$,m))if(E.asyncDep&&!E.asyncResolved){G(E,$,m);return}else E.next=$,E.update();else $.el=f.el,E.vnode=$},ce=(f,$,m,E,I,H,V)=>{const U=()=>{if(f.isMounted){let{next:R,bu:K,u:B,parent:P,vnode:F}=f;{const Be=xs(f);if(Be){R&&(R.el=F.el,G(f,R,V)),Be.asyncDep.then(()=>{Qe(()=>{f.isUnmounted||p()},I)});return}}let oe=R,de;po(f,!1),R?(R.el=F.el,G(f,R,V)):R=F,K&&Oa(K),(de=R.props&&R.props.onVnodeBeforeUpdate)&&wt(de,P,R,F),po(f,!0);const Ee=Ts(f),Ze=f.subTree;f.subTree=Ee,v(Ze,Ee,g(Ze.el),X(Ze),f,I,H),R.el=Ee.el,oe===null&&Pp(f,Ee.el),B&&Qe(B,I),(de=R.props&&R.props.onVnodeUpdated)&&Qe(()=>wt(de,P,R,F),I)}else{let R;const{el:K,props:B}=$,{bm:P,m:F,parent:oe,root:de,type:Ee}=f,Ze=en($);po(f,!1),P&&Oa(P),!Ze&&(R=B&&B.onVnodeBeforeMount)&&wt(R,oe,$),po(f,!0);{de.ce&&de.ce._hasShadowRoot()&&de.ce._injectChildStyle(Ee,f.parent?f.parent.type:void 0);const Be=f.subTree=Ts(f);v(null,Be,m,E,f,I,H),$.el=Be.el}if(F&&Qe(F,I),!Ze&&(R=B&&B.onVnodeMounted)){const Be=$;Qe(()=>wt(R,oe,Be),I)}($.shapeFlag&256||oe&&en(oe.vnode)&&oe.vnode.shapeFlag&256)&&f.a&&Qe(f.a,I),f.isMounted=!0,$=m=E=null}};f.scope.on();const d=f.effect=new Fi(U);f.scope.off();const p=f.update=d.run.bind(d),T=f.job=d.runIfDirty.bind(d);T.i=f,T.id=f.uid,d.scheduler=()=>qa(T),po(f,!0),p()},G=(f,$,m)=>{$.component=f;const E=f.vnode.props;f.vnode=$,f.next=null,Sp(f,$.props,E,m),Rp(f,$.children,m),$t(),es(f),yt()},W=(f,$,m,E,I,H,V,U,d=!1)=>{const p=f&&f.children,T=f?f.shapeFlag:0,R=$.children,{patchFlag:K,shapeFlag:B}=$;if(K>0){if(K&128){ue(p,R,m,E,I,H,V,U,d);return}else if(K&256){ne(p,R,m,E,I,H,V,U,d);return}}B&8?(T&16&&Y(p,I,H),R!==p&&u(m,R)):T&16?B&16?ue(p,R,m,E,I,H,V,U,d):Y(p,I,H,!0):(T&8&&u(m,""),B&16&&k(R,m,E,I,H,V,U,d))},ne=(f,$,m,E,I,H,V,U,d)=>{f=f||_o,$=$||_o;const p=f.length,T=$.length,R=Math.min(p,T);let K;for(K=0;KT?Y(f,I,H,!0,!1,R):k($,m,E,I,H,V,U,d,R)},ue=(f,$,m,E,I,H,V,U,d)=>{let p=0;const T=$.length;let R=f.length-1,K=T-1;for(;p<=R&&p<=K;){const B=f[p],P=$[p]=d?xt($[p]):Pt($[p]);if(sn(B,P))v(B,P,m,null,I,H,V,U,d);else break;p++}for(;p<=R&&p<=K;){const B=f[R],P=$[K]=d?xt($[K]):Pt($[K]);if(sn(B,P))v(B,P,m,null,I,H,V,U,d);else break;R--,K--}if(p>R){if(p<=K){const B=K+1,P=BK)for(;p<=R;)_e(f[p],I,H,!0),p++;else{const B=p,P=p,F=new Map;for(p=P;p<=K;p++){const st=$[p]=d?xt($[p]):Pt($[p]);st.key!=null&&F.set(st.key,p)}let oe,de=0;const Ee=K-P+1;let Ze=!1,Be=0;const bo=new Array(Ee);for(p=0;p=Ee){_e(st,I,H,!0);continue}let Et;if(st.key!=null)Et=F.get(st.key);else for(oe=P;oe<=K;oe++)if(bo[oe-P]===0&&sn(st,$[oe])){Et=oe;break}Et===void 0?_e(st,I,H,!0):(bo[Et-P]=p+1,Et>=Be?Be=Et:Ze=!0,v(st,$[Et],m,null,I,H,V,U,d),de++)}const bi=Ze?Op(bo):_o;for(oe=bi.length-1,p=Ee-1;p>=0;p--){const st=P+p,Et=$[st],Ku=$[st+1],Yu=st+1{const{el:H,type:V,transition:U,children:d,shapeFlag:p}=f;if(p&6){fe(f.component.subTree,$,m,E);return}if(p&128){f.suspense.move($,m,E);return}if(p&64){V.move(f,$,m,ee);return}if(V===at){n(H,$,m);for(let R=0;RU.enter(H),I));else{const{leave:R,delayLeave:K,afterLeave:B}=U,P=()=>{f.ctx.isUnmounted?r(H):n(H,$,m)},F=()=>{const oe=H._isLeaving||!!H[Ja];H._isLeaving&&H[Ja](!0),U.persisted&&!oe?P():R(H,()=>{P(),B&&B()})};K?K(H,P,F):F()}else n(H,$,m)},_e=(f,$,m,E=!1,I=!1)=>{const{type:H,props:V,ref:U,children:d,dynamicChildren:p,shapeFlag:T,patchFlag:R,dirs:K,cacheIndex:B,memo:P}=f;if(R===-2&&(I=!1),U!=null&&($t(),Qo(U,null,m,f,!0),yt()),B!=null&&($.renderCache[B]=void 0),T&256){$.ctx.deactivate(f);return}const F=T&1&&K,oe=!en(f);let de;if(oe&&(de=V&&V.onVnodeBeforeUnmount)&&wt(de,$,f),T&6)j(f.component,m,E);else{if(T&128){f.suspense.unmount(m,E);return}F&&co(f,null,$,"beforeUnmount"),T&64?f.type.remove(f,$,m,ee,E):p&&!p.hasOnce&&(H!==at||R>0&&R&64)?Y(p,$,m,!1,!0):(H===at&&R&384||!I&&T&16)&&Y(d,$,m),E&&S(f)}const Ee=P!=null&&B==null;(oe&&(de=V&&V.onVnodeUnmounted)||F||Ee)&&Qe(()=>{de&&wt(de,$,f),F&&co(f,null,$,"unmounted"),Ee&&(f.el=null)},m)},S=f=>{const{type:$,el:m,anchor:E,transition:I}=f;if($===at){x(m,E);return}if($===lr){_(f);return}const H=()=>{r(m),I&&!I.persisted&&I.afterLeave&&I.afterLeave()};if(f.shapeFlag&1&&I&&!I.persisted){const{leave:V,delayLeave:U}=I,d=()=>V(m,H);U?U(f.el,H,d):d()}else H()},x=(f,$)=>{let m;for(;f!==$;)m=h(f),r(f),f=m;r($)},j=(f,$,m)=>{const{bum:E,scope:I,job:H,subTree:V,um:U,m:d,a:p}=f;Is(d),Is(p),E&&Oa(E),I.stop(),H&&(H.flags|=8,_e(V,f,$,m)),U&&Qe(U,$),Qe(()=>{f.isUnmounted=!0},$)},Y=(f,$,m,E=!1,I=!1,H=0)=>{for(let V=H;V{if(f.shapeFlag&6)return X(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const $=h(f.anchor||f.el),m=$&&$[qd];return m?h(m):$};let Q=!1;const Z=(f,$,m)=>{let E;f==null?$._vnode&&(_e($._vnode,null,null,!0),E=$._vnode.component):v($._vnode||null,f,$,null,null,null,m),$._vnode=f,Q||(Q=!0,es(E),ts(),Q=!1)},ee={p:v,um:_e,m:fe,r:S,mt:me,mc:k,pc:W,pbc:J,n:X,o:e};return{render:Z,hydrate:void 0,createApp:bp(Z)}}function sr({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 Mp(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ks(e,t,o=!1){const n=e.children,r=t.children;if(re(n)&&re(r))for(let a=0;a>1,e[o[s]]0&&(t[n]=o[a-1]),o[a]=n)}}for(a=o.length,i=o[a-1];a-- >0;)o[a]=i,i=t[i];return o}function xs(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:xs(t)}function Is(e){if(e)for(let t=0;te.__isSuspense;function kp(e,t){t&&t.pendingBranch?re(e)?t.effects.push(...e):t.effects.push(e):Ud(e)}const at=Symbol.for("v-fgt"),an=Symbol.for("v-txt"),kt=Symbol.for("v-cmt"),lr=Symbol.for("v-stc"),fo=[];let rt=null;function xe(e=!1){fo.push(rt=e?null:[])}function zs(){fo.pop(),rt=fo[fo.length-1]||null}let rn=1;function Qn(e,t=!1){rn+=e,e<0&&rt&&t&&(rt.hasOnce=!0)}function Ws(e){return e.dynamicChildren=rn>0?rt||_o:null,zs(),rn>0&&rt&&rt.push(e),e}function it(e,t,o,n,r,a){return Ws(Se(e,t,o,n,r,a,!0))}function So(e,t,o,n,r){return Ws(Ie(e,t,o,n,r,!0))}function ea(e){return e?e.__v_isVNode===!0:!1}function sn(e,t){return e.type===t.type&&e.key===t.key}const Us=({key:e})=>e??null,ta=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Fe(e)||Ne(e)||se(e)?{i:nt,r:e,k:t,f:!!o}:e:null);function Se(e,t=null,o=null,n=0,r=null,a=e===at?0:1,i=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Us(t),ref:t&&ta(t),scopeId:ns,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:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:nt};return s?(oa(l,o),a&128&&e.normalize(l)):o&&(l.shapeFlag|=Fe(o)?8:16),rn>0&&!i&&rt&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&rt.push(l),l}const Ie=xp;function xp(e,t=null,o=null,n=0,r=null,a=!1){if((!e||e===ps)&&(e=kt),ea(e)){const s=Lo(e,t,!0);return o&&oa(s,o),rn>0&&!a&&rt&&(s.shapeFlag&6?rt[rt.indexOf(e)]=s:rt.push(s)),s.patchFlag=-2,s}if(Yp(e)&&(e=e.__vccOpts),t){t=Ip(t);let{class:s,style:l}=t;s&&!Fe(s)&&(t.class=$o(s)),ve(l)&&(Hn(l)&&!re(l)&&(l=Me({},l)),t.style=io(l))}const i=Fe(e)?1:Hs(e)?128:Vn(e)?64:ve(e)?4:se(e)?2:0;return Se(e,t,o,n,r,i,a,!0)}function Ip(e){return e?Hn(e)||As(e)?Me({},e):e:null}function Lo(e,t,o=!1,n=!1){const{props:r,ref:a,patchFlag:i,children:s,transition:l}=e,c=t?Dp(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Us(c),ref:t&&t.ref?o&&a?re(a)?a.concat(ta(t)):[a,ta(t)]:ta(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==at?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Lo(e.ssContent),ssFallback:e.ssFallback&&Lo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Za(u,l.clone(u)),u}function et(e=" ",t=0){return Ie(an,null,e,t)}function qt(e="",t=!1){return t?(xe(),So(kt,null,e)):Ie(kt,null,e)}function Pt(e){return e==null||typeof e=="boolean"?Ie(kt):re(e)?Ie(at,null,e.slice()):ea(e)?xt(e):Ie(an,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Lo(e)}function oa(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(re(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),oa(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!As(t)?t._ctx=nt:r===3&&nt&&(nt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(se(t)){if(n&65){oa(e,{default:t});return}t={default:t,_ctx:nt},o=32}else t=String(t),n&64?(o=16,t=[et(t)]):o=8;e.children=t,e.shapeFlag|=o}function Dp(...e){const t={};for(let o=0;oWe||nt;let na,ln;{const e=Rn(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),a=>{r.length>1?r.forEach(i=>i(a)):r[0](a)}};na=t("__VUE_INSTANCE_SETTERS__",o=>We=o),ln=t("__VUE_SSR_SETTERS__",o=>Ao=o)}const cn=e=>{const t=We;return na(e),e.scope.on(),()=>{e.scope.off(),na(t)}},Bs=()=>{We&&We.scope.off(),na(null)};function Gs(e){return e.vnode.shapeFlag&4}let Ao=!1;function Up(e,t=!1,o=!1){t&&ln(t);const{props:n,children:r}=e.vnode,a=Gs(e);wp(e,n,a,t),Ep(e,r,o||t);const i=a?Bp(e,t):void 0;return t&&ln(!1),i}function Bp(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,up);const{setup:n}=o;if(n){$t();const r=e.setupContext=n.length>1?Vp(e):null,a=cn(e),i=vo(n,e,0,[e.props,r]),s=yi(i);if(yt(),a(),(s||e.sp)&&!en(e)&&Qa(e),s){if(i.then(Bs,Bs),t)return i.then(l=>{ln(!0);try{Vs(e,l,t)}finally{ln(!1)}}).catch(l=>{Jo(l,e,0)});e.asyncDep=i}else Vs(e,i)}else js(e)}function Vs(e,t,o){se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ve(t)&&(e.setupState=Xi(t)),js(e)}function js(e,t,o){const n=e.type;e.render||(e.render=n.render||bt);{const r=cn(e);$t();try{dp(e)}finally{yt(),r()}}}const Gp={get(e,t){return Ge(e,"get",""),e[t]}};function Vp(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Gp),slots:e.slots,emit:e.emit,expose:t}}function aa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xi(Yo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in on)return on[o](e)},has(t,o){return o in t||o in on}})):e.proxy}const jp=/(?:^|[-_])\w/g,Kp=e=>e.replace(jp,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ks(e,t=!0){return se(e)?e.displayName||e.name:e.name||t&&e.__name}function Ys(e,t,o=!1){let n=Ks(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=a=>{for(const i in a)if(a[i]===t)return i};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Kp(n):o?"App":"Anonymous"}function Yp(e){return se(e)&&"__vccOpts"in e}const ie=(e,t)=>Md(e,t,Ao);function go(e,t,o){try{Qn(-1);const n=arguments.length;return n===2?ve(t)&&!re(t)?ea(t)?Ie(e,null,[t]):Ie(e,t):Ie(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&ea(o)&&(o=[o]),Ie(e,t,o))}finally{Qn(1)}}const qp="3.5.42";/** +`],...Dd(o))}),t}function Dd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${Ys(e.component,e.type,n)}`,a=">"+o;return e.props?[r,...Hd(e.props),a]:[r+a]}function Hd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Ji(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Ji(e,t,o){return Fe(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ne(t)?(t=Ji(e,be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ie(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=be(t),o?t:[`${e}=`,t])}function vo(e,t,o,n){try{return n?e(...n):e()}catch(r){Jo(r,t,o)}}function ft(e,t,o,n){if(ie(e)){const r=vo(e,t,o,n);return r&&yi(r)&&r.catch(a=>{Jo(a,t,o)}),r}if(ae(e)){const r=[];for(let a=0;a>>1,r=Ke[n],a=Zo(r);a=Zo(o)?Ke.push(e):Ke.splice(Wd(t),0,e),e.flags|=1,Qi()}}function Qi(){Bn||(Bn=Zi.then(os))}function Ud(e){if(!ae(e))Kt&&e.id===-1?Kt.splice(To+1,0,e):e.flags&1||(Co.push(e),e.flags|=1);else for(let t=0;tZo(o)-Zo(n));if(Co.length=0,Kt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function os(e){try{for(Ct=0;Ct{n._d&&Qn(-1);const a=Gn(t),i=go.length;let s;try{s=e(...r)}finally{for(let l=go.length;l>i;l--)zs();Gn(a),n._d&&Qn(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Gd(e,t){if(nt===null)return e;const o=aa(nt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&ie(t)?t.call(n&&n.proxy):t}}function Vd(){return!!(St()||uo)}const jd=Symbol.for("v-scx"),Kd=()=>Ve(jd);function as(e,t){return Xa(e,null,t)}function Ye(e,t,o){return Xa(e,t,o)}function Xa(e,t,o=Te){const{immediate:n,deep:r,flush:a,once:i}=o,s=Me({},o),l=t&&n||!t&&a!=="post";let c;if(Ao){if(a==="sync"){const C=Kd();c=C.__watcherHandles||(C.__watcherHandles=[])}else if(!l){const C=()=>{};return C.stop=bt,C.resume=bt,C.pause=bt,C}}const u=We;s.call=(C,A,v)=>ft(C,u,A,v);let f=!1;a==="post"?s.scheduler=C=>{Qe(C,u&&u.suspense)}:a!=="sync"&&(f=!0,s.scheduler=(C,A)=>{A?C():qa(C)}),s.augmentJob=C=>{t&&(C.flags|=4),f&&(C.flags|=2,u&&(C.id=u.uid,C.i=u))};const h=kd(e,t,s);return Ao&&(c?c.push(h):l&&h()),h}function Yd(e,t,o){const n=this.proxy,r=Fe(e)?e.includes(".")?rs(n,e):()=>n[e]:e.bind(n,n);let a;ie(t)?a=t:(a=t.handler,o=t);const i=cn(this),s=Xa(r,a.bind(n),o);return i(),s}function rs(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ja=Symbol("_leaveCb");function Xd(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==kt){t=o;break}}return t}function is(e){if(!Yn(e))return Vn(e.type)&&e.children?Xd(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&&ie(o.default))return o.default()}}function Za(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Za(Vn(o.type)&&is(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 Yt(e,t){return ie(e)?Me({name:e.name},t,{setup:e}):e}function Qa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ss(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const jn=new WeakMap;function Qo(e,t,o,n,r=!1){if(ae(e)){e.forEach((v,z)=>Qo(v,t&&(ae(t)?t[z]:t),o,n,r));return}if(en(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Qo(e,t,o,n.component.subTree);return}const a=n.shapeFlag&4?aa(n.component):n.el,i=r?null:a,{i:s,r:l}=e,c=t&&t.r,u=s.refs===Te?s.refs={}:s.refs,f=s.setupState,h=be(f),C=f===Te?_i:v=>ss(u,v)?!1:ye(h,v),A=(v,z)=>!(z&&ss(u,z));if(c!=null&&c!==l){if(ls(t),Fe(c))u[c]=null,C(c)&&(f[c]=null);else if(Ne(c)){const v=t;A(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(ie(l))vo(l,s,12,[i,u]);else{const v=Fe(l),z=Ne(l);if(v||z){const x=()=>{if(e.f){const y=v?C(l)?f[l]:u[l]:A()||!e.k?l.value:u[e.k];if(r)ae(y)&&Na(y,a);else if(ae(y))y.includes(a)||y.push(a);else if(v)u[l]=[a],C(l)&&(f[l]=u[l]);else{const _=[a];A(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else v?(u[l]=i,C(l)&&(f[l]=i)):z&&(A(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const y=()=>{x(),jn.delete(e)};y.id=-1,jn.set(e,y),Qe(y,o)}else ls(e),x()}}}function ls(e){const t=jn.get(e);t&&(t.flags|=8,jn.delete(e))}const cs=e=>e.nodeType===8;Rn().requestIdleCallback,Rn().cancelIdleCallback;function Jd(e,t){if(cs(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(cs(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const en=e=>!!e.type.__asyncLoader;function Zd(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:a,timeout:i,suspensible:s=!0,onError:l}=e;let c=null,u,f=0;const h=()=>(f++,c=null,C()),C=()=>{let A;return c||(A=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((z,x)=>{l(v,()=>z(h()),()=>x(v),f+1)});throw v}).then(v=>A!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Yt({name:"AsyncComponentWrapper",__asyncLoader:C,__asyncHydrate(A,v,z){const x=A.isConnected;let y=!1;(v.bu||(v.bu=[])).push(()=>y=!0);const _=()=>{y||!A.parentNode||x&&!A.isConnected||z()},$=a?()=>{const w=a(_,L=>Jd(A,L));w&&(v.bum||(v.bum=[])).push(w)}:_;u?$():C().then(()=>!v.isUnmounted&&$())},get __asyncResolved(){return u},setup(){const A=We;if(Qa(A),u)return()=>Kn(u,A);const v=w=>{c=null,Jo(w,A,13,!n)};if(s&&A.suspense||Ao)return C().then(w=>()=>Kn(w,A)).catch(w=>(v(w),()=>n?Ie(n,{error:w}):null));const z=Pe(!1),x=Pe(),y=Pe(!!r);let _,$;return Xn(()=>{_!=null&&clearTimeout(_),$!=null&&clearTimeout($)}),r&&($=setTimeout(()=>{A.isUnmounted||(y.value=!1)},r)),i!=null&&(_=setTimeout(()=>{if(!A.isUnmounted&&!z.value&&!x.value){const w=new Error(`Async component timed out after ${i}ms.`);v(w),x.value=w}},i)),C().then(()=>{A.isUnmounted||(z.value=!0,A.parent&&Yn(A.parent.vnode)&&A.parent.update())}).catch(w=>{if(A.isUnmounted){c=null;return}v(w),x.value=w}),()=>{if(z.value&&u)return Kn(u,A);if(x.value&&n)return Ie(n,{error:x.value});if(o&&!y.value)return Kn(o,A)}}})}function Kn(e,t){const{ref:o,props:n,children:r,ce:a}=t.vnode,i=Ie(e,n,r);return i.ref=o,i.ce=a,delete t.vnode.ce,i}const Yn=e=>e.type.__isKeepAlive;function Qd(e,t){us(e,"a",t)}function ep(e,t){us(e,"da",t)}function us(e,t,o=We){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(qn(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Yn(r.parent.vnode)&&tp(n,t,o,r),r=r.parent}}function tp(e,t,o,n){const r=qn(t,e,n,!0);Xn(()=>{Na(n[t],r)},o)}function qn(e,t,o=We,n=!1){if(o){const r=o[e]||(o[e]=[]),a=t.__weh||(t.__weh=(...i)=>{$t();const s=cn(o),l=ft(t,o,e,i);return s(),yt(),l});return n?r.unshift(a):r.push(a),a}}const Ot=e=>(t,o=We)=>{(!Ao||e==="sp")&&qn(e,(...n)=>t(...n),o)},ds=Ot("bm"),wo=Ot("m"),op=Ot("bu"),np=Ot("u"),tn=Ot("bum"),Xn=Ot("um"),ap=Ot("sp"),rp=Ot("rtg"),ip=Ot("rtc");function sp(e,t=We){qn("ec",e,t)}const lp="components",ps=Symbol.for("v-ndc");function gs(e){return Fe(e)?cp(lp,e,!1)||e:e||ps}function cp(e,t,o=!0,n=!1){const r=nt||We;if(r){const a=r.type;{const s=Ks(a,!1);if(s&&(s===t||s===He(t)||s===En(He(t))))return a}const i=fs(r[e]||a[e],t)||fs(r.appContext[e],t);return!i&&n?a:i}}function fs(e,t){return e&&(e[t]||e[He(t)]||e[En(He(t))])}const er=e=>e?Gs(e)?aa(e):er(e.parent):null,on=Me(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>er(e.parent),$root:e=>er(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_s(e),$forceUpdate:e=>e.f||(e.f=()=>{qa(e.update)}),$nextTick:e=>e.n||(e.n=Po.bind(e.proxy)),$watch:e=>Yd.bind(e)}),tr=(e,t)=>e!==Te&&!e.__isScriptSetup&&ye(e,t),up={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:a,accessCache:i,type:s,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return a[t]}else{if(tr(n,t))return i[t]=1,n[t];if(r!==Te&&ye(r,t))return i[t]=2,r[t];if(ye(a,t))return i[t]=3,a[t];if(o!==Te&&ye(o,t))return i[t]=4,o[t];or&&(i[t]=0)}}const c=on[t];let u,f;if(c)return t==="$attrs"&&Ge(e.attrs,"get",""),c(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(o!==Te&&ye(o,t))return i[t]=4,o[t];if(f=l.config.globalProperties,ye(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:a}=e;return tr(r,t)?(r[t]=o,!0):n!==Te&&ye(n,t)?(n[t]=o,!0):ye(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:a,type:i}},s){let l;return!!(o[s]||e!==Te&&s[0]!=="$"&&ye(e,s)||tr(t,s)||ye(a,s)||ye(n,s)||ye(on,s)||ye(r.config.globalProperties,s)||(l=i.__cssModules)&&l[s])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:ye(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function ms(e){return ae(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let or=!0;function dp(e){const t=_s(e),o=e.proxy,n=e.ctx;or=!1,t.beforeCreate&&hs(t.beforeCreate,e,"bc");const{data:r,computed:a,methods:i,watch:s,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:C,updated:A,activated:v,deactivated:z,beforeDestroy:x,beforeUnmount:y,destroyed:_,unmounted:$,render:w,renderTracked:L,renderTriggered:N,errorCaptured:O,serverPrefetch:M,expose:Q,inheritAttrs:de,components:H,directives:J,filters:he}=t;if(c&&pp(c,n,null),i)for(const V in i){const W=i[V];ie(W)&&(n[V]=W.bind(o))}if(r){const V=r.call(o,o);ve(V)&&(e.data=In(V))}if(or=!0,a)for(const V in a){const W=a[V],te=ie(W)?W.bind(o,o):ie(W.get)?W.get.bind(o,o):bt,pe=!ie(W)&&ie(W.set)?W.set.bind(o):bt,ce=re({get:te,set:pe});Object.defineProperty(n,V,{enumerable:!0,configurable:!0,get:()=>ce.value,set:_e=>ce.value=_e})}if(s)for(const V in s)bs(s[V],n,o,V);if(l){const V=ie(l)?l.call(o):l;Reflect.ownKeys(V).forEach(W=>{Tt(W,V[W])})}u&&hs(u,e,"c");function se(V,W){ae(W)?W.forEach(te=>V(te.bind(o))):W&&V(W.bind(o))}if(se(ds,f),se(wo,h),se(op,C),se(np,A),se(Qd,v),se(ep,z),se(sp,O),se(ip,L),se(rp,N),se(tn,y),se(Xn,$),se(ap,M),ae(Q))if(Q.length){const V=e.exposed||(e.exposed={});Q.forEach(W=>{Object.defineProperty(V,W,{get:()=>o[W],set:te=>o[W]=te,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===bt&&(e.render=w),de!=null&&(e.inheritAttrs=de),H&&(e.components=H),J&&(e.directives=J),M&&Qa(e)}function pp(e,t,o=bt){ae(e)&&(e=nr(e));for(const n in e){const r=e[n];let a;ve(r)?"default"in r?a=Ve(r.from||n,r.default,!0):a=Ve(r.from||n):a=Ve(r),Ne(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:i=>a.value=i}):t[n]=a}}function hs(e,t,o){ft(ae(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function bs(e,t,o,n){let r=n.includes(".")?rs(o,n):()=>o[n];if(Fe(e)){const a=t[e];ie(a)&&Ye(r,a)}else if(ie(e))Ye(r,e.bind(o));else if(ve(e))if(ae(e))e.forEach(a=>bs(a,t,o,n));else{const a=ie(e.handler)?e.handler.bind(o):t[e.handler];ie(a)&&Ye(r,a,e)}}function _s(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:i}}=e.appContext,s=a.get(t);let l;return s?l=s:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Jn(l,c,i,!0)),Jn(l,t,i)),ve(t)&&a.set(t,l),l}function Jn(e,t,o,n=!1){const{mixins:r,extends:a}=t;a&&Jn(e,a,o,!0),r&&r.forEach(i=>Jn(e,i,o,!0));for(const i in t)if(!(n&&i==="expose")){const s=gp[i]||o&&o[i];e[i]=s?s(e[i],t[i]):t[i]}return e}const gp={data:$s,props:ys,emits:ys,methods:nn,computed:nn,beforeCreate:qe,created:qe,beforeMount:qe,mounted:qe,beforeUpdate:qe,updated:qe,beforeDestroy:qe,beforeUnmount:qe,destroyed:qe,unmounted:qe,activated:qe,deactivated:qe,errorCaptured:qe,serverPrefetch:qe,components:nn,directives:nn,watch:mp,provide:$s,inject:fp};function $s(e,t){return t?e?function(){return Me(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function fp(e,t){return nn(nr(e),nr(t))}function nr(e){if(ae(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${He(t)}Modifiers`]||e[`${ct(t)}Modifiers`];function $p(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Te;let r=o;const a=t.startsWith("update:"),i=a&&_p(n,t.slice(7));i&&(i.trim&&(r=o.map(u=>Fe(u)?u.trim():u)),i.number&&(r=r.map(ed)));let s,l=n[s=Ma(t)]||n[s=Ma(He(t))];!l&&a&&(l=n[s=Ma(ct(t))]),l&&ft(l,e,6,r);const c=n[s+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,ft(c,e,6,r)}}const yp=new WeakMap;function Cs(e,t,o=!1){const n=o?yp:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const a=e.emits;let i={},s=!1;if(!ie(e)){const l=c=>{const u=Cs(c,t,!0);u&&(s=!0,Me(i,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!s?(ve(e)&&n.set(e,null),null):(ae(a)?a.forEach(l=>i[l]=null):Me(i,a),ve(e)&&n.set(e,i),i)}function Zn(e,t){return!e||!Tn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ye(e,t[0].toLowerCase()+t.slice(1))||ye(e,ct(t))||ye(e,t))}function Kb(){}function Ts(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[a],slots:i,attrs:s,emit:l,render:c,renderCache:u,props:f,data:h,setupState:C,ctx:A,inheritAttrs:v}=e,z=Gn(e);let x,y;try{if(o.shapeFlag&4){const $=r||n,w=$;x=Pt(c.call(w,$,u,f,C,h,A)),y=s}else{const $=t;x=Pt($.length>1?$(f,{attrs:s,slots:i,emit:l}):$(f,null)),y=t.props?s:vp(s)}}catch($){go.length=0,Jo($,e,1),x=Ie(kt)}let _=x;if(y&&v!==!1){const $=Object.keys(y),{shapeFlag:w}=_;$.length&&w&7&&(a&&$.some(Pn)&&(y=Cp(y,a)),_=Lo(_,y,!1,!0))}if(o.dirs&&(_=Lo(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(o.dirs):o.dirs),o.transition){const $=Vn(_.type)&&is(_)||_;Za($,o.transition)}return x=_,Gn(z),x}const vp=e=>{let t;for(const o in e)(o==="class"||o==="style"||Tn(o))&&((t||(t={}))[o]=e[o]);return t},Cp=(e,t)=>{const o={};for(const n in e)(!Pn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Tp(e,t,o){const{props:n,children:r,component:a}=e,{props:i,children:s,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Ps(n,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Ss),As=e=>Object.getPrototypeOf(e)===Ss;function wp(e,t,o,n=!1){const r={},a=Ls();e.propsDefaults=Object.create(null),Es(e,t,r,a);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);o?e.props=n?r:Sd(r):e.type.props?e.props=r:e.props=a,e.attrs=a}function Sp(e,t,o,n){const{props:r,attrs:a,vnode:{patchFlag:i}}=e,s=be(r),[l]=e.propsOptions;let c=!1;if((n||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[h,C]=Rs(f,t,!0);Me(i,h),C&&s.push(...C)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!a&&!l)return ve(e)&&n.set(e,_o),_o;if(ae(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ir=e=>ae(e)?e.map(Pt):[Pt(e)],Ap=(e,t,o)=>{if(t._n)return t;const n=Bd((...r)=>ir(t(...r)),o);return n._c=!1,n},Ns=(e,t,o)=>{const n=e._ctx;for(const r in e){if(rr(r))continue;const a=e[r];if(ie(a))t[r]=Ap(r,a,n);else if(a!=null){const i=ir(a);t[r]=()=>i}}},Ms=(e,t)=>{const o=ir(t);e.slots.default=()=>o},Os=(e,t,o)=>{for(const n in t)(o||!rr(n))&&(e[n]=t[n])},Ep=(e,t,o)=>{const n=e.slots=Ls();if(e.vnode.shapeFlag&32){const r=t._;r?(Os(n,t,o),o&&Ci(n,"_",r,!0)):Ns(t,n)}else t&&Ms(e,t)},Rp=(e,t,o)=>{const{vnode:n,slots:r}=e;let a=!0,i=Te;if(n.shapeFlag&32){const s=t._;s?o&&s===1?a=!1:Os(r,t,o):(a=!t.$stable,Ns(t,r)),i=t}else t&&(Ms(e,t),i={default:1});if(a)for(const s in r)!rr(s)&&i[s]==null&&delete r[s]},Qe=kp;function Fp(e){return Np(e)}function Np(e,t){const o=Rn();o.__VUE__=!0;const{insert:n,remove:r,patchProp:a,createElement:i,createText:s,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:C=bt,insertStaticContent:A}=e,v=(g,b,m,E=null,I=null,k=null,K=void 0,B=null,d=!!b.dynamicChildren)=>{if(g===b)return;g&&!sn(g,b)&&(E=q(g),_e(g,I,k,!0),g=null),b.patchFlag===-2&&(d=!1,b.dynamicChildren=null);const{type:p,ref:T,shapeFlag:R}=b;switch(p){case an:z(g,b,m,E);break;case kt:x(g,b,m,E);break;case lr:g==null&&y(b,m,E,K);break;case at:H(g,b,m,E,I,k,K,B,d);break;default:R&1?w(g,b,m,E,I,k,K,B,d):R&6?J(g,b,m,E,I,k,K,B,d):(R&64||R&128)&&p.process(g,b,m,E,I,k,K,B,d,Z)}T!=null&&I?Qo(T,g&&g.ref,k,b||g,!b):T==null&&g&&g.ref!=null&&Qo(g.ref,null,k,g,!0)},z=(g,b,m,E)=>{if(g==null)n(b.el=s(b.children),m,E);else{const I=b.el=g.el;b.children!==g.children&&c(I,b.children)}},x=(g,b,m,E)=>{g==null?n(b.el=l(b.children||""),m,E):b.el=g.el},y=(g,b,m,E)=>{[g.el,g.anchor]=A(g.children,b,m,E,g.el,g.anchor)},_=({el:g,anchor:b},m,E)=>{let I;for(;g&&g!==b;)I=h(g),n(g,m,E),g=I;n(b,m,E)},$=({el:g,anchor:b})=>{let m;for(;g&&g!==b;)m=h(g),r(g),g=m;r(b)},w=(g,b,m,E,I,k,K,B,d)=>{if(b.type==="svg"?K="svg":b.type==="math"&&(K="mathml"),g==null)L(b,m,E,I,k,K,B,d);else{const p=g.el&&g.el._isVueCE?g.el:null;try{p&&p._beginPatch(),M(g,b,I,k,K,B,d)}finally{p&&p._endPatch()}}},L=(g,b,m,E,I,k,K,B)=>{let d,p;const{props:T,shapeFlag:R,transition:Y,dirs:G}=g;if(d=g.el=i(g.type,k,T&&T.is,T),R&8?u(d,g.children):R&16&&O(g.children,d,null,E,I,sr(g,k),K,B),G&&co(g,null,E,"created"),N(d,g,g.scopeId,K,E),T){for(const F in T)F!=="value"&&!Uo(F)&&a(d,F,null,T[F],k,E);"value"in T&&a(d,"value",null,T.value,k),(p=T.onVnodeBeforeMount)&&wt(p,E,g)}G&&co(g,null,E,"beforeMount");const P=Mp(I,Y);P&&Y.beforeEnter(d),n(d,b,m),((p=T&&T.onVnodeMounted)||P||G)&&Qe(()=>{try{p&&wt(p,E,g),P&&Y.enter(d),G&&co(g,null,E,"mounted")}finally{}},I)},N=(g,b,m,E,I)=>{if(m&&C(g,m),E)for(let k=0;k{for(let p=d;p{const B=b.el=g.el;let{patchFlag:d,dynamicChildren:p,dirs:T}=b;d|=g.patchFlag&16;const R=g.props||Te,Y=b.props||Te;let G;if(m&&po(m,!1),(G=Y.onVnodeBeforeUpdate)&&wt(G,m,b,g),T&&co(b,g,m,"beforeUpdate"),m&&po(m,!0),p&&(!g.dynamicChildren||g.dynamicChildren.length!==p.length)&&(d=0,K=!1,p=null),(R.innerHTML&&Y.innerHTML==null||R.textContent&&Y.textContent==null)&&u(B,""),p?Q(g.dynamicChildren,p,B,m,E,sr(b,I),k):K||W(g,b,B,null,m,E,sr(b,I),k,!1),d>0){if(d&16)de(B,R,Y,m,I);else if(d&2&&R.class!==Y.class&&a(B,"class",null,Y.class,I),d&4&&a(B,"style",R.style,Y.style,I),d&8){const P=b.dynamicProps;for(let F=0;F{G&&wt(G,m,b,g),T&&co(b,g,m,"updated")},E)},Q=(g,b,m,E,I,k,K)=>{for(let B=0;B{if(b!==m){if(b!==Te)for(const k in b)!Uo(k)&&!(k in m)&&a(g,k,b[k],null,I,E);for(const k in m){if(Uo(k))continue;const K=m[k],B=b[k];K!==B&&k!=="value"&&a(g,k,B,K,I,E)}"value"in m&&a(g,"value",b.value,m.value,I)}},H=(g,b,m,E,I,k,K,B,d)=>{const p=b.el=g?g.el:s(""),T=b.anchor=g?g.anchor:s("");let{patchFlag:R,dynamicChildren:Y,slotScopeIds:G}=b;G&&(B=B?B.concat(G):G),g==null?(n(p,m,E),n(T,m,E),O(b.children||[],m,T,I,k,K,B,d)):R>0&&R&64&&Y&&g.dynamicChildren&&g.dynamicChildren.length===Y.length?(Q(g.dynamicChildren,Y,m,I,k,K,B),(b.key!=null||I&&b===I.subTree)&&ks(g,b,!0)):W(g,b,m,T,I,k,K,B,d)},J=(g,b,m,E,I,k,K,B,d)=>{b.slotScopeIds=B,g==null?b.shapeFlag&512?I.ctx.activate(b,m,E,K,d):he(b,m,E,I,k,K,d):ge(g,b,d)},he=(g,b,m,E,I,k,K)=>{const B=g.component=Wp(g,E,I);if(Yn(g)&&(B.ctx.renderer=Z),Up(B,!1,K),B.asyncDep){if(I&&I.registerDep(B,se,K),!g.el){const d=B.subTree=Ie(kt);x(null,d,b,m),g.placeholder=d.el}}else se(B,g,b,m,I,k,K)},ge=(g,b,m)=>{const E=b.component=g.component;if(Tp(g,b,m))if(E.asyncDep&&!E.asyncResolved){V(E,b,m);return}else E.next=b,E.update();else b.el=g.el,E.vnode=b},se=(g,b,m,E,I,k,K)=>{const B=()=>{if(g.isMounted){let{next:R,bu:Y,u:G,parent:P,vnode:F}=g;{const Be=xs(g);if(Be){R&&(R.el=F.el,V(g,R,K)),Be.asyncDep.then(()=>{Qe(()=>{g.isUnmounted||p()},I)});return}}let oe=R,ue;po(g,!1),R?(R.el=F.el,V(g,R,K)):R=F,Y&&Oa(Y),(ue=R.props&&R.props.onVnodeBeforeUpdate)&&wt(ue,P,R,F),po(g,!0);const Ae=Ts(g),Ze=g.subTree;g.subTree=Ae,v(Ze,Ae,f(Ze.el),q(Ze),g,I,k),R.el=Ae.el,oe===null&&Pp(g,Ae.el),G&&Qe(G,I),(ue=R.props&&R.props.onVnodeUpdated)&&Qe(()=>wt(ue,P,R,F),I)}else{let R;const{el:Y,props:G}=b,{bm:P,m:F,parent:oe,root:ue,type:Ae}=g,Ze=en(b);po(g,!1),P&&Oa(P),!Ze&&(R=G&&G.onVnodeBeforeMount)&&wt(R,oe,b),po(g,!0);{ue.ce&&ue.ce._hasShadowRoot()&&ue.ce._injectChildStyle(Ae,g.parent?g.parent.type:void 0);const Be=g.subTree=Ts(g);v(null,Be,m,E,g,I,k),b.el=Be.el}if(F&&Qe(F,I),!Ze&&(R=G&&G.onVnodeMounted)){const Be=b;Qe(()=>wt(R,oe,Be),I)}(b.shapeFlag&256||oe&&en(oe.vnode)&&oe.vnode.shapeFlag&256)&&g.a&&Qe(g.a,I),g.isMounted=!0,b=m=E=null}};g.scope.on();const d=g.effect=new Fi(B);g.scope.off();const p=g.update=d.run.bind(d),T=g.job=d.runIfDirty.bind(d);T.i=g,T.id=g.uid,d.scheduler=()=>qa(T),po(g,!0),p()},V=(g,b,m)=>{b.component=g;const E=g.vnode.props;g.vnode=b,g.next=null,Sp(g,b.props,E,m),Rp(g,b.children,m),$t(),es(g),yt()},W=(g,b,m,E,I,k,K,B,d=!1)=>{const p=g&&g.children,T=g?g.shapeFlag:0,R=b.children,{patchFlag:Y,shapeFlag:G}=b;if(Y>0){if(Y&128){pe(p,R,m,E,I,k,K,B,d);return}else if(Y&256){te(p,R,m,E,I,k,K,B,d);return}}G&8?(T&16&&U(p,I,k),R!==p&&u(m,R)):T&16?G&16?pe(p,R,m,E,I,k,K,B,d):U(p,I,k,!0):(T&8&&u(m,""),G&16&&O(R,m,E,I,k,K,B,d))},te=(g,b,m,E,I,k,K,B,d)=>{g=g||_o,b=b||_o;const p=g.length,T=b.length,R=Math.min(p,T);let Y;for(Y=0;YT?U(g,I,k,!0,!1,R):O(b,m,E,I,k,K,B,d,R)},pe=(g,b,m,E,I,k,K,B,d)=>{let p=0;const T=b.length;let R=g.length-1,Y=T-1;for(;p<=R&&p<=Y;){const G=g[p],P=b[p]=d?xt(b[p]):Pt(b[p]);if(sn(G,P))v(G,P,m,null,I,k,K,B,d);else break;p++}for(;p<=R&&p<=Y;){const G=g[R],P=b[Y]=d?xt(b[Y]):Pt(b[Y]);if(sn(G,P))v(G,P,m,null,I,k,K,B,d);else break;R--,Y--}if(p>R){if(p<=Y){const G=Y+1,P=GY)for(;p<=R;)_e(g[p],I,k,!0),p++;else{const G=p,P=p,F=new Map;for(p=P;p<=Y;p++){const st=b[p]=d?xt(b[p]):Pt(b[p]);st.key!=null&&F.set(st.key,p)}let oe,ue=0;const Ae=Y-P+1;let Ze=!1,Be=0;const bo=new Array(Ae);for(p=0;p=Ae){_e(st,I,k,!0);continue}let Et;if(st.key!=null)Et=F.get(st.key);else for(oe=P;oe<=Y;oe++)if(bo[oe-P]===0&&sn(st,b[oe])){Et=oe;break}Et===void 0?_e(st,I,k,!0):(bo[Et-P]=p+1,Et>=Be?Be=Et:Ze=!0,v(st,b[Et],m,null,I,k,K,B,d),ue++)}const bi=Ze?Op(bo):_o;for(oe=bi.length-1,p=Ae-1;p>=0;p--){const st=P+p,Et=b[st],Ku=b[st+1],Yu=st+1{const{el:k,type:K,transition:B,children:d,shapeFlag:p}=g;if(p&6){ce(g.component.subTree,b,m,E);return}if(p&128){g.suspense.move(b,m,E);return}if(p&64){K.move(g,b,m,Z);return}if(K===at){n(k,b,m);for(let R=0;RB.enter(k),I));else{const{leave:R,delayLeave:Y,afterLeave:G}=B,P=()=>{g.ctx.isUnmounted?r(k):n(k,b,m)},F=()=>{const oe=k._isLeaving||!!k[Ja];k._isLeaving&&k[Ja](!0),B.persisted&&!oe?P():R(k,()=>{P(),G&&G()})};Y?Y(k,P,F):F()}else n(k,b,m)},_e=(g,b,m,E=!1,I=!1)=>{const{type:k,props:K,ref:B,children:d,dynamicChildren:p,shapeFlag:T,patchFlag:R,dirs:Y,cacheIndex:G,memo:P}=g;if(R===-2&&(I=!1),B!=null&&($t(),Qo(B,null,m,g,!0),yt()),G!=null&&(b.renderCache[G]=void 0),T&256){b.ctx.deactivate(g);return}const F=T&1&&Y,oe=!en(g);let ue;if(oe&&(ue=K&&K.onVnodeBeforeUnmount)&&wt(ue,b,g),T&6)D(g.component,m,E);else{if(T&128){g.suspense.unmount(m,E);return}F&&co(g,null,b,"beforeUnmount"),T&64?g.type.remove(g,b,m,Z,E):p&&!p.hasOnce&&(k!==at||R>0&&R&64)?U(p,b,m,!1,!0):(k===at&&R&384||!I&&T&16)&&U(d,b,m),E&&Re(g)}const Ae=P!=null&&G==null;(oe&&(ue=K&&K.onVnodeUnmounted)||F||Ae)&&Qe(()=>{ue&&wt(ue,b,g),F&&co(g,null,b,"unmounted"),Ae&&(g.el=null)},m)},Re=g=>{const{type:b,el:m,anchor:E,transition:I}=g;if(b===at){S(m,E);return}if(b===lr){$(g);return}const k=()=>{r(m),I&&!I.persisted&&I.afterLeave&&I.afterLeave()};if(g.shapeFlag&1&&I&&!I.persisted){const{leave:K,delayLeave:B}=I,d=()=>K(m,k);B?B(g.el,k,d):d()}else k()},S=(g,b)=>{let m;for(;g!==b;)m=h(g),r(g),g=m;r(b)},D=(g,b,m)=>{const{bum:E,scope:I,job:k,subTree:K,um:B,m:d,a:p}=g;Is(d),Is(p),E&&Oa(E),I.stop(),k&&(k.flags|=8,_e(K,g,b,m)),B&&Qe(B,b),Qe(()=>{g.isUnmounted=!0},b)},U=(g,b,m,E=!1,I=!1,k=0)=>{for(let K=k;K{if(g.shapeFlag&6)return q(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const b=h(g.anchor||g.el),m=b&&b[qd];return m?h(m):b};let ee=!1;const j=(g,b,m)=>{let E;g==null?b._vnode&&(_e(b._vnode,null,null,!0),E=b._vnode.component):v(b._vnode||null,g,b,null,null,null,m),b._vnode=g,ee||(ee=!0,es(E),ts(),ee=!1)},Z={p:v,um:_e,m:ce,r:Re,mt:he,mc:O,pc:W,pbc:Q,n:q,o:e};return{render:j,hydrate:void 0,createApp:bp(j)}}function sr({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 Mp(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ks(e,t,o=!1){const n=e.children,r=t.children;if(ae(n)&&ae(r))for(let a=0;a>1,e[o[s]]0&&(t[n]=o[a-1]),o[a]=n)}}for(a=o.length,i=o[a-1];a-- >0;)o[a]=i,i=t[i];return o}function xs(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:xs(t)}function Is(e){if(e)for(let t=0;te.__isSuspense;function kp(e,t){t&&t.pendingBranch?ae(e)?t.effects.push(...e):t.effects.push(e):Ud(e)}const at=Symbol.for("v-fgt"),an=Symbol.for("v-txt"),kt=Symbol.for("v-cmt"),lr=Symbol.for("v-stc"),go=[];let rt=null;function xe(e=!1){go.push(rt=e?null:[])}function zs(){go.pop(),rt=go[go.length-1]||null}let rn=1;function Qn(e,t=!1){rn+=e,e<0&&rt&&t&&(rt.hasOnce=!0)}function Ws(e){return e.dynamicChildren=rn>0?rt||_o:null,zs(),rn>0&&rt&&rt.push(e),e}function it(e,t,o,n,r,a){return Ws(Se(e,t,o,n,r,a,!0))}function So(e,t,o,n,r){return Ws(Ie(e,t,o,n,r,!0))}function ea(e){return e?e.__v_isVNode===!0:!1}function sn(e,t){return e.type===t.type&&e.key===t.key}const Us=({key:e})=>e??null,ta=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Fe(e)||Ne(e)||ie(e)?{i:nt,r:e,k:t,f:!!o}:e:null);function Se(e,t=null,o=null,n=0,r=null,a=e===at?0:1,i=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Us(t),ref:t&&ta(t),scopeId:ns,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:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:nt};return s?(oa(l,o),a&128&&e.normalize(l)):o&&(l.shapeFlag|=Fe(o)?8:16),rn>0&&!i&&rt&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&rt.push(l),l}const Ie=xp;function xp(e,t=null,o=null,n=0,r=null,a=!1){if((!e||e===ps)&&(e=kt),ea(e)){const s=Lo(e,t,!0);return o&&oa(s,o),rn>0&&!a&&rt&&(s.shapeFlag&6?rt[rt.indexOf(e)]=s:rt.push(s)),s.patchFlag=-2,s}if(Yp(e)&&(e=e.__vccOpts),t){t=Ip(t);let{class:s,style:l}=t;s&&!Fe(s)&&(t.class=$o(s)),ve(l)&&(Hn(l)&&!ae(l)&&(l=Me({},l)),t.style=io(l))}const i=Fe(e)?1:Hs(e)?128:Vn(e)?64:ve(e)?4:ie(e)?2:0;return Se(e,t,o,n,r,i,a,!0)}function Ip(e){return e?Hn(e)||As(e)?Me({},e):e:null}function Lo(e,t,o=!1,n=!1){const{props:r,ref:a,patchFlag:i,children:s,transition:l}=e,c=t?Dp(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Us(c),ref:t&&t.ref?o&&a?ae(a)?a.concat(ta(t)):[a,ta(t)]:ta(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==at?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Lo(e.ssContent),ssFallback:e.ssFallback&&Lo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Za(u,l.clone(u)),u}function et(e=" ",t=0){return Ie(an,null,e,t)}function qt(e="",t=!1){return t?(xe(),So(kt,null,e)):Ie(kt,null,e)}function Pt(e){return e==null||typeof e=="boolean"?Ie(kt):ae(e)?Ie(at,null,e.slice()):ea(e)?xt(e):Ie(an,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Lo(e)}function oa(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ae(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),oa(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!As(t)?t._ctx=nt:r===3&&nt&&(nt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ie(t)){if(n&65){oa(e,{default:t});return}t={default:t,_ctx:nt},o=32}else t=String(t),n&64?(o=16,t=[et(t)]):o=8;e.children=t,e.shapeFlag|=o}function Dp(...e){const t={};for(let o=0;oWe||nt;let na,ln;{const e=Rn(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),a=>{r.length>1?r.forEach(i=>i(a)):r[0](a)}};na=t("__VUE_INSTANCE_SETTERS__",o=>We=o),ln=t("__VUE_SSR_SETTERS__",o=>Ao=o)}const cn=e=>{const t=We;return na(e),e.scope.on(),()=>{e.scope.off(),na(t)}},Bs=()=>{We&&We.scope.off(),na(null)};function Gs(e){return e.vnode.shapeFlag&4}let Ao=!1;function Up(e,t=!1,o=!1){t&&ln(t);const{props:n,children:r}=e.vnode,a=Gs(e);wp(e,n,a,t),Ep(e,r,o||t);const i=a?Bp(e,t):void 0;return t&&ln(!1),i}function Bp(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,up);const{setup:n}=o;if(n){$t();const r=e.setupContext=n.length>1?Vp(e):null,a=cn(e),i=vo(n,e,0,[e.props,r]),s=yi(i);if(yt(),a(),(s||e.sp)&&!en(e)&&Qa(e),s){if(i.then(Bs,Bs),t)return i.then(l=>{ln(!0);try{Vs(e,l,t)}finally{ln(!1)}}).catch(l=>{Jo(l,e,0)});e.asyncDep=i}else Vs(e,i)}else js(e)}function Vs(e,t,o){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ve(t)&&(e.setupState=Xi(t)),js(e)}function js(e,t,o){const n=e.type;e.render||(e.render=n.render||bt);{const r=cn(e);$t();try{dp(e)}finally{yt(),r()}}}const Gp={get(e,t){return Ge(e,"get",""),e[t]}};function Vp(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Gp),slots:e.slots,emit:e.emit,expose:t}}function aa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xi(Yo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in on)return on[o](e)},has(t,o){return o in t||o in on}})):e.proxy}const jp=/(?:^|[-_])\w/g,Kp=e=>e.replace(jp,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ks(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function Ys(e,t,o=!1){let n=Ks(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=a=>{for(const i in a)if(a[i]===t)return i};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Kp(n):o?"App":"Anonymous"}function Yp(e){return ie(e)&&"__vccOpts"in e}const re=(e,t)=>Md(e,t,Ao);function fo(e,t,o){try{Qn(-1);const n=arguments.length;return n===2?ve(t)&&!ae(t)?ea(t)?Ie(e,null,[t]):Ie(e,t):Ie(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&ea(o)&&(o=[o]),Ie(e,t,o))}finally{Qn(1)}}const qp="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let cr;const qs=typeof window<"u"&&window.trustedTypes;if(qs)try{cr=qs.createPolicy("vue",{createHTML:e=>e})}catch{}const Xs=cr?e=>cr.createHTML(e):e=>e,Xp="http://www.w3.org/2000/svg",Jp="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,Js=It&&It.createElement("template"),Zp={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 r=t==="svg"?It.createElementNS(Xp,e):t==="mathml"?It.createElementNS(Jp,e):o?It.createElement(e,{is:o}):It.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,a){const i=o?o.previousSibling:t.lastChild;if(r&&(r===a||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===a||!(r=r.nextSibling)););else{Js.innerHTML=Xs(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const s=Js.content;if(n==="svg"||n==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,o)}return[i?i.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Qp=Symbol("_vtc");function ef(e,t,o){const n=e[Qp];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const ra=Symbol("_vod"),Zs=Symbol("_vsh"),tf={name:"show",beforeMount(e,{value:t},{transition:o}){e[ra]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):un(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),un(e,!0),n.enter(e)):n.leave(e,()=>{un(e,!1)}):un(e,t))},beforeUnmount(e,{value:t}){un(e,t)}};function un(e,t){e.style.display=t?e[ra]:"none",e[Zs]=!t}const of=Symbol(""),nf=/(?:^|;)\s*display\s*:/;function af(e,t,o){const n=e.style,r=Fe(o);let a=!1;if(o&&!r){if(t)if(Fe(t))for(const i of t.split(";")){const s=i.slice(0,i.indexOf(":")).trim();o[s]==null&&dn(n,s,"")}else for(const i in t)o[i]==null&&dn(n,i,"");for(const i in o){i==="display"&&(a=!0);const s=o[i];s!=null?sf(e,i,!Fe(t)&&t?t[i]:void 0,s)||dn(n,i,s):dn(n,i,"")}}else if(r){if(t!==o){const i=n[of];i&&(o+=";"+i),n.cssText=o,a=nf.test(o)}}else t&&e.removeAttribute("style");ra in e&&(e[ra]=a?n.display:"",e[Zs]&&(n.display="none"))}const ia=/\s*!important$/;function dn(e,t,o){if(re(o))o.forEach(n=>dn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))ia.test(o)?e.setProperty(t,o.replace(ia,""),"important"):e.setProperty(t,o);else{const n=rf(e,t);ia.test(o)?e.setProperty(ct(n),o.replace(ia,""),"important"):e[n]=o}}const Qs=["Webkit","Moz","ms"],ur={};function rf(e,t){const o=ur[t];if(o)return o;let n=He(t);if(n!=="filter"&&n in e)return ur[t]=n;n=En(n);for(let r=0;rdr||(gf.then(()=>dr=0),dr=Date.now());function hf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(re(r)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const i=r.slice(),s=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bf=(e,t,o,n,r,a)=>{const i=r==="svg";t==="class"?ef(e,n,i):t==="style"?af(e,o,n):Tn(t)?Pn(t)||uf(e,t,o,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):_f(e,t,n,i))?(ol(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&tl(e,t,n,i,a,t!=="value")):e._isVueCE&&($f(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Fe(n)))?ol(e,He(t),n,a,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),tl(e,t,n,i))};function _f(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&al(t)&&se(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return al(t)&&Fe(o)?!1:t in e}function $f(e,t){const o=e._def.props;if(!o)return!1;const n=He(t);return Array.isArray(o)?o.some(r=>He(r)===n):Object.keys(o).some(r=>He(r)===n)}const rl={};function yf(e,t,o){let n=Yt(e,t);Sn(n)&&(n=Me({},n,t));class r extends pr{constructor(i){super(n,i,o)}}return r.def=n,r}const vf=typeof HTMLElement<"u"?HTMLElement:class{};class pr extends vf{constructor(t,o={},n=ll){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!==ll?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Me({},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 pr){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,Po(()=>{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:a,styles:i}=n;let s;if(a&&!re(a))for(const l in a){const c=a[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ti(this._props[l])),(s||(s=Object.create(null)))[He(l)]=!0)}this._numberProps=s,this._resolveProps(n),this.shadowRoot&&this._applyStyles(i),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)ye(this,n)||Object.defineProperty(this,n,{get:()=>je(o[n])})}_resolveProps(t){const{props:o}=t,n=re(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(He))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(a){this._setProp(r,a,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):rl;const r=He(t);o&&this._numberProps&&this._numberProps[r]&&(n=Ti(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===rl?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const a=this._ob;a&&(this._processMutations(a.takeRecords()),a.disconnect()),o===!0?this.setAttribute(ct(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(ct(t),o+""):o||this.removeAttribute(ct(t)),a&&a.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Pf(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ie(this._def,Me(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(a,i)=>{this.dispatchEvent(new CustomEvent(a,Sn(i[0])?Me({detail:i},i[0]):{detail:i}))};n.emit=(a,...i)=>{r(a,i),ct(a)!==a&&r(ct(a),i)},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 r=this._nonce,a=this.shadowRoot,i=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(a);let s=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],a.insertBefore(c,s||i),s=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{sl().render(...e)},ll=(...e)=>{const t=sl().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=Sf(n);if(!r)return;const a=t._component;!se(a)&&!a.render&&!a.template&&(a.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=o(r,!1,wf(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function wf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Sf(e){return Fe(e)?document.querySelector(e):e}/*! +**/let cr;const qs=typeof window<"u"&&window.trustedTypes;if(qs)try{cr=qs.createPolicy("vue",{createHTML:e=>e})}catch{}const Xs=cr?e=>cr.createHTML(e):e=>e,Xp="http://www.w3.org/2000/svg",Jp="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,Js=It&&It.createElement("template"),Zp={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 r=t==="svg"?It.createElementNS(Xp,e):t==="mathml"?It.createElementNS(Jp,e):o?It.createElement(e,{is:o}):It.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,a){const i=o?o.previousSibling:t.lastChild;if(r&&(r===a||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===a||!(r=r.nextSibling)););else{Js.innerHTML=Xs(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const s=Js.content;if(n==="svg"||n==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,o)}return[i?i.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Qp=Symbol("_vtc");function eg(e,t,o){const n=e[Qp];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const ra=Symbol("_vod"),Zs=Symbol("_vsh"),tg={name:"show",beforeMount(e,{value:t},{transition:o}){e[ra]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):un(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),un(e,!0),n.enter(e)):n.leave(e,()=>{un(e,!1)}):un(e,t))},beforeUnmount(e,{value:t}){un(e,t)}};function un(e,t){e.style.display=t?e[ra]:"none",e[Zs]=!t}const og=Symbol(""),ng=/(?:^|;)\s*display\s*:/;function ag(e,t,o){const n=e.style,r=Fe(o);let a=!1;if(o&&!r){if(t)if(Fe(t))for(const i of t.split(";")){const s=i.slice(0,i.indexOf(":")).trim();o[s]==null&&dn(n,s,"")}else for(const i in t)o[i]==null&&dn(n,i,"");for(const i in o){i==="display"&&(a=!0);const s=o[i];s!=null?ig(e,i,!Fe(t)&&t?t[i]:void 0,s)||dn(n,i,s):dn(n,i,"")}}else if(r){if(t!==o){const i=n[og];i&&(o+=";"+i),n.cssText=o,a=ng.test(o)}}else t&&e.removeAttribute("style");ra in e&&(e[ra]=a?n.display:"",e[Zs]&&(n.display="none"))}const ia=/\s*!important$/;function dn(e,t,o){if(ae(o))o.forEach(n=>dn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))ia.test(o)?e.setProperty(t,o.replace(ia,""),"important"):e.setProperty(t,o);else{const n=rg(e,t);ia.test(o)?e.setProperty(ct(n),o.replace(ia,""),"important"):e[n]=o}}const Qs=["Webkit","Moz","ms"],ur={};function rg(e,t){const o=ur[t];if(o)return o;let n=He(t);if(n!=="filter"&&n in e)return ur[t]=n;n=En(n);for(let r=0;rdr||(gg.then(()=>dr=0),dr=Date.now());function mg(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(ae(r)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const i=r.slice(),s=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hg=(e,t,o,n,r,a)=>{const i=r==="svg";t==="class"?eg(e,n,i):t==="style"?ag(e,o,n):Tn(t)?Pn(t)||cg(e,t,o,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):bg(e,t,n,i))?(ol(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&tl(e,t,n,i,a,t!=="value")):e._isVueCE&&(_g(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Fe(n)))?ol(e,He(t),n,a,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),tl(e,t,n,i))};function bg(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&al(t)&&ie(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return al(t)&&Fe(o)?!1:t in e}function _g(e,t){const o=e._def.props;if(!o)return!1;const n=He(t);return Array.isArray(o)?o.some(r=>He(r)===n):Object.keys(o).some(r=>He(r)===n)}const rl={};function $g(e,t,o){let n=Yt(e,t);Sn(n)&&(n=Me({},n,t));class r extends pr{constructor(i){super(n,i,o)}}return r.def=n,r}const yg=typeof HTMLElement<"u"?HTMLElement:class{};class pr extends yg{constructor(t,o={},n=ll){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!==ll?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Me({},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 pr){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,Po(()=>{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:a,styles:i}=n;let s;if(a&&!ae(a))for(const l in a){const c=a[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ti(this._props[l])),(s||(s=Object.create(null)))[He(l)]=!0)}this._numberProps=s,this._resolveProps(n),this.shadowRoot&&this._applyStyles(i),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)ye(this,n)||Object.defineProperty(this,n,{get:()=>je(o[n])})}_resolveProps(t){const{props:o}=t,n=ae(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(He))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(a){this._setProp(r,a,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):rl;const r=He(t);o&&this._numberProps&&this._numberProps[r]&&(n=Ti(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===rl?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const a=this._ob;a&&(this._processMutations(a.takeRecords()),a.disconnect()),o===!0?this.setAttribute(ct(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(ct(t),o+""):o||this.removeAttribute(ct(t)),a&&a.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Tg(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ie(this._def,Me(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(a,i)=>{this.dispatchEvent(new CustomEvent(a,Sn(i[0])?Me({detail:i},i[0]):{detail:i}))};n.emit=(a,...i)=>{r(a,i),ct(a)!==a&&r(ct(a),i)},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 r=this._nonce,a=this.shadowRoot,i=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(a);let s=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],a.insertBefore(c,s||i),s=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{sl().render(...e)},ll=(...e)=>{const t=sl().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=wg(n);if(!r)return;const a=t._component;!ie(a)&&!a.render&&!a.template&&(a.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=o(r,!1,Pg(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function Pg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function wg(e){return Fe(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let cl;const sa=e=>cl=e,ul=Symbol();function fr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var pn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(pn||(pn={}));function Lf(){const e=Nn(!0),t=e.run(()=>Pe({}));let o=[],n=[];const r=Yo({install(a){sa(r),r._a=a,a.provide(ul,r),a.config.globalProperties.$pinia=r,n.forEach(i=>o.push(i)),n=[]},use(a){return this._a?o.push(a):n.push(a),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const dl=()=>{};function pl(e,t,o,n=dl){e.push(t);const r=()=>{const a=e.indexOf(t);a>-1&&(e.splice(a,1),n())};return!o&&Ri()&&sd(r),r}function Eo(e,...t){e.slice().forEach(o=>{o(...t)})}const Af=e=>e(),fl=Symbol(),gr=Symbol();function mr(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],r=e[o];fr(r)&&fr(n)&&e.hasOwnProperty(o)&&!Ne(n)&&!Vt(n)?e[o]=mr(r,n):e[o]=n}return e}const Ef=Symbol();function Rf(e){return!fr(e)||!e.hasOwnProperty(Ef)}const{assign:Xt}=Object;function Ff(e){return!!(Ne(e)&&e.effect)}function Nf(e,t,o,n){const{state:r,actions:a,getters:i}=t,s=o.state.value[e];let l;function c(){s||(o.state.value[e]=r?r():{});const u=Ed(o.state.value[e]);return Xt(u,a,Object.keys(i||{}).reduce((g,h)=>(g[h]=Yo(ie(()=>{sa(o);const C=o._s.get(e);return i[h].call(C,C)})),g),{}))}return l=gl(e,c,t,o,n,!0),l}function gl(e,t,o={},n,r,a){let i;const s=Xt({actions:{}},o),l={deep:!0};let c,u,g=[],h=[],C;const A=n.state.value[e];!a&&!A&&(n.state.value[e]={});let v;function z(k){let M;c=u=!1,typeof k=="function"?(k(n.state.value[e]),M={type:pn.patchFunction,storeId:e,events:C}):(mr(n.state.value[e],k),M={type:pn.patchObject,payload:k,storeId:e,events:C});const J=v=Symbol();Po().then(()=>{v===J&&(c=!0)}),u=!0,Eo(g,M,n.state.value[e])}const D=a?function(){const{state:M}=o,J=M?M():{};this.$patch(pe=>{Xt(pe,J)})}:dl;function y(){i.stop(),g=[],h=[],n._s.delete(e)}const b=(k,M="")=>{if(fl in k)return k[gr]=M,k;const J=function(){sa(n);const pe=Array.from(arguments),O=[],te=[];function me(G){O.push(G)}function ge(G){te.push(G)}Eo(h,{args:pe,name:J[gr],store:w,after:me,onError:ge});let ce;try{ce=k.apply(this&&this.$id===e?this:w,pe)}catch(G){throw Eo(te,G),G}return ce instanceof Promise?ce.then(G=>(Eo(O,G),G)).catch(G=>(Eo(te,G),Promise.reject(G))):(Eo(O,ce),ce)};return J[fl]=!0,J[gr]=M,J},_={_p:n,$id:e,$onAction:pl.bind(null,h),$patch:z,$reset:D,$subscribe(k,M={}){const J=pl(g,k,M.detached,()=>pe()),pe=i.run(()=>Ye(()=>n.state.value[e],O=>{(M.flush==="sync"?u:c)&&k({storeId:e,type:pn.direct,events:C},O)},Xt({},l,M)));return J},$dispose:y},w=In(_);n._s.set(e,w);const N=(n._a&&n._a.runWithContext||Af)(()=>n._e.run(()=>(i=Nn()).run(()=>t({action:b}))));for(const k in N){const M=N[k];if(Ne(M)&&!Ff(M)||Vt(M))a||(A&&Rf(M)&&(Ne(M)?M.value=A[k]:mr(M,A[k])),n.state.value[e][k]=M);else if(typeof M=="function"){const J=b(M,k);N[k]=J,s.actions[k]=M}}return Xt(w,N),Xt(be(w),N),Object.defineProperty(w,"$state",{get:()=>n.state.value[e],set:k=>{z(M=>{Xt(M,k)})}}),n._p.forEach(k=>{Xt(w,i.run(()=>k({store:w,app:n._a,pinia:n,options:s})))}),A&&a&&o.hydrate&&o.hydrate(w.$state,A),c=!0,u=!0,w}/*! #__NO_SIDE_EFFECTS__ */function hr(e,t,o){let n,r;const a=typeof t=="function";typeof e=="string"?(n=e,r=a?o:t):(r=e,n=e.id);function i(s,l){const c=Vd();return s=s||(c?Ve(ul,null):null),s&&sa(s),s=cl,s._s.has(n)||(a?gl(n,t,r,s):Nf(n,r,s)),s._s.get(n)}return i.$id=n,i}const br="__doxaMapToken",_r="doxa:map-token",ml="__doxaMapTokenBridge",Ro=()=>{if(typeof window>"u")return"";const e=window[br];return typeof e=="string"?e:""};function $r(e){if(typeof window>"u")return"";hl();const t=typeof e=="string"?e.trim():"";if(!t||t===Ro())return Ro();window[br]=t;try{window.dispatchEvent(new CustomEvent(_r,{detail:t}))}catch{}return t}function hl(){var t;if(typeof window>"u"||window[ml]&&((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Ro()&&(window[br]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Ro()},set(o){$r(o)}}),window[ml]=!0}catch{}}function Mf(){hl();const e=Pe(Ro());if(typeof window<"u"){const t=()=>{e.value=Ro()};window.addEventListener(_r,t);try{tn(()=>window.removeEventListener(_r,t))}catch{}}return e}function Of(e){if(typeof window>"u"||!/^https?:\/\//i.test(String(e||"")))return Promise.resolve("");const t=window.__doxaMapTokenFetches=window.__doxaMapTokenFetches||{};if(t[e])return t[e];const o=fetch(e).then(n=>{if(!n.ok)throw new Error("HTTP "+n.status);return(n.headers.get("content-type")||"").includes("json")?n.json():n.text()}).then(n=>{const r=String((typeof n=="string"?n:n&&(n.token||n.tk||n.accessToken))||"").trim();return r.startsWith("pk.")?($r(r),r):""}).catch(n=>(console.warn(`[map token] ${e}: ${n&&n.message?n.message:n}`),"")).finally(()=>{window.__doxaMapTokenPending===o&&(window.__doxaMapTokenPending=null)});return window.__doxaMapTokenPending=o,t[e]=o,o}/*! + */let cl;const sa=e=>cl=e,ul=Symbol();function gr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var pn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(pn||(pn={}));function Sg(){const e=Nn(!0),t=e.run(()=>Pe({}));let o=[],n=[];const r=Yo({install(a){sa(r),r._a=a,a.provide(ul,r),a.config.globalProperties.$pinia=r,n.forEach(i=>o.push(i)),n=[]},use(a){return this._a?o.push(a):n.push(a),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const dl=()=>{};function pl(e,t,o,n=dl){e.push(t);const r=()=>{const a=e.indexOf(t);a>-1&&(e.splice(a,1),n())};return!o&&Ri()&&sd(r),r}function Eo(e,...t){e.slice().forEach(o=>{o(...t)})}const Lg=e=>e(),gl=Symbol(),fr=Symbol();function mr(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],r=e[o];gr(r)&&gr(n)&&e.hasOwnProperty(o)&&!Ne(n)&&!Vt(n)?e[o]=mr(r,n):e[o]=n}return e}const Ag=Symbol();function Eg(e){return!gr(e)||!e.hasOwnProperty(Ag)}const{assign:Xt}=Object;function Rg(e){return!!(Ne(e)&&e.effect)}function Fg(e,t,o,n){const{state:r,actions:a,getters:i}=t,s=o.state.value[e];let l;function c(){s||(o.state.value[e]=r?r():{});const u=Ed(o.state.value[e]);return Xt(u,a,Object.keys(i||{}).reduce((f,h)=>(f[h]=Yo(re(()=>{sa(o);const C=o._s.get(e);return i[h].call(C,C)})),f),{}))}return l=fl(e,c,t,o,n,!0),l}function fl(e,t,o={},n,r,a){let i;const s=Xt({actions:{}},o),l={deep:!0};let c,u,f=[],h=[],C;const A=n.state.value[e];!a&&!A&&(n.state.value[e]={});let v;function z(O){let M;c=u=!1,typeof O=="function"?(O(n.state.value[e]),M={type:pn.patchFunction,storeId:e,events:C}):(mr(n.state.value[e],O),M={type:pn.patchObject,payload:O,storeId:e,events:C});const Q=v=Symbol();Po().then(()=>{v===Q&&(c=!0)}),u=!0,Eo(f,M,n.state.value[e])}const x=a?function(){const{state:M}=o,Q=M?M():{};this.$patch(de=>{Xt(de,Q)})}:dl;function y(){i.stop(),f=[],h=[],n._s.delete(e)}const _=(O,M="")=>{if(gl in O)return O[fr]=M,O;const Q=function(){sa(n);const de=Array.from(arguments),H=[],J=[];function he(V){H.push(V)}function ge(V){J.push(V)}Eo(h,{args:de,name:Q[fr],store:w,after:he,onError:ge});let se;try{se=O.apply(this&&this.$id===e?this:w,de)}catch(V){throw Eo(J,V),V}return se instanceof Promise?se.then(V=>(Eo(H,V),V)).catch(V=>(Eo(J,V),Promise.reject(V))):(Eo(H,se),se)};return Q[gl]=!0,Q[fr]=M,Q},$={_p:n,$id:e,$onAction:pl.bind(null,h),$patch:z,$reset:x,$subscribe(O,M={}){const Q=pl(f,O,M.detached,()=>de()),de=i.run(()=>Ye(()=>n.state.value[e],H=>{(M.flush==="sync"?u:c)&&O({storeId:e,type:pn.direct,events:C},H)},Xt({},l,M)));return Q},$dispose:y},w=In($);n._s.set(e,w);const N=(n._a&&n._a.runWithContext||Lg)(()=>n._e.run(()=>(i=Nn()).run(()=>t({action:_}))));for(const O in N){const M=N[O];if(Ne(M)&&!Rg(M)||Vt(M))a||(A&&Eg(M)&&(Ne(M)?M.value=A[O]:mr(M,A[O])),n.state.value[e][O]=M);else if(typeof M=="function"){const Q=_(M,O);N[O]=Q,s.actions[O]=M}}return Xt(w,N),Xt(be(w),N),Object.defineProperty(w,"$state",{get:()=>n.state.value[e],set:O=>{z(M=>{Xt(M,O)})}}),n._p.forEach(O=>{Xt(w,i.run(()=>O({store:w,app:n._a,pinia:n,options:s})))}),A&&a&&o.hydrate&&o.hydrate(w.$state,A),c=!0,u=!0,w}/*! #__NO_SIDE_EFFECTS__ */function hr(e,t,o){let n,r;const a=typeof t=="function";typeof e=="string"?(n=e,r=a?o:t):(r=e,n=e.id);function i(s,l){const c=Vd();return s=s||(c?Ve(ul,null):null),s&&sa(s),s=cl,s._s.has(n)||(a?fl(n,t,r,s):Fg(n,r,s)),s._s.get(n)}return i.$id=n,i}const br="__doxaMapToken",_r="doxa:map-token",ml="__doxaMapTokenBridge",Ro=()=>{if(typeof window>"u")return"";const e=window[br];return typeof e=="string"?e:""};function $r(e){if(typeof window>"u")return"";hl();const t=typeof e=="string"?e.trim():"";if(!t||t===Ro())return Ro();window[br]=t;try{window.dispatchEvent(new CustomEvent(_r,{detail:t}))}catch{}return t}function hl(){var t;if(typeof window>"u"||window[ml]&&((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Ro()&&(window[br]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Ro()},set(o){$r(o)}}),window[ml]=!0}catch{}}function Ng(){hl();const e=Pe(Ro());if(typeof window<"u"){const t=()=>{e.value=Ro()};window.addEventListener(_r,t);try{tn(()=>window.removeEventListener(_r,t))}catch{}}return e}function Mg(e){if(typeof window>"u"||!/^https?:\/\//i.test(String(e||"")))return Promise.resolve("");const t=window.__doxaMapTokenFetches=window.__doxaMapTokenFetches||{};if(t[e])return t[e];const o=fetch(e).then(n=>{if(!n.ok)throw new Error("HTTP "+n.status);return(n.headers.get("content-type")||"").includes("json")?n.json():n.text()}).then(n=>{const r=String((typeof n=="string"?n:n&&(n.token||n.tk||n.accessToken))||"").trim();return r.startsWith("pk.")?($r(r),r):""}).catch(n=>(console.warn(`[map token] ${e}: ${n&&n.message?n.message:n}`),"")).finally(()=>{window.__doxaMapTokenPending===o&&(window.__doxaMapTokenPending=null)});return window.__doxaMapTokenPending=o,t[e]=o,o}/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function kf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const la=typeof window<"u",Jt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),xf=(e,t,o)=>If({l:e,k:t,s:o}),If=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Oe=e=>typeof e=="number"&&isFinite(e),Df=e=>vl(e)==="[object Date]",Zt=e=>vl(e)==="[object RegExp]",ca=e=>le(e)&&Object.keys(e).length===0,Ue=Object.assign,Hf=Object.create,Ce=(e=null)=>Hf(e);let bl;const fn=()=>bl||(bl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ce());function _l(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function $l(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function zf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,a)=>`${r}="${$l(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,a)=>`${r}='${$l(a)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const Wf=Object.prototype.hasOwnProperty;function mt(e,t){return Wf.call(e,t)}const Re=Array.isArray,Le=e=>typeof e=="function",q=e=>typeof e=="string",he=e=>typeof e=="boolean",$e=e=>e!==null&&typeof e=="object",Uf=e=>$e(e)&&Le(e.then)&&Le(e.catch),yl=Object.prototype.toString,vl=e=>yl.call(e),le=e=>{if(!$e(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Bf=e=>e==null?"":Re(e)||le(e)&&e.toString===yl?JSON.stringify(e,null,2):String(e);function Gf(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function ua(e){let t=e;return()=>++t}const da=e=>!$e(e)||Re(e);function pa(e,t){if(da(e)||da(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(a=>{a!=="__proto__"&&($e(n[a])&&!$e(r[a])&&(r[a]=Array.isArray(n[a])?[]:Ce()),da(r[a])||da(n[a])?r[a]=n[a]:o.push({src:n[a],des:r[a]}))})}}/*! + */function Og(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const la=typeof window<"u",Jt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),kg=(e,t,o)=>xg({l:e,k:t,s:o}),xg=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Oe=e=>typeof e=="number"&&isFinite(e),Ig=e=>vl(e)==="[object Date]",Zt=e=>vl(e)==="[object RegExp]",ca=e=>le(e)&&Object.keys(e).length===0,Ue=Object.assign,Dg=Object.create,Ce=(e=null)=>Dg(e);let bl;const gn=()=>bl||(bl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ce());function _l(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function $l(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Hg(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,a)=>`${r}="${$l(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,a)=>`${r}='${$l(a)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const zg=Object.prototype.hasOwnProperty;function mt(e,t){return zg.call(e,t)}const Ee=Array.isArray,Le=e=>typeof e=="function",X=e=>typeof e=="string",me=e=>typeof e=="boolean",$e=e=>e!==null&&typeof e=="object",Wg=e=>$e(e)&&Le(e.then)&&Le(e.catch),yl=Object.prototype.toString,vl=e=>yl.call(e),le=e=>{if(!$e(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Ug=e=>e==null?"":Ee(e)||le(e)&&e.toString===yl?JSON.stringify(e,null,2):String(e);function Bg(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function ua(e){let t=e;return()=>++t}const da=e=>!$e(e)||Ee(e);function pa(e,t){if(da(e)||da(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(a=>{a!=="__proto__"&&($e(n[a])&&!$e(r[a])&&(r[a]=Array.isArray(n[a])?[]:Ce()),da(r[a])||da(n[a])?r[a]=n[a]:o.push({src:n[a],des:r[a]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Vf(e,t,o){return{line:e,column:t,offset:o}}function fa(e,t,o){return{start:e,end:t}}const jf=/\{([0-9a-zA-Z]+)\}/g;function Cl(e,...t){return t.length===1&&Kf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(jf,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Tl=Object.assign,Pl=e=>typeof e=="string",Kf=e=>e!==null&&typeof e=="object";function wl(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const yr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Yf={[yr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function qf(e,t,...o){const n=Cl(Yf[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}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},Xf={[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 Fo(e,t,o={}){const{domain:n,messages:r,args:a}=o,i=Cl((r||Xf)[e]||"",...a||[]),s=new SyntaxError(String(i));return s.code=e,t&&(s.location=t),s.domain=n,s}function Jf(e){throw e}const Dt=" ",Zf="\r",Xe=` -`,Qf="\u2028",eg="\u2029";function tg(e){const t=e;let o=0,n=1,r=1,a=0;const i=N=>t[N]===Zf&&t[N+1]===Xe,s=N=>t[N]===Xe,l=N=>t[N]===eg,c=N=>t[N]===Qf,u=N=>i(N)||s(N)||l(N)||c(N),g=()=>o,h=()=>n,C=()=>r,A=()=>a,v=N=>i(N)||l(N)||c(N)?Xe:t[N],z=()=>v(o),D=()=>v(o+a);function y(){return a=0,u(o)&&(n++,r=0),i(o)&&o++,o++,r++,t[o]}function b(){return i(o+a)&&a++,a++,t[o+a]}function _(){o=0,n=1,r=1,a=0}function w(N=0){a=N}function L(){const N=o+a;for(;N!==o;)y();a=0}return{index:g,line:h,column:C,peekOffset:A,charAt:v,currentChar:z,currentPeek:D,next:y,peek:b,reset:_,resetPeek:w,skipToPeek:L}}const Qt=void 0,og=".",Sl="'",ng="tokenizer";function ag(e,t={}){const o=t.location!==!1,n=tg(e),r=()=>n.index(),a=()=>Vf(n.line(),n.column(),n.index()),i=a(),s=r(),l={currentType:14,offset:s,startLoc:i,endLoc:i,lastType:14,lastOffset:s,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(d,p,T,...R){const K=c();if(p.column+=T,p.offset+=T,u){const B=o?fa(K.startLoc,p):null,P=Fo(d,B,{domain:ng,args:R});u(P)}}function h(d,p,T){d.endLoc=a(),d.currentType=p;const R={type:p};return o&&(R.loc=fa(d.startLoc,d.endLoc)),T!=null&&(R.value=T),R}const C=d=>h(d,14);function A(d,p){return d.currentChar()===p?(d.next(),p):(g(ae.EXPECTED_TOKEN,a(),0,p),"")}function v(d){let p="";for(;d.currentPeek()===Dt||d.currentPeek()===Xe;)p+=d.currentPeek(),d.peek();return p}function z(d){const p=v(d);return d.skipToPeek(),p}function D(d){if(d===Qt)return!1;const p=d.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function y(d){if(d===Qt)return!1;const p=d.charCodeAt(0);return p>=48&&p<=57}function b(d,p){const{currentType:T}=p;if(T!==2)return!1;v(d);const R=D(d.currentPeek());return d.resetPeek(),R}function _(d,p){const{currentType:T}=p;if(T!==2)return!1;v(d);const R=d.currentPeek()==="-"?d.peek():d.currentPeek(),K=y(R);return d.resetPeek(),K}function w(d,p){const{currentType:T}=p;if(T!==2)return!1;v(d);const R=d.currentPeek()===Sl;return d.resetPeek(),R}function L(d,p){const{currentType:T}=p;if(T!==8)return!1;v(d);const R=d.currentPeek()===".";return d.resetPeek(),R}function N(d,p){const{currentType:T}=p;if(T!==9)return!1;v(d);const R=D(d.currentPeek());return d.resetPeek(),R}function k(d,p){const{currentType:T}=p;if(!(T===8||T===12))return!1;v(d);const R=d.currentPeek()===":";return d.resetPeek(),R}function M(d,p){const{currentType:T}=p;if(T!==10)return!1;const R=()=>{const B=d.currentPeek();return B==="{"?D(d.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Dt||!B?!1:B===Xe?(d.peek(),R()):O(d,!1)},K=R();return d.resetPeek(),K}function J(d){v(d);const p=d.currentPeek()==="|";return d.resetPeek(),p}function pe(d){const p=v(d),T=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:T,hasSpace:p.length>0}}function O(d,p=!0){const T=(K=!1,B="",P=!1)=>{const F=d.currentPeek();return F==="{"?B==="%"?!1:K:F==="@"||!F?B==="%"?!0:K:F==="%"?(d.peek(),T(K,"%",!0)):F==="|"?B==="%"||P?!0:!(B===Dt||B===Xe):F===Dt?(d.peek(),T(!0,Dt,P)):F===Xe?(d.peek(),T(!0,Xe,P)):!0},R=T();return p&&d.resetPeek(),R}function te(d,p){const T=d.currentChar();return T===Qt?Qt:p(T)?(d.next(),T):null}function me(d){const p=d.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function ge(d){return te(d,me)}function ce(d){const p=d.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function G(d){return te(d,ce)}function W(d){const p=d.charCodeAt(0);return p>=48&&p<=57}function ne(d){return te(d,W)}function ue(d){const p=d.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function fe(d){return te(d,ue)}function _e(d){let p="",T="";for(;p=ne(d);)T+=p;return T}function S(d){z(d);const p=d.currentChar();return p!=="%"&&g(ae.EXPECTED_TOKEN,a(),0,p),d.next(),"%"}function x(d){let p="";for(;;){const T=d.currentChar();if(T==="{"||T==="}"||T==="@"||T==="|"||!T)break;if(T==="%")if(O(d))p+=T,d.next();else break;else if(T===Dt||T===Xe)if(O(d))p+=T,d.next();else{if(J(d))break;p+=T,d.next()}else p+=T,d.next()}return p}function j(d){z(d);let p="",T="";for(;p=G(d);)T+=p;return d.currentChar()===Qt&&g(ae.UNTERMINATED_CLOSING_BRACE,a(),0),T}function Y(d){z(d);let p="";return d.currentChar()==="-"?(d.next(),p+=`-${_e(d)}`):p+=_e(d),d.currentChar()===Qt&&g(ae.UNTERMINATED_CLOSING_BRACE,a(),0),p}function X(d){return d!==Sl&&d!==Xe}function Q(d){z(d),A(d,"'");let p="",T="";for(;p=te(d,X);)p==="\\"?T+=Z(d):T+=p;const R=d.currentChar();return R===Xe||R===Qt?(g(ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),R===Xe&&(d.next(),A(d,"'")),T):(A(d,"'"),T)}function Z(d){const p=d.currentChar();switch(p){case"\\":case"'":return d.next(),`\\${p}`;case"u":return ee(d,p,4);case"U":return ee(d,p,6);default:return g(ae.UNKNOWN_ESCAPE_SEQUENCE,a(),0,p),""}}function ee(d,p,T){A(d,p);let R="";for(let K=0;K{const R=d.currentChar();return R==="{"||R==="%"||R==="@"||R==="|"||R==="("||R===")"||!R||R===Dt?T:(T+=R,d.next(),p(T))};return p("")}function E(d){z(d);const p=A(d,"|");return z(d),p}function I(d,p){let T=null;switch(d.currentChar()){case"{":return p.braceNest>=1&&g(ae.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),d.next(),T=h(p,2,"{"),z(d),p.braceNest++,T;case"}":return p.braceNest>0&&p.currentType===2&&g(ae.EMPTY_PLACEHOLDER,a(),0),d.next(),T=h(p,3,"}"),p.braceNest--,p.braceNest>0&&z(d),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),T;case"@":return p.braceNest>0&&g(ae.UNTERMINATED_CLOSING_BRACE,a(),0),T=H(d,p)||C(p),p.braceNest=0,T;default:{let K=!0,B=!0,P=!0;if(J(d))return p.braceNest>0&&g(ae.UNTERMINATED_CLOSING_BRACE,a(),0),T=h(p,1,E(d)),p.braceNest=0,p.inLinked=!1,T;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return g(ae.UNTERMINATED_CLOSING_BRACE,a(),0),p.braceNest=0,V(d,p);if(K=b(d,p))return T=h(p,5,j(d)),z(d),T;if(B=_(d,p))return T=h(p,6,Y(d)),z(d),T;if(P=w(d,p))return T=h(p,7,Q(d)),z(d),T;if(!K&&!B&&!P)return T=h(p,13,f(d)),g(ae.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,T.value),z(d),T;break}}return T}function H(d,p){const{currentType:T}=p;let R=null;const K=d.currentChar();switch((T===8||T===9||T===12||T===10)&&(K===Xe||K===Dt)&&g(ae.INVALID_LINKED_FORMAT,a(),0),K){case"@":return d.next(),R=h(p,8,"@"),p.inLinked=!0,R;case".":return z(d),d.next(),h(p,9,".");case":":return z(d),d.next(),h(p,10,":");default:return J(d)?(R=h(p,1,E(d)),p.braceNest=0,p.inLinked=!1,R):L(d,p)||k(d,p)?(z(d),H(d,p)):N(d,p)?(z(d),h(p,12,$(d))):M(d,p)?(z(d),K==="{"?I(d,p)||R:h(p,11,m(d))):(T===8&&g(ae.INVALID_LINKED_FORMAT,a(),0),p.braceNest=0,p.inLinked=!1,V(d,p))}}function V(d,p){let T={type:14};if(p.braceNest>0)return I(d,p)||C(p);if(p.inLinked)return H(d,p)||C(p);switch(d.currentChar()){case"{":return I(d,p)||C(p);case"}":return g(ae.UNBALANCED_CLOSING_BRACE,a(),0),d.next(),h(p,3,"}");case"@":return H(d,p)||C(p);default:{if(J(d))return T=h(p,1,E(d)),p.braceNest=0,p.inLinked=!1,T;const{isModulo:K,hasSpace:B}=pe(d);if(K)return B?h(p,0,x(d)):h(p,4,S(d));if(O(d))return h(p,0,x(d));break}}return T}function U(){const{currentType:d,offset:p,startLoc:T,endLoc:R}=l;return l.lastType=d,l.lastOffset=p,l.lastStartLoc=T,l.lastEndLoc=R,l.offset=r(),l.startLoc=a(),n.currentChar()===Qt?h(l,14):V(n,l)}return{nextToken:U,currentOffset:r,currentPosition:a,context:c}}const rg="parser",ig=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function sg(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 lg(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(b,_,w,L,...N){const k=b.currentPosition();if(k.offset+=L,k.column+=L,o){const M=t?fa(w,k):null,J=Fo(_,M,{domain:rg,args:N});o(J)}}function a(b,_,w,L,...N){const k=b.currentPosition();if(k.offset+=L,k.column+=L,n){const M=t?fa(w,k):null;n(qf(_,M,N))}}function i(b,_,w){const L={type:b};return t&&(L.start=_,L.end=_,L.loc={start:w,end:w}),L}function s(b,_,w,L){t&&(b.end=_,b.loc&&(b.loc.end=w))}function l(b,_){const w=b.context(),L=i(3,w.offset,w.startLoc);return L.value=_,s(L,b.currentOffset(),b.currentPosition()),L}function c(b,_){const w=b.context(),{lastOffset:L,lastStartLoc:N}=w,k=i(5,L,N);return k.index=parseInt(_,10),b.nextToken(),s(k,b.currentOffset(),b.currentPosition()),k}function u(b,_,w){const L=b.context(),{lastOffset:N,lastStartLoc:k}=L,M=i(4,N,k);return M.key=_,w===!0&&(M.modulo=!0),b.nextToken(),s(M,b.currentOffset(),b.currentPosition()),M}function g(b,_){const w=b.context(),{lastOffset:L,lastStartLoc:N}=w,k=i(9,L,N);return k.value=_.replace(ig,sg),b.nextToken(),s(k,b.currentOffset(),b.currentPosition()),k}function h(b){const _=b.nextToken(),w=b.context(),{lastOffset:L,lastStartLoc:N}=w,k=i(8,L,N);return _.type!==12?(r(b,ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,w.lastStartLoc,0),k.value="",s(k,L,N),{nextConsumeToken:_,node:k}):(_.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,ht(_)),k.value=_.value||"",s(k,b.currentOffset(),b.currentPosition()),{node:k})}function C(b,_){const w=b.context(),L=i(7,w.offset,w.startLoc);return L.value=_,s(L,b.currentOffset(),b.currentPosition()),L}function A(b){const _=b.context(),w=i(6,_.offset,_.startLoc);let L=b.nextToken();if(L.type===9){const N=h(b);w.modifier=N.node,L=N.nextConsumeToken||b.nextToken()}switch(L.type!==10&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(L)),L=b.nextToken(),L.type===2&&(L=b.nextToken()),L.type){case 11:L.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(L)),w.key=C(b,L.value||"");break;case 5:L.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(L)),w.key=u(b,L.value||"");break;case 6:L.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(L)),w.key=c(b,L.value||"");break;case 7:L.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(L)),w.key=g(b,L.value||"");break;default:{r(b,ae.UNEXPECTED_EMPTY_LINKED_KEY,_.lastStartLoc,0);const N=b.context(),k=i(7,N.offset,N.startLoc);return k.value="",s(k,N.offset,N.startLoc),w.key=k,s(w,N.offset,N.startLoc),{nextConsumeToken:L,node:w}}}return s(w,b.currentOffset(),b.currentPosition()),{node:w}}function v(b){const _=b.context(),w=_.currentType===1?b.currentOffset():_.offset,L=_.currentType===1?_.endLoc:_.startLoc,N=i(2,w,L);N.items=[];let k=null,M=null;do{const O=k||b.nextToken();switch(k=null,O.type){case 0:O.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(O)),N.items.push(l(b,O.value||""));break;case 6:O.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(O)),N.items.push(c(b,O.value||""));break;case 4:M=!0;break;case 5:O.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(O)),N.items.push(u(b,O.value||"",!!M)),M&&(a(b,yr.USE_MODULO_SYNTAX,_.lastStartLoc,0,ht(O)),M=null);break;case 7:O.value==null&&r(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,ht(O)),N.items.push(g(b,O.value||""));break;case 8:{const te=A(b);N.items.push(te.node),k=te.nextConsumeToken||null;break}}}while(_.currentType!==14&&_.currentType!==1);const J=_.currentType===1?_.lastOffset:b.currentOffset(),pe=_.currentType===1?_.lastEndLoc:b.currentPosition();return s(N,J,pe),N}function z(b,_,w,L){const N=b.context();let k=L.items.length===0;const M=i(1,_,w);M.cases=[],M.cases.push(L);do{const J=v(b);k||(k=J.items.length===0),M.cases.push(J)}while(N.currentType!==14);return k&&r(b,ae.MUST_HAVE_MESSAGES_IN_PLURAL,w,0),s(M,b.currentOffset(),b.currentPosition()),M}function D(b){const _=b.context(),{offset:w,startLoc:L}=_,N=v(b);return _.currentType===14?N:z(b,w,L,N)}function y(b){const _=ag(b,Tl({},e)),w=_.context(),L=i(0,w.offset,w.startLoc);return t&&L.loc&&(L.loc.source=b),L.body=D(_),e.onCacheKey&&(L.cacheKey=e.onCacheKey(b)),w.currentType!==14&&r(_,ae.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,b[w.offset]||""),s(L,_.currentOffset(),_.currentPosition()),L}return{parse:y}}function ht(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 cg(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:a=>(o.helpers.add(a),a)}}function Ll(e,t){for(let o=0;oAl(o)),e}function Al(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;oi;function l(v,z){i.code+=v}function c(v,z=!0){const D=z?n:"";l(r?D+" ".repeat(v):D)}function u(v=!0){const z=++i.indentLevel;v&&c(z)}function g(v=!0){const z=--i.indentLevel;v&&c(z)}function h(){c(i.indentLevel)}return{context:s,push:l,indent:u,deindent:g,newline:h,helper:v=>`_${v}`,needIndent:()=>i.needIndent}}function mg(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Mo(e,t.key),t.modifier?(e.push(", "),Mo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function hg(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let a=0;a1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let a=0;a{const o=Pl(t.mode)?t.mode:"normal",n=Pl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,a=t.needIndent?t.needIndent:o!=="arrow",i=e.helpers||[],s=gg(e,{filename:n,breakLineCode:r,needIndent:a});s.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),s.indent(a),i.length>0&&(s.push(`const { ${wl(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),s.newline()),s.push("return "),Mo(s,e),s.deindent(a),s.push("}"),delete e.helpers;const{code:l,map:c}=s.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function yg(e,t={}){const o=Tl({},t),n=!!o.jit,r=!!o.minify,a=o.optimize==null?!0:o.optimize,s=lg(o).parse(e);return n?(a&&dg(s),r&&No(s),{ast:s,code:""}):(ug(s,o),$g(s,o))}/*! + */function Gg(e,t,o){return{line:e,column:t,offset:o}}function ga(e,t,o){return{start:e,end:t}}const Vg=/\{([0-9a-zA-Z]+)\}/g;function Cl(e,...t){return t.length===1&&jg(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Vg,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Tl=Object.assign,Pl=e=>typeof e=="string",jg=e=>e!==null&&typeof e=="object";function wl(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const yr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Kg={[yr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Yg(e,t,...o){const n=Cl(Kg[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const ne={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},qg={[ne.EXPECTED_TOKEN]:"Expected token: '{0}'",[ne.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ne.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ne.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ne.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ne.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ne.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ne.EMPTY_PLACEHOLDER]:"Empty placeholder",[ne.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ne.INVALID_LINKED_FORMAT]:"Invalid linked format",[ne.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ne.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ne.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ne.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ne.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ne.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Fo(e,t,o={}){const{domain:n,messages:r,args:a}=o,i=Cl((r||qg)[e]||"",...a||[]),s=new SyntaxError(String(i));return s.code=e,t&&(s.location=t),s.domain=n,s}function Xg(e){throw e}const Dt=" ",Jg="\r",Xe=` +`,Zg="\u2028",Qg="\u2029";function ef(e){const t=e;let o=0,n=1,r=1,a=0;const i=N=>t[N]===Jg&&t[N+1]===Xe,s=N=>t[N]===Xe,l=N=>t[N]===Qg,c=N=>t[N]===Zg,u=N=>i(N)||s(N)||l(N)||c(N),f=()=>o,h=()=>n,C=()=>r,A=()=>a,v=N=>i(N)||l(N)||c(N)?Xe:t[N],z=()=>v(o),x=()=>v(o+a);function y(){return a=0,u(o)&&(n++,r=0),i(o)&&o++,o++,r++,t[o]}function _(){return i(o+a)&&a++,a++,t[o+a]}function $(){o=0,n=1,r=1,a=0}function w(N=0){a=N}function L(){const N=o+a;for(;N!==o;)y();a=0}return{index:f,line:h,column:C,peekOffset:A,charAt:v,currentChar:z,currentPeek:x,next:y,peek:_,reset:$,resetPeek:w,skipToPeek:L}}const Qt=void 0,tf=".",Sl="'",of="tokenizer";function nf(e,t={}){const o=t.location!==!1,n=ef(e),r=()=>n.index(),a=()=>Gg(n.line(),n.column(),n.index()),i=a(),s=r(),l={currentType:14,offset:s,startLoc:i,endLoc:i,lastType:14,lastOffset:s,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(d,p,T,...R){const Y=c();if(p.column+=T,p.offset+=T,u){const G=o?ga(Y.startLoc,p):null,P=Fo(d,G,{domain:of,args:R});u(P)}}function h(d,p,T){d.endLoc=a(),d.currentType=p;const R={type:p};return o&&(R.loc=ga(d.startLoc,d.endLoc)),T!=null&&(R.value=T),R}const C=d=>h(d,14);function A(d,p){return d.currentChar()===p?(d.next(),p):(f(ne.EXPECTED_TOKEN,a(),0,p),"")}function v(d){let p="";for(;d.currentPeek()===Dt||d.currentPeek()===Xe;)p+=d.currentPeek(),d.peek();return p}function z(d){const p=v(d);return d.skipToPeek(),p}function x(d){if(d===Qt)return!1;const p=d.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function y(d){if(d===Qt)return!1;const p=d.charCodeAt(0);return p>=48&&p<=57}function _(d,p){const{currentType:T}=p;if(T!==2)return!1;v(d);const R=x(d.currentPeek());return d.resetPeek(),R}function $(d,p){const{currentType:T}=p;if(T!==2)return!1;v(d);const R=d.currentPeek()==="-"?d.peek():d.currentPeek(),Y=y(R);return d.resetPeek(),Y}function w(d,p){const{currentType:T}=p;if(T!==2)return!1;v(d);const R=d.currentPeek()===Sl;return d.resetPeek(),R}function L(d,p){const{currentType:T}=p;if(T!==8)return!1;v(d);const R=d.currentPeek()===".";return d.resetPeek(),R}function N(d,p){const{currentType:T}=p;if(T!==9)return!1;v(d);const R=x(d.currentPeek());return d.resetPeek(),R}function O(d,p){const{currentType:T}=p;if(!(T===8||T===12))return!1;v(d);const R=d.currentPeek()===":";return d.resetPeek(),R}function M(d,p){const{currentType:T}=p;if(T!==10)return!1;const R=()=>{const G=d.currentPeek();return G==="{"?x(d.peek()):G==="@"||G==="%"||G==="|"||G===":"||G==="."||G===Dt||!G?!1:G===Xe?(d.peek(),R()):H(d,!1)},Y=R();return d.resetPeek(),Y}function Q(d){v(d);const p=d.currentPeek()==="|";return d.resetPeek(),p}function de(d){const p=v(d),T=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:T,hasSpace:p.length>0}}function H(d,p=!0){const T=(Y=!1,G="",P=!1)=>{const F=d.currentPeek();return F==="{"?G==="%"?!1:Y:F==="@"||!F?G==="%"?!0:Y:F==="%"?(d.peek(),T(Y,"%",!0)):F==="|"?G==="%"||P?!0:!(G===Dt||G===Xe):F===Dt?(d.peek(),T(!0,Dt,P)):F===Xe?(d.peek(),T(!0,Xe,P)):!0},R=T();return p&&d.resetPeek(),R}function J(d,p){const T=d.currentChar();return T===Qt?Qt:p(T)?(d.next(),T):null}function he(d){const p=d.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function ge(d){return J(d,he)}function se(d){const p=d.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function V(d){return J(d,se)}function W(d){const p=d.charCodeAt(0);return p>=48&&p<=57}function te(d){return J(d,W)}function pe(d){const p=d.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function ce(d){return J(d,pe)}function _e(d){let p="",T="";for(;p=te(d);)T+=p;return T}function Re(d){z(d);const p=d.currentChar();return p!=="%"&&f(ne.EXPECTED_TOKEN,a(),0,p),d.next(),"%"}function S(d){let p="";for(;;){const T=d.currentChar();if(T==="{"||T==="}"||T==="@"||T==="|"||!T)break;if(T==="%")if(H(d))p+=T,d.next();else break;else if(T===Dt||T===Xe)if(H(d))p+=T,d.next();else{if(Q(d))break;p+=T,d.next()}else p+=T,d.next()}return p}function D(d){z(d);let p="",T="";for(;p=V(d);)T+=p;return d.currentChar()===Qt&&f(ne.UNTERMINATED_CLOSING_BRACE,a(),0),T}function U(d){z(d);let p="";return d.currentChar()==="-"?(d.next(),p+=`-${_e(d)}`):p+=_e(d),d.currentChar()===Qt&&f(ne.UNTERMINATED_CLOSING_BRACE,a(),0),p}function q(d){return d!==Sl&&d!==Xe}function ee(d){z(d),A(d,"'");let p="",T="";for(;p=J(d,q);)p==="\\"?T+=j(d):T+=p;const R=d.currentChar();return R===Xe||R===Qt?(f(ne.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),R===Xe&&(d.next(),A(d,"'")),T):(A(d,"'"),T)}function j(d){const p=d.currentChar();switch(p){case"\\":case"'":return d.next(),`\\${p}`;case"u":return Z(d,p,4);case"U":return Z(d,p,6);default:return f(ne.UNKNOWN_ESCAPE_SEQUENCE,a(),0,p),""}}function Z(d,p,T){A(d,p);let R="";for(let Y=0;Y{const R=d.currentChar();return R==="{"||R==="%"||R==="@"||R==="|"||R==="("||R===")"||!R||R===Dt?T:(T+=R,d.next(),p(T))};return p("")}function E(d){z(d);const p=A(d,"|");return z(d),p}function I(d,p){let T=null;switch(d.currentChar()){case"{":return p.braceNest>=1&&f(ne.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),d.next(),T=h(p,2,"{"),z(d),p.braceNest++,T;case"}":return p.braceNest>0&&p.currentType===2&&f(ne.EMPTY_PLACEHOLDER,a(),0),d.next(),T=h(p,3,"}"),p.braceNest--,p.braceNest>0&&z(d),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),T;case"@":return p.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,a(),0),T=k(d,p)||C(p),p.braceNest=0,T;default:{let Y=!0,G=!0,P=!0;if(Q(d))return p.braceNest>0&&f(ne.UNTERMINATED_CLOSING_BRACE,a(),0),T=h(p,1,E(d)),p.braceNest=0,p.inLinked=!1,T;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return f(ne.UNTERMINATED_CLOSING_BRACE,a(),0),p.braceNest=0,K(d,p);if(Y=_(d,p))return T=h(p,5,D(d)),z(d),T;if(G=$(d,p))return T=h(p,6,U(d)),z(d),T;if(P=w(d,p))return T=h(p,7,ee(d)),z(d),T;if(!Y&&!G&&!P)return T=h(p,13,g(d)),f(ne.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,T.value),z(d),T;break}}return T}function k(d,p){const{currentType:T}=p;let R=null;const Y=d.currentChar();switch((T===8||T===9||T===12||T===10)&&(Y===Xe||Y===Dt)&&f(ne.INVALID_LINKED_FORMAT,a(),0),Y){case"@":return d.next(),R=h(p,8,"@"),p.inLinked=!0,R;case".":return z(d),d.next(),h(p,9,".");case":":return z(d),d.next(),h(p,10,":");default:return Q(d)?(R=h(p,1,E(d)),p.braceNest=0,p.inLinked=!1,R):L(d,p)||O(d,p)?(z(d),k(d,p)):N(d,p)?(z(d),h(p,12,b(d))):M(d,p)?(z(d),Y==="{"?I(d,p)||R:h(p,11,m(d))):(T===8&&f(ne.INVALID_LINKED_FORMAT,a(),0),p.braceNest=0,p.inLinked=!1,K(d,p))}}function K(d,p){let T={type:14};if(p.braceNest>0)return I(d,p)||C(p);if(p.inLinked)return k(d,p)||C(p);switch(d.currentChar()){case"{":return I(d,p)||C(p);case"}":return f(ne.UNBALANCED_CLOSING_BRACE,a(),0),d.next(),h(p,3,"}");case"@":return k(d,p)||C(p);default:{if(Q(d))return T=h(p,1,E(d)),p.braceNest=0,p.inLinked=!1,T;const{isModulo:Y,hasSpace:G}=de(d);if(Y)return G?h(p,0,S(d)):h(p,4,Re(d));if(H(d))return h(p,0,S(d));break}}return T}function B(){const{currentType:d,offset:p,startLoc:T,endLoc:R}=l;return l.lastType=d,l.lastOffset=p,l.lastStartLoc=T,l.lastEndLoc=R,l.offset=r(),l.startLoc=a(),n.currentChar()===Qt?h(l,14):K(n,l)}return{nextToken:B,currentOffset:r,currentPosition:a,context:c}}const af="parser",rf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function sf(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 lf(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(_,$,w,L,...N){const O=_.currentPosition();if(O.offset+=L,O.column+=L,o){const M=t?ga(w,O):null,Q=Fo($,M,{domain:af,args:N});o(Q)}}function a(_,$,w,L,...N){const O=_.currentPosition();if(O.offset+=L,O.column+=L,n){const M=t?ga(w,O):null;n(Yg($,M,N))}}function i(_,$,w){const L={type:_};return t&&(L.start=$,L.end=$,L.loc={start:w,end:w}),L}function s(_,$,w,L){t&&(_.end=$,_.loc&&(_.loc.end=w))}function l(_,$){const w=_.context(),L=i(3,w.offset,w.startLoc);return L.value=$,s(L,_.currentOffset(),_.currentPosition()),L}function c(_,$){const w=_.context(),{lastOffset:L,lastStartLoc:N}=w,O=i(5,L,N);return O.index=parseInt($,10),_.nextToken(),s(O,_.currentOffset(),_.currentPosition()),O}function u(_,$,w){const L=_.context(),{lastOffset:N,lastStartLoc:O}=L,M=i(4,N,O);return M.key=$,w===!0&&(M.modulo=!0),_.nextToken(),s(M,_.currentOffset(),_.currentPosition()),M}function f(_,$){const w=_.context(),{lastOffset:L,lastStartLoc:N}=w,O=i(9,L,N);return O.value=$.replace(rf,sf),_.nextToken(),s(O,_.currentOffset(),_.currentPosition()),O}function h(_){const $=_.nextToken(),w=_.context(),{lastOffset:L,lastStartLoc:N}=w,O=i(8,L,N);return $.type!==12?(r(_,ne.UNEXPECTED_EMPTY_LINKED_MODIFIER,w.lastStartLoc,0),O.value="",s(O,L,N),{nextConsumeToken:$,node:O}):($.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,ht($)),O.value=$.value||"",s(O,_.currentOffset(),_.currentPosition()),{node:O})}function C(_,$){const w=_.context(),L=i(7,w.offset,w.startLoc);return L.value=$,s(L,_.currentOffset(),_.currentPosition()),L}function A(_){const $=_.context(),w=i(6,$.offset,$.startLoc);let L=_.nextToken();if(L.type===9){const N=h(_);w.modifier=N.node,L=N.nextConsumeToken||_.nextToken()}switch(L.type!==10&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(L)),L=_.nextToken(),L.type===2&&(L=_.nextToken()),L.type){case 11:L.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(L)),w.key=C(_,L.value||"");break;case 5:L.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(L)),w.key=u(_,L.value||"");break;case 6:L.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(L)),w.key=c(_,L.value||"");break;case 7:L.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(L)),w.key=f(_,L.value||"");break;default:{r(_,ne.UNEXPECTED_EMPTY_LINKED_KEY,$.lastStartLoc,0);const N=_.context(),O=i(7,N.offset,N.startLoc);return O.value="",s(O,N.offset,N.startLoc),w.key=O,s(w,N.offset,N.startLoc),{nextConsumeToken:L,node:w}}}return s(w,_.currentOffset(),_.currentPosition()),{node:w}}function v(_){const $=_.context(),w=$.currentType===1?_.currentOffset():$.offset,L=$.currentType===1?$.endLoc:$.startLoc,N=i(2,w,L);N.items=[];let O=null,M=null;do{const H=O||_.nextToken();switch(O=null,H.type){case 0:H.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(H)),N.items.push(l(_,H.value||""));break;case 6:H.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(H)),N.items.push(c(_,H.value||""));break;case 4:M=!0;break;case 5:H.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(H)),N.items.push(u(_,H.value||"",!!M)),M&&(a(_,yr.USE_MODULO_SYNTAX,$.lastStartLoc,0,ht(H)),M=null);break;case 7:H.value==null&&r(_,ne.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ht(H)),N.items.push(f(_,H.value||""));break;case 8:{const J=A(_);N.items.push(J.node),O=J.nextConsumeToken||null;break}}}while($.currentType!==14&&$.currentType!==1);const Q=$.currentType===1?$.lastOffset:_.currentOffset(),de=$.currentType===1?$.lastEndLoc:_.currentPosition();return s(N,Q,de),N}function z(_,$,w,L){const N=_.context();let O=L.items.length===0;const M=i(1,$,w);M.cases=[],M.cases.push(L);do{const Q=v(_);O||(O=Q.items.length===0),M.cases.push(Q)}while(N.currentType!==14);return O&&r(_,ne.MUST_HAVE_MESSAGES_IN_PLURAL,w,0),s(M,_.currentOffset(),_.currentPosition()),M}function x(_){const $=_.context(),{offset:w,startLoc:L}=$,N=v(_);return $.currentType===14?N:z(_,w,L,N)}function y(_){const $=nf(_,Tl({},e)),w=$.context(),L=i(0,w.offset,w.startLoc);return t&&L.loc&&(L.loc.source=_),L.body=x($),e.onCacheKey&&(L.cacheKey=e.onCacheKey(_)),w.currentType!==14&&r($,ne.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,_[w.offset]||""),s(L,$.currentOffset(),$.currentPosition()),L}return{parse:y}}function ht(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function cf(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:a=>(o.helpers.add(a),a)}}function Ll(e,t){for(let o=0;oAl(o)),e}function Al(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;oi;function l(v,z){i.code+=v}function c(v,z=!0){const x=z?n:"";l(r?x+" ".repeat(v):x)}function u(v=!0){const z=++i.indentLevel;v&&c(z)}function f(v=!0){const z=--i.indentLevel;v&&c(z)}function h(){c(i.indentLevel)}return{context:s,push:l,indent:u,deindent:f,newline:h,helper:v=>`_${v}`,needIndent:()=>i.needIndent}}function mf(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Mo(e,t.key),t.modifier?(e.push(", "),Mo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function hf(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let a=0;a1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let a=0;a{const o=Pl(t.mode)?t.mode:"normal",n=Pl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,a=t.needIndent?t.needIndent:o!=="arrow",i=e.helpers||[],s=ff(e,{filename:n,breakLineCode:r,needIndent:a});s.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),s.indent(a),i.length>0&&(s.push(`const { ${wl(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),s.newline()),s.push("return "),Mo(s,e),s.deindent(a),s.push("}"),delete e.helpers;const{code:l,map:c}=s.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function yf(e,t={}){const o=Tl({},t),n=!!o.jit,r=!!o.minify,a=o.optimize==null?!0:o.optimize,s=lf(o).parse(e);return n?(a&&df(s),r&&No(s),{ast:s,code:""}):(uf(s,o),$f(s,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function vg(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1)}function Lt(e){return $e(e)&&Cr(e)===0&&(mt(e,"b")||mt(e,"body"))}const El=["b","body"];function Cg(e){return eo(e,El)}const Rl=["c","cases"];function Tg(e){return eo(e,Rl,[])}const Fl=["s","static"];function Pg(e){return eo(e,Fl)}const Nl=["i","items"];function wg(e){return eo(e,Nl,[])}const Ml=["t","type"];function Cr(e){return eo(e,Ml)}const Ol=["v","value"];function ga(e,t){const o=eo(e,Ol);if(o!=null)return o;throw gn(t)}const kl=["m","modifier"];function Sg(e){return eo(e,kl)}const xl=["k","key"];function Lg(e){const t=eo(e,xl);if(t)return t;throw gn(6)}function eo(e,t,o){for(let n=0;n{i===void 0?i=s:i+=s},h[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},h[2]=()=>{h[0](),r++},h[3]=()=>{if(r>0)r--,n=4,h[0]();else{if(r=0,i===void 0||(i=Ng(i),i===!1))return!1;h[1]()}};function C(){const A=e[o+1];if(n===5&&A==="'"||n===6&&A==='"')return o++,s="\\"+A,h[0](),!0}for(;n!==null;)if(o++,a=e[o],!(a==="\\"&&C())){if(l=Fg(a),g=to[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=h[c[1]],u&&(s=a,u()===!1))))return;if(n===7)return t}}const Dl=new Map;function Og(e,t){return $e(e)?e[t]:null}function kg(e,t){if(!$e(e))return null;let o=Dl.get(t);if(o||(o=Mg(t),o&&Dl.set(t,o)),!o)return null;const n=o.length;let r=e,a=0;for(;ae,Ig=e=>"",Dg="text",Hg=e=>e.length===0?"":Gf(e),zg=Bf;function Hl(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Wg(e){const t=Oe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Oe(e.named.count)||Oe(e.named.n))?Oe(e.named.count)?e.named.count:Oe(e.named.n)?e.named.n:t:t}function Ug(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Bg(e={}){const t=e.locale,o=Wg(e),n=$e(e.pluralRules)&&q(t)&&Le(e.pluralRules[t])?e.pluralRules[t]:Hl,r=$e(e.pluralRules)&&q(t)&&Le(e.pluralRules[t])?Hl:void 0,a=D=>D[n(o,D.length,r)],i=e.list||[],s=D=>i[D],l=e.named||Ce();Oe(e.pluralIndex)&&Ug(o,l);const c=D=>l[D];function u(D){const y=Le(e.messages)?e.messages(D):$e(e.messages)?e.messages[D]:!1;return y||(e.parent?e.parent.message(D):Ig)}const g=D=>e.modifiers?e.modifiers[D]:xg,h=le(e.processor)&&Le(e.processor.normalize)?e.processor.normalize:Hg,C=le(e.processor)&&Le(e.processor.interpolate)?e.processor.interpolate:zg,A=le(e.processor)&&q(e.processor.type)?e.processor.type:Dg,z={list:s,named:c,plural:a,linked:(D,...y)=>{const[b,_]=y;let w="text",L="";y.length===1?$e(b)?(L=b.modifier||L,w=b.type||w):q(b)&&(L=b||L):y.length===2&&(q(b)&&(L=b||L),q(_)&&(w=_||w));const N=u(D)(z),k=w==="vnode"&&Re(N)&&L?N[0]:N;return L?g(L)(k,w):k},message:u,type:A,interpolate:C,normalize:h,values:Ue(Ce(),i,l)};return z}let mn=null;function Gg(e){mn=e}function Vg(e,t,o){mn&&mn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const jg=Kg("function:translate");function Kg(e){return t=>mn&&mn.emit(e,t)}const Yg=yr.__EXTEND_POINT__,mo=ua(Yg),qg={FALLBACK_TO_TRANSLATE:mo(),CANNOT_FORMAT_NUMBER:mo(),FALLBACK_TO_NUMBER_FORMAT:mo(),CANNOT_FORMAT_DATE:mo(),FALLBACK_TO_DATE_FORMAT:mo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:mo(),__EXTEND_POINT__:mo()},zl=ae.__EXTEND_POINT__,ho=ua(zl),At={INVALID_ARGUMENT:zl,INVALID_DATE_ARGUMENT:ho(),INVALID_ISO_DATE_ARGUMENT:ho(),NOT_SUPPORT_NON_STRING_MESSAGE:ho(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ho(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ho(),NOT_SUPPORT_LOCALE_TYPE:ho(),__EXTEND_POINT__:ho()};function Ht(e){return Fo(e,null,void 0)}function Tr(e,t){return t.locale!=null?Wl(t.locale):Wl(e.locale)}let Pr;function Wl(e){if(q(e))return e;if(Le(e)){if(e.resolvedOnce&&Pr!=null)return Pr;if(e.constructor.name==="Function"){const t=e();if(Uf(t))throw Ht(At.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Pr=t}else throw Ht(At.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Ht(At.NOT_SUPPORT_LOCALE_TYPE)}function Xg(e,t,o){return[...new Set([o,...Re(t)?t:$e(t)?Object.keys(t):q(t)?[t]:[o]])]}function Ul(e,t,o){const n=q(o)?o:Oo,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let a=r.__localeChainCache.get(n);if(!a){a=[];let i=[o];for(;Re(i);)i=Bl(a,i,t);const s=Re(t)||!le(t)?t:t.default?t.default:null;i=q(s)?[s]:s,Re(i)&&Bl(a,i,!1),r.__localeChainCache.set(n,a)}return a}function Bl(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function em(){return{upper:(e,t)=>t==="text"&&q(e)?e.toUpperCase():t==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&q(e)?e.toLowerCase():t==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&q(e)?Vl(e):t==="vnode"&&$e(e)&&"__v_isVNode"in e?Vl(e.children):e}}let jl;function tm(e){jl=e}let Kl;function om(e){Kl=e}let Yl;function nm(e){Yl=e}let ql=null;const am=e=>{ql=e},rm=()=>ql;let Xl=null;const Jl=e=>{Xl=e},im=()=>Xl;let Zl=0;function sm(e={}){const t=Le(e.onWarn)?e.onWarn:kf,o=q(e.version)?e.version:Qg,n=q(e.locale)||Le(e.locale)?e.locale:Oo,r=Le(n)?Oo:n,a=Re(e.fallbackLocale)||le(e.fallbackLocale)||q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,i=le(e.messages)?e.messages:wr(r),s=le(e.datetimeFormats)?e.datetimeFormats:wr(r),l=le(e.numberFormats)?e.numberFormats:wr(r),c=Ue(Ce(),e.modifiers,em()),u=e.pluralRules||Ce(),g=Le(e.missing)?e.missing:null,h=he(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,C=he(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,v=!!e.unresolving,z=Le(e.postTranslation)?e.postTranslation:null,D=le(e.processor)?e.processor:null,y=he(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,_=Le(e.messageCompiler)?e.messageCompiler:jl,w=Le(e.messageResolver)?e.messageResolver:Kl||Og,L=Le(e.localeFallbacker)?e.localeFallbacker:Yl||Xg,N=$e(e.fallbackContext)?e.fallbackContext:void 0,k=e,M=$e(k.__datetimeFormatters)?k.__datetimeFormatters:new Map,J=$e(k.__numberFormatters)?k.__numberFormatters:new Map,pe=$e(k.__meta)?k.__meta:{};Zl++;const O={version:o,cid:Zl,locale:n,fallbackLocale:a,messages:i,modifiers:c,pluralRules:u,missing:g,missingWarn:h,fallbackWarn:C,fallbackFormat:A,unresolving:v,postTranslation:z,processor:D,warnHtmlMessage:y,escapeParameter:b,messageCompiler:_,messageResolver:w,localeFallbacker:L,fallbackContext:N,onWarn:t,__meta:pe};return O.datetimeFormats=s,O.numberFormats=l,O.__datetimeFormatters=M,O.__numberFormatters=J,__INTLIFY_PROD_DEVTOOLS__&&Vg(O,o,pe),O}const wr=e=>({[e]:Ce()});function Sr(e,t,o,n,r){const{missing:a,onWarn:i}=e;if(a!==null){const s=a(e,o,t,r);return q(s)?s:t}else return t}function hn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function lm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function cm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;num(o,e)}function um(e,t){const o=Cg(t);if(o==null)throw gn(0);if(Cr(o)===1){const a=Tg(o);return e.plural(a.reduce((i,s)=>[...i,Ql(e,s)],[]))}else return Ql(e,o)}function Ql(e,t){const o=Pg(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=wg(t).reduce((r,a)=>[...r,Ar(e,a)],[]);return e.normalize(n)}}function Ar(e,t){const o=Cr(t);switch(o){case 3:return ga(t,o);case 9:return ga(t,o);case 4:{const n=t;if(mt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(mt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw gn(o)}case 5:{const n=t;if(mt(n,"i")&&Oe(n.i))return e.interpolate(e.list(n.i));if(mt(n,"index")&&Oe(n.index))return e.interpolate(e.list(n.index));throw gn(o)}case 6:{const n=t,r=Sg(n),a=Lg(n);return e.linked(Ar(e,a),r?Ar(e,r):void 0,e.type)}case 7:return ga(t,o);case 8:return ga(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dm=e=>e;let ha=Ce();function pm(e,t={}){let o=!1;const n=t.onError||Jf;return t.onError=r=>{o=!0,n(r)},{...yg(e,t),detectError:o}}function fm(e,t){if(q(e)){he(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dm)(e),r=ha[n];if(r)return r;const{ast:a,detectError:i}=pm(e,{...t,location:!1,jit:!0}),s=Lr(a);return i?s:ha[n]=s}else{const o=e.cacheKey;if(o){const n=ha[o];return n||(ha[o]=Lr(e))}else return Lr(e)}}const ec=()=>"",dt=e=>Le(e);function tc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:a,fallbackLocale:i,messages:s}=e,[l,c]=Er(...t),u=he(c.missingWarn)?c.missingWarn:e.missingWarn,g=he(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,h=he(c.escapeParameter)?c.escapeParameter:e.escapeParameter,C=!!c.resolvedMessage,A=q(c.default)||he(c.default)?he(c.default)?a?l:()=>l:c.default:o?a?l:()=>l:"",v=o||A!=="",z=Tr(e,c);h&&gm(c);let[D,y,b]=C?[l,z,s[z]||Ce()]:oc(e,l,z,i,g,u),_=D,w=l;if(!C&&!(q(_)||Lt(_)||dt(_))&&v&&(_=A,w=_),!C&&(!(q(_)||Lt(_)||dt(_))||!q(y)))return r?ma:l;let L=!1;const N=()=>{L=!0},k=dt(_)?_:nc(e,l,y,_,w,N);if(L)return _;const M=bm(e,y,b,c),J=Bg(M),pe=mm(e,k,J);let O=n?n(pe,l):pe;if(h&&q(O)&&(O=zf(O)),__INTLIFY_PROD_DEVTOOLS__){const te={timestamp:Date.now(),key:q(l)?l:dt(_)?_.key:"",locale:y||(dt(_)?_.locale:""),format:q(_)?_:dt(_)?_.source:"",message:O};te.meta=Ue({},e.__meta,rm()||{}),jg(te)}return O}function gm(e){Re(e.list)?e.list=e.list.map(t=>q(t)?_l(t):t):$e(e.named)&&Object.keys(e.named).forEach(t=>{q(e.named[t])&&(e.named[t]=_l(e.named[t]))})}function oc(e,t,o,n,r,a){const{messages:i,onWarn:s,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let g=Ce(),h,C=null;const A="translate";for(let v=0;vn;return c.locale=o,c.key=t,c}const l=i(n,hm(e,o,r,n,s,a));return l.locale=o,l.key=t,l.source=n,l}function mm(e,t,o){return t(o)}function Er(...e){const[t,o,n]=e,r=Ce();if(!q(t)&&!Oe(t)&&!dt(t)&&!Lt(t))throw Ht(At.INVALID_ARGUMENT);const a=Oe(t)?String(t):(dt(t),t);return Oe(o)?r.plural=o:q(o)?r.default=o:le(o)&&!ca(o)?r.named=o:Re(o)&&(r.list=o),Oe(n)?r.plural=n:q(n)?r.default=n:le(n)&&Ue(r,n),[a,r]}function hm(e,t,o,n,r,a){return{locale:t,key:o,warnHtmlMessage:r,onError:i=>{throw a&&a(i),i},onCacheKey:i=>xf(t,o,i)}}function bm(e,t,o,n){const{modifiers:r,pluralRules:a,messageResolver:i,fallbackLocale:s,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,h={locale:t,modifiers:r,pluralRules:a,messages:C=>{let A=i(o,C);if(A==null&&u){const[,,v]=oc(u,C,t,s,l,c);A=i(v,C)}if(q(A)||Lt(A)){let v=!1;const D=nc(e,C,t,A,C,()=>{v=!0});return v?ec:D}else return dt(A)?A:ec}};return e.processor&&(h.processor=e.processor),n.list&&(h.list=n.list),n.named&&(h.named=n.named),Oe(n.plural)&&(h.pluralIndex=n.plural),h}function ac(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:i}=e,{__datetimeFormatters:s}=e,[l,c,u,g]=Rr(...t),h=he(u.missingWarn)?u.missingWarn:e.missingWarn;he(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const C=!!u.part,A=Tr(e,u),v=i(e,r,A);if(!q(l)||l==="")return new Intl.DateTimeFormat(A,g).format(c);let z={},D,y=null;const b="datetime format";for(let L=0;L{rc.includes(l)?i[l]=o[l]:a[l]=o[l]}),q(n)?a.locale=n:le(n)&&(i=n),le(r)&&(i=r),[a.key||"",s,a,i]}function ic(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function sc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:i}=e,{__numberFormatters:s}=e,[l,c,u,g]=Fr(...t),h=he(u.missingWarn)?u.missingWarn:e.missingWarn;he(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const C=!!u.part,A=Tr(e,u),v=i(e,r,A);if(!q(l)||l==="")return new Intl.NumberFormat(A,g).format(c);let z={},D,y=null;const b="number format";for(let L=0;L{lc.includes(l)?i[l]=o[l]:a[l]=o[l]}),q(n)?a.locale=n:le(n)&&(i=n),le(r)&&(i=r),[a.key||"",s,a,i]}function cc(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}vg();/*! + */function vf(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(gn().__INTLIFY_PROD_DEVTOOLS__=!1)}function Lt(e){return $e(e)&&Cr(e)===0&&(mt(e,"b")||mt(e,"body"))}const El=["b","body"];function Cf(e){return eo(e,El)}const Rl=["c","cases"];function Tf(e){return eo(e,Rl,[])}const Fl=["s","static"];function Pf(e){return eo(e,Fl)}const Nl=["i","items"];function wf(e){return eo(e,Nl,[])}const Ml=["t","type"];function Cr(e){return eo(e,Ml)}const Ol=["v","value"];function fa(e,t){const o=eo(e,Ol);if(o!=null)return o;throw fn(t)}const kl=["m","modifier"];function Sf(e){return eo(e,kl)}const xl=["k","key"];function Lf(e){const t=eo(e,xl);if(t)return t;throw fn(6)}function eo(e,t,o){for(let n=0;n{i===void 0?i=s:i+=s},h[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},h[2]=()=>{h[0](),r++},h[3]=()=>{if(r>0)r--,n=4,h[0]();else{if(r=0,i===void 0||(i=Nf(i),i===!1))return!1;h[1]()}};function C(){const A=e[o+1];if(n===5&&A==="'"||n===6&&A==='"')return o++,s="\\"+A,h[0](),!0}for(;n!==null;)if(o++,a=e[o],!(a==="\\"&&C())){if(l=Ff(a),f=to[n],c=f[l]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=h[c[1]],u&&(s=a,u()===!1))))return;if(n===7)return t}}const Dl=new Map;function Of(e,t){return $e(e)?e[t]:null}function kf(e,t){if(!$e(e))return null;let o=Dl.get(t);if(o||(o=Mf(t),o&&Dl.set(t,o)),!o)return null;const n=o.length;let r=e,a=0;for(;ae,If=e=>"",Df="text",Hf=e=>e.length===0?"":Bg(e),zf=Ug;function Hl(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Wf(e){const t=Oe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Oe(e.named.count)||Oe(e.named.n))?Oe(e.named.count)?e.named.count:Oe(e.named.n)?e.named.n:t:t}function Uf(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Bf(e={}){const t=e.locale,o=Wf(e),n=$e(e.pluralRules)&&X(t)&&Le(e.pluralRules[t])?e.pluralRules[t]:Hl,r=$e(e.pluralRules)&&X(t)&&Le(e.pluralRules[t])?Hl:void 0,a=x=>x[n(o,x.length,r)],i=e.list||[],s=x=>i[x],l=e.named||Ce();Oe(e.pluralIndex)&&Uf(o,l);const c=x=>l[x];function u(x){const y=Le(e.messages)?e.messages(x):$e(e.messages)?e.messages[x]:!1;return y||(e.parent?e.parent.message(x):If)}const f=x=>e.modifiers?e.modifiers[x]:xf,h=le(e.processor)&&Le(e.processor.normalize)?e.processor.normalize:Hf,C=le(e.processor)&&Le(e.processor.interpolate)?e.processor.interpolate:zf,A=le(e.processor)&&X(e.processor.type)?e.processor.type:Df,z={list:s,named:c,plural:a,linked:(x,...y)=>{const[_,$]=y;let w="text",L="";y.length===1?$e(_)?(L=_.modifier||L,w=_.type||w):X(_)&&(L=_||L):y.length===2&&(X(_)&&(L=_||L),X($)&&(w=$||w));const N=u(x)(z),O=w==="vnode"&&Ee(N)&&L?N[0]:N;return L?f(L)(O,w):O},message:u,type:A,interpolate:C,normalize:h,values:Ue(Ce(),i,l)};return z}let mn=null;function Gf(e){mn=e}function Vf(e,t,o){mn&&mn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const jf=Kf("function:translate");function Kf(e){return t=>mn&&mn.emit(e,t)}const Yf=yr.__EXTEND_POINT__,mo=ua(Yf),qf={FALLBACK_TO_TRANSLATE:mo(),CANNOT_FORMAT_NUMBER:mo(),FALLBACK_TO_NUMBER_FORMAT:mo(),CANNOT_FORMAT_DATE:mo(),FALLBACK_TO_DATE_FORMAT:mo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:mo(),__EXTEND_POINT__:mo()},zl=ne.__EXTEND_POINT__,ho=ua(zl),At={INVALID_ARGUMENT:zl,INVALID_DATE_ARGUMENT:ho(),INVALID_ISO_DATE_ARGUMENT:ho(),NOT_SUPPORT_NON_STRING_MESSAGE:ho(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ho(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ho(),NOT_SUPPORT_LOCALE_TYPE:ho(),__EXTEND_POINT__:ho()};function Ht(e){return Fo(e,null,void 0)}function Tr(e,t){return t.locale!=null?Wl(t.locale):Wl(e.locale)}let Pr;function Wl(e){if(X(e))return e;if(Le(e)){if(e.resolvedOnce&&Pr!=null)return Pr;if(e.constructor.name==="Function"){const t=e();if(Wg(t))throw Ht(At.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Pr=t}else throw Ht(At.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Ht(At.NOT_SUPPORT_LOCALE_TYPE)}function Xf(e,t,o){return[...new Set([o,...Ee(t)?t:$e(t)?Object.keys(t):X(t)?[t]:[o]])]}function Ul(e,t,o){const n=X(o)?o:Oo,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let a=r.__localeChainCache.get(n);if(!a){a=[];let i=[o];for(;Ee(i);)i=Bl(a,i,t);const s=Ee(t)||!le(t)?t:t.default?t.default:null;i=X(s)?[s]:s,Ee(i)&&Bl(a,i,!1),r.__localeChainCache.set(n,a)}return a}function Bl(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function em(){return{upper:(e,t)=>t==="text"&&X(e)?e.toUpperCase():t==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&X(e)?e.toLowerCase():t==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&X(e)?Vl(e):t==="vnode"&&$e(e)&&"__v_isVNode"in e?Vl(e.children):e}}let jl;function tm(e){jl=e}let Kl;function om(e){Kl=e}let Yl;function nm(e){Yl=e}let ql=null;const am=e=>{ql=e},rm=()=>ql;let Xl=null;const Jl=e=>{Xl=e},im=()=>Xl;let Zl=0;function sm(e={}){const t=Le(e.onWarn)?e.onWarn:Og,o=X(e.version)?e.version:Qf,n=X(e.locale)||Le(e.locale)?e.locale:Oo,r=Le(n)?Oo:n,a=Ee(e.fallbackLocale)||le(e.fallbackLocale)||X(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,i=le(e.messages)?e.messages:wr(r),s=le(e.datetimeFormats)?e.datetimeFormats:wr(r),l=le(e.numberFormats)?e.numberFormats:wr(r),c=Ue(Ce(),e.modifiers,em()),u=e.pluralRules||Ce(),f=Le(e.missing)?e.missing:null,h=me(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,C=me(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,v=!!e.unresolving,z=Le(e.postTranslation)?e.postTranslation:null,x=le(e.processor)?e.processor:null,y=me(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter,$=Le(e.messageCompiler)?e.messageCompiler:jl,w=Le(e.messageResolver)?e.messageResolver:Kl||Of,L=Le(e.localeFallbacker)?e.localeFallbacker:Yl||Xf,N=$e(e.fallbackContext)?e.fallbackContext:void 0,O=e,M=$e(O.__datetimeFormatters)?O.__datetimeFormatters:new Map,Q=$e(O.__numberFormatters)?O.__numberFormatters:new Map,de=$e(O.__meta)?O.__meta:{};Zl++;const H={version:o,cid:Zl,locale:n,fallbackLocale:a,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:h,fallbackWarn:C,fallbackFormat:A,unresolving:v,postTranslation:z,processor:x,warnHtmlMessage:y,escapeParameter:_,messageCompiler:$,messageResolver:w,localeFallbacker:L,fallbackContext:N,onWarn:t,__meta:de};return H.datetimeFormats=s,H.numberFormats=l,H.__datetimeFormatters=M,H.__numberFormatters=Q,__INTLIFY_PROD_DEVTOOLS__&&Vf(H,o,de),H}const wr=e=>({[e]:Ce()});function Sr(e,t,o,n,r){const{missing:a,onWarn:i}=e;if(a!==null){const s=a(e,o,t,r);return X(s)?s:t}else return t}function hn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function lm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function cm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;num(o,e)}function um(e,t){const o=Cf(t);if(o==null)throw fn(0);if(Cr(o)===1){const a=Tf(o);return e.plural(a.reduce((i,s)=>[...i,Ql(e,s)],[]))}else return Ql(e,o)}function Ql(e,t){const o=Pf(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=wf(t).reduce((r,a)=>[...r,Ar(e,a)],[]);return e.normalize(n)}}function Ar(e,t){const o=Cr(t);switch(o){case 3:return fa(t,o);case 9:return fa(t,o);case 4:{const n=t;if(mt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(mt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw fn(o)}case 5:{const n=t;if(mt(n,"i")&&Oe(n.i))return e.interpolate(e.list(n.i));if(mt(n,"index")&&Oe(n.index))return e.interpolate(e.list(n.index));throw fn(o)}case 6:{const n=t,r=Sf(n),a=Lf(n);return e.linked(Ar(e,a),r?Ar(e,r):void 0,e.type)}case 7:return fa(t,o);case 8:return fa(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dm=e=>e;let ha=Ce();function pm(e,t={}){let o=!1;const n=t.onError||Xg;return t.onError=r=>{o=!0,n(r)},{...yf(e,t),detectError:o}}function gm(e,t){if(X(e)){me(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dm)(e),r=ha[n];if(r)return r;const{ast:a,detectError:i}=pm(e,{...t,location:!1,jit:!0}),s=Lr(a);return i?s:ha[n]=s}else{const o=e.cacheKey;if(o){const n=ha[o];return n||(ha[o]=Lr(e))}else return Lr(e)}}const ec=()=>"",dt=e=>Le(e);function tc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:a,fallbackLocale:i,messages:s}=e,[l,c]=Er(...t),u=me(c.missingWarn)?c.missingWarn:e.missingWarn,f=me(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,h=me(c.escapeParameter)?c.escapeParameter:e.escapeParameter,C=!!c.resolvedMessage,A=X(c.default)||me(c.default)?me(c.default)?a?l:()=>l:c.default:o?a?l:()=>l:"",v=o||A!=="",z=Tr(e,c);h&&fm(c);let[x,y,_]=C?[l,z,s[z]||Ce()]:oc(e,l,z,i,f,u),$=x,w=l;if(!C&&!(X($)||Lt($)||dt($))&&v&&($=A,w=$),!C&&(!(X($)||Lt($)||dt($))||!X(y)))return r?ma:l;let L=!1;const N=()=>{L=!0},O=dt($)?$:nc(e,l,y,$,w,N);if(L)return $;const M=bm(e,y,_,c),Q=Bf(M),de=mm(e,O,Q);let H=n?n(de,l):de;if(h&&X(H)&&(H=Hg(H)),__INTLIFY_PROD_DEVTOOLS__){const J={timestamp:Date.now(),key:X(l)?l:dt($)?$.key:"",locale:y||(dt($)?$.locale:""),format:X($)?$:dt($)?$.source:"",message:H};J.meta=Ue({},e.__meta,rm()||{}),jf(J)}return H}function fm(e){Ee(e.list)?e.list=e.list.map(t=>X(t)?_l(t):t):$e(e.named)&&Object.keys(e.named).forEach(t=>{X(e.named[t])&&(e.named[t]=_l(e.named[t]))})}function oc(e,t,o,n,r,a){const{messages:i,onWarn:s,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let f=Ce(),h,C=null;const A="translate";for(let v=0;vn;return c.locale=o,c.key=t,c}const l=i(n,hm(e,o,r,n,s,a));return l.locale=o,l.key=t,l.source=n,l}function mm(e,t,o){return t(o)}function Er(...e){const[t,o,n]=e,r=Ce();if(!X(t)&&!Oe(t)&&!dt(t)&&!Lt(t))throw Ht(At.INVALID_ARGUMENT);const a=Oe(t)?String(t):(dt(t),t);return Oe(o)?r.plural=o:X(o)?r.default=o:le(o)&&!ca(o)?r.named=o:Ee(o)&&(r.list=o),Oe(n)?r.plural=n:X(n)?r.default=n:le(n)&&Ue(r,n),[a,r]}function hm(e,t,o,n,r,a){return{locale:t,key:o,warnHtmlMessage:r,onError:i=>{throw a&&a(i),i},onCacheKey:i=>kg(t,o,i)}}function bm(e,t,o,n){const{modifiers:r,pluralRules:a,messageResolver:i,fallbackLocale:s,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,h={locale:t,modifiers:r,pluralRules:a,messages:C=>{let A=i(o,C);if(A==null&&u){const[,,v]=oc(u,C,t,s,l,c);A=i(v,C)}if(X(A)||Lt(A)){let v=!1;const x=nc(e,C,t,A,C,()=>{v=!0});return v?ec:x}else return dt(A)?A:ec}};return e.processor&&(h.processor=e.processor),n.list&&(h.list=n.list),n.named&&(h.named=n.named),Oe(n.plural)&&(h.pluralIndex=n.plural),h}function ac(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:i}=e,{__datetimeFormatters:s}=e,[l,c,u,f]=Rr(...t),h=me(u.missingWarn)?u.missingWarn:e.missingWarn;me(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const C=!!u.part,A=Tr(e,u),v=i(e,r,A);if(!X(l)||l==="")return new Intl.DateTimeFormat(A,f).format(c);let z={},x,y=null;const _="datetime format";for(let L=0;L{rc.includes(l)?i[l]=o[l]:a[l]=o[l]}),X(n)?a.locale=n:le(n)&&(i=n),le(r)&&(i=r),[a.key||"",s,a,i]}function ic(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function sc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:i}=e,{__numberFormatters:s}=e,[l,c,u,f]=Fr(...t),h=me(u.missingWarn)?u.missingWarn:e.missingWarn;me(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const C=!!u.part,A=Tr(e,u),v=i(e,r,A);if(!X(l)||l==="")return new Intl.NumberFormat(A,f).format(c);let z={},x,y=null;const _="number format";for(let L=0;L{lc.includes(l)?i[l]=o[l]:a[l]=o[l]}),X(n)?a.locale=n:le(n)&&(i=n),le(r)&&(i=r),[a.key||"",s,a,i]}function cc(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}vf();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const _m="9.14.5";function $m(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(fn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(fn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1)}const ym=qg.__EXTEND_POINT__,zt=ua(ym);zt(),zt(),zt(),zt(),zt(),zt(),zt(),zt(),zt();const uc=At.__EXTEND_POINT__,tt=ua(uc),De={UNEXPECTED_RETURN_TYPE:uc,INVALID_ARGUMENT:tt(),MUST_BE_CALL_SETUP_TOP:tt(),NOT_INSTALLED:tt(),NOT_AVAILABLE_IN_LEGACY_MODE:tt(),REQUIRED_VALUE:tt(),INVALID_VALUE:tt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:tt(),NOT_INSTALLED_WITH_PROVIDE:tt(),UNEXPECTED_ERROR:tt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:tt(),BRIDGE_SUPPORT_VUE_2_ONLY:tt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:tt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:tt(),__EXTEND_POINT__:tt()};function ze(e,...t){return Fo(e,null,void 0)}const Nr=Jt("__translateVNode"),Mr=Jt("__datetimeParts"),Or=Jt("__numberParts"),dc=Jt("__setPluralRules"),pc=Jt("__injectWithOption"),kr=Jt("__dispose");function bn(e){if(!$e(e)||Lt(e))return e;for(const t in e)if(mt(e,t))if(!t.includes("."))$e(e[t])&&bn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,a=!1;for(let i=0;i{if("locale"in s&&"resource"in s){const{locale:l,resource:c}=s;l?(i[l]=i[l]||Ce(),pa(c,i[l])):pa(c,i)}else q(s)&&pa(JSON.parse(s),i)}),r==null&&a)for(const s in i)mt(i,s)&&bn(i[s]);return i}function fc(e){return e.type}function gc(e,t,o){let n=$e(t.messages)?t.messages:Ce();"__i18nGlobal"in o&&(n=ba(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if($e(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if($e(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function mc(e){return Ie(an,null,e,0)}const hc="__INTLIFY_META__",bc=()=>[],vm=()=>!1;let _c=0;function $c(e){return(t,o,n,r)=>e(o,n,St()||void 0,r)}const Cm=()=>{const e=St();let t=null;return e&&(t=fc(e)[hc])?{[hc]:t}:null};function xr(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,a=e.flatJson,i=la?Pe:zn,s=!!e.translateExistCompatible;let l=he(e.inheritLocale)?e.inheritLocale:!0;const c=i(o&&l?o.locale.value:q(e.locale)?e.locale:Oo),u=i(o&&l?o.fallbackLocale.value:q(e.fallbackLocale)||Re(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=i(ba(c.value,e)),h=i(le(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),C=i(le(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=o?o.missingWarn:he(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,v=o?o.fallbackWarn:he(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,z=o?o.fallbackRoot:he(e.fallbackRoot)?e.fallbackRoot:!0,D=!!e.fallbackFormat,y=Le(e.missing)?e.missing:null,b=Le(e.missing)?$c(e.missing):null,_=Le(e.postTranslation)?e.postTranslation:null,w=o?o.warnHtmlMessage:he(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const N=o?o.modifiers:le(e.modifiers)?e.modifiers:{};let k=e.pluralRules||o&&o.pluralRules,M;M=(()=>{r&&Jl(null);const P={version:_m,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:N,pluralRules:k,missing:b===null?void 0:b,missingWarn:A,fallbackWarn:v,fallbackFormat:D,unresolving:!0,postTranslation:_===null?void 0:_,warnHtmlMessage:w,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};P.datetimeFormats=h.value,P.numberFormats=C.value,P.__datetimeFormatters=le(M)?M.__datetimeFormatters:void 0,P.__numberFormatters=le(M)?M.__numberFormatters:void 0;const F=sm(P);return r&&Jl(F),F})(),hn(M,c.value,u.value);function pe(){return[c.value,u.value,g.value,h.value,C.value]}const O=ie({get:()=>c.value,set:P=>{c.value=P,M.locale=c.value}}),te=ie({get:()=>u.value,set:P=>{u.value=P,M.fallbackLocale=u.value,hn(M,c.value,P)}}),me=ie(()=>g.value),ge=ie(()=>h.value),ce=ie(()=>C.value);function G(){return Le(_)?_:null}function W(P){_=P,M.postTranslation=P}function ne(){return y}function ue(P){P!==null&&(b=$c(P)),y=P,M.missing=b}const fe=(P,F,oe,de,Ee,Ze)=>{pe();let Be;try{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=o?im():void 0),Be=P(M)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=void 0)}if(oe!=="translate exists"&&Oe(Be)&&Be===ma||oe==="translate exists"&&!Be){const[bo,bi]=F();return o&&z?de(o):Ee(bo)}else{if(Ze(Be))return Be;throw ze(De.UNEXPECTED_RETURN_TYPE)}};function _e(...P){return fe(F=>Reflect.apply(tc,null,[F,...P]),()=>Er(...P),"translate",F=>Reflect.apply(F.t,F,[...P]),F=>F,F=>q(F))}function S(...P){const[F,oe,de]=P;if(de&&!$e(de))throw ze(De.INVALID_ARGUMENT);return _e(F,oe,Ue({resolvedMessage:!0},de||{}))}function x(...P){return fe(F=>Reflect.apply(ac,null,[F,...P]),()=>Rr(...P),"datetime format",F=>Reflect.apply(F.d,F,[...P]),()=>Gl,F=>q(F))}function j(...P){return fe(F=>Reflect.apply(sc,null,[F,...P]),()=>Fr(...P),"number format",F=>Reflect.apply(F.n,F,[...P]),()=>Gl,F=>q(F))}function Y(P){return P.map(F=>q(F)||Oe(F)||he(F)?mc(String(F)):F)}const Q={normalize:Y,interpolate:P=>P,type:"vnode"};function Z(...P){return fe(F=>{let oe;const de=F;try{de.processor=Q,oe=Reflect.apply(tc,null,[de,...P])}finally{de.processor=null}return oe},()=>Er(...P),"translate",F=>F[Nr](...P),F=>[mc(F)],F=>Re(F))}function ee(...P){return fe(F=>Reflect.apply(sc,null,[F,...P]),()=>Fr(...P),"number format",F=>F[Or](...P),bc,F=>q(F)||Re(F))}function Ae(...P){return fe(F=>Reflect.apply(ac,null,[F,...P]),()=>Rr(...P),"datetime format",F=>F[Mr](...P),bc,F=>q(F)||Re(F))}function f(P){k=P,M.pluralRules=k}function $(P,F){return fe(()=>{if(!P)return!1;const oe=q(F)?F:c.value,de=I(oe),Ee=M.messageResolver(de,P);return s?Ee!=null:Lt(Ee)||dt(Ee)||q(Ee)},()=>[P],"translate exists",oe=>Reflect.apply(oe.te,oe,[P,F]),vm,oe=>he(oe))}function m(P){let F=null;const oe=Ul(M,u.value,c.value);for(let de=0;de{l&&(c.value=P,M.locale=P,hn(M,c.value,u.value))}),Ye(o.fallbackLocale,P=>{l&&(u.value=P,M.fallbackLocale=P,hn(M,c.value,u.value))}));const B={id:_c,locale:O,fallbackLocale:te,get inheritLocale(){return l},set inheritLocale(P){l=P,P&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,hn(M,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:me,get modifiers(){return N},get pluralRules(){return k||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(P){A=P,M.missingWarn=A},get fallbackWarn(){return v},set fallbackWarn(P){v=P,M.fallbackWarn=v},get fallbackRoot(){return z},set fallbackRoot(P){z=P},get fallbackFormat(){return D},set fallbackFormat(P){D=P,M.fallbackFormat=D},get warnHtmlMessage(){return w},set warnHtmlMessage(P){w=P,M.warnHtmlMessage=P},get escapeParameter(){return L},set escapeParameter(P){L=P,M.escapeParameter=P},t:_e,getLocaleMessage:I,setLocaleMessage:H,mergeLocaleMessage:V,getPostTranslationHandler:G,setPostTranslationHandler:W,getMissingHandler:ne,setMissingHandler:ue,[dc]:f};return B.datetimeFormats=ge,B.numberFormats=ce,B.rt=S,B.te=$,B.tm=E,B.d=x,B.n=j,B.getDateTimeFormat=U,B.setDateTimeFormat=d,B.mergeDateTimeFormat=p,B.getNumberFormat=T,B.setNumberFormat=R,B.mergeNumberFormat=K,B[pc]=n,B[Nr]=Z,B[Mr]=Ae,B[Or]=ee,B}function Tm(e){const t=q(e.locale)?e.locale:Oo,o=q(e.fallbackLocale)||Re(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Le(e.missing)?e.missing:void 0,r=he(e.silentTranslationWarn)||Zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=he(e.silentFallbackWarn)||Zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=he(e.fallbackRoot)?e.fallbackRoot:!0,s=!!e.formatFallbackMessages,l=le(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Le(e.postTranslation)?e.postTranslation:void 0,g=q(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,C=he(e.sync)?e.sync:!0;let A=e.messages;if(le(e.sharedMessages)){const L=e.sharedMessages;A=Object.keys(L).reduce((k,M)=>{const J=k[M]||(k[M]={});return Ue(J,L[M]),k},A||{})}const{__i18n:v,__root:z,__injectWithOption:D}=e,y=e.datetimeFormats,b=e.numberFormats,_=e.flatJson,w=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:A,flatJson:_,datetimeFormats:y,numberFormats:b,missing:n,missingWarn:r,fallbackWarn:a,fallbackRoot:i,fallbackFormat:s,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:C,translateExistCompatible:w,__i18n:v,__root:z,__injectWithOption:D}}function Ir(e={},t){{const o=xr(Tm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(a){o.locale.value=a},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(a){o.fallbackLocale.value=a},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(a){},get missing(){return o.getMissingHandler()},set missing(a){o.setMissingHandler(a)},get silentTranslationWarn(){return he(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(a){o.missingWarn=he(a)?!a:a},get silentFallbackWarn(){return he(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(a){o.fallbackWarn=he(a)?!a:a},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(a){o.fallbackFormat=a},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(a){o.setPostTranslationHandler(a)},get sync(){return o.inheritLocale},set sync(a){o.inheritLocale=a},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(a){o.warnHtmlMessage=a!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(a){o.escapeParameter=a},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(a){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...a){const[i,s,l]=a,c={};let u=null,g=null;if(!q(i))throw ze(De.INVALID_ARGUMENT);const h=i;return q(s)?c.locale=s:Re(s)?u=s:le(s)&&(g=s),Re(l)?u=l:le(l)&&(g=l),Reflect.apply(o.t,o,[h,u||g||{},c])},rt(...a){return Reflect.apply(o.rt,o,[...a])},tc(...a){const[i,s,l]=a,c={plural:1};let u=null,g=null;if(!q(i))throw ze(De.INVALID_ARGUMENT);const h=i;return q(s)?c.locale=s:Oe(s)?c.plural=s:Re(s)?u=s:le(s)&&(g=s),q(l)?c.locale=l:Re(l)?u=l:le(l)&&(g=l),Reflect.apply(o.t,o,[h,u||g||{},c])},te(a,i){return o.te(a,i)},tm(a){return o.tm(a)},getLocaleMessage(a){return o.getLocaleMessage(a)},setLocaleMessage(a,i){o.setLocaleMessage(a,i)},mergeLocaleMessage(a,i){o.mergeLocaleMessage(a,i)},d(...a){return Reflect.apply(o.d,o,[...a])},getDateTimeFormat(a){return o.getDateTimeFormat(a)},setDateTimeFormat(a,i){o.setDateTimeFormat(a,i)},mergeDateTimeFormat(a,i){o.mergeDateTimeFormat(a,i)},n(...a){return Reflect.apply(o.n,o,[...a])},getNumberFormat(a){return o.getNumberFormat(a)},setNumberFormat(a,i){o.setNumberFormat(a,i)},mergeNumberFormat(a,i){o.mergeNumberFormat(a,i)},getChoiceIndex(a,i){return-1}};return r.__extender=n,r}}const Dr={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Pm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===at?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ce())}function yc(e){return at}const vc=Yt({name:"i18n-t",props:Ue({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Oe(e)||!isNaN(e)}},Dr),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||ko({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(o).filter(g=>g!=="_"),i=Ce();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=q(e.plural)?+e.plural:e.plural);const s=Pm(t,a),l=r[Nr](e.keypath,s,i),c=Ue(Ce(),n),u=q(e.tag)||$e(e.tag)?e.tag:yc();return go(u,c,l)}}});function wm(e){return Re(e)&&!q(e[0])}function Cc(e,t,o,n){const{slots:r,attrs:a}=t;return()=>{const i={part:!0};let s=Ce();e.locale&&(i.locale=e.locale),q(e.format)?i.key=e.format:$e(e.format)&&(q(e.format.key)&&(i.key=e.format.key),s=Object.keys(e.format).reduce((h,C)=>o.includes(C)?Ue(Ce(),h,{[C]:e.format[C]}):h,Ce()));const l=n(e.value,i,s);let c=[i.key];Re(l)?c=l.map((h,C)=>{const A=r[h.type],v=A?A({[h.type]:h.value,index:C,parts:l}):[h.value];return wm(v)&&(v[0].key=`${h.type}-${C}`),v}):q(l)&&(c=[l]);const u=Ue(Ce(),a),g=q(e.tag)||$e(e.tag)?e.tag:yc();return go(g,u,c)}}const Tc=Yt({name:"i18n-n",props:Ue({value:{type:Number,required:!0},format:{type:[String,Object]}},Dr),setup(e,t){const o=e.i18n||ko({useScope:e.scope,__useComponent:!0});return Cc(e,t,lc,(...n)=>o[Or](...n))}}),Pc=Yt({name:"i18n-d",props:Ue({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Dr),setup(e,t){const o=e.i18n||ko({useScope:e.scope,__useComponent:!0});return Cc(e,t,rc,(...n)=>o[Mr](...n))}});function Sm(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 Lm(e){const t=i=>{const{instance:s,modifiers:l,value:c}=i;if(!s||!s.$)throw ze(De.UNEXPECTED_ERROR);const u=Sm(e,s.$),g=wc(c);return[Reflect.apply(u.t,u,[...Sc(g)]),u]};return{created:(i,s)=>{const[l,c]=t(s);la&&e.global===c&&(i.__i18nWatcher=Ye(c.locale,()=>{s.instance&&s.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{la&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:s})=>{if(i.__composer){const l=i.__composer,c=wc(s);i.textContent=Reflect.apply(l.t,l,[...Sc(c)])}},getSSRProps:i=>{const[s]=t(i);return{textContent:s}}}}function wc(e){if(q(e))return{path:e};if(le(e)){if(!("path"in e))throw ze(De.REQUIRED_VALUE,"path");return e}else throw ze(De.INVALID_VALUE)}function Sc(e){const{path:t,locale:o,args:n,choice:r,plural:a}=e,i={},s=n||{};return q(o)&&(i.locale=o),Oe(r)&&(i.plural=r),Oe(a)&&(i.plural=a),[t,s,i]}function Am(e,t,...o){const n=le(o[0])?o[0]:{},r=!!n.useI18nComponentName;(he(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":vc.name,"I18nT"].forEach(i=>e.component(i,vc)),[Tc.name,"I18nN"].forEach(i=>e.component(i,Tc)),[Pc.name,"I18nD"].forEach(i=>e.component(i,Pc))),e.directive("t",Lm(t))}function Em(e,t,o){return{beforeCreate(){const n=St();if(!n)throw ze(De.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const a=r.i18n;if(r.__i18n&&(a.__i18n=r.__i18n),a.__root=t,this===this.$root)this.$i18n=Lc(e,a);else{a.__injectWithOption=!0,a.__extender=o.__vueI18nExtend,this.$i18n=Ir(a);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=Lc(e,r);else{this.$i18n=Ir({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&gc(t,r,r),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$tc=(...a)=>this.$i18n.tc(...a),this.$te=(a,i)=>this.$i18n.te(a,i),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=St();if(!n)throw ze(De.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Lc(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[dc](t.pluralizationRules||e.pluralizationRules);const o=ba(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 Rm=Jt("global-vue-i18n");function Fm(e={},t){const o=__VUE_I18N_LEGACY_API__&&he(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=he(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,a=new Map,[i,s]=Nm(e,o),l=Jt("");function c(h){return a.get(h)||null}function u(h,C){a.set(h,C)}function g(h){a.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(C,...A){if(C.__VUE_I18N_SYMBOL__=l,C.provide(C.__VUE_I18N_SYMBOL__,h),le(A[0])){const D=A[0];h.__composerExtend=D.__composerExtend,h.__vueI18nExtend=D.__vueI18nExtend}let v=null;!o&&n&&(v=Wm(C,h.global)),__VUE_I18N_FULL_INSTALL__&&Am(C,h,...A),__VUE_I18N_LEGACY_API__&&o&&C.mixin(Em(s,s.__composer,h));const z=C.unmount;C.unmount=()=>{v&&v(),h.dispose(),z()}},get global(){return s},dispose(){i.stop()},__instances:a,__getInstance:c,__setInstance:u,__deleteInstance:g};return h}}function ko(e={}){const t=St();if(t==null)throw ze(De.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ze(De.NOT_INSTALLED);const o=Mm(t),n=km(o),r=fc(t),a=Om(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw ze(De.NOT_AVAILABLE_IN_LEGACY_MODE);return Hm(t,a,n,e)}if(a==="global")return gc(n,e,r),n;if(a==="parent"){let l=xm(o,t,e.__useComponent);return l==null&&(l=n),l}const i=o;let s=i.__getInstance(t);if(s==null){const l=Ue({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),s=xr(l),i.__composerExtend&&(s[kr]=i.__composerExtend(s)),Dm(i,t,s),i.__setInstance(t,s)}return s}function Nm(e,t,o){const n=Nn();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ir(e)):n.run(()=>xr(e));if(r==null)throw ze(De.UNEXPECTED_ERROR);return[n,r]}}function Mm(e){{const t=Ve(e.isCE?Rm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ze(e.isCE?De.NOT_INSTALLED_WITH_PROVIDE:De.UNEXPECTED_ERROR);return t}}function Om(e,t){return ca(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function km(e){return e.mode==="composition"?e.global:e.global.__composer}function xm(e,t,o=!1){let n=null;const r=t.root;let a=Im(t,o);for(;a!=null;){const i=e;if(e.mode==="composition")n=i.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const s=i.__getInstance(a);s!=null&&(n=s.__composer,o&&n&&!n[pc]&&(n=null))}if(n!=null||r===a)break;a=a.parent}return n}function Im(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Dm(e,t,o){wo(()=>{},t),Xn(()=>{const n=o;e.__deleteInstance(t);const r=n[kr];r&&(r(),delete n[kr])},t)}function Hm(e,t,o,n={}){const r=t==="local",a=zn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ze(De.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=he(n.inheritLocale)?n.inheritLocale:!q(n.locale),s=Pe(!r||i?o.locale.value:q(n.locale)?n.locale:Oo),l=Pe(!r||i?o.fallbackLocale.value:q(n.fallbackLocale)||Re(n.fallbackLocale)||le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:s.value),c=Pe(ba(s.value,n)),u=Pe(le(n.datetimeFormats)?n.datetimeFormats:{[s.value]:{}}),g=Pe(le(n.numberFormats)?n.numberFormats:{[s.value]:{}}),h=r?o.missingWarn:he(n.missingWarn)||Zt(n.missingWarn)?n.missingWarn:!0,C=r?o.fallbackWarn:he(n.fallbackWarn)||Zt(n.fallbackWarn)?n.fallbackWarn:!0,A=r?o.fallbackRoot:he(n.fallbackRoot)?n.fallbackRoot:!0,v=!!n.fallbackFormat,z=Le(n.missing)?n.missing:null,D=Le(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:he(n.warnHtmlMessage)?n.warnHtmlMessage:!0,b=!!n.escapeParameter,_=r?o.modifiers:le(n.modifiers)?n.modifiers:{},w=n.pluralRules||r&&o.pluralRules;function L(){return[s.value,l.value,c.value,u.value,g.value]}const N=ie({get:()=>a.value?a.value.locale.value:s.value,set:m=>{a.value&&(a.value.locale.value=m),s.value=m}}),k=ie({get:()=>a.value?a.value.fallbackLocale.value:l.value,set:m=>{a.value&&(a.value.fallbackLocale.value=m),l.value=m}}),M=ie(()=>a.value?a.value.messages.value:c.value),J=ie(()=>u.value),pe=ie(()=>g.value);function O(){return a.value?a.value.getPostTranslationHandler():D}function te(m){a.value&&a.value.setPostTranslationHandler(m)}function me(){return a.value?a.value.getMissingHandler():z}function ge(m){a.value&&a.value.setMissingHandler(m)}function ce(m){return L(),m()}function G(...m){return a.value?ce(()=>Reflect.apply(a.value.t,null,[...m])):ce(()=>"")}function W(...m){return a.value?Reflect.apply(a.value.rt,null,[...m]):""}function ne(...m){return a.value?ce(()=>Reflect.apply(a.value.d,null,[...m])):ce(()=>"")}function ue(...m){return a.value?ce(()=>Reflect.apply(a.value.n,null,[...m])):ce(()=>"")}function fe(m){return a.value?a.value.tm(m):{}}function _e(m,E){return a.value?a.value.te(m,E):!1}function S(m){return a.value?a.value.getLocaleMessage(m):{}}function x(m,E){a.value&&(a.value.setLocaleMessage(m,E),c.value[m]=E)}function j(m,E){a.value&&a.value.mergeLocaleMessage(m,E)}function Y(m){return a.value?a.value.getDateTimeFormat(m):{}}function X(m,E){a.value&&(a.value.setDateTimeFormat(m,E),u.value[m]=E)}function Q(m,E){a.value&&a.value.mergeDateTimeFormat(m,E)}function Z(m){return a.value?a.value.getNumberFormat(m):{}}function ee(m,E){a.value&&(a.value.setNumberFormat(m,E),g.value[m]=E)}function Ae(m,E){a.value&&a.value.mergeNumberFormat(m,E)}const f={get id(){return a.value?a.value.id:-1},locale:N,fallbackLocale:k,messages:M,datetimeFormats:J,numberFormats:pe,get inheritLocale(){return a.value?a.value.inheritLocale:i},set inheritLocale(m){a.value&&(a.value.inheritLocale=m)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:_},get pluralRules(){return a.value?a.value.pluralRules:w},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:h},set missingWarn(m){a.value&&(a.value.missingWarn=m)},get fallbackWarn(){return a.value?a.value.fallbackWarn:C},set fallbackWarn(m){a.value&&(a.value.missingWarn=m)},get fallbackRoot(){return a.value?a.value.fallbackRoot:A},set fallbackRoot(m){a.value&&(a.value.fallbackRoot=m)},get fallbackFormat(){return a.value?a.value.fallbackFormat:v},set fallbackFormat(m){a.value&&(a.value.fallbackFormat=m)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:y},set warnHtmlMessage(m){a.value&&(a.value.warnHtmlMessage=m)},get escapeParameter(){return a.value?a.value.escapeParameter:b},set escapeParameter(m){a.value&&(a.value.escapeParameter=m)},t:G,getPostTranslationHandler:O,setPostTranslationHandler:te,getMissingHandler:me,setMissingHandler:ge,rt:W,d:ne,n:ue,tm:fe,te:_e,getLocaleMessage:S,setLocaleMessage:x,mergeLocaleMessage:j,getDateTimeFormat:Y,setDateTimeFormat:X,mergeDateTimeFormat:Q,getNumberFormat:Z,setNumberFormat:ee,mergeNumberFormat:Ae};function $(m){m.locale.value=s.value,m.fallbackLocale.value=l.value,Object.keys(c.value).forEach(E=>{m.mergeLocaleMessage(E,c.value[E])}),Object.keys(u.value).forEach(E=>{m.mergeDateTimeFormat(E,u.value[E])}),Object.keys(g.value).forEach(E=>{m.mergeNumberFormat(E,g.value[E])}),m.escapeParameter=b,m.fallbackFormat=v,m.fallbackRoot=A,m.fallbackWarn=C,m.missingWarn=h,m.warnHtmlMessage=y}return ds(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ze(De.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=a.value=e.proxy.$i18n.__composer;t==="global"?(s.value=m.locale.value,l.value=m.fallbackLocale.value,c.value=m.messages.value,u.value=m.datetimeFormats.value,g.value=m.numberFormats.value):r&&$(m)}),f}const zm=["locale","fallbackLocale","availableLocales"],Ac=["t","rt","d","n","tm","te"];function Wm(e,t){const o=Object.create(null);return zm.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a)throw ze(De.UNEXPECTED_ERROR);const i=Ne(a.value)?{get(){return a.value.value},set(s){a.value.value=s}}:{get(){return a.get&&a.get()}};Object.defineProperty(o,r,i)}),e.config.globalProperties.$i18n=o,Ac.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a||!a.value)throw ze(De.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,a)}),()=>{delete e.config.globalProperties.$i18n,Ac.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if($m(),tm(fm),om(kg),nm(Ul),__INTLIFY_PROD_DEVTOOLS__){const e=fn();e.__INTLIFY__=!0,Gg(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Um=Object.assign({"./locales/ar/aria.json":{backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها",searchPeopleGroups:"ابحث عن الشعوب",resetAllFilters:"إعادة تعيين كل عوامل التصفية والبحث",selectAllRows:"تحديد كل الصفوف",deselectAllRows:"إلغاء تحديد كل الصفوف",rowDetail:"تفاصيل الصف",dismissHint:"إخفاء التلميح",resizeFiltersRail:"تغيير حجم شريط عوامل التصفية",resizeFiltersRailHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير حجم شريط عوامل التصفية",resizeChartsRail:"تغيير حجم شريط الرسوم البيانية",resizeChartsRailHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير حجم شريط الرسوم البيانية",resizeMapTableSplit:"تغيير نسبة التقسيم بين الخريطة والجدول",resizeMapTableSplitHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير نسبة التقسيم بين الخريطة والجدول",resizeTable:"تغيير ارتفاع الجدول",resizeTableHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير حجم الجدول",resizeDashboardHeight:"تغيير ارتفاع لوحة المعلومات",resizeDashboardHeightHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير ارتفاع لوحة المعلومات",removeFilter:"إزالة عامل التصفية {name}",closeDetail:"إغلاق التفاصيل",filterBreadcrumb:"مسار عوامل التصفية",railViews:"طرق عرض الشريط",upgCountLegend:"مفتاح عدد UPG",donutChart:"مخطط دائري مجوّف: {title}"},"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},"./locales/ar/mapui.json":{map:"الخريطة",marker:"علامة على الخريطة",closePopup:"إغلاق النافذة المنبثقة",zoomIn:"تكبير",zoomOut:"تصغير",resetBearing:"اسحب لتدوير الخريطة، وانقر لإعادة الشمال",toggleAttribution:"إظهار/إخفاء المصادر",mapFeedback:"ملاحظات على الخريطة",enterFullscreen:"ملء الشاشة",exitFullscreen:"الخروج من ملء الشاشة",findMyLocation:"تحديد موقعي",locationNotAvailable:"الموقع غير متاح",enableGlobe:"تفعيل الكرة الأرضية",disableGlobe:"إيقاف الكرة الأرضية",ctrlScroll:"استخدم Ctrl مع التمرير لتكبير الخريطة",cmdScroll:"استخدم ⌘ مع التمرير لتكبير الخريطة",twoFingers:"استخدم إصبعين لتحريك الخريطة",mapboxHomepage:"الصفحة الرئيسية لـ Mapbox",maplibreLogo:"شعار MapLibre"},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم صلاة وملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع ٢١٠٦ شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100",mapContextLost:"تم إلغاء تحميل هذه الخريطة لتحرير ذاكرة الرسوميات.",nOfTotal:"{n} من {total}",mapInitFailed:"تعذّر تهيئة الخريطة — تحقّق من الرمز والحاوية",countryWallIntroA:"ملصق لكل دولة، جاهز للصلاة والطباعة والتعليق على الحائط — نصلّي لأجلهم ",countryWallIntroB:". رُتّبت المناطق والدول بحسب عدد الشعوب غير المبلَّغة فيها، لتتقدّم الحاجة الأكبر.",countryWallSoon:"قريبًا: ستُنشأ قائمة صلاة لكل دولة، تسمّي كل شعب غير مبلَّغ فيها.",countryWallHeading:"ملصقات الدول — قوائم صلاة وملصقات",largerScreenNotice:"هذه الخريطة التجريبية مُعدّة للشاشات الكبيرة. تُفتح هنا، لكن بعض أجزائها قد لا يتّسع أو لا يعمل جيدًا على الهاتف.",desktopOnlyNotice:"{label} يعمل على الحاسوب فقط — افتح هذه الصفحة على حاسوب لاستخدامه.",noticeDismiss:"إغلاق",countryPosterTooMany:"عدد الشعوب أكبر من أن يتّسع له ملصق واحد بوضوح — ونعمل على حلّ لذلك."},"./locales/ar/regions.json":{"%count% people groups in %countries% countries":"%count% مجموعة شعبية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة شعبية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة الشعبية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"متبنَّاة","Adoption Progress":"تقدُّم التبنّي","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Choose a region":"اختر منطقة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مَخْدُومَة","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة شعبية غير مَخْدُومَة تتبنّاها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات الشعبية غير المبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات","Hide country posters":"إخفاء ملصقات الدولة",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...",Map:"الخريطة","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة شعبية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد.","No unengaged people groups by 2033":"لا مجموعات شعبية غير مَخْدُومَة بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة شعبية","People Groups":"مجموعات شعبية","People committed to praying":"الأشخاص الذين التزموا بالصلاة","Pick a region above, or click any dot to open that people group's country.":"اختر منطقة أعلاه، أو انقر على أي نقطة لفتح دولة تلك المجموعة الشعبية.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"اختر منطقة أو دولة من تبويب قائمة المناطق لتضييق نطاق لوحة المعلومات هذه.",Population:"عدد السكان","Prayer Coverage":"تغطية الصلاة","Prayer coverage progress":"تقدم تغطية الصلاة","Region Dashboards":"لوحات معلومات المناطق","Region dashboard":"لوحة معلومات المنطقة",Regions:"المناطق","Regions List":"قائمة المناطق",Religion:"الدين","Search names, country/continent, religions...":"ابحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Select View":"اختر العرض","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعة شعبية في %country%. تحقق من الخريطة لمعرفة المجموعات الشعبية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"المجموعات الشعبية غير المَخْدُومَة","View country posters":"عرض ملصقات الدولة",Views:"العروض","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"مجموعات شعبية متبنَّاة","people groups engaged":"مجموعات شعبية مَخْدُومَة","Outside this region":"خارج هذه المنطقة",Pray:"صلّي","Loading region dashboards…":"جارٍ تحميل لوحات المناطق…",Print:"طباعة","Preparing the page…":"جارٍ تحضير الصفحة…","No regions found.":"لم يتم العثور على مناطق.","Region data could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل بيانات المناطق. هذه مشكلة في الاتصال، وليست تصفية.","People groups could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل الشعوب. هذه مشكلة في الاتصال، وليست تصفية.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة.","Countries: %count%":"الدول: %count%","Regions: %count%":"المناطق: %count%",countryCount:"لا دول | دولة واحدة | دولتان | {n} دول | {n} دولة | {n} دولة",regionCount:"لا مناطق | منطقة واحدة | منطقتان | {n} مناطق | {n} منطقة | {n} منطقة","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"قريبًا — ستُنشأ قائمة صلاة لكل دولة، تذكر كل مجموعة شعبية غير مبلَّغة فيها."},"./locales/ar/religion.json":{family:{Christianity:"المسيحية",Islam:"الإسلام",Hinduism:"الهندوسية",Buddhism:"البوذية",Ethnoreligion:"الديانات العرقية",Judaism:"اليهودية",Sikhism:"السيخية",Unaffiliated:"غير منتمين",Other:"أخرى",Unknown:"غير معروف"}},"./locales/de/aria.json":{backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden",searchPeopleGroups:"Volksgruppen suchen",resetAllFilters:"Alle Filter und die Suche zurücksetzen",selectAllRows:"Alle Zeilen auswählen",deselectAllRows:"Auswahl aller Zeilen aufheben",rowDetail:"Zeilendetails",dismissHint:"Hinweis schließen",resizeFiltersRail:"Filterleiste in der Größe ändern",resizeFiltersRailHint:"Ziehen oder Pfeiltasten verwenden, um die Filterleiste in der Größe zu ändern",resizeChartsRail:"Diagrammleiste in der Größe ändern",resizeChartsRailHint:"Ziehen oder Pfeiltasten verwenden, um die Diagrammleiste in der Größe zu ändern",resizeMapTableSplit:"Aufteilung zwischen Karte und Tabelle ändern",resizeMapTableSplitHint:"Ziehen oder Pfeiltasten verwenden, um die Aufteilung zwischen Karte und Tabelle zu ändern",resizeTable:"Tabellenhöhe ändern",resizeTableHint:"Ziehen oder Pfeiltasten verwenden, um die Tabelle in der Größe zu ändern",resizeDashboardHeight:"Höhe des Dashboards ändern",resizeDashboardHeightHint:"Ziehen oder Pfeiltasten verwenden, um die Höhe des Dashboards zu ändern",removeFilter:"Filter {name} entfernen",closeDetail:"Details schließen",filterBreadcrumb:"Filterpfad",railViews:"Ansichten der Leiste",upgCountLegend:"Legende der UPG-Anzahl",donutChart:"Ringdiagramm: {title}"},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},"./locales/de/mapui.json":{map:"Karte",marker:"Kartenmarkierung",closePopup:"Popup schließen",zoomIn:"Vergrößern",zoomOut:"Verkleinern",resetBearing:"Ziehen, um die Karte zu drehen; klicken, um nach Norden auszurichten",toggleAttribution:"Quellenangaben ein-/ausblenden",mapFeedback:"Feedback zur Karte",enterFullscreen:"Vollbild",exitFullscreen:"Vollbild beenden",findMyLocation:"Meinen Standort finden",locationNotAvailable:"Standort nicht verfügbar",enableGlobe:"Globus einschalten",disableGlobe:"Globus ausschalten",ctrlScroll:"Strg + Scrollen zum Zoomen der Karte",cmdScroll:"⌘ + Scrollen zum Zoomen der Karte",twoFingers:"Mit zwei Fingern die Karte bewegen",mapboxHomepage:"Mapbox-Startseite",maplibreLogo:"MapLibre-Logo"},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den 2.106 unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:".",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100",mapContextLost:"Diese Karte wurde entladen, um Grafikspeicher freizugeben.",nOfTotal:"{n} von {total}",mapInitFailed:"Karte konnte nicht initialisiert werden — Token und Container prüfen",countryWallIntroA:"Ein Poster pro Land, bereit zum Beten, Drucken und Aufhängen — und für sie beten ",countryWallIntroB:". Regionen und Länder sind danach geordnet, wie viele unerreichte Volksgruppen sie umfassen, damit der größte Bedarf vorne steht.",countryWallSoon:"Demnächst: Für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin mit Namen nennt.",countryWallHeading:"Länderposter — Gebetslisten und Poster",largerScreenNotice:"Diese experimentelle Karte ist für große Bildschirme gebaut. Sie öffnet sich hier, aber Teile passen oder funktionieren auf einem Telefon womöglich nicht gut.",desktopOnlyNotice:"{label} funktioniert nur am Desktop – öffnen Sie diese Seite an einem Computer.",noticeDismiss:"Schließen",countryPosterTooMany:"Zu viele Volksgruppen, um lesbar auf ein Plakat zu passen – an einer Lösung wird gearbeitet."},"./locales/de/regions.json":{"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Adoptiert","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Choose a region":"Region auswählen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Fortschritt der Arbeit vor Ort","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden","Hide country posters":"Länderposter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...",Map:"Karte","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt.","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben","Pick a region above, or click any dot to open that people group's country.":"Wählen Sie oben eine Region aus oder klicken Sie auf einen Punkt, um das Land dieser Volksgruppe zu öffnen.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Wählen Sie im Tab „Regionenliste“ eine Region oder ein Land aus, um dieses Dashboard einzugrenzen.",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung","Region Dashboards":"Regionen-Dashboards","Region dashboard":"Regions-Dashboard",Regions:"Regionen","Regions List":"Regionenliste",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Select View":"Ansicht auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Unberührte Volksgruppen","View country posters":"Länderposter ansehen",Views:"Ansichten","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","Outside this region":"Außerhalb dieser Region",Pray:"Ich bete","Loading region dashboards…":"Regions-Dashboards werden geladen…",Print:"Drucken","Preparing the page…":"Seite wird vorbereitet…","No regions found.":"Keine Regionen gefunden.","Region data could not be loaded. This is a connection problem, not a filter.":"Regionsdaten konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","People groups could not be loaded. This is a connection problem, not a filter.":"Volksgruppen konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Die Karte konnte nicht starten. Das ist ein Karten-Token- oder Verbindungsproblem, kein Filter — die Zahlen oben sind davon nicht betroffen.","Countries: %count%":"Länder: %count%","Regions: %count%":"Regionen: %count%",countryCount:"{n} Land | {n} Länder",regionCount:"{n} Region | {n} Regionen","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Demnächst — für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin benennt."},"./locales/de/religion.json":{family:{Christianity:"Christentum",Islam:"Islam",Hinduism:"Hinduismus",Buddhism:"Buddhismus",Ethnoreligion:"Ethnische Religionen",Judaism:"Judentum",Sikhism:"Sikhismus",Unaffiliated:"Konfessionslos",Other:"Andere",Unknown:"Unbekannt"}},"./locales/en/aria.json":{backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend",searchPeopleGroups:"Search people groups",resetAllFilters:"Reset all filters and search",selectAllRows:"Select all rows",deselectAllRows:"Deselect all rows",rowDetail:"Row detail",dismissHint:"Dismiss hint",resizeFiltersRail:"Resize filters rail",resizeFiltersRailHint:"Drag or use arrow keys to resize the filters rail",resizeChartsRail:"Resize charts rail",resizeChartsRailHint:"Drag or use arrow keys to resize the charts rail",resizeMapTableSplit:"Resize map/table split",resizeMapTableSplitHint:"Drag or use arrow keys to resize the map/table split",resizeTable:"Resize table height",resizeTableHint:"Drag or use arrow keys to resize the table",resizeDashboardHeight:"Resize dashboard height",resizeDashboardHeightHint:"Drag or use arrow keys to resize the dashboard's height",removeFilter:"Remove filter {name}",closeDetail:"Close detail",filterBreadcrumb:"Filter breadcrumb",railViews:"Rail views",upgCountLegend:"UPG count legend",donutChart:"{title} donut chart"},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},"./locales/en/mapui.json":{map:"Map",marker:"Map marker",closePopup:"Close popup",zoomIn:"Zoom in",zoomOut:"Zoom out",resetBearing:"Drag to rotate map, click to reset north",toggleAttribution:"Toggle attribution",mapFeedback:"Map feedback",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",findMyLocation:"Find my location",locationNotAvailable:"Location not available",enableGlobe:"Enable globe",disableGlobe:"Disable globe",ctrlScroll:"Use Ctrl + scroll to zoom the map",cmdScroll:"Use ⌘ + scroll to zoom the map",twoFingers:"Use two fingers to move the map",mapboxHomepage:"Mapbox homepage",maplibreLogo:"MapLibre logo"},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the 2,106 unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100",mapContextLost:"This map was unloaded to free graphics memory.",nOfTotal:"{n} of {total}",mapInitFailed:"Map failed to initialize — check token and container",countryWallIntroA:"One poster per country, ready to pray, print, and put on a wall — praying for them ",countryWallIntroB:". Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",countryWallSoon:"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.",countryWallHeading:"Country Posters — Prayer Lists & Posters",largerScreenNotice:"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.",desktopOnlyNotice:"{label} only supports desktop — open this page on a desktop to use it.",noticeDismiss:"Dismiss",countryPosterTooMany:"Too many people groups to fit on one poster legibly — a solution is in progress."},"./locales/en/regions.json":{"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Choose a region":"Choose a region","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters","Hide country posters":"Hide country posters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...",Map:"Map","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No poster has been generated for this country yet.":"No poster has been generated for this country yet.","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying","Pick a region above, or click any dot to open that people group's country.":"Pick a region above, or click any dot to open that people group's country.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Pick a region or a country on the Regions List tab to narrow this dashboard.",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress","Region Dashboards":"Region Dashboards","Region dashboard":"Region dashboard",Regions:"Regions","Regions List":"Regions List",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Select View":"Select View","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","View country posters":"View country posters",Views:"Views","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","Outside this region":"Outside this region",Pray:"Pray","Loading region dashboards…":"Loading region dashboards…",Print:"Print","Preparing the page…":"Preparing the page…","No regions found.":"No regions found.","Region data could not be loaded. This is a connection problem, not a filter.":"Region data could not be loaded. This is a connection problem, not a filter.","People groups could not be loaded. This is a connection problem, not a filter.":"People groups could not be loaded. This is a connection problem, not a filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.","Countries: %count%":"Countries: %count%","Regions: %count%":"Regions: %count%",countryCount:"{n} countries | {n} country | {n} countries",regionCount:"{n} regions | {n} region | {n} regions","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it."},"./locales/en/religion.json":{family:{Christianity:"Christianity",Islam:"Islam",Hinduism:"Hinduism",Buddhism:"Buddhism",Ethnoreligion:"Ethnoreligion",Judaism:"Judaism",Sikhism:"Sikhism",Unaffiliated:"Unaffiliated",Other:"Other",Unknown:"Unknown"}},"./locales/es/aria.json":{backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda",searchPeopleGroups:"Buscar pueblos",resetAllFilters:"Restablecer todos los filtros y la búsqueda",selectAllRows:"Seleccionar todas las filas",deselectAllRows:"Deseleccionar todas las filas",rowDetail:"Detalle de la fila",dismissHint:"Descartar la sugerencia",resizeFiltersRail:"Cambiar el tamaño del panel de filtros",resizeFiltersRailHint:"Arrastra o usa las teclas de flecha para cambiar el tamaño del panel de filtros",resizeChartsRail:"Cambiar el tamaño del panel de gráficos",resizeChartsRailHint:"Arrastra o usa las teclas de flecha para cambiar el tamaño del panel de gráficos",resizeMapTableSplit:"Cambiar la división entre el mapa y la tabla",resizeMapTableSplitHint:"Arrastra o usa las teclas de flecha para cambiar la división entre el mapa y la tabla",resizeTable:"Cambiar la altura de la tabla",resizeTableHint:"Arrastra o usa las teclas de flecha para cambiar el tamaño de la tabla",resizeDashboardHeight:"Cambiar la altura del panel",resizeDashboardHeightHint:"Arrastra o usa las teclas de flecha para cambiar la altura del panel",removeFilter:"Quitar el filtro {name}",closeDetail:"Cerrar el detalle",filterBreadcrumb:"Ruta de filtros",railViews:"Vistas del panel",upgCountLegend:"Leyenda del recuento de UPG",donutChart:"Gráfico de anillo: {title}"},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},"./locales/es/mapui.json":{map:"Mapa",marker:"Marcador del mapa",closePopup:"Cerrar ventana",zoomIn:"Acercar",zoomOut:"Alejar",resetBearing:"Arrastra para girar el mapa; haz clic para orientar al norte",toggleAttribution:"Mostrar u ocultar atribución",mapFeedback:"Comentarios sobre el mapa",enterFullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",findMyLocation:"Buscar mi ubicación",locationNotAvailable:"Ubicación no disponible",enableGlobe:"Activar globo",disableGlobe:"Desactivar globo",ctrlScroll:"Usa Ctrl + desplazamiento para hacer zoom en el mapa",cmdScroll:"Usa ⌘ + desplazamiento para hacer zoom en el mapa",twoFingers:"Usa dos dedos para mover el mapa",mapboxHomepage:"Página de inicio de Mapbox",maplibreLogo:"Logotipo de MapLibre"},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los 2.106 pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100",mapContextLost:"Este mapa se descargó para liberar memoria gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"No se pudo iniciar el mapa: revisa el token y el contenedor",countryWallIntroA:"Un cartel por país, listo para orar, imprimir y colgar en una pared — orando por ellos ",countryWallIntroB:". Las regiones y los países se ordenan según cuántos pueblos no comprometidos contienen, para que la mayor necesidad vaya primero.",countryWallSoon:"Próximamente: se generará una lista de oración para cada país, con el nombre de cada pueblo no alcanzado que hay en él.",countryWallHeading:"Carteles por país — Listas de oración y carteles",largerScreenNotice:"Este mapa experimental está pensado para pantallas grandes. Se abre aquí, pero algunas partes pueden no caber o no funcionar bien en un teléfono.",desktopOnlyNotice:"{label} solo funciona en escritorio: abra esta página en un ordenador para usarlo.",noticeDismiss:"Cerrar",countryPosterTooMany:"Demasiados pueblos para que quepan legiblemente en un solo cartel; estamos trabajando en una solución."},"./locales/es/regions.json":{"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Adoptado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Choose a region":"Elige una región","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar los carteles del país",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país.","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración","Pick a region above, or click any dot to open that people group's country.":"Elige una región arriba, o haz clic en cualquier punto para abrir el país de ese pueblo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Elige una región o un país en la pestaña Lista de regiones para acotar este panel.",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración","Region Dashboards":"Paneles de regiones","Region dashboard":"Panel de la región",Regions:"Regiones","Regions List":"Lista de regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Select View":"Seleccionar vista","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","View country posters":"Ver los carteles del país",Views:"Vistas","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos étnicos adoptados","people groups engaged":"grupos étnicos comprometidos","Outside this region":"Fuera de esta región",Pray:"Oración","Loading region dashboards…":"Cargando los paneles de regiones…",Print:"Imprimir","Preparing the page…":"Preparando la página…","No regions found.":"No se encontraron regiones.","Region data could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los datos de las regiones. Es un problema de conexión, no un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los pueblos. Es un problema de conexión, no un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"El mapa no pudo iniciarse. Es un problema del token del mapa o de conexión, no un filtro: las cifras de arriba no se ven afectadas.","Countries: %count%":"Países: %count%","Regions: %count%":"Regiones: %count%",countryCount:"{n} país | {n} de países | {n} países",regionCount:"{n} región | {n} de regiones | {n} regiones","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Muy pronto — se generará una lista de oración para cada país, nombrando cada grupo étnico no alcanzado que haya en él."},"./locales/es/religion.json":{family:{Christianity:"Cristianismo",Islam:"Islam",Hinduism:"Hinduismo",Buddhism:"Budismo",Ethnoreligion:"Etnorreligión",Judaism:"Judaísmo",Sikhism:"Sijismo",Unaffiliated:"Sin afiliación",Other:"Otra",Unknown:"Desconocida"}},"./locales/fr/aria.json":{backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende",searchPeopleGroups:"Rechercher des peuples",resetAllFilters:"Réinitialiser tous les filtres et la recherche",selectAllRows:"Sélectionner toutes les lignes",deselectAllRows:"Désélectionner toutes les lignes",rowDetail:"Détail de la ligne",dismissHint:"Masquer l'astuce",resizeFiltersRail:"Redimensionner le volet des filtres",resizeFiltersRailHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le volet des filtres",resizeChartsRail:"Redimensionner le volet des graphiques",resizeChartsRailHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le volet des graphiques",resizeMapTableSplit:"Redimensionner le partage carte/tableau",resizeMapTableSplitHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le partage carte/tableau",resizeTable:"Redimensionner la hauteur du tableau",resizeTableHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le tableau",resizeDashboardHeight:"Redimensionner la hauteur du tableau de bord",resizeDashboardHeightHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner la hauteur du tableau de bord",removeFilter:"Supprimer le filtre {name}",closeDetail:"Fermer le détail",filterBreadcrumb:"Fil d’Ariane des filtres",railViews:"Vues du volet",upgCountLegend:"Légende du nombre d’UPG",donutChart:"Graphique en anneau : {title}"},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},"./locales/fr/mapui.json":{map:"Carte",marker:"Marqueur de carte",closePopup:"Fermer la fenêtre",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",resetBearing:"Faites glisser pour faire pivoter la carte, cliquez pour revenir au nord",toggleAttribution:"Afficher/masquer l'attribution",mapFeedback:"Commentaires sur la carte",enterFullscreen:"Plein écran",exitFullscreen:"Quitter le plein écran",findMyLocation:"Trouver ma position",locationNotAvailable:"Position non disponible",enableGlobe:"Activer le globe",disableGlobe:"Désactiver le globe",ctrlScroll:"Utilisez Ctrl + molette pour zoomer sur la carte",cmdScroll:"Utilisez ⌘ + molette pour zoomer sur la carte",twoFingers:"Utilisez deux doigts pour déplacer la carte",mapboxHomepage:"Page d'accueil de Mapbox",maplibreLogo:"Logo MapLibre"},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les 2 106 peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100",mapContextLost:"Cette carte a été déchargée pour libérer de la mémoire graphique.",nOfTotal:"{n} sur {total}",mapInitFailed:"Échec de l’initialisation de la carte — vérifiez le jeton et le conteneur",countryWallIntroA:"Une affiche par pays, prête à prier, à imprimer et à accrocher au mur — en priant pour eux ",countryWallIntroB:". Les régions et les pays sont classés selon le nombre de peuples non engagés qu’ils comptent, pour que le plus grand besoin vienne en premier.",countryWallSoon:"Bientôt : une liste de prière sera générée pour chaque pays, nommant chaque peuple non atteint qui s’y trouve.",countryWallHeading:"Affiches par pays — Listes de prière et affiches",largerScreenNotice:"Cette carte expérimentale est conçue pour les grands écrans. Elle s’ouvre ici, mais certaines parties peuvent mal s’afficher ou mal fonctionner sur un téléphone.",desktopOnlyNotice:"{label} ne fonctionne que sur ordinateur : ouvrez cette page sur un ordinateur pour l’utiliser.",noticeDismiss:"Fermer",countryPosterTooMany:"Trop de peuples pour tenir lisiblement sur une seule affiche — une solution est en préparation."},"./locales/fr/regions.json":{"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Choose a region":"Choisissez une région","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres","Hide country posters":"Masquer les affiches du pays",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...",Map:"Carte","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays.","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière","Pick a region above, or click any dot to open that people group's country.":"Choisissez une région ci-dessus, ou cliquez sur un point pour ouvrir le pays de ce peuple.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Choisissez une région ou un pays dans l’onglet Liste des régions pour affiner ce tableau de bord.",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière","Region Dashboards":"Tableaux de bord des régions","Region dashboard":"Tableau de bord de la région",Regions:"Régions","Regions List":"Liste des régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Select View":"Sélectionner la vue","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","View country posters":"Voir les affiches du pays",Views:"Vues","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","Outside this region":"Hors de cette région",Pray:"Prier","Loading region dashboards…":"Chargement des tableaux de bord des régions…",Print:"Imprimer","Preparing the page…":"Préparation de la page…","No regions found.":"Aucune région trouvée.","Region data could not be loaded. This is a connection problem, not a filter.":"Les données des régions n'ont pas pu être chargées. Il s'agit d'un problème de connexion, pas d'un filtre.","People groups could not be loaded. This is a connection problem, not a filter.":"Les peuples n'ont pas pu être chargés. Il s'agit d'un problème de connexion, pas d'un filtre.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La carte n'a pas pu démarrer. Il s'agit d'un problème de jeton de carte ou de connexion, pas d'un filtre — les chiffres ci-dessus ne sont pas affectés.","Countries: %count%":"Pays: %count%","Regions: %count%":"Régions: %count%",countryCount:"{n} pays | {n} pays | {n} pays",regionCount:"{n} région | {n} de régions | {n} régions","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Bientôt — une liste de prière sera générée pour chaque pays, nommant chaque groupe de population non atteint qui s'y trouve."},"./locales/fr/religion.json":{family:{Christianity:"Christianisme",Islam:"Islam",Hinduism:"Hindouisme",Buddhism:"Bouddhisme",Ethnoreligion:"Ethnoreligion",Judaism:"Judaïsme",Sikhism:"Sikhisme",Unaffiliated:"Sans appartenance",Other:"Autre",Unknown:"Inconnue"}},"./locales/hi/aria.json":{backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ",searchPeopleGroups:"जनसमूह खोजें",resetAllFilters:"सभी फ़िल्टर और खोज रीसेट करें",selectAllRows:"सभी पंक्तियाँ चुनें",deselectAllRows:"सभी पंक्तियाँ अचयनित करें",rowDetail:"पंक्ति विवरण",dismissHint:"संकेत हटाएँ",resizeFiltersRail:"फ़िल्टर पट्टी का आकार बदलें",resizeFiltersRailHint:"फ़िल्टर पट्टी का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeChartsRail:"चार्ट पट्टी का आकार बदलें",resizeChartsRailHint:"चार्ट पट्टी का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeMapTableSplit:"मानचित्र/तालिका विभाजन का आकार बदलें",resizeMapTableSplitHint:"मानचित्र/तालिका विभाजन का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeTable:"तालिका की ऊँचाई बदलें",resizeTableHint:"तालिका का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeDashboardHeight:"डैशबोर्ड की ऊँचाई बदलें",resizeDashboardHeightHint:"डैशबोर्ड की ऊँचाई बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",removeFilter:"फ़िल्टर {name} हटाएँ",closeDetail:"विवरण बंद करें",filterBreadcrumb:"फ़िल्टर पथ",railViews:"पट्टी के दृश्य",upgCountLegend:"UPG गणना की कुंजी",donutChart:"डोनट चार्ट: {title}"},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},"./locales/hi/mapui.json":{map:"मानचित्र",marker:"मानचित्र चिह्न",closePopup:"पॉपअप बंद करें",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",resetBearing:"मानचित्र घुमाने के लिए खींचें, उत्तर पर लौटने के लिए क्लिक करें",toggleAttribution:"श्रेय दिखाएँ/छिपाएँ",mapFeedback:"मानचित्र पर प्रतिक्रिया",enterFullscreen:"पूर्ण स्क्रीन",exitFullscreen:"पूर्ण स्क्रीन से बाहर निकलें",findMyLocation:"मेरा स्थान खोजें",locationNotAvailable:"स्थान उपलब्ध नहीं",enableGlobe:"ग्लोब चालू करें",disableGlobe:"ग्लोब बंद करें",ctrlScroll:"मानचित्र ज़ूम करने के लिए Ctrl + स्क्रॉल करें",cmdScroll:"मानचित्र ज़ूम करने के लिए ⌘ + स्क्रॉल करें",twoFingers:"मानचित्र हिलाने के लिए दो उँगलियों का उपयोग करें",mapboxHomepage:"Mapbox मुखपृष्ठ",maplibreLogo:"MapLibre लोगो"},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना संग्रहण",upg100WallIntroA:"पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने 2,106 अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",upg100WallIntroEmph:"उनके जन के नाम से",upg100WallIntroB:".",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा",mapContextLost:"ग्राफ़िक्स मेमोरी खाली करने के लिए यह मानचित्र अनलोड कर दिया गया।",nOfTotal:"{total} में से {n}",mapInitFailed:"मानचित्र आरंभ नहीं हो सका — टोकन और कंटेनर जाँचें",countryWallIntroA:"हर देश के लिए एक पोस्टर — प्रार्थना करने, छापने और दीवार पर लगाने के लिए तैयार, और उनके लिए प्रार्थना करते हुए ",countryWallIntroB:". क्षेत्र और देश इस क्रम में हैं कि उनमें कितने अनपहुँचे जनसमूह हैं, ताकि सबसे बड़ी ज़रूरत पहले आए।",countryWallSoon:"जल्द ही: हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके हर अनपहुँचे जनसमूह का नाम होगा।",countryWallHeading:"देश पोस्टर — प्रार्थना सूचियाँ और पोस्टर",largerScreenNotice:"यह प्रायोगिक नक्शा बड़ी स्क्रीन के लिए बना है। यह यहाँ खुलता है, पर फ़ोन पर इसके कुछ हिस्से ठीक से न दिखें या न चलें।",desktopOnlyNotice:"{label} केवल डेस्कटॉप पर चलता है — इसे इस्तेमाल करने के लिए यह पेज कंप्यूटर पर खोलें।",noticeDismiss:"बंद करें",countryPosterTooMany:"एक पोस्टर पर साफ़-साफ़ आने के लिए जनसमूह बहुत अधिक हैं — समाधान पर काम चल रहा है।"},"./locales/hi/regions.json":{"%count% people groups in %countries% countries":"%countries% देशों में %count% जनसमूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"गोद लिया गया","Adoption Progress":"गोद लेने की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Choose a region":"क्षेत्र चुनें","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"संपर्कित","Engagement Progress":"संलग्नता की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूरी प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ","Hide country posters":"देश के पोस्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।",Map:"नक्शा","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"जनसमूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग","Pick a region above, or click any dot to open that people group's country.":"ऊपर कोई क्षेत्र चुनें, या उस लोगों के समूह का देश खोलने के लिए किसी बिंदु पर क्लिक करें।","Pick a region or a country on the Regions List tab to narrow this dashboard.":"इस डैशबोर्ड को सीमित करने के लिए क्षेत्रों की सूची टैब में कोई क्षेत्र या देश चुनें।",Population:"जनसंख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति","Region Dashboards":"क्षेत्र डैशबोर्ड","Region dashboard":"क्षेत्र डैशबोर्ड",Regions:"क्षेत्र","Regions List":"क्षेत्रों की सूची",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें…","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Select View":"दृश्य चुनें","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनसंपर्कित जनसमूह","View country posters":"देश के पोस्टर देखें",Views:"दृश्य","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"जनसमूह गोद लिए गए","people groups engaged":"संपर्कित जनसमूह","Outside this region":"इस क्षेत्र के बाहर",Pray:"प्रार्थना करें","Loading region dashboards…":"क्षेत्र डैशबोर्ड लोड हो रहे हैं…",Print:"प्रिंट करें","Preparing the page…":"पृष्ठ तैयार किया जा रहा है…","No regions found.":"कोई क्षेत्र नहीं मिला।","Region data could not be loaded. This is a connection problem, not a filter.":"क्षेत्र डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","People groups could not be loaded. This is a connection problem, not a filter.":"लोकसमूह लोड नहीं हो सके। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।","Countries: %count%":"देश: %count%","Regions: %count%":"क्षेत्र: %count%",countryCount:"{n} देश | {n} देश",regionCount:"{n} क्षेत्र | {n} क्षेत्र","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"जल्द आ रहा है — हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके भीतर के हर अछूते जनसमूह का नाम होगा।"},"./locales/hi/religion.json":{family:{Christianity:"ईसाई धर्म",Islam:"इस्लाम",Hinduism:"हिंदू धर्म",Buddhism:"बौद्ध धर्म",Ethnoreligion:"जातीय धर्म",Judaism:"यहूदी धर्म",Sikhism:"सिख धर्म",Unaffiliated:"असंबद्ध",Other:"अन्य",Unknown:"अज्ञात"}},"./locales/it/aria.json":{backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda",searchPeopleGroups:"Cerca popoli",resetAllFilters:"Reimposta tutti i filtri e la ricerca",selectAllRows:"Seleziona tutte le righe",deselectAllRows:"Deseleziona tutte le righe",rowDetail:"Dettaglio riga",dismissHint:"Ignora il suggerimento",resizeFiltersRail:"Ridimensiona la barra dei filtri",resizeFiltersRailHint:"Trascina o usa i tasti freccia per ridimensionare la barra dei filtri",resizeChartsRail:"Ridimensiona la barra dei grafici",resizeChartsRailHint:"Trascina o usa i tasti freccia per ridimensionare la barra dei grafici",resizeMapTableSplit:"Ridimensiona la divisione mappa/tabella",resizeMapTableSplitHint:"Trascina o usa i tasti freccia per ridimensionare la divisione mappa/tabella",resizeTable:"Ridimensiona l'altezza della tabella",resizeTableHint:"Trascina o usa i tasti freccia per ridimensionare la tabella",resizeDashboardHeight:"Ridimensiona l'altezza della dashboard",resizeDashboardHeightHint:"Trascina o usa i tasti freccia per ridimensionare l'altezza della dashboard",removeFilter:"Rimuovi il filtro {name}",closeDetail:"Chiudi il dettaglio",filterBreadcrumb:"Percorso dei filtri",railViews:"Viste della barra",upgCountLegend:"Legenda del conteggio UPG",donutChart:"Grafico ad anello: {title}"},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},"./locales/it/mapui.json":{map:"Mappa",marker:"Indicatore sulla mappa",closePopup:"Chiudi popup",zoomIn:"Ingrandisci",zoomOut:"Riduci",resetBearing:"Trascina per ruotare la mappa, fai clic per tornare al nord",toggleAttribution:"Mostra/nascondi attribuzione",mapFeedback:"Feedback sulla mappa",enterFullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",findMyLocation:"Trova la mia posizione",locationNotAvailable:"Posizione non disponibile",enableGlobe:"Attiva globo",disableGlobe:"Disattiva globo",ctrlScroll:"Usa Ctrl + scorrimento per ingrandire la mappa",cmdScroll:"Usa ⌘ + scorrimento per ingrandire la mappa",twoFingers:"Usa due dita per spostare la mappa",mapboxHomepage:"Home page di Mapbox",maplibreLogo:"Logo di MapLibre"},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e manifesti",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i 2.106 popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100",mapContextLost:"Questa mappa è stata scaricata per liberare memoria grafica.",nOfTotal:"{n} su {total}",mapInitFailed:"Impossibile inizializzare la mappa — controlla il token e il contenitore",countryWallIntroA:"Un poster per paese, pronto da pregare, stampare e appendere al muro — pregando per loro ",countryWallIntroB:". Regioni e paesi sono ordinati in base a quanti popoli non raggiunti contengono, perché il bisogno più grande venga per primo.",countryWallSoon:"Prossimamente: per ogni paese verrà generata una lista di preghiera con il nome di ogni popolo non raggiunto che vi abita.",countryWallHeading:"Poster per paese — Liste di preghiera e manifesti",largerScreenNotice:"Questa mappa sperimentale è pensata per schermi grandi. Si apre qui, ma alcune parti potrebbero non entrare o non funzionare bene su un telefono.",desktopOnlyNotice:"{label} funziona solo su desktop: apri questa pagina da un computer per usarlo.",noticeDismiss:"Chiudi",countryPosterTooMany:"Troppi popoli per stare in modo leggibile su un solo manifesto: una soluzione è in arrivo."},"./locales/it/regions.json":{"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Choose a region":"Scegli una regione","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri","Hide country posters":"Nascondi i poster del paese",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…",Map:"Mappa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster.","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare","Pick a region above, or click any dot to open that people group's country.":"Scegli una regione qui sopra, oppure clicca su un punto per aprire il paese di quel gruppo etnico.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Scegli una regione o un paese nella scheda Elenco delle regioni per restringere questo cruscotto.",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera","Region Dashboards":"Cruscotti delle regioni","Region dashboard":"Cruscotto della regione",Regions:"Regioni","Regions List":"Elenco delle regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Select View":"Seleziona vista","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","View country posters":"Vedi i poster del paese",Views:"Viste","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","Outside this region":"Fuori da questa regione",Pray:"Prega","Loading region dashboards…":"Caricamento delle dashboard delle regioni…",Print:"Stampa","Preparing the page…":"Preparazione della pagina…","No regions found.":"Nessuna regione trovata.","Region data could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i dati delle regioni. È un problema di connessione, non un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i gruppi di popolazione. È un problema di connessione, non un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La mappa non è potuta avviare. È un problema di token della mappa o di connessione, non un filtro: i dati sopra non sono interessati.","Countries: %count%":"Paesi: %count%","Regions: %count%":"Regioni: %count%",countryCount:"{n} paese | {n} di paesi | {n} paesi",regionCount:"{n} regione | {n} di regioni | {n} regioni","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Prossimamente — per ogni paese verrà generata una lista di preghiera, con il nome di ogni gruppo etnico non raggiunto al suo interno."},"./locales/it/religion.json":{family:{Christianity:"Cristianesimo",Islam:"Islam",Hinduism:"Induismo",Buddhism:"Buddhismo",Ethnoreligion:"Etnoreligione",Judaism:"Ebraismo",Sikhism:"Sikhismo",Unaffiliated:"Senza affiliazione",Other:"Altro",Unknown:"Sconosciuta"}},"./locales/pt/aria.json":{backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda",searchPeopleGroups:"Pesquisar povos",resetAllFilters:"Redefinir todos os filtros e a pesquisa",selectAllRows:"Selecionar todas as linhas",deselectAllRows:"Desmarcar todas as linhas",rowDetail:"Detalhe da linha",dismissHint:"Dispensar a dica",resizeFiltersRail:"Redimensionar o painel de filtros",resizeFiltersRailHint:"Arraste ou use as teclas de seta para redimensionar o painel de filtros",resizeChartsRail:"Redimensionar o painel de gráficos",resizeChartsRailHint:"Arraste ou use as teclas de seta para redimensionar o painel de gráficos",resizeMapTableSplit:"Redimensionar a divisão entre o mapa e a tabela",resizeMapTableSplitHint:"Arraste ou use as teclas de seta para redimensionar a divisão entre o mapa e a tabela",resizeTable:"Redimensionar a altura da tabela",resizeTableHint:"Arraste ou use as teclas de seta para redimensionar a tabela",resizeDashboardHeight:"Redimensionar a altura do painel",resizeDashboardHeightHint:"Arraste ou use as teclas de seta para redimensionar a altura do painel",removeFilter:"Remover o filtro {name}",closeDetail:"Fechar o detalhe",filterBreadcrumb:"Trilho de filtros",railViews:"Vistas do painel",upgCountLegend:"Legenda da contagem de UPG",donutChart:"Gráfico de rosca: {title}"},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},"./locales/pt/mapui.json":{map:"Mapa",marker:"Marcador do mapa",closePopup:"Fechar janela",zoomIn:"Aumentar zoom",zoomOut:"Diminuir zoom",resetBearing:"Arraste para girar o mapa, clique para voltar ao norte",toggleAttribution:"Mostrar/ocultar atribuição",mapFeedback:"Comentários sobre o mapa",enterFullscreen:"Tela cheia",exitFullscreen:"Sair da tela cheia",findMyLocation:"Encontrar minha localização",locationNotAvailable:"Localização indisponível",enableGlobe:"Ativar globo",disableGlobe:"Desativar globo",ctrlScroll:"Use Ctrl + rolagem para ampliar o mapa",cmdScroll:"Use ⌘ + rolagem para ampliar o mapa",twoFingers:"Use dois dedos para mover o mapa",mapboxHomepage:"Página inicial do Mapbox",maplibreLogo:"Logótipo do MapLibre"},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"Minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os 2.106 povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100",mapContextLost:"Este mapa foi descarregado para libertar memória gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"Falha ao iniciar o mapa — verifique o token e o contêiner",countryWallIntroA:"Um cartaz por país, pronto para orar, imprimir e pendurar na parede — orando por eles ",countryWallIntroB:". As regiões e os países são ordenados pelo número de povos não engajados que abrigam, para que a maior necessidade venha primeiro.",countryWallSoon:"Em breve: será gerada uma lista de oração para cada país, com o nome de cada povo não alcançado nele.",countryWallHeading:"Cartazes por país — Listas de oração e cartazes",largerScreenNotice:"Este mapa experimental foi feito para telas maiores. Ele abre aqui, mas algumas partes podem não caber ou não funcionar bem no celular.",desktopOnlyNotice:"{label} só funciona no computador — abra esta página num computador para usá-lo.",noticeDismiss:"Fechar",countryPosterTooMany:"Povos demais para caber de forma legível em um só cartaz — uma solução está a caminho."},"./locales/pt/regions.json":{"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Adotado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Choose a region":"Escolha uma região","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar os cartazes do país",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país.","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração","Pick a region above, or click any dot to open that people group's country.":"Escolha uma região acima, ou clique em qualquer ponto para abrir o país desse povo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Escolha uma região ou um país na aba Lista de regiões para restringir este painel.",Population:"População","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração","Region Dashboards":"Painéis das regiões","Region dashboard":"Painel da região",Regions:"Regiões","Regions List":"Lista de regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Select View":"Selecionar visualização","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","View country posters":"Ver os cartazes do país",Views:"Visualizações","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","Outside this region":"Fora desta região",Pray:"Ore","Loading region dashboards…":"Carregando os painéis das regiões…",Print:"Imprimir","Preparing the page…":"Preparando a página…","No regions found.":"Nenhuma região encontrada.","Region data could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os dados das regiões. É um problema de conexão, não um filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os povos. É um problema de conexão, não um filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"O mapa não pôde iniciar. É um problema do token do mapa ou de conexão, não um filtro — os números acima não são afetados.","Countries: %count%":"Países: %count%","Regions: %count%":"Regiões: %count%",countryCount:"{n} país | {n} de países | {n} países",regionCount:"{n} região | {n} de regiões | {n} regiões","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Em breve — será gerada uma lista de oração para cada país, nomeando cada grupo étnico não alcançado nele."},"./locales/pt/religion.json":{family:{Christianity:"Cristianismo",Islam:"Islão",Hinduism:"Hinduísmo",Buddhism:"Budismo",Ethnoreligion:"Etnorreligião",Judaism:"Judaísmo",Sikhism:"Siquismo",Unaffiliated:"Sem afiliação",Other:"Outra",Unknown:"Desconhecida"}},"./locales/ro/aria.json":{backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda",searchPeopleGroups:"Caută popoare",resetAllFilters:"Resetează toate filtrele și căutarea",selectAllRows:"Selectează toate rândurile",deselectAllRows:"Deselectează toate rândurile",rowDetail:"Detaliu rând",dismissHint:"Închide sugestia",resizeFiltersRail:"Redimensionează bara de filtre",resizeFiltersRailHint:"Trage sau folosește tastele săgeată pentru a redimensiona bara de filtre",resizeChartsRail:"Redimensionează bara de grafice",resizeChartsRailHint:"Trage sau folosește tastele săgeată pentru a redimensiona bara de grafice",resizeMapTableSplit:"Redimensionează împărțirea hartă/tabel",resizeMapTableSplitHint:"Trage sau folosește tastele săgeată pentru a redimensiona împărțirea hartă/tabel",resizeTable:"Redimensionează înălțimea tabelului",resizeTableHint:"Trage sau folosește tastele săgeată pentru a redimensiona tabelul",resizeDashboardHeight:"Redimensionează înălțimea tabloului de bord",resizeDashboardHeightHint:"Trage sau folosește tastele săgeată pentru a redimensiona înălțimea tabloului de bord",removeFilter:"Elimină filtrul {name}",closeDetail:"Închide detaliul",filterBreadcrumb:"Traseul filtrelor",railViews:"Vizualizările barei",upgCountLegend:"Legenda numărului de UPG",donutChart:"Diagramă inelară: {title}"},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},"./locales/ro/mapui.json":{map:"Hartă",marker:"Marcaj pe hartă",closePopup:"Închide fereastra",zoomIn:"Mărește",zoomOut:"Micșorează",resetBearing:"Trage pentru a roti harta, apasă pentru a reveni la nord",toggleAttribution:"Afișează/ascunde atribuirea",mapFeedback:"Feedback despre hartă",enterFullscreen:"Ecran complet",exitFullscreen:"Ieși din ecran complet",findMyLocation:"Găsește-mi locația",locationNotAvailable:"Locație indisponibilă",enableGlobe:"Activează globul",disableGlobe:"Dezactivează globul",ctrlScroll:"Folosește Ctrl + derulare pentru a mări harta",cmdScroll:"Folosește ⌘ + derulare pentru a mări harta",twoFingers:"Folosește două degete pentru a muta harta",mapboxHomepage:"Pagina principală Mapbox",maplibreLogo:"Sigla MapLibre"},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100",mapContextLost:"Această hartă a fost descărcată pentru a elibera memoria grafică.",nOfTotal:"{n} din {total}",mapInitFailed:"Harta nu a putut fi inițializată — verificați tokenul și containerul",countryWallIntroA:"Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",countryWallIntroB:". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",countryWallSoon:"În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",countryWallHeading:"Afișe pe țări — Liste de rugăciune și afișe",largerScreenNotice:"Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",desktopOnlyNotice:"{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",noticeDismiss:"Închide",countryPosterTooMany:"Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."},"./locales/ro/regions.json":{"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Choose a region":"Alege o regiune","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele","Hide country posters":"Ascunde posterele țării",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…",Map:"Hartă","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster.","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii","Pick a region above, or click any dot to open that people group's country.":"Alege o regiune mai sus sau dă clic pe orice punct pentru a deschide țara acelui grup etnic.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Alege o regiune sau o țară din fila Lista regiunilor pentru a restrânge acest panou.",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune","Region Dashboards":"Panouri ale regiunilor","Region dashboard":"Panoul regiunii",Regions:"Regiuni","Regions List":"Lista regiunilor",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Select View":"Selectează vizualizarea","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","View country posters":"Vezi posterele țării",Views:"Vizualizări","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","Outside this region":"În afara acestei regiuni",Pray:"Roagă-te","Loading region dashboards…":"Se încarcă panourile regiunilor…",Print:"Printează","Preparing the page…":"Se pregătește pagina…","No regions found.":"Nu au fost găsite regiuni.","Region data could not be loaded. This is a connection problem, not a filter.":"Datele regiunilor nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","People groups could not be loaded. This is a connection problem, not a filter.":"Grupurile de popoare nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Harta nu a putut porni. Este o problemă de token al hărții sau de conexiune, nu un filtru — cifrele de mai sus nu sunt afectate.","Countries: %count%":"Țări: %count%","Regions: %count%":"Regiuni: %count%",countryCount:"o țară | {n} țări | {n} de țări",regionCount:"o regiune | {n} regiuni | {n} de regiuni","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"În curând — pentru fiecare țară va fi generată o listă de rugăciune, numind fiecare grup etnic neatins din ea."},"./locales/ro/religion.json":{family:{Christianity:"Creștinism",Islam:"Islam",Hinduism:"Hinduism",Buddhism:"Budism",Ethnoreligion:"Etnoreligie",Judaism:"Iudaism",Sikhism:"Sikhism",Unaffiliated:"Fără afiliere",Other:"Altele",Unknown:"Necunoscută"}},"./locales/ru/aria.json":{backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду",searchPeopleGroups:"Поиск народов",resetAllFilters:"Сбросить все фильтры и поиск",selectAllRows:"Выбрать все строки",deselectAllRows:"Снять выделение со всех строк",rowDetail:"Подробности строки",dismissHint:"Скрыть подсказку",resizeFiltersRail:"Изменить размер панели фильтров",resizeFiltersRailHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить размер панели фильтров",resizeChartsRail:"Изменить размер панели диаграмм",resizeChartsRailHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить размер панели диаграмм",resizeMapTableSplit:"Изменить соотношение карты и таблицы",resizeMapTableSplitHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить соотношение карты и таблицы",resizeTable:"Изменить высоту таблицы",resizeTableHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить размер таблицы",resizeDashboardHeight:"Изменить высоту панели",resizeDashboardHeightHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить высоту панели",removeFilter:"Удалить фильтр {name}",closeDetail:"Закрыть подробности",filterBreadcrumb:"Цепочка фильтров",railViews:"Виды панели",upgCountLegend:"Легенда количества UPG",donutChart:"Кольцевая диаграмма: {title}"},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},"./locales/ru/mapui.json":{map:"Карта",marker:"Метка на карте",closePopup:"Закрыть окно",zoomIn:"Приблизить",zoomOut:"Отдалить",resetBearing:"Перетащите, чтобы повернуть карту; нажмите, чтобы вернуть север",toggleAttribution:"Показать/скрыть источники",mapFeedback:"Отзыв о карте",enterFullscreen:"Во весь экран",exitFullscreen:"Выйти из полноэкранного режима",findMyLocation:"Найти моё местоположение",locationNotAvailable:"Местоположение недоступно",enableGlobe:"Включить глобус",disableGlobe:"Выключить глобус",ctrlScroll:"Используйте Ctrl + прокрутку для масштабирования карты",cmdScroll:"Используйте ⌘ + прокрутку для масштабирования карты",twoFingers:"Используйте два пальца, чтобы перемещать карту",mapboxHomepage:"Главная страница Mapbox",maplibreLogo:"Логотип MapLibre"},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с 2 106 неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100",mapContextLost:"Эта карта выгружена, чтобы освободить графическую память.",nOfTotal:"{n} из {total}",mapInitFailed:"Не удалось инициализировать карту — проверьте токен и контейнер",countryWallIntroA:"Один плакат на страну — чтобы молиться, распечатать и повесить на стену, молясь за них ",countryWallIntroB:". Регионы и страны упорядочены по числу неохваченных народов, чтобы самая большая нужда стояла первой.",countryWallSoon:"Скоро: для каждой страны будет создан молитвенный список с названием каждого неохваченного народа в ней.",countryWallHeading:"Плакаты по странам — молитвенные списки и плакаты",largerScreenNotice:"Эта экспериментальная карта рассчитана на большие экраны. Она откроется, но на телефоне часть элементов может не поместиться или работать плохо.",desktopOnlyNotice:"{label} работает только на компьютере — откройте эту страницу на компьютере.",noticeDismiss:"Закрыть",countryPosterTooMany:"Слишком много народов, чтобы разборчиво уместить их на одном плакате, — решение готовится."},"./locales/ru/regions.json":{"%count% people groups in %countries% countries":"%count% народов в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Ответственность взята","Adoption Progress":"Прогресс принятия ответственности","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Choose a region":"Выберите регион","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечён","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры","Hide country posters":"Скрыть плакаты страны",Intercessors:"Ходатаи","Load More":"Загрузить ещё","Loading results...":"Загрузка результатов...",Map:"Карта","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан.","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Народы","People committed to praying":"Люди, посвятившие себя молитве","Pick a region above, or click any dot to open that people group's country.":"Выберите регион выше или нажмите на любую точку, чтобы открыть страну этой группы народа.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Выберите регион или страну на вкладке «Список регионов», чтобы сузить эту панель.",Population:"Население","Prayer Coverage":"Молитвенный охват","Prayer coverage progress":"Прогресс молитвенного покрытия","Region Dashboards":"Панели регионов","Region dashboard":"Панель региона",Regions:"Регионы","Regions List":"Список регионов",Religion:"Религия","Search names, country/continent, religions...":"Поиск по названиям, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Select View":"Выберите вид","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые народы","View country posters":"Показать плакаты страны",Views:"Виды","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"народов, за которые взята ответственность","people groups engaged":"вовлечённые народы","Outside this region":"За пределами этого региона",Pray:"Молиться","Loading region dashboards…":"Загрузка панелей по регионам…",Print:"Печать","Preparing the page…":"Подготовка страницы…","No regions found.":"Регионы не найдены.","Region data could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить данные по регионам. Это проблема соединения, а не фильтра.","People groups could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить народы. Это проблема соединения, а не фильтра.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты.","Countries: %count%":"Страны: %count%","Regions: %count%":"Регионы: %count%",countryCount:"{n} страна | {n} страны | {n} стран | {n} стран",regionCount:"{n} регион | {n} региона | {n} регионов | {n} регионов","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Скоро — для каждой страны будет создан список для молитвы с названием каждой неохваченной народности в ней."},"./locales/ru/religion.json":{family:{Christianity:"Христианство",Islam:"Ислам",Hinduism:"Индуизм",Buddhism:"Буддизм",Ethnoreligion:"Этнорелигия",Judaism:"Иудаизм",Sikhism:"Сикхизм",Unaffiliated:"Не принадлежат",Other:"Другое",Unknown:"Неизвестно"}},"./locales/zh/aria.json":{backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例",searchPeopleGroups:"搜索民族",resetAllFilters:"重置所有筛选和搜索",selectAllRows:"选择所有行",deselectAllRows:"取消选择所有行",rowDetail:"行详情",dismissHint:"关闭提示",resizeFiltersRail:"调整筛选器栏大小",resizeFiltersRailHint:"拖动或使用方向键调整筛选器栏大小",resizeChartsRail:"调整图表栏大小",resizeChartsRailHint:"拖动或使用方向键调整图表栏大小",resizeMapTableSplit:"调整地图与表格的分隔",resizeMapTableSplitHint:"拖动或使用方向键调整地图与表格的分隔",resizeTable:"调整表格高度",resizeTableHint:"拖动或使用方向键调整表格大小",resizeDashboardHeight:"调整仪表板高度",resizeDashboardHeightHint:"拖动或使用方向键调整仪表板高度",removeFilter:"移除筛选条件 {name}",closeDetail:"关闭详情",filterBreadcrumb:"筛选路径",railViews:"栏视图",upgCountLegend:"UPG 数量图例",donutChart:"环形图:{title}"},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},"./locales/zh/mapui.json":{map:"地图",marker:"地图标记",closePopup:"关闭弹窗",zoomIn:"放大",zoomOut:"缩小",resetBearing:"拖动以旋转地图,点击以恢复正北",toggleAttribution:"显示/隐藏数据来源",mapFeedback:"地图反馈",enterFullscreen:"全屏",exitFullscreen:"退出全屏",findMyLocation:"查找我的位置",locationNotAvailable:"无法获取位置",enableGlobe:"启用地球仪",disableGlobe:"停用地球仪",ctrlScroll:"使用 Ctrl + 滚轮缩放地图",cmdScroll:"使用 ⌘ + 滚轮缩放地图",twoFingers:"使用两根手指移动地图",mapboxHomepage:"Mapbox 主页",maplibreLogo:"MapLibre 标志"},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 2,106 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",upg100WallIntroEmph:"称呼他们族群的名字",upg100WallIntroB:"。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间",mapContextLost:"已卸载此地图以释放显存。",nOfTotal:"{total} 个中的 {n} 个",mapInitFailed:"地图初始化失败——请检查令牌和容器",countryWallIntroA:"每个国家一张海报,可用来祷告、打印、贴在墙上——为他们祷告,",countryWallIntroB:"。各区域和国家按其中未得之民族群的数量排序,让最大的需要排在最前。",countryWallSoon:"即将推出:将为每个国家生成一份祷告名单,列出其中每一个未得之民族群的名字。",countryWallHeading:"国家海报 — 祷告名单与海报",largerScreenNotice:"这张实验性地图为大屏幕设计。它可以在这里打开,但部分内容在手机上可能显示不全或无法正常使用。",desktopOnlyNotice:"{label} 仅支持桌面端——请在电脑上打开此页面使用。",noticeDismiss:"关闭",countryPosterTooMany:"族群数量过多,无法清晰地放在一张海报上——我们正在制定解决方案。"},"./locales/zh/regions.json":{"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Choose a region":"选择区域","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选","Hide country posters":"隐藏国家海报",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…",Map:"地图","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No poster has been generated for this country yet.":"尚未为该国家生成海报。","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数","Pick a region above, or click any dot to open that people group's country.":"在上方选择一个区域,或点击任意圆点以打开该民族所在的国家。","Pick a region or a country on the Regions List tab to narrow this dashboard.":"在“区域列表”标签中选择一个区域或国家,以缩小此仪表板的范围。",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度","Region Dashboards":"区域仪表板","Region dashboard":"区域仪表板",Regions:"区域","Regions List":"区域列表",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Select View":"选择视图","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","View country posters":"查看国家海报",Views:"视图","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","Outside this region":"在此区域之外",Pray:"祷告","Loading region dashboards…":"正在加载区域面板…",Print:"打印","Preparing the page…":"正在准备页面…","No regions found.":"未找到区域。","Region data could not be loaded. This is a connection problem, not a filter.":"无法加载区域数据。这是连接问题,不是筛选问题。","People groups could not be loaded. This is a connection problem, not a filter.":"无法加载民族群体。这是连接问题,不是筛选问题。","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。","Countries: %count%":"国家:%count%","Regions: %count%":"区域:%count%",countryCount:"{n} 个国家",regionCount:"{n} 个地区","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"即将推出——将为每个国家生成一份祷告清单,列出其中每一个未得之民。"},"./locales/zh/religion.json":{family:{Christianity:"基督教",Islam:"伊斯兰教",Hinduism:"印度教",Buddhism:"佛教",Ethnoreligion:"民族宗教",Judaism:"犹太教",Sikhism:"锡克教",Unaffiliated:"无宗教归属",Other:"其他",Unknown:"未知"}}}),Je={};for(const[e,t]of Object.entries(Um)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Je[n]??(Je[n]={}),Je[n][r]=t}const Ec=(()=>{try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.split(/[?#]/)[0].replace(/[^/]+$/,""):""}catch{return""}})(),Rc=typeof __DX_LOCALE_SRI__<"u"?__DX_LOCALE_SRI__:{},_a=new Map;let Hr=null;const Bm=1500;function zr(e,t){var r,a;const o=String(t||"").split("-")[0].toLowerCase();if(!o||o==="en"||!_n.includes(o))return Promise.resolve(o==="en");if(Je[o])return(a=(r=e==null?void 0:e.global)==null?void 0:r.setLocaleMessage)==null||a.call(r,o,Je[o]),Promise.resolve(!0);if(_a.has(o))return _a.get(o).then(i=>{var s,l;return i&&Je[o]&&((l=(s=e==null?void 0:e.global)==null?void 0:s.setLocaleMessage)==null||l.call(s,o,Je[o])),i});if(!Rc[o])return Promise.resolve(!!Je[o]);const n=(async()=>{var i,s;try{if(!Ec)return!1;const l=new URL(`locales/${o}.json`,Ec).href,c=await fetch(l,{integrity:Rc[o]});if(!c.ok)return!1;const u=await c.json();return!u||typeof u!="object"?!1:(Je[o]=u,(s=(i=e==null?void 0:e.global)==null?void 0:i.setLocaleMessage)==null||s.call(i,o,u),!0)}catch{return!1}})();return _a.set(o,n),n}Je.en;const _n=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],$a=new Set(["ar"]);function Fc(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function ya(){var n;const e=Fc();if(_n.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return _n.includes(o)?o:"en"}try{Hr=zr(null,ya())}catch{Hr=null}function Gm(e=ya()){const t=String(e||"").split("-")[0].toLowerCase();if(!$a.has(t)||Je[t])return Promise.resolve(!0);const o=_a.get(t)||Hr||Promise.resolve(!1);return Promise.race([o.then(n=>!!n).catch(()=>!1),new Promise(n=>setTimeout(()=>n(!1),Bm))])}function Vm(){const e=ya();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&e&&(document!=null&&document.documentElement)&&(document.documentElement.lang=e,$a.has(e)&&(document.documentElement.dir="rtl"))}catch{}const t=Nn(!0),o=t.run(()=>Fm({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:Je,missingWarn:!1,fallbackWarn:!1,pluralRules:Km}));e!=="en"&&!Je[e]&&zr(o,e).catch(()=>{}),t.run(()=>Ye(o.global.locale,r=>Mc(r),{immediate:!0}));const n=o.install.bind(o);return o.install=(r,...a)=>{const i=n(r,...a);r.provide("appI18n",o);const s=r.provide.bind(r);return r.provide=(l,c)=>l==="appI18n"&&c===o?r:s(l,c),i},o}const Nc="__DOXA_PAGE_LOCALE";function Mc(e){const t=String(e||"").split("-")[0].toLowerCase();if(_n.includes(t))try{typeof window<"u"&&(window[Nc]=t)}catch{}}const jm=["zero","one","two","few","many","other"];function Oc(e,t,o){let n;try{n=new Intl.PluralRules(o)}catch{return e===1?0:1}const r=n.select(e),a=n.resolvedOptions().pluralCategories,i=jm.filter(l=>a.includes(l));let s=i.indexOf(r);if(s<0&&(s=i.indexOf("other")),s>=t){const l=i.indexOf("other");s=l>=0&&l[e,(t,o)=>Oc(t,o,e)]));function kc(){try{return typeof window<"u"&&window[Nc]||""}catch{return""}}function xo(e,t){const o=r=>{let a=Je[r];for(const i of String(e).split(".")){if(!a||typeof a!="object")return;a=a[i]}return typeof a=="string"?a:void 0},n=t||kc()||ya();return o(n)??o("en")}function xc(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function Ic(e,t,o=kc()){const n=String(e).split(/\s*\|\s*/);if(n.length<2||typeof t!="number")return String(e);const r=String(o||"en").split("-")[0].toLowerCase();if(r!=="en")return n[Oc(t,n.length,r)];const a=Math.abs(t),i=n.length===2?a?a>1?1:0:1:a?Math.min(a,2):0;return n[Math.min(i,n.length-1)]}function va(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function Dc(e,t={}){const o=typeof t.fallback=="function"?(n,r,a)=>xc(Ic(t.fallback(va(e,n),r)??n,a),r):(n,r,a)=>xc(Ic(xo(va(e,n))??n,a),r);try{const n=ko();return(r,a,i)=>{const s=va(e,r),l=typeof i=="number"?n.t(s,a||{},i):n.t(s,a||{});return l===s?o(r,a,i):l}}catch{return o}}function Ym(e,t={}){const o=Dc(e,t);try{const n=ko();return{t:o,te:r=>n.te(va(e,r)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}const qm="background:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);",Xm="background:#2b2f2c;color:#e8e9e6;border:1px solid #4a4f4b;",Jm=Yt({name:"LazyLoadFailed",props:{onRetry:{type:Function,required:!0},dark:Boolean},setup(e){const t=Dc("messages"),o=Pe(!1),n=()=>{o.value||(o.value=!0,e.onRetry())};return()=>go("div",{class:"dx-lazy-failed",role:"alert",style:"padding:12px;font-size:13px;line-height:1.4;border-radius:8px;"+(e.dark?Xm:qm)},[go("span",t("viewLoadFailed"))," ",go("button",{type:"button",disabled:o.value,style:"font:inherit;cursor:pointer;",onClick:n},t("retry"))])}});function Zm(e,t){return Zd({loader:e,errorComponent:Yt({inheritAttrs:!1,props:{isDark:Boolean},setup:o=>()=>go(Jm,{onRetry:t,dark:o.isDark})}),onError(o,n,r,a){a<=3?setTimeout(n,a*500):r()}})}function Qm(e){const t=zn(null),o=()=>{t.value=Zm(e,o)};return o(),Yt({name:"RetryableAsync",inheritAttrs:!1,setup(n,{attrs:r,slots:a}){return()=>go(t.value,r,a)}})}function Hc(e,t){const o=St(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:th(e));wo(()=>{var l;if(!o)return;const r=(l=o.proxy)==null?void 0:l.$el;if(!r)return;const a=r.getRootNode();if(!(a instanceof ShadowRoot))return;if(!a.querySelector('style[data-shadow-styles="reduced-motion"]')){const c=document.createElement("style");c.setAttribute("data-shadow-styles","reduced-motion"),c.textContent=eh,a.appendChild(c)}const i=a.querySelector(`style[data-shadow-styles="${n}"]`);if(i){i.textContent!==e&&(i.textContent=e);return}const s=document.createElement("style");s.setAttribute("data-shadow-styles",n),s.textContent=e,a.appendChild(s)})}const eh=`@media (prefers-reduced-motion: reduce) { + */const _m="9.14.5";function $m(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(gn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(gn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(gn().__INTLIFY_PROD_DEVTOOLS__=!1)}const ym=qf.__EXTEND_POINT__,zt=ua(ym);zt(),zt(),zt(),zt(),zt(),zt(),zt(),zt(),zt();const uc=At.__EXTEND_POINT__,tt=ua(uc),De={UNEXPECTED_RETURN_TYPE:uc,INVALID_ARGUMENT:tt(),MUST_BE_CALL_SETUP_TOP:tt(),NOT_INSTALLED:tt(),NOT_AVAILABLE_IN_LEGACY_MODE:tt(),REQUIRED_VALUE:tt(),INVALID_VALUE:tt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:tt(),NOT_INSTALLED_WITH_PROVIDE:tt(),UNEXPECTED_ERROR:tt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:tt(),BRIDGE_SUPPORT_VUE_2_ONLY:tt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:tt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:tt(),__EXTEND_POINT__:tt()};function ze(e,...t){return Fo(e,null,void 0)}const Nr=Jt("__translateVNode"),Mr=Jt("__datetimeParts"),Or=Jt("__numberParts"),dc=Jt("__setPluralRules"),pc=Jt("__injectWithOption"),kr=Jt("__dispose");function bn(e){if(!$e(e)||Lt(e))return e;for(const t in e)if(mt(e,t))if(!t.includes("."))$e(e[t])&&bn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,a=!1;for(let i=0;i{if("locale"in s&&"resource"in s){const{locale:l,resource:c}=s;l?(i[l]=i[l]||Ce(),pa(c,i[l])):pa(c,i)}else X(s)&&pa(JSON.parse(s),i)}),r==null&&a)for(const s in i)mt(i,s)&&bn(i[s]);return i}function gc(e){return e.type}function fc(e,t,o){let n=$e(t.messages)?t.messages:Ce();"__i18nGlobal"in o&&(n=ba(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if($e(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if($e(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function mc(e){return Ie(an,null,e,0)}const hc="__INTLIFY_META__",bc=()=>[],vm=()=>!1;let _c=0;function $c(e){return(t,o,n,r)=>e(o,n,St()||void 0,r)}const Cm=()=>{const e=St();let t=null;return e&&(t=gc(e)[hc])?{[hc]:t}:null};function xr(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,a=e.flatJson,i=la?Pe:zn,s=!!e.translateExistCompatible;let l=me(e.inheritLocale)?e.inheritLocale:!0;const c=i(o&&l?o.locale.value:X(e.locale)?e.locale:Oo),u=i(o&&l?o.fallbackLocale.value:X(e.fallbackLocale)||Ee(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(ba(c.value,e)),h=i(le(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),C=i(le(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=o?o.missingWarn:me(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,v=o?o.fallbackWarn:me(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,z=o?o.fallbackRoot:me(e.fallbackRoot)?e.fallbackRoot:!0,x=!!e.fallbackFormat,y=Le(e.missing)?e.missing:null,_=Le(e.missing)?$c(e.missing):null,$=Le(e.postTranslation)?e.postTranslation:null,w=o?o.warnHtmlMessage:me(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const N=o?o.modifiers:le(e.modifiers)?e.modifiers:{};let O=e.pluralRules||o&&o.pluralRules,M;M=(()=>{r&&Jl(null);const P={version:_m,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:N,pluralRules:O,missing:_===null?void 0:_,missingWarn:A,fallbackWarn:v,fallbackFormat:x,unresolving:!0,postTranslation:$===null?void 0:$,warnHtmlMessage:w,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};P.datetimeFormats=h.value,P.numberFormats=C.value,P.__datetimeFormatters=le(M)?M.__datetimeFormatters:void 0,P.__numberFormatters=le(M)?M.__numberFormatters:void 0;const F=sm(P);return r&&Jl(F),F})(),hn(M,c.value,u.value);function de(){return[c.value,u.value,f.value,h.value,C.value]}const H=re({get:()=>c.value,set:P=>{c.value=P,M.locale=c.value}}),J=re({get:()=>u.value,set:P=>{u.value=P,M.fallbackLocale=u.value,hn(M,c.value,P)}}),he=re(()=>f.value),ge=re(()=>h.value),se=re(()=>C.value);function V(){return Le($)?$:null}function W(P){$=P,M.postTranslation=P}function te(){return y}function pe(P){P!==null&&(_=$c(P)),y=P,M.missing=_}const ce=(P,F,oe,ue,Ae,Ze)=>{de();let Be;try{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=o?im():void 0),Be=P(M)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(M.fallbackContext=void 0)}if(oe!=="translate exists"&&Oe(Be)&&Be===ma||oe==="translate exists"&&!Be){const[bo,bi]=F();return o&&z?ue(o):Ae(bo)}else{if(Ze(Be))return Be;throw ze(De.UNEXPECTED_RETURN_TYPE)}};function _e(...P){return ce(F=>Reflect.apply(tc,null,[F,...P]),()=>Er(...P),"translate",F=>Reflect.apply(F.t,F,[...P]),F=>F,F=>X(F))}function Re(...P){const[F,oe,ue]=P;if(ue&&!$e(ue))throw ze(De.INVALID_ARGUMENT);return _e(F,oe,Ue({resolvedMessage:!0},ue||{}))}function S(...P){return ce(F=>Reflect.apply(ac,null,[F,...P]),()=>Rr(...P),"datetime format",F=>Reflect.apply(F.d,F,[...P]),()=>Gl,F=>X(F))}function D(...P){return ce(F=>Reflect.apply(sc,null,[F,...P]),()=>Fr(...P),"number format",F=>Reflect.apply(F.n,F,[...P]),()=>Gl,F=>X(F))}function U(P){return P.map(F=>X(F)||Oe(F)||me(F)?mc(String(F)):F)}const ee={normalize:U,interpolate:P=>P,type:"vnode"};function j(...P){return ce(F=>{let oe;const ue=F;try{ue.processor=ee,oe=Reflect.apply(tc,null,[ue,...P])}finally{ue.processor=null}return oe},()=>Er(...P),"translate",F=>F[Nr](...P),F=>[mc(F)],F=>Ee(F))}function Z(...P){return ce(F=>Reflect.apply(sc,null,[F,...P]),()=>Fr(...P),"number format",F=>F[Or](...P),bc,F=>X(F)||Ee(F))}function fe(...P){return ce(F=>Reflect.apply(ac,null,[F,...P]),()=>Rr(...P),"datetime format",F=>F[Mr](...P),bc,F=>X(F)||Ee(F))}function g(P){O=P,M.pluralRules=O}function b(P,F){return ce(()=>{if(!P)return!1;const oe=X(F)?F:c.value,ue=I(oe),Ae=M.messageResolver(ue,P);return s?Ae!=null:Lt(Ae)||dt(Ae)||X(Ae)},()=>[P],"translate exists",oe=>Reflect.apply(oe.te,oe,[P,F]),vm,oe=>me(oe))}function m(P){let F=null;const oe=Ul(M,u.value,c.value);for(let ue=0;ue{l&&(c.value=P,M.locale=P,hn(M,c.value,u.value))}),Ye(o.fallbackLocale,P=>{l&&(u.value=P,M.fallbackLocale=P,hn(M,c.value,u.value))}));const G={id:_c,locale:H,fallbackLocale:J,get inheritLocale(){return l},set inheritLocale(P){l=P,P&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,hn(M,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:he,get modifiers(){return N},get pluralRules(){return O||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(P){A=P,M.missingWarn=A},get fallbackWarn(){return v},set fallbackWarn(P){v=P,M.fallbackWarn=v},get fallbackRoot(){return z},set fallbackRoot(P){z=P},get fallbackFormat(){return x},set fallbackFormat(P){x=P,M.fallbackFormat=x},get warnHtmlMessage(){return w},set warnHtmlMessage(P){w=P,M.warnHtmlMessage=P},get escapeParameter(){return L},set escapeParameter(P){L=P,M.escapeParameter=P},t:_e,getLocaleMessage:I,setLocaleMessage:k,mergeLocaleMessage:K,getPostTranslationHandler:V,setPostTranslationHandler:W,getMissingHandler:te,setMissingHandler:pe,[dc]:g};return G.datetimeFormats=ge,G.numberFormats=se,G.rt=Re,G.te=b,G.tm=E,G.d=S,G.n=D,G.getDateTimeFormat=B,G.setDateTimeFormat=d,G.mergeDateTimeFormat=p,G.getNumberFormat=T,G.setNumberFormat=R,G.mergeNumberFormat=Y,G[pc]=n,G[Nr]=j,G[Mr]=fe,G[Or]=Z,G}function Tm(e){const t=X(e.locale)?e.locale:Oo,o=X(e.fallbackLocale)||Ee(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Le(e.missing)?e.missing:void 0,r=me(e.silentTranslationWarn)||Zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=me(e.silentFallbackWarn)||Zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=me(e.fallbackRoot)?e.fallbackRoot:!0,s=!!e.formatFallbackMessages,l=le(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Le(e.postTranslation)?e.postTranslation:void 0,f=X(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,C=me(e.sync)?e.sync:!0;let A=e.messages;if(le(e.sharedMessages)){const L=e.sharedMessages;A=Object.keys(L).reduce((O,M)=>{const Q=O[M]||(O[M]={});return Ue(Q,L[M]),O},A||{})}const{__i18n:v,__root:z,__injectWithOption:x}=e,y=e.datetimeFormats,_=e.numberFormats,$=e.flatJson,w=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:A,flatJson:$,datetimeFormats:y,numberFormats:_,missing:n,missingWarn:r,fallbackWarn:a,fallbackRoot:i,fallbackFormat:s,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:C,translateExistCompatible:w,__i18n:v,__root:z,__injectWithOption:x}}function Ir(e={},t){{const o=xr(Tm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(a){o.locale.value=a},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(a){o.fallbackLocale.value=a},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(a){},get missing(){return o.getMissingHandler()},set missing(a){o.setMissingHandler(a)},get silentTranslationWarn(){return me(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(a){o.missingWarn=me(a)?!a:a},get silentFallbackWarn(){return me(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(a){o.fallbackWarn=me(a)?!a:a},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(a){o.fallbackFormat=a},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(a){o.setPostTranslationHandler(a)},get sync(){return o.inheritLocale},set sync(a){o.inheritLocale=a},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(a){o.warnHtmlMessage=a!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(a){o.escapeParameter=a},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(a){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...a){const[i,s,l]=a,c={};let u=null,f=null;if(!X(i))throw ze(De.INVALID_ARGUMENT);const h=i;return X(s)?c.locale=s:Ee(s)?u=s:le(s)&&(f=s),Ee(l)?u=l:le(l)&&(f=l),Reflect.apply(o.t,o,[h,u||f||{},c])},rt(...a){return Reflect.apply(o.rt,o,[...a])},tc(...a){const[i,s,l]=a,c={plural:1};let u=null,f=null;if(!X(i))throw ze(De.INVALID_ARGUMENT);const h=i;return X(s)?c.locale=s:Oe(s)?c.plural=s:Ee(s)?u=s:le(s)&&(f=s),X(l)?c.locale=l:Ee(l)?u=l:le(l)&&(f=l),Reflect.apply(o.t,o,[h,u||f||{},c])},te(a,i){return o.te(a,i)},tm(a){return o.tm(a)},getLocaleMessage(a){return o.getLocaleMessage(a)},setLocaleMessage(a,i){o.setLocaleMessage(a,i)},mergeLocaleMessage(a,i){o.mergeLocaleMessage(a,i)},d(...a){return Reflect.apply(o.d,o,[...a])},getDateTimeFormat(a){return o.getDateTimeFormat(a)},setDateTimeFormat(a,i){o.setDateTimeFormat(a,i)},mergeDateTimeFormat(a,i){o.mergeDateTimeFormat(a,i)},n(...a){return Reflect.apply(o.n,o,[...a])},getNumberFormat(a){return o.getNumberFormat(a)},setNumberFormat(a,i){o.setNumberFormat(a,i)},mergeNumberFormat(a,i){o.mergeNumberFormat(a,i)},getChoiceIndex(a,i){return-1}};return r.__extender=n,r}}const Dr={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Pm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===at?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ce())}function yc(e){return at}const vc=Yt({name:"i18n-t",props:Ue({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Oe(e)||!isNaN(e)}},Dr),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||ko({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(o).filter(f=>f!=="_"),i=Ce();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=X(e.plural)?+e.plural:e.plural);const s=Pm(t,a),l=r[Nr](e.keypath,s,i),c=Ue(Ce(),n),u=X(e.tag)||$e(e.tag)?e.tag:yc();return fo(u,c,l)}}});function wm(e){return Ee(e)&&!X(e[0])}function Cc(e,t,o,n){const{slots:r,attrs:a}=t;return()=>{const i={part:!0};let s=Ce();e.locale&&(i.locale=e.locale),X(e.format)?i.key=e.format:$e(e.format)&&(X(e.format.key)&&(i.key=e.format.key),s=Object.keys(e.format).reduce((h,C)=>o.includes(C)?Ue(Ce(),h,{[C]:e.format[C]}):h,Ce()));const l=n(e.value,i,s);let c=[i.key];Ee(l)?c=l.map((h,C)=>{const A=r[h.type],v=A?A({[h.type]:h.value,index:C,parts:l}):[h.value];return wm(v)&&(v[0].key=`${h.type}-${C}`),v}):X(l)&&(c=[l]);const u=Ue(Ce(),a),f=X(e.tag)||$e(e.tag)?e.tag:yc();return fo(f,u,c)}}const Tc=Yt({name:"i18n-n",props:Ue({value:{type:Number,required:!0},format:{type:[String,Object]}},Dr),setup(e,t){const o=e.i18n||ko({useScope:e.scope,__useComponent:!0});return Cc(e,t,lc,(...n)=>o[Or](...n))}}),Pc=Yt({name:"i18n-d",props:Ue({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Dr),setup(e,t){const o=e.i18n||ko({useScope:e.scope,__useComponent:!0});return Cc(e,t,rc,(...n)=>o[Mr](...n))}});function Sm(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 Lm(e){const t=i=>{const{instance:s,modifiers:l,value:c}=i;if(!s||!s.$)throw ze(De.UNEXPECTED_ERROR);const u=Sm(e,s.$),f=wc(c);return[Reflect.apply(u.t,u,[...Sc(f)]),u]};return{created:(i,s)=>{const[l,c]=t(s);la&&e.global===c&&(i.__i18nWatcher=Ye(c.locale,()=>{s.instance&&s.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{la&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:s})=>{if(i.__composer){const l=i.__composer,c=wc(s);i.textContent=Reflect.apply(l.t,l,[...Sc(c)])}},getSSRProps:i=>{const[s]=t(i);return{textContent:s}}}}function wc(e){if(X(e))return{path:e};if(le(e)){if(!("path"in e))throw ze(De.REQUIRED_VALUE,"path");return e}else throw ze(De.INVALID_VALUE)}function Sc(e){const{path:t,locale:o,args:n,choice:r,plural:a}=e,i={},s=n||{};return X(o)&&(i.locale=o),Oe(r)&&(i.plural=r),Oe(a)&&(i.plural=a),[t,s,i]}function Am(e,t,...o){const n=le(o[0])?o[0]:{},r=!!n.useI18nComponentName;(me(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":vc.name,"I18nT"].forEach(i=>e.component(i,vc)),[Tc.name,"I18nN"].forEach(i=>e.component(i,Tc)),[Pc.name,"I18nD"].forEach(i=>e.component(i,Pc))),e.directive("t",Lm(t))}function Em(e,t,o){return{beforeCreate(){const n=St();if(!n)throw ze(De.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const a=r.i18n;if(r.__i18n&&(a.__i18n=r.__i18n),a.__root=t,this===this.$root)this.$i18n=Lc(e,a);else{a.__injectWithOption=!0,a.__extender=o.__vueI18nExtend,this.$i18n=Ir(a);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=Lc(e,r);else{this.$i18n=Ir({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&fc(t,r,r),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$tc=(...a)=>this.$i18n.tc(...a),this.$te=(a,i)=>this.$i18n.te(a,i),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=St();if(!n)throw ze(De.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Lc(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[dc](t.pluralizationRules||e.pluralizationRules);const o=ba(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 Rm=Jt("global-vue-i18n");function Fm(e={},t){const o=__VUE_I18N_LEGACY_API__&&me(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=me(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,a=new Map,[i,s]=Nm(e,o),l=Jt("");function c(h){return a.get(h)||null}function u(h,C){a.set(h,C)}function f(h){a.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(C,...A){if(C.__VUE_I18N_SYMBOL__=l,C.provide(C.__VUE_I18N_SYMBOL__,h),le(A[0])){const x=A[0];h.__composerExtend=x.__composerExtend,h.__vueI18nExtend=x.__vueI18nExtend}let v=null;!o&&n&&(v=Wm(C,h.global)),__VUE_I18N_FULL_INSTALL__&&Am(C,h,...A),__VUE_I18N_LEGACY_API__&&o&&C.mixin(Em(s,s.__composer,h));const z=C.unmount;C.unmount=()=>{v&&v(),h.dispose(),z()}},get global(){return s},dispose(){i.stop()},__instances:a,__getInstance:c,__setInstance:u,__deleteInstance:f};return h}}function ko(e={}){const t=St();if(t==null)throw ze(De.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ze(De.NOT_INSTALLED);const o=Mm(t),n=km(o),r=gc(t),a=Om(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw ze(De.NOT_AVAILABLE_IN_LEGACY_MODE);return Hm(t,a,n,e)}if(a==="global")return fc(n,e,r),n;if(a==="parent"){let l=xm(o,t,e.__useComponent);return l==null&&(l=n),l}const i=o;let s=i.__getInstance(t);if(s==null){const l=Ue({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),s=xr(l),i.__composerExtend&&(s[kr]=i.__composerExtend(s)),Dm(i,t,s),i.__setInstance(t,s)}return s}function Nm(e,t,o){const n=Nn();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ir(e)):n.run(()=>xr(e));if(r==null)throw ze(De.UNEXPECTED_ERROR);return[n,r]}}function Mm(e){{const t=Ve(e.isCE?Rm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ze(e.isCE?De.NOT_INSTALLED_WITH_PROVIDE:De.UNEXPECTED_ERROR);return t}}function Om(e,t){return ca(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function km(e){return e.mode==="composition"?e.global:e.global.__composer}function xm(e,t,o=!1){let n=null;const r=t.root;let a=Im(t,o);for(;a!=null;){const i=e;if(e.mode==="composition")n=i.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const s=i.__getInstance(a);s!=null&&(n=s.__composer,o&&n&&!n[pc]&&(n=null))}if(n!=null||r===a)break;a=a.parent}return n}function Im(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Dm(e,t,o){wo(()=>{},t),Xn(()=>{const n=o;e.__deleteInstance(t);const r=n[kr];r&&(r(),delete n[kr])},t)}function Hm(e,t,o,n={}){const r=t==="local",a=zn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ze(De.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=me(n.inheritLocale)?n.inheritLocale:!X(n.locale),s=Pe(!r||i?o.locale.value:X(n.locale)?n.locale:Oo),l=Pe(!r||i?o.fallbackLocale.value:X(n.fallbackLocale)||Ee(n.fallbackLocale)||le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:s.value),c=Pe(ba(s.value,n)),u=Pe(le(n.datetimeFormats)?n.datetimeFormats:{[s.value]:{}}),f=Pe(le(n.numberFormats)?n.numberFormats:{[s.value]:{}}),h=r?o.missingWarn:me(n.missingWarn)||Zt(n.missingWarn)?n.missingWarn:!0,C=r?o.fallbackWarn:me(n.fallbackWarn)||Zt(n.fallbackWarn)?n.fallbackWarn:!0,A=r?o.fallbackRoot:me(n.fallbackRoot)?n.fallbackRoot:!0,v=!!n.fallbackFormat,z=Le(n.missing)?n.missing:null,x=Le(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:me(n.warnHtmlMessage)?n.warnHtmlMessage:!0,_=!!n.escapeParameter,$=r?o.modifiers:le(n.modifiers)?n.modifiers:{},w=n.pluralRules||r&&o.pluralRules;function L(){return[s.value,l.value,c.value,u.value,f.value]}const N=re({get:()=>a.value?a.value.locale.value:s.value,set:m=>{a.value&&(a.value.locale.value=m),s.value=m}}),O=re({get:()=>a.value?a.value.fallbackLocale.value:l.value,set:m=>{a.value&&(a.value.fallbackLocale.value=m),l.value=m}}),M=re(()=>a.value?a.value.messages.value:c.value),Q=re(()=>u.value),de=re(()=>f.value);function H(){return a.value?a.value.getPostTranslationHandler():x}function J(m){a.value&&a.value.setPostTranslationHandler(m)}function he(){return a.value?a.value.getMissingHandler():z}function ge(m){a.value&&a.value.setMissingHandler(m)}function se(m){return L(),m()}function V(...m){return a.value?se(()=>Reflect.apply(a.value.t,null,[...m])):se(()=>"")}function W(...m){return a.value?Reflect.apply(a.value.rt,null,[...m]):""}function te(...m){return a.value?se(()=>Reflect.apply(a.value.d,null,[...m])):se(()=>"")}function pe(...m){return a.value?se(()=>Reflect.apply(a.value.n,null,[...m])):se(()=>"")}function ce(m){return a.value?a.value.tm(m):{}}function _e(m,E){return a.value?a.value.te(m,E):!1}function Re(m){return a.value?a.value.getLocaleMessage(m):{}}function S(m,E){a.value&&(a.value.setLocaleMessage(m,E),c.value[m]=E)}function D(m,E){a.value&&a.value.mergeLocaleMessage(m,E)}function U(m){return a.value?a.value.getDateTimeFormat(m):{}}function q(m,E){a.value&&(a.value.setDateTimeFormat(m,E),u.value[m]=E)}function ee(m,E){a.value&&a.value.mergeDateTimeFormat(m,E)}function j(m){return a.value?a.value.getNumberFormat(m):{}}function Z(m,E){a.value&&(a.value.setNumberFormat(m,E),f.value[m]=E)}function fe(m,E){a.value&&a.value.mergeNumberFormat(m,E)}const g={get id(){return a.value?a.value.id:-1},locale:N,fallbackLocale:O,messages:M,datetimeFormats:Q,numberFormats:de,get inheritLocale(){return a.value?a.value.inheritLocale:i},set inheritLocale(m){a.value&&(a.value.inheritLocale=m)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:$},get pluralRules(){return a.value?a.value.pluralRules:w},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:h},set missingWarn(m){a.value&&(a.value.missingWarn=m)},get fallbackWarn(){return a.value?a.value.fallbackWarn:C},set fallbackWarn(m){a.value&&(a.value.missingWarn=m)},get fallbackRoot(){return a.value?a.value.fallbackRoot:A},set fallbackRoot(m){a.value&&(a.value.fallbackRoot=m)},get fallbackFormat(){return a.value?a.value.fallbackFormat:v},set fallbackFormat(m){a.value&&(a.value.fallbackFormat=m)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:y},set warnHtmlMessage(m){a.value&&(a.value.warnHtmlMessage=m)},get escapeParameter(){return a.value?a.value.escapeParameter:_},set escapeParameter(m){a.value&&(a.value.escapeParameter=m)},t:V,getPostTranslationHandler:H,setPostTranslationHandler:J,getMissingHandler:he,setMissingHandler:ge,rt:W,d:te,n:pe,tm:ce,te:_e,getLocaleMessage:Re,setLocaleMessage:S,mergeLocaleMessage:D,getDateTimeFormat:U,setDateTimeFormat:q,mergeDateTimeFormat:ee,getNumberFormat:j,setNumberFormat:Z,mergeNumberFormat:fe};function b(m){m.locale.value=s.value,m.fallbackLocale.value=l.value,Object.keys(c.value).forEach(E=>{m.mergeLocaleMessage(E,c.value[E])}),Object.keys(u.value).forEach(E=>{m.mergeDateTimeFormat(E,u.value[E])}),Object.keys(f.value).forEach(E=>{m.mergeNumberFormat(E,f.value[E])}),m.escapeParameter=_,m.fallbackFormat=v,m.fallbackRoot=A,m.fallbackWarn=C,m.missingWarn=h,m.warnHtmlMessage=y}return ds(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ze(De.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=a.value=e.proxy.$i18n.__composer;t==="global"?(s.value=m.locale.value,l.value=m.fallbackLocale.value,c.value=m.messages.value,u.value=m.datetimeFormats.value,f.value=m.numberFormats.value):r&&b(m)}),g}const zm=["locale","fallbackLocale","availableLocales"],Ac=["t","rt","d","n","tm","te"];function Wm(e,t){const o=Object.create(null);return zm.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a)throw ze(De.UNEXPECTED_ERROR);const i=Ne(a.value)?{get(){return a.value.value},set(s){a.value.value=s}}:{get(){return a.get&&a.get()}};Object.defineProperty(o,r,i)}),e.config.globalProperties.$i18n=o,Ac.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a||!a.value)throw ze(De.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,a)}),()=>{delete e.config.globalProperties.$i18n,Ac.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if($m(),tm(gm),om(kf),nm(Ul),__INTLIFY_PROD_DEVTOOLS__){const e=gn();e.__INTLIFY__=!0,Gf(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Um=Object.assign({"./locales/ar/aria.json":{backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها",searchPeopleGroups:"ابحث عن الشعوب",resetAllFilters:"إعادة تعيين كل عوامل التصفية والبحث",selectAllRows:"تحديد كل الصفوف",deselectAllRows:"إلغاء تحديد كل الصفوف",rowDetail:"تفاصيل الصف",dismissHint:"إخفاء التلميح",resizeFiltersRail:"تغيير حجم شريط عوامل التصفية",resizeFiltersRailHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير حجم شريط عوامل التصفية",resizeChartsRail:"تغيير حجم شريط الرسوم البيانية",resizeChartsRailHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير حجم شريط الرسوم البيانية",resizeMapTableSplit:"تغيير نسبة التقسيم بين الخريطة والجدول",resizeMapTableSplitHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير نسبة التقسيم بين الخريطة والجدول",resizeTable:"تغيير ارتفاع الجدول",resizeTableHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير حجم الجدول",resizeDashboardHeight:"تغيير ارتفاع لوحة المعلومات",resizeDashboardHeightHint:"اسحب أو استخدم مفاتيح الأسهم لتغيير ارتفاع لوحة المعلومات",removeFilter:"إزالة عامل التصفية {name}",closeDetail:"إغلاق التفاصيل",filterBreadcrumb:"مسار عوامل التصفية",railViews:"طرق عرض الشريط",upgCountLegend:"مفتاح عدد UPG",donutChart:"مخطط دائري مجوّف: {title}"},"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},"./locales/ar/mapui.json":{map:"الخريطة",marker:"علامة على الخريطة",closePopup:"إغلاق النافذة المنبثقة",zoomIn:"تكبير",zoomOut:"تصغير",resetBearing:"اسحب لتدوير الخريطة، وانقر لإعادة الشمال",toggleAttribution:"إظهار/إخفاء المصادر",mapFeedback:"ملاحظات على الخريطة",enterFullscreen:"ملء الشاشة",exitFullscreen:"الخروج من ملء الشاشة",findMyLocation:"تحديد موقعي",locationNotAvailable:"الموقع غير متاح",enableGlobe:"تفعيل الكرة الأرضية",disableGlobe:"إيقاف الكرة الأرضية",ctrlScroll:"استخدم Ctrl مع التمرير لتكبير الخريطة",cmdScroll:"استخدم ⌘ مع التمرير لتكبير الخريطة",twoFingers:"استخدم إصبعين لتحريك الخريطة",mapboxHomepage:"الصفحة الرئيسية لـ Mapbox",maplibreLogo:"شعار MapLibre"},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم صلاة وملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع ٢١٠٦ شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100",mapContextLost:"تم إلغاء تحميل هذه الخريطة لتحرير ذاكرة الرسوميات.",nOfTotal:"{n} من {total}",mapInitFailed:"تعذّر تهيئة الخريطة — تحقّق من الرمز والحاوية",countryWallIntroA:"ملصق لكل دولة، جاهز للصلاة والطباعة والتعليق على الحائط — نصلّي لأجلهم ",countryWallIntroB:". رُتّبت المناطق والدول بحسب عدد الشعوب غير المبلَّغة فيها، لتتقدّم الحاجة الأكبر.",countryWallSoon:"قريبًا: ستُنشأ قائمة صلاة لكل دولة، تسمّي كل شعب غير مبلَّغ فيها.",countryWallHeading:"ملصقات الدول — قوائم صلاة وملصقات",largerScreenNotice:"هذه الخريطة التجريبية مُعدّة للشاشات الكبيرة. تُفتح هنا، لكن بعض أجزائها قد لا يتّسع أو لا يعمل جيدًا على الهاتف.",desktopOnlyNotice:"{label} يعمل على الحاسوب فقط — افتح هذه الصفحة على حاسوب لاستخدامه.",noticeDismiss:"إغلاق",countryPosterTooMany:"عدد الشعوب أكبر من أن يتّسع له ملصق واحد بوضوح — ونعمل على حلّ لذلك."},"./locales/ar/regions.json":{"%count% people groups in %countries% countries":"%count% مجموعة شعبية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة شعبية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة الشعبية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"متبنَّاة","Adoption Progress":"تقدُّم التبنّي","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Choose a region":"اختر منطقة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مَخْدُومَة","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة شعبية غير مَخْدُومَة تتبنّاها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات الشعبية غير المبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات","Hide country posters":"إخفاء ملصقات الدولة",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...",Map:"الخريطة","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة شعبية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد.","No unengaged people groups by 2033":"لا مجموعات شعبية غير مَخْدُومَة بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة شعبية","People Groups":"مجموعات شعبية","People committed to praying":"الأشخاص الذين التزموا بالصلاة","Pick a region above, or click any dot to open that people group's country.":"اختر منطقة أعلاه، أو انقر على أي نقطة لفتح دولة تلك المجموعة الشعبية.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"اختر منطقة أو دولة من تبويب قائمة المناطق لتضييق نطاق لوحة المعلومات هذه.",Population:"عدد السكان","Prayer Coverage":"تغطية الصلاة","Prayer coverage progress":"تقدم تغطية الصلاة","Region Dashboards":"لوحات معلومات المناطق","Region dashboard":"لوحة معلومات المنطقة",Regions:"المناطق","Regions List":"قائمة المناطق",Religion:"الدين","Search names, country/continent, religions...":"ابحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Select View":"اختر العرض","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعة شعبية في %country%. تحقق من الخريطة لمعرفة المجموعات الشعبية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"المجموعات الشعبية غير المَخْدُومَة","View country posters":"عرض ملصقات الدولة",Views:"العروض","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"مجموعات شعبية متبنَّاة","people groups engaged":"مجموعات شعبية مَخْدُومَة","Outside this region":"خارج هذه المنطقة",Pray:"صلّي","Loading region dashboards…":"جارٍ تحميل لوحات المناطق…",Print:"طباعة","Preparing the page…":"جارٍ تحضير الصفحة…","No regions found.":"لم يتم العثور على مناطق.","Region data could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل بيانات المناطق. هذه مشكلة في الاتصال، وليست تصفية.","People groups could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل الشعوب. هذه مشكلة في الاتصال، وليست تصفية.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة.","Countries: %count%":"الدول: %count%","Regions: %count%":"المناطق: %count%",countryCount:"لا دول | دولة واحدة | دولتان | {n} دول | {n} دولة | {n} دولة",regionCount:"لا مناطق | منطقة واحدة | منطقتان | {n} مناطق | {n} منطقة | {n} منطقة","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"قريبًا — ستُنشأ قائمة صلاة لكل دولة، تذكر كل مجموعة شعبية غير مبلَّغة فيها."},"./locales/ar/religion.json":{family:{Christianity:"المسيحية",Islam:"الإسلام",Hinduism:"الهندوسية",Buddhism:"البوذية",Ethnoreligion:"الديانات العرقية",Judaism:"اليهودية",Sikhism:"السيخية",Unaffiliated:"غير منتمين",Other:"أخرى",Unknown:"غير معروف"}},"./locales/de/aria.json":{backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden",searchPeopleGroups:"Volksgruppen suchen",resetAllFilters:"Alle Filter und die Suche zurücksetzen",selectAllRows:"Alle Zeilen auswählen",deselectAllRows:"Auswahl aller Zeilen aufheben",rowDetail:"Zeilendetails",dismissHint:"Hinweis schließen",resizeFiltersRail:"Filterleiste in der Größe ändern",resizeFiltersRailHint:"Ziehen oder Pfeiltasten verwenden, um die Filterleiste in der Größe zu ändern",resizeChartsRail:"Diagrammleiste in der Größe ändern",resizeChartsRailHint:"Ziehen oder Pfeiltasten verwenden, um die Diagrammleiste in der Größe zu ändern",resizeMapTableSplit:"Aufteilung zwischen Karte und Tabelle ändern",resizeMapTableSplitHint:"Ziehen oder Pfeiltasten verwenden, um die Aufteilung zwischen Karte und Tabelle zu ändern",resizeTable:"Tabellenhöhe ändern",resizeTableHint:"Ziehen oder Pfeiltasten verwenden, um die Tabelle in der Größe zu ändern",resizeDashboardHeight:"Höhe des Dashboards ändern",resizeDashboardHeightHint:"Ziehen oder Pfeiltasten verwenden, um die Höhe des Dashboards zu ändern",removeFilter:"Filter {name} entfernen",closeDetail:"Details schließen",filterBreadcrumb:"Filterpfad",railViews:"Ansichten der Leiste",upgCountLegend:"Legende der UPG-Anzahl",donutChart:"Ringdiagramm: {title}"},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},"./locales/de/mapui.json":{map:"Karte",marker:"Kartenmarkierung",closePopup:"Popup schließen",zoomIn:"Vergrößern",zoomOut:"Verkleinern",resetBearing:"Ziehen, um die Karte zu drehen; klicken, um nach Norden auszurichten",toggleAttribution:"Quellenangaben ein-/ausblenden",mapFeedback:"Feedback zur Karte",enterFullscreen:"Vollbild",exitFullscreen:"Vollbild beenden",findMyLocation:"Meinen Standort finden",locationNotAvailable:"Standort nicht verfügbar",enableGlobe:"Globus einschalten",disableGlobe:"Globus ausschalten",ctrlScroll:"Strg + Scrollen zum Zoomen der Karte",cmdScroll:"⌘ + Scrollen zum Zoomen der Karte",twoFingers:"Mit zwei Fingern die Karte bewegen",mapboxHomepage:"Mapbox-Startseite",maplibreLogo:"MapLibre-Logo"},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den 2.106 unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:".",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100",mapContextLost:"Diese Karte wurde entladen, um Grafikspeicher freizugeben.",nOfTotal:"{n} von {total}",mapInitFailed:"Karte konnte nicht initialisiert werden — Token und Container prüfen",countryWallIntroA:"Ein Poster pro Land, bereit zum Beten, Drucken und Aufhängen — und für sie beten ",countryWallIntroB:". Regionen und Länder sind danach geordnet, wie viele unerreichte Volksgruppen sie umfassen, damit der größte Bedarf vorne steht.",countryWallSoon:"Demnächst: Für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin mit Namen nennt.",countryWallHeading:"Länderposter — Gebetslisten und Poster",largerScreenNotice:"Diese experimentelle Karte ist für große Bildschirme gebaut. Sie öffnet sich hier, aber Teile passen oder funktionieren auf einem Telefon womöglich nicht gut.",desktopOnlyNotice:"{label} funktioniert nur am Desktop – öffnen Sie diese Seite an einem Computer.",noticeDismiss:"Schließen",countryPosterTooMany:"Zu viele Volksgruppen, um lesbar auf ein Plakat zu passen – an einer Lösung wird gearbeitet."},"./locales/de/regions.json":{"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Adoptiert","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Choose a region":"Region auswählen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Fortschritt der Arbeit vor Ort","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden","Hide country posters":"Länderposter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...",Map:"Karte","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt.","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben","Pick a region above, or click any dot to open that people group's country.":"Wählen Sie oben eine Region aus oder klicken Sie auf einen Punkt, um das Land dieser Volksgruppe zu öffnen.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Wählen Sie im Tab „Regionenliste“ eine Region oder ein Land aus, um dieses Dashboard einzugrenzen.",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung","Region Dashboards":"Regionen-Dashboards","Region dashboard":"Regions-Dashboard",Regions:"Regionen","Regions List":"Regionenliste",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Select View":"Ansicht auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Unberührte Volksgruppen","View country posters":"Länderposter ansehen",Views:"Ansichten","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","Outside this region":"Außerhalb dieser Region",Pray:"Ich bete","Loading region dashboards…":"Regions-Dashboards werden geladen…",Print:"Drucken","Preparing the page…":"Seite wird vorbereitet…","No regions found.":"Keine Regionen gefunden.","Region data could not be loaded. This is a connection problem, not a filter.":"Regionsdaten konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","People groups could not be loaded. This is a connection problem, not a filter.":"Volksgruppen konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Die Karte konnte nicht starten. Das ist ein Karten-Token- oder Verbindungsproblem, kein Filter — die Zahlen oben sind davon nicht betroffen.","Countries: %count%":"Länder: %count%","Regions: %count%":"Regionen: %count%",countryCount:"{n} Land | {n} Länder",regionCount:"{n} Region | {n} Regionen","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Demnächst — für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin benennt."},"./locales/de/religion.json":{family:{Christianity:"Christentum",Islam:"Islam",Hinduism:"Hinduismus",Buddhism:"Buddhismus",Ethnoreligion:"Ethnische Religionen",Judaism:"Judentum",Sikhism:"Sikhismus",Unaffiliated:"Konfessionslos",Other:"Andere",Unknown:"Unbekannt"}},"./locales/en/aria.json":{backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend",searchPeopleGroups:"Search people groups",resetAllFilters:"Reset all filters and search",selectAllRows:"Select all rows",deselectAllRows:"Deselect all rows",rowDetail:"Row detail",dismissHint:"Dismiss hint",resizeFiltersRail:"Resize filters rail",resizeFiltersRailHint:"Drag or use arrow keys to resize the filters rail",resizeChartsRail:"Resize charts rail",resizeChartsRailHint:"Drag or use arrow keys to resize the charts rail",resizeMapTableSplit:"Resize map/table split",resizeMapTableSplitHint:"Drag or use arrow keys to resize the map/table split",resizeTable:"Resize table height",resizeTableHint:"Drag or use arrow keys to resize the table",resizeDashboardHeight:"Resize dashboard height",resizeDashboardHeightHint:"Drag or use arrow keys to resize the dashboard's height",removeFilter:"Remove filter {name}",closeDetail:"Close detail",filterBreadcrumb:"Filter breadcrumb",railViews:"Rail views",upgCountLegend:"UPG count legend",donutChart:"{title} donut chart"},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},"./locales/en/mapui.json":{map:"Map",marker:"Map marker",closePopup:"Close popup",zoomIn:"Zoom in",zoomOut:"Zoom out",resetBearing:"Drag to rotate map, click to reset north",toggleAttribution:"Toggle attribution",mapFeedback:"Map feedback",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",findMyLocation:"Find my location",locationNotAvailable:"Location not available",enableGlobe:"Enable globe",disableGlobe:"Disable globe",ctrlScroll:"Use Ctrl + scroll to zoom the map",cmdScroll:"Use ⌘ + scroll to zoom the map",twoFingers:"Use two fingers to move the map",mapboxHomepage:"Mapbox homepage",maplibreLogo:"MapLibre logo"},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the 2,106 unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100",mapContextLost:"This map was unloaded to free graphics memory.",nOfTotal:"{n} of {total}",mapInitFailed:"Map failed to initialize — check token and container",countryWallIntroA:"One poster per country, ready to pray, print, and put on a wall — praying for them ",countryWallIntroB:". Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",countryWallSoon:"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.",countryWallHeading:"Country Posters — Prayer Lists & Posters",largerScreenNotice:"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.",desktopOnlyNotice:"{label} only supports desktop — open this page on a desktop to use it.",noticeDismiss:"Dismiss",countryPosterTooMany:"Too many people groups to fit on one poster legibly — a solution is in progress."},"./locales/en/regions.json":{"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Choose a region":"Choose a region","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters","Hide country posters":"Hide country posters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...",Map:"Map","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No poster has been generated for this country yet.":"No poster has been generated for this country yet.","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying","Pick a region above, or click any dot to open that people group's country.":"Pick a region above, or click any dot to open that people group's country.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Pick a region or a country on the Regions List tab to narrow this dashboard.",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress","Region Dashboards":"Region Dashboards","Region dashboard":"Region dashboard",Regions:"Regions","Regions List":"Regions List",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Select View":"Select View","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","View country posters":"View country posters",Views:"Views","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","Outside this region":"Outside this region",Pray:"Pray","Loading region dashboards…":"Loading region dashboards…",Print:"Print","Preparing the page…":"Preparing the page…","No regions found.":"No regions found.","Region data could not be loaded. This is a connection problem, not a filter.":"Region data could not be loaded. This is a connection problem, not a filter.","People groups could not be loaded. This is a connection problem, not a filter.":"People groups could not be loaded. This is a connection problem, not a filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.","Countries: %count%":"Countries: %count%","Regions: %count%":"Regions: %count%",countryCount:"{n} countries | {n} country | {n} countries",regionCount:"{n} regions | {n} region | {n} regions","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it."},"./locales/en/religion.json":{family:{Christianity:"Christianity",Islam:"Islam",Hinduism:"Hinduism",Buddhism:"Buddhism",Ethnoreligion:"Ethnoreligion",Judaism:"Judaism",Sikhism:"Sikhism",Unaffiliated:"Unaffiliated",Other:"Other",Unknown:"Unknown"}},"./locales/es/aria.json":{backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda",searchPeopleGroups:"Buscar pueblos",resetAllFilters:"Restablecer todos los filtros y la búsqueda",selectAllRows:"Seleccionar todas las filas",deselectAllRows:"Deseleccionar todas las filas",rowDetail:"Detalle de la fila",dismissHint:"Descartar la sugerencia",resizeFiltersRail:"Cambiar el tamaño del panel de filtros",resizeFiltersRailHint:"Arrastra o usa las teclas de flecha para cambiar el tamaño del panel de filtros",resizeChartsRail:"Cambiar el tamaño del panel de gráficos",resizeChartsRailHint:"Arrastra o usa las teclas de flecha para cambiar el tamaño del panel de gráficos",resizeMapTableSplit:"Cambiar la división entre el mapa y la tabla",resizeMapTableSplitHint:"Arrastra o usa las teclas de flecha para cambiar la división entre el mapa y la tabla",resizeTable:"Cambiar la altura de la tabla",resizeTableHint:"Arrastra o usa las teclas de flecha para cambiar el tamaño de la tabla",resizeDashboardHeight:"Cambiar la altura del panel",resizeDashboardHeightHint:"Arrastra o usa las teclas de flecha para cambiar la altura del panel",removeFilter:"Quitar el filtro {name}",closeDetail:"Cerrar el detalle",filterBreadcrumb:"Ruta de filtros",railViews:"Vistas del panel",upgCountLegend:"Leyenda del recuento de UPG",donutChart:"Gráfico de anillo: {title}"},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},"./locales/es/mapui.json":{map:"Mapa",marker:"Marcador del mapa",closePopup:"Cerrar ventana",zoomIn:"Acercar",zoomOut:"Alejar",resetBearing:"Arrastra para girar el mapa; haz clic para orientar al norte",toggleAttribution:"Mostrar u ocultar atribución",mapFeedback:"Comentarios sobre el mapa",enterFullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",findMyLocation:"Buscar mi ubicación",locationNotAvailable:"Ubicación no disponible",enableGlobe:"Activar globo",disableGlobe:"Desactivar globo",ctrlScroll:"Usa Ctrl + desplazamiento para hacer zoom en el mapa",cmdScroll:"Usa ⌘ + desplazamiento para hacer zoom en el mapa",twoFingers:"Usa dos dedos para mover el mapa",mapboxHomepage:"Página de inicio de Mapbox",maplibreLogo:"Logotipo de MapLibre"},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los 2.106 pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100",mapContextLost:"Este mapa se descargó para liberar memoria gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"No se pudo iniciar el mapa: revisa el token y el contenedor",countryWallIntroA:"Un cartel por país, listo para orar, imprimir y colgar en una pared — orando por ellos ",countryWallIntroB:". Las regiones y los países se ordenan según cuántos pueblos no comprometidos contienen, para que la mayor necesidad vaya primero.",countryWallSoon:"Próximamente: se generará una lista de oración para cada país, con el nombre de cada pueblo no alcanzado que hay en él.",countryWallHeading:"Carteles por país — Listas de oración y carteles",largerScreenNotice:"Este mapa experimental está pensado para pantallas grandes. Se abre aquí, pero algunas partes pueden no caber o no funcionar bien en un teléfono.",desktopOnlyNotice:"{label} solo funciona en escritorio: abra esta página en un ordenador para usarlo.",noticeDismiss:"Cerrar",countryPosterTooMany:"Demasiados pueblos para que quepan legiblemente en un solo cartel; estamos trabajando en una solución."},"./locales/es/regions.json":{"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Adoptado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Choose a region":"Elige una región","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar los carteles del país",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país.","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración","Pick a region above, or click any dot to open that people group's country.":"Elige una región arriba, o haz clic en cualquier punto para abrir el país de ese pueblo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Elige una región o un país en la pestaña Lista de regiones para acotar este panel.",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración","Region Dashboards":"Paneles de regiones","Region dashboard":"Panel de la región",Regions:"Regiones","Regions List":"Lista de regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Select View":"Seleccionar vista","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","View country posters":"Ver los carteles del país",Views:"Vistas","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos étnicos adoptados","people groups engaged":"grupos étnicos comprometidos","Outside this region":"Fuera de esta región",Pray:"Oración","Loading region dashboards…":"Cargando los paneles de regiones…",Print:"Imprimir","Preparing the page…":"Preparando la página…","No regions found.":"No se encontraron regiones.","Region data could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los datos de las regiones. Es un problema de conexión, no un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los pueblos. Es un problema de conexión, no un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"El mapa no pudo iniciarse. Es un problema del token del mapa o de conexión, no un filtro: las cifras de arriba no se ven afectadas.","Countries: %count%":"Países: %count%","Regions: %count%":"Regiones: %count%",countryCount:"{n} país | {n} de países | {n} países",regionCount:"{n} región | {n} de regiones | {n} regiones","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Muy pronto — se generará una lista de oración para cada país, nombrando cada grupo étnico no alcanzado que haya en él."},"./locales/es/religion.json":{family:{Christianity:"Cristianismo",Islam:"Islam",Hinduism:"Hinduismo",Buddhism:"Budismo",Ethnoreligion:"Etnorreligión",Judaism:"Judaísmo",Sikhism:"Sijismo",Unaffiliated:"Sin afiliación",Other:"Otra",Unknown:"Desconocida"}},"./locales/fr/aria.json":{backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende",searchPeopleGroups:"Rechercher des peuples",resetAllFilters:"Réinitialiser tous les filtres et la recherche",selectAllRows:"Sélectionner toutes les lignes",deselectAllRows:"Désélectionner toutes les lignes",rowDetail:"Détail de la ligne",dismissHint:"Masquer l'astuce",resizeFiltersRail:"Redimensionner le volet des filtres",resizeFiltersRailHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le volet des filtres",resizeChartsRail:"Redimensionner le volet des graphiques",resizeChartsRailHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le volet des graphiques",resizeMapTableSplit:"Redimensionner le partage carte/tableau",resizeMapTableSplitHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le partage carte/tableau",resizeTable:"Redimensionner la hauteur du tableau",resizeTableHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner le tableau",resizeDashboardHeight:"Redimensionner la hauteur du tableau de bord",resizeDashboardHeightHint:"Faites glisser ou utilisez les touches fléchées pour redimensionner la hauteur du tableau de bord",removeFilter:"Supprimer le filtre {name}",closeDetail:"Fermer le détail",filterBreadcrumb:"Fil d’Ariane des filtres",railViews:"Vues du volet",upgCountLegend:"Légende du nombre d’UPG",donutChart:"Graphique en anneau : {title}"},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},"./locales/fr/mapui.json":{map:"Carte",marker:"Marqueur de carte",closePopup:"Fermer la fenêtre",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",resetBearing:"Faites glisser pour faire pivoter la carte, cliquez pour revenir au nord",toggleAttribution:"Afficher/masquer l'attribution",mapFeedback:"Commentaires sur la carte",enterFullscreen:"Plein écran",exitFullscreen:"Quitter le plein écran",findMyLocation:"Trouver ma position",locationNotAvailable:"Position non disponible",enableGlobe:"Activer le globe",disableGlobe:"Désactiver le globe",ctrlScroll:"Utilisez Ctrl + molette pour zoomer sur la carte",cmdScroll:"Utilisez ⌘ + molette pour zoomer sur la carte",twoFingers:"Utilisez deux doigts pour déplacer la carte",mapboxHomepage:"Page d'accueil de Mapbox",maplibreLogo:"Logo MapLibre"},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les 2 106 peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100",mapContextLost:"Cette carte a été déchargée pour libérer de la mémoire graphique.",nOfTotal:"{n} sur {total}",mapInitFailed:"Échec de l’initialisation de la carte — vérifiez le jeton et le conteneur",countryWallIntroA:"Une affiche par pays, prête à prier, à imprimer et à accrocher au mur — en priant pour eux ",countryWallIntroB:". Les régions et les pays sont classés selon le nombre de peuples non engagés qu’ils comptent, pour que le plus grand besoin vienne en premier.",countryWallSoon:"Bientôt : une liste de prière sera générée pour chaque pays, nommant chaque peuple non atteint qui s’y trouve.",countryWallHeading:"Affiches par pays — Listes de prière et affiches",largerScreenNotice:"Cette carte expérimentale est conçue pour les grands écrans. Elle s’ouvre ici, mais certaines parties peuvent mal s’afficher ou mal fonctionner sur un téléphone.",desktopOnlyNotice:"{label} ne fonctionne que sur ordinateur : ouvrez cette page sur un ordinateur pour l’utiliser.",noticeDismiss:"Fermer",countryPosterTooMany:"Trop de peuples pour tenir lisiblement sur une seule affiche — une solution est en préparation."},"./locales/fr/regions.json":{"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Choose a region":"Choisissez une région","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres","Hide country posters":"Masquer les affiches du pays",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...",Map:"Carte","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays.","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière","Pick a region above, or click any dot to open that people group's country.":"Choisissez une région ci-dessus, ou cliquez sur un point pour ouvrir le pays de ce peuple.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Choisissez une région ou un pays dans l’onglet Liste des régions pour affiner ce tableau de bord.",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière","Region Dashboards":"Tableaux de bord des régions","Region dashboard":"Tableau de bord de la région",Regions:"Régions","Regions List":"Liste des régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Select View":"Sélectionner la vue","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","View country posters":"Voir les affiches du pays",Views:"Vues","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","Outside this region":"Hors de cette région",Pray:"Prier","Loading region dashboards…":"Chargement des tableaux de bord des régions…",Print:"Imprimer","Preparing the page…":"Préparation de la page…","No regions found.":"Aucune région trouvée.","Region data could not be loaded. This is a connection problem, not a filter.":"Les données des régions n'ont pas pu être chargées. Il s'agit d'un problème de connexion, pas d'un filtre.","People groups could not be loaded. This is a connection problem, not a filter.":"Les peuples n'ont pas pu être chargés. Il s'agit d'un problème de connexion, pas d'un filtre.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La carte n'a pas pu démarrer. Il s'agit d'un problème de jeton de carte ou de connexion, pas d'un filtre — les chiffres ci-dessus ne sont pas affectés.","Countries: %count%":"Pays: %count%","Regions: %count%":"Régions: %count%",countryCount:"{n} pays | {n} pays | {n} pays",regionCount:"{n} région | {n} de régions | {n} régions","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Bientôt — une liste de prière sera générée pour chaque pays, nommant chaque groupe de population non atteint qui s'y trouve."},"./locales/fr/religion.json":{family:{Christianity:"Christianisme",Islam:"Islam",Hinduism:"Hindouisme",Buddhism:"Bouddhisme",Ethnoreligion:"Ethnoreligion",Judaism:"Judaïsme",Sikhism:"Sikhisme",Unaffiliated:"Sans appartenance",Other:"Autre",Unknown:"Inconnue"}},"./locales/hi/aria.json":{backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ",searchPeopleGroups:"जनसमूह खोजें",resetAllFilters:"सभी फ़िल्टर और खोज रीसेट करें",selectAllRows:"सभी पंक्तियाँ चुनें",deselectAllRows:"सभी पंक्तियाँ अचयनित करें",rowDetail:"पंक्ति विवरण",dismissHint:"संकेत हटाएँ",resizeFiltersRail:"फ़िल्टर पट्टी का आकार बदलें",resizeFiltersRailHint:"फ़िल्टर पट्टी का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeChartsRail:"चार्ट पट्टी का आकार बदलें",resizeChartsRailHint:"चार्ट पट्टी का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeMapTableSplit:"मानचित्र/तालिका विभाजन का आकार बदलें",resizeMapTableSplitHint:"मानचित्र/तालिका विभाजन का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeTable:"तालिका की ऊँचाई बदलें",resizeTableHint:"तालिका का आकार बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",resizeDashboardHeight:"डैशबोर्ड की ऊँचाई बदलें",resizeDashboardHeightHint:"डैशबोर्ड की ऊँचाई बदलने के लिए खींचें या तीर कुंजियों का उपयोग करें",removeFilter:"फ़िल्टर {name} हटाएँ",closeDetail:"विवरण बंद करें",filterBreadcrumb:"फ़िल्टर पथ",railViews:"पट्टी के दृश्य",upgCountLegend:"UPG गणना की कुंजी",donutChart:"डोनट चार्ट: {title}"},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},"./locales/hi/mapui.json":{map:"मानचित्र",marker:"मानचित्र चिह्न",closePopup:"पॉपअप बंद करें",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",resetBearing:"मानचित्र घुमाने के लिए खींचें, उत्तर पर लौटने के लिए क्लिक करें",toggleAttribution:"श्रेय दिखाएँ/छिपाएँ",mapFeedback:"मानचित्र पर प्रतिक्रिया",enterFullscreen:"पूर्ण स्क्रीन",exitFullscreen:"पूर्ण स्क्रीन से बाहर निकलें",findMyLocation:"मेरा स्थान खोजें",locationNotAvailable:"स्थान उपलब्ध नहीं",enableGlobe:"ग्लोब चालू करें",disableGlobe:"ग्लोब बंद करें",ctrlScroll:"मानचित्र ज़ूम करने के लिए Ctrl + स्क्रॉल करें",cmdScroll:"मानचित्र ज़ूम करने के लिए ⌘ + स्क्रॉल करें",twoFingers:"मानचित्र हिलाने के लिए दो उँगलियों का उपयोग करें",mapboxHomepage:"Mapbox मुखपृष्ठ",maplibreLogo:"MapLibre लोगो"},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना संग्रहण",upg100WallIntroA:"पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने 2,106 अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",upg100WallIntroEmph:"उनके जन के नाम से",upg100WallIntroB:".",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा",mapContextLost:"ग्राफ़िक्स मेमोरी खाली करने के लिए यह मानचित्र अनलोड कर दिया गया।",nOfTotal:"{total} में से {n}",mapInitFailed:"मानचित्र आरंभ नहीं हो सका — टोकन और कंटेनर जाँचें",countryWallIntroA:"हर देश के लिए एक पोस्टर — प्रार्थना करने, छापने और दीवार पर लगाने के लिए तैयार, और उनके लिए प्रार्थना करते हुए ",countryWallIntroB:". क्षेत्र और देश इस क्रम में हैं कि उनमें कितने अनपहुँचे जनसमूह हैं, ताकि सबसे बड़ी ज़रूरत पहले आए।",countryWallSoon:"जल्द ही: हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके हर अनपहुँचे जनसमूह का नाम होगा।",countryWallHeading:"देश पोस्टर — प्रार्थना सूचियाँ और पोस्टर",largerScreenNotice:"यह प्रायोगिक नक्शा बड़ी स्क्रीन के लिए बना है। यह यहाँ खुलता है, पर फ़ोन पर इसके कुछ हिस्से ठीक से न दिखें या न चलें।",desktopOnlyNotice:"{label} केवल डेस्कटॉप पर चलता है — इसे इस्तेमाल करने के लिए यह पेज कंप्यूटर पर खोलें।",noticeDismiss:"बंद करें",countryPosterTooMany:"एक पोस्टर पर साफ़-साफ़ आने के लिए जनसमूह बहुत अधिक हैं — समाधान पर काम चल रहा है।"},"./locales/hi/regions.json":{"%count% people groups in %countries% countries":"%countries% देशों में %count% जनसमूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"गोद लिया गया","Adoption Progress":"गोद लेने की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Choose a region":"क्षेत्र चुनें","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"संपर्कित","Engagement Progress":"संलग्नता की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूरी प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ","Hide country posters":"देश के पोस्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।",Map:"नक्शा","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"जनसमूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग","Pick a region above, or click any dot to open that people group's country.":"ऊपर कोई क्षेत्र चुनें, या उस लोगों के समूह का देश खोलने के लिए किसी बिंदु पर क्लिक करें।","Pick a region or a country on the Regions List tab to narrow this dashboard.":"इस डैशबोर्ड को सीमित करने के लिए क्षेत्रों की सूची टैब में कोई क्षेत्र या देश चुनें।",Population:"जनसंख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति","Region Dashboards":"क्षेत्र डैशबोर्ड","Region dashboard":"क्षेत्र डैशबोर्ड",Regions:"क्षेत्र","Regions List":"क्षेत्रों की सूची",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें…","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Select View":"दृश्य चुनें","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनसंपर्कित जनसमूह","View country posters":"देश के पोस्टर देखें",Views:"दृश्य","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"जनसमूह गोद लिए गए","people groups engaged":"संपर्कित जनसमूह","Outside this region":"इस क्षेत्र के बाहर",Pray:"प्रार्थना करें","Loading region dashboards…":"क्षेत्र डैशबोर्ड लोड हो रहे हैं…",Print:"प्रिंट करें","Preparing the page…":"पृष्ठ तैयार किया जा रहा है…","No regions found.":"कोई क्षेत्र नहीं मिला।","Region data could not be loaded. This is a connection problem, not a filter.":"क्षेत्र डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","People groups could not be loaded. This is a connection problem, not a filter.":"लोकसमूह लोड नहीं हो सके। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।","Countries: %count%":"देश: %count%","Regions: %count%":"क्षेत्र: %count%",countryCount:"{n} देश | {n} देश",regionCount:"{n} क्षेत्र | {n} क्षेत्र","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"जल्द आ रहा है — हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके भीतर के हर अछूते जनसमूह का नाम होगा।"},"./locales/hi/religion.json":{family:{Christianity:"ईसाई धर्म",Islam:"इस्लाम",Hinduism:"हिंदू धर्म",Buddhism:"बौद्ध धर्म",Ethnoreligion:"जातीय धर्म",Judaism:"यहूदी धर्म",Sikhism:"सिख धर्म",Unaffiliated:"असंबद्ध",Other:"अन्य",Unknown:"अज्ञात"}},"./locales/it/aria.json":{backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda",searchPeopleGroups:"Cerca popoli",resetAllFilters:"Reimposta tutti i filtri e la ricerca",selectAllRows:"Seleziona tutte le righe",deselectAllRows:"Deseleziona tutte le righe",rowDetail:"Dettaglio riga",dismissHint:"Ignora il suggerimento",resizeFiltersRail:"Ridimensiona la barra dei filtri",resizeFiltersRailHint:"Trascina o usa i tasti freccia per ridimensionare la barra dei filtri",resizeChartsRail:"Ridimensiona la barra dei grafici",resizeChartsRailHint:"Trascina o usa i tasti freccia per ridimensionare la barra dei grafici",resizeMapTableSplit:"Ridimensiona la divisione mappa/tabella",resizeMapTableSplitHint:"Trascina o usa i tasti freccia per ridimensionare la divisione mappa/tabella",resizeTable:"Ridimensiona l'altezza della tabella",resizeTableHint:"Trascina o usa i tasti freccia per ridimensionare la tabella",resizeDashboardHeight:"Ridimensiona l'altezza della dashboard",resizeDashboardHeightHint:"Trascina o usa i tasti freccia per ridimensionare l'altezza della dashboard",removeFilter:"Rimuovi il filtro {name}",closeDetail:"Chiudi il dettaglio",filterBreadcrumb:"Percorso dei filtri",railViews:"Viste della barra",upgCountLegend:"Legenda del conteggio UPG",donutChart:"Grafico ad anello: {title}"},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},"./locales/it/mapui.json":{map:"Mappa",marker:"Indicatore sulla mappa",closePopup:"Chiudi popup",zoomIn:"Ingrandisci",zoomOut:"Riduci",resetBearing:"Trascina per ruotare la mappa, fai clic per tornare al nord",toggleAttribution:"Mostra/nascondi attribuzione",mapFeedback:"Feedback sulla mappa",enterFullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",findMyLocation:"Trova la mia posizione",locationNotAvailable:"Posizione non disponibile",enableGlobe:"Attiva globo",disableGlobe:"Disattiva globo",ctrlScroll:"Usa Ctrl + scorrimento per ingrandire la mappa",cmdScroll:"Usa ⌘ + scorrimento per ingrandire la mappa",twoFingers:"Usa due dita per spostare la mappa",mapboxHomepage:"Home page di Mapbox",maplibreLogo:"Logo di MapLibre"},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e manifesti",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i 2.106 popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100",mapContextLost:"Questa mappa è stata scaricata per liberare memoria grafica.",nOfTotal:"{n} su {total}",mapInitFailed:"Impossibile inizializzare la mappa — controlla il token e il contenitore",countryWallIntroA:"Un poster per paese, pronto da pregare, stampare e appendere al muro — pregando per loro ",countryWallIntroB:". Regioni e paesi sono ordinati in base a quanti popoli non raggiunti contengono, perché il bisogno più grande venga per primo.",countryWallSoon:"Prossimamente: per ogni paese verrà generata una lista di preghiera con il nome di ogni popolo non raggiunto che vi abita.",countryWallHeading:"Poster per paese — Liste di preghiera e manifesti",largerScreenNotice:"Questa mappa sperimentale è pensata per schermi grandi. Si apre qui, ma alcune parti potrebbero non entrare o non funzionare bene su un telefono.",desktopOnlyNotice:"{label} funziona solo su desktop: apri questa pagina da un computer per usarlo.",noticeDismiss:"Chiudi",countryPosterTooMany:"Troppi popoli per stare in modo leggibile su un solo manifesto: una soluzione è in arrivo."},"./locales/it/regions.json":{"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Choose a region":"Scegli una regione","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri","Hide country posters":"Nascondi i poster del paese",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…",Map:"Mappa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster.","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare","Pick a region above, or click any dot to open that people group's country.":"Scegli una regione qui sopra, oppure clicca su un punto per aprire il paese di quel gruppo etnico.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Scegli una regione o un paese nella scheda Elenco delle regioni per restringere questo cruscotto.",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera","Region Dashboards":"Cruscotti delle regioni","Region dashboard":"Cruscotto della regione",Regions:"Regioni","Regions List":"Elenco delle regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Select View":"Seleziona vista","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","View country posters":"Vedi i poster del paese",Views:"Viste","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","Outside this region":"Fuori da questa regione",Pray:"Prega","Loading region dashboards…":"Caricamento delle dashboard delle regioni…",Print:"Stampa","Preparing the page…":"Preparazione della pagina…","No regions found.":"Nessuna regione trovata.","Region data could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i dati delle regioni. È un problema di connessione, non un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i gruppi di popolazione. È un problema di connessione, non un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La mappa non è potuta avviare. È un problema di token della mappa o di connessione, non un filtro: i dati sopra non sono interessati.","Countries: %count%":"Paesi: %count%","Regions: %count%":"Regioni: %count%",countryCount:"{n} paese | {n} di paesi | {n} paesi",regionCount:"{n} regione | {n} di regioni | {n} regioni","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Prossimamente — per ogni paese verrà generata una lista di preghiera, con il nome di ogni gruppo etnico non raggiunto al suo interno."},"./locales/it/religion.json":{family:{Christianity:"Cristianesimo",Islam:"Islam",Hinduism:"Induismo",Buddhism:"Buddhismo",Ethnoreligion:"Etnoreligione",Judaism:"Ebraismo",Sikhism:"Sikhismo",Unaffiliated:"Senza affiliazione",Other:"Altro",Unknown:"Sconosciuta"}},"./locales/pt/aria.json":{backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda",searchPeopleGroups:"Pesquisar povos",resetAllFilters:"Redefinir todos os filtros e a pesquisa",selectAllRows:"Selecionar todas as linhas",deselectAllRows:"Desmarcar todas as linhas",rowDetail:"Detalhe da linha",dismissHint:"Dispensar a dica",resizeFiltersRail:"Redimensionar o painel de filtros",resizeFiltersRailHint:"Arraste ou use as teclas de seta para redimensionar o painel de filtros",resizeChartsRail:"Redimensionar o painel de gráficos",resizeChartsRailHint:"Arraste ou use as teclas de seta para redimensionar o painel de gráficos",resizeMapTableSplit:"Redimensionar a divisão entre o mapa e a tabela",resizeMapTableSplitHint:"Arraste ou use as teclas de seta para redimensionar a divisão entre o mapa e a tabela",resizeTable:"Redimensionar a altura da tabela",resizeTableHint:"Arraste ou use as teclas de seta para redimensionar a tabela",resizeDashboardHeight:"Redimensionar a altura do painel",resizeDashboardHeightHint:"Arraste ou use as teclas de seta para redimensionar a altura do painel",removeFilter:"Remover o filtro {name}",closeDetail:"Fechar o detalhe",filterBreadcrumb:"Trilho de filtros",railViews:"Vistas do painel",upgCountLegend:"Legenda da contagem de UPG",donutChart:"Gráfico de rosca: {title}"},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},"./locales/pt/mapui.json":{map:"Mapa",marker:"Marcador do mapa",closePopup:"Fechar janela",zoomIn:"Aumentar zoom",zoomOut:"Diminuir zoom",resetBearing:"Arraste para girar o mapa, clique para voltar ao norte",toggleAttribution:"Mostrar/ocultar atribuição",mapFeedback:"Comentários sobre o mapa",enterFullscreen:"Tela cheia",exitFullscreen:"Sair da tela cheia",findMyLocation:"Encontrar minha localização",locationNotAvailable:"Localização indisponível",enableGlobe:"Ativar globo",disableGlobe:"Desativar globo",ctrlScroll:"Use Ctrl + rolagem para ampliar o mapa",cmdScroll:"Use ⌘ + rolagem para ampliar o mapa",twoFingers:"Use dois dedos para mover o mapa",mapboxHomepage:"Página inicial do Mapbox",maplibreLogo:"Logótipo do MapLibre"},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"Minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os 2.106 povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100",mapContextLost:"Este mapa foi descarregado para libertar memória gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"Falha ao iniciar o mapa — verifique o token e o contêiner",countryWallIntroA:"Um cartaz por país, pronto para orar, imprimir e pendurar na parede — orando por eles ",countryWallIntroB:". As regiões e os países são ordenados pelo número de povos não engajados que abrigam, para que a maior necessidade venha primeiro.",countryWallSoon:"Em breve: será gerada uma lista de oração para cada país, com o nome de cada povo não alcançado nele.",countryWallHeading:"Cartazes por país — Listas de oração e cartazes",largerScreenNotice:"Este mapa experimental foi feito para telas maiores. Ele abre aqui, mas algumas partes podem não caber ou não funcionar bem no celular.",desktopOnlyNotice:"{label} só funciona no computador — abra esta página num computador para usá-lo.",noticeDismiss:"Fechar",countryPosterTooMany:"Povos demais para caber de forma legível em um só cartaz — uma solução está a caminho."},"./locales/pt/regions.json":{"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Adotado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Choose a region":"Escolha uma região","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar os cartazes do país",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país.","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração","Pick a region above, or click any dot to open that people group's country.":"Escolha uma região acima, ou clique em qualquer ponto para abrir o país desse povo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Escolha uma região ou um país na aba Lista de regiões para restringir este painel.",Population:"População","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração","Region Dashboards":"Painéis das regiões","Region dashboard":"Painel da região",Regions:"Regiões","Regions List":"Lista de regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Select View":"Selecionar visualização","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","View country posters":"Ver os cartazes do país",Views:"Visualizações","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","Outside this region":"Fora desta região",Pray:"Ore","Loading region dashboards…":"Carregando os painéis das regiões…",Print:"Imprimir","Preparing the page…":"Preparando a página…","No regions found.":"Nenhuma região encontrada.","Region data could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os dados das regiões. É um problema de conexão, não um filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os povos. É um problema de conexão, não um filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"O mapa não pôde iniciar. É um problema do token do mapa ou de conexão, não um filtro — os números acima não são afetados.","Countries: %count%":"Países: %count%","Regions: %count%":"Regiões: %count%",countryCount:"{n} país | {n} de países | {n} países",regionCount:"{n} região | {n} de regiões | {n} regiões","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Em breve — será gerada uma lista de oração para cada país, nomeando cada grupo étnico não alcançado nele."},"./locales/pt/religion.json":{family:{Christianity:"Cristianismo",Islam:"Islão",Hinduism:"Hinduísmo",Buddhism:"Budismo",Ethnoreligion:"Etnorreligião",Judaism:"Judaísmo",Sikhism:"Siquismo",Unaffiliated:"Sem afiliação",Other:"Outra",Unknown:"Desconhecida"}},"./locales/ro/aria.json":{backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda",searchPeopleGroups:"Caută popoare",resetAllFilters:"Resetează toate filtrele și căutarea",selectAllRows:"Selectează toate rândurile",deselectAllRows:"Deselectează toate rândurile",rowDetail:"Detaliu rând",dismissHint:"Închide sugestia",resizeFiltersRail:"Redimensionează bara de filtre",resizeFiltersRailHint:"Trage sau folosește tastele săgeată pentru a redimensiona bara de filtre",resizeChartsRail:"Redimensionează bara de grafice",resizeChartsRailHint:"Trage sau folosește tastele săgeată pentru a redimensiona bara de grafice",resizeMapTableSplit:"Redimensionează împărțirea hartă/tabel",resizeMapTableSplitHint:"Trage sau folosește tastele săgeată pentru a redimensiona împărțirea hartă/tabel",resizeTable:"Redimensionează înălțimea tabelului",resizeTableHint:"Trage sau folosește tastele săgeată pentru a redimensiona tabelul",resizeDashboardHeight:"Redimensionează înălțimea tabloului de bord",resizeDashboardHeightHint:"Trage sau folosește tastele săgeată pentru a redimensiona înălțimea tabloului de bord",removeFilter:"Elimină filtrul {name}",closeDetail:"Închide detaliul",filterBreadcrumb:"Traseul filtrelor",railViews:"Vizualizările barei",upgCountLegend:"Legenda numărului de UPG",donutChart:"Diagramă inelară: {title}"},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},"./locales/ro/mapui.json":{map:"Hartă",marker:"Marcaj pe hartă",closePopup:"Închide fereastra",zoomIn:"Mărește",zoomOut:"Micșorează",resetBearing:"Trage pentru a roti harta, apasă pentru a reveni la nord",toggleAttribution:"Afișează/ascunde atribuirea",mapFeedback:"Feedback despre hartă",enterFullscreen:"Ecran complet",exitFullscreen:"Ieși din ecran complet",findMyLocation:"Găsește-mi locația",locationNotAvailable:"Locație indisponibilă",enableGlobe:"Activează globul",disableGlobe:"Dezactivează globul",ctrlScroll:"Folosește Ctrl + derulare pentru a mări harta",cmdScroll:"Folosește ⌘ + derulare pentru a mări harta",twoFingers:"Folosește două degete pentru a muta harta",mapboxHomepage:"Pagina principală Mapbox",maplibreLogo:"Sigla MapLibre"},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100",mapContextLost:"Această hartă a fost descărcată pentru a elibera memoria grafică.",nOfTotal:"{n} din {total}",mapInitFailed:"Harta nu a putut fi inițializată — verificați tokenul și containerul",countryWallIntroA:"Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",countryWallIntroB:". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",countryWallSoon:"În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",countryWallHeading:"Afișe pe țări — Liste de rugăciune și afișe",largerScreenNotice:"Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",desktopOnlyNotice:"{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",noticeDismiss:"Închide",countryPosterTooMany:"Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."},"./locales/ro/regions.json":{"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Choose a region":"Alege o regiune","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele","Hide country posters":"Ascunde posterele țării",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…",Map:"Hartă","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster.","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii","Pick a region above, or click any dot to open that people group's country.":"Alege o regiune mai sus sau dă clic pe orice punct pentru a deschide țara acelui grup etnic.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Alege o regiune sau o țară din fila Lista regiunilor pentru a restrânge acest panou.",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune","Region Dashboards":"Panouri ale regiunilor","Region dashboard":"Panoul regiunii",Regions:"Regiuni","Regions List":"Lista regiunilor",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Select View":"Selectează vizualizarea","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","View country posters":"Vezi posterele țării",Views:"Vizualizări","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","Outside this region":"În afara acestei regiuni",Pray:"Roagă-te","Loading region dashboards…":"Se încarcă panourile regiunilor…",Print:"Printează","Preparing the page…":"Se pregătește pagina…","No regions found.":"Nu au fost găsite regiuni.","Region data could not be loaded. This is a connection problem, not a filter.":"Datele regiunilor nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","People groups could not be loaded. This is a connection problem, not a filter.":"Grupurile de popoare nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Harta nu a putut porni. Este o problemă de token al hărții sau de conexiune, nu un filtru — cifrele de mai sus nu sunt afectate.","Countries: %count%":"Țări: %count%","Regions: %count%":"Regiuni: %count%",countryCount:"o țară | {n} țări | {n} de țări",regionCount:"o regiune | {n} regiuni | {n} de regiuni","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"În curând — pentru fiecare țară va fi generată o listă de rugăciune, numind fiecare grup etnic neatins din ea."},"./locales/ro/religion.json":{family:{Christianity:"Creștinism",Islam:"Islam",Hinduism:"Hinduism",Buddhism:"Budism",Ethnoreligion:"Etnoreligie",Judaism:"Iudaism",Sikhism:"Sikhism",Unaffiliated:"Fără afiliere",Other:"Altele",Unknown:"Necunoscută"}},"./locales/ru/aria.json":{backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду",searchPeopleGroups:"Поиск народов",resetAllFilters:"Сбросить все фильтры и поиск",selectAllRows:"Выбрать все строки",deselectAllRows:"Снять выделение со всех строк",rowDetail:"Подробности строки",dismissHint:"Скрыть подсказку",resizeFiltersRail:"Изменить размер панели фильтров",resizeFiltersRailHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить размер панели фильтров",resizeChartsRail:"Изменить размер панели диаграмм",resizeChartsRailHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить размер панели диаграмм",resizeMapTableSplit:"Изменить соотношение карты и таблицы",resizeMapTableSplitHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить соотношение карты и таблицы",resizeTable:"Изменить высоту таблицы",resizeTableHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить размер таблицы",resizeDashboardHeight:"Изменить высоту панели",resizeDashboardHeightHint:"Перетащите или используйте клавиши со стрелками, чтобы изменить высоту панели",removeFilter:"Удалить фильтр {name}",closeDetail:"Закрыть подробности",filterBreadcrumb:"Цепочка фильтров",railViews:"Виды панели",upgCountLegend:"Легенда количества UPG",donutChart:"Кольцевая диаграмма: {title}"},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},"./locales/ru/mapui.json":{map:"Карта",marker:"Метка на карте",closePopup:"Закрыть окно",zoomIn:"Приблизить",zoomOut:"Отдалить",resetBearing:"Перетащите, чтобы повернуть карту; нажмите, чтобы вернуть север",toggleAttribution:"Показать/скрыть источники",mapFeedback:"Отзыв о карте",enterFullscreen:"Во весь экран",exitFullscreen:"Выйти из полноэкранного режима",findMyLocation:"Найти моё местоположение",locationNotAvailable:"Местоположение недоступно",enableGlobe:"Включить глобус",disableGlobe:"Выключить глобус",ctrlScroll:"Используйте Ctrl + прокрутку для масштабирования карты",cmdScroll:"Используйте ⌘ + прокрутку для масштабирования карты",twoFingers:"Используйте два пальца, чтобы перемещать карту",mapboxHomepage:"Главная страница Mapbox",maplibreLogo:"Логотип MapLibre"},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с 2 106 неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100",mapContextLost:"Эта карта выгружена, чтобы освободить графическую память.",nOfTotal:"{n} из {total}",mapInitFailed:"Не удалось инициализировать карту — проверьте токен и контейнер",countryWallIntroA:"Один плакат на страну — чтобы молиться, распечатать и повесить на стену, молясь за них ",countryWallIntroB:". Регионы и страны упорядочены по числу неохваченных народов, чтобы самая большая нужда стояла первой.",countryWallSoon:"Скоро: для каждой страны будет создан молитвенный список с названием каждого неохваченного народа в ней.",countryWallHeading:"Плакаты по странам — молитвенные списки и плакаты",largerScreenNotice:"Эта экспериментальная карта рассчитана на большие экраны. Она откроется, но на телефоне часть элементов может не поместиться или работать плохо.",desktopOnlyNotice:"{label} работает только на компьютере — откройте эту страницу на компьютере.",noticeDismiss:"Закрыть",countryPosterTooMany:"Слишком много народов, чтобы разборчиво уместить их на одном плакате, — решение готовится."},"./locales/ru/regions.json":{"%count% people groups in %countries% countries":"%count% народов в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Ответственность взята","Adoption Progress":"Прогресс принятия ответственности","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Choose a region":"Выберите регион","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечён","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры","Hide country posters":"Скрыть плакаты страны",Intercessors:"Ходатаи","Load More":"Загрузить ещё","Loading results...":"Загрузка результатов...",Map:"Карта","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан.","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Народы","People committed to praying":"Люди, посвятившие себя молитве","Pick a region above, or click any dot to open that people group's country.":"Выберите регион выше или нажмите на любую точку, чтобы открыть страну этой группы народа.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Выберите регион или страну на вкладке «Список регионов», чтобы сузить эту панель.",Population:"Население","Prayer Coverage":"Молитвенный охват","Prayer coverage progress":"Прогресс молитвенного покрытия","Region Dashboards":"Панели регионов","Region dashboard":"Панель региона",Regions:"Регионы","Regions List":"Список регионов",Religion:"Религия","Search names, country/continent, religions...":"Поиск по названиям, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Select View":"Выберите вид","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые народы","View country posters":"Показать плакаты страны",Views:"Виды","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"народов, за которые взята ответственность","people groups engaged":"вовлечённые народы","Outside this region":"За пределами этого региона",Pray:"Молиться","Loading region dashboards…":"Загрузка панелей по регионам…",Print:"Печать","Preparing the page…":"Подготовка страницы…","No regions found.":"Регионы не найдены.","Region data could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить данные по регионам. Это проблема соединения, а не фильтра.","People groups could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить народы. Это проблема соединения, а не фильтра.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты.","Countries: %count%":"Страны: %count%","Regions: %count%":"Регионы: %count%",countryCount:"{n} страна | {n} страны | {n} стран | {n} стран",regionCount:"{n} регион | {n} региона | {n} регионов | {n} регионов","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"Скоро — для каждой страны будет создан список для молитвы с названием каждой неохваченной народности в ней."},"./locales/ru/religion.json":{family:{Christianity:"Христианство",Islam:"Ислам",Hinduism:"Индуизм",Buddhism:"Буддизм",Ethnoreligion:"Этнорелигия",Judaism:"Иудаизм",Sikhism:"Сикхизм",Unaffiliated:"Не принадлежат",Other:"Другое",Unknown:"Неизвестно"}},"./locales/zh/aria.json":{backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例",searchPeopleGroups:"搜索民族",resetAllFilters:"重置所有筛选和搜索",selectAllRows:"选择所有行",deselectAllRows:"取消选择所有行",rowDetail:"行详情",dismissHint:"关闭提示",resizeFiltersRail:"调整筛选器栏大小",resizeFiltersRailHint:"拖动或使用方向键调整筛选器栏大小",resizeChartsRail:"调整图表栏大小",resizeChartsRailHint:"拖动或使用方向键调整图表栏大小",resizeMapTableSplit:"调整地图与表格的分隔",resizeMapTableSplitHint:"拖动或使用方向键调整地图与表格的分隔",resizeTable:"调整表格高度",resizeTableHint:"拖动或使用方向键调整表格大小",resizeDashboardHeight:"调整仪表板高度",resizeDashboardHeightHint:"拖动或使用方向键调整仪表板高度",removeFilter:"移除筛选条件 {name}",closeDetail:"关闭详情",filterBreadcrumb:"筛选路径",railViews:"栏视图",upgCountLegend:"UPG 数量图例",donutChart:"环形图:{title}"},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},"./locales/zh/mapui.json":{map:"地图",marker:"地图标记",closePopup:"关闭弹窗",zoomIn:"放大",zoomOut:"缩小",resetBearing:"拖动以旋转地图,点击以恢复正北",toggleAttribution:"显示/隐藏数据来源",mapFeedback:"地图反馈",enterFullscreen:"全屏",exitFullscreen:"退出全屏",findMyLocation:"查找我的位置",locationNotAvailable:"无法获取位置",enableGlobe:"启用地球仪",disableGlobe:"停用地球仪",ctrlScroll:"使用 Ctrl + 滚轮缩放地图",cmdScroll:"使用 ⌘ + 滚轮缩放地图",twoFingers:"使用两根手指移动地图",mapboxHomepage:"Mapbox 主页",maplibreLogo:"MapLibre 标志"},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 2,106 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",upg100WallIntroEmph:"称呼他们族群的名字",upg100WallIntroB:"。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间",mapContextLost:"已卸载此地图以释放显存。",nOfTotal:"{total} 个中的 {n} 个",mapInitFailed:"地图初始化失败——请检查令牌和容器",countryWallIntroA:"每个国家一张海报,可用来祷告、打印、贴在墙上——为他们祷告,",countryWallIntroB:"。各区域和国家按其中未得之民族群的数量排序,让最大的需要排在最前。",countryWallSoon:"即将推出:将为每个国家生成一份祷告名单,列出其中每一个未得之民族群的名字。",countryWallHeading:"国家海报 — 祷告名单与海报",largerScreenNotice:"这张实验性地图为大屏幕设计。它可以在这里打开,但部分内容在手机上可能显示不全或无法正常使用。",desktopOnlyNotice:"{label} 仅支持桌面端——请在电脑上打开此页面使用。",noticeDismiss:"关闭",countryPosterTooMany:"族群数量过多,无法清晰地放在一张海报上——我们正在制定解决方案。"},"./locales/zh/regions.json":{"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Choose a region":"选择区域","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选","Hide country posters":"隐藏国家海报",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…",Map:"地图","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No poster has been generated for this country yet.":"尚未为该国家生成海报。","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数","Pick a region above, or click any dot to open that people group's country.":"在上方选择一个区域,或点击任意圆点以打开该民族所在的国家。","Pick a region or a country on the Regions List tab to narrow this dashboard.":"在“区域列表”标签中选择一个区域或国家,以缩小此仪表板的范围。",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度","Region Dashboards":"区域仪表板","Region dashboard":"区域仪表板",Regions:"区域","Regions List":"区域列表",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Select View":"选择视图","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","View country posters":"查看国家海报",Views:"视图","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","Outside this region":"在此区域之外",Pray:"祷告","Loading region dashboards…":"正在加载区域面板…",Print:"打印","Preparing the page…":"正在准备页面…","No regions found.":"未找到区域。","Region data could not be loaded. This is a connection problem, not a filter.":"无法加载区域数据。这是连接问题,不是筛选问题。","People groups could not be loaded. This is a connection problem, not a filter.":"无法加载民族群体。这是连接问题,不是筛选问题。","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。","Countries: %count%":"国家:%count%","Regions: %count%":"区域:%count%",countryCount:"{n} 个国家",regionCount:"{n} 个地区","Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.":"即将推出——将为每个国家生成一份祷告清单,列出其中每一个未得之民。"},"./locales/zh/religion.json":{family:{Christianity:"基督教",Islam:"伊斯兰教",Hinduism:"印度教",Buddhism:"佛教",Ethnoreligion:"民族宗教",Judaism:"犹太教",Sikhism:"锡克教",Unaffiliated:"无宗教归属",Other:"其他",Unknown:"未知"}}}),Je={};for(const[e,t]of Object.entries(Um)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Je[n]??(Je[n]={}),Je[n][r]=t}const Ec=(()=>{try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.split(/[?#]/)[0].replace(/[^/]+$/,""):""}catch{return""}})(),Rc=typeof __DX_LOCALE_SRI__<"u"?__DX_LOCALE_SRI__:{},_a=new Map;let Hr=null;const Bm=1500;function zr(e,t){var r,a;const o=String(t||"").split("-")[0].toLowerCase();if(!o||o==="en"||!_n.includes(o))return Promise.resolve(o==="en");if(Je[o])return(a=(r=e==null?void 0:e.global)==null?void 0:r.setLocaleMessage)==null||a.call(r,o,Je[o]),Promise.resolve(!0);if(_a.has(o))return _a.get(o).then(i=>{var s,l;return i&&Je[o]&&((l=(s=e==null?void 0:e.global)==null?void 0:s.setLocaleMessage)==null||l.call(s,o,Je[o])),i});if(!Rc[o])return Promise.resolve(!!Je[o]);const n=(async()=>{var i,s;try{if(!Ec)return!1;const l=new URL(`locales/${o}.json`,Ec).href,c=await fetch(l,{integrity:Rc[o]});if(!c.ok)return!1;const u=await c.json();return!u||typeof u!="object"?!1:(Je[o]=u,(s=(i=e==null?void 0:e.global)==null?void 0:i.setLocaleMessage)==null||s.call(i,o,u),!0)}catch{return!1}})();return _a.set(o,n),n}Je.en;const _n=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],$a=new Set(["ar"]);function Fc(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function ya(){var n;const e=Fc();if(_n.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return _n.includes(o)?o:"en"}try{Hr=zr(null,ya())}catch{Hr=null}function Gm(e=ya()){const t=String(e||"").split("-")[0].toLowerCase();if(!$a.has(t)||Je[t])return Promise.resolve(!0);const o=_a.get(t)||Hr||Promise.resolve(!1);return Promise.race([o.then(n=>!!n).catch(()=>!1),new Promise(n=>setTimeout(()=>n(!1),Bm))])}function Vm(){const e=ya();try{typeof window<"u"&&window.MAP_OWNS_PAGE===!0&&e&&(document!=null&&document.documentElement)&&(document.documentElement.lang=e,$a.has(e)&&(document.documentElement.dir="rtl"))}catch{}const t=Nn(!0),o=t.run(()=>Fm({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:Je,missingWarn:!1,fallbackWarn:!1,pluralRules:Km}));e!=="en"&&!Je[e]&&zr(o,e).catch(()=>{}),t.run(()=>Ye(o.global.locale,r=>Mc(r),{immediate:!0}));const n=o.install.bind(o);return o.install=(r,...a)=>{const i=n(r,...a);r.provide("appI18n",o);const s=r.provide.bind(r);return r.provide=(l,c)=>l==="appI18n"&&c===o?r:s(l,c),i},o}const Nc="__DOXA_PAGE_LOCALE";function Mc(e){const t=String(e||"").split("-")[0].toLowerCase();if(_n.includes(t))try{typeof window<"u"&&(window[Nc]=t)}catch{}}const jm=["zero","one","two","few","many","other"];function Oc(e,t,o){let n;try{n=new Intl.PluralRules(o)}catch{return e===1?0:1}const r=n.select(e),a=n.resolvedOptions().pluralCategories,i=jm.filter(l=>a.includes(l));let s=i.indexOf(r);if(s<0&&(s=i.indexOf("other")),s>=t){const l=i.indexOf("other");s=l>=0&&l[e,(t,o)=>Oc(t,o,e)]));function kc(){try{return typeof window<"u"&&window[Nc]||""}catch{return""}}function xo(e,t){const o=r=>{let a=Je[r];for(const i of String(e).split(".")){if(!a||typeof a!="object")return;a=a[i]}return typeof a=="string"?a:void 0},n=t||kc()||ya();return o(n)??o("en")}function xc(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function Ic(e,t,o=kc()){const n=String(e).split(/\s*\|\s*/);if(n.length<2||typeof t!="number")return String(e);const r=String(o||"en").split("-")[0].toLowerCase();if(r!=="en")return n[Oc(t,n.length,r)];const a=Math.abs(t),i=n.length===2?a?a>1?1:0:1:a?Math.min(a,2):0;return n[Math.min(i,n.length-1)]}function va(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function Dc(e,t={}){const o=typeof t.fallback=="function"?(n,r,a)=>xc(Ic(t.fallback(va(e,n),r)??n,a),r):(n,r,a)=>xc(Ic(xo(va(e,n))??n,a),r);try{const n=ko();return(r,a,i)=>{const s=va(e,r),l=typeof i=="number"?n.t(s,a||{},i):n.t(s,a||{});return l===s?o(r,a,i):l}}catch{return o}}function Ym(e,t={}){const o=Dc(e,t);try{const n=ko();return{t:o,te:r=>n.te(va(e,r)),locale:n.locale}}catch{return{t:o,te:()=>!1,locale:t.locale??"en"}}}const qm="background:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);",Xm="background:#2b2f2c;color:#e8e9e6;border:1px solid #4a4f4b;",Jm=Yt({name:"LazyLoadFailed",props:{onRetry:{type:Function,required:!0},dark:Boolean},setup(e){const t=Dc("messages"),o=Pe(!1),n=()=>{o.value||(o.value=!0,e.onRetry())};return()=>fo("div",{class:"dx-lazy-failed",role:"alert",style:"padding:12px;font-size:13px;line-height:1.4;border-radius:8px;"+(e.dark?Xm:qm)},[fo("span",t("viewLoadFailed"))," ",fo("button",{type:"button",disabled:o.value,style:"font:inherit;cursor:pointer;",onClick:n},t("retry"))])}});function Zm(e,t){return Zd({loader:e,errorComponent:Yt({inheritAttrs:!1,props:{isDark:Boolean},setup:o=>()=>fo(Jm,{onRetry:t,dark:o.isDark})}),onError(o,n,r,a){a<=3?setTimeout(n,a*500):r()}})}function Qm(e){const t=zn(null),o=()=>{t.value=Zm(e,o)};return o(),Yt({name:"RetryableAsync",inheritAttrs:!1,setup(n,{attrs:r,slots:a}){return()=>fo(t.value,r,a)}})}function Hc(e,t){const o=St(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:th(e));wo(()=>{var l;if(!o)return;const r=(l=o.proxy)==null?void 0:l.$el;if(!r)return;const a=r.getRootNode();if(!(a instanceof ShadowRoot))return;if(!a.querySelector('style[data-shadow-styles="reduced-motion"]')){const c=document.createElement("style");c.setAttribute("data-shadow-styles","reduced-motion"),c.textContent=eh,a.appendChild(c)}const i=a.querySelector(`style[data-shadow-styles="${n}"]`);if(i){i.textContent!==e&&(i.textContent=e);return}const s=document.createElement("style");s.setAttribute("data-shadow-styles",n),s.textContent=e,a.appendChild(s)})}const eh=`@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } -}`;function th(e){let t=0;for(let o=0;oxo(G)||W,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:r}=Ym("",{fallback:G=>o[G]}),a=Ve("uiStore",null),i=Ve("profileConfig",null),s=ie(()=>(a==null?void 0:a.theme)==="dark"),l=ie(()=>{var ne;const G=(ne=i==null?void 0:i.value)==null?void 0:ne.pinHintLabel;if(G)return G;const W="Tap a coloured dot — someone still needs prayer";try{return r("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):W}catch{return W}}),c=Pe(!1),u=Pe(!0);let g=null;const h=Pe(!0);let C=[];const A=["inert","hidden","aria-hidden"];function v(G){const W=[];let ne=G;for(;ne;)ne.nodeType===1&&W.push(ne),ne=ne.parentNode||ne.host||null;return W}function z(G){return v(G).some(W=>W.hasAttribute("inert")||W.hasAttribute("hidden")||W.getAttribute("aria-hidden")==="true")}function D(G){const W=()=>{const ne=!z(G);ne!==h.value&&(h.value=ne,ne&&Po(ge))};if(W(),!(typeof MutationObserver>"u"))for(const ne of v(G))try{const ue=new MutationObserver(W);ue.observe(ne,{attributes:!0,attributeFilter:A}),C.push(ue)}catch{}}const y=Pe(null);let b=null,_=null,w=null,L=null,N=null,k=null,M=[],J=null,pe=null;function O(){c.value=!1}function te(G,W){var ue;let ne=G==null?void 0:G.parentElement;for(let fe=0;ne&&fe<12;fe++,ne=ne.parentElement){if(ne===W||(ue=ne.classList)!=null&&ue.contains("profile-loader"))return null;let _e="";try{_e=getComputedStyle(ne).position}catch{}if(_e&&_e!=="static"){const S=ne.getBoundingClientRect();if(S.height>=120&&S.width>=160)return ne}}return null}function me(G){var ne;const W=(ne=L==null?void 0:L.querySelector)==null?void 0:ne.call(L,".legend-mobile-sheet");if(!W)return 1/0;if(N&&k!==W){try{N.disconnect()}catch{}N=null}if(!N&&typeof ResizeObserver<"u")try{N=new ResizeObserver(()=>ge()),N.observe(W),k=W}catch{N=null}try{const ue=W.getBoundingClientRect();return!(ue.height>16)||!(ue.width>16)||G.right<=ue.left||ue.right<=G.left?1/0:ue.top}catch{return 1/0}}function ge(){const G=y.value;if(!(!G||!u.value||!h.value))try{G.style.removeProperty("--pin-hint-lift");const W=G.getBoundingClientRect();if(!W.height)return;const ne=Math.min(window.innerHeight,me(W)),ue=Math.round(W.bottom-ne);ue>0&&G.style.setProperty("--pin-hint-lift",ue+8+"px")}catch{}}function ce(G){const W=y.value;if(!W||!(G!=null&&G.querySelector))return;let ne=0;try{const fe=G.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(fe){const _e=fe.getBoundingClientRect(),S=W.parentElement,x=S?S.getBoundingClientRect():null;if(ne=x?Math.max(_e.height||0,x.bottom-_e.top):_e.height||0,pe!==fe&&typeof ResizeObserver<"u"){if(w)try{w.disconnect()}catch{}pe=fe,w=new ResizeObserver(()=>ce(G)),w.observe(fe)}}}catch{}const ue=Math.min(Math.max(Math.ceil(ne)||20,20),72);W.style.setProperty("--pin-hint-attrib-clear",ue+"px"),ge()}return wo(()=>{var ue,fe,_e;const G=St(),W=(_e=(fe=(ue=G==null?void 0:G.proxy)==null?void 0:ue.$el)==null?void 0:fe.getRootNode)==null?void 0:_e.call(fe);if(!W||typeof W.querySelector!="function")return;L=W;let ne=0;b=setInterval(()=>{ne++;const S=W.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");S?(clearInterval(b),b=null,c.value=!0,Po(()=>{const x=te(S,W),j=y.value;if(x&&j&&j.parentElement!==x)try{x.appendChild(j),_=x}catch{}if(x&&D(x),x&&typeof IntersectionObserver<"u")try{g=new IntersectionObserver(Y=>{const X=Y[Y.length-1],Q=!!X&&X.isIntersecting&&X.intersectionRatio>=.2;Q!==u.value&&(u.value=Q,Q&&Po(ge))},{threshold:[0,.2,.5]}),g.observe(x)}catch{}ce(W),ge(),M.push(setTimeout(ge,1200),setTimeout(ge,3e3),setTimeout(ge,6e3));try{const Y=y.value&&y.value.offsetParent||null;if(Y&&typeof ResizeObserver<"u"){if(J)try{J.disconnect()}catch{}J=new ResizeObserver(()=>ge()),J.observe(Y)}}catch{}})):ne>40&&(clearInterval(b),b=null)},300)}),tn(()=>{var G;if(b&&clearInterval(b),g){try{g.disconnect()}catch{}g=null}for(const W of C)try{W.disconnect()}catch{}if(C=[],w){try{w.disconnect()}catch{}w=null}if(pe=null,J){try{J.disconnect()}catch{}J=null}if(N){try{N.disconnect()}catch{}N=null}k=null;for(const W of M)clearTimeout(W);if(M=[],L=null,_&&((G=y.value)==null?void 0:G.parentElement)===_)try{_.removeChild(y.value)}catch{}_=null}),Hc(` +}`;function th(e){let t=0;for(let o=0;oxo(V)||W,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:r}=Ym("",{fallback:V=>o[V]}),a=Ve("uiStore",null),i=Ve("profileConfig",null),s=re(()=>(a==null?void 0:a.theme)==="dark"),l=re(()=>{var te;const V=(te=i==null?void 0:i.value)==null?void 0:te.pinHintLabel;if(V)return V;const W="Tap a coloured dot — someone still needs prayer";try{return r("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):W}catch{return W}}),c=Pe(!1),u=Pe(!0);let f=null;const h=Pe(!0);let C=[];const A=["inert","hidden","aria-hidden"];function v(V){const W=[];let te=V;for(;te;)te.nodeType===1&&W.push(te),te=te.parentNode||te.host||null;return W}function z(V){return v(V).some(W=>W.hasAttribute("inert")||W.hasAttribute("hidden")||W.getAttribute("aria-hidden")==="true")}function x(V){const W=()=>{const te=!z(V);te!==h.value&&(h.value=te,te&&Po(ge))};if(W(),!(typeof MutationObserver>"u"))for(const te of v(V))try{const pe=new MutationObserver(W);pe.observe(te,{attributes:!0,attributeFilter:A}),C.push(pe)}catch{}}const y=Pe(null);let _=null,$=null,w=null,L=null,N=null,O=null,M=[],Q=null,de=null;function H(){c.value=!1}function J(V,W){var pe;let te=V==null?void 0:V.parentElement;for(let ce=0;te&&ce<12;ce++,te=te.parentElement){if(te===W||(pe=te.classList)!=null&&pe.contains("profile-loader"))return null;let _e="";try{_e=getComputedStyle(te).position}catch{}if(_e&&_e!=="static"){const Re=te.getBoundingClientRect();if(Re.height>=120&&Re.width>=160)return te}}return null}function he(V){var te;const W=(te=L==null?void 0:L.querySelector)==null?void 0:te.call(L,".legend-mobile-sheet");if(!W)return 1/0;if(N&&O!==W){try{N.disconnect()}catch{}N=null}if(!N&&typeof ResizeObserver<"u")try{N=new ResizeObserver(()=>ge()),N.observe(W),O=W}catch{N=null}try{const pe=W.getBoundingClientRect();return!(pe.height>16)||!(pe.width>16)||V.right<=pe.left||pe.right<=V.left?1/0:pe.top}catch{return 1/0}}function ge(){const V=y.value;if(!(!V||!u.value||!h.value))try{V.style.removeProperty("--pin-hint-lift");const W=V.getBoundingClientRect();if(!W.height)return;const te=Math.min(window.innerHeight,he(W)),pe=Math.round(W.bottom-te);pe>0&&V.style.setProperty("--pin-hint-lift",pe+8+"px")}catch{}}function se(V){const W=y.value;if(!W||!(V!=null&&V.querySelector))return;let te=0;try{const ce=V.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(ce){const _e=ce.getBoundingClientRect(),Re=W.parentElement,S=Re?Re.getBoundingClientRect():null;if(te=S?Math.max(_e.height||0,S.bottom-_e.top):_e.height||0,de!==ce&&typeof ResizeObserver<"u"){if(w)try{w.disconnect()}catch{}de=ce,w=new ResizeObserver(()=>se(V)),w.observe(ce)}}}catch{}const pe=Math.min(Math.max(Math.ceil(te)||20,20),72);W.style.setProperty("--pin-hint-attrib-clear",pe+"px"),ge()}return wo(()=>{var pe,ce,_e;const V=St(),W=(_e=(ce=(pe=V==null?void 0:V.proxy)==null?void 0:pe.$el)==null?void 0:ce.getRootNode)==null?void 0:_e.call(ce);if(!W||typeof W.querySelector!="function")return;L=W;let te=0;_=setInterval(()=>{te++;const Re=W.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");Re?(clearInterval(_),_=null,c.value=!0,Po(()=>{const S=J(Re,W),D=y.value;if(S&&D&&D.parentElement!==S)try{S.appendChild(D),$=S}catch{}if(S&&x(S),S&&typeof IntersectionObserver<"u")try{f=new IntersectionObserver(U=>{const q=U[U.length-1],ee=!!q&&q.isIntersecting&&q.intersectionRatio>=.2;ee!==u.value&&(u.value=ee,ee&&Po(ge))},{threshold:[0,.2,.5]}),f.observe(S)}catch{}se(W),ge(),M.push(setTimeout(ge,1200),setTimeout(ge,3e3),setTimeout(ge,6e3));try{const U=y.value&&y.value.offsetParent||null;if(U&&typeof ResizeObserver<"u"){if(Q)try{Q.disconnect()}catch{}Q=new ResizeObserver(()=>ge()),Q.observe(U)}}catch{}})):te>40&&(clearInterval(_),_=null)},300)}),tn(()=>{var V;if(_&&clearInterval(_),f){try{f.disconnect()}catch{}f=null}for(const W of C)try{W.disconnect()}catch{}if(C=[],w){try{w.disconnect()}catch{}w=null}if(de=null,Q){try{Q.disconnect()}catch{}Q=null}if(N){try{N.disconnect()}catch{}N=null}O=null;for(const W of M)clearTimeout(W);if(M=[],L=null,$&&((V=y.value)==null?void 0:V.parentElement)===$)try{$.removeChild(y.value)}catch{}$=null}),Hc(` @media print { .pin-hint { display: none !important; } } .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); @@ -79,16 +79,16 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(G,W)=>c.value?Gd((xe(),it("div",{key:0,ref_key:"hintEl",ref:y,class:$o(["pin-hint",{dark:s.value}]),role:"status"},[Se("span",oh,[W[0]||(W[0]=Se("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),et(" "+ot(l.value)+" ",1),Se("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:O},"×",8,nh)])],2)),[[tf,u.value&&h.value]]):qt("",!0)}},rh=".lsn-bar[data-v-9a589f6f]{display:flex;align-items:flex-start;gap:8px;flex:none;margin:0;padding-block:8px;padding-inline:12px 8px;background:#fff8e1;border-block-end:1px solid #f0d68a;color:#4a3b00;font:400 13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.lsn-bar__text[data-v-9a589f6f]{flex:1 1 auto;margin:0}.lsn-bar__x[data-v-9a589f6f]{flex:none;min-width:24px;min-height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:600 18px/1 system-ui,sans-serif;cursor:pointer}.lsn-bar__x[data-v-9a589f6f]:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}.lsn-block[data-v-9a589f6f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;min-height:200px;padding:24px;background:#f7f7f5;color:#333;text-align:center;font:400 15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.lsn-block__text[data-v-9a589f6f]{max-width:28em;margin:0}",zc=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},ih={key:0,class:"lsn-block",role:"status"},sh={class:"lsn-block__text"},lh={key:0},ch={key:1,class:"lsn-bar",role:"note"},uh={class:"lsn-bar__text"},dh=["aria-label","title"],Wc=zc({__name:"LargerScreenNotice",props:{mode:{type:String,required:!0},label:{type:String,default:""},locale:{type:String,default:""}},emits:["dismiss"],setup(e){const t=e,o=(i,s)=>xo(i,t.locale||void 0)||s,n=ie(()=>o("messages.largerScreenNotice","This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.")),r=ie(()=>o("messages.noticeDismiss","Dismiss")),a=ie(()=>o("messages.desktopOnlyNotice","{label} only supports desktop — open this page on a desktop to use it.").split("{label}"));return(i,s)=>e.mode==="desktop-only"?(xe(),it("div",ih,[Se("p",sh,[et(ot(a.value[0]),1),a.value.length>1?(xe(),it("bdi",lh,ot(e.label),1)):qt("",!0),et(ot(a.value[1]||""),1)])])):(xe(),it("div",ch,[Se("p",uh,ot(n.value),1),Se("button",{type:"button",class:"lsn-bar__x","aria-label":r.value,title:r.value,onClick:s[0]||(s[0]=l=>i.$emit("dismiss"))},"×",8,dh)]))}},[["styles",[rh]],["__scopeId","data-v-9a589f6f"]]),ph="(max-width: 639.98px)";function fh(e){for(let t=e;t;t=t.parentNode||t.host)if(t.nodeType===1&&t.hasAttribute("data-doxa-gallery"))return!0;return!1}function gh(e){var l;const t=ie(()=>{var u;const c=(u=e.value)==null?void 0:u.mobile;return c==="desktop-only"||c==="larger-screens"?c:null});let o=null;try{o=Cf()}catch{o=null}const n=o?fh(o):!1,r=Pe(!1);if(typeof window<"u"&&typeof window.matchMedia=="function"){const c=window.matchMedia(ph);r.value=c.matches;const u=g=>{r.value=g.matches};(l=c.addEventListener)==null||l.call(c,"change",u),tn(()=>{var g;return(g=c.removeEventListener)==null?void 0:g.call(c,"change",u)})}const a=ie(()=>{var c;return`dx-maps:larger-screens-dismissed:${((c=e.value)==null?void 0:c.profile)||""}`}),i=Pe(!1);Ye(a,c=>{try{i.value=sessionStorage.getItem(c)==="1"}catch{i.value=!1}},{immediate:!0});function s(){i.value=!0;try{sessionStorage.setItem(a.value,"1")}catch{}}return{flag:t,blocked:ie(()=>t.value==="desktop-only"&&r.value&&!n),advise:ie(()=>t.value==="larger-screens"&&r.value&&!n&&!i.value),dismiss:s,label:ie(()=>{var c,u;return String(((c=e.value)==null?void 0:c.mobileLabel)||((u=e.value)==null?void 0:u.profile)||"")})}}let mh=0;const hh=hr("ui",{state:()=>({_storeInstanceId:++mh,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){const t=e&&!this.selectedPeopleGroup;this.selectedPeopleGroup=e,e?(t&&(this._legendStateBeforeDetail=this.legendState),this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this._legendStateBeforeDetail&&(this.legendState=this._legendStateBeforeDetail),this._legendStateBeforeDetail=null,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:r=null,persistent:a=!1}=e,i={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:a,createdAt:Date.now()};return this.toasts.push(i),!a&&n>0&&setTimeout(()=>{this.removeToast(i.id)},n),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(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)}))}}}),bh=hr("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let r=[0,0];if(o.center)r=o.center;else if(t&&typeof t.getCenter=="function"){const a=t.getCenter();a&&(r=[a.lng,a.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),_h=hr("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}}}),$h={activeSource:"pray-tools"},yh=".profile-loader[data-locale-pending][data-v-b5256f00] .stl-tabs,.profile-loader[data-locale-pending][data-v-b5256f00] .stl-title,.profile-loader[data-locale-pending][data-v-b5256f00] .stl-rows,.profile-loader[data-locale-pending][data-v-b5256f00] .legend-title,.profile-loader[data-locale-pending][data-v-b5256f00] .legend-content,.profile-loader[data-locale-pending][data-v-b5256f00] .legend-reopen-label,.profile-loader[data-locale-pending][data-v-b5256f00] .lt-btn-text,.profile-loader[data-locale-pending][data-v-b5256f00] .rd-topbar,.profile-loader[data-locale-pending][data-v-b5256f00] .rd-exportbar{visibility:hidden}.profile-loader[data-v-b5256f00]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-loader.has-screen-notice[data-v-b5256f00]{display:flex;flex-direction:column}.profile-loader.has-screen-notice[data-v-b5256f00]>:not(.lsn-bar){flex:1 1 auto;min-height:0;position:relative!important;inset:auto!important}.profile-error[data-v-b5256f00]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",vh=["dir","data-locale-pending"],Ch={key:0,class:"profile-error"},Th={key:1,class:"profile-error"},Ph=zc({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var pe;const o=e,n=Ve("profileConfig",null),r=ie(()=>{var te;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 me=(te=n==null?void 0:n.value)==null?void 0:te.assetsBase;typeof me=="string"&&me&&(O.assetsBase=me)}return O}),a=ie(()=>{var O;return((O=r.value)==null?void 0:O.profile)||null}),i=Mf(),s=ie(()=>{var te;const O=(te=r.value)==null?void 0:te.tk;return typeof O=="string"&&O?O:i.value||""});Ye(()=>{var O;return(O=r.value)==null?void 0:O.tk},O=>{typeof O=="string"&&O&&$r(O)},{immediate:!0}),Ye(()=>{var O;return(O=r.value)==null?void 0:O.tokenUrl},O=>{var te;O&&!((te=r.value)!=null&&te.tk)&&!i.value&&Of(O)},{immediate:!0});const l=ie(()=>{var O;return((O=r.value)==null?void 0:O.dataSource)||$h.activeSource}),c=ie(()=>{var O;return((O=r.value)==null?void 0:O.colorSet)||"default"}),u=ie(()=>!1),g=ie(()=>{var O;return((O=r.value)==null?void 0:O.pinHint)!==!1}),h=ie(()=>{var te,me;const O=(((te=r.value)==null?void 0:te.locale)||((me=r.value)==null?void 0:me.lang)||Fc()||"").split("-")[0].toLowerCase();return _n.includes(O)?O:""}),C=Ve("appI18n",null);as(()=>{h.value&&(C&&(C.global.locale.value=h.value),Mc(h.value),zr(C,h.value).catch(()=>{}))});const A=ie(()=>{var O,te;return h.value||((te=(O=C==null?void 0:C.global)==null?void 0:O.locale)==null?void 0:te.value)||"en"}),v=ie(()=>$a.has(A.value)?"rtl":"ltr"),{blocked:z,advise:D,dismiss:y,label:b}=gh(r),_=Pe(!1);as(O=>{const te=A.value;if(!$a.has(te)){_.value=!1;return}let me=!0;O(()=>{me=!1}),_.value=!0,Gm(te).finally(()=>{me&&(_.value=!1)})});const w=ie(()=>{var O;return((O=r.value)==null?void 0:O.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),L=Ve("profileModules",null);if(!L)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const N=ie(()=>{if(!a.value)return null;const O=`./${a.value}.vue`;return L[O]?Qm(L[O]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(L)),null)});Tt("mapboxToken",s),Tt("dataSource",l),Tt("colorSet",c),Tt("profileConfig",r),Tt("instanceId",w),Tt("lang",A);const k=hh(),M=bh(),J=_h();try{const O=typeof localStorage<"u"?localStorage.getItem("theme"):null;O&&((pe=k.setTheme)==null||pe.call(k,O))}catch{}return Tt("uiStore",k),Tt("mapStore",M),Tt("dataStore",J),(O,te)=>(xe(),it("div",{class:$o(["profile-loader",{"has-screen-notice":je(D)}]),dir:v.value,"data-locale-pending":_.value?"":null},[r.value?N.value?je(z)?(xe(),So(Wc,{key:2,mode:"desktop-only",label:je(b),locale:A.value},null,8,["label","locale"])):(xe(),it(at,{key:3},[je(D)?(xe(),So(Wc,{key:0,mode:"larger-screens",locale:A.value,onDismiss:je(y)},null,8,["locale","onDismiss"])):qt("",!0),(xe(),So(fs(N.value)))],64)):(xe(),it("div",Th,[Se("p",null,[te[1]||(te[1]=et("⚠️ Profile ",-1)),Se("strong",null,'"'+ot(a.value)+'"',1),te[2]||(te[2]=et(" not found.",-1))])])):(xe(),it("div",Ch,[...te[0]||(te[0]=[Se("p",null,[et("⚠️ "),Se("strong",null,"doxa-map"),et(": missing or invalid "),Se("code",null,"profile-config"),et(" prop.")],-1),Se("p",null,[et("Example: "),Se("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),N.value&&u.value?(xe(),So(fs(je(null)),{key:4})):qt("",!0),N.value&&g.value?(xe(),So(ah,{key:5})):qt("",!0)],10,vh))}},[["styles",[yh]],["__scopeId","data-v-b5256f00"]]);function Uc(e,t,o){var r;const n=(r=e==null?void 0:e._context)==null?void 0:r.provides;if(n&&t in n){n[t]=o;return}e.provide(t,o)}function wh(e,t){var r;const o=(r=e==null?void 0:e._context)==null?void 0:r.provides,n=o?Object.getPrototypeOf(o):null;n&&Object.setPrototypeOf(o,null);try{return t()}finally{n&&Object.setPrototypeOf(o,n)}}function Sh({profileModules:e={},configureApp:t=null}={}){return yf(Ph,{configureApp(o){const n=Lf();wh(o,()=>o.use(n));const r=Vm();o.use(r),Uc(o,"appI18n",r),Uc(o,"profileModules",e),t&&t(o,{pinia:n,i18n:r})}})}const Bc="adoptionStatus",Wt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Lh=Wt,Wr={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Ah=Wr;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Wt.hasAdoption:Wt.notAdopted}function Ur({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Wt.hasAdoption,["==",t,1],Wt.hasAdoption,Wt.notAdopted]}const Vc=Ur,Eh=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Lh,ADOPTION_LABELS:Ah,LABELS:Wr,PALETTE:Wt,PROPERTY_KEY:Bc,applyColor:Ur,buildColorExpression:Vc,default:{name:"Adoption Progress",propertyKey:Bc,palette:Wt,colors:Wt,labels:Wr,getColor:Gc,applyColor:Ur,buildColorExpression:Vc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Br="affinityBlock",Io="#95a5a6",Ut={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ca={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},oo=Ca,jc=Object.entries(Ut).reduce((e,[t,o])=>(e[o]=t,e),{}),Gr=Object.entries(Ut).reduce((e,[t,o])=>(e[o]=oo[t],e),{}),Kc=Ut;function Vr(e){return Ut[e]||"Unknown"}function jr(e){return oo[e]||Io}function Yc(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?oo[e]||Io:Gr[e]||Io:Io}function qc(){return Object.entries(Ut).map(([e,t])=>({code:e,name:t,color:oo[e]}))}function Xc(e){return{code:e,name:Ut[e]||"Unknown",color:oo[e]||Io}}function Jc(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return jr(t)}function Zc(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Vr(t)}function Kr(){const e=["match",["get",Br]];return Object.entries(oo).forEach(([t,o])=>{e.push(t,o)}),e.push(Io),e}const Qc=Kr,Rh=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:oo,AFFINITY_BLOCK_COLORS_BY_NAME:Gr,AFFINITY_BLOCK_NAMES:Ut,AFFINITY_BLOCK_NAME_TO_CODE:jc,NAMES:Kc,PALETTE:Ca,PROPERTY_KEY:Br,affinityBlockCodeLookup:Ut,affinityBlockCodeToColor:oo,affinityBlockCodeToName:Ut,affinityBlockColors:Gr,affinityBlockNameToCode:jc,applyColor:Kr,buildColorExpression:Qc,default:{name:"Affinity Block",propertyKey:Br,palette:Ca,colors:Ca,names:Kc,getColor:Jc,applyColor:Kr,buildColorExpression:Qc,getName:Zc,getAffinityBlockName:Vr,getAffinityBlockColor:Yc,getAffinityBlockColorByCode:jr,getAffinityBlocksArray:qc,getAffinityBlockData:Xc},getAffinityBlockColor:Yc,getAffinityBlockColorByCode:jr,getAffinityBlockData:Xc,getAffinityBlockName:Vr,getAffinityBlocksArray:qc,getColor:Jc,getName:Zc},Symbol.toStringTag,{value:"Module"}));function Fh(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(qr),e}const nu=Zr,Mh=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:Nh,PALETTE:Ta,PROPERTY_KEY:Yr,REGION_COLOR_ALIASES:Jr,SLUG_PALETTE:Pa,applyColor:Zr,buildColorExpression:nu,default:{name:"DOXA Region",propertyKey:Yr,palette:Ta,colors:Ta,slugColors:Pa,aliases:Jr,fallback:qr,getColor:ou,applyColor:Zr,buildColorExpression:nu,getRegionColor:tu,getRegionColorBySlug:Xr},getColor:ou,getRegionColor:tu,getRegionColorBySlug:Xr},Symbol.toStringTag,{value:"Module"})),au="engagementStatus",Bt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Oh=Bt,Qr={notEngaged:"Unengaged",hasEngagement:"Engaged"},kh=Qr;function ru(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Bt.hasEngagement:Bt.notEngaged}function ei({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Bt.hasEngagement,["==",t,1],Bt.hasEngagement,Bt.notEngaged]}const iu=ei,xh=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Oh,ENGAGEMENT_LABELS:kh,LABELS:Qr,PALETTE:Bt,PROPERTY_KEY:au,applyColor:ei,buildColorExpression:iu,default:{name:"Engagement Progress",propertyKey:au,palette:Bt,colors:Bt,labels:Qr,getColor:ru,applyColor:ei,buildColorExpression:iu},getColor:ru},Symbol.toStringTag,{value:"Module"})),ti="languageFamily",Ih="#000000",no={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Dh=no;function oi(e){return no[e]||Ih}const Hh=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(no))t[e(o)]=o;return t})(),zh={"tai-kadai":"Kra-Dai",none:"Unknown"};function su(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return zh[o]||Hh[o]||t}function lu(e){var t;return oi(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function ni(){const e=["match",["get",ti]];return Object.entries(no).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const cu=ni,Wh=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Dh,PALETTE:no,PROPERTY_KEY:ti,applyColor:ni,buildColorExpression:cu,canonicalFamilyName:su,default:{name:"Language Family",propertyKey:ti,palette:no,colors:no,getColor:lu,applyColor:ni,buildColorExpression:cu,getLanguageFamilyColor:oi,canonicalFamilyName:su},defaultFamilyColor:"#95a5a6",getColor:lu,getLanguageFamilyColor:oi,languageFamilyColors:no},Symbol.toStringTag,{value:"Module"})),uu="peoplePraying",wa=144,ao={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Uh=ao,ai={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Bh=ai;function Sa(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=wa?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function ri(e){return ao[Sa(e)]}function du(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function pu(e){return Sa(e)==="fullPrayer"}function fu(e){return ri(e)}function ii({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,wa],ao.fullPrayer,[">",t,0],ao.hasPrayer,ao.noPrayer]}const gu=ii,Gh=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:wa,LABELS:ai,PALETTE:ao,PRAYER_COLORS:Uh,PRAYER_LABELS:Bh,PROPERTY_KEY:uu,applyColor:ii,buildColorExpression:gu,checkHasFullPrayer:pu,checkHasPrayer:du,default:{name:"Prayer Progress",propertyKey:uu,palette:ao,colors:ao,labels:ai,threshold:wa,getColor:fu,applyColor:ii,buildColorExpression:gu,getPrayerLevel:Sa,getPrayerColor:ri,checkHasPrayer:du,checkHasFullPrayer:pu},getColor:fu,getPrayerColor:ri,getPrayerLevel:Sa},Symbol.toStringTag,{value:"Module"})),mu="religion",si="#94a3b8",La={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},pt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function hu(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return La[t]?t:"U"}function bu(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return pt[hu(t)]||si}function li(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",pt.C,"M",pt.M,"H",pt.H,"B",pt.B,"E",pt.E,"J",pt.J,"S",pt.S,"N",pt.N,"O",pt.O,si]}const _u=li,Vh={name:"Religion",propertyKey:mu,palette:pt,families:La,getColor:bu,applyColor:li,buildColorExpression:_u,fallback:si};function jh(e){const t=String(e||""),o=La[t]||t;return o?xo("religion.family."+o)||o:""}const Kh=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:pt,PROPERTY_KEY:mu,RELIGION_FAMILIES:La,applyColor:li,buildColorExpression:_u,default:Vh,getColor:bu,getReligionFamily:hu,religionFamilyLabel:jh},Symbol.toStringTag,{value:"Module"})),$u="resourceType",ro={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},Yh=ro,$n=["bible","jesusFilm","radio","gospel","audio","stories"],ci={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},qh=ci;function yn(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function yu(e){var t;for(const o of $n)if((e[o]||((t=e._raw)==null?void 0:t[yn(o)]))==="Available")return ro.hasResources;return ro.noResources}function vu(e){var t;for(const o of $n)if((e[o]||((t=e._raw)==null?void 0:t[yn(o)]))==="Available")return!0;return!1}function Cu(e){var t;for(const o of $n)if((e[o]||((t=e._raw)==null?void 0:t[yn(o)]))==="Available")return o;return"noResources"}function ui(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],ro.hasResources,ro.noResources]}const Tu=ui,Xh=Object.freeze(Object.defineProperty({__proto__:null,NAMES:ci,PALETTE:ro,PROPERTY_KEY:$u,RESOURCE_COLORS:Yh,RESOURCE_NAMES:qh,RESOURCE_PRIORITY:$n,applyColor:ui,buildColorExpression:Tu,default:{name:"Gospel Resources",propertyKey:$u,palette:ro,colors:ro,names:ci,priority:$n,getColor:yu,applyColor:ui,buildColorExpression:Tu,hasAnyResource:vu,getResourceType:Cu,getCSVColumn:yn},getCSVColumn:yn,getColor:yu,getResourceType:Cu,hasAnyResource:vu},Symbol.toStringTag,{value:"Module"})),Pu="region",di="#6d766e",wu={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},Do={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},pi=Object.keys(Do);function fi(e){var o,n,r;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.wagf_region);return Do[t]||di}function Aa(){const e=["match",["coalesce",["get","region"],""]];for(const t of pi)e.push(t,Do[t]);return e.push(di),e}const Su=Aa,Jh=Object.assign({"./adoption.js":Eh,"./affinity-block.js":Rh,"./doxa-region.js":Mh,"./engagement.js":xh,"./language-family.js":Wh,"./prayer-progress.js":Gh,"./religion.js":Kh,"./resource.js":Xh,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Do,PROPERTY_KEY:Pu,REGION_ORDER:pi,WAGF_REGIONS:wu,applyColor:Aa,buildColorExpression:Su,default:{name:"WAGF Region",propertyKey:Pu,palette:Do,regions:wu,order:pi,getColor:fi,applyColor:Aa,buildColorExpression:Su,fallback:di},getColor:fi},Symbol.toStringTag,{value:"Module"}))}),Zh=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Qh=e=>e.replace(/-/g,"_").toUpperCase(),eb={...{STATUS:"status",CUSTOM:"custom"}};function Lu(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith(".")||!e[t].default)continue;const r=Zh(o);eb[Qh(o)]=r}}Lu(Jh);function tb(e){e&&Lu(e)}const ob=Object.assign({"./country-map.vue":()=>qu(()=>Promise.resolve().then(()=>zb),void 0)});tb(Object.assign({}));const nb=Sh({profileModules:ob,configureApp:()=>{}});typeof customElements<"u"&&!customElements.get("doxa-country-map")&&customElements.define("doxa-country-map",nb);const ab="rgba(120, 128, 134, 0.28)",Au="36px",Eu=()=>{};function rb(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Eu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Eu;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${ab} ${Au}, transparent ${Au})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const a=y=>{y.style.opacity="1"},i=y=>{y.style.opacity="0"},s=()=>n.find(y=>!r(y))||null,l=new Set;let c=!1,u=null;const g=()=>{for(const y of n)l.has(y)||i(y)},h=()=>{const y=s();y&&(a(y),u&&clearTimeout(u),u=setTimeout(g,250))},C=()=>h(),A=y=>{if(!(y.touches&&y.touches.length===1))return;const b=y.target;b&&b.classList&&b.classList.contains("map-scroll-edge")||h()},v=()=>{u&&clearTimeout(u),g()};e.addEventListener("wheel",C,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const z=()=>{c||h()};typeof window<"u"&&window.addEventListener("scroll",z,{passive:!0});const D=[];for(const y of n){const b=()=>{l.add(y),a(y)},_=()=>{l.delete(y),i(y)},w=()=>{c=!0,a(y)},L=()=>{c=!1,i(y)};y.addEventListener("mouseenter",b),y.addEventListener("mouseleave",_),y.addEventListener("touchstart",w,{passive:!0}),y.addEventListener("touchend",L,{passive:!0}),D.push(()=>{y.removeEventListener("mouseenter",b),y.removeEventListener("mouseleave",_),y.removeEventListener("touchstart",w),y.removeEventListener("touchend",L)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",C),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",z);for(const b of D)b();for(const b of n)i(b)}}const ib=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 sb(e,t="mapbox"){const o=ib[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function lb(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const cb=["mapbox","maplibre"],ub="auto";function Ru(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Fu(e,{token:t}={}){const o=Ru(e);return Nu(o)||"maplibre"}function Nu(e){const t=Ru(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,r=typeof window<"u"?window.MAP_PROVIDER:void 0,a=String(o||n||r||ub).toLowerCase().trim();return cb.includes(a)?a:""}function Mu(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;return t&&t.Map&&e instanceof t.Map?t:o&&o.Map&&e instanceof o.Map?o:o||t}function db(e){try{const t=e&&typeof e.getProjection=="function"?e.getProjection():null;return t&&(t.name||t.type)||null}catch{return null}}function Ou(e,t){if(!e||!t||typeof e.setProjection!="function")return!1;const o=typeof window<"u"?window.maplibregl:null,n=!!(o&&o.Map&&e instanceof o.Map);try{return e.setProjection(n?{type:t}:t),!0}catch{return!1}}const vn={mapboxGlJs:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",integrity:"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ"},mapboxGlCss:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css",integrity:"sha384-rp1X/jJ9MpWPef9OimfXhOaOc4Gzs87yQvF+ajwY6X2H4PTeHNycNlLWiWvj7ehV"},maplibreGlJs:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js",integrity:"sha384-5+cfbwT0iiub6VsQAdn6yz16nr6sDiQoHx6tm4O8OVYXHYOxcffFmCJBL0dgdvGp"},maplibreGlCss:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.css",integrity:"sha384-uTttxo/aOKbdE5RlD/SPzSDoDmNvGlUYPjONi2MN/b7c9HPSvW07OIuyP7uL6jxK"},mapboxGeocoderJs:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",integrity:"sha384-Lx9WK8XhZk57czwxt6B6nyaDHB5Ayrcrsu4Fw4bCp/Ot/QLOsUZ0xYqLOpOOSXZw"},mapboxGeocoderCss:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",integrity:"sha384-1KNhwJNCQTr0DCi/5/OnQcFytgycxTahxNZaqKbAtqmY8bUhu26qxXqvDGXXwplS"},maplibreGeocoderJs:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.min.js",integrity:"sha384-RGV5vfoJd7alk8HE+71IyVfu19ciH1FKA15+AuXs6OeBM2npXrmTPFqG23yMiHXi"},maplibreGeocoderCss:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.css",integrity:"sha384-UkDpPApjTpHJHpcJiSNAmbobh30W0/dmt0DoKm4V8CWYRYvQ/Jhd/ijFz0tFdVnH"},d3:{url:"https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js",integrity:"sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i"}};function gi(e,t){const o=Object.values(vn).find(n=>n.url===t);return o&&(e.integrity=o.integrity,e.crossOrigin="anonymous"),e}const ku={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function pb(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function fb(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(pb(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const r=n.setRTLTextPlugin(ku.maplibre,!0);r&&r.catch&&r.catch(()=>{})}else n.setRTLTextPlugin(ku.mapbox,null,!0);o=!0}catch{}return o}const gb=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,xu=new WeakMap;function mb(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Iu(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!mb(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let r=xu.get(e);r||(r=new Map,xu.set(e,r));let a=0;for(const i of n.layers){if(i.type!=="symbol"||!i.layout||i.layout["text-field"]==null)continue;const s=i.layout["text-field"],l=JSON.stringify(s);if(l.startsWith('["coalesce",["get","name:')){if(!r.has(i.id))continue}else{if(!gb.test(l))continue;r.set(i.id,s)}const c=["coalesce",["get","name:"+o],["get","name_"+o],["get","name:latin"],["get","name_en"],["get","name"]];e.setLayoutProperty(i.id,"text-field",c),a++}return a}catch{return 0}}const Ho={mapbox:{global:"mapboxgl",js:vn.mapboxGlJs.url,css:vn.mapboxGlCss.url},maplibre:{global:"maplibregl",js:vn.maplibreGlJs.url,css:vn.maplibreGlCss.url}},hb={"Map.Title":"map","Marker.Title":"marker","Popup.Close":"closePopup","NavigationControl.ZoomIn":"zoomIn","NavigationControl.ZoomOut":"zoomOut","NavigationControl.ResetBearing":"resetBearing","AttributionControl.ToggleAttribution":"toggleAttribution","AttributionControl.MapFeedback":"mapFeedback","FullscreenControl.Enter":"enterFullscreen","FullscreenControl.Exit":"exitFullscreen","GeolocateControl.FindMyLocation":"findMyLocation","GeolocateControl.LocationNotAvailable":"locationNotAvailable","GlobeControl.Enable":"enableGlobe","GlobeControl.Disable":"disableGlobe","CooperativeGesturesHandler.WindowsHelpText":"ctrlScroll","CooperativeGesturesHandler.MacHelpText":"cmdScroll","CooperativeGesturesHandler.MobileHelpText":"twoFingers","ScrollZoomBlocker.CtrlMessage":"ctrlScroll","ScrollZoomBlocker.CmdMessage":"cmdScroll","TouchPanBlocker.Message":"twoFingers"};function Du(e,t){const o={};for(const[r,a]of Object.entries(hb)){const i=xo(`mapui.${a}`,e);i&&(o[r]=i)}const n=xo(t==="maplibre"?"mapui.maplibreLogo":"mapui.mapboxHomepage",e);return n&&(o["LogoControl.Title"]=n),o}function Hu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const bb=Ho.mapbox.css,_b="https://tiles.openfreemap.org/styles/liberty",$b="https://tiles.openfreemap.org/styles/fiord";function mi(e){var o;const t=((o=Ho[e])==null?void 0:o.global)||Ho.mapbox.global;return typeof window<"u"?window[t]:void 0}async function zu(e){const t=Ho[e]||Ho.mapbox;if(mi(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,gi(n,t.css),document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(mi(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const a=document.createElement("script");a.src=t.js,gi(a,t.js),a.async=!1,a.addEventListener("load",n,{once:!0}),a.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(a)})}async function yb(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=i=>new Promise(s=>setTimeout(s,i)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(i=>{r.addEventListener("load",i,{once:!0}),r.addEventListener("error",i,{once:!0})}),n(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=t,gi(a,t),await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0}),o.prepend(a)}),n(2e3)])}function vb(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?$b:_b}const Cb=85.0511,hi=-2,Tb=0,Pb=-60;function Wu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function wb(e,t,o,n){if(!e||e<=0||!t||t<=0)return Tb;const r=Math.log2(e/512),a=Wu(n)-Wu(Cb),i=Math.log2(t/(512*a)),s=Math.max(r,i);return Math.max(hi,Math.min(s,(o??18)-1))}function Sb({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r=void 0,center:a=[20,10],zoom:i=2,bounds:s=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:g=18,pitch:h=0,bearing:C=0,renderWorldCopies:A=!0,showEdgeBorders:v=!0,southCutoff:z=Pb,maxBounds:D=void 0}){const y=zn(null),b=Pe(!1);let _=null,w=null,L=null,N=null;try{N=Ve("profileConfig",null)}catch{}const k=!r&&!Nu(N);r=r||Fu(N,{token:t});let M=r==="maplibre";typeof document<"u"&&zu(r).catch(()=>{});let J=null;try{J=Ve("lang",null)}catch{}const pe=()=>{const me=J&&typeof J=="object"&&"value"in J?J.value:J;if(typeof me=="string"&&me)return me;const ge=N&&typeof N=="object"&&"value"in N?N.value:N;if(ge&&(ge.locale||ge.lang))return String(ge.locale||ge.lang);try{const ce=new URLSearchParams(location.search);return ce.get("lang")||ce.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function O(){var Q;if(k&&!M&&!t&&typeof window<"u"&&window.__doxaMapTokenPending){if(await window.__doxaMapTokenPending,!e.value)return;typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN||(r="maplibre",M=!0)}const me=sb(o,r),ge=me.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const ce=()=>!e.value;if(await zu(r),ce())return;const G=mi(r);if(!G){console.error(`[useMapInstance] ${M?"maplibregl":"mapboxgl"} is not available. Add the ${M?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(fb(G),!M){if(!t&&typeof window<"u"&&window.__doxaMapTokenPending&&(await window.__doxaMapTokenPending,ce()))return;if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){typeof window<"u"&&!window.__doxaNoTokenWarned&&(window.__doxaNoTokenWarned=!0,console.warn('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.'));return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await yb(e.value,M?Ho.maplibre.css:bb),ce()||(await new Promise(Z=>requestAnimationFrame(Z)),ce()))return;const W=e.value,ne=W.clientWidth,ue=W.clientHeight;if(ne===0||ue===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ne}×${ue}). Map will be invisible. Check that parent elements have CSS sizing.`);let Z=W.parentElement,ee=0;for(;Z&&ee<5;)Z=Z.parentElement,ee++}const fe=t;M||(G.accessToken=fe);const _e=()=>typeof window<"u"&&window.innerWidth>=1024,S=(Z,ee)=>{if(u)return typeof c=="number"?c:hi;if(!_e())return hi;const Ae=wb(Z,ee,g,z);return typeof c=="number"?Math.max(c,Ae):Ae},x=S(W.clientWidth,W.clientHeight),j=me.lightPreset||(()=>{var Z;try{const ee=typeof n=="function"?n():n;return(Z=ee==null?void 0:ee.basemap)==null?void 0:Z.lightPreset}catch{return}})();if(M){y.value=new G.Map({container:e.value,style:vb(ge,j),locale:Du(pe(),"maplibre"),center:a,zoom:i,minZoom:x,maxZoom:g,pitch:h,bearing:C,dragRotate:!1,renderWorldCopies:A,...s?{bounds:s,...l?{fitBoundsOptions:l}:{}}:{},...D?{maxBounds:D}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const Z=typeof n=="function"?n():n;y.value=new G.Map({accessToken:fe,container:e.value,style:ge,locale:Du(pe(),"mapbox"),...Z?{config:Z}:{},center:a,zoom:i,minZoom:x,maxZoom:g,pitch:h,bearing:C,dragRotate:!1,touchPitch:!1,renderWorldCopies:A,...s?{bounds:s,...l?{fitBoundsOptions:l}:{}}:{},...D?{maxBounds:D}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let Z=!1;y.value.on("error",ee=>{var $,m;const Ae=(($=ee==null?void 0:ee.error)==null?void 0:$.status)??(ee==null?void 0:ee.status),f=String(((m=ee==null?void 0:ee.error)==null?void 0:m.url)||(ee==null?void 0:ee.sourceId)||"");Ae!==401&&Ae!==403||Z||(Z=!0,console.error(`[doxa-maps] Mapbox returned ${Ae} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(f?` First failing request: ${f.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}L=rb(((Q=e.value)==null?void 0:Q.parentElement)||null,{enabled:v});let Y=x,X=null;_=()=>{const Z=y.value;if(!Z)return;const ee=S(W.clientWidth,W.clientHeight);ee!==Y&&(Y=ee,Z.setMinZoom(ee)),Z.getZoom(){X=null;const Ae=y.value;if(!Ae)return;const f=S(W.clientWidth,W.clientHeight);if(Ae.getZoom(){X&&(clearTimeout(X),X=null)},y.value.on("resize",_),typeof window<"u"&&(window.addEventListener("resize",_),window.addEventListener("orientationchange",_)),y.value.on("style.load",()=>{if(y.value&&Iu(y.value,pe()),me.paint&&y.value){const Z=lb(y.value,me.paint);console.info("[useMapInstance] style paint applied ("+r+"):",Z.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var Z;(Z=y.value)==null||Z.resize(),y.value&&y.value.setMinZoom(S(W.clientWidth,W.clientHeight)),b.value=!0})})}function te(){if(y.value){if(_&&(y.value.off("resize",_),typeof window<"u"&&(window.removeEventListener("resize",_),window.removeEventListener("orientationchange",_)),_=null),w){try{w()}catch{}w=null}L&&(L(),L=null);try{const ge=typeof window<"u"?window:null;ge&&ge.__doxaLogoOwner===y.value&&(ge.__doxaLogoOwner=null)}catch{}const me=y.value;y.value.remove();try{e&&e.value&&e.value.__doxaMap===me&&(e.value.__doxaMap=null)}catch{}y.value=null,b.value=!1}}if(J&&typeof J=="object"&&"value"in J)try{Ye(J,()=>{y.value&&b.value&&Iu(y.value,pe())})}catch{}return{map:y,isMapReady:b,initializeMap:O,destroy:te}}const Lb=Ra&&Ra.tagName.toUpperCase()==="SCRIPT"&&Ra.src||new URL("country-map.js",document.baseURI).href,Cn=e=>String(e||"").trim().replace(/\/+$/,"");function Ab(){try{const t=String(Lb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Eb(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Cn(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Cn((e==null?void 0:e.treeBase)||"")||Cn(Ab()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Cn(new URL(o+"/assets",n).href)}catch{return Cn(o+"/assets")}return"./assets"}function Uu(){const{tm:e,rt:t,locale:o,t:n}=ko(),r=c=>{try{return Number(c||0).toLocaleString(`${o.value||"en"}-u-nu-latn`)}catch{return String(c)}},a=ie(()=>{try{return e("regions")||{}}catch{return{}}});function i(c){var g;const u=(g=a.value)==null?void 0:g[c];if(u==null)return c;try{return t(u)}catch{return typeof u=="string"?u:c}}function s(c,u={}){let g=i(c);for(const[h,C]of Object.entries(u))g=g.replace("%"+h+"%",String(C));return g}function l(c,u){try{return n(`regions.${c}`,{n:r(u)},Number(u)||0)}catch{return String(u)}}return{t:i,tf:s,tc:l,locale:o}}function Bu(e,t=""){const o=String(e??"").replace(/\/+$/,""),n=String(t??"").replace(/^\/+/,"");return n?`${o}/${n}`:`${o}/`}const Rb={key:0,class:"rcm__note",role:"status"},Fb={key:1,class:"rcm__legend"},Gu=100,Vu=.42,Ea="rcm-people-groups",zo="rcm-country-boundaries",ju=12,Nb=.92,Mb={__name:"RegionCountryMap",props:{countryCodes:{type:Array,default:()=>[]},points:{type:Array,default:()=>[]},colorMode:{type:String,default:"in-country"},highlightRegion:{type:String,default:""},selectOnPinClick:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:2},bounds:{type:Array,default:null},prayBaseUrl:{type:String,default:"https://pray.doxa.life"},researchUrl:{type:String,default:"https://doxa.life/research/"}},emits:["pick-country"],setup(e,{expose:t,emit:o}){const{t:n}=Uu(),r=o,a=e,i=Ve("profileConfig",Pe(null)),s=Fu(i)==="maplibre",l=Ve("mapboxToken",Pe("")),c=ie(()=>(typeof l=="string"?l:l==null?void 0:l.value)||""),u={brand:"#3b463d",muted:"#6d766e",inCountry:"#73A17F",prayerFull:"#92b195",prayerPartial:"#f0c64a",prayerNone:"#4e594f",outside:"#a59d92"},g=Pe(null),h=Pe(!1),C=ie(()=>{const S=new Set(a.countryCodes);return{type:"FeatureCollection",features:a.points.filter(x=>Number.isFinite(x.lng)&&Number.isFinite(x.lat)).map(x=>({type:"Feature",geometry:{type:"Point",coordinates:[x.lng,x.lat]},properties:{name:x.name||"",slug:x.slug||"",country:x.country||"",inCountry:S.has(x.code),committed:Number(x.committed)||0,region:x.region||"",code:x.code||"",population:Number(x.population)||0,rop1:x.rop1||"",religion:x.religion||"",description:x.description||"",imageUrl:x.imageUrl||""}}))}}),A={padding:40,maxZoom:6},{map:v,isMapReady:z,initializeMap:D,destroy:y}=Sb({containerRef:g,accessToken:c.value,style:"mapbox://styles/mapbox/light-v11",center:a.center||void 0,zoom:a.zoom,maxZoom:12,bounds:a.bounds||void 0,fitBoundsOptions:A,showEdgeBorders:!0}),b=fi({}),_=ie(()=>{const S=new Map;for(const j of a.points)!j||!j.code||!j.region||S.has(j.code)||S.set(j.code,j.region);if(!S.size)return b;const x=["match",["get","iso_3166_1_alpha_3"]];for(const[j,Y]of S)x.push(j,Do[Y]||b);return x.push(b),x});function w(){const S=["in",["get","iso_3166_1_alpha_3"],["literal",a.countryCodes]];return s?S:["all",S,["any",["==",["get","worldview"],"all"],["in","US",["get","worldview"]]]]}function L(){const S=["!",["get","inCountry"]],x=[">=",["get","committed"],Gu],j=[">",["get","committed"],0],Y=a.highlightRegion,X=["==",["get","region"],Y];return a.colorMode==="region"?{color:Aa(),sortKey:Y?["case",X,2,1]:1,opacity:Y?["case",X,1,.45]:1,strokeOpacity:Y?["case",X,1,.3]:1,radius:Y?["case",X,["interpolate",["linear"],["zoom"],2,4.5,6,8],["interpolate",["linear"],["zoom"],2,3,6,5.5]]:["interpolate",["linear"],["zoom"],2,4,6,7.5]}:{color:a.colorMode==="prayer"?["case",S,u.outside,x,u.prayerFull,j,u.prayerPartial,u.prayerNone]:["case",["get","inCountry"],u.inCountry,u.muted],sortKey:a.colorMode==="prayer"?["case",S,0,x,3,j,2,1]:["case",["get","inCountry"],1,0],opacity:["case",["get","inCountry"],1,.75],strokeOpacity:1,radius:["interpolate",["linear"],["zoom"],2,3,6,6.5]}}function N(){const S=v.value;if(!S)return;const{color:x,sortKey:j,opacity:Y,radius:X,strokeOpacity:Q}=L();if(!S.getSource(zo)){s?(S.addSource(zo,{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${Eb(i==null?void 0:i.value)}/boundaries/world-adm0-web.geojson`).then(ee=>ee.json()).then(ee=>{for(const f of ee.features||[])f.properties&&f.properties.iso3&&(f.properties.iso_3166_1_alpha_3=f.properties.iso3);const Ae=v.value&&v.value.getSource(zo);Ae&&Ae.setData(ee),W()}).catch(ee=>console.warn("[rcm] country boundaries failed to load",ee))):S.addSource(zo,{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const Z=s?{}:{"source-layer":"country_boundaries"};S.addLayer({id:"rcm-focus-fill",type:"fill",source:zo,...Z,filter:w(),paint:{"fill-color":a.colorMode==="region"?_.value:u.brand,"fill-opacity":a.colorMode==="region"?Vu:.12}}),S.addLayer({id:"rcm-focus-outline",type:"line",source:zo,...Z,filter:w(),paint:{"line-color":u.brand,"line-width":2}})}S.getSource(Ea)||(S.addSource(Ea,{type:"geojson",data:C.value}),S.addLayer({id:"rcm-pins",type:"circle",source:Ea,layout:{"circle-sort-key":j},paint:{"circle-radius":X,"circle-color":x,"circle-opacity":Y,"circle-stroke-width":1,"circle-stroke-color":"#ffffff","circle-stroke-opacity":Q}}),S.on("click","rcm-pins",M),S.on("mouseenter","rcm-pins",()=>{S.getCanvas().style.cursor="pointer"}),S.on("mouseleave","rcm-pins",()=>{S.getCanvas().style.cursor=""}))}let k=null;function M(S){const x=S.features&&S.features[0];if(!x)return;if(a.selectOnPinClick){const Q=x.properties||{};r("pick-country",{code:Q.code||"",region:Q.region||"",name:Q.name||""});return}const j=Mu(v.value);if(!j)return;const Y=x.properties||{},X=te(Y);k&&k.remove(),k=new j.Popup({closeButton:!0,maxWidth:"264px",offset:ju}).setLngLat(x.geometry.coordinates).setHTML(X).addTo(v.value),requestAnimationFrame(()=>pe(x.geometry.coordinates))}function J({containerH:S,popupH:x,pinY:j,offset:Y=ju}){if(!(S>0)||!(x>0)||!Number.isFinite(j))return 0;const X=x+Y;if(j>=X||S-j>=X||X>S)return 0;const Q=X-j,Z=X-(S-j);return Q<=Z?Q:-Z}function pe(S){var Z;const x=v.value;if(!x||!k)return;let j=0,Y=0,X=NaN;try{const ee=k.getElement();j=ee?ee.getBoundingClientRect().height:0,Y=((Z=x.getContainer())==null?void 0:Z.clientHeight)||0,X=x.project(S).y}catch{return}const Q=J({containerH:Y,popupH:j,pinY:X});if(Q)try{x.panBy([0,-Q],{duration:200})}catch{}}function O(S){return String(S??"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function te(S){const x=O(S.name||""),j=[S.country,S.rop1].filter(Boolean).map(O).join(" · "),Y=Number(S.population)>0?Number(S.population).toLocaleString("en-US"):"",X=Bu(a.researchUrl,S.slug||""),Q=`${Bu(a.prayBaseUrl,S.slug||"")}?source=doxalife`,Z=[];return Y&&Z.push(`
${O(n("Population"))}
${Y}
`),S.religion&&Z.push(`
${O(n("Religion"))}
${O(S.religion)}
`),Z.push(`
${O(n("Intercessors"))}
${Number(S.committed)||0}/${Gu}
`),`
- ${S.imageUrl?`${x}`:""} +`,"pin-hint"),(V,W)=>c.value?Gd((xe(),it("div",{key:0,ref_key:"hintEl",ref:y,class:$o(["pin-hint",{dark:s.value}]),role:"status"},[Se("span",oh,[W[0]||(W[0]=Se("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),et(" "+ot(l.value)+" ",1),Se("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:H},"×",8,nh)])],2)),[[tg,u.value&&h.value]]):qt("",!0)}},rh=".lsn-bar[data-v-9a589f6f]{display:flex;align-items:flex-start;gap:8px;flex:none;margin:0;padding-block:8px;padding-inline:12px 8px;background:#fff8e1;border-block-end:1px solid #f0d68a;color:#4a3b00;font:400 13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.lsn-bar__text[data-v-9a589f6f]{flex:1 1 auto;margin:0}.lsn-bar__x[data-v-9a589f6f]{flex:none;min-width:24px;min-height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:600 18px/1 system-ui,sans-serif;cursor:pointer}.lsn-bar__x[data-v-9a589f6f]:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}.lsn-block[data-v-9a589f6f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;min-height:200px;padding:24px;background:#f7f7f5;color:#333;text-align:center;font:400 15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.lsn-block__text[data-v-9a589f6f]{max-width:28em;margin:0}",zc=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},ih={key:0,class:"lsn-block",role:"status"},sh={class:"lsn-block__text"},lh={key:0},ch={key:1,class:"lsn-bar",role:"note"},uh={class:"lsn-bar__text"},dh=["aria-label","title"],Wc=zc({__name:"LargerScreenNotice",props:{mode:{type:String,required:!0},label:{type:String,default:""},locale:{type:String,default:""}},emits:["dismiss"],setup(e){const t=e,o=(i,s)=>xo(i,t.locale||void 0)||s,n=re(()=>o("messages.largerScreenNotice","This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.")),r=re(()=>o("messages.noticeDismiss","Dismiss")),a=re(()=>o("messages.desktopOnlyNotice","{label} only supports desktop — open this page on a desktop to use it.").split("{label}"));return(i,s)=>e.mode==="desktop-only"?(xe(),it("div",ih,[Se("p",sh,[et(ot(a.value[0]),1),a.value.length>1?(xe(),it("bdi",lh,ot(e.label),1)):qt("",!0),et(ot(a.value[1]||""),1)])])):(xe(),it("div",ch,[Se("p",uh,ot(n.value),1),Se("button",{type:"button",class:"lsn-bar__x","aria-label":r.value,title:r.value,onClick:s[0]||(s[0]=l=>i.$emit("dismiss"))},"×",8,dh)]))}},[["styles",[rh]],["__scopeId","data-v-9a589f6f"]]),ph="(max-width: 639.98px)";function gh(e){for(let t=e;t;t=t.parentNode||t.host)if(t.nodeType===1&&t.hasAttribute("data-doxa-gallery"))return!0;return!1}function fh(e){var l;const t=re(()=>{var u;const c=(u=e.value)==null?void 0:u.mobile;return c==="desktop-only"||c==="larger-screens"?c:null});let o=null;try{o=vg()}catch{o=null}const n=o?gh(o):!1,r=Pe(!1);if(typeof window<"u"&&typeof window.matchMedia=="function"){const c=window.matchMedia(ph);r.value=c.matches;const u=f=>{r.value=f.matches};(l=c.addEventListener)==null||l.call(c,"change",u),tn(()=>{var f;return(f=c.removeEventListener)==null?void 0:f.call(c,"change",u)})}const a=re(()=>{var c;return`dx-maps:larger-screens-dismissed:${((c=e.value)==null?void 0:c.profile)||""}`}),i=Pe(!1);Ye(a,c=>{try{i.value=sessionStorage.getItem(c)==="1"}catch{i.value=!1}},{immediate:!0});function s(){i.value=!0;try{sessionStorage.setItem(a.value,"1")}catch{}}return{flag:t,blocked:re(()=>t.value==="desktop-only"&&r.value&&!n),advise:re(()=>t.value==="larger-screens"&&r.value&&!n&&!i.value),dismiss:s,label:re(()=>{var c,u;return String(((c=e.value)==null?void 0:c.mobileLabel)||((u=e.value)==null?void 0:u.profile)||"")})}}let mh=0;const hh=hr("ui",{state:()=>({_storeInstanceId:++mh,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){const t=e&&!this.selectedPeopleGroup;this.selectedPeopleGroup=e,e?(t&&(this._legendStateBeforeDetail=this.legendState),this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this._legendStateBeforeDetail&&(this.legendState=this._legendStateBeforeDetail),this._legendStateBeforeDetail=null,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:r=null,persistent:a=!1}=e,i={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:a,createdAt:Date.now()};return this.toasts.push(i),!a&&n>0&&setTimeout(()=>{this.removeToast(i.id)},n),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(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)}))}}}),bh=hr("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let r=[0,0];if(o.center)r=o.center;else if(t&&typeof t.getCenter=="function"){const a=t.getCenter();a&&(r=[a.lng,a.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),_h=hr("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}}}),$h={activeSource:"pray-tools"},yh=".profile-loader[data-locale-pending][data-v-b5256f00] .stl-tabs,.profile-loader[data-locale-pending][data-v-b5256f00] .stl-title,.profile-loader[data-locale-pending][data-v-b5256f00] .stl-rows,.profile-loader[data-locale-pending][data-v-b5256f00] .legend-title,.profile-loader[data-locale-pending][data-v-b5256f00] .legend-content,.profile-loader[data-locale-pending][data-v-b5256f00] .legend-reopen-label,.profile-loader[data-locale-pending][data-v-b5256f00] .lt-btn-text,.profile-loader[data-locale-pending][data-v-b5256f00] .rd-topbar,.profile-loader[data-locale-pending][data-v-b5256f00] .rd-exportbar{visibility:hidden}.profile-loader[data-v-b5256f00]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-loader.has-screen-notice[data-v-b5256f00]{display:flex;flex-direction:column}.profile-loader.has-screen-notice[data-v-b5256f00]>:not(.lsn-bar){flex:1 1 auto;min-height:0;position:relative!important;inset:auto!important}.profile-error[data-v-b5256f00]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",vh=["dir","data-locale-pending"],Ch={key:0,class:"profile-error"},Th={key:1,class:"profile-error"},Ph=zc({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var de;const o=e,n=Ve("profileConfig",null),r=re(()=>{var J;if(!o.profileConfig)return null;let H;try{H=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(H&&H.assetsBase===void 0){const he=(J=n==null?void 0:n.value)==null?void 0:J.assetsBase;typeof he=="string"&&he&&(H.assetsBase=he)}return H}),a=re(()=>{var H;return((H=r.value)==null?void 0:H.profile)||null}),i=Ng(),s=re(()=>{var J;const H=(J=r.value)==null?void 0:J.tk;return typeof H=="string"&&H?H:i.value||""});Ye(()=>{var H;return(H=r.value)==null?void 0:H.tk},H=>{typeof H=="string"&&H&&$r(H)},{immediate:!0}),Ye(()=>{var H;return(H=r.value)==null?void 0:H.tokenUrl},H=>{var J;H&&!((J=r.value)!=null&&J.tk)&&!i.value&&Mg(H)},{immediate:!0});const l=re(()=>{var H;return((H=r.value)==null?void 0:H.dataSource)||$h.activeSource}),c=re(()=>{var H;return((H=r.value)==null?void 0:H.colorSet)||"default"}),u=re(()=>!1),f=re(()=>{var H;return((H=r.value)==null?void 0:H.pinHint)!==!1}),h=re(()=>{var J,he;const H=(((J=r.value)==null?void 0:J.locale)||((he=r.value)==null?void 0:he.lang)||Fc()||"").split("-")[0].toLowerCase();return _n.includes(H)?H:""}),C=Ve("appI18n",null);as(()=>{h.value&&(C&&(C.global.locale.value=h.value),Mc(h.value),zr(C,h.value).catch(()=>{}))});const A=re(()=>{var H,J;return h.value||((J=(H=C==null?void 0:C.global)==null?void 0:H.locale)==null?void 0:J.value)||"en"}),v=re(()=>$a.has(A.value)?"rtl":"ltr"),{blocked:z,advise:x,dismiss:y,label:_}=fh(r),$=Pe(!1);as(H=>{const J=A.value;if(!$a.has(J)){$.value=!1;return}let he=!0;H(()=>{he=!1}),$.value=!0,Gm(J).finally(()=>{he&&($.value=!1)})});const w=re(()=>{var H;return((H=r.value)==null?void 0:H.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),L=Ve("profileModules",null);if(!L)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const N=re(()=>{if(!a.value)return null;const H=`./${a.value}.vue`;return L[H]?Qm(L[H]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(L)),null)});Tt("mapboxToken",s),Tt("dataSource",l),Tt("colorSet",c),Tt("profileConfig",r),Tt("instanceId",w),Tt("lang",A);const O=hh(),M=bh(),Q=_h();try{const H=typeof localStorage<"u"?localStorage.getItem("theme"):null;H&&((de=O.setTheme)==null||de.call(O,H))}catch{}return Tt("uiStore",O),Tt("mapStore",M),Tt("dataStore",Q),(H,J)=>(xe(),it("div",{class:$o(["profile-loader",{"has-screen-notice":je(x)}]),dir:v.value,"data-locale-pending":$.value?"":null},[r.value?N.value?je(z)?(xe(),So(Wc,{key:2,mode:"desktop-only",label:je(_),locale:A.value},null,8,["label","locale"])):(xe(),it(at,{key:3},[je(x)?(xe(),So(Wc,{key:0,mode:"larger-screens",locale:A.value,onDismiss:je(y)},null,8,["locale","onDismiss"])):qt("",!0),(xe(),So(gs(N.value)))],64)):(xe(),it("div",Th,[Se("p",null,[J[1]||(J[1]=et("⚠️ Profile ",-1)),Se("strong",null,'"'+ot(a.value)+'"',1),J[2]||(J[2]=et(" not found.",-1))])])):(xe(),it("div",Ch,[...J[0]||(J[0]=[Se("p",null,[et("⚠️ "),Se("strong",null,"doxa-map"),et(": missing or invalid "),Se("code",null,"profile-config"),et(" prop.")],-1),Se("p",null,[et("Example: "),Se("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),N.value&&u.value?(xe(),So(gs(je(null)),{key:4})):qt("",!0),N.value&&f.value?(xe(),So(ah,{key:5})):qt("",!0)],10,vh))}},[["styles",[yh]],["__scopeId","data-v-b5256f00"]]);function Uc(e,t,o){var r;const n=(r=e==null?void 0:e._context)==null?void 0:r.provides;if(n&&t in n){n[t]=o;return}e.provide(t,o)}function wh(e,t){var r;const o=(r=e==null?void 0:e._context)==null?void 0:r.provides,n=o?Object.getPrototypeOf(o):null;n&&Object.setPrototypeOf(o,null);try{return t()}finally{n&&Object.setPrototypeOf(o,n)}}function Sh({profileModules:e={},configureApp:t=null}={}){return $g(Ph,{configureApp(o){const n=Sg();wh(o,()=>o.use(n));const r=Vm();o.use(r),Uc(o,"appI18n",r),Uc(o,"profileModules",e),t&&t(o,{pinia:n,i18n:r})}})}const Bc="adoptionStatus",Wt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Lh=Wt,Wr={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Ah=Wr;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Wt.hasAdoption:Wt.notAdopted}function Ur({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Wt.hasAdoption,["==",t,1],Wt.hasAdoption,Wt.notAdopted]}const Vc=Ur,Eh=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Lh,ADOPTION_LABELS:Ah,LABELS:Wr,PALETTE:Wt,PROPERTY_KEY:Bc,applyColor:Ur,buildColorExpression:Vc,default:{name:"Adoption Progress",propertyKey:Bc,palette:Wt,colors:Wt,labels:Wr,getColor:Gc,applyColor:Ur,buildColorExpression:Vc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Br="affinityBlock",Io="#95a5a6",Ut={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ca={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},oo=Ca,jc=Object.entries(Ut).reduce((e,[t,o])=>(e[o]=t,e),{}),Gr=Object.entries(Ut).reduce((e,[t,o])=>(e[o]=oo[t],e),{}),Kc=Ut;function Vr(e){return Ut[e]||"Unknown"}function jr(e){return oo[e]||Io}function Yc(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?oo[e]||Io:Gr[e]||Io:Io}function qc(){return Object.entries(Ut).map(([e,t])=>({code:e,name:t,color:oo[e]}))}function Xc(e){return{code:e,name:Ut[e]||"Unknown",color:oo[e]||Io}}function Jc(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return jr(t)}function Zc(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Vr(t)}function Kr(){const e=["match",["get",Br]];return Object.entries(oo).forEach(([t,o])=>{e.push(t,o)}),e.push(Io),e}const Qc=Kr,Rh=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:oo,AFFINITY_BLOCK_COLORS_BY_NAME:Gr,AFFINITY_BLOCK_NAMES:Ut,AFFINITY_BLOCK_NAME_TO_CODE:jc,NAMES:Kc,PALETTE:Ca,PROPERTY_KEY:Br,affinityBlockCodeLookup:Ut,affinityBlockCodeToColor:oo,affinityBlockCodeToName:Ut,affinityBlockColors:Gr,affinityBlockNameToCode:jc,applyColor:Kr,buildColorExpression:Qc,default:{name:"Affinity Block",propertyKey:Br,palette:Ca,colors:Ca,names:Kc,getColor:Jc,applyColor:Kr,buildColorExpression:Qc,getName:Zc,getAffinityBlockName:Vr,getAffinityBlockColor:Yc,getAffinityBlockColorByCode:jr,getAffinityBlocksArray:qc,getAffinityBlockData:Xc},getAffinityBlockColor:Yc,getAffinityBlockColorByCode:jr,getAffinityBlockData:Xc,getAffinityBlockName:Vr,getAffinityBlocksArray:qc,getColor:Jc,getName:Zc},Symbol.toStringTag,{value:"Module"}));function Fh(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(qr),e}const nu=Zr,Mh=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:Nh,PALETTE:Ta,PROPERTY_KEY:Yr,REGION_COLOR_ALIASES:Jr,SLUG_PALETTE:Pa,applyColor:Zr,buildColorExpression:nu,default:{name:"DOXA Region",propertyKey:Yr,palette:Ta,colors:Ta,slugColors:Pa,aliases:Jr,fallback:qr,getColor:ou,applyColor:Zr,buildColorExpression:nu,getRegionColor:tu,getRegionColorBySlug:Xr},getColor:ou,getRegionColor:tu,getRegionColorBySlug:Xr},Symbol.toStringTag,{value:"Module"})),au="engagementStatus",Bt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Oh=Bt,Qr={notEngaged:"Unengaged",hasEngagement:"Engaged"},kh=Qr;function ru(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Bt.hasEngagement:Bt.notEngaged}function ei({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Bt.hasEngagement,["==",t,1],Bt.hasEngagement,Bt.notEngaged]}const iu=ei,xh=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Oh,ENGAGEMENT_LABELS:kh,LABELS:Qr,PALETTE:Bt,PROPERTY_KEY:au,applyColor:ei,buildColorExpression:iu,default:{name:"Engagement Progress",propertyKey:au,palette:Bt,colors:Bt,labels:Qr,getColor:ru,applyColor:ei,buildColorExpression:iu},getColor:ru},Symbol.toStringTag,{value:"Module"})),ti="languageFamily",Ih="#000000",no={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Dh=no;function oi(e){return no[e]||Ih}const Hh=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(no))t[e(o)]=o;return t})(),zh={"tai-kadai":"Kra-Dai",none:"Unknown"};function su(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return zh[o]||Hh[o]||t}function lu(e){var t;return oi(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function ni(){const e=["match",["get",ti]];return Object.entries(no).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const cu=ni,Wh=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Dh,PALETTE:no,PROPERTY_KEY:ti,applyColor:ni,buildColorExpression:cu,canonicalFamilyName:su,default:{name:"Language Family",propertyKey:ti,palette:no,colors:no,getColor:lu,applyColor:ni,buildColorExpression:cu,getLanguageFamilyColor:oi,canonicalFamilyName:su},defaultFamilyColor:"#95a5a6",getColor:lu,getLanguageFamilyColor:oi,languageFamilyColors:no},Symbol.toStringTag,{value:"Module"})),uu="peoplePraying",wa=144,ao={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Uh=ao,ai={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Bh=ai;function Sa(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=wa?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function ri(e){return ao[Sa(e)]}function du(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function pu(e){return Sa(e)==="fullPrayer"}function gu(e){return ri(e)}function ii({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,wa],ao.fullPrayer,[">",t,0],ao.hasPrayer,ao.noPrayer]}const fu=ii,Gh=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:wa,LABELS:ai,PALETTE:ao,PRAYER_COLORS:Uh,PRAYER_LABELS:Bh,PROPERTY_KEY:uu,applyColor:ii,buildColorExpression:fu,checkHasFullPrayer:pu,checkHasPrayer:du,default:{name:"Prayer Progress",propertyKey:uu,palette:ao,colors:ao,labels:ai,threshold:wa,getColor:gu,applyColor:ii,buildColorExpression:fu,getPrayerLevel:Sa,getPrayerColor:ri,checkHasPrayer:du,checkHasFullPrayer:pu},getColor:gu,getPrayerColor:ri,getPrayerLevel:Sa},Symbol.toStringTag,{value:"Module"})),mu="religion",si="#94a3b8",La={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},pt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function hu(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return La[t]?t:"U"}function bu(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return pt[hu(t)]||si}function li(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",pt.C,"M",pt.M,"H",pt.H,"B",pt.B,"E",pt.E,"J",pt.J,"S",pt.S,"N",pt.N,"O",pt.O,si]}const _u=li,Vh={name:"Religion",propertyKey:mu,palette:pt,families:La,getColor:bu,applyColor:li,buildColorExpression:_u,fallback:si};function jh(e){const t=String(e||""),o=La[t]||t;return o?xo("religion.family."+o)||o:""}const Kh=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:pt,PROPERTY_KEY:mu,RELIGION_FAMILIES:La,applyColor:li,buildColorExpression:_u,default:Vh,getColor:bu,getReligionFamily:hu,religionFamilyLabel:jh},Symbol.toStringTag,{value:"Module"})),$u="resourceType",ro={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},Yh=ro,$n=["bible","jesusFilm","radio","gospel","audio","stories"],ci={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},qh=ci;function yn(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function yu(e){var t;for(const o of $n)if((e[o]||((t=e._raw)==null?void 0:t[yn(o)]))==="Available")return ro.hasResources;return ro.noResources}function vu(e){var t;for(const o of $n)if((e[o]||((t=e._raw)==null?void 0:t[yn(o)]))==="Available")return!0;return!1}function Cu(e){var t;for(const o of $n)if((e[o]||((t=e._raw)==null?void 0:t[yn(o)]))==="Available")return o;return"noResources"}function ui(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],ro.hasResources,ro.noResources]}const Tu=ui,Xh=Object.freeze(Object.defineProperty({__proto__:null,NAMES:ci,PALETTE:ro,PROPERTY_KEY:$u,RESOURCE_COLORS:Yh,RESOURCE_NAMES:qh,RESOURCE_PRIORITY:$n,applyColor:ui,buildColorExpression:Tu,default:{name:"Gospel Resources",propertyKey:$u,palette:ro,colors:ro,names:ci,priority:$n,getColor:yu,applyColor:ui,buildColorExpression:Tu,hasAnyResource:vu,getResourceType:Cu,getCSVColumn:yn},getCSVColumn:yn,getColor:yu,getResourceType:Cu,hasAnyResource:vu},Symbol.toStringTag,{value:"Module"})),Pu="region",di="#6d766e",wu={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},Do={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},pi=Object.keys(Do);function gi(e){var o,n,r;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.wagf_region);return Do[t]||di}function Aa(){const e=["match",["coalesce",["get","region"],""]];for(const t of pi)e.push(t,Do[t]);return e.push(di),e}const Su=Aa,Jh=Object.assign({"./adoption.js":Eh,"./affinity-block.js":Rh,"./doxa-region.js":Mh,"./engagement.js":xh,"./language-family.js":Wh,"./prayer-progress.js":Gh,"./religion.js":Kh,"./resource.js":Xh,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Do,PROPERTY_KEY:Pu,REGION_ORDER:pi,WAGF_REGIONS:wu,applyColor:Aa,buildColorExpression:Su,default:{name:"WAGF Region",propertyKey:Pu,palette:Do,regions:wu,order:pi,getColor:gi,applyColor:Aa,buildColorExpression:Su,fallback:di},getColor:gi},Symbol.toStringTag,{value:"Module"}))}),Zh=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Qh=e=>e.replace(/-/g,"_").toUpperCase(),eb={...{STATUS:"status",CUSTOM:"custom"}};function Lu(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith(".")||!e[t].default)continue;const r=Zh(o);eb[Qh(o)]=r}}Lu(Jh);function tb(e){e&&Lu(e)}const ob=Object.assign({"./country-map.vue":()=>qu(()=>Promise.resolve().then(()=>zb),void 0)});tb(Object.assign({}));const nb=Sh({profileModules:ob,configureApp:()=>{}});typeof customElements<"u"&&!customElements.get("doxa-country-map")&&customElements.define("doxa-country-map",nb);const ab="rgba(120, 128, 134, 0.28)",Au="36px",Eu=()=>{};function rb(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Eu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Eu;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${ab} ${Au}, transparent ${Au})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const a=y=>{y.style.opacity="1"},i=y=>{y.style.opacity="0"},s=()=>n.find(y=>!r(y))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const y of n)l.has(y)||i(y)},h=()=>{const y=s();y&&(a(y),u&&clearTimeout(u),u=setTimeout(f,250))},C=()=>h(),A=y=>{if(!(y.touches&&y.touches.length===1))return;const _=y.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||h()},v=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",C,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const z=()=>{c||h()};typeof window<"u"&&window.addEventListener("scroll",z,{passive:!0});const x=[];for(const y of n){const _=()=>{l.add(y),a(y)},$=()=>{l.delete(y),i(y)},w=()=>{c=!0,a(y)},L=()=>{c=!1,i(y)};y.addEventListener("mouseenter",_),y.addEventListener("mouseleave",$),y.addEventListener("touchstart",w,{passive:!0}),y.addEventListener("touchend",L,{passive:!0}),x.push(()=>{y.removeEventListener("mouseenter",_),y.removeEventListener("mouseleave",$),y.removeEventListener("touchstart",w),y.removeEventListener("touchend",L)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",C),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",z);for(const _ of x)_();for(const _ of n)i(_)}}const ib=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 sb(e,t="mapbox"){const o=ib[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function lb(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const cb=["mapbox","maplibre"],ub="auto";function Ru(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Fu(e,{token:t}={}){const o=Ru(e);return Nu(o)||"maplibre"}function Nu(e){const t=Ru(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,r=typeof window<"u"?window.MAP_PROVIDER:void 0,a=String(o||n||r||ub).toLowerCase().trim();return cb.includes(a)?a:""}function Mu(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;return t&&t.Map&&e instanceof t.Map?t:o&&o.Map&&e instanceof o.Map?o:o||t}function db(e){try{const t=e&&typeof e.getProjection=="function"?e.getProjection():null;return t&&(t.name||t.type)||null}catch{return null}}function Ou(e,t){if(!e||!t||typeof e.setProjection!="function")return!1;const o=typeof window<"u"?window.maplibregl:null,n=!!(o&&o.Map&&e instanceof o.Map);try{return e.setProjection(n?{type:t}:t),!0}catch{return!1}}const vn={mapboxGlJs:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",integrity:"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ"},mapboxGlCss:{url:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css",integrity:"sha384-rp1X/jJ9MpWPef9OimfXhOaOc4Gzs87yQvF+ajwY6X2H4PTeHNycNlLWiWvj7ehV"},maplibreGlJs:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.js",integrity:"sha384-5+cfbwT0iiub6VsQAdn6yz16nr6sDiQoHx6tm4O8OVYXHYOxcffFmCJBL0dgdvGp"},maplibreGlCss:{url:"https://cdn.jsdelivr.net/npm/maplibre-gl@5.24.0/dist/maplibre-gl.css",integrity:"sha384-uTttxo/aOKbdE5RlD/SPzSDoDmNvGlUYPjONi2MN/b7c9HPSvW07OIuyP7uL6jxK"},mapboxGeocoderJs:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",integrity:"sha384-Lx9WK8XhZk57czwxt6B6nyaDHB5Ayrcrsu4Fw4bCp/Ot/QLOsUZ0xYqLOpOOSXZw"},mapboxGeocoderCss:{url:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",integrity:"sha384-1KNhwJNCQTr0DCi/5/OnQcFytgycxTahxNZaqKbAtqmY8bUhu26qxXqvDGXXwplS"},maplibreGeocoderJs:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.min.js",integrity:"sha384-RGV5vfoJd7alk8HE+71IyVfu19ciH1FKA15+AuXs6OeBM2npXrmTPFqG23yMiHXi"},maplibreGeocoderCss:{url:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1.9.4/dist/maplibre-gl-geocoder.css",integrity:"sha384-UkDpPApjTpHJHpcJiSNAmbobh30W0/dmt0DoKm4V8CWYRYvQ/Jhd/ijFz0tFdVnH"},d3:{url:"https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js",integrity:"sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i"}};function fi(e,t){const o=Object.values(vn).find(n=>n.url===t);return o&&(e.integrity=o.integrity,e.crossOrigin="anonymous"),e}const ku={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function pb(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function gb(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(pb(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const r=n.setRTLTextPlugin(ku.maplibre,!0);r&&r.catch&&r.catch(()=>{})}else n.setRTLTextPlugin(ku.mapbox,null,!0);o=!0}catch{}return o}const fb=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,xu=new WeakMap;function mb(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Iu(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!mb(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let r=xu.get(e);r||(r=new Map,xu.set(e,r));let a=0;for(const i of n.layers){if(i.type!=="symbol"||!i.layout||i.layout["text-field"]==null)continue;const s=i.layout["text-field"],l=JSON.stringify(s);if(l.startsWith('["coalesce",["get","name:')){if(!r.has(i.id))continue}else{if(!fb.test(l))continue;r.set(i.id,s)}const c=["coalesce",["get","name:"+o],["get","name_"+o],["get","name:latin"],["get","name_en"],["get","name"]];e.setLayoutProperty(i.id,"text-field",c),a++}return a}catch{return 0}}const Ho={mapbox:{global:"mapboxgl",js:vn.mapboxGlJs.url,css:vn.mapboxGlCss.url},maplibre:{global:"maplibregl",js:vn.maplibreGlJs.url,css:vn.maplibreGlCss.url}},hb={"Map.Title":"map","Marker.Title":"marker","Popup.Close":"closePopup","NavigationControl.ZoomIn":"zoomIn","NavigationControl.ZoomOut":"zoomOut","NavigationControl.ResetBearing":"resetBearing","AttributionControl.ToggleAttribution":"toggleAttribution","AttributionControl.MapFeedback":"mapFeedback","FullscreenControl.Enter":"enterFullscreen","FullscreenControl.Exit":"exitFullscreen","GeolocateControl.FindMyLocation":"findMyLocation","GeolocateControl.LocationNotAvailable":"locationNotAvailable","GlobeControl.Enable":"enableGlobe","GlobeControl.Disable":"disableGlobe","CooperativeGesturesHandler.WindowsHelpText":"ctrlScroll","CooperativeGesturesHandler.MacHelpText":"cmdScroll","CooperativeGesturesHandler.MobileHelpText":"twoFingers","ScrollZoomBlocker.CtrlMessage":"ctrlScroll","ScrollZoomBlocker.CmdMessage":"cmdScroll","TouchPanBlocker.Message":"twoFingers"};function Du(e,t){const o={};for(const[r,a]of Object.entries(hb)){const i=xo(`mapui.${a}`,e);i&&(o[r]=i)}const n=xo(t==="maplibre"?"mapui.maplibreLogo":"mapui.mapboxHomepage",e);return n&&(o["LogoControl.Title"]=n),o}function Hu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const bb=Ho.mapbox.css,_b="https://tiles.openfreemap.org/styles/liberty",$b="https://tiles.openfreemap.org/styles/fiord";function mi(e){var o;const t=((o=Ho[e])==null?void 0:o.global)||Ho.mapbox.global;return typeof window<"u"?window[t]:void 0}async function zu(e){const t=Ho[e]||Ho.mapbox;if(mi(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,fi(n,t.css),document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(mi(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const a=document.createElement("script");a.src=t.js,fi(a,t.js),a.async=!1,a.addEventListener("load",n,{once:!0}),a.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(a)})}async function yb(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=i=>new Promise(s=>setTimeout(s,i)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(i=>{r.addEventListener("load",i,{once:!0}),r.addEventListener("error",i,{once:!0})}),n(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=t,fi(a,t),await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0}),o.prepend(a)}),n(2e3)])}function vb(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?$b:_b}const Cb=85.0511,hi=-2,Tb=0,Pb=-60;function Wu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function wb(e,t,o,n){if(!e||e<=0||!t||t<=0)return Tb;const r=Math.log2(e/512),a=Wu(n)-Wu(Cb),i=Math.log2(t/(512*a)),s=Math.max(r,i);return Math.max(hi,Math.min(s,(o??18)-1))}function Sb({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r=void 0,center:a=[20,10],zoom:i=2,bounds:s=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:f=18,pitch:h=0,bearing:C=0,renderWorldCopies:A=!0,showEdgeBorders:v=!0,southCutoff:z=Pb,maxBounds:x=void 0}){const y=zn(null),_=Pe(!1);let $=null,w=null,L=null,N=null;try{N=Ve("profileConfig",null)}catch{}const O=!r&&!Nu(N);r=r||Fu(N,{token:t});let M=r==="maplibre";typeof document<"u"&&zu(r).catch(()=>{});let Q=null;try{Q=Ve("lang",null)}catch{}const de=()=>{const he=Q&&typeof Q=="object"&&"value"in Q?Q.value:Q;if(typeof he=="string"&&he)return he;const ge=N&&typeof N=="object"&&"value"in N?N.value:N;if(ge&&(ge.locale||ge.lang))return String(ge.locale||ge.lang);try{const se=new URLSearchParams(location.search);return se.get("lang")||se.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function H(){var ee;if(O&&!M&&!t&&typeof window<"u"&&window.__doxaMapTokenPending){if(await window.__doxaMapTokenPending,!e.value)return;typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN||(r="maplibre",M=!0)}const he=sb(o,r),ge=he.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const se=()=>!e.value;if(await zu(r),se())return;const V=mi(r);if(!V){console.error(`[useMapInstance] ${M?"maplibregl":"mapboxgl"} is not available. Add the ${M?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(gb(V),!M){if(!t&&typeof window<"u"&&window.__doxaMapTokenPending&&(await window.__doxaMapTokenPending,se()))return;if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){typeof window<"u"&&!window.__doxaNoTokenWarned&&(window.__doxaNoTokenWarned=!0,console.warn('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.'));return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await yb(e.value,M?Ho.maplibre.css:bb),se()||(await new Promise(j=>requestAnimationFrame(j)),se()))return;const W=e.value,te=W.clientWidth,pe=W.clientHeight;if(te===0||pe===0){console.error(`[useMapInstance] Container has ZERO dimensions (${te}×${pe}). Map will be invisible. Check that parent elements have CSS sizing.`);let j=W.parentElement,Z=0;for(;j&&Z<5;)j=j.parentElement,Z++}const ce=t;M||(V.accessToken=ce);const _e=()=>typeof window<"u"&&window.innerWidth>=1024,Re=(j,Z)=>{if(u)return typeof c=="number"?c:hi;if(!_e())return hi;const fe=wb(j,Z,f,z);return typeof c=="number"?Math.max(c,fe):fe},S=Re(W.clientWidth,W.clientHeight),D=he.lightPreset||(()=>{var j;try{const Z=typeof n=="function"?n():n;return(j=Z==null?void 0:Z.basemap)==null?void 0:j.lightPreset}catch{return}})();if(M){y.value=new V.Map({container:e.value,style:vb(ge,D),locale:Du(de(),"maplibre"),center:a,zoom:i,minZoom:S,maxZoom:f,pitch:h,bearing:C,dragRotate:!1,renderWorldCopies:A,...s?{bounds:s,...l?{fitBoundsOptions:l}:{}}:{},...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const j=typeof n=="function"?n():n;y.value=new V.Map({accessToken:ce,container:e.value,style:ge,locale:Du(de(),"mapbox"),...j?{config:j}:{},center:a,zoom:i,minZoom:S,maxZoom:f,pitch:h,bearing:C,dragRotate:!1,touchPitch:!1,renderWorldCopies:A,...s?{bounds:s,...l?{fitBoundsOptions:l}:{}}:{},...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let j=!1;y.value.on("error",Z=>{var b,m;const fe=((b=Z==null?void 0:Z.error)==null?void 0:b.status)??(Z==null?void 0:Z.status),g=String(((m=Z==null?void 0:Z.error)==null?void 0:m.url)||(Z==null?void 0:Z.sourceId)||"");fe!==401&&fe!==403||j||(j=!0,console.error(`[doxa-maps] Mapbox returned ${fe} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(g?` First failing request: ${g.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}L=rb(((ee=e.value)==null?void 0:ee.parentElement)||null,{enabled:v});let U=S,q=null;$=()=>{const j=y.value;if(!j)return;const Z=Re(W.clientWidth,W.clientHeight);Z!==U&&(U=Z,j.setMinZoom(Z)),j.getZoom(){q=null;const fe=y.value;if(!fe)return;const g=Re(W.clientWidth,W.clientHeight);if(fe.getZoom(){q&&(clearTimeout(q),q=null)},y.value.on("resize",$),typeof window<"u"&&(window.addEventListener("resize",$),window.addEventListener("orientationchange",$)),y.value.on("style.load",()=>{if(y.value&&Iu(y.value,de()),he.paint&&y.value){const j=lb(y.value,he.paint);console.info("[useMapInstance] style paint applied ("+r+"):",j.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var j;(j=y.value)==null||j.resize(),y.value&&y.value.setMinZoom(Re(W.clientWidth,W.clientHeight)),_.value=!0})})}function J(){if(y.value){if($&&(y.value.off("resize",$),typeof window<"u"&&(window.removeEventListener("resize",$),window.removeEventListener("orientationchange",$)),$=null),w){try{w()}catch{}w=null}L&&(L(),L=null);try{const ge=typeof window<"u"?window:null;ge&&ge.__doxaLogoOwner===y.value&&(ge.__doxaLogoOwner=null)}catch{}const he=y.value;y.value.remove();try{e&&e.value&&e.value.__doxaMap===he&&(e.value.__doxaMap=null)}catch{}y.value=null,_.value=!1}}if(Q&&typeof Q=="object"&&"value"in Q)try{Ye(Q,()=>{y.value&&_.value&&Iu(y.value,de())})}catch{}return{map:y,isMapReady:_,initializeMap:H,destroy:J}}const Lb=Ra&&Ra.tagName.toUpperCase()==="SCRIPT"&&Ra.src||new URL("country-map.js",document.baseURI).href,Cn=e=>String(e||"").trim().replace(/\/+$/,"");function Ab(){try{const t=String(Lb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Eb(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Cn(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Cn((e==null?void 0:e.treeBase)||"")||Cn(Ab()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Cn(new URL(o+"/assets",n).href)}catch{return Cn(o+"/assets")}return"./assets"}function Uu(){const{tm:e,rt:t,locale:o,t:n}=ko(),r=c=>{try{return Number(c||0).toLocaleString(`${o.value||"en"}-u-nu-latn`)}catch{return String(c)}},a=re(()=>{try{return e("regions")||{}}catch{return{}}});function i(c){var f;const u=(f=a.value)==null?void 0:f[c];if(u==null)return c;try{return t(u)}catch{return typeof u=="string"?u:c}}function s(c,u={}){let f=i(c);for(const[h,C]of Object.entries(u))f=f.replace("%"+h+"%",String(C));return f}function l(c,u){try{return n(`regions.${c}`,{n:r(u)},Number(u)||0)}catch{return String(u)}}return{t:i,tf:s,tc:l,locale:o}}function Bu(e,t=""){const o=String(e??"").replace(/\/+$/,""),n=String(t??"").replace(/^\/+/,"");return n?`${o}/${n}`:`${o}/`}const Rb={key:0,class:"rcm__note",role:"status"},Fb={key:1,class:"rcm__legend"},Gu=100,Vu=.42,Ea="rcm-people-groups",zo="rcm-country-boundaries",ju=12,Nb=.92,Mb={__name:"RegionCountryMap",props:{countryCodes:{type:Array,default:()=>[]},points:{type:Array,default:()=>[]},colorMode:{type:String,default:"in-country"},highlightRegion:{type:String,default:""},selectOnPinClick:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:2},bounds:{type:Array,default:null},prayBaseUrl:{type:String,default:"https://pray.doxa.life"},researchUrl:{type:String,default:"https://doxa.life/research/"}},emits:["pick-country"],setup(e,{expose:t,emit:o}){const{t:n}=Uu(),r=o,a=e,i=Ve("profileConfig",Pe(null)),s=Fu(i)==="maplibre",l=Ve("mapboxToken",Pe("")),c=re(()=>(typeof l=="string"?l:l==null?void 0:l.value)||""),u={brand:"#3b463d",muted:"#6d766e",inCountry:"#73A17F",prayerFull:"#92b195",prayerPartial:"#f0c64a",prayerNone:"#4e594f",outside:"#a59d92"},f=Pe(null),h=Pe(!1),C=re(()=>{const S=new Set(a.countryCodes);return{type:"FeatureCollection",features:a.points.filter(D=>Number.isFinite(D.lng)&&Number.isFinite(D.lat)).map(D=>({type:"Feature",geometry:{type:"Point",coordinates:[D.lng,D.lat]},properties:{name:D.name||"",slug:D.slug||"",country:D.country||"",inCountry:S.has(D.code),committed:Number(D.committed)||0,region:D.region||"",code:D.code||"",population:Number(D.population)||0,rop1:D.rop1||"",religion:D.religion||"",description:D.description||"",imageUrl:D.imageUrl||""}}))}}),A={padding:40,maxZoom:6},{map:v,isMapReady:z,initializeMap:x,destroy:y}=Sb({containerRef:f,accessToken:c.value,style:"mapbox://styles/mapbox/light-v11",center:a.center||void 0,zoom:a.zoom,maxZoom:12,bounds:a.bounds||void 0,fitBoundsOptions:A,showEdgeBorders:!0}),_=gi({}),$=re(()=>{const S=new Map;for(const U of a.points)!U||!U.code||!U.region||S.has(U.code)||S.set(U.code,U.region);if(!S.size)return _;const D=["match",["get","iso_3166_1_alpha_3"]];for(const[U,q]of S)D.push(U,Do[q]||_);return D.push(_),D});function w(){const S=["in",["get","iso_3166_1_alpha_3"],["literal",a.countryCodes]];return s?S:["all",S,["any",["==",["get","worldview"],"all"],["in","US",["get","worldview"]]]]}function L(){const S=["!",["get","inCountry"]],D=[">=",["get","committed"],Gu],U=[">",["get","committed"],0],q=a.highlightRegion,ee=["==",["get","region"],q];return a.colorMode==="region"?{color:Aa(),sortKey:q?["case",ee,2,1]:1,opacity:q?["case",ee,1,.45]:1,strokeOpacity:q?["case",ee,1,.3]:1,radius:q?["case",ee,["interpolate",["linear"],["zoom"],2,4.5,6,8],["interpolate",["linear"],["zoom"],2,3,6,5.5]]:["interpolate",["linear"],["zoom"],2,4,6,7.5]}:{color:a.colorMode==="prayer"?["case",S,u.outside,D,u.prayerFull,U,u.prayerPartial,u.prayerNone]:["case",["get","inCountry"],u.inCountry,u.muted],sortKey:a.colorMode==="prayer"?["case",S,0,D,3,U,2,1]:["case",["get","inCountry"],1,0],opacity:["case",["get","inCountry"],1,.75],strokeOpacity:1,radius:["interpolate",["linear"],["zoom"],2,3,6,6.5]}}function N(){const S=v.value;if(!S)return;const{color:D,sortKey:U,opacity:q,radius:ee,strokeOpacity:j}=L();if(!S.getSource(zo)){s?(S.addSource(zo,{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${Eb(i==null?void 0:i.value)}/boundaries/world-adm0-web.geojson`).then(fe=>fe.json()).then(fe=>{for(const b of fe.features||[])b.properties&&b.properties.iso3&&(b.properties.iso_3166_1_alpha_3=b.properties.iso3);const g=v.value&&v.value.getSource(zo);g&&g.setData(fe),te()}).catch(fe=>console.warn("[rcm] country boundaries failed to load",fe))):S.addSource(zo,{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const Z=s?{}:{"source-layer":"country_boundaries"};S.addLayer({id:"rcm-focus-fill",type:"fill",source:zo,...Z,filter:w(),paint:{"fill-color":a.colorMode==="region"?$.value:u.brand,"fill-opacity":a.colorMode==="region"?Vu:.12}}),S.addLayer({id:"rcm-focus-outline",type:"line",source:zo,...Z,filter:w(),paint:{"line-color":u.brand,"line-width":2}})}S.getSource(Ea)||(S.addSource(Ea,{type:"geojson",data:C.value}),S.addLayer({id:"rcm-pins",type:"circle",source:Ea,layout:{"circle-sort-key":U},paint:{"circle-radius":ee,"circle-color":D,"circle-opacity":q,"circle-stroke-width":1,"circle-stroke-color":"#ffffff","circle-stroke-opacity":j}}),S.on("click","rcm-pins",M),S.on("mouseenter","rcm-pins",()=>{S.getCanvas().style.cursor="pointer"}),S.on("mouseleave","rcm-pins",()=>{S.getCanvas().style.cursor=""}))}let O=null;function M(S){const D=S.features&&S.features[0];if(!D)return;if(a.selectOnPinClick){const j=D.properties||{};r("pick-country",{code:j.code||"",region:j.region||"",name:j.name||""});return}const U=Mu(v.value);if(!U)return;const q=D.properties||{},ee=he(q);O&&O.remove(),O=new U.Popup({closeButton:!0,maxWidth:"264px",offset:ju}).setLngLat(D.geometry.coordinates).setHTML(ee).addTo(v.value),requestAnimationFrame(()=>H(D.geometry.coordinates))}function Q({containerH:S,popupH:D,pinY:U,offset:q=ju,bottomInset:ee=0}){if(!(S>0)||!(D>0)||!Number.isFinite(U))return 0;const j=D+q,Z=S-Math.max(0,ee);if(U>=j||Z-U>=j||j>Z)return 0;const fe=j-U,g=j-(Z-U);return fe<=g?fe:-g}function de(S){if(!S)return 0;let D=1/0;const U=S.getBoundingClientRect(),q=".maplibregl-ctrl-bottom-left .maplibregl-ctrl, .maplibregl-ctrl-bottom-right .maplibregl-ctrl,.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl, .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl, .pin-hint-pill";for(const ee of S.querySelectorAll(q)){const j=ee.getBoundingClientRect();j.height<=0||j.width<=0||j.top/g,">").replace(/"/g,""").replace(/'/g,"'")}function he(S){const D=J(S.name||""),U=[S.country,S.rop1].filter(Boolean).map(J).join(" · "),q=Number(S.population)>0?Number(S.population).toLocaleString("en-US"):"",ee=Bu(a.researchUrl,S.slug||""),j=`${Bu(a.prayBaseUrl,S.slug||"")}?source=doxalife`,Z=[];return q&&Z.push(`
${J(n("Population"))}
${q}
`),S.religion&&Z.push(`
${J(n("Religion"))}
${J(S.religion)}
`),Z.push(`
${J(n("Intercessors"))}
${Number(S.committed)||0}/${Gu}
`),`
+ ${S.imageUrl?`${D}`:""}
-
${x}
- ${j?`
${j}
`:""} +
${D}
+ ${U?`
${U}
`:""} ${Z.length?`
${Z.join("")}
`:""} - ${S.description?`

${O(S.description)}

`:""} + ${S.description?`

${J(S.description)}

`:""}
-
`}function me(S){if(a.colorMode!=="region")return a.zoom;let x=0,j=0;try{const Q=S.getContainer();x=(Q==null?void 0:Q.clientWidth)||0,j=(Q==null?void 0:Q.clientHeight)||0}catch{x=0}if(!x)return a.zoom;const Y=Math.max(0,Math.min(2,Math.log2(x/512)));if(!j)return Y;const X=S.getZoom();try{const Q=S.getCenter(),Z=Math.PI/180,ee=180/Math.PI,Ae=Q.lat*Z,f=[];for(let V=0;V<12;V++){const U=V/12*2*Math.PI,d=Math.asin(Math.cos(Ae)*Math.cos(U)),p=Q.lng+Math.atan2(Math.sin(U)*Math.cos(Ae),-Math.sin(Ae)*Math.sin(d))*ee;f.push([p,d*ee])}const $=V=>{S.setZoom(V);const U=S.project([Q.lng,Q.lat]);let d=0;for(const p of f){const T=S.project(p),R=Math.hypot(T.x-U.x,T.y-U.y);Number.isFinite(R)&&R>d&&(d=R)}return d*2},m=Math.min(x,j)*Nb;let E=0,I=5;if($(I)j&&(j=X.lng),X.latY&&(Y=X.lat));return Number.isFinite(S)&&Number.isFinite(x)?[[S,x],[j,Y]]:null}function G(S){const x=ce();if(!x)return;let j=null;try{j=S.getBounds()}catch{return}if(!j||typeof j.contains!="function")return;const Y=(Q,Z)=>{try{return j.contains([Q,Z])}catch{return!0}};Y(x[0][0],x[0][1])&&Y(x[1][0],x[1][1])&&Y(x[0][0],x[1][1])&&Y(x[1][0],x[0][1])||ge(S,x,{...A,maxZoom:a.zoom})}function W(){const S=v.value;if(!S)return;const x=S.getSource(Ea);if(x&&x.setData(C.value),S.getLayer("rcm-pins")){const{color:j,sortKey:Y,opacity:X,radius:Q,strokeOpacity:Z}=L();S.setPaintProperty("rcm-pins","circle-color",j),S.setPaintProperty("rcm-pins","circle-opacity",X),S.setPaintProperty("rcm-pins","circle-stroke-opacity",Z),S.setPaintProperty("rcm-pins","circle-radius",Q),S.setLayoutProperty("rcm-pins","circle-sort-key",Y)}for(const j of["rcm-focus-fill","rcm-focus-outline"])S.getLayer(j)&&S.setFilter(j,w());if(S.getLayer("rcm-focus-fill")){const j=a.colorMode==="region";S.setPaintProperty("rcm-focus-fill","fill-color",j?_.value:u.brand),S.setPaintProperty("rcm-focus-fill","fill-opacity",j?Vu:.12)}if(a.bounds&&typeof window<"u"&&(window.__rcmBounds=a.bounds),a.bounds)ge(S,a.bounds);else{const j=me(S),Y=a.center||S.getCenter();S.flyTo({center:Y,zoom:j,duration:600}),S.once("moveend",()=>G(S))}}function ne(S,x){let j=!1;const Y=()=>{j||(j=!0,S.off("style.load",Y),S.off("load",Y),x())};if(S.isStyleLoaded&&S.isStyleLoaded())return Y();S.on("style.load",Y),S.on("load",Y),setTimeout(()=>{try{S.getStyle&&S.getStyle()&&S.getStyle().layers&&Y()}catch{}},1500)}wo(async()=>{try{if(await D(),!v.value){h.value=!0;return}const S=Mu(v.value);if(S){try{v.value.addControl(new S.NavigationControl({showCompass:!1}),"top-right")}catch(x){console.warn("[RegionCountryMap] NavigationControl unavailable:",x&&x.message)}try{v.value.addControl(new S.FullscreenControl,"top-right")}catch(x){console.warn("[RegionCountryMap] FullscreenControl unavailable:",x&&x.message)}}ne(v.value,()=>{N(),W(),fe()})}catch(S){console.error("[RegionCountryMap] init failed:",S),h.value=!0}}),Ye(z,S=>{S&&typeof window<"u"&&(window.__rcmMap=v.value)});let ue=null;function fe(){typeof ResizeObserver>"u"||!g.value||(ue=new ResizeObserver(()=>{const S=v.value;if(!(!S||a.colorMode!=="region"||a.bounds))try{S.setZoom(me(S))}catch{}}),ue.observe(g.value))}function _e({timeoutMs:S=8e3}={}){return new Promise(x=>{const j=v.value;if(!j||typeof j.isStyleLoaded!="function")return x("no-map");const Y=()=>j.isStyleLoaded()&&!j.isMoving()&&(typeof j.areTilesLoaded!="function"||j.areTilesLoaded());let X=null;const Q=ee=>{X&&(clearTimeout(X),X=null);try{j.off("idle",Z)}catch{}x(ee)},Z=()=>{Y()&&Q("idle")};if(Y())return Q("ready");j.on("idle",Z),X=setTimeout(()=>Q("timeout"),S)})}return t({whenIdle:_e}),tn(()=>{if(ue)try{ue.disconnect()}catch{}k&&k.remove();try{typeof window<"u"&&window.__rcmMap===v.value&&delete window.__rcmMap}catch{}try{typeof window<"u"&&window.__rcmBounds===a.bounds&&delete window.__rcmBounds}catch{}y()}),Ye(()=>[a.countryCodes,a.bounds,a.center,a.zoom,a.points,a.colorMode,a.highlightRegion],W,{deep:!0}),Hc(".map-scroll-edge{position:absolute;top:0;bottom:0;width:40px;z-index:2;touch-action:pan-y;pointer-events:auto;background:transparent}.map-scroll-edge--left{left:0}.map-scroll-edge--right{right:0}@media print{ .rcm{ display:flex; align-items:flex-start; gap:12px; min-height:0; aspect-ratio:auto; height:auto; break-inside:avoid; } .rcm__canvas{ flex:1 1 auto; height:12cm; } .rcm__legend{ position:static; inset:auto; flex:0 0 auto; max-width:38%; background:none; box-shadow:none; } .map-scroll-edge, .mapboxgl-ctrl-group, .maplibregl-ctrl-group, .mapboxgl-ctrl-attrib-button, .maplibregl-ctrl-attrib-button{ display:none !important; }}.mapboxgl-ctrl-top-left,.maplibregl-ctrl-top-left,.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right,.mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{ z-index:3; }@media (max-width: 767px){ .mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left, .mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{ transform:translateY(calc(-1 * var(--map-fab-clearance, 0px))); }}.rcm{ display:block; position:relative; width:100%; min-height:780px; aspect-ratio:16/9; overflow:hidden; border-radius:inherit; }@media (max-width:768px){ .rcm{ min-height:0; aspect-ratio:1/2; } }@media (max-width:768px){ .rcm--chooser{ aspect-ratio:1/1; } }.rcm__canvas{ position:absolute; inset:0; }.rcm__note{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:24px; color:#6d766e; font-size:15.625px; background:#f3f3f1; }.rcm__legend{ position:absolute; inset-inline-start:10px; bottom:28px; z-index:2; display:flex; flex-direction:column; gap:4px; padding:8px 10px; border-radius:8px; background:rgba(255,255,255,0.92); box-shadow:0 2px 8px rgba(0,0,0,0.15); font-size:12px; font-weight:600; color:#1f1f1f; pointer-events:none; }.rcm__legend span{ display:inline-flex; align-items:center; gap:6px; }.rcm__legend i{ display:inline-block; width:10px; height:10px; border-radius:100px; border:1px solid #ffffff; box-shadow:0 0 0 1px rgba(0,0,0,0.15); }.mapboxgl-popup-content:has(.cm-popup){ padding:12px; border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,0.18); }.cm-popup{ width:240px; }.cm-popup__img{ display:block; width:150px; aspect-ratio:4/5; object-fit:cover; border-radius:8px; margin:0 auto 8px; }.cm-popup__body{ padding:0; }.cm-popup__name{ font-weight:700; font-size:15px; line-height:1.25; color:var(--color-black, #1f1f1f); }.cm-popup__sub{ margin-top:2px; font-size:12px; color:var(--color-brand-lighter, #6d766e); }.cm-popup__stats{ margin:8px 0 0; display:flex; flex-direction:column; gap:3px; }.cm-popup__stats > div{ display:flex; justify-content:space-between; gap:10px; font-size:12px; }.cm-popup__stats dt{ margin:0; color:var(--color-brand-lighter, #6d766e); }.cm-popup__stats dd{ margin:0; text-align:end; font-weight:600; color:var(--color-black, #1f1f1f); }.cm-popup__desc{ margin:8px 0 0; font-size:12px; line-height:1.45; color:#555; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }.cm-popup__actions{ display:flex; gap:6px; margin-top:10px; }.cm-popup__btn{ flex:1; padding:6px 8px; border-radius:6px; font-size:12px; font-weight:600; text-align:center; text-decoration:none; background:#ecf0f1; color:var(--color-black, #1f1f1f); }.cm-popup__btn--primary{ background:var(--color-brand, #3b463d); color:#fff; }","region-country-map"),(S,x)=>(xe(),it("div",{class:$o(["rcm",{"rcm--chooser":e.colorMode==="region"}])},[Se("div",{ref_key:"mapContainer",ref:g,class:"rcm__canvas"},null,512),x[0]||(x[0]=Se("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),x[1]||(x[1]=Se("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),h.value?(xe(),it("p",Rb,ot(je(n)("The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.")),1)):qt("",!0),e.colorMode==="prayer"&&!h.value?(xe(),it("div",Fb,[Se("span",null,[Se("i",{style:io({background:u.prayerFull})},null,4),et(ot(je(n)("100+ People Praying")),1)]),Se("span",null,[Se("i",{style:io({background:u.prayerPartial})},null,4),et(ot(je(n)("1+ People Praying")),1)]),Se("span",null,[Se("i",{style:io({background:u.prayerNone})},null,4),et(ot(je(n)("No One Praying")),1)]),Se("span",null,[Se("i",{style:io({background:u.outside})},null,4),et(ot(je(n)("Outside this region")),1)])])):qt("",!0)],2))}},Ob=[{value:"AFG",label:"Afghanistan"},{value:"ALB",label:"Albania"},{value:"DZA",label:"Algeria"},{value:"ASM",label:"American Samoa"},{value:"AND",label:"Andorra"},{value:"AGO",label:"Angola"},{value:"AIA",label:"Anguilla"},{value:"ATG",label:"Antigua and Barbuda"},{value:"ARG",label:"Argentina"},{value:"ARM",label:"Armenia"},{value:"ABW",label:"Aruba"},{value:"AUS",label:"Australia"},{value:"AUT",label:"Austria"},{value:"AZE",label:"Azerbaijan"},{value:"BHR",label:"Bahrain"},{value:"BGD",label:"Bangladesh"},{value:"BRB",label:"Barbados"},{value:"BLR",label:"Belarus"},{value:"BEL",label:"Belgium"},{value:"BLZ",label:"Belize"},{value:"BEN",label:"Benin"},{value:"BMU",label:"Bermuda"},{value:"BTN",label:"Bhutan"},{value:"BOL",label:"Bolivia"},{value:"BES",label:"Bonaire, Sint Eustatius, and Saba"},{value:"BIH",label:"Bosnia and Herzegovina"},{value:"BWA",label:"Botswana"},{value:"BRA",label:"Brazil"},{value:"BRN",label:"Brunei"},{value:"BGR",label:"Bulgaria"},{value:"BFA",label:"Burkina Faso"},{value:"BDI",label:"Burundi"},{value:"CPV",label:"Cabo Verde"},{value:"KHM",label:"Cambodia"},{value:"CMR",label:"Cameroon"},{value:"CAN",label:"Canada"},{value:"CYM",label:"Cayman Islands"},{value:"CAF",label:"Central African Republic"},{value:"TCD",label:"Chad"},{value:"CHL",label:"Chile"},{value:"CHN",label:"China"},{value:"CXR",label:"Christmas Island"},{value:"CCK",label:"Cocos (Keeling) Islands"},{value:"COL",label:"Colombia"},{value:"COM",label:"Comoros"},{value:"COK",label:"Cook Islands"},{value:"CRI",label:"Costa Rica"},{value:"CIV",label:"Côte d’Ivoire"},{value:"HRV",label:"Croatia"},{value:"CUB",label:"Cuba"},{value:"CUW",label:"Curaçao"},{value:"CYP",label:"Cyprus"},{value:"DNK",label:"Denmark"},{value:"DJI",label:"Djibouti"},{value:"DMA",label:"Dominica"},{value:"DOM",label:"Dominican Republic"},{value:"ECU",label:"Ecuador"},{value:"EGY",label:"Egypt"},{value:"SLV",label:"El Salvador"},{value:"GNQ",label:"Equatorial Guinea"},{value:"ERI",label:"Eritrea"},{value:"EST",label:"Estonia"},{value:"SWZ",label:"Eswatini"},{value:"ETH",label:"Ethiopia"},{value:"FLK",label:"Falkland Islands (Islas Malvinas)"},{value:"FRO",label:"Faroe Islands"},{value:"FJI",label:"Fiji"},{value:"FIN",label:"Finland"},{value:"FRA",label:"France"},{value:"GUF",label:"French Guiana"},{value:"PYF",label:"French Polynesia"},{value:"GAB",label:"Gabon"},{value:"GEO",label:"Georgia"},{value:"DEU",label:"Germany"},{value:"GHA",label:"Ghana"},{value:"GIB",label:"Gibraltar"},{value:"GRC",label:"Greece"},{value:"GRL",label:"Greenland"},{value:"GRD",label:"Grenada"},{value:"GLP",label:"Guadeloupe"},{value:"GUM",label:"Guam"},{value:"GTM",label:"Guatemala"},{value:"GGY",label:"Guernsey"},{value:"GIN",label:"Guinea"},{value:"GNB",label:"Guinea-Bissau"},{value:"GUY",label:"Guyana"},{value:"HTI",label:"Haiti"},{value:"HND",label:"Honduras"},{value:"HKG",label:"Hong Kong"},{value:"HUN",label:"Hungary"},{value:"ISL",label:"Iceland"},{value:"IND",label:"India"},{value:"IDN",label:"Indonesia"},{value:"IRN",label:"Iran"},{value:"IRQ",label:"Iraq"},{value:"IRL",label:"Ireland"},{value:"IMN",label:"Isle of Man"},{value:"ISR",label:"Israel"},{value:"ITA",label:"Italy"},{value:"JAM",label:"Jamaica"},{value:"JPN",label:"Japan"},{value:"JEY",label:"Jersey"},{value:"JOR",label:"Jordan"},{value:"KAZ",label:"Kazakhstan"},{value:"KEN",label:"Kenya"},{value:"KIR",label:"Kiribati"},{value:"KOS",label:"Kosovo"},{value:"KWT",label:"Kuwait"},{value:"KGZ",label:"Kyrgyzstan"},{value:"LAO",label:"Laos"},{value:"LVA",label:"Latvia"},{value:"LBN",label:"Lebanon"},{value:"LSO",label:"Lesotho"},{value:"LBR",label:"Liberia"},{value:"LBY",label:"Libya"},{value:"LIE",label:"Liechtenstein"},{value:"LTU",label:"Lithuania"},{value:"LUX",label:"Luxembourg"},{value:"MAC",label:"Macao"},{value:"MDG",label:"Madagascar"},{value:"MWI",label:"Malawi"},{value:"MYS",label:"Malaysia"},{value:"MLI",label:"Mali"},{value:"MLT",label:"Malta"},{value:"MTQ",label:"Martinique"},{value:"MRT",label:"Mauritania"},{value:"MUS",label:"Mauritius"},{value:"MYT",label:"Mayotte"},{value:"MEX",label:"Mexico"},{value:"MDA",label:"Moldova"},{value:"MCO",label:"Monaco"},{value:"MNG",label:"Mongolia"},{value:"MNE",label:"Montenegro"},{value:"MSR",label:"Montserrat"},{value:"MAR",label:"Morocco"},{value:"MOZ",label:"Mozambique"},{value:"MMR",label:"Myanmar"},{value:"NAM",label:"Namibia"},{value:"NRU",label:"Nauru"},{value:"NPL",label:"Nepal"},{value:"NCL",label:"New Caledonia"},{value:"NZL",label:"New Zealand"},{value:"NIC",label:"Nicaragua"},{value:"NER",label:"Niger"},{value:"NGA",label:"Nigeria"},{value:"NIU",label:"Niue"},{value:"NFK",label:"Norfolk Island"},{value:"PRK",label:"North Korea"},{value:"MKD",label:"North Macedonia"},{value:"NOR",label:"Norway"},{value:"OMN",label:"Oman"},{value:"PAK",label:"Pakistan"},{value:"PLW",label:"Palau"},{value:"PSE",label:"Palestine"},{value:"PAN",label:"Panama"},{value:"PNG",label:"Papua New Guinea"},{value:"PRY",label:"Paraguay"},{value:"PER",label:"Peru"},{value:"POL",label:"Poland"},{value:"PRT",label:"Portugal"},{value:"PRI",label:"Puerto Rico"},{value:"QAT",label:"Qatar"},{value:"REU",label:"Reunion"},{value:"ROU",label:"Romania"},{value:"RWA",label:"Rwanda"},{value:"BLM",label:"Saint Barthelemy"},{value:"SHN",label:"Saint Helena, Ascension, and Tristan da Cunha"},{value:"KNA",label:"Saint Kitts and Nevis"},{value:"LCA",label:"Saint Lucia"},{value:"MAF",label:"Saint Martin"},{value:"SPM",label:"Saint Pierre and Miquelon"},{value:"VCT",label:"Saint Vincent and the Grenadines"},{value:"WSM",label:"Samoa"},{value:"SMR",label:"San Marino"},{value:"STP",label:"Sao Tome and Principe"},{value:"SAU",label:"Saudi Arabia"},{value:"SEN",label:"Senegal"},{value:"SRB",label:"Serbia"},{value:"SYC",label:"Seychelles"},{value:"SLE",label:"Sierra Leone"},{value:"SGP",label:"Singapore"},{value:"SXM",label:"Sint Maarten"},{value:"SVK",label:"Slovakia"},{value:"SVN",label:"Slovenia"},{value:"SOM",label:"Somalia"},{value:"ZAF",label:"South Africa"},{value:"KOR",label:"South Korea"},{value:"SSD",label:"South Sudan"},{value:"ESP",label:"Spain"},{value:"LKA",label:"Sri Lanka"},{value:"SDN",label:"Sudan"},{value:"SUR",label:"Suriname"},{value:"SJM",label:"Svalbard"},{value:"SWE",label:"Sweden"},{value:"CHE",label:"Switzerland"},{value:"SYR",label:"Syria"},{value:"TWN",label:"Taiwan"},{value:"TJK",label:"Tajikistan"},{value:"TZA",label:"Tanzania"},{value:"THA",label:"Thailand"},{value:"BHS",label:"The Bahamas"},{value:"VGB",label:"the British Virgin Islands"},{value:"CZE",label:"the Czech Republic"},{value:"COD",label:"the Democratic Republic of the Congo"},{value:"FSM",label:"the Federated States of Micronesia"},{value:"GMB",label:"The Gambia"},{value:"MDV",label:"the Maldives"},{value:"MHL",label:"the Marshall Islands"},{value:"NLD",label:"the Netherlands"},{value:"MNP",label:"the Northern Mariana Islands"},{value:"PHL",label:"the Philippines"},{value:"PCN",label:"the Pitcairn Islands"},{value:"COG",label:"the Republic of the Congo"},{value:"RUS",label:"the Russian Federation"},{value:"SLB",label:"the Solomon Islands"},{value:"TCA",label:"the Turks and Caicos Islands"},{value:"ARE",label:"the United Arab Emirates"},{value:"GBR",label:"the United Kingdom"},{value:"USA",label:"the United States"},{value:"VIR",label:"the Virgin Islands"},{value:"TLS",label:"Timor-Leste"},{value:"TGO",label:"Togo"},{value:"TKL",label:"Tokelau"},{value:"TON",label:"Tonga"},{value:"TTO",label:"Trinidad and Tobago"},{value:"TUN",label:"Tunisia"},{value:"TUR",label:"Turkiye"},{value:"TKM",label:"Turkmenistan"},{value:"TUV",label:"Tuvalu"},{value:"UGA",label:"Uganda"},{value:"UKR",label:"Ukraine"},{value:"URY",label:"Uruguay"},{value:"UZB",label:"Uzbekistan"},{value:"VUT",label:"Vanuatu"},{value:"VAT",label:"Vatican City"},{value:"VEN",label:"Venezuela"},{value:"VNM",label:"Vietnam"},{value:"WLF",label:"Wallis and Futuna"},{value:"ESH",label:"Western Sahara"},{value:"YEM",label:"Yemen"},{value:"ZMB",label:"Zambia"},{value:"ZWE",label:"Zimbabwe"}],kb="country_code,wagf_region,latitude,longitude,population,adopted_by_churches,people_committed,engagement_status";new Map(Ob.map(e=>[e.value,e.label]));function xb(e){const t=typeof e=="string"?parseFloat(e):e??0;return Number.isNaN(t)?0:t}const Ib="name,slug,rop1,religion,imb_people_description,image_url,has_photo";function Db(e,t){return(Array.isArray(e)?e:[]).map(o=>{var n,r,a,i,s;return{name:o.name||"",slug:o.slug||"",code:((n=o.country_code)==null?void 0:n.value)||"",country:((r=o.country_code)==null?void 0:r.label)||"",region:((a=o.wagf_region)==null?void 0:a.value)||"",lng:parseFloat(o.longitude),lat:parseFloat(o.latitude),committed:t(o.people_committed),population:t(o.population),rop1:((i=o.rop1)==null?void 0:i.label)||"",religion:((s=o.religion)==null?void 0:s.label)||"",description:o.imb_people_description??"",imageUrl:o.has_photo&&o.image_url?o.image_url:""}}).filter(o=>Number.isFinite(o.lng)&&Number.isFinite(o.lat))}const Hb={key:0,class:"cm-status",role:"status"},zb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"country-map",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Ve("profileConfig",null),n=ie(()=>{const y=o&&(o.value!==void 0?o.value:o);if(y&&typeof y=="object")return y;if(!t.profileConfig)return{};try{return JSON.parse(t.profileConfig)||{}}catch{return{}}}),r=ie(()=>{const y=n.value.countryCodes;return Array.isArray(y)?y.filter(Boolean).map(b=>String(b).toUpperCase()):typeof y=="string"?y.split(",").map(b=>b.trim().toUpperCase()).filter(Boolean):[]}),a=ie(()=>Array.isArray(n.value.center)?n.value.center:void 0),i=ie(()=>Array.isArray(n.value.bounds)?n.value.bounds:void 0),s=ie(()=>Number.isFinite(Number(n.value.zoom))?Number(n.value.zoom):2),l=ie(()=>n.value.colorByPrayer?"prayer":void 0),c=ie(()=>n.value.researchUrl||"https://doxa.life/research/"),u=ie(()=>n.value.prayBaseUrl||"https://pray.doxa.life"),g=ie(()=>n.value.countryUrl||"https://doxa.life/regions/"),h=ie(()=>n.value.languageCode||n.value.locale||n.value.lang||"en"),{t:C}=Uu(),A=Pe([]),v=Pe(!0),z=Pe(!1);async function D(){v.value=!0,z.value=!1;try{const y=`${u.value}/api/people-groups/list?fields=${Ib},${kb}&lang=${h.value}`,b=await fetch(y);if(!b.ok)throw new Error(`HTTP ${b.status}`);const _=await b.json(),w=Db(Array.isArray(_.posts)?_.posts:[],xb),L=new Set(r.value);L.size||console.error('[country-map] no country-codes given, so there is nothing to draw. Set countryCodes in profile-config, as an array (["TCD"]) or a comma string ("TCD,NER").'),A.value=L.size?w.filter(N=>L.has(String(N.code).toUpperCase())):[]}catch(y){console.error("[country-map] fetch error:",y),z.value=!0,A.value=[]}finally{v.value=!1}}return wo(D),Ye(()=>[h.value,r.value.join(",")],D),(y,b)=>(xe(),it(at,null,[Ie(Mb,{points:A.value,"country-codes":r.value,center:a.value,bounds:i.value,zoom:s.value,"color-mode":l.value,"research-url":c.value,"pray-base-url":u.value,"country-url":g.value},null,8,["points","country-codes","center","bounds","zoom","color-mode","research-url","pray-base-url","country-url"]),z.value?(xe(),it("p",Hb,ot(je(C)("People groups could not be loaded. This is a connection problem, not a filter.")),1)):qt("",!0)],64))}}},Symbol.toStringTag,{value:"Module"}))})(); +
`}function ge(S){if(a.colorMode!=="region")return a.zoom;let D=0,U=0;try{const j=S.getContainer();D=(j==null?void 0:j.clientWidth)||0,U=(j==null?void 0:j.clientHeight)||0}catch{D=0}if(!D)return a.zoom;const q=Math.max(0,Math.min(2,Math.log2(D/512)));if(!U)return q;const ee=S.getZoom();try{const j=S.getCenter(),Z=Math.PI/180,fe=180/Math.PI,g=j.lat*Z,b=[];for(let B=0;B<12;B++){const d=B/12*2*Math.PI,p=Math.asin(Math.cos(g)*Math.cos(d)),T=j.lng+Math.atan2(Math.sin(d)*Math.cos(g),-Math.sin(g)*Math.sin(p))*fe;b.push([T,p*fe])}const m=B=>{S.setZoom(B);const d=S.project([j.lng,j.lat]);let p=0;for(const T of b){const R=S.project(T),Y=Math.hypot(R.x-d.x,R.y-d.y);Number.isFinite(Y)&&Y>p&&(p=Y)}return p*2},E=Math.min(D,U)*Nb;let I=0,k=5;if(m(k)U&&(U=ee.lng),ee.latq&&(q=ee.lat));return Number.isFinite(S)&&Number.isFinite(D)?[[S,D],[U,q]]:null}function W(S){const D=V();if(!D)return;let U=null;try{U=S.getBounds()}catch{return}if(!U||typeof U.contains!="function")return;const q=(j,Z)=>{try{return U.contains([j,Z])}catch{return!0}};q(D[0][0],D[0][1])&&q(D[1][0],D[1][1])&&q(D[0][0],D[1][1])&&q(D[1][0],D[0][1])||se(S,D,{...A,maxZoom:a.zoom})}function te(){const S=v.value;if(!S)return;const D=S.getSource(Ea);if(D&&D.setData(C.value),S.getLayer("rcm-pins")){const{color:U,sortKey:q,opacity:ee,radius:j,strokeOpacity:Z}=L();S.setPaintProperty("rcm-pins","circle-color",U),S.setPaintProperty("rcm-pins","circle-opacity",ee),S.setPaintProperty("rcm-pins","circle-stroke-opacity",Z),S.setPaintProperty("rcm-pins","circle-radius",j),S.setLayoutProperty("rcm-pins","circle-sort-key",q)}for(const U of["rcm-focus-fill","rcm-focus-outline"])S.getLayer(U)&&S.setFilter(U,w());if(S.getLayer("rcm-focus-fill")){const U=a.colorMode==="region";S.setPaintProperty("rcm-focus-fill","fill-color",U?$.value:u.brand),S.setPaintProperty("rcm-focus-fill","fill-opacity",U?Vu:.12)}if(a.bounds&&typeof window<"u"&&(window.__rcmBounds=a.bounds),a.bounds)se(S,a.bounds);else{const U=ge(S),q=a.center||S.getCenter();S.flyTo({center:q,zoom:U,duration:600}),S.once("moveend",()=>W(S))}}function pe(S,D){let U=!1;const q=()=>{U||(U=!0,S.off("style.load",q),S.off("load",q),D())};if(S.isStyleLoaded&&S.isStyleLoaded())return q();S.on("style.load",q),S.on("load",q),setTimeout(()=>{try{S.getStyle&&S.getStyle()&&S.getStyle().layers&&q()}catch{}},1500)}wo(async()=>{try{if(await x(),!v.value){h.value=!0;return}const S=Mu(v.value);if(S){try{v.value.addControl(new S.NavigationControl({showCompass:!1}),"top-right")}catch(D){console.warn("[RegionCountryMap] NavigationControl unavailable:",D&&D.message)}try{v.value.addControl(new S.FullscreenControl,"top-right")}catch(D){console.warn("[RegionCountryMap] FullscreenControl unavailable:",D&&D.message)}}pe(v.value,()=>{N(),te(),_e()})}catch(S){console.error("[RegionCountryMap] init failed:",S),h.value=!0}}),Ye(z,S=>{S&&typeof window<"u"&&(window.__rcmMap=v.value)});let ce=null;function _e(){typeof ResizeObserver>"u"||!f.value||(ce=new ResizeObserver(()=>{const S=v.value;if(!(!S||a.colorMode!=="region"||a.bounds))try{S.setZoom(ge(S))}catch{}}),ce.observe(f.value))}function Re({timeoutMs:S=8e3}={}){return new Promise(D=>{const U=v.value;if(!U||typeof U.isStyleLoaded!="function")return D("no-map");const q=()=>U.isStyleLoaded()&&!U.isMoving()&&(typeof U.areTilesLoaded!="function"||U.areTilesLoaded());let ee=null;const j=fe=>{ee&&(clearTimeout(ee),ee=null);try{U.off("idle",Z)}catch{}D(fe)},Z=()=>{q()&&j("idle")};if(q())return j("ready");U.on("idle",Z),ee=setTimeout(()=>j("timeout"),S)})}return t({whenIdle:Re}),tn(()=>{if(ce)try{ce.disconnect()}catch{}O&&O.remove();try{typeof window<"u"&&window.__rcmMap===v.value&&delete window.__rcmMap}catch{}try{typeof window<"u"&&window.__rcmBounds===a.bounds&&delete window.__rcmBounds}catch{}y()}),Ye(()=>[a.countryCodes,a.bounds,a.center,a.zoom,a.points,a.colorMode,a.highlightRegion],te,{deep:!0}),Hc(".map-scroll-edge{position:absolute;top:0;bottom:0;width:40px;z-index:2;touch-action:pan-y;pointer-events:auto;background:transparent}.map-scroll-edge--left{left:0}.map-scroll-edge--right{right:0}@media print{ .rcm{ display:flex; align-items:flex-start; gap:12px; min-height:0; aspect-ratio:auto; height:auto; break-inside:avoid; } .rcm__canvas{ flex:1 1 auto; height:12cm; } .rcm__legend{ position:static; inset:auto; flex:0 0 auto; max-width:38%; background:none; box-shadow:none; } .map-scroll-edge, .mapboxgl-ctrl-group, .maplibregl-ctrl-group, .mapboxgl-ctrl-attrib-button, .maplibregl-ctrl-attrib-button{ display:none !important; }}.mapboxgl-ctrl-top-left,.maplibregl-ctrl-top-left,.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right,.mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{ z-index:3; }@media (max-width: 767px){ .mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left, .mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{ transform:translateY(calc(-1 * var(--map-fab-clearance, 0px))); }}.rcm{ display:block; position:relative; width:100%; min-height:780px; aspect-ratio:16/9; overflow:hidden; border-radius:inherit; }@media (max-width:768px){ .rcm{ min-height:0; aspect-ratio:1/2; } }@media (max-width:768px){ .rcm--chooser{ aspect-ratio:1/1; } }.rcm__canvas{ position:absolute; inset:0; }.rcm__note{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:24px; color:#6d766e; font-size:15.625px; background:#f3f3f1; }.rcm__legend{ position:absolute; inset-inline-start:10px; bottom:28px; z-index:2; display:flex; flex-direction:column; gap:4px; padding:8px 10px; border-radius:8px; background:rgba(255,255,255,0.92); box-shadow:0 2px 8px rgba(0,0,0,0.15); font-size:12px; font-weight:600; color:#1f1f1f; pointer-events:none; }.rcm__legend span{ display:inline-flex; align-items:center; gap:6px; }.rcm__legend i{ display:inline-block; width:10px; height:10px; border-radius:100px; border:1px solid #ffffff; box-shadow:0 0 0 1px rgba(0,0,0,0.15); }.mapboxgl-popup-content:has(.cm-popup){ padding:12px; border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,0.18); }.cm-popup{ width:240px; }.cm-popup__img{ display:block; width:150px; aspect-ratio:4/5; object-fit:cover; border-radius:8px; margin:0 auto 8px; }.cm-popup__body{ padding:0; }.cm-popup__name{ font-weight:700; font-size:15px; line-height:1.25; color:var(--color-black, #1f1f1f); }.cm-popup__sub{ margin-top:2px; font-size:12px; color:var(--color-brand-lighter, #6d766e); }.cm-popup__stats{ margin:8px 0 0; display:flex; flex-direction:column; gap:3px; }.cm-popup__stats > div{ display:flex; justify-content:space-between; gap:10px; font-size:12px; }.cm-popup__stats dt{ margin:0; color:var(--color-brand-lighter, #6d766e); }.cm-popup__stats dd{ margin:0; text-align:end; font-weight:600; color:var(--color-black, #1f1f1f); }.cm-popup__desc{ margin:8px 0 0; font-size:12px; line-height:1.45; color:#555; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }.cm-popup__actions{ display:flex; gap:6px; margin-top:10px; }.cm-popup__btn{ flex:1; padding:6px 8px; border-radius:6px; font-size:12px; font-weight:600; text-align:center; text-decoration:none; background:#ecf0f1; color:var(--color-black, #1f1f1f); }.cm-popup__btn--primary{ background:var(--color-brand, #3b463d); color:#fff; }","region-country-map"),(S,D)=>(xe(),it("div",{class:$o(["rcm",{"rcm--chooser":e.colorMode==="region"}])},[Se("div",{ref_key:"mapContainer",ref:f,class:"rcm__canvas"},null,512),D[0]||(D[0]=Se("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),D[1]||(D[1]=Se("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),h.value?(xe(),it("p",Rb,ot(je(n)("The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.")),1)):qt("",!0),e.colorMode==="prayer"&&!h.value?(xe(),it("div",Fb,[Se("span",null,[Se("i",{style:io({background:u.prayerFull})},null,4),et(ot(je(n)("100+ People Praying")),1)]),Se("span",null,[Se("i",{style:io({background:u.prayerPartial})},null,4),et(ot(je(n)("1+ People Praying")),1)]),Se("span",null,[Se("i",{style:io({background:u.prayerNone})},null,4),et(ot(je(n)("No One Praying")),1)]),Se("span",null,[Se("i",{style:io({background:u.outside})},null,4),et(ot(je(n)("Outside this region")),1)])])):qt("",!0)],2))}},Ob=[{value:"AFG",label:"Afghanistan"},{value:"ALB",label:"Albania"},{value:"DZA",label:"Algeria"},{value:"ASM",label:"American Samoa"},{value:"AND",label:"Andorra"},{value:"AGO",label:"Angola"},{value:"AIA",label:"Anguilla"},{value:"ATG",label:"Antigua and Barbuda"},{value:"ARG",label:"Argentina"},{value:"ARM",label:"Armenia"},{value:"ABW",label:"Aruba"},{value:"AUS",label:"Australia"},{value:"AUT",label:"Austria"},{value:"AZE",label:"Azerbaijan"},{value:"BHR",label:"Bahrain"},{value:"BGD",label:"Bangladesh"},{value:"BRB",label:"Barbados"},{value:"BLR",label:"Belarus"},{value:"BEL",label:"Belgium"},{value:"BLZ",label:"Belize"},{value:"BEN",label:"Benin"},{value:"BMU",label:"Bermuda"},{value:"BTN",label:"Bhutan"},{value:"BOL",label:"Bolivia"},{value:"BES",label:"Bonaire, Sint Eustatius, and Saba"},{value:"BIH",label:"Bosnia and Herzegovina"},{value:"BWA",label:"Botswana"},{value:"BRA",label:"Brazil"},{value:"BRN",label:"Brunei"},{value:"BGR",label:"Bulgaria"},{value:"BFA",label:"Burkina Faso"},{value:"BDI",label:"Burundi"},{value:"CPV",label:"Cabo Verde"},{value:"KHM",label:"Cambodia"},{value:"CMR",label:"Cameroon"},{value:"CAN",label:"Canada"},{value:"CYM",label:"Cayman Islands"},{value:"CAF",label:"Central African Republic"},{value:"TCD",label:"Chad"},{value:"CHL",label:"Chile"},{value:"CHN",label:"China"},{value:"CXR",label:"Christmas Island"},{value:"CCK",label:"Cocos (Keeling) Islands"},{value:"COL",label:"Colombia"},{value:"COM",label:"Comoros"},{value:"COK",label:"Cook Islands"},{value:"CRI",label:"Costa Rica"},{value:"CIV",label:"Côte d’Ivoire"},{value:"HRV",label:"Croatia"},{value:"CUB",label:"Cuba"},{value:"CUW",label:"Curaçao"},{value:"CYP",label:"Cyprus"},{value:"DNK",label:"Denmark"},{value:"DJI",label:"Djibouti"},{value:"DMA",label:"Dominica"},{value:"DOM",label:"Dominican Republic"},{value:"ECU",label:"Ecuador"},{value:"EGY",label:"Egypt"},{value:"SLV",label:"El Salvador"},{value:"GNQ",label:"Equatorial Guinea"},{value:"ERI",label:"Eritrea"},{value:"EST",label:"Estonia"},{value:"SWZ",label:"Eswatini"},{value:"ETH",label:"Ethiopia"},{value:"FLK",label:"Falkland Islands (Islas Malvinas)"},{value:"FRO",label:"Faroe Islands"},{value:"FJI",label:"Fiji"},{value:"FIN",label:"Finland"},{value:"FRA",label:"France"},{value:"GUF",label:"French Guiana"},{value:"PYF",label:"French Polynesia"},{value:"GAB",label:"Gabon"},{value:"GEO",label:"Georgia"},{value:"DEU",label:"Germany"},{value:"GHA",label:"Ghana"},{value:"GIB",label:"Gibraltar"},{value:"GRC",label:"Greece"},{value:"GRL",label:"Greenland"},{value:"GRD",label:"Grenada"},{value:"GLP",label:"Guadeloupe"},{value:"GUM",label:"Guam"},{value:"GTM",label:"Guatemala"},{value:"GGY",label:"Guernsey"},{value:"GIN",label:"Guinea"},{value:"GNB",label:"Guinea-Bissau"},{value:"GUY",label:"Guyana"},{value:"HTI",label:"Haiti"},{value:"HND",label:"Honduras"},{value:"HKG",label:"Hong Kong"},{value:"HUN",label:"Hungary"},{value:"ISL",label:"Iceland"},{value:"IND",label:"India"},{value:"IDN",label:"Indonesia"},{value:"IRN",label:"Iran"},{value:"IRQ",label:"Iraq"},{value:"IRL",label:"Ireland"},{value:"IMN",label:"Isle of Man"},{value:"ISR",label:"Israel"},{value:"ITA",label:"Italy"},{value:"JAM",label:"Jamaica"},{value:"JPN",label:"Japan"},{value:"JEY",label:"Jersey"},{value:"JOR",label:"Jordan"},{value:"KAZ",label:"Kazakhstan"},{value:"KEN",label:"Kenya"},{value:"KIR",label:"Kiribati"},{value:"KOS",label:"Kosovo"},{value:"KWT",label:"Kuwait"},{value:"KGZ",label:"Kyrgyzstan"},{value:"LAO",label:"Laos"},{value:"LVA",label:"Latvia"},{value:"LBN",label:"Lebanon"},{value:"LSO",label:"Lesotho"},{value:"LBR",label:"Liberia"},{value:"LBY",label:"Libya"},{value:"LIE",label:"Liechtenstein"},{value:"LTU",label:"Lithuania"},{value:"LUX",label:"Luxembourg"},{value:"MAC",label:"Macao"},{value:"MDG",label:"Madagascar"},{value:"MWI",label:"Malawi"},{value:"MYS",label:"Malaysia"},{value:"MLI",label:"Mali"},{value:"MLT",label:"Malta"},{value:"MTQ",label:"Martinique"},{value:"MRT",label:"Mauritania"},{value:"MUS",label:"Mauritius"},{value:"MYT",label:"Mayotte"},{value:"MEX",label:"Mexico"},{value:"MDA",label:"Moldova"},{value:"MCO",label:"Monaco"},{value:"MNG",label:"Mongolia"},{value:"MNE",label:"Montenegro"},{value:"MSR",label:"Montserrat"},{value:"MAR",label:"Morocco"},{value:"MOZ",label:"Mozambique"},{value:"MMR",label:"Myanmar"},{value:"NAM",label:"Namibia"},{value:"NRU",label:"Nauru"},{value:"NPL",label:"Nepal"},{value:"NCL",label:"New Caledonia"},{value:"NZL",label:"New Zealand"},{value:"NIC",label:"Nicaragua"},{value:"NER",label:"Niger"},{value:"NGA",label:"Nigeria"},{value:"NIU",label:"Niue"},{value:"NFK",label:"Norfolk Island"},{value:"PRK",label:"North Korea"},{value:"MKD",label:"North Macedonia"},{value:"NOR",label:"Norway"},{value:"OMN",label:"Oman"},{value:"PAK",label:"Pakistan"},{value:"PLW",label:"Palau"},{value:"PSE",label:"Palestine"},{value:"PAN",label:"Panama"},{value:"PNG",label:"Papua New Guinea"},{value:"PRY",label:"Paraguay"},{value:"PER",label:"Peru"},{value:"POL",label:"Poland"},{value:"PRT",label:"Portugal"},{value:"PRI",label:"Puerto Rico"},{value:"QAT",label:"Qatar"},{value:"REU",label:"Reunion"},{value:"ROU",label:"Romania"},{value:"RWA",label:"Rwanda"},{value:"BLM",label:"Saint Barthelemy"},{value:"SHN",label:"Saint Helena, Ascension, and Tristan da Cunha"},{value:"KNA",label:"Saint Kitts and Nevis"},{value:"LCA",label:"Saint Lucia"},{value:"MAF",label:"Saint Martin"},{value:"SPM",label:"Saint Pierre and Miquelon"},{value:"VCT",label:"Saint Vincent and the Grenadines"},{value:"WSM",label:"Samoa"},{value:"SMR",label:"San Marino"},{value:"STP",label:"Sao Tome and Principe"},{value:"SAU",label:"Saudi Arabia"},{value:"SEN",label:"Senegal"},{value:"SRB",label:"Serbia"},{value:"SYC",label:"Seychelles"},{value:"SLE",label:"Sierra Leone"},{value:"SGP",label:"Singapore"},{value:"SXM",label:"Sint Maarten"},{value:"SVK",label:"Slovakia"},{value:"SVN",label:"Slovenia"},{value:"SOM",label:"Somalia"},{value:"ZAF",label:"South Africa"},{value:"KOR",label:"South Korea"},{value:"SSD",label:"South Sudan"},{value:"ESP",label:"Spain"},{value:"LKA",label:"Sri Lanka"},{value:"SDN",label:"Sudan"},{value:"SUR",label:"Suriname"},{value:"SJM",label:"Svalbard"},{value:"SWE",label:"Sweden"},{value:"CHE",label:"Switzerland"},{value:"SYR",label:"Syria"},{value:"TWN",label:"Taiwan"},{value:"TJK",label:"Tajikistan"},{value:"TZA",label:"Tanzania"},{value:"THA",label:"Thailand"},{value:"BHS",label:"The Bahamas"},{value:"VGB",label:"the British Virgin Islands"},{value:"CZE",label:"the Czech Republic"},{value:"COD",label:"the Democratic Republic of the Congo"},{value:"FSM",label:"the Federated States of Micronesia"},{value:"GMB",label:"The Gambia"},{value:"MDV",label:"the Maldives"},{value:"MHL",label:"the Marshall Islands"},{value:"NLD",label:"the Netherlands"},{value:"MNP",label:"the Northern Mariana Islands"},{value:"PHL",label:"the Philippines"},{value:"PCN",label:"the Pitcairn Islands"},{value:"COG",label:"the Republic of the Congo"},{value:"RUS",label:"the Russian Federation"},{value:"SLB",label:"the Solomon Islands"},{value:"TCA",label:"the Turks and Caicos Islands"},{value:"ARE",label:"the United Arab Emirates"},{value:"GBR",label:"the United Kingdom"},{value:"USA",label:"the United States"},{value:"VIR",label:"the Virgin Islands"},{value:"TLS",label:"Timor-Leste"},{value:"TGO",label:"Togo"},{value:"TKL",label:"Tokelau"},{value:"TON",label:"Tonga"},{value:"TTO",label:"Trinidad and Tobago"},{value:"TUN",label:"Tunisia"},{value:"TUR",label:"Turkiye"},{value:"TKM",label:"Turkmenistan"},{value:"TUV",label:"Tuvalu"},{value:"UGA",label:"Uganda"},{value:"UKR",label:"Ukraine"},{value:"URY",label:"Uruguay"},{value:"UZB",label:"Uzbekistan"},{value:"VUT",label:"Vanuatu"},{value:"VAT",label:"Vatican City"},{value:"VEN",label:"Venezuela"},{value:"VNM",label:"Vietnam"},{value:"WLF",label:"Wallis and Futuna"},{value:"ESH",label:"Western Sahara"},{value:"YEM",label:"Yemen"},{value:"ZMB",label:"Zambia"},{value:"ZWE",label:"Zimbabwe"}],kb="country_code,wagf_region,latitude,longitude,population,adopted_by_churches,people_committed,engagement_status";new Map(Ob.map(e=>[e.value,e.label]));function xb(e){const t=typeof e=="string"?parseFloat(e):e??0;return Number.isNaN(t)?0:t}const Ib="name,slug,rop1,religion,imb_people_description,image_url,has_photo";function Db(e,t){return(Array.isArray(e)?e:[]).map(o=>{var n,r,a,i,s;return{name:o.name||"",slug:o.slug||"",code:((n=o.country_code)==null?void 0:n.value)||"",country:((r=o.country_code)==null?void 0:r.label)||"",region:((a=o.wagf_region)==null?void 0:a.value)||"",lng:parseFloat(o.longitude),lat:parseFloat(o.latitude),committed:t(o.people_committed),population:t(o.population),rop1:((i=o.rop1)==null?void 0:i.label)||"",religion:((s=o.religion)==null?void 0:s.label)||"",description:o.imb_people_description??"",imageUrl:o.has_photo&&o.image_url?o.image_url:""}}).filter(o=>Number.isFinite(o.lng)&&Number.isFinite(o.lat))}const Hb={key:0,class:"cm-status",role:"status"},zb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"country-map",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Ve("profileConfig",null),n=re(()=>{const y=o&&(o.value!==void 0?o.value:o);if(y&&typeof y=="object")return y;if(!t.profileConfig)return{};try{return JSON.parse(t.profileConfig)||{}}catch{return{}}}),r=re(()=>{const y=n.value.countryCodes;return Array.isArray(y)?y.filter(Boolean).map(_=>String(_).toUpperCase()):typeof y=="string"?y.split(",").map(_=>_.trim().toUpperCase()).filter(Boolean):[]}),a=re(()=>Array.isArray(n.value.center)?n.value.center:void 0),i=re(()=>Array.isArray(n.value.bounds)?n.value.bounds:void 0),s=re(()=>Number.isFinite(Number(n.value.zoom))?Number(n.value.zoom):2),l=re(()=>n.value.colorByPrayer?"prayer":void 0),c=re(()=>n.value.researchUrl||"https://doxa.life/research/"),u=re(()=>n.value.prayBaseUrl||"https://pray.doxa.life"),f=re(()=>n.value.countryUrl||"https://doxa.life/regions/"),h=re(()=>n.value.languageCode||n.value.locale||n.value.lang||"en"),{t:C}=Uu(),A=Pe([]),v=Pe(!0),z=Pe(!1);async function x(){v.value=!0,z.value=!1;try{const y=`${u.value}/api/people-groups/list?fields=${Ib},${kb}&lang=${h.value}`,_=await fetch(y);if(!_.ok)throw new Error(`HTTP ${_.status}`);const $=await _.json(),w=Db(Array.isArray($.posts)?$.posts:[],xb),L=new Set(r.value);L.size||console.error('[country-map] no country-codes given, so there is nothing to draw. Set countryCodes in profile-config, as an array (["TCD"]) or a comma string ("TCD,NER").'),A.value=L.size?w.filter(N=>L.has(String(N.code).toUpperCase())):[]}catch(y){console.error("[country-map] fetch error:",y),z.value=!0,A.value=[]}finally{v.value=!1}}return wo(x),Ye(()=>[h.value,r.value.join(",")],x),(y,_)=>(xe(),it(at,null,[Ie(Mb,{points:A.value,"country-codes":r.value,center:a.value,bounds:i.value,zoom:s.value,"color-mode":l.value,"research-url":c.value,"pray-base-url":u.value,"country-url":f.value},null,8,["points","country-codes","center","bounds","zoom","color-mode","research-url","pray-base-url","country-url"]),z.value?(xe(),it("p",Hb,ot(je(C)("People groups could not be loaded. This is a connection problem, not a filter.")),1)):qt("",!0)],64))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/dx-maps/country-map/country-map/index.html b/public/dx-maps/country-map/country-map/index.html index dea33550c..cf8b9a326 100644 --- a/public/dx-maps/country-map/country-map/index.html +++ b/public/dx-maps/country-map/country-map/index.html @@ -65,7 +65,7 @@ - + \n\n\n", - "scriptMapbox": "\n\n\n\n\n\n" + "script": "\n\n\n\n\n\n", + "scriptMapbox": "\n\n\n\n\n\n" } } ] @@ -1126,7 +1126,7 @@ "bundle": "regions-dashboard", "scriptUrl": "./regions-dashboard/regions-dashboard.js", "output": "dx-maps/regions-dashboard/regions-dashboard.js", - "integrity": "sha384-G/ip3BKDre+u59aTOCgbJTMnG9Alb+dbrkt6YIw2TqbNG6PGreXCMqjFLfhrBesZ", + "integrity": "sha384-ZvJGcuWsTs4ZvI11xU4ugS85NMHR57ddkjh2134qmd77FNq438z9KHHP4L2pSrDl", "elements": [ "regions-dashboard" ], @@ -1149,8 +1149,8 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n\n\n", - "scriptMapbox": "\n\n\n\n\n\n" + "script": "\n\n\n\n\n\n", + "scriptMapbox": "\n\n\n\n\n\n" } }, { @@ -1166,7 +1166,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -1182,7 +1182,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } } ] diff --git a/public/dx-maps/manifest.json b/public/dx-maps/manifest.json index 0d6569f07..aa780d738 100644 --- a/public/dx-maps/manifest.json +++ b/public/dx-maps/manifest.json @@ -171,7 +171,7 @@ "bundle": "country-map", "scriptUrl": "./country-map/country-map.js", "output": "dx-maps/country-map/country-map.js", - "integrity": "sha384-nJSkdmu0Z6cfzBHjAc/LtUhyLupyd5cb9dwOtBzytX6byz4MaX4nHyPT3I2mDS6C", + "integrity": "sha384-aJ/I39YAhzKlQNUEeI0jsEytEOO0ZZ+/9Ww13BzQeZfhK4yGbMcv6YRu4l8oh3VG", "elements": [ "doxa-country-map" ], @@ -190,8 +190,8 @@ "scriptUrl": "./country-map/country-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n\n\n", - "scriptMapbox": "\n\n\n\n\n\n" + "script": "\n\n\n\n\n\n", + "scriptMapbox": "\n\n\n\n\n\n" } } ] @@ -1126,7 +1126,7 @@ "bundle": "regions-dashboard", "scriptUrl": "./regions-dashboard/regions-dashboard.js", "output": "dx-maps/regions-dashboard/regions-dashboard.js", - "integrity": "sha384-G/ip3BKDre+u59aTOCgbJTMnG9Alb+dbrkt6YIw2TqbNG6PGreXCMqjFLfhrBesZ", + "integrity": "sha384-ZvJGcuWsTs4ZvI11xU4ugS85NMHR57ddkjh2134qmd77FNq438z9KHHP4L2pSrDl", "elements": [ "regions-dashboard" ], @@ -1149,8 +1149,8 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n\n\n", - "scriptMapbox": "\n\n\n\n\n\n" + "script": "\n\n\n\n\n\n", + "scriptMapbox": "\n\n\n\n\n\n" } }, { @@ -1166,7 +1166,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -1182,7 +1182,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } } ] diff --git a/public/dx-maps/regions-dashboard/region-dashboards/index.html b/public/dx-maps/regions-dashboard/region-dashboards/index.html index 93c2c1abb..57d44b00f 100644 --- a/public/dx-maps/regions-dashboard/region-dashboards/index.html +++ b/public/dx-maps/regions-dashboard/region-dashboards/index.html @@ -65,7 +65,7 @@ - + - + - +