From 1c2646ae192dae566c28181c3d45a2075d77ecc5 Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Sat, 13 Mar 2021 19:08:31 +0100 Subject: [PATCH] Add better error messages when a translation is missing; add play forests --- Customizations/AllKnownLayers.ts | 4 +- Customizations/AllKnownLayouts.ts | 2 + Customizations/JSON/LayerConfig.ts | 10 +- Customizations/JSON/LayoutConfig.ts | 5 +- Customizations/JSON/TagRenderingConfig.ts | 13 +-- assets/layers/play_forest/icon.jpg | Bin 0 -> 40850 bytes assets/layers/play_forest/play_forest.json | 108 +++++++++++++++++++ assets/themes/play_forests/play_forests.json | 27 +++++ 8 files changed, 156 insertions(+), 13 deletions(-) create mode 100644 assets/layers/play_forest/icon.jpg create mode 100644 assets/layers/play_forest/play_forest.json create mode 100644 assets/themes/play_forests/play_forests.json diff --git a/Customizations/AllKnownLayers.ts b/Customizations/AllKnownLayers.ts index 0925714af..c526eb3b5 100644 --- a/Customizations/AllKnownLayers.ts +++ b/Customizations/AllKnownLayers.ts @@ -22,6 +22,7 @@ import * as tree_nodes from "../assets/layers/trees/tree_nodes.json" import * as benches from "../assets/layers/benches/benches.json" import * as benches_at_pt from "../assets/layers/benches/benches_at_pt.json" import * as picnic_tables from "../assets/layers/benches/picnic_tables.json" +import * as play_forest from "../assets/layers/play_forest/play_forest.json" import LayerConfig from "./JSON/LayerConfig"; import {LayerConfigJson} from "./JSON/LayerConfigJson"; @@ -52,7 +53,8 @@ export default class AllKnownLayers { tree_nodes, benches, benches_at_pt, - picnic_tables + picnic_tables, + play_forest ]; // Must be below the list... diff --git a/Customizations/AllKnownLayouts.ts b/Customizations/AllKnownLayouts.ts index 29a269470..fb8f7cd72 100644 --- a/Customizations/AllKnownLayouts.ts +++ b/Customizations/AllKnownLayouts.ts @@ -21,6 +21,7 @@ import * as trees from "../assets/themes/trees/trees.json" import * as personal from "../assets/themes/personalLayout/personalLayout.json" import * as playgrounds from "../assets/themes/playgrounds/playgrounds.json" import * as bicycle_lib from "../assets/themes/bicycle_library/bicycle_library.json" +import * as play_forests from "../assets/themes/play_forests/play_forests.json" import LayerConfig from "./JSON/LayerConfig"; import LayoutConfig from "./JSON/LayoutConfig"; import AllKnownLayers from "./AllKnownLayers"; @@ -70,6 +71,7 @@ export class AllKnownLayouts { new LayoutConfig(climbing), new LayoutConfig(playgrounds), new LayoutConfig(trees), + new LayoutConfig(play_forests) ]; diff --git a/Customizations/JSON/LayerConfig.ts b/Customizations/JSON/LayerConfig.ts index 58f7cf823..e0d6a2452 100644 --- a/Customizations/JSON/LayerConfig.ts +++ b/Customizations/JSON/LayerConfig.ts @@ -54,19 +54,19 @@ export default class LayerConfig { context = context + "." + json.id; const self = this; this.id = json.id; - this.name = Translations.T(json.name); - this.description = Translations.T(json.description); + this.name = Translations.T(json.name, context+".name"); + this.description = Translations.T(json.description, context+".description"); this.overpassTags = FromJSON.Tag(json.overpassTags, context + ".overpasstags"); this.doNotDownload = json.doNotDownload ?? false, this.passAllFeatures = json.passAllFeatures ?? false; this.minzoom = json.minzoom; this.wayHandling = json.wayHandling ?? 0; this.hideUnderlayingFeaturesMinPercentage = json.hideUnderlayingFeaturesMinPercentage ?? 0; - this.presets = (json.presets ?? []).map(pr => + this.presets = (json.presets ?? []).map((pr, i) => ({ - title: Translations.T(pr.title), + title: Translations.T(pr.title, `${context}.presets[${i}].title`), tags: pr.tags.map(t => FromJSON.SimpleTag(t)), - description: Translations.T(pr.description) + description: Translations.T(pr.description, `${context}.presets[${i}].description`) })) diff --git a/Customizations/JSON/LayoutConfig.ts b/Customizations/JSON/LayoutConfig.ts index bf36cf0c9..d1424bcb9 100644 --- a/Customizations/JSON/LayoutConfig.ts +++ b/Customizations/JSON/LayoutConfig.ts @@ -53,6 +53,9 @@ export default class LayoutConfig { } else { this.language = json.language; } + if(this.language.length == 0){ + throw "No languages defined. Define at least one language" + } if (json.title === undefined) { throw "Title not defined in " + this.id; } @@ -62,7 +65,7 @@ export default class LayoutConfig { this.title = new Translation(json.title, context + ".title"); this.description = new Translation(json.description, context + ".description"); this.shortDescription = json.shortDescription === undefined ? this.description.FirstSentence() : new Translation(json.shortDescription, context + ".shortdescription"); - this.descriptionTail = json.descriptionTail === undefined ? new Translation({"*": ""}, context) : new Translation(json.descriptionTail, context + ".descriptionTail"); + this.descriptionTail = json.descriptionTail === undefined ? new Translation({"*": ""}, context+".descriptionTail") : new Translation(json.descriptionTail, context + ".descriptionTail"); this.icon = json.icon; this.socialImage = json.socialImage; this.startZoom = json.startZoom; diff --git a/Customizations/JSON/TagRenderingConfig.ts b/Customizations/JSON/TagRenderingConfig.ts index 830921fa4..20ee771d5 100644 --- a/Customizations/JSON/TagRenderingConfig.ts +++ b/Customizations/JSON/TagRenderingConfig.ts @@ -45,13 +45,13 @@ export default class TagRenderingConfig { throw "Initing a TagRenderingConfig with undefined in " + context; } if (typeof json === "string") { - this.render = Translations.T(json); + this.render = Translations.T(json, context+".render"); this.multiAnswer = false; return; } - this.render = Translations.T(json.render); - this.question = Translations.T(json.question); + this.render = Translations.T(json.render, context+".render"); + this.question = Translations.T(json.question, context+".question"); this.roaming = json.roaming ?? false; const condition = FromJSON.Tag(json.condition ?? {"and": []}, `${context}.condition`); if (this.roaming && conditionIfRoaming !== undefined) { @@ -96,10 +96,11 @@ export default class TagRenderingConfig { } else if (mapping.hideInAnswer !== undefined) { hideInAnswer = FromJSON.Tag(mapping.hideInAnswer, `${context}.mapping[${i}].hideInAnswer`); } + const mappingContext = `${context}.mapping[${i}]` const mp = { - if: FromJSON.Tag(mapping.if, `${context}.mapping[${i}].if`), - ifnot: (mapping.ifnot !== undefined ? FromJSON.Tag(mapping.ifnot, `${context}.mapping[${i}].ifnot`) : undefined), - then: Translations.T(mapping.then), + if: FromJSON.Tag(mapping.if, `${mappingContext}.if`), + ifnot: (mapping.ifnot !== undefined ? FromJSON.Tag(mapping.ifnot, `${mappingContext}.ifnot`) : undefined), + then: Translations.T(mapping.then, `{mappingContext}.then`), hideInAnswer: hideInAnswer }; if (this.question) { diff --git a/assets/layers/play_forest/icon.jpg b/assets/layers/play_forest/icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a0b42bf766d61999952bea455cdbd7aa4ea3b1e GIT binary patch literal 40850 zcmeFYcR-WRmNyA;Zi(lR0N*&U{Xp^PlH)AZi^=ZA}mn5eP&C z{D98qK~5U}j`kpswzeRM90UT9fM|(GepmgGB#4MXG(cVwNRE*g{wTWx|9*9#YLsWMJ2>RAYu^l`%8bcF((Fk`kVak_UH4L4xV~@dnk&Dxp|3N+qyro6SZ-7 z74x_D5R(uU7XvAS{XML0ob9~1pV&D#x~cH&HlldA9c@*3AToO5dLHU_PaW?DKC?3p z)PG(!XFPi?Y`E%3XZzUKJi$aVZ||f2(@* zAFFE?>Dqd6kx$@+!^MD_5u)scGow85kHSsF;`;>6vNi z8R&m^LPP?*bAj{{Dd{D8$}5!g|KsQU3y6lC*qqp$gop=3OhZIMLv-E&;sSs!DbXL# zZ;<-?AtDCGc#(|!(&Z~agKBCJF%by~@dc9KqXue2fO^mc8dBP85^5Le46Vs{Jn1E0 zB;}A_zx}zD!DtZ8EA`}A=%veyOw25-d^c|L3kXWf$jZqpD5~Gl(A2uCtz-Pa#1!)I zk(rIHoxQ_TM<*|DA74NJfWWYq;SrHh(J{#>uT#^~-(+Ow=6%TjSWsA0Tv1t7T~k|E z-_X|H(b?7gwWoJzcw}^J{O7NU`Gv)$<(1X7^$pD4{=wnVG4|y2H(f*^l0T6J{QbLh z(ExN2U${VWf$TS3M8tl-38%S0dQIXYt(qa3wI>~qE* zi4WZ}2}6~%leSv+*fH(ieC6AA_13XG=ONu&$8yKU>)9FZp_zmTFM=O7oc7{#y@&RWt?uDP0uNUp3BR?LPy z_Nmg1+1zuG64#aJ#Zm;7=tBhqybyi@tWl{8&HOPLNqEET7G(su0P;gXKB$&Eb5aXia%wvK}q%3!u&GA|GA$Szjlij?QkK`bJKU1b7G ze(WOT#YdF07*?mM&YhvDrnbJ0y3YNc>eY}EE_dCN^che1)5qta)dM)1kKo|0p~lc= zz?H!s%fqRjLm_ckwCUBXv=JJ^|K3`I{yxz^ONPpAyuw=yw|bs>4Q4a959gry0V?_aLffB^=(4qRQyd&& z`|#{N*hR`+WFWGMOp+GWST`JO`0q&pcr~2iP7u20+9v7hDL zuMgm8*5%YbF62jsbv$ue$nQ7AH(WnSk@+qW(CGl76Hye69fUQ0S`!d>TCUzsM_*-l zi_{lI(ISq`nwKrCHRHgERLZVz-QX)*<=Vc9#Ho|b)D;WnC>STd=Ezj!hm=GV77wPx zrS(4@7zT%;II0ZdP9@TM!n2XYVSXR){z_JzOvimS@Ek@dLq3i#b-z@G7Gs$@WCLg7 zy~hH>OLnxZB1iA;kk5sUp>zmWgH1nUo99X_-3DkZNS3Y4R^QwpS%DTPkkwspao&Em z)xN3wYXqCV09QvN=}H&4Ogq-igqHcH1CF6Gzx-YsY6L~Dz4&L7^53a{NZ`YmX3R}9 z?wXFd=YAUAhIm)%e&KxX$9n*JWJ$N-J4ZL`mZB8qh;*RL9Go(=~P((xw8}P=O7ikY9E7dai%K48o?S)d(Du& zbI^0R!b-qLuw=Wa8{i%qISjNSK%efp?AX*R7XnRSMeH}IsVhUhi&WP^eJxzfc!)9Qj&Inp8yj`Mx z&sC&CQhH#E{v`#0w+b*C1P;7@RdwB)^2E}LUsFY3!Fu@^gF>6QbC6GF)00$=Jda+T zPYM@2)XE$mq_W0*@Y8~ku^1CY7sPxxTLa|BmylIhS~&G7OcCu->l4N zCQD*z$zIPnC{YMv2hDHO@ia1*Iz0-1x*%}7N;X+9P{t!SMzFsPkcPzn4~Z%rIJXR< z#B#Amlc$ZRQKfa%a`duVEBI*&jMR1Y~j@zG;@-71Gq7jhynf zf<_*`5B`|0*5sD-_1+jDo|}&sx$d8X%=$*9ots(h5;nw1LI?ZU$P!G}>sg+aN_D9z zW5$Y1%aclD{rlrLs=Lyq?C*vad4p%;lJ>-Rpfq$f|Io$70-Vko&h_ltr;c)mZI)|-94>gE0-)uhz;5%{d00N$}IQ&7T5 z>Scp7c5=@SO!-sSuaISIdFy?Jp^wUx)1&tqc0{jj?PBRKOGv`@c!r zYDqmf2W`AT?<9FSmML@)SzbLq$0it?g^WW1l&S}x z-LtgGji&BAwyN(ZyAdO-dzbN(4DiwiD8CcL*OOVfqmM#aa7XZ&KsddjML`t3p$6!0 z6YM3Si)l9qE!%ZNfiXRu8u>{K#f3dV`XR~BVoN!P=X_q5iq}GF>BQ~vao2Yfu|iSN84T{3(Q5=}V=%~lc^l&yG2%g#Zg zPU%VKpn9dmO(TF9Yb4G0+Cuo8`8g<_bImLfG3Ty6|IX$SnxAGJQmI!k`!dn4v64Ph zme)g3AWZ)7RraBq7!fuUOgyFKnQ!qBb@cik%8hu+rZ?rLq$_7?R{5r4czQ(XL1Wft zhM1@=&ZoCeh$FU^I%hz=su5wx<9ESCclZcSwC>aWVWE6 zAxFw^dKvzzj^?@y?|PP9H=VBh;I9#bv^!k}O0n4pZ^*!L$3_dq@D9ZC{mN!hOhqZaU4 znY}~U8`vP2VxUtjf;BD6E$dJz*y`bFRUs8{Di9m>VPo(=l4WBwwTu!9oP{W;weCC5 zOPPtLT^smNeGZa3sf@2!f4r}4sykh>D`xqj`_7{$R zhAn8tK-)1k5p%ou(Y(k9M~d277tIH+yx8IB8ynz;GP9uq!BGbJo$p(Wv>(BA6e4`P zdim!dvgP_?2rxmHYC~0-vF>-0?s-l8DtKE^RVsHEe9^vqD1|r;rTdbe=Y5UV;Spz? z$3c!Jn+9()?I&O~_VfQ8K==>ZkbOth6tvf3Anj2;n-9OGH_%6zUcPjL?8_^gpW*Jg znb_;#cv$n)gnEFxFkM$gyWneY&sV*gZr}!w(Mrxagav!NX2wo zG-h9O*`7q1mddmHzVot_3){+RhwmoAVd1UktDX_U$cLfWiZt9-cJ#XQ&ApxAZLO2T z@;GdX0n4v>5f(PwjNK$$;p+!Z`R122&UX2~u6BtiGTNOgm5AdhgZp!9;p1~KwH|$? z?}TVVjesMJan$Ecrn9bq)u=w_hT3u~7j93ML93pp+(8$;+E39_y5W3mp+$(jbjVi! zD$(Z(VmId7s7$|>`D@)ms0H+H9#J`;19u=rHd(dNy2j8?g?Xy^vLMu;H(uL5E#&t0 za_UlDeMX05_GAMi?bWHV*|=%f-R-Imk9$5$#!6~&_ta-w1ubZKB5nx;%jap< zq;$|GW?qzdSi}We<$_OXl6#G(Fkh#*yBaO5&6}*ReGb|jtP0Vb3|H|>Up@zs60Gb| z;k$g1#yB4H<}JwPk%Gwm`Fsk^A1!gr*Qt(Dy^>zRbzqn9l40{=&xNa)m(4RqGo76C*I*Dzy_=pvlj!nl*6Ia-5esZuk>G?D_=2Yqsz)1hl9zrA= zgH1nb!4iqa7FqbO-l}mJcFXe3cc)$5+M^>>QSC@)2t!3g@9kbJd#nmmi-$w&4 zB$jp>DSdRdG@;1ecj+(|w@Da)-W%_uQ|D_!(iaZijdT`@V^Dp`nTnP{ABqnz6{6-4 z-vY8tVtSnwnG1g%gm7iT$KOow=hhFf^XJBZ_&=04&JVPqXoHQ%7~9o81$^Pw^FDdV z%~^g%Hk=$pV#3_(swudgHJE2iV`!AeB%qQ!TFKT%U><35Kt5WVP$`*lVsg8lK!2vK z@_a*kjtH6$B~_*SiRVJ=wZyxa2K7+A3-TqCx_66=Ge(hUeMiqOmu`TvK5_^*e!DXj6m zzl%yj?qRbQskThuAGK8r=CoXOzJ0d&@a>Bp^+9~%ENA!1IViB@$*6bG_SGX@70vHK zSL(3-qBar@XKG83&GNxGo0zW{rm!k8Ci5tnX3jp7C~xyRMm^NM1n}jPEloZByp`M& zs9WT6J(9@U)5ym|>d5tA1}s{Fu}lW@b%R&STz_Ky%_q7GH`%tO$JrL*#2@XPe4!zE zE5IElK&r{MD^5O}>q+>Apu9GsI>{AYmh7&#b3cUsv*C$x8Q2~fX?mKqLFexybEQ@( zQ%`fjysUfb?l-DMtH2&-ktGz@o~juqm;EK&C^x}<7wdB{Jc2(PQWjZ&#$-16o?eXh z^!-d4!7px$wBb_0g{;4e6rg3wQISYv5o z(yI}fRgga9fWb9JUX9De47a|Jyr)0qM|zz7X}$hlv;QRN8L36jp^NpTV7U?tC^vQTXd*bn0;`Oxf9s1l;8LtHcCPM4!;oD^G z`R2d@qn8w=OudiO*T|;|Hhjn5I3X&=J1GUw1cvPSAeGX=dsK7fdazVi&exA2@y0jX z`)A~!;~D6O*~Gohs!sa%_w+Y0dW4%Ryx>YyN5-TRR>_#`tS~fjWZZK89Q1Q|!L*Vm zw&aQm$Y#zTs;)jw}R*%s6x?HTN3kUtasg- zjEnWkdz-R!JsyXtzD#_FBCbA&2%Dc4Ydf`7^i8sM|M;^*{FS*TjnpOp`NftaM>bq5_R{}ELphpqeF$jD~w&BhMS_-(i?r#`sMYTUeuMv7p_wv*7q>Qme!<<-$l#Xrr!`ynN#Y>LSkb%b9PfPt5SIfXieee}df@<>+$z=JTdUlXWpTzvdq3==!Kd}Yl_NBD6bcRid=|_)1pfCiLCGlZKqEg}g?CQFv;iRV0Ulbc=!}?DIKj$pu#C4_|N( zS2p?N$a#I}@DkUD`NmxUZ{-==Ir%`({A|kH}mL5 zND%n7jZYvU%DV)Z`i{f!e3QnnC!fwi@~A=N$eC$w3ppCK-M(1H=HxUs;oC@!>*rOy zQ-HZAMo_RCor6yXwa)Nlh#dCmA}RG}_l68+0q7aRPXXS|JQT2hW7gpH=;Rz^sya;C zrJyQNh_li>)i%eBfuj#x8M1P*Vfq-pP^cs1Xd?A3;#tt63sG>IPDe;_rqdekZm(3# zYs+E40+pfm4-n@+wLAai-Fwq9ApvsRDvKF-QncTr#;RAHAptdAGit4-Dc7P@qHZk( z#q^eG=+G94B-eMwcdC;{6h#+R(YY@LaCO5cc|xd6>VGIxF7?PXGVjO)Jh+?FZ4zxj zL3SL)eZ;)d;+=K$92>7PJ7L~s_9?}8i?8*;050sxDFm?+gD2F;HU}u^=mlIq@sn6! z@0KXt7%5(8;GNJN6dUkbLtcbUamxOv(I}hviA|XDv4>XnCmz3YJqL9QO)InEoc*af zZp&9gYy5qe>uzj_$+Dl4-9zBkE@LmoOe8qOBst9(?WFp`%FjuIQwAeH{j}uCE ze4R01O@3q=o(<=Rg&XcIU~WYFebDisIEoYHIeq0@k@()}7)*w@MEfNY!>zF~ZKsfR zH{M@zXE+zRb*p}1yUXXG3*#HG7oh{srn>qlAIYA&5LWGdrHx70UpXHB3~K#j8W~KF z4Qqy7ZR;EBV#a19>X+ZO2__mDkYGMcm`7JL_?mr8>-2{w{B|CJ{K4NMdiM-yW{{j# zne~aPdv67}c6N~Og8gvL*zt}Q7gk==8I~%S=hnoIm^I4?FoU6$WpE#*mcBDe1U|>b z_QuoKIDJO6K)F#1+U?$f%YtGwQ|5K)0!lZ08|(lzKCRZM)cK%i(~1%hpYT=!*FN_T z5w~D%@1{%i0gS-94~SUAiUcc_ZJr{c#j=l0M?`&uYH-8Ty+aCkZJFCmg1`D7t!qCc z2;+yvF(hnOm{v7o%h{%LP#@Z%%762y78|~3AjvGlfIdrs_i>2abH#quhJTI0^pzAL z3j%iRlNTHm0{EVM>z>N4W?+~fDKV;S)|Q2N#da@z-e2u};01F#2l=_bGJ290^L6gO zGUn2z*C+wD9v3XMD{way*|`&5JniUry=3w(#IN#doJxZ8+HNGO*6MRXfbWd>P~NCD zyUcdNwKr5o2+x-1`N5wxd<;8H+fmcKv*}Yok6>Pjz0>Ga3yACZ)B*UuDi_`x?a)zu zXV9mP6%#2d2d=LpJL|&DntVMj$I@!R)UH>#urQa9y!tX1X4Qi(IE<*dK2nnAB~} z7Lu5Bjund#%Zi)glAJ;~f))uENQ1t=E1qyV@|^x@sUGCaKb2zsm4i8mrWN@C z>TNkJ|3$y}qt^=P)CbLSRwX|B8om6v4OI948A$p^^+K(1S4!elGpvB}(T0WN_@@~i zvSX0#%{Aq31cqG`bHia*A7{2$rLVLrV+*n|4?nO#G?}>x4B>%R6R(SowX!lEk6DM6 zgu6|xmmFpMGPP zd{h1}MS@zluS#fZkf^Y=&Q{5FP?1Cp8(=s_#)`hwwD2q_2l5A}0?j z1<&0R+SgBO25%SRYnCB9Awd{2i6iCg@9bxXcqHokjMj*i;#s52nZdVObWM_bZks<7 zBy!*lE_|M8O&v1OB7zNDFyNRvIVDsF6w51^WE&ZRr`7h5bEIA))k|ZYrbxUtbPtyp z)xG*C0&pNrlqiT!iq${m6QPF)Ed15e@VEAwf0XyOqQpioKqHS4j%Y%q-$w-n+wgM` z;J?_t)?2$k=~ZQ-QP|?Oo>-jD zyXlB0KZOi)l3-is#i9)_{*dW&?y1>vzC9_*w8>_TqL$c&rg>vU`KmMcBD7*2D5VZY z35KX~2>r^*g5>8L1i-)nr;O&^3Tan=bWD^6AEeKq9t?~(k8I$#umLzr?0ze!1yj27 zf}ToXdr|Tb(Ki1HYPW3kU>6t;-Ip0D3G)r(p80obXys=0Gi~rzuY7kSDKa-FV}5fz z2rPAIQ5z@O)HUdJ~ykzdl`9JeK}rww3*8Sj+Q5*fU)^GE>g?3FIX*n{FW$ zjwSDb1;_kYj)d9 zP8|$)qW?_oy{VximIr}GV^%xFej0GPj)(c6e1;FLP#URPYY+@FOW76O*a^K_9*m$~ zOE>es>GZ9q;U+Lu8oh`w;~O=DalVCaTO!Eq54H8R2@5lZ)eEU4LW#GjE;i|$sIX=Z zA4BJ0eita}|eWu|Mu;8~k zU70@jn+Dk`i^!Q;s87=XT`oeUsisodSQFhFNs%mIr278gBjio6v+3Y(t77Qi^+eqp z`XLVRp8D_dUTtxG=Rdo!NLqr1fFlI7fv3ViI^kE{?zC`??UWk(noY@Kp=WE8f^fl8 z==|>X6mogee?Vie=L9yJ9~ZV`V}p-Ag>+ZFDeq){EHO}`j$LppAkGzai2Ty&exWc>JC#;?M{Me|%HCu_Ndj1q?iw(o^V{u=yZ87VM(BX7M)p|hE^K+0BxCIQ-YWClH)k7bb z5SLIus`E-~-ilJkgulfs$q|w91TFuT;w)P*D{LQ{4u3Tvlm~dJ+ua$kNXH>%g`y39 zK-ahevE?!);VKIRrqKo-ZMHJ(SupW*uog2rEyfk<2F^E8WGKc{yDzy$^kRMv90y9K z=lbG~lvR^kn$gEwmzRV#vqeDXAbQ1+k8sS9`&nAE91tk*IkDZ9y2Rqwth1;h+hz?3 z_-@CVQu*9EWQabl~~;F z?|s~{plS#$f#;ko&hP#lUofq$n)>-`?Q^XXa_2Q6X;)^wh4bu%SM}il&Y1*RkEqDP0se2gMkigIqt)!?@1kRaw{U%oe(i zA0-9K98TK&rtT#1s2LrRIERRl&4fi4n6LZZ)QvHutZ=pLT)Kcmy!P6L<}#oiwkNV+ zV(SjL31RT5qUV`Vx>Wm6UPQBee(_p>vQ6sTCj}*cGl{U3gd(BC&HDX!^oCGQ*v0>3 zqyUg+5Ytw{Tp3q4iatwc+~xX+_tB?J&4}At+~wqgYGm16E#Vl4Es=QQ&_f_($Ra>-CO#zp zu0Qe4bl&vNC1!9qtP=2%QBKD{TIh-U$0Uz}S*PX51=4`{&Z@B#W#c=)4}paIM+Pl{kW{0$>q`0}fe5;& z)&-AeOC81@Fh}IKgcu#OZ;OAc2+%gdiGrVE(%T)4aaSzrLVvPnDHvqAX`Okwyf|c* z=@>L&>CIXRt5oEFA~^rC*f1+D{lV5bh-8~85>e}h2p%-U_T6<=G~UbFR+3aln8xAz zu#CupDgZ}xG+4Ie<3$)Z(Baw0p&9fdF}HPPl>W8E)lHPmp+#6chPsSh)&AuD!OAbBxm)AmX3?pf zhGscC@m2L_sAT`d?7~T=Ru=jIPTOQEvkhE!dOlG6T zjg+Z$=044GZjd)UV4|!t=D%nETW0_D`+~3G{E>LecO0mVE7ZV*?!)6lW}%m1GrEZ} ziq{SYf54Xg*y)tz^5x{n$P0jB2fg=p2-!ehy+s@d8^ds9>G=$?w5kstPn^ ziVh~5A7D{m-pu5PD6X4e-I%s~4X^01gwZ!tPJR z7c)$=AgyG5BZY4l?CL9Lb1*Z%HkRa0O>_=2#=!R5xf{KZ4PWz2~6C(PLjy zW`-4$KJjW;KOzl*rb_JcfEmO!de?LLuVY=YT&bKwSm?qmNhRD33%@^{6xh$p+W||E zEZ8qMLqTU`l5{E}j7I=XOcB@|CxEc*%9^~7?o8Hi&x)17DQ6t=kq<0p?g=g>&%7p_ zgZ6>LCs@aSDWy|Cdo!X*%gcURqa}|y!)v|SHwjzx z$G%I#TyJZfQQ?zmv;$^$!XnoQK1T_-W-$|cf^!nmFn-Gbr{Eh>;rqdq(>j#pnB(+$ zzvB=7qYUm326qp1YpX|G%7sNCyXszanu};Rr~H6jJ(j&4QPF-Ufb$o^`9z>Uq;&^q zH+>cL5mzjrR^MK!GZSvuB=*e?OAj?xh)TR(%46^y7)FGey`C6o1Cv`>q&d#sd#)tW z^MqP-@vsZdx+BEa#>th~24fgJ0AdFMLq3@1pqf7uuVOk~#@DM-;^m9nlEI(FJ>Ch+ zDEg@K(Ibk@0HkO3?!{lsT>l%NPzu;gY+|(HmB95|z}gks3B-CG9Wi6W=NC6W+MI)U zP}uSKtaDHU>On9WI})pbz~-GGBmf68x?um|-@%ncyIh|ib$4HZ2C*eB2_5jDl+Qs= zj=H;ru5CJafH4zi6v&z$)HI?5SkT$Pk(_i7)pZWy2Pgx)Q}_S2L!-yP7xxRzi-Eu= z%fvvWG?He5%@U$lHL{(E|J?Y(&YQ&6*|KqXt1?MSI0|hd*)}UA8kY_P+R5Hru_C= zU?#1^7T_;b!RVLYG84nAIr0eR<{GP=fU)zV)+V&@4gF(C668kvz(YB%4y=mD*sP;d3x8DG_NEOtP=+`Q z#O%8tKMF=k&DG6A`HD8V`niOEuZGC|yMH@*f6f!_fImlfck3z5jLpH9q@X#6CzCkV z8dW7ntD|v}bI`TSGg@SI4;)wz_@px$z{P`)u_MTx+yNxzapF+h-_>gVv(iHRzuB%u z@C?O75QJYsm@7mQRE4(9u&ARm3+EOpck`eZKv*DO01FcLp#_?OZgN4*(;`dZ2OokF z8uXA>#J4{gFaLdvG+8yFn~aN7+TCANi=gIo#(?~u_;YJ`kL}7U_(Wjg z`heav>vDZIlWfjm950fiX?SZ~?P+ezn#z4ZKmDi9GGsh>?){Z`gI3o~${&EK9Jm$0 ziW6;7JO_oo5IZ$^F*z!xwe%P$-1CASYvWPU!CI_BOFlq^`?$9u%$~(B(NXr0ufosdyuu|-_x^m2EPNpjRnFcd5RH- zm~+s&1hDIx_Yda&I~4qbHpH^e>J`2q(_o^oNyZtD(T~HyOzy5_GA-DTs752#%v*!0 zPh;vN`8l5<8ZQ0p?bKvj6N?Vi7(<~~I~DC-s)iiyr2DwKQ$KF}@HFGTEn4#K()hB^ za%q}e%B0R<)2pw8mFj}MFT+AjMpCU`d3<@L#hqkz(J{6p(lA~{Yy{sJFZInA!s;!a zy{j^rZmB4m-5f%74->g91-JqmVEF~J&NKQMg>KreBCd2fh|vYDmUa^L4vZ9A5e&`K9xZ|k+M=KD<5?*2?&OxYle{X673rdwn=HiIX@G|4d9 zD9)H3d=128-J_H87k>1tF0}?}UdeB^7Az=KEb? zvD|tq!WDltD541jpUvE>H2BjNfUv;7Cei>w#=uhbR8;{YOXmz$sQ=DFB>4%qRZpBC zYv(>@0^lXz2jt)>e)=rg(&p@au<*m@R1;b^Ib7|!H=!R)jskAtnoymm*H7u%XHOV_ z%R9)#bC7lva0DEXt>am97143uSrWNCL@uKLDMc;)+@B^|7rKVml z6PRf96_ut%V36jf?K)uHEF)MD+oA+B`qm z+3#|s-f?)|ky5S8&iqq3juaBd&{k5Ar7%yy6NZji5OmBH?;v}~Pa zz;3R!Fk$H&{T32wC(TZbr+9Cl9(zZ~hr)KGB^x=4?_bbR?_H33wR`YL!{?ID+p0~k z!*b$p^ARPGONP9eD=The)u{+wrw{>+0C4;6giR|K&7r_nsSi!TcZ9>kyirai-}+=j zLOGvUx~=u+=Uo2r`7bUU)j+A6WQv?#t*2%447pVcfO&H>$cVsnM zr@Q-ES0$#8J#DUHC!O?zD1#rzb7KFMIw70F`E}3t>n&wmhWK zNr5ANFyLqo9iMtKsKJ2go+J9J+!4ytY_(u`LP8N|OY;g&Gq9+As|^5$fMmUYaXd6w zS1wE$nz#9i*mihlv2Fq!C1jh};R!9NVM1^C%8sXf=c}!Yw~HUo6QT$OU&cow2a&&| zx}fMc!Hh$+TGKxHQjSBbX9>mta;<<2*;WTQ2pW{5JWqEc>vryGxX@=OTl9@SB>?;* z`LzbbLGB+v{yPE}z&nWn^hA9AH@AZ@a!{<_9NXOkCLHfX>9(`z`%pFEOSSUxq1&b| zG|8>c$sY4E8mM9OFp=$m@v3T4w;$$6(auXW$YK%`9ZeP&=`j}XZCoQ8_f4L4w7F z9M3`Cgt4bc^$&VD=cxyRq z$>klC*oK;@?aaQ4`H&eI4=}$GoRK>qgbbV%fdKY@}*L*4uZ)^&I{* zkr=N%8j+gkY+kLouVZF$3nLv9r@1UF{w&YmV(0R+TkS+A=~e|eNvLBWq$~a+&SVV! z$#on5i*dUtKdLruwlQgmn@2LusQo4{KY%&69)CV8`Yt`$;Ep^&z}uUQ-&i{jx9RJ6 zuks?KMlCn(Cl1Fp2nFk|^v_q)T7D7|{-Zjk8gf<&Bin#8c6APAcR2i>&uV0{vtC6Ri zvq3-foeoT1h9kb>Yh(O_gbG(Po|Gu+O&nF~l}Ve|x(y7}qxGiaJ74AsWd*n{*=jTJ z-TqKgXzRk6^E#BuLyg1f@vFkJcgLek z_N%fuvodG1U|z#mSJiX@Q@^X<_Uhgq5QxBlt-t|h1uAdKp!+omLwkf#`(%Dojavpj zw1PEMh9h3>it_{J7PBvu9X!8vfezo zJF23J9Q7l6Y=$S%;|;~5C2z<{D=55;;S1@=u6s$aGwv3aYJR6~LbZ8;d|QTBBS2&^ z^iiC3{rygw&}4xr3^#L)s0CxE`_vg?V)EJXXF&gk0rz5Q3Q3!nb3Y(OYT`?lfzlgA|+kBp{mVr*~E$+8NuwX2hlP4 zd*IsO=JEzsc?enEQ9Y!{)vxTFaJu3uuYs!?N*wURHU@_RH&D2-+`q+sS>i>1Cpe3L z<=r3Km8(unhLfQeeIp)Ufsx!qmj<5d9`=*w>v34VaNjq1Rvv#0pZn@w{ZKnNd;iV%V38y#KM_-yHQWnA)BYyW#HP9$aUox zJBHDKbr#ZBJr;Zu6Xt(q0UUX_-T9=dQ8SBU0W2JbG1Bm{cEVjo7yTlT)hFAaDl1v# zv(~a(61A|huwuh|+83fq<5(WrQv35DpdS!pxIgJV5A4446YB`|weaJE(BsdWZXzuw zHXBR`jZfm~&20S)wdE%KTuh#Zl~_NF|MHApCcvQ$K50b7jP3D8&^jJjaSiX-_=e)A zU$6^*)FL*0c99~8?mBk-BQKGBL0pc0Zh?T)z`G95i{{}S?Uzi8jnk%0k4DQFn+J;c zOSgqAK96r*YZ=YjS-xVMIUcLXO3|Hc897E+oBVkBPX&ByU!jLZg+X^06rO zroqEl{%T6uZRPs1Wp?om#b@N))S5t21C7b#2)Zxzixezza% z#n>Anw?^_3wB*FF{nLDz^W!7ZThhJ++o7`IQ zP(-CYiV5|4uJ0N5+@Fgis(ln#^g*aHAPOAOmr-M!(B}~BQ;#@KasNKv+%zEtSaB9r zg8^oM1f7NY;uZI~>XM=&ITUV)BE+r|%uBb`mQ}QEq2a`skK) zy0yRvWLdWz>x`b1hAVq5wo9ab-|;STe(uL$9ilT>zLKW;VJ6u9%G|!^@!|YB<@?H$F2Q zz}qA#>sX<=e^mFDAi z5F!QB;uYU#7g-Qi)Du+eY&kJ@;=Z{D)+P`K`+mmu&%aDlceP$%3(lW;n<8LSC2Ajk zX^Mw$#P-0YTwfBVg6+X6`|r0|T_5#PIH;F#mEAR*q&$nQT5-tO3$s!BcFF$Aep(;3 z+-L4uE;MrCII4xpxxz`20+XZ|;KvBj8Mv^B^(*9F*8a*Js=(4t9a7wWbbyie=n}&# zuR1A|TwrHU*9{zA|Y~|q)Uv2HowQvT{8X5a1 zdDq^=9onmGrXnwD3&=2e!)(l?=Zy^WMV}VrIgMLx`?)s(i!$YJ4IU(eEmwkFM_Mj# zGC|T987Jc8TFfjupY4^ejU?Z8eVmh^&ykAxY5hiSuz%70*W|)7Q~=55OZ&y;*l&DVLq^49n8=OCKrd54Z| zGLCTJg-lCt05v}4sv2)Yl5O0_3f+->wB8V$^lNgul{F+h_HJ>94wP5G*Egw)&8B9B z&o8JmJLh7)BjxA^%+$mHE1=xg{Ykl<3k9yT2SJv?Q{Q#v1i3pqU#Nu`fBmdZao2Lm zSKb7;P00Hkv|-Q;`-FXRCD#3_qoLLRVePGh;&|JxK`bEwf+YkE5+Jy{P6)w5@Zj$5 zZbN|J?!h5g&?!NEV*4BQ14BbObRd?NY_oe5Yi!RD7 zwVJh@=e5%Yiha)j4TG4RC(y}2!tV7NiPc^X7gnUsBI4$oB*l6yaqCzlq&e%G)f3yV z?&$NY4at!!K1fK(Q4UF6J+!@HYIW9wOOm#beUA(J5j8G#2k(p=Yx~vvo`D-FBY4Sg zGKQGC`D6DL?j`lwNVg`fs(9gwaF@!sVS@2eb0Li2eUtqm0x2NAx18B)cGsIj6{RP= zkXtg80f+6p+1cqU@Z_7BzR+7yJfW-oyt699z&hNY2$0@hli);7BzxxDhLiAg)UG;x!Gqm2K!a8Vq%ouYt_eWd)vHHZ*`MGH~1jKP;q z{rgUW_w_<6mhMEZ*Eyt{ejdzP5nIJYSZ;SM4DJWzP(u-W*KNEgN=`>ggbWO~wW-cC z&0&16PI4z2jD=FA8p*O_&LAWt?*Zo0sVJXG(Qa+#Un`&fKi?Y2gy8~h=RYXtp$PIR zi&U|+jP5tmda)kAdQ6dUbmdQ81AP8@rTkbL)@dariVOa!hP>lj z$(q>vQ3k2K<2mpGIL;^MoPAQZ3Jdr0N~3GumkI!)g(3j-uaM*oAmju346-;Q1;9Pd z=Z@WTRS&0?`42Dp6cynepL1REb&*dD@(sz5T}U3Q9T-Q5jufFVdw~sAJc%(??4zmR z4d2-+3jA>+j^c3Zy@2Frn4W=+-u@hO*H$7w%Ujy`*Po3NVn0QvkWl+0v5ByfnVQ86 za{2NfrMmA%a1`}J-HVgAo83Ly3JMG$GWIK1hd$;&B%6Ojqes=3{jx`#7H(Ok<)v{d z&w(#Yms%_3WWUDrR!BYGsMK6TIYIIXHs+I;*g8BP*kMn5gg+U;+Kyhh!m#@J8*%rjD%TWpdpE8qN5x0 zhY9q8UP42!SNKCCU5ar@(>PrqJ2Du3N|53)pv*1N)hCPbv_BBJY`{G(s^v%g7*=_( z*uQ{W+Vc-OVYs;UCik>sAniiL_-$?A5gEd1dlntqiw1Vqv=nRmQ;i_Om$WC;DaI+( zloGV5Zf&E{L7+;OL)HeK#|8lMZ7o9XVm8;F%h)vdhhmmir!` zxEqDa-`E7)oDH!;w7*IEZdG=lQ6xTNH#Jems^N${$1G|0XRv+n^qMg@b^l?-BU9a} z^&_1`NUgfYT=Z!dZ8^$&W?9<37*kc`{LC2yIpS#MP?8u>tMl&9+vT3)n1B#zCro1l zO18D^VM1ZRau$m zZe$|RU>UyV6r4AvNYUXcCDl2UZ?veG%axfC!y8u$(h2L13(6s-B#qkSk15w%QDV=h zU()}bkn~W;%(XoihX9Z3w`HDRcNbo7Rfurf!piK-$-|8|9Ya~PYrq# zr(H~|bE`KsBSs?1JE*o=2+{SO1^rxb99y!z>Fp@)$WHpko}9{;4fz!5Ia}Qo{nZn2 zODs?rUI0n{EiQqCK-Muzy%_?1AVOW6jN>HMNrxa2-LV8VZ8NPOW_tE-nF>`aP{nO? zzsqX3*>vnamIhdi$Ztw58!(*rBFghIIj^UjmH;X-p``rAZ_ z)mNpRINTnmpq%Eaq>Zr{dbszNKUI&ju7CB_T~9Hd(8eV(2GR02f_T|IW*_dF#FB}w zEryT`xrfR_e@8q^cyuNKNuOa$lHR~kahh%A3t$a4jJ( z(V$#NnJLImH^sRtyLe68$i);vVt$j8-?N2K6eWMf=P_q{${^}r2 zXLw56X7Lp_{+!3;Ng^LNv-BAGdQflwGeZoDEEhkAx_Z2qwq$i2L^tKW-Y=mU17h7R zwWkS<_(}|JlMVi6t~0T&w*BSIE-42r9J;x=TV=+~v%6hWPGJ^z^%ovGK5Ku&f}YFY z{{~v%5KnfJ5jLv79WWki|?8!i>BCiIi|Dz4~ps8Q^3Wl!4d~gzpU97 ze7rqN=!0Fzz)y|39~Za5AovjSB{ZsoZiY~T{#P^q%{E2wD@l`tV~-^G9EAB&i(#xS zJI$AEY`o~Zrk)ssehG7pa#W4#cBH~ekq5-Q@;=8G=&(kDeg1<4@Mn2=>7|3ZsRWc< zm3utMh%%W6yF)xNS_3*wH2_%tQMaG{7Le7GdS&X*(C2)K`qClbXy11Hhn4ov{wJ22 zARjb;1%H}~t@W{EXG;^1YlT;3w;%=og7og#%CE$8k@7c5XfVC%M>nvN@EL*od*fEld zucwv{#c84j>!z-mcz?3V$crUCK>^QbNHqoS0L@~$GW9~PZio8ncVC$H! zS1>&FT}EX6XiO@((N;7~}P&NCz6+UVt4#{EiO4`AYxyDx5r@t&~G?Lre^Ut~W$#K+ zXArk@>Naqp!{hWffGn&v2Z#dcVlyzmj9g`t^J^4eVyYBww)atn?+@}7%voCdRa*Fe zYsn(iAFxTouOD_UgrGRL6WwB%w7(ajKwq;p%`eeE#6P%6(qB;`sxKs{t5xFpCOaW5 z&n1e2Np}PJ^Q(Uvw#IkbK??6K_AsQ$c%EYKi5k8dH(EhD5!`#f~f8q?oZ0&8kjP%DA;PcTn$G%fFdkd)dar5mrB9 z)2&rKXYXdK&3-!dsX2CIhKLl_ZAwRLKY$*5(7(sgOBE3ZV^Jq&kesZO_tFok)A6tA zJ9zqME0)*^^E-hFxg0uq7CW&`m1Fl=IN4k`=%uc03(;7DC*I)x8n0R(_{xO?#?*NW zlx(O8ieO5c*?Yb1E^MZ%lf2m?s?T>uoQtLCEY@+Ja6k3H_(_5z)P<5rRt(E0F_14%kcsTbT*O^z4RQ^?Qgj$ zTB~dIZtzGoX5yt{#s#AT15OQ>)y(`;EZVzYE&@zlq_kIf>y}{*<6r`S`#o!KGU=YF zt4W;tI_=vKp&V;I{c0i)Q~Xn-!Oo{EjSkBkyCc~reYu`bW-2ap^*T4TibDq5{#O+W zGhXJiW+?&ycmS2JhGl`EpyCgxJ+zPqjBYy4yo6TJ$azY-L-|k=6c1YrQwV zOH8Yan{1uO2_)q>K|tlujDo`Xi>pB`jCLzKtS5lrjm7N-GH5Q2DvhpI!L#H2n}*k1 z^7wSpDgyZOc8A0^3`v@qs+`febX9Q)eX9ANDpJWxMA?szryAvpQ#;adlPw}yXutg@ z*7?sdWAtWAu`TFy)|;&=&pnlC!v#VfoMKKJFM$#yOkn5<1|Yn3($z4Vvo8~V(zAw( z8vNA?4mZDq#eSn{SknnH;%*UR5vK|2;fiBdK{p(GPSgPY**_?aZsGP-?1<1{^CkHm zB0Ec$zN6ODE4%3REoy?bpq`-@>LL&AN~IgiyTwW|Au{}>0%zgHA^%dy7QX=*_woPvv_ zv6LhgB5m}I+sM5<%`Ai+yt~AY>fF4q#97q7Oo_ZW-E63B`7*Jl{4)##( z+}Vy2%|lRc?G7}c-49Z93s4B`VQGEhVlxhB?g~CvGNRE#=1;o&ZJ(K0-SksBVWtij zUejbc)5m%}3@yb-U--5*@3ge!NT+J=x}4Eg5Akqq12v1B=G}IsEzt4CCP&b0{Gq^{ zhfZvqtK00a<;7Z-;83PrTGYCla;oHCZ+cS5M?iw$hD}C>B0lJQ;J;le;t-I!1 zztM;5%WELqYaV0#&o2MB;|NiEDIB{;m_Nm|)L_4{;fA;Y>JYTEVITMOT48%DuzB1S zP{gDad*d>#+bTQByT`jj(vXTYD8{ua>J#rsPLBSMPe=QgZ)cYG^=!!zG?ApM;ryt6 zIIPI^{#Lvajsej4?q9>gVIm~db~7bc$p}-o#Se#37)C# zKfl}neeIxF;>4qncXj`DJ>Tl$pCOabQEtdMmmhme!N~CoN?b198V+43l4OfRGzTdm zTyBf*Ab;`kmw562>Yg5U5P9(-sSzK?-Jam6UL0tcv}+Jt%B}@HvvW*`!^zmd4h4$^0i+zw($;M(o7dk=-rU`)O{nR=_9^9%6FvSFOXZB-wDWfd+}avU7(W+)2l@9e6-SeYlTG>H$lHKjQ{P5 z9QT>EkymyEW0AD3^(8SFEvCZ93Ae(QK_)=Fzq$)U`h102rsxwC! z-e@mrk9z%K3kDg>Ng?Rkfy#w6x8}MI@#a1rbUq?-J z?Ri|}Ow|MWh7^Olx(w=X+GZ;66<;qU9M{m80mLJXA(A%Z~&;QHZcUKVFQ@#YrXRud3FcA3Yo+PkE6L zJZzSV)x&-g)7b@)fi(aAkj2=?o4pwzzwO59W!I4+iql-WB(tV(Sb28vOY=EQ4JeF+ zf${dM4~4Hrbv!Rljw?U3_jYZ0%+TR5Qm4|P#`B~q`?erfAB(}9D~K)w`3=luQJ z5!;d|OG4K2wx{3!h~K7HYnkp~5t9m8bW=s%SF%7Nj=i&#vVne(QF{?+Q(m^DF%ujG zs}=x2g4~x|AAkH76J`TR)U{ey1bRM5zG!u2#M?>q26?h%=Z7!r_Wc|oI-ju_ty|tb zT|msl^vw;k3=u@6@vZ^8`!9D|Tw9x~+!{1H`JBDV!ab7FSapoHx>H?cfNm>LdP}a+ zOj1h0)7;tkZNEE4>IJVYquiHL#zRta%xcwVVqKUWHe~!yGdzre_RqhXzd!zsYsP%q zu{a*!kc&I8!Jnit0eK6fcwH1zfd#c_%A$A@`=K|UQzUjrfZ;5(`qlXW6kLqiOj$UWIj$3ggN5Y8IiG^(GQ~9{s-({~k`)ORt z@?*JDX<1$R>5{Z~%`#XrR9zgDJiO|eKUM6gI-ImZHD0OcGXNl>u*JEav6o9$Iz*5~ z_T9VmrMH5#7*7+W`v(hX8A!KLo>LQYx!7=N+PRe~wrzb%c4YV=?=k8Sc|{drh$d=$ zUURX*XU{Gl^-P7%UZa;%S5#<`=iNlz>7Bs@V$;*x-dve{~4PnK4>*zB4C|wDJUr0>(Z_s9Hn+3=!;FEXfD6#hkv_s zK;`{-(>QzqSxf_9Tj>bvIkTAC#e-AceW6hd?H6$mR(f+uYNzaUEje<kAo*svC zLhsV`Qf!3l=~b>R6JmOX$RkQ4axU#3j{$%5XY*g~=zgr<5M}{2Q+WB_aQP7V&OCM9 z%?J`Lr(Payy-Ht>ej^5L~+WIr_0qloIkSKEKWFk--u z?=b`63=@@O%gKIBGNP8->X@07rODPM_pAMt28>?_%EOf%+!H~PK5PnP`cffi7ORfr z$b>*nPM^xF8GU5A$c>Yz6TcGbqk|*;cRhmtK>HA6|rX&&<^MtX&RQ66`ck~QHP~GxkH66Y5$?R!={3?Z@!G}aPXuackYZ5& zfU=6S!P$^hezJ2{goRSpF28ZEIU7ev5nn37Ka&Ct3BgMSZ|Y{~&LMGiCA!%l_4?N* z&LqE~lx9Ft3QgLfZG)vi@JET1f+N+?ef2Ty^oa>Ke3KTY2DH!`^^*|ZN~!w*v9I=S z|8H2vbaP9nGe$Aq9IG`iEPRbY5qvkrm}kB8#b5V9qYH4FA>wH87@J_f1h)1GC7>$h zgt=fQV_2>^sD2&S`SKqWY|R@R7$lI2d(C>Oq)zc46oIq1=*Y#sE#wnJhJ?^AqC?XF zuMK_wB6ua~_43D#YGG2Kgpf84+-$7)F_iu`RKzonT@myLV*QvQj~E2}DJZe! zUwsqozImuoUB@L0Yase~rwpT7GYfS`N^D=>cl;RVk+({CrcRGVZsi$}uJ}gM=uMyKPYsW_-Ju~C04U%q-$d8Y z5+og|W$_`7ytJDI{SWmuX2L2|Z=Mlj9SiXt#yfi}PB&vwZ{5jN@ zL=^rasC^mzrnqgd7xcUh$O*{@HsrJ4ZXRjv3kA1hvv zA+%D#z{z&ouY;CxnDdu9%XqSywN1v%VcPYa!j#~>GEd-`d;v+ZDWZ!i7vVf>jXP%`=S>eKORB*n2fLo@S{;JL~G%05QdLa5QU+`*NyQt z%~2c#Si0UC?(Zeudo-TktQc`oOhg6GuEn`d$6@adRtmc_$}uhJ>eJn~+B-DXw`5B- z9uqk72ixv>)yUiH^^-PPonXvvbog(enwtnkKV^WEZ0%v?iXuM2X@Mx_+YTMYd)GQRt z2_U)-vs^)=A1jqu4c8Ek3C$5`d ztAlS`7S*)qpRv{VLbGY?D5e?2dc`-Y@P;KRaxyCixA%U@KOXRim{KiAN* zVENOf`sq|z3lrFw*k_a$EU20|$vNdM`+f$lzvquLxJvoPp4K}n4qPiK@GZ0>a>6k6 z8@tZJQh}BB^ETf|uNUG?cO;a2@mm)=upPe{N1zJzi-QD%AjuwWBs#;Jqboc>G$IFp zb%zN{r)-iZIIX^It&WxRTN7TD_ehXS#Ecf7RUdp&m5v*|u%jW^xlt5RmQtsCPjbGh zpeEGUM^QQzrRZsI?O!*0ruzn9?EHfg;^PSXecGLOFe&HKJAA9@ay~UWh%V0k0f+f( zL7obr^?PRBidiJwaf2Tt__J4=_C6TzL+a~fE0s7_lZwP+qPxroNk85hBn9HrOvjod z$2=cPDTMc-A!YC7$5Gv<(svnB%jl={H4=288je%UI~_C#@d+@4m&M+PIs0!nNqz&= z)bbeL@62MtMYPNw@MWokB-Z;k#2Xa{7AoV?HtixTo1~t7nxU!i^#L&e?Cw{ZGd`Bb zc;!Rhel1~9td;hv3Jr<6I&EXjW|wbMCCL3((LrisD2;4Y$lg_+2~qko8xvc9Nww-+ z?Be+y*3e4|!mbEIwgkEPdAgJr7u=mDCROWTY_*Wf4CTGlH%kU%_E(C??0Y>x zh*8scee7EY6KpQrjyFa`wn-ZzZl1IIF7{QNor9SrE$RpPmzJf3GGFC?g3N3Ksv#lu zN?~M5VJD{@y;atCj&NDRh0kd?BP|llXaW!rBda!N9v68dtN7Cfnor8QU~!3*^Ht+a zwNlk@todv5&>hVqdtZBxDnC3!dvI3^&THgT*t@z)nwHjS)sdNSMncA!1|98P0}${NC#Tj zM%>q{+!wlf1HNw}Ic+17nGzNjme>6!nqx8PaM0v-+w~eTHL}4z)%9t+{!q;G8^*e)GLUgp?04dh;3CH~#Lr&zX zfEL^{PxrBGMRY`M_<^>{BF#=wpmgO{6O1?Logk!V+%7sAA~c>N-M%yZz|J+qnR2n% zRNCb$OE+EDaiHB%uAe)kwsFXq=VH5ww>#zA1%5IIra6iz^zv0qQiGaVi`JQ|tE< zF|2~T0WmFHIh03+4a0f<(}(VfW!qIcJ(dC^l4Hod7-h$Gx}f(PZ5pI!v znbO6uz?FD+w-@)hz9ox?8c8}UOTF&)!n`is+yGT35T~Lf=ouZpzXE+uwrxp|NquAF z;@dMO*<|K45B8J5mGtz8Q#pntmB%Pt-^&MRMAZ3daMjLr*zr9JyCc-G6OjQU4&&o^ ze&p#R4Y8yTEwDoB&0fTQxe?lzz~H0}dPYkfIRcr$TO_`5iQ1BDm}af2tZVm}MaOT- zVWPWCcCgx{lO-Z{t+tpy`O}XQd`=vW5GeJM(fbQR6|&=F5m?}BYg#TL#f-&@m%!l$ z9DoGTrYWcE?=i!$0+7HMJb)l!&PJ|9;i2Yi`vElOo}aF!y`X0!5U;Z+K|eBmTHTAm z{4e;KIzTf+M=w24F+GQjgBGIJv1^nVt?*M!&fWX{&|PkbcyzI5pGx&9tGj) z$|=g=^8t)qr|;S(dqc!#ja+|RgcnZf$4lsmh&6-Kwntm4}LjT<9ZVO6x^J}7<>TP(jbdf=O@CbDF7x@Ys1=LztTKbOTS%e|!?`G&t zRl5P&GGz8m!DOknRfb2V=#-9@uFeSPet{-JrSNW5>3iVV7;DTJOt!zA;$e(FWTvD< z?ds0UJ!~&H#&hVVDrK#x(xLqyl(EbHzO|Zw9x5!GMyG}S3)@8(*`X)b5gI(q1#(IF zCi@{M2Rs z@3%Ql+vIy!&%{(@CS5{uaTO)SwDTsek3ikz8y zf^*j!o%6^=wi-loGikaijVJJ748bNy$;@TTpDTtr+{!nlF6tOGi{co!EK%p{8zBvo|o; zeJOgH>{!`2+aKj8^O)>M1Y_xu(QbKgh;xIbr10jxdzC&^OKQlKI4Yl2ExPWbnS`8r zJqyJYNAoh=n9X(FYoG2dP9y(3M0!bQ0_{$J^KAQ^E6LEr^5M=RDq<6V{0D{hK(HYekGWI5N4dB_qp{h& zRY@EC?EIebM+Ya;_g}>W#vg&Xy2!2$%u9BJ#O6Z5U|)e^y$L9MV;d2c3R;(LWz)Q& zANP~^X+xG%y6LasuX=N=H^l4Q7cRkUK`zU{>Nip%s6P<@0OW)!a8#iCs|kJXCsx!3 z)?a$h?hwl9w;*nTx#B{ML^lX0kQfz$v~?RQAdtrtdwv$SZQNKU->||bZIsC0}U-sdxP-Lk;7EH$EX%;9ZTeC?!Q{J?ZegJuP05`1Zi!x!cnSvI|W`sy8*QKa8WVhV)$UMEJy4FJqz zM8X}qlqZNBfe)qx2ramgr8SEpNo>DPwwrLj`lF*>KW(x>Ogg!3Z?H`ug2VGg`K-r( zw(mFOmW=~RdvMm@%>5Q`{;V(HJj&0!rZ(k9=Lo+&%Ius10n4r0!3LOoe1@A;ohvHh zpcOBR$-cukA}TYq`1;*8lZDEo+TA!t_+?3y1&<%IQ^GIAh}E0M>wVci%{1sODy9(# z6tFxsoW^?8KksXF+|0$b_USGC2So`EEi;;Z!{u2H5A8;l?v`Yv%R=rTwpSn&_UUW7Ntpl9MFcxACKr z;$Z#>yOD$c@_}pRRuuryh<@9v0IN5pwquaAZo=uZffbL&J1W}r^Lm_J=hB!;fb&~9 zn6?7+9tCQ|%^$Pq;JJVnc7$#$6a?kaiv zQWA1?tvRcPX-e!xSojq?&&qW)99CE-b?t#jAP@K*hRV2Uy)Yo(UJV4+sIMs2EwZIh z1WfL+_)!lMk<2y5h#&BeNy9v5bS6|j$i^yV9 z_+rL@dA&fL!s;uhr4VgWY8hu!M`1ZvE={Y!eiFN+c5S@(MY_)Vm2trU9Wgp=OCXjI zIl*p!B`^D$oZL2{K8@Bb_RpI%S1wvw(l4JcSbBzG$|0BvAn)94=UDg9?wuLVUm5NU z=4RJ&rz>qq1|=zT)6id^gnl+Y zhyx)#4A`S zwfjqT!*qp3f4Z$F;n2(VP*M#H3Vb}pJRkK#7U?7n%P$3_45Tc@-m5VW;(nszeAVUi zUOI!=*Db`Q48udO3OulA=#|m7LzG|PhmlIrj^D&7+2}CSD88D>OT6OD56KUSiovpZ ze)L2B0x-RG!XJ`=htnz#V^NHWKhpgb${L%@d8B@UP(N>-GMfFXOyWu42_U+VIk_!u z6IKeYTZgvf*rqQuHg&)4%d>w`2cvZvl-(~x>wGksOz9dUx|?~>^14-k2f{3DV<_*% zWR$Awm=O2nh#e;>~hA8QOzOen=bP@lNFgrSE!Y){pjv@$4qOAV8OS%gqJ*iTw|9lDpUo%#v=_vN&G0upA%Dv33h>YNXHq!J#WI0G>XtW1<&a!(^j zeNk7AhWl)bmZiBmX5@P=U;7AR)Cak=05wVzkY8O3LhwS}n}JFZDb#x9-EH?`Xy7^t zUR3>1<&7FiMTW1fnI(Y(b=5*+Z5cIrd@3nJNI*F62(j|4rIp(QdFDara=$IMY`1HL zZReYn37K;4zyZ=no4Tn=ySH4ry1kC1p7DjUuU>nw9=|^w9`3oNOByI`D@5)?$X})@ z5z#ZJ@b9M~US1xreS-Kqzxqv(-$r`b**YgS)MrvjVg%pqg4?qOqCX#Lf7LMHvAl9G+ch00E11- zleQWg5NOL3#8H?aUvCwsYzH5rd`VDvc z2b%BcEhMtpe?5FU+0%zeIn7 zz;nDVs`Fo9R(OD%+nN;vv49YTw@S=0-W+Pcy87Pr4b?IEdI0-U4<&1cxEV{yV)Ye? zx6uTXgdpzyrOYVhr%KsW zqhEa!`GLhNzr=`sX^59OaibOMUI!H~xs0P&7cb55^@4bmK}W2BVBiwCSexW!-rt5H z1PV2Qk_P;iIZt|E))vs)Z{)C#zT6QQ4LcY@MV|Pf8%iR340w>8@DlMTmd!PtdaG&6 zIDXNVfUO@&qwRV%km{cP+Nm?31Lxm}xz$mWIoUc1KDq<);3TbwU4WX}0V?_MZxAQi ze~#sATD?CP#_R>Y(`N9;M61?0ppuB_%bJU?2Z@kXOR@D#+6-@sGMuY*BA=PugF=rh z3%Lp{G}Tz*6Vu~UT@*ilH(D4QpaQ+M-yaL9GbPHBk*nd-e%o)8YpL+-ZH;glj$a6UszeRjfx7HQ)Hbf99bk>6UsP4v^_F<2zZ%@3;JuE&hCG1=cj5@u-`%rvB znSz^4kz85EnS+fdoKUgeTu`e6lCPXgn)>7ZSETP>59;5C^}l`$*tX*0?nBaIPyJr3 zuVER$lX^80rPzKC9=!P3z*y7jUDTnf9)#A3GAw?JwK}Ch@N>Ulwz`~jM2E1tD>~nh z;0YFye@;tXlE-1nmD1?wN?b~tzU9M5Kecgo1SlYXzk{@6lcBZNT6#zyV-ic~ru2)a)_0E*4>b~2qN=r#J3_Mp1e!zntsp2k%tfmwO zk}@YMPW~A-!6|rFlS5*8st|3(GTdla)*=LA106n5%7o_2qymIEtcA9ORX+9jKROMiI*sGn6Y|(cH#S zuzZwyKfI`(+|t`ZvN27$f&-&jNzs0`j5)lFj*ywHXKBgEh$$1PJ@^&hGgUMcnUS3K zrPBSt)AG_7@R21}|6N1x%XB@7TekS&&7lNQdz}Jrl@BxH04Tn2rQU4dXYp$PZ&1S- zAo|gWWa|3S^H6!Es~+=Jh|=ym(4*`JEFL6>#k5bHHnWeCWtOis`ff2~I*nfG{M6(< z0+TAlbZ)mPvSYQb%+vDX9e`;H6>ea9Eah((2EPWZQu7$y-}LAeu@TAu1Bxf#eayL9 z7y8CtHy)lmF!~8bKO6aLgR)KYyc(V%t=`l< zq@u%hIY<%Dl92aA8@pHj#Z=jjZvuu9N3l*+x`U5xn(cCH+gAYvcT^NAfPM_-B_Ln* z3Pqzo*iS|v7@=KoHlrit_L0G=?H z{(bgF(3-Dx>P%cF61Jv1$f5x9kx%g%QW`wI3kAH(*x1g${Me63H$%FHXrh(k*sE#ucgwJwW-7WJRbW`Jmc*a%p*y4&CX@nwIH zO>xmVSXB66Qh3;hXJo#aCbPhVmYjjmxJz^N1O4`Q6Doqt2~NH|xdb0bGI;V;d}|ay z(iPzME#H^R(F!T>ePX9m4ncL$KtOx}9o}2D*iV&a>CLco63WRhe~B*^d}auL;q4B# zRK-o+dG3%Mw~b>!<|QiiSxjMlF@PGlA)e^JFV4O1%}ZF?jbjX7?u$?GIJE|1{8G@x zEbSkvFBYJ4tcOS_v-oST_BKq|%kKMglTu5MICha9#W||TM3!qsAq}nBk4AsGnFn2- z0bS_YfpXVzx3z_UU}XB^^G?At$256thDrgrygGb25m@^?kkWq*TmE;S(|T(#X2=-* zEO6zaKoL$dObK{}Fjy6ZM?j8xqv&^*+H_k#;!aZqePy{KzDb3BKUeC?#b2R4ZfT7= z#&-=eFihTBezyz6a&x;WeyN@s7a{bAV5&_@k&Ge=9D{)Y#FZiBZr+K`T=8-lciYT+$TN%hZ%2X5U*!0NpmUpR|&8~wW3rNUO&8G>?NRuJQL7P zw7={PyDV@WtSin}{vGeQeAx{D+*grw23YOZS@U`IUV>zg;H@0#*OVxKqdgpC>HoA; z;%bkrh!;0!FZOeoLq&&7nQEJigf6!4;&aW-X_1SXz3%s=F!`?1EubgZa`Uy5xV_#i zJSU3rt^gE_VtdizWw2=dHU&$L{FRw;P=(;z4hF%35H7T)I}Y?yiBCzNVZ%qo&{b(&D|7#`-dl9 zV}no_Rfsv5UTT_cI)}SS4&|1n0AQ>r_-ZQ{T866}u;Gn2QN6j=n^8@=wPB#jIl5>Z zeqaVJ)C?;8Zvo(ceR=+WoijDlu6`Bge{A=&++Bma{+^KQVO$LP9o(nOL?XV7fZF8@F ze&EX?_2c2h33#`{@78}rGNQ?gXggMIGz8)#4Ih!cy|!RL!Rv#nBPrk?fI-N_lH)Xe ztZb?b=KE*StzcF;gzb9n0>@u6b2`F&ayvy};ee)|w4J-~S^wkB&>h($Stq1oz-p1Z z;(kAF86no`qEZ=~IIEQ6!)Ca8a{JdiP38XjpLlG~0}V5w^_qcWLE=2NXo5G|hh{dM zM$Qq>*Y1Ry?oFVwM>_!Tqy)J1V#l+|HU%^bd*<~n9@KwOSk3#MiwFLWgOftY`3p{* zM&-SLS+||A2E*&+GWECZhmM&$wFtgDDm(yz3&<`1OC4F$|C|^w;emd-=erfBg!6jg z?9WA?6+WTJEj~sPb&lgcqYV-&|F$Aj+VAGJQ9g#PLv(QVI^$Y#@90MErbH9-T(Xb0 zKNkxjRKauBlsaSDM7MqS^OF!rLp6X5C>|`js#6y?_~gzD+MM^Qg!uT%y=y1?E7NBw z``=@e|6g;x{}&M-6V}})*%^R^kf~rfZi<}w(MY|1SM`C0O4=v@U4O?f{lObPth>KT zd0waLcgtOmILi5uw?OG1VF_5!&A!T@KrnG7;&?6WU#1&M;lSM1xakr= zwhEbas`C#anL37Uj2%U1qSY*S#1dC%bU-xW4S->Dr~LCjt)Qk54E?tge6LGqHc%XG zZLy6e?xTyi27(;(yec*ctyo1>k;B4VBiU9hg{i#sU2Xx022!y*1#w_wr{&UuWVbZ%vC@9+Lb?EPINDhp&+4$p&P)Fu_SJj0kh^V(9CH{+JsS6?(>9J%{- zHrNI^g#4?X#ImIr$QxJl*R|H}?V;N>sWZ%rcf&Og)cyNZbQg`24PfKQgmpj9*_xtH zN;>xaJ1vNlzeTzB+AF|C{=bX<{(t=qWW;bW7yx}{0ATN30Q5Nzz44>iwvS@&@g-gj zAbUiEr)=(=b9}8|@&Ar)YIV^^ULY4O4I*X+ks-=5ESoaq%uOz2d((j_b98gVmhS%Z zss<%nIW${$))Sq*r^~rRQumMDfRVoAIY0kv3?I4ibf`&zTPHLrHIw<_6*zb0OaY2n=%cWtL1#a)u0B zkAxb!M@pq29+a1N_VD?8*67IzDe%_-mH)}?{O5mE{NQDAOymmO)pC=>bfhoJ z1tS_0QJsdh28YL8L%x+?r}a^iHNwI|-2HKnD5V}NQjcXvR|elZ{uD(L-N}_7q>;TV z_bt&cNprX6>0+kZa5t#{aT$_kO>CEyLF%Bd0zfdN;W5{EpOm$V_IliBx?LxuY^1F&SKKxTQw8tVo)y&ub?~^PUL$h=J4q>^FbbFI0aH#r||qWY#x#{ z`2%5EhG6#>0<7>N)p+24&8h!4onwv!G=d_`Cy}JqEgwH?KBywRo5W0`U(+J*83VB3 ziXHopEo}n)Mdy2RGaITy#fJ8o|HouSRbujhRqj;w$MM|P4?VkcKdSuA+P_uv&(0}& zRiATyeqO}wOZT6Hs;p!7_MouR&#*E*-?4SCz1L>n@8y?|=L-GWJz?=z(_cFu_A=c* zv`_Z3NwuHu8r{X)`juH$X-NK>^&|b8_K%u->Obb(`ttGJ#tVy#n%vpSS(D`(?%g}; zzP9#zV|?PIi%*wponQZ?|K1+^(|@N4Ei=oG+^r960nPr?3bgyh`D;#i>U5T)byfdv z+JVZA;74zM^%%b0eC=WMQH6xc<|k8XiKT~J=d24O+Z_XOK9owa@_pD3K zcsS2+`ORtaHF><+{5h+5ezl3dczR*V$AG6VSAN~2>9n-wS^MVSdhajh|BE+%4V-Y@ z?_|FcWCIhGG0%LVA7#gn?qdDcyYi5pj($=`TF-a(%NP0rmonSA%o>N&KP8 z8(9Qz?b%btW^v-hTh+~W#vMP3=2d%|{LDI@e);0hy7C ze@LGx^2LTJvp&qX`u5b#=4Qu}{>1O@8`e86xy7Cp^}DJ7xZce*qyNPkGr4I(JsE*v zz-dZg{sGSB;EUKENRi{P<+bW!_~HI-=HD6bZRA(n{jvDawcgT)FK3)C%x0Qa zt!7)Wc(Qy!bvf`R*PQoVf9r27NoE#(5@-E)TAf_QyGp%fm!iG)OnCbI(j4amN_vw+07po?P0aw|1s}Om60Z zR}-4A+nOgc&s*O0m*YYSw>-~_ZB=2j^QLVRE96LQwbJT;R(oFMQ`RS!i7P?^y4V;3 z8(6JHzx=QfwUNn{jlMg7&desNlbOnoN1M qi+xiPxS}+G7hSXJ65nnFU1!SR6WA3+{r18l8ni)%sF}?FZvp_+T&*Jj literal 0 HcmV?d00001 diff --git a/assets/layers/play_forest/play_forest.json b/assets/layers/play_forest/play_forest.json new file mode 100644 index 000000000..e83f16463 --- /dev/null +++ b/assets/layers/play_forest/play_forest.json @@ -0,0 +1,108 @@ +{ + "id": "play_forest", + "name": { + "nl": "Speelbossen" + }, + "minzoom": 12, + "overpassTags": { + "and": [ + "playground=forest" + ] + }, + "title": { + "render": { + "nl": "Speelbos" + }, + "mappings": [ + { + "if": "name~*", + "then": { + "nl": "Speelbos {name}" + } + } + ] + }, + "description": { + "nl": "Een speelbos is een vrij toegankelijke zone in een bos" + }, + "tagRenderings": [ + "images", + { + "question": "Wie beheert dit gebied?", + "render": "Dit gebied wordt beheerd door {operator}", + "freeform": { + "key": "operator" + }, + "mappings": [ + { + "if": "operator~[aA][nN][bB]", + "then": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos", + "hideInAnswer": true + }, + { + "if": "operator=Agenstchap Natuur en Bos", + "then": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos" + } + ] + }, + { + "question": "Wanneer is deze speelzone toegankelijk?", + "mappings": [ + { + "if": "opening_hours=08:00-22:00", + "then": "Het hele jaar door overdag toegankelijk (van 08:00 tot 22:00)" + }, + { + "if": "opening_hours=Jul-Aug 08:00-22:00", + "then": "Enkel in de zomervakantie en overdag toegankelijk (van 1 juli tot 31 augustus, van 08:00 tot 22:00" + } + ] + }, + { + "question": "Naar waar kan men emailen indien er problemen zijn met de speelzone?", + "render": "De bevoegde dienst kan bereikt worden via {email}", + "freeform": { + "key": "email", + "type": "email" + } + }, + { + "question": "Naar waar kan men bellen indien er problemen zijn met de speelzone?", + "render": "De bevoegde dienst kan getelefoneerd worden via {phone}", + "freeform": { + "key": "phone", + "type": "phone" + } + }, + "questions", + { + "render": "{reviews(name, play_forest)}" + } + ], + "hideUnderlayingFeaturesMinPercentage": 0, + "hideFromOverview": false, + "icon": { + "render": "./assets/layers/play_forest/icon.jpg" + }, + "width": { + "render": "8" + }, + "iconSize": { + "render": "40,40,center" + }, + "color": { + "render": "#2d2" + }, + "presets": [ + { + "title": "Speelbos", + "tags": [ + "leisure=playground", + "playground=forest", + "fixme=Toegevoegd met MapComplete, geometry nog uit te tekenen" + ], + "description": "Een zone in het bos, duidelijk gemarkeerd als speelzone met de betreffende borden
" + } + ], + "wayHandling": 2 +} \ No newline at end of file diff --git a/assets/themes/play_forests/play_forests.json b/assets/themes/play_forests/play_forests.json new file mode 100644 index 000000000..1f7c090c9 --- /dev/null +++ b/assets/themes/play_forests/play_forests.json @@ -0,0 +1,27 @@ +{ + "id": "play_forests", + "title": { + "nl": "Speelbossen" + }, + "shortDescription": { + "nl": "Deze kaart toont speelbossen" + }, + "description": { + "nl": "Een speelbos is een zone in een bos die vrij toegankelijk is voor spelende kinderen. Deze wordt in bossen van het Agentschap Natuur en bos altijd aangeduid met het overeenkomstige bord." + }, + "language": [ + "nl" + ], + "maintainer": "", + "icon": "./assets/layers/play_forest/icon.jpg", + "version": "0", + "startLat": 0, + "startLon": 0, + "startZoom": 1, + "widenFactor": 0.05, + "socialImage": "", + "layers": [ + "play_forest" + ], + "roamingRenderings": [] +} \ No newline at end of file