diff --git a/data/posters/country-abw.webp b/data/posters/country-abw.webp index cd7a1b14f..477c531b5 100644 Binary files a/data/posters/country-abw.webp and b/data/posters/country-abw.webp differ diff --git a/data/posters/country-afg.webp b/data/posters/country-afg.webp index f63d712dd..bf255019a 100644 Binary files a/data/posters/country-afg.webp and b/data/posters/country-afg.webp differ diff --git a/data/posters/country-ago.webp b/data/posters/country-ago.webp index 0c7025052..6305becc7 100644 Binary files a/data/posters/country-ago.webp and b/data/posters/country-ago.webp differ diff --git a/data/posters/country-alb.webp b/data/posters/country-alb.webp index e0ab42c65..adf48fc25 100644 Binary files a/data/posters/country-alb.webp and b/data/posters/country-alb.webp differ diff --git a/data/posters/country-and.webp b/data/posters/country-and.webp index bf7041c4b..a5cc77f9a 100644 Binary files a/data/posters/country-and.webp and b/data/posters/country-and.webp differ diff --git a/data/posters/country-are.webp b/data/posters/country-are.webp index 468f1636b..08b79107c 100644 Binary files a/data/posters/country-are.webp and b/data/posters/country-are.webp differ diff --git a/data/posters/country-arm.webp b/data/posters/country-arm.webp index b6710c830..14eed3be5 100644 Binary files a/data/posters/country-arm.webp and b/data/posters/country-arm.webp differ diff --git a/data/posters/country-asm.webp b/data/posters/country-asm.webp index 40c1637e9..b5b2b2881 100644 Binary files a/data/posters/country-asm.webp and b/data/posters/country-asm.webp differ diff --git a/data/posters/country-atg.webp b/data/posters/country-atg.webp index 0f05690d5..9f789a7ba 100644 Binary files a/data/posters/country-atg.webp and b/data/posters/country-atg.webp differ diff --git a/data/posters/country-aze.webp b/data/posters/country-aze.webp index d8305f946..093febed4 100644 Binary files a/data/posters/country-aze.webp and b/data/posters/country-aze.webp differ diff --git a/data/posters/country-ben.webp b/data/posters/country-ben.webp index 8e78a6b24..4df6f2a57 100644 Binary files a/data/posters/country-ben.webp and b/data/posters/country-ben.webp differ diff --git a/data/posters/country-bfa.webp b/data/posters/country-bfa.webp index 3053be865..d51bcae36 100644 Binary files a/data/posters/country-bfa.webp and b/data/posters/country-bfa.webp differ diff --git a/data/posters/country-bgd.webp b/data/posters/country-bgd.webp index 7e5ded1dd..bb111fe7b 100644 Binary files a/data/posters/country-bgd.webp and b/data/posters/country-bgd.webp differ diff --git a/data/posters/country-bgr.webp b/data/posters/country-bgr.webp index c960fd8af..59c813555 100644 Binary files a/data/posters/country-bgr.webp and b/data/posters/country-bgr.webp differ diff --git a/data/posters/country-bhr.webp b/data/posters/country-bhr.webp index 72e899d3d..6ad8ff493 100644 Binary files a/data/posters/country-bhr.webp and b/data/posters/country-bhr.webp differ diff --git a/data/posters/country-bhs.webp b/data/posters/country-bhs.webp index 0ce8f7e7b..4e1839aef 100644 Binary files a/data/posters/country-bhs.webp and b/data/posters/country-bhs.webp differ diff --git a/data/posters/country-bih.webp b/data/posters/country-bih.webp index ad93e20a6..65716a9a5 100644 Binary files a/data/posters/country-bih.webp and b/data/posters/country-bih.webp differ diff --git a/data/posters/country-blm.webp b/data/posters/country-blm.webp index 00de104b6..97a7344ff 100644 Binary files a/data/posters/country-blm.webp and b/data/posters/country-blm.webp differ diff --git a/data/posters/country-blr.webp b/data/posters/country-blr.webp index 6040a050e..f8a28d013 100644 Binary files a/data/posters/country-blr.webp and b/data/posters/country-blr.webp differ diff --git a/data/posters/country-bmu.webp b/data/posters/country-bmu.webp index 9aaaf9af3..5932f595e 100644 Binary files a/data/posters/country-bmu.webp and b/data/posters/country-bmu.webp differ diff --git a/data/posters/country-bol.webp b/data/posters/country-bol.webp index ab26a190e..b56f48dc9 100644 Binary files a/data/posters/country-bol.webp and b/data/posters/country-bol.webp differ diff --git a/data/posters/country-bra.webp b/data/posters/country-bra.webp index 72bbe7cca..b6dddc178 100644 Binary files a/data/posters/country-bra.webp and b/data/posters/country-bra.webp differ diff --git a/data/posters/country-brb.webp b/data/posters/country-brb.webp index d86b06a4f..7987658f8 100644 Binary files a/data/posters/country-brb.webp and b/data/posters/country-brb.webp differ diff --git a/data/posters/country-brn.webp b/data/posters/country-brn.webp index 3c4d7f356..b624dfc8a 100644 Binary files a/data/posters/country-brn.webp and b/data/posters/country-brn.webp differ diff --git a/data/posters/country-btn.webp b/data/posters/country-btn.webp index e8a68858f..96700b67a 100644 Binary files a/data/posters/country-btn.webp and b/data/posters/country-btn.webp differ diff --git a/data/posters/country-caf.webp b/data/posters/country-caf.webp index af0223dda..3df55fd59 100644 Binary files a/data/posters/country-caf.webp and b/data/posters/country-caf.webp differ diff --git a/data/posters/country-cck.webp b/data/posters/country-cck.webp index 23c8cf636..8d26a3e03 100644 Binary files a/data/posters/country-cck.webp and b/data/posters/country-cck.webp differ diff --git a/data/posters/country-civ.webp b/data/posters/country-civ.webp index 67bc93813..3cf64c4a4 100644 Binary files a/data/posters/country-civ.webp and b/data/posters/country-civ.webp differ diff --git a/data/posters/country-cmr.webp b/data/posters/country-cmr.webp index 43dbd75bc..e239e2141 100644 Binary files a/data/posters/country-cmr.webp and b/data/posters/country-cmr.webp differ diff --git a/data/posters/country-cod.webp b/data/posters/country-cod.webp index 2b04856ab..385ee45e9 100644 Binary files a/data/posters/country-cod.webp and b/data/posters/country-cod.webp differ diff --git a/data/posters/country-cog.webp b/data/posters/country-cog.webp index edf9cbc83..0dcff4f3a 100644 Binary files a/data/posters/country-cog.webp and b/data/posters/country-cog.webp differ diff --git a/data/posters/country-cok.webp b/data/posters/country-cok.webp index 21a33ca99..ff1372c31 100644 Binary files a/data/posters/country-cok.webp and b/data/posters/country-cok.webp differ diff --git a/data/posters/country-col.webp b/data/posters/country-col.webp index a980bbf89..054e361d3 100644 Binary files a/data/posters/country-col.webp and b/data/posters/country-col.webp differ diff --git a/data/posters/country-com.webp b/data/posters/country-com.webp index 0f6b42246..857bb4ee6 100644 Binary files a/data/posters/country-com.webp and b/data/posters/country-com.webp differ diff --git a/data/posters/country-cub.webp b/data/posters/country-cub.webp index 7ca3fd6a1..18ccba98e 100644 Binary files a/data/posters/country-cub.webp and b/data/posters/country-cub.webp differ diff --git a/data/posters/country-cuw.webp b/data/posters/country-cuw.webp index 0b13ca7d8..3f8bdff79 100644 Binary files a/data/posters/country-cuw.webp and b/data/posters/country-cuw.webp differ diff --git a/data/posters/country-cxr.webp b/data/posters/country-cxr.webp index cea7fbbf7..97dcb665c 100644 Binary files a/data/posters/country-cxr.webp and b/data/posters/country-cxr.webp differ diff --git a/data/posters/country-cym.webp b/data/posters/country-cym.webp index 3e16450aa..f64f68a40 100644 Binary files a/data/posters/country-cym.webp and b/data/posters/country-cym.webp differ diff --git a/data/posters/country-cyp.webp b/data/posters/country-cyp.webp index 76dc3cf60..6056322d9 100644 Binary files a/data/posters/country-cyp.webp and b/data/posters/country-cyp.webp differ diff --git a/data/posters/country-cze.webp b/data/posters/country-cze.webp index 1385a2635..44b1f6e03 100644 Binary files a/data/posters/country-cze.webp and b/data/posters/country-cze.webp differ diff --git a/data/posters/country-dji.webp b/data/posters/country-dji.webp index 57313b7f1..607e67690 100644 Binary files a/data/posters/country-dji.webp and b/data/posters/country-dji.webp differ diff --git a/data/posters/country-dma.webp b/data/posters/country-dma.webp index 0d07d81a3..99416ddf5 100644 Binary files a/data/posters/country-dma.webp and b/data/posters/country-dma.webp differ diff --git a/data/posters/country-dza.webp b/data/posters/country-dza.webp index 81452ef65..77a89b488 100644 Binary files a/data/posters/country-dza.webp and b/data/posters/country-dza.webp differ diff --git a/data/posters/country-ecu.webp b/data/posters/country-ecu.webp index 2788506fb..3e058cfd5 100644 Binary files a/data/posters/country-ecu.webp and b/data/posters/country-ecu.webp differ diff --git a/data/posters/country-egy.webp b/data/posters/country-egy.webp index d8d511b5a..900675502 100644 Binary files a/data/posters/country-egy.webp and b/data/posters/country-egy.webp differ diff --git a/data/posters/country-eri.webp b/data/posters/country-eri.webp index 7f4c1291d..7173ec934 100644 Binary files a/data/posters/country-eri.webp and b/data/posters/country-eri.webp differ diff --git a/data/posters/country-esh.webp b/data/posters/country-esh.webp index 02eaa9303..d35c96e22 100644 Binary files a/data/posters/country-esh.webp and b/data/posters/country-esh.webp differ diff --git a/data/posters/country-esp.webp b/data/posters/country-esp.webp index 0f9464d13..24688bb2a 100644 Binary files a/data/posters/country-esp.webp and b/data/posters/country-esp.webp differ diff --git a/data/posters/country-eth.webp b/data/posters/country-eth.webp index 5f800cc66..673d59328 100644 Binary files a/data/posters/country-eth.webp and b/data/posters/country-eth.webp differ diff --git a/data/posters/country-fin.webp b/data/posters/country-fin.webp index 23162c7b3..b0fd906d6 100644 Binary files a/data/posters/country-fin.webp and b/data/posters/country-fin.webp differ diff --git a/data/posters/country-fji.webp b/data/posters/country-fji.webp index 38acf1a7e..184384381 100644 Binary files a/data/posters/country-fji.webp and b/data/posters/country-fji.webp differ diff --git a/data/posters/country-fro.webp b/data/posters/country-fro.webp index cb0379c45..29eba956a 100644 Binary files a/data/posters/country-fro.webp and b/data/posters/country-fro.webp differ diff --git a/data/posters/country-fsm.webp b/data/posters/country-fsm.webp index c4c3a5c71..0f1e41a83 100644 Binary files a/data/posters/country-fsm.webp and b/data/posters/country-fsm.webp differ diff --git a/data/posters/country-gab.webp b/data/posters/country-gab.webp index 876ed5a68..6584c810f 100644 Binary files a/data/posters/country-gab.webp and b/data/posters/country-gab.webp differ diff --git a/data/posters/country-geo.webp b/data/posters/country-geo.webp index da8383e69..84c282984 100644 Binary files a/data/posters/country-geo.webp and b/data/posters/country-geo.webp differ diff --git a/data/posters/country-ggy.webp b/data/posters/country-ggy.webp index d027c538d..7fb048e13 100644 Binary files a/data/posters/country-ggy.webp and b/data/posters/country-ggy.webp differ diff --git a/data/posters/country-gha.webp b/data/posters/country-gha.webp index 43d7890f6..c11abe055 100644 Binary files a/data/posters/country-gha.webp and b/data/posters/country-gha.webp differ diff --git a/data/posters/country-gib.webp b/data/posters/country-gib.webp index b8953ea1f..bb9f31b7d 100644 Binary files a/data/posters/country-gib.webp and b/data/posters/country-gib.webp differ diff --git a/data/posters/country-gin.webp b/data/posters/country-gin.webp index 72c1858f9..c71b0d1d5 100644 Binary files a/data/posters/country-gin.webp and b/data/posters/country-gin.webp differ diff --git a/data/posters/country-glp.webp b/data/posters/country-glp.webp index cb982e874..d0c460705 100644 Binary files a/data/posters/country-glp.webp and b/data/posters/country-glp.webp differ diff --git a/data/posters/country-gmb.webp b/data/posters/country-gmb.webp index b66239e4b..49ead492d 100644 Binary files a/data/posters/country-gmb.webp and b/data/posters/country-gmb.webp differ diff --git a/data/posters/country-gnb.webp b/data/posters/country-gnb.webp index 25825f7bb..11e72fc0d 100644 Binary files a/data/posters/country-gnb.webp and b/data/posters/country-gnb.webp differ diff --git a/data/posters/country-gnq.webp b/data/posters/country-gnq.webp index 08149b69d..41156b7fe 100644 Binary files a/data/posters/country-gnq.webp and b/data/posters/country-gnq.webp differ diff --git a/data/posters/country-grc.webp b/data/posters/country-grc.webp index 892c3c30a..1503e593d 100644 Binary files a/data/posters/country-grc.webp and b/data/posters/country-grc.webp differ diff --git a/data/posters/country-grd.webp b/data/posters/country-grd.webp index cba72954b..046a470bc 100644 Binary files a/data/posters/country-grd.webp and b/data/posters/country-grd.webp differ diff --git a/data/posters/country-guf.webp b/data/posters/country-guf.webp index 81c95ecaf..b48c26f4c 100644 Binary files a/data/posters/country-guf.webp and b/data/posters/country-guf.webp differ diff --git a/data/posters/country-gum.webp b/data/posters/country-gum.webp index b026a4e9c..ec6b372ec 100644 Binary files a/data/posters/country-gum.webp and b/data/posters/country-gum.webp differ diff --git a/data/posters/country-guy.webp b/data/posters/country-guy.webp index 4b0c06725..e796714a0 100644 Binary files a/data/posters/country-guy.webp and b/data/posters/country-guy.webp differ diff --git a/data/posters/country-hkg.webp b/data/posters/country-hkg.webp index a481cd7c6..657009bfc 100644 Binary files a/data/posters/country-hkg.webp and b/data/posters/country-hkg.webp differ diff --git a/data/posters/country-idn.webp b/data/posters/country-idn.webp index 0a091ee89..b7b370eeb 100644 Binary files a/data/posters/country-idn.webp and b/data/posters/country-idn.webp differ diff --git a/data/posters/country-irn.webp b/data/posters/country-irn.webp index e3c7d6125..bd5119fe9 100644 Binary files a/data/posters/country-irn.webp and b/data/posters/country-irn.webp differ diff --git a/data/posters/country-irq.webp b/data/posters/country-irq.webp index 7e4bc9cea..93d18eff0 100644 Binary files a/data/posters/country-irq.webp and b/data/posters/country-irq.webp differ diff --git a/data/posters/country-isl.webp b/data/posters/country-isl.webp index 4080c784c..2d2b37be4 100644 Binary files a/data/posters/country-isl.webp and b/data/posters/country-isl.webp differ diff --git a/data/posters/country-isr.webp b/data/posters/country-isr.webp index 9d1285c04..aebcf1d00 100644 Binary files a/data/posters/country-isr.webp and b/data/posters/country-isr.webp differ diff --git a/data/posters/country-jam.webp b/data/posters/country-jam.webp index c5bf3a91a..f406af298 100644 Binary files a/data/posters/country-jam.webp and b/data/posters/country-jam.webp differ diff --git a/data/posters/country-jey.webp b/data/posters/country-jey.webp index ef3431522..7f580d4c5 100644 Binary files a/data/posters/country-jey.webp and b/data/posters/country-jey.webp differ diff --git a/data/posters/country-jor.webp b/data/posters/country-jor.webp index ac5ae3386..f59fbc330 100644 Binary files a/data/posters/country-jor.webp and b/data/posters/country-jor.webp differ diff --git a/data/posters/country-jpn.webp b/data/posters/country-jpn.webp index 7f872187c..0ad0c6220 100644 Binary files a/data/posters/country-jpn.webp and b/data/posters/country-jpn.webp differ diff --git a/data/posters/country-kaz.webp b/data/posters/country-kaz.webp index 123dffc30..eed8d0034 100644 Binary files a/data/posters/country-kaz.webp and b/data/posters/country-kaz.webp differ diff --git a/data/posters/country-ken.webp b/data/posters/country-ken.webp index 9eaaec327..a92127234 100644 Binary files a/data/posters/country-ken.webp and b/data/posters/country-ken.webp differ diff --git a/data/posters/country-kgz.webp b/data/posters/country-kgz.webp index b975170dc..48e43f356 100644 Binary files a/data/posters/country-kgz.webp and b/data/posters/country-kgz.webp differ diff --git a/data/posters/country-khm.webp b/data/posters/country-khm.webp index b6dea61e0..f11f8c4f3 100644 Binary files a/data/posters/country-khm.webp and b/data/posters/country-khm.webp differ diff --git a/data/posters/country-kir.webp b/data/posters/country-kir.webp index ae9f04e62..ad0cf4d03 100644 Binary files a/data/posters/country-kir.webp and b/data/posters/country-kir.webp differ diff --git a/data/posters/country-kos.webp b/data/posters/country-kos.webp index b812f4a85..3b6f40e39 100644 Binary files a/data/posters/country-kos.webp and b/data/posters/country-kos.webp differ diff --git a/data/posters/country-kwt.webp b/data/posters/country-kwt.webp index 16377f9eb..24544b733 100644 Binary files a/data/posters/country-kwt.webp and b/data/posters/country-kwt.webp differ diff --git a/data/posters/country-lao.webp b/data/posters/country-lao.webp index 837bc48d6..93c1c0cf4 100644 Binary files a/data/posters/country-lao.webp and b/data/posters/country-lao.webp differ diff --git a/data/posters/country-lbn.webp b/data/posters/country-lbn.webp index 42c677f6a..fdad487ae 100644 Binary files a/data/posters/country-lbn.webp and b/data/posters/country-lbn.webp differ diff --git a/data/posters/country-lbr.webp b/data/posters/country-lbr.webp index 58978a7e3..676c7d10c 100644 Binary files a/data/posters/country-lbr.webp and b/data/posters/country-lbr.webp differ diff --git a/data/posters/country-lby.webp b/data/posters/country-lby.webp index 386631347..6ffc4e8f3 100644 Binary files a/data/posters/country-lby.webp and b/data/posters/country-lby.webp differ diff --git a/data/posters/country-lca.webp b/data/posters/country-lca.webp index db8b47708..e3ebb7bc4 100644 Binary files a/data/posters/country-lca.webp and b/data/posters/country-lca.webp differ diff --git a/data/posters/country-lie.webp b/data/posters/country-lie.webp index c95691dfb..f4fb2dba4 100644 Binary files a/data/posters/country-lie.webp and b/data/posters/country-lie.webp differ diff --git a/data/posters/country-lka.webp b/data/posters/country-lka.webp index 17fbf153f..ef5a35a30 100644 Binary files a/data/posters/country-lka.webp and b/data/posters/country-lka.webp differ diff --git a/data/posters/country-lux.webp b/data/posters/country-lux.webp index 099df0546..9b4c1b73f 100644 Binary files a/data/posters/country-lux.webp and b/data/posters/country-lux.webp differ diff --git a/data/posters/country-mac.webp b/data/posters/country-mac.webp index 91c5fb133..bd1d941be 100644 Binary files a/data/posters/country-mac.webp and b/data/posters/country-mac.webp differ diff --git a/data/posters/country-mar.webp b/data/posters/country-mar.webp index 96c83e7a0..c6df6ed8f 100644 Binary files a/data/posters/country-mar.webp and b/data/posters/country-mar.webp differ diff --git a/data/posters/country-mco.webp b/data/posters/country-mco.webp index 543a616b9..c19b643bb 100644 Binary files a/data/posters/country-mco.webp and b/data/posters/country-mco.webp differ diff --git a/data/posters/country-mdv.webp b/data/posters/country-mdv.webp index 7f8612b27..e549cd182 100644 Binary files a/data/posters/country-mdv.webp and b/data/posters/country-mdv.webp differ diff --git a/data/posters/country-mhl.webp b/data/posters/country-mhl.webp index a5f840cd9..c544bc3f9 100644 Binary files a/data/posters/country-mhl.webp and b/data/posters/country-mhl.webp differ diff --git a/data/posters/country-mli.webp b/data/posters/country-mli.webp index 183fbfa8f..9139f6c1b 100644 Binary files a/data/posters/country-mli.webp and b/data/posters/country-mli.webp differ diff --git a/data/posters/country-mlt.webp b/data/posters/country-mlt.webp index 07d668aae..732997f42 100644 Binary files a/data/posters/country-mlt.webp and b/data/posters/country-mlt.webp differ diff --git a/data/posters/country-mmr.webp b/data/posters/country-mmr.webp index e21048af8..4acaa421a 100644 Binary files a/data/posters/country-mmr.webp and b/data/posters/country-mmr.webp differ diff --git a/data/posters/country-mne.webp b/data/posters/country-mne.webp index e42d40be8..20e24409d 100644 Binary files a/data/posters/country-mne.webp and b/data/posters/country-mne.webp differ diff --git a/data/posters/country-mng.webp b/data/posters/country-mng.webp index 95ec5d8cb..8e79e278f 100644 Binary files a/data/posters/country-mng.webp and b/data/posters/country-mng.webp differ diff --git a/data/posters/country-mnp.webp b/data/posters/country-mnp.webp index 323f763ba..1a28d3c68 100644 Binary files a/data/posters/country-mnp.webp and b/data/posters/country-mnp.webp differ diff --git a/data/posters/country-moz.webp b/data/posters/country-moz.webp index 27ea07269..d9d171d88 100644 Binary files a/data/posters/country-moz.webp and b/data/posters/country-moz.webp differ diff --git a/data/posters/country-mrt.webp b/data/posters/country-mrt.webp index 6bf7a1fc8..5ec3bc017 100644 Binary files a/data/posters/country-mrt.webp and b/data/posters/country-mrt.webp differ diff --git a/data/posters/country-msr.webp b/data/posters/country-msr.webp index dc5691c05..b6063cbd7 100644 Binary files a/data/posters/country-msr.webp and b/data/posters/country-msr.webp differ diff --git a/data/posters/country-mus.webp b/data/posters/country-mus.webp index 9982a5b62..e1c49f99c 100644 Binary files a/data/posters/country-mus.webp and b/data/posters/country-mus.webp differ diff --git a/data/posters/country-mwi.webp b/data/posters/country-mwi.webp index e97382492..205cd58d9 100644 Binary files a/data/posters/country-mwi.webp and b/data/posters/country-mwi.webp differ diff --git a/data/posters/country-mys.webp b/data/posters/country-mys.webp index 1de9b3d05..f8aaecc8d 100644 Binary files a/data/posters/country-mys.webp and b/data/posters/country-mys.webp differ diff --git a/data/posters/country-myt.webp b/data/posters/country-myt.webp index 6dfcac727..8d2b38f8c 100644 Binary files a/data/posters/country-myt.webp and b/data/posters/country-myt.webp differ diff --git a/data/posters/country-nam.webp b/data/posters/country-nam.webp index 9db3bf6df..0bcc099c8 100644 Binary files a/data/posters/country-nam.webp and b/data/posters/country-nam.webp differ diff --git a/data/posters/country-ncl.webp b/data/posters/country-ncl.webp index bdeb77c87..f1b5ab08d 100644 Binary files a/data/posters/country-ncl.webp and b/data/posters/country-ncl.webp differ diff --git a/data/posters/country-ner.webp b/data/posters/country-ner.webp index a06ff8d87..5a2f11c10 100644 Binary files a/data/posters/country-ner.webp and b/data/posters/country-ner.webp differ diff --git a/data/posters/country-nfk.webp b/data/posters/country-nfk.webp index 4f6f3f699..978729a6e 100644 Binary files a/data/posters/country-nfk.webp and b/data/posters/country-nfk.webp differ diff --git a/data/posters/country-nga.webp b/data/posters/country-nga.webp index 56a329dd5..8095e8dd7 100644 Binary files a/data/posters/country-nga.webp and b/data/posters/country-nga.webp differ diff --git a/data/posters/country-niu.webp b/data/posters/country-niu.webp index 5c1733c3a..ad71360e0 100644 Binary files a/data/posters/country-niu.webp and b/data/posters/country-niu.webp differ diff --git a/data/posters/country-npl.webp b/data/posters/country-npl.webp index fbc26ce6e..69c236a39 100644 Binary files a/data/posters/country-npl.webp and b/data/posters/country-npl.webp differ diff --git a/data/posters/country-nzl.webp b/data/posters/country-nzl.webp index b847a9ce6..1a374e8d6 100644 Binary files a/data/posters/country-nzl.webp and b/data/posters/country-nzl.webp differ diff --git a/data/posters/country-omn.webp b/data/posters/country-omn.webp index b066d90d5..435f3a921 100644 Binary files a/data/posters/country-omn.webp and b/data/posters/country-omn.webp differ diff --git a/data/posters/country-pak.webp b/data/posters/country-pak.webp index 90a764c7f..ac6cae40f 100644 Binary files a/data/posters/country-pak.webp and b/data/posters/country-pak.webp differ diff --git a/data/posters/country-pan.webp b/data/posters/country-pan.webp index 2ce8f458f..7dd2abfc3 100644 Binary files a/data/posters/country-pan.webp and b/data/posters/country-pan.webp differ diff --git a/data/posters/country-per.webp b/data/posters/country-per.webp index 6c717293f..9abe60433 100644 Binary files a/data/posters/country-per.webp and b/data/posters/country-per.webp differ diff --git a/data/posters/country-phl.webp b/data/posters/country-phl.webp index 381ceaf46..eef15051e 100644 Binary files a/data/posters/country-phl.webp and b/data/posters/country-phl.webp differ diff --git a/data/posters/country-plw.webp b/data/posters/country-plw.webp index b80244c69..18a8fc6ef 100644 Binary files a/data/posters/country-plw.webp and b/data/posters/country-plw.webp differ diff --git a/data/posters/country-png.webp b/data/posters/country-png.webp index 76cc3894b..4840cb8aa 100644 Binary files a/data/posters/country-png.webp and b/data/posters/country-png.webp differ diff --git a/data/posters/country-prk.webp b/data/posters/country-prk.webp index c45b3402e..b70c04d95 100644 Binary files a/data/posters/country-prk.webp and b/data/posters/country-prk.webp differ diff --git a/data/posters/country-pry.webp b/data/posters/country-pry.webp index 4a471aaeb..56c938e7e 100644 Binary files a/data/posters/country-pry.webp and b/data/posters/country-pry.webp differ diff --git a/data/posters/country-pse.webp b/data/posters/country-pse.webp index 320f9e696..e09ea571b 100644 Binary files a/data/posters/country-pse.webp and b/data/posters/country-pse.webp differ diff --git a/data/posters/country-pyf.webp b/data/posters/country-pyf.webp index af4962a33..7a4114b46 100644 Binary files a/data/posters/country-pyf.webp and b/data/posters/country-pyf.webp differ diff --git a/data/posters/country-qat.webp b/data/posters/country-qat.webp index 3bd1c2e8b..7a33468aa 100644 Binary files a/data/posters/country-qat.webp and b/data/posters/country-qat.webp differ diff --git a/data/posters/country-rus.webp b/data/posters/country-rus.webp index ae522d397..57fc7b9a0 100644 Binary files a/data/posters/country-rus.webp and b/data/posters/country-rus.webp differ diff --git a/data/posters/country-sau.webp b/data/posters/country-sau.webp index f524e76ce..b67e9782b 100644 Binary files a/data/posters/country-sau.webp and b/data/posters/country-sau.webp differ diff --git a/data/posters/country-sdn.webp b/data/posters/country-sdn.webp index cebb182ad..9a855344c 100644 Binary files a/data/posters/country-sdn.webp and b/data/posters/country-sdn.webp differ diff --git a/data/posters/country-sen.webp b/data/posters/country-sen.webp index 6e5bc484c..4107502c8 100644 Binary files a/data/posters/country-sen.webp and b/data/posters/country-sen.webp differ diff --git a/data/posters/country-shn.webp b/data/posters/country-shn.webp index f32bdb9f7..8d36896ae 100644 Binary files a/data/posters/country-shn.webp and b/data/posters/country-shn.webp differ diff --git a/data/posters/country-sjm.webp b/data/posters/country-sjm.webp index 12edcd4e7..ba3845d2d 100644 Binary files a/data/posters/country-sjm.webp and b/data/posters/country-sjm.webp differ diff --git a/data/posters/country-slb.webp b/data/posters/country-slb.webp index 9e344b94a..8a5624d48 100644 Binary files a/data/posters/country-slb.webp and b/data/posters/country-slb.webp differ diff --git a/data/posters/country-sle.webp b/data/posters/country-sle.webp index 9773c9909..f6fc116f0 100644 Binary files a/data/posters/country-sle.webp and b/data/posters/country-sle.webp differ diff --git a/data/posters/country-smr.webp b/data/posters/country-smr.webp index ab49cd90b..db15f66a3 100644 Binary files a/data/posters/country-smr.webp and b/data/posters/country-smr.webp differ diff --git a/data/posters/country-som.webp b/data/posters/country-som.webp index 49afcadac..9bed71d3f 100644 Binary files a/data/posters/country-som.webp and b/data/posters/country-som.webp differ diff --git a/data/posters/country-ssd.webp b/data/posters/country-ssd.webp index 69fed44a2..6a415a556 100644 Binary files a/data/posters/country-ssd.webp and b/data/posters/country-ssd.webp differ diff --git a/data/posters/country-stp.webp b/data/posters/country-stp.webp index 49e2ce7d7..4afd6a0fd 100644 Binary files a/data/posters/country-stp.webp and b/data/posters/country-stp.webp differ diff --git a/data/posters/country-sur.webp b/data/posters/country-sur.webp index 087f08bc9..51122d949 100644 Binary files a/data/posters/country-sur.webp and b/data/posters/country-sur.webp differ diff --git a/data/posters/country-swe.webp b/data/posters/country-swe.webp index 787f4b4ce..54192581d 100644 Binary files a/data/posters/country-swe.webp and b/data/posters/country-swe.webp differ diff --git a/data/posters/country-swz.webp b/data/posters/country-swz.webp index 9a084b4d4..c06e806be 100644 Binary files a/data/posters/country-swz.webp and b/data/posters/country-swz.webp differ diff --git a/data/posters/country-sxm.webp b/data/posters/country-sxm.webp index 8c9f3bee0..9dde70a88 100644 Binary files a/data/posters/country-sxm.webp and b/data/posters/country-sxm.webp differ diff --git a/data/posters/country-syr.webp b/data/posters/country-syr.webp index 141ea2970..8602b9c40 100644 Binary files a/data/posters/country-syr.webp and b/data/posters/country-syr.webp differ diff --git a/data/posters/country-tca.webp b/data/posters/country-tca.webp index 1d008c358..4dd206183 100644 Binary files a/data/posters/country-tca.webp and b/data/posters/country-tca.webp differ diff --git a/data/posters/country-tcd.webp b/data/posters/country-tcd.webp index d446e5b22..fb926a4dd 100644 Binary files a/data/posters/country-tcd.webp and b/data/posters/country-tcd.webp differ diff --git a/data/posters/country-tgo.webp b/data/posters/country-tgo.webp index bdcca4ba8..dd8fe7e8b 100644 Binary files a/data/posters/country-tgo.webp and b/data/posters/country-tgo.webp differ diff --git a/data/posters/country-tha.webp b/data/posters/country-tha.webp index 1a9676ba4..b3dc88f01 100644 Binary files a/data/posters/country-tha.webp and b/data/posters/country-tha.webp differ diff --git a/data/posters/country-tjk.webp b/data/posters/country-tjk.webp index 0eef944fd..c12ff8719 100644 Binary files a/data/posters/country-tjk.webp and b/data/posters/country-tjk.webp differ diff --git a/data/posters/country-tkl.webp b/data/posters/country-tkl.webp index 9db15ecfb..ee29891a6 100644 Binary files a/data/posters/country-tkl.webp and b/data/posters/country-tkl.webp differ diff --git a/data/posters/country-ton.webp b/data/posters/country-ton.webp index b74d62207..8393a02e3 100644 Binary files a/data/posters/country-ton.webp and b/data/posters/country-ton.webp differ diff --git a/data/posters/country-tun.webp b/data/posters/country-tun.webp index 4d611ea1c..e1f5f859c 100644 Binary files a/data/posters/country-tun.webp and b/data/posters/country-tun.webp differ diff --git a/data/posters/country-tur.webp b/data/posters/country-tur.webp index 6ac019d53..0c6f20e3f 100644 Binary files a/data/posters/country-tur.webp and b/data/posters/country-tur.webp differ diff --git a/data/posters/country-tza.webp b/data/posters/country-tza.webp index 981019b99..d7cab1435 100644 Binary files a/data/posters/country-tza.webp and b/data/posters/country-tza.webp differ diff --git a/data/posters/country-uga.webp b/data/posters/country-uga.webp index 8c6e36d96..35cb3848e 100644 Binary files a/data/posters/country-uga.webp and b/data/posters/country-uga.webp differ diff --git a/data/posters/country-usa.webp b/data/posters/country-usa.webp index 8be1be32c..d39140eb7 100644 Binary files a/data/posters/country-usa.webp and b/data/posters/country-usa.webp differ diff --git a/data/posters/country-uzb.webp b/data/posters/country-uzb.webp index dfbf8fb62..d6edb256e 100644 Binary files a/data/posters/country-uzb.webp and b/data/posters/country-uzb.webp differ diff --git a/data/posters/country-vct.webp b/data/posters/country-vct.webp index 83943df4b..d8ea9b873 100644 Binary files a/data/posters/country-vct.webp and b/data/posters/country-vct.webp differ diff --git a/data/posters/country-ven.webp b/data/posters/country-ven.webp index 12b837ce1..6f0a0d25d 100644 Binary files a/data/posters/country-ven.webp and b/data/posters/country-ven.webp differ diff --git a/data/posters/country-vgb.webp b/data/posters/country-vgb.webp index d599cc28e..620d3caa8 100644 Binary files a/data/posters/country-vgb.webp and b/data/posters/country-vgb.webp differ diff --git a/data/posters/country-vir.webp b/data/posters/country-vir.webp index ac3ac59e8..39022e434 100644 Binary files a/data/posters/country-vir.webp and b/data/posters/country-vir.webp differ diff --git a/data/posters/country-vnm.webp b/data/posters/country-vnm.webp index 1e24513df..fccd7e79c 100644 Binary files a/data/posters/country-vnm.webp and b/data/posters/country-vnm.webp differ diff --git a/data/posters/country-vut.webp b/data/posters/country-vut.webp index 28906a854..b45a25a72 100644 Binary files a/data/posters/country-vut.webp and b/data/posters/country-vut.webp differ diff --git a/data/posters/country-wlf.webp b/data/posters/country-wlf.webp index d0310f2aa..f3efdbe16 100644 Binary files a/data/posters/country-wlf.webp and b/data/posters/country-wlf.webp differ diff --git a/data/posters/country-wsm.webp b/data/posters/country-wsm.webp index e379053d3..b4f0fbb4a 100644 Binary files a/data/posters/country-wsm.webp and b/data/posters/country-wsm.webp differ diff --git a/data/posters/country-yem.webp b/data/posters/country-yem.webp index 82838ecd0..4b11f07c6 100644 Binary files a/data/posters/country-yem.webp and b/data/posters/country-yem.webp differ diff --git a/data/posters/country-zaf.webp b/data/posters/country-zaf.webp index 9e630212e..78aad3623 100644 Binary files a/data/posters/country-zaf.webp and b/data/posters/country-zaf.webp differ diff --git a/data/posters/country-zmb.webp b/data/posters/country-zmb.webp index 37b5be7e3..b792b2dbe 100644 Binary files a/data/posters/country-zmb.webp and b/data/posters/country-zmb.webp differ diff --git a/data/posters/country-zwe.webp b/data/posters/country-zwe.webp index 2ac065a19..f64114a10 100644 Binary files a/data/posters/country-zwe.webp and b/data/posters/country-zwe.webp differ diff --git a/internal/check-poster-browser-equiv.mjs b/internal/check-poster-browser-equiv.mjs index 4bfd5dff4..2b8d8688f 100644 --- a/internal/check-poster-browser-equiv.mjs +++ b/internal/check-poster-browser-equiv.mjs @@ -121,7 +121,13 @@ const results = [] const series = { totalGroups: tier.reduce((a, x) => a + (x.count || 0), 0), totalLists: tier.length, index: tier.indexOf(c) + 1 } results.push({ what: `${c.id} (3x3 poster, generateCountrySheet)`, browser: await generateCountrySheet({ country: c, records: recs, assetsBase, ISO3_NAME, format: '3x3', series, date: DATE }), - node: nodeSheet({ COUNTRIES: '1', FORMAT: '3x3', SHEET: '3x3', ONLY: c.id }, `${c.id}.html`) }) + // SPARSE on the Node side because a POSTER is generated with SPARSE=1 -- that is how the `posters` + // script builds every stored thumbnail, and how the browser now draws a poster at the click. This + // gate used to compare the dense layout with the dense layout, so it passed while every stored + // thumbnail showed the SPARSE header and every print showed the dense one: a check that agreed + // with itself and with nothing a reader saw. The packet case above stays dense on both sides, + // because packet pages are built without SPARSE. + node: nodeSheet({ COUNTRIES: '1', FORMAT: '3x3', SHEET: '3x3', SPARSE: '1', ONLY: c.id }, `${c.id}.html`) }) } for (const r of results) { diff --git a/library/i18n/locales/ar/connectivity.json b/library/i18n/locales/ar/connectivity.json index 0260d44fb..e35eab64c 100644 --- a/library/i18n/locales/ar/connectivity.json +++ b/library/i18n/locales/ar/connectivity.json @@ -67,7 +67,7 @@ }, "loading": "جارٍ رسم الخريطة…", "ui": { - "showKey": "المفتاح والملاحظات", - "hideKey": "إخفاء المفتاح والملاحظات" + "showKey": "وسيلة الإيضاح والملاحظات", + "hideKey": "إخفاء وسيلة الإيضاح والملاحظات" } } diff --git a/library/i18n/locales/ar/gospel.json b/library/i18n/locales/ar/gospel.json index 292b684ed..e1c7b4d3d 100644 --- a/library/i18n/locales/ar/gospel.json +++ b/library/i18n/locales/ar/gospel.json @@ -413,8 +413,8 @@ "ui": { "noCode": "بلا رمز", "unnamed": "لغة بلا اسم", - "hideKey": "إخفاء المفتاح والمرشِّحات", - "showKey": "المفتاح والمرشِّحات", + "hideKey": "إخفاء وسيلة الإيضاح والمرشِّحات", + "showKey": "وسيلة الإيضاح والمرشِّحات", "largest": "أكبر المجموعات التي لم يُعثر لها على شيء", "nobodyPraying": "لا شيء موجود، ولا أحد يصلّي", "concentrates": "أين تتركّز الفجوة", diff --git a/library/i18n/locales/es/connectivity.json b/library/i18n/locales/es/connectivity.json index 63e3e4971..78b18de3c 100644 --- a/library/i18n/locales/es/connectivity.json +++ b/library/i18n/locales/es/connectivity.json @@ -67,7 +67,7 @@ }, "loading": "Dibujando el mapa…", "ui": { - "showKey": "Clave y notas", - "hideKey": "Ocultar clave y notas" + "showKey": "Leyenda y notas", + "hideKey": "Ocultar leyenda y notas" } } diff --git a/library/i18n/locales/es/gospel.json b/library/i18n/locales/es/gospel.json index da3689efb..420801d9e 100644 --- a/library/i18n/locales/es/gospel.json +++ b/library/i18n/locales/es/gospel.json @@ -413,8 +413,8 @@ "ui": { "noCode": "sin código", "unnamed": "lengua sin nombre", - "hideKey": "Ocultar clave y filtros", - "showKey": "Clave y filtros", + "hideKey": "Ocultar leyenda y filtros", + "showKey": "Leyenda y filtros", "largest": "Pueblos mayores sin nada encontrado", "nobodyPraying": "Nada encontrado, y nadie orando", "concentrates": "Dónde se concentra la brecha", diff --git a/library/packet/poster-render.integrity.js b/library/packet/poster-render.integrity.js index 2724b2e12..e43e022d2 100644 --- a/library/packet/poster-render.integrity.js +++ b/library/packet/poster-render.integrity.js @@ -2,13 +2,13 @@ // The sha384 of library/packet/poster-render.js. The browser fetches the served copy of that file // (/lib/poster-render.js), hashes it, and runs it only when it matches this pin: code loaded at // print time is integrity-pinned like every embed, because it executes on partner pages. -export const POSTER_RENDER_SHA384 = 'sha384-bMIozcNomCYuK26bVNi37BE3gjkDtucq9KdIg7oOQgEhFo882svU0hLjmPnQVDYo' +export const POSTER_RENDER_SHA384 = 'sha384-b5QGnl3AalMYjaEi6xRIYMCTI1VhXFHx1ZitoomfaKzool2CCnwSESFrmKFj28PW' // The sha384 of library/scripts/posters/data/ne-places.json, served at /boundaries/ne-places.json. // Data, not code, but pinned the same way: a sheet uses the places only when they are the pinned ones. export const NE_PLACES_SHA384 = 'sha384-Qtz2q8mcnA9Ei8Kwa2MRMyX95hSbSnUXjXdtsy8rHTX++mgSCih4LO4Rdrb2MIQy' // The sha384 of the classic-script copy (/lib/poster-render.global.js, globalVariant of the file above), // loaded with - + - + - + - + - + - + \n\n\n" + "script": "\n\n\n" } }, { @@ -145,8 +145,8 @@ "scriptUrl": "./cities-internet/cities-internet.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" } }, { @@ -162,7 +162,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } } ] @@ -200,7 +200,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "dx-maps/country-posters/country-posters.js", - "integrity": "sha384-5j9NJQ2OQzSQgjM36abIcNGPcJCFymW7Iur/Z629KEHADQWAyYBf5aF0l5gsrrNq", + "integrity": "sha384-pS42MMFZc2yb98zBCZzduhA0U+jWVeaAWKQNni1rd5LJs3i9fe59jNhB2napKIXE", "elements": [ "country-posters-map" ], @@ -223,8 +223,8 @@ "scriptUrl": "./country-posters/country-posters.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" } }, { @@ -240,7 +240,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -256,8 +256,8 @@ "scriptUrl": "./country-posters/country-posters.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" } } ] @@ -782,7 +782,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "dx-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-VLKollilTWRGiqhbjYSdf1L46MFiwJAUgT1euaXKuAtJpSdFNEfn877+yVEJZRWM", + "integrity": "sha384-/aStRFfsb6XTNu1+PCmGwNOIDd/qmKe+yolomWBBOtQVbAeG+dg6fOsbbzo3RtiY", "elements": [ "gospel-resources-map" ], @@ -805,7 +805,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -821,7 +821,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -837,8 +837,8 @@ "scriptUrl": "./gospel-resources/gospel-resources.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" } }, { @@ -854,7 +854,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -870,8 +870,8 @@ "scriptUrl": "./gospel-resources/gospel-resources.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" } } ] @@ -880,7 +880,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "dx-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-RAd3sXJmOkDNW/Y64/rrw/+pPh20agFvVGmByT8b+DmCwmoVs8mVX4acVILuL+7f", + "integrity": "sha384-YtcTQCpc3tO3it/tIwXSVwMdsQe5rkE6ZqFG9b1f/x51Z6AoqgHv2yjtKWq9GLBI", "elements": [ "my-upg-100-list-map" ], @@ -903,7 +903,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -919,8 +919,8 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.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" } }, { @@ -936,8 +936,8 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.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-DtFopLmsuC68vtdtOJpDhgk/3LZcte++oLKORWTYVxSFE2qPPZRFLktRs6OuUt18", + "integrity": "sha384-Y55bk+NqmTialu2FZpaR8fuLKdIFKc19QnQ0iJ1XI5yaeGPfAKk6mmrB1GeATnjv", "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,8 +1182,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" } } ] diff --git a/public/dx-maps/gospel-resources/charts/index.html b/public/dx-maps/gospel-resources/charts/index.html index 562a9ef96..b34f996f3 100644 --- a/public/dx-maps/gospel-resources/charts/index.html +++ b/public/dx-maps/gospel-resources/charts/index.html @@ -61,7 +61,7 @@ - + - + - + - + - + \n\n\n" + "script": "\n\n\n" } }, { @@ -145,8 +145,8 @@ "scriptUrl": "./cities-internet/cities-internet.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" } }, { @@ -162,7 +162,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } } ] @@ -200,7 +200,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "dx-maps/country-posters/country-posters.js", - "integrity": "sha384-5j9NJQ2OQzSQgjM36abIcNGPcJCFymW7Iur/Z629KEHADQWAyYBf5aF0l5gsrrNq", + "integrity": "sha384-pS42MMFZc2yb98zBCZzduhA0U+jWVeaAWKQNni1rd5LJs3i9fe59jNhB2napKIXE", "elements": [ "country-posters-map" ], @@ -223,8 +223,8 @@ "scriptUrl": "./country-posters/country-posters.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" } }, { @@ -240,7 +240,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -256,8 +256,8 @@ "scriptUrl": "./country-posters/country-posters.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" } } ] @@ -782,7 +782,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "dx-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-VLKollilTWRGiqhbjYSdf1L46MFiwJAUgT1euaXKuAtJpSdFNEfn877+yVEJZRWM", + "integrity": "sha384-/aStRFfsb6XTNu1+PCmGwNOIDd/qmKe+yolomWBBOtQVbAeG+dg6fOsbbzo3RtiY", "elements": [ "gospel-resources-map" ], @@ -805,7 +805,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -821,7 +821,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -837,8 +837,8 @@ "scriptUrl": "./gospel-resources/gospel-resources.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" } }, { @@ -854,7 +854,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -870,8 +870,8 @@ "scriptUrl": "./gospel-resources/gospel-resources.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" } } ] @@ -880,7 +880,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "dx-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-RAd3sXJmOkDNW/Y64/rrw/+pPh20agFvVGmByT8b+DmCwmoVs8mVX4acVILuL+7f", + "integrity": "sha384-YtcTQCpc3tO3it/tIwXSVwMdsQe5rkE6ZqFG9b1f/x51Z6AoqgHv2yjtKWq9GLBI", "elements": [ "my-upg-100-list-map" ], @@ -903,7 +903,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -919,8 +919,8 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.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" } }, { @@ -936,8 +936,8 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.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-DtFopLmsuC68vtdtOJpDhgk/3LZcte++oLKORWTYVxSFE2qPPZRFLktRs6OuUt18", + "integrity": "sha384-Y55bk+NqmTialu2FZpaR8fuLKdIFKc19QnQ0iJ1XI5yaeGPfAKk6mmrB1GeATnjv", "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,8 +1182,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" } } ] diff --git a/public/dx-maps/my-upg-100-list/my-upg-100-list.js b/public/dx-maps/my-upg-100-list/my-upg-100-list.js index 5aac56890..3b791e6c7 100644 --- a/public/dx-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/dx-maps/my-upg-100-list/my-upg-100-list.js @@ -79,7 +79,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(z,U)=>c.value?vs((q(),se("div",{key:0,ref_key:"hintEl",ref:x,class:je(["pin-hint",{dark:s.value}]),role:"status"},[N("span",q_,[U[0]||(U[0]=N("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Rt(" "+pe(l.value)+" ",1),N("button",{class:"pin-hint-x",type:"button","aria-label":t("aria.dismissHint","Dismiss hint"),onClick:I},"×",8,Z_)])],2)),[[Ld,u.value&&p.value]]):Pe("",!0)}},X_=".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}",Ya=(e,t)=>{const o=e.__vccOpts||e;for(const[a,n]of t)o[a]=n;return o},Q_={key:0,class:"lsn-block",role:"status"},ey={class:"lsn-block__text"},ty={key:0},oy={key:1,class:"lsn-bar",role:"note"},ay={class:"lsn-bar__text"},ny=["aria-label","title"],$g=Ya({__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)=>Aa(i,t.locale||void 0)||s,a=te(()=>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.")),n=te(()=>o("messages.noticeDismiss","Dismiss")),r=te(()=>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"?(q(),se("div",Q_,[N("p",ey,[Rt(pe(r.value[0]),1),r.value.length>1?(q(),se("bdi",ty,pe(e.label),1)):Pe("",!0),Rt(pe(r.value[1]||""),1)])])):(q(),se("div",oy,[N("p",ay,pe(a.value),1),N("button",{type:"button",class:"lsn-bar__x","aria-label":n.value,title:n.value,onClick:s[0]||(s[0]=l=>i.$emit("dismiss"))},"×",8,ny)]))}},[["styles",[X_]],["__scopeId","data-v-9a589f6f"]]),ry="(max-width: 639.98px)";function iy(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 sy(e){var l;const t=te(()=>{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=ub()}catch{o=null}const a=o?iy(o):!1,n=$e(!1);if(typeof window<"u"&&typeof window.matchMedia=="function"){const c=window.matchMedia(ry);n.value=c.matches;const u=d=>{n.value=d.matches};(l=c.addEventListener)==null||l.call(c,"change",u),go(()=>{var d;return(d=c.removeEventListener)==null?void 0:d.call(c,"change",u)})}const r=te(()=>{var c;return`dx-maps:larger-screens-dismissed:${((c=e.value)==null?void 0:c.profile)||""}`}),i=$e(!1);st(r,c=>{try{i.value=sessionStorage.getItem(c)==="1"}catch{i.value=!1}},{immediate:!0});function s(){i.value=!0;try{sessionStorage.setItem(r.value,"1")}catch{}}return{flag:t,blocked:te(()=>t.value==="desktop-only"&&n.value&&!a),advise:te(()=>t.value==="larger-screens"&&n.value&&!a&&!i.value),dismiss:s,label:te(()=>{var c,u;return String(((c=e.value)==null?void 0:c.mobileLabel)||((u=e.value)==null?void 0:u.profile)||"")})}}const ly=!1;let cy=0;const uy=Ys("ui",{state:()=>({_storeInstanceId:++cy,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:a=this.toastDuration,action:n=null,persistent:r=!1}=e,i={id:this.nextToastId++,message:t,type:o,duration:a,action:n,persistent:r,createdAt:Date.now()};return this.toasts.push(i),!r&&a>0&&setTimeout(()=>{this.removeToast(i.id)},a),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 a of o)this.updateWindowSize(a.contentRect.width,a.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)}))}}}),dy=Ys("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 a=1.5;o.zoom!==void 0?a=o.zoom:t&&typeof t.getZoom=="function"&&(a=t.getZoom());let n=[0,0];if(o.center)n=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(n=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:a,center:n,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()}}}),py=Ys("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]=Oa({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]=Oa({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}}}),hr={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},gy=".profile-loader[data-locale-pending][data-v-ceea9a56] .stl-tabs,.profile-loader[data-locale-pending][data-v-ceea9a56] .stl-title,.profile-loader[data-locale-pending][data-v-ceea9a56] .stl-rows,.profile-loader[data-locale-pending][data-v-ceea9a56] .legend-title,.profile-loader[data-locale-pending][data-v-ceea9a56] .legend-content,.profile-loader[data-locale-pending][data-v-ceea9a56] .legend-reopen-label,.profile-loader[data-locale-pending][data-v-ceea9a56] .lt-btn-text,.profile-loader[data-locale-pending][data-v-ceea9a56] .rd-topbar,.profile-loader[data-locale-pending][data-v-ceea9a56] .rd-exportbar{visibility:hidden}.profile-loader[data-v-ceea9a56]{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-ceea9a56]{display:flex;flex-direction:column}.profile-loader.has-screen-notice[data-v-ceea9a56]>:not(.lsn-bar){flex:1 1 auto;min-height:0;position:relative!important;inset:auto!important}.profile-error[data-v-ceea9a56]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",hy=["dir","data-locale-pending"],fy={key:0,class:"profile-error"},my={key:1,class:"profile-error"},by=Ya({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var I;const o=e,a=qe("profileConfig",null),n=te(()=>{var le;if(!o.profileConfig)return null;let P;try{P=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(P&&P.assetsBase===void 0){const X=(le=a==null?void 0:a.value)==null?void 0:le.assetsBase;typeof X=="string"&&X&&(P.assetsBase=X)}return P}),r=qe("profileModules",null);if(!r)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const i=(()=>{const P=Object.keys(r||{});if(P.length!==1)return null;const le=P[0].match(/^\.\/(.+)\.vue$/);return le?le[1]:null})(),s=te(()=>{var P;return((P=n.value)==null?void 0:P.profile)||i||null}),l=Lb(),c=te(()=>{var le;const P=(le=n.value)==null?void 0:le.tk;return typeof P=="string"&&P?P:l.value||""});st(()=>{var P;return(P=n.value)==null?void 0:P.tk},P=>{typeof P=="string"&&P&&Js(P)},{immediate:!0}),st(()=>{var P;return(P=n.value)==null?void 0:P.tokenUrl},P=>{var le;P&&!((le=n.value)!=null&&le.tk)&&!l.value&&Cb(P)},{immediate:!0});const u=te(()=>{var P;return((P=n.value)==null?void 0:P.dataSource)||hr.activeSource}),d=te(()=>{var P;return((P=n.value)==null?void 0:P.colorSet)||"default"}),p=te(()=>!1),y=te(()=>{var P;return((P=n.value)==null?void 0:P.pinHint)!==!1}),v=te(()=>{var le,X;const P=(((le=n.value)==null?void 0:le.locale)||((X=n.value)==null?void 0:X.lang)||dg()||"").split("-")[0].toLowerCase();return ur.includes(P)?P:""}),$=qe("appI18n",null);Mu(()=>{v.value&&($&&($.global.locale.value=v.value),gg(v.value),$l($,v.value).catch(()=>{}))});const m=te(()=>{var P,le;return v.value||((le=(P=$==null?void 0:$.global)==null?void 0:P.locale)==null?void 0:le.value)||"en"}),_=te(()=>Li.has(m.value)?"rtl":"ltr"),{blocked:x,advise:w,dismiss:g,label:b}=sy(n),k=$e(!1);Mu(P=>{const le=m.value;if(!Li.has(le)){k.value=!1;return}let X=!0;P(()=>{X=!1}),k.value=!0,z_(le).finally(()=>{X&&(k.value=!1)})});const L=te(()=>{var P;return((P=n.value)==null?void 0:P.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),S=te(()=>{if(!s.value)return null;const P=`./${s.value}.vue`;return r[P]?bg(r[P]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(r)),null)});Xt("mapboxToken",c),Xt("dataSource",u),Xt("colorSet",d),Xt("profileConfig",n),Xt("instanceId",L),Xt("lang",m);const C=uy(),Z=dy(),J=py();try{const P=typeof localStorage<"u"?localStorage.getItem("theme"):null;P&&((I=C.setTheme)==null||I.call(C,P))}catch{}return Xt("uiStore",C),Xt("mapStore",Z),Xt("dataStore",J),(P,le)=>(q(),se("div",{class:je(["profile-loader",{"has-screen-notice":de(w)}]),dir:_.value,"data-locale-pending":k.value?"":null},[n.value?S.value?de(x)?(q(),mt($g,{key:2,mode:"desktop-only",label:de(b),locale:m.value},null,8,["label","locale"])):(q(),se(Ke,{key:3},[de(w)?(q(),mt($g,{key:0,mode:"larger-screens",locale:m.value,onDismiss:de(g)},null,8,["locale","onDismiss"])):Pe("",!0),(q(),mt(Ls(S.value)))],64)):(q(),se("div",my,[N("p",null,[le[1]||(le[1]=Rt("⚠️ Profile ",-1)),N("strong",null,'"'+pe(s.value)+'"',1),le[2]||(le[2]=Rt(" not found.",-1))])])):(q(),se("div",fy,[...le[0]||(le[0]=[N("p",null,[Rt("⚠️ "),N("strong",null,"doxa-map"),Rt(": missing or invalid "),N("code",null,"profile-config"),Rt(" prop.")],-1),N("p",null,[Rt("Example: "),N("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),S.value&&p.value?(q(),mt(Ls(de(null)),{key:4})):Pe("",!0),S.value&&y.value?(q(),mt(J_,{key:5})):Pe("",!0)],10,hy))}},[["styles",[gy]],["__scopeId","data-v-ceea9a56"]]);function _g(e,t,o){var n;const a=(n=e==null?void 0:e._context)==null?void 0:n.provides;if(a&&t in a){a[t]=o;return}e.provide(t,o)}function $y(e,t){var n;const o=(n=e==null?void 0:e._context)==null?void 0:n.provides,a=o?Object.getPrototypeOf(o):null;a&&Object.setPrototypeOf(o,null);try{return t()}finally{a&&Object.setPrototypeOf(o,a)}}function _y({profileModules:e={},configureApp:t=null}={}){return lb(by,{configureApp(o){const a=yb();$y(o,()=>o.use(a));const n=G_();o.use(n),_g(o,"appI18n",n),_g(o,"profileModules",e),t&&t(o,{pinia:a,i18n:n})}})}const yy=Object.assign({"./poster-wall.vue":()=>ft(()=>Promise.resolve().then(()=>q1),void 0),"./upg-100-list.vue":()=>ft(()=>Promise.resolve().then(()=>ZP),void 0),"./upg-100-mfe.vue":()=>ft(()=>Promise.resolve().then(()=>LS),void 0)});function vy(){return _y({profileModules:yy,configureApp:(e,{pinia:t,i18n:o})=>{}})}const ky=vy();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",ky));const vl={default:"doxa",lists:[{id:"doxa",aliases:["2000","project-2000"],label:"Project 2000: DOXA's people groups",definition:"The people groups DOXA serves, as its live list gives them",source:"doxa",filter:null},{id:"unreached",aliases:["7000","project-7000"],label:"Project 7000: unreached people groups",definition:"IMB Lostness Priority 0-2 (Frontier, Pioneer or Expanding Unreached: under 2% evangelical)",source:"imb",filter:{lostness:[0,1,2]}},{id:"frontier",aliases:["4700","project-4700"],label:"Project 4700: frontier people groups",definition:"IMB Lostness Priority 0 (Frontier Unreached: 0.1% evangelical or less)",source:"imb",filter:{lostness:[0]}},{id:"frontier-500k",aliases:["700","project-700"],label:"Project 700: frontier people groups of 500,000 or more",definition:"IMB Lostness Priority 0 and Population of at least 500,000",source:"imb",filter:{lostness:[0],minPopulation:5e5}},{id:"unengaged",aliases:[],label:"Unengaged unreached people groups",definition:"IMB Lostness Priority 0-2 and Engagement Status Unengaged",source:"imb",filter:{lostness:[0,1,2],engagement:["Unengaged"]}}]},wy=on&&on.tagName.toUpperCase()==="SCRIPT"&&on.src||new URL("my-upg-100-list.js",document.baseURI).href,La=e=>String(e||"").trim().replace(/\/+$/,"");function kl(){try{const t=String(wy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function xy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return La(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return La(o)}return La(kl()||"")}function ua(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const a=La(t);if(/^https?:\/\//i.test(a)||a.startsWith("/"))return a}const o=La((e==null?void 0:e.treeBase)||"")||La(kl()||"");if(o)try{const a=typeof document<"u"?document.baseURI:void 0;return La(new URL(o+"/assets",a).href)}catch{return La(o+"/assets")}return"./assets"}function Py({shareUrl:e,embedPath:t,profileConfig:o}={}){const a=o||null,n=typeof window<"u",r=e||(a==null?void 0:a.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const i=String(t||(a==null?void 0:a.shareEmbedPath)||"").trim();if(i){if(/^https?:\/\//i.test(i))return i;if(i.startsWith("/"))return n?window.location.origin+i:i;const s=xy(a),l=i.replace(/^\.\//,"");if(s)return s+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return n?window.location.origin+window.location.pathname:""}const fr=vl.default,wl=new Map;for(const e of vl.lists){wl.set(e.id,e);for(const t of e.aliases||[])wl.set(String(t).toLowerCase(),e)}function yg(e){return wl.get(String(e??"").toLowerCase().trim())||null}function vg(e){let t=e;if(t&&typeof t=="object"&&"value"in t&&!("list"in t)&&!("profile"in t)&&(t=t.value),typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return t&&typeof t=="object"?t:null}const kg=new Set;function vn(e){const t=vg(e),o=t==null?void 0:t.list,a=typeof location<"u"?new URLSearchParams(location.search).get("list"):null,n=typeof window<"u"?window.MAP_LIST:void 0,r=o||a||n||fr,i=yg(r);return i?i.id:(kg.has(r)||(kg.add(r),console.warn(`[list] unknown people-group list "${r}", showing "${fr}". Known: ${vl.lists.map(s=>s.id).join(", ")}`)),fr)}const Ti=new Map;function Sy(e,t){const o=`${ua(vg(t))}/people-groups/lists/${e}.json`;return Ti.has(o)||Ti.set(o,mi(o).then(a=>{if(!a.ok)throw new Error(`HTTP ${a.status}`);return a.json()}).then(a=>new Set(Array.isArray(a==null?void 0:a.slugs)?a.slugs:[])).catch(a=>{throw Ti.delete(o),new Error(`list "${e}" membership ${o}: ${a.message}`)})),Ti.get(o)}async function Ei(e,t,{key:o=a=>a==null?void 0:a.slug}={}){const a=vn(t);if(a===fr||!Array.isArray(e))return e;try{const n=await Sy(a,t);return e.filter(r=>n.has(o(r)))}catch(n){return console.error(`[list] ${n.message}. Showing no people groups rather than the wrong list.`),[]}}const Ay='class="stage"';async function Ly(e){const t=new Uint8Array(await e.slice(0,12).arrayBuffer()),o=(a,n)=>String.fromCharCode(...t.slice(a,n));return o(0,4)==="RIFF"&&o(8,12)==="WEBP"||t[0]===137&&o(1,4)==="PNG"||t[0]===255&&t[1]===216&&t[2]===255}async function wg(e,t=fetch){let o;try{o=await t(e)}catch{return null}if(!o||!o.ok)return null;const a=(o.headers.get("content-type")||"").toLowerCase();if(a.startsWith("text/"))return null;const n=await o.blob();return a.startsWith("image/")||await Ly(n)?n:null}async function xg(e,t=fetch){const o=await t(e);if(!o.ok)return{html:null,status:o.status};const a=await o.text();return a.includes(Ay)?{html:a,status:o.status}:{html:null,status:404}}function kn(e,{autoprint:t=!1}={}){const o=document.createElement("iframe");o.setAttribute("aria-hidden","true"),o.style.cssText="position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;border:0",document.body.appendChild(o);const a=o.contentDocument;if(!a)return o.remove(),null;a.open(),a.write(e),t&&a.write(' - + - + - + - + - + - +