=e;s-=r)u=Ab(s,n[s],n[s+1],u);return u&&cd(u,u.next)&&(qs(u),u=u.next),u}function ra(n,e){if(!n)return n;e||(e=n);var t=n,r;do if(r=!1,!t.steiner&&(cd(t,t.next)||r5(t.prev,t,t.next)===0)){if(qs(t),t=e=t.prev,t===t.next)break;r=!0}else t=t.next;while(r||t!==e);return e}function Vs(n,e,t,r,a,s,u){if(n){!u&&s&&Bz(n,r,a,s);for(var l=n,p,f;n.prev!==n.next;){if(p=n.prev,f=n.next,s?Iz(n,r,a,s):Rz(n)){e.push(p.i/t|0),e.push(n.i/t|0),e.push(f.i/t|0),qs(n),n=f.next,l=f.next;continue}if(n=f,n===l){u?u===1?(n=Pz(ra(n),e,t),Vs(n,e,t,r,a,s,2)):u===2&&Dz(n,e,t,r,a,s):Vs(ra(n),e,t,r,a,s,1);break}}}}function Rz(n){var e=n.prev,t=n,r=n.next;if(r5(e,t,r)>=0)return!1;for(var a=e.x,s=t.x,u=r.x,l=e.y,p=t.y,f=r.y,_=as?a>u?a:u:s>u?s:u,D=l>p?l>f?l:f:p>f?p:f,F=r.next;F!==e;){if(F.x>=_&&F.x=S&&F.y=0)return!1;F=F.next}return!0}function Iz(n,e,t,r){var a=n.prev,s=n,u=n.next;if(r5(a,s,u)>=0)return!1;for(var l=a.x,p=s.x,f=u.x,_=a.y,S=s.y,w=u.y,D=lp?l>f?l:f:p>f?p:f,q=_>S?_>w?_:w:S>w?S:w,K=Sm(D,F,e,t,r),Q=Sm(N,q,e,t,r),W=n.prevZ,P=n.nextZ;W&&W.z>=K&&P&&P.z=D&&W.x=F&&W.y=0||(W=W.prevZ,P.x>=D&&P.x=F&&P.y=0))return!1;P=P.nextZ}for(;W&&W.z>=K;){if(W.x>=D&&W.x=F&&W.y=0)return!1;W=W.prevZ}for(;P&&P.z=D&&P.x=F&&P.y=0)return!1;P=P.nextZ}return!0}function Pz(n,e,t){var r=n;do{var a=r.prev,s=r.next.next;!cd(a,s)&&pM(a,r,r.next,s)&&Ws(a,s)&&Ws(s,a)&&(e.push(a.i/t|0),e.push(r.i/t|0),e.push(s.i/t|0),qs(r),qs(r.next),r=n=s),r=r.next}while(r!==n);return ra(r)}function Dz(n,e,t,r,a,s){var u=n;do{for(var l=u.next.next;l!==u.prev;){if(u.i!==l.i&&Hz(u,l)){var p=mM(u,l);u=ra(u,u.next),p=ra(p,p.next),Vs(u,e,t,r,a,s,0),Vs(p,e,t,r,a,s,0);return}l=l.next}u=u.next}while(u!==n)}function Fz(n,e,t,r){var a=[],s,u,l,p,f;for(s=0,u=e.length;s=t.next.y&&t.next.y!==t.y){var l=t.x+(a-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(ls&&(s=l,u=t.x=t.x&&t.x>=f&&r!==t.x&&qa(a<_>u.x||t.x===u.x&&Lz(u,t)))&&(u=t,S=w)),t=t.next;while(t!==p);return u}function Lz(n,e){return r5(n.prev,n,e.prev)0||p>0&&r;)l!==0&&(p===0||!r||t.z1);return n}function Sm(n,e,t,r,a){return n=(n-t)*a|0,e=(e-r)*a|0,n=(n|n=(n-u)*(s-l)&&(n-u)*(r-l)>=(t-u)*(e-l)&&(t-u)*(s-l)>=(a-u)*(r-l)}function Hz(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!Vz(n,e)&&(Ws(n,e)&&Ws(e,n)&&Wz(n,e)&&(r5(n.prev,n,e.prev)||r5(n,e.prev,e))||cd(n,e)&&r5(n.prev,n,n.next)>0&&r5(e.prev,e,e.next)>0)}function r5(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function cd(n,e){return n.x===e.x&&n.y===e.y}function pM(n,e,t,r){var a=du(r5(n,e,t)),s=du(r5(n,e,r)),u=du(r5(t,r,n)),l=du(r5(t,r,e));return!!(a!==s&&u!==l||a===0&&cu(n,t,e)||s===0&&cu(n,r,e)||u===0&&cu(t,n,r)||l===0&&cu(t,e,r))}function cu(n,e,t){return e.x=Math.min(n.x,t.x)&&e.y=Math.min(n.y,t.y)}function du(n){return n>0?1:n=0&&r5(n,n.prev,e)>=0:r5(n,e,n.prev)s!=t.next.y>s&&t.next.y!==t.y&&a0&&(r+=n[a-1].length,t.holes.push(r))}return t};var qz=ag.exports,fM={exports:{}};(function(n,e){(function(){var t=Math.PI,r=Math.sin,a=Math.cos,s=Math.tan,u=Math.asin,l=Math.atan2,p=Math.acos,f=t/180,_=1e3*60*60*24,S=2440588,w=2451545;function D(E1){return E1.valueOf()/_-.5+S}function F(E1){return new Date((E1+.5-S)*_)}function N(E1){return D(E1)-w}var q=f*23.4397;function K(E1,a4){return l(r(E1)*a(q)-s(a4)*r(q),a(E1))}function Q(E1,a4){return u(r(a4)*a(q)+a(a4)*r(q)*r(E1))}function W(E1,a4,S4){return l(r(E1),a(E1)*r(a4)-s(S4)*a(a4))}function P(E1,a4,S4){return u(r(a4)*r(S4)+a(a4)*a(S4)*a(E1))}function V(E1,a4){return f*(280.16+360.9856235*E1)-a4}function Z(E1){return E1=0&&(Oe=Math.sqrt(m2)/(Math.abs(G4)*2),Be=o2-Oe,l2=o2+Oe,Math.abs(Be)0?"alwaysUp":"alwaysDown"]=!0),Xe},n.exports=m1})()})(fM);var $z=fM.exports;const ss=on($z),Uz={SH:[{name:"Vacances de Nadal",2019:[12,23,1,6],2020:[12,23,1,6],2021:[12,23,1,7],2022:[12,23,1,6],2023:[12,25,1,5],2024:[12,23,1,6],2025:[12,22,1,6],2026:[12,23,1,6]},{name:"Vacances de Carnaval",2020:[2,24,2,28],2021:[2,15,2,18],2022:[2,28,3,4],2023:[2,20,2,24],2024:[2,12,2,16],2025:[2,24,3,3],2026:[2,16,2,20],2027:[2,8,2,12]},{name:"Vacances de Pasqua",2020:[4,6,4,17],2021:[3,29,4,6],2022:[4,11,4,22],2023:[4,3,4,14],2024:[3,28,4,5],2025:[4,17,5,2],2026:[3,30,4,10],2027:[3,22,4,2]},{name:"Vacances de Pentecosta",2020:[5,25,6,1],2021:[5,24,5,28],2022:[6,2,6,6],2023:[5,29,5,30],2024:[5,20,5,24],2025:[6,9,6,9],2026:[5,25,5,29],2027:[5,17,5,21]},{name:"Vacances d'estiu",2020:[7,2,9,8],2021:[7,3,9,8],2022:[7,2,9,8],2023:[7,1,9,10],2024:[6,29,9,8],2025:[7,1,9,8],2026:[7,4,9,8]},{name:"Vacances de Tots Sants",2020:[10,26,10,30],2021:[11,1,11,1],2022:[10,31,11,4],2023:[10,30,11,3],2024:[10,28,11,1],2025:[10,27,10,31],2026:[10,26,10,30]},{name:"Final de classe",2027:[7,2,7,2]}]},Yz={SH:[{name:"Pushimet dimërore",2019:[12,21,1,5],2020:[12,24,1,4],2021:[12,24,1,4],2022:[12,26,1,4],2023:[12,26,1,5],2024:[12,23,1,3],2025:[12,22,1,2]},{name:"Pushimet verore",2020:[6,13,9,13],2021:[6,9,9,26],2022:[6,18,9,11],2023:[6,15,9,10],2024:[6,14,9,8],2025:[6,13,9,8]},{name:"Pushimet e pranveres",2023:[4,3,4,9],2024:[4,1,4,5],2025:[3,31,4,4],2026:[3,30,4,3]},{name:"Fundi i klasës",2026:[6,13,6,13]}]},Jz={PH:[{name:"Año Nuevo",fixed_date:[1,1]},{name:"Carnaval I",variable_date:"easter",offset:-48},{name:"Carnaval II",variable_date:"easter",offset:-47},{name:"Feriado con fines turísticos",fixed_date:[3,23]},{name:"Día Nacional de la Memoria por la Verdad y la Justicia",fixed_date:[3,24]},{name:"Viernes Santo",variable_date:"easter",offset:-2},{name:"Día del Veterano y de los Caídos en la Guerra de Malvinas",fixed_date:[4,2]},{name:"Día del Trabajador",fixed_date:[5,1]},{name:"Día de la Revolución de Mayo",fixed_date:[5,25]},{name:"Paso a la Inmortalidad del Gral. Don Martín Miguel de Güemes",fixed_date:[6,15]},{name:"Paso a la Inmortalidad del General Manuel Belgrano",fixed_date:[6,20]},{name:"Día de la Independencia",fixed_date:[7,9]},{name:"Feriado con fines turísticos",fixed_date:[7,10]},{name:"Paso a la Inmortalidad del Gral. José de San Martín",fixed_date:[8,17]},{name:"Día del Respeto a la Diversidad Cultural",fixed_date:[10,12]},{name:"Día de la Soberanía Nacional",fixed_date:[11,23]},{name:"Feriado con fines turísticos",fixed_date:[12,7]},{name:"Inmaculada Concepción de María",fixed_date:[12,8]},{name:"Navidad",fixed_date:[12,25]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-34.60377&lon=-58.38159&zoom=16&addressdetails=1&accept-language=es"},Kz={PH:[{name:"Neujahrstag",fixed_date:[1,1]},{name:"Heilige Drei Könige",fixed_date:[1,6]},{name:"Ostermontag",variable_date:"easter",offset:1},{name:"Staatsfeiertag",fixed_date:[5,1]},{name:"Christi Himmelfahrt",variable_date:"easter",offset:39},{name:"Pfingstmontag",variable_date:"easter",offset:50},{name:"Fronleichnam",variable_date:"easter",offset:60},{name:"Mariä Himmelfahrt",fixed_date:[8,15]},{name:"Nationalfeiertag",fixed_date:[10,26]},{name:"Allerheiligen",fixed_date:[11,1]},{name:"Mariä Empfängnis",fixed_date:[12,8]},{name:"Christtag",fixed_date:[12,25]},{name:"Stefanitag",fixed_date:[12,26]}],SH:[{name:"Osterferien",2017:[4,8,4,18],2018:[3,24,4,3],2019:[4,13,4,23],2020:[4,4,4,14],2021:[3,27,4,5],2022:[4,9,4,18],2023:[4,1,4,10],2024:[3,23,4,1],2025:[4,12,4,21],2026:[3,28,4,6],2027:[3,20,3,29],2028:[4,8,4,17]},{name:"Pfingstferien",2017:[6,3,6,6],2018:[5,19,5,22],2019:[6,8,6,11],2020:[5,30,6,2],2021:[5,22,5,24],2022:[6,4,6,6],2023:[5,27,5,29],2024:[5,18,5,20],2025:[6,7,6,9],2026:[5,23,5,25],2027:[5,15,5,17],2028:[6,3,6,5]},{name:"Herbstferien",2020:[10,27,10,31],2021:[10,27,10,31],2022:[10,27,10,31],2023:[10,27,10,31],2024:[10,27,10,31],2025:[10,27,10,31],2026:[10,27,10,31],2027:[10,27,10,31],2028:[10,27,10,31]},{name:"Weihnachtsferien",2016:[12,24,1,7],2017:[12,24,1,6],2018:[12,24,1,6],2019:[12,23,1,6],2020:[12,24,1,6],2021:[12,24,1,6],2022:[12,24,1,6],2023:[12,23,1,6],2024:[12,24,1,6],2025:[12,24,1,6],2026:[12,24,1,6],2027:[12,24,1,6],2028:[12,24,1,6]},{name:"Allerseelen",2020:[11,2,11,2],2021:[11,2,11,2],2022:[11,2,11,2],2023:[11,2,11,2],2024:[11,2,11,2],2025:[11,2,11,2],2026:[11,2,11,2],2027:[11,2,11,2],2028:[11,2,11,2]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lon=16.3725042&lat=48.2083537&zoom=18&addressdetails=1&accept-language=de,en",Burgenland:{SH:[{name:"Sommerferien",2020:[7,4,9,6],2021:[7,3,9,5],2022:[7,2,9,4],2023:[7,1,9,3],2024:[6,29,9,1],2025:[6,28,8,31],2026:[7,4,9,6],2027:[7,3,9,5],2028:[7,1,9,3]},{name:"Semesterferien",2020:[2,10,2,15],2021:[2,8,2,13],2022:[2,14,2,19],2023:[2,13,2,18],2024:[2,12,2,17],2025:[2,10,2,15],2026:[2,9,2,14],2027:[2,8,2,13],2028:[2,14,2,19]},{name:"St. Martin",2020:[11,11,11,11],2021:[11,11,11,11],2022:[11,11,11,11],2023:[11,11,11,11],2024:[11,11,11,11],2025:[11,11,11,11],2027:[11,11,11,11],2028:[11,11,11,11]}]},Kärnten:{SH:[{name:"Sommerferien",2020:[7,11,9,13],2021:[7,10,9,12],2022:[7,9,9,11],2023:[7,8,9,10],2024:[7,6,9,8],2025:[7,5,9,7],2026:[7,11,9,13],2027:[7,10,9,12],2028:[7,8,9,10]},{name:"Semesterferien",2020:[2,10,2,15],2021:[2,8,2,13],2022:[2,14,2,19],2023:[2,13,2,18],2024:[2,12,2,17],2025:[2,10,2,15],2026:[2,9,2,14],2027:[2,8,2,13],2028:[2,14,2,19]},{name:"St. Josef",2020:[3,19,3,19],2021:[3,19,3,19],2022:[3,19,3,19],2023:[3,19,3,19],2024:[3,19,3,19],2025:[3,19,3,19],2026:[3,19,3,19],2027:[3,19,3,19]}]},Niederösterreich:{SH:[{name:"Sommerferien",2020:[7,4,9,6],2021:[7,3,9,5],2022:[7,2,9,4],2023:[7,1,9,3],2024:[6,29,9,1],2025:[6,28,8,31],2026:[7,4,9,6],2027:[7,3,9,5],2028:[7,1,9,3]},{name:"Semesterferien",2020:[2,3,2,8],2021:[2,1,2,6],2022:[2,7,2,12],2023:[2,6,2,11],2024:[2,5,2,10],2025:[2,3,2,8],2026:[2,2,2,7],2027:[1,30,2,6],2028:[2,5,2,12]},{name:"St. Leopold",2020:[11,15,11,15],2021:[11,15,11,15],2022:[11,15,11,15],2023:[11,15,11,15],2024:[11,15,11,15],2025:[11,15,11,15],2027:[11,15,11,15],2028:[11,15,11,15]}]},Oberösterreich:{SH:[{name:"Sommerferien",2020:[7,11,9,13],2021:[7,10,9,12],2022:[7,9,9,11],2023:[7,8,9,10],2024:[7,6,9,8],2025:[7,5,9,7],2026:[7,11,9,13],2027:[7,10,9,12],2028:[7,8,9,10]},{name:"Semesterferien",2020:[2,17,2,22],2021:[2,8,2,13],2022:[2,21,2,26],2023:[2,20,2,25],2024:[2,19,2,24],2025:[2,17,2,22],2026:[2,16,2,21],2027:[2,15,2,20],2028:[2,21,2,26]},{name:"St. Florian",2020:[5,4,5,4],2021:[5,4,5,4],2022:[5,4,5,4],2023:[5,4,5,4],2024:[5,4,5,4],2025:[5,4,5,4],2026:[5,4,5,4],2027:[5,4,5,4],2028:[5,4,5,4]}]},Salzburg:{SH:[{name:"Sommerferien",2020:[7,11,9,13],2021:[7,10,9,12],2022:[7,9,9,11],2023:[7,8,9,10],2024:[7,6,9,8],2025:[7,5,9,7],2026:[7,11,9,13],2027:[7,10,9,12],2028:[7,8,9,10]},{name:"Semesterferien",2020:[2,10,2,15],2021:[2,8,2,13],2022:[2,14,2,19],2023:[2,13,2,18],2024:[2,12,2,17],2025:[2,10,2,15],2026:[2,9,2,14],2027:[2,8,2,13],2028:[2,14,2,19]},{name:"St. Rupert",2020:[9,24,9,24],2021:[9,24,9,24],2022:[9,24,9,24],2023:[9,24,9,24],2024:[9,24,9,24],2025:[9,24,9,24],2027:[9,24,9,24],2028:[9,24,9,24]}]},Steiermark:{SH:[{name:"Sommerferien",2020:[7,11,9,13],2021:[7,10,9,12],2022:[7,9,9,11],2023:[7,8,9,10],2024:[7,6,9,8],2025:[7,5,9,7],2026:[7,11,9,13],2027:[7,10,9,12],2028:[7,8,9,10]},{name:"Semesterferien",2020:[2,17,2,22],2021:[2,8,2,13],2022:[2,21,2,26],2023:[2,20,2,25],2024:[2,19,2,24],2025:[2,17,2,22],2026:[2,16,2,21],2027:[2,15,2,20],2028:[2,21,2,26]},{name:"St. Josef",2020:[3,19,3,19],2021:[3,19,3,19],2022:[3,19,3,19],2023:[3,19,3,19],2024:[3,19,3,19],2025:[3,19,3,19],2026:[3,19,3,19],2027:[3,19,3,19]}]},Tirol:{SH:[{name:"Sommerferien",2020:[7,11,9,13],2021:[7,10,9,12],2022:[7,9,9,11],2023:[7,8,9,10],2024:[7,6,9,8],2025:[7,5,9,7],2026:[7,11,9,13],2027:[7,10,9,12],2028:[7,8,9,10]},{name:"Semesterferien",2020:[2,10,2,15],2021:[2,8,2,13],2022:[2,14,2,19],2023:[2,13,2,18],2024:[2,12,2,17],2025:[2,10,2,15],2026:[2,9,2,14],2027:[2,8,2,13],2028:[2,14,2,19]},{name:"St. Josef",2020:[3,19,3,19],2021:[3,19,3,19],2022:[3,19,3,19],2023:[3,19,3,19],2024:[3,19,3,19],2025:[3,19,3,19],2026:[3,19,3,19],2027:[3,19,3,19]},{name:"schulfrei",2025:[6,20,6,20]}]},Vorarlberg:{SH:[{name:"Sommerferien",2020:[7,11,9,13],2021:[7,10,9,12],2022:[7,9,9,11],2023:[7,8,9,10],2024:[7,6,9,8],2025:[7,5,9,7],2026:[7,11,9,13],2027:[7,10,9,12],2028:[7,8,9,10]},{name:"Semesterferien",2020:[2,10,2,15],2021:[2,8,2,13],2022:[2,14,2,19],2023:[2,13,2,18],2024:[2,5,2,10],2025:[2,10,2,15],2026:[2,9,2,14],2027:[2,8,2,13],2028:[2,14,2,19]},{name:"St. Josef",2020:[3,19,3,19],2021:[3,19,3,19],2022:[3,19,3,19],2023:[3,19,3,19],2024:[3,19,3,19],2025:[3,19,3,19],2026:[3,19,3,19],2027:[3,19,3,19]}]},Wien:{SH:[{name:"Sommerferien",2020:[7,4,9,6],2021:[7,3,9,5],2022:[7,2,9,4],2023:[7,1,9,3],2024:[6,29,9,1],2025:[6,28,8,31],2026:[7,4,9,6],2027:[7,3,9,5],2028:[7,1,9,3]},{name:"Semesterferien",2020:[2,3,2,8],2021:[2,1,2,6],2022:[2,7,2,12],2023:[2,6,2,11],2024:[2,5,2,10],2025:[2,3,2,8],2026:[2,2,2,7],2027:[1,30,2,6],2028:[2,5,2,12]},{name:"St. Leopold",2020:[11,15,11,15],2021:[11,15,11,15],2022:[11,15,11,15],2023:[11,15,11,15],2024:[11,15,11,15],2025:[11,15,11,15],2027:[11,15,11,15],2028:[11,15,11,15]}]}},Zz={PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-35.2809&lon=149.1300&zoom=16&addressdetails=1&accept-language=en","Australian Capital Territory":{_state_code:"act",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-35.2809&lon=149.1300&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Canberra Day",variable_date:"firstMarchMonday",offset:7},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Saturday",variable_date:"easter",offset:-1},{name:"Easter Sunday",variable_date:"easter"},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Reconciliation Day",variable_date:"lastMayMonday"},{name:"Queens Birthday",variable_date:"firstJuneMonday",offset:7},{name:"Family and Community Day",variable_date:"lastSeptemberMonday"},{name:"Labour Day",variable_date:"firstOctoberMonday"},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"New South Wales":{_state_code:"nsw",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-33.8688&lon=151.2093&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Saturday",variable_date:"easter",offset:-1},{name:"Easter Sunday",variable_date:"easter"},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Queens Birthday",variable_date:"firstJuneMonday",offset:7},{name:"Labour Day",variable_date:"firstOctoberMonday"},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"Northern Territory":{_state_code:"nt",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-12.4634&lon=130.8456&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Saturday",variable_date:"easter",offset:-1},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"May Day",variable_date:"firstMayMonday"},{name:"Queens Birthday",variable_date:"firstJuneMonday",offset:7},{name:"Picnic Day",variable_date:"firstAugustMonday"},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},Queensland:{_state_code:"qld",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-27.4698&lon=153.0251&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Saturday",variable_date:"easter",offset:-1},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Labour Day",variable_date:"firstMayMonday"},{name:"Queens Birthday",variable_date:"firstOctoberMonday"},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"South Australia":{_state_code:"sa",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-34.9285&lon=138.6007&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Adelaide Cup",variable_date:"firstMarchMonday",offset:7},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Saturday",variable_date:"easter",offset:-1},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Queens Birthday",variable_date:"firstJuneMonday",offset:7},{name:"Labour Day",variable_date:"firstOctoberMonday"},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},Tasmania:{_state_code:"tas",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-42.8821&lon=147.3272&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Eight Hours Day",variable_date:"firstMarchMonday",offset:7},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Queens Birthday",variable_date:"firstJuneMonday",offset:7},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},Victoria:{_state_code:"vic",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-37.8136&lon=144.9631&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Labour Day",variable_date:"firstMarchMonday",offset:7},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Saturday",variable_date:"easter",offset:-1},{name:"Easter Sunday",variable_date:"easter"},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Queens Birthday",variable_date:"firstJuneMonday",offset:7},{name:"AFL Grand Final",variable_date:"lastSeptemberFriday"},{name:"Melbourne Cup",variable_date:"firstNovemberTuesday"},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"Western Australia":{_state_code:"wa",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-31.9505&lon=115.8605&zoom=16&addressdetails=1&accept-language=en",PH:[{name:"New Years Day",fixed_date:[1,1]},{name:"Australia Day",fixed_date:[1,26]},{name:"Labour Day",variable_date:"firstMarchMonday"},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"ANZAC Day",fixed_date:[4,25]},{name:"Western Australia Day",variable_date:"firstJuneMonday"},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]}},Xz={PH:[{name:"Nieuwjaar - Jour de l'an",fixed_date:[1,1]},{name:"Paasmaandag - Lundi de Pâques",variable_date:"easter",offset:1},{name:"Dag van de Arbeid - Fête du Travail",fixed_date:[5,1]},{name:"Onze-Lieve-Heer-Hemelvaart - Jeudi de l'Ascensionn",variable_date:"easter",offset:39},{name:"Pinkstermaandag - Lundi de Pentecôte",variable_date:"easter",offset:50},{name:"Nationale feestdag van België - Fête nationale",fixed_date:[7,21]},{name:"Onze-Lieve-Vrouw-Hemelvaart - Assomption",fixed_date:[8,15]},{name:"Allerheiligen - Toussaint",fixed_date:[11,1]},{name:"Wapenstilstand - Armistice",fixed_date:[11,11]},{name:"Kerstmis - Noël",fixed_date:[12,25]}],_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Belgium&zoom=18&addressdetails=1&limit=1&accept-language=nl,fr,de,en",DE:{SH:[{name:"Osterferien",2020:[4,6,4,17],2021:[4,6,4,16],2022:[4,4,4,15],2023:[4,3,4,16],2024:[4,1,4,13],2025:[4,21,5,3],2026:[4,6,4,18]},{name:"Sommerferien",2020:[7,1,8,30],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[6,29,8,31],2025:[7,1,8,31],2026:[7,1,8,31]},{name:"Weihnachtsferien",2019:[12,23,1,3],2020:[12,21,1,1],2021:[12,27,1,7],2022:[12,26,1,8],2023:[12,25,1,6],2024:[12,23,1,4],2025:[12,22,1,3]},{name:"Karnevalsferien",2020:[2,24,2,28],2021:[2,15,2,19],2022:[2,28,3,4],2023:[2,20,2,26],2024:[2,12,2,17],2025:[3,3,3,8],2026:[2,16,2,21]},{name:"Allerheiligenferien",2020:[11,2,11,6],2021:[11,1,11,5],2022:[10,31,11,6],2023:[10,30,11,4],2024:[10,28,11,2],2025:[10,27,11,1]},{name:"Tag der Deutschsprachigen Gemeinschaft",2020:[11,15,11,15],2021:[11,15,11,15],2022:[11,15,11,15],2023:[11,15,11,15],2024:[11,15,11,15],2025:[11,15,11,15]}]},FR:{SH:[{name:"Vacances d'hiver (Noël)",2019:[12,23,1,3],2020:[12,21,1,1],2021:[12,27,1,9],2022:[12,26,1,6],2023:[12,25,1,5],2024:[12,23,1,5],2025:[12,22,1,4],2026:[12,21,1,3]},{name:"Congé de détente (Carnaval)",2020:[2,24,2,28],2021:[2,15,2,19],2022:[2,28,3,4],2023:[2,20,3,3],2024:[2,26,3,8],2025:[2,24,3,9],2026:[2,16,3,1],2027:[2,22,3,7]},{name:"Vacances de printemps (Pâques)",2020:[4,6,4,17],2021:[4,5,4,16],2022:[4,4,4,15],2023:[5,1,5,12],2024:[4,29,5,10],2025:[4,28,5,11],2026:[4,27,5,10],2027:[4,26,5,9]},{name:"Vacances d'été",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,28],2023:[7,8,8,27],2024:[7,6,8,25],2025:[7,5,8,24],2026:[7,4,8,23]},{name:"Fête de la Communauté française",2020:[9,27,9,27],2021:[9,27,9,27],2022:[9,27,9,27],2023:[9,27,9,27],2024:[9,27,9,27],2025:[9,27,9,27]},{name:"Congé d'automne (Toussaint)",2020:[11,2,11,6],2021:[11,1,11,5],2022:[10,24,11,4],2023:[10,23,11,3],2024:[10,21,11,3],2025:[10,20,11,2],2026:[10,19,11,1]},{name:"Début des vacances d'été",2027:[7,3,7,3]}]},NL:{SH:[{name:"Kerstvakantie",2019:[12,23,1,5],2020:[12,21,1,3],2021:[12,24,1,9],2022:[12,26,1,8],2023:[12,25,1,7],2024:[12,23,1,5],2025:[12,22,1,4],2026:[12,21,1,3],2027:[12,27,1,9],2028:[12,25,1,7]},{name:"Krokusvakantie",2020:[2,24,3,1],2021:[2,15,2,21],2022:[2,28,3,6],2023:[2,20,2,26],2024:[2,12,2,18],2025:[3,3,3,9],2026:[2,16,2,22],2027:[2,8,2,14],2028:[2,28,3,5],2029:[2,12,2,18]},{name:"Paasvakantie",2020:[4,6,4,19],2021:[4,5,4,18],2022:[4,4,4,18],2023:[4,3,4,16],2024:[4,1,4,14],2025:[4,7,4,21],2026:[4,6,4,19],2027:[3,29,4,11],2028:[4,3,4,17],2029:[4,2,4,15]},{name:"Zomervakantie",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,8,31],2025:[7,1,8,31],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,1,8,31],2029:[7,1,8,31]},{name:"Herfstvakantie",2020:[11,2,11,15],2021:[11,1,11,7],2022:[10,31,11,6],2023:[10,30,11,5],2024:[10,28,11,3],2025:[10,27,11,2],2026:[11,2,11,8],2027:[11,1,11,7],2028:[10,30,11,5]}]}},Qz={SH:[{name:"Коледна ваканция",2019:[12,21,1,5],2020:[12,22,1,3],2021:[12,24,1,3],2022:[12,24,1,2],2023:[12,23,1,2],2024:[12,21,1,2],2025:[12,24,1,4]},{name:"Междусрочна ваканция",2020:[2,5,2,5],2021:[1,30,2,3],2022:[2,1,2,1],2023:[2,1,2,5],2024:[2,3,2,5],2025:[2,5,2,5],2026:[1,31,2,2]},{name:"Пролетна ваканция",2020:[4,16,4,20],2021:[4,8,4,11],2022:[4,7,4,10],2023:[4,12,4,17],2024:[4,5,4,7],2025:[4,4,4,6],2026:[4,8,4,13]},{name:"Лятна ваканция",2020:[7,1,9,14],2021:[7,1,9,14],2022:[7,1,9,14],2023:[7,1,9,14],2024:[6,29,9,14],2025:[7,1,9,14],2026:[7,1,9,14]},{name:"Есенна ваканция",2020:[10,30,11,1],2021:[10,30,11,1],2022:[10,29,11,1],2023:[11,1,11,5],2024:[10,31,11,3],2025:[10,31,11,3]},{name:"Свободен от училище",2022:[2,2,2,4],2026:[3,2,3,2]}]},eL={PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-10&lon=-52&zoom=18&addressdetails=1&accept-language=pt,en",Acre:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Dia do evangélico",fixed_date:[1,23]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Alusivo ao Dia Internacional da Mulher",fixed_date:[3,8]},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Aniversário do estado",fixed_date:[6,15]},{name:"Dia da Amazônia",fixed_date:[9,5]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Assinatura do Tratado de Petrópolis",fixed_date:[11,17]},{name:"Natal",fixed_date:[12,25]}]},Alagoas:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"São João",fixed_date:[6,24]},{name:"São Pedro",fixed_date:[6,29]},{name:"Independência",fixed_date:[9,7]},{name:"Emancipação política",fixed_date:[9,16]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Morte de Zumbi dos Palmares",fixed_date:[11,20]},{name:"Natal",fixed_date:[12,25]}]},Amapá:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Dia de São José",fixed_date:[3,19]},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Data Magna do estado",fixed_date:[9,13]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Amazonas:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Data Magna do estado",fixed_date:[9,5]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Dia da Consciência Negra",fixed_date:[11,20]},{name:"Natal",fixed_date:[12,25]}]},Bahia:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Data magna do estado",fixed_date:[2,7]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Ceará:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Data magna do estado",fixed_date:[3,25]},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},"Distrito Federal":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Dia do evangélico",fixed_date:[11,30]},{name:"Natal",fixed_date:[12,25]}]},"Espírito Santo":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Data magna do estado",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Goiás:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Maranhão:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Data magna do estado",fixed_date:[7,28]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},"Mato Grosso":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-10.4276788&lon=-52.0892082&zoom=18&addressdetails=1&accept-language=pt,en",PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Dia da Consciência Negra",fixed_date:[11,20]},{name:"Natal",fixed_date:[12,25]}]},"Mato Grosso do Sul":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Criação do estado",fixed_date:[10,11]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},"Minas Gerais":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Data magna do estado",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Pará:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Data magna do estado",fixed_date:[8,15]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Paraíba:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Homenagem a João Pessoa",fixed_date:[7,26]},{name:"Data magna do estado",fixed_date:[8,5]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Paraná:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Data magna do estado",fixed_date:[12,19]},{name:"Natal",fixed_date:[12,25]}]},Pernambuco:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Data magna do estado",variable_date:"firstMarchSunday"},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Piauí:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Data magna do estado",fixed_date:[10,19]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},"Rio de Janeiro":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Dia da Consciência Negra",fixed_date:[11,20]},{name:"Natal",fixed_date:[12,25]}]},"Rio Grande do Norte":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"São Jorge",fixed_date:[4,23]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Mártires de Cunhaú e Uruaçu",fixed_date:[10,3]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},"Rio Grande do Sul":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Proclamação da República Rio-Grandense",fixed_date:[9,20]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Rondônia:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Data magna do estado",fixed_date:[1,4]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Dia do evangélico",fixed_date:[6,18]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Roraima:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Data magna do estado",fixed_date:[10,5]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},"Santa Catarina":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Data magna do estado",fixed_date:[8,11]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Santa Catarina de Alexandria",fixed_date:[11,25]},{name:"Natal",fixed_date:[12,25]}]},"São Paulo":{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Data magna do estado",fixed_date:[7,9]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]},Sergipe:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Aniversário de Aracaju",fixed_date:[3,17]},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"São João",fixed_date:[6,24]},{name:"Data magna do estado",fixed_date:[7,8]},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Nossa Senhora da Conceição",fixed_date:[12,8]},{name:"Natal",fixed_date:[12,25]}]},Tocantins:{PH:[{name:"Ano Novo",fixed_date:[1,1]},{name:"Carnaval",variable_date:"easter",offset:-47},{name:"Autonomia do estado",fixed_date:[3,18]},{name:"Sexta-feira santa",variable_date:"easter",offset:-2},{name:"Tiradentes",fixed_date:[4,21]},{name:"Dia do Trabalhador",fixed_date:[5,1]},{name:"Corpus Christi",variable_date:"easter",offset:60},{name:"Independência",fixed_date:[9,7]},{name:"Nossa Senhora da Natividade",fixed_date:[9,8]},{name:"Criação do estado",fixed_date:[10,5]},{name:"Nossa Senhora Aparecida",fixed_date:[10,12]},{name:"Finados",fixed_date:[11,2]},{name:"Proclamação da República",fixed_date:[11,15]},{name:"Natal",fixed_date:[12,25]}]}},tL={SH:[{name:"Зімовыя вакацыі",2019:[12,26,1,11],2020:[12,25,1,10],2021:[12,25,1,9],2022:[12,25,1,8],2023:[12,24,1,7],2024:[12,25,1,7],2025:[12,25,1,7]},{name:"Вясновыя вакацыі",2020:[3,30,4,18],2021:[3,28,4,4],2022:[3,27,4,3],2023:[3,26,4,2],2024:[3,24,3,31],2025:[3,23,3,30],2026:[3,22,3,29]},{name:"Летнія вакацыі",2020:[6,1,8,31],2021:[6,1,8,31],2022:[6,1,8,31],2023:[6,1,8,31],2024:[6,1,8,31],2025:[6,1,8,31],2026:[6,1,8,31]},{name:"Восеньскія вакацыі",2020:[11,1,11,8],2021:[10,31,11,7],2022:[10,30,11,7],2023:[10,29,11,7],2024:[10,27,11,5],2025:[11,2,11,9]}]},rL={PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Canada Day",variable_date:"canadaDay"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Christmas Day",fixed_date:[12,25]}],Alberta:{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Alberta Family Day",variable_date:"firstFebruaryMonday",offset:14},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"Heritage Day",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"British Columbia":{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Family Day",variable_date:"firstFebruaryMonday",offset:7},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"British Columbia Day",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]}]},Manitoba:{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Louis Riel Day",variable_date:"firstFebruaryMonday",offset:14},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"Civic Holiday",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]}]},"New Brunswick":{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"New Brunswick Day",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"Newfoundland and Labrador":{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Saint Patrick's Day",fixed_date:[3,17]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Saint George's Day",fixed_date:[4,23]},{name:"Discovery Day",fixed_date:[6,24]},{name:"Memorial Day",fixed_date:[7,1]},{name:"Orangemen's Day",fixed_date:[7,12]},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Armistice Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]}]},"Northwest Territories":{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"National Aboriginal Day",fixed_date:[6,21]},{name:"Canada Day",variable_date:"canadaDay"},{name:"Civic Holiday",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]}]},"Nova Scotia":{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"Natal Day",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},Nunavut:{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"Nunavut Day",fixed_date:[7,9]},{name:"Civic Holiday",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]}]},Ontario:{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Family Day",variable_date:"firstFebruaryMonday",offset:14},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"August Civic Public Holiday",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"Prince Edward Island":{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Islander Day",variable_date:"firstFebruaryMonday",offset:14},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"Civic Holiday",variable_date:"firstAugustMonday"},{name:"Gold Cup Parade Day",variable_date:"firstAugustMonday",offset:18},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},Quebec:{PH:[{name:"Jour de l'an",fixed_date:[1,1]},{name:"Vendredi saint",variable_date:"easter",offset:-2},{name:"Lundi de Pâques",variable_date:"easter",offset:1},{name:"Journée nationale des patriotes",variable_date:"victoriaDay"},{name:"Fête nationale du Québec",fixed_date:[6,24]},{name:"Fête du Canada",variable_date:"canadaDay"},{name:"Fête du Travail",variable_date:"firstSeptemberMonday"},{name:"Jour de l'Action de grâce",variable_date:"firstOctoberMonday",offset:7},{name:"Noël",fixed_date:[12,25]}]},Saskatchewan:{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Family Day",variable_date:"firstFebruaryMonday",offset:14},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"Saskatchewan Day",variable_date:"firstAugustMonday"},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]}]},Yukon:{PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Heritage Day",variable_date:"lastFebruarySunday",offset:-2},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Victoria Day",variable_date:"victoriaDay"},{name:"Canada Day",variable_date:"canadaDay"},{name:"Discovery Day",variable_date:"firstAugustMonday",offset:14},{name:"Labour Day",variable_date:"firstSeptemberMonday"},{name:"Thanksgiving",variable_date:"firstOctoberMonday",offset:7},{name:"Remembrance Day",fixed_date:[11,11]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]}},iL={PH:[{name:"Neujahrstag/Nouvel an/Capo d'anno",fixed_date:[1,1]},{name:"Berchtoldstag/2 janvier",fixed_date:[1,2],only_states:["Zürich","Bern","Luzern","Obwalden","Nidwalden","Glarus","Zug","Freiburg","Solothurn","Schaffhausen","Graubünden","Aargau","Thurgau","Waadt","Neuenburg","Genf","Jura","Sankt Gallen","Wallis"]},{name:"Heilige Drei Könige/Epifania",fixed_date:[1,6],only_states:["Uri","Schwyz","Graubünden","Tessin"]},{name:"Instauration de la République",fixed_date:[3,1],only_states:["Neuenburg"]},{name:"Josefstag/Saint-Joseph/San Giuseppe",fixed_date:[3,19],only_states:["Luzern","Uri","Schwyz","Nidwalden","Zug","Graubünden","Tessin","Wallis"]},{name:"Karfreitag/Vendredi saint",variable_date:"easter",offset:-2,only_states:["Zürich","Bern","Luzern","Uri","Schwyz","Obwalden","Nidwalden","Glarus","Zug","Freiburg","Solothurn","Basel-Stadt","Basel-Landschaft","Schaffhausen","Appenzell Ausserrhoden","Appenzell Innerrhoden","Sankt Gallen","Graubünden","Aargau","Thurgau","Waadt","Neuenburg","Genf","Jura"]},{name:"Ostermontag/Lundi de Pâques/Lunedi di Pasqua",variable_date:"easter",offset:1,only_states:["Zürich","Bern","Luzern","Uri","Schwyz","Obwalden","Nidwalden","Glarus","Zug","Freiburg","Solothurn","Basel-Stadt","Basel-Landschaft","Schaffhausen","Appenzell Ausserrhoden","Appenzell Innerrhoden","Sankt Gallen","Graubünden","Aargau","Thurgau","Tessin","Waadt","Neuenburg","Genf","Jura","Wallis"]},{name:"Tag der Arbeit/Festa dei lavoratori",fixed_date:[5,1],only_states:["Zürich","Freiburg","Solothurn","Basel-Stadt","Basel-Landschaft","Schaffhausen","Aargau","Thurgau","Tessin","Neuenburg","Jura"]},{name:"Auffahrt/Ascension/Ascensione",variable_date:"easter",offset:39},{name:"Pfingstmontag/Lundi de Pentecôte/Lunedi di Pentecoste",variable_date:"easter",offset:50,only_states:["Zürich","Bern","Luzern","Uri","Schwyz","Obwalden","Nidwalden","Glarus","Zug","Freiburg","Solothurn","Basel-Stadt","Basel-Landschaft","Schaffhausen","Appenzell Ausserrhoden","Appenzell Innerrhoden","Sankt Gallen","Graubünden","Aargau","Thurgau","Tessin","Waadt","Neuenburg","Genf","Jura","Wallis"]},{name:"Fronleichnam/Fête-Dieu/Corpus domini",variable_date:"easter",offset:60,only_states:["Luzern","Uri","Schwyz","Obwalden","Nidwalden","Zug","Freiburg","Solothurn","Basel-Landschaft","Appenzell Innerrhoden","Graubünden","Aargau","Tessin","Wallis","Neuenburg","Jura"]},{name:"Commémoration du plébiscite jurassien",fixed_date:[6,23],only_states:["Jura"]},{name:"San Pietro e Paolo",fixed_date:[6,29],only_states:["Tessin"]},{name:"Bundesfeiertag/Jour de la fête nationale/Giorno festivo federale",fixed_date:[8,1]},{name:"Mariä Himmelfahrt/Assomption/Assunzione",fixed_date:[8,15],only_states:["Luzern","Uri","Schwyz","Obwalden","Nidwalden","Zug","Freiburg","Solothurn","Basel-Landschaft","Appenzell Innerrhoden","Graubünden","Aargau","Tessin","Wallis","Jura"]},{name:"Mauritiustag",fixed_date:[9,22],only_states:["Appenzell Innerrhoden"]},{name:"Bruderklausenfest",fixed_date:[9,25],only_states:["Obwalden"]},{name:"Allerheiligen/Toussaint/Ognissanti",fixed_date:[11,1],only_states:["Luzern","Uri","Schwyz","Obwalden","Nidwalden","Glarus","Zug","Freiburg","Solothurn","Appenzell Innerrhoden","Sankt Gallen","Graubünden","Aargau","Tessin","Wallis","Jura"]},{name:"Mariä Empfängnis/Immaculée Conception/Ognissanti",fixed_date:[12,8],only_states:["Luzern","Uri","Schwyz","Obwalden","Nidwalden","Zug","Freiburg","Solothurn","Appenzell Innerrhoden","Graubünden","Aargau","Tessin","Wallis"]},{name:"Weihnachtstag/Noël/Natale",fixed_date:[12,25]},{name:"Stephanstag/Saint-Etienne/Santo Stefano",fixed_date:[12,26],only_states:["Zürich","Bern","Luzern","Uri","Schwyz","Obwalden","Nidwalden","Glarus","Zug","Freiburg","Solothurn","Basel-Stadt","Basel-Landschaft","Schaffhausen","Appenzell Ausserrhoden","Appenzell Innerrhoden","Sankt Gallen","Graubünden","Aargau","Thurgau","Tessin","Wallis"]},{name:"Restauration de la République",fixed_date:[12,31],only_states:["Genf"]}],_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",Aargau:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Aargau&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ag",SH:[{name:"Winterferien",2019:[12,23,1,3],2020:[12,21,12,31],2021:[12,24,1,7],2022:[12,27,1,6],2023:[12,27,1,5],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,21,12,31],2027:[12,24,1,7],2028:[12,27,1,5],2029:[12,24,1,4],2030:[12,23,1,3],2031:[12,22,12,31],2032:[12,24,1,7],2033:[12,27,1,6],2034:[12,27,1,5]},{name:"Sommerferien",2020:[7,20,8,7],2021:[7,19,8,6],2022:[7,18,8,5],2023:[7,24,8,11],2024:[7,22,8,9],2025:[7,21,8,8],2026:[7,20,8,7],2027:[7,19,8,6],2028:[7,24,8,11],2029:[7,23,8,10],2030:[7,22,8,9],2031:[7,21,8,8],2032:[7,19,8,6],2033:[7,18,8,5],2034:[7,24,8,11],2035:[7,23,8,10]},{name:"Herbstferien",2020:[9,28,10,9],2021:[10,4,10,15],2022:[10,3,10,14],2023:[10,2,10,13],2024:[9,30,10,11],2025:[9,29,10,10],2026:[9,28,10,9],2027:[10,4,10,15],2028:[10,2,10,13],2029:[10,1,10,12],2030:[9,30,10,11],2031:[9,29,10,10],2032:[9,27,10,8],2033:[10,3,10,14],2034:[10,2,10,13]},{name:"Frühlingsferien",2020:[4,6,4,17],2021:[4,12,4,23],2022:[4,11,4,21],2023:[4,11,4,21],2024:[4,8,4,19],2025:[4,7,4,18],2026:[4,7,4,17],2027:[4,12,4,23],2028:[4,10,4,21],2029:[4,9,4,20],2030:[4,6,4,18],2031:[4,7,4,18],2032:[4,5,4,16],2033:[4,11,4,22],2034:[4,11,4,21],2035:[4,9,4,20]}]},Albula:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},Appenzell:{SH:[{name:"Sommerferien",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,2,8,15],2023:[7,1,8,13],2024:[6,29,8,11],2025:[7,5,8,17],2026:[7,4,8,16],2027:[7,3,8,15],2028:[7,1,8,13]},{name:"Herbstferien",2020:[10,3,10,18],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18],2027:[10,2,10,17]},{name:"Sportferien",2020:[2,21,3,1],2021:[2,12,2,21],2022:[2,25,3,6],2023:[2,17,2,26],2024:[2,9,2,18],2025:[2,22,2,28],2026:[2,13,2,22],2027:[2,5,2,14]}]},"Appenzell Ausserrhoden":{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Appenzell%20Ausserrhoden&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ar",SH:[{name:"Sommerferien",2020:[7,6,8,7],2021:[7,12,8,15],2022:[7,11,8,12],2023:[7,10,8,11],2024:[7,8,8,9],2025:[7,7,8,8],2026:[7,6,8,7],2027:[7,12,8,13],2028:[7,10,8,11]},{name:"Herbstferien",2020:[10,5,10,16],2021:[10,11,10,24],2022:[10,20,10,21],2023:[10,9,10,20],2024:[10,7,10,18],2025:[10,6,10,17],2026:[10,5,10,16],2027:[10,11,10,22]},{name:"Weihnachtsferien",2020:[12,21,1,1],2021:[12,26,12,31],2022:[12,26,1,6],2023:[12,25,1,5],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,21,1,1],2027:[12,20,12,31]},{name:"Frühlingsferien",2020:[4,6,4,17],2021:[4,12,4,23],2022:[4,11,4,22],2023:[4,10,4,21],2024:[4,8,4,19],2025:[4,7,4,18],2026:[4,3,4,17],2027:[4,12,4,23],2028:[4,10,4,21]}]},"Appenzell Innerrhoden":{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Appenzell%20Innerrhoden&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ai",SH:[{name:"Weihnachtsferien",2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,18,1,2]},{name:"Frühlingsferien",2020:[4,4,4,19],2021:[4,10,4,25],2022:[4,9,4,24],2023:[4,7,4,23],2024:[4,6,4,21],2025:[4,5,4,20],2026:[4,3,4,19],2027:[4,10,4,25],2028:[4,8,4,23]}]},"Basel-Landschaft":{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Basel-Landschaft&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"bl",SH:[{name:"Sommerferien",2020:[6,27,8,9],2021:[7,3,8,15],2022:[7,2,8,14],2023:[7,2,8,13],2024:[6,29,8,11],2025:[6,28,8,10],2026:[6,27,8,9],2027:[7,3,8,15],2028:[7,1,8,13],2029:[6,30,8,12],2030:[6,29,8,11],2031:[6,28,8,10],2032:[6,26,8,8]},{name:"Herbstferien",2020:[9,26,10,9],2021:[10,2,10,17],2022:[10,2,10,16],2023:[9,30,10,15],2024:[9,28,10,13],2025:[9,27,10,12],2026:[9,26,10,11],2027:[10,2,10,17],2028:[9,30,10,15],2029:[9,29,10,14],2030:[9,28,10,13],2031:[9,27,10,12]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,18,1,2],2028:[12,23,1,7],2029:[12,22,1,6],2030:[12,21,1,5],2031:[12,20,1,4]},{name:"Fasnachtsferien",2020:[2,22,3,8],2021:[2,13,2,28],2022:[2,26,3,13],2023:[2,18,3,5],2024:[2,10,2,25],2025:[3,1,3,16],2026:[2,14,3,1],2027:[2,6,2,21],2028:[2,26,3,12],2029:[2,10,2,25],2030:[3,2,3,17],2031:[2,22,3,9],2032:[2,7,2,22]},{name:"Frühlingsferien",2020:[4,4,4,19],2021:[3,27,4,11],2022:[4,9,4,24],2023:[4,1,4,16],2024:[3,23,4,7],2025:[4,12,4,27],2026:[3,28,4,12],2027:[3,20,4,4],2028:[4,8,4,23],2029:[3,24,4,8],2030:[4,13,4,28],2031:[4,5,4,20],2032:[3,20,4,4]},{name:"Auffahrtsbrücke",2020:[5,22,5,22],2021:[5,14,5,14],2022:[5,27,5,27],2023:[5,19,5,19],2024:[5,10,5,10],2025:[5,30,5,30],2026:[5,25,5,25],2027:[5,7,5,7],2028:[6,26,6,26],2029:[5,11,5,11],2030:[5,31,5,31],2031:[5,23,5,23],2032:[5,7,5,7]}]},"Basel-Stadt":{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Basel-Stadt&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"bs",SH:[{name:"Sommerferien",2020:[6,27,8,9],2021:[7,3,8,15],2022:[7,2,8,14],2023:[7,1,8,13],2024:[6,29,8,11],2025:[6,28,8,10],2026:[6,27,8,9],2027:[7,3,8,15],2028:[7,1,8,13],2029:[6,30,8,12],2030:[6,29,8,11],2031:[6,28,8,10],2032:[6,26,8,8]},{name:"Herbstferien",2020:[9,26,10,11],2021:[10,2,10,17],2022:[10,1,10,16],2023:[9,30,10,15],2024:[9,28,10,13],2025:[9,27,10,12],2026:[9,26,10,11],2027:[10,2,10,17],2028:[9,30,10,15],2029:[9,29,10,14],2030:[9,28,10,13],2031:[9,27,10,12]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,18,1,2],2028:[12,23,1,7],2029:[12,22,1,6],2030:[12,21,1,5],2031:[12,20,1,4]},{name:"Fasnachtsferien",2020:[2,22,3,8],2021:[2,13,2,28],2022:[2,26,3,13],2023:[2,18,3,5],2024:[2,10,2,25],2025:[3,1,3,16],2026:[2,14,3,1],2027:[2,6,2,21],2028:[2,16,3,12],2029:[2,10,2,25],2030:[3,2,3,17],2031:[2,22,3,9],2032:[2,7,2,22]},{name:"Frühlingsferien",2020:[4,4,4,19],2021:[3,27,4,11],2022:[4,9,4,24],2023:[4,1,4,16],2024:[3,23,4,7],2025:[4,12,4,27],2026:[3,28,4,12],2027:[3,20,4,4],2028:[4,8,4,23],2029:[3,24,4,8],2030:[4,13,4,28],2031:[4,5,4,20],2032:[3,20,4,4]},{name:"Auffahrtsbrücke",2020:[5,22,5,22],2021:[5,14,5,14],2022:[5,27,5,27],2023:[5,19,5,19],2024:[5,10,5,10],2025:[5,30,5,30],2026:[5,25,5,25],2027:[5,7,5,7],2028:[6,26,6,26],2029:[5,11,5,11],2030:[5,31,5,31],2031:[5,23,5,23],2032:[5,7,5,7]}]},Bern:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Bern&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"be",SH:[{name:"Winterferien",2020:[12,24,1,10],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,25,1,10],2027:[12,25,1,9]},{name:"Sommerferien",2020:[7,4,8,9],2021:[7,3,8,15],2022:[7,9,8,14],2023:[7,8,8,13],2024:[7,6,8,11],2025:[7,5,8,10],2026:[7,4,8,9],2027:[7,3,8,15]},{name:"Herbstferien",2020:[9,19,10,11],2021:[9,25,10,17],2022:[9,24,10,16],2023:[9,23,10,15],2024:[9,21,10,13],2025:[9,20,10,12],2026:[9,19,10,11],2027:[9,25,10,17]},{name:"Februarwoche",2020:[2,1,2,9],2021:[2,6,2,14],2022:[2,5,2,13],2023:[2,4,2,12],2024:[2,3,2,11],2025:[2,1,2,9],2026:[1,31,2,8],2027:[2,6,2,14]},{name:"Frühlingsferien",2020:[4,4,4,19],2021:[4,10,4,25],2022:[4,9,4,24],2023:[4,7,4,23],2024:[4,6,4,21],2025:[4,5,4,21],2026:[4,3,4,19],2027:[4,10,4,25]},{name:"Vacances de printemps",2020:[4,10,4,26],2021:[4,2,4,18],2022:[4,11,4,22],2023:[4,7,4,21],2024:[3,29,4,12],2025:[4,14,4,25],2026:[4,3,4,17],2027:[3,26,4,9]},{name:"Vacances d'été",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,11,8,19],2023:[7,10,8,18],2024:[7,8,8,16],2025:[7,7,8,15],2026:[7,6,8,14],2027:[7,5,8,13]},{name:"Vacances d'automne",2020:[10,3,10,18],2021:[10,11,10,22],2022:[10,10,10,21],2023:[10,9,10,20],2024:[10,7,10,18],2025:[10,6,10,27],2026:[10,5,10,16],2027:[10,4,10,15]},{name:"Vacances d'hiver",2020:[12,25,1,10],2021:[12,27,1,7],2022:[12,26,1,6],2023:[12,25,1,5],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,25,1,8],2027:[12,27,1,7]}]},Bernina:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},"Engiadina Bassa/Val Müstair":{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},Freiburg:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Freiburg&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"fr"},Fribourg:{SH:[{name:"Sport",2020:[2,22,3,1],2021:[2,13,2,21],2022:[2,26,3,6],2023:[2,18,2,26],2024:[2,10,2,18],2025:[3,1,3,9],2026:[2,14,2,22]},{name:"Frühling",2020:[4,4,4,19],2021:[4,2,4,18],2022:[4,15,5,1],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,18,5,4],2026:[4,3,4,19]},{name:"Sommer",2020:[7,4,8,26],2021:[7,10,8,25],2022:[7,9,8,24],2023:[7,8,8,23],2024:[7,6,8,21],2025:[7,4,8,27],2026:[7,11,8,26]},{name:"Herbst",2020:[10,17,11,1],2021:[10,16,11,1],2022:[10,15,10,30],2023:[10,14,10,29],2024:[10,12,10,27],2025:[10,11,10,26],2026:[10,10,10,25]},{name:"Winter",2020:[12,19,1,3],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,2],2026:[12,19,1,3]}]},Genève:{SH:[{name:"Vacances de février",2020:[2,8,2,16],2021:[2,13,2,21],2022:[2,12,2,20],2023:[2,18,2,26],2024:[2,17,2,25],2025:[2,24,2,28],2026:[2,23,2,27],2027:[2,15,2,19],2028:[2,21,2,25],2029:[2,19,2,23],2030:[2,25,3,1]},{name:"Vacances de Pâques",2020:[4,9,4,19],2021:[4,1,4,11],2022:[4,14,4,24],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,18,5,2],2026:[4,3,4,17],2027:[3,26,4,9],2028:[4,13,4,21],2029:[3,29,4,6],2030:[4,18,4,26]},{name:"Vacances d'été",2020:[6,27,8,23],2021:[7,3,8,29],2022:[7,2,8,21],2023:[7,1,8,20],2024:[6,29,8,18],2025:[6,30,8,15],2026:[6,29,8,16],2027:[7,5,8,25],2028:[7,3,8,23],2029:[7,2,8,22],2030:[7,1,8,21]},{name:"Vacances d'automne",2020:[10,17,10,25],2021:[10,23,10,31],2022:[10,22,10,30],2023:[10,21,10,29],2024:[10,19,10,27],2025:[10,20,10,24],2026:[10,19,10,23],2027:[10,25,10,29],2028:[10,23,10,27],2029:[10,22,10,26]},{name:"Vacances de Noël et Nouvel An",2020:[12,24,1,10],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,24,1,8],2027:[12,24,1,7],2028:[12,25,1,5],2029:[12,24,1,4]},{name:"Pont de l'Ascension",2023:[5,18,5,19],2024:[5,9,5,10],2025:[5,29,5,30],2026:[5,14,5,15],2027:[5,6,5,7],2028:[5,25,5,26],2029:[5,10,5,11],2030:[5,30,5,31]}]},Genf:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Genf&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ge"},Glarus:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Glarus&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"gl",SH:[{name:"Sport",2020:[1,25,2,2],2021:[1,30,2,7],2022:[1,29,2,6],2023:[1,28,2,5],2024:[1,27,2,4],2025:[1,25,2,2],2026:[1,24,2,1]},{name:"Frühling",2020:[4,2,4,19],2021:[4,2,4,18],2022:[4,7,4,24],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,3,4,20],2026:[4,3,4,19]},{name:"Sommer",2020:[6,27,8,9],2021:[7,3,8,15],2022:[7,2,8,14],2023:[7,1,8,13],2024:[6,29,8,11],2025:[6,28,8,10],2026:[6,27,8,9]},{name:"Herbst",2020:[10,3,10,18],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18]},{name:"Winter",2020:[12,24,1,10],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,24,1,10]}]},Gonten:{SH:[{name:"Sommerferien",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,2,8,15],2023:[7,1,8,13],2024:[6,29,8,11],2025:[7,5,8,17],2026:[7,4,8,16],2027:[7,3,8,15],2028:[7,1,8,13]},{name:"Herbstferien",2020:[10,3,10,18],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18],2027:[10,2,10,17]},{name:"Sportferien",2020:[2,21,3,1],2021:[2,12,2,21],2022:[2,25,3,6],2023:[2,17,2,26],2024:[2,9,2,18],2025:[2,22,2,28],2026:[2,13,2,22],2027:[2,5,2,14]}]},Graubünden:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Graub%C3%BCnden&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"gr"},Imboden:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},Jura:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Jura&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ju",SH:[{name:"Vacances de Noël",2019:[12,23,1,3],2020:[12,24,1,8],2021:[12,24,1,7],2022:[12,26,1,6],2023:[12,25,1,5],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,24,1,8],2027:[12,24,1,7]},{name:"Semaine de relâche hivernale",2020:[2,17,2,21],2021:[2,22,2,26],2022:[2,21,2,25],2023:[2,20,2,24],2024:[2,19,2,23],2025:[2,24,2,28],2026:[2,16,2,20],2027:[2,15,2,19],2028:[2,21,2,25]},{name:"Vacances de Pâques",2020:[4,10,4,24],2021:[4,2,4,16],2022:[4,11,4,22],2023:[4,7,4,21],2024:[3,29,4,12],2025:[3,18,5,2],2026:[4,3,4,17],2027:[3,26,4,9],2028:[4,14,4,28]},{name:"Ascension",2020:[4,21,4,22],2021:[5,13,5,14],2022:[5,26,5,27],2023:[5,18,5,19],2024:[5,9,5,10],2025:[5,29,5,30],2026:[5,14,5,15],2027:[5,6,5,7],2028:[5,25,5,26]},{name:"Vacances d'été",2020:[7,6,8,14],2021:[7,5,8,13],2022:[7,4,8,12],2023:[7,3,8,18],2024:[7,8,8,16],2025:[7,7,8,15],2026:[7,6,8,14],2027:[7,5,8,13],2028:[7,3,8,18]},{name:"Vacances d'automne",2020:[10,12,10,23],2021:[10,11,10,22],2022:[10,10,10,21],2023:[10,16,10,27],2024:[10,14,10,25],2025:[10,6,10,17],2026:[10,5,10,16],2027:[10,11,10,22]}]},Landquart:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},Luzern:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Luzern&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"lu",SH:[{name:"Sommerferien",2020:[7,4,8,16],2021:[7,10,8,22],2022:[7,9,8,21],2023:[7,8,8,20],2024:[7,6,8,18],2025:[7,5,8,17],2026:[7,4,8,16],2027:[7,3,8,15],2028:[7,8,8,20]},{name:"Herbstferien",2020:[9,26,10,11],2021:[10,2,10,17],2022:[10,1,10,16],2023:[9,30,10,15],2024:[9,28,10,13],2025:[9,27,10,12],2026:[9,26,10,11],2027:[9,25,10,10]},{name:"Weihnachtsferien",2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,18,1,2]},{name:"Fasnachtsferien",2020:[2,15,3,1],2021:[2,6,2,21],2022:[2,19,3,6],2023:[2,11,2,26],2024:[2,3,2,18],2025:[2,22,3,9],2026:[2,7,2,22],2027:[1,30,2,14],2028:[2,19,3,5]},{name:"Frühlingsferien",2020:[4,10,4,26],2021:[4,2,4,18],2022:[4,15,5,1],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,18,5,4],2026:[4,3,4,19],2027:[3,26,4,11],2028:[4,14,4,30]}]},Maloja:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},Moesa:{SH:[{name:"Herbstferien",2023:[10,28,11,5],2024:[10,26,11,3],2025:[11,1,11,9],2026:[10,31,11,8]},{name:"Weihnachtsferien",2023:[12,23,1,7],2024:[12,21,1,6],2025:[12,24,1,6],2026:[12,24,1,6]},{name:"Schulbeginn",2023:[8,21,8,21],2024:[8,26,8,26],2025:[8,25,8,25],2026:[8,24,8,24]}]},Neuchâtel:{SH:[{name:"Sport",2020:[2,22,3,1],2021:[2,27,3,7],2022:[2,26,3,6],2023:[2,25,3,5],2024:[2,24,3,3],2025:[2,22,3,2],2026:[2,21,3,1]},{name:"Frühling",2020:[4,10,4,26],2021:[4,2,4,18],2022:[4,9,4,24],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,12,4,27],2026:[4,3,4,19]},{name:"Sommer",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,2,8,14],2023:[7,1,8,13],2024:[7,6,8,18],2025:[7,5,8,17],2026:[7,4,8,16]},{name:"Herbst",2020:[10,3,10,18],2021:[10,2,10,17],2022:[10,1,10,16],2023:[9,30,10,15],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18]},{name:"Winter",2020:[12,24,1,10],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,21,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3]}]},Neuenburg:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Neuenburg&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ne"},Nidwalden:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Nidwalden&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"nw",SH:[{name:"Sport",2020:[2,15,3,1],2021:[2,6,2,21],2022:[2,19,3,6],2023:[2,11,2,26],2024:[2,3,2,18],2025:[2,22,3,9],2026:[2,7,2,22]},{name:"Frühling",2020:[4,10,4,26],2021:[4,2,4,18],2022:[4,15,5,1],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,18,5,4],2026:[4,3,4,19]},{name:"Sommer",2020:[7,4,8,23],2021:[7,3,8,22],2022:[7,9,8,28],2023:[7,8,8,27],2024:[7,6,8,25],2025:[7,5,8,17],2026:[7,4,8,16]},{name:"Herbst",2020:[9,26,10,11],2021:[9,25,10,10],2022:[10,1,10,16],2023:[9,30,10,15],2024:[9,28,10,13],2025:[9,27,10,12],2026:[9,26,10,11]},{name:"Winter",2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3]}]},Oberegg:{SH:[{name:"Sommerferien",2020:[7,4,8,9],2021:[7,10,8,15],2022:[7,9,8,15],2023:[7,8,8,13],2024:[7,6,8,11],2026:[7,4,8,9],2027:[7,10,8,15],2028:[7,8,8,13]},{name:"Herbstferien",2020:[9,26,10,18],2021:[10,2,10,24],2022:[10,1,10,23],2023:[9,30,10,22],2024:[9,28,10,20],2025:[10,4,10,19],2026:[9,26,10,18],2027:[10,2,10,24]},{name:"Sportferien",2020:[1,25,2,2],2021:[1,30,2,7],2022:[1,29,2,6],2023:[1,28,2,5],2024:[1,27,2,4],2026:[1,24,2,1],2027:[1,30,2,7]}]},Obwalden:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Obwalden&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ow",SH:[{name:"Sport",2020:[2,15,3,1],2021:[2,6,2,21],2022:[2,19,3,6],2023:[2,11,2,26],2024:[2,3,2,18],2025:[2,27,3,9],2026:[2,12,2,22]},{name:"Frühling",2020:[4,10,4,26],2021:[4,2,4,18],2022:[4,15,5,1],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,18,5,4],2026:[4,3,4,19]},{name:"Sommer",2020:[7,4,8,16],2021:[7,10,8,22],2022:[7,2,8,15],2023:[7,8,8,20],2024:[7,6,8,18],2025:[7,5,8,17],2026:[7,4,8,16]},{name:"Herbst",2020:[9,26,10,11],2021:[10,2,10,24],2022:[10,1,10,16],2023:[9,30,10,15],2024:[9,28,10,13],2025:[10,4,10,26],2026:[10,3,10,25]},{name:"Winter",2020:[12,24,1,6],2021:[12,24,1,6],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,24,1,6],2026:[12,24,1,6]}]},Plessur:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},"Prättigau / Davos":{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},"Sankt Gallen":{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Sankt%20Gallen&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"sg"},Schaffhausen:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Schaffhausen&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"sh",SH:[{name:"Sport",2020:[1,25,2,9],2021:[1,30,2,14],2022:[1,29,2,13],2023:[1,28,2,12],2024:[1,27,2,11],2025:[1,25,2,9],2026:[1,24,2,8]},{name:"Frühling",2020:[4,11,4,26],2021:[4,17,5,2],2022:[4,15,5,1],2023:[4,15,5,1],2024:[4,13,4,28],2025:[4,12,4,27],2026:[4,11,4,26]},{name:"Sommer",2020:[7,4,8,9],2021:[7,10,8,15],2022:[7,9,8,14],2023:[7,8,8,13],2024:[7,6,8,11],2025:[7,5,8,10],2026:[7,4,8,9]},{name:"Herbst",2020:[9,26,10,18],2021:[10,2,10,24],2022:[10,1,10,23],2023:[9,30,10,22],2024:[9,28,10,20],2025:[9,27,10,19],2026:[9,26,10,18]},{name:"Winter",2020:[12,24,1,3],2021:[12,24,1,2],2022:[12,24,1,2],2023:[12,23,1,2],2024:[12,24,1,5],2025:[12,24,1,4],2026:[12,24,1,3]}]},"Schlatt-Haslen":{SH:[{name:"Sommerferien",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,2,8,15],2023:[7,1,8,13],2024:[6,29,8,11],2025:[7,5,8,17],2026:[7,4,8,16],2027:[7,3,8,15],2028:[7,1,8,13]},{name:"Herbstferien",2020:[10,3,10,18],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18],2027:[10,2,10,17]},{name:"Sportferien",2020:[2,21,3,1],2021:[2,12,2,21],2022:[2,25,3,6],2023:[2,17,2,26],2024:[2,9,2,18],2025:[2,22,2,28],2026:[2,13,2,22],2027:[2,5,2,14]}]},"Schwende-Rüte":{SH:[{name:"Sommerferien",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,2,8,15],2023:[7,1,8,13],2024:[6,29,8,11],2025:[7,5,8,17],2026:[7,4,8,16],2027:[7,3,8,15],2028:[7,1,8,13]},{name:"Herbstferien",2020:[10,3,10,18],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18],2027:[10,2,10,17]},{name:"Sportferien",2020:[2,21,3,1],2021:[2,12,2,21],2022:[2,25,3,6],2023:[2,17,2,26],2024:[2,9,2,18],2025:[2,22,2,28],2026:[2,13,2,22],2027:[2,5,2,14]}]},Schwyz:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Schwyz&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"sz",SH:[{name:"Sport",2020:[2,22,3,1],2021:[2,27,3,7],2022:[2,26,3,6],2023:[2,25,3,5],2024:[2,24,3,3],2025:[2,22,3,2],2026:[2,21,3,1]},{name:"Frühling",2020:[4,25,5,10],2021:[5,1,5,16],2022:[4,30,5,15],2023:[4,29,5,14],2024:[4,27,5,12],2025:[4,26,5,11],2026:[4,25,5,10]},{name:"Sommer",2020:[7,4,8,9],2021:[7,10,8,15],2022:[7,9,8,14],2023:[7,8,8,13],2024:[7,6,8,11],2025:[7,5,8,17],2026:[7,4,8,9]},{name:"Herbst",2020:[9,26,10,11],2021:[10,2,10,17],2022:[10,1,10,16],2023:[9,30,10,15],2024:[9,28,10,13],2025:[9,27,10,12],2026:[9,26,10,11]},{name:"Winter",2020:[12,24,1,6],2021:[12,24,1,6],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,25,1,6],2025:[12,20,1,4],2026:[12,25,1,6]}]},Solothurn:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Solothurn&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"so",SH:[{name:"Winterferien",2020:[2,3,2,14],2021:[2,8,2,19],2022:[2,7,2,18],2023:[2,6,2,17],2024:[2,5,2,16],2025:[2,3,2,14],2026:[2,2,2,13],2027:[2,8,2,19],2028:[2,7,2,18],2029:[2,5,2,16],2030:[2,4,2,15],2031:[2,3,2,14]},{name:"Sommerferien",2020:[7,6,8,7],2021:[7,10,8,15],2022:[7,11,8,12],2023:[7,10,8,15],2024:[7,8,8,9],2025:[7,7,8,8],2026:[7,6,8,7],2027:[7,12,8,13],2028:[7,10,8,11],2029:[7,9,8,10],2030:[7,8,8,9],2031:[7,7,8,8]},{name:"Herbstferien",2020:[9,28,10,16],2021:[10,4,10,22],2022:[10,3,10,21],2023:[10,2,10,20],2024:[9,30,10,18],2025:[9,29,10,17],2026:[9,28,10,16],2027:[10,4,10,22],2028:[10,2,10,20],2029:[10,1,10,19],2030:[9,30,10,18]},{name:"Weihnachtsferien",2019:[12,23,1,3],2020:[12,21,1,1],2021:[12,27,1,7],2022:[12,26,1,6],2023:[12,25,1,5],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,21,1,1],2027:[12,27,1,7],2028:[12,25,1,5],2029:[12,24,1,4],2030:[12,23,1,3]},{name:"Frühlingsferien",2020:[4,6,4,17],2021:[4,12,4,23],2022:[4,11,4,22],2023:[4,10,4,21],2024:[4,8,4,19],2025:[4,7,4,21],2026:[4,6,4,17],2027:[4,2,4,23],2028:[4,10,4,21],2029:[4,9,4,20],2030:[4,8,4,22],2031:[4,7,4,18]}]},"St. Gallen":{SH:[{name:"Sommerferien",2020:[7,5,8,9],2021:[7,11,8,15],2022:[7,10,8,14],2023:[7,9,8,13],2024:[7,7,8,11],2025:[7,6,8,10],2026:[7,5,8,9],2027:[7,11,8,15],2028:[7,9,8,13],2029:[7,8,8,12]},{name:"Herbstferien",2020:[9,27,10,18],2021:[10,3,10,24],2022:[10,2,10,23],2023:[10,1,10,22],2024:[9,29,10,20],2025:[9,28,10,19],2026:[9,27,10,18],2027:[10,3,10,24],2028:[10,1,10,22]},{name:"Weihnachtsferien",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,25,1,8],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3],2027:[12,19,1,2],2028:[12,24,1,7]},{name:"Frühlingsferien",2020:[4,5,4,19],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,9,4,23],2024:[4,7,4,21],2025:[4,6,4,20],2026:[4,5,4,19],2027:[4,11,4,25],2028:[4,9,4,23],2029:[4,8,4,22]}]},Surselva:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},Tessin:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Tessin&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ti"},Thurgau:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Thurgau&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"tg",SH:[{name:"Sport",2020:[1,25,2,2],2021:[1,30,2,7],2022:[1,29,2,6],2023:[1,28,2,5],2024:[1,27,2,4],2025:[1,25,2,2],2026:[1,24,2,1]},{name:"Frühling",2020:[3,28,4,13],2021:[4,2,4,18],2022:[4,2,4,18],2023:[3,25,4,10],2024:[3,29,4,14],2025:[4,12,4,27],2026:[4,3,4,19]},{name:"Sommer",2020:[7,4,8,9],2021:[7,10,8,15],2022:[7,9,8,14],2023:[7,8,8,13],2024:[7,6,8,11],2025:[7,5,8,10],2026:[7,4,8,9]},{name:"Herbst",2020:[10,3,10,18],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18]},{name:"Winter",2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3]},{name:"Pfingsten",2026:[5,14,5,25]}]},Ticino:{SH:[{name:"Sport",2020:[2,22,3,1],2021:[2,13,2,21],2022:[2,26,3,6],2023:[2,18,2,26],2024:[2,10,2,18],2025:[3,1,3,9],2026:[2,14,2,22]},{name:"Frühling",2020:[4,10,4,19],2021:[4,2,4,11],2022:[4,15,4,24],2023:[4,7,4,16],2024:[3,29,4,7],2025:[4,18,4,27],2026:[4,3,4,12]},{name:"Sommer",2020:[6,20,8,30],2021:[6,19,8,29],2022:[6,16,8,28],2023:[6,17,8,27],2024:[6,15,9,1],2025:[6,19,8,31],2026:[6,18,8,30]},{name:"Herbst",2020:[10,31,11,8],2021:[10,30,11,7],2022:[10,29,11,6],2023:[10,28,11,5],2024:[10,26,11,3],2025:[11,1,11,9],2026:[10,31,11,8]},{name:"Winter",2020:[12,24,1,6],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,6],2025:[12,24,1,6],2026:[12,24,1,6]}]},Uri:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Uri&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"ur",SH:[{name:"Sport",2020:[2,15,3,1],2021:[2,27,3,7],2022:[2,19,3,6],2023:[3,4,3,12],2024:[3,2,3,10],2025:[2,22,3,9],2026:[2,28,3,8]},{name:"Frühling",2020:[4,25,5,10],2021:[5,1,5,16],2022:[4,30,5,15],2023:[4,22,5,7],2024:[4,27,5,12],2025:[4,26,5,11],2026:[5,2,5,17]},{name:"Sommer",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,2,8,15],2023:[7,1,8,20],2024:[7,6,8,18],2025:[7,5,8,17],2026:[7,4,8,16]},{name:"Herbst",2020:[10,3,10,18],2021:[10,2,10,17],2022:[10,1,10,16],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18]},{name:"Winter",2020:[12,24,1,10],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,6],2025:[12,20,1,6],2026:[12,24,1,10]}]},Valais:{SH:[{name:"Sport",2020:[2,29,3,8],2021:[2,27,3,7],2022:[3,5,3,13],2023:[3,4,3,12],2024:[3,2,3,10],2025:[3,1,3,9],2026:[2,28,3,8]},{name:"Frühling",2020:[5,16,5,24],2021:[5,8,5,16],2022:[5,7,5,15],2023:[5,13,5,29],2024:[5,4,5,12],2025:[4,18,4,27],2026:[5,9,5,17]},{name:"Sommer",2020:[6,27,8,16],2021:[6,26,8,15],2022:[6,30,8,15],2023:[7,1,8,15],2024:[6,29,8,18],2025:[6,28,8,17],2026:[7,1,8,16]},{name:"Herbst",2020:[10,22,11,1],2021:[10,13,10,24],2022:[10,13,10,23],2023:[10,19,10,29],2024:[10,17,10,27],2025:[10,16,10,26],2026:[10,15,10,25]},{name:"Winter",2020:[12,24,1,6],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,24,1,10]}]},Vaud:{SH:[{name:"Sport",2020:[2,15,2,23],2021:[2,20,2,28],2022:[2,19,2,27],2023:[2,11,2,19],2024:[2,10,2,18],2025:[2,15,2,23],2026:[2,14,2,22]},{name:"Frühling",2020:[4,10,4,26],2021:[4,2,4,18],2022:[4,15,5,1],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,12,4,27],2026:[4,3,4,19]},{name:"Sommer",2020:[7,4,8,23],2021:[7,3,8,22],2022:[7,2,8,21],2023:[7,1,8,20],2024:[6,29,8,18],2025:[6,28,8,17],2026:[6,27,8,16]},{name:"Herbst",2020:[10,10,10,25],2021:[10,16,10,31],2022:[10,15,10,30],2023:[10,14,10,29],2024:[10,12,10,27],2025:[10,11,10,26],2026:[10,10,10,25]},{name:"Winter",2020:[12,19,1,3],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,24,1,10]}]},Viamala:{SH:[{name:"Herbstferien",2020:[10,10,10,25],2021:[10,9,10,24],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,6,10,17],2026:[10,10,10,25],2027:[10,9,10,24],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Weihnachtsferien",2019:[12,21,1,5],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,22,1,2],2026:[12,23,1,5],2027:[12,23,1,5],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Schulbeginn",2020:[8,17,8,17],2021:[8,16,8,16],2022:[8,15,8,15],2023:[8,14,8,14],2024:[8,12,8,12],2025:[8,11,8,11],2026:[8,17,8,17],2027:[8,16,8,16],2028:[8,14,8,14],2029:[8,13,8,13]}]},Waadt:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Waadt&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"vd"},Wallis:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Wallis&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"vs"},Zug:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Zug&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"zg",SH:[{name:"Winterferien",2020:[12,19,1,3],2021:[12,23,1,5],2022:[12,22,1,4],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,19,1,3],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Sommerferien",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,9,8,21],2023:[7,8,8,20],2024:[7,6,8,18],2025:[6,21,8,17],2026:[7,4,8,16],2027:[7,3,8,15],2028:[7,8,8,20],2029:[7,7,8,19],2030:[7,6,8,18]},{name:"Herbstferien",2020:[10,3,10,18],2021:[10,2,10,17],2022:[10,8,10,23],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18],2027:[10,3,10,18],2028:[10,7,10,22],2029:[10,6,10,21]},{name:"Sportferien",2020:[2,1,2,16],2021:[2,6,2,21],2022:[2,5,2,20],2023:[2,4,2,19],2024:[2,3,2,18],2025:[2,1,2,16],2026:[1,31,2,15],2027:[2,6,2,21],2028:[2,5,2,20],2029:[2,3,2,18],2030:[2,2,2,17]},{name:"Frühlingsferien",2020:[4,11,4,26],2021:[4,17,5,2],2022:[4,15,5,1],2023:[4,15,4,30],2024:[4,13,4,28],2025:[4,12,4,27],2026:[4,11,4,26],2027:[4,17,5,2],2028:[4,15,4,30],2029:[4,4,4,29],2030:[4,13,4,28]},{name:"Auffahrtsferien",2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2024:[5,9,5,12],2025:[5,29,6,1],2026:[5,14,5,17],2027:[5,6,5,9],2028:[5,25,5,28],2029:[5,10,5,13],2030:[5,30,6,2]}]},Zürich:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Switzerland&state=Z%C3%BCrich&zoom=18&addressdetails=1&limit=1&accept-language=de,fr,it,rm",_state_code:"zh",SH:[{name:"Sommerferien",2020:[7,13,8,15],2021:[7,19,8,21],2022:[7,18,8,20],2023:[7,17,8,19],2024:[7,15,8,17],2025:[7,14,8,16],2026:[7,13,8,15],2027:[7,19,8,21],2028:[7,17,8,19],2029:[7,16,8,18],2030:[7,15,8,17],2031:[7,14,8,16],2032:[7,12,8,14],2033:[7,18,8,20]},{name:"Herbstferien",2020:[10,5,10,17],2021:[10,11,10,23],2022:[10,10,10,22],2023:[10,9,10,21],2024:[10,7,10,19],2025:[10,6,10,18],2026:[10,5,10,17],2027:[10,11,10,23],2028:[10,9,10,21],2029:[10,8,10,20],2030:[10,7,10,19],2031:[10,6,10,18],2032:[10,4,10,16]},{name:"Weihnachtsferien",2020:[12,21,1,2],2021:[12,20,1,1],2022:[12,26,1,7],2023:[12,25,1,6],2024:[12,23,1,4],2025:[12,22,1,3],2026:[12,21,1,2],2027:[12,20,1,1],2028:[12,25,1,6],2029:[12,24,1,5],2030:[12,23,1,5],2031:[12,22,1,3],2032:[12,20,1,1]},{name:"Ostern",2020:[4,10,4,13],2021:[4,2,4,5],2022:[4,15,4,18],2023:[4,7,4,10],2024:[3,29,4,1],2025:[4,18,4,21],2026:[4,3,4,6],2027:[3,26,3,29],2028:[4,14,4,17],2029:[3,30,4,2],2030:[4,19,4,22],2031:[4,11,4,14],2032:[3,26,3,29],2033:[4,15,4,18]},{name:"Frühlingsferien",2020:[4,13,4,25],2021:[4,26,5,8],2022:[4,18,4,30],2023:[4,24,5,6],2024:[4,22,5,4],2025:[4,21,5,3],2026:[4,20,5,2],2027:[4,26,5,8],2028:[4,17,4,29],2029:[4,23,5,5],2030:[4,22,5,4],2031:[4,14,4,26],2032:[4,19,5,1],2033:[4,18,4,30]},{name:"Auffahrtsbrücke",2020:[5,21,5,23],2021:[5,13,5,15],2022:[5,26,5,28],2024:[5,9,5,11],2025:[5,29,5,31],2026:[5,14,5,16],2027:[5,6,5,8],2028:[5,25,5,27],2029:[5,10,5,12],2030:[5,30,6,1],2031:[5,22,5,24],2032:[5,6,5,8],2033:[5,26,5,28]}]}},nL={PH:[{name:"Fête du 1ᵉʳ janvier",fixed_date:[1,1]},{name:"Lundi de Pâques",variable_date:"easter",offset:1},{name:"Fête du travail",fixed_date:[5,1]},{name:"Lendemain de la Fête du travail",variable_date:"nextMo-Sa01May"},{name:"Jour de l’Ascension",variable_date:"easter",offset:39},{name:"Lundi de la Pentecôte",variable_date:"easter",offset:50},{name:"Fête nationale",fixed_date:[8,7]},{name:"Lendemain de la Fête nationale",variable_date:"nextMo-Sa07August"},{name:"Fête de l’Assomption",fixed_date:[8,15]},{name:"Fête de la Toussaint",fixed_date:[11,1]},{name:"Journée Nationale de la Paix",fixed_date:[11,15]},{name:"Fête de Noël",fixed_date:[12,25]},{name:"Lendemain de la Fête de Noël",variable_date:"nextMo-Sa25December"}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=5.3203570&lon=-4.0161070&zoom=18&addressdetails=1&accept-language=fr"},aL={PH:[{name:"元旦",fixed_date:[1,1]},{name:"妇女节",fixed_date:[3,8]},{name:"劳动节",fixed_date:[5,1]},{name:"青年节",fixed_date:[5,4]},{name:"儿童节",fixed_date:[6,1]},{name:"国庆节",fixed_date:[10,1]},{name:"国庆节休息日",fixed_date:[10,2]},{name:"国庆节休息日",fixed_date:[10,3]}],_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=%E4%B8%AD%E5%9B%BD&&zoom=18&addressdetails=1&limit=1&accept-language=zh,en",西藏自治区:{_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&state=%E8%A5%BF%E8%97%8F%E8%87%AA%E6%B2%BB%E5%8C%BA&zoom=1&addressdetails=1&limit=1&accept-language=zh,en",PH:[{name:"元旦",fixed_date:[1,1]},{name:"西藏百万农奴解放纪念日",fixed_date:[3,28]},{name:"妇女节",fixed_date:[3,8]},{name:"劳动节",fixed_date:[5,1]},{name:"青年节",fixed_date:[5,4]},{name:"儿童节",fixed_date:[6,1]},{name:"国庆节",fixed_date:[10,1]},{name:"国庆节休息日",fixed_date:[10,2]},{name:"国庆节休息日",fixed_date:[10,3]}]}},oL={PH:[{name:"Den obnovy samostatného českého státu",fixed_date:[1,1]},{name:"Velký pátek",variable_date:"easter",offset:-2},{name:"Velikonoční pondělí",variable_date:"easter",offset:1},{name:"Svátek práce",fixed_date:[5,1]},{name:"Den vítězství",fixed_date:[5,8]},{name:"Den slovanských věrozvěstů Cyrila a Metoděje",fixed_date:[7,5]},{name:"Den upálení mistra Jana Husa",fixed_date:[7,6]},{name:"Den české státnosti",fixed_date:[9,28]},{name:"Den vzniku samostatného československého státu",fixed_date:[10,28]},{name:"Den boje za svobodu a demokracii",fixed_date:[11,17]},{name:"Štědrý den",fixed_date:[12,24]},{name:"1. svátek vánoční",fixed_date:[12,25]},{name:"2. svátek vánoční",fixed_date:[12,26]}],SH:[{name:"Vánoční prázdniny",2019:[12,23,1,3],2020:[12,23,1,3],2021:[12,23,1,2],2022:[12,23,1,2],2023:[12,23,1,2],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,23,1,3],2027:[12,23,1,2]},{name:"Pololetní prázdniny",2020:[1,31,1,31],2021:[1,29,1,29],2022:[2,4,2,4],2023:[2,3,2,3],2024:[2,2,2,2],2025:[1,31,1,31],2026:[1,30,1,30],2027:[1,29,1,29],2028:[2,4,2,4]},{name:"Velikonoční prázdniny",2020:[4,9,4,9],2021:[4,1,4,1],2022:[4,14,4,14],2023:[4,6,4,6],2024:[3,28,3,28],2025:[4,17,4,17],2026:[4,2,4,2],2027:[3,25,3,25],2028:[4,13,4,13]},{name:"Hlavní prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,9,3],2024:[6,29,9,1],2025:[7,1,8,31],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,1,9,3]},{name:"Podzimní prázdniny",2020:[10,29,10,30],2021:[10,27,10,29],2022:[10,26,10,27],2023:[10,26,10,27],2024:[10,29,10,30],2025:[10,27,10,29],2026:[10,29,10,30],2027:[10,27,10,29]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=50.0874401&lon=14.4212556&zoom=18&addressdetails=1&accept-language=cs,en",Benešov:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Beroun:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Blansko:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},Břeclav:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},"Brno-město":{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},"Brno-venkov":{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},Bruntál:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},"Česká Lípa":{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},"České Budějovice":{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},"Český Krumlov":{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Cheb:{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},Chomutov:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Chrudim:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Děčín:{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},Domažlice:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},"Frýdek-Místek":{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},"Havlíčkův Brod":{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Hodonín:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},"Hradec Králov":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},"Jablonec nad Nisou":{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Jeseník:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Jičín:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Jihlava:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},"Jindřichův Hradec":{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},"Karlovy Vary":{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},Karviná:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},Kladno:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Klatovy:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Kolín:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Kroměříž:{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},"Kutná Hora":{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Liberec:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Litoměřice:{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},Louny:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},Mělník:{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},"Mladá Boleslav":{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Most:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Náchod:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},"Nový Jičín":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},Nymburk:{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},Olomouc:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Opava:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},"Ostrava-město":{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Pardubice:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Pelhřimov:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Písek:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},"Plzeň-jih":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},"Plzeň-město":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},"Plzeň-sever":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},Prachatice:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Praha:{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[3,13,3,19],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},"Praha-východ":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},"Praha-západ":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},Přerov:{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},Příbram:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Prostějov:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Rakovník:{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},Rokycany:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},"Rychnov nad Kněžnou":{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Semily:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Sokolov:{SH:[{name:"Jarní prázdniny",2020:[2,24,3,1],2021:[3,1,3,7],2022:[3,14,3,20],2023:[2,6,2,12],2024:[2,12,2,18],2025:[2,17,2,23],2026:[2,23,3,1],2027:[3,1,3,7],2028:[3,13,3,19]}]},Strakonice:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Šumperk:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Svitavy:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Tábor:{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},Tachov:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},Teplice:{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},Třebíč:{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Trutnov:{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},"Uherské Hradiště":{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},"Ústí nad Labem":{SH:[{name:"Jarní prázdniny",2020:[2,3,2,9],2021:[2,8,2,14],2022:[2,21,2,27],2023:[2,27,3,5],2024:[3,4,3,10],2025:[3,10,3,16],2026:[2,2,2,8],2027:[2,8,2,14],2028:[2,21,2,27]}]},"Ústí nad Orlicí":{SH:[{name:"Jarní prázdniny",2020:[2,10,2,16],2021:[2,15,2,21],2022:[2,28,3,6],2023:[3,6,3,12],2024:[3,11,3,17],2025:[2,3,2,9],2026:[2,9,2,15],2027:[2,15,2,21],2028:[2,28,3,5]}]},Vsetín:{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},Vyškov:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]},"Žďár nad Sázavou":{SH:[{name:"Jarní prázdniny",2020:[3,9,3,15],2021:[2,1,2,7],2022:[2,14,2,20],2023:[2,20,2,26],2024:[2,26,3,3],2025:[3,3,3,9],2026:[3,9,3,15],2027:[2,1,2,7],2028:[2,14,2,20]}]},Zlín:{SH:[{name:"Jarní prázdniny",2020:[3,2,3,8],2021:[3,8,3,14],2022:[2,7,2,13],2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,24,3,2],2026:[3,2,3,8],2027:[3,8,3,14],2028:[2,7,2,13]}]},Znojmom:{SH:[{name:"Jarní prázdniny",2020:[2,17,2,23],2021:[2,22,2,28],2022:[3,7,3,13],2023:[3,13,3,19],2024:[2,5,2,11],2025:[2,10,2,16],2026:[2,16,2,22],2027:[2,22,2,28],2028:[3,6,3,12]}]}},sL={PH:[{name:"Neujahrstag",fixed_date:[1,1]},{name:"Heilige Drei Könige",fixed_date:[1,6],only_states:["Baden-Württemberg","Bayern","Sachsen-Anhalt"]},{name:"Frauentag",fixed_date:[3,8],only_states:["Berlin","Mecklenburg-Vorpommern"]},{name:"Tag der Arbeit",fixed_date:[5,1]},{name:"Karfreitag",variable_date:"easter",offset:-2},{name:"Ostersonntag",variable_date:"easter",only_states:["Brandenburg"]},{name:"Ostermontag",variable_date:"easter",offset:1},{name:"Christi Himmelfahrt",variable_date:"easter",offset:39},{name:"Pfingstsonntag",variable_date:"easter",offset:49,only_states:["Brandenburg"]},{name:"Pfingstmontag",variable_date:"easter",offset:50},{name:"Fronleichnam",variable_date:"easter",offset:60,only_states:["Baden-Württemberg","Bayern","Hessen","Nordrhein-Westfalen","Rheinland-Pfalz","Saarland"]},{name:"Mariä Himmelfahrt",fixed_date:[8,15],only_states:["Saarland"]},{name:"Weltkindertag",fixed_date:[9,20],only_states:["Thüringen"]},{name:"Tag der Deutschen Einheit",fixed_date:[10,3]},{name:"Reformationstag",fixed_date:[10,31],only_states:["Brandenburg","Bremen","Hamburg","Mecklenburg-Vorpommern","Niedersachsen","Sachsen","Sachsen-Anhalt","Schleswig-Holstein","Thüringen"]},{name:"Allerheiligen",fixed_date:[11,1],only_states:["Baden-Württemberg","Bayern","Nordrhein-Westfalen","Rheinland-Pfalz","Saarland"]},{name:"Buß- und Bettag",variable_date:"nextWednesday16Nov",only_states:["Sachsen"]},{name:"1. Weihnachtstag",fixed_date:[12,25]},{name:"2. Weihnachtstag",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=49.5487&lon=9.8160&zoom=18&addressdetails=1&accept-language=de,en","Baden-Württemberg":{SH:[{name:"Osterferien",2012:[4,2,4,13],2013:[3,25,4,5],2014:[4,14,4,25],2015:[3,30,4,10],2016:[3,29,4,2],2017:[4,10,4,21],2018:[3,26,4,6],2019:[4,15,4,27],2020:[4,6,4,18],2021:[4,6,4,10],2022:[4,19,4,23],2023:[4,11,4,15],2024:[3,23,4,5],2025:[4,14,4,26],2026:[3,30,4,11],2027:[3,30,4,3],2028:[4,18,4,22],2029:[3,26,4,7],2030:[4,15,4,26]},{name:"Pfingstferien",2012:[5,29,6,9],2013:[5,21,6,1],2014:[6,10,6,21],2015:[5,26,6,6],2016:[5,17,5,28],2017:[6,6,6,16],2018:[5,22,6,2],2019:[6,11,6,21],2020:[6,2,6,13],2021:[5,25,6,5],2022:[6,7,6,18],2023:[5,30,6,9],2024:[5,21,5,31],2025:[6,10,6,20],2026:[5,26,6,5],2027:[5,18,5,29],2028:[6,6,6,17],2029:[5,22,6,1],2030:[6,11,6,21]},{name:"Sommerferien",2012:[7,26,9,8],2013:[7,25,9,7],2014:[7,31,9,13],2015:[7,30,9,12],2016:[7,28,9,10],2017:[7,27,9,9],2018:[7,26,9,8],2019:[7,29,9,10],2020:[7,30,9,12],2021:[7,29,9,11],2022:[7,28,9,10],2023:[7,27,9,9],2024:[7,25,9,7],2025:[7,31,9,13],2026:[7,30,9,12],2027:[7,29,9,11],2028:[7,27,9,9],2029:[7,26,9,8],2030:[7,25,9,7]},{name:"Herbstferien",2012:[10,29,11,2],2013:[10,28,10,30],2014:[10,27,10,30],2015:[11,2,11,6],2016:[11,2,11,4],2017:[10,30,11,3],2018:[10,29,11,2],2019:[10,28,10,30],2020:[10,26,10,30],2021:[11,2,11,6],2022:[11,2,11,4],2023:[10,30,11,3],2024:[10,28,10,30],2025:[10,27,10,30],2026:[10,26,10,30],2027:[11,2,11,6],2028:[10,30,11,3],2029:[10,29,11,2]},{name:"Weihnachtsferien",2011:[12,23,1,5],2012:[12,24,1,5],2013:[12,23,1,4],2014:[12,22,1,5],2015:[12,23,1,9],2016:[12,23,1,7],2017:[12,22,1,5],2018:[12,24,1,5],2019:[12,23,1,4],2020:[12,23,1,9],2021:[12,23,1,8],2022:[12,21,1,7],2023:[12,23,1,5],2024:[12,23,1,4],2025:[12,22,1,5],2026:[12,23,1,9],2027:[12,23,1,8],2028:[12,23,1,5],2029:[12,22,1,5]},{name:"Reformationsfest",2022:[10,31,10,31],2024:[10,31,10,31],2025:[10,31,10,31],2026:[10,31,10,31]},{name:"Gründonnerstag",2023:[4,6,4,6],2027:[3,25,3,25],2028:[4,13,4,13]}]},Bayern:{SH:[{name:"Winterferien",2012:[2,20,2,24],2013:[2,11,2,15],2014:[3,3,3,7],2015:[2,16,2,20],2016:[2,8,2,12],2017:[2,27,3,3],2018:[2,12,2,16],2019:[3,4,3,8]},{name:"Osterferien",2012:[4,2,4,14],2013:[3,25,4,6],2014:[4,14,4,26],2015:[3,30,4,11],2016:[3,21,4,1],2017:[4,10,4,22],2018:[3,26,4,7],2019:[4,15,4,27],2020:[4,6,4,18],2021:[3,29,4,10],2022:[4,11,4,23],2023:[4,3,4,15],2024:[3,25,4,6],2025:[4,14,4,25],2026:[3,30,4,10],2027:[3,22,4,2],2028:[4,10,4,21],2029:[3,26,4,6],2030:[4,15,4,26]},{name:"Pfingstferien",2012:[5,29,6,9],2013:[5,21,5,31],2014:[6,10,6,21],2015:[5,26,6,5],2016:[5,17,5,28],2017:[6,6,6,16],2018:[5,22,6,2],2019:[6,11,6,21],2020:[6,2,6,13],2021:[5,25,6,4],2022:[6,7,6,18],2023:[5,30,6,9],2024:[5,21,6,1],2025:[6,10,6,20],2026:[5,26,6,5],2027:[5,18,5,28],2028:[6,6,6,16],2029:[5,22,6,1],2030:[6,11,6,21]},{name:"Sommerferien",2012:[8,1,9,12],2013:[7,31,9,11],2014:[7,30,9,15],2015:[8,1,9,14],2016:[7,30,9,12],2017:[7,29,9,11],2018:[7,30,9,10],2019:[7,29,9,9],2020:[7,27,9,7],2021:[7,30,9,13],2022:[8,1,9,12],2023:[7,31,9,11],2024:[7,29,9,9],2025:[8,1,9,15],2026:[8,3,9,14],2027:[8,2,9,13],2028:[7,31,9,11],2029:[7,30,9,10],2030:[7,29,9,9]},{name:"Herbstferien",2012:[10,29,11,3],2013:[10,28,10,31],2014:[11,19,11,19],2015:[11,18,11,18],2016:[11,16,11,16],2017:[11,22,11,22],2018:[11,21,11,21],2019:[11,20,11,20],2020:[10,31,11,6],2021:[11,2,11,5],2022:[10,31,11,4],2023:[10,30,11,4],2024:[10,28,10,31],2025:[11,3,11,7],2026:[11,2,11,6],2027:[11,2,11,5],2028:[10,30,11,3],2029:[10,29,11,2]},{name:"Weihnachtsferien",2011:[12,27,1,5],2012:[12,24,1,5],2013:[12,23,1,4],2014:[12,24,1,5],2015:[12,24,1,5],2016:[12,24,1,5],2017:[12,23,1,5],2018:[12,22,1,5],2019:[12,23,1,4],2020:[12,23,1,9],2021:[12,24,1,8],2022:[12,24,1,7],2023:[12,23,1,5],2024:[12,23,1,3],2025:[12,22,1,5],2026:[12,24,1,8],2027:[12,24,1,7],2028:[12,23,1,5],2029:[12,24,1,4]},{name:"Frühjahrsferien",2020:[2,24,2,28],2022:[2,28,3,4],2023:[2,20,2,24],2024:[2,12,2,16],2025:[3,3,3,7],2026:[2,16,2,20],2027:[2,8,2,12],2028:[2,28,3,3],2029:[2,12,2,16],2030:[3,4,3,8]},{name:"Buß- und Bettag",2020:[11,18,11,18],2021:[11,17,11,17],2022:[11,16,11,16],2023:[11,22,11,22],2024:[11,20,11,20],2025:[11,19,11,19],2026:[11,18,11,18],2027:[11,17,11,17],2028:[11,22,11,22],2029:[11,21,11,21],2030:[11,20,11,20]}]},Berlin:{SH:[{name:"Winterferien",2012:[1,30,2,4],2013:[2,4,2,9],2014:[2,3,2,8],2015:[2,2,2,7],2016:[2,1,2,6],2017:[1,30,2,3],2018:[2,5,2,10],2019:[2,4,2,9],2020:[2,3,2,8],2021:[2,1,2,6],2022:[1,30,2,4],2023:[1,30,2,4],2024:[2,5,2,10],2025:[2,3,2,8],2026:[2,2,2,7],2027:[2,1,2,6],2028:[1,31,2,5],2029:[1,29,2,3],2030:[2,4,2,9]},{name:"Osterferien",2012:[4,30,4,30],2013:[3,25,4,6],2014:[5,2,5,2],2015:[3,30,4,11],2016:[3,21,4,2],2017:[4,10,4,18],2018:[3,26,4,6],2019:[4,15,4,26],2020:[4,6,4,17],2021:[3,29,4,10],2022:[4,11,4,23],2023:[4,3,4,14],2024:[3,25,4,5],2025:[4,14,4,25],2026:[3,30,4,10],2027:[3,22,4,2],2028:[4,10,4,22],2029:[3,26,4,6],2030:[4,15,4,26]},{name:"Pfingstferien",2012:[5,18,5,18],2013:[5,21,5,21],2014:[5,30,5,30],2015:[5,26,5,26],2016:[5,17,5,18],2017:[6,6,6,9],2018:[5,22,5,22],2019:[6,11,6,11],2022:[6,7,6,7],2023:[5,30,5,30],2025:[6,10,6,10],2026:[5,26,5,26],2027:[5,18,5,19],2028:[6,1,6,2],2029:[5,22,5,25],2030:[6,7,6,7]},{name:"Sommerferien",2012:[6,20,8,3],2013:[6,19,8,2],2014:[7,9,8,22],2015:[7,16,8,28],2016:[7,21,9,2],2017:[7,20,9,1],2018:[7,5,8,17],2019:[6,20,8,2],2020:[6,25,8,7],2021:[6,24,8,6],2022:[7,7,8,18],2023:[7,13,8,25],2024:[7,18,8,30],2025:[7,24,9,6],2026:[7,9,8,22],2027:[7,1,8,14],2028:[7,1,8,12],2029:[7,1,8,11],2030:[7,4,8,17]},{name:"Herbstferien",2012:[10,1,10,13],2013:[9,30,10,12],2014:[10,20,11,1],2015:[10,19,10,31],2016:[10,17,10,28],2017:[10,23,11,4],2018:[10,22,11,2],2019:[10,7,10,19],2020:[10,12,10,24],2021:[10,11,10,23],2022:[10,24,11,5],2023:[10,23,11,4],2024:[10,21,11,2],2025:[10,20,11,1],2026:[10,19,10,31],2027:[10,11,10,23],2028:[10,2,10,14],2029:[10,1,10,12]},{name:"Weihnachtsferien",2011:[12,23,1,3],2012:[12,24,1,4],2013:[12,23,1,3],2014:[12,22,1,2],2015:[12,23,1,2],2016:[12,23,1,3],2017:[12,21,1,2],2018:[12,22,1,5],2019:[12,23,1,4],2020:[12,21,1,2],2021:[12,23,12,31],2022:[12,22,1,2],2023:[12,23,1,5],2024:[12,23,12,31],2025:[12,22,1,2],2026:[12,23,1,2],2027:[12,22,12,31],2028:[12,22,1,2],2029:[12,21,1,4]},{name:"Unterrichtsfreier Tag",2020:[5,22,5,22],2021:[5,14,5,14],2022:[5,27,5,27],2023:[10,2,10,2],2024:[10,4,10,4],2025:[5,30,5,30],2026:[5,15,5,15],2027:[5,7,5,7],2028:[5,26,5,26],2029:[5,11,5,11],2030:[5,31,5,31]}]},Brandenburg:{SH:[{name:"Winterferien",2012:[1,30,2,4],2013:[2,4,2,9],2014:[2,3,2,8],2015:[2,2,2,7],2016:[2,1,2,6],2017:[1,30,2,4],2018:[2,5,2,10],2019:[2,4,2,9],2020:[2,3,2,8],2021:[2,1,2,6],2022:[1,31,2,5],2023:[1,30,2,3],2024:[2,5,2,9],2025:[2,3,2,8],2026:[2,2,2,7],2027:[2,1,2,6],2028:[1,31,2,5],2029:[1,29,2,3],2030:[2,4,2,9]},{name:"Osterferien",2012:[4,30,4,30],2013:[3,27,4,6],2014:[5,2,5,2],2015:[4,1,4,11],2016:[3,23,4,2],2017:[4,10,4,22],2018:[3,26,4,6],2019:[4,15,4,26],2020:[4,6,4,17],2021:[3,29,4,9],2022:[4,11,4,24],2023:[4,3,4,14],2024:[3,25,4,5],2025:[4,14,4,25],2026:[3,30,4,10],2027:[3,22,4,3],2028:[4,10,4,22],2029:[3,26,4,6],2030:[4,15,4,26]},{name:"Pfingstferien",2012:[5,18,5,18],2013:[5,10,5,10],2014:[5,30,5,30],2015:[5,15,5,15],2016:[5,17,5,17],2017:[5,26,5,26],2018:[5,11,5,11],2019:[5,31,5,31],2025:[6,10,6,10],2026:[5,26,5,26],2027:[5,18,5,18],2029:[5,22,5,22]},{name:"Sommerferien",2012:[6,21,8,3],2013:[6,20,8,2],2014:[7,10,8,22],2015:[7,16,8,28],2016:[7,21,9,3],2017:[7,20,9,1],2018:[7,5,8,18],2019:[6,20,8,3],2020:[6,25,8,8],2021:[6,24,8,7],2022:[7,7,8,20],2023:[7,13,8,26],2024:[7,18,8,31],2025:[7,24,9,6],2026:[7,9,8,22],2027:[7,1,8,14],2028:[6,29,8,12],2029:[6,28,8,11],2030:[7,4,8,17]},{name:"Herbstferien",2012:[10,1,10,13],2013:[11,1,11,1],2014:[10,20,11,1],2015:[10,19,10,30],2016:[10,17,10,28],2017:[10,23,11,4],2018:[10,22,11,2],2019:[11,1,11,1],2020:[10,12,10,24],2021:[10,11,10,23],2022:[10,24,11,5],2023:[10,23,11,4],2024:[10,21,11,2],2025:[10,20,11,1],2026:[10,19,10,30],2027:[10,11,10,23],2028:[10,2,10,14],2029:[10,1,10,12]},{name:"Weihnachtsferien",2011:[12,23,1,3],2012:[12,24,1,4],2013:[12,23,1,3],2014:[12,22,1,2],2015:[12,23,1,2],2016:[12,23,1,3],2017:[12,21,1,2],2018:[12,21,1,5],2019:[12,23,1,3],2020:[12,21,1,2],2021:[12,23,12,31],2022:[12,22,1,3],2023:[12,23,1,5],2024:[12,23,12,31],2025:[12,22,1,2],2026:[12,23,1,2],2027:[12,23,12,31],2028:[12,22,1,2],2029:[12,21,1,4]},{name:"Variabler Ferientag",2020:[5,22,5,22],2021:[5,14,5,14],2022:[5,27,5,27],2023:[10,2,10,2],2024:[10,4,10,4],2025:[5,30,5,30],2026:[5,15,5,15],2027:[5,7,5,7],2028:[10,30,10,30],2029:[5,11,5,11],2030:[5,31,5,31]}]},Bremen:{SH:[{name:"Winterferien",2012:[1,30,1,31],2013:[1,31,2,1],2014:[1,30,1,31],2015:[2,2,2,3],2016:[1,28,1,29],2017:[1,30,1,31],2018:[2,1,2,2],2019:[1,31,2,1]},{name:"Halbjahresferien",2021:[2,1,2,2],2022:[1,31,2,1],2023:[1,30,1,31],2024:[2,1,2,2],2025:[2,3,2,4],2026:[2,2,2,3],2027:[2,1,2,2],2028:[1,31,2,1],2029:[2,1,2,2],2030:[1,31,2,1]},{name:"Osterferien",2012:[4,30,4,30],2013:[3,16,4,2],2014:[5,2,5,2],2015:[3,25,4,10],2016:[3,18,4,2],2017:[4,10,4,22],2018:[3,19,4,3],2019:[4,6,4,23],2021:[3,27,4,10],2022:[4,4,4,19],2023:[3,27,4,11],2024:[3,18,3,28],2025:[4,7,4,19],2026:[3,23,4,7],2027:[3,22,4,3],2028:[4,10,4,22],2029:[3,19,4,3],2030:[4,8,4,23]},{name:"Kirchentag und Tag nach dem 1. Mai",2025:[4,30,5,2]},{name:"Pfingstferien",2012:[5,29,5,29],2013:[5,21,5,21],2014:[6,10,6,10],2015:[5,26,5,26],2016:[5,17,5,17],2017:[6,6,6,6],2018:[5,22,5,22],2019:[6,11,6,11],2021:[5,25,5,25],2022:[6,7,6,7],2023:[5,30,5,30],2024:[5,21,5,21],2025:[6,10,6,10],2026:[5,26,5,26],2027:[5,18,5,18],2028:[6,6,6,6],2029:[5,22,5,22],2030:[6,11,6,11]},{name:"Tag nach Himmelfahrt",2021:[5,14,5,14],2022:[5,27,5,27],2023:[5,19,5,19],2024:[5,10,5,10],2025:[5,30,5,30],2026:[5,15,5,15],2027:[5,7,5,7],2028:[5,26,5,26],2029:[5,11,5,11],2030:[5,31,5,31]},{name:"Sommerferien",2012:[7,23,8,31],2013:[6,27,8,7],2014:[7,31,9,10],2015:[7,23,9,2],2016:[6,23,8,3],2017:[6,22,8,2],2018:[6,28,8,8],2019:[7,4,8,14],2020:[7,16,8,26],2021:[7,22,9,1],2022:[7,14,8,24],2023:[7,6,8,16],2024:[6,24,8,2],2025:[7,3,8,13],2026:[7,2,8,12],2027:[7,8,8,18],2028:[7,20,8,30],2029:[7,19,8,29],2030:[7,11,8,21]},{name:"Tag vor dem 3. Oktober",2023:[10,2,10,2],2028:[10,2,10,2]},{name:"Herbstferien",2012:[10,22,11,3],2013:[10,4,10,18],2014:[10,27,11,8],2015:[10,19,10,31],2016:[10,4,10,15],2017:[10,30,10,30],2018:[10,1,10,13],2019:[10,4,10,18],2020:[10,12,10,24],2021:[10,18,10,30],2022:[10,17,10,29],2023:[10,16,10,30],2024:[10,4,10,19],2025:[10,13,10,25],2026:[10,12,10,24],2027:[10,18,10,30],2028:[10,23,11,4],2029:[10,22,11,2]},{name:"Tag nach dem Reformationstag",2024:[11,1,11,1]},{name:"Weihnachtsferien",2011:[12,23,1,4],2012:[12,24,1,5],2013:[12,23,1,3],2014:[12,22,1,5],2015:[12,23,1,6],2016:[12,21,1,6],2017:[12,22,1,6],2018:[12,24,1,4],2019:[12,21,1,6],2020:[12,23,1,8],2021:[12,23,1,8],2022:[12,23,1,6],2023:[12,23,1,5],2024:[12,23,1,4],2025:[12,22,1,5],2026:[12,23,1,9],2027:[12,23,1,8],2028:[12,27,1,6],2029:[12,21,1,5]},{name:"Tag vor dem 1. Mai",2029:[4,30,4,30]},{name:"Tage nach dem 3. Oktober",2029:[10,4,10,5]}]},Hamburg:{SH:[{name:"Winterferien",2012:[1,30,1,30],2013:[2,1,2,1],2014:[1,31,1,31],2015:[1,30,1,30],2016:[1,29,1,29],2017:[1,30,1,30],2018:[2,2,2,2],2019:[2,1,2,1]},{name:"Osterferien",2012:[3,5,3,16],2013:[3,4,3,15],2014:[3,3,3,14],2015:[3,2,3,13],2016:[3,7,3,18],2017:[3,6,3,17],2018:[4,30,4,30],2019:[3,4,3,15]},{name:"Pfingstferien",2012:[5,18,5,18],2013:[5,2,5,10],2014:[5,30,5,30],2015:[5,11,5,15],2016:[5,17,5,20],2017:[5,22,5,26],2018:[5,7,5,11],2019:[5,31,5,31],2020:[5,18,5,22],2021:[5,10,5,14],2022:[5,23,5,27],2023:[5,15,5,19],2024:[5,21,5,24],2025:[5,26,5,30],2026:[5,11,5,15],2027:[5,7,5,14],2028:[5,22,5,26],2029:[5,11,5,18],2030:[5,20,5,24]},{name:"Sommerferien",2012:[6,21,8,1],2013:[6,20,7,31],2014:[7,10,8,20],2015:[7,16,8,26],2016:[7,21,8,31],2017:[7,20,8,30],2018:[7,5,8,15],2019:[6,27,8,7],2020:[6,25,8,5],2021:[6,24,8,4],2022:[7,7,8,17],2023:[7,13,8,23],2024:[7,18,8,28],2025:[7,24,9,3],2026:[7,9,8,19],2027:[7,1,8,11],2028:[7,3,8,11],2029:[7,2,8,10],2030:[7,4,8,14]},{name:"Herbstferien",2012:[10,1,10,12],2013:[9,30,10,11],2014:[10,13,10,24],2015:[10,19,10,30],2016:[10,17,10,28],2017:[10,16,10,27],2018:[10,1,10,12],2019:[10,4,10,18],2020:[10,5,10,16],2021:[10,4,10,15],2022:[10,10,10,21],2023:[10,16,10,27],2024:[10,21,11,1],2025:[10,20,10,31],2026:[10,19,10,30],2027:[10,11,10,22],2028:[10,2,10,13],2029:[10,1,10,12]},{name:"Weihnachtsferien",2011:[12,27,1,6],2012:[12,21,1,4],2013:[12,19,1,3],2014:[12,22,1,6],2015:[12,21,1,1],2016:[12,27,1,6],2017:[12,22,1,5],2018:[12,20,1,4],2019:[12,20,1,3],2020:[12,21,1,4],2021:[12,23,1,4],2022:[12,23,1,6],2023:[12,22,1,5],2024:[12,20,1,3],2025:[12,17,1,2],2026:[12,21,1,1],2027:[12,20,12,31],2028:[12,18,12,29],2029:[12,21,1,4]},{name:"Halbjahrespause",2020:[1,31,1,31],2021:[1,29,1,29],2022:[1,28,1,28],2023:[1,27,1,27],2024:[2,2,2,2],2025:[1,31,1,31],2026:[1,30,1,30],2027:[1,29,1,29],2028:[1,28,1,28],2029:[2,2,2,2],2030:[2,1,2,1]},{name:"Frühjahrsferien",2020:[3,2,3,13],2021:[3,1,3,12],2022:[3,7,3,18],2023:[3,6,3,17],2024:[3,18,3,28],2025:[3,10,3,21],2026:[3,2,3,13],2027:[3,1,3,12],2028:[3,6,3,17],2029:[3,5,3,16],2030:[3,4,3,15]},{name:"Brückentag",2023:[10,2,10,2],2024:[10,4,10,4],2025:[5,2,5,2],2028:[10,30,10,30],2030:[5,31,5,31]}]},Hessen:{SH:[{name:"Osterferien",2012:[4,2,4,14],2013:[3,25,4,6],2014:[4,14,4,26],2015:[3,30,4,11],2016:[3,29,4,9],2017:[4,3,4,15],2018:[3,26,4,7],2019:[4,14,4,27],2020:[4,6,4,18],2021:[4,6,4,16],2022:[4,11,4,23],2023:[4,3,4,22],2024:[3,25,4,13],2025:[4,7,4,21],2026:[3,30,4,10],2027:[3,22,4,2],2028:[4,3,4,14],2029:[3,29,4,13],2030:[4,8,4,22]},{name:"Sommerferien",2012:[7,2,8,10],2013:[7,8,8,16],2014:[7,28,9,5],2015:[7,27,9,4],2016:[7,18,8,26],2017:[7,3,8,11],2018:[6,25,8,3],2019:[7,1,8,9],2020:[7,6,8,14],2021:[7,19,8,27],2022:[7,25,9,2],2023:[7,24,9,1],2024:[7,15,8,23],2025:[7,7,8,15],2026:[6,29,8,7],2027:[6,28,8,6],2028:[7,3,8,11],2029:[7,16,8,24],2030:[7,22,8,30]},{name:"Herbstferien",2012:[10,15,10,27],2013:[10,14,10,26],2014:[10,20,11,1],2015:[10,19,10,31],2016:[10,17,10,29],2017:[10,9,10,21],2018:[10,1,10,13],2019:[9,30,10,12],2020:[10,5,10,17],2021:[10,11,10,23],2022:[10,24,10,29],2023:[10,23,10,28],2024:[10,14,10,25],2025:[10,6,10,18],2026:[10,5,10,17],2027:[10,4,10,16],2028:[10,9,10,20],2029:[10,15,10,26]},{name:"Weihnachtsferien",2011:[12,21,1,6],2012:[12,24,1,12],2013:[12,23,1,11],2014:[12,22,1,10],2015:[12,23,1,9],2016:[12,22,1,7],2017:[12,24,1,13],2018:[12,24,1,12],2019:[12,23,1,11],2020:[12,21,1,9],2021:[12,23,1,8],2022:[12,22,1,7],2023:[12,27,1,13],2024:[12,23,1,10],2025:[12,22,1,10],2026:[12,23,1,12],2027:[12,23,1,11],2028:[12,27,1,12],2029:[12,24,1,11]}]},"MV-ABS":{SH:[{name:"Winterferien",2012:[2,6,2,17],2013:[2,4,2,15],2014:[2,3,2,15],2015:[2,2,2,14],2016:[2,1,2,13],2017:[2,6,2,18],2018:[2,5,2,16],2019:[2,4,2,15],2020:[2,10,2,21],2021:[2,6,2,18],2022:[2,5,2,17],2023:[2,6,2,18],2024:[2,5,2,16],2025:[2,3,2,14],2026:[2,9,2,20],2027:[2,8,2,19],2028:[2,5,2,17],2029:[2,5,2,16],2030:[2,4,2,15]},{name:"Osterferien",2012:[4,2,4,11],2013:[3,25,4,3],2014:[4,14,4,23],2015:[3,30,4,8],2016:[3,21,3,30],2017:[4,10,4,19],2018:[3,26,4,4],2019:[4,15,4,24],2020:[4,6,4,15],2021:[3,29,4,7],2022:[4,11,4,20],2023:[4,3,4,12],2024:[3,25,4,3],2025:[4,14,4,23],2026:[3,30,4,8],2027:[3,24,4,2],2028:[4,12,4,21],2029:[3,28,4,6],2030:[4,17,4,26]},{name:"Pfingstferien",2012:[5,25,5,29],2013:[5,17,5,21],2014:[6,6,6,10],2015:[5,22,5,26],2016:[5,14,5,17],2017:[6,2,6,6],2018:[5,18,5,22],2019:[6,7,6,11],2020:[5,29,6,2],2021:[5,21,5,25],2022:[6,3,6,7],2023:[5,26,5,30],2024:[5,17,5,21],2025:[6,6,6,10],2026:[5,22,5,26],2027:[5,14,5,18],2028:[6,2,6,6],2029:[5,18,5,22],2030:[6,7,6,11]},{name:"Sommerferien",2012:[6,23,8,4],2013:[6,22,8,3],2014:[7,14,8,23],2015:[7,20,8,29],2016:[7,25,9,3],2017:[7,24,9,2],2018:[7,9,8,18],2019:[7,1,8,10],2020:[6,22,8,1],2021:[6,21,7,31],2022:[7,4,8,13],2023:[7,17,8,26],2024:[7,22,8,31],2025:[7,28,9,6],2026:[7,13,8,22],2027:[7,5,8,14],2028:[6,26,8,5],2029:[6,18,7,28],2030:[7,1,8,10]},{name:"Herbstferien",2012:[10,1,10,5],2013:[10,14,10,19],2014:[10,20,10,25],2015:[10,24,10,30],2016:[10,24,10,28],2017:[10,23,10,30],2018:[11,1,11,2],2019:[11,1,11,1],2020:[10,5,10,10],2021:[10,2,10,9],2022:[10,10,10,14],2023:[10,9,10,14],2024:[10,21,10,26],2025:[10,20,10,24],2026:[10,15,10,24],2027:[10,14,10,23],2028:[10,23,10,28],2029:[10,22,10,27]},{name:"Weihnachtsferien",2011:[12,23,1,3],2012:[12,21,1,4],2013:[12,23,1,3],2014:[12,22,1,2],2015:[12,21,1,2],2016:[12,22,1,2],2017:[12,21,1,3],2018:[12,24,1,5],2019:[12,23,1,4],2020:[12,21,1,2],2021:[12,22,12,31],2022:[12,22,1,2],2023:[12,21,1,3],2024:[12,23,1,6],2025:[12,20,1,3],2026:[12,21,1,2],2027:[12,22,1,4],2028:[12,22,1,2],2029:[12,21,1,4]},{name:"Zusätzlicher Ferientag",2020:[11,3,11,3],2021:[11,2,11,2],2022:[11,2,11,2],2023:[11,1,11,1],2024:[11,1,11,1],2025:[11,3,11,3],2026:[11,27,11,27],2027:[11,26,11,26],2028:[10,30,10,30],2029:[10,30,10,30],2030:[5,31,5,31]},{name:"Schulfrei",2021:[2,19,2,19],2022:[2,18,2,18],2028:[2,18,2,18]}]},"MV-BBS":{SH:[{name:"Winterferien",2020:[2,10,2,15],2021:[2,5,2,13],2022:[2,5,2,12],2023:[2,6,2,11],2024:[2,5,2,10],2025:[2,3,2,8],2026:[2,9,2,14],2027:[2,8,2,13],2028:[2,5,2,12],2029:[2,5,2,10],2030:[2,4,2,9]},{name:"Osterferien",2020:[4,6,4,17],2021:[3,29,4,9],2022:[4,11,4,22],2023:[4,3,4,15],2024:[3,25,4,5],2025:[4,14,4,25],2026:[3,30,4,10],2027:[3,22,4,2],2028:[4,12,4,21],2029:[3,28,4,6],2030:[4,17,4,26]},{name:"Sommerferien",2020:[7,13,8,29],2021:[7,12,8,28],2022:[7,11,8,27],2023:[7,17,9,1],2024:[7,15,8,31],2025:[7,14,8,30],2026:[7,13,8,29],2027:[7,12,8,28],2028:[7,17,9,2],2029:[7,16,9,1],2030:[7,15,8,31]},{name:"Herbstferien",2020:[10,5,10,10],2021:[10,2,10,9],2022:[10,10,10,15],2023:[10,9,10,14],2024:[10,21,10,26],2025:[10,20,10,25],2026:[10,19,10,24],2027:[10,16,10,23],2028:[10,23,10,28],2029:[10,22,10,27]},{name:"Weihnachtsferien",2019:[12,23,1,4],2020:[12,21,1,2],2021:[12,22,1,3],2022:[12,22,1,2],2023:[12,21,1,3],2024:[12,23,1,4],2025:[12,22,1,3],2026:[12,19,1,2],2027:[12,22,12,31],2028:[12,21,1,2],2029:[12,21,1,4]},{name:"Zusätzlicher Ferientag",2020:[5,22,5,22],2021:[5,14,5,14],2022:[10,28,10,28],2023:[10,30,10,30],2024:[11,1,11,1],2025:[11,3,11,3],2026:[11,27,11,27],2027:[11,26,11,26],2028:[10,30,10,30],2029:[10,30,10,30],2030:[5,31,5,31]}]},Niedersachsen:{SH:[{name:"Winterferien",2012:[1,30,1,31],2013:[1,31,2,1],2014:[1,30,1,31],2015:[2,2,2,3],2016:[1,28,1,29],2017:[1,30,1,31],2018:[2,1,2,2],2019:[1,31,2,1]},{name:"Halbjahresferien",2020:[2,3,2,4],2021:[2,1,2,2],2022:[1,31,2,1],2023:[1,30,1,31],2024:[2,1,2,2],2025:[2,3,2,4],2026:[2,2,2,3],2027:[2,1,2,2],2028:[1,31,2,1],2029:[2,1,2,2],2030:[1,31,2,1]},{name:"Osterferien",2012:[4,30,4,30],2013:[3,16,4,2],2014:[5,2,5,2],2015:[3,25,4,10],2016:[3,18,4,2],2017:[4,10,4,22],2018:[3,19,4,3],2019:[4,8,4,23],2020:[3,30,4,14],2021:[3,29,4,9],2022:[4,4,4,19],2023:[3,27,4,11],2024:[3,18,3,28],2025:[4,7,4,19],2026:[3,23,4,7],2027:[3,22,4,3],2028:[4,10,4,22],2029:[3,19,4,3],2030:[4,8,4,23]},{name:"Pfingstferien",2012:[5,29,5,29],2013:[5,21,5,21],2014:[6,10,6,10],2015:[5,26,5,26],2016:[5,17,5,17],2017:[6,6,6,6],2018:[5,22,5,22],2019:[6,11,6,11],2020:[6,2,6,2],2021:[5,25,5,25],2022:[6,7,6,7],2023:[5,30,5,30],2024:[5,21,5,21],2025:[6,10,6,10],2026:[5,26,5,26],2027:[5,18,5,18],2028:[6,6,6,6],2029:[5,22,5,22],2030:[6,11,6,11]},{name:"Tag nach Himmelfahrt",2020:[5,22,5,22],2021:[5,14,5,14],2022:[5,27,5,27],2023:[5,19,5,19],2024:[5,10,5,10],2025:[5,30,5,30],2026:[5,15,5,15],2027:[5,7,5,7],2028:[5,26,5,26],2029:[5,11,5,11],2030:[5,31,5,31]},{name:"Sommerferien",2012:[7,23,8,31],2013:[6,27,8,7],2014:[7,31,9,10],2015:[7,23,9,2],2016:[6,23,8,3],2017:[6,22,8,2],2018:[6,28,8,8],2019:[7,4,8,14],2020:[7,16,8,26],2021:[7,22,9,1],2022:[7,14,8,24],2023:[7,6,8,16],2024:[6,24,8,3],2025:[7,3,8,13],2026:[7,2,8,12],2027:[7,8,8,18],2028:[7,20,8,30],2029:[7,19,8,29],2030:[7,11,8,21]},{name:"Tag vor dem 3. Oktober",2023:[10,2,10,2],2028:[10,2,10,2]},{name:"Herbstferien",2012:[10,22,11,3],2013:[10,4,10,18],2014:[10,27,11,8],2015:[10,19,10,31],2016:[10,4,10,15],2017:[10,30,10,30],2018:[10,1,10,12],2019:[10,4,10,18],2020:[10,12,10,23],2021:[10,18,10,29],2022:[10,17,10,28],2023:[10,16,10,30],2024:[10,4,10,19],2025:[10,13,10,25],2026:[10,12,10,24],2027:[10,16,10,30],2028:[10,23,11,4],2029:[10,22,11,2]},{name:"Tag nach dem Reformationstag",2024:[11,1,11,1]},{name:"Weihnachtsferien",2011:[12,23,1,4],2012:[12,24,1,5],2013:[12,23,1,3],2014:[12,22,1,5],2015:[12,23,1,6],2016:[12,21,1,6],2017:[12,22,1,5],2018:[12,24,1,4],2019:[12,23,1,6],2020:[12,23,1,8],2021:[12,23,1,7],2022:[12,23,1,6],2023:[12,27,1,5],2024:[12,23,1,4],2025:[12,22,1,5],2026:[12,23,1,9],2027:[12,23,1,8],2028:[12,27,1,6],2029:[12,21,1,5]},{name:"Kirchentag",2025:[4,30,4,30]},{name:"Tag nach dem 1. Mai",2025:[5,2,5,2]},{name:"Tag vor dem 1. Mai",2029:[4,30,4,30]},{name:"Tage nach dem 3. Oktober",2029:[10,4,10,5]}]},"Nordrhein-Westfalen":{SH:[{name:"Osterferien",2012:[4,2,4,14],2013:[3,25,4,6],2014:[4,14,4,26],2015:[3,30,4,11],2016:[3,21,4,2],2017:[4,10,4,22],2018:[3,26,4,7],2019:[4,15,4,27],2020:[4,6,4,18],2021:[3,29,4,10],2022:[4,11,4,23],2023:[4,3,4,15],2024:[3,25,4,6],2025:[4,14,4,26],2026:[3,30,4,11],2027:[3,22,4,3],2028:[4,10,4,22],2029:[3,26,4,7],2030:[4,15,4,27]},{name:"Pfingstferien",2012:[5,29,5,29],2013:[5,21,5,21],2014:[6,10,6,10],2015:[5,26,5,26],2016:[5,17,5,17],2017:[6,6,6,6],2018:[5,22,5,25],2019:[6,11,6,11],2020:[6,2,6,2],2021:[5,25,5,25],2023:[5,30,5,30],2024:[5,21,5,21],2025:[6,10,6,10],2026:[5,26,5,26],2027:[5,18,5,18],2029:[5,22,5,22]},{name:"Sommerferien",2012:[7,9,8,21],2013:[7,22,9,3],2014:[7,7,8,19],2015:[6,29,8,11],2016:[7,11,8,23],2017:[7,17,8,29],2018:[7,16,8,28],2019:[7,15,8,27],2020:[6,29,8,11],2021:[7,5,8,17],2022:[6,27,8,9],2023:[6,22,8,4],2024:[7,8,8,20],2025:[7,14,8,26],2026:[7,20,9,1],2027:[7,19,8,31],2028:[7,10,8,22],2029:[7,2,8,14],2030:[6,24,8,6]},{name:"Herbstferien",2012:[10,8,10,20],2013:[10,21,11,2],2014:[10,6,10,18],2015:[10,5,10,17],2016:[10,10,10,21],2017:[10,23,11,4],2018:[10,15,10,27],2019:[10,14,10,26],2020:[10,12,10,24],2021:[10,11,10,23],2022:[10,4,10,15],2023:[10,2,10,14],2024:[10,14,10,26],2025:[10,13,10,25],2026:[10,17,10,31],2027:[10,23,11,6],2028:[10,23,11,4],2029:[10,15,10,27]},{name:"Weihnachtsferien",2011:[12,23,1,6],2012:[12,21,1,4],2013:[12,23,1,7],2014:[12,22,1,6],2015:[12,23,1,6],2016:[12,23,1,6],2017:[12,27,1,6],2018:[12,21,1,4],2019:[12,23,1,6],2020:[12,21,1,6],2021:[12,24,1,8],2022:[12,23,1,6],2023:[12,21,1,5],2024:[12,23,1,6],2025:[12,22,1,6],2026:[12,23,1,6],2027:[12,24,1,8],2028:[12,21,1,5],2029:[12,20,1,4]}]},"Rheinland-Pfalz":{SH:[{name:"Winterferien",2019:[2,25,3,1],2020:[2,17,2,21],2022:[2,21,2,25]},{name:"Osterferien",2012:[3,29,4,13],2013:[3,20,4,5],2014:[4,11,4,25],2015:[3,26,4,10],2016:[3,18,4,1],2017:[4,10,4,21],2018:[3,26,4,6],2019:[4,23,4,30],2020:[4,9,4,17],2021:[3,29,4,6],2022:[4,13,4,22],2023:[4,3,4,6],2024:[3,25,4,2],2025:[4,14,4,25],2026:[3,30,4,10],2027:[3,22,4,2],2028:[4,10,4,21],2029:[3,26,4,6],2030:[4,15,4,30]},{name:"Pfingstferien",2021:[5,25,6,2],2023:[5,30,6,7],2024:[5,21,5,29]},{name:"Sommerferien",2012:[7,2,8,10],2013:[7,8,8,16],2014:[7,28,9,5],2015:[7,27,9,4],2016:[7,18,8,26],2017:[7,3,8,11],2018:[6,25,8,3],2019:[7,1,8,9],2020:[7,6,8,14],2021:[7,19,8,27],2022:[7,25,9,2],2023:[7,24,9,1],2024:[7,15,8,23],2025:[7,7,8,15],2026:[6,29,8,7],2027:[6,28,8,6],2028:[7,3,8,11],2029:[7,16,8,24],2030:[7,22,8,30]},{name:"Herbstferien",2012:[10,1,10,12],2013:[10,4,10,18],2014:[10,20,10,31],2015:[10,19,10,30],2016:[10,10,10,21],2017:[10,2,10,13],2018:[10,1,10,12],2019:[9,30,10,11],2020:[10,12,10,23],2021:[10,11,10,22],2022:[10,17,10,31],2023:[10,16,10,27],2024:[10,14,10,25],2025:[10,13,10,24],2026:[10,5,10,16],2027:[10,4,10,15],2028:[10,9,10,20],2029:[10,22,11,2]},{name:"Weihnachtsferien",2011:[12,22,1,6],2012:[12,20,1,4],2013:[12,23,1,7],2014:[12,22,1,7],2015:[12,23,1,8],2016:[12,22,1,6],2017:[12,22,1,9],2018:[12,20,1,4],2019:[12,23,1,6],2020:[12,21,12,31],2021:[12,23,12,31],2022:[12,23,1,2],2023:[12,27,1,5],2024:[12,23,1,8],2025:[12,22,1,7],2026:[12,23,1,8],2027:[12,23,1,7],2028:[12,21,1,8],2029:[12,24,1,9]}]},Saarland:{SH:[{name:"Winterferien",2012:[2,20,2,25],2013:[2,11,2,16],2014:[3,3,3,8],2015:[2,16,2,21],2016:[2,8,2,13],2017:[2,27,3,4],2018:[2,12,2,17],2019:[2,25,3,5]},{name:"Osterferien",2012:[4,2,4,14],2013:[3,25,4,6],2014:[4,14,4,26],2015:[3,30,4,11],2016:[3,29,4,9],2017:[4,10,4,22],2018:[3,26,4,6],2019:[4,17,4,26],2020:[4,14,4,24],2021:[3,29,4,7],2022:[4,14,4,22],2023:[4,3,4,12],2024:[3,25,4,5],2025:[4,14,4,25],2026:[4,7,4,17],2027:[3,30,4,9],2028:[4,12,4,21],2029:[3,26,4,6],2030:[4,15,4,26]},{name:"Pfingstferien",2021:[5,25,5,28],2022:[6,7,6,10],2023:[5,30,6,2],2024:[5,21,5,24],2029:[5,22,5,25]},{name:"Sommerferien",2012:[7,2,8,14],2013:[7,8,8,17],2014:[7,28,9,6],2015:[7,27,9,5],2016:[7,18,8,27],2017:[7,3,8,14],2018:[6,25,8,3],2019:[7,1,8,9],2020:[7,6,8,14],2021:[7,19,8,27],2022:[7,25,9,2],2023:[7,24,9,1],2024:[7,15,8,23],2025:[7,7,8,14],2026:[6,29,8,7],2027:[6,28,8,6],2028:[7,3,8,11],2029:[7,16,8,24],2030:[7,22,8,30]},{name:"Herbstferien",2012:[10,22,11,3],2013:[10,21,11,2],2014:[10,20,10,31],2015:[10,19,10,31],2016:[10,10,10,22],2017:[10,2,10,14],2018:[10,1,10,12],2019:[10,7,10,18],2020:[10,12,10,23],2021:[10,18,10,29],2022:[10,24,11,4],2023:[10,23,11,3],2024:[10,14,10,25],2025:[10,13,10,24],2026:[10,5,10,16],2027:[10,4,10,15],2028:[10,9,10,20],2029:[10,22,11,2]},{name:"Weihnachtsferien",2011:[12,23,1,4],2012:[12,24,1,5],2013:[12,20,1,4],2014:[12,22,1,7],2015:[12,21,1,2],2016:[12,19,12,31],2017:[12,21,1,5],2018:[12,20,1,4],2019:[12,23,1,3],2020:[12,21,12,31],2021:[12,23,1,3],2022:[12,22,1,4],2023:[12,21,1,2],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,21,12,31],2027:[12,20,12,31],2028:[12,20,1,2],2029:[12,21,1,4]},{name:"Fastnachtsferien",2020:[2,17,2,25],2021:[2,15,2,19],2022:[2,21,3,1],2023:[2,20,2,24],2024:[2,12,2,16],2025:[2,24,3,4],2026:[2,16,2,20],2027:[2,8,2,12],2028:[2,21,2,29],2029:[2,12,2,16],2030:[2,25,3,5]}]},Sachsen:{SH:[{name:"Winterferien",2012:[2,13,2,25],2013:[2,4,2,15],2014:[2,17,3,1],2015:[2,9,2,21],2016:[2,8,2,20],2017:[2,13,2,24],2018:[2,12,2,23],2019:[2,18,3,2],2020:[2,10,2,22],2021:[1,31,2,6],2022:[2,12,2,26],2023:[2,13,2,24],2024:[2,12,2,23],2025:[2,17,3,1],2026:[2,9,2,21],2027:[2,8,2,19],2028:[2,14,2,26],2029:[2,5,2,16],2030:[2,18,3,1]},{name:"Osterferien",2012:[4,6,4,14],2013:[3,29,4,6],2014:[4,18,4,26],2015:[4,2,4,11],2016:[3,25,4,2],2017:[4,13,4,22],2018:[3,29,4,6],2019:[4,19,4,26],2020:[4,10,4,18],2021:[3,27,4,10],2022:[4,15,4,23],2023:[4,7,4,15],2024:[3,28,4,5],2025:[4,18,4,25],2026:[4,3,4,10],2027:[3,26,4,2],2028:[4,14,4,22],2029:[3,29,4,6],2030:[4,19,4,26]},{name:"Pfingstferien",2012:[5,18,5,18],2013:[5,18,5,22],2014:[5,30,5,30],2015:[5,15,5,15],2016:[5,6,5,6],2017:[5,26,5,26],2018:[5,19,5,22],2019:[5,31,5,31],2024:[5,18,5,21],2027:[5,15,5,18],2029:[5,19,5,22],2030:[6,8,6,11]},{name:"Sommerferien",2012:[7,23,8,31],2013:[7,15,8,23],2014:[7,21,8,29],2015:[7,13,8,21],2016:[6,27,8,5],2017:[6,26,8,4],2018:[7,2,8,10],2019:[7,8,8,16],2020:[7,20,8,28],2021:[7,26,9,3],2022:[7,18,8,26],2023:[7,10,8,18],2024:[6,20,8,2],2025:[6,28,8,8],2026:[7,4,8,14],2027:[7,10,8,20],2028:[7,22,9,1],2029:[7,21,8,31],2030:[7,13,8,23]},{name:"Herbstferien",2012:[10,22,11,2],2013:[10,21,11,1],2014:[10,20,10,31],2015:[10,12,10,24],2016:[10,3,10,15],2017:[10,30,10,30],2018:[10,8,10,20],2019:[10,14,10,25],2020:[10,19,10,31],2021:[10,18,10,30],2022:[10,17,10,29],2023:[10,2,10,14],2024:[10,7,10,19],2025:[10,6,10,18],2026:[10,12,10,24],2027:[10,11,10,23],2028:[10,23,11,3],2029:[10,22,11,2]},{name:"Weihnachtsferien",2011:[12,23,1,2],2012:[12,22,1,2],2013:[12,21,1,3],2014:[12,22,1,3],2015:[12,21,1,2],2016:[12,23,1,2],2017:[12,23,1,2],2018:[12,22,1,4],2019:[12,21,1,3],2020:[12,19,1,2],2021:[12,23,1,1],2022:[12,22,1,2],2023:[12,23,1,2],2024:[12,23,1,3],2025:[12,22,1,2],2026:[12,23,1,2],2027:[12,23,1,1],2028:[12,23,1,3],2029:[12,22,1,4]},{name:"Unterrichtsfreier Tag",2022:[5,27,5,27],2023:[10,30,10,30],2024:[5,10,5,10],2025:[5,30,5,30],2026:[5,15,5,15],2027:[5,7,5,7],2028:[5,26,5,26],2029:[5,11,5,11],2030:[5,31,5,31]}]},"Sachsen-Anhalt":{SH:[{name:"Winterferien",2012:[2,4,2,11],2013:[2,1,2,8],2014:[2,1,2,12],2015:[2,2,2,14],2016:[2,1,2,10],2017:[2,4,2,11],2018:[2,5,2,9],2019:[2,11,2,15],2020:[2,10,2,14],2021:[2,8,2,13],2022:[2,12,2,19],2023:[2,6,2,11],2024:[2,5,2,10],2025:[1,27,1,31],2026:[1,31,2,6],2027:[2,1,2,6],2028:[2,7,2,12],2029:[2,5,2,10],2030:[2,4,2,8]},{name:"Osterferien",2012:[4,2,4,7],2013:[3,25,3,30],2014:[4,14,4,17],2015:[4,2,4,2],2016:[3,24,3,24],2017:[4,10,4,13],2018:[4,30,4,30],2019:[4,18,4,30],2020:[4,6,4,11],2021:[3,29,4,3],2022:[4,11,4,16],2023:[4,3,4,8],2024:[3,25,3,30],2025:[4,7,4,19],2026:[3,30,4,4],2027:[3,22,3,27],2028:[4,10,4,22],2029:[3,26,3,31],2030:[4,8,4,20]},{name:"Pfingstferien",2012:[5,18,5,25],2013:[5,10,5,18],2014:[5,30,6,7],2015:[5,15,5,23],2016:[5,6,5,14],2017:[5,26,5,26],2018:[5,11,5,19],2019:[5,31,6,1],2020:[5,18,5,30],2021:[5,10,5,22],2022:[5,23,5,28],2023:[5,15,5,19],2024:[5,21,5,24],2026:[5,26,5,29],2027:[5,15,5,22],2028:[6,3,6,10],2029:[5,11,5,25],2030:[6,3,6,8]},{name:"Sommerferien",2012:[7,23,9,5],2013:[7,15,8,28],2014:[7,21,9,3],2015:[7,13,8,26],2016:[6,27,8,10],2017:[6,26,8,9],2018:[6,28,8,8],2019:[7,4,8,14],2020:[7,16,8,26],2021:[7,22,9,1],2022:[7,14,8,24],2023:[7,6,8,16],2024:[6,24,8,3],2025:[6,28,8,8],2026:[7,4,8,14],2027:[7,10,8,20],2028:[7,22,9,1],2029:[7,21,8,31],2030:[7,13,8,23]},{name:"Herbstferien",2012:[10,29,11,2],2013:[10,21,10,25],2014:[10,27,10,30],2015:[10,17,10,24],2016:[10,4,10,15],2017:[10,30,10,30],2018:[10,1,10,12],2019:[11,1,11,1],2020:[10,19,10,24],2021:[10,25,10,30],2022:[10,24,11,4],2023:[10,16,10,30],2024:[9,30,10,12],2025:[10,13,10,25],2026:[10,19,10,30],2027:[10,18,10,23],2028:[10,30,11,3],2029:[10,29,11,2]},{name:"Weihnachtsferien",2011:[12,22,1,7],2012:[12,19,1,4],2013:[12,21,1,3],2014:[12,22,1,5],2015:[12,21,1,5],2016:[12,19,1,2],2017:[12,21,1,3],2018:[12,19,1,4],2019:[12,23,1,4],2020:[12,21,1,10],2021:[12,22,1,8],2022:[12,21,1,5],2023:[12,21,1,3],2024:[12,23,1,4],2025:[12,22,1,5],2026:[12,21,1,2],2027:[12,20,12,31],2028:[12,21,1,2],2029:[12,21,1,5]},{name:"Ferientag",2023:[10,2,10,2],2024:[11,1,11,1],2025:[5,30,5,30],2028:[10,2,10,2],2029:[4,30,4,30],2030:[5,31,5,31]}]},"Schleswig-Holstein":{SH:[{name:"Osterferien",2011:[4,15,4,30],2012:[3,30,4,13],2013:[3,25,4,9],2014:[4,16,5,2],2015:[4,1,4,17],2016:[3,24,4,9],2017:[4,7,4,21],2018:[3,29,4,13],2019:[4,4,4,18],2020:[3,30,4,17],2021:[4,1,4,16],2022:[4,4,4,16],2023:[4,6,4,22],2024:[4,2,4,19],2025:[4,11,4,25],2026:[3,26,4,10],2027:[3,30,4,10],2028:[4,3,4,15],2029:[3,23,4,6],2030:[4,8,4,20],2031:[3,28,4,10]},{name:"Sommerferien",2011:[7,4,8,13],2012:[6,25,8,4],2013:[6,24,8,3],2014:[7,14,8,23],2015:[7,20,8,29],2016:[7,25,9,3],2017:[7,24,9,2],2018:[7,9,8,18],2019:[7,1,8,10],2020:[6,29,8,8],2021:[6,21,7,31],2022:[7,4,8,13],2023:[7,17,8,26],2024:[7,22,8,31],2025:[7,28,9,6],2026:[7,4,8,15],2027:[7,3,8,14],2028:[6,24,8,4],2029:[6,23,8,3],2030:[7,8,8,17]},{name:"Herbstferien",2011:[10,10,10,22],2012:[10,4,10,19],2013:[10,4,10,18],2014:[10,13,10,25],2015:[10,19,10,31],2016:[10,17,10,29],2017:[10,16,10,27],2018:[10,1,10,19],2019:[10,4,10,18],2020:[10,5,10,17],2021:[10,4,10,16],2022:[10,10,10,21],2023:[10,16,10,27],2024:[10,21,11,1],2025:[10,20,10,30],2026:[10,12,10,24],2027:[10,11,10,23],2028:[10,16,10,30],2029:[10,8,10,19],2030:[10,14,10,25]},{name:"Weihnachtsferien",2011:[12,23,1,6],2012:[12,24,1,5],2013:[12,23,1,6],2014:[12,22,1,6],2015:[12,21,1,6],2016:[12,23,1,6],2017:[12,21,1,6],2018:[12,21,1,4],2019:[12,23,1,6],2020:[12,21,1,6],2021:[12,23,1,8],2022:[12,23,1,7],2023:[12,27,1,6],2024:[12,19,1,7],2025:[12,19,1,6],2026:[12,21,1,6],2027:[12,23,1,8],2028:[12,21,1,5],2029:[12,21,1,8],2030:[12,20,1,6]},{name:"Himmelfahrt",2011:[6,3,6,4],2012:[5,18,5,18],2013:[5,10,5,10],2014:[5,30,5,30],2015:[5,15,5,15],2016:[5,6,5,6],2017:[5,26,5,26],2018:[5,11,5,11],2019:[5,31,5,31],2020:[5,22,5,22],2021:[5,14,5,15],2022:[5,27,5,28],2023:[5,19,5,20],2024:[5,10,5,11],2025:[5,30,5,30],2026:[5,15,5,15],2027:[5,7,5,7],2028:[5,26,5,26],2029:[5,11,5,11],2030:[5,31,5,31],2031:[5,23,5,23]}]},Thüringen:{SH:[{name:"Winterferien",2012:[2,6,2,11],2013:[2,18,2,23],2014:[2,17,2,22],2015:[2,2,2,7],2016:[2,1,2,6],2017:[2,6,2,11],2018:[2,5,2,9],2019:[2,11,2,15],2020:[2,10,2,14],2021:[1,25,1,30],2022:[2,12,2,19],2023:[2,13,2,17],2024:[2,12,2,16],2025:[2,3,2,8],2026:[2,16,2,21],2027:[2,1,2,6],2028:[2,7,2,12],2029:[2,12,2,17],2030:[2,11,2,16]},{name:"Osterferien",2012:[4,2,4,13],2013:[3,25,4,6],2014:[4,19,5,2],2015:[3,30,4,11],2016:[3,24,4,2],2017:[4,10,4,21],2018:[3,26,4,7],2019:[4,15,4,27],2020:[4,6,4,18],2021:[3,29,4,10],2022:[4,11,4,23],2023:[4,3,4,15],2024:[3,25,4,6],2025:[4,7,4,19],2026:[4,7,4,17],2027:[3,22,4,3],2028:[4,3,4,15],2029:[3,26,4,7],2030:[4,8,4,20]},{name:"Pfingstferien",2012:[5,25,5,29],2013:[5,10,5,10],2014:[5,30,5,30],2015:[5,15,5,15],2016:[5,6,5,6],2017:[5,26,5,26],2018:[5,11,5,11],2019:[5,31,5,31]},{name:"Sommerferien",2012:[7,23,8,31],2013:[7,15,8,23],2014:[7,21,8,29],2015:[7,13,8,21],2016:[6,27,8,10],2017:[6,26,8,9],2018:[7,2,8,11],2019:[7,8,8,17],2020:[7,20,8,29],2021:[7,26,9,4],2022:[7,18,8,27],2023:[7,10,8,19],2024:[6,20,7,31],2025:[6,28,8,8],2026:[7,4,8,14],2027:[7,10,8,20],2028:[7,22,9,1],2029:[7,21,8,31],2030:[7,13,8,23]},{name:"Herbstferien",2012:[10,22,11,3],2013:[10,21,11,2],2014:[10,6,10,18],2015:[10,5,10,17],2016:[10,10,10,22],2017:[10,2,10,14],2018:[10,1,10,13],2019:[10,7,10,19],2020:[10,17,10,30],2021:[10,25,11,6],2022:[10,17,10,29],2023:[10,2,10,14],2024:[9,30,10,12],2025:[10,6,10,18],2026:[10,12,10,24],2027:[10,9,10,23],2028:[10,23,11,3],2029:[10,22,11,3]},{name:"Weihnachtsferien",2011:[12,23,1,1],2012:[12,24,1,5],2013:[12,23,1,4],2014:[12,22,1,3],2015:[12,23,1,2],2016:[12,23,12,31],2017:[12,22,1,5],2018:[12,21,1,4],2019:[12,21,1,3],2020:[12,23,1,2],2021:[12,23,12,31],2022:[12,22,1,3],2023:[12,22,1,5],2024:[12,23,1,3],2025:[12,22,1,3],2026:[12,23,1,2],2027:[12,23,12,31],2028:[12,23,1,5],2029:[12,22,1,4]},{name:"Schulfreier Tag",2020:[5,22,5,22],2021:[5,14,5,14],2022:[5,27,5,27],2023:[5,19,5,19],2024:[5,10,5,10],2025:[5,30,5,30],2026:[5,15,5,15],2027:[5,7,5,7],2028:[5,26,5,26],2029:[5,11,5,11],2030:[5,31,5,31]}]}},lL={PH:[{name:"Nytårsdag",fixed_date:[1,1]},{name:"Skærtorsdag",variable_date:"easter",offset:-3},{name:"Langfredag",variable_date:"easter",offset:-2},{name:"Påskedag",variable_date:"easter"},{name:"2. Påskedag",variable_date:"easter",offset:1},{name:"Store Bededag",variable_date:"easter",offset:26},{name:"Kristi Himmelfartsdag",variable_date:"easter",offset:39},{name:"Pinsedag",variable_date:"easter",offset:49},{name:"2. Pinsedag",variable_date:"easter",offset:50},{name:"Grundlovsdag",fixed_date:[6,5]},{name:"Juleaftensdag",fixed_date:[12,24]},{name:"Juledag",fixed_date:[12,25]},{name:"2. Juledag",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=55.670249&lon=10.3333283&zoom=18&addressdetails=1&accept-language=da,en"},uL={SH:[{name:"jõulupühad",2019:[12,23,1,5],2020:[12,23,1,10],2021:[12,23,1,9],2022:[12,22,1,8],2023:[12,21,1,7],2024:[12,23,1,5],2025:[12,22,1,11],2026:[12,23,1,10]},{name:"talvepuhkus",2020:[2,24,3,1],2021:[2,22,2,28],2022:[2,28,3,6],2023:[2,27,3,5],2024:[2,26,3,3],2025:[2,24,3,2],2026:[2,23,3,1],2027:[2,22,2,28]},{name:"kevadpühad",2020:[4,20,4,26],2021:[4,19,4,25],2022:[4,25,5,1],2023:[4,24,4,30],2024:[4,22,4,28],2025:[4,14,4,20],2026:[4,13,4,19],2027:[4,12,4,18]},{name:"suvepuhkus",2020:[6,10,8,31],2021:[6,14,8,31],2022:[6,14,8,31],2023:[6,14,8,31],2024:[6,13,8,31],2025:[6,10,8,31],2026:[6,17,8,31],2027:[6,14,8,31]},{name:"sügispuhkus",2020:[10,19,10,25],2021:[10,25,10,31],2022:[10,24,10,30],2023:[10,23,10,29],2024:[10,21,10,27],2025:[10,20,10,26],2026:[10,26,11,1]}]},cL={PH:[{name:"Cap d'Any",fixed_date:[1,1],only_states:["Cataluña"]},{name:"Año Nuevo",fixed_date:[1,1]},{name:"Reis",fixed_date:[1,6],only_states:["Cataluña"]},{name:"Epifanía del Señor",fixed_date:[1,6]},{name:"Día de Andalucía",fixed_date:[2,28],only_states:["Andalucía"]},{name:"Dia de les Illes Balears",fixed_date:[3,1],only_states:["Islas Baleares"]},{name:"Sant Josep",fixed_date:[3,19],only_states:["Comunidad Valenciana"]},{name:"San José",fixed_date:[3,19],only_states:["Murcia"]},{name:"Jueve Santo",variable_date:"easter",offset:-3,only_states:["Andalucía","Aragón","Castilla y León","Castilla-La Mancha","Canarias","Extremadura","Galicia","Islas Baleares","La Rioja","Comunidad de Madrid","Región de Murcia","Navarra","Asturias","País Vasco","Cantabria","Ceuta","Melilla"]},{name:"Divendres Sant",variable_date:"easter",offset:-2,only_states:["Cataluña","Comunidad Valenciana","Islas Baleares"]},{name:"Viernes Santo",variable_date:"easter",offset:-2},{name:"Dilluns de Pasqua Florida",variable_date:"easter",offset:1,only_states:["Cataluña","Comunidad Valenciana","Islas Baleares"]},{name:"Lunes de Pascua de Resurrección",variable_date:"easter",offset:1,only_states:["País Vasco","Navarra"]},{name:"Día de Aragón",fixed_date:[4,23],only_states:["Aragón"]},{name:"Día de Castilla y León",fixed_date:[4,23],only_states:["Castilla y León"]},{name:"Festa del Treball",fixed_date:[5,1],only_states:["Cataluña","Comunidad Valenciana","Islas Baleares"]},{name:"Fiesta del Trabajo",fixed_date:[5,1]},{name:"Fiesta de la Comunidad de Madrid",fixed_date:[5,2],only_states:["Comunidad de Madrid"]},{name:"Día das Letras Galegas",fixed_date:[5,2],only_states:["Galicia"]},{name:"Día de Canarias",fixed_date:[5,30],only_states:["Canarias"]},{name:"Día de la Región Castilla-La Mancha",fixed_date:[5,31],only_states:["Castilla-La Mancha"]},{name:"Día de la Región de Murcia",fixed_date:[6,9],only_states:["Región de Murcia"]},{name:"Día de la Rioja",fixed_date:[6,9],only_states:["La Rioja"]},{name:"San Antonio",fixed_date:[6,13],only_states:["Ceuta"]},{name:"Sant Joan",fixed_date:[6,24],only_states:["Cataluña"]},{name:"San Juan",fixed_date:[6,24],only_states:["Ceuta"]},{name:"Santiago Apóstol",fixed_date:[7,25],only_states:["Galicia"]},{name:"Santa María de África",fixed_date:[8,6],only_states:["Ceuta"]},{name:"l'Assumpció",fixed_date:[8,15],only_states:["Cataluña"]},{name:"Asunción de la Virgen",fixed_date:[8,15]},{name:"Día de Ceuta",fixed_date:[9,2],only_states:["Ceuta"]},{name:"Día de Asturias",fixed_date:[9,8],only_states:["Asturias"]},{name:"Día de Extremadura",fixed_date:[9,8],only_states:["Extremadura"]},{name:"Diada Nacional de Catalunya",fixed_date:[9,11],only_states:["Cataluña"]},{name:"Día de Cantabria",fixed_date:[9,17],only_states:["Cantabria"]},{name:"Día de Melilla",fixed_date:[9,15],only_states:["Melilla"]},{name:"Dia de la Comunitat Valenciana",fixed_date:[10,9],only_states:["Comunidad Valenciana"]},{name:"Festa Nacional d'Espanya",fixed_date:[10,12],only_states:["Cataluña"]},{name:"Fiesta Nacional de España",fixed_date:[10,12]},{name:"Euskadi Eguna",fixed_date:[10,25],only_states:["País Vasco"]},{name:"Tots Sants",fixed_date:[11,1],only_states:["Cataluña","Comunidad Valenciana","Islas Baleares"]},{name:"Todos los Santos",fixed_date:[11,1]},{name:"Día de la Constitución Española",fixed_date:[12,6]},{name:"La Puríssima",fixed_date:[12,8],only_states:["Cataluña","Comunidad Valenciana","Islas Baleares"]},{name:"La Immaculada Concepción",fixed_date:[12,8]},{name:"Nadal",fixed_date:[12,25],only_states:["Cataluña","Comunidad Valenciana","Islas Baleares"]},{name:"Natividad del Señor",fixed_date:[12,25]},{name:"Sant Esteve",fixed_date:[12,26],only_states:["Cataluña"]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.60333&lon=2.18920&zoom=18&addressdetails=1&limit=1&accept-language=es,ca,eu,gl,oc,ast",Almería:{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,6],2020:[12,24,1,6],2021:[12,24,1,6],2022:[12,24,1,6],2023:[12,23,1,7],2024:[12,24,1,6],2025:[12,24,1,6]},{name:"Día no lectivo",2020:[12,23,12,23],2021:[12,23,12,23],2022:[12,7,12,7],2023:[12,22,12,22],2024:[12,23,12,23],2025:[12,23,12,23],2026:[5,4,5,4]},{name:"Día de la Comunidad Educativa",2020:[2,27,2,27],2021:[3,2,3,2],2022:[3,1,3,1],2023:[2,27,2,27],2024:[2,29,2,29],2025:[2,27,2,27],2026:[2,27,2,27]},{name:"Vacaciones de Semana Santa",2020:[4,5,4,12],2021:[3,28,4,4],2022:[4,10,4,17],2023:[4,2,4,9],2024:[3,23,3,31],2025:[4,14,4,20],2026:[3,30,4,5]},{name:"Vacaciones de verano",2020:[6,24,9,9],2021:[6,23,9,9],2022:[6,23,9,11],2023:[6,23,9,10],2024:[6,22,9,9],2025:[6,24,9,9]},{name:"Fin de lecciones",2026:[6,23,6,23]}]},Andalucía:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=37.33999&lon=-4.58116&zoom=18&addressdetails=1&limit=1&accept-language=es,ca",_state_code:"an"},Aragón:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.37872&lon=-0.76393&zoom=18&addressdetails=1&limit=1&accept-language=es,ca",_state_code:"ar",SH:[{name:"Vacaciones de Navidad",2019:[12,20,1,6],2020:[12,22,1,6],2021:[12,23,1,7],2022:[12,22,1,6],2023:[12,22,1,5],2024:[12,20,1,6],2025:[12,20,1,6]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,13],2021:[3,29,4,2],2022:[4,11,4,18],2023:[4,3,4,10],2024:[3,28,4,5],2025:[4,14,4,21],2026:[3,30,4,6]},{name:"Vacaciones de verano",2020:[6,24,9,6],2021:[6,23,9,10],2022:[6,23,9,10],2023:[6,24,9,6],2024:[6,25,9,8],2025:[6,25,9,11]},{name:"Día no lectivo",2021:[12,7,12,7],2022:[12,5,12,5],2023:[12,7,12,7],2025:[11,3,11,3]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Asturias:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.27108&lon=-5.85414&zoom=18&addressdetails=1&limit=1&accept-language=es,ast",_state_code:"as",SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,8],2021:[12,24,1,7],2022:[12,27,1,5],2023:[12,26,1,5],2024:[12,23,1,7],2025:[12,22,1,7]},{name:"Día no lectivo",2020:[10,30,10,30],2021:[12,7,12,7],2022:[12,5,12,5],2023:[12,7,12,7],2024:[10,31,10,31],2025:[11,4,11,4],2026:[5,4,5,4]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,12],2021:[3,29,4,5],2022:[4,11,4,15],2023:[4,3,4,11],2024:[3,25,4,1],2025:[4,14,4,20],2026:[3,30,4,5]},{name:"Vacaciones de verano",2020:[6,24,9,21],2021:[7,1,9,7],2022:[6,25,9,11],2023:[6,24,9,10],2024:[6,22,9,8],2025:[6,21,9,7]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Cádiz:{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,6],2020:[12,24,1,10],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7]},{name:"Día no lectivo",2020:[5,4,5,4],2023:[3,1,3,1],2024:[2,27,2,27],2025:[10,13,10,13]},{name:"Día de la Comunidad Educativa",2020:[3,2,3,2],2021:[5,3,5,3],2022:[3,1,3,1],2023:[12,7,12,7],2025:[5,2,5,2],2026:[2,27,2,27]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,12],2021:[3,29,4,4],2022:[4,11,4,17],2023:[4,3,4,9],2024:[3,25,3,31],2025:[4,14,4,20],2026:[3,30,4,5]},{name:"Vacaciones de verano",2020:[6,24,9,9],2021:[6,23,9,9],2022:[6,23,9,11],2023:[6,23,9,10],2024:[6,25,9,9],2025:[6,24,9,9]},{name:"Fin de lecciones",2026:[6,23,6,23]}]},Canarias:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=28.29357&lon=-16.62144&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"cn",SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,6],2023:[12,25,1,5],2024:[12,23,1,7],2025:[12,22,1,7]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,10],2021:[3,29,4,2],2022:[4,11,4,15],2023:[4,3,4,7],2024:[3,25,3,29],2025:[4,14,4,18],2026:[3,30,4,5]},{name:"Vacaciones de verano",2020:[6,20,9,14],2021:[6,24,9,8],2022:[6,24,9,8],2023:[6,24,9,10],2024:[6,22,9,9],2025:[6,21,9,8]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Cantabria:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.13583&lon=-4.26363&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"cb",SH:[{name:"No lectivos",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,5],2023:[12,26,1,5],2024:[12,23,1,7],2025:[12,24,1,5],2026:[3,30,4,1]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},"Castilla y León":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.80371&lon=-4.74717&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"cl",SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,7],2020:[12,22,1,11],2021:[12,22,1,10],2022:[12,22,1,9],2023:[12,22,1,8],2024:[12,21,1,7],2025:[12,19,1,8]},{name:"Carnavales",2020:[2,24,2,25],2021:[2,15,2,16],2022:[2,28,3,1],2023:[2,20,2,21],2024:[2,12,2,13],2025:[3,3,3,4],2026:[2,16,2,17]},{name:"Día no lectivo",2020:[10,9,10,9],2021:[12,7,12,7],2022:[12,9,12,9],2023:[12,7,12,7],2024:[10,31,10,31],2025:[10,31,10,31],2026:[4,24,4,24]},{name:"Vacaciones de Semana Santa",2020:[4,3,4,14],2021:[3,25,4,6],2022:[4,6,4,18],2023:[3,29,4,10],2024:[3,22,4,3],2025:[4,12,4,22],2026:[3,26,4,7]},{name:"Vacaciones de verano",2020:[6,24,9,8],2021:[6,24,9,9],2022:[6,24,9,8],2023:[6,24,9,6],2024:[6,22,9,5],2025:[6,24,9,7]},{name:"Fin de lecciones",2026:[6,24,6,24]}]},"Castilla-La Mancha":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=39.41779&lon=-2.62323&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"cm",SH:[{name:"Descanso de Navidad",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,8],2023:[12,23,1,7],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"Días de libre disposición",2020:[2,24,2,25],2021:[2,15,2,15],2022:[2,28,3,1],2023:[2,20,2,21],2024:[2,12,2,13],2025:[3,3,3,4],2026:[2,16,2,17]},{name:"Día no lectivo",2020:[11,13,11,13],2021:[11,19,11,19],2022:[11,18,11,18],2023:[12,7,12,7],2024:[11,15,11,15],2025:[11,14,11,14],2026:[5,2,5,2]},{name:"Descanso de Semana Santa",2020:[4,6,4,13],2021:[3,29,4,5],2022:[4,11,4,18],2023:[4,3,4,10],2024:[3,25,4,1],2025:[4,14,4,21],2026:[3,30,4,6]},{name:"Vacaciones de verano",2020:[6,26,9,8],2021:[6,29,9,8],2022:[6,25,9,7],2023:[6,24,9,10],2024:[6,22,9,8],2025:[6,19,9,7]},{name:"Fin de lecciones",2026:[6,17,6,17]}]},Cataluña:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.85230&lon=1.57450&zoom=18&addressdetails=1&limit=1&accept-language=es,ca,oc",_state_code:"ct"},Catalunya:{SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,7],2020:[12,22,1,7],2021:[12,23,1,7],2022:[12,22,1,8],2023:[12,21,1,7],2024:[12,21,1,7],2025:[12,20,1,7]},{name:"Vacaciones de Semana Santa",2020:[4,4,4,13],2021:[3,27,4,5],2022:[4,11,4,18],2023:[4,3,4,10],2024:[3,23,4,1],2025:[4,12,4,21],2026:[3,28,4,6]},{name:"Vacaciones de verano",2020:[6,20,9,13],2021:[6,23,9,12],2022:[6,23,9,4],2023:[6,23,9,5],2024:[6,22,9,9],2025:[6,19,9,7]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Ceuta:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=35.89429&lon=-5.35568&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"ce",SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,5],2023:[12,25,1,5],2024:[12,23,1,7],2025:[12,22,1,7]},{name:"Día de libre disposición",2020:[5,25,5,25],2021:[12,7,12,7],2022:[12,5,12,5],2023:[12,7,12,7],2024:[4,10,4,10],2025:[5,2,5,2]},{name:"Días de libre disposición",2020:[4,1,4,3],2022:[4,4,4,8],2023:[4,20,4,21],2024:[3,18,3,22],2025:[4,7,4,11],2026:[5,25,5,26]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,8],2021:[3,29,4,11],2022:[4,11,4,15],2023:[4,3,4,5],2024:[3,25,3,29],2025:[4,14,4,18],2026:[3,30,4,3]},{name:"Vacaciones de verano",2020:[6,23,9,9],2021:[6,23,9,9],2022:[6,24,9,7],2023:[6,24,9,6],2024:[6,22,9,8],2025:[6,24,9,7]},{name:"Fin del Ramadán",2021:[5,13,5,14],2022:[5,3,5,3]},{name:"Fin de lecciones",2026:[6,23,6,23]}]},"Comunidad de Madrid":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=40.52483&lon=-3.77156&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"md",SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,6],2020:[12,23,1,6],2021:[12,23,1,6],2022:[12,23,1,8],2023:[12,23,1,7],2024:[12,21,1,6],2025:[12,20,1,6]},{name:"Día no lectivo",2020:[11,2,11,2],2021:[12,7,12,7],2022:[12,7,12,7],2023:[12,7,12,7],2024:[5,3,5,3],2025:[11,3,11,3],2026:[4,6,4,6]},{name:"Vacaciones de Pascua",2020:[4,4,4,12],2021:[3,27,4,4],2022:[4,9,4,17],2023:[4,1,4,9],2024:[3,23,3,31],2025:[4,12,4,20],2026:[3,28,4,5]},{name:"Vacaciones de verano",2020:[6,20,9,20],2021:[6,26,9,5],2022:[6,25,9,11],2023:[6,22,9,5],2024:[6,22,9,5],2025:[6,21,9,7]},{name:"Días de libre disposición",2020:[12,7,12,8],2021:[1,7,1,8],2024:[2,22,2,23]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},"Comunidad Valenciana":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=39.68195&lon=-0.76544&zoom=18&addressdetails=1&limit=1&accept-language=es,ca",_state_code:"vc"},"Comunitat Valenciana":{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,6],2020:[12,23,1,6],2021:[12,23,1,7],2022:[12,23,1,6],2023:[12,23,1,7],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"Vacaciones de Pascua",2020:[4,9,4,20],2021:[4,1,4,12],2022:[4,14,4,25],2023:[4,6,4,17],2024:[3,28,4,8],2025:[4,17,4,28],2026:[4,2,4,13]},{name:"Vacaciones de verano",2020:[6,19,9,6],2021:[6,24,9,7],2022:[6,22,9,11],2023:[6,22,9,10],2024:[6,22,9,8],2025:[6,19,9,7]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Córdoba:{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,9],2022:[12,23,1,8],2023:[12,23,1,7],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"Día de la Comunidad Educativa",2020:[3,2,3,2],2021:[2,26,2,26],2022:[2,25,2,25],2023:[2,27,2,27],2024:[2,27,2,27],2025:[2,27,2,27],2026:[3,2,3,2]},{name:"Vacaciones de Semana Santa",2020:[4,5,4,12],2021:[3,29,4,4],2022:[4,11,4,17],2023:[4,3,4,9],2024:[3,23,3,31],2025:[4,14,4,20],2026:[3,30,4,5]},{name:"Vacaciones de verano",2020:[6,24,9,9],2021:[6,23,9,9],2022:[6,25,9,11],2023:[6,24,9,10],2024:[6,23,9,1],2025:[6,25,8,31]},{name:"Día no lectivo",2021:[12,7,12,7],2022:[12,5,12,5],2023:[12,7,12,7],2024:[3,1,3,1],2025:[5,2,5,2],2026:[1,7,1,7]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},"Euskal Herria":{SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,6],2020:[12,24,1,6],2021:[12,24,1,6],2022:[12,24,1,6],2023:[12,23,1,7],2024:[12,24,1,6],2025:[12,24,1,6]},{name:"Vacaciones de Pascua",2020:[4,9,4,13],2021:[4,1,4,5],2022:[4,14,4,18],2023:[4,6,4,10],2024:[3,28,4,1],2025:[4,17,4,21],2026:[4,2,4,6]},{name:"Vacaciones de verano",2020:[6,20,9,7],2021:[6,19,9,7],2022:[6,22,9,7],2023:[6,22,9,6],2024:[6,22,9,29],2025:[5,16,9,4]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Extremadura:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=39.17484&lon=-6.15298&zoom=18&addressdetails=1&limit=1&accept-language=es,ast",_state_code:"ex",SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,8],2021:[12,23,1,7],2022:[12,23,1,5],2023:[12,22,1,5],2024:[12,23,1,7],2025:[12,23,1,7]},{name:"Día no lectivo",2020:[12,7,12,7],2021:[11,22,11,22],2022:[12,9,12,9],2023:[12,7,12,7],2024:[11,25,11,25],2025:[11,28,11,28]},{name:"Carnavales",2020:[2,24,2,25],2021:[2,15,2,16],2022:[2,28,3,1],2023:[2,20,2,21],2024:[2,12,2,13],2025:[3,3,3,4],2026:[2,16,2,17]},{name:"Vacaciones de Pascua",2020:[4,6,4,13],2021:[3,29,4,5],2022:[4,11,4,18],2023:[4,3,4,10],2024:[3,25,4,1],2025:[4,14,4,21],2026:[3,30,4,6]},{name:"Vacaciones de verano",2020:[6,18,9,9],2021:[6,19,9,9],2022:[6,22,9,11],2023:[6,23,9,10],2024:[6,21,9,10],2025:[6,24,9,10]},{name:"Día de la Comunitat Valenciana",2020:[10,9,10,9],2023:[10,9,10,9]},{name:"Fin de lecciones",2026:[7,23,7,23]}]},Galicia:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.61946&lon=-7.86311&zoom=18&addressdetails=1&limit=1&accept-language=es,gl",_state_code:"ga",SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,7],2020:[12,23,1,7],2021:[12,22,1,7],2022:[12,23,1,6],2023:[12,22,1,7],2024:[12,23,1,7],2025:[12,22,1,7]},{name:"Vacaciones de Pascua",2020:[4,4,4,13],2021:[3,27,4,5],2022:[4,11,4,18],2023:[4,3,4,10],2024:[3,25,4,1],2025:[4,14,4,21],2026:[3,30,4,6]},{name:"Vacaciones de verano",2020:[6,20,9,9],2021:[6,23,9,8],2022:[6,23,9,7],2023:[6,22,9,10],2024:[6,22,9,10],2025:[6,21,9,7]},{name:"Día de la Educación",2020:[12,7,12,7],2021:[10,11,10,11],2022:[10,31,10,31],2023:[12,7,12,7],2024:[10,31,10,31],2025:[10,31,10,31]},{name:"Carnavales",2021:[2,24,2,26],2022:[2,28,3,2],2023:[2,20,2,22],2024:[2,12,2,14],2025:[3,3,4,5],2026:[2,16,2,18]},{name:"Día no lectivo",2025:[11,3,11,3]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Granada:{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,24,1,6],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,24,1,6],2025:[12,22,1,6]},{name:"Día de la Comunidad Educativa",2020:[3,2,3,2],2021:[2,26,2,26],2022:[3,1,3,1],2023:[2,27,2,27],2024:[2,29,2,29],2025:[2,27,2,27],2026:[3,2,3,2]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,10],2021:[3,28,4,4],2022:[4,10,4,17],2023:[4,2,4,9],2024:[3,25,3,31],2025:[4,14,4,20],2026:[3,30,4,5]},{name:"Día no lectivo",2020:[5,4,5,4],2021:[12,7,12,7],2022:[10,31,10,31],2023:[12,7,12,7],2024:[3,1,3,1],2025:[11,3,11,3],2026:[6,5,6,5]},{name:"Vacaciones de verano",2020:[6,24,9,9],2021:[6,23,9,9],2022:[6,25,9,11],2023:[6,24,9,10],2024:[6,24,9,1],2025:[6,25,8,31]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},Huelva:{SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,6],2020:[12,23,1,6],2021:[12,23,1,9],2022:[12,23,1,8],2023:[12,23,1,7],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"Día de la Comunidad Educativa",2020:[3,2,3,2],2021:[2,26,2,26],2022:[2,25,2,25],2023:[11,2,11,2],2025:[3,3,3,3],2026:[3,2,3,2]},{name:"Vacaciones de Semana Santa",2020:[4,4,4,12],2021:[3,29,4,4],2022:[4,11,4,17],2023:[4,3,4,9],2024:[3,25,3,31],2025:[4,14,4,20],2026:[3,30,4,1]},{name:"Vacaciones de verano",2020:[6,24,9,9],2021:[6,23,9,9],2022:[6,24,9,11],2023:[6,24,9,10],2024:[6,26,9,9],2025:[6,25,9,9]},{name:"Día no lectivo",2025:[1,7,1,7],2026:[1,7,1,7]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},Huesca:{SH:[{name:"Día no lectivo",2020:[2,14,2,14],2021:[2,19,2,19],2022:[2,18,2,18],2023:[2,17,2,17],2024:[2,16,2,16],2025:[2,14,2,14],2026:[2,20,2,20]}]},"Illes Balears":{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,5],2023:[12,22,1,5],2024:[12,21,1,7],2025:[12,22,1,6]},{name:"Fiesta Escolar Unificada",2020:[2,28,2,28],2021:[2,26,2,26],2022:[2,28,2,28],2023:[2,28,2,28],2024:[2,29,2,29],2025:[2,28,2,28],2026:[2,27,2,27]},{name:"Vacaciones de Semana Santa",2020:[4,8,4,19],2021:[4,1,4,11],2022:[4,14,4,22],2023:[4,6,4,14],2024:[3,28,4,5],2025:[4,17,4,27],2026:[4,2,4,12]},{name:"Vacaciones de verano",2020:[6,20,9,9],2021:[6,23,9,9],2022:[6,24,9,11],2023:[6,24,9,10],2024:[6,22,9,10],2025:[6,28,9,9]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},"Islas Baleares":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=39.61340&lon=2.88043&zoom=18&addressdetails=1&limit=1&accept-language=es,ca",_state_code:"ib"},Jaén:{SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,7],2020:[12,23,1,10],2021:[12,23,1,9],2022:[12,23,1,8],2023:[12,25,1,7],2024:[12,23,1,7],2025:[12,23,1,7]},{name:"Día de la Comunidad Educativa",2020:[3,2,3,2],2021:[5,3,5,3],2022:[3,1,3,1],2023:[2,27,2,27],2024:[2,29,2,29],2025:[3,3,3,3],2026:[3,2,3,2]},{name:"Vacaciones de Semana Santa",2020:[4,4,4,12],2021:[3,27,4,4],2022:[4,11,4,17],2023:[4,3,4,9],2024:[3,25,3,31],2025:[4,14,4,20],2026:[3,30,4,5]},{name:"Vacaciones de verano",2020:[6,24,9,9],2021:[6,24,9,9],2022:[6,24,9,11],2023:[6,23,9,10],2024:[6,24,9,1],2025:[6,25,9,1]},{name:"Día no lectivo",2023:[12,7,12,7],2025:[5,2,5,2]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},"La Rioja":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.32855&lon=-2.46749&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"ri",SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,8],2021:[12,23,1,7],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,23,1,6],2025:[12,23,1,7]},{name:"Día de la Comunidad Educativa",2020:[2,24,2,24],2021:[2,15,2,15],2022:[3,11,3,11],2023:[3,10,3,10],2024:[2,17,2,17],2025:[2,28,2,28],2026:[2,27,2,27]},{name:"Vacaciones de Pascua",2020:[4,9,4,17],2021:[4,1,4,9],2022:[4,11,4,15],2023:[4,1,4,10],2024:[3,28,4,7],2025:[4,17,4,25],2026:[3,30,4,6]},{name:"Vacaciones de verano",2020:[6,23,9,6],2021:[6,23,9,5],2022:[6,25,9,7],2023:[6,24,9,6],2024:[6,22,9,5],2025:[6,20,9,8]},{name:"Día no lectivo",2021:[12,7,12,7],2022:[10,31,10,31],2023:[12,7,12,7],2025:[5,2,5,2],2026:[6,8,6,8]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},Málaga:{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,6],2020:[12,23,1,6],2021:[12,24,1,6],2022:[12,24,1,8],2023:[12,25,1,5],2024:[12,23,1,5],2025:[12,22,1,5]},{name:"Semana Blanca",2020:[2,24,2,28],2021:[2,22,2,26],2022:[2,28,3,4],2023:[2,27,3,3],2024:[2,26,3,1],2025:[2,24,2,26],2026:[2,23,2,26]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,12],2021:[3,29,4,4],2022:[4,11,4,15],2023:[4,3,4,7],2024:[3,25,3,29],2025:[4,14,4,20],2026:[3,30,4,1]},{name:"Vacaciones de verano",2020:[6,25,9,9],2021:[6,25,9,9],2022:[6,25,9,11],2023:[6,24,9,10],2024:[6,25,9,9],2025:[6,25,9,4]},{name:"Día de la Comunidad Educativa",2022:[1,7,1,7],2025:[2,27,2,27],2026:[2,27,2,27]},{name:"Fin de lecciones",2026:[6,23,6,23]}]},Melilla:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=35.29186&lon=-2.94090&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"ml",SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,7],2020:[12,23,1,5],2021:[12,23,1,7],2022:[12,23,1,5],2023:[12,23,1,6],2024:[12,23,1,7],2025:[12,20,1,7]},{name:"Días de libre disposición",2020:[4,1,4,3],2021:[3,22,3,26],2022:[4,4,4,8],2023:[3,27,3,31],2024:[3,18,3,22],2025:[4,7,4,11],2026:[3,23,3,27]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,10],2021:[3,29,4,2],2022:[4,11,4,15],2023:[4,3,4,7],2024:[3,25,3,29],2025:[4,14,4,18],2026:[3,30,4,1]},{name:"Día de libre disposición",2020:[12,7,12,7],2021:[12,7,12,7],2022:[12,5,12,5],2023:[12,7,12,7],2025:[5,2,5,2],2026:[5,2,5,2]},{name:"Vacaciones de verano",2020:[6,23,9,7],2021:[6,19,9,6],2022:[6,23,9,5],2023:[6,22,9,6],2024:[6,22,9,8],2025:[6,24,9,9]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},"Nafarroako Foru Komunitatea":{SH:[{name:"Vacaciones de Navidad",2019:[12,21,1,7],2020:[12,23,1,8],2021:[12,23,1,9],2022:[12,23,1,8],2023:[12,23,1,7],2024:[12,21,1,7],2025:[12,20,1,7]},{name:"Vacaciones de Pascua",2020:[4,9,4,19],2021:[4,1,4,11],2022:[4,14,4,24],2023:[4,6,4,16],2024:[3,28,4,7],2025:[4,17,4,27],2026:[4,2,4,12]},{name:"Vacaciones de verano",2020:[6,20,9,8],2021:[6,23,9,7],2022:[6,23,9,6],2023:[6,21,9,6],2024:[6,19,9,4],2025:[6,21,9,3]},{name:"Festividad patronal del nivel educativo",2020:[11,27,11,27],2022:[11,28,11,28],2023:[11,27,11,27],2024:[11,27,11,27],2025:[11,27,11,27]},{name:"Fin de lecciones",2026:[6,19,6,19]}]},Navarra:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.61254&lon=-1.83078&zoom=18&addressdetails=1&limit=1&accept-language=es,eu",_state_code:"nc"},"País Vasco":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.99118&lon=-2.55430&zoom=18&addressdetails=1&limit=1&accept-language=es,eu",_state_code:"pv"},"Región de Murcia":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=38.06343&lon=-1.67180&zoom=18&addressdetails=1&limit=1&accept-language=es",_state_code:"mc",SH:[{name:"Vacaciones de Navidad",2019:[12,24,1,6],2020:[12,24,1,6],2021:[12,24,1,6],2022:[12,24,1,6],2023:[12,24,1,6],2024:[12,24,1,6],2025:[12,24,1,6]},{name:"Vacaciones de Pascua",2020:[4,6,4,10],2021:[3,29,4,2],2022:[4,11,4,15],2023:[4,3,4,7],2024:[3,25,4,1],2025:[4,14,4,21],2026:[3,30,4,6]},{name:"Vacaciones de verano",2020:[6,24,9,6],2021:[6,24,9,6],2022:[6,24,9,7],2023:[6,24,9,6],2024:[6,20,9,8],2025:[6,25,9,7]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},Sevilla:{SH:[{name:"Vacaciones de Navidad",2019:[12,23,1,6],2020:[12,23,1,6],2021:[12,23,1,7],2022:[12,23,1,6],2023:[12,25,1,7],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"Día de la Comunidad Educativa",2020:[3,2,3,2],2021:[2,26,2,26],2022:[2,25,2,25],2023:[2,27,2,27],2024:[2,27,2,27],2025:[2,27,2,27],2026:[2,27,2,27]},{name:"Vacaciones de Semana Santa",2020:[4,6,4,12],2021:[3,29,4,4],2022:[4,11,4,17],2023:[4,3,4,9],2024:[3,25,3,31],2025:[4,14,4,20],2026:[3,30,4,5]},{name:"Vacaciones de verano",2020:[6,25,9,9],2021:[6,22,9,9],2022:[6,25,9,11],2023:[6,24,9,10],2024:[6,25,9,1],2025:[6,25,9,2]},{name:"Día no lectivo",2025:[1,7,1,7],2026:[1,7,1,7]},{name:"Fin de lecciones",2026:[6,22,6,22]}]},Teruel:{SH:[{name:"Día no lectivo",2020:[2,21,2,21],2021:[2,19,2,19],2022:[2,18,2,18],2023:[2,17,2,17],2024:[2,16,2,16],2025:[2,14,2,14],2026:[2,20,2,20]}]},Zaragoza:{SH:[{name:"Día no lectivo",2020:[10,14,10,14],2021:[10,13,10,13],2022:[10,10,10,10],2023:[3,2,3,2],2024:[10,11,10,11],2025:[10,10,10,10],2026:[4,24,4,24]}]}},dL={PH:[{name:"uudenvuodenpäivä - nyårsdagen",fixed_date:[1,1]},{name:"loppiainen - trettondedagen",fixed_date:[1,6]},{name:"pitkäperjantai - långfredagen",variable_date:"easter",offset:-2},{name:"pääsiäispäivä - påskdagen",variable_date:"easter"},{name:"toinen pääsiäispäivä - annandag påsk",variable_date:"easter",offset:1},{name:"vappu - första maj",fixed_date:[5,1]},{name:"helatorstai - Kristi himmelsfärdsdag",variable_date:"easter",offset:39},{name:"helluntai - pingst",variable_date:"easter",offset:49},{name:"juhannuspäivä - midsommardagen",variable_date:"nextSaturday20Jun"},{name:"pyhäinpäivä - alla helgons dag",variable_date:"nextSaturday31Oct"},{name:"itsenäisyyspäivä - självständighetsdagen",fixed_date:[12,6]},{name:"joulupäivä - juldagen",fixed_date:[12,25]},{name:"toinen joulupäivä - annandag jul",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=63.4965&lon=26.8429&zoom=18&addressdetails=1&accept-language=fi,sv,en"},hL={PH:[{name:"Jour de l'an",fixed_date:[1,1]},{name:"Vendredi saint",variable_date:"easter",offset:-2,only_states:["Moselle","Bas-Rhin","Haut-Rhin","Guadeloupe","Martinique","Polynésie française"]},{name:"Lundi de Pâques",variable_date:"easter",offset:1},{name:"Abolition de l'esclavage (Mayotte)",fixed_date:[4,27],only_states:["Mayotte"]},{name:"Saint-Pierre-Chanel",fixed_date:[4,28],only_states:["Wallis-et-Futuna"]},{name:"Fête du Travail",fixed_date:[5,1]},{name:"Fête de la Victoire",fixed_date:[5,8]},{name:"Abolition de l'esclavage (Martinique)",fixed_date:[5,22],only_states:["Martinique"]},{name:"Abolition de l'esclavage (Guadeloupe)",fixed_date:[5,27],only_states:["Guadeloupe"]},{name:"Abolition de l'esclavage (Saint-Martin)",fixed_date:[5,28],only_states:["Saint-Martin (France)"]},{name:"Jeudi de l'Ascension",variable_date:"easter",offset:39},{name:"Lundi de Pentecôte",variable_date:"easter",offset:50},{name:"Abolition de l'esclavage (Guyane)",fixed_date:[6,10],only_states:["Guyane"]},{name:"Fête de l'autonomie",fixed_date:[6,29],only_states:["Polynésie française"]},{name:"Fête nationale",fixed_date:[7,14]},{name:"Fête Victor Schoelcher",fixed_date:[7,21],only_states:["Guadeloupe","Martinique"]},{name:"Fête du Territoire",fixed_date:[7,29],only_states:["Wallis-et-Futuna"]},{name:"Assomption",fixed_date:[8,15]},{name:"Fête de la citoyenneté",fixed_date:[9,24],only_states:["Nouvelle-Calédonie"]},{name:"Abolition de l'esclavage (Saint-Barthélemy)",fixed_date:[10,9],only_states:["Saint-Barthélemy"]},{name:"Toussaint",fixed_date:[11,1]},{name:"Armistice",fixed_date:[11,11]},{name:"Abolition de l'esclavage (Réunion)",fixed_date:[12,20],only_states:["Réunion"]},{name:"Noël",fixed_date:[12,25]},{name:"Saint-Étienne ",fixed_date:[12,26],only_states:["Moselle","Bas-Rhin","Haut-Rhin"]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=46.60333&lon=1.88920&zoom=18&addressdetails=1&accept-language=fr,en","Auvergne-Rhône-Alpes":{SH:[{name:"Vacances d'hiver",2018:[2,11,2,25],2019:[2,17,3,3],2021:[2,7,2,21],2022:[2,13,2,27],2023:[2,5,2,19],2024:[2,18,3,3],2025:[2,23,3,9],2026:[2,8,2,22],2027:[2,14,2,28]},{name:"Vacances de printemps",2018:[4,8,4,22],2019:[4,14,4,28],2020:[4,19,5,3],2021:[4,11,4,25],2022:[4,17,5,1],2023:[4,9,4,23],2024:[4,14,4,28],2025:[4,20,5,4],2026:[4,5,4,19],2027:[4,11,4,25]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Bourgogne-Franche-Comté":{SH:[{name:"Vacances d'hiver",2018:[2,11,2,25],2019:[2,17,3,3],2021:[2,7,2,21],2022:[2,13,2,27],2023:[2,5,2,19],2024:[2,18,3,3],2025:[2,23,3,9],2026:[2,8,2,22],2027:[2,14,2,28]},{name:"Vacances de printemps",2018:[4,8,4,22],2019:[4,14,4,28],2020:[4,19,5,3],2021:[4,11,4,25],2022:[4,17,5,1],2023:[4,9,4,23],2024:[4,14,4,28],2025:[4,20,5,4],2026:[4,5,4,19],2027:[4,11,4,25]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},Bretagne:{SH:[{name:"Vacances d'hiver",2018:[2,25,3,11],2019:[2,10,2,24],2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2018:[4,22,5,6],2019:[4,7,4,22],2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Centre-Val de Loire":{SH:[{name:"Vacances d'hiver",2018:[2,25,3,11],2019:[2,10,2,24],2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2018:[4,22,5,6],2019:[4,7,4,22],2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},Corse:{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4]},{name:"Vacances d'hiver",2020:[2,16,3,1],2021:[2,14,2,28],2022:[2,20,3,6],2023:[2,19,3,5],2024:[2,25,3,10],2025:[2,16,3,2],2026:[2,15,3,1]},{name:"Vacances de printemps",2020:[4,19,5,3],2021:[4,11,4,25],2022:[4,24,5,8],2023:[4,16,5,1],2024:[4,28,5,12],2025:[4,13,4,27],2026:[4,12,4,26]},{name:"Pont de l'Ascension",2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21]},{name:"Vacances d'été",2020:[7,5,9,2],2021:[7,9,9,2],2022:[7,9,8,1],2023:[7,8,9,4],2024:[7,7,9,2],2025:[7,6,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2]},{name:"Fin des cours",2026:[7,4,7,4]}]},"Grand Est":{SH:[{name:"Vacances d'hiver",2018:[2,25,3,11],2019:[2,10,2,24],2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2018:[4,22,5,6],2019:[4,7,4,22],2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},Guadeloupe:{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4]},{name:"Vacances de Carnaval",2020:[2,16,3,1],2021:[2,10,2,21],2022:[2,20,3,6],2023:[2,12,2,26],2025:[2,23,3,9],2026:[2,8,2,22]},{name:"Vacances de Pâques",2020:[4,9,4,22],2021:[3,28,4,11],2022:[4,10,4,24],2023:[4,2,4,26],2025:[4,18,5,4],2026:[4,18,5,4]},{name:"Semaine en Mai",2020:[5,22,5,23],2021:[5,29,5,29],2022:[5,23,5,25],2024:[5,10,5,11],2025:[5,30,5,31],2026:[5,15,5,16]},{name:"Vacances d'été",2020:[7,5,8,31],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,23,11,3],2025:[10,19,11,2]},{name:"Fin des cours",2026:[7,4,7,4]}]},Guyane:{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4]},{name:"Vacances de Carnaval",2020:[2,16,3,1],2021:[2,14,2,28],2022:[2,20,3,6],2024:[2,11,2,25],2025:[2,23,3,9],2026:[2,8,2,22]},{name:"Vacances de Pâques",2020:[4,10,4,27],2021:[4,2,4,18],2022:[4,15,5,1],2024:[4,21,5,2],2025:[4,18,5,4],2026:[4,2,4,15]},{name:"Pont de l'Ascension",2020:[5,23,5,24],2021:[5,14,5,15],2022:[5,27,5,28],2023:[5,14,5,21],2024:[5,10,5,11],2025:[5,30,5,31]},{name:"Vacances d'été",2020:[7,5,8,31],2021:[7,4,9,1],2023:[7,9,9,3],2025:[7,6,8,31]},{name:"Vacances de la Toussaint",2020:[10,25,11,8],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2]},{name:"Vacances d'hiver",2023:[2,19,3,5]},{name:"Semaine en Mai",2026:[5,15,5,16]},{name:"Fin des cours",2026:[7,4,7,4]}]},"Hauts-de-France":{SH:[{name:"Vacances d'hiver",2018:[2,25,3,11],2019:[2,10,2,24],2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2018:[4,22,5,6],2019:[4,7,4,22],2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Île-de-France":{SH:[{name:"Vacances d'hiver",2018:[2,18,3,4],2019:[2,24,3,10],2020:[2,9,2,23],2021:[2,14,2,28],2022:[2,20,3,6],2023:[2,19,3,5],2024:[2,11,2,25],2025:[2,16,3,2],2026:[2,22,3,8],2027:[2,7,2,21]},{name:"Vacances de printemps",2018:[4,15,4,29],2019:[4,21,5,5],2020:[4,5,4,19],2021:[4,11,4,25],2022:[4,24,5,8],2023:[4,23,5,8],2024:[4,7,4,21],2025:[4,13,4,27],2026:[4,19,5,3],2027:[4,4,4,18]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"La Réunion":{SH:[{name:"Vacances d'été austral",2019:[12,20,1,26],2020:[12,20,1,24],2021:[12,19,1,23],2022:[12,18,1,22],2023:[12,20,1,21],2024:[12,20,1,20],2025:[12,20,1,20],2026:[12,20,1,31]},{name:"Vacances après troisième période",2020:[3,9,3,22],2021:[3,7,3,21],2022:[3,13,3,27],2023:[3,12,3,26],2024:[3,3,3,17],2025:[3,2,3,16],2026:[3,1,3,15],2027:[3,17,3,29]},{name:"Vacances après quatrième période",2020:[5,1,5,13],2021:[5,5,5,16],2022:[5,15,5,29],2023:[5,14,5,29],2024:[5,5,5,20],2025:[5,4,5,18],2026:[5,3,5,17],2027:[5,6,5,18]},{name:"Vacances d'hiver austral",2020:[7,5,8,16],2021:[7,8,8,15],2022:[7,10,8,15],2023:[7,9,8,16],2024:[7,7,8,18],2025:[7,6,8,18],2026:[7,5,8,17],2027:[7,11,8,15]},{name:"Vacances après première période",2020:[10,11,10,25],2021:[10,10,10,24],2022:[10,9,10,23],2023:[10,15,10,29],2024:[10,13,10,27],2025:[10,12,10,26],2026:[10,11,10,24]}]},Martinique:{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4]},{name:"Vacances de Carnaval",2020:[2,23,3,8],2021:[2,7,2,21],2022:[2,20,3,6],2023:[2,12,2,26],2024:[2,11,2,25],2025:[2,23,3,9],2026:[2,8,2,22]},{name:"Vacances de Pâques",2020:[4,5,4,19],2021:[3,28,4,11],2022:[4,10,4,24],2023:[4,2,4,16],2024:[3,24,4,7],2025:[4,13,4,27],2026:[3,28,4,12]},{name:"Pas de cours",2020:[5,22,5,23],2021:[5,14,5,15],2022:[5,27,5,28],2023:[5,19,5,20],2024:[5,10,5,11],2025:[5,30,5,31],2026:[5,15,5,16]},{name:"Vacances d'été",2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31]},{name:"Vacances de la Toussaint",2020:[10,25,11,8],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2]},{name:"Fin des cours",2026:[7,4,7,4]}]},Mayotte:{SH:[{name:"Vacances de Noël",2019:[12,15,1,12],2020:[12,13,1,10],2021:[12,12,1,9],2022:[12,11,1,8],2023:[12,17,1,14],2024:[12,15,1,12],2025:[12,14,1,11]},{name:"Vacances de février",2020:[3,1,3,15],2021:[2,28,3,14],2022:[2,27,3,13],2023:[2,19,3,5],2024:[2,25,3,10],2025:[3,2,3,16],2026:[3,2,3,8]},{name:"Vacances de Pâques",2020:[5,3,5,10],2021:[5,2,5,16],2022:[5,1,5,15],2023:[4,23,5,7],2024:[4,28,5,12],2025:[4,27,5,11],2026:[4,26,5,11]},{name:"Vacances d'été",2020:[7,5,8,23],2021:[7,7,8,23],2022:[7,6,8,23],2023:[7,8,8,22],2024:[7,7,8,25],2025:[7,5,8,22]},{name:"Vacances de la Toussaint",2020:[10,11,10,25],2021:[10,10,10,24],2022:[10,9,10,23],2023:[10,15,10,29],2024:[10,13,10,27],2025:[10,12,10,26]},{name:"Fin des cours",2026:[7,4,8,21]}]},Normandie:{SH:[{name:"Vacances d'hiver",2018:[2,25,3,11],2019:[2,10,2,24],2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2018:[4,22,5,6],2019:[4,7,4,22],2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Nouvelle-Aquitaine":{SH:[{name:"Vacances d'hiver",2018:[2,11,2,25],2019:[2,17,3,3],2021:[2,7,2,21],2022:[2,13,2,27],2023:[2,5,2,19],2024:[2,18,3,3],2025:[2,23,3,9],2026:[2,8,2,22],2027:[2,14,2,28]},{name:"Vacances de printemps",2018:[4,8,4,22],2019:[4,14,4,28],2020:[4,19,5,3],2021:[4,11,4,25],2022:[4,17,5,1],2023:[4,9,4,23],2024:[4,14,4,28],2025:[4,20,5,4],2026:[4,5,4,19],2027:[4,11,4,25]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},Occitanie:{SH:[{name:"Vacances d'hiver",2018:[2,18,3,4],2019:[2,24,3,10],2020:[2,9,2,23],2021:[2,14,2,28],2022:[2,20,3,6],2023:[2,19,3,5],2024:[2,11,2,25],2025:[2,16,3,2],2026:[2,22,3,8]},{name:"Vacances de printemps",2018:[4,15,4,29],2019:[4,21,5,5],2020:[4,5,4,19],2021:[4,11,4,25],2022:[4,24,5,8],2023:[4,23,5,8],2024:[4,7,4,21],2025:[4,13,4,27],2026:[4,19,5,3],2027:[4,4,4,18]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Pays de la Loire":{SH:[{name:"Vacances d'hiver",2018:[2,25,3,11],2019:[2,10,2,24],2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2018:[4,22,5,6],2019:[4,7,4,22],2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Provence-Alpes-Côte d'Azur":{SH:[{name:"Vacances d'hiver",2018:[2,25,3,11],2019:[2,10,2,24],2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2018:[4,22,5,6],2019:[4,7,4,22],2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2018:[5,10,5,10],2019:[5,30,6,2],2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2018:[7,8,9,2],2019:[7,7,9,1],2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2018:[10,21,11,4],2019:[10,20,11,3],2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances de Noël",2018:[12,23,1,6],2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Saint-Barthélemy":{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4]},{name:"Vacances de Carnaval",2020:[2,16,3,1],2021:[2,10,2,21],2022:[2,20,3,6],2023:[2,12,2,26],2025:[2,23,3,9],2026:[2,8,2,22]},{name:"Vacances de Pâques",2020:[4,9,4,22],2021:[3,28,4,11],2022:[4,10,4,24],2023:[4,2,4,26],2025:[4,18,5,4],2026:[4,18,5,4]},{name:"Semaine en Mai",2020:[5,22,5,23],2024:[5,10,5,11],2025:[5,30,5,31],2026:[5,15,5,16]},{name:"Vacances d'été",2020:[7,5,8,31],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,23,11,3],2025:[10,19,11,2]},{name:"Fin des cours",2026:[7,4,7,4]}]},"Saint-Martin":{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4]},{name:"Vacances de Carnaval",2020:[2,16,3,1],2021:[2,10,2,21],2022:[2,20,3,6],2023:[2,12,2,26],2025:[2,23,3,9],2026:[2,8,2,22]},{name:"Vacances de Pâques",2020:[4,9,4,22],2021:[3,28,4,11],2022:[4,10,4,24],2023:[4,2,4,26],2025:[4,18,5,4],2026:[4,18,5,4]},{name:"Semaine en Mai",2020:[5,22,5,23],2021:[5,29,5,29],2022:[5,23,5,25],2024:[5,10,5,11],2025:[5,30,5,31]},{name:"Vacances d'été",2020:[7,5,8,31],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,23,11,3],2025:[10,19,11,2]},{name:"Fin des cours",2026:[7,4,7,4]}]},"Saint-Pierre-et-Miquelon":{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4]},{name:"Pont de l'Ascension",2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2025:[5,28,6,1]},{name:"Vacances d'été",2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,23,11,3],2025:[10,19,11,2]},{name:"Vacances de printemps",2021:[4,11,4,25],2025:[4,19,5,4]},{name:"Vacances d'hiver",2025:[2,23,3,9]},{name:"Fin des cours",2026:[7,4,7,4]}]},"Zone A":{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Vacances de printemps",2020:[4,19,5,3],2021:[4,11,4,25],2022:[4,17,5,1],2023:[4,9,4,23],2024:[4,14,4,28],2025:[4,20,5,4],2026:[4,5,4,19],2027:[4,11,4,25]},{name:"Pont de l'Ascension",2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Vacances d'hiver",2021:[2,7,2,21],2022:[2,13,2,27],2023:[2,5,2,19],2024:[2,18,3,3],2025:[2,23,3,9],2026:[2,8,2,22],2027:[2,14,2,28]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Zone B":{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Vacances d'hiver",2020:[2,16,3,1],2021:[2,21,3,7],2022:[2,6,2,20],2023:[2,12,2,26],2024:[2,25,3,10],2025:[2,9,2,23],2026:[2,15,3,1],2027:[2,21,3,7]},{name:"Vacances de printemps",2020:[4,12,5,26],2021:[4,11,4,25],2022:[4,10,4,24],2023:[4,16,5,1],2024:[4,21,5,5],2025:[4,6,4,21],2026:[4,12,4,26],2027:[4,18,5,2]},{name:"Pont de l'Ascension",2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Fin des cours",2027:[7,3,7,3]}]},"Zone C":{SH:[{name:"Vacances de Noël",2019:[12,22,1,5],2020:[12,20,1,3],2021:[12,19,1,2],2022:[12,18,1,2],2023:[12,24,1,7],2024:[12,22,1,5],2025:[12,21,1,4],2026:[12,20,1,3]},{name:"Vacances d'hiver",2020:[2,9,2,23],2021:[2,14,2,28],2022:[2,20,3,6],2023:[2,19,3,5],2024:[2,11,2,25],2025:[2,16,3,2],2026:[2,22,3,8],2027:[2,7,2,21]},{name:"Vacances de printemps",2020:[4,5,4,19],2021:[4,11,4,25],2022:[4,24,5,8],2023:[4,23,5,8],2024:[4,7,4,21],2025:[4,13,4,27],2026:[4,19,5,3],2027:[4,4,4,18]},{name:"Pont de l'Ascension",2020:[5,21,5,24],2021:[5,13,5,16],2022:[5,26,5,29],2023:[5,18,5,21],2027:[5,6,5,9]},{name:"Vacances d'été",2020:[7,5,8,31],2021:[7,7,9,1],2022:[7,8,8,31],2023:[7,9,9,3],2024:[7,7,9,1],2025:[7,6,8,31],2026:[7,5,8,31]},{name:"Vacances de la Toussaint",2020:[10,18,11,1],2021:[10,24,11,7],2022:[10,23,11,6],2023:[10,22,11,5],2024:[10,20,11,3],2025:[10,19,11,2],2026:[10,18,11,1]},{name:"Fin des cours",2027:[7,3,7,3]}]}},pL={England:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=51.5073219&lon=-0.1276474&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year’s Day",fixed_date:[1,1]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Early May bank holiday",variable_date:"firstMayMonday"},{name:"Spring bank holiday",variable_date:"lastMayMonday"},{name:"Summer bank holiday",variable_date:"lastAugustMonday"},{name:"Christmas",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},"Northern Ireland":{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=54.5950675&lon=-5.9298401&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year’s Day",fixed_date:[1,1]},{name:"St Patrick’s Day",variable_date:"nextMo-Fr17March"},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Early May bank holiday",variable_date:"firstMayMonday"},{name:"Spring bank holiday",variable_date:"lastMayMonday"},{name:"Battle of the Boyne",variable_date:"nextMo-Fr12July"},{name:"Summer bank holiday",variable_date:"lastAugustMonday"},{name:"Christmas",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},Scotland:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=55.9557307&lon=-3.1976026&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year’s Day",fixed_date:[1,1]},{name:"2nd January",fixed_date:[1,2]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Early May bank holiday",variable_date:"firstMayMonday"},{name:"Spring bank holiday",variable_date:"lastMayMonday"},{name:"Summer bank holiday",variable_date:"lastAugustMonday"},{name:"St. Andrew’s Day",variable_date:"nextMo-Fr30November"},{name:"Christmas",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]},Wales:{_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=52.2928116&lon=-3.73893&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year’s Day",fixed_date:[1,1]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Early May bank holiday",variable_date:"firstMayMonday"},{name:"Spring bank holiday",variable_date:"lastMayMonday"},{name:"Summer bank holiday",variable_date:"lastAugustMonday"},{name:"Christmas",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}]}},mL={PH:[{name:"Πρωτοχρονιά",fixed_date:[1,1]},{name:"Θεοφάνια",fixed_date:[1,6]},{name:"Καθαρά Δευτέρα",variable_date:"orthodox easter",offset:-48},{name:"25η Μαρτίου",fixed_date:[3,25]},{name:"Μεγάλη Παρασκευή",variable_date:"orthodox easter",offset:-2},{name:"Πάσχα",variable_date:"orthodox easter",offset:0},{name:"Δευτέρα του Πάσχα",variable_date:"orthodox easter",offset:1},{name:"Πρωτομαγιά",fixed_date:[5,1]},{name:"Κοίμηση της Θεοτόκου",fixed_date:[8,15]},{name:"28η Οκτωβρίου",fixed_date:[10,28]},{name:"Χριστούγεννα",fixed_date:[12,25]},{name:"2η μέρα Χριστουγέννων",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Greece&&zoom=18&addressdetails=1&limit=1&accept-language=el,en"},fL={PH:[{name:"Nova godina",fixed_date:[1,1]},{name:"Sveta tri kralja",fixed_date:[1,6]},{name:"Uskršnji ponedjeljak",variable_date:"easter",offset:1},{name:"Praznik rada",fixed_date:[5,1]},{name:"Tijelovo",variable_date:"easter",offset:60},{name:"Dan antifašističke borbe",fixed_date:[6,22]},{name:"Dan pobjede i domovinske zahvalnosti",fixed_date:[8,5]},{name:"Velika Gospa",fixed_date:[8,15]},{name:"Svi sveti",fixed_date:[11,1]},{name:"Dan sjećanja na žrtve Domovinskog rata",fixed_date:[11,18]},{name:"Božić",fixed_date:[12,25]},{name:"Sveti Stjepan",fixed_date:[12,26]}],SH:[{name:"Zimski odmor",2019:[12,23,1,3],2025:[12,24,1,9]},{name:"Zimski odmor (prvi dio)",2019:[12,23,1,3],2020:[12,24,1,8],2021:[12,24,1,7],2022:[12,27,1,5],2023:[12,27,1,5],2024:[12,23,1,6]},{name:"Zimski odmor (drugi dio)",2020:[2,24,2,28],2021:[2,23,2,26],2022:[2,21,2,25],2023:[2,20,2,24],2024:[2,19,2,23],2025:[2,24,2,28]},{name:"Proljetni odmor",2020:[4,10,4,17],2021:[4,2,4,9],2022:[4,14,4,22],2023:[4,6,4,14],2024:[3,28,4,5],2025:[4,17,4,25],2026:[3,30,4,6]},{name:"Ljetni odmor",2020:[6,18,9,6],2021:[6,21,9,5],2022:[6,23,9,4],2023:[6,23,9,3],2024:[6,24,9,1],2025:[6,19,8,31],2026:[6,15,8,31]},{name:"Jesenski odmor",2020:[11,2,11,3],2021:[11,2,11,3],2022:[10,31,11,1],2023:[10,30,11,1],2024:[10,31,11,1]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lon=15.977&lat=45.813&zoom=18&addressdetails=1&accept-language=hr,en"},gL={PH:[{name:"újév",fixed_date:[1,1]},{name:"az 1848-as forradalom ünnepe",fixed_date:[3,15]},{name:"nagypéntek",variable_date:"easter",offset:-2},{name:"húsvétvasárnap",variable_date:"easter"},{name:"húsvéthétfő",variable_date:"easter",offset:1},{name:"pünkösdvasárnap",variable_date:"easter",offset:49},{name:"pünkösdhétfő",variable_date:"easter",offset:50},{name:"a munka ünnepe",fixed_date:[5,1]},{name:"az államalapítás ünnepe",fixed_date:[8,20]},{name:"az 1956-os forradalom ünnepe",fixed_date:[10,23]},{name:"mindenszentek",fixed_date:[11,1]},{name:"karácsony",fixed_date:[12,25]},{name:"karácsony másnap",fixed_date:[12,26]}],SH:[{name:"Őszi szünet",2014:[10,23,11,2],2015:[10,23,11,1],2016:[10,29,11,6],2017:[10,28,11,5],2018:[10,27,11,4],2019:[10,26,11,3],2020:[10,22,11,1],2021:[10,23,11,1],2022:[10,29,11,6],2023:[10,28,11,5],2024:[10,26,11,3],2025:[10,23,11,2]},{name:"Téli szünet",2014:[12,20,1,4],2015:[12,19,1,3],2016:[12,22,1,2],2017:[12,23,1,2],2018:[12,22,1,2],2019:[12,23,1,5],2020:[12,18,1,3],2021:[12,22,1,2],2022:[12,22,1,8],2023:[12,21,1,7],2024:[12,21,1,5],2025:[12,20,1,4]},{name:"Tavaszi szünet",2015:[4,2,4,7],2016:[3,24,3,29],2017:[4,13,4,18],2018:[3,29,4,3],2019:[4,18,4,23],2020:[4,9,4,14],2021:[3,31,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,29,4,7],2025:[4,17,4,27],2026:[4,2,4,12]},{name:"Nyári szünet",2015:[6,16,8,31],2016:[6,16,8,31],2017:[6,16,8,31],2018:[6,16,9,2],2019:[6,15,9,1],2020:[6,16,8,31],2021:[6,16,8,31],2022:[6,16,8,31],2023:[6,16,8,31],2024:[6,16,8,31],2025:[6,21,8,31],2026:[6,20,8,31]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=47.4821&lon=19.0640&zoom=18&addressdetails=1&accept-language=hu,en"},yL={PH:[{name:"New Year’s Day",fixed_date:[1,1]},{name:"St Patrick’s Day",fixed_date:[3,17]},{name:"St Patrick’s Day",variable_date:"nextMo-Fr17March"},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"May Bank Holiday",variable_date:"firstMayMonday"},{name:"June Bank Holiday",variable_date:"firstJuneMonday"},{name:"August Bank Holiday",variable_date:"firstAugustMonday"},{name:"October Bank Holiday (Halloween)",variable_date:"lastOctoberMonday"},{name:"Christmas",fixed_date:[12,25]},{name:"St Stephen’s Day",fixed_date:[12,26]},{name:"Bank Holiday",fixed_date:[12,27]}],SH:[{name:"Christmas",2019:[12,20,1,5],2020:[12,22,1,5],2021:[12,22,1,5],2022:[12,21,1,4],2023:[12,22,1,7],2024:[12,20,1,5],2025:[12,19,1,4]},{name:"February mid-term break",2020:[2,20,2,21],2021:[2,18,2,19],2022:[2,24,2,25],2023:[2,16,2,17],2024:[2,15,2,16],2025:[2,20,2,21],2026:[2,19,2,20]},{name:"Easter",2020:[4,3,4,19],2021:[3,26,4,11],2022:[4,8,4,24],2023:[3,31,4,16],2024:[3,22,4,7],2025:[4,11,4,27],2026:[3,27,4,12]},{name:"October mid-term break",2020:[10,26,10,30],2021:[10,25,10,29],2022:[10,31,11,4],2023:[10,30,11,3],2024:[10,28,11,1],2025:[10,27,10,31]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=53.1424&lon=-7.6921&zoom=18&addressdetails=1&accept-language=ga,en"},_L={PH:[{name:"Capodanno",fixed_date:[1,1]},{name:"Epifania",fixed_date:[1,6]},{name:"Liberazione dal nazifascismo (1945)",fixed_date:[4,25]},{name:"Pasqua",variable_date:"easter"},{name:"Lunedì di Pasqua",variable_date:"easter",offset:1},{name:"Festa del lavoro",fixed_date:[5,1]},{name:"Festa della Repubblica",fixed_date:[6,2]},{name:"Assunzione di Maria",fixed_date:[8,15]},{name:"Ognissanti",fixed_date:[11,1]},{name:"Immacolata Concezione",fixed_date:[12,8]},{name:"Natale di Gesù",fixed_date:[12,25]},{name:"Santo Stefano",fixed_date:[12,26]}],SH:[{name:"festività pasquali",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19]},{name:"vacanza galleggiante",2020:[4,24,4,24]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.9808038&lon=12.7662312&zoom=18&addressdetails=1&accept-language=it,en",Abruzzo:{SH:[{name:"festività natalizie",2019:[12,24,1,6],2020:[12,24,1,5],2021:[12,24,1,5],2022:[12,24,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[11,2,11,2],2022:[10,31,10,31],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,9,9,24],2021:[6,11,9,12],2022:[6,9,9,11],2023:[6,11,9,12],2024:[6,8,9,15],2025:[6,8,9,14]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,9,6,9]}]},Basilicata:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,24,1,5],2021:[12,24,1,5],2022:[12,24,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[11,2,11,2],2022:[11,2,11,2],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,12,9,24],2021:[6,12,9,12],2022:[6,9,9,11],2023:[6,11,9,12],2024:[6,8,9,15],2025:[6,11,9,14]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"vacanze galleggianti",2024:[4,26,4,27],2025:[3,3,3,4]},{name:"Fine delle lezioni",2026:[6,10,6,10]}]},Bolzano:{SH:[{name:"festività natalizie",2019:[12,21,1,6],2020:[12,24,1,5],2021:[12,24,1,8],2022:[12,24,1,5],2023:[12,27,1,5],2024:[12,24,1,6],2025:[12,24,1,6]},{name:"vacanza galleggiante",2020:[11,2,11,2],2021:[11,2,11,2],2022:[11,2,11,2],2023:[5,29,5,29],2024:[5,20,5,20],2025:[6,9,6,9],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,17,9,7],2021:[6,17,9,5],2022:[6,17,9,4],2023:[6,17,9,4],2024:[6,14,9,4],2025:[6,14,9,7]},{name:"vacanze galleggianti",2020:[11,3,11,7],2021:[11,3,11,6],2022:[12,9,12,10],2023:[11,1,11,3],2024:[10,26,11,3],2025:[3,1,3,9],2026:[2,14,2,22]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,8]},{name:"Fine delle lezioni",2026:[6,16,6,16]}]},Calabria:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,24,1,6],2022:[12,23,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[11,2,11,2],2022:[10,31,10,31],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26],2026:[5,2,5,2]},{name:"vacanze estive",2020:[6,10,9,24],2021:[6,13,9,19],2022:[6,10,9,13],2023:[6,11,9,13],2024:[6,8,9,15],2025:[6,8,9,15]},{name:"vacanze galleggianti",2022:[12,9,12,10],2024:[4,26,4,27],2025:[5,2,5,3]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,8,6,8]}]},Campania:{SH:[{name:"festività natalizie",2019:[12,21,1,6],2020:[12,23,1,5],2021:[12,23,1,8],2022:[12,23,1,5],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[11,2,11,2],2022:[11,2,11,2],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26]},{name:"vacanze estive",2020:[6,7,9,24],2021:[6,13,9,14],2022:[6,9,9,12],2023:[6,11,9,12],2024:[6,8,9,15],2025:[6,8,9,14]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"vacanze galleggianti",2024:[2,12,2,13],2025:[5,2,5,3],2026:[2,16,2,17]},{name:"Fine delle lezioni",2026:[6,6,6,6]}]},"Emilia-Romagna":{SH:[{name:"festività natalizie",2019:[12,24,1,6],2020:[12,24,1,5],2021:[12,24,1,5],2022:[12,24,1,5],2023:[12,24,1,5],2024:[12,24,1,6],2025:[12,24,1,6]},{name:"vacanze estive",2020:[6,7,9,14],2021:[6,6,9,12],2022:[6,5,9,14],2023:[6,8,9,14],2024:[6,6,9,15],2025:[6,7,9,14]},{name:"vacanza galleggiante",2020:[11,2,11,2],2021:[11,2,11,2],2022:[11,2,11,2],2023:[11,2,11,2],2024:[11,2,11,2]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,6,6,6]}]},"Friuli Venezia Giulia":{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,24,1,5],2021:[12,24,1,5],2022:[12,24,1,7],2023:[12,27,1,5],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[2,17,2,17],2022:[10,31,10,31],2023:[4,24,4,24],2024:[11,2,11,2],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,11,9,16],2021:[6,11,9,15],2022:[6,12,9,11],2023:[6,11,9,12],2024:[6,8,9,15],2025:[6,8,9,10]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"vacanze galleggianti",2024:[2,12,2,14],2025:[3,3,3,5],2026:[2,16,2,18]},{name:"Fine delle lezioni",2026:[6,9,6,9]}]},Lazio:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,23,1,6],2022:[12,23,1,5],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanze estive",2020:[6,8,9,14],2021:[6,9,9,12],2022:[6,9,9,14],2023:[6,9,9,14],2024:[6,8,9,15],2025:[6,8,9,14]},{name:"vacanza galleggiante",2020:[12,7,12,7]},{name:"vacanze galleggianti",2021:[5,31,6,1]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,8,6,8]}]},Liguria:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,24,1,5],2021:[12,24,1,8],2022:[12,23,1,7],2023:[12,27,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2023:[4,24,4,24],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,11,9,14],2021:[6,10,9,14],2022:[6,11,9,13],2023:[6,11,9,13],2024:[6,8,9,15],2025:[6,11,9,14]},{name:"vacanze galleggianti",2022:[6,3,6,4],2024:[4,29,4,30],2025:[5,2,5,3],2026:[2,16,2,17]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,21],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,11,6,11]}]},Lombardia:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,23,1,5],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanza galleggiante",2020:[2,29,2,29],2021:[11,2,11,2],2022:[3,1,3,1]},{name:"vacanze estive",2020:[6,8,9,14],2021:[6,9,9,12],2022:[6,9,9,11],2023:[6,9,9,11],2024:[6,8,9,15],2025:[6,8,9,11]},{name:"vacanze galleggianti",2021:[2,19,2,20],2022:[3,4,3,5],2023:[2,24,2,25],2024:[2,12,2,13],2025:[3,3,3,4],2026:[2,16,2,17]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,21],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,8,6,8]}]},Marche:{SH:[{name:"festività natalizie",2019:[12,24,1,6],2020:[12,24,1,5],2021:[12,24,1,5],2022:[12,24,1,7],2023:[12,24,1,6],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanze estive",2020:[6,7,9,14],2021:[6,6,9,14],2022:[6,5,9,13],2023:[6,11,9,12],2024:[6,6,9,15],2025:[6,8,9,14]},{name:"vacanza galleggiante",2020:[11,2,11,2],2021:[11,2,11,2],2022:[11,2,11,2],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"vacanze galleggianti",2023:[11,1,11,3],2024:[4,26,4,27],2025:[5,2,5,3]},{name:"Fine delle lezioni",2026:[6,6,6,6]}]},Molise:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,23,1,8],2022:[12,23,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[11,2,11,2],2021:[11,2,11,2],2022:[11,2,11,2],2023:[12,9,12,9],2024:[12,7,12,7],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,7,9,14],2021:[6,6,9,14],2022:[6,9,9,13],2023:[6,11,9,13],2024:[6,8,9,15],2025:[6,8,9,14]},{name:"vacanze galleggianti",2022:[12,9,12,10],2024:[4,29,4,30],2025:[5,2,5,3]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,9,6,9]}]},Piemonte:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,24,1,8],2022:[12,24,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[2,17,2,17],2022:[3,1,3,1],2023:[12,9,12,9],2024:[11,2,11,2],2025:[3,1,3,1],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,11,9,14],2021:[6,12,9,12],2022:[6,9,9,11],2023:[6,11,9,10],2024:[6,8,9,15],2025:[6,8,9,9]},{name:"vacanze galleggianti",2022:[12,9,12,10],2024:[4,26,4,27],2025:[5,2,5,3],2026:[2,14,2,17]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,10,6,10]}]},Puglia:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,23,1,9],2022:[12,23,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[12,2,12,2],2021:[11,2,11,2],2022:[10,31,10,31],2023:[12,9,12,9],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,11,9,24],2021:[6,12,9,19],2022:[6,10,9,13],2023:[6,11,9,13],2024:[6,7,9,15],2025:[6,8,9,15]},{name:"vacanze galleggianti",2022:[12,9,12,10],2024:[2,12,2,13]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,9,6,9]}]},Sardegna:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,23,1,5],2022:[12,23,1,5],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanza galleggiante",2020:[11,2,11,2],2021:[11,2,11,2],2022:[11,2,11,2],2023:[11,2,11,2],2024:[11,2,11,2],2025:[4,28,4,28],2026:[5,2,5,2]},{name:"vacanze estive",2020:[6,7,9,22],2021:[6,13,9,13],2022:[6,9,9,13],2023:[6,11,9,13],2024:[6,7,9,15],2025:[6,8,9,14]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"vacanze galleggianti",2024:[2,13,2,13],2025:[3,3,3,4]},{name:"Fine delle lezioni",2026:[6,8,6,8]}]},Sicilia:{SH:[{name:"festività natalizie",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,6],2022:[12,23,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"vacanze estive",2020:[6,7,9,14],2021:[6,9,9,15],2022:[6,11,9,18],2023:[6,11,9,12],2024:[6,8,9,15],2025:[6,8,9,14]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"vacanza galleggiante",2023:[11,2,11,2],2024:[11,2,11,2]},{name:"Fine delle lezioni",2026:[6,9,6,9]}]},Toscana:{SH:[{name:"festività natalizie",2019:[12,24,1,6],2020:[12,24,1,5],2021:[12,24,1,5],2022:[12,24,1,5],2023:[12,24,1,5],2024:[12,24,1,6],2025:[12,24,1,6]},{name:"vacanze estive",2020:[6,11,9,14],2021:[6,11,9,14],2022:[6,11,9,14],2023:[6,11,9,14],2024:[6,10,9,15],2025:[6,11,9,14]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,10,6,10]}]},Trento:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,24,1,5],2021:[12,23,1,6],2022:[12,23,1,5],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[11,2,11,2],2022:[10,31,10,31],2023:[12,9,12,9],2024:[11,2,11,2],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,11,9,14],2021:[6,11,9,12],2022:[6,11,9,11],2023:[6,10,9,10],2024:[6,11,9,8],2025:[6,13,9,9]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,18,4,26],2026:[4,2,4,8]},{name:"vacanze galleggianti",2024:[2,8,2,13],2025:[5,1,5,3],2026:[2,16,2,18]},{name:"Fine delle lezioni",2026:[6,10,6,10]}]},Umbria:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,23,1,5],2021:[12,23,1,6],2022:[12,23,1,7],2023:[12,22,1,5],2024:[12,23,1,6],2025:[12,22,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[11,2,11,2],2022:[10,31,10,31],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,10,9,14],2021:[6,10,9,12],2022:[6,10,9,13],2023:[6,11,9,12],2024:[6,8,9,15],2025:[6,8,9,14]},{name:"vacanze galleggianti",2021:[5,31,6,1]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,9,6,9]}]},"Valle d'Aosta":{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,24,1,5],2021:[12,23,1,8],2022:[12,24,1,7],2023:[12,24,1,7],2024:[12,23,1,6],2025:[12,24,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[2,17,2,17],2022:[3,1,3,1],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,13,9,14],2021:[6,9,9,12],2022:[6,9,9,18],2023:[6,16,9,10],2024:[6,6,9,15],2025:[6,11,9,9]},{name:"vacanze galleggianti",2023:[1,30,1,31],2024:[4,26,4,27],2025:[5,2,5,3],2026:[2,16,2,18]},{name:"festività pasquali",2023:[4,6,4,11],2024:[3,28,4,1],2025:[4,17,4,21],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,10,6,10]}]},Veneto:{SH:[{name:"festività natalizie",2019:[12,23,1,6],2020:[12,24,1,5],2021:[12,24,1,8],2022:[12,24,1,7],2023:[12,23,1,5],2024:[12,23,1,6],2025:[12,24,1,6]},{name:"vacanza galleggiante",2020:[12,7,12,7],2021:[2,17,2,17],2022:[10,31,10,31],2023:[12,9,12,9],2024:[11,2,11,2],2025:[4,26,4,26],2026:[6,1,6,1]},{name:"vacanze estive",2020:[6,7,9,14],2021:[6,6,9,12],2022:[6,9,9,11],2023:[6,11,9,12],2024:[6,8,9,15],2025:[6,8,9,9]},{name:"vacanze galleggianti",2022:[12,9,12,10],2024:[4,26,4,27],2025:[5,2,5,3],2026:[2,16,2,18]},{name:"festività pasquali",2023:[4,6,4,8],2024:[3,28,4,2],2025:[4,17,4,19],2026:[4,2,4,7]},{name:"Fine delle lezioni",2026:[6,6,6,6]}]}},vL={PH:[{name:"元日",fixed_date:[1,1]},{name:"成人の日",variable_date:"firstJanuaryMonday",offset:7},{name:"建国記念の日",fixed_date:[2,11]},{name:"天皇誕生日",fixed_date:[2,23]},{name:"昭和の日",fixed_date:[4,29]},{name:"憲法記念日",fixed_date:[5,3]},{name:"みどりの日",fixed_date:[5,4]},{name:"こどもの日",fixed_date:[5,5]},{name:"海の日",variable_date:"firstJulyMonday",offset:14},{name:"山の日",fixed_date:[8,11]},{name:"敬老の日",variable_date:"firstSeptemberMonday",offset:14},{name:"スポーツの日",variable_date:"firstNovemberMonday",offset:7},{name:"文化の日",fixed_date:[11,3]},{name:"勤労感謝の日",fixed_date:[11,23]},{name:"春分の日",variable_date:"springEquinox"},{name:"秋分の日",variable_date:"autumnalEquinox"}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=35.39291572&lon=139.44288869&zoom=18&addressdetails=1&accept-language=ja,en"},bL={SH:[{name:"Winterferien",2019:[12,21,1,6],2020:[12,24,1,6],2021:[12,24,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,6],2025:[12,24,1,6],2026:[12,24,1,6]},{name:"Sommerferien",2020:[7,4,8,16],2021:[7,3,8,15],2022:[7,2,8,16],2023:[7,8,8,20],2024:[7,6,8,18],2025:[7,5,8,17],2026:[7,4,8,16]},{name:"Herbstferien",2020:[10,3,10,18],2021:[10,2,10,17],2022:[10,1,10,16],2023:[10,7,10,22],2024:[10,5,10,20],2025:[10,4,10,19],2026:[10,3,10,18]},{name:"Sportferien",2020:[2,22,3,1],2021:[2,13,2,21],2022:[2,26,3,6],2023:[2,18,2,26],2024:[2,10,2,18],2025:[3,1,3,9],2026:[2,14,2,22]},{name:"Schulfrei",2020:[6,12,6,12],2021:[6,4,6,4],2022:[6,17,6,17],2023:[6,9,6,9],2024:[5,31,5,31],2025:[6,20,6,20],2026:[6,5,6,5]},{name:"Frühlingsferien",2020:[4,10,4,26],2021:[4,2,4,18],2022:[4,13,5,1],2023:[4,7,4,23],2024:[3,29,4,14],2025:[4,18,5,4],2026:[4,3,4,19]}]},wL={SH:[{name:"Žiemos atostogos",2019:[12,23,1,3],2020:[12,23,1,5],2021:[12,27,1,7],2022:[12,27,1,6],2023:[12,27,1,5],2024:[12,27,1,3],2025:[12,24,1,4],2026:[12,23,1,3],2027:[2,15,2,21]},{name:"Pavasario atostogos",2020:[4,14,4,17],2021:[4,6,4,9],2022:[4,19,4,22],2023:[4,11,4,14],2024:[4,2,4,5],2025:[4,22,4,25],2026:[4,6,4,12],2027:[3,29,4,4]},{name:"Atgal į mokyklą",2020:[9,1,9,1],2021:[9,1,9,1],2022:[9,1,9,1],2023:[9,1,9,1],2024:[9,1,9,1],2025:[9,1,9,1],2026:[9,1,9,1],2027:[9,1,9,1]},{name:"Rudens atostogos",2020:[10,26,10,30],2021:[11,3,11,5],2022:[10,31,11,4],2023:[10,30,11,3],2024:[10,28,10,31],2025:[11,3,11,9],2026:[11,2,11,8]}]},xL={PH:[{name:"Neijoerschdag - Neujahr - Nouvel An",fixed_date:[1,1]},{name:"Ouschterméindeg - Ostermontag - Lundi de Pâques",variable_date:"easter",offset:1},{name:"Dag vun der Aarbecht - Tag der Arbeit - Premier Mai",fixed_date:[5,1]},{name:"Europadag - Europatag - Journée de l'Europe",fixed_date:[5,1]},{name:"Christi Himmelfaart - Christi Himmelfahrt - Ascension",variable_date:"easter",offset:39},{name:"Péngschtméindeg - Pfingstmontag - Lundi de Pentecôte",variable_date:"easter",offset:50},{name:"Nationalfeierdag - Nationalfeiertag - Fête nationale",fixed_date:[6,23]},{name:"Mariä Himmelfaart - Maria Himmelfahrt - Assomption",fixed_date:[8,15]},{name:"Allerhellgen - Weihnachten - Allerheiligen - Toussaint",fixed_date:[11,1]},{name:"Chrëschtdag - Noël",fixed_date:[12,25]},{name:"Stiefesdag - Zweiter Weihnachtsfeiertag - St. Etienne",fixed_date:[12,26]}],SH:[{name:"Vacances de Noël",2019:[12,21,1,5],2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3]},{name:"Congé de Carnaval",2020:[2,15,2,23],2021:[2,13,2,21],2022:[2,12,2,20],2023:[2,11,2,19],2024:[2,10,2,18],2025:[2,15,2,23],2026:[2,14,2,22],2027:[2,6,2,14]},{name:"Vacances de Pâques",2020:[4,4,4,19],2021:[4,3,4,22],2022:[4,2,4,18],2023:[4,1,4,16],2024:[3,30,4,14],2025:[4,5,4,20],2026:[3,28,4,12],2027:[3,27,4,11]},{name:"Congé de la Pentecôte",2020:[5,30,6,7],2021:[5,22,5,30],2022:[5,21,5,29],2023:[5,27,6,4],2024:[5,25,6,2],2025:[5,24,6,1],2026:[5,23,5,31],2027:[5,29,6,6]},{name:"Vacances d’été",2020:[7,16,9,14],2021:[7,16,9,14],2022:[7,16,9,14],2023:[7,15,9,14],2024:[7,16,9,15],2025:[7,16,9,14],2026:[7,16,9,14],2027:[7,16,9,14]},{name:"Congé de la Toussaint",2020:[10,31,11,8],2021:[10,30,11,7],2022:[10,29,11,6],2023:[10,28,11,5],2024:[10,26,11,3],2025:[11,1,11,9],2026:[10,31,11,8]}],_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Luxembourg&zoom=18&addressdetails=1&limit=1&accept-language=lb,fr,de,en"},SL={SH:[{name:"Ziemas brīvdienas",2019:[12,23,1,3],2020:[12,21,1,1],2021:[12,22,1,4],2022:[12,26,1,6],2023:[12,25,1,5],2024:[12,23,1,5]},{name:"Pavasara brīvdienas",2020:[3,16,3,20],2021:[3,15,3,19],2022:[3,14,3,18],2023:[3,13,3,17],2024:[3,11,3,15],2025:[3,10,3,16]},{name:"Vasaras brīvdienas",2020:[6,1,8,31],2021:[6,1,8,31],2022:[6,1,8,31],2023:[6,1,8,31],2024:[6,1,8,31],2025:[5,31,8,31]},{name:"Rudens brīvdienas",2020:[10,19,10,23],2021:[10,18,10,22],2022:[10,24,10,28],2023:[10,23,10,27],2024:[10,21,10,27]}]},kL={SH:[{name:"Vacances de Noël",2019:[12,21,1,5],2020:[12,19,1,3],2021:[12,18,1,2],2022:[12,17,1,2],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4]},{name:"Vacances d’hiver",2020:[2,15,3,1],2021:[2,20,3,7],2022:[2,5,2,20],2023:[2,11,2,26],2024:[2,24,3,10],2025:[2,8,2,23],2026:[2,14,3,1]},{name:"Vacances de printemps",2020:[4,11,4,26],2021:[4,10,4,25],2022:[4,9,4,24],2023:[4,15,5,1],2024:[4,20,5,5],2025:[4,5,4,21],2026:[4,11,4,26]},{name:"Grand Prix historique",2020:[5,8,5,8],2022:[5,13,5,15]},{name:"Grand Prix de Formule 1 et Pentecôte",2020:[5,21,5,24],2021:[5,15,5,24],2022:[5,26,5,29],2023:[5,25,5,29],2024:[5,23,5,26],2025:[5,22,5,25],2026:[5,21,5,25]},{name:"Vacances d’été",2020:[6,27,9,6],2021:[7,1,9,5],2022:[7,2,9,4],2023:[7,1,9,10],2024:[6,29,9,8],2025:[6,28,9,7],2026:[6,27,9,6]},{name:"Vacances de la Toussaint",2020:[10,22,11,2],2021:[10,28,11,7],2022:[10,22,11,2],2023:[10,21,11,1],2024:[10,24,11,3],2025:[10,23,11,2]}]},CL={SH:[{name:"Vacanţa de iarnă",2019:[12,25,1,8],2020:[12,25,1,10],2021:[12,25,1,9],2022:[12,24,1,8],2023:[12,23,1,8],2024:[12,25,1,8],2025:[12,25,1,8]},{name:"Vacanţa de primăvară",2020:[3,5,3,8],2021:[3,5,3,8],2022:[3,5,3,8],2023:[3,8,3,12],2024:[3,8,3,12],2025:[3,3,3,9],2026:[3,5,3,8]},{name:"Vacanţa de Paşti",2020:[4,18,4,27],2021:[5,1,5,10],2022:[4,23,5,2],2023:[4,15,4,24],2024:[5,4,5,13],2025:[4,19,4,28],2026:[4,11,4,20]},{name:"Vacanţa de vară",2020:[6,1,8,31],2021:[6,1,8,31],2022:[6,1,8,31],2023:[6,1,8,31],2024:[6,1,8,31],2025:[6,1,8,31],2026:[5,30,8,31]},{name:"Vacanţa de toamnă",2020:[10,24,11,1],2021:[10,27,10,31],2022:[10,26,10,30],2023:[11,1,11,5],2024:[10,28,11,3],2025:[10,27,11,2]}]},EL={SH:[{name:"Vaganzi tal-Milied",2019:[12,23,1,6],2020:[12,23,1,6],2021:[12,23,1,6],2022:[12,23,1,6],2023:[12,23,1,6],2024:[12,23,1,6],2025:[12,23,1,6]},{name:"Festi tal-Karnival",2020:[2,24,2,25],2021:[2,15,2,17],2022:[2,28,3,2],2023:[2,20,2,21],2024:[2,12,2,14],2025:[3,1,3,4],2026:[2,16,2,17]},{name:"Vaganzi tal-Għid",2020:[4,8,4,15],2021:[3,31,4,7],2022:[4,13,4,20],2023:[4,5,4,12],2024:[3,27,4,3],2025:[4,16,4,23],2026:[4,1,4,8]},{name:"Kumpens għall-vaganzi fi tmiem il-ġimgħa",2020:[4,16,4,17],2021:[4,8,4,9],2022:[5,2,5,2],2023:[4,13,4,14],2024:[12,12,12,12],2025:[5,30,5,30],2026:[4,9,4,10]},{name:"Vaganzi tas-sajf",2020:[6,29,9,29],2021:[6,29,9,28],2022:[6,30,9,27],2023:[6,28,9,26],2024:[6,28,9,24],2025:[6,27,9,23],2026:[7,1,9,29]},{name:"Btajjel ta' nofs it-terminu",2020:[11,2,11,4],2021:[11,1,11,3],2022:[10,31,11,2],2023:[11,1,11,3],2024:[11,1,11,5],2025:[11,3,11,5]}]},ML={SH:[{name:"Receso de invierno",2019:[12,23,1,7],2020:[12,21,1,5],2021:[12,20,12,31],2022:[12,19,12,30],2023:[12,18,1,2],2024:[12,19,1,3],2025:[12,22,1,6]},{name:"Receso de primavera",2020:[4,6,4,17],2021:[3,29,4,9],2022:[4,11,4,22],2023:[4,3,4,14],2024:[3,25,4,5],2025:[4,14,4,25],2026:[3,30,4,10]},{name:"Receso de clases",2020:[7,7,8,23],2021:[7,10,8,29],2022:[7,29,8,28],2023:[7,27,8,27],2024:[7,17,8,25],2025:[7,16,8,31]},{name:"Fin de lecciones",2026:[7,15,7,15]}]},AL={PH:[{name:"New Year’s Day",fixed_date:[1,1]},{name:"Independence Day",fixed_date:[3,21]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Worker’s Day",fixed_date:[5,1]},{name:"Cassinga Day",fixed_date:[5,4]},{name:"Ascension Day",variable_date:"easter",offset:39},{name:"Africa Day",fixed_date:[5,25]},{name:"Heroes’ Day",fixed_date:[8,26]},{name:"Human Rights Day",fixed_date:[12,10]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Family Day",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/search?format=json&country=Namibia&zoom=18&addressdetails=1&limit=1"},TL={PH:[{name:"Nieuwjaarsdag",fixed_date:[1,1]},{name:"Goede vrijdag",variable_date:"easter",offset:-2},{name:"Tweede Paasdag",variable_date:"easter",offset:1},{name:"Koningsdag",fixed_date:[4,27]},{name:"Bevrijdingsdag",fixed_date:[5,5]},{name:"Hemelvaartsdag",variable_date:"easter",offset:39},{name:"Tweede Pinksterdag",variable_date:"easter",offset:50},{name:"Eerste Kerstdag",fixed_date:[12,25]},{name:"Tweede Kerstdag",fixed_date:[12,26]}],MI:{SH:[{name:"Kerstvakantie",2019:[12,21,1,5],2020:[12,19,1,3],2021:[12,25,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,25,1,9],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Voorjaarsvakantie",2020:[2,22,3,1],2021:[2,20,2,28],2022:[2,26,3,6],2023:[2,25,3,5],2024:[2,17,2,25],2025:[2,22,3,2],2026:[2,14,2,22],2027:[2,20,2,28],2028:[2,26,3,5],2029:[2,17,2,25],2030:[2,23,3,3]},{name:"Meivakantie",2020:[4,25,5,3],2021:[5,1,5,9],2022:[4,30,5,8],2023:[4,29,5,7],2024:[4,27,5,5],2025:[4,26,5,4],2026:[4,25,5,3],2027:[4,24,5,2],2028:[4,29,5,7],2029:[4,28,5,6],2030:[4,27,5,5]},{name:"Zomervakantie",2020:[7,18,8,30],2021:[7,17,8,29],2022:[7,9,8,21],2023:[7,8,8,20],2024:[7,13,8,25],2025:[7,19,8,31],2026:[7,18,8,30],2027:[7,17,8,29],2028:[7,8,8,20],2029:[7,7,8,19],2030:[7,13,8,25]},{name:"Herfstvakantie",2020:[10,17,10,25],2021:[10,16,10,24],2022:[10,22,10,30],2023:[10,14,10,22],2024:[10,26,11,3],2025:[10,18,10,26],2026:[10,17,10,25],2027:[10,16,10,24],2028:[10,21,10,29],2029:[10,20,10,28]}]},NO:{SH:[{name:"Kerstvakantie",2019:[12,21,1,5],2020:[12,19,1,3],2021:[12,25,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,25,1,9],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Voorjaarsvakantie",2020:[2,15,2,23],2021:[2,20,2,28],2022:[2,19,2,27],2023:[2,25,3,5],2024:[2,17,2,25],2025:[2,15,2,23],2026:[2,21,3,1],2027:[2,20,2,28],2028:[2,19,2,27],2029:[2,17,2,25],2030:[2,16,2,24]},{name:"Meivakantie",2020:[4,25,5,3],2021:[5,1,5,9],2022:[4,30,5,8],2023:[4,29,5,7],2024:[4,27,5,5],2025:[4,26,5,4],2026:[4,25,5,3],2027:[4,24,5,2],2028:[4,29,5,7],2029:[4,28,5,6],2030:[4,27,5,5]},{name:"Zomervakantie",2020:[7,4,8,16],2021:[7,10,8,22],2022:[7,16,8,28],2023:[7,22,9,3],2024:[7,20,9,1],2025:[7,12,8,24],2026:[7,4,8,16],2027:[7,10,8,22],2028:[7,15,8,27],2029:[7,21,9,2],2030:[7,20,9,1]},{name:"Herfstvakantie",2020:[10,10,10,18],2021:[10,16,10,24],2022:[10,15,10,23],2023:[10,21,10,29],2024:[10,26,11,3],2025:[10,18,10,26],2026:[10,10,10,18],2027:[10,16,10,24],2028:[10,14,10,22],2029:[10,20,10,28]}]},ZU:{SH:[{name:"Kerstvakantie",2019:[12,21,1,5],2020:[12,19,1,3],2021:[12,25,1,9],2022:[12,24,1,8],2023:[12,23,1,7],2024:[12,21,1,5],2025:[12,20,1,4],2026:[12,19,1,3],2027:[12,25,1,9],2028:[12,23,1,7],2029:[12,22,1,6]},{name:"Voorjaarsvakantie",2020:[2,22,3,1],2021:[2,13,2,21],2022:[2,26,3,6],2023:[2,18,2,26],2024:[2,10,2,18],2025:[2,22,3,2],2026:[2,14,2,22],2027:[2,13,3,21],2028:[2,26,3,5],2029:[2,10,3,18],2030:[2,23,3,3]},{name:"Meivakantie",2020:[4,25,5,3],2021:[5,1,5,9],2022:[4,30,5,8],2023:[4,29,5,7],2024:[4,27,5,5],2025:[4,26,5,4],2026:[4,25,5,3],2027:[4,24,5,2],2028:[4,29,5,7],2029:[4,28,5,6],2030:[4,27,5,5]},{name:"Zomervakantie",2020:[7,11,8,23],2021:[7,24,9,5],2022:[7,23,9,4],2023:[7,15,8,27],2024:[7,6,8,18],2025:[7,5,8,17],2026:[7,11,8,23],2027:[7,24,9,5],2028:[7,22,9,3],2029:[7,14,8,26],2030:[7,6,8,18]},{name:"Herfstvakantie",2020:[10,17,10,25],2021:[10,23,10,31],2022:[10,22,10,30],2023:[10,14,10,22],2024:[10,19,10,27],2025:[10,11,10,19],2026:[10,17,10,25],2027:[10,23,10,31],2028:[10,21,10,29],2029:[10,13,10,21]}]}},RL={PH:[{name:"Nyttårsdag",fixed_date:[1,1]},{name:"Skjærtorsdag",variable_date:"easter",offset:-3},{name:"Langfredag",variable_date:"easter",offset:-2},{name:"Påskedag",variable_date:"easter"},{name:"2. Påskedag",variable_date:"easter",offset:1},{name:"1. Mai",fixed_date:[5,1]},{name:"Grunnlovsdagen",fixed_date:[5,17]},{name:"Kristi Himmelfartsdag",variable_date:"easter",offset:39},{name:"Pinsedag",variable_date:"easter",offset:49},{name:"2. Pinsedag",variable_date:"easter",offset:50},{name:"Juledag",fixed_date:[12,25]},{name:"2. Juledag",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=61.0&lon=8.0&zoom=8&addressdetails=1&accept-language=no,en"},IL={PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Day after New Year's Day",fixed_date:[1,2]},{name:"Waitangi Day",fixed_date:[2,6]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Anzac Day",fixed_date:[4,25]},{name:"Queen's Birthday",variable_date:"firstJuneMonday"},{name:"Labour Day",variable_date:"firstOctoberMonday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Boxing Day",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=-41.2922255&lon=174.7763033&zoom=16&addressdetails=1&accept-language=en"},PL={PH:[{name:"Nowy Rok",fixed_date:[1,1]},{name:"Święto Trzech Króli",fixed_date:[1,6]},{name:"Wielkanoc",variable_date:"easter"},{name:"Lany Poniedziałek - drugi dzień Wielkiej Nocy",variable_date:"easter",offset:1},{name:"Pierwszy Maja",fixed_date:[5,1]},{name:"Trzeci Maja",fixed_date:[5,3]},{name:"Zielone Świątki",variable_date:"easter",offset:49},{name:"Boże Ciało",variable_date:"easter",offset:60},{name:"Wniebowzięcie Najświętszej Maryi Panny",fixed_date:[8,15]},{name:"Wszystkich Świętych",fixed_date:[11,1]},{name:"Święto Niepodległości",fixed_date:[11,11]},{name:"Wigilia Bożego Narodzenia",fixed_date:[12,24]},{name:"pierwszy dzień Bożego Narodzenia",fixed_date:[12,25]},{name:"drugi dzień Bożego Narodzenia",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=53.4825&lon=18.75823&zoom=18&addressdetails=1&accept-language=pl,en",Dolnośląskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,10,1,23],2021:[1,4,1,17],2022:[1,14,1,27],2023:[1,13,1,26],2024:[1,15,1,28],2025:[2,3,2,16],2026:[2,2,2,15],2027:[1,18,1,31]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},"Kujawsko-pomorskie":{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,27,2,9],2021:[1,4,1,17],2022:[1,31,2,13],2023:[1,30,2,12],2024:[2,12,2,25],2025:[1,20,2,2],2026:[2,2,2,15],2027:[2,15,2,28]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Łódzkie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,13,1,26],2021:[1,4,1,17],2022:[1,17,1,30],2023:[1,16,1,29],2024:[1,29,2,11],2025:[2,17,3,2],2026:[2,2,2,15],2027:[1,18,1,31]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Lubelskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,13,1,26],2021:[1,4,1,17],2022:[1,17,1,30],2023:[1,16,1,29],2024:[1,29,2,11],2025:[2,17,3,2],2026:[2,16,3,1]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Lubuskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,27,2,9],2021:[1,4,1,17],2022:[1,31,2,13],2023:[1,30,2,12],2024:[2,12,2,25],2025:[1,20,2,2],2026:[2,16,3,1],2027:[2,1,2,14]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Małopolskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,27,2,9],2021:[1,4,1,17],2022:[1,31,2,13],2023:[1,30,2,12],2024:[2,12,2,25],2025:[1,20,2,2],2026:[2,2,2,15],2027:[2,15,2,28]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Mazowieckie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,10,1,23],2021:[1,4,1,17],2022:[1,14,1,27],2023:[1,13,1,26],2024:[1,15,1,28],2025:[2,3,2,16],2026:[1,19,2,1],2027:[2,1,2,14]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Opolskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,10,1,23],2021:[1,4,1,17],2022:[1,14,1,27],2023:[1,13,1,26],2024:[1,15,1,28],2025:[2,3,2,16],2026:[2,2,2,15],2027:[1,18,1,31]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Podkarpackie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,13,1,26],2021:[1,4,1,17],2022:[1,17,1,30],2023:[1,16,1,29],2024:[1,29,2,11],2025:[2,17,3,2],2026:[2,16,3,1],2027:[1,18,1,31]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Podlaskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,20,2,2],2021:[1,4,1,17],2022:[1,24,2,6],2023:[1,23,2,5],2024:[1,22,2,4],2025:[1,27,2,9],2026:[1,19,2,1],2027:[1,18,1,31]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Pomorskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,13,1,26],2021:[1,4,1,17],2022:[1,17,1,30],2023:[1,16,1,29],2024:[1,29,2,11],2025:[2,17,3,2],2026:[1,19,2,1],2027:[2,1,2,14]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Śląskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,13,1,26],2021:[1,4,1,17],2022:[1,17,1,30],2023:[1,16,1,29],2024:[1,29,2,11],2025:[2,17,3,2],2026:[2,16,3,1],2027:[1,18,1,31]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Świętokrzyskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,27,2,9],2021:[1,4,1,17],2022:[1,31,2,13],2023:[1,30,2,12],2024:[2,12,2,25],2025:[1,20,2,2],2026:[1,19,2,1],2027:[2,1,2,14]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},"Warmińsko-mazurskie":{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,20,2,2],2021:[1,4,1,17],2022:[1,24,2,6],2023:[1,23,2,5],2024:[1,22,2,4],2025:[1,27,2,9],2026:[1,19,2,1],2027:[2,15,2,28]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Wielkopolskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,27,2,9],2021:[1,4,1,17],2022:[1,31,2,13],2023:[1,30,2,12],2024:[2,12,2,25],2025:[1,20,2,2],2026:[2,16,3,1],2027:[2,15,2,28]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]},Zachodniopomorskie:{SH:[{name:"Zimowa przerwa świąteczna",2019:[12,23,12,31],2020:[12,23,12,31],2021:[12,23,12,31],2022:[12,23,12,31],2023:[12,23,12,31],2024:[12,23,12,31],2025:[12,22,12,31]},{name:"Ferie zimowe",2020:[1,10,1,23],2021:[1,4,1,17],2022:[1,14,1,27],2023:[1,13,1,26],2024:[1,15,1,28],2025:[2,3,2,16],2026:[2,2,2,15],2027:[2,15,2,28]},{name:"Wiosenna przerwa świąteczna",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Ferie letnie",2020:[6,27,8,31],2021:[6,26,8,31],2022:[6,25,8,31],2023:[6,24,8,31],2024:[6,22,8,31],2025:[6,28,8,31],2026:[6,27,8,31]}]}},DL={SH:[{name:"Férias de Natal",2019:[12,18,1,3],2020:[12,21,12,31],2021:[12,20,1,7],2022:[12,19,1,2],2023:[12,18,1,2],2024:[12,18,1,3],2025:[12,16,1,5],2026:[12,16,12,31],2027:[12,20,12,31]},{name:"Férias de Carnaval",2020:[2,24,2,26],2022:[3,1,3,1],2023:[2,20,2,22],2024:[2,12,2,14],2025:[3,3,3,5],2026:[2,16,2,18],2027:[2,8,2,10],2028:[2,28,3,1]},{name:"Férias de Páscoa",2020:[3,30,4,13],2021:[3,29,4,1],2022:[4,11,4,18],2023:[4,3,4,14],2024:[3,25,4,5],2025:[4,7,4,21],2026:[3,30,4,10],2027:[3,22,4,2],2028:[4,3,4,17]},{name:"Férias de verão",2020:[6,20,9,13],2021:[7,9,9,13],2022:[7,1,9,12],2023:[7,1,9,11],2024:[6,29,9,11],2025:[6,28,9,10],2026:[7,1,9,10],2027:[7,1,9,12]},{name:"Fim das aulas",2028:[6,30,6,30]}]},FL={PH:[{name:"Anul Nou",fixed_date:[1,1]},{name:"A doua zi de Anul Nou",fixed_date:[1,2]},{name:"Ziua Unirii Principatelor Române (Ziua Unirii)",fixed_date:[1,24]},{name:"Paștele ortodox",variable_date:"orthodox easter"},{name:"A doua zi de Paște ortodox",variable_date:"orthodox easter",offset:1},{name:"Ziua Muncii",fixed_date:[5,1]},{name:"Rusaliile",variable_date:"orthodox easter",offset:50},{name:"A doua zi de Rusalii",variable_date:"orthodox easter",offset:51},{name:"Adormirea Maicii Domnului",fixed_date:[8,15]},{name:"Sfântul Apostol Andrei",fixed_date:[11,30]},{name:"Ziua Națională (Ziua Marii Uniri)",fixed_date:[12,1]},{name:"Crăciunul",fixed_date:[12,25]},{name:"A doua zi de Crăciun",fixed_date:[12,26]}],SH:[{name:"Vacanța de iarnă",2014:[12,20,1,4],2015:[12,19,1,3]},{name:"Vacanţa intersemestrială",2015:[1,31,2,8],2016:[1,30,2,7],2021:[1,30,2,7]},{name:"Vacanța de primăvară",2015:[4,11,4,19],2016:[4,23,5,3]},{name:"Vacanța de vară",2015:[6,20,9,13],2016:[6,18,9,4]},{name:"Vacanţa de iarnă",2019:[12,21,1,12],2020:[12,23,1,10],2021:[12,24,1,9],2022:[12,23,1,8],2023:[12,23,1,7],2024:[12,21,1,7],2025:[12,20,1,7]},{name:"Vacanţa de primăvară",2020:[4,4,4,21],2022:[4,15,5,1],2023:[4,7,4,18],2024:[4,27,5,7],2025:[4,18,4,27],2026:[4,4,4,14]},{name:"Vacanţa de vară",2020:[6,13,9,13],2021:[6,19,9,12],2022:[6,11,9,4],2023:[6,17,9,3],2024:[6,22,9,8],2025:[6,21,9,7],2026:[6,20,9,6]},{name:"Vacanţa de toamnă",2020:[10,24,11,1],2021:[10,23,11,7],2022:[10,22,10,30],2023:[10,28,11,5],2024:[10,26,11,3],2025:[10,25,11,1]},{name:"Vacanţa de primăvară 1",2021:[4,2,4,11]},{name:"Vacanţa de primăvară 2",2021:[4,30,5,9]},{name:"Vacanţa de schi",2024:[2,12,2,18]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=45.9852129&lon=24.6859225&zoom=18&addressdetails=1&accept-language=ro,en",Alba:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,23,2,27]}]},Arad:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,16,2,20]}]},Argeș:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Bacău:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,23,2,27]}]},Bihor:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},"Bistrița-Năsăud":{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,12,2,18],2025:[2,10,2,14],2026:[2,9,2,13]}]},Botoșani:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,24,2,28],2026:[2,23,2,27]}]},Brăila:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,23,2,27]}]},Brașov:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,16,2,20]}]},București:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Buzău:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Călărași:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},"Caraș-Severin":{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Cluj:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,9,2,13]}]},Constanța:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,23,2,27]}]},Covasna:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,24,2,28],2026:[2,23,2,27]}]},Dâmbovița:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Dolj:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,16,2,20]}]},Galați:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,24,2,28],2026:[2,23,2,27]}]},Giurgiu:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,23,2,27]}]},Gorj:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Harghita:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,24,2,28],2026:[2,23,2,27]}]},Hunedoara:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Ialomița:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Iași:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,24,2,28],2026:[2,16,2,20]}]},Ilfov:{SH:[{name:"Vacanţa de schi",2023:[2,6,2,12],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Maramureș:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,23,2,27]}]},Mehedinți:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,17,2,21],2026:[2,16,2,20]}]},Mureș:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,23,2,27]}]},Neamț:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,24,2,28],2026:[2,23,2,27]}]},Olt:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Prahova:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Sălaj:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},"Satu Mare":{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,12,2,18],2025:[2,24,2,28],2026:[2,23,2,27]}]},Sibiu:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,23,2,27]}]},Suceava:{SH:[{name:"Vacanţa de schi",2023:[2,6,2,12],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,23,2,27]}]},Teleorman:{SH:[{name:"Vacanţa de schi",2023:[2,13,2,19],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,16,2,20]}]},Timiș:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,17,2,21],2026:[2,9,2,13]}]},Tulcea:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,24,2,28],2026:[2,16,2,20]}]},Vâlcea:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,26,3,3],2025:[2,17,2,21],2026:[2,16,2,20]}]},Vaslui:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,23,2,27]}]},Vrancea:{SH:[{name:"Vacanţa de schi",2023:[2,20,2,26],2024:[2,19,2,25],2025:[2,17,2,21],2026:[2,23,2,27]}]}},OL={SH:[{name:"Зимски распуст",2019:[12,30,1,7],2020:[12,31,1,8],2021:[12,31,1,21],2022:[1,4,1,21],2023:[1,3,1,20],2024:[12,30,1,17],2025:[12,31,1,16]},{name:"Пролећни распуст",2020:[4,15,4,20],2021:[4,30,5,7],2022:[4,22,5,3],2023:[4,11,4,18],2024:[4,29,5,6],2025:[4,16,4,21],2026:[4,10,4,14]},{name:"Летњи распуст",2020:[6,22,8,31],2021:[6,23,8,31],2022:[6,22,8,31],2023:[6,21,8,31],2024:[6,24,8,30],2025:[6,23,8,29],2026:[6,22,8,31]},{name:"Јесењи распуст",2020:[11,11,11,13],2021:[11,12,11,12],2023:[11,8,11,10],2024:[11,11,11,12],2025:[11,10,11,11]},{name:"Сретењски распуст",2026:[2,16,2,20]}]},NL={PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=55.7780&lon=49.1303&zoom=18&addressdetails=1&accept-language=ru,en",Адыгея:{_state_code:"adygea",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=44.60627&lon=40.10432&zoom=18&addressdetails=1&accept-language=ru,us",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"Курбан-байрам",fixed_date:[10,4]},{name:"День образования Республики Адыгея",fixed_date:[10,5]}]},Башкортостан:{_state_code:"bashkortostan",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=54.1264&lon=56.5797&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"Курбан-байрам",fixed_date:[10,4]},{name:"День Республики Башкирии",fixed_date:[10,11]},{name:"День Конституции Башкортостана",fixed_date:[12,24]}]},"Брянская область":{_state_code:"bryansk",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=52.952&lon=33.283&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Радоница",fixed_date:[4,29]},{name:"День освобождения города Брянска",fixed_date:[9,17]}]},Дагестан:{_state_code:"dagestan",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.118&lon=46.959&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День Конституции Республики Дагестан",fixed_date:[7,26]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"День единства народов Дагестана",fixed_date:[9,15]},{name:"Курбан-байрам",fixed_date:[10,4]}]},Ингушетия:{_state_code:"ingushetia",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.1171&lon=44.8626&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День образования Республики Ингушетия",fixed_date:[6,4]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"Курбан-байрам",fixed_date:[10,4]}]},"Кабардино-Балкария":{_state_code:"kabardino_balkaria",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.497&lon=43.423&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День возрождения балкарского народа",fixed_date:[3,28]},{name:"Черкесский день траура",fixed_date:[5,21]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"День государственности Кабардино-Балкарской Республики",fixed_date:[9,1]},{name:"Курбан-байрам",fixed_date:[10,4]}]},Калмыкия:{_state_code:"kalmykia",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=46.524&lon=44.731&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Цаган Сар",fixed_date:[1,14]},{name:"День принятия Степного Уложения (Конституции) Республики Калмыкия",fixed_date:[4,5]},{name:"День рождения Будды Шакьямун",fixed_date:[6,6]},{name:"Зул",fixed_date:[12,15]},{name:"День памяти жертв депортации калмыцкого народа",fixed_date:[12,28]}]},"Карачаево-Черкесия":{_state_code:"karachay_cherkess",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.7916&lon=41.7268&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День возрождения карачаевского народа",fixed_date:[5,3]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"Курбан-байрам",fixed_date:[10,4]}]},"Приволжский федеральный округ":{_state_code:"udmurtia",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=56.8642&lon=53.2054&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День Государственности Удмуртской Республики",fixed_date:[5,31]}]},"Республика Алтай":{_state_code:"altai",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=50.900&lon=86.899&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Чага-Байрам",fixed_date:[1,14]}]},"Республика Бурятия":{_state_code:"buryatia",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=52.014&lon=109.366&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Сагаалган",fixed_date:[1,14]}]},"Республика Карелия":{_state_code:"karelia",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=63.832&lon=33.626&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День Республики Карелия",fixed_date:[6,8]},{name:"День освобождения Карелии от фашистских захватчиков",fixed_date:[9,30]}]},"Республика Коми":{_state_code:"komi",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=64.191&lon=55.826&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День Республики Коми",fixed_date:[8,22]}]},"Республика Саха (Якутия)":{_state_code:"sakha",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=62.1010&lon=129.7176&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День Республики Саха",fixed_date:[4,27]},{name:"Ысыах",fixed_date:[6,23]},{name:"День государственности Республики Саха",fixed_date:[9,27]}]},"Республика Тыва":{_state_code:"tuva",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=51.781&lon=94.033&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Народный праздник Шагаа",fixed_date:[1,14]},{name:"День Республики Тыва",fixed_date:[8,15]}]},"Саратовская область":{_state_code:"saratov",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=51.335&lon=46.668&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Радоница",fixed_date:[4,29]}]},Татарстан:{_state_code:"tatarstan",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=55.7780&lon=49.1303&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"День Республики Татарстан",fixed_date:[8,30]},{name:"Курбан-байрам",fixed_date:[10,4]},{name:"День Конституции Республики Татарстан",fixed_date:[11,6]}]},Чечня:{_state_code:"chechnya",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.451&lon=45.700&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День мира в Чеченской Республике",fixed_date:[4,16]},{name:"Ураза-байрам",fixed_date:[7,28]},{name:"Курбан-байрам",fixed_date:[10,4]}]},Чувашия:{_state_code:"chuvashia",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=55.4871&lon=47.1659&zoom=18&addressdetails=1&accept-language=ru,en",PH:[{name:"1. Новогодние каникулы",fixed_date:[1,1]},{name:"2. Новогодние каникулы",fixed_date:[1,2]},{name:"3. Новогодние каникулы",fixed_date:[1,3]},{name:"4. Новогодние каникулы",fixed_date:[1,4]},{name:"5. Новогодние каникулы",fixed_date:[1,5]},{name:"6. Новогодние каникулы",fixed_date:[1,6]},{name:"Рождество Христово",fixed_date:[1,7]},{name:"8. Новогодние каникулы",fixed_date:[1,8]},{name:"День защитника Отечества",fixed_date:[2,23]},{name:"Международный женский день",fixed_date:[3,8]},{name:"День Победы",fixed_date:[5,9]},{name:"Праздник Весны и Труда",fixed_date:[5,1]},{name:"День народного единства",fixed_date:[11,4]},{name:"День России",fixed_date:[6,12]},{name:"День Чувашской республики",fixed_date:[6,24]}]}},zL={PH:[{name:"nyårsdagen",fixed_date:[1,1]},{name:"trettondedag jul",fixed_date:[1,6]},{name:"långfredagen",variable_date:"easter",offset:-2},{name:"påskdagen",variable_date:"easter"},{name:"annandag påsk",variable_date:"easter",offset:1},{name:"första maj",fixed_date:[5,1]},{name:"Kristi himmelsfärdsdag",variable_date:"easter",offset:39},{name:"pingstdagen",variable_date:"easter",offset:49},{name:"nationaldagen",fixed_date:[6,6]},{name:"midsommardagen",variable_date:"nextSaturday20Jun"},{name:"alla helgons dag",variable_date:"nextSaturday31Oct"},{name:"juldagen",fixed_date:[12,25]},{name:"annandag jul",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=63.1151&lon=16.5767&zoom=18&addressdetails=1&accept-language=sv,en"},LL={PH:[{name:"novo leto",fixed_date:[1,1]},{name:"Prešernov dan, slovenski kulturni praznik",fixed_date:[2,8]},{name:"velikonočna nedelja",variable_date:"easter"},{name:"velikonočni ponedeljek",variable_date:"easter",offset:1},{name:"dan upora proti okupatorju",fixed_date:[4,27]},{name:"praznik dela 1",fixed_date:[5,1]},{name:"praznik dela 2",fixed_date:[5,2]},{name:"binkoštna nedelja - binkošti",variable_date:"easter",offset:49},{name:"dan državnosti",fixed_date:[6,25]},{name:"Marijino vnebovzetje",fixed_date:[8,15]},{name:"dan reformacije",fixed_date:[10,31]},{name:"dan spomina na mrtve",fixed_date:[11,1]},{name:"božič",fixed_date:[12,25]},{name:"dan samostojnosti in enotnosti",fixed_date:[12,26]}],SH:[{name:"Novoletne počitnice",2019:[12,25,1,2],2020:[12,28,12,31],2021:[12,27,12,31],2022:[12,27,12,30],2023:[12,27,1,2],2024:[12,27,1,2],2025:[12,29,12,31]},{name:"Prvomajske počitnice",2020:[4,27,5,1],2021:[4,28,4,30],2022:[4,28,4,29],2023:[4,28,4,28],2024:[4,28,5,2],2025:[4,28,5,2],2026:[4,28,4,30]},{name:"Poletne počitnice",2020:[6,26,8,31],2021:[6,26,8,31],2022:[6,26,8,31],2023:[6,26,8,31],2024:[6,26,8,31],2025:[6,26,8,31],2026:[6,26,8,31]},{name:"Jesenske počitnice",2020:[10,26,10,30],2021:[10,25,11,1],2022:[10,31,11,4],2023:[10,30,11,1],2024:[10,28,11,1],2025:[10,27,10,31]},{name:"Pouka prost dan",2024:[5,3,5,3]}],"vzhodne regije":{SH:[{name:"Zimske počitnice",2020:[2,24,2,28],2021:[2,15,2,19],2022:[2,28,3,4],2023:[1,30,2,3],2024:[2,26,3,1],2025:[2,17,2,21],2026:[2,23,2,27]}]},"zahodne regije":{SH:[{name:"Zimske počitnice",2020:[2,17,2,21],2021:[2,22,2,26],2022:[2,21,2,25],2023:[2,6,2,10],2024:[2,19,2,23],2025:[2,24,2,28],2026:[2,16,2,20]}]}},BL={PH:[{name:"Deň vzniku Slovenskej republiky",fixed_date:[1,1]},{name:"Zjavenie Pána",fixed_date:[1,6]},{name:"Veľký piatok",variable_date:"easter",offset:-2},{name:"Veľkonočná nedeľa",variable_date:"easter"},{name:"Veľkonočný pondelok",variable_date:"easter",offset:1},{name:"Sviatok práce",fixed_date:[5,1]},{name:"Deň víťazstva nad fašizmom",fixed_date:[5,8]},{name:"Sviatok svätého Cyrila a Metoda",fixed_date:[7,5]},{name:"Výročie Slovenského národného povstania",fixed_date:[8,29]},{name:"Deň Ústavy Slovenskej republiky",fixed_date:[9,1]},{name:"Sviatok Panny Márie Sedembolestnej",fixed_date:[9,15]},{name:"Sviatok všetkých svätých",fixed_date:[11,1]},{name:"Deň boja za slobodu a demokraciu",fixed_date:[11,17]},{name:"Štedrý deň",fixed_date:[12,24]},{name:"Prvý sviatok vianočný",fixed_date:[12,25]},{name:"Druhý sviatok vianočný",fixed_date:[12,26]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=48.7411522&lon=19.4528646&zoom=18&addressdetails=1&accept-language=sk,en","Banskobystrický kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[2,24,2,28],2021:[2,15,2,19],2022:[3,7,3,11],2023:[2,27,3,3],2024:[2,19,2,23],2025:[3,3,3,7],2026:[2,23,2,27],2027:[2,15,2,19],2028:[3,6,3,10]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]},"Bratislavský kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[2,17,2,21],2021:[3,1,3,5],2022:[2,28,3,4],2023:[2,20,2,24],2024:[3,4,3,8],2025:[2,24,2,28],2026:[2,16,2,20],2027:[3,1,3,5],2028:[2,28,3,3]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]},"Košický kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[3,2,3,6],2021:[2,22,2,26],2022:[2,21,2,25],2023:[3,6,3,10],2024:[2,26,3,1],2025:[2,17,2,21],2026:[3,2,3,6],2027:[2,22,2,26],2028:[2,21,2,25]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]},"Nitriansky kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[2,17,2,21],2021:[3,1,3,5],2022:[2,28,3,4],2023:[2,20,2,24],2024:[3,4,3,8],2025:[2,24,2,28],2026:[2,16,2,20],2027:[3,1,3,5],2028:[2,28,3,3]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]},"Prešovský kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[3,2,3,6],2021:[2,22,2,26],2022:[2,21,2,25],2023:[3,6,3,10],2024:[2,26,3,1],2025:[2,17,2,21],2026:[3,2,3,6],2027:[2,22,2,26],2028:[2,21,2,25]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]},"Trenčiansky kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[2,24,2,28],2021:[2,15,2,19],2022:[3,7,3,11],2023:[2,27,3,3],2024:[2,19,2,23],2025:[3,3,3,7],2026:[2,23,2,27],2027:[2,15,2,19],2028:[3,6,3,10]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]},"Trnavský kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[2,17,2,21],2021:[3,1,3,5],2022:[2,28,3,4],2023:[2,20,2,24],2024:[3,4,3,8],2025:[2,24,2,28],2026:[2,16,2,20],2027:[3,1,3,5],2028:[2,28,3,3]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]},"Žilinský kraj":{SH:[{name:"Vianočné prázdniny",2019:[12,23,1,7],2020:[12,23,1,7],2021:[12,23,1,7],2022:[12,23,1,7],2023:[12,23,1,7],2024:[12,23,1,7],2025:[12,22,1,7],2026:[12,23,1,7],2027:[12,23,1,7]},{name:"Jarné prázdniny",2020:[2,24,2,28],2021:[2,15,2,19],2022:[3,7,3,11],2023:[2,27,3,3],2024:[2,19,2,23],2025:[3,3,3,7],2026:[2,23,2,27],2027:[2,15,2,19],2028:[3,6,3,10]},{name:"Veľkonočné prázdniny",2020:[4,9,4,14],2021:[4,1,4,6],2022:[4,14,4,19],2023:[4,6,4,11],2024:[3,28,4,2],2025:[4,17,4,22],2026:[4,2,4,7],2027:[3,25,3,30],2028:[4,13,4,18]},{name:"Letné prázdniny",2020:[7,1,8,31],2021:[7,1,8,31],2022:[7,1,8,31],2023:[7,1,8,31],2024:[7,1,9,1],2025:[6,28,9,1],2026:[7,1,8,31],2027:[7,1,8,31],2028:[7,3,9,1]},{name:"Jesenné prázdniny",2020:[10,28,10,29],2021:[10,28,10,29],2022:[10,28,10,31],2023:[10,30,10,31],2024:[10,30,10,31],2025:[10,30,10,31],2026:[10,29,10,30],2027:[10,28,10,29]}]}},GL={SH:[{name:"Vacanze Natalizie",2019:[12,24,1,4],2020:[12,24,1,5],2021:[12,24,1,5],2022:[12,24,1,7],2023:[12,24,1,5],2024:[12,23,1,5],2025:[12,24,1,5]},{name:"Vacanze Pasquali",2020:[4,9,4,14],2021:[4,2,4,6],2022:[4,14,4,19],2023:[4,3,4,10],2024:[3,26,4,1],2025:[4,17,4,22],2026:[4,2,4,7]},{name:"Vacanze Estive",2020:[6,11,9,6],2021:[6,12,9,12],2022:[6,12,9,14],2023:[6,8,9,17],2024:[6,8,9,17],2025:[6,11,9,14]},{name:"Termine lezioni",2026:[6,17,6,17]}]},jL={PH:[{name:"Новий рік",fixed_date:[1,1]},{name:"Різдво",fixed_date:[1,7]},{name:"Міжнародний жіночий день",fixed_date:[3,8]},{name:"Великдень",variable_date:"orthodox easter",offset:1},{name:"День Праці 1",fixed_date:[5,1]},{name:"День Праці 2",fixed_date:[5,2]},{name:"День Перемоги",fixed_date:[5,9]},{name:"День Конституції України",fixed_date:[6,28]},{name:"День Незалежності України",fixed_date:[8,24]}]},HL={PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=32.3673&lon=-86.2983&zoom=18&addressdetails=1&accept-language=en",Alabama:{_state_code:"al",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=32.3673&lon=-86.2983&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Robert E. Lee/Martin Luther King Birthday",variable_date:"firstJanuaryMonday",offset:14},{name:"George Washington/Thomas Jefferson Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Confederate Memorial Day",variable_date:"firstAprilMonday",offset:21},{name:"Jefferson Davis' Birthday",variable_date:"firstJuneMonday"}]},Alaska:{_state_code:"ak",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=64.5082&lon=-165.4066&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Seward's Day",variable_date:"lastMarchMonday"},{name:"Alaska Day",fixed_date:[10,18]}]},Arizona:{_state_code:"az",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=34.9378&lon=-109.7565&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Dr. Martin Luther King Jr./Civil Rights Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Arkansas:{_state_code:"ar",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=34.74610&lon=-92.29054&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Dr. Martin Luther King Jr. and Robert E. Lee's Birthdays",variable_date:"firstJanuaryMonday",offset:14},{name:"George Washington's Birthday and Daisy Gatson Bates Day",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Eve",fixed_date:[12,24]},{name:"Christmas Day",fixed_date:[12,25]}]},California:{_state_code:"ca",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=40.8001&lon=-124.1698&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"César Chávez Day",fixed_date:[3,31]}]},Colorado:{_state_code:"co",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=39.1804&lon=-106.8218&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Connecticut:{_state_code:"ct",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.9111&lon=-72.16014&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Lincoln's Birthday",fixed_date:[2,12]},{name:"Good Friday",variable_date:"easter",offset:-2}]},Delaware:{_state_code:"de",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=38.7113&lon=-75.0978&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Day After Thanksgiving",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Day",fixed_date:[12,25]},{name:"Good Friday",variable_date:"easter",offset:-2}]},"District of Columbia":{_state_code:"dc",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=38.8953&lon=-77.0356&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Emancipation Day",fixed_date:[4,16]}]},Florida:{_state_code:"fl",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=25.7720&lon=-80.1324&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Friday after Thanksgiving",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Day",fixed_date:[12,25]}]},Georgia:{_state_code:"ga",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=31.0823&lon=-81.4192&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Robert E. Lee's Birthday",variable_date:"firstNovemberThursday",offset:22},{name:"Washington's Birthday",fixed_date:[12,24]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Confederate Memorial Day",variable_date:"lastAprilMonday"}]},Guam:{_state_code:"gu",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=13.4311&lon=144.6549&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Guam Discovery Day",fixed_date:[3,5]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Liberation Day",fixed_date:[7,21]},{name:"All Souls' Day",fixed_date:[11,2]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Lady of Camarin Day",fixed_date:[12,8]},{name:"Christmas Day",fixed_date:[12,25]}]},Hawaii:{_state_code:"hi",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=19.6423&lon=-155.4837&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Prince Jonah Kuhio Kalanianaole Day",fixed_date:[3,26]},{name:"Kamehameha Day",fixed_date:[6,11]},{name:"Statehood Day",variable_date:"firstAugustFriday",offset:14},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},Idaho:{_state_code:"id",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=47.6710&lon=-116.7671&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr.-Idaho Human Rights Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Illinois:{_state_code:"il",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.05202&lon=-87.67594&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Lincoln's Birthday",fixed_date:[2,12]},{name:"Casimir Pulaski Day",variable_date:"firstMarchMonday"},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},Indiana:{_state_code:"in",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=40.4179&lon=-86.8969&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Lincoln's Birthday",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Day",fixed_date:[12,25]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Primary Election Day",variable_date:"firstMayMonday",offset:1},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},Iowa:{_state_code:"ia",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.9747&lon=-91.6760&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Lincoln's Birthday",fixed_date:[2,12]}]},Kansas:{_state_code:"ks",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=37.6888&lon=-97.3271&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Kentucky:{_state_code:"ky",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=36.8446&lon=-83.3196&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Eve",fixed_date:[12,24]},{name:"Christmas Day",fixed_date:[12,25]},{name:"New Year's Eve",fixed_date:[12,31]},{name:"Good Friday",variable_date:"easter",offset:-2}]},Louisiana:{_state_code:"la",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=30.1800&lon=-90.1787&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Mardi Gras",variable_date:"easter",offset:-47},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},Maine:{_state_code:"me",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=44.7903&lon=-68.7829&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Patriots' Day",variable_date:"firstAprilMonday",offset:14}]},Maryland:{_state_code:"md",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=38.3206&lon=-75.6213&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Native American Heritage Day",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Day",fixed_date:[12,25]}]},Massachusetts:{_state_code:"ma",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.3550&lon=-71.0645&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Patriots' Day",variable_date:"firstAprilMonday",offset:14}]},Michigan:{_state_code:"mi",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.7153&lon=-84.4995&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Eve",fixed_date:[12,24]},{name:"Christmas Day",fixed_date:[12,25]},{name:"New Year's Eve",fixed_date:[12,31]}]},Minnesota:{_state_code:"mn",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=47.8278&lon=-90.0484&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Mississippi:{_state_code:"ms",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=30.3986&lon=-88.8820&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King's and Robert E. Lee's Birthdays",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Confederate Memorial Day",variable_date:"lastAprilMonday"}]},Missouri:{_state_code:"mo",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=37.0799&lon=-94.5060&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Truman Day",fixed_date:[5,8]}]},Montana:{_state_code:"mt",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=48.3866&lon=-115.5498&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1},{name:"Christmas Eve",fixed_date:[12,24]},{name:"New Year's Eve",fixed_date:[12,31]}]},Nebraska:{_state_code:"ne",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.2587&lon=-95.9374&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Arbor Day",variable_date:"lastAprilFriday"}]},Nevada:{_state_code:"nv",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=36.1215&lon=-115.1704&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Nevada Day",variable_date:"lastOctoberFriday"},{name:"Family Day",variable_date:"firstNovemberThursday",offset:22}]},"New Hampshire":{_state_code:"nh",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.5628&lon=-71.9447&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Civil Rights Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Day after Thanksgiving",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Day",fixed_date:[12,25]},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},"New Jersey":{_state_code:"nj",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=39.9475&lon=-75.1066&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Lincoln's Birthday",fixed_date:[2,12]},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},"New Mexico":{_state_code:"nm",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=34.0790&lon=-107.6179&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Day after Thanksgiving",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Day",fixed_date:[12,25]}]},"New York":{_state_code:"ny",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.8126&lon=-73.9379&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Lincoln's Birthday",fixed_date:[2,12]},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},"North Carolina":{_state_code:"nc",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=35.7802&lon=-78.6394&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Day after Thanksgiving",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Eve",fixed_date:[12,24]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Day after Christmas",fixed_date:[12,26]},{name:"Good Friday",variable_date:"easter",offset:-2}]},"North Dakota":{_state_code:"nd",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=48.1459&lon=-103.6232&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Ohio:{_state_code:"oh",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.4846&lon=-82.6852&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Oklahoma:{_state_code:"ok",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=36.0514&lon=-95.7892&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Day after Thanksgiving",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Day",fixed_date:[12,25]}]},Oregon:{_state_code:"or",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=45.3732&lon=-121.6959&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Pennsylvania:{_state_code:"pa",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=40.3340&lon=-75.9300&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Flag Day",fixed_date:[6,14]}]},"Puerto Rico":{_state_code:"pr",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=18.4364&lon=-66.1188&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"Día de Año Nuevo",fixed_date:[1,1]},{name:"Día de Reyes",fixed_date:[1,6]},{name:"Natalicio de Eugenio María de Hostos",variable_date:"firstJanuaryMonday",offset:7},{name:"Natalicio de Martin Luther King, Jr.",variable_date:"firstJanuaryMonday",offset:14},{name:"Día de los Presidentes",variable_date:"firstFebruaryMonday",offset:14},{name:"Día de la Abolición de Esclavitud",fixed_date:[3,22]},{name:"Viernes Santo",variable_date:"easter",offset:-2},{name:"Natalicio de José de Diego",variable_date:"firstAprilMonday",offset:14},{name:"Recordación de los Muertos de la Guerra",variable_date:"lastMayMonday"},{name:"Día de la Independencia",fixed_date:[7,4]},{name:"Constitución de Puerto Rico",fixed_date:[7,25]},{name:"Natalicio de Dr. José Celso Barbosa",fixed_date:[7,27]},{name:"Día del Trabajo",variable_date:"firstSeptemberMonday"},{name:"Día de la Raza Descubrimiento de América",variable_date:"firstOctoberMonday",offset:7},{name:"Día del Veterano",fixed_date:[11,11]},{name:"Día del Descubrimiento de Puerto Rico",fixed_date:[11,19]},{name:"Día de Acción de Gracias",variable_date:"firstNovemberThursday",offset:21},{name:"Noche Buena",fixed_date:[12,24]},{name:"Día de Navidad",fixed_date:[12,25]}]},"Rhode Island":{_state_code:"ri",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=41.8251&lon=-71.4194&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Victory Day",variable_date:"firstAugustMonday",offset:7}]},"South Carolina":{_state_code:"sc",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=32.7878&lon=-79.9392&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Confederate Memorial Day",fixed_date:[5,10]}]},"South Dakota":{_state_code:"sd",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=43.7148&lon=-98.0249&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Native American Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Tennessee:{_state_code:"tn",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=35.1438&lon=-90.0231&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Eve",fixed_date:[12,24]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Good Friday",variable_date:"easter",offset:-2}]},Texas:{_state_code:"tx",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=30.2655&lon=-97.7559&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Friday after Thanksgiving",variable_date:"firstNovemberThursday",offset:22},{name:"Christmas Eve",fixed_date:[12,24]},{name:"Christmas Day",fixed_date:[12,25]},{name:"Day after Christmas",fixed_date:[12,26]}]},"United States Virgin Islands":{_state_code:"vi",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=18.3433&lon=-64.9347&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Virgin Islands-Puerto Rico Friendship Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Three Kings Day",fixed_date:[1,6]},{name:"Transfer Day",fixed_date:[3,31]},{name:"Holy Thursday",variable_date:"easter",offset:-3},{name:"Good Friday",variable_date:"easter",offset:-2},{name:"Easter Monday",variable_date:"easter",offset:1},{name:"Emancipation Day",fixed_date:[7,3]},{name:"Hurricane Supplication Day",variable_date:"firstJulyMonday",offset:21},{name:"Hurricane Thanksgiving",fixed_date:[10,25]},{name:"Liberty Day",fixed_date:[11,1]},{name:"Christmas Second Day",fixed_date:[12,26]},{name:"New Year's Eve",fixed_date:[12,31]}]},Utah:{_state_code:"ut",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=40.5888&lon=-111.6378&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Pioneer Day",fixed_date:[7,24]}]},Vermont:{_state_code:"vt",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=44.2597&lon=-72.5800&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Town Meeting Day",variable_date:"firstMarchTuesday"},{name:"Battle of Bennington",variable_date:"firstAugustMonday",offset:14}]},Virginia:{_state_code:"va",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=36.9454&lon=-76.2888&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},Washington:{_state_code:"wa",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=46.8598&lon=-121.7256&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]},"West Virginia":{_state_code:"wv",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=38.3686&lon=-81.6070&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"West Virginia Day",fixed_date:[6,20]},{name:"Lincoln's Day",variable_date:"firstNovemberThursday",offset:22}]},Wisconsin:{_state_code:"wi",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=45.8719&lon=-89.6930&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]},{name:"Primary Election Day",variable_date:"firstAugustTuesday",offset:7},{name:"Election Day",variable_date:"firstNovemberMonday",offset:1}]},Wyoming:{_state_code:"wy",_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=42.8590&lon=-106.3126&zoom=18&addressdetails=1&accept-language=en",PH:[{name:"New Year's Day",fixed_date:[1,1]},{name:"Martin Luther King, Jr. Day",variable_date:"firstJanuaryMonday",offset:14},{name:"Washington's Birthday",variable_date:"firstFebruaryMonday",offset:14},{name:"Memorial Day",variable_date:"lastMayMonday"},{name:"Independence Day",fixed_date:[7,4]},{name:"Labor Day",variable_date:"firstSeptemberMonday"},{name:"Columbus Day",variable_date:"firstOctoberMonday",offset:7},{name:"Veterans Day",fixed_date:[11,11]},{name:"Thanksgiving",variable_date:"firstNovemberThursday",offset:21},{name:"Christmas Day",fixed_date:[12,25]}]}},VL={PH:[{name:"Tết Dương Lịch",fixed_date:[1,1]},{name:"Ngày Quốc tế Phụ nữ",fixed_date:[3,8]},{name:"Ngày thành lập Đoàn Thanh niên Cộng sản Hồ Chí Minh",fixed_date:[3,26]},{name:"Ngày Quốc tế Thiếu nhi",fixed_date:[6,1]},{name:"Ngày Nhà giáo Việt Nam",fixed_date:[11,20]},{name:"Ngày Giải phóng miền Nam, Thống nhất Đất nước",fixed_date:[4,30]},{name:"Ngày Quốc tế lao động",fixed_date:[5,1]},{name:"Quốc Khánh",fixed_date:[9,2]},{name:"Lễ Giáng Sinh",fixed_date:[12,25]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=10.77374&lon=106.70094&zoom=16&addressdetails=1&accept-language=en"},WL={PH:[{name:"New Year",fixed_date:[1,1]}],SH:[{name:"Summer",2020:[6,21,9,23],2021:[6,21,9,23],2022:[6,21,9,23],2023:[6,21,9,23],2024:[6,21,9,23],2025:[6,21,9,23],2026:[6,21,9,23],2027:[6,21,9,23],2028:[6,21,9,23],2029:[6,21,9,23],2030:[6,21,9,23],2031:[6,21,9,23],2032:[6,21,9,23]}],_nominatim_url:"https://nominatim.openstreetmap.org/reverse?format=json&lat=0.0&lon=0.0&zoom=18&addressdetails=1&accept-language=en"},qL={SH:[{name:"Summer Break",2019:[12,7,1,12],2020:[12,17,1,10],2021:[12,11,1,9],2022:[12,17,1,8],2023:[12,16,1,14],2024:[12,14,1,12],2025:[12,13,1,11],2026:[12,12,1,10],2027:[12,11,1,9]},{name:"Autumn Break",2020:[3,19,5,31],2021:[3,27,4,12],2022:[3,18,4,4],2023:[3,25,4,11],2024:[3,22,4,2],2025:[3,29,4,7],2026:[3,28,4,7],2027:[3,20,4,5]},{name:"Winter Break",2020:[8,11,8,11],2021:[6,26,7,19],2022:[6,25,7,18],2023:[6,24,7,17],2024:[6,15,7,8],2025:[6,28,7,21],2026:[6,27,7,20],2027:[6,26,7,19]},{name:"Spring Break",2020:[9,25,10,4],2021:[10,2,10,11],2022:[10,1,10,10],2023:[9,30,10,9],2024:[9,21,9,30],2025:[10,4,10,12],2026:[10,3,10,12],2027:[10,2,10,10]},{name:"Special School Holiday",2021:[4,26,4,26],2022:[8,8,8,8],2023:[4,28,4,28],2024:[4,26,4,26],2025:[6,2,6,2],2026:[9,25,9,25],2027:[4,26,4,26]}]};var Dn=Object.freeze({__proto__:null,ad:Uz,al:Yz,ar:Jz,at:Kz,au:Zz,be:Xz,bg:Qz,br:eL,by:tL,ca:rL,ch:iL,ci:nL,cn:aL,cz:oL,de:sL,dk:lL,ee:uL,es:cL,fi:dL,fr:hL,gb:pL,gr:mL,hr:fL,hu:gL,ie:yL,it:_L,jp:vL,li:bL,lt:wL,lu:xL,lv:SL,mc:kL,md:CL,mt:EL,mx:ML,na:AL,nl:TL,no:RL,nz:IL,pl:PL,pt:DL,ro:FL,rs:OL,ru:NL,se:zL,si:LL,sk:BL,sm:GL,ua:jL,us:HL,vn:VL,xa:WL,za:qL}),Fn={"assuming ok for ko":{daytime:"sunrise-sunset",spring:"Mar-May",summer:"Jun-Aug",autumn:"Sep-Nov",winter:"Dec-Feb",_:"-","=":"-",frühling:"Mar-May",frühjahr:"Mar-May",sommer:"Jun-Aug",herbst:"Sep-Nov",gesloten:"off",feestdag:"PH",feestdagen:"PH",m:"Mo",w:"We",f:"Fr",primavera:"Mar-May",estate:"Jun-Aug",autunno:"Sep-Nov",inverno:"Dec-Feb"},"please use English written ok for ko":{"(?:an )?feiertag(?:s|en?)?":"PH"},"please use off for ko":{"ruhetage?":"off",geschlossen:"off",geschl:"off",except:"off"},"please use ok for workday":{wd:"Mo-Fr","on work days?":"Mo-Fr","weekdays?":"Mo-Fr","werktags?":"Mo-Sa",vardagar:"Mo-Fr"},"omit hour keyword":{h:""},"omit ko":{season:"",hs:"",hrs:"",hours:"",uhr:"",geöffnet:"",zwischen:"",ist:"",durchgehend:"","öffnungszeit(?:en)?:?":""},"omit tag key":{"opening_hours\\s*=":""},"omit wrong keyword open end":{from:"",ab:"",von:""},"assuming open end for ko":{"(?:bis|till?|-|–)? ?(?:open ?end|late)":"+"},"please use ok for uncertainty":{"~":"-","~":"-"},"please use fallback rule":{otherwise:"||"},"please use ok for missing data":{"\\?":""},"please use ok for ko":{"→":"-","−":"-","—":"-",ー:"-",to:"-",до:"-",a:"-",as:"-",á:"-",ás:"-",às:"-",ate:"-","till?":"-",until:"-",through:"-",and:",","&":",",":":":","'":'"',always:"24/7","always open":"24/7","always closed":"closed",nonstop:"24/7","24x7":"24/7",anytime:"24/7","all day":"24/7",daily:"Mo-Su",everyday:"Mo-Su","every day":"Mo-Su","all days":"Mo-Su","7j/7":"Mo-Su","7/7":"Mo-Su","7days":"Mo-Su","7 days":"Mo-Su","7 days a week":"Mo-Su","7 days/week":"Mo-Su","24 hours 7 days a week":"24/7","24 hours":"00:00-24:00",midday:"12:00",midnight:"00:00","(?:public )?holidays?":"PH","(?:one )?day after public holiday":"PH +1 day","(?:one )?day before public holiday":"PH -1 day","school ?holidays?":"SH","weekends?":"Sa,Su",daylight:"sunrise-sunset","on(?:_| )?appointments?":'"on appointment"',"by(?:_| )?appointments?":'"by appointment"',"nach(?: |_)vereinbarung":'"Nach Vereinbarung"',"nach(?: |_)absprache":'"Nach Absprache"',bis:"-",täglich:"Mo-Su","(?:schul)?ferien":"SH","(?:an|nur)? ?sonn-?(?: und |/)feiertag(?:s|en?)?":"PH,Su",und:",",u:",",auch:",",fermé:"off",et:",",à:"-","jours fériés":"PH",sundown:"sunset",morgendämmerung:"dawn",abenddämmerung:"dusk",sonnenaufgang:"sunrise",sonnenuntergang:"sunset",ostern:"easter"},"please use English abbreviation ok for so":{so:"Su"},"please use English abbreviation ok for ko":{sun:"Su","sundays?":"Su",mon:"Mo","mondays?":"Mo","tues?":"Tu","tuesdays?":"Tu","weds?":"We","wednesdays?":"We",thu:"Th","thurs?":"Th","thursdays?":"Th",fri:"Fr","fridays?":"Fr",sat:"Sa","saturdays?":"Sa",son:"Su","sonn-":"Su","sonntags?":"Su","montags?":"Mo",di:"Tu","die?":"Tu","dienstags?":"Tu",mi:"We","mit?":"We","mittwochs?":"We","don?":"Th","donnerstags?":"Th",fre:"Fr","freitags?":"Fr",sam:"Sa","samstags?":"Sa",dim:"Su","lun?":"Mo",mer:"We","jeu?":"Th","ven?":"Fr","zon?":"Su",zontag:"Su",din:"Tu","woe?":"We","vri?":"Fr","zat?":"Sa",ne:"Su",po:"Mo",út:"Tu",st:"We",čt:"Th",pá:"Fr",selasa:"Su",rabu:"Mo",kami:"Tu",jumat:"We",sabtu:"Th",minggu:"Fr",senin:"Sa",söndagar:"Su",ma:"Mo",lördagar:"Sa",niedz:"Su",n:"Su",ndz:"Su",poniedzialek:"Mo",pon:"Mo",pn:"Mo",wt:"Tu",sroda:"We",śr:"We",sr:"We",czw:"Th",cz:"Th",piatek:"Fr",pt:"Fr",sob:"Sa",Вс:"Su","voskresen'ye":"Su",Пн:"Mo","ponedel'nik":"Mo",vtornik:"Tu",chetverk:"Th",pyatnitsa:"Fr",subbota:"Sa",dom:"Su","domenica?":"Su","domeniche?":"Su","lunedì?":"Mo","mar?":"Tu","martedì?":"Tu","mer?":"We","mercoledì?":"We",gio:"Th","giovedì?":"Th",ven:"Fr","venerdì?":"Fr",sab:"Sa","sabato?":"Sa",jänner:"Jan","june?":"Jun","july?":"Jul",sept:"Sep","märz?":"Mar",maerz:"Mar",okt:"Oct",dez:"Dec",fév:"Feb",avr:"Apr",aoû:"Aug","giugno?":"Jun","luglio?":"Jul",saterdag:"Sa",sondag:"Su",maandag:"Mo",dinsdag:"Tu",woensdag:"We",donderdag:"Th",vrydag:"Fr","sa\\.":"Sa","so\\.":"Su","ma\\.":"Mo","di\\.":"Tu","wo\\.":"We","do\\.":"Th","vr\\.":"Fr",januarie:"Jan",februarie:"Feb",maart:"Mar",april:"Apr",mei:"May",junie:"Jun",julie:"Jul",augustus:"Aug",september:"Sep",oktober:"Oct",november:"Nov",desember:"Dec","jan\\.":"Jan","feb\\.":"Feb","mrt\\.":"Mar","apr\\.":"Apr","jun\\.":"Jun","jul\\.":"Jul","aug\\.":"Aug","sep\\.":"Sep","okt\\.":"Oct","nov\\.":"Nov","des\\.":"Dec",memeneda:"Sa",kwasiada:"Su",dwoada:"Mo",benada:"Tu",wukuada:"We",yawoada:"Th",fiada:"Fr",mem:"Sa",dwo:"Mo",ben:"Tu",wuk:"We",yaw:"Th",fia:"Fr",ɔpɛpɔn:"Jan",ɔgyefoɔ:"Feb",ɔbɛnem:"Mar",oforisuo:"Apr",kɔtɔnimma:"May",ayɛwohomumu:"Jun",kutawonsa:"Jul",ɔsanaa:"Aug",ɛbɔ:"Sep",ahinime:"Oct",obubuo:"Nov",ɔpɛnimma:"Dec",ቅዳሜ:"Sa",እሑድ:"Su",ሰኞ:"Mo",ማክሰኞ:"Tu",ረቡዕ:"We",ሐሙስ:"Th",ዓርብ:"Fr",ማክሰ:"Tu",ጃንዋሪ:"Jan",ፌብሩዋሪ:"Feb",ማርች:"Mar",ኤፕሪል:"Apr",ሜይ:"May",ጁን:"Jun",ጁላይ:"Jul",ኦገስት:"Aug",ሴፕቴምበር:"Sep",ኦክቶበር:"Oct",ኖቬምበር:"Nov",ዲሴምበር:"Dec",ጃን:"Jan",ፌብ:"Feb",ኤፕሪ:"Apr",ኦገስ:"Aug",ሴፕቴ:"Sep",ኦክቶ:"Oct",ኖቬም:"Nov",ዲሴም:"Dec",السبت:"Sa",الأحد:"Su",الاثنين:"Mo",الثلاثاء:"Tu",الأربعاء:"We",الخميس:"Th",الجمعة:"Fr",يناير:"Jan",فبراير:"Feb",مارس:"Mar",أبريل:"Apr",مايو:"May",يونيو:"Jun",يوليو:"Jul",أغسطس:"Aug",سبتمبر:"Sep",أكتوبر:"Oct",نوفمبر:"Nov",ديسمبر:"Dec",শনিবাৰ:"Sa",দেওবাৰ:"Su",সোমবাৰ:"Mo",মঙ্গলবাৰ:"Tu",বুধবাৰ:"We",বৃহস্পতিবাৰ:"Th",শুক্ৰবাৰ:"Fr",শনি:"Sa",দেও:"Su",সোম:"Mo",মঙ্গল:"Tu",বুধ:"We",বৃহ:"Th",শুক্ৰ:"Fr",জানুৱাৰী:"Jan",ফেব্ৰুৱাৰী:"Feb",মাৰ্চ:"Mar",এপ্ৰিল:"Apr","মে’":"May",জুন:"Jun",জুলাই:"Jul",আগষ্ট:"Aug",ছেপ্তেম্বৰ:"Sep",অক্টোবৰ:"Oct",নৱেম্বৰ:"Nov",ডিচেম্বৰ:"Dec",জানু:"Jan",ফেব্ৰু:"Feb",আগ:"Aug",ছেপ্তে:"Sep",অক্টো:"Oct",নৱে:"Nov",ডিচে:"Dec",şənbə:"Sa",bazar:"Su","bazar ertəsi":"Mo","çərşənbə axşamı":"Tu",çərşənbə:"We","cümə axşamı":"Th",cümə:"Fr","ş\\.":"Sa","b\\.":"Su","b\\.e\\.":"Mo","ç\\.a\\.":"Tu","ç\\.":"We","c\\.a\\.":"Th","c\\.":"Fr",yanvar:"Jan",fevral:"Feb",mart:"Mar",aprel:"Apr",iyun:"Jun",iyul:"Jul",avqust:"Aug",sentyabr:"Sep",oktyabr:"Oct",noyabr:"Nov",dekabr:"Dec",fev:"Feb",iyn:"Jun",iyl:"Jul",avq:"Aug",noy:"Nov",dek:"Dec",субота:"Sa",нядзеля:"Su",панядзелак:"Mo",аўторак:"Tu",серада:"We",чацвер:"Th",пятніца:"Fr",сб:"Sa",нд:"Su",аў:"Tu",ср:"We",чц:"Th",пт:"Fr",студзень:"Jan",люты:"Feb",сакавік:"Mar",красавік:"Apr",май:"May",чэрвень:"Jun",ліпень:"Jul",жнівень:"Aug",верасень:"Sep",кастрычнік:"Oct",лістапад:"Nov",снежань:"Dec",сту:"Jan",лют:"Feb",сак:"Mar",кра:"Apr",чэр:"Jun",ліп:"Jul",жні:"Aug",вер:"Sep",кас:"Oct",ліс:"Nov",сне:"Dec",събота:"Sa",неделя:"Su",понеделник:"Mo",вторник:"Tu",сряда:"We",четвъртък:"Th",петък:"Fr",вт:"Tu",чт:"Th",януари:"Jan",февруари:"Feb",март:"Mar",април:"Apr",юни:"Jun",юли:"Jul",август:"Aug",септември:"Sep",октомври:"Oct",ноември:"Nov",декември:"Dec",sibiri:"Sa",kari:"Su",ntɛnɛ:"Mo",tarata:"Tu",araba:"We",alamisa:"Th",juma:"Fr",ntɛ:"Mo",tar:"Tu",zanwuye:"Jan",feburuye:"Feb",marisi:"Mar",awirili:"Apr",mɛ:"May",zuwɛn:"Jun",zuluye:"Jul",uti:"Aug",sɛtanburu:"Sep",ɔkutɔburu:"Oct",nowanburu:"Nov",desanburu:"Dec",zan:"Jan",awi:"Apr",zuw:"Jun",zul:"Jul",sɛt:"Sep",ɔku:"Oct",now:"Nov",des:"Dec",শনিবার:"Sa",রবিবার:"Su",সোমবার:"Mo",মঙ্গলবার:"Tu",বুধবার:"We",বৃহস্পতিবার:"Th",শুক্রবার:"Fr",রবি:"Su",বৃহস্পতি:"Th",শুক্র:"Fr",জানুয়ারী:"Jan",ফেব্রুয়ারী:"Feb",মার্চ:"Mar",এপ্রিল:"Apr",মে:"May",আগস্ট:"Aug",সেপ্টেম্বর:"Sep",অক্টোবর:"Oct",নভেম্বর:"Nov",ডিসেম্বর:"Dec",ফেব:"Feb","སྤེན་པ་":"Sa","ཉི་མ་":"Su","ཟླ་བ་":"Mo","མིག་དམར་":"Tu","ལྷག་པ་":"We","ཕུར་བུ་":"Th","པ་སངས་":"Fr","ཟླ་བ་དང་པོ་":"Jan","ཟླ་བ་གཉིས་པ་":"Feb","ཟླ་བ་གསུམ་པ་":"Mar","ཟླ་བ་བཞི་པ་":"Apr","ཟླ་བ་ལྔ་པ་":"May","ཟླ་བ་དྲུག་པ་":"Jun","ཟླ་བ་བདུན་པ་":"Jul","ཟླ་བ་བརྒྱད་པ་":"Aug","ཟླ་བ་དགུ་པ་":"Sep","ཟླ་བ་བཅུ་པ་":"Oct","ཟླ་བ་བཅུ་གཅིག་པ་":"Nov","ཟླ་བ་བཅུ་གཉིས་པ་":"Dec","ཟླ་༡":"Jan","ཟླ་༢":"Feb","ཟླ་༣":"Mar","ཟླ་༤":"Apr","ཟླ་༥":"May","ཟླ་༦":"Jun","ཟླ་༧":"Jul","ཟླ་༨":"Aug","ཟླ་༩":"Sep","ཟླ་༡༠":"Oct","ཟླ་༡༡":"Nov","ཟླ་༡༢":"Dec",sadorn:"Sa",mercʼher:"We",yaou:"Th",gwener:"Fr","sad\\.":"Sa","meu\\.":"Tu","mer\\.":"We","gwe\\.":"Fr",genver:"Jan",cʼhwevrer:"Feb",ebrel:"Apr",mae:"May",mezheven:"Jun",gouere:"Jul",eost:"Aug",gwengolo:"Sep",here:"Oct",kerzu:"Dec","gen\\.":"Jan","cʼhwe\\.":"Feb","meur\\.":"Mar","ebr\\.":"Apr","mezh\\.":"Jun","goue\\.":"Jul","gwen\\.":"Sep","kzu\\.":"Dec",subota:"Sa",nedjelja:"Su",ponedjeljak:"Mo",utorak:"Tu",srijeda:"We",četvrtak:"Th",petak:"Fr",sub:"Sa",ned:"Su",uto:"Tu",sri:"We",čet:"Th",pet:"Fr",januar:"Jan",februar:"Feb",juni:"Jun",juli:"Jul",august:"Aug",septembar:"Sep",oktobar:"Oct",novembar:"Nov",decembar:"Dec",dissabte:"Sa",diumenge:"Su",dilluns:"Mo",dimarts:"Tu",dimecres:"We",dijous:"Th",divendres:"Fr","ds\\.":"Sa","dg\\.":"Su","dl\\.":"Mo","dt\\.":"Tu","dc\\.":"We","dj\\.":"Th","dv\\.":"Fr",gener:"Jan",febrer:"Feb",març:"Mar",abril:"Apr",maig:"May",juny:"Jun",juliol:"Jul",agost:"Aug",setembre:"Sep",octubre:"Oct",novembre:"Nov",desembre:"Dec","febr\\.":"Feb","abr\\.":"Apr","ag\\.":"Aug","set\\.":"Sep","oct\\.":"Oct",шуот:"Sa","кӏира":"Su",оршот:"Mo",шинара:"Tu",кхаара:"We",еара:"Th","пӏераска":"Fr",шуо:"Sa","кӏи":"Su",ор:"Mo",ши:"Tu",кха:"We",еа:"Th","пӏе":"Fr",январь:"Jan",февраль:"Feb",апрель:"Apr",июнь:"Jun",июль:"Jul",сентябрь:"Sep",октябрь:"Oct",ноябрь:"Nov",декабрь:"Dec",янв:"Jan",фев:"Feb",мар:"Mar",апр:"Apr",июн:"Jun",июл:"Jul",авг:"Aug",сен:"Sep",окт:"Oct",ноя:"Nov",дек:"Dec",sobota:"Sa",neděle:"Su",pondělí:"Mo",úterý:"Tu",středa:"We",čtvrtek:"Th",pátek:"Fr",leden:"Jan",únor:"Feb",březen:"Mar",duben:"Apr",květen:"May",červen:"Jun",červenec:"Jul",srpen:"Aug",září:"Sep",říjen:"Oct",prosinec:"Dec",led:"Jan",úno:"Feb",bře:"Mar",dub:"Apr",kvě:"May",čvn:"Jun",čvc:"Jul",zář:"Sep",říj:"Oct",pro:"Dec",шӑматкун:"Sa",вырсарникун:"Su",тунтикун:"Mo",ытларикун:"Tu",юнкун:"We",кӗҫнерникун:"Th",эрнекун:"Fr","шӑм\\.":"Sa","выр\\.":"Su","тун\\.":"Mo","ытл\\.":"Tu","юн\\.":"We","кӗҫ\\.":"Th","эр\\.":"Fr",кӑрлач:"Jan",нарӑс:"Feb",пуш:"Mar",ака:"Apr",ҫу:"May",ҫӗртме:"Jun",утӑ:"Jul",ҫурла:"Aug",авӑн:"Sep",юпа:"Oct",чӳк:"Nov",раштав:"Dec","кӑр\\.":"Jan","нар\\.":"Feb","ҫӗр\\.":"Jun","ҫур\\.":"Aug","раш\\.":"Dec","dydd sadwrn":"Sa","dydd sul":"Su","dydd llun":"Mo","dydd mawrth":"Tu","dydd mercher":"We","dydd iau":"Th","dydd gwener":"Fr",sad:"Sa",llun:"Mo",iau:"Th",gwe:"Fr",ionawr:"Jan",chwefror:"Feb",mawrth:"Mar",ebrill:"Apr",mai:"May",mehefin:"Jun",gorffennaf:"Jul",awst:"Aug",medi:"Sep",hydref:"Oct",tachwedd:"Nov",rhagfyr:"Dec",ion:"Jan",chw:"Feb",ebr:"Apr",meh:"Jun",gor:"Jul",hyd:"Oct",tach:"Nov",rhag:"Dec",lørdag:"Sa",søndag:"Su",mandag:"Mo",tirsdag:"Tu",onsdag:"We",torsdag:"Th",fredag:"Fr","lør\\.":"Sa","søn\\.":"Su","man\\.":"Mo","tirs\\.":"Tu","ons\\.":"We","tors\\.":"Th","fre\\.":"Fr",marts:"Mar",december:"Dec","dec\\.":"Dec",samstag:"Sa",sonntag:"Su",montag:"Mo",dienstag:"Tu",mittwoch:"We",donnerstag:"Th",freitag:"Fr",do:"Th",märz:"Mar",dezember:"Dec",mär:"Mar","ཉི་":"Sa","ཟླ་":"Su","མིར་":"Mo","ལྷག་":"Tu","ཕུར་":"We","སངས་":"Th","སྤེན་":"Fr","སྤྱི་སྤྱི་ཟླ་དངཔ་":"Jan","སྤྱི་སྤྱི་ཟླ་གཉིས་པ་":"Feb","སྤྱི་སྤྱི་ཟླ་གསུམ་པ་":"Mar","སྤྱི་སྤྱི་ཟླ་བཞི་པ":"Apr","སྤྱི་སྤྱི་ཟླ་ལྔ་པ་":"May","སྤྱི་སྤྱི་ཟླ་དྲུག་པ":"Jun","སྤྱི་སྤྱི་ཟླ་བདུན་པ་":"Jul","སྤྱི་སྤྱི་ཟླ་བརྒྱད་པ་":"Aug","སྤྱི་སྤྱི་ཟླ་དགུ་པ་":"Sep","སྤྱི་སྤྱི་ཟླ་བཅུ་པ་":"Oct","སྤྱི་སྤྱི་ཟླ་བཅུ་གཅིག་པ་":"Nov","སྤྱི་སྤྱི་ཟླ་བཅུ་གཉིས་པ་":"Dec","སྤྱི་ཟླ་༡":"Jan","སྤྱི་ཟླ་༢":"Feb","སྤྱི་ཟླ་༣":"Mar","སྤྱི་ཟླ་༤":"Apr","སྤྱི་ཟླ་༥":"May","སྤྱི་ཟླ་༦":"Jun","སྤྱི་ཟླ་༧":"Jul","སྤྱི་ཟླ་༨":"Aug","སྤྱི་ཟླ་༩":"Sep","སྤྱི་ཟླ་༡༠":"Oct","སྤྱི་ཟླ་༡༡":"Nov","སྤྱི་ཟླ་༡༢":"Dec",memleɖa:"Sa",kɔsiɖa:"Su",dzoɖa:"Mo",blaɖa:"Tu",kuɖa:"We",yawoɖa:"Th",fiɖa:"Fr",kɔs:"Su",dzo:"Mo",bla:"Tu",kuɖ:"We",fiɖ:"Fr",dzove:"Jan",dzodze:"Feb",tedoxe:"Mar",afɔfĩe:"Apr",dame:"May",masa:"Jun",siamlɔm:"Jul",deasiamime:"Aug",anyɔnyɔ:"Sep",kele:"Oct",adeɛmekpɔxe:"Nov",dzome:"Dec",dzv:"Jan",dzd:"Feb",ted:"Mar",afɔ:"Apr",dam:"May",sia:"Jul",dea:"Aug",any:"Sep",ade:"Nov",dzm:"Dec",σάββατο:"Sa",κυριακή:"Su",δευτέρα:"Mo",τρίτη:"Tu",τετάρτη:"We",πέμπτη:"Th",παρασκευή:"Fr",σάβ:"Sa",κυρ:"Su",δευ:"Mo",τρί:"Tu",τετ:"We",πέμ:"Th",παρ:"Fr",ιανουαρίου:"Jan",φεβρουαρίου:"Feb",μαρτίου:"Mar",απριλίου:"Apr",μαΐου:"May",ιουνίου:"Jun",ιουλίου:"Jul",αυγούστου:"Aug",σεπτεμβρίου:"Sep",οκτωβρίου:"Oct",νοεμβρίου:"Nov",δεκεμβρίου:"Dec",ιαν:"Jan",φεβ:"Feb",μαρ:"Mar",απρ:"Apr",μαΐ:"May",ιουν:"Jun",ιουλ:"Jul",αυγ:"Aug",σεπ:"Sep",οκτ:"Oct",νοε:"Nov",δεκ:"Dec",saturday:"Sa",sunday:"Su",monday:"Mo",tuesday:"Tu",wednesday:"We",thursday:"Th",friday:"Fr",tue:"Tu",wed:"We",january:"Jan",february:"Feb",march:"Mar",june:"Jun",july:"Jul",october:"Oct",dimanĉo:"Su",lundo:"Mo",mardo:"Tu",merkredo:"We",ĵaŭdo:"Th",vendredo:"Fr",lu:"Mo",ĵa:"Th",ve:"Fr",januaro:"Jan",februaro:"Feb",marto:"Mar",aprilo:"Apr",majo:"May",junio:"Jun",julio:"Jul",aŭgusto:"Aug",septembro:"Sep",oktobro:"Oct",novembro:"Nov",decembro:"Dec",aŭg:"Aug",sábado:"Sa",domingo:"Su",lunes:"Mo",martes:"Tu",miércoles:"We",jueves:"Th",viernes:"Fr",sáb:"Sa",mié:"We",jue:"Th",vie:"Fr",enero:"Jan",febrero:"Feb",marzo:"Mar",mayo:"May",agosto:"Aug",septiembre:"Sep",noviembre:"Nov",diciembre:"Dec",ene:"Jan",abr:"Apr",ago:"Aug",laupäev:"Sa",pühapäev:"Su",esmaspäev:"Mo",teisipäev:"Tu",kolmapäev:"We",neljapäev:"Th",reede:"Fr",l:"Sa",e:"Mo",t:"Tu",r:"Fr",jaanuar:"Jan",veebruar:"Feb",märts:"Mar",aprill:"Apr",juuni:"Jun",juuli:"Jul",oktoober:"Oct",detsember:"Dec",larunbata:"Sa",igandea:"Su",astelehena:"Mo",asteartea:"Tu",asteazkena:"We",osteguna:"Th",ostirala:"Fr","lr\\.":"Sa","ig\\.":"Su","al\\.":"Mo","ar\\.":"Tu","az\\.":"We","og\\.":"Th","or\\.":"Fr",urtarrila:"Jan",otsaila:"Feb",martxoa:"Mar",apirila:"Apr",maiatza:"May",ekaina:"Jun",uztaila:"Jul",abuztua:"Aug",iraila:"Sep",urria:"Oct",azaroa:"Nov",abendua:"Dec","urt\\.":"Jan","ots\\.":"Feb","api\\.":"Apr","mai\\.":"May","eka\\.":"Jun","uzt\\.":"Jul","abu\\.":"Aug","ira\\.":"Sep","urr\\.":"Oct","aza\\.":"Nov","abe\\.":"Dec",شنبه:"Sa",یکشنبه:"Su",دوشنبه:"Mo",سهشنبه:"Tu",چهارشنبه:"We",پنجشنبه:"Th",جمعه:"Fr",دی:"Jan",بهمن:"Feb",اسفند:"Mar",فروردین:"Apr",اردیبهشت:"May",خرداد:"Jun",تیر:"Jul",مرداد:"Aug",شهریور:"Sep",مهر:"Oct",آبان:"Nov",آذر:"Dec","hoore-biir":"Sa",dewo:"Su",aaɓnde:"Mo",mawbaare:"Tu",njeslaare:"We",naasaande:"Th",mawnde:"Fr",hbi:"Sa",dew:"Su",aaɓ:"Mo",naa:"Th",mwd:"Fr",siilo:"Jan",colte:"Feb",mbooy:"Mar",seeɗto:"Apr",duujal:"May",korse:"Jun",morso:"Jul",juko:"Aug",siilto:"Sep",yarkomaa:"Oct",jolal:"Nov",bowte:"Dec",sii:"Jan",col:"Feb",mbo:"Mar",duu:"May",kor:"Jun",juk:"Aug",slt:"Sep",yar:"Oct",bow:"Dec",lauantai:"Sa",sunnuntai:"Su",maanantai:"Mo",tiistai:"Tu",keskiviikko:"We",torstai:"Th",perjantai:"Fr",ti:"Tu",ke:"We",pe:"Fr",tammikuu:"Jan",helmikuu:"Feb",maaliskuu:"Mar",huhtikuu:"Apr",toukokuu:"May",kesäkuu:"Jun",heinäkuu:"Jul",elokuu:"Aug",syyskuu:"Sep",lokakuu:"Oct",marraskuu:"Nov",joulukuu:"Dec",tammi:"Jan",helmi:"Feb",maalis:"Mar",huhti:"Apr",touko:"May",kesä:"Jun",heinä:"Jul",elo:"Aug",syys:"Sep",loka:"Oct",marras:"Nov",joulu:"Dec",leygardagur:"Sa",sunnudagur:"Su",mánadagur:"Mo",týsdagur:"Tu",mikudagur:"We",hósdagur:"Th",fríggjadagur:"Fr",ley:"Sa",mán:"Mo",týs:"Tu",mik:"We",hós:"Th",frí:"Fr",mars:"Mar",apríl:"Apr",samedi:"Sa",dimanche:"Su",lundi:"Mo",mardi:"Tu",mercredi:"We",jeudi:"Th",vendredi:"Fr","sam\\.":"Sa","dim\\.":"Su","lun\\.":"Mo","jeu\\.":"Th","ven\\.":"Fr",janvier:"Jan",février:"Feb",avril:"Apr",juin:"Jun",juillet:"Jul",août:"Aug",septembre:"Sep",octobre:"Oct",décembre:"Dec","janv\\.":"Jan","févr\\.":"Feb","avr\\.":"Apr","juil\\.":"Jul","sept\\.":"Sep","déc\\.":"Dec",sneon:"Sa",snein:"Su",moandei:"Mo",tiisdei:"Tu",woansdei:"We",tongersdei:"Th",freed:"Fr",si:"Su",wo:"We",jannewaris:"Jan",febrewaris:"Feb",maaie:"May",septimber:"Sep",novimber:"Nov",desimber:"Dec",mrt:"Mar","dé sathairn":"Sa","dé domhnaigh":"Su","dé luain":"Mo","dé máirt":"Tu","dé céadaoin":"We",déardaoin:"Th","dé haoine":"Fr",sath:"Sa",domh:"Su",luan:"Mo",máirt:"Tu",céad:"We",déar:"Th",aoine:"Fr",eanáir:"Jan",feabhra:"Feb",márta:"Mar",aibreán:"Apr",bealtaine:"May",meitheamh:"Jun",iúil:"Jul",lúnasa:"Aug","meán fómhair":"Sep","deireadh fómhair":"Oct",samhain:"Nov",nollaig:"Dec",ean:"Jan",feabh:"Feb",aib:"Apr",beal:"May",meith:"Jun",lún:"Aug",mfómh:"Sep",dfómh:"Oct",samh:"Nov",noll:"Dec",disathairne:"Sa",didòmhnaich:"Su",diluain:"Mo",dimàirt:"Tu",diciadain:"We",diardaoin:"Th",dihaoine:"Fr",did:"Su",dia:"Th",dih:"Fr","am faoilleach":"Jan","an gearran":"Feb","am màrt":"Mar","an giblean":"Apr","an cèitean":"May","an t-ògmhios":"Jun","an t-iuchar":"Jul","an lùnastal":"Aug","an t-sultain":"Sep","an dàmhair":"Oct","an t-samhain":"Nov","an dùbhlachd":"Dec",faoi:"Jan",gearr:"Feb",màrt:"Mar",gibl:"Apr",cèit:"May",ògmh:"Jun",iuch:"Jul",lùna:"Aug",sult:"Sep",dàmh:"Oct",dùbh:"Dec",luns:"Mo",mércores:"We",xoves:"Th",venres:"Fr","sáb\\.":"Sa","dom\\.":"Su","mér\\.":"We","xov\\.":"Th",xaneiro:"Jan",febreiro:"Feb",maio:"May",xuño:"Jun",xullo:"Jul",setembro:"Sep",outubro:"Oct","xan\\.":"Jan","xul\\.":"Jul","ago\\.":"Aug","out\\.":"Oct",શનિવાર:"Sa",રવિવાર:"Su",સોમવાર:"Mo",મંગળવાર:"Tu",બુધવાર:"We",ગુરુવાર:"Th",શુક્રવાર:"Fr",શનિ:"Sa",રવિ:"Su",સોમ:"Mo",મંગળ:"Tu",બુધ:"We",ગુરુ:"Th",શુક્ર:"Fr",જાન્યુઆરી:"Jan",ફેબ્રુઆરી:"Feb",માર્ચ:"Mar",એપ્રિલ:"Apr",મે:"May",જૂન:"Jun",જુલાઈ:"Jul",ઑગસ્ટ:"Aug",સપ્ટેમ્બર:"Sep",ઑક્ટોબર:"Oct",નવેમ્બર:"Nov",ડિસેમ્બર:"Dec",જાન્યુ:"Jan",ફેબ્રુ:"Feb",સપ્ટે:"Sep",ઑક્ટો:"Oct",નવે:"Nov",ડિસે:"Dec",jesarn:"Sa",jedoonee:"Su",jelhein:"Mo",jemayrt:"Tu",jercean:"We",jerdein:"Th",jeheiney:"Fr",jes:"Sa",jed:"Su",jel:"Mo",jem:"Tu",jerc:"We",jerd:"Th",jeh:"Fr","jerrey-geuree":"Jan","toshiaght-arree":"Feb",mayrnt:"Mar",averil:"Apr",boaldyn:"May","mean-souree":"Jun","jerrey-souree":"Jul",luanistyn:"Aug","mean-fouyir":"Sep","jerrey-fouyir":"Oct","mee houney":"Nov","mee ny nollick":"Dec","j-guer":"Jan","t-arree":"Feb",avrril:"Apr","m-souree":"Jun","j-souree":"Jul","m-fouyir":"Sep","j-fouyir":"Oct","m-houney":"Nov","m-nollick":"Dec",asabar:"Sa",lahadi:"Su",litinin:"Mo",talata:"Tu",laraba:"We",alhamis:"Th",jummaʼa:"Fr",lah:"Su",lit:"Mo",lar:"We",janairu:"Jan",faburairu:"Feb",maris:"Mar",afirilu:"Apr",mayu:"May",yuni:"Jun",yuli:"Jul",agusta:"Aug",satumba:"Sep",oktoba:"Oct",nuwamba:"Nov",disamba:"Dec",fab:"Feb",afi:"Apr",yun:"Jun",yul:"Jul",agu:"Aug",nuw:"Nov","יום שבת":"Sa","יום ראשון":"Su","יום שני":"Mo","יום שלישי":"Tu","יום רביעי":"We","יום חמישי":"Th","יום שישי":"Fr",שבת:"Sa","יום א׳":"Su","יום ב׳":"Mo","יום ג׳":"Tu","יום ד׳":"We","יום ה׳":"Th","יום ו׳":"Fr",ינואר:"Jan",פברואר:"Feb",מרץ:"Mar",אפריל:"Apr",מאי:"May",יוני:"Jun",יולי:"Jul",אוגוסט:"Aug",ספטמבר:"Sep",אוקטובר:"Oct",נובמבר:"Nov",דצמבר:"Dec","ינו׳":"Jan","פבר׳":"Feb","אפר׳":"Apr","אוג׳":"Aug","ספט׳":"Sep","אוק׳":"Oct","נוב׳":"Nov","דצמ׳":"Dec",शनिवार:"Sa",रविवार:"Su",सोमवार:"Mo",मंगलवार:"Tu",बुधवार:"We",गुरुवार:"Th",शुक्रवार:"Fr",शनि:"Sa",रवि:"Su",सोम:"Mo",मंगल:"Tu",बुध:"We",गुरु:"Th",शुक्र:"Fr",जनवरी:"Jan",फ़रवरी:"Feb",मार्च:"Mar",अप्रैल:"Apr",मई:"May",जून:"Jun",जुलाई:"Jul",अगस्त:"Aug",सितंबर:"Sep",अक्तूबर:"Oct",नवंबर:"Nov",दिसंबर:"Dec","जन॰":"Jan","फ़र॰":"Feb","जुल॰":"Jul","अग॰":"Aug","सित॰":"Sep","अक्तू॰":"Oct","नव॰":"Nov","दिस॰":"Dec",siječanj:"Jan",veljača:"Feb",ožujak:"Mar",travanj:"Apr",svibanj:"May",lipanj:"Jun",srpanj:"Jul",kolovoz:"Aug",rujan:"Sep",studeni:"Nov",prosinac:"Dec",sij:"Jan",velj:"Feb",ožu:"Mar",tra:"Apr",svi:"May",ruj:"Sep",stu:"Nov",szombat:"Sa",vasárnap:"Su",hétfő:"Mo",kedd:"Tu",szerda:"We",csütörtök:"Th",péntek:"Fr",szo:"Sa",v:"Su",sze:"We",cs:"Th",január:"Jan",február:"Feb",március:"Mar",április:"Apr",május:"May",június:"Jun",július:"Jul",augusztus:"Aug",szeptember:"Sep",október:"Oct","márc\\.":"Mar","ápr\\.":"Apr","máj\\.":"May","jún\\.":"Jun","júl\\.":"Jul","szept\\.":"Sep",շաբաթ:"Sa",կիրակի:"Su",երկուշաբթի:"Mo",երեքշաբթի:"Tu",չորեքշաբթի:"We",հինգշաբթի:"Th",ուրբաթ:"Fr",շբթ:"Sa",կիր:"Su",երկ:"Mo",երք:"Tu",չրք:"We",հնգ:"Th",ուր:"Fr",հունվար:"Jan",փետրվար:"Feb",մարտ:"Mar",ապրիլ:"Apr",մայիս:"May",հունիս:"Jun",հուլիս:"Jul",օգոստոս:"Aug",սեպտեմբեր:"Sep",հոկտեմբեր:"Oct",նոյեմբեր:"Nov",դեկտեմբեր:"Dec",հնվ:"Jan",փտվ:"Feb",մրտ:"Mar",ապր:"Apr",մյս:"May",հնս:"Jun",հլս:"Jul",օգս:"Aug",սեպ:"Sep",հոկ:"Oct",նոյ:"Nov",դեկ:"Dec",sabbato:"Sa",dominica:"Su",lunedi:"Mo",martedi:"Tu",mercuridi:"We",jovedi:"Th",venerdi:"Fr",jov:"Th",januario:"Jan",februario:"Feb",martio:"Mar",augusto:"Aug",decembre:"Dec",kamis:"Th",sel:"Tu",rab:"We",kam:"Th",januari:"Jan",februari:"Feb",maret:"Mar",agustus:"Aug",saturdí:"Sa",soledí:"Su",lunedí:"Mo",mardí:"Tu",mercurdí:"We",jovedí:"Th",venerdí:"Fr","sat\\.":"Sa","sol\\.":"Su","jov\\.":"Th",marte:"Mar",julí:"Jul",satọdee:"Sa",sọndee:"Su",mọnde:"Mo",tiuzdee:"Tu",wenezdee:"We",tọọzdee:"Th",fraịdee:"Fr",sọn:"Su",mọn:"Mo",tiu:"Tu",tọọ:"Th",fraị:"Fr",jenụwarị:"Jan",febrụwarị:"Feb",maachị:"Mar",epreel:"Apr",mee:"May",julaị:"Jul",ọgọọst:"Aug",septemba:"Sep",ọktoba:"Oct",novemba:"Nov",disemba:"Dec",jen:"Jan",epr:"Apr",juu:"Jun",ọgọ:"Aug",ọkt:"Oct",ꆏꊂꃘ:"Sa",ꑬꆏꑍ:"Su",ꆏꊂꋍ:"Mo",ꆏꊂꑍ:"Tu",ꆏꊂꌕ:"We",ꆏꊂꇖ:"Th",ꆏꊂꉬ:"Fr",ꆏꃘ:"Sa",ꑬꆏ:"Su",ꆏꋍ:"Mo",ꆏꑍ:"Tu",ꆏꌕ:"We",ꆏꇖ:"Th",ꆏꉬ:"Fr",ꋍꆪ:"Jan",ꑍꆪ:"Feb",ꌕꆪ:"Mar",ꇖꆪ:"Apr",ꉬꆪ:"May",ꃘꆪ:"Jun",ꏃꆪ:"Jul",ꉆꆪ:"Aug",ꈬꆪ:"Sep",ꊰꆪ:"Oct",ꊯꊪꆪ:"Nov",ꊰꑋꆪ:"Dec",laugardagur:"Sa",mánudagur:"Mo",þriðjudagur:"Tu",miðvikudagur:"We",fimmtudagur:"Th",föstudagur:"Fr","lau\\.":"Sa","sun\\.":"Su","mán\\.":"Mo","þri\\.":"Tu","mið\\.":"We","fim\\.":"Th","fös\\.":"Fr",janúar:"Jan",febrúar:"Feb",maí:"May",júní:"Jun",júlí:"Jul",ágúst:"Aug",nóvember:"Nov","ágú\\.":"Aug","nóv\\.":"Nov",domenica:"Su",lunedì:"Mo",martedì:"Tu",mercoledì:"We",giovedì:"Th",venerdì:"Fr",gennaio:"Jan",febbraio:"Feb",aprile:"Apr",maggio:"May",giugno:"Jun",luglio:"Jul",settembre:"Sep",ottobre:"Oct",dicembre:"Dec",gen:"Jan",mag:"May",giu:"Jun",lug:"Jul",set:"Sep",ott:"Oct",土曜日:"Sa",日曜日:"Su",月曜日:"Mo",火曜日:"Tu",水曜日:"We",木曜日:"Th",金曜日:"Fr",土:"Sa",日:"Su",月:"Mo",火:"Tu",水:"We",木:"Th",金:"Fr","1月":"Jan","2月":"Feb","3月":"Mar","4月":"Apr","5月":"May","6月":"Jun","7月":"Jul","8月":"Aug","9月":"Sep","10月":"Oct","11月":"Nov","12月":"Dec",זונטיק:"Su",מאָנטיק:"Mo",דינסטיק:"Tu",מיטוואך:"We",דאנערשטיק:"Th",פֿרײַטיק:"Fr",יאַנואַר:"Jan",פֿעברואַר:"Feb",מערץ:"Mar",אַפּריל:"Apr",מיי:"May",אויגוסט:"Aug",סעפּטעמבער:"Sep",אקטאבער:"Oct",נאוועמבער:"Nov",דעצעמבער:"Dec",יאַנ:"Jan",פֿעב:"Feb",אַפּר:"Apr",אויג:"Aug",סעפּ:"Sep",אקט:"Oct",נאוו:"Nov",דעצ:"Dec",ahad:"Su",agt:"Aug",შაბათი:"Sa",კვირა:"Su",ორშაბათი:"Mo",სამშაბათი:"Tu",ოთხშაბათი:"We",ხუთშაბათი:"Th",პარასკევი:"Fr",შაბ:"Sa",კვი:"Su",ორშ:"Mo",სამ:"Tu",ოთხ:"We",ხუთ:"Th",პარ:"Fr",იანვარი:"Jan",თებერვალი:"Feb",მარტი:"Mar",აპრილი:"Apr",მაისი:"May",ივნისი:"Jun",ივლისი:"Jul",აგვისტო:"Aug",სექტემბერი:"Sep",ოქტომბერი:"Oct",ნოემბერი:"Nov",დეკემბერი:"Dec",იან:"Jan",თებ:"Feb",მარ:"Mar",აპრ:"Apr",მაი:"May",ივნ:"Jun",ივლ:"Jul",აგვ:"Aug",სექ:"Sep",ოქტ:"Oct",ნოე:"Nov",დეკ:"Dec",njumamothi:"Sa",kiumia:"Su",njumatatũ:"Mo",njumaine:"Tu",njumatana:"We",aramithi:"Th",njumaa:"Fr",nmm:"Sa",kma:"Su",ntt:"Mo",nmn:"Tu",nmt:"We",art:"Th",nma:"Fr",njenuarĩ:"Jan","mwere wa kerĩ":"Feb","mwere wa gatatũ":"Mar","mwere wa kana":"Apr","mwere wa gatano":"May","mwere wa gatandatũ":"Jun","mwere wa mũgwanja":"Jul","mwere wa kanana":"Aug","mwere wa kenda":"Sep","mwere wa ikũmi":"Oct","mwere wa ikũmi na ũmwe":"Nov",ndithemba:"Dec",wkr:"Feb",wgt:"Mar",wtd:"Jun",wmj:"Jul",wnn:"Aug",wkd:"Sep",wik:"Oct",wmw:"Nov",dit:"Dec",сенбі:"Sa",жексенбі:"Su",дүйсенбі:"Mo",сейсенбі:"Tu",сәрсенбі:"We",бейсенбі:"Th",жұма:"Fr",жс:"Su",дс:"Mo",сс:"Tu",жм:"Fr",қаңтар:"Jan",ақпан:"Feb",наурыз:"Mar",сәуір:"Apr",мамыр:"May",маусым:"Jun",шілде:"Jul",тамыз:"Aug",қыркүйек:"Sep",қазан:"Oct",қараша:"Nov",желтоқсан:"Dec","қаң\\.":"Jan","ақп\\.":"Feb","нау\\.":"Mar","сәу\\.":"Apr","мам\\.":"May","мау\\.":"Jun","шіл\\.":"Jul","там\\.":"Aug","қыр\\.":"Sep","қаз\\.":"Oct","қар\\.":"Nov","жел\\.":"Dec",arfininngorneq:"Sa",sapaat:"Su",ataasinngorneq:"Mo",marlunngorneq:"Tu",pingasunngorneq:"We",sisamanngorneq:"Th",tallimanngorneq:"Fr",arf:"Sa",pin:"We",sis:"Th",januaari:"Jan",februaari:"Feb",marsi:"Mar",apriili:"Apr",maaji:"May",aggusti:"Aug",septembari:"Sep",oktobari:"Oct",novembari:"Nov",decembari:"Dec",febr:"Feb",សៅរ៍:"Sa",អាទិត្យ:"Su",ចន្ទ:"Mo",អង្គារ:"Tu",ពុធ:"We",ព្រហស្បតិ៍:"Th",សុក្រ:"Fr",ព្រហ:"Th",មករា:"Jan",កុម្ភៈ:"Feb",មីនា:"Mar",មេសា:"Apr",ឧសភា:"May",មិថុនា:"Jun",កក្កដា:"Jul",សីហា:"Aug",កញ្ញា:"Sep",តុលា:"Oct",វិច្ឆិកា:"Nov",ធ្នូ:"Dec",ಶನಿವಾರ:"Sa",ಭಾನುವಾರ:"Su",ಸೋಮವಾರ:"Mo",ಮಂಗಳವಾರ:"Tu",ಬುಧವಾರ:"We",ಗುರುವಾರ:"Th",ಶುಕ್ರವಾರ:"Fr",ಶನಿ:"Sa",ಭಾನು:"Su",ಸೋಮ:"Mo",ಮಂಗಳ:"Tu",ಬುಧ:"We",ಗುರು:"Th",ಶುಕ್ರ:"Fr",ಜನವರಿ:"Jan",ಫೆಬ್ರವರಿ:"Feb",ಮಾರ್ಚ್:"Mar",ಏಪ್ರಿಲ್:"Apr",ಮೇ:"May",ಜೂನ್:"Jun",ಜುಲೈ:"Jul",ಆಗಸ್ಟ್:"Aug",ಸೆಪ್ಟೆಂಬರ್:"Sep",ಅಕ್ಟೋಬರ್:"Oct",ನವೆಂಬರ್:"Nov",ಡಿಸೆಂಬರ್:"Dec",ಜನ:"Jan",ಫೆಬ್ರ:"Feb",ಏಪ್ರಿ:"Apr",ಆಗ:"Aug",ಸೆಪ್ಟೆಂ:"Sep",ಅಕ್ಟೋ:"Oct",ನವೆಂ:"Nov",ಡಿಸೆಂ:"Dec",토요일:"Sa",일요일:"Su",월요일:"Mo",화요일:"Tu",수요일:"We",목요일:"Th",금요일:"Fr",토:"Sa",일:"Su",월:"Mo",화:"Tu",수:"We",목:"Th",금:"Fr","1월":"Jan","2월":"Feb","3월":"Mar","4월":"Apr","5월":"May","6월":"Jun","7월":"Jul","8월":"Aug","9월":"Sep","10월":"Oct","11월":"Nov","12월":"Dec",بٹوار:"Sa",اَتھوار:"Su",ژٔندرٕروار:"Mo",بۆموار:"Tu",بودوار:"We","برؠسوار":"Th",جُمہ:"Fr",آتھوار:"Su",ژٔندٕروار:"Mo",جنؤری:"Jan",فرؤری:"Feb",مارٕچ:"Mar",اپریل:"Apr",مئی:"May","جوٗن":"Jun","جوٗلایی":"Jul",اگست:"Aug",ستمبر:"Sep","اکتوٗبر":"Oct",نومبر:"Nov",دسمبر:"Dec",şemî:"Sa",yekşem:"Su",duşem:"Mo",sêşem:"Tu",çarşem:"We",pêncşem:"Th",înî:"Fr",şem:"Sa",yşm:"Su",dşm:"Mo",sşm:"Tu",çşm:"We",pşm:"Th",rêbendan:"Jan",sibat:"Feb",adar:"Mar",nîsan:"Apr",gulan:"May",hezîran:"Jun",tîrmeh:"Jul",tebax:"Aug",îlon:"Sep",cotmeh:"Oct",mijdar:"Nov",berfanbar:"Dec",rbn:"Jan",sbt:"Feb",adr:"Mar",nsn:"Apr",gln:"May",hzr:"Jun",trm:"Jul",tbx:"Aug",îln:"Sep",cot:"Oct",mjd:"Nov",brf:"Dec","dy sadorn":"Sa","dy sul":"Su","dy lun":"Mo","dy meurth":"Tu","dy merher":"We","dy yow":"Th","dy gwener":"Fr",mth:"Tu",mhr:"We",yow:"Th","mis genver":"Jan","mis hwevrer":"Feb","mis meurth":"Mar","mis ebrel":"Apr","mis me":"May","mis metheven":"Jun","mis gortheren":"Jul","mis est":"Aug","mis gwynngala":"Sep","mis hedra":"Oct","mis du":"Nov","mis kevardhu":"Dec",hwe:"Feb",meu:"Mar",met:"Jun",gwn:"Sep",hed:"Oct",kev:"Dec",ишемби:"Sa",жекшемби:"Su",дүйшөмбү:"Mo",шейшемби:"Tu",шаршемби:"We",бейшемби:"Th",жума:"Fr","ишм\\.":"Sa","жек\\.":"Su","дүй\\.":"Mo","шейш\\.":"Tu","шарш\\.":"We","бейш\\.":"Th",samschdeg:"Sa",sonndeg:"Su",méindeg:"Mo",dënschdeg:"Tu",mëttwoch:"We",donneschdeg:"Th",freideg:"Fr",dën:"Tu",mët:"We",don:"Th",mäerz:"Mar",abrëll:"Apr",mäe:"Mar",lwamukaaga:"Sa",sabbiiti:"Su",balaza:"Mo",lwakubiri:"Tu",lwakusatu:"We",lwakuna:"Th",lwakutaano:"Fr",lw6:"Sa",bal:"Mo",lw2:"Tu",lw3:"We",lw4:"Th",lw5:"Fr",janwaliyo:"Jan",febwaliyo:"Feb",apuli:"Apr",maayi:"May",julaayi:"Jul",agusito:"Aug",sebuttemba:"Sep",okitobba:"Oct",desemba:"Dec",apu:"Apr",seb:"Sep",oki:"Oct",mpɔ́sɔ:"Sa",eyenga:"Su","mokɔlɔ mwa yambo":"Mo","mokɔlɔ mwa míbalé":"Tu","mokɔlɔ mwa mísáto":"We","mokɔlɔ ya mínéi":"Th","mokɔlɔ ya mítáno":"Fr",mps:"Sa",eye:"Su",ybo:"Mo",mbl:"Tu",mst:"We",mtn:"Fr","sánzá ya yambo":"Jan","sánzá ya míbalé":"Feb","sánzá ya mísáto":"Mar","sánzá ya mínei":"Apr","sánzá ya mítáno":"May","sánzá ya motóbá":"Jun","sánzá ya nsambo":"Jul","sánzá ya mwambe":"Aug","sánzá ya libwa":"Sep","sánzá ya zómi":"Oct","sánzá ya zómi na mɔ̌kɔ́":"Nov","sánzá ya zómi na míbalé":"Dec",fbl:"Feb",msi:"Mar",apl:"Apr",stb:"Sep",ɔtb:"Oct",nvb:"Nov",dsb:"Dec",ວັນເສົາ:"Sa",ວັນອາທິດ:"Su",ວັນຈັນ:"Mo",ວັນອັງຄານ:"Tu",ວັນພຸດ:"We",ວັນພະຫັດ:"Th",ວັນສຸກ:"Fr",ເສົາ:"Sa",ອາທິດ:"Su",ຈັນ:"Mo",ອັງຄານ:"Tu",ພຸດ:"We",ພະຫັດ:"Th",ສຸກ:"Fr",ມັງກອນ:"Jan",ກຸມພາ:"Feb",ມີນາ:"Mar",ເມສາ:"Apr",ພຶດສະພາ:"May",ມິຖຸນາ:"Jun",ກໍລະກົດ:"Jul",ສິງຫາ:"Aug",ກັນຍາ:"Sep",ຕຸລາ:"Oct",ພະຈິກ:"Nov",ທັນວາ:"Dec","ມ\\.ກ\\.":"Jan","ກ\\.ພ\\.":"Feb","ມ\\.ນ\\.":"Mar","ມ\\.ສ\\.":"Apr","ພ\\.ພ\\.":"May","ມິ\\.ຖ\\.":"Jun","ກ\\.ລ\\.":"Jul","ສ\\.ຫ\\.":"Aug","ກ\\.ຍ\\.":"Sep","ຕ\\.ລ\\.":"Oct","ພ\\.ຈ\\.":"Nov","ທ\\.ວ\\.":"Dec",šeštadienis:"Sa",sekmadienis:"Su",pirmadienis:"Mo",antradienis:"Tu",trečiadienis:"We",ketvirtadienis:"Th",penktadienis:"Fr",sk:"Su",pr:"Mo",an:"Tu",tr:"We",kt:"Th",sausis:"Jan",vasaris:"Feb",kovas:"Mar",balandis:"Apr",gegužė:"May",birželis:"Jun",liepa:"Jul",rugpjūtis:"Aug",rugsėjis:"Sep",spalis:"Oct",lapkritis:"Nov",gruodis:"Dec",lubingu:"Sa",lumingu:"Su",nkodya:"Mo",ndàayà:"Tu",ndangù:"We",njòwa:"Th",ngòvya:"Fr",lub:"Sa",nko:"Mo",ndy:"Tu",ndg:"We",njw:"Th",ngv:"Fr",ciongo:"Jan",lùishi:"Feb",lusòlo:"Mar",mùuyà:"Apr",lumùngùlù:"May",lufuimi:"Jun",kabàlàshìpù:"Jul",lùshìkà:"Aug",lutongolo:"Sep",lungùdi:"Oct",kaswèkèsè:"Nov",ciswà:"Dec",cio:"Jan",lus:"Mar",muu:"Apr",luf:"Jun",kab:"Jul",lush:"Aug",cis:"Dec",sestdiena:"Sa",svētdiena:"Su",pirmdiena:"Mo",otrdiena:"Tu",trešdiena:"We",ceturtdiena:"Th",piektdiena:"Fr","sestd\\.":"Sa","svētd\\.":"Su","pirmd\\.":"Mo","otrd\\.":"Tu","trešd\\.":"We","ceturtd\\.":"Th","piektd\\.":"Fr",janvāris:"Jan",februāris:"Feb",aprīlis:"Apr",maijs:"May",jūnijs:"Jun",jūlijs:"Jul",augusts:"Aug",septembris:"Sep",oktobris:"Oct",novembris:"Nov",decembris:"Dec","jūn\\.":"Jun","jūl\\.":"Jul",asabotsy:"Sa",alahady:"Su",alatsinainy:"Mo",alarobia:"We",alakamisy:"Th",zoma:"Fr",asab:"Sa",alah:"Su",alats:"Mo",alar:"We",alak:"Th",zom:"Fr",janoary:"Jan",febroary:"Feb",martsa:"Mar",aprily:"Apr",mey:"May",jona:"Jun",jolay:"Jul",aogositra:"Aug",septambra:"Sep",oktobra:"Oct",novambra:"Nov",desambra:"Dec",aog:"Aug",rāhoroi:"Sa",rātapu:"Su",mane:"Mo",tūrei:"Tu",wenerei:"We",tāite:"Th",paraire:"Fr",rāh:"Sa",rāt:"Su",man:"Mo",tūr:"Tu",tāi:"Th",par:"Fr",hānuere:"Jan",pēpuere:"Feb",māehe:"Mar",āperira:"Apr",hune:"Jun",hūrae:"Jul",ākuhata:"Aug",hepetema:"Sep",oketopa:"Oct",noema:"Nov",tīhema:"Dec",hān:"Jan",pēp:"Feb",māe:"Mar",āpe:"Apr",hun:"Jun",hūr:"Jul",āku:"Aug",hep:"Sep",oke:"Oct",noe:"Nov",tīh:"Dec",сабота:"Sa",недела:"Su",среда:"We",четврток:"Th",петок:"Fr","саб\\.":"Sa","нед\\.":"Su","пон\\.":"Mo","вто\\.":"Tu","сре\\.":"We","чет\\.":"Th","пет\\.":"Fr",јануари:"Jan",мај:"May",јуни:"Jun",јули:"Jul","јан\\.":"Jan","фев\\.":"Feb","мар\\.":"Mar","апр\\.":"Apr","јун\\.":"Jun","јул\\.":"Jul","авг\\.":"Aug","сеп\\.":"Sep","окт\\.":"Oct","ное\\.":"Nov","дек\\.":"Dec",ശനിയാഴ്ച:"Sa",ഞായറാഴ്ച:"Su",തിങ്കളാഴ്ച:"Mo",ചൊവ്വാഴ്ച:"Tu",ബുധനാഴ്ച:"We",വ്യാഴാഴ്ച:"Th",വെള്ളിയാഴ്ച:"Fr",ശനി:"Sa","ഞായർ":"Su","തിങ്കൾ":"Mo",ചൊവ്വ:"Tu","ബുധൻ":"We",വ്യാഴം:"Th",വെള്ളി:"Fr",ജനുവരി:"Jan",ഫെബ്രുവരി:"Feb","മാർച്ച്":"Mar","ഏപ്രിൽ":"Apr",മേയ്:"May","ജൂൺ":"Jun",ജൂലൈ:"Jul",ഓഗസ്റ്റ്:"Aug","സെപ്റ്റംബർ":"Sep","ഒക്ടോബർ":"Oct","നവംബർ":"Nov","ഡിസംബർ":"Dec",ജനു:"Jan",ഫെബ്രു:"Feb","മാർ":"Mar",ഏപ്രി:"Apr",ഓഗ:"Aug",സെപ്റ്റം:"Sep",ഒക്ടോ:"Oct",നവം:"Nov",ഡിസം:"Dec",бямба:"Sa",ням:"Su",даваа:"Mo",мягмар:"Tu",лхагва:"We",пүрэв:"Th",баасан:"Fr",бя:"Sa",ня:"Su",да:"Mo",мя:"Tu",лх:"We",пү:"Th",ба:"Fr","нэгдүгээр сар":"Jan","хоёрдугаар сар":"Feb","гуравдугаар сар":"Mar","дөрөвдүгээр сар":"Apr","тавдугаар сар":"May","зургаадугаар сар":"Jun","долоодугаар сар":"Jul","наймдугаар сар":"Aug","есдүгээр сар":"Sep","аравдугаар сар":"Oct","арван нэгдүгээр сар":"Nov","арван хоёрдугаар сар":"Dec","1-р сар":"Jan","2-р сар":"Feb","3-р сар":"Mar","4-р сар":"Apr","5-р сар":"May","6-р сар":"Jun","7-р сар":"Jul","8-р сар":"Aug","9-р сар":"Sep","10-р сар":"Oct","11-р сар":"Nov","12-р сар":"Dec",sâmbătă:"Sa",duminică:"Su",luni:"Mo",marți:"Tu",miercuri:"We",joi:"Th",vineri:"Fr","sâm\\.":"Sa","dum\\.":"Su","mie\\.":"We","vin\\.":"Fr",ianuarie:"Jan",martie:"Mar",aprilie:"Apr",iunie:"Jun",iulie:"Jul",septembrie:"Sep",octombrie:"Oct",noiembrie:"Nov",decembrie:"Dec","ian\\.":"Jan","iun\\.":"Jun","iul\\.":"Jul",मंगळवार:"Tu",मंगळ:"Tu",जानेवारी:"Jan",फेब्रुवारी:"Feb",एप्रिल:"Apr",मे:"May",जुलै:"Jul",ऑगस्ट:"Aug",सप्टेंबर:"Sep",ऑक्टोबर:"Oct",नोव्हेंबर:"Nov",डिसेंबर:"Dec",जाने:"Jan",फेब्रु:"Feb",एप्रि:"Apr",ऑग:"Aug",सप्टें:"Sep",ऑक्टो:"Oct",नोव्हें:"Nov",डिसें:"Dec",isnin:"Mo",khamis:"Th",jumaat:"Fr",ahd:"Su",isn:"Mo",kha:"Th",julai:"Jul",ogos:"Aug",disember:"Dec",ogo:"Aug","is-sibt":"Sa","il-ħadd":"Su","it-tnejn":"Mo","it-tlieta":"Tu","l-erbgħa":"We","il-ħamis":"Th","il-ġimgħa":"Fr",ħad:"Su",tne:"Mo",tli:"Tu",erb:"We",ħam:"Th",ġim:"Fr",jannar:"Jan",frar:"Feb",marzu:"Mar",mejju:"May",ġunju:"Jun",lulju:"Jul",awwissu:"Aug",settembru:"Sep",ottubru:"Oct",novembru:"Nov",diċembru:"Dec",fra:"Feb",mej:"May",ġun:"Jun",lul:"Jul",aww:"Aug",diċ:"Dec",စနေ:"Sa","တနင်္ဂနွေ":"Su","တနင်္လာ":"Mo","အင်္ဂါ":"Tu",ဗုဒ္ဓဟူး:"We","ကြာသပတေး":"Th","သောကြာ":"Fr","ဇန်နဝါရီ":"Jan","ဖေဖော်ဝါရီ":"Feb","မတ်":"Mar","ဧပြီ":"Apr",မေ:"May","ဇွန်":"Jun","ဇူလိုင်":"Jul","ဩဂုတ်":"Aug","စက်တင်ဘာ":"Sep","အောက်တိုဘာ":"Oct","နိုဝင်ဘာ":"Nov","ဒီဇင်ဘာ":"Dec","ဇန်":"Jan",ဖေ:"Feb",ဧ:"Apr",ဇူ:"Jul",ဩ:"Aug","စက်":"Sep","အောက်":"Oct",နို:"Nov",ဒီ:"Dec","tir\\.":"Tu",mgqibelo:"Sa",sonto:"Su",mvulo:"Mo",sibili:"Tu",sithathu:"We",sine:"Th",sihlanu:"Fr",mgq:"Sa",sin:"Th",sih:"Fr",zibandlela:"Jan",nhlolanja:"Feb",mbimbitho:"Mar",mabasa:"Apr",nkwenkwezi:"May",nhlangula:"Jun",ntulikazi:"Jul",ncwabakazi:"Aug",mpandula:"Sep",mfumfu:"Oct",lwezi:"Nov",mpalakazi:"Dec",zib:"Jan",nhlo:"Feb",mab:"Apr",nkw:"May",nhla:"Jun",ntu:"Jul",ncw:"Aug",mpan:"Sep",mpal:"Dec",शनिबार:"Sa",आइतबार:"Su",सोमबार:"Mo",मङ्गलबार:"Tu",बुधबार:"We",बिहिबार:"Th",शुक्रबार:"Fr",आइत:"Su",मङ्गल:"Tu",बिहि:"Th",फेब्रुअरी:"Feb",अप्रिल:"Apr",जुन:"Jun",अगस्ट:"Aug",सेप्टेम्बर:"Sep",अक्टोबर:"Oct",नोभेम्बर:"Nov",डिसेम्बर:"Dec",zaterdag:"Sa",zondag:"Su",vrijdag:"Fr",za:"Sa",zo:"Su",vr:"Fr",laurdag:"Sa",måndag:"Mo",tysdag:"Tu",lau:"Sa",søn:"Su",mån:"Mo",tys:"Tu",ons:"We",tor:"Th",dimenge:"Su",diluns:"Mo",dimars:"Tu",dimècres:"We",dijòus:"Th","de genièr":"Jan","de febrièr":"Feb","de març":"Mar","d’abril":"Apr","de mai":"May","de junh":"Jun","de julhet":"Jul","d’agost":"Aug","de setembre":"Sep","d’octòbre":"Oct","de novembre":"Nov","de decembre":"Dec",sanbata:"Sa",dilbata:"Su",wiixata:"Mo",kibxata:"Tu",roobii:"We",kamisa:"Th",jimaata:"Fr",wix:"Mo",kib:"Tu",rob:"We",amajjii:"Jan",guraandhala:"Feb",bitootessa:"Mar",eebila:"Apr",caamsaa:"May",waxabajjii:"Jun",adoolessa:"Jul",hagayya:"Aug",fulbaana:"Sep",onkoloolessa:"Oct",sadaasa:"Nov",mudde:"Dec",ama:"Jan",gur:"Feb",elb:"Apr",cam:"May",wax:"Jun",ado:"Jul",hag:"Aug",onk:"Oct",mud:"Dec",ଶନିବାର:"Sa",ରବିବାର:"Su",ସୋମବାର:"Mo",ମଙ୍ଗଳବାର:"Tu",ବୁଧବାର:"We",ଗୁରୁବାର:"Th",ଶୁକ୍ରବାର:"Fr",ଶନି:"Sa",ରବି:"Su",ସୋମ:"Mo",ମଙ୍ଗଳ:"Tu",ବୁଧ:"We",ଗୁରୁ:"Th",ଶୁକ୍ର:"Fr",ଜାନୁଆରୀ:"Jan",ଫେବୃଆରୀ:"Feb",ମାର୍ଚ୍ଚ:"Mar",ଅପ୍ରେଲ:"Apr",ମଇ:"May",ଜୁନ:"Jun",ଜୁଲାଇ:"Jul",ଅଗଷ୍ଟ:"Aug",ସେପ୍ଟେମ୍ବର:"Sep",ଅକ୍ଟୋବର:"Oct",ନଭେମ୍ବର:"Nov",ଡିସେମ୍ବର:"Dec",сабат:"Sa",хуыцаубон:"Su",къуырисӕр:"Mo",дыццӕг:"Tu",ӕртыццӕг:"We",цыппӕрӕм:"Th",майрӕмбон:"Fr",сбт:"Sa",хцб:"Su",крс:"Mo",дцг:"Tu",ӕрт:"We",цпр:"Th",мрб:"Fr",мартъи:"Mar","янв\\.":"Jan","февр\\.":"Feb","март\\.":"Mar","сент\\.":"Sep","нояб\\.":"Nov",ਸ਼ਨਿੱਚਰਵਾਰ:"Sa",ਐਤਵਾਰ:"Su",ਸੋਮਵਾਰ:"Mo",ਮੰਗਲਵਾਰ:"Tu",ਬੁੱਧਵਾਰ:"We",ਵੀਰਵਾਰ:"Th",ਸ਼ੁੱਕਰਵਾਰ:"Fr",ਸ਼ਨਿੱਚਰ:"Sa",ਐਤ:"Su",ਸੋਮ:"Mo",ਮੰਗਲ:"Tu",ਬੁੱਧ:"We",ਵੀਰ:"Th",ਸ਼ੁੱਕਰ:"Fr",ਜਨਵਰੀ:"Jan",ਫ਼ਰਵਰੀ:"Feb",ਮਾਰਚ:"Mar",ਅਪ੍ਰੈਲ:"Apr",ਮਈ:"May",ਜੂਨ:"Jun",ਜੁਲਾਈ:"Jul",ਅਗਸਤ:"Aug",ਸਤੰਬਰ:"Sep",ਅਕਤੂਬਰ:"Oct",ਨਵੰਬਰ:"Nov",ਦਸੰਬਰ:"Dec",ਜਨ:"Jan",ਫ਼ਰ:"Feb",ਅਪ੍ਰੈ:"Apr",ਜੁਲਾ:"Jul",ਅਗ:"Aug",ਸਤੰ:"Sep",ਅਕਤੂ:"Oct",ਨਵੰ:"Nov",ਦਸੰ:"Dec",niedziela:"Su",poniedziałek:"Mo",wtorek:"Tu",środa:"We",czwartek:"Th",piątek:"Fr","sob\\.":"Sa","niedz\\.":"Su","pon\\.":"Mo","wt\\.":"Tu","śr\\.":"We","czw\\.":"Th","pt\\.":"Fr",styczeń:"Jan",luty:"Feb",marzec:"Mar",kwiecień:"Apr",czerwiec:"Jun",lipiec:"Jul",sierpień:"Aug",wrzesień:"Sep",październik:"Oct",grudzień:"Dec",sty:"Jan",kwi:"Apr",sie:"Aug",wrz:"Sep",paź:"Oct",gru:"Dec",اونۍ:"Sa",يونۍ:"Su",دونۍ:"Mo",درېنۍ:"Tu",څلرنۍ:"We",پينځنۍ:"Th",مرغومی:"Jan",سلواغه:"Feb",کب:"Mar",وری:"Apr",غویی:"May",غبرگولی:"Jun",چنگاښ:"Jul",زمری:"Aug",وږی:"Sep",تله:"Oct",لړم:"Nov",لیندۍ:"Dec","segunda-feira":"Mo","terça-feira":"Tu","quarta-feira":"We","quinta-feira":"Th","sexta-feira":"Fr","seg\\.":"Mo","ter\\.":"Tu","qua\\.":"We","qui\\.":"Th","sex\\.":"Fr",janeiro:"Jan",fevereiro:"Feb",março:"Mar",junho:"Jun",julho:"Jul",dezembro:"Dec","fev\\.":"Feb","dez\\.":"Dec",setiembre:"Sep",sonda:"Sa",dumengia:"Su",glindesdi:"Mo",mesemna:"We",gievgia:"Th",venderdi:"Fr",gli:"Mo",gie:"Th",schaner:"Jan",favrer:"Feb",avrigl:"Apr",matg:"May",zercladur:"Jun",fanadur:"Jul",avust:"Aug",settember:"Sep","schan\\.":"Jan","favr\\.":"Feb","zercl\\.":"Jun","fan\\.":"Jul","sett\\.":"Sep","ku wa gatandatu":"Sa","ku w’indwi":"Su","ku wa mbere":"Mo","ku wa kabiri":"Tu","ku wa gatatu":"We","ku wa kane":"Th","ku wa gatanu":"Fr","gnd\\.":"Sa","cu\\.":"Su","mbe\\.":"Mo","kab\\.":"Tu","gtu\\.":"We","gnu\\.":"Fr",nzero:"Jan",ruhuhuma:"Feb",ntwarante:"Mar",ndamukiza:"Apr",rusama:"May",ruheshi:"Jun",mukakaro:"Jul",nyandagaro:"Aug",gitugutu:"Oct",munyonyo:"Nov",kigarama:"Dec","mut\\.":"Jan","gas\\.":"Feb","wer\\.":"Mar","mat\\.":"Apr","gic\\.":"May","kam\\.":"Jun","nya\\.":"Jul","nze\\.":"Sep","ukw\\.":"Oct","ugu\\.":"Nov","uku\\.":"Dec",суббота:"Sa",воскресенье:"Su",понедельник:"Mo",четверг:"Th",пятница:"Fr","kuwa gatandatu":"Sa","ku cyumweru":"Su","kuwa mbere":"Mo","kuwa kabiri":"Tu","kuwa gatatu":"We","kuwa kane":"Th","kuwa gatanu":"Fr","cyu\\.":"Su",mutarama:"Jan",gashyantare:"Feb",werurwe:"Mar",mata:"Apr",gicurasi:"May",kamena:"Jun",kanama:"Aug",nzeri:"Sep",ukwakira:"Oct",ugushyingo:"Nov",ukuboza:"Dec",शनिवासरः:"Sa",रविवासरः:"Su",सोमवासरः:"Mo",मंगलवासरः:"Tu",बुधवासरः:"We","गुरुवासर:":"Th",शुक्रवासरः:"Fr",जनवरीमासः:"Jan",फरवरीमासः:"Feb",मार्चमासः:"Mar",अप्रैलमासः:"Apr",मईमासः:"May",जूनमासः:"Jun",जुलाईमासः:"Jul",अगस्तमासः:"Aug",सितंबरमासः:"Sep",अक्तूबरमासः:"Oct",नवंबरमासः:"Nov",दिसंबरमासः:"Dec","जनवरी:":"Jan","फरवरी:":"Feb","मार्च:":"Mar","अप्रैल:":"Apr","जून:":"Jun","जुलाई:":"Jul","अगस्त:":"Aug","सितंबर:":"Sep","अक्तूबर:":"Oct","नवंबर:":"Nov","दिसंबर:":"Dec",sàbadu:"Sa",domìniga:"Su",lunis:"Mo",martis:"Tu",mèrcuris:"We",giòbia:"Th",chenàbura:"Fr",sàb:"Sa",mèr:"We",giò:"Th",ghennàrgiu:"Jan",freàrgiu:"Feb",martzu:"Mar",abrile:"Apr",maju:"May",làmpadas:"Jun",trìulas:"Jul",austu:"Aug",cabudanni:"Sep",santugaine:"Oct",santandria:"Nov",nadale:"Dec",ghe:"Jan",làm:"Jun",trì:"Jul",aus:"Aug",cab:"Sep",stg:"Oct",sta:"Nov",nad:"Dec",ڇنڇر:"Sa",آچر:"Su",سومر:"Mo",اڱارو:"Tu",اربع:"We",خميس:"Th",جمعو:"Fr",جنوري:"Jan",فيبروري:"Feb",مارچ:"Mar",اپريل:"Apr",مئي:"May",جون:"Jun",جولاءِ:"Jul",آگسٽ:"Aug",سيپٽمبر:"Sep",آڪٽوبر:"Oct",ڊسمبر:"Dec",lávvardat:"Sa",sotnabeaivi:"Su",vuossárga:"Mo",maŋŋebárga:"Tu",gaskavahkku:"We",duorasdat:"Th",bearjadat:"Fr",láv:"Sa",sotn:"Su",vuos:"Mo",maŋ:"Tu",gask:"We",duor:"Th",bear:"Fr",ođđajagemánnu:"Jan",guovvamánnu:"Feb",njukčamánnu:"Mar",cuoŋománnu:"Apr",miessemánnu:"May",geassemánnu:"Jun",suoidnemánnu:"Jul",borgemánnu:"Aug",čakčamánnu:"Sep",golggotmánnu:"Oct",skábmamánnu:"Nov",juovlamánnu:"Dec",ođđj:"Jan",guov:"Feb",njuk:"Mar",cuo:"Apr",mies:"May",geas:"Jun",suoi:"Jul",borg:"Aug",čakč:"Sep",golg:"Oct",skáb:"Nov",juov:"Dec",lâyenga:"Sa","bikua-ôko":"Su","bïkua-ûse":"Mo","bïkua-ptâ":"Tu","bïkua-usïö":"We","bïkua-okü":"Th",lâpôsö:"Fr",lây:"Sa",bk1:"Su",bk2:"Mo",bk3:"Tu",bk4:"We",bk5:"Th",lâp:"Fr",nyenye:"Jan",fulundïgi:"Feb",mbängü:"Mar",ngubùe:"Apr",bêläwü:"May",föndo:"Jun",lengua:"Jul",kükürü:"Aug",mvuka:"Sep",ngberere:"Oct",nabändüru:"Nov",kakauka:"Dec",nye:"Jan",mbä:"Mar",bêl:"May",fön:"Jun",len:"Jul",kük:"Aug",nab:"Nov",kak:"Dec",nedelja:"Su",ponedeljak:"Mo",sreda:"We",sre:"We",avgust:"Aug",avg:"Aug",සෙනසුරාදා:"Sa",ඉරිදා:"Su",සඳුදා:"Mo",අඟහරුවාදා:"Tu",බදාදා:"We",බ්රහස්පතින්දා:"Th",සිකුරාදා:"Fr",සෙන:"Sa",අඟහ:"Tu",බ්රහස්:"Th",සිකු:"Fr",ජනවාරි:"Jan",පෙබරවාරි:"Feb",මාර්තු:"Mar",අප්රේල්:"Apr",මැයි:"May",ජූනි:"Jun",ජූලි:"Jul",අගෝස්තු:"Aug",සැප්තැම්බර්:"Sep",ඔක්තෝබර්:"Oct",නොවැම්බර්:"Nov",දෙසැම්බර්:"Dec",ජන:"Jan",පෙබ:"Feb",මාර්:"Mar",අගෝ:"Aug",සැප්:"Sep",ඔක්:"Oct",නොවැ:"Nov",දෙසැ:"Dec",nedeľa:"Su",pondelok:"Mo",utorok:"Tu",streda:"We",štvrtok:"Th",piatok:"Fr",marec:"Mar",máj:"May",jún:"Jun",júl:"Jul",ponedeljek:"Mo",torek:"Tu",četrtek:"Th",petek:"Fr","ned\\.":"Su","sre\\.":"We","čet\\.":"Th","pet\\.":"Fr",junij:"Jun",julij:"Jul","avg\\.":"Aug",mugovera:"Sa",svondo:"Su",muvhuro:"Mo",chipiri:"Tu",chitatu:"We",china:"Th",chishanu:"Fr",svo:"Su",muv:"Mo",chp:"Tu",cht:"We",chn:"Th",chs:"Fr",ndira:"Jan",kukadzi:"Feb",kurume:"Mar",kubvumbi:"Apr",chivabvu:"May",chikumi:"Jun",chikunguru:"Jul",nyamavhuvhu:"Aug",gunyana:"Sep",gumiguru:"Oct",mbudzi:"Nov",zvita:"Dec",ndi:"Jan",kuk:"Feb",kub:"Apr",chv:"May",chk:"Jun",chg:"Jul",nya:"Aug",gun:"Sep",gum:"Oct",mbu:"Nov",zvi:"Dec",sabti:"Sa",axad:"Su",isniin:"Mo",talaado:"Tu",arbaco:"We",khamiis:"Th",jimco:"Fr",sbti:"Sa",axd:"Su",tldo:"Tu",arbc:"We",khms:"Th",jmc:"Fr",jannaayo:"Jan",febraayo:"Feb",maarso:"Mar",abriil:"Apr",maayo:"May",juun:"Jun",luulyo:"Jul",ogosto:"Aug",sebteembar:"Sep",oktoobar:"Oct",noofeembar:"Nov",diseembar:"Dec",ogs:"Aug",nof:"Nov","e shtunë":"Sa","e diel":"Su","e hënë":"Mo","e martë":"Tu","e mërkurë":"We","e enjte":"Th","e premte":"Fr",die:"Su",hën:"Mo",mër:"We",enj:"Th",pre:"Fr",janar:"Jan",shkurt:"Feb",prill:"Apr",qershor:"Jun",korrik:"Jul",gusht:"Aug",shtator:"Sep",tetor:"Oct",nëntor:"Nov",dhjetor:"Dec",shk:"Feb",pri:"Apr",qer:"Jun",korr:"Jul",gush:"Aug",tet:"Oct",nën:"Nov",dhj:"Dec",недеља:"Su",понедељак:"Mo",уторак:"Tu",четвртак:"Th",петак:"Fr",суб:"Sa",нед:"Su",пон:"Mo",уто:"Tu",сре:"We",чет:"Th",пет:"Fr",јануар:"Jan",фебруар:"Feb",јун:"Jun",јул:"Jul",септембар:"Sep",октобар:"Oct",новембар:"Nov",децембар:"Dec",јан:"Jan",феб:"Feb",сеп:"Sep",нов:"Nov",дец:"Dec",moqebelo:"Sa",sontaha:"Su",mantaha:"Mo",labobedi:"Tu",laboraro:"We",labone:"Th",labohlano:"Fr",moq:"Sa",mma:"Mo",bed:"Tu",hla:"Fr",pherekgong:"Jan",hlakola:"Feb",hlakubele:"Mar",mmesa:"Apr",motsheanong:"May",phupjane:"Jun",phupu:"Jul",phato:"Aug",lwetse:"Sep",mphalane:"Oct",pudungwana:"Nov",tshitwe:"Dec",phe:"Jan",ube:"Mar",mme:"Apr",mot:"May",jan:"Jun",upu:"Jul",pha:"Aug",leo:"Sep",mph:"Oct",pun:"Nov",saptu:"Sa",senén:"Mo",salasa:"Tu",rebo:"We",kemis:"Th",jumaah:"Fr",mng:"Su",sal:"Tu",reb:"We",kem:"Th",pébruari:"Feb",séptémber:"Sep",nopémber:"Nov",désémber:"Dec",péb:"Feb",ags:"Aug",sép:"Sep",nop:"Nov",dés:"Dec",lördag:"Sa",söndag:"Su",tisdag:"Tu",lör:"Sa",sön:"Su",tors:"Th",augusti:"Aug",jumamosi:"Sa",jumapili:"Su",jumatatu:"Mo",jumanne:"Tu",jumatano:"We",alhamisi:"Th",ijumaa:"Fr",machi:"Mar",aprili:"Apr",agosti:"Aug",சனி:"Sa",ஞாயிறு:"Su",திங்கள்:"Mo",செவ்வாய்:"Tu",புதன்:"We",வியாழன்:"Th",வெள்ளி:"Fr","ஞாயி\\.":"Su","திங்\\.":"Mo","செவ்\\.":"Tu","புத\\.":"We","வியா\\.":"Th","வெள்\\.":"Fr",ஜனவரி:"Jan",பிப்ரவரி:"Feb",மார்ச்:"Mar",ஏப்ரல்:"Apr",மே:"May",ஜூன்:"Jun",ஜூலை:"Jul",ஆகஸ்ட்:"Aug",செப்டம்பர்:"Sep",அக்டோபர்:"Oct",நவம்பர்:"Nov",டிசம்பர்:"Dec","ஜன\\.":"Jan","பிப்\\.":"Feb","மார்\\.":"Mar","ஏப்\\.":"Apr","ஆக\\.":"Aug","செப்\\.":"Sep","அக்\\.":"Oct","நவ\\.":"Nov","டிச\\.":"Dec",శనివారం:"Sa",ఆదివారం:"Su",సోమవారం:"Mo",మంగళవారం:"Tu",బుధవారం:"We",గురువారం:"Th",శుక్రవారం:"Fr",శని:"Sa",ఆది:"Su",సోమ:"Mo",మంగళ:"Tu",బుధ:"We",గురు:"Th",శుక్ర:"Fr",జనవరి:"Jan",ఫిబ్రవరి:"Feb",మార్చి:"Mar",ఏప్రిల్:"Apr",మే:"May",జూన్:"Jun",జులై:"Jul",ఆగస్టు:"Aug",సెప్టెంబర్:"Sep",అక్టోబర్:"Oct",నవంబర్:"Nov",డిసెంబర్:"Dec",జన:"Jan",ఫిబ్ర:"Feb",ఏప్రి:"Apr",ఆగ:"Aug",సెప్టెం:"Sep",అక్టో:"Oct",నవం:"Nov",డిసెం:"Dec",шанбе:"Sa",якшанбе:"Su",душанбе:"Mo",сешанбе:"Tu",чоршанбе:"We",панҷшанбе:"Th",ҷумъа:"Fr",шнб:"Sa",яшб:"Su",дшб:"Mo",сшб:"Tu",чшб:"We",пшб:"Th",ҷмъ:"Fr",январ:"Jan",феврал:"Feb",апрел:"Apr",сентябр:"Sep",октябр:"Oct",ноябр:"Nov",декабр:"Dec",วันเสาร์:"Sa",วันอาทิตย์:"Su",วันจันทร์:"Mo",วันอังคาร:"Tu",วันพุธ:"We",วันพฤหัสบดี:"Th",วันศุกร์:"Fr","ส\\.":"Sa","อา\\.":"Su","จ\\.":"Mo","อ\\.":"Tu","พ\\.":"We","พฤ\\.":"Th","ศ\\.":"Fr",มกราคม:"Jan",กุมภาพันธ์:"Feb",มีนาคม:"Mar",เมษายน:"Apr",พฤษภาคม:"May",มิถุนายน:"Jun",กรกฎาคม:"Jul",สิงหาคม:"Aug",กันยายน:"Sep",ตุลาคม:"Oct",พฤศจิกายน:"Nov",ธันวาคม:"Dec","ม\\.ค\\.":"Jan","ก\\.พ\\.":"Feb","มี\\.ค\\.":"Mar","เม\\.ย\\.":"Apr","พ\\.ค\\.":"May","มิ\\.ย\\.":"Jun","ก\\.ค\\.":"Jul","ส\\.ค\\.":"Aug","ก\\.ย\\.":"Sep","ต\\.ค\\.":"Oct","พ\\.ย\\.":"Nov","ธ\\.ค\\.":"Dec",ቀዳም:"Sa",ሰንበት:"Su",ሰኑይ:"Mo",ሰሉስ:"Tu",ሓሙስ:"Th",ዓርቢ:"Fr",ቀዳ:"Sa",ሰን:"Su",ሰኑ:"Mo",ሰሉ:"Tu",ረቡ:"We",ሓሙ:"Th",ዓር:"Fr",ጥሪ:"Jan",ለካቲት:"Feb",መጋቢት:"Mar",ሚያዝያ:"Apr",ጉንበት:"May",ሰነ:"Jun",ሓምለ:"Jul",ነሓሰ:"Aug",መስከረም:"Sep",ጥቅምቲ:"Oct",ሕዳር:"Nov",ታሕሳስ:"Dec",ለካ:"Feb",መጋ:"Mar",ሚያ:"Apr",ግን:"May",ሓም:"Jul",ነሓ:"Aug",መስ:"Sep",ጥቅ:"Oct",ሕዳ:"Nov",ታሕ:"Dec",şenbe:"Sa",ýekşenbe:"Su",duşenbe:"Mo",sişenbe:"Tu",çarşenbe:"We",penşenbe:"Th",anna:"Fr",şen:"Sa",ýek:"Su",duş:"Mo",siş:"Tu",çar:"We",pen:"Th",ann:"Fr",ýanwar:"Jan",fewral:"Feb",maý:"May",iýun:"Jun",iýul:"Jul",awgust:"Aug",sentýabr:"Sep",oktýabr:"Oct",noýabr:"Nov",ýan:"Jan",few:"Feb",awg:"Aug",noý:"Nov",sabado:"Sa",linggo:"Su",miyerkules:"We",huwebes:"Th",biyernes:"Fr",miy:"We",huw:"Th",biy:"Fr",pebrero:"Feb",marso:"Mar",hunyo:"Jun",hulyo:"Jul",setyembre:"Sep",oktubre:"Oct",nobyembre:"Nov",disyembre:"Dec",peb:"Feb",hul:"Jul",nob:"Nov",matlhatso:"Sa",tshipi:"Su",mosupologo:"Mo",labotlhano:"Fr",mos:"Mo",labb:"Tu",labr:"We",labn:"Th",labt:"Fr",ferikgong:"Jan",tlhakole:"Feb",mopitlo:"Mar",moranang:"Apr",motsheganang:"May",seetebosigo:"Jun",phukwi:"Jul",phatwe:"Aug",diphalane:"Oct",ngwanatsele:"Nov",sedimonthole:"Dec",fer:"Jan",tlh:"Feb",mop:"Mar",phu:"Jul",ngw:"Nov",sed:"Dec",tokonaki:"Sa",sāpate:"Su",mōnite:"Mo",tūsite:"Tu",pulelulu:"We",tuʻapulelulu:"Th",falaite:"Fr",tok:"Sa",sāp:"Su",mōn:"Mo",tūs:"Tu",pul:"We",tuʻa:"Th",fal:"Fr",sānuali:"Jan",fēpueli:"Feb",maʻasi:"Mar",ʻepeleli:"Apr",mē:"May",sune:"Jun",siulai:"Jul",ʻaokosi:"Aug",sepitema:"Sep",ʻokatopa:"Oct",nōvema:"Nov",tīsema:"Dec",sān:"Jan",fēp:"Feb",maʻa:"Mar",ʻepe:"Apr",siu:"Jul",ʻaok:"Aug",sēp:"Sep",ʻoka:"Oct",nōv:"Nov",tīs:"Dec",cumartesi:"Sa",pazar:"Su",pazartesi:"Mo",salı:"Tu",çarşamba:"We",perşembe:"Th",cuma:"Fr",paz:"Su",pzt:"Mo",per:"Th",cum:"Fr",ocak:"Jan",şubat:"Feb",nisan:"Apr",mayıs:"May",haziran:"Jun",temmuz:"Jul",ağustos:"Aug",eylül:"Sep",ekim:"Oct",kasım:"Nov",aralık:"Dec",oca:"Jan",şub:"Feb",nis:"Apr",haz:"Jun",tem:"Jul",ağu:"Aug",eyl:"Sep",eki:"Oct",шимбә:"Sa",якшәмбе:"Su",дүшәмбе:"Mo",сишәмбе:"Tu",чәршәмбе:"We",пәнҗешәмбе:"Th",җомга:"Fr","шим\\.":"Sa","якш\\.":"Su","дүш\\.":"Mo","сиш\\.":"Tu","чәр\\.":"We","пәнҗ\\.":"Th","җом\\.":"Fr",гыйнвар:"Jan","гыйн\\.":"Jan",شەنبە:"Sa",يەكشەنبە:"Su",دۈشەنبە:"Mo",سەيشەنبە:"Tu",چارشەنبە:"We",پەيشەنبە:"Th",جۈمە:"Fr",شە:"Sa",يە:"Su",دۈ:"Mo",سە:"Tu",چا:"We",پە:"Th",جۈ:"Fr",يانۋار:"Jan",فېۋرال:"Feb",مارت:"Mar",ئاپرېل:"Apr",ماي:"May",ئىيۇن:"Jun",ئىيۇل:"Jul",ئاۋغۇست:"Aug",سېنتەبىر:"Sep",ئۆكتەبىر:"Oct",نويابىر:"Nov",دېكابىر:"Dec",неділя:"Su",понеділок:"Mo",вівторок:"Tu",середа:"We",четвер:"Th",пʼятниця:"Fr",січень:"Jan",лютий:"Feb",березень:"Mar",квітень:"Apr",травень:"May",червень:"Jun",липень:"Jul",серпень:"Aug",вересень:"Sep",жовтень:"Oct",листопад:"Nov",грудень:"Dec","січ\\.":"Jan","лют\\.":"Feb","бер\\.":"Mar","квіт\\.":"Apr","трав\\.":"May","черв\\.":"Jun","лип\\.":"Jul","серп\\.":"Aug","вер\\.":"Sep","жовт\\.":"Oct","лист\\.":"Nov","груд\\.":"Dec",ہفتہ:"Sa",اتوار:"Su",پیر:"Mo",منگل:"Tu",بدھ:"We",جمعرات:"Th",جمعہ:"Fr",جنوری:"Jan",فروری:"Feb",جولائی:"Jul",اکتوبر:"Oct",shanba:"Sa",yakshanba:"Su",dushanba:"Mo",seshanba:"Tu",chorshanba:"We",payshanba:"Th",shan:"Sa",yak:"Su",dush:"Mo",sesh:"Tu",chor:"We",sentabr:"Sep",oktabr:"Oct","thứ bảy":"Sa","chủ nhật":"Su","thứ hai":"Mo","thứ ba":"Tu","thứ tư":"We","thứ năm":"Th","thứ sáu":"Fr","th 7":"Sa",cn:"Su","th 2":"Mo","th 3":"Tu","th 4":"We","th 5":"Th","th 6":"Fr","tháng 1":"Jan","tháng 2":"Feb","tháng 3":"Mar","tháng 4":"Apr","tháng 5":"May","tháng 6":"Jun","tháng 7":"Jul","tháng 8":"Aug","tháng 9":"Sep","tháng 10":"Oct","tháng 11":"Nov","tháng 12":"Dec",aseer:"Sa",dibéer:"Su",altine:"Mo",talaata:"Tu",àlarba:"We",alxamis:"Th",àjjuma:"Fr",ase:"Sa",dib:"Su",alt:"Mo",àla:"We",alx:"Th",àjj:"Fr",samwiyee:"Jan",fewriyee:"Feb",awril:"Apr",suwe:"Jun",sulet:"Jul",sàttumbar:"Sep",nowàmbar:"Nov",desàmbar:"Dec",awr:"Apr",suw:"Jun",sàt:"Sep",cawe:"Su",lwesibini:"Tu",lwesithathu:"We",lwesine:"Th",lwesihlanu:"Fr",caw:"Su",bin:"Tu",janyuwari:"Jan",februwari:"Feb",matshi:"Mar",epreli:"Apr",meyi:"May",julayi:"Jul",agasti:"Aug",okthoba:"Oct",aga:"Aug",àbámẹ́ta:"Sa",àìkú:"Su",ajé:"Mo",ìsẹ́gun:"Tu",ọjọ́rú:"We",ọjọ́bọ:"Th",ẹtì:"Fr","oṣù ṣẹ́rẹ́":"Jan","oṣù èrèlè":"Feb","oṣù ẹrẹ̀nà":"Mar","oṣù ìgbé":"Apr","oṣù ẹ̀bibi":"May","oṣù òkúdu":"Jun","oṣù agẹmọ":"Jul","oṣù ògún":"Aug","oṣù owewe":"Sep","oṣù ọ̀wàrà":"Oct","oṣù bélú":"Nov","oṣù ọ̀pẹ̀":"Dec",singhgizroek:"Sa",ngoenzsinghgiz:"Su",singhgizit:"Mo",singhgizngeih:"Tu",singhgizsam:"We",singhgizseiq:"Th",singhgizhaj:"Fr",ndwenit:"Jan",ndwenngeih:"Feb",ndwensam:"Mar",ndwenseiq:"Apr",ndwenngux:"May",ndwenloeg:"Jun",ndwencaet:"Jul",ndwenbet:"Aug",ndwengouj:"Sep",ndwencib:"Oct","ndwencib’it":"Nov",ndwencibngeih:"Dec",星期六:"Sa",星期日:"Su",星期一:"Mo",星期二:"Tu",星期三:"We",星期四:"Th",星期五:"Fr",周六:"Sa",周日:"Su",周一:"Mo",周二:"Tu",周三:"We",周四:"Th",周五:"Fr",一月:"Jan",二月:"Feb",三月:"Mar",四月:"Apr",五月:"May",六月:"Jun",七月:"Jul",八月:"Aug",九月:"Sep",十月:"Oct",十一月:"Nov",十二月:"Dec",umgqibelo:"Sa",isonto:"Su",umsombuluko:"Mo",ulwesibili:"Tu",ulwesithathu:"We",ulwesine:"Th",ulwesihlanu:"Fr",mso:"Mo",bil:"Tu",januwari:"Jan",mashi:"Mar",ephreli:"Apr",septhemba:"Sep",eph:"Apr",tsuʔndzɨkɔʔɔ:"Sa",tsuʔntsɨ:"Su",tsuʔukpà:"Mo",tsuʔughɔe:"Tu",tsuʔutɔ̀mlò:"We",tsuʔumè:"Th",tsuʔughɨ̂m:"Fr",dzk:"Sa",nts:"Su",ghɔ:"Tu",tɔm:"We",ume:"Th",ghɨ:"Fr",ndzɔ̀ŋɔ̀nùm:"Jan",ndzɔ̀ŋɔ̀kɨ̀zùʔ:"Feb",ndzɔ̀ŋɔ̀tɨ̀dʉ̀ghà:"Mar",ndzɔ̀ŋɔ̀tǎafʉ̄ghā:"Apr",ndzɔ̀ŋèsèe:"May",ndzɔ̀ŋɔ̀nzùghò:"Jun",ndzɔ̀ŋɔ̀dùmlo:"Jul",ndzɔ̀ŋɔ̀kwîfɔ̀e:"Aug",ndzɔ̀ŋɔ̀tɨ̀fʉ̀ghàdzughù:"Sep",ndzɔ̀ŋɔ̀ghǔuwelɔ̀m:"Oct","ndzɔ̀ŋɔ̀chwaʔàkaa wo":"Nov",ndzɔ̀ŋèfwòo:"Dec",nùm:"Jan",kɨz:"Feb",tɨd:"Mar",nzu:"Jun",fɔe:"Aug",dzu:"Sep",lɔm:"Oct",kaa:"Nov",fwo:"Dec",jmo:"Sa",jpi:"Su",jtt:"Mo",jnn:"Tu",jtn:"We",sábadu:"Sa",domingu:"Su",llunes:"Mo",xueves:"Th",vienres:"Fr",llu:"Mo",xue:"Th",xineru:"Jan",febreru:"Feb",xunu:"Jun",xunetu:"Jul",agostu:"Aug",ochobre:"Oct",payares:"Nov",avientu:"Dec",xin:"Jan",xun:"Jun",xnt:"Jul",och:"Oct",avi:"Dec","ŋgwà jôn":"Sa","ŋgwà nɔ̂y":"Su","ŋgwà njaŋgumba":"Mo","ŋgwà ûm":"Tu","ŋgwà ŋgê":"We","ŋgwà mbɔk":"Th","ŋgwà kɔɔ":"Fr",nɔy:"Su",nja:"Mo",uum:"Tu",ŋge:"We",mbɔ:"Th",kɔɔ:"Fr",kɔndɔŋ:"Jan",màcɛ̂l:"Feb",màtùmb:"Mar",màtop:"Apr",m̀puyɛ:"May",hìlòndɛ̀:"Jun",njèbà:"Jul",hìkaŋ:"Aug",dìpɔ̀s:"Sep",bìòôm:"Oct",màyɛsèp:"Nov","lìbuy li ńyèe":"Dec",kɔn:"Jan",mto:"Apr",mpu:"May",hil:"Jun",hik:"Aug",bio:"Oct",liɓ:"Dec",pachibelushi:"Sa","pa mulungu":"Su",palichimo:"Mo",palichibuli:"Tu",palichitatu:"We",palichine:"Th",palichisano:"Fr",epreo:"Apr",ogasti:"Aug",oga:"Aug","pa shahulembela":"Sa","pa shahuviluha":"Mo","pa hivili":"Tu","pa hidatu":"We","pa hitayi":"Th","pa hihanu":"Fr",lem:"Sa",hiv:"Tu",hid:"We",hit:"Th",hih:"Fr","pa mwedzi gwa hutala":"Jan","pa mwedzi gwa wuvili":"Feb","pa mwedzi gwa wudatu":"Mar","pa mwedzi gwa wutai":"Apr","pa mwedzi gwa wuhanu":"May","pa mwedzi gwa sita":"Jun","pa mwedzi gwa saba":"Jul","pa mwedzi gwa nane":"Aug","pa mwedzi gwa tisa":"Sep","pa mwedzi gwa kumi":"Oct","pa mwedzi gwa kumi na moja":"Nov","pa mwedzi gwa kumi na mbili":"Dec",hut:"Jan",dat:"Mar",tai:"Apr",han:"May",nan:"Aug",kum:"Oct",kmj:"Nov",kmb:"Dec",ऐतवार:"Su",बृहस्पतवार:"Th",फरवरी:"Feb",सितम्बर:"Sep",अक्टूबर:"Oct",नवम्बर:"Nov",सनीचर:"Sa",रबीबार:"Su",मंगलबार:"Tu",बृहस्पतिबार:"Th",asiibi:"Sa",alahaɖɩ:"Su",aɖɩtɛnɛɛ:"Mo",atalaata:"Tu",alaarba:"We",alaamɩshɩ:"Th",arɩsǝma:"Fr",asib:"Sa",aɖɩt:"Mo",atal:"Tu",alam:"Th",arɩs:"Fr","ɩjikawǝrka kaŋɔrɔ":"Jan","ɩjikpaka kaŋɔrɔ":"Feb","arɛ́cika kaŋɔrɔ":"Mar","njɩbɔ nɖʊka kaŋɔrɔ":"Apr","acafʊnɖuka kaŋɔrɔ":"May","anɔɔɖuka kaŋɔrɔ":"Jun","alàlaka kaŋɔrɔ":"Jul","ɩjikǝuka kaŋɔrɔ":"Aug","abofʊmka kaŋɔrɔ":"Sep","ɩjicimka kaŋɔrɔ":"Oct","acapomka kaŋɔrɔ":"Nov","anɔɔbʊnka kaŋɔrɔ":"Dec",ci:"Mar",ɖʊ:"Apr",ɖu5:"May",ɖu6:"Jun",kǝu:"Aug",fʊm:"Sep",cim:"Oct",pom:"Nov",bʊn:"Dec",सनिबार:"Sa",रबिबार:"Su",समबार:"Mo",बिस्थिबार:"Th",सुुखुरबार:"Fr",सनि:"Sa",रबि:"Su",सम:"Mo",बिस्थि:"Th",सुखुर:"Fr",जानुवारी:"Jan",फेब्रूवारी:"Feb",आगष्ट:"Aug",सेप्थेम्बर:"Sep","अक्ट’बर":"Oct",नवेम्बर:"Nov",जान:"Jan",फेब:"Feb",जुल:"Jul",आग:"Aug",सेप:"Sep","अक्ट’":"Oct",नवे:"Nov",डिसे:"Dec",jumapiri:"Su","murwa wa kanne":"Th","murwa wa katano":"Fr",j1:"Sa",j2:"Su",j3:"Mo",j4:"Tu",j5:"We",al:"Th",ij:"Fr","𑄥𑄧𑄚𑄨𑄝𑄢𑄴":"Sa","𑄢𑄧𑄝𑄨𑄝𑄢𑄴":"Su","𑄥𑄧𑄟𑄴𑄝𑄢𑄴":"Mo","𑄟𑄧𑄁𑄉𑄧𑄣𑄴𑄝𑄢𑄴":"Tu","𑄝𑄪𑄖𑄴𑄝𑄢𑄴":"We","𑄝𑄳𑄢𑄨𑄥𑄪𑄛𑄴𑄝𑄢𑄴":"Th","𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴𑄝𑄢𑄴":"Fr","𑄥𑄧𑄚𑄨":"Sa","𑄢𑄧𑄝𑄨":"Su","𑄥𑄧𑄟𑄴":"Mo","𑄟𑄧𑄁𑄉𑄧𑄣𑄴":"Tu","𑄝𑄪𑄖𑄴":"We","𑄝𑄳𑄢𑄨𑄥𑄪𑄛𑄴":"Th","𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴":"Fr","𑄎𑄚𑄪𑄠𑄢𑄨":"Jan","𑄜𑄬𑄛𑄴𑄝𑄳𑄢𑄪𑄠𑄢𑄨":"Feb","𑄟𑄢𑄴𑄌𑄧":"Mar","𑄃𑄬𑄛𑄳𑄢𑄨𑄣𑄴":"Apr","𑄟𑄬":"May","𑄎𑄪𑄚𑄴":"Jun","𑄎𑄪𑄣𑄭":"Jul","𑄃𑄉𑄧𑄌𑄴𑄑𑄴":"Aug","𑄥𑄬𑄛𑄴𑄑𑄬𑄟𑄴𑄝𑄧𑄢𑄴":"Sep","𑄃𑄧𑄇𑄴𑄑𑄮𑄝𑄧𑄢𑄴":"Oct","𑄚𑄧𑄞𑄬𑄟𑄴𑄝𑄧𑄢𑄴":"Nov","𑄓𑄨𑄥𑄬𑄟𑄴𑄝𑄧𑄢𑄴":"Dec",septyembre:"Sep",orwamukaaga:"Sa",sande:"Su",orwokubanza:"Mo",orwakabiri:"Tu",orwakashatu:"We",orwakana:"Th",orwakataano:"Fr",omk:"Sa",ork:"Mo",okb:"Tu",oks:"We",okn:"Th",okwokubanza:"Jan",okwakabiri:"Feb",okwakashatu:"Mar",okwakana:"Apr",okwakataana:"May",okwamukaaga:"Jun",okwamushanju:"Jul",okwamunaana:"Aug",okwamwenda:"Sep",okwaikumi:"Oct","okwaikumi na kumwe":"Nov","okwaikumi na ibiri":"Dec",kbz:"Jan",kbr:"Feb",kst:"Mar",kkn:"Apr",ktn:"May",kmk:"Jun",kms:"Jul",kmn:"Aug",kmw:"Sep",kkm:"Oct",knk:"Nov",knb:"Dec","ꭴꮎꮩꮣꮘꮥꮎ":"Sa","ꭴꮎꮩꮣꮖꮝꭼ":"Su","ꭴꮎꮩꮣꮙꮕꭿ":"Mo","ꮤꮅꮑꭲꭶ":"Tu","ꮶꭲꮑꭲꭶ":"We","ꮕꭹꮑꭲꭶ":"Th","ꮷꮎꭹꮆꮝꮧ":"Fr","ꮘꮥꮎ":"Sa","ꮖꮝꭼ":"Su","ꮙꮕꭿ":"Mo","ꮤꮅꮑ":"Tu","ꮶꭲꮑ":"We","ꮕꭹꮑ":"Th","ꮷꮎꭹ":"Fr","ꭴꮓꮈꮤꮕ":"Jan","ꭷꭶꮅ":"Feb","ꭰꮕᏹ":"Mar","ꭷꮼꮒ":"Apr","ꭰꮒꮝꭼꮨ":"May","ꮥꭽꮇᏹ":"Jun","ꭻᏸꮙꮒ":"Jul","ꭶꮆꮒ":"Aug","ꮪꮅꮝꮧ":"Sep","ꮪꮒꮕꮧ":"Oct","ꮕꮣꮥꮖ":"Nov","ꭵꮝꭹᏹ":"Dec","ꭴꮓ":"Jan","ꭷꭶ":"Feb","ꭰꮕ":"Mar","ꭷꮼ":"Apr","ꭰꮒ":"May","ꮥꭽ":"Jun","ꭻᏸ":"Jul","ꭶꮆ":"Aug","ꮪꮅ":"Sep","ꮪꮒ":"Oct","ꮕꮣ":"Nov","ꭵꮝ":"Dec",شەممە:"Sa",یەکشەممە:"Su",دووشەممە:"Mo",سێشەممە:"Tu",چوارشەممە:"We",پێنجشەممە:"Th",ھەینی:"Fr","کانوونی دووەم":"Jan",شوبات:"Feb",ئازار:"Mar",نیسان:"Apr",ئایار:"May",حوزەیران:"Jun",تەمووز:"Jul",ئاب:"Aug",ئەیلوول:"Sep","تشرینی یەکەم":"Oct","تشرینی دووەم":"Nov","کانونی یەکەم":"Dec",ܫܒܬܐ:"Sa",ܚܕܒܫܒܐ:"Su",ܬܪܝܢܒܫܒܐ:"Mo",ܬܠܬܒܫܒܐ:"Tu",ܐܪܒܥܒܫܒܐ:"We",ܚܡܫܒܫܒܐ:"Th",ܥܪܘܒܬܐ:"Fr",ܚܕ:"Su",ܬܪܝܢ:"Mo",ܬܠܬ:"Tu",ܐܪܒܥ:"We",ܚܡܫ:"Th",ܥܪܘ:"Fr","ܟܢܘܢ ܐܚܪܝܐ":"Jan",ܫܒܛ:"Feb",ܐܕܪ:"Mar",ܢܝܣܢ:"Apr",ܐܝܪ:"May",ܚܙܝܪܢ:"Jun",ܬܡܘܙ:"Jul",ܐܒ:"Aug",ܐܝܠܘܠ:"Sep","ܬܫܪܝܢ ܩܕܡܝܐ":"Oct","ܬܫܪܝܢ ܐܚܪܝܐ":"Nov","ܟܢܘܢ ܩܕܡܝܐ":"Dec","ܟܢܘܢ ܒ":"Jan","ܬܫܪܝܢ ܐ":"Oct","ܬܫܪܝܢ ܒ":"Nov","ܟܢܘܢ ܐ":"Dec",ᒫᑎᓇᐍᑮᓯᑳᐤ:"Sa",ᐊᔭᒥᐦᐁᑮᓯᑳᐤ:"Su","ᐴᓂ ᐊᔭᒥᐦᐁᑮᓯᑳᐤ":"Mo",ᓃᓱᑮᓯᑳᐤ:"Tu",ᐋᐱᐦᑕᐘᐣ:"We",ᐴᓂᐋᐱᐦᑕᐘᐣ:"Th","ᑫᑳᐨ ᒫᑎᓇᐍᑮᓯᑳᐤ":"Fr",ᐅᒉᒥᑮᓯᑳᐏᐲᓯᒼ:"Jan",ᐸᐚᐦᒐᑭᓇᓰᐢ:"Feb",ᒥᑭᓯᐏᐲᓯᒼ:"Mar",ᓂᐢᑭᐲᓯᒼ:"Apr",ᐊᓃᑭᐲᓯᒼ:"May",ᐚᐏᐲᓯᒼ:"Jun",ᐹᐢᑲᐦᐋᐏᐲᓯᒼ:"Jul",ᐅᐸᐦᐅᐏᐲᓯᒼ:"Aug",ᓄᒌᑐᐏᐲᓯᒼ:"Sep",ᐱᓈᐢᑯᐏᐲᓯᒼ:"Oct",ᐋᕽᐘᑎᓄᐏᐲᓯᒼ:"Nov",ᒪᑯᓭᑮᓭᑳᐏᐲᓯᒼ:"Dec","kifula nguwo":"Sa","ituku ja jumwa":"Su","kuramuka jimweri":"Mo","kuramuka kawi":"Tu","kuramuka kadadu":"We","kuramuka kana":"Th","kuramuka kasanu":"Fr","mori ghwa imbiri":"Jan","mori ghwa kawi":"Feb","mori ghwa kadadu":"Mar","mori ghwa kana":"Apr","mori ghwa kasanu":"May","mori ghwa karandadu":"Jun","mori ghwa mfungade":"Jul","mori ghwa wunyanya":"Aug","mori ghwa ikenda":"Sep","mori ghwa ikumi":"Oct","mori ghwa ikumi na imweri":"Nov","mori ghwa ikumi na iwi":"Dec",imb:"Jan",wun:"Aug",ike:"Sep",iku:"Oct",imw:"Nov",iwi:"Dec",ऐतबार:"Su",बीरबार:"Th",ऐत:"Su",बीर:"Th",मेई:"May","जन\\.":"Jan","फर\\.":"Feb","अग\\.":"Aug","सित\\.":"Sep","अक्तू\\.":"Oct","नव\\.":"Nov","दिस\\.":"Dec",asibti:"Sa",alhadi:"Su",atinni:"Mo",alarba:"We",alzuma:"Fr",asi:"Sa",ati:"Mo",alm:"Th",alz:"Fr",žanwiye:"Jan",feewiriye:"Feb",awiril:"Apr",žuweŋ:"Jun",žuyye:"Jul",sektanbur:"Sep",oktoobur:"Oct",noowanbur:"Nov",deesanbur:"Dec",žan:"Jan",fee:"Feb",žuw:"Jun",žuy:"Jul",sek:"Sep",noo:"Nov",dee:"Dec",جدی:"Jan",دلو:"Feb",حوت:"Mar",حمل:"Apr",ثور:"May",جوزا:"Jun",سرطان:"Jul",اسد:"Aug",سنبلهٔ:"Sep",میزان:"Oct",عقرب:"Nov",قوس:"Dec",njeźela:"Su",pónjeźele:"Mo",wałtora:"Tu",srjoda:"We",stwórtk:"Th",pětk:"Fr",pón:"Mo",wał:"Tu",srj:"We",stw:"Th",pět:"Fr",měrc:"Mar",apryl:"Apr",nowember:"Nov",měr:"Mar",esaɓasú:"Sa",éti:"Su",mɔ́sú:"Mo",kwasú:"Tu",mukɔ́sú:"We",ŋgisú:"Th",ɗónɛsú:"Fr",esa:"Sa",ét:"Su",mɔ́s:"Mo",ŋgi:"Th",ɗón:"Fr",dimɔ́di:"Jan",ŋgɔndɛ:"Feb",sɔŋɛ:"Mar",diɓáɓá:"Apr",emiasele:"May",esɔpɛsɔpɛ:"Jun",madiɓɛ́díɓɛ́:"Jul",diŋgindi:"Aug",nyɛtɛki:"Sep",mayésɛ́:"Oct",tiníní:"Nov",eláŋgɛ́:"Dec",ŋgɔn:"Feb",sɔŋ:"Mar",diɓ:"Apr",emi:"May",esɔ:"Jun",diŋ:"Aug",nyɛt:"Sep",tin:"Nov",elá:"Dec",sibiti:"Sa",dimas:"Su",teneŋ:"Mo",alarbay:"We",aramisay:"Th",arjuma:"Fr",ten:"Mo",arj:"Fr",sanvie:"Jan",fébirie:"Feb",aburil:"Apr",sueŋ:"Jun",súuyee:"Jul",settembar:"Sep",disambar:"Dec",sa:"Jan",fe:"Feb",su:"Jun",sú:"Jul",se:"Sep",ok:"Oct",no:"Nov",njumamothii:"Sa",njumatatu:"Mo",njumatano:"We",arm:"Th","mweri wa mbere":"Jan","mweri wa kaĩri":"Feb","mweri wa kathatũ":"Mar","mweri wa kana":"Apr","mweri wa gatano":"May","mweri wa gatantatũ":"Jun","mweri wa mũgwanja":"Jul","mweri wa kanana":"Aug","mweri wa kenda":"Sep","mweri wa ikũmi":"Oct","mweri wa ikũmi na ũmwe":"Nov","mweri wa ikũmi na kaĩrĩ":"Dec",mbe:"Jan",kai:"Feb",kat:"Mar",gat:"May",gan:"Jun",knn:"Aug",ken:"Sep",igi:"Dec",séradé:"Sa",sɔ́ndɔ:"Su",mɔ́ndi:"Mo","sɔ́ndɔ məlú mə́bɛ̌":"Tu","sɔ́ndɔ məlú mə́lɛ́":"We","sɔ́ndɔ məlú mə́nyi":"Th",fúladé:"Fr",sér:"Sa",sɔ́n:"Su",mɔ́n:"Mo",smb:"Tu",sml:"We",smn:"Th",fúl:"Fr","ngɔn osú":"Jan","ngɔn bɛ̌":"Feb","ngɔn lála":"Mar","ngɔn nyina":"Apr","ngɔn tána":"May","ngɔn saməna":"Jun","ngɔn zamgbála":"Jul","ngɔn mwom":"Aug","ngɔn ebulú":"Sep","ngɔn awóm":"Oct","ngɔn awóm ai dziá":"Nov","ngɔn awóm ai bɛ̌":"Dec",ngo:"Jan",ngl:"Mar",ngn:"Apr",ngt:"May",ngz:"Jul",ngm:"Aug",nga:"Oct",ngad:"Nov",ngab:"Dec",sabide:"Sa",domenie:"Su",martars:"Tu",miercus:"We",joibe:"Th",vinars:"Fr",mie:"We",vin:"Fr",zenâr:"Jan",fevrâr:"Feb",avrîl:"Apr",jugn:"Jun",avost:"Aug",setembar:"Sep",otubar:"Oct",dicembar:"Dec",zen:"Jan",jug:"Jun",avo:"Aug",otu:"Oct",hɔɔ:"Sa",hɔgbaa:"Su",ju:"Mo",jufɔ:"Tu",shɔ:"We",soo:"Th",sohaa:"Fr",aharabata:"Jan",oflɔ:"Feb",otsokrikri:"Mar",abɛibe:"Apr",agbiɛnaa:"May",otukwajaŋ:"Jun",maawɛ:"Jul",manyawale:"Aug",gbo:"Sep",antɔŋ:"Oct",alemle:"Nov",afuabe:"Dec",शेनवार:"Sa",आयतार:"Su",सोमार:"Mo",मंगळार:"Tu",बिरेस्तार:"Th",शुक्रार:"Fr",एप्रील:"Apr",जुलय:"Jul",एप्री:"Apr",नो:"Nov",samschtig:"Sa",sunntig:"Su",määntig:"Mo",ziischtig:"Tu",mittwuch:"We",dunschtig:"Th",friitig:"Fr","su\\.":"Su","mä\\.":"Mo","zi\\.":"Tu","mi\\.":"We","du\\.":"Th","fr\\.":"Fr",auguscht:"Aug",septämber:"Sep",novämber:"Nov",dezämber:"Dec",esabato:"Sa",chumapiri:"Su",chumatato:"Mo",chumaine:"Tu",chumatano:"We",aramisi:"Th",ichuma:"Fr",cpr:"Su",ctt:"Mo",cmn:"Tu",ars:"Th",icm:"Fr",chanuari:"Jan",feburari:"Feb",apiriri:"Apr",chulai:"Jul",okitoba:"Oct",nobemba:"Nov",can:"Jan",cul:"Jul",poʻaono:"Sa",lāpule:"Su",poʻakahi:"Mo",poʻalua:"Tu",poʻakolu:"We",poʻahā:"Th",poʻalima:"Fr",p6:"Sa",lp:"Su",p1:"Mo",p2:"Tu",p3:"We",p4:"Th",p5:"Fr",ianuali:"Jan",pepeluali:"Feb",malaki:"Mar",ʻapelila:"Apr",iune:"Jun",iulai:"Jul",ʻaukake:"Aug",kepakemapa:"Sep",ʻokakopa:"Oct",nowemapa:"Nov",kekemapa:"Dec","pep\\.":"Feb","mal\\.":"Mar","ʻap\\.":"Apr","ʻau\\.":"Aug","kep\\.":"Sep","ʻok\\.":"Oct","now\\.":"Nov","kek\\.":"Dec",njedźela:"Su",póndźela:"Mo",wutora:"Tu",srjeda:"We",štwórtk:"Th",pjatk:"Fr",štw:"Th",pja:"Fr",meja:"May",sásidɛ:"Sa",sɔ́ndi:"Su","ápta mɔ́ndi":"Tu",wɛ́nɛsɛdɛ:"We",tɔ́sɛdɛ:"Th",fɛlâyɛdɛ:"Fr","nduŋmbi saŋ":"Jan","pɛsaŋ pɛ́pá":"Feb","pɛsaŋ pɛ́tát":"Mar","pɛsaŋ pɛ́nɛ́kwa":"Apr","pɛsaŋ pataa":"May","pɛsaŋ pɛ́nɛ́ntúkú":"Jun","pɛsaŋ saambá":"Jul","pɛsaŋ pɛ́nɛ́fɔm":"Aug","pɛsaŋ pɛ́nɛ́pfúꞌú":"Sep","pɛsaŋ nɛgɛ́m":"Oct","pɛsaŋ ntsɔ̌pmɔ́":"Nov","pɛsaŋ ntsɔ̌ppá":"Dec",jumapilyi:"Su",jumatatuu:"Mo",jumatanu:"We",iju:"Fr",aprilyi:"Apr",junyi:"Jun",julyai:"Jul",agusti:"Aug",sayass:"Sa",yanass:"Su",sanass:"Mo",kraḍass:"Tu",kuẓass:"We",samass:"Th",sḍisass:"Fr",say:"Sa",kraḍ:"Tu",kuẓ:"We",sḍis:"Fr",yennayer:"Jan",fuṛar:"Feb",meɣres:"Mar",yebrir:"Apr",mayyu:"May",yunyu:"Jun",yulyu:"Jul",ɣuct:"Aug",ctembeṛ:"Sep",tubeṛ:"Oct",nunembeṛ:"Nov",duǧembeṛ:"Dec",yen:"Jan",fur:"Feb",meɣ:"Mar",ɣuc:"Aug",cte:"Sep",tub:"Oct",nun:"Nov",duǧ:"Dec","wa thanthatũ":"Sa","wa kyumwa":"Su","wa kwambĩlĩlya":"Mo","wa kelĩ":"Tu","wa katatũ":"We","wa kana":"Th","wa katano":"Fr",wth:"Sa",wky:"Su",wkw:"Mo",wkl:"Tu",wtũ:"We","mwai wa mbee":"Jan","mwai wa kelĩ":"Feb","mwai wa katatũ":"Mar","mwai wa kana":"Apr","mwai wa katano":"May","mwai wa thanthatũ":"Jun","mwai wa muonza":"Jul","mwai wa nyaanya":"Aug","mwai wa kenda":"Sep","mwai wa ĩkumi":"Oct","mwai wa ĩkumi na ĩmwe":"Nov","mwai wa ĩkumi na ilĩ":"Dec",ktũ:"Mar",moo:"Jul",knd:"Sep",ĩku:"Oct",ĩkm:"Nov",ĩkl:"Dec","liduva litandi":"Sa","liduva lyapili":"Su","liduva lyatatu":"Mo","liduva lyanchechi":"Tu","liduva lyannyano":"We","liduva lyannyano na linji":"Th","liduva lyannyano na mavili":"Fr",ll1:"Sa",ll2:"Su",ll3:"Mo",ll4:"Tu",ll5:"We",ll6:"Th",ll7:"Fr","mwedi ntandi":"Jan","mwedi wa pili":"Feb","mwedi wa tatu":"Mar","mwedi wa nchechi":"Apr","mwedi wa nnyano":"May","mwedi wa nnyano na umo":"Jun","mwedi wa nnyano na mivili":"Jul","mwedi wa nnyano na mitatu":"Aug","mwedi wa nnyano na nchechi":"Sep","mwedi wa nnyano na nnyano":"Oct","mwedi wa nnyano na nnyano na u":"Nov","mwedi wa nnyano na nnyano na m":"Dec",dumingu:"Su","sigunda-fera":"Mo","tersa-fera":"Tu","kuarta-fera":"We","kinta-fera":"Th","sesta-fera":"Fr",sig:"Mo",ter:"Tu",kua:"We",kin:"Th",ses:"Fr",janeru:"Jan",marsu:"Mar",maiu:"May",junhu:"Jun",julhu:"Jul",setenbru:"Sep",otubru:"Oct",nuvenbru:"Nov",dizenbru:"Dec",nuv:"Nov",diz:"Dec",savnu:"Sa",numĩggu:"Su","pir-kurã-há":"Mo","régre-kurã-há":"Tu","tẽgtũ-kurã-há":"We","vẽnhkãgra-kurã-há":"Th","pénkar-kurã-há":"Fr","sav\\.":"Sa","num\\.":"Su","pir\\.":"Mo","rég\\.":"Tu","tẽg\\.":"We","vẽn\\.":"Th","pén\\.":"Fr","1-kysã":"Jan","2-kysã":"Feb","3-kysã":"Mar","4-kysã":"Apr","5-kysã":"May","6-kysã":"Jun","7-kysã":"Jul","8-kysã":"Aug","9-kysã":"Sep","10-kysã":"Oct","11-kysã":"Nov","12-kysã":"Dec","1ky\\.":"Jan","2ky\\.":"Feb","3ky\\.":"Mar","4ky\\.":"Apr","5ky\\.":"May","6ky\\.":"Jun","7ky\\.":"Jul","8ky\\.":"Aug","9ky\\.":"Sep","10ky\\.":"Oct","11ky\\.":"Nov","12ky\\.":"Dec",assabdu:"Sa",atini:"Mo",atalata:"Tu",alhamiisa:"Th",aljuma:"Fr",ass:"Sa",alj:"Fr","mɔnɔ sɔndi":"Sa",sɔndi:"Su",mɛrkɛrɛdi:"We",yedi:"Th",vaŋdɛrɛdi:"Fr",pamba:"Jan",wanja:"Feb","mbiyɔ mɛndoŋgɔ":"Mar",nyɔlɔmbɔŋgɔ:"Apr","mɔnɔ ŋgbanja":"May","nyaŋgwɛ ŋgbanja":"Jun",kuŋgwɛ:"Jul",fɛ:"Aug",njapi:"Sep",nyukul:"Oct",m11:"Nov",ɓulɓusɛ:"Dec",kolo:"Sa",kotisap:"Su",kotaai:"Mo","koaeng’":"Tu",kosomok:"We","koang’wan":"Th",komuut:"Fr",kts:"Su",kot:"Mo",koo:"Tu",kos:"We",koa:"Th",kom:"Fr",mulgul:"Jan","ng’atyaato":"Feb",kiptaamo:"Mar",iwootkuut:"Apr",mamuut:"May",paagi:"Jun","ng’eiyeet":"Jul",rooptui:"Aug",bureet:"Sep",epeeso:"Oct","kipsuunde ne taai":"Nov","kipsuunde nebo aeng’":"Dec",ngat:"Feb",iwo:"Apr",paa:"Jun",roo:"Aug",bur:"Sep",epe:"Oct",kpt:"Nov",jumaamosi:"Sa",jumaapii:"Su",jumaatatu:"Mo",jumaane:"Tu",jumaatano:"We",jmn:"Tu",januali:"Jan",febluali:"Feb",aplili:"Apr",samdí:"Sa",sɔ́ndǝ:"Su",lǝndí:"Mo",maadí:"Tu",mɛkrɛdí:"We",jǝǝdí:"Th",júmbá:"Fr",lǝn:"Mo",mɛk:"We",jǝǝ:"Th",júm:"Fr","ŋwíí a ntɔ́ntɔ":"Jan","ŋwíí akǝ bɛ́ɛ":"Feb","ŋwíí akǝ ráá":"Mar","ŋwíí akǝ nin":"Apr","ŋwíí akǝ táan":"May","ŋwíí akǝ táafɔk":"Jun","ŋwíí akǝ táabɛɛ":"Jul","ŋwíí akǝ táaraa":"Aug","ŋwíí akǝ táanin":"Sep","ŋwíí akǝ ntɛk":"Oct","ŋwíí akǝ ntɛk di bɔ́k":"Nov","ŋwíí akǝ ntɛk di bɛ́ɛ":"Dec",ŋ1:"Jan",ŋ2:"Feb",ŋ3:"Mar",ŋ4:"Apr",ŋ5:"May",ŋ6:"Jun",ŋ7:"Jul",ŋ8:"Aug",ŋ9:"Sep",ŋ10:"Oct",ŋ11:"Nov",ŋ12:"Dec",samsdaach:"Sa",sunndaach:"Su",mohndaach:"Mo",dinnsdaach:"Tu",metwoch:"We",dunnersdaach:"Th",friidaach:"Fr","mo\\.":"Mo","me\\.":"We",jannewa:"Jan",fäbrowa:"Feb",määz:"Mar",aprell:"Apr",oujoß:"Aug",oktohber:"Oct","fäb\\.":"Feb","mäz\\.":"Mar","ouj\\.":"Aug","säp\\.":"Sep","sani vara":"Sa","aadi vara":"Su",smbara:"Mo",mangaḍa:"Tu",pudara:"We","laki vara":"Th","sukru vara":"Fr",sani:"Sa",aadi:"Su",smba:"Mo",manga:"Tu",puda:"We",laki:"Th",sukru:"Fr","pusu lenju":"Jan","maha lenju":"Feb","pagu lenju":"Mar","hire lenju":"Apr","bese lenju":"May","jaṭṭa lenju":"Jun","aasaḍi lenju":"Jul","srabĩ lenju":"Aug","bado lenju":"Sep","dasara lenju":"Oct","divi lenju":"Nov","pande lenju":"Dec",pusu:"Jan",maha:"Feb",pagu:"Mar",hire:"Apr",bese:"May",jaṭṭa:"Jun",aasaḍi:"Jul",srabĩ:"Aug",bado:"Sep",dasara:"Oct",divi:"Nov",pande:"Dec",jumamóosi:"Sa",jumapíiri:"Su",jumatátu:"Mo",jumaíne:"Tu",jumatáano:"We",alamíisi:"Th",ijumáa:"Fr",móosi:"Sa",píili:"Su",táatu:"Mo",íne:"Tu",táano:"We",kʉfúngatɨ:"Jan",kʉnaanɨ:"Feb",kʉkeenda:"Mar",kwiikumi:"Apr",kwiinyambála:"May",kwiidwaata:"Jun",kʉmʉʉnchɨ:"Jul",kʉvɨɨrɨ:"Aug",kʉsaatʉ:"Sep",kwiinyi:"Oct",kʉsaano:"Nov",kʉsasatʉ:"Dec",fúngatɨ:"Jan",naanɨ:"Feb",keenda:"Mar",ikúmi:"Apr",inyambala:"May",idwaata:"Jun",mʉʉnchɨ:"Jul",vɨɨrɨ:"Aug",saatʉ:"Sep",inyi:"Oct",saano:"Nov",sasatʉ:"Dec",sabbo:"Sa",domenega:"Su",lunesdì:"Mo",mätesdì:"Tu",mäcordì:"We",zeuggia:"Th",venardì:"Fr","de zenâ":"Jan","de frevâ":"Feb","de marso":"Mar","d’arvî":"Apr","de mazzo":"May","de zugno":"Jun","de luggio":"Jul","d’agosto":"Aug","de settembre":"Sep","d’ottobre":"Oct","de dexembre":"Dec",owáŋgyužažapi:"Sa",aŋpétuwakȟaŋ:"Su",aŋpétuwaŋži:"Mo",aŋpétunuŋpa:"Tu",aŋpétuyamni:"We",aŋpétutopa:"Th",aŋpétuzaptaŋ:"Fr","wiótheȟika wí":"Jan","thiyóȟeyuŋka wí":"Feb","ištáwičhayazaŋ wí":"Mar","pȟežítȟo wí":"Apr","čhaŋwápetȟo wí":"May","wípazukȟa-wašté wí":"Jun","čhaŋpȟásapa wí":"Jul","wasútȟuŋ wí":"Aug","čhaŋwápeǧi wí":"Sep","čhaŋwápe-kasná wí":"Oct","waníyetu wí":"Nov","tȟahékapšuŋ wí":"Dec",sabet:"Sa",lundì:"Mo",mardì:"Tu",mercoldì:"We",sgiovedì:"Th",sginer:"Jan",fevrer:"Feb",marz:"Mar",masg:"May",sgiugn:"Jun",luj:"Jul",setember:"Sep",otover:"Oct",dicember:"Dec",dey:"Jan",bahman:"Feb",esfand:"Mar",farvardin:"Apr",ordibehesht:"May",khordad:"Jun",tir:"Jul",mordad:"Aug",shahrivar:"Sep",mehr:"Oct",aban:"Nov",azar:"Dec",ngeso:"Sa",jumapil:"Su","wuok tich":"Mo","tich ariyo":"Tu","tich adek":"We","tich ang’wen":"Th","tich abich":"Fr",jmp:"Su",tad:"We",tab:"Fr","dwe mar achiel":"Jan","dwe mar ariyo":"Feb","dwe mar adek":"Mar","dwe mar ang’wen":"Apr","dwe mar abich":"May","dwe mar auchiel":"Jun","dwe mar abiriyo":"Jul","dwe mar aboro":"Aug","dwe mar ochiko":"Sep","dwe mar apar":"Oct","dwe mar gi achiel":"Nov","dwe mar apar gi ariyo":"Dec",dac:"Jan",dar:"Feb",dad:"Mar",dan:"Apr",dah:"May",dau:"Jun",dao:"Jul",dab:"Aug",doc:"Sep",dap:"Oct",dgi:"Nov",dag:"Dec","शनि दिन":"Sa","रवि दिन":"Su","सोम दिन":"Mo","मंगल दिन":"Tu","बुध दिन":"We","बृहस्पति दिन":"Th","शुक्र दिन":"Fr","फर॰":"Feb",jumamósi:"Sa",jumapílí:"Su",jumane:"Tu",jumatánɔ:"We",alaámisi:"Th",jumáa:"Fr",oladalʉ́:"Jan",arát:"Feb",ɔɛnɨ́ɔɨŋɔk:"Mar","olodoyíóríê inkókúâ":"Apr","oloilépūnyīē inkókúâ":"May",kújúɔrɔk:"Jun",mórusásin:"Jul",ɔlɔ́ɨ́bɔ́rárɛ:"Aug",kúshîn:"Sep",olgísan:"Oct",pʉshʉ́ka:"Nov",ntʉ́ŋʉ́s:"Dec",dal:"Jan",ará:"Feb",ɔɛn:"Mar",doy:"Apr",lép:"May",rok:"Jun",sás:"Jul",bɔ́r:"Aug",kús:"Sep",gís:"Oct",shʉ́:"Nov",ntʉ́:"Dec",muramuko:"Mo",wairi:"Tu",wethatu:"We",wena:"Th",wetano:"Fr",kiu:"Su",mra:"Mo",wai:"Tu",wet:"We",januarĩ:"Jan",feburuarĩ:"Feb",ĩpurũ:"Apr",mĩĩ:"May",njuni:"Jun",njuraĩ:"Jul",oktũba:"Oct",dicemba:"Dec",ĩpu:"Apr",nju:"Jun",njr:"Jul",spt:"Sep",samdi:"Sa",dimans:"Su",lindi:"Mo",merkredi:"We",zedi:"Th",vandredi:"Fr",ze:"Th",van:"Fr",zanvie:"Jan",fevriye:"Feb",zin:"Jun",zilye:"Jul",out:"Aug",septam:"Sep",oktob:"Oct",novam:"Nov",desam:"Dec",zil:"Jul",arahamisi:"Th","mweri wo kwanza":"Jan","mweri wo unayeli":"Feb","mweri wo uneraru":"Mar","mweri wo unecheshe":"Apr","mweri wo unethanu":"May","mweri wo thanu na mocha":"Jun","mweri wo saba":"Jul","mweri wo nane":"Aug","mweri wo tisa":"Sep","mweri wo kumi":"Oct","mweri wo kumi na moja":"Nov","mweri wo kumi na yel’li":"Dec",una:"Feb",moc:"Jun",moj:"Nov",yel:"Dec","aneg 7":"Sa","aneg 1":"Su","aneg 2":"Mo","aneg 3":"Tu","aneg 4":"We","aneg 5":"Th","aneg 6":"Fr","iməg mbegtug":"Jan","imeg àbùbì":"Feb","imeg mbəŋchubi":"Mar","iməg ngwə̀t":"Apr","iməg fog":"May","iməg ichiibɔd":"Jun","iməg àdùmbə̀ŋ":"Jul","iməg ichika":"Aug","iməg kud":"Sep","iməg tèsiʼe":"Oct","iməg zò":"Nov","iməg krizmed":"Dec",mbegtug:"Jan",থাংজ:"Sa",নোংমাইজিং:"Su",নিংথৌকাবা:"Mo",লৈবাকপোকপা:"Tu",য়ুমশকৈশা:"We",শগোলশেন:"Th",ইরাই:"Fr",জানুৱারি:"Jan",ফেব্রুৱারি:"Feb",ওগষ্ট:"Aug",ওক্টোবর:"Oct",নবেম্বর:"Nov",ফেব্রু:"Feb",মার:"Mar",এপ্রি:"Apr",জুলা:"Jul",সেপ্ট:"Sep",ওক্টো:"Oct",নভে:"Nov",ডিসে:"Dec",comzyeɓsuu:"Sa","com’yakke":"Su",comlaaɗii:"Mo",comzyiiɗii:"Tu",comkolle:"We",comkaldǝɓlii:"Th",comgaisuu:"Fr",cya:"Su",czi:"Tu",cko:"We",cka:"Th",cga:"Fr","fĩi loo":"Jan",cokcwaklaŋne:"Feb",cokcwaklii:"Mar","fĩi marfoo":"Apr",madǝǝuutǝbijaŋ:"May",mamǝŋgwãafahbii:"Jun",mamǝŋgwãalii:"Jul",madǝmbii:"Aug","fĩi dǝɓlii":"Sep","fĩi mundaŋ":"Oct","fĩi gwahlle":"Nov","fĩi yuru":"Dec",flo:"Jan",cki:"Mar",fmf:"Apr",mli:"Jul",fde:"Sep",fmu:"Oct",fgw:"Nov",fyu:"Dec",satertaxtsees:"Sa",sontaxtsees:"Su",mantaxtsees:"Mo",denstaxtsees:"Tu",wunstaxtsees:"We",dondertaxtsees:"Th",fraitaxtsees:"Fr",wu:"We",ǃkhanni:"Jan",ǃkhanǀgôab:"Feb",ǀkhuuǁkhâb:"Mar",ǃhôaǂkhaib:"Apr",ǃkhaitsâb:"May",gamaǀaeb:"Jun",ǂkhoesaob:"Jul",aoǁkhuumûǁkhâb:"Aug",taraǀkhuumûǁkhâb:"Sep",ǂnûǁnâiseb:"Oct",ǀhooǂgaeb:"Nov",hôasoreǁkhâb:"Dec",sünnavend:"Sa",sünndag:"Su",dingsdag:"Tu",middeweken:"We",dunnersdag:"Th",freedag:"Fr",januaar:"Jan",februaar:"Feb",oktover:"Oct",sásadi:"Sa",mɔ́ndɔ:"Mo","sɔ́ndɔ mafú mába":"Tu","sɔ́ndɔ mafú málal":"We","sɔ́ndɔ mafú mána":"Th","mabágá má sukul":"Fr",sas:"Sa",mbs:"Fr","ngwɛn matáhra":"Jan","ngwɛn ńmba":"Feb","ngwɛn ńlal":"Mar","ngwɛn ńna":"Apr","ngwɛn ńtan":"May","ngwɛn ńtuó":"Jun","ngwɛn hɛmbuɛrí":"Jul","ngwɛn lɔmbi":"Aug","ngwɛn rɛbvuâ":"Sep","ngwɛn wum":"Oct","ngwɛn wum navǔr":"Nov",krísimin:"Dec",ng1:"Jan",ng2:"Feb",ng3:"Mar",ng4:"Apr",ng5:"May",ng6:"Jun",ng7:"Jul",ng8:"Aug",ng9:"Sep",ng10:"Oct",ng11:"Nov",kris:"Dec","màga lyɛ̌ʼ":"Sa","lyɛʼɛ́ sẅíŋtè":"Su","mvfò lyɛ̌ʼ":"Mo","mbɔ́ɔntè mvfò lyɛ̌ʼ":"Tu","tsètsɛ̀ɛ lyɛ̌ʼ":"We","mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ":"Th","mvfò màga lyɛ̌ʼ":"Fr","saŋ tsetsɛ̀ɛ lùm":"Jan","saŋ kàg ngwóŋ":"Feb","saŋ lepyè shúm":"Mar","saŋ cÿó":"Apr","saŋ tsɛ̀ɛ cÿó":"May","saŋ njÿoláʼ":"Jun","saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ":"Jul","saŋ mbʉ̀ŋ":"Aug","saŋ ngwɔ̀ʼ mbÿɛ":"Sep","saŋ tàŋa tsetsáʼ":"Oct","saŋ mejwoŋó":"Nov","saŋ lùm":"Dec","ߞߍ߲ߘߍߟߏ߲":"Sa","ߞߊ߯ߙߌߟߏ߲":"Su","ߞߐ߬ߓߊ߬ߟߏ߲":"Mo","ߞߐ߬ߟߏ߲":"Tu","ߞߎߣߎ߲ߟߏ߲":"We","ߓߌߟߏ߲":"Th","ߛߌ߬ߣߌ߲߬ߟߏ߲":"Fr","ߞߍ߲ߘ":"Sa","ߞߊ߯ߙ":"Su","ߞߐ߬ߓ":"Mo","ߞߐ߬ߟ":"Tu","ߞߎߣ":"We","ߓߌߟ":"Th","ߛߌ߬ߣ":"Fr","ߓߌ߲ߠߊߥߎߟߋ߲":"Jan","ߞߏ߲ߞߏߜߍ":"Feb","ߕߙߊߓߊ":"Mar","ߞߏ߲ߞߏߘߌ߬ߓߌ":"Apr","ߘߓߊ߬ߕߊ":"May","ߥߊ߬ߛߌ߬ߥߙߊ":"Jun","ߞߊ߬ߙߌߝߐ߭":"Jul","ߘߓߊ߬ߓߌߟߊ":"Aug","ߕߎߟߊߝߌ߲":"Sep","ߞߏ߲ߓߌߕߌ߮":"Oct","ߣߍߣߍߓߊ":"Nov","ߞߏߟߌ߲ߞߏߟߌ߲":"Dec","ߓߌ߲ߠ":"Jan","ߞߏ߲ߞ":"Feb","ߕߙߊ":"Mar","ߞߏ߲ߘ":"Apr","ߘߓߊ߬ߕ":"May","ߥߊ߬ߛ":"Jun","ߞߊ߬ߙ":"Jul","ߘߓߊ߬ߓ":"Aug","ߞߏ߲ߓ":"Oct","ߣߍߣ":"Nov","ߞߏߟ":"Dec",mokibelo:"Sa",lamorena:"Su",mošupologo:"Mo",lam:"Su",janeware:"Jan",febereware:"Feb",matšhe:"Mar",aporele:"Apr",julae:"Jul",agosetose:"Aug",setemere:"Sep",oktobore:"Oct",nofemere:"Nov",disemere:"Dec",phere:"Jan",dibo:"Feb",hlak:"Mar",mora:"Apr",mose:"Jul",lewe:"Sep",dipha:"Oct",diba:"Nov",manth:"Dec","bäkɛl lätni":"Sa","cäŋ kuɔth":"Su","jiec la̱t":"Mo","rɛw lätni":"Tu","diɔ̱k lätni":"We","ŋuaan lätni":"Th","dhieec lätni":"Fr",bäkɛl:"Sa",cäŋ:"Su",jiec:"Mo",rɛw:"Tu",diɔ̱k:"We",ŋuaan:"Th",dhieec:"Fr","tiop thar pɛt":"Jan",pɛt:"Feb",duɔ̱ɔ̱ŋ:"Mar",guak:"Apr",duät:"May",kornyoot:"Jun","pay yie̱tni":"Jul",tho̱o̱r:"Aug",tɛɛr:"Sep",laath:"Oct","tio̱p in di̱i̱t":"Dec",tiop:"Jan",duɔ̱ɔ̱:"Mar",duä:"May",thoo:"Aug",tɛɛ:"Sep",laa:"Oct",tid:"Dec",sátọdè:"Sa",sọ́ndè:"Su",mọ́ndè:"Mo",tiúzdè:"Tu",wẹ́nẹ́zdè:"We",tọ́zdè:"Th",fraídè:"Fr",sát:"Sa",sọ́n:"Su",mọ́n:"Mo",tiú:"Tu",wẹ́n:"We",tọ́z:"Th",fraí:"Fr",jénúári:"Jan",fẹ́búári:"Feb",mach:"Mar",éprel:"Apr",ọgọst:"Aug",sẹptẹ́mba:"Sep",ọktóba:"Oct",nọvẹ́mba:"Nov",disẹ́mba:"Dec",jén:"Jan",fẹ́b:"Feb",épr:"Apr",ọ́gọ:"Aug",sẹp:"Sep",nọv:"Nov",sabattika:"Sa",nadīli:"Su",panadīli:"Mo",wisasīdis:"Tu",pussisawaiti:"We",ketwirtiks:"Th",pēntniks:"Fr",rags:"Jan",wassarins:"Feb",pūlis:"Mar",sakkis:"Apr",zallaws:"May",sīmenis:"Jun",līpa:"Jul",daggis:"Aug",sillins:"Sep",spallins:"Oct",lapkrūtis:"Nov",sallaws:"Dec",ijumamosi:"Sa",ijumapili:"Su",ijumatatu:"Mo",ijumanne:"Tu",ijumatano:"We",ijp:"Su",ijt:"Mo",ijn:"Tu",ijtn:"We","mweri wa kwanza":"Jan","mweri wa kaili":"Feb","mweri wa katatu":"Mar","mweri wa kaana":"Apr","mweri wa tanu":"May","mweri wa sita":"Jun","mweri wa saba":"Jul","mweri wa nane":"Aug","mweri wa tisa":"Sep","mweri wa ikumi":"Oct","mweri wa ikumi na moja":"Nov","mweri wa ikumi na mbili":"Dec",m1:"Jan",m2:"Feb",m3:"Mar",m4:"Apr",m5:"May",m6:"Jun",m7:"Jul",m8:"Aug",m9:"Sep",m10:"Oct",m12:"Dec",субуота:"Sa",баскыһыанньа:"Su",бэнидиэнньик:"Mo",оптуорунньук:"Tu",сэрэдэ:"We",чэппиэр:"Th",бээтиҥсэ:"Fr",бн:"Mo",оп:"Tu",сэ:"We",чп:"Th",бэ:"Fr",тохсунньу:"Jan",олунньу:"Feb","кулун тутар":"Mar","муус устар":"Apr","ыам ыйа":"May","бэс ыйа":"Jun","от ыйа":"Jul","атырдьых ыйа":"Aug","балаҕан ыйа":"Sep",алтынньы:"Oct",сэтинньи:"Nov",ахсынньы:"Dec",тохс:"Jan",олун:"Feb",клн:"Mar",мсу:"Apr",ыам:"May",бэс:"Jun",отй:"Jul",атр:"Aug",блҕ:"Sep",алт:"Oct",сэт:"Nov",ахс:"Dec","mderot ee kwe":"Sa","mderot ee are":"Su","mderot ee kuni":"Mo","mderot ee ong’wan":"Tu","mderot ee inet":"We","mderot ee ile":"Th","mderot ee sapa":"Fr",are:"Su",kun:"Mo","lapa le obo":"Jan","lapa le waare":"Feb","lapa le okuni":"Mar","lapa le ong’wan":"Apr","lapa le imet":"May","lapa le ile":"Jun","lapa le sapa":"Jul","lapa le isiet":"Aug","lapa le saal":"Sep","lapa le tomon":"Oct","lapa le tomon obo":"Nov","lapa le tomon waare":"Dec",obo:"Jan",waa:"Feb",oku:"Mar",ime:"May",isi:"Aug",saa:"Sep",tom:"Oct",tob:"Nov",tow:"Dec","ᱧᱩᱦᱩᱢ":"Sa","ᱥᱤᱸᱜᱮ":"Su","ᱚᱛᱮ":"Mo","ᱵᱟᱞᱮ":"Tu","ᱥᱟᱹᱜᱩᱱ":"We","ᱥᱟᱹᱨᱫᱤ":"Th","ᱡᱟᱹᱨᱩᱢ":"Fr","ᱧᱩ":"Sa","ᱥᱤᱸ":"Su","ᱚᱛ":"Mo","ᱵᱟ":"Tu","ᱥᱟᱹ":"We","ᱥᱟᱹᱨ":"Th","ᱡᱟᱹ":"Fr","ᱡᱟᱱᱣᱟᱨᱤ":"Jan","ᱯᱷᱟᱨᱣᱟᱨᱤ":"Feb","ᱢᱟᱨᱪ":"Mar","ᱟᱯᱨᱮᱞ":"Apr","ᱢᱮ":"May","ᱡᱩᱱ":"Jun","ᱡᱩᱞᱟᱭ":"Jul","ᱟᱜᱟᱥᱛ":"Aug","ᱥᱮᱯᱴᱮᱢᱵᱟᱨ":"Sep","ᱚᱠᱴᱚᱵᱟᱨ":"Oct","ᱱᱟᱣᱟᱢᱵᱟᱨ":"Nov","ᱫᱤᱥᱟᱢᱵᱟᱨ":"Dec","ᱡᱟᱱ":"Jan","ᱯᱷᱟ":"Feb","ᱢᱟᱨ":"Mar","ᱟᱯᱨ":"Apr","ᱡᱩᱞ":"Jul","ᱟᱜᱟ":"Aug","ᱥᱮᱯ":"Sep","ᱚᱠᱴ":"Oct","ᱱᱟᱣ":"Nov","ᱫᱤᱥ":"Dec",mulungu:"Su",alahamisi:"Th",mupalangulwa:"Jan",mwitope:"Feb",mushende:"Mar",munyi:"Apr","mushende magali":"May",mujimbi:"Jun",mushipepo:"Jul",mupuguto:"Aug",munyense:"Sep",mokhu:"Oct",musongandembwe:"Nov",muhaano:"Dec",mup:"Jan",mwi:"Feb",msh:"Mar",mun:"Apr",muj:"Jun",msp:"Jul",mpg:"Aug",mye:"Sep",mus:"Nov",muh:"Dec",sabudu:"Sa",dimingu:"Su",chiposi:"Mo",chinai:"Th",pos:"Mo",pir:"Tu",nai:"Th",sha:"Fr",fevreiro:"Feb",marco:"Mar",otubro:"Oct","ⴰⵙⵉⴹⵢⴰⵙ":"Sa","ⴰⵙⴰⵎⴰⵙ":"Su","ⴰⵢⵏⴰⵙ":"Mo","ⴰⵙⵉⵏⴰⵙ":"Tu","ⴰⴽⵕⴰⵙ":"We","ⴰⴽⵡⴰⵙ":"Th","ⵙⵉⵎⵡⴰⵙ":"Fr","ⴰⵙⵉⴹ":"Sa","ⴰⵙⴰ":"Su","ⴰⵢⵏ":"Mo","ⴰⵙⵉ":"Tu","ⴰⴽⵕ":"We","ⴰⴽⵡ":"Th","ⴰⵙⵉⵎ":"Fr","ⵉⵏⵏⴰⵢⵔ":"Jan","ⴱⵕⴰⵢⵕ":"Feb","ⵎⴰⵕⵚ":"Mar","ⵉⴱⵔⵉⵔ":"Apr","ⵎⴰⵢⵢⵓ":"May","ⵢⵓⵏⵢⵓ":"Jun","ⵢⵓⵍⵢⵓⵣ":"Jul","ⵖⵓⵛⵜ":"Aug","ⵛⵓⵜⴰⵏⴱⵉⵔ":"Sep","ⴽⵜⵓⴱⵔ":"Oct","ⵏⵓⵡⴰⵏⴱⵉⵔ":"Nov","ⴷⵓⵊⴰⵏⴱⵉⵔ":"Dec","ⵉⵏⵏ":"Jan","ⴱⵕⴰ":"Feb","ⵎⴰⵕ":"Mar","ⵉⴱⵔ":"Apr","ⵎⴰⵢ":"May","ⵢⵓⵏ":"Jun","ⵢⵓⵍ":"Jul","ⵖⵓⵛ":"Aug","ⵛⵓⵜ":"Sep","ⴽⵜⵓ":"Oct","ⵏⵓⵡ":"Nov","ⴷⵓⵊ":"Dec",lávurdâh:"Sa",pasepeivi:"Su",vuossargâ:"Mo",majebargâ:"Tu",koskokko:"We",tuorâstâh:"Th",vástuppeivi:"Fr",pas:"Su",vuo:"Mo",tuo:"Th",vás:"Fr",uđđâivemáánu:"Jan",kuovâmáánu:"Feb",njuhčâmáánu:"Mar",cuáŋuimáánu:"Apr",vyesimáánu:"May",kesimáánu:"Jun",syeinimáánu:"Jul",porgemáánu:"Aug",čohčâmáánu:"Sep",roovvâdmáánu:"Oct",skammâmáánu:"Nov",juovlâmáánu:"Dec",uđiv:"Jan",kuovâ:"Feb",njuhčâ:"Mar",cuáŋui:"Apr",vyesi:"May",kesi:"Jun",syeini:"Jul",porge:"Aug",čohčâ:"Sep",roovvâd:"Oct",skammâ:"Nov",juovlâ:"Dec",niydziela:"Su",pyńdziałek:"Mo",strzoda:"We",sztwortek:"Th",piōntek:"Fr",stycznia:"Jan",lutego:"Feb",marca:"Mar",kwietnia:"Apr",moja:"May",czyrwca:"Jun",lipca:"Jul",siyrpnia:"Aug",września:"Sep",października:"Oct",listopada:"Nov",grudnia:"Dec",nakasabiti:"Sa",nakaejuma:"Su",nakaebarasa:"Mo",nakaare:"Tu",nakauni:"We","nakaung’on":"Th",nakakany:"Fr",bar:"Mo",aar:"Tu",uni:"We",ung:"Th",orara:"Jan",omuk:"Feb","okwamg’":"Mar","odung’el":"Apr",omaruk:"May","omodok’king’ol":"Jun",ojola:"Jul",opedel:"Aug",osokosokoma:"Sep",otibar:"Oct",olabor:"Nov",opoo:"Dec",dun:"Apr",mod:"Jun",ped:"Aug",sok:"Sep",tib:"Oct",lab:"Nov",poo:"Dec","suno esun #6":"Sa","suno esun #7":"Su","suno esun #1":"Mo","suno esun #2":"Tu","suno esun #3":"We","suno esun #4":"Th","suno esun #5":"Fr","mun #1":"Jan","mun #2":"Feb","mun #3":"Mar","mun #4":"Apr","mun #5":"May","mun #6":"Jun","mun #7":"Jul","mun #8":"Aug","mun #9":"Sep","mun #10":"Oct","mun #11":"Nov","mun #12":"Dec",asiḍyas:"Sa",asamas:"Su",aynas:"Mo",asinas:"Tu",akras:"We",akwas:"Th",asimwas:"Fr",asḍ:"Sa",ayn:"Mo",asn:"Tu",akr:"We",akw:"Th",asm:"Fr",yebrayer:"Feb",ibrir:"Apr",yulyuz:"Jul",cutanbir:"Sep",kṭuber:"Oct",nwanbir:"Nov",dujanbir:"Dec",ibr:"Apr",cut:"Sep",kṭu:"Oct",nwa:"Nov",duj:"Dec","ꔻꔬꔳ":"Sa","ꕞꕌꔵ":"Su","ꗳꗡꘉ":"Mo","ꕚꕞꕚ":"Tu","ꕉꕞꕒ":"We","ꕉꔤꕆꕢ":"Th","ꕉꔤꕀꕮ":"Fr","ꖨꖕ ꕪꕴ ꔞꔀꕮꕊ":"Jan","ꕒꕡꖝꖕ":"Feb","ꕾꖺ":"Mar","ꖢꖕ":"Apr","ꖑꕱ":"May","ꖱꘋ":"Jun","ꖱꕞꔤ":"Jul","ꗛꔕ":"Aug","ꕢꕌ":"Sep","ꕭꖃ":"Oct","ꔞꘋꕔꕿ ꕸꖃꗏ":"Nov","ꖨꖕ ꕪꕴ ꗏꖺꕮꕊ":"Dec","ꖨꖕꔞ":"Jan","ꕒꕡ":"Feb","ꖱꕞ":"Jul","ꔞꘋ":"Nov","ꖨꖕꗏ":"Dec",sabo:"Sa",doménega:"Su",marti:"Tu",mèrcore:"We",zoba:"Th",vènare:"Fr",zob:"Th",vèn:"Fr",jenaro:"Jan",febraro:"Feb",jugno:"Jun",lujo:"Jul",setenbre:"Sep",otobre:"Oct",novenbre:"Nov",dezenbre:"Dec",oto:"Oct",esaabadu:"Sa",ettiminku:"Su","nihiku noolempwa":"Mo",namaanli:"Tu",namararu:"We",namaxexe:"Th",namathanu:"Fr",janeiru:"Jan",fevereiru:"Feb",junyu:"Jun",julyu:"Jul",setembru:"Sep",outubru:"Oct",dezembru:"Dec",samštag:"Sa",sunntag:"Su",mäntag:"Mo",zištag:"Tu",mittwuč:"We",fróntag:"Th",fritag:"Fr",män:"Mo",ziš:"Tu",fró:"Th",jenner:"Jan",hornig:"Feb",märze:"Mar",abrille:"Apr",meije:"May",bráčet:"Jun",heiwet:"Jul",öigšte:"Aug",herbštmánet:"Sep",wímánet:"Oct",wintermánet:"Nov",chrištmánet:"Dec",hor:"Feb",brá:"Jun",hei:"Jul",öig:"Aug",her:"Sep",wím:"Oct",win:"Nov",chr:"Dec",शनिच्चरवार:"Sa",तोआर:"Su",सोआर:"Mo",वीरवार:"Th",शुक्करवार:"Fr",वीर:"Th",शुक्कर:"Fr",olomukaaga:"Sa",sabiiti:"Su",owokubili:"Tu",owokusatu:"We",olokuna:"Th",olokutaanu:"Fr",muka:"Sa",sabi:"Su",bala:"Mo",kubi:"Tu",kusa:"We",kuna:"Th",kuta:"Fr",séselé:"Sa",sɔ́ndiɛ:"Su",móndie:"Mo",muányáŋmóndie:"Tu",metúkpíápɛ:"We",kúpélimetúkpiapɛ:"Th",feléte:"Fr",ss:"Sa",sd:"Su",md:"Mo",mw:"Tu",kl:"Th",fl:"Fr","pikítíkítie, oólí ú kutúan":"Jan","siɛyɛ́, oóli ú kándíɛ":"Feb","ɔnsúmbɔl, oóli ú kátátúɛ":"Mar","mesiŋ, oóli ú kénie":"Apr","ensil, oóli ú kátánuɛ":"May",ɔsɔn:"Jun",efute:"Jul",pisuyú:"Aug","imɛŋ i puɔs":"Sep","imɛŋ i putúk,oóli ú kátíɛ":"Oct",makandikɛ:"Nov",pilɔndɔ́:"Dec","o\\.1":"Jan","o\\.2":"Feb","o\\.3":"Mar","o\\.4":"Apr","o\\.5":"May","o\\.6":"Jun","o\\.7":"Jul","o\\.8":"Aug","o\\.9":"Sep","o\\.10":"Oct","o\\.11":"Nov","o\\.12":"Dec",saurú:"Sa",mituú:"Su",murakipí:"Mo","murakí-mukũi":"Tu","murakí-musapíri":"We",supapá:"Th",yukuakú:"Fr",sau:"Sa",mur:"Mo",mmk:"Tu",mms:"We",sup:"Th",yuk:"Fr",yepé:"Jan",mukũi:"Feb",musapíri:"Mar",irũdí:"Apr",pú:"May","pú-yepé":"Jun","pú-mukũi":"Jul","pú-musapíri":"Aug","pú-irũdí":"Sep","yepé-putimaã":"Oct","yepé-yepé":"Nov","yepé-mukũi":"Dec",ye:"Jan",mk:"Feb",ms:"Mar",id:"Apr",pu:"May",py:"Jun",ps:"Aug",yp:"Oct",yy:"Nov",ym:"Dec","ⴰⵙⵉⵎⵡⴰⵙ":"Fr"},"please use ok for similar looking ko":{оff:"off"},"please use 24 hours time for ko":{pm:"pm","p.m.":"pm",рм:"pm",am:"am","a.m.":"am",ам:"am"},"please use restriction comment time for ko":{damen:'open "Damen"',herren:'open "Herren"'},"please use ok for typographically correct":{"–":"-","„":'"',"“":'"',"”":'"',"«":'"',"»":'"',"‚":'"',"‘":'"',"’":'"',"「":'"',"」":'"',"『":'"',"』":'"'},"Ambiguous words":{"གཟའ་སྤེན་པ་":'Word "གཟའ་སྤེན་པ་" is ambiguous: Sa (Tibetan) or Fr (Dzongkha). Please specify language context or use English weekday name.',"གཟའ་ཉི་མ་":'Word "གཟའ་ཉི་མ་" is ambiguous: Su (Tibetan) or Sa (Dzongkha). Please specify language context or use English weekday name.',"གཟའ་ཟླ་བ་":'Word "གཟའ་ཟླ་བ་" is ambiguous: Mo (Tibetan) or Su (Dzongkha). Please specify language context or use English weekday name.',"གཟའ་མིག་དམར་":'Word "གཟའ་མིག་དམར་" is ambiguous: Tu (Tibetan) or Mo (Dzongkha). Please specify language context or use English weekday name.',"གཟའ་ལྷག་པ་":'Word "གཟའ་ལྷག་པ་" is ambiguous: We (Tibetan) or Tu (Dzongkha). Please specify language context or use English weekday name.',"གཟའ་ཕུར་བུ་":'Word "གཟའ་ཕུར་བུ་" is ambiguous: Th (Tibetan) or We (Dzongkha). Please specify language context or use English weekday name.',"གཟའ་པ་སངས་":'Word "གཟའ་པ་སངས་" is ambiguous: Fr (Tibetan) or Th (Dzongkha). Please specify language context or use English weekday name.',meurzh:'Word "meurzh" is ambiguous: Mar (Breton) or Tu (Breton). Please specify language context or use English month name.',listopad:'Word "listopad" is ambiguous: Nov (Czech) or Oct (Croatian) or Nov (Polish). Please specify language context or use English month name.',sabato:'Word "sabato" is ambiguous: Sa (Esperanto) or Sa (Italian) or Su (Makhuwa-Meetto). Please specify language context or use English weekday name.',nyakanga:'Word "nyakanga" is ambiguous: Sep (Rundi) or Jul (Kinyarwanda). Please specify language context or use English month name.'}},$L={"unexpected token":'Unexpected token: "{{token}}" This means that the syntax is not valid at that point or it is currently not supported.',"no string":"The value (first parameter) is not a string.",nothing:"The value contains nothing meaningful which can be parsed.","nothing useful":"This rule does not contain anything useful. Please remove this empty rule.","combine rules":'Separate rules detected each of which only consists of a time selector. These rules should be written as one rule by combining them using "{{ok}}".',"value ends with token":'The value ends with "{{token}}". Please either continue after "{{token}}" or remove "{{token}}".',"programmers joke":"Might it be possible that you are a programmer and adding a semicolon after each statement is hardwired in your muscle memory ;) ? The thing is that the semicolon in the opening_hours syntax is defined as rule separator. So for compatibility reasons you should omit this last semicolon.","interpreted as year":'The number {{number}} will be interpreted as year. This is probably not intended. Times can be specified as "12:00".',"rule before fallback empty":"Rule before fallback rule does not contain anything useful","hour min separator":'Please use ":" as hour/minute-separator',"warnings severity":'The parameter optional_conf_parm["warnings_severity"] must be an integer number between 0 and 7 (inclusive). Given {{severity}}, expected one of the following numbers: {{allowed}}.',"optional conf parm type":"The optional_conf_parm parameter is of unknown type. Given {{given}}","conf param tag key missing":'The optional_conf_parm["tag_key"] is missing, required by optional_conf_parm["map_value"].',"conf param mode invalid":'The optional_conf_parm["mode"] parameter is a invalid number. Gave {{given}}, expected one of the following numbers: {{allowed}}.',"conf param unknown type":'The optional_conf_parm["{{key}}"] parameter is of unknown type. Given {{given}}, expected {{expected}}.',"library bug":'An error occurred during evaluation of the value "{{value}}". Please file a bug report or pull request: {{url}}.{{message}}',"library bug PR only":'An error occurred during evaluation of the value "{{value}}". Please submit a pull request: {{url}}.{{message}}',"use multi":'You have used {{count}} {{part2}} Rules can be separated by ";".',"selector multi 2a":"{{what}} in one rule. You may only use one in one rule.","selector multi 2b":'not connected {{what}} in one rule. This is probably an error. Equal selector types can (and should) always be written in conjunction separated by comma. Example for time ranges "12:00-13:00,15:00-18:00". Example for weekdays "Mo-We,Fr".',"selector state":"state keywords",comments:"comments","holiday ranges":"holiday ranges",months:"months",weekdays:"weekdays",ranges:"ranges","default state":"This rule which changes the default state (which is closed) for all following rules is not the first rule. The rule will overwrite all previous rules. It can be legitimate to change the default state to open for example and then only specify for which times the facility is closed.",vague:'This rule is not very explicit because there is no time selector being used. A time selector is the part specifying hours when the object is opened, for example "10:00-19:00". Please add a time selector to this rule or use a comment to make it more explicit.',"empty comment":"You have used an empty comment. Please either write something in the comment or use the keyword unknown instead.",separator_for_readability:"You have used the optional symbol in the wrong place. Please check the syntax specification to see where it could be used or remove it.","strange 24/7":'You used 24/7 in a way that is probably not interpreted as "24 hours 7 days a week". For correctness you might want to use "open" or "closed" for this rule and then write your exceptions which should achieve the same goal and is more clear e.g. "open; Mo 12:00-14:00 off".',"public holiday":'There was no PH (public holiday) specified. This is not very explicit.{{part2}} Please either append a "PH off" rule if the amenity is closed on all public holidays or use something like "Sa,Su,PH 12:00-16:00" to say that on Saturdays, Sundays and on public holidays the amenity is open 12:00-16:00. Be careful with opening hours like "Fr-Sa 18:00-06:00" because "PH off" applies to 00:00-24:00. So "Fr-Sa 18:00-06:00; PH 18:00-06:00 off" is probably what you want. If the amenity is open everyday including public holidays then you can make this explicit by writing "Mo-Su,PH". If you are not certain try to find it out. If you can’t then do not add PH to the value and ignore this warning.',"public holiday part2":' Unfortunately the tag key (e.g. "opening_hours", or "lit") is unknown to opening_hours.js. This warning only applies to the key {{keys}}. If your value is for that key than read on. If not you can ignore the following.',"additional_rule_separator not used after time wrapping midnight":'This rule overwrites parts of the previous rule. This happens because normal rules apply to the whole day and overwrite any definition made by previous rules. You can make this rule an additional rule by using a "," instead of the normal ";" to separate the rules. Note that the overwriting can also be desirable in which case you can ignore this warning.',"additional rule which evaluates to closed":'This rule will be evaluated as closed but it was specified as additional rule. It should be specified as normal rule using ";" as rule separator. See https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification#explain:rule_modifier:closed.',switched:'The selector "{{first}}" was switched with the selector "{{second}}" for readability and compatibility reasons.',"no colon after":'Please don’t use ":" after {{token}}.',"number -5 to 5":"Number between -5 and 5 (except 0) expected.","one weekday constraint":"You can not use more than one constrained weekday in a month range","range constrained weekdays":"You can not use a range of constrained weekdays in a month range",expected:'"{{symbol}}" expected.',"range zero":"You can not use {{type}} ranges with period equals zero.","period one year+":'Please don’t use {{type}} ranges with period equals one. If you want to express that a facility is open starting from a year without limit use "+".',"period one":"Please don’t use {{type}} ranges with period equals one.","month 31":"The day for {{month}} must be between 1 and 31.","month 30":"Month {{month}} doesn't have 31 days. The last day of {{month}} is day 30.","month feb":"Month {{month}} either has 28 or 29 days (leap years).","point in time":"hyphen (-) or open end (+) in time range {{calc}}expected. For working with points in time, the mode for {{libraryname}} has to be altered. Maybe wrong tag?",calculation:"calculation","time range continue":"Time range does not continue as expected","period continue":'Time period does not continue as expected. Example "/01:30".',"time range mode":'{{libraryname}} is running in "time range mode". Found point in time.',"point in time mode":'{{libraryname}} is running in "points in time mode". Found time range.',"outside current day":"Time range starts outside of the current day","two midnights":"Time spanning more than two midnights not supported","without minutes":'Time range without minutes specified. Not very explicit! Please use this syntax instead "{{syntax}}".',"outside day":"Time range starts outside of the current day","zero calculation":'Adding zero in a variable time calculation does not change the variable time. Please omit the calculation (example: "sunrise-(sunset-00:00)").',"calculation syntax":"Calculation with variable time is not in the right syntax","time offset hours only":'Time offset must be in format HH:MM, not just hours. Did you mean "{{suggestion}}"?',missing:'Missing "{{symbol}}"',"(time)":"(time)","bad range":"Bad range: {{from}}-{{to}}","] or more numbers":'"]" or more numbers expected.',"additional rule no sense":'An additional rule does not make sense here. Just use a ";" as rule separator. See https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification#explain:additional_rule_separator',"unexpected token weekday range":"Unexpected token in weekday range: {{token}}","max differ":"There should be no reason to differ more than {{maxdiffer}} days from a {{name}}. If so tell us …","adding 0":"Adding 0 does not change the date. Please omit this.","unexpected token holiday":"Unexpected token (holiday parser): {{token}}","no holiday definition":"There are no holidays ({{name}}) defined for country {{cc}}.","no holiday definition state":"There are no holidays ({{name}}) defined for country {{cc}} and state {{state}}.","no country code":"Country code missing which is needed to select the correct holidays (see README how to provide it)","no SH definition":"School holiday {{name}}not defined for the year {{year}}.","movable no formula":"Movable day {{name}} can not not be calculated. Please add the formula how to calculate it.","movable not in year":"The movable day {{name}} plus {{days}} days is not in the year of the movable day anymore. Currently not supported.","year range one year":'A year range in which the start year is equal to the end year does not make sense. Please remove the end year. E.g. "{{year}} May 23"',"year range reverse":"A year range in which the start year is greater than the end year does not make sense. Please turn it over.","year past":"The year is in the past.","unexpected token year range":"Unexpected token in year range: {{token}}","week range reverse":"You have specified a week range in reverse order or leaping over a year. This is (currently) not supported.","week negative":"You have specified a week date less then one. A valid week date range is 1-53.","week exceed":"You have specified a week date greater then 53. A valid week date range is 1-53.","week period less than 2":'You have specified a week period which is less than two. If you want to select the whole range from week {{weekfrom}} to week {{weekto}} then just omit the "/{{period}}".',"week period greater than 26":'You have specified a week period which is greater than 26. 26.5 is the half of the maximum 53 week dates per year so a week date period greater than 26 would only apply once per year. Please specify the week selector as "week {{weekfrom}}" if that is what you want to express.',"unexpected token week range":"Unexpected token in week range: {{token}}","unexpected token month range":"Unexpected token in month range: {{token}}","day range reverse":"Range in wrong order. From day is greater than to day.","open end":"Specified as open end. Closing time was guessed.","date parameter needed":"Date parameter needed.","assuming ok for ko":'Assuming "{{ok}}" for "{{ko}}".',"please use ok for ko":'Please use notation "{{ok}}" for "{{ko}}".',"please use ok for similar looking ko":'Please use notation "{{ok}}" for "{{ko}}". Those characters look very similar but are not the same!',"rant degree sign used for zero":"Note that this is not a (superscript) zero but a degree sign which is misused as zero. A superscript zero is defined in Unicode (°) and would have been more appropriate/uniform here. But note that the use of none-ASCII digits is not allowed.","please use English written ok for ko":'Please use the English written "{{ok}}" for "{{ko}}".',"please use English abbreviation ok for ko":'Please use the English abbreviation "{{ok}}" for "{{ko}}".',"please use English abbreviation ok for so":'Please use the English abbreviation "{{ok}}" for "{{ko}}". Note that it might also mean Saturday in Polish.',"please use off for ko":'Please use "{{ok}}" for "{{ko}}". Example: "Mo-Fr 08:00-12:00; Tu off".',"please use ok for workday":'Assuming "{{ok}}" for "{{ko}}". Please avoid using "workday": https://wiki.openstreetmap.org/wiki/Talk:Key:opening_hours#need_syntax_for_holidays_and_workingdays',"omit hour keyword":'Please omit "{{ko}}" or use a colon instead. Example: "12:00-14:00".',"omit ko":'Please omit "{{ko}}".',"omit tag key":'Please omit "{{ko}}". The tag key must not be in the tag value.',"omit wrong keyword open end":'Please omit "{{ko}}". The tag key must not be in the tag value.',"assuming open end for ko":'Assuming "{{ok}}" (open end time) for "{{ko}}". Example: "12:00+".',"please use ok for uncertainty":'Please use notation "{{ok}}" for "{{ko}}". If there is reason to suspect uncertainty consider adding a comment. Example: 12:00-14:00 "only on sunshine".',"please use fallback rule":'Please use notation "{{ok}}" (Fallback rule) for "{{ko}}". Example: Mo-Fr 12:00-14:00; PH off || "by appointment"',"please use ok for missing data":"Please consider adding a FIXME tag instead.","please use 24 hours time for ko":"Please use time format in 24 hours notation instead of the legacy 12 hours variant. If the 12 hours variant is used you might have to convert the hours to the 24 hours notation.","please use restriction comment time for ko":'It looks like you might want to define additional restrictions. If that is the case and they can not be expressed by other syntax elements then you could use a comment together with the `open` keyword. Example: open "female only"',"please use ok for typographically correct":'Please use notation "{{ok}}" for "{{ko}}". Although using "{{ko}}" is typographical correct, it is not defined in the opening_hours syntax. Correct typography should be done on application level …'},hi={en:{opening_hours:{pretty:{off:"closed",SH:"school holidays",PH:"public holidays"}}},de:{opening_hours:{texts:{"unexpected token":'Unerwartetes Zeichen: "{{token}}" Das bedeutet, dass die Syntax an dieser Stelle nicht erkannt werden konnte.',"no string":"Der Wert (erster Parameter) ist kein String",nothing:"Der Wert enthält nichts, was ausgewertet werden könnte.","nothing useful":"Diese Regel enthält nichts nützliches. Bitte entferne diese leere Regel.","combine rules":'Getrennte Regeln erkannt welche jeweils nur aus einer Zeit Bereichsdefinition bestehen. Diese Regeln sollten mittels "{{ok}}" zu einer Regel kombiniert werden.',"value ends with token":'Der Wert endet mit "{{token}}". Bitte ergänze den Wert nach "{{token}}" oder lösche "{{token}}".',"programmers joke":"Kann es sein, dass du ein Programmierer bist und das Hinzufügen eines Semikolons nach jedem Statement ist zwanghaft ;) ? Es ist so, dass das Semikolon in der opening_hours-Syntax als Trenner für Regeln definiert ist. Bitte verzichte an dieser Stelle auf ein Semikolon.","interpreted as year":'Die Zahl {{number}} wird als Jahr interpretiert. Vermutlich ist das nicht beabsichtigt. Uhrzeiten werden als "12:00" angegeben.',"rule before fallback empty":"Die Regel vor der Fallback-Regel enthält nichts nützliches","hour min separator":'Bitte benutze ":" als Stunden/Minuten-Trenner',"warnings severity":'Der Parameter optional_conf_parm["warnings_severity"] muss eine ganze Zahl zwischen (einschließlich) 0 und (einschließlich) 7 sein. Gegeben: {{severity}}, erwartet: Eine der Zahlen: {{allowed}}.',"optional conf parm type":"Der optional_conf_parm Parameter hat einen unbekannten Typ. Gegeben: {{given}}","conf param tag key missing":'Der optional_conf_parm["tag_key"] fehlt, ist aber notwendig wegen optional_conf_parm["map_value"].',"conf param mode invalid":'Der optional_conf_parm["mode"]-Parameter ist eine ungültige Zahl. Gegeben: {{given}}, erwartet: Eine der Zahlen: {{allowed}}.',"conf param unknown type":'Der optional_conf_parm["{{key}}"] Parameter hat einen unbekannten Typ. Gegeben: {{given}}, erwartet: {{expected}}.',"library bug":'Bei der Auswertung des Wertes "{{value}}" ist ein Fehler aufgetreten. Bitte melde diesen Fehler oder korrigiere diesen mittels eines Pull Requests oder Patches: {{-url}}.{{message}}',"library bug PR only":'Bei der Auswertung des Wertes "{{value}}" ist ein Fehler aufgetreten. Du kannst dies korrigieren, indem du das Problem löst und in Form eines Pull Requests oder Patches zum Projekt beiträgst: {{-url}}.{{message}}',"use multi":'Du hast {{count}} {{-part2}} Einzelne Regeln können mit ";" getrennt werden.',"selector multi 2a":"{{what}} in einer Regel benutzt. Du kannst nur einen davon je Regel verwenden","selector multi 2b":'nicht verbundene {{what}} in einer Regel benutzt. Das ist vermutlich ein Fehler. Gleiche Selektoren können (und sollten) immer zusammen und durch Kommas getrennt geschrieben werden. Beispiel für Zeitspannen "12:00-13:00,15:00-18:00". Beispiel für Wochentage "Mo-We,Fr".',"selector state":"Status-Schlüsselwörter (offen, geschlossen)",comments:"Kommentare",months:"Monate",weekdays:"Wochentage",ranges:"Zeitspannen","default state":"Diese Regel, welche den Standard-Status (d.h. geschlossen) für alle folgenden Regeln ändert, ist nicht die erste Regel. Diese Regel überschreibt alle vorherigen Regeln. Es kann legitim sein, den Standard-Status z.B. auf geöffnet festzulegen und dann nur die Zeiten, zu denen geschlossen ist, anzugeben.",vague:'Diese Regel ist nicht sehr aussagekräftig, da kein Zeit Selektor angegeben wurde. Ein Zeit Selektor ist die Komponente die angibt, zu welcher Tageszeit ein Objekt geöffnet hat, zum Beispiel "10:00-19:00". Bitte füge eine Zeitangabe oder einen Kommentar hinzu, um dies zu verbessern.',"empty comment":'Du hast einen leeren Kommentar verwendet." Bitte schreibe entweder einen Kommentar-Text oder benutze stattdessen das Schlüsselwort "unknown".',separator_for_readability:"Du hast das optionale Symbol an der falschen Stelle benutzt. Bitte lies die Syntax-Spezifikation um zu sehen, wo es verwendet werden kann, oder entferne es.","strange 24/7":'Du hast 24/7 in einer Art verwendet, welche wahrscheinlich nicht als "24 Stunden, 7 Tage die Woche" interpretiert wird. Der Richtigkeit halber solltest du "open" oder "closed" für diese Regel verwenden und dann die Ausnahmen angeben um das selbe Ziel zu erreichen. So ist es klarer – zum Beispiel "open; Mo 12:00-14:00 off".',"public holiday":'Es wurde keine Regel für "PH" (feiertags) angegeben. Dies ist nicht sehr aussagekräftig.{{-part2}} Bitte füge die Regel "PH off" an, wenn die Einrichtung an allen Feiertagen geschlossen ist oder schreibe "Sa,Su,PH 12:00-16:00" um auszudrücken, dass Samstags, Sonntags und feiertags von 12:00-16:00 geöffnet ist. Bei einer Öffnungszeit wie "Fr-Sa 18:00-06:00" ist Vorsicht geboten, da "PH off" auf 00:00-24:00 zutrifft. Hier kann "Fr-Sa 18:00-06:00; PH 18:00-06:00 off" verwendet werden. Falls die Einrichtung täglich und an Feiertagen geöffnet ist, kann dies explizit mittels "Mo-Su,PH" ausgedrückt werden. Wenn du dir im Unklaren bist, versuche die Öffnungszeit zu klären. Falls das nicht möglich ist, lass die Angabe weg und ignoriere diese Warnung.',"public holiday part2":' Leider ist der "tag key" (beispielsweise "opening_hours", oder "lit") in opening_hours.js nicht bekannt. Diese Warnung betrifft nur die Keys: {{keys}}. Falls deine Angabe nicht für einen dieser ist, ignoriere bitte folgenden Hinweis:',"additional_rule_separator not used after time wrapping midnight":'Diese Regel überschreibt Teile der vorherigen Regel. Der Grund dafür ist, dass normale Regeln auf den ganzen Tag zutreffen und alle Definitionen von vorhergehenden Regeln für diesen Tag überschreiben. Du kannst diese Regel als additive Regel deklarieren indem du ein "," anstelle des üblichen ";" für diese Regel verwendest. Beachte das die Überschreibung auch gewünscht sein kann und in so einem Fall diese Warnung ignoriert werden kann.',"additional rule which evaluates to closed":'Diese Regel wird als geschlossen ausgewertet aber wurde als additive Regel angegeben. Sie sollte als normale Regel mittels ";" definiert sein. Siehe https://wiki.openstreetmap.org/wiki/DE:Key:opening_hours/specification#explain:rule_modifier:closed.',switched:'Der Selektor "{{first}}" wurde für eine bessere Lesbarkeit und der Vollständigkeit halber mit "{{second}}" getauscht.',"no colon after":'Bitte Benutze kein ":" nach dem Token {{token}}.',"number -5 to 5":"Zahl zwischen -5 und 5 (außer 0) erwartet.","one weekday constraint":"Du kannst höchstens einen beschränkten Wochentag in einer Monats-Spanne verwenden","range constrained weekdays":"Du kannst keine Wochentags-Spanne als Beschränkung in einer Monats-Spanne verwenden",expected:'"{{-symbol}}" erwartet.',"range zero":'Du kannst keine {{type}}-Spanne mit Periode "0" verwenden.',"period one year+":'Bitte verwende keine {{type}}-Spannen mit Periode "1". Wenn du ausdrücken willst, das eine Einrichtung ab einem bestimmten Jahr immer offen ist, benutze bitte "+".',"period one":'Bitte verwende keine {{type}}-Spannen mit Periode "1".',"month 31":"Die Tagesangabe für {{month}} muss zwischen 1 und 31 liegen.","month 30":"Der Monat {{month}} hat keine 31 Tage. Der letzte Tag von {{month}} ist Tag 30.","month feb":'"Der Monat {{month}} hat entweder 28 oder 29 Tage (Schaltjahre)."',"point in time":"Erwarte Bindestrich (-) oder offenes Ende (+) in der Zeitspanne {{calc}}. Um mit Zeitpunkten zu arbeiten, muss der Modus für {{libraryname}} umgestellt werden. Vielleicht falsches OSM-tag verwendet?",calculation:"Berechnung","time range continue":"Die Zeitspanne geht nicht wie erwartet weiter","period continue":'Die Zeitspannen-Periode geht nicht wie erwartet weiter. Beispiel "/01:30".',"time range mode":'{{libraryname}} wurde im "Zeitspannen-Modus" aufgerufen. Zeitpunkt gefunden.',"time ranges":"Zeitspannen","holiday ranges":"Feiertagen","point in time mode":'{{libraryname}} wurde im "Zeitpunkt-Modus" aufgerufen. Zeitspanne gefunden.',"outside current day":"Zeitspanne beginnt außerhalb des aktuellen Tages","two midnights":"Zeitspanne welche mehrmals Mitternacht beinhaltet wird nicht unterstützt","without minutes":'Zeitspanne ohne Minutenangabe angegeben. Das ist nicht sehr eindeutig! Bitte verwende stattdessen folgende Syntax "{{syntax}}".',"outside day":"Die Zeitspanne beginnt außerhalb des aktuellen Tages","zero calculation":'Das Hinzufügen von 0 in einer variablen Zeitberechnung ändert die variable Zeit nicht. Bitte entferne die Zeitberechnung (Beispiel: "sunrise-(sunset-00:00)").',"calculation syntax":"Berechnung mit variabler Zeit hat nicht die korrekte Syntax","time offset hours only":'Zeitversatz muss im Format HH:MM angegeben werden, nicht nur Stunden. Meintest du "{{suggestion}}"?',missing:'Fehlendes "{{symbol}}"',"(time)":"(Zeit)","bad range":"Ungültige Zeitspanne: {{from}}-{{to}}","] or more numbers":'"]" oder weitere Zahlen erwartet.',"additional rule no sense":'Eine weitere Regel an dieser Stelle ergibt keinen Sinn. Benutze einfach ";" als Trenner für Regeln. Siehe https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification#explain:additional_rule_separator',"unexpected token weekday range":"Unerwartes Token in Tages-Spanne: {{token}}","max differ":"Es sollte keinen Grund geben, mehr als {{maxdiffer}} Tage von einem {{name}} abzuweichen. Wenn nötig, teile uns dies bitte mit …","adding 0":"Addition von 0 verändert das Datum nicht. Bitte weglassen.","unexpected token holiday":"Unerwarteter Token (in Feiertags-Auswertung): {{token}}","no holiday definition":"{{name}} ist für das Land {{cc}} nicht definiert.","no holiday definition state":"{{name}} ist für das Land {{cc}} und Bundesland {{state}} nicht definiert.","no country code":"Der Ländercode fehlt. Dieser wird benötigt um die korrekten Feiertage zu bestimmen (siehe in der README wie dieser anzugeben ist)","no SH definition":"Die Schulferien {{name}}sind für das Jahr {{year}} nicht definiert","movable no formula":"Der bewegliche Feiertag {{name}} kann nicht berechnet werden. Bitte füge eine entsprechende Formel hinzu.","movable not in year":"Der bewegliche Feiertag {{name}} plus {{days}} Tage befindet sich nicht mehr im selben Jahr. Aktuell nicht unterstützt.","year range one year":'Eine Jahres-Spanne mit gleichem Jahr als Beginn und Ende ergibt keinen Sinn. Bitte entferne das Ende-Jahr. zum Beispiel: "{{year}} May 23"',"year range reverse":"Eine Jahres-Spanne mit Beginn größer als Ende ergibt keinen Sinn. Bitte umdrehen.","year past":"Das Jahr liegt in der Vergangenheit.","unexpected token year range":"Unerwartetes Token in der Jahres-Spanne: {{token}}","week range reverse":"Du hast eine Wochen-Spanne in umgekehrter Reihenfolge oder mehrere Jahre umfassende angegeben. Dies ist aktuell nicht unterstützt.","week negative":"Du hast eine Kalenderwoche kleiner 1 angegeben. Korrekte Angaben sind 1-53.","week exceed":"Du hast eine Kalenderwoche größer als 53 angegeben. Korrekte Angaben sind 1-53.","week period less than 2":'Du hast eine Wochenperiode kleiner 2 angegeben. Wenn du die gesamte Spanne von {{weekfrom}} bis {{weekto}} angeben willst, lasse "/{{period}}" einfach weg.',"week period greater than 26":'Du hast eine Wochen-Periode größer als 26 angegeben. 26,5 ist die Hälfte des Maximums von 53 Wochen pro Jahr. Damit würde eine Periode größer als 26 nur einmal pro Jahr auftreten. Bitte gibt den Wochen-Selektor als "week {{weekfrom}}" an, wenn es das ist, was du ausdrücken möchtest.',"unexpected token week range":"Unerwartetes Token in Wochen-Spanne: {{token}}","unexpected token month range":"Unerwartetes Token in Monats-Spanne: {{token}}","day range reverse":"Zeitspanne in falscher Reihenfolge. Beginn ist größer als Ende.","open end":'Angegeben als "open end". Schließzeit wurde geraten.',"date parameter needed":"Datumsparameter nötig.","assuming ok for ko":'"{{ko}}" wird als "{{ok}}" interpretiert.',"please use ok for ko":'Bitte verwende "{{-ok}}" anstelle von "{{-ko}}".',"please use ok for similar looking ko":'Please use notation "{{ok}}" for "{{ko}}". Those characters look very similar but are not the same!',"rant degree sign used for zero":"Beachte das dies ein Gradzeichen ist, welches als (hochgestellte) Null missbraucht wurde. Eine hochgestellte Null ist in Unicode definiert (°) und wäre angebrachter/einheitlicher an dieser Stelle. Allerdings ist die Verwendung von nicht ASCII Ziffern nicht erlaubt.","please use English written ok for ko":'Bitte benutze die englische Schreibweise "{{ok}}" für "{{ko}}".',"please use English abbreviation ok for ko":'Bitte benutze die englische Abkürzung "{{ok}}" für "{{ko}}".',"please use English abbreviation ok for so":'Bitte benutze die englische Abkürzung "{{ok}}" für "{{ko}}". Beachte das Samstag in Polnisch gemeint sein kann.',"please use off for ko":'Bitte benutze "{{ok}}" für "{{ko}}". Beispiel: "Mo-Fr 08:00-12:00; Tu off".',"please use ok for workday":'"{{ko}}" wird als "{{ok}}" interpretiert. Werktag sollte nicht verwendet werden. Siehe https://wiki.openstreetmap.org/wiki/Talk:Key:opening_hours#need_syntax_for_holidays_and_workingdays',"omit hour keyword":'Bitte lasse "{{ko}}" weg oder verwende einen Doppelpunkt. Beispiel: "12:00-14:00".',"omit ko":'Bitte verzichte auf "{{ko}}".',"omit tag key":'Bitte lasse "{{ko}}" weg. Der Tag Schlüssel darf nicht im Tag Wert sein.',"omit wrong keyword open end":'Bitte lasse "{{ko}}" weg. Falls du "open end" ausdrücken möchtest verwende bitte ein "+". Beispiel: "12:00+".',"assuming open end for ko":'"{{ko}}" wird als "{{ok}}" ("open end") interpretiert. Example: "12:00+".',"please use ok for uncertainty":'Bitte verwende "{{ok}}" für "{{ko}}". Falls der begründete Verdacht der Ungewissheit vorliegt ziehe die Verwendung eines Kommentars in Betracht. Beispiel: 12:00-14:00 "only on sunshine".',"please use fallback rule":'Bitte verwende "{{ok}}" (Fallback Regel) für "{{ko}}". Beispiel: Mo-Fr 12:00-14:00; PH off || "nach Vereinbarung"',"please use ok for missing data":"Bitte verwende eine FIXME Notiz.","please use 24 hours time for ko":"Bitte verwende 24 Stunden Zeitangaben anstelle der veralteten 12 Stunden Variante. Falls die 12 Stunden Variante verwendet wird ist eventuelle eine Konvertierung notwendig.","please use restriction comment time for ko":'Es sieht so aus also möchtest du zusätzliche Einschränkungen für eine Öffnungszeit geben. Falls sich dies nicht mit der Syntax ausdrücken lässt können Kommentare verwendet werden. Zusätzlich sollte eventuell das Schlüsselwort `open` benutzt werden. Beispiel: open "Nur Frauen".',"please use ok for typographically correct":'Bitte verwende "{{-ok}}" für "{{ko}}". Auch wenn "{{ko}}" typografisch korrekt ist, ist dies in der opening_hours Syntax nicht definiert. Korrekte Typographie sollte auf Anwendungsebene sichergestellt werden …'},pretty:{off:"geschlossen",SH:"Schulferien",PH:"Feiertags"}}},eo:{opening_hours:{texts:{"assuming ok for ko":'"{{ko}}" estas interpretita kiel "{{ok}}".',"please use ok for ko":'Bonvolu uzi la esprimon "{{-ok}}" anstataŭ "{{ko}}".',"please use English abbreviation ok for ko":'Bonvolu uzi la anglan mallongigon "{{ok}}" für "{{ko}}".'},pretty:{off:"fermita",SH:"lernejaj ferioj",PH:"festotagoj"}}},fi:{opening_hours:{pretty:{off:"suljettu",SH:"koululomat",PH:"lailliset vapaapäivät"}}},fr:{opening_hours:{texts:{"assuming ok for ko":'suppose "{{ok}}" pour "{{ko}}".',"please use ok for ko":`S'il vous plaît utilisez "{{ok}}" pour "{{ko}}".`,"please use English abbreviation ok for ko":`S'il vous plaît utiliseé l'abréviation "{{ok}}" pour "{{ko}}".`},pretty:{off:"fermé",SH:"vacances scolaires",PH:"jours fériés"}}},nl:{opening_hours:{texts:{"please use English abbreviation ok for ko":'Neem de engelse afkorting "{{ok}}" voor "{{ko}}" alstublieft.'},pretty:{off:"gesloten",SH:"schoolvakantie",PH:"feestdagen"}}},ru:{opening_hours:{pretty:{off:"закрыто",SH:"каникулы",PH:"праздник"}}},it:{opening_hours:{pretty:{off:"chiuso",SH:"festività scolastiche",PH:"festività"}}}};hi.en;hi.de;hi.eo;hi.fi;hi.fr;hi.nl;hi.ru;hi.it;const UL=hi,Di={language:"en",isInitialized:!0,t:function(n,e){return this._translate(this.language,n,e)},getFixedT:function(n){const e=this;return function(t,r){return e._translate(n,t,r)}},_translate:function(n,e,t){const r=Array.isArray(e)?e:[e];for(const s of r){const u=s.split(":"),l=u.length>1?u[0]:"opening_hours",p=u.length>1?u[1]:u[0],f=this._getNestedValue(UL,[n,l,...p.split(".")]);if(f!==void 0)return typeof f=="string"&&t?f.replace(/{{-?([^{}]*)}}/g,function(_,S){const w=S.trim();return typeof t[w]"u"&&($1=s1),$1.replace(/{{([^{}]*)}}/g,function(q1,j1){return typeof w1[j1]"u")typeof Z=="string"&&p[J]!==void 0&&typeof p[J].mode=="number"?P=p[J].mode:P=0;else if([0,1,2].indexOf(P)===-1)throw F("conf param mode invalid",{given:P,allowed:"[ 0, 1, 2 ]"});if(typeof n!="string")throw F("no string");if(/^(?:\s*;?)+$/.test(n))throw F("nothing");const X=[];let r1=!1,m1=!1,i1=!1;var z=E4(n);let n1="",h1=!0,y1,l1;const T1=[],_1={},k1=[];for(l1=0;l10&&!z[l1][1]?" "+F("programmers joke"):"")]);continue}let s1=0,w1=!1;do{if(s1===z[l1][0].length)break;if(y1={time:[],wraptime:[],weekday:[],holiday:[],week:[],month:[],monthday:[],year:[],date:[],fallback:z[l1][1],additional:!!s1,meaning:!0,unknown:!1,comment:void 0,build_from_token_rule:void 0},y1.build_from_token_rule=[l1,s1,k1.length],s1=G4(z[l1][0],s1,y1,l1),typeof s1=="object"?s1=s1[0]:s1=0,k1.push([z[l1][0].slice(y1.build_from_token_rule[1],s1===0?z[l1][0].length:s1),z[l1][1],z[l1][2]]),w1&&k1.length>1&&k1[k1.length-1][0].unshift(k1[k1.length-2][0].pop()),w1=s1!==0,["year","holiday","month","monthday","week","weekday"].forEach(function(q1){y1[q1].length>0&&(y1.date.push(y1[q1]),y1[q1]=[])}),T1.push(y1),y1.wraptime.length>0){const q1={time:y1.wraptime,date:[],meaning:y1.meaning,unknown:y1.unknown,comment:y1.comment,wrapped:!0,build_from_token_rule:y1.build_from_token_rule};for(let j1=0;j1"u"&&(q1=z),typeof s1=="number"){let j1=0;return s1===-1?j1=n.length-w1:typeof q1[s1][0][w1]>"u"?typeof q1[s1][0]"u"?s1="":s1=" "+s1,typeof w1!="string"&&(w1="library bug"),s1=F(w1,{value:n,url:w,message:s1}),console.error(s1),s1}function E4(s1){const w1=/^([^\s\d\p{P}\p{S}\p{C}]{2,})(?=\s|$|[\s\d\p{P}\p{S}\p{C}])((?:[.]| before| after)?)/iu,$1=[];let q1=[],j1=!1;for(;s1!=="";){let J1=s1.match(w1),i4;if(J1&&J1[2]===""&&(i4=u[J1[1].toLowerCase()]),typeof i4=="object")q1.push(i4.concat([s1.length])),s1=s1.substr(J1[1].length);else if(J1=s1.match(/^\s+/))s1=s1.substr(J1[0].length);else if(J1=s1.match(/^24\/7/))q1.push([J1[0],J1[0],s1.length]),s1=s1.substr(J1[0].length);else if(/^;/.test(s1))$1.push([q1,j1,s1.length]),s1=s1.substr(1),q1=[],j1=!1;else if(/^[:.]/.test(s1))s1[0]==="."&&!r1&&X.push([-1,s1.length-1,F("hour min separator")]),q1.push([":","timesep",s1.length]),s1=s1.substr(1);else if(J1=s1.match(/^(?:PH|SH)/i))q1.push([J1[0].toUpperCase(),"holiday",s1.length]),s1=s1.substr(2);else if(J1=s1.match(/^[°\u2070-\u209F\u00B2\u00B3\u00B9]{1,2}/)){const R4={176:0,8304:0,185:1,178:2,179:3},o4=J1[0].split("").map(function(D4){const Y4=D4.charCodeAt(0);if(typeof R4[Y4]=="number")return R4[Y4];if(83080&&f4(q1,q1.length-1,"number")&&(n4+=":"),n4+=o4,!r1){for(let D4=0;D4=0&&(n4-2>=0&&f4(q1,n4-2,"number","timesep","number")?(n4-=2,D4=q1[n4]):f4(q1,n4,"number")&&(D4=q1[n4]),typeof D4=="object"&&(R4==="pm"&&D4[0]1900?(q1.push([Number(J1[1]),"year",s1.length]),Number(J1[1])>=2100&&X.push([-1,s1.length-1,F("interpreted as year",{number:Number(J1[1])})])):q1.push([Number(J1[1]),"number",s1.length]),s1=s1.substr(J1[1].length+(typeof J1[2]=="string"?J1[2].length:0)),typeof J1[2]=="string"&&J1[2]!==""&&!r1&&X.push([-1,s1.length,F("omit ko",{ko:J1[2]})]);else if(/^\|\|/.test(s1)){if(q1.length===0)throw a4(-1,s1.length-2,F("rule before fallback empty"));$1.push([q1,j1,s1.length]),q1=[],s1=s1.substr(2),j1=!0}else if(J1=s1.match(/^"([^"]+)"/))q1.push([J1[1],"comment",s1.length]),s1=s1.substr(J1[0].length);else if(J1=s1.match(/^(["'„“‚‘’«「『])([^"'“”‘’»」』;|]*)(["'”“‘’»」』])/)){for(let R4=1;R41&&(X.push([o4,j1[o4][n4][j1[o4][n4].length-1],F("use multi",{count:j1[o4][n4].length,part2:/^(?:comment|state)/.test(n4)?F("selector multi 2a",{what:F(n4==="state"?"selector state":"comments")}):F("selector multi 2b",{what:F(n4+(/^(?:month|weekday)$/.test(n4)?"s":" ranges"))})})]),m1=!0)}),typeof j1[o4].state=="object"&&Object.keys(j1[o4]).length===1?o4!==0&&X.push([o4,k1[o4][0].length-1,F("default state")]):typeof j1[o4].time>"u"&&(typeof j1[o4].state=="object"&&k1[o4][0][j1[o4].state[0]][0]==="open"&&typeof j1[o4].comment>"u"||typeof j1[o4].comment>"u"&&typeof j1[o4].state>"u"&&typeof j1[o4]["24/7"]>"u")&&X.push([o4,k1[o4][0].length-1,F("vague")]),typeof j1[o4].comment=="object"&&k1[o4][0][j1[o4].comment[0]][0].length===0&&X.push([o4,j1[o4].comment[0],F("empty comment")]);for(let n4=0;n4"u"&&k1[o4+1][1]===!1){const D4=[o4,o4+1].map(function(de){for(let k4=0;k4=5&&!i4.PH&&!i4["24/7"]&&!r1&&(typeof Z=="string"&&p[J].warn_for_PH_missing||typeof Z!="string")){const o4=[];Object.keys(p).forEach(function(n4){p[n4].warn_for_PH_missing&&o4.push(n4)}),X.push([-1,0,F("public holiday",{part2:typeof Z!="string"?F("public holiday part2",{keys:o4.join(", ")}):""})])}J1.length>1&&J1.filter(function(o4){return o4.length===1&&o4[0]==="time"}).length===J1.length&&X.push([-1,0,F("combine rules",{ok:","})]),ge()}r1=!0;const w1=[];for(let $1=0;$1=0&&(j1=ee(s1,$1),!j1);$1--);if(q1=$1,j1===1)return q1+1"u"&&(w1[o4]=l[o4])});const J1=(w1.locale==="en"||w1.locale==="all")&&w1.date_format==="short",i4=J1?a:[1,2,3,4,5,6,7,8,9,10,11,12].map(function(o4){return new Date(2018,o4-1,1).toLocaleString(w1.locale,{month:w1.date_format})}),R4=J1?s:[1,2,3,4,5,6,7].map(function(o4){return new Date(2017,0,o4).toLocaleString(w1.locale,{weekday:w1.date_format})});for(let o4=0;o450)throw S4("Infinite loop.");n4[2]!=="rule separator"&&D4.push([n4,u2(k1[o4][0],n4[0],n4[1],n4[2],w1)]),n4[1]++,Y4++}while(n4[1]s1.length)return!1;for(let $1=0;$1"u"?q1:[q1[0],new Date(q1[1].getTime()-w1)]}}function G4(s1,w1,$1,q1){let j1=!1,J1=[];for(;w15)throw a4(l1,i4,F("number -5 to 5"));if(j1===J1){if($1!==0)throw a4(l1,i4,F("one weekday constraint"));$1=j1}else throw a4(l1,i4+2,F("range constrained weekdays"))});for(let j1=w1;j10?0:1),1),$1);return J1.setDate(J1.getDate()+(q1[0]+(q1[0]>0?-1:0))*7),typeof j1=="object"&&j1[1]&&J1.setDate(J1.getDate()+j1[0]),J1}function l2(s1,w1,$1,q1){if(w131)throw a4($1,q1,F("month 31",{month:a[s1]}));if((s1===3||s1===5||s1===8||s1===10)&&w1===31)throw a4($1,q1,F("month 30",{month:a[s1]}));if(s1===1&&w1===30)throw a4($1,q1,F("month feb",{month:a[s1]}))}function Oe(s1,w1,$1,q1,j1){for(q1||(s1[w1][3]="time");w1=22*60?o4=R4+8*60:R4>=17*60?o4=R4+10*60:o4=f;else if(!D4){if(i4[1]=f4(s1,k4,"number","timesep","number"),J1[1]=f4(s1,k4,"(","timevar"),!i4[1]&&!f4(s1,k4,"timevar")&&!J1[1])throw a4(j1,k4-(typeof s1[k4]=="object"?0:1),F("time range continue"));i4[1]?o4=Ne(s1,j1,k4):(J4[1]=s1[k4+J1[1]][0],o4=r[J4[1]]),J1[1]&&(Y4[1]=Xe(s1,k4),o4+=Y4[1])}if(w1=k4+(D4?-1:i4[1]?3:J1[1]?7:!n4),f4(s1,w1,"/","number")){if(f4(s1,w1+2,"timesep","number"))de=Ne(s1,j1,w1+1),w1+=4;else if(de=s1[w1+1][0],w1+=2,f4(s1,w1,"timesep"))throw a4(j1,w1,F("period continue"));if(P===0)throw a4(j1,w1-1,F("time range mode",{libraryname:S}));D4=!0}else if(f4(s1,w1,"+"))Oe(s1,k4,$1,o4=f)throw a4(j1,k4-2,F("outside current day"));if((o4f*2)throw a4(j1,k4+(i4[1]?4:J1[1]?7:1)-2,F("two midnights"));R4===0&&o4===f?$1.time.push(function(){return[!0]}):o4>f?($1.time.push(function(j4,le,_e,f2,h2,ze,j2,A2){return function(r2){const qe=r2.getHours()*60+r2.getMinutes();if(_e[0]){const i2=ss.getTimes(r2,K,Q)[_e[0]];j4=i2.getHours()*60+i2.getMinutes()+f2[0]}if(_e[1]){const i2=ss.getTimes(r2,K,Q)[_e[1]];le=i2.getHours()*60+i2.getMinutes()+f2[1],le+=f}else ze&&typeof j2!="number"&&(le=j4+1);if(typeof j2=="number"){if(qe=i2;i2+=j2){if(i2===qe)return[!0,ye(r2,qe+1)];if(qe0&&(typeof _1[j1]>"u"&&(_1[j1]={}),_1[j1].time_wraps_over_midnight=!0,$1.wraptime.push(function(j4,le,_e,f2,h2,ze){return function(j2){const A2=j2.getHours()*60+j2.getMinutes();if(le[1]){const r2=ss.getTimes(j2,K,Q)[le[1]];j4=r2.getHours()*60+r2.getMinutes()+_e[1]}if(typeof h2=="number"){if(A2=r2;r2+=h2){if(r2===A2)return[!0,ye(j2,A2+1)];if(A2=qe;qe+=j2){if(qe===r2)return[!0,ye(A2,r2+1)];if(r2=f)throw a4(j1,w1,F("outside day"));if(o4f*2)throw a4(j1,w1+2,F("two midnights"));o4>f?($1.time.push(function(D4,Y4){return function(J4){return J4.getHours()*60+J4.getMinutes()0&&(typeof _1[j1]>"u"&&(_1[j1]={}),_1[j1].time_wraps_over_midnight=!0,$1.wraptime.push(function(D4){return function(Y4){return Y4.getHours()*60+Y4.getMinutes()"u"&&!r1&&X.push([j1,w1,F("value ends with token",{token:s1[w1][1]})])}return w1}function Ne(s1,w1,$1){if(s1[$1+2][0]>59)throw a4(w1,$1+2,"Minutes are greater than 59.");return s1[$1][0]*60+s1[$1+2][0]}function Xe(s1,w1){let $1;if(f4(s1,w1+2,"+")||f4(s1,w1+2,"-"))if(f4(s1,w1+3,"number","timesep","number"))if(f4(s1,w1+6,")")){const q1=s1[w1+2][0]==="+"?"1":"-1",j1=Ne(s1,l1,w1+3)*q1;return j1===0&&X.push([l1,w1+5,F("zero calculation")]),j1}else $1=[w1+6,". "+F("missing",{symbol:")"})+"."];else if(f4(s1,w1+3,"number")&&f4(s1,w1+4,")")){const q1=("0"+s1[w1+3][0]).slice(-2),j1="("+s1[w1+1][0]+s1[w1+2][0]+q1+":00)";throw a4(l1,w1+3,F("time offset hours only",{suggestion:j1}))}else $1=[w1+5," "+F("(time)")+"."];else $1=[w1+2,". "+F("expected",{symbol:'+" or "-'})];if($1)throw a4(l1,$1[0],F("calculation syntax")+$1[1])}function N2(s1,w1,$1,q1,j1){for(q1||(q1=!0,s1[w1][3]="weekday");w15)throw a4(j1,D4,F("number -5 to 5"));if(o4===n4)J1.push(o4);else if(o45)throw a4(j1,D4+2,F("number -5 to 5"));J1.push(Y4)}else throw a4(j1,D4+2,F("bad range",{from:o4,to:n4}))});if(!f4(s1,i4,"]"))throw a4(j1,i4+(typeof s1[i4]=="object"?0:-1),F("] or more numbers"));const R4=Ue(s1,i4+1,6,"constrained weekdays");h1=!1;for(let o4=0;o4=k4.getTime())_e=o2(new Date(J4.getFullYear(),J4.getMonth()+(D4>0?0:1)+1,1),n4),le.setDate(_e.getDate()+(D4+(D4>0?-1:0))*7+Y4);else return[!1,j4];else if(_e.getTime()>=j4.getTime()&&le.getTime()>=j4.getTime())return[!1,j4];let f2;if(Y4>0){if(f2=o2(new Date(J4.getFullYear(),J4.getMonth()+(D4>0?0:1)-1,1),n4),f2.setDate(f2.getDate()+(D4+(D4>0?-1:0))*7+Y4),de===a1(f2,!1))return[!0,ye(J4,f)]}else if(Y40?0:1)+1,1),n4),f2.setDate(f2.getDate()+(D4+(D4>0?-1:0))*7+Y4),f2.getTime()>=j4.getTime()){if(_e.getTime()>=j4.getTime())return[!1,f2]}else{if(_e.getTime()"u"&&(_1[j1]={}),typeof _1[j1].week_days=="object"?Array.prototype.push.apply(_1[j1].week_days,n4):_1[j1].week_days=n4,R4Y4?[!J4,o2(de,D4)]:[J4,o2(de,Y4+1)]}}(i4,R4,o4)),w1+=J1?3:1}else{if(f4(s1,w1,"holiday"))return h1=!1,x4(s1,w1,$1,!0,q1);throw f4(s1,w1-1,",")?a4(j1,w1-1,F("additional rule no sense")):a4(j1,w1,F("unexpected token weekday range",{token:s1[w1][1]}))}if(!f4(s1,w1,","))break}return w1}function Ue(s1,w1,$1,q1){const j1=[0,0];if(j1[0]=f4(s1,w1,"+")||(f4(s1,w1,"-")?-1:0),j1[0]!==0&&f4(s1,w1+1,"number","calcday")){if(s1[w1+1][0]>$1)throw a4(l1,w1+2,F("max differ",{maxdiffer:$1,name:q1}));j1[0]*=s1[w1+1][0],j1[0]===0&&!r1&&X.push([l1,w1+2,F("adding 0")]),j1[1]=3}else j1[0]=0;return j1}function Ze(s1,w1,$1){const q1=s1[w1][0],j1=Q1(q1);if(q1==="PH"){const J1=Ue(s1,w1+1,1,"public holiday"),i4=W1(j1,J1);return $1.push(i4),w1+1+J1[1]}else{const J1=B1(j1);return $1.push(J1),w1+1}}function x4(s1,w1,$1,q1,j1){j1||(s1[w1][3]=q1?"weekday":"holiday");const J1=q1?$1.weekday:$1.holiday;for(;w1"u"&&(q1=s1.default,typeof q1>"u")))return q1}function U(s1,w1){return(s1-1)*100+w1}function x1(s1,w1){const $1=[];for(let q1=0;q1"u"))for(let J1=0;J1{const q1=U(w1.from_month,w1.from_day),j1=U($1.from_month,$1.from_day);return q1-j1})}function B1(s1){return function(w1){const $1=a1(w1),q1=w1.getFullYear(),j1=x1(s1,q1);D1(j1);for(let i4=0;i4D4&&$1"u"||J1.push({from_month:R4[0],from_day:R4[1],name:s1[i4].name})}if(J1.length>0)return D1(J1),[!1,new Date(q1+1,J1[0].from_month-1,J1[0].from_day)];throw S4(F("no SH definition",{name:"",year:q1}),"library bug PR only")}}function W1(s1,w1){return function($1){const q1=M4(s1,$1.getFullYear(),w1),j1=a1($1,!0);for(let J1=0;J10){const R4=M4(s1,$1.getFullYear()-1,w1),o4=R4[R4.length-1],n4=a1(o4[0],!0);if(j10?"Day after ":w1[0]=1900&&ne=1924&&ne=1960&&ne=1992&&ne=2024&&ne=2056&&ne=2092&&ne=1900&&ne=1920&&ne=1948&&ne=1980&&ne=2012&&ne=2044&&ne=2076&&ne=Pe)throw S4("Not implemented yet.");if(neR4[0].getTime()?1:0}),j1}function C4(s1,w1){for(s1[w1][3]="year";w1k4)return[!1];if(Y4>0)return(de-o4)%Y4===0?[!0,new Date(de+1,0,1)]:[!1,new Date(de+Y4-1,0,1)]}}else if(n4){if(deJ1)throw a4(l1,w1+2,F("week range reverse"));if(j153)throw a4(l1,$1?w1+2:w1,F("week exceed"));if($1&&(q1=f4(s1,w1+3,"/","number"),q1)){if(q1=s1[w1+4][0],s1[w1+4][4]="positive_number",q126)throw a4(l1,w1+4,F("week period greater than 26",{weekfrom:j1}))}h1&&(!(j1=53)||q1)&&(h1=!1),!q1&&j1===1&&J1===53?y1.week.push(function(){return[!0]}):y1.week.push(function(i4,R4,o4){return function(n4){const D4=ue(n4);if(D4R4)return[!1,M2(i4,n4)];if(o4){if((D4-i4)%o4===0)return[!0,M2(D4+1,n4)];{const J4=o4-(D4-i4)%o4,de=D4+J4;return dew1.getTime())return $1;throw S4()}function Ee(s1,w1,$1,q1){for(q1||(s1[w1][3]="month");w1D4?[!Y4,p4(J4,n4)]:[Y4,p4(J4,D4+1)]}}(J1,i4,R4);$1===!0?y1.monthday.push(o4):y1.month.push(o4),w1+=j1?3:1}else throw a4(l1,w1,F("unexpected token month range",{token:s1[w1][1]}));if(!f4(s1,w1,","))break}return w1}function p4(s1,w1){return new Date(s1.getFullYear(),w1=ne.getTime())return[!1,w3];if(!qe)return[!0,ne];const Y2=Math.floor((i2.getTime()-Ke.getTime())/_)%qe;return Y2===0?[!0,new Date(i2.getFullYear(),i2.getMonth(),i2.getDate()+1)]:[!1,new Date(i2.getFullYear(),i2.getMonth(),i2.getDate()+qe-Y2)]}}(Y4,j1,J4,j4,_e,le);q1===!0?y1.month.push(f2):y1.monthday.push(f2),w1+=2+j1+(k4?2:0)+(le?2:0),de=!1}while(f4(s1,w1,",","number"))}else if(i4[0]){const Y4=function(J4,de,k4,j4,le){return function(_e){const h2=_4(j4?J4[de][0]:_e.getFullYear())[J4[de+j4][0]];if(!h2)throw F("movable no formula",{name:J4[de+j4][0]});if(le[0]&&(h2.setDate(h2.getDate()+le[0]),_e.getFullYear()!==h2.getFullYear()))throw a4(k4,de+j4+le[1],F("movable not in year",{name:J4[de+j4][0],days:le[0]}));return _e.getTime()"u"||typeof de[1]=="object"&&de[1].getTime()0||R4>0&&T1[R4].meaning&&T1[R4-1].date.length===0)&&(T1[R4].meaning||T1[R4].unknown)&&!T1[R4].wrapped&&!T1[R4].additional&&!T1[R4].fallback&&(i4=[]),i4.push(R4))}for(let R4=0;R4"u"||typeof D4[1]"u"||typeof D4[1]=="object"&&D4[1]1&&(f4(s1,i4-1,",")||f4(s1,i4-1,"-"))&&f4(s1,i4-2,"weekday")&&s1[i4][0]===(s1[i4-2][0]+1)%7&&(J1=J1.substring(0,J1.length-1)+j1.sep_one_day_between),J1+=s[s1[i4][0]]):i4-w1>0&&q1==="time"&&f4(s1,i4-1,"timesep")&&f4(s1,i4,"number")?J1+=(s1[i4][0]0&&f4(s1,i4,"number")&&(q1==="month"||q1==="week")?J1+=(f4(s1,i4-1,"month")||f4(s1,i4-1,"week")?" ":"")+(j1.zero_pad_month_and_week_numbers&&s1[i4][4]!=="positive_number"&&s1[i4][0]0&&f4(s1,i4,"month")&&f4(s1,i4-1,"year")?J1+=" "+a[[s1[i4][0]]]:i4-w1>0&&f4(s1,i4,"event")&&f4(s1,i4-1,"year")?J1+=" "+s1[i4][0]:f4(s1,i4,"month")?(J1+=a[[s1[i4][0]]],i4+1"u"&&(w1=new Date);let $1;this.isWeekStable()&&s1.isWeekStable()?$1=new Date(w1.getTime()+_*10):$1=new Date(w1.getTime()+_*366*5);const q1=this.getIterator(w1),j1=s1.getIterator(w1);for(;q1.advance($1);){j1.advance($1);const J1=[];if(q1.getDate().getTime()!==j1.getDate().getTime()&&J1.push("getDate"),q1.getState()!==j1.getState()&&J1.push("getState"),q1.getUnknown()!==j1.getUnknown()&&J1.push("getUnknown"),q1.getComment()!==j1.getComment()&&J1.push("getComment"),J1.length){const i4={};return i4[q1.getDate().getTime()]=J1,[!1,{matching_rule:q1.getMatchingRule(),matching_rule_other:j1.getMatchingRule(),deviation_for_time:i4}]}}return[!0]},this.getOpenIntervals=function(s1,w1){const $1=[],q1=this.getIterator(s1);for((q1.getState()||q1.getUnknown())&&$1.push([s1,void 0,q1.getUnknown(),q1.getComment()]);q1.advance(w1);)q1.getState()||q1.getUnknown()?($1.length!==0&&typeof $1[$1.length-1][1]>"u"&&($1[$1.length-1][1]=q1.getDate()),$1.push([q1.getDate(),void 0,q1.getUnknown(),q1.getComment()])):$1.length!==0&&typeof $1[$1.length-1][1]>"u"&&($1[$1.length-1][1]=q1.getDate());return $1.length>0&&typeof $1[$1.length-1][1]>"u"&&($1[$1.length-1][1]=w1),$1},this.getOpenDuration=function(s1,w1){let $1=0,q1=0;const j1=this.getIterator(s1);let J1=j1.getState()||j1.getUnknown()?s1:void 0,i4=j1.getState(),R4=j1.getUnknown();for(;j1.advance(w1);)j1.getState()||j1.getUnknown()?(typeof J1=="object"&&(R4?q1+=j1.getDate().getTime()-J1.getTime():i4&&($1+=j1.getDate().getTime()-J1.getTime())),J1=j1.getDate(),i4=j1.getState(),R4=j1.getUnknown()):typeof J1=="object"&&(R4?q1+=j1.getDate().getTime()-J1.getTime():$1+=j1.getDate().getTime()-J1.getTime(),J1=void 0);return typeof J1=="object"&&(R4?q1+=w1.getTime()-J1.getTime():$1+=w1.getTime()-J1.getTime()),[$1,q1]},this.getIterator=function(s1){return new function(w1){typeof s1>"u"&&(s1=new Date);let $1=[void 0,s1,void 0,void 0,void 0],q1=w1.getStatePair(s1);this.getDate=function(){return $1[1]},this.setDate=function(j1){if(typeof j1!="object")throw F("date parameter needed");$1=[void 0,j1,void 0,void 0,void 0],q1=w1.getStatePair(j1)},this.getState=function(){return q1[0]},this.getUnknown=function(){return q1[2]},this.getStateString=function(j1){return q1[0]?"open":q1[2]?"unknown":j1?"closed":"close"},this.getComment=function(){return q1[3]},this.getMatchingRule=function(){if(!(typeof q1[4]>"u"))return T1[q1[4]].build_from_token_rule[2]},this.advance=function(j1){if(typeof j1>"u")j1=new Date($1[1].getTime()+_*366*5);else if(j1.getTime()"u")return!1;if(q1[1].getTime()=j1.getTime())return!1;$1=q1,q1=w1.getStatePair($1[1])}while(q1[0]===$1[0]&&q1[2]===$1[2]&&q1[3]===$1[3]);return!0}}(this)}}var yM={},dd={},R9={exports:{}},U2={};function sn(n,e){return{type:"Feature",properties:e||{},geometry:n}}U2.feature=sn;U2.point=function(n,e){if(!Array.isArray(n))throw new Error("Coordinates must be an array");if(n.lengths&&(s=n[e].y);var u=r-t,l=s-a,p=u>l?u:l,f=(r+t)*.5,_=(s+a)*.5,S=[new Tb({x:f-20*p,y:_-p,__sentinel:!0},{x:f,y:_+20*p,__sentinel:!0},{x:f+20*p,y:_-p,__sentinel:!0})],w=[],D=[],F,N,q;for(e=n.length;e--;){for(D.length=0,F=S.length;F--;){if(u=n[e].x-S[F].x,u>0&&u*u>S[F].r){w.push(S[F]),S.splice(F,1);continue}l=n[e].y-S[F].y,!(u*u+l*l>S[F].r)&&(D.push(S[F].a,S[F].b,S[F].b,S[F].c,S[F].c,S[F].a),S.splice(F,1))}for(ZL(D),F=D.length;F;)q=D[--F],N=D[--F],S.push(new Tb(N,q,n[e]))}for(Array.prototype.push.apply(w,S),e=w.length;e--;)(w[e].a.__sentinel||w[e].b.__sentinel||w[e].c.__sentinel)&&w.splice(e,1);return w}var ln={};function QL(n){if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return n;if(n){if(n.type==="Feature"&&n.geometry&&n.geometry.type==="Point"&&Array.isArray(n.geometry.coordinates))return n.geometry.coordinates;if(n.type==="Point"&&Array.isArray(n.coordinates))return n.coordinates}throw new Error("A coordinate, feature, or point geometry is required")}function eB(n,e,t){if(!e||!t)throw new Error("type and name required");if(!n||n.type!==e)throw new Error("Invalid input to "+t+": must be a "+e+", given "+n.type)}function tB(n,e,t){if(!t)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+t+", Feature with geometry required");if(!n.geometry||n.geometry.type!==e)throw new Error("Invalid input to "+t+": must be a "+e+", given "+n.geometry.type)}function rB(n,e,t){if(!t)throw new Error(".collectionOf() requires a name");if(!n||n.type!=="FeatureCollection")throw new Error("Invalid input to "+t+", FeatureCollection required");for(var r=0;rn[1]!=p>n[1]&&n[0]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=t){var r=(n[1]+n[3])/2;return[n[0],r-(n[2]-n[0])/2,n[2],r+(n[2]-n[0])/2]}else{var a=(n[0]+n[2])/2;return[a-(n[3]-n[1])/2,n[1],a+(n[3]-n[1])/2,n[3]]}},mB=wM,Em=1e-10;function hu(n,e){var t=n.x-e.x,r=n.y-e.y;return t*t+r*r=r;n1--)for(var h1=e;h1=p[0]&&P=P&&p[T1]=0;_1--)_1>0?(f[_1]=n[h1+m1[_1-1]][n1+i1[_1-1]]-p[T1],S[_1]=s[h1+m1[_1-1]],w[_1]=u[n1+i1[_1-1]]):(f[0]=.25*(f[1]+f[2]+f[3]+f[4]),S[0]=.5*(s[h1]+s[h1+1]),w[0]=.5*(u[n1]+u[n1+1])),f[_1]>Em?_[_1]=1:f[_1]2){var m1=[];r1.forEach(function(z){m1.push([z.x,z.y])});var i1=wB(m1);i1.properties={},i1.properties[e]=r1.level,X.features.push(i1)}}),X},CB=EB;function EB(n){for(var e=0,t=0,r=1;rn[t][0]&&(t=r);return et?[[t],[e]]:[[e]]}var xM={exports:{}},SM=MB,Fb=+(Math.pow(2,27)+1);function MB(n,e,t){var r=n*e,a=Fb*n,s=a-n,u=a-s,l=n-u,p=Fb*e,f=p-e,_=p-f,S=e-_,w=r-u*_,D=w-l*_,F=D-u*S,N=l*S-F;return t?(t[0]=N,t[1]=r,t):[N,r]}var AB=RB;function TB(n,e){var t=n+e,r=t-n,a=t-r,s=e-r,u=n-a,l=u+s;return l?[l,t]:[t]}function RB(n,e){var t=n.length|0,r=e.length|0;if(t===1&&r===1)return TB(n[0],e[0]);var a=t+r,s=new Array(a),u=0,l=0,p=0,f=Math.abs,_=n[l],S=f(_),w=e[p],D=f(w),F,N;S=r?(F=_,l+=1,l=r?(F=_,l+=1,l0){if(X=0)return r1;m1=-(J+X)}else return r1;var i1=l*m1;return r1>=i1||r1l4||-S4>l4?S4:F(P,V,Z,J)}];function q(W){var P=N[W.length];return P||(P=N[W.length]=w(W.length)),P.apply(void 0,W)}function K(W,P,V,Z,J,X,r1){return function(i1,z,n1,h1,y1){switch(arguments.length){case 0:case 1:return 0;case 2:return Z(i1,z);case 3:return J(i1,z,n1);case 4:return X(i1,z,n1,h1);case 5:return r1(i1,z,n1,h1,y1)}for(var l1=new Array(arguments.length),T1=0;T11&&Ob(n[a[p-2]],n[a[p-1]],l)1&&Ob(n[s[p-2]],n[s[p-1]],l)>=0;)p-=1,s.pop();s.push(u)}for(var f=new Array(s.length+a.length-2),_=0,t=0,S=a.length;t0;--w)f[_++]=s[w];return f}var jB=VB,HB=BB;function VB(n){var e=HB(n),t=e.length;if(t0)-(n>dg-1;return(n^e)-e};p5.min=function(n,e){return e^(n^e)&-(n65535)>>=e,t=(n>255)>>=t,e|=t,t=(n>15)>>=t,e|=t,t=(n>3)>>=t,e|=t,e|n>>1};p5.log10=function(n){return n>=1e9?9:n>=1e8?8:n>=1e7?7:n>=1e6?6:n>=1e5?5:n>=1e4?4:n>=1e3?3:n>=100?2:n>=10?1:0};p5.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function kM(n){var e=32;return n&=-n,n&&e--,n&65535&&(e-=16),n&16711935&&(e-=8),n&252645135&&(e-=4),n&858993459&&(e-=2),n&1431655765&&(e-=1),e}p5.countTrailingZeros=kM;p5.nextPow2=function(n){return n+=n===0,--n,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n+1};p5.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)};p5.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var xs=new Array(256);(function(n){for(var e=0;e>>=1;t;t>>>=1)r>>8&255]>>16&255]>>24&255]};p5.interleave2=function(n,e){return n&=65535,n=(n|n>>e&1431655765,n=(n|n>>>1)&858993459,n=(n|n>>>2)&252645135,n=(n|n>>>4)&16711935,n=(n|n>>>16)&65535,n>16};p5.interleave3=function(n,e,t){return n&=1023,n=(n|n>>e&1227133513,n=(n|n>>>2)&3272356035,n=(n|n>>>4)&251719695,n=(n|n>>>8)&4278190335,n=(n|n>>>16)&1023,n>22};p5.nextCombination=function(n){var e=n|n-1;return e+1|(~e&-~e)-1>>>kM(n)+1};var WB=CM;function CM(n){this.roots=new Array(n),this.ranks=new Array(n);for(var e=0;e>1,u=Co(n[s],e);u0&&(r=s-1)}return a}k6.findCell=As;function AM(n,e){for(var t=new Array(n.length),r=0,a=t.length;r=n.length||Co(n[D],s)!==0););}return t}k6.incidence=AM;function JB(n,e){if(!e)return AM(hg(pg(n,0)),n);for(var t=new Array(e),r=0;r>>f&1&&p.push(a[f]);e.push(p)}return fl(e)}k6.explode=KB;function pg(n,e){if(e0&&e.push(","),e.push("tuple[",t,"]");e.push(")}return orient");var r=new Function("test",e.join("")),a=Mm[n+1];return a||(a=Mm),r(a)}var Nb=[];function TM(n,e,t){this.dimension=n,this.vertices=e,this.simplices=t,this.interior=t.filter(function(s){return!s.boundary}),this.tuple=new Array(n+1);for(var r=0;r0;){n=u.pop(),n.vertices;for(var l=n.adjacent,p=0;p0)return f;f.lastVisited=-r,D===0&&u.push(f)}}}return null};gl.walk=function(n,e){var t=this.vertices.length-1,r=this.dimension,a=this.vertices,s=this.tuple,u=e?this.interior.length*Math.random()|0:this.interior.length-1,l=this.interior[u];e:for(;!l.boundary;){for(var p=l.vertices,f=l.adjacent,_=0;_=t)){var w=s[_];s[_]=n;var D=this.orient();if(s[_]=w,D0;){var e=p.pop(),_=e.vertices,S=e.adjacent,w=_.indexOf(t);if(!(w=t)){var N=F.vertices;if(F.lastVisited!==-t){for(var q=0,K=0;K0){N[q]=t,F.boundary=!1,u.push(F),p.push(F),F.lastVisited=t;continue}else F.lastVisited=-t}var W=F.adjacent,P=_.slice(),V=S.slice(),Z=new rc(P,V,!0);l.push(Z);var J=W.indexOf(e);if(!(J=0?u[p++]=l[_]:f=_&1;if(f===(n&1)){var S=u[0];u[0]=u[1],u[1]=S}e.push(u)}}return e};function oG(n,e){var t=n.length;if(t===0)throw new Error("Must have at least d+1 points");var r=n[0].length;if(t=e[p]&&(l+=1);s[u]=l}}return n}function fG(n,e){try{return zb(n,!0)}catch{var t=hG(n);if(t.length0){for(var r=[],a=0;a-1}function h1(){}function y1(o){this.str=o}function l1(o){this.value=o}function T1(){}function _1(){if(this.hi=0,this.lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var o=arguments[0];this.init(o)}else if(arguments[0]instanceof _1){var c=arguments[0];this.init(c)}else if(typeof arguments[0]=="string"){var m=arguments[0];_1.call(this,_1.parse(m))}}else if(arguments.length===2){var v=arguments[0],k=arguments[1];this.init(v,k)}}function k1(){}function c1(){}function E1(){}function a4(){if(this.x=null,this.y=null,this.w=null,arguments.length===0)this.x=0,this.y=0,this.w=1;else if(arguments.length===1){var o=arguments[0];this.x=o.x,this.y=o.y,this.w=1}else if(arguments.length===2){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var c=arguments[0],m=arguments[1];this.x=c,this.y=m,this.w=1}else if(arguments[0]instanceof a4&&arguments[1]instanceof a4){var v=arguments[0],k=arguments[1];this.x=v.y*k.w-k.y*v.w,this.y=k.x*v.w-v.x*k.w,this.w=v.x*k.y-k.x*v.y}else if(arguments[0]instanceof N&&arguments[1]instanceof N){var T=arguments[0],B=arguments[1];this.x=T.y-B.y,this.y=B.x-T.x,this.w=T.x*B.y-B.x*T.y}}else if(arguments.length===3){var H=arguments[0],t1=arguments[1],d1=arguments[2];this.x=H,this.y=t1,this.w=d1}else if(arguments.length===4){var M1=arguments[0],R1=arguments[1],N1=arguments[2],V1=arguments[3],K1=M1.y-R1.y,U1=R1.x-M1.x,e4=M1.x*R1.y-R1.x*M1.y,u4=N1.y-V1.y,r4=V1.x-N1.x,y4=N1.x*V1.y-V1.x*N1.y;this.x=U1*y4-r4*e4,this.y=u4*e4-K1*y4,this.w=K1*r4-u4*U1}}function S4(){}function E4(){}function l4(){this.envelope=null,this.factory=null,this.SRID=null,this.userData=null;var o=arguments[0];this.factory=o,this.SRID=o.getSRID()}function Q4(){}function ee(){}function I4(){}function ge(){}function f4(){}function Re(){}function G4(){}function ye(){}function o2(){}function We(){}function m2(){}function Qe(){}function Be(){this.array_=[],arguments[0]instanceof Q&&this.addAll(arguments[0])}function l2(o){return o==null?et:o.color}function Oe(o){return o==null?null:o.parent}function Ne(o,c){o!==null&&(o.color=c)}function Xe(o){return o==null?null:o.left}function N2(o){return o==null?null:o.right}function Ue(){this.root_=null,this.size_=0}function Ze(){}function x4(){}function a1(){this.array_=[],arguments[0]instanceof Q&&this.addAll(arguments[0])}function $(){}function U(){}function x1(){}function D1(){}function B1(){this.geometries=null;var o=arguments[0],c=arguments[1];if(l4.call(this,c),o===null&&(o=[]),l4.hasNullElements(o))throw new s;this.geometries=o}function W1(){var o=arguments[0],c=arguments[1];B1.call(this,o,c)}function Q1(){if(this.geom=null,this.geomFact=null,this.bnRule=null,this.endpointMap=null,arguments.length===1){var o=arguments[0];Q1.call(this,o,ee.MOD2_BOUNDARY_RULE)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.geom=c,this.geomFact=c.getFactory(),this.bnRule=m}}function _4(){this.count=null}function M4(){}function C4(){}function re(){}function ue(){}function Ie(){}function M2(){}function Ee(){}function p4(){}function ve(){this.points=null;var o=arguments[0],c=arguments[1];l4.call(this,c),this.init(o)}function u2(){}function s1(){this.coordinates=null;var o=arguments[0],c=arguments[1];l4.call(this,c),this.init(o)}function w1(){}function $1(){this.shell=null,this.holes=null;var o=arguments[0],c=arguments[1],m=arguments[2];if(l4.call(this,m),o===null&&(o=this.getFactory().createLinearRing()),c===null&&(c=[]),l4.hasNullElements(c))throw new s;if(o.isEmpty()&&l4.hasNonEmptyElements(c))throw new s;this.shell=o,this.holes=c}function q1(){var o=arguments[0],c=arguments[1];B1.call(this,o,c)}function j1(){if(arguments[0]instanceof N&&arguments[1]instanceof n2){var o=arguments[0],c=arguments[1];j1.call(this,c.getCoordinateSequenceFactory().create(o),c)}else if(n1(arguments[0],c1)&&arguments[1]instanceof n2){var m=arguments[0],v=arguments[1];ve.call(this,m,v),this.validateConstruction()}}function J1(){var o=arguments[0],c=arguments[1];B1.call(this,o,c)}function i4(){if(this.factory=null,this.isUserDataCopied=!1,arguments.length!==0){if(arguments.length===1){var o=arguments[0];this.factory=o}}}function R4(){}function o4(){}function n4(){}function D4(){}function Y4(){if(this.dimension=3,this.coordinates=null,arguments.length===1){if(arguments[0]instanceof Array){var o=arguments[0];Y4.call(this,o,3)}else if(Number.isInteger(arguments[0])){var c=arguments[0];this.coordinates=new Array(c).fill(null);for(var m=0;c>m;m++)this.coordinates[m]=new N}else if(n1(arguments[0],c1)){var v=arguments[0];if(v===null)return this.coordinates=new Array(0).fill(null),null;this.dimension=v.getDimension(),this.coordinates=new Array(v.size()).fill(null);for(var m=0;mm;m++)this.coordinates[m]=new N}}}function J4(){}function de(o,c){return o===c||o!==o&&c!==c}function k4(o,c){function m(v){return this&&this.constructor===m?(this._keys=[],this._values=[],this._itp=[],this.objectOnly=c,void(v&&j4.call(this,v))):new m(v)}return c||zo(o,"size",{get:w3}),o.constructor=m,m.prototype=o,m}function j4(o){this.add?o.forEach(this.add,this):o.forEach(function(c){this.set(c[0],c[1])},this)}function le(o){return this.has(o)&&(this._keys.splice(m8,1),this._values.splice(m8,1),this._itp.forEach(function(c){m8-1}function _e(o){return this.has(o)?this._values[m8]:void 0}function f2(o,c){if(this.objectOnly&&c!==Object(c))throw new TypeError("Invalid value used as weak collection key");if(c!==c||c===0)for(m8=o.length;m8--&&!de(o[m8],c););else m8=o.indexOf(c);return m8>-1}function h2(o){return f2.call(this,this._keys,o)}function ze(o,c){return this.has(o)?this._values[m8]=c:this._values[this._keys.push(o)-1]=c,this}function j2(){(this._keys||0).length=this._values.length=0}function A2(){return i2(this._itp,this._keys)}function r2(){return i2(this._itp,this._values)}function qe(){return i2(this._itp,this._keys,this._values)}function i2(o,c,m){var v=[0],k=!1;return o.push(v),{next:function(){var T,B=v[0];return!k&&B1,"Node capacity must be greater than 1"),this.nodeCapacity=o}}function X8(){}function vt(){}function W2(){if(arguments.length===0)W2.call(this,W2.DEFAULT_NODE_CAPACITY);else if(arguments.length===1){var o=arguments[0];S2.call(this,o)}}function Et(){var o=arguments[0];H2.call(this,o)}function ct(){}function X7(){this.segString=null,this.coord=null,this.segmentIndex=null,this.segmentOctant=null,this._isInterior=null;var o=arguments[0],c=arguments[1],m=arguments[2],v=arguments[3];this.segString=o,this.coord=new N(c),this.segmentIndex=m,this.segmentOctant=v,this._isInterior=!c.equals2D(o.getCoordinate(m))}function P3(){this.nodeMap=new Ue,this.edge=null;var o=arguments[0];this.edge=o}function Q8(){this.nodeList=null,this.edge=null,this.nodeIt=null,this.currNode=null,this.nextNode=null,this.currSegIndex=0;var o=arguments[0];this.nodeList=o,this.edge=o.getEdge(),this.nodeIt=o.iterator(),this.readNextNode()}function X5(){}function C5(){this.nodeList=new P3(this),this.pts=null,this.data=null;var o=arguments[0],c=arguments[1];this.pts=o,this.data=c}function Gt(){this.tempEnv1=new r1,this.tempEnv2=new r1,this.overlapSeg1=new x2,this.overlapSeg2=new x2}function Q7(){this.pts=null,this.start=null,this.end=null,this.env=null,this.context=null,this.id=null;var o=arguments[0],c=arguments[1],m=arguments[2],v=arguments[3];this.pts=o,this.start=c,this.end=m,this.context=v}function R2(){}function Q5(){}function E6(){}function e8(){if(this.segInt=null,arguments.length!==0){if(arguments.length===1){var o=arguments[0];this.setSegmentIntersector(o)}}}function X2(){if(this.monoChains=new J,this.index=new W2,this.idCounter=0,this.nodedSegStrings=null,this.nOverlaps=0,arguments.length!==0){if(arguments.length===1){var o=arguments[0];e8.call(this,o)}}}function t8(){Gt.apply(this),this.si=null;var o=arguments[0];this.si=o}function g2(){if(this.pt=null,arguments.length===1){var o=arguments[0];S.call(this,o)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];S.call(this,g2.msgWithCoord(c,m)),this.pt=new N(m)}}function C2(){}function E5(){this.findAllIntersections=!1,this.isCheckEndSegmentsOnly=!1,this.li=null,this.interiorIntersection=null,this.intSegments=null,this.intersections=new J,this.intersectionCount=0,this.keepIntersections=!0;var o=arguments[0];this.li=o,this.interiorIntersection=null}function q2(){this.li=new X3,this.segStrings=null,this.findAllIntersections=!1,this.segInt=null,this._isValid=!0;var o=arguments[0];this.segStrings=o}function L7(){this.nv=null;var o=arguments[0];this.nv=new q2(L7.toSegmentStrings(o))}function Kt(){this.mapOp=null;var o=arguments[0];this.mapOp=o}function se(){}function W3(){if(this.location=null,arguments.length===1){if(arguments[0]instanceof Array){var o=arguments[0];this.init(o.length)}else if(Number.isInteger(arguments[0])){var c=arguments[0];this.init(1),this.location[se.ON]=c}else if(arguments[0]instanceof W3){var m=arguments[0];if(this.init(m.location.length),m!==null)for(var v=0;vo;o++)for(var c=0;3>c;c++)this.depth[o][c]=At.NULL_VALUE}function i5(){if(E8.apply(this),this.pts=null,this.env=null,this.eiList=new o8(this),this.name=null,this.mce=null,this._isIsolated=!0,this.depth=new At,this.depthDelta=0,arguments.length===1){var o=arguments[0];i5.call(this,o,null)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.pts=c,this.label=m}}function Ht(){if(jt.apply(this),this.parentGeom=null,this.lineEdgeMap=new ne,this.boundaryNodeRule=null,this.useBoundaryDeterminationRule=!0,this.argIndex=null,this.boundaryNodes=null,this._hasTooFewPoints=!1,this.invalidPoint=null,this.areaPtLocator=null,this.ptLocator=new K5,arguments.length===2){var o=arguments[0],c=arguments[1];Ht.call(this,o,c,ee.OGC_SFS_BOUNDARY_RULE)}else if(arguments.length===3){var m=arguments[0],v=arguments[1],k=arguments[2];this.argIndex=m,this.parentGeom=v,this.boundaryNodeRule=k,v!==null&&this.add(v)}}function R5(){if(this.li=new X3,this.resultPrecisionModel=null,this.arg=null,arguments.length===1){var o=arguments[0];this.setComputationPrecision(o.getPrecisionModel()),this.arg=new Array(1).fill(null),this.arg[0]=new Ht(0,o)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];R5.call(this,c,m,ee.OGC_SFS_BOUNDARY_RULE)}else if(arguments.length===3){var v=arguments[0],k=arguments[1],T=arguments[2];v.getPrecisionModel().compareTo(k.getPrecisionModel())>=0?this.setComputationPrecision(v.getPrecisionModel()):this.setComputationPrecision(k.getPrecisionModel()),this.arg=new Array(2).fill(null),this.arg[0]=new Ht(0,v,T),this.arg[1]=new Ht(1,k,T)}}function m7(){this.pts=null,this._orientation=null;var o=arguments[0];this.pts=o,this._orientation=m7.orientation(o)}function I8(){this.edges=new J,this.ocaMap=new Ue}function Me(){this.ptLocator=new K5,this.geomFact=null,this.resultGeom=null,this.graph=null,this.edgeList=new I8,this.resultPolyList=new J,this.resultLineList=new J,this.resultPointList=new J;var o=arguments[0],c=arguments[1];R5.call(this,o,c),this.graph=new jt(new B7),this.geomFact=o.getFactory()}function Tt(){this.geom=new Array(2).fill(null),this.snapTolerance=null,this.cbr=null;var o=arguments[0],c=arguments[1];this.geom[0]=o,this.geom[1]=c,this.computeSnapTolerance()}function F3(){this.geom=new Array(2).fill(null);var o=arguments[0],c=arguments[1];this.geom[0]=o,this.geom[1]=c}function g5(){this.factory=null,this.interiorPoint=null,this.maxWidth=0;var o=arguments[0];this.factory=o.getFactory(),this.add(o)}function P8(){this.poly=null,this.centreY=null,this.hiY=u.MAX_VALUE,this.loY=-u.MAX_VALUE;var o=arguments[0];this.poly=o,this.hiY=o.getEnvelopeInternal().getMaxY(),this.loY=o.getEnvelopeInternal().getMinY(),this.centreY=g5.avg(this.loY,this.hiY)}function e0(){this.centroid=null,this.minDistance=u.MAX_VALUE,this.interiorPoint=null;var o=arguments[0];this.centroid=o.getCentroid().getCoordinate(),this.addInterior(o),this.interiorPoint===null&&this.addEndpoints(o)}function D8(){this.centroid=null,this.minDistance=u.MAX_VALUE,this.interiorPoint=null;var o=arguments[0];this.centroid=o.getCentroid().getCoordinate(),this.add(o)}function k2(){}function s3(){this.p0=null,this.p1=null,this.p2=null;var o=arguments[0],c=arguments[1],m=arguments[2];this.p0=o,this.p1=c,this.p2=m}function Zt(){this.input=null,this.extremalPts=null,this.centre=null,this.radius=0;var o=arguments[0];this.input=o}function Q3(){if(this.inputGeom=null,this.isConvex=null,this.convexHullPts=null,this.minBaseSeg=new x2,this.minWidthPt=null,this.minPtIndex=null,this.minWidth=0,arguments.length===1){var o=arguments[0];Q3.call(this,o,!1)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.inputGeom=c,this.isConvex=m}}function Vt(){this.inputGeom=null,this.distanceTolerance=null;var o=arguments[0];this.inputGeom=o}function F8(){Lt.apply(this),this.distanceTolerance=null;var o=arguments[0];this.distanceTolerance=o}function I5(){this._orig=null,this._sym=null,this._next=null;var o=arguments[0];this._orig=o}function Wt(){this._isMarked=!1;var o=arguments[0];I5.call(this,o)}function O8(){this.vertexMap=new ne}function r6(){this._isStart=!1;var o=arguments[0];Wt.call(this,o)}function v1(){O8.apply(this)}function H1(){this.result=null,this.factory=null,this.graph=null,this.lines=new J,this.nodeEdgeStack=new zt,this.ringStartEdge=null,this.graph=new v1}function d4(){this.items=new J,this.subnode=new Array(4).fill(null)}function B4(){}function De(o,c){var m,v,k,T,B={32:{d:127,c:128,b:0,a:0},64:{d:32752,c:0,b:0,a:0}},H={32:8,64:11}[o];if(T||(m=0>c||0>1/c,isFinite(c)||(T=B[o],m&&(T.d+=1=2;)v++,k/=2;for(;1>k&&v>0;)v--,k*=2;0>=v&&(k/=2),o===32&&v>254&&(T={d:m?255:127,c:128,b:0,a:0},v=Math.pow(2,H)-1,k=0)}return v}function me(){this.pt=new N,this.level=0,this.env=null;var o=arguments[0];this.computeKey(o)}function Ge(){d4.apply(this),this.env=null,this.centrex=null,this.centrey=null,this.level=null;var o=arguments[0],c=arguments[1];this.env=o,this.level=c,this.centrex=(o.getMinX()+o.getMaxX())/2,this.centrey=(o.getMinY()+o.getMaxY())/2}function Ye(){}function Ae(){d4.apply(this)}function J2(){this.root=null,this.minExtent=1,this.root=new Ae}function r3(o){this.geometryFactory=o||new n2}function M3(o){this.geometryFactory=o||new n2,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new r3(this.geometryFactory)}function L3(){this.parser=new r3(this.geometryFactory)}function $3(o){this.geometryFactory=o||new n2,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new O7(this.geometryFactory)}function O3(o){return[o.x,o.y]}function P5(o){this.geometryFactory=o||new n2}function B3(){if(this.noder=null,this.scaleFactor=null,this.offsetX=null,this.offsetY=null,this.isScaled=!1,arguments.length===2){var o=arguments[0],c=arguments[1];B3.call(this,o,c,0,0)}else if(arguments.length===4){var m=arguments[0],v=arguments[1];this.noder=m,this.scaleFactor=v,this.isScaled=!this.isIntegerPrecision()}}function f7(){if(this.inputGeom=null,this.isClosedEndpointsInInterior=!0,this.nonSimpleLocation=null,arguments.length===1){var o=arguments[0];this.inputGeom=o}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.inputGeom=c,this.isClosedEndpointsInInterior=!m.isInBoundary(2)}}function t0(){this.pt=null,this.isClosed=null,this.degree=null;var o=arguments[0];this.pt=o,this.isClosed=!1,this.degree=0}function L2(){if(this.quadrantSegments=L2.DEFAULT_QUADRANT_SEGMENTS,this.endCapStyle=L2.CAP_ROUND,this.joinStyle=L2.JOIN_ROUND,this.mitreLimit=L2.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this.simplifyFactor=L2.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var o=arguments[0];this.setQuadrantSegments(o)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.setQuadrantSegments(c),this.setEndCapStyle(m)}else if(arguments.length===4){var v=arguments[0],k=arguments[1],T=arguments[2],B=arguments[3];this.setQuadrantSegments(v),this.setEndCapStyle(k),this.setJoinStyle(T),this.setMitreLimit(B)}}}function g7(){this.minIndex=-1,this.minCoord=null,this.minDe=null,this.orientedDe=null}function W0(){this.array_=[]}function L9(){this.finder=null,this.dirEdgeList=new J,this.nodes=new J,this.rightMostCoord=null,this.env=null,this.finder=new g7}function dt(){this.inputLine=null,this.distanceTol=null,this.isDeleted=null,this.angleOrientation=Z4.COUNTERCLOCKWISE;var o=arguments[0];this.inputLine=o}function r0(){this.ptList=null,this.precisionModel=null,this.minimimVertexDistance=0,this.ptList=new J}function s8(){this.maxCurveSegmentError=0,this.filletAngleQuantum=null,this.closingSegLengthFactor=1,this.segList=null,this.distance=0,this.precisionModel=null,this.bufParams=null,this.li=null,this.s0=null,this.s1=null,this.s2=null,this.seg0=new x2,this.seg1=new x2,this.offset0=new x2,this.offset1=new x2,this.side=0,this._hasNarrowConcaveAngle=!1;var o=arguments[0],c=arguments[1],m=arguments[2];this.precisionModel=o,this.bufParams=c,this.li=new X3,this.filletAngleQuantum=Math.PI/2/c.getQuadrantSegments(),c.getQuadrantSegments()>=8&&c.getJoinStyle()===L2.JOIN_ROUND&&(this.closingSegLengthFactor=s8.MAX_CLOSING_SEG_LEN_FACTOR),this.init(m)}function i6(){this.distance=0,this.precisionModel=null,this.bufParams=null;var o=arguments[0],c=arguments[1];this.precisionModel=o,this.bufParams=c}function T6(){this.subgraphs=null,this.seg=new x2,this.cga=new Z4;var o=arguments[0];this.subgraphs=o}function yr(){this.upwardSeg=null,this.leftDepth=null;var o=arguments[0],c=arguments[1];this.upwardSeg=new x2(o),this.leftDepth=c}function _r(){this.inputGeom=null,this.distance=null,this.curveBuilder=null,this.curveList=new J;var o=arguments[0],c=arguments[1],m=arguments[2];this.inputGeom=o,this.distance=c,this.curveBuilder=m}function F2(){this._hasIntersection=!1,this.hasProper=!1,this.hasProperInterior=!1,this.hasInterior=!1,this.properIntersectionPoint=null,this.li=null,this.isSelfIntersection=null,this.numIntersections=0,this.numInteriorIntersections=0,this.numProperIntersections=0,this.numTests=0;var o=arguments[0];this.li=o}function N8(){this.bufParams=null,this.workingPrecisionModel=null,this.workingNoder=null,this.geomFact=null,this.graph=null,this.edgeList=new I8;var o=arguments[0];this.bufParams=o}function vr(){this.li=new X3,this.segStrings=null;var o=arguments[0];this.segStrings=o}function q0(){this.li=null,this.pt=null,this.originalPt=null,this.ptScaled=null,this.p0Scaled=null,this.p1Scaled=null,this.scaleFactor=null,this.minx=null,this.maxx=null,this.miny=null,this.maxy=null,this.corner=new Array(4).fill(null),this.safeEnv=null;var o=arguments[0],c=arguments[1],m=arguments[2];if(this.originalPt=o,this.pt=o,this.scaleFactor=c,this.li=m,0>=c)throw new s;c!==1&&(this.pt=new N(this.scale(o.x),this.scale(o.y)),this.p0Scaled=new N,this.p1Scaled=new N),this.initCorners(this.pt)}function l8(){this.tempEnv1=new r1,this.selectedSegment=new x2}function mi(){this.index=null;var o=arguments[0];this.index=o}function br(){l8.apply(this),this.hotPixel=null,this.parentEdge=null,this.hotPixelVertexIndex=null,this._isNodeAdded=!1;var o=arguments[0],c=arguments[1],m=arguments[2];this.hotPixel=o,this.parentEdge=c,this.hotPixelVertexIndex=m}function fi(){this.li=null,this.interiorIntersections=null;var o=arguments[0];this.li=o,this.interiorIntersections=new J}function fn(){this.pm=null,this.li=null,this.scaleFactor=null,this.noder=null,this.pointSnapper=null,this.nodedSegStrings=null;var o=arguments[0];this.pm=o,this.li=new X3,this.li.setPrecisionModel(o),this.scaleFactor=o.getScale()}function Rt(){if(this.argGeom=null,this.distance=null,this.bufParams=new L2,this.resultGeometry=null,this.saveException=null,arguments.length===1){var o=arguments[0];this.argGeom=o}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.argGeom=c,this.bufParams=m}}function u8(){this.comps=null;var o=arguments[0];this.comps=o}function Xt(){if(this.component=null,this.segIndex=null,this.pt=null,arguments.length===2){var o=arguments[0],c=arguments[1];Xt.call(this,o,Xt.INSIDE_AREA,c)}else if(arguments.length===3){var m=arguments[0],v=arguments[1],k=arguments[2];this.component=m,this.segIndex=v,this.pt=k}}function n6(){this.pts=null;var o=arguments[0];this.pts=o}function $0(){this.locations=null;var o=arguments[0];this.locations=o}function y7(){if(this.geom=null,this.terminateDistance=0,this.ptLocator=new K5,this.minDistanceLocation=null,this.minDistance=u.MAX_VALUE,arguments.length===2){var o=arguments[0],c=arguments[1];y7.call(this,o,c,0)}else if(arguments.length===3){var m=arguments[0],v=arguments[1],k=arguments[2];this.geom=new Array(2).fill(null),this.geom[0]=m,this.geom[1]=v,this.terminateDistance=k}}function B9(){this.factory=null,this.directedEdges=new J,this.coordinates=null;var o=arguments[0];this.factory=o}function D5(){this._isMarked=!1,this._isVisited=!1,this.data=null}function It(){D5.apply(this),this.parentEdge=null,this.from=null,this.to=null,this.p0=null,this.p1=null,this.sym=null,this.edgeDirection=null,this.quadrant=null,this.angle=null;var o=arguments[0],c=arguments[1],m=arguments[2],v=arguments[3];this.from=o,this.to=c,this.edgeDirection=v,this.p0=o.getCoordinate(),this.p1=m;var k=this.p1.x-this.p0.x,T=this.p1.y-this.p0.y;this.quadrant=R2.quadrant(k,T),this.angle=Math.atan2(T,k)}function z8(){var o=arguments[0],c=arguments[1],m=arguments[2],v=arguments[3];It.call(this,o,c,m,v)}function j7(){if(D5.apply(this),this.dirEdge=null,arguments.length!==0){if(arguments.length===2){var o=arguments[0],c=arguments[1];this.setDirectedEdges(o,c)}}}function gn(){this.outEdges=new J,this.sorted=!1}function _7(){if(D5.apply(this),this.pt=null,this.deStar=null,arguments.length===1){var o=arguments[0];_7.call(this,o,new gn)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.pt=c,this.deStar=m}}function gi(){j7.apply(this),this.line=null;var o=arguments[0];this.line=o}function yi(){this.nodeMap=new Ue}function a6(){this.edges=new Be,this.dirEdges=new Be,this.nodeMap=new yi}function U0(){a6.apply(this)}function _i(){this.graph=new U0,this.mergedLineStrings=null,this.factory=null,this.edgeStrings=null}function G9(){this.edgeRing=null,this.next=null,this.label=-1;var o=arguments[0],c=arguments[1],m=arguments[2],v=arguments[3];It.call(this,o,c,m,v)}function i0(){j7.apply(this),this.line=null;var o=arguments[0];this.line=o}function r7(){this.factory=null,this.deList=new J,this.lowestEdge=null,this.ring=null,this.ringPts=null,this.holes=null,this.shell=null,this._isHole=null,this._isProcessed=!1,this._isIncludedSet=!1,this._isIncluded=!1;var o=arguments[0];this.factory=o}function vi(){}function ht(){a6.apply(this),this.factory=null;var o=arguments[0];this.factory=o}function l3(){if(this.lineStringAdder=new o6(this),this.graph=null,this.dangles=new J,this.cutEdges=new J,this.invalidRingLines=new J,this.holeList=null,this.shellList=null,this.polyList=null,this.isCheckingRingsValid=!0,this.extractOnlyPolygonal=null,this.geomFactory=null,arguments.length===0)l3.call(this,!1);else if(arguments.length===1){var o=arguments[0];this.extractOnlyPolygonal=o}}function o6(){this.p=null;var o=arguments[0];this.p=o}function F5(){}function n0(){if(this.edgeEnds=new J,arguments.length===1){var o=arguments[0];n0.call(this,null,o)}else if(arguments.length===2){var c=arguments[1];t3.call(this,c.getEdge(),c.getCoordinate(),c.getDirectedCoordinate(),new S3(c.getLabel())),this.insert(c)}}function a0(){d7.apply(this)}function Y0(){var o=arguments[0],c=arguments[1];D3.call(this,o,c)}function c8(){M8.apply(this)}function o0(){this.li=new X3,this.ptLocator=new K5,this.arg=null,this.nodes=new f5(new c8),this.im=null,this.isolatedEdges=new J,this.invalidPoint=null;var o=arguments[0];this.arg=o}function L8(){this.rectEnv=null;var o=arguments[0];this.rectEnv=o.getEnvelopeInternal()}function s0(){this.li=new X3,this.rectEnv=null,this.diagUp0=null,this.diagUp1=null,this.diagDown0=null,this.diagDown1=null;var o=arguments[0];this.rectEnv=o,this.diagUp0=new N(o.getMinX(),o.getMinY()),this.diagUp1=new N(o.getMaxX(),o.getMaxY()),this.diagDown0=new N(o.getMinX(),o.getMaxY()),this.diagDown1=new N(o.getMaxX(),o.getMinY())}function R6(){this._isDone=!1}function J0(){this.rectangle=null,this.rectEnv=null;var o=arguments[0];this.rectangle=o,this.rectEnv=o.getEnvelopeInternal()}function wr(){R6.apply(this),this.rectEnv=null,this._intersects=!1;var o=arguments[0];this.rectEnv=o}function xr(){R6.apply(this),this.rectSeq=null,this.rectEnv=null,this._containsPoint=!1;var o=arguments[0];this.rectSeq=o.getExteriorRing().getCoordinateSequence(),this.rectEnv=o.getEnvelopeInternal()}function Sr(){R6.apply(this),this.rectEnv=null,this.rectIntersector=null,this.hasIntersection=!1,this.p0=new N,this.p1=new N;var o=arguments[0];this.rectEnv=o.getEnvelopeInternal(),this.rectIntersector=new s0(this.rectEnv)}function B2(){if(this._relate=null,arguments.length===2){var o=arguments[0],c=arguments[1];R5.call(this,o,c),this._relate=new o0(this.arg)}else if(arguments.length===3){var m=arguments[0],v=arguments[1],k=arguments[2];R5.call(this,m,v,k),this._relate=new o0(this.arg)}}function O5(){this.geomFactory=null,this.skipEmpty=!1,this.inputGeoms=null;var o=arguments[0];this.geomFactory=O5.extractFactory(o),this.inputGeoms=o}function K0(){this.pointGeom=null,this.otherGeom=null,this.geomFact=null;var o=arguments[0],c=arguments[1];this.pointGeom=o,this.otherGeom=c,this.geomFact=c.getFactory()}function d8(){this.sortIndex=-1,this.comps=null;var o=arguments[0],c=arguments[1];this.sortIndex=o,this.comps=c}function v7(){this.inputPolys=null,this.geomFactory=null;var o=arguments[0];this.inputPolys=o,this.inputPolys===null&&(this.inputPolys=new J)}function s6(){if(this.polygons=new J,this.lines=new J,this.points=new J,this.geomFact=null,arguments.length===1){if(n1(arguments[0],Q)){var o=arguments[0];this.extract(o)}else if(arguments[0]instanceof l4){var c=arguments[0];this.extract(c)}}else if(arguments.length===2){var m=arguments[0],v=arguments[1];this.geomFact=v,this.extract(m)}}function Z0(){this.geometryFactory=new n2,this.geomGraph=null,this.disconnectedRingcoord=null;var o=arguments[0];this.geomGraph=o}function h8(){this.items=new J,this.subnode=[null,null]}function p8(){if(this.min=null,this.max=null,arguments.length===0)this.min=0,this.max=0;else if(arguments.length===1){var o=arguments[0];this.init(o.min,o.max)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.init(c,m)}}function X0(){this.pt=0,this.level=0,this.interval=null;var o=arguments[0];this.computeKey(o)}function N5(){h8.apply(this),this.interval=null,this.centre=null,this.level=null;var o=arguments[0],c=arguments[1];this.interval=o,this.level=c,this.centre=(o.getMin()+o.getMax())/2}function Q0(){h8.apply(this)}function y5(){this.root=null,this.minExtent=1,this.root=new Q0}function H7(){}function kr(){this.ring=null,this.tree=null,this.crossings=0,this.interval=new p8;var o=arguments[0];this.ring=o,this.buildIndex()}function i7(){l8.apply(this),this.mcp=null,this.p=null;var o=arguments[0],c=arguments[1];this.mcp=o,this.p=c}function yn(){this.nodes=new f5(new c8)}function e9(){this.li=new X3,this.geomGraph=null,this.nodeGraph=new yn,this.invalidPoint=null;var o=arguments[0];this.geomGraph=o}function t9(){this.graph=null,this.rings=new J,this.totalEnv=new r1,this.index=null,this.nestedPt=null;var o=arguments[0];this.graph=o}function p2(){if(this.errorType=null,this.pt=null,arguments.length===1){var o=arguments[0];p2.call(this,o,null)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.errorType=c,m!==null&&(this.pt=m.copy())}}function _5(){this.parentGeometry=null,this.isSelfTouchingRingFormingHoleValid=!1,this.validErr=null;var o=arguments[0];this.parentGeometry=o}function Cr(){i4.CoordinateOperation.apply(this),this.targetPM=null,this.removeCollapsed=!0;var o=arguments[0],c=arguments[1];this.targetPM=o,this.removeCollapsed=c}function r9(){this.targetPM=null,this.removeCollapsed=!0,this.changePrecisionModel=!1,this.isPointwise=!1;var o=arguments[0];this.targetPM=o}function Er(){this.pts=null,this.usePt=null,this.distanceTolerance=null,this.seg=new x2;var o=arguments[0];this.pts=o}function B8(){this.inputGeom=null,this.distanceTolerance=null,this.isEnsureValidTopology=!0;var o=arguments[0];this.inputGeom=o}function l6(){Lt.apply(this),this.isEnsureValidTopology=!0,this.distanceTolerance=null;var o=arguments[0],c=arguments[1];this.isEnsureValidTopology=o,this.distanceTolerance=c}function n7(){if(this.parent=null,this.index=null,arguments.length===2){var o=arguments[0],c=arguments[1];n7.call(this,o,c,null,-1)}else if(arguments.length===4){var m=arguments[0],v=arguments[1],k=arguments[2],T=arguments[3];x2.call(this,m,v),this.parent=k,this.index=T}}function xe(){if(this.parentLine=null,this.segs=null,this.resultSegs=new J,this.minimumSize=null,arguments.length===1){var o=arguments[0];xe.call(this,o,2)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.parentLine=c,this.minimumSize=m,this.init()}}function I6(){this.index=new J2}function Mr(){this.querySeg=null,this.items=new J;var o=arguments[0];this.querySeg=o}function u6(){this.li=new X3,this.inputIndex=new I6,this.outputIndex=new I6,this.line=null,this.linePts=null,this.distanceTolerance=0;var o=arguments[0],c=arguments[1];this.inputIndex=o,this.outputIndex=c}function i9(){this.inputIndex=new I6,this.outputIndex=new I6,this.distanceTolerance=0}function G8(){this.inputGeom=null,this.lineSimplifier=new i9,this.linestringMap=null;var o=arguments[0];this.inputGeom=o}function n9(){Lt.apply(this),this.linestringMap=null;var o=arguments[0];this.linestringMap=o}function l0(){this.tps=null;var o=arguments[0];this.tps=o}function u0(){this.seg=null,this.segLen=null,this.splitPt=null,this.minimumLen=0;var o=arguments[0];this.seg=o,this.segLen=o.getLength()}function bi(){}function c6(){}function k3(){}function i3(){if(this.p=null,arguments.length===1){var o=arguments[0];this.p=new N(o)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.p=new N(c,m)}else if(arguments.length===3){var v=arguments[0],k=arguments[1],T=arguments[2];this.p=new N(v,k,T)}}function j8(){this._isOnConstraint=null,this.constraint=null;var o=arguments[0];i3.call(this,o)}function I3(){this._rot=null,this.vertex=null,this.next=null,this.data=null}function a9(){this.subdiv=null,this.isUsingTolerance=!1;var o=arguments[0];this.subdiv=o,this.isUsingTolerance=o.getTolerance()>0}function wi(){}function j9(){this.subdiv=null,this.lastEdge=null;var o=arguments[0];this.subdiv=o,this.init()}function c0(){if(this.seg=null,arguments.length===1){if(typeof arguments[0]=="string"){var o=arguments[0];S.call(this,o)}else if(arguments[0]instanceof x2){var c=arguments[0];S.call(this,"Locate failed to converge (at edge: "+c+"). Possible causes include invalid Subdivision topology or very close sites"),this.seg=new x2(c)}}else if(arguments.length===2){var m=arguments[0],v=arguments[1];S.call(this,c0.msgWithSpatial(m,v)),this.seg=new x2(v)}}function o9(){}function Pt(){this.visitedKey=0,this.quadEdges=new J,this.startingEdge=null,this.tolerance=null,this.edgeCoincidenceTolerance=null,this.frameVertex=new Array(3).fill(null),this.frameEnv=null,this.locator=null,this.seg=new x2,this.triEdges=new Array(3).fill(null);var o=arguments[0],c=arguments[1];this.tolerance=c,this.edgeCoincidenceTolerance=c/Pt.EDGE_COINCIDENCE_TOL_FACTOR,this.createFrame(o),this.startingEdge=this.initSubdiv(),this.locator=new j9(this)}function p3(){}function xi(){this.triList=new J}function d0(){this.triList=new J}function s9(){this.coordList=new X,this.triCoords=new J}function d6(){if(this.ls=null,this.data=null,arguments.length===2){var o=arguments[0],c=arguments[1];this.ls=new x2(o,c)}else if(arguments.length===3){var m=arguments[0],v=arguments[1],k=arguments[2];this.ls=new x2(m,v),this.data=k}else if(arguments.length===6){var T=arguments[0],B=arguments[1],H=arguments[2],t1=arguments[3],d1=arguments[4],M1=arguments[5];d6.call(this,new N(T,B,H),new N(t1,d1,M1))}else if(arguments.length===7){var R1=arguments[0],N1=arguments[1],V1=arguments[2],K1=arguments[3],U1=arguments[4],e4=arguments[5],u4=arguments[6];d6.call(this,new N(R1,N1,V1),new N(K1,U1,e4),u4)}}function l9(){}function Ar(){if(this.p=null,this.data=null,this.left=null,this.right=null,this.count=null,arguments.length===2){var o=arguments[0],c=arguments[1];this.p=new N(o),this.left=null,this.right=null,this.count=1,this.data=c}else if(arguments.length===3){var m=arguments[0],v=arguments[1],k=arguments[2];this.p=new N(m,v),this.left=null,this.right=null,this.count=1,this.data=k}}function h0(){if(this.root=null,this.numberOfNodes=null,this.tolerance=null,arguments.length===0)h0.call(this,0);else if(arguments.length===1){var o=arguments[0];this.tolerance=o}}function Tr(){this.tolerance=null,this.matchNode=null,this.matchDist=0,this.p=null;var o=arguments[0],c=arguments[1];this.p=o,this.tolerance=c}function n5(){this.initialVertices=null,this.segVertices=null,this.segments=new J,this.subdiv=null,this.incDel=null,this.convexHull=null,this.splitFinder=new c6,this.kdt=null,this.vertexFactory=null,this.computeAreaEnv=null,this.splitPt=null,this.tolerance=null;var o=arguments[0],c=arguments[1];this.initialVertices=new J(o),this.tolerance=c,this.kdt=new h0(c)}function bt(){this.siteCoords=null,this.tolerance=0,this.subdiv=null}function $e(){this.siteCoords=null,this.constraintLines=null,this.tolerance=0,this.subdiv=null,this.constraintVertexMap=new Ue}function e2(){this.siteCoords=null,this.tolerance=0,this.subdiv=null,this.clipEnv=null,this.diagramEnv=null}function p0(){}Array.prototype.fill||(Array.prototype.fill=function(o){for(var c=Object(this),m=parseInt(c.length,10),v=arguments[1],k=parseInt(v,10)||0,T=0>k?Math.max(m+k,0):Math.min(k,m),B=arguments[2],H=B===void 0?m:parseInt(B,10)||0,t1=0>H?Math.max(m+H,0):Math.min(H,m);t1>T;T++)c[T]=o;return c}),Number.isFinite=Number.isFinite||function(o){return typeof o=="number"&&isFinite(o)},Number.isInteger=Number.isInteger||function(o){return typeof o=="number"&&isFinite(o)&&Math.floor(o)===o},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(o){return o!==o},Math.trunc=Math.trunc||function(o){return 0>o?Math.ceil(o):Math.floor(o)},r(a.prototype,{interfaces_:function(){return[]},getClass:function(){return a}}),a.equalsWithTolerance=function(o,c,m){return Math.abs(o-c)c.x?1:this.yc.y?1:0},clone:function(){try{var o=null;return o}catch(c){if(c instanceof CloneNotSupportedException)return F.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw c}finally{}},copy:function(){return new N(this)},toString:function(){return"("+this.x+", "+this.y+", "+this.z+")"},distance3D:function(o){var c=this.x-o.x,m=this.y-o.y,v=this.z-o.z;return Math.sqrt(c*c+m*m+v*v)},distance:function(o){var c=this.x-o.x,m=this.y-o.y;return Math.sqrt(c*c+m*m)},hashCode:function(){var o=17;return o=37*o+N.hashCode(this.x),o=37*o+N.hashCode(this.y)},setCoordinate:function(o){this.x=o.x,this.y=o.y,this.z=o.z},interfaces_:function(){return[l,p,_]},getClass:function(){return N}}),N.hashCode=function(){if(arguments.length===1){var o=arguments[0],c=u.doubleToLongBits(o);return Math.trunc(c^c>>>32)}},r(q.prototype,{compare:function(o,c){var m=o,v=c,k=q.compare(m.x,v.x);if(k!==0)return k;var T=q.compare(m.y,v.y);if(T!==0)return T;if(this.dimensionsToTesto?-1:o>c?1:u.isNaN(o)?u.isNaN(c)?0:-1:u.isNaN(c)?1:0},N.DimensionalComparator=q,N.serialVersionUID=6683108902428367e3,N.NULL_ORDINATE=u.NaN,N.X=0,N.Y=1,N.Z=2,K.prototype.hasNext=function(){},K.prototype.next=function(){},K.prototype.remove=function(){},Q.prototype.add=function(){},Q.prototype.addAll=function(){},Q.prototype.isEmpty=function(){},Q.prototype.iterator=function(){},Q.prototype.size=function(){},Q.prototype.toArray=function(){},Q.prototype.remove=function(){},W.prototype=new Error,W.prototype.name="IndexOutOfBoundsException",P.prototype=Object.create(Q.prototype),P.prototype.constructor=P,P.prototype.get=function(){},P.prototype.set=function(){},P.prototype.isEmpty=function(){},V.prototype=new Error,V.prototype.name="NoSuchElementException",Z.prototype=new Error,Z.prototype.name="OperationNotSupported",J.prototype=Object.create(P.prototype),J.prototype.constructor=J,J.prototype.ensureCapacity=function(){},J.prototype.interfaces_=function(){return[P,Q]},J.prototype.add=function(o){return this.array_.push(o),!0},J.prototype.clear=function(){this.array_=[]},J.prototype.addAll=function(o){for(var c=o.iterator();c.hasNext();)this.add(c.next());return!0},J.prototype.set=function(o,c){var m=this.array_[o];return this.array_[o]=c,m},J.prototype.iterator=function(){return new m0(this)},J.prototype.get=function(o){if(0>o||o>=this.size())throw new W;return this.array_[o]},J.prototype.isEmpty=function(){return this.array_.length===0},J.prototype.size=function(){return this.array_.length},J.prototype.toArray=function(){for(var o=[],c=0,m=this.array_.length;m>c;c++)o.push(this.array_[c]);return o},J.prototype.remove=function(o){for(var c=!1,m=0,v=this.array_.length;v>m;m++)if(this.array_[m]===o){this.array_.splice(m,1),c=!0;break}return c};var m0=function(o){this.arrayList_=o,this.position_=0};m0.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new V;return this.arrayList_.get(this.position_++)},m0.prototype.hasNext=function(){return this.position_=1){var T=this.get(this.size()-1);if(T.equals2D(v))return null}J.prototype.add.call(this,v)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var B=arguments[0],H=arguments[1];return this.add(B,H),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var t1=arguments[0],d1=arguments[1],M1=arguments[2];if(M1)for(var R1=0;R1=0;R1--)this.add(t1[R1],d1);return!0}if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof N){var N1=arguments[0],V1=arguments[1],K1=arguments[2];if(!K1){var U1=this.size();if(U1>0){if(N1>0){var e4=this.get(N1-1);if(e4.equals2D(V1))return null}if(U1>N1){var u4=this.get(N1);if(u4.equals2D(V1))return null}}}J.prototype.add.call(this,N1,V1)}}else if(arguments.length===4){var r4=arguments[0],y4=arguments[1],O4=arguments[2],T4=arguments[3],P4=1;O4>T4&&(P4=-1);for(var R1=O4;R1!==T4;R1+=P4)this.add(r4[R1],y4);return!0}},closeRing:function(){this.size()>0&&this.add(new N(this.get(0)),!1)},interfaces_:function(){return[]},getClass:function(){return X}}),X.coordArrayType=new Array(0).fill(null),r(r1.prototype,{getArea:function(){return this.getWidth()*this.getHeight()},equals:function(o){if(!(o instanceof r1))return!1;var c=o;return this.isNull()?c.isNull():this.maxx===c.getMaxX()&&this.maxy===c.getMaxY()&&this.minx===c.getMinX()&&this.miny===c.getMinY()},intersection:function(o){if(this.isNull()||o.isNull()||!this.intersects(o))return new r1;var c=this.minx>o.minx?this.minx:o.minx,m=this.miny>o.miny?this.miny:o.miny,v=this.maxx=this.minx&&c.getMaxX()=this.miny&&c.getMaxY()=this.minx&&m=this.miny&&vthis.maxx||o.maxxthis.maxy||o.maxythis.maxx||mthis.maxy||vthis.maxx&&(this.maxx=c.maxx),c.minythis.maxy&&(this.maxy=c.maxy))}}else if(arguments.length===2){var m=arguments[0],v=arguments[1];this.isNull()?(this.minx=m,this.maxx=m,this.miny=v,this.maxy=v):(mthis.maxx&&(this.maxx=m),vthis.maxy&&(this.maxy=v))}},minExtent:function(){if(this.isNull())return 0;var o=this.getWidth(),c=this.getHeight();return c>o?o:c},getWidth:function(){return this.isNull()?0:this.maxx-this.minx},compareTo:function(o){var c=o;return this.isNull()?c.isNull()?0:-1:c.isNull()?1:this.minxc.minx?1:this.minyc.miny?1:this.maxxc.maxx?1:this.maxyc.maxy?1:0},translate:function(o,c){return this.isNull()?null:void this.init(this.getMinX()+o,this.getMaxX()+o,this.getMinY()+c,this.getMaxY()+c)},toString:function(){return"Env["+this.minx+" : "+this.maxx+", "+this.miny+" : "+this.maxy+"]"},setToNull:function(){this.minx=0,this.maxx=-1,this.miny=0,this.maxy=-1},getHeight:function(){return this.isNull()?0:this.maxy-this.miny},maxExtent:function(){if(this.isNull())return 0;var o=this.getWidth(),c=this.getHeight();return o>c?o:c},expandBy:function(){if(arguments.length===1){var o=arguments[0];this.expandBy(o,o)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];if(this.isNull())return null;this.minx-=c,this.maxx+=c,this.miny-=m,this.maxy+=m,(this.minx>this.maxx||this.miny>this.maxy)&&this.setToNull()}},contains:function(){if(arguments.length===1){if(arguments[0]instanceof r1){var o=arguments[0];return this.covers(o)}if(arguments[0]instanceof N){var c=arguments[0];return this.covers(c)}}else if(arguments.length===2){var m=arguments[0],v=arguments[1];return this.covers(m,v)}},centre:function(){return this.isNull()?null:new N((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},init:function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof N){var o=arguments[0];this.init(o.x,o.x,o.y,o.y)}else if(arguments[0]instanceof r1){var c=arguments[0];this.minx=c.minx,this.maxx=c.maxx,this.miny=c.miny,this.maxy=c.maxy}}else if(arguments.length===2){var m=arguments[0],v=arguments[1];this.init(m.x,v.x,m.y,v.y)}else if(arguments.length===4){var k=arguments[0],T=arguments[1],B=arguments[2],H=arguments[3];T>k?(this.minx=k,this.maxx=T):(this.minx=T,this.maxx=k),H>B?(this.miny=B,this.maxy=H):(this.miny=H,this.maxy=B)}},getMaxY:function(){return this.maxy},distance:function(o){if(this.intersects(o))return 0;var c=0;this.maxxo.maxx&&(c=this.minx-o.maxx);var m=0;return this.maxyo.maxy&&(m=this.miny-o.maxy),c===0?m:m===0?c:Math.sqrt(c*c+m*m)},hashCode:function(){var o=17;return o=37*o+N.hashCode(this.minx),o=37*o+N.hashCode(this.maxx),o=37*o+N.hashCode(this.miny),o=37*o+N.hashCode(this.maxy)},interfaces_:function(){return[l,_]},getClass:function(){return r1}}),r1.intersects=function(){if(arguments.length===3){var o=arguments[0],c=arguments[1],m=arguments[2];return m.x>=(o.xc.x?o.x:c.x)&&m.y>=(o.yc.y?o.y:c.y)}if(arguments.length===4){var v=arguments[0],k=arguments[1],T=arguments[2],B=arguments[3],H=Math.min(T.x,B.x),t1=Math.max(T.x,B.x),d1=Math.min(v.x,k.x),M1=Math.max(v.x,k.x);return d1>t1||H>M1?!1:(H=Math.min(T.y,B.y),t1=Math.max(T.y,B.y),d1=Math.min(v.y,k.y),M1=Math.max(v.y,k.y),d1>t1?!1:!(H>M1))}},r1.serialVersionUID=5873921885273102e3,w(i1,m1),r(i1.prototype,{interfaces_:function(){return[]},getClass:function(){return i1}}),r(z.prototype,{interfaces_:function(){return[]},getClass:function(){return z}}),z.toLocationSymbol=function(o){switch(o){case z.EXTERIOR:return"e";case z.BOUNDARY:return"b";case z.INTERIOR:return"i";case z.NONE:return"-"}throw new s},z.INTERIOR=0,z.BOUNDARY=1,z.EXTERIOR=2,z.NONE=-1,r(h1.prototype,{interfaces_:function(){return[]},getClass:function(){return h1}}),h1.log10=function(o){var c=Math.log(o);return u.isInfinite(c)||u.isNaN(c)?c:c/h1.LOG_10},h1.min=function(o,c,m,v){var k=o;return k>c&&(k=c),k>m&&(k=m),k>v&&(k=v),k},h1.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var o=arguments[0],c=arguments[1],m=arguments[2];return c>o?c:o>m?m:o}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var v=arguments[0],k=arguments[1],T=arguments[2];return k>v?k:v>T?T:v}},h1.wrap=function(o,c){return 0>o?c- -o%c:o%c},h1.max=function(){if(arguments.length===3){var o=arguments[0],c=arguments[1],m=arguments[2],v=o;return c>v&&(v=c),m>v&&(v=m),v}if(arguments.length===4){var k=arguments[0],T=arguments[1],B=arguments[2],H=arguments[3],v=k;return T>v&&(v=T),B>v&&(v=B),H>v&&(v=H),v}},h1.average=function(o,c){return(o+c)/2},h1.LOG_10=Math.log(10),y1.prototype.append=function(o){this.str+=o},y1.prototype.setCharAt=function(o,c){return this.str.substr(0,o)+c+this.str.substr(o+1)},y1.prototype.toString=function(o){return this.str},l1.prototype.intValue=function(){return this.value},l1.prototype.compareTo=function(o){return this.valueo?1:0},l1.isNaN=function(o){return Number.isNaN(o)},T1.isWhitespace=function(o){return 32>=o&&o>=0||o==127},T1.toUpperCase=function(o){return o.toUpperCase()},r(_1.prototype,{le:function(o){return this.hi=t1;t1++){o&&t1===T&&B.append(".");var d1=Math.trunc(m.hi);if(0>d1)break;var M1=!1,R1=0;d1>9?(M1=!0,R1="9"):R1="0"+d1,B.append(R1),m=m.subtract(_1.valueOf(d1)).multiply(_1.TEN),M1&&m.selfAdd(_1.TEN);var N1=!0,V1=_1.magnitude(m.hi);if(0>V1&&Math.abs(V1)>=H-t1&&(N1=!1),!N1)break}return c[0]=v,B.toString()},sqr:function(){return this.multiply(this)},doubleValue:function(){return this.hi+this.lo},subtract:function(){if(arguments[0]instanceof _1){var o=arguments[0];return this.add(o.negate())}if(typeof arguments[0]=="number"){var c=arguments[0];return this.add(-c)}},equals:function(){if(arguments.length===1){var o=arguments[0];return this.hi===o.hi&&this.lo===o.lo}},isZero:function(){return this.hi===0&&this.lo===0},selfSubtract:function(){if(arguments[0]instanceof _1){var o=arguments[0];return this.isNaN()?this:this.selfAdd(-o.hi,-o.lo)}if(typeof arguments[0]=="number"){var c=arguments[0];return this.isNaN()?this:this.selfAdd(-c,0)}},getSpecialNumberString:function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},min:function(o){return this.le(o)?this:o},selfDivide:function(){if(arguments.length===1){if(arguments[0]instanceof _1){var o=arguments[0];return this.selfDivide(o.hi,o.lo)}if(typeof arguments[0]=="number"){var c=arguments[0];return this.selfDivide(c,0)}}else if(arguments.length===2){var m=arguments[0],v=arguments[1],k=null,T=null,B=null,H=null,t1=null,d1=null,M1=null,R1=null;return t1=this.hi/m,d1=_1.SPLIT*t1,k=d1-t1,R1=_1.SPLIT*m,k=d1-k,T=t1-k,B=R1-m,M1=t1*m,B=R1-B,H=m-B,R1=k*B-M1+k*H+T*B+T*H,d1=(this.hi-M1-R1+this.lo-t1*v)/m,R1=t1+d1,this.hi=R1,this.lo=t1-R1+d1,this}},dump:function(){return"DD"},divide:function(){if(arguments[0]instanceof _1){var o=arguments[0],c=null,m=null,v=null,k=null,T=null,B=null,H=null,t1=null;T=this.hi/o.hi,B=_1.SPLIT*T,c=B-T,t1=_1.SPLIT*o.hi,c=B-c,m=T-c,v=t1-o.hi,H=T*o.hi,v=t1-v,k=o.hi-v,t1=c*v-H+c*k+m*v+m*k,B=(this.hi-H-t1+this.lo-T*o.lo)/o.hi,t1=T+B;var d1=t1,M1=T-t1+B;return new _1(d1,M1)}if(typeof arguments[0]=="number"){var R1=arguments[0];return u.isNaN(R1)?_1.createNaN():_1.copy(this).selfDivide(R1,0)}},ge:function(o){return this.hi>o.hi||this.hi===o.hi&&this.lo>=o.lo},pow:function(o){if(o===0)return _1.valueOf(1);var c=new _1(this),m=_1.valueOf(1),v=Math.abs(o);if(v>1)for(;v>0;)v%2===1&&m.selfMultiply(c),v/=2,v>0&&(c=c.sqr());else m=c;return 0>o?m.reciprocal():m},ceil:function(){if(this.isNaN())return _1.NaN;var o=Math.ceil(this.hi),c=0;return o===this.hi&&(c=Math.ceil(this.lo)),new _1(o,c)},compareTo:function(o){var c=o;return this.hic.hi?1:this.loc.lo?1:0},rint:function(){if(this.isNaN())return this;var o=this.add(.5);return o.floor()},setValue:function(){if(arguments[0]instanceof _1){var o=arguments[0];return this.init(o),this}if(typeof arguments[0]=="number"){var c=arguments[0];return this.init(c),this}},max:function(o){return this.ge(o)?this:o},sqrt:function(){if(this.isZero())return _1.valueOf(0);if(this.isNegative())return _1.NaN;var o=1/Math.sqrt(this.hi),c=this.hi*o,m=_1.valueOf(c),v=this.subtract(m.sqr()),k=v.hi*(.5*o);return m.add(k)},selfAdd:function(){if(arguments.length===1){if(arguments[0]instanceof _1){var o=arguments[0];return this.selfAdd(o.hi,o.lo)}if(typeof arguments[0]=="number"){var c=arguments[0],m=null,v=null,k=null,T=null,B=null,H=null;return k=this.hi+c,B=k-this.hi,T=k-B,T=c-B+(this.hi-T),H=T+this.lo,m=k+H,v=H+(k-m),this.hi=m+v,this.lo=v+(m-this.hi),this}}else if(arguments.length===2){var t1=arguments[0],d1=arguments[1],m=null,v=null,M1=null,R1=null,k=null,T=null,B=null,H=null;k=this.hi+t1,M1=this.lo+d1,B=k-this.hi,H=M1-this.lo,T=k-B,R1=M1-H,T=t1-B+(this.hi-T),R1=d1-H+(this.lo-R1),B=T+M1,m=k+B,v=B+(k-m),B=R1+v;var N1=m+B,V1=B+(m-N1);return this.hi=N1,this.lo=V1,this}},selfMultiply:function(){if(arguments.length===1){if(arguments[0]instanceof _1){var o=arguments[0];return this.selfMultiply(o.hi,o.lo)}if(typeof arguments[0]=="number"){var c=arguments[0];return this.selfMultiply(c,0)}}else if(arguments.length===2){var m=arguments[0],v=arguments[1],k=null,T=null,B=null,H=null,t1=null,d1=null;t1=_1.SPLIT*this.hi,k=t1-this.hi,d1=_1.SPLIT*m,k=t1-k,T=this.hi-k,B=d1-m,t1=this.hi*m,B=d1-B,H=m-B,d1=k*B-t1+k*H+T*B+T*H+(this.hi*v+this.lo*m);var M1=t1+d1;k=t1-M1;var R1=d1+k;return this.hi=M1,this.lo=R1,this}},selfSqr:function(){return this.selfMultiply(this)},floor:function(){if(this.isNaN())return _1.NaN;var o=Math.floor(this.hi),c=0;return o===this.hi&&(c=Math.floor(this.lo)),new _1(o,c)},negate:function(){return this.isNaN()?this:new _1(-this.hi,-this.lo)},clone:function(){try{return null}catch(o){if(o instanceof CloneNotSupportedException)return null;throw o}finally{}},multiply:function(){if(arguments[0]instanceof _1){var o=arguments[0];return o.isNaN()?_1.createNaN():_1.copy(this).selfMultiply(o)}if(typeof arguments[0]=="number"){var c=arguments[0];return u.isNaN(c)?_1.createNaN():_1.copy(this).selfMultiply(c,0)}},isNaN:function(){return u.isNaN(this.hi)},intValue:function(){return Math.trunc(this.hi)},toString:function(){var o=_1.magnitude(this.hi);return o>=-3&&20>=o?this.toStandardNotation():this.toSciNotation()},toStandardNotation:function(){var o=this.getSpecialNumberString();if(o!==null)return o;var c=new Array(1).fill(null),m=this.extractSignificantDigits(!0,c),v=c[0]+1,k=m;if(m.charAt(0)===".")k="0"+m;else if(0>v)k="0."+_1.stringOfChar("0",-v)+m;else if(m.indexOf(".")===-1){var T=v-m.length,B=_1.stringOfChar("0",T);k=m+B+".0"}return this.isNegative()?"-"+k:k},reciprocal:function(){var o=null,c=null,m=null,v=null,k=null,T=null,B=null,H=null;k=1/this.hi,T=_1.SPLIT*k,o=T-k,H=_1.SPLIT*this.hi,o=T-o,c=k-o,m=H-this.hi,B=k*this.hi,m=H-m,v=this.hi-m,H=o*m-B+o*v+c*m+c*v,T=(1-B-H-k*this.lo)/this.hi;var t1=k+T,d1=k-t1+T;return new _1(t1,d1)},toSciNotation:function(){if(this.isZero())return _1.SCI_NOT_ZERO;var o=this.getSpecialNumberString();if(o!==null)return o;var c=new Array(1).fill(null),m=this.extractSignificantDigits(!1,c),v=_1.SCI_NOT_EXPONENT_CHAR+c[0];if(m.charAt(0)==="0")throw new IllegalStateException("Found leading zero: "+m);var k="";m.length>1&&(k=m.substring(1));var T=m.charAt(0)+"."+k;return this.isNegative()?"-"+T+v:T+v},abs:function(){return this.isNaN()?_1.NaN:this.isNegative()?this.negate():new _1(this)},isPositive:function(){return this.hi>0||this.hi===0&&this.lo>0},lt:function(o){return this.hio.hi||this.hi===o.hi&&this.lo>o.lo},isNegative:function(){return this.hi0?1:this.hi0?1:this.loc){var k=o.charAt(c);k!=="-"&&k!=="+"||(c++,k==="-"&&(v=!0))}for(var T=new _1,B=0,H=0,t1=0;!(c>=m);){var d1=o.charAt(c);if(c++,T1.isDigit(d1)){var M1=d1-"0";T.selfMultiply(_1.TEN),T.selfAdd(M1),B++}else{if(d1!=="."){if(d1==="e"||d1==="E"){var R1=o.substring(c);try{t1=l1.parseInt(R1)}catch(U1){throw U1 instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+R1+" in string "+o):U1}finally{}break}throw new NumberFormatException("Unexpected character '"+d1+"' at position "+c+" in string "+o)}H=B}}var N1=T,V1=B-H-t1;if(V1===0)N1=T;else if(V1>0){var K1=_1.TEN.pow(V1);N1=T.divide(K1)}else if(0>V1){var K1=_1.TEN.pow(-V1);N1=T.multiply(K1)}return v?N1.negate():N1},_1.createNaN=function(){return new _1(u.NaN,u.NaN)},_1.copy=function(o){return new _1(o)},_1.magnitude=function(o){var c=Math.abs(o),m=Math.log(c)/Math.log(10),v=Math.trunc(Math.floor(m)),k=Math.pow(10,v);return c>=10*k&&(v+=1),v},_1.stringOfChar=function(o,c){for(var m=new y1,v=0;c>v;v++)m.append(o);return m.toString()},_1.PI=new _1(3.141592653589793,12246467991473532e-32),_1.TWO_PI=new _1(6.283185307179586,24492935982947064e-32),_1.PI_2=new _1(1.5707963267948966,6123233995736766e-32),_1.E=new _1(2.718281828459045,14456468917292502e-32),_1.NaN=new _1(u.NaN,u.NaN),_1.EPS=123259516440783e-46,_1.SPLIT=134217729,_1.MAX_PRINT_DIGITS=32,_1.TEN=_1.valueOf(10),_1.ONE=_1.valueOf(1),_1.SCI_NOT_EXPONENT_CHAR="E",_1.SCI_NOT_ZERO="0.0E0",r(k1.prototype,{interfaces_:function(){return[]},getClass:function(){return k1}}),k1.orientationIndex=function(o,c,m){var v=k1.orientationIndexFilter(o,c,m);if(1>=v)return v;var k=_1.valueOf(c.x).selfAdd(-o.x),T=_1.valueOf(c.y).selfAdd(-o.y),B=_1.valueOf(m.x).selfAdd(-c.x),H=_1.valueOf(m.y).selfAdd(-c.y);return k.selfMultiply(H).selfSubtract(T.selfMultiply(B)).signum()},k1.signOfDet2x2=function(o,c,m,v){var k=o.multiply(v).selfSubtract(c.multiply(m));return k.signum()},k1.intersection=function(o,c,m,v){var k=_1.valueOf(v.y).selfSubtract(m.y).selfMultiply(_1.valueOf(c.x).selfSubtract(o.x)),T=_1.valueOf(v.x).selfSubtract(m.x).selfMultiply(_1.valueOf(c.y).selfSubtract(o.y)),B=k.subtract(T),H=_1.valueOf(v.x).selfSubtract(m.x).selfMultiply(_1.valueOf(o.y).selfSubtract(m.y)),t1=_1.valueOf(v.y).selfSubtract(m.y).selfMultiply(_1.valueOf(o.x).selfSubtract(m.x)),d1=H.subtract(t1),M1=d1.selfDivide(B).doubleValue(),R1=_1.valueOf(o.x).selfAdd(_1.valueOf(c.x).selfSubtract(o.x).selfMultiply(M1)).doubleValue(),N1=_1.valueOf(c.x).selfSubtract(o.x).selfMultiply(_1.valueOf(o.y).selfSubtract(m.y)),V1=_1.valueOf(c.y).selfSubtract(o.y).selfMultiply(_1.valueOf(o.x).selfSubtract(m.x)),K1=N1.subtract(V1),U1=K1.selfDivide(B).doubleValue(),e4=_1.valueOf(m.y).selfAdd(_1.valueOf(v.y).selfSubtract(m.y).selfMultiply(U1)).doubleValue();return new N(R1,e4)},k1.orientationIndexFilter=function(o,c,m){var v=null,k=(o.x-m.x)*(c.y-m.y),T=(o.y-m.y)*(c.x-m.x),B=k-T;if(k>0){if(0>=T)return k1.signum(B);v=k+T}else{if(!(0>k)||T>=0)return k1.signum(B);v=-k-T}var H=k1.DP_SAFE_EPSILON*v;return B>=H||-B>=H?k1.signum(B):2},k1.signum=function(o){return o>0?1:0>o?-1:0},k1.DP_SAFE_EPSILON=1e-15,r(c1.prototype,{setOrdinate:function(o,c,m){},size:function(){},getOrdinate:function(o,c){},getCoordinate:function(){},getCoordinateCopy:function(o){},getDimension:function(){},getX:function(o){},clone:function(){},expandEnvelope:function(o){},copy:function(){},getY:function(o){},toCoordinateArray:function(){},interfaces_:function(){return[p]},getClass:function(){return c1}}),c1.X=0,c1.Y=1,c1.Z=2,c1.M=3,E1.arraycopy=function(o,c,m,v,k){for(var T=0,B=c;c+k>B;B++)m[v+T]=o[B],T++},E1.getProperty=function(o){return{"line.separator":`
`}[o]},r(a4.prototype,{getY:function(){var o=this.y/this.w;if(u.isNaN(o)||u.isInfinite(o))throw new i1;return o},getX:function(){var o=this.x/this.w;if(u.isNaN(o)||u.isInfinite(o))throw new i1;return o},getCoordinate:function(){var o=new N;return o.x=this.getX(),o.y=this.getY(),o},interfaces_:function(){return[]},getClass:function(){return a4}}),a4.intersection=function(o,c,m,v){var k=o.y-c.y,T=c.x-o.x,B=o.x*c.y-c.x*o.y,H=m.y-v.y,t1=v.x-m.x,d1=m.x*v.y-v.x*m.y,M1=T*d1-t1*B,R1=H*B-k*d1,N1=k*t1-H*T,V1=M1/N1,K1=R1/N1;if(u.isNaN(V1)||u.isInfinite(V1)||u.isNaN(K1)||u.isInfinite(K1))throw new i1;return new N(V1,K1)},r(S4.prototype,{create:function(){arguments.length===1&&(arguments[0]instanceof Array||n1(arguments[0],c1))},interfaces_:function(){return[]},getClass:function(){return S4}}),r(E4.prototype,{filter:function(o){},interfaces_:function(){return[]},getClass:function(){return E4}}),r(l4.prototype,{isGeometryCollection:function(){return this.getSortIndex()===l4.SORTINDEX_GEOMETRYCOLLECTION},getFactory:function(){return this.factory},getGeometryN:function(o){return this},getArea:function(){return 0},isRectangle:function(){return!1},equals:function(){if(arguments.length===1){if(arguments[0]instanceof l4){var o=arguments[0];return o===null?!1:this.equalsTopo(o)}if(arguments[0]instanceof Object){var c=arguments[0];if(!(c instanceof l4))return!1;var m=c;return this.equalsExact(m)}}},equalsExact:function(o){return this===o||this.equalsExact(o,0)},geometryChanged:function(){this.apply(l4.geometryChangedFilter)},geometryChangedAction:function(){this.envelope=null},equalsNorm:function(o){return o===null?!1:this.norm().equalsExact(o.norm())},getLength:function(){return 0},getNumGeometries:function(){return 1},compareTo:function(){if(arguments.length===1){var o=arguments[0],c=o;return this.getSortIndex()!==c.getSortIndex()?this.getSortIndex()-c.getSortIndex():this.isEmpty()&&c.isEmpty()?0:this.isEmpty()?-1:c.isEmpty()?1:this.compareToSameClass(o)}if(arguments.length===2){var m=arguments[0],v=arguments[1],c=m;return this.getSortIndex()!==c.getSortIndex()?this.getSortIndex()-c.getSortIndex():this.isEmpty()&&c.isEmpty()?0:this.isEmpty()?-1:c.isEmpty()?1:this.compareToSameClass(m,v)}},getUserData:function(){return this.userData},getSRID:function(){return this.SRID},getEnvelope:function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},checkNotGeometryCollection:function(o){if(o.getSortIndex()===l4.SORTINDEX_GEOMETRYCOLLECTION)throw new s},equal:function(o,c,m){return m===0?o.equals(c):o.distance(c)0},interfaces_:function(){return[ee]},getClass:function(){return ge}}),r(f4.prototype,{isInBoundary:function(o){return o>1},interfaces_:function(){return[ee]},getClass:function(){return f4}}),r(Re.prototype,{isInBoundary:function(o){return o===1},interfaces_:function(){return[ee]},getClass:function(){return Re}}),ee.Mod2BoundaryNodeRule=I4,ee.EndPointBoundaryNodeRule=ge,ee.MultiValentEndPointBoundaryNodeRule=f4,ee.MonoValentEndPointBoundaryNodeRule=Re,ee.MOD2_BOUNDARY_RULE=new I4,ee.ENDPOINT_BOUNDARY_RULE=new ge,ee.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new f4,ee.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new Re,ee.OGC_SFS_BOUNDARY_RULE=ee.MOD2_BOUNDARY_RULE,r(G4.prototype,{interfaces_:function(){return[]},getClass:function(){return G4}}),G4.isRing=function(o){return o.lengthm)return null;var v=new Array(o.length).fill(null);E1.arraycopy(o,m,v,0,o.length-m),E1.arraycopy(o,0,v,o.length-m,m),E1.arraycopy(v,0,o,0,o.length)},G4.equals=function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];if(o===c)return!0;if(o===null||c===null||o.length!==c.length)return!1;for(var m=0;m=v;v++){var k=o[v];o[v]=o[c-v],o[c-v]=k}},G4.removeNull=function(o){for(var c=0,m=0;mm;m++)T[B+m]=new N(v[k+m])},G4.isEqualReversed=function(o,c){for(var m=0;m=o?c:[]},G4.indexOf=function(o,c){for(var m=0;m0)&&(c=o[m]);return c},G4.extract=function(o,c,m){c=h1.clamp(c,0,o.length),m=h1.clamp(m,-1,o.length);var v=m-c+1;0>m&&(v=0),c>=o.length&&(v=0),c>m&&(v=0);var k=new Array(v).fill(null);if(v===0)return k;for(var T=0,B=c;m>=B;B++)k[T++]=o[B];return k},r(ye.prototype,{compare:function(o,c){var m=o,v=c;return G4.compare(m,v)},interfaces_:function(){return[f]},getClass:function(){return ye}}),r(o2.prototype,{compare:function(o,c){var m=o,v=c;if(m.lengthv.length)return 1;if(m.length===0)return 0;var k=G4.compare(m,v),T=G4.isEqualReversed(m,v);return T?0:k},OLDcompare:function(o,c){var m=o,v=c;if(m.lengthv.length)return 1;if(m.length===0)return 0;for(var k=G4.increasingDirection(m),T=G4.increasingDirection(v),B=k>0?0:m.length-1,H=T>0?0:m.length-1,t1=0;t1c;c++){var v=this.array_[c];if(v===o)return!0}return!1},Be.prototype.add=function(o){return this.contains(o)?!1:(this.array_.push(o),!0)},Be.prototype.addAll=function(o){for(var c=o.iterator();c.hasNext();)this.add(c.next());return!0},Be.prototype.remove=function(o){throw new javascript.util.OperationNotSupported},Be.prototype.size=function(){return this.array_.length},Be.prototype.isEmpty=function(){return this.array_.length===0},Be.prototype.toArray=function(){for(var o=[],c=0,m=this.array_.length;m>c;c++)o.push(this.array_[c]);return o},Be.prototype.iterator=function(){return new u9(this)};var u9=function(o){this.hashSet_=o,this.position_=0};u9.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new V;return this.hashSet_.array_[this.position_++]},u9.prototype.hasNext=function(){return this.position_m)c=c.left;else{if(!(m>0))return c.value;c=c.right}}return null},Ue.prototype.put=function(o,c){if(this.root_===null)return this.root_={key:o,value:c,left:null,right:null,parent:null,color:et,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var m,v,k=this.root_;do if(m=k,v=o.compareTo(k.key),0>v)k=k.left;else{if(!(v>0)){var T=k.value;return k.value=c,T}k=k.right}while(k!==null);var B={key:o,left:null,right:null,value:c,parent:m,color:et,getValue:function(){return this.value},getKey:function(){return this.key}};return 0>v?m.left=B:m.right=B,this.fixAfterInsertion(B),this.size_++,null},Ue.prototype.fixAfterInsertion=function(o){for(o.color=Qt;o!=null&&o!=this.root_&&o.parent.color==Qt;)if(Oe(o)==Xe(Oe(Oe(o)))){var c=N2(Oe(Oe(o)));l2(c)==Qt?(Ne(Oe(o),et),Ne(c,et),Ne(Oe(Oe(o)),Qt),o=Oe(Oe(o))):(o==N2(Oe(o))&&(o=Oe(o),this.rotateLeft(o)),Ne(Oe(o),et),Ne(Oe(Oe(o)),Qt),this.rotateRight(Oe(Oe(o))))}else{var c=Xe(Oe(Oe(o)));l2(c)==Qt?(Ne(Oe(o),et),Ne(c,et),Ne(Oe(Oe(o)),Qt),o=Oe(Oe(o))):(o==Xe(Oe(o))&&(o=Oe(o),this.rotateRight(o)),Ne(Oe(o),et),Ne(Oe(Oe(o)),Qt),this.rotateLeft(Oe(Oe(o))))}this.root_.color=et},Ue.prototype.values=function(){var o=new J,c=this.getFirstEntry();if(c!==null)for(o.add(c.value);(c=Ue.successor(c))!==null;)o.add(c.value);return o},Ue.prototype.entrySet=function(){var o=new Be,c=this.getFirstEntry();if(c!==null)for(o.add(c);(c=Ue.successor(c))!==null;)o.add(c);return o},Ue.prototype.rotateLeft=function(o){if(o!=null){var c=o.right;o.right=c.left,c.left!=null&&(c.left.parent=o),c.parent=o.parent,o.parent==null?this.root_=c:o.parent.left==o?o.parent.left=c:o.parent.right=c,c.left=o,o.parent=c}},Ue.prototype.rotateRight=function(o){if(o!=null){var c=o.left;o.left=c.right,c.right!=null&&(c.right.parent=o),c.parent=o.parent,o.parent==null?this.root_=c:o.parent.right==o?o.parent.right=c:o.parent.left=c,c.right=o,o.parent=c}},Ue.prototype.getFirstEntry=function(){var o=this.root_;if(o!=null)for(;o.left!=null;)o=o.left;return o},Ue.successor=function(o){if(o===null)return null;if(o.right!==null){for(var c=o.right;c.left!==null;)c=c.left;return c}for(var c=o.parent,m=o;c!==null&&m===c.right;)m=c,c=c.parent;return c},Ue.prototype.size=function(){return this.size_},r(Ze.prototype,{interfaces_:function(){return[]},getClass:function(){return Ze}}),x4.prototype=new Qe,a1.prototype=new x4,a1.prototype.contains=function(o){for(var c=0,m=this.array_.length;m>c;c++){var v=this.array_[c];if(v.compareTo(o)===0)return!0}return!1},a1.prototype.add=function(o){if(this.contains(o))return!1;for(var c=0,m=this.array_.length;m>c;c++){var v=this.array_[c];if(v.compareTo(o)===1)return this.array_.splice(c,0,o),!0}return this.array_.push(o),!0},a1.prototype.addAll=function(o){for(var c=o.iterator();c.hasNext();)this.add(c.next());return!0},a1.prototype.remove=function(o){throw new Z},a1.prototype.size=function(){return this.array_.length},a1.prototype.isEmpty=function(){return this.array_.length===0},a1.prototype.toArray=function(){for(var o=[],c=0,m=this.array_.length;m>c;c++)o.push(this.array_[c]);return o},a1.prototype.iterator=function(){return new H9(this)};var H9=function(o){this.treeSet_=o,this.position_=0};H9.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new V;return this.treeSet_.array_[this.position_++]},H9.prototype.hasNext=function(){return this.position_m;m++)c.add(o[m]);return c},r(U.prototype,{interfaces_:function(){return[]},getClass:function(){return U}}),U.toDimensionSymbol=function(o){switch(o){case U.FALSE:return U.SYM_FALSE;case U.TRUE:return U.SYM_TRUE;case U.DONTCARE:return U.SYM_DONTCARE;case U.P:return U.SYM_P;case U.L:return U.SYM_L;case U.A:return U.SYM_A}throw new s},U.toDimensionValue=function(o){switch(T1.toUpperCase(o)){case U.SYM_FALSE:return U.FALSE;case U.SYM_TRUE:return U.TRUE;case U.SYM_DONTCARE:return U.DONTCARE;case U.SYM_P:return U.P;case U.SYM_L:return U.L;case U.SYM_A:return U.A}throw new s},U.P=0,U.L=1,U.A=2,U.FALSE=-1,U.TRUE=-2,U.DONTCARE=-3,U.SYM_FALSE="F",U.SYM_TRUE="T",U.SYM_DONTCARE="*",U.SYM_P="0",U.SYM_L="1",U.SYM_A="2",r(x1.prototype,{filter:function(o){},interfaces_:function(){return[]},getClass:function(){return x1}}),r(D1.prototype,{filter:function(o,c){},isDone:function(){},isGeometryChanged:function(){},interfaces_:function(){return[]},getClass:function(){return D1}}),w(B1,l4),r(B1.prototype,{computeEnvelopeInternal:function(){for(var o=new r1,c=0;ct1&&H>t1;){var d1=this.getGeometryN(t1),M1=T.getGeometryN(t1),R1=d1.compareToSameClass(M1,k);if(R1!==0)return R1;t1++}return B>t1?1:H>t1?-1:0}},apply:function(){if(n1(arguments[0],Q4))for(var o=arguments[0],c=0;cv;v++)m[v]=o;return new String(m)},Ee.getStackTrace=function(){if(arguments.length===1){var o=arguments[0],c=new ue,m=new M4;return o.printStackTrace(m),c.toString()}if(arguments.length===2){for(var v=arguments[0],k=arguments[1],T="",B=new C4(Ee.getStackTrace(v)),H=new M2,t1=0;k>t1;t1++)try{T+=H.readLine()+Ee.NEWLINE}catch(d1){if(!(d1 instanceof Ie))throw d1;F.shouldNeverReachHere()}finally{}return T}},Ee.split=function(o,c){for(var m=c.length,v=new J,k=""+o,T=k.indexOf(c);T>=0;){var B=k.substring(0,T);v.add(B),k=k.substring(T+m),T=k.indexOf(c)}k.length>0&&v.add(k);for(var H=new Array(v.size()).fill(null),t1=0;t1T;T++)m.setOrdinate(v,T,o.getOrdinate(c,T))},p4.isRing=function(o){var c=o.size();return c===0?!0:3>=c?!1:o.getOrdinate(0,c1.X)===o.getOrdinate(c-1,c1.X)&&o.getOrdinate(0,c1.Y)===o.getOrdinate(c-1,c1.Y)},p4.isEqual=function(o,c){var m=o.size(),v=c.size();if(m!==v)return!1;for(var k=Math.min(o.getDimension(),c.getDimension()),T=0;m>T;T++)for(var B=0;k>B;B++){var H=o.getOrdinate(T,B),t1=c.getOrdinate(T,B);if(!(o.getOrdinate(T,B)===c.getOrdinate(T,B)||u.isNaN(H)&&u.isNaN(t1)))return!1}return!0},p4.extend=function(o,c,m){var v=o.create(m,c.getDimension()),k=c.size();if(p4.copy(c,0,v,0,k),k>0)for(var T=k;m>T;T++)p4.copy(c,k-1,v,T,1);return v},p4.reverse=function(o){for(var c=o.size()-1,m=Math.trunc(c/2),v=0;m>=v;v++)p4.swap(o,v,c-v)},p4.swap=function(o,c,m){if(c===m)return null;for(var v=0;vT;T++)p4.copyCoord(o,c+T,m,v+T)},p4.toString=function(){if(arguments.length===1){var o=arguments[0],c=o.size();if(c===0)return"()";var m=o.getDimension(),v=new y1;v.append("(");for(var k=0;c>k;k++){k>0&&v.append(" ");for(var T=0;m>T;T++)T>0&&v.append(","),v.append(Ee.toString(o.getOrdinate(k,T)))}return v.append(")"),v.toString()}},p4.ensureValidRing=function(o,c){var m=c.size();if(m===0)return c;if(3>=m)return p4.createClosedRing(o,c,4);var v=c.getOrdinate(0,c1.X)===c.getOrdinate(m-1,c1.X)&&c.getOrdinate(0,c1.Y)===c.getOrdinate(m-1,c1.Y);return v?c:p4.createClosedRing(o,c,m+1)},p4.createClosedRing=function(o,c,m){var v=o.create(m,c.getDimension()),k=c.size();p4.copy(c,0,v,0,k);for(var T=k;m>T;T++)p4.copy(c,0,v,T,1);return v},w(ve,l4),r(ve.prototype,{computeEnvelopeInternal:function(){return this.isEmpty()?new r1:this.points.expandEnvelope(new r1)},isRing:function(){return this.isClosed()&&this.isSimple()},getSortIndex:function(){return l4.SORTINDEX_LINESTRING},getCoordinates:function(){return this.points.toCoordinateArray()},equalsExact:function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];if(!this.isEquivalentClass(o))return!1;var m=o;if(this.points.size()!==m.points.size())return!1;for(var v=0;v0&&p4.reverse(this.points),null}},getCoordinate:function(){return this.isEmpty()?null:this.points.getCoordinate(0)},getBoundaryDimension:function(){return this.isClosed()?U.FALSE:0},isClosed:function(){return this.isEmpty()?!1:this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},getEndPoint:function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},getDimension:function(){return 1},getLength:function(){return Z4.computeLength(this.points)},getNumPoints:function(){return this.points.size()},reverse:function(){var o=this.points.copy();p4.reverse(o);var c=this.getFactory().createLineString(o);return c},compareToSameClass:function(){if(arguments.length===1){for(var o=arguments[0],c=o,m=0,v=0;m= 2)");this.points=o},isCoordinate:function(o){for(var c=0;cm;m++){var v=o.getX(m);if(v!==c.getMinX()&&v!==c.getMaxX())return!1;var k=o.getY(m);if(k!==c.getMinY()&&k!==c.getMaxY())return!1}for(var T=o.getX(0),B=o.getY(0),m=1;4>=m;m++){var v=o.getX(m),k=o.getY(m),H=v!==T,t1=k!==B;if(H===t1)return!1;T=v,B=k}return!0},equalsExact:function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];if(!this.isEquivalentClass(o))return!1;var m=o,v=this.shell,k=m.shell;if(!v.equalsExact(k,c)||this.holes.length!==m.holes.length)return!1;for(var T=0;Td1&&t1>d1;){var M1=this.getInteriorRingN(d1),R1=T.getInteriorRingN(d1),N1=M1.compareToSameClass(R1,k);if(N1!==0)return N1;d1++}return H>d1?1:t1>d1?-1:0}},apply:function(){if(n1(arguments[0],Q4)){var o=arguments[0];this.shell.apply(o);for(var c=0;c=1&&this.getCoordinateSequence().size()= 4)")},getGeometryType:function(){return"LinearRing"},copy:function(){return new j1(this.points.copy(),this.factory)},interfaces_:function(){return[]},getClass:function(){return j1}}),j1.MINIMUM_VALID_SIZE=4,j1.serialVersionUID=-0x3b229e262367a600,w(J1,B1),r(J1.prototype,{getSortIndex:function(){return l4.SORTINDEX_MULTIPOLYGON},equalsExact:function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];return this.isEquivalentClass(o)?B1.prototype.equalsExact.call(this,o,c):!1}return B1.prototype.equalsExact.apply(this,arguments)},getBoundaryDimension:function(){return 1},getDimension:function(){return 2},reverse:function(){for(var o=this.geometries.length,c=new Array(o).fill(null),m=0;m0?c.createPoint(m[0]):c.createPoint()}return o},interfaces_:function(){return[R4]},getClass:function(){return n4}}),r(D4.prototype,{edit:function(o,c){return o instanceof j1?c.createLinearRing(this.edit(o.getCoordinateSequence(),o)):o instanceof ve?c.createLineString(this.edit(o.getCoordinateSequence(),o)):o instanceof s1?c.createPoint(this.edit(o.getCoordinateSequence(),o)):o},interfaces_:function(){return[R4]},getClass:function(){return D4}}),i4.NoOpGeometryOperation=o4,i4.CoordinateOperation=n4,i4.CoordinateSequenceOperation=D4,r(Y4.prototype,{setOrdinate:function(o,c,m){switch(c){case c1.X:this.coordinates[o].x=m;break;case c1.Y:this.coordinates[o].y=m;break;case c1.Z:this.coordinates[o].z=m;break;default:throw new s}},size:function(){return this.coordinates.length},getOrdinate:function(o,c){switch(c){case c1.X:return this.coordinates[o].x;case c1.Y:return this.coordinates[o].y;case c1.Z:return this.coordinates[o].z}return u.NaN},getCoordinate:function(){if(arguments.length===1){var o=arguments[0];return this.coordinates[o]}if(arguments.length===2){var c=arguments[0],m=arguments[1];m.x=this.coordinates[c].x,m.y=this.coordinates[c].y,m.z=this.coordinates[c].z}},getCoordinateCopy:function(o){return new N(this.coordinates[o])},getDimension:function(){return this.dimension},getX:function(o){return this.coordinates[o].x},clone:function(){for(var o=new Array(this.size()).fill(null),c=0;c0){var o=new y1(17*this.coordinates.length);o.append("("),o.append(this.coordinates[0]);for(var c=1;c3&&(v=3),2>v?new Y4(m):new Y4(m,v)}},interfaces_:function(){return[S4,_]},getClass:function(){return J4}}),J4.instance=function(){return J4.instanceObject},J4.serialVersionUID=-0x38e49fa6cf6f2e00,J4.instanceObject=new J4;var m8,zo=Object.defineProperty,Lo=k4({delete:le,has:h2,get:_e,set:ze,keys:A2,values:r2,entries:qe,forEach:Ke,clear:j2}),Rr=typeof Map=0?o:c},r(Y2.prototype,{readResolve:function(){return Y2.nameToTypeMap.get(this.name)},toString:function(){return this.name},interfaces_:function(){return[_]},getClass:function(){return Y2}}),Y2.serialVersionUID=-552860263173159e4,Y2.nameToTypeMap=new ne,Pe.Type=Y2,Pe.serialVersionUID=7777263578777804e3,Pe.FIXED=new Y2("FIXED"),Pe.FLOATING=new Y2("FLOATING"),Pe.FLOATING_SINGLE=new Y2("FLOATING SINGLE"),Pe.maximumPreciseValue=9007199254740992,r(n2.prototype,{toGeometry:function(o){return o.isNull()?this.createPoint(null):o.getMinX()===o.getMaxX()&&o.getMinY()===o.getMaxY()?this.createPoint(new N(o.getMinX(),o.getMinY())):o.getMinX()===o.getMaxX()||o.getMinY()===o.getMaxY()?this.createLineString([new N(o.getMinX(),o.getMinY()),new N(o.getMaxX(),o.getMaxY())]):this.createPolygon(this.createLinearRing([new N(o.getMinX(),o.getMinY()),new N(o.getMinX(),o.getMaxY()),new N(o.getMaxX(),o.getMaxY()),new N(o.getMaxX(),o.getMinY()),new N(o.getMinX(),o.getMinY())]),null)},createLineString:function(){if(arguments.length===0)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var o=arguments[0];return this.createLineString(o!==null?this.getCoordinateSequenceFactory().create(o):null)}if(n1(arguments[0],c1)){var c=arguments[0];return new ve(c,this)}}},createMultiLineString:function(){if(arguments.length===0)return new W1(null,this);if(arguments.length===1){var o=arguments[0];return new W1(o,this)}},buildGeometry:function(o){for(var c=null,m=!1,v=!1,k=o.iterator();k.hasNext();){var T=k.next(),B=T.getClass();c===null&&(c=B),B!==c&&(m=!0),T.isGeometryCollectionOrDerived()&&(v=!0)}if(c===null)return this.createGeometryCollection();if(m||v)return this.createGeometryCollection(n2.toGeometryArray(o));var H=o.iterator().next(),t1=o.size()>1;if(t1){if(H instanceof $1)return this.createMultiPolygon(n2.toPolygonArray(o));if(H instanceof ve)return this.createMultiLineString(n2.toLineStringArray(o));if(H instanceof s1)return this.createMultiPoint(n2.toPointArray(o));F.shouldNeverReachHere("Unhandled class: "+H.getClass().getName())}return H},createMultiPointFromCoords:function(o){return this.createMultiPoint(o!==null?this.getCoordinateSequenceFactory().create(o):null)},createPoint:function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof N){var o=arguments[0];return this.createPoint(o!==null?this.getCoordinateSequenceFactory().create([o]):null)}if(n1(arguments[0],c1)){var c=arguments[0];return new s1(c,this)}}},getCoordinateSequenceFactory:function(){return this.coordinateSequenceFactory},createPolygon:function(){if(arguments.length===0)return new $1(null,null,this);if(arguments.length===1){if(n1(arguments[0],c1)){var o=arguments[0];return this.createPolygon(this.createLinearRing(o))}if(arguments[0]instanceof Array){var c=arguments[0];return this.createPolygon(this.createLinearRing(c))}if(arguments[0]instanceof j1){var m=arguments[0];return this.createPolygon(m,null)}}else if(arguments.length===2){var v=arguments[0],k=arguments[1];return new $1(v,k,this)}},getSRID:function(){return this.SRID},createGeometryCollection:function(){if(arguments.length===0)return new B1(null,this);if(arguments.length===1){var o=arguments[0];return new B1(o,this)}},createGeometry:function(o){var c=new i4(this);return c.edit(o,{edit:function(){if(arguments.length===2){var m=arguments[0];return this.coordinateSequenceFactory.create(m)}}})},getPrecisionModel:function(){return this.precisionModel},createLinearRing:function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var o=arguments[0];return this.createLinearRing(o!==null?this.getCoordinateSequenceFactory().create(o):null)}if(n1(arguments[0],c1)){var c=arguments[0];return new j1(c,this)}}},createMultiPolygon:function(){if(arguments.length===0)return new J1(null,this);if(arguments.length===1){var o=arguments[0];return new J1(o,this)}},createMultiPoint:function(){if(arguments.length===0)return new q1(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var o=arguments[0];return new q1(o,this)}if(arguments[0]instanceof Array){var c=arguments[0];return this.createMultiPoint(c!==null?this.getCoordinateSequenceFactory().create(c):null)}if(n1(arguments[0],c1)){var m=arguments[0];if(m===null)return this.createMultiPoint(new Array(0).fill(null));for(var v=new Array(m.size()).fill(null),k=0;km;++m)c.push("("+y3.point.apply(this,[o.geometries[m]])+")");return c.join(",")},linestring:function(o){for(var c=[],m=0,v=o.points.coordinates.length;v>m;++m)c.push(y3.coordinate.apply(this,[o.points.coordinates[m]]));return c.join(",")},linearring:function(o){for(var c=[],m=0,v=o.points.coordinates.length;v>m;++m)c.push(y3.coordinate.apply(this,[o.points.coordinates[m]]));return c.join(",")},multilinestring:function(o){for(var c=[],m=0,v=o.geometries.length;v>m;++m)c.push("("+y3.linestring.apply(this,[o.geometries[m]])+")");return c.join(",")},polygon:function(o){var c=[];c.push("("+y3.linestring.apply(this,[o.shell])+")");for(var m=0,v=o.holes.length;v>m;++m)c.push("("+y3.linestring.apply(this,[o.holes[m]])+")");return c.join(",")},multipolygon:function(o){for(var c=[],m=0,v=o.geometries.length;v>m;++m)c.push("("+y3.polygon.apply(this,[o.geometries[m]])+")");return c.join(",")},geometrycollection:function(o){for(var c=[],m=0,v=o.geometries.length;v>m;++m)c.push(this.extractGeometry(o.geometries[m]));return c.join(",")}},f8={point:function(o){if(o===void 0)return this.geometryFactory.createPoint();var c=o.trim().split(u3.spaces);return this.geometryFactory.createPoint(new N(Number.parseFloat(c[0]),Number.parseFloat(c[1])))},multipoint:function(o){if(o===void 0)return this.geometryFactory.createMultiPoint();for(var c,m=o.trim().split(","),v=[],k=0,T=m.length;T>k;++k)c=m[k].replace(u3.trimParens,"$1"),v.push(f8.point.apply(this,[c]));return this.geometryFactory.createMultiPoint(v)},linestring:function(o){if(o===void 0)return this.geometryFactory.createLineString();for(var c,m=o.trim().split(","),v=[],k=0,T=m.length;T>k;++k)c=m[k].trim().split(u3.spaces),v.push(new N(Number.parseFloat(c[0]),Number.parseFloat(c[1])));return this.geometryFactory.createLineString(v)},linearring:function(o){if(o===void 0)return this.geometryFactory.createLinearRing();for(var c,m=o.trim().split(","),v=[],k=0,T=m.length;T>k;++k)c=m[k].trim().split(u3.spaces),v.push(new N(Number.parseFloat(c[0]),Number.parseFloat(c[1])));return this.geometryFactory.createLinearRing(v)},multilinestring:function(o){if(o===void 0)return this.geometryFactory.createMultiLineString();for(var c,m=o.trim().split(u3.parenComma),v=[],k=0,T=m.length;T>k;++k)c=m[k].replace(u3.trimParens,"$1"),v.push(f8.linestring.apply(this,[c]));return this.geometryFactory.createMultiLineString(v)},polygon:function(o){if(o===void 0)return this.geometryFactory.createPolygon();for(var c,m,v,k,T=o.trim().split(u3.parenComma),B=[],H=0,t1=T.length;t1>H;++H)c=T[H].replace(u3.trimParens,"$1"),m=f8.linestring.apply(this,[c]),v=this.geometryFactory.createLinearRing(m.points),H===0?k=v:B.push(v);return this.geometryFactory.createPolygon(k,B)},multipolygon:function(o){if(o===void 0)return this.geometryFactory.createMultiPolygon();for(var c,m=o.trim().split(u3.doubleParenComma),v=[],k=0,T=m.length;T>k;++k)c=m[k].replace(u3.trimParens,"$1"),v.push(f8.polygon.apply(this,[c]));return this.geometryFactory.createMultiPolygon(v)},geometrycollection:function(o){if(o===void 0)return this.geometryFactory.createGeometryCollection();o=o.replace(/,\s*([A-Za-z])/g,"|$1");for(var c=o.trim().split("|"),m=[],v=0,k=c.length;k>v;++v)m.push(this.read(c[v]));return this.geometryFactory.createGeometryCollection(m)}};r(x3.prototype,{write:function(o){return this.parser.write(o)}}),r(x3,{toLineString:function(o,c){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+o.x+" "+o.y+", "+c.x+" "+c.y+" )"}}),r(c2.prototype,{getIndexAlongSegment:function(o,c){return this.computeIntLineIndex(),this.intLineIndex[o][c]},getTopologySummary:function(){var o=new y1;return this.isEndPoint()&&o.append(" endpoint"),this._isProper&&o.append(" proper"),this.isCollinear()&&o.append(" collinear"),o.toString()},computeIntersection:function(o,c,m,v){this.inputLines[0][0]=o,this.inputLines[0][1]=c,this.inputLines[1][0]=m,this.inputLines[1][1]=v,this.result=this.computeIntersect(o,c,m,v)},getIntersectionNum:function(){return this.result},computeIntLineIndex:function(){if(arguments.length===0)this.intLineIndex===null&&(this.intLineIndex=Array(2).fill().map(function(){return Array(2)}),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(arguments.length===1){var o=arguments[0],c=this.getEdgeDistance(o,0),m=this.getEdgeDistance(o,1);c>m?(this.intLineIndex[o][0]=0,this.intLineIndex[o][1]=1):(this.intLineIndex[o][0]=1,this.intLineIndex[o][1]=0)}},isProper:function(){return this.hasIntersection()&&this._isProper},setPrecisionModel:function(o){this.precisionModel=o},isInteriorIntersection:function(){if(arguments.length===0)return this.isInteriorIntersection(0)?!0:!!this.isInteriorIntersection(1);if(arguments.length===1){for(var o=arguments[0],c=0;ck?v:k;else{var B=Math.abs(o.x-c.x),H=Math.abs(o.y-c.y);T=v>k?B:H,T!==0||o.equals(c)||(T=Math.max(B,H))}return F.isTrue(!(T===0&&!o.equals(c)),"Bad distance calculation"),T},c2.nonRobustComputeEdgeDistance=function(o,c,m){var v=o.x-c.x,k=o.y-c.y,T=Math.sqrt(v*v+k*k);return F.isTrue(!(T===0&&!o.equals(c)),"Invalid distance calculation"),T},c2.DONT_INTERSECT=0,c2.DO_INTERSECT=1,c2.COLLINEAR=2,c2.NO_INTERSECTION=0,c2.POINT_INTERSECTION=1,c2.COLLINEAR_INTERSECTION=2,w(X3,c2),r(X3.prototype,{isInSegmentEnvelopes:function(o){var c=new r1(this.inputLines[0][0],this.inputLines[0][1]),m=new r1(this.inputLines[1][0],this.inputLines[1][1]);return c.contains(o)&&m.contains(o)},computeIntersection:function(){if(arguments.length!==3)return c2.prototype.computeIntersection.apply(this,arguments);var o=arguments[0],c=arguments[1],m=arguments[2];return this._isProper=!1,r1.intersects(c,m,o)&&Z4.orientationIndex(c,m,o)===0&&Z4.orientationIndex(m,c,o)===0?(this._isProper=!0,(o.equals(c)||o.equals(m))&&(this._isProper=!1),this.result=c2.POINT_INTERSECTION,null):void(this.result=c2.NO_INTERSECTION)},normalizeToMinimum:function(o,c,m,v,k){k.x=this.smallestInAbsValue(o.x,c.x,m.x,v.x),k.y=this.smallestInAbsValue(o.y,c.y,m.y,v.y),o.x-=k.x,o.y-=k.y,c.x-=k.x,c.y-=k.y,m.x-=k.x,m.y-=k.y,v.x-=k.x,v.y-=k.y},safeHCoordinateIntersection:function(o,c,m,v){var k=null;try{k=a4.intersection(o,c,m,v)}catch(T){if(!(T instanceof i1))throw T;k=X3.nearestEndpoint(o,c,m,v)}finally{}return k},intersection:function(o,c,m,v){var k=this.intersectionWithNormalization(o,c,m,v);return this.isInSegmentEnvelopes(k)||(k=new N(X3.nearestEndpoint(o,c,m,v))),this.precisionModel!==null&&this.precisionModel.makePrecise(k),k},smallestInAbsValue:function(o,c,m,v){var k=o,T=Math.abs(k);return Math.abs(c)1e-4&&E1.out.println("Distance = "+k.distance(T))},intersectionWithNormalization:function(o,c,m,v){var k=new N(o),T=new N(c),B=new N(m),H=new N(v),t1=new N;this.normalizeToEnvCentre(k,T,B,H,t1);var d1=this.safeHCoordinateIntersection(k,T,B,H);return d1.x+=t1.x,d1.y+=t1.y,d1},computeCollinearIntersection:function(o,c,m,v){var k=r1.intersects(o,c,m),T=r1.intersects(o,c,v),B=r1.intersects(m,v,o),H=r1.intersects(m,v,c);return k&&T?(this.intPt[0]=m,this.intPt[1]=v,c2.COLLINEAR_INTERSECTION):B&&H?(this.intPt[0]=o,this.intPt[1]=c,c2.COLLINEAR_INTERSECTION):k&&B?(this.intPt[0]=m,this.intPt[1]=o,!m.equals(o)||T||H?c2.COLLINEAR_INTERSECTION:c2.POINT_INTERSECTION):k&&H?(this.intPt[0]=m,this.intPt[1]=c,!m.equals(c)||T||B?c2.COLLINEAR_INTERSECTION:c2.POINT_INTERSECTION):T&&B?(this.intPt[0]=v,this.intPt[1]=o,!v.equals(o)||k||H?c2.COLLINEAR_INTERSECTION:c2.POINT_INTERSECTION):T&&H?(this.intPt[0]=v,this.intPt[1]=c,!v.equals(c)||k||B?c2.COLLINEAR_INTERSECTION:c2.POINT_INTERSECTION):c2.NO_INTERSECTION},normalizeToEnvCentre:function(o,c,m,v,k){var T=o.xc.x?o.x:c.x,t1=o.y>c.y?o.y:c.y,d1=m.xv.x?m.x:v.x,N1=m.y>v.y?m.y:v.y,V1=T>d1?T:d1,K1=R1>H?H:R1,U1=B>M1?B:M1,e4=N1>t1?t1:N1,u4=(V1+K1)/2,r4=(U1+e4)/2;k.x=u4,k.y=r4,o.x-=k.x,o.y-=k.y,c.x-=k.x,c.y-=k.y,m.x-=k.x,m.y-=k.y,v.x-=k.x,v.y-=k.y},computeIntersect:function(o,c,m,v){if(this._isProper=!1,!r1.intersects(o,c,m,v))return c2.NO_INTERSECTION;var k=Z4.orientationIndex(o,c,m),T=Z4.orientationIndex(o,c,v);if(k>0&&T>0||0>k&&0>T)return c2.NO_INTERSECTION;var B=Z4.orientationIndex(m,v,o),H=Z4.orientationIndex(m,v,c);if(B>0&&H>0||0>B&&0>H)return c2.NO_INTERSECTION;var t1=k===0&&T===0&&B===0&&H===0;return t1?this.computeCollinearIntersection(o,c,m,v):(k===0||T===0||B===0||H===0?(this._isProper=!1,o.equals2D(m)||o.equals2D(v)?this.intPt[0]=o:c.equals2D(m)||c.equals2D(v)?this.intPt[0]=c:k===0?this.intPt[0]=new N(m):T===0?this.intPt[0]=new N(v):B===0?this.intPt[0]=new N(o):H===0&&(this.intPt[0]=new N(c))):(this._isProper=!0,this.intPt[0]=this.intersection(o,c,m,v)),c2.POINT_INTERSECTION)},interfaces_:function(){return[]},getClass:function(){return X3}}),X3.nearestEndpoint=function(o,c,m,v){var k=o,T=Z4.distancePointLine(o,m,v),B=Z4.distancePointLine(c,m,v);return T>B&&(T=B,k=c),B=Z4.distancePointLine(m,o,c),T>B&&(T=B,k=m),B=Z4.distancePointLine(v,o,c),T>B&&(T=B,k=v),k},r(Y5.prototype,{interfaces_:function(){return[]},getClass:function(){return Y5}}),Y5.orientationIndex=function(o,c,m){var v=c.x-o.x,k=c.y-o.y,T=m.x-c.x,B=m.y-c.y;return Y5.signOfDet2x2(v,k,T,B)},Y5.signOfDet2x2=function(o,c,m,v){var k=null,T=null,B=null;if(k=1,o===0||v===0)return c===0||m===0?0:c>0?m>0?-k:k:m>0?k:-k;if(c===0||m===0)return v>0?o>0?k:-k:o>0?-k:k;if(c>0?v>0?v>=c||(k=-k,T=o,o=m,m=T,T=c,c=v,v=T):-v>=c?(k=-k,m=-m,v=-v):(T=o,o=-m,m=T,T=c,c=-v,v=T):v>0?v>=-c?(k=-k,o=-o,c=-c):(T=-o,o=m,m=T,T=-c,c=v,v=T):c>=v?(o=-o,c=-c,m=-m,v=-v):(k=-k,T=-o,o=-m,m=T,T=-c,c=-v,v=T),o>0){if(!(m>0)||!(m>=o))return k}else{if(m>0||!(o>=m))return-k;k=-k,o=-o,m=-m}for(;;){if(B=Math.floor(m/o),m-=B*o,v-=B*c,0>v)return-k;if(v>c)return k;if(o>m+m){if(v+v>c)return k}else{if(c>v+v)return-k;m=o-m,v=c-v,k=-k}if(v===0)return m===0?0:-k;if(m===0||(B=Math.floor(o/m),o-=B*m,c-=B*v,0>c))return k;if(c>v)return-k;if(m>o+o){if(c+c>v)return-k}else{if(v>c+c)return k;o=m-o,c=v-c,k=-k}if(c===0)return o===0?0:k;if(o===0)return-k}},r(Y7.prototype,{countSegment:function(o,c){if(o.xv&&(m=c.x,v=o.x),this.p.x>=m&&this.p.xthis.p.y&&c.ythis.p.y&&o.yH&&(t1=-t1),t1>0&&this.crossingCount++}},isPointInPolygon:function(){return this.getLocation()!==z.EXTERIOR},getLocation:function(){return this.isPointOnSegment?z.BOUNDARY:this.crossingCount%2===1?z.INTERIOR:z.EXTERIOR},isOnSegment:function(){return this.isPointOnSegment},interfaces_:function(){return[]},getClass:function(){return Y7}}),Y7.locatePointInRing=function(){if(arguments[0]instanceof N&&n1(arguments[1],c1)){for(var o=arguments[0],c=arguments[1],m=new Y7(o),v=new N,k=new N,T=1;Tt1)return 0;var d1=new N,M1=new N,R1=new N;H.getCoordinate(0,M1),H.getCoordinate(1,R1);var m=M1.x;R1.x-=m;for(var c=0,v=1;t1-1>v;v++)d1.y=M1.y,M1.x=R1.x,M1.y=R1.y,H.getCoordinate(v+1,R1),R1.x-=m,c+=M1.x*(d1.y-R1.y);return c/2}},Z4.distanceLineLine=function(o,c,m,v){if(o.equals(c))return Z4.distancePointLine(o,m,v);if(m.equals(v))return Z4.distancePointLine(v,o,c);var k=!1;if(r1.intersects(o,c,m,v)){var T=(c.x-o.x)*(v.y-m.y)-(c.y-o.y)*(v.x-m.x);if(T===0)k=!0;else{var B=(o.y-m.y)*(v.x-m.x)-(o.x-m.x)*(v.y-m.y),H=(o.y-m.y)*(c.x-o.x)-(o.x-m.x)*(c.y-o.y),t1=H/T,d1=B/T;(0>d1||d1>1||0>t1||t1>1)&&(k=!0)}}else k=!0;return k?h1.min(Z4.distancePointLine(o,m,v),Z4.distancePointLine(c,m,v),Z4.distancePointLine(m,o,c),Z4.distancePointLine(v,o,c)):0},Z4.isPointInRing=function(o,c){return Z4.locatePointInRing(o,c)!==z.EXTERIOR},Z4.computeLength=function(o){var c=o.size();if(1>=c)return 0;var m=0,v=new N;o.getCoordinate(0,v);for(var k=v.x,T=v.y,B=1;c>B;B++){o.getCoordinate(B,v);var H=v.x,t1=v.y,d1=H-k,M1=t1-T;m+=Math.sqrt(d1*d1+M1*M1),k=H,T=t1}return m},Z4.isCCW=function(o){var c=o.length-1;if(3>c)throw new s;for(var m=o[0],v=0,k=1;c>=k;k++){var T=o[k];T.y>m.y&&(m=T,v=k)}var B=v;do B-=1,0>B&&(B=c);while(o[B].equals2D(m)&&B!==v);var H=v;do H=(H+1)%c;while(o[H].equals2D(m)&&H!==v);var t1=o[B],d1=o[H];if(t1.equals2D(m)||d1.equals2D(m)||t1.equals2D(d1))return!1;var M1=Z4.computeOrientation(t1,m,d1);return M1===0?t1.x>d1.x:M1>0},Z4.locatePointInRing=function(o,c){return Y7.locatePointInRing(o,c)},Z4.distancePointLinePerpendicular=function(o,c,m){var v=(m.x-c.x)*(m.x-c.x)+(m.y-c.y)*(m.y-c.y),k=((c.y-o.y)*(m.x-c.x)-(c.x-o.x)*(m.y-c.y))/v;return Math.abs(k)*Math.sqrt(v)},Z4.computeOrientation=function(o,c,m){return Z4.orientationIndex(o,c,m)},Z4.distancePointLine=function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];if(c.length===0)throw new s;for(var m=o.distance(c[0]),v=0;vk&&(m=k)}return m}if(arguments.length===3){var T=arguments[0],B=arguments[1],H=arguments[2];if(B.x===H.x&&B.y===H.y)return T.distance(B);var t1=(H.x-B.x)*(H.x-B.x)+(H.y-B.y)*(H.y-B.y),d1=((T.x-B.x)*(H.x-B.x)+(T.y-B.y)*(H.y-B.y))/t1;if(0>=d1)return T.distance(B);if(d1>=1)return T.distance(H);var M1=((B.y-T.y)*(H.x-B.x)-(B.x-T.x)*(H.y-B.y))/t1;return Math.abs(M1)*Math.sqrt(t1)}},Z4.isOnLine=function(o,c){for(var m=new X3,v=1;v=0&&m>=0||0>=c&&0>=m?Math.max(c,m):0}if(arguments[0]instanceof N){var v=arguments[0];return Z4.orientationIndex(this.p0,this.p1,v)}},toGeometry:function(o){return o.createLineString([this.p0,this.p1])},isVertical:function(){return this.p0.x===this.p1.x},equals:function(o){if(!(o instanceof x2))return!1;var c=o;return this.p0.equals(c.p0)&&this.p1.equals(c.p1)},intersection:function(o){var c=new X3;return c.computeIntersection(this.p0,this.p1,o.p0,o.p1),c.hasIntersection()?c.getIntersection(0):null},project:function(){if(arguments[0]instanceof N){var o=arguments[0];if(o.equals(this.p0)||o.equals(this.p1))return new N(o);var c=this.projectionFactor(o),m=new N;return m.x=this.p0.x+c*(this.p1.x-this.p0.x),m.y=this.p0.y+c*(this.p1.y-this.p0.y),m}if(arguments[0]instanceof x2){var v=arguments[0],k=this.projectionFactor(v.p0),T=this.projectionFactor(v.p1);if(k>=1&&T>=1||0>=k&&0>=T)return null;var B=this.project(v.p0);0>k&&(B=this.p0),k>1&&(B=this.p1);var H=this.project(v.p1);return 0>T&&(H=this.p0),T>1&&(H=this.p1),new x2(B,H)}},normalize:function(){this.p1.compareTo(this.p0)=v)return u.NaN;var k=((o.x-this.p0.x)*c+(o.y-this.p0.y)*m)/v;return k},closestPoints:function(o){var c=this.intersection(o);if(c!==null)return[c,c];var m=new Array(2).fill(null),v=u.MAX_VALUE,k=null,T=this.closestPoint(o.p0);v=T.distance(o.p0),m[0]=T,m[1]=o.p0;var B=this.closestPoint(o.p1);k=B.distance(o.p1),v>k&&(v=k,m[0]=B,m[1]=o.p1);var H=o.closestPoint(this.p0);k=H.distance(this.p0),v>k&&(v=k,m[0]=this.p0,m[1]=H);var t1=o.closestPoint(this.p1);return k=t1.distance(this.p1),v>k&&(v=k,m[0]=this.p1,m[1]=t1),m},closestPoint:function(o){var c=this.projectionFactor(o);if(c>0&&1>c)return this.project(o);var m=this.p0.distance(o),v=this.p1.distance(o);return v>m?this.p0:this.p1},maxX:function(){return Math.max(this.p0.x,this.p1.x)},getLength:function(){return this.p0.distance(this.p1)},compareTo:function(o){var c=o,m=this.p0.compareTo(c.p0);return m!==0?m:this.p1.compareTo(c.p1)},reverse:function(){var o=this.p0;this.p0=this.p1,this.p1=o},equalsTopo:function(o){return this.p0.equals(o.p0)&&this.p1.equals(o.p1)||this.p0.equals(o.p1)&&this.p1.equals(o.p0)},lineIntersection:function(o){try{var c=a4.intersection(this.p0,this.p1,o.p0,o.p1);return c}catch(m){if(!(m instanceof i1))throw m}finally{}return null},maxY:function(){return Math.max(this.p0.y,this.p1.y)},pointAlongOffset:function(o,c){var m=this.p0.x+o*(this.p1.x-this.p0.x),v=this.p0.y+o*(this.p1.y-this.p0.y),k=this.p1.x-this.p0.x,T=this.p1.y-this.p0.y,B=Math.sqrt(k*k+T*T),H=0,t1=0;if(c!==0){if(0>=B)throw new IllegalStateException("Cannot compute offset from zero-length line segment");H=c*k/B,t1=c*T/B}var d1=m-t1,M1=v+H,R1=new N(d1,M1);return R1},setCoordinates:function(){if(arguments.length===1){var o=arguments[0];this.setCoordinates(o.p0,o.p1)}else if(arguments.length===2){var c=arguments[0],m=arguments[1];this.p0.x=c.x,this.p0.y=c.y,this.p1.x=m.x,this.p1.y=m.y}},segmentFraction:function(o){var c=this.projectionFactor(o);return 0>c?c=0:(c>1||u.isNaN(c))&&(c=1),c},toString:function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},isHorizontal:function(){return this.p0.y===this.p1.y},distance:function(){if(arguments[0]instanceof x2){var o=arguments[0];return Z4.distanceLineLine(this.p0,this.p1,o.p0,o.p1)}if(arguments[0]instanceof N){var c=arguments[0];return Z4.distancePointLine(c,this.p0,this.p1)}},pointAlong:function(o){var c=new N;return c.x=this.p0.x+o*(this.p1.x-this.p0.x),c.y=this.p0.y+o*(this.p1.y-this.p0.y),c},hashCode:function(){var o=java.lang.Double.doubleToLongBits(this.p0.x);o^=31*java.lang.Double.doubleToLongBits(this.p0.y);var c=Math.trunc(o)^Math.trunc(o>>32),m=java.lang.Double.doubleToLongBits(this.p1.x);m^=31*java.lang.Double.doubleToLongBits(this.p1.y);var v=Math.trunc(m)^Math.trunc(m>>32);return c^v},interfaces_:function(){return[l,_]},getClass:function(){return x2}}),x2.midPoint=function(o,c){return new N((o.x+c.x)/2,(o.y+c.y)/2)},x2.serialVersionUID=0x2d2172135f411c00,r(z2.prototype,{isIntersects:function(){return!this.isDisjoint()},isCovers:function(){var o=z2.isTrue(this.matrix[z.INTERIOR][z.INTERIOR])||z2.isTrue(this.matrix[z.INTERIOR][z.BOUNDARY])||z2.isTrue(this.matrix[z.BOUNDARY][z.INTERIOR])||z2.isTrue(this.matrix[z.BOUNDARY][z.BOUNDARY]);return o&&this.matrix[z.EXTERIOR][z.INTERIOR]===U.FALSE&&this.matrix[z.EXTERIOR][z.BOUNDARY]===U.FALSE},isCoveredBy:function(){var o=z2.isTrue(this.matrix[z.INTERIOR][z.INTERIOR])||z2.isTrue(this.matrix[z.INTERIOR][z.BOUNDARY])||z2.isTrue(this.matrix[z.BOUNDARY][z.INTERIOR])||z2.isTrue(this.matrix[z.BOUNDARY][z.BOUNDARY]);return o&&this.matrix[z.INTERIOR][z.EXTERIOR]===U.FALSE&&this.matrix[z.BOUNDARY][z.EXTERIOR]===U.FALSE},set:function(){if(arguments.length===1)for(var o=arguments[0],c=0;c=0&&c>=0&&this.setAtLeast(o,c,m)},isWithin:function(){return z2.isTrue(this.matrix[z.INTERIOR][z.INTERIOR])&&this.matrix[z.INTERIOR][z.EXTERIOR]===U.FALSE&&this.matrix[z.BOUNDARY][z.EXTERIOR]===U.FALSE},isTouches:function(o,c){return o>c?this.isTouches(c,o):o===U.A&&c===U.A||o===U.L&&c===U.L||o===U.L&&c===U.A||o===U.P&&c===U.A||o===U.P&&c===U.L?this.matrix[z.INTERIOR][z.INTERIOR]===U.FALSE&&(z2.isTrue(this.matrix[z.INTERIOR][z.BOUNDARY])||z2.isTrue(this.matrix[z.BOUNDARY][z.INTERIOR])||z2.isTrue(this.matrix[z.BOUNDARY][z.BOUNDARY])):!1},isOverlaps:function(o,c){return o===U.P&&c===U.P||o===U.A&&c===U.A?z2.isTrue(this.matrix[z.INTERIOR][z.INTERIOR])&&z2.isTrue(this.matrix[z.INTERIOR][z.EXTERIOR])&&z2.isTrue(this.matrix[z.EXTERIOR][z.INTERIOR]):o===U.L&&c===U.L?this.matrix[z.INTERIOR][z.INTERIOR]===1&&z2.isTrue(this.matrix[z.INTERIOR][z.EXTERIOR])&&z2.isTrue(this.matrix[z.EXTERIOR][z.INTERIOR]):!1},isEquals:function(o,c){return o!==c?!1:z2.isTrue(this.matrix[z.INTERIOR][z.INTERIOR])&&this.matrix[z.INTERIOR][z.EXTERIOR]===U.FALSE&&this.matrix[z.BOUNDARY][z.EXTERIOR]===U.FALSE&&this.matrix[z.EXTERIOR][z.INTERIOR]===U.FALSE&&this.matrix[z.EXTERIOR][z.BOUNDARY]===U.FALSE},toString:function(){for(var o=new y1("123456789"),c=0;3>c;c++)for(var m=0;3>m;m++)o.setCharAt(3*c+m,U.toDimensionSymbol(this.matrix[c][m]));return o.toString()},setAll:function(o){for(var c=0;3>c;c++)for(var m=0;3>m;m++)this.matrix[c][m]=o},get:function(o,c){return this.matrix[o][c]},transpose:function(){var o=this.matrix[1][0];return this.matrix[1][0]=this.matrix[0][1],this.matrix[0][1]=o,o=this.matrix[2][0],this.matrix[2][0]=this.matrix[0][2],this.matrix[0][2]=o,o=this.matrix[2][1],this.matrix[2][1]=this.matrix[1][2],this.matrix[1][2]=o,this},matches:function(o){if(o.length!==9)throw new s;for(var c=0;3>c;c++)for(var m=0;3>m;m++)if(!z2.matches(this.matrix[c][m],o.charAt(3*c+m)))return!1;return!0},add:function(o){for(var c=0;3>c;c++)for(var m=0;3>m;m++)this.setAtLeast(c,m,o.get(c,m))},isDisjoint:function(){return this.matrix[z.INTERIOR][z.INTERIOR]===U.FALSE&&this.matrix[z.INTERIOR][z.BOUNDARY]===U.FALSE&&this.matrix[z.BOUNDARY][z.INTERIOR]===U.FALSE&&this.matrix[z.BOUNDARY][z.BOUNDARY]===U.FALSE},isCrosses:function(o,c){return o===U.P&&c===U.L||o===U.P&&c===U.A||o===U.L&&c===U.A?z2.isTrue(this.matrix[z.INTERIOR][z.INTERIOR])&&z2.isTrue(this.matrix[z.INTERIOR][z.EXTERIOR]):o===U.L&&c===U.P||o===U.A&&c===U.P||o===U.A&&c===U.L?z2.isTrue(this.matrix[z.INTERIOR][z.INTERIOR])&&z2.isTrue(this.matrix[z.EXTERIOR][z.INTERIOR]):o===U.L&&c===U.L?this.matrix[z.INTERIOR][z.INTERIOR]===0:!1},interfaces_:function(){return[p]},getClass:function(){return z2}}),z2.matches=function(){if(Number.isInteger(arguments[0])&&typeof arguments[1]=="string"){var o=arguments[0],c=arguments[1];return c===U.SYM_DONTCARE||c===U.SYM_TRUE&&(o>=0||o===U.TRUE)||c===U.SYM_FALSE&&o===U.FALSE||c===U.SYM_P&&o===U.P||c===U.SYM_L&&o===U.L?!0:c===U.SYM_A&&o===U.A}if(typeof arguments[0]=="string"&&typeof arguments[1]=="string"){var m=arguments[0],v=arguments[1],k=new z2(m);return k.matches(v)}},z2.isTrue=function(o){return o>=0||o===U.TRUE};var Ir=Object.freeze({Coordinate:N,CoordinateList:X,Envelope:r1,LineSegment:x2,GeometryFactory:n2,Geometry:l4,Point:s1,LineString:ve,LinearRing:j1,Polygon:$1,GeometryCollection:B1,MultiPoint:q1,MultiLineString:W1,MultiPolygon:J1,Dimension:U,IntersectionMatrix:z2});r(S5.prototype,{addPoint:function(o){this.ptCount+=1,this.ptCentSum.x+=o.x,this.ptCentSum.y+=o.y},setBasePoint:function(o){this.areaBasePt===null&&(this.areaBasePt=o)},addLineSegments:function(o){for(var c=0,m=0;m0&&this.addPoint(o[0])},addHole:function(o){for(var c=Z4.isCCW(o),m=0;m0)o.x=this.cg3.x/3/this.areasum2,o.y=this.cg3.y/3/this.areasum2;else if(this.totalLength>0)o.x=this.lineCentSum.x/this.totalLength,o.y=this.lineCentSum.y/this.totalLength;else{if(!(this.ptCount>0))return null;o.x=this.ptCentSum.x/this.ptCount,o.y=this.ptCentSum.y/this.ptCount}return o},addShell:function(o){o.length>0&&this.setBasePoint(o[0]);for(var c=!Z4.isCCW(o),m=0;mo||o>=this.size())throw new IndexOutOfBoundsException;return this.array_[o]},zt.prototype.push=function(o){return this.array_.push(o),o},zt.prototype.pop=function(o){if(this.array_.length===0)throw new B0;return this.array_.pop()},zt.prototype.peek=function(){if(this.array_.length===0)throw new B0;return this.array_[this.array_.length-1]},zt.prototype.empty=function(){return this.array_.length===0},zt.prototype.isEmpty=function(){return this.empty()},zt.prototype.search=function(o){return this.array_.indexOf(o)},zt.prototype.size=function(){return this.array_.length},zt.prototype.toArray=function(){for(var o=[],c=0,m=this.array_.length;m>c;c++)o.push(this.array_[c]);return o},r(C6.prototype,{filter:function(o){this.treeSet.contains(o)||(this.list.add(o),this.treeSet.add(o))},getCoordinates:function(){var o=new Array(this.list.size()).fill(null);return this.list.toArray(o)},interfaces_:function(){return[Q4]},getClass:function(){return C6}}),C6.filterCoordinates=function(o){for(var c=new C6,m=0;m50&&(o=this.reduce(this.inputPts));var c=this.preSort(o),m=this.grahamScan(c),v=this.toCoordinateArray(m);return this.lineOrPolygon(v)},padArray3:function(o){for(var c=new Array(3).fill(null),m=0;mc[2].y&&(c[2]=o[v]),o[v].x+o[v].y>c[3].x+c[3].y&&(c[3]=o[v]),o[v].x>c[4].x&&(c[4]=o[v]),o[v].x-o[v].y>c[5].x-c[5].y&&(c[5]=o[v]),o[v].y0;)c=m.pop();c=m.push(c),c=m.push(o[v])}return c=m.push(o[0]),m},interfaces_:function(){return[]},getClass:function(){return J5}}),J5.extractCoordinates=function(o){var c=new C6;return o.apply(c),c.getCoordinates()},r(N7.prototype,{compare:function(o,c){var m=o,v=c;return N7.polarCompare(this.origin,m,v)},interfaces_:function(){return[f]},getClass:function(){return N7}}),N7.polarCompare=function(o,c,m){var v=c.x-o.x,k=c.y-o.y,T=m.x-o.x,B=m.y-o.y,H=Z4.computeOrientation(o,c,m);if(H===Z4.COUNTERCLOCKWISE)return 1;if(H===Z4.CLOCKWISE)return-1;var t1=v*v+k*k,d1=T*T+B*B;return d1>t1?-1:t1>d1?1:0},J5.RadialComparator=N7,r(Lt.prototype,{transformPoint:function(o,c){return this.factory.createPoint(this.transformCoordinates(o.getCoordinateSequence(),o))},transformPolygon:function(o,c){var m=!0,v=this.transformLinearRing(o.getExteriorRing(),o);v!==null&&v instanceof j1&&!v.isEmpty()||(m=!1);for(var k=new J,T=0;T0&&4>v&&!this.preserveType?this.factory.createLineString(m):this.factory.createLinearRing(m)},interfaces_:function(){return[]},getClass:function(){return Lt}}),r(K8.prototype,{snapVertices:function(o,c){for(var m=this._isClosed?o.size()-1:o.size(),v=0;m>v;v++){var k=o.get(v),T=this.findSnapForVertex(k,c);T!==null&&(o.set(v,new N(T)),v===0&&this._isClosed&&o.set(o.size()-1,new N(T)))}},findSnapForVertex:function(o,c){for(var m=0;mv;v++){var k=c[v],T=this.findSegmentIndexToSnap(k,o);T>=0&&o.add(T+1,new N(k),!1)}},findSegmentIndexToSnap:function(o,c){for(var m=u.MAX_VALUE,v=-1,k=0;kT&&(m=T,v=k)}return v},setAllowSnappingToSourceVertices:function(o){this.allowSnappingToSourceVertices=o},interfaces_:function(){return[]},getClass:function(){return K8}}),K8.isClosed=function(o){return o.lengthv&&(c=v)}return c},interfaces_:function(){return[]},getClass:function(){return g3}}),g3.snap=function(o,c,m){var v=new Array(2).fill(null),k=new g3(o);v[0]=k.snapTo(c,m);var T=new g3(c);return v[1]=T.snapTo(v[0],m),v},g3.computeOverlaySnapTolerance=function(){if(arguments.length===1){var o=arguments[0],c=g3.computeSizeBasedSnapTolerance(o),m=o.getPrecisionModel();if(m.getType()===Pe.FIXED){var v=1/m.getScale()*2/1.415;v>c&&(c=v)}return c}if(arguments.length===2){var k=arguments[0],T=arguments[1];return Math.min(g3.computeOverlaySnapTolerance(k),g3.computeOverlaySnapTolerance(T))}},g3.computeSizeBasedSnapTolerance=function(o){var c=o.getEnvelopeInternal(),m=Math.min(c.getHeight(),c.getWidth()),v=m*g3.SNAP_PRECISION_FACTOR;return v},g3.snapToSelf=function(o,c,m){var v=new g3(o);return v.snapToSelf(c,m)},g3.SNAP_PRECISION_FACTOR=1e-9,w(G0,Lt),r(G0.prototype,{snapLine:function(o,c){var m=new K8(o,this.snapTolerance);return m.setAllowSnappingToSourceVertices(this.isSelfSnap),m.snapTo(c)},transformCoordinates:function(o,c){var m=o.toCoordinateArray(),v=this.snapLine(m,this.snapPts);return this.factory.getCoordinateSequenceFactory().create(v)},interfaces_:function(){return[]},getClass:function(){return G0}}),r(Bt.prototype,{getCommon:function(){return u.longBitsToDouble(this.commonBits)},add:function(o){var c=u.doubleToLongBits(o);if(this.isFirst)return this.commonBits=c,this.commonSignExp=Bt.signExpBits(this.commonBits),this.isFirst=!1,null;var m=Bt.signExpBits(c);return m!==this.commonSignExp?(this.commonBits=0,null):(this.commonMantissaBitsCount=Bt.numCommonMostSigMantissaBits(this.commonBits,c),void(this.commonBits=Bt.zeroLowerBits(this.commonBits,64-(12+this.commonMantissaBitsCount))))},toString:function(){if(arguments.length===1){var o=arguments[0],c=u.longBitsToDouble(o),m=Long.toBinaryString(o),v="0000000000000000000000000000000000000000000000000000000000000000"+m,k=v.substring(v.length-64),T=k.substring(0,1)+" "+k.substring(1,12)+"(exp) "+k.substring(12)+" [ "+c+" ]";return T}},interfaces_:function(){return[]},getClass:function(){return Bt}}),Bt.getBit=function(o,c){var m=1>52},Bt.zeroLowerBits=function(o,c){var m=(1=0;v--){if(Bt.getBit(o,v)!==Bt.getBit(c,v))return m;m++}return 52},r(Z8.prototype,{addCommonBits:function(o){var c=new J7(this.commonCoord);o.apply(c),o.geometryChanged()},removeCommonBits:function(o){if(this.commonCoord.x===0&&this.commonCoord.y===0)return o;var c=new N(this.commonCoord);c.x=-c.x,c.y=-c.y;var m=new J7(c);return o.apply(m),o.geometryChanged(),o},getCommonCoordinate:function(){return this.commonCoord},add:function(o){o.apply(this.ccFilter),this.commonCoord=this.ccFilter.getCommonCoordinate()},interfaces_:function(){return[]},getClass:function(){return Z8}}),r(j0.prototype,{filter:function(o){this.commonBitsX.add(o.x),this.commonBitsY.add(o.y)},getCommonCoordinate:function(){return new N(this.commonBitsX.getCommon(),this.commonBitsY.getCommon())},interfaces_:function(){return[Q4]},getClass:function(){return j0}}),r(J7.prototype,{filter:function(o,c){var m=o.getOrdinate(c,0)+this.trans.x,v=o.getOrdinate(c,1)+this.trans.y;o.setOrdinate(c,0,m),o.setOrdinate(c,1,v)},isDone:function(){return!1},isGeometryChanged:function(){return!0},interfaces_:function(){return[D1]},getClass:function(){return J7}}),Z8.CommonCoordinateFilter=j0,Z8.Translater=J7,r(K7.prototype,{next:function(){if(this.atStart)return this.atStart=!1,K7.isAtomic(this.parent)&&this.index++,this.parent;if(this.subcollectionIterator!==null){if(this.subcollectionIterator.hasNext())return this.subcollectionIterator.next();this.subcollectionIterator=null}if(this.index>=this.max)throw new V;var o=this.parent.getGeometryN(this.index++);return o instanceof B1?(this.subcollectionIterator=new K7(o),this.subcollectionIterator.next()):o},remove:function(){throw new UnsupportedOperationException(this.getClass().getName())},hasNext:function(){if(this.atStart)return!0;if(this.subcollectionIterator!==null){if(this.subcollectionIterator.hasNext())return!0;this.subcollectionIterator=null}return!(this.index>=this.max)},interfaces_:function(){return[K]},getClass:function(){return K7}}),K7.isAtomic=function(o){return!(o instanceof B1)},r(K5.prototype,{locateInternal:function(){if(arguments[0]instanceof N&&arguments[1]instanceof $1){var o=arguments[0],c=arguments[1];if(c.isEmpty())return z.EXTERIOR;var m=c.getExteriorRing(),v=this.locateInPolygonRing(o,m);if(v===z.EXTERIOR)return z.EXTERIOR;if(v===z.BOUNDARY)return z.BOUNDARY;for(var k=0;k0||this.isIn?z.INTERIOR:z.EXTERIOR)},interfaces_:function(){return[]},getClass:function(){return K5}}),r(k5.prototype,{interfaces_:function(){return[]},getClass:function(){return k5}}),k5.octant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var o=arguments[0],c=arguments[1];if(o===0&&c===0)throw new s;var m=Math.abs(o),v=Math.abs(c);return o>=0?c>=0?m>=v?0:1:m>=v?7:6:c>=0?m>=v?3:2:m>=v?4:5}if(arguments[0]instanceof N&&arguments[1]instanceof N){var k=arguments[0],T=arguments[1],B=T.x-k.x,H=T.y-k.y;if(B===0&&H===0)throw new s;return k5.octant(B,H)}},r(Z5.prototype,{getCoordinates:function(){},size:function(){},getCoordinate:function(o){},isClosed:function(){},setData:function(o){},getData:function(){},interfaces_:function(){return[]},getClass:function(){return Z5}}),r(P2.prototype,{getCoordinates:function(){return this.pts},size:function(){return this.pts.length},getCoordinate:function(o){return this.pts[o]},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getSegmentOctant:function(o){return o===this.pts.length-1?-1:k5.octant(this.getCoordinate(o),this.getCoordinate(o+1))},setData:function(o){this.data=o},getData:function(){return this.data},toString:function(){return x3.toLineString(new Y4(this.pts))},interfaces_:function(){return[Z5]},getClass:function(){return P2}}),r(z7.prototype,{getBounds:function(){},interfaces_:function(){return[]},getClass:function(){return z7}}),r(Z7.prototype,{getItem:function(){return this.item},getBounds:function(){return this.bounds},interfaces_:function(){return[z7,_]},getClass:function(){return Z7}}),r(H0.prototype,{poll:function(){if(this.isEmpty())return null;var o=this.items.get(1);return this.items.set(1,this.items.get(this._size)),this._size-=1,this.reorder(1),o},size:function(){return this._size},reorder:function(o){for(var c=null,m=this.items.get(o);2*ok;k++)v.next(),v.set(m[k])},singletonList:function(o){var c=new J;return c.add(o),c}};r(Je.prototype,{expandToQueue:function(o,c){var m=Je.isComposite(this.boundable1),v=Je.isComposite(this.boundable2);if(m&&v)return Je.area(this.boundable1)>Je.area(this.boundable2)?(this.expand(this.boundable1,this.boundable2,o,c),null):(this.expand(this.boundable2,this.boundable1,o,c),null);if(m)return this.expand(this.boundable1,this.boundable2,o,c),null;if(v)return this.expand(this.boundable2,this.boundable1,o,c),null;throw new s},isLeaves:function(){return!(Je.isComposite(this.boundable1)||Je.isComposite(this.boundable2))},compareTo:function(o){var c=o;return this._distancec._distance?1:0},expand:function(o,c,m,v){for(var k=o.getChildBoundables(),T=k.iterator();T.hasNext();){var B=T.next(),H=new Je(B,c,this.itemDistance);H.getDistance()-2),v.getLevel()===m)return k.add(v),null;for(var T=v.getChildBoundables().iterator();T.hasNext();){var B=T.next();B instanceof H2?this.boundablesAtLevel(m,B,k):(F.isTrue(B instanceof Z7),m===-1&&k.add(B))}return null}},query:function(){if(arguments.length===1){var o=arguments[0];this.build();var c=new J;return this.isEmpty()||this.getIntersectsOp().intersects(this.root.getBounds(),o)&&this.query(o,this.root,c),c}if(arguments.length===2){var m=arguments[0],v=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this.root.getBounds(),m)&&this.query(m,this.root,v)}else if(arguments.length===3){if(n1(arguments[2],ut)&&arguments[0]instanceof Object&&arguments[1]instanceof H2)for(var k=arguments[0],T=arguments[1],B=arguments[2],H=T.getChildBoundables(),t1=0;t1c&&(c=k)}}return c+1}},createParentBoundables:function(o,c){F.isTrue(!o.isEmpty());var m=new J;m.add(this.createNode(c));var v=new J(o);b7.sort(v,this.getComparator());for(var k=v.iterator();k.hasNext();){var T=k.next();this.lastNode(m).getChildBoundables().size()===this.getNodeCapacity()&&m.add(this.createNode(c)),this.lastNode(m).addChildBoundable(T)}return m},isEmpty:function(){return this.built?this.root.isEmpty():this.itemBoundables.isEmpty()},interfaces_:function(){return[_]},getClass:function(){return S2}}),S2.compareDoubles=function(o,c){return o>c?1:c>o?-1:0},S2.IntersectsOp=X8,S2.serialVersionUID=-3886435814360241e3,S2.DEFAULT_NODE_CAPACITY=10,r(vt.prototype,{distance:function(o,c){},interfaces_:function(){return[]},getClass:function(){return vt}}),w(W2,S2),r(W2.prototype,{createParentBoundablesFromVerticalSlices:function(o,c){F.isTrue(o.length>0);for(var m=new J,v=0;vT;T++){v[T]=new J;for(var B=0;k.hasNext()&&m>B;){var H=k.next();v[T].add(H),B++}}return v},query:function(){if(arguments.length===1){var o=arguments[0];return S2.prototype.query.call(this,o)}if(arguments.length===2){var c=arguments[0],m=arguments[1];S2.prototype.query.call(this,c,m)}else if(arguments.length===3){if(n1(arguments[2],ut)&&arguments[0]instanceof Object&&arguments[1]instanceof H2){var v=arguments[0],k=arguments[1],T=arguments[2];S2.prototype.query.call(this,v,k,T)}else if(n1(arguments[2],P)&&arguments[0]instanceof Object&&arguments[1]instanceof H2){var B=arguments[0],H=arguments[1],t1=arguments[2];S2.prototype.query.call(this,B,H,t1)}}},getComparator:function(){return W2.yComparator},createParentBoundablesFromVerticalSlice:function(o,c){return S2.prototype.createParentBoundables.call(this,o,c)},remove:function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];return S2.prototype.remove.call(this,o,c)}return S2.prototype.remove.apply(this,arguments)},depth:function(){return arguments.length===0?S2.prototype.depth.call(this):S2.prototype.depth.apply(this,arguments)},createParentBoundables:function(o,c){F.isTrue(!o.isEmpty());var m=Math.trunc(Math.ceil(o.size()/this.getNodeCapacity())),v=new J(o);b7.sort(v,W2.xComparator);var k=this.verticalSlices(v,Math.trunc(Math.ceil(Math.sqrt(m))));return this.createParentBoundablesFromVerticalSlices(k,c)},nearestNeighbour:function(){if(arguments.length===1){if(n1(arguments[0],vt)){var o=arguments[0],c=new Je(this.getRoot(),this.getRoot(),o);return this.nearestNeighbour(c)}if(arguments[0]instanceof Je){var m=arguments[0];return this.nearestNeighbour(m,u.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof W2&&n1(arguments[1],vt)){var v=arguments[0],k=arguments[1],c=new Je(this.getRoot(),v.getRoot(),k);return this.nearestNeighbour(c)}if(arguments[0]instanceof Je&&typeof arguments[1]=="number"){var T=arguments[0],B=arguments[1],H=B,t1=null,d1=new H0;for(d1.add(T);!d1.isEmpty()&&H>0;){var M1=d1.poll(),R1=M1.getDistance();if(R1>=H)break;M1.isLeaves()?(H=R1,t1=M1):M1.expandToQueue(d1,H)}return[t1.getBoundable(0).getItem(),t1.getBoundable(1).getItem()]}}else if(arguments.length===3){var N1=arguments[0],V1=arguments[1],K1=arguments[2],U1=new Z7(N1,V1),c=new Je(this.getRoot(),U1,K1);return this.nearestNeighbour(c)[0]}},interfaces_:function(){return[Ct,_]},getClass:function(){return W2}}),W2.centreX=function(o){return W2.avg(o.getMinX(),o.getMaxX())},W2.avg=function(o,c){return(o+c)/2},W2.centreY=function(o){return W2.avg(o.getMinY(),o.getMaxY())},w(Et,H2),r(Et.prototype,{computeBounds:function(){for(var o=null,c=this.getChildBoundables().iterator();c.hasNext();){var m=c.next();o===null?o=new r1(m.getBounds()):o.expandToInclude(m.getBounds())}return o},interfaces_:function(){return[]},getClass:function(){return Et}}),W2.STRtreeNode=Et,W2.serialVersionUID=0x39920f7d5f261e0,W2.xComparator={interfaces_:function(){return[f]},compare:function(o,c){return S2.compareDoubles(W2.centreX(o.getBounds()),W2.centreX(c.getBounds()))}},W2.yComparator={interfaces_:function(){return[f]},compare:function(o,c){return S2.compareDoubles(W2.centreY(o.getBounds()),W2.centreY(c.getBounds()))}},W2.intersectsOp={interfaces_:function(){return[IntersectsOp]},intersects:function(o,c){return o.intersects(c)}},W2.DEFAULT_NODE_CAPACITY=10,r(ct.prototype,{interfaces_:function(){return[]},getClass:function(){return ct}}),ct.relativeSign=function(o,c){return c>o?-1:o>c?1:0},ct.compare=function(o,c,m){if(c.equals2D(m))return 0;var v=ct.relativeSign(c.x,m.x),k=ct.relativeSign(c.y,m.y);switch(o){case 0:return ct.compareValue(v,k);case 1:return ct.compareValue(k,v);case 2:return ct.compareValue(k,-v);case 3:return ct.compareValue(-v,k);case 4:return ct.compareValue(-v,-k);case 5:return ct.compareValue(-k,-v);case 6:return ct.compareValue(-k,v);case 7:return ct.compareValue(v,-k)}return F.shouldNeverReachHere("invalid octant value"),0},ct.compareValue=function(o,c){return 0>o?-1:o>0?1:0>c?-1:c>0?1:0},r(X7.prototype,{getCoordinate:function(){return this.coord},print:function(o){o.print(this.coord),o.print(" seg # = "+this.segmentIndex)},compareTo:function(o){var c=o;return this.segmentIndexc.segmentIndex?1:this.coord.equals2D(c.coord)?0:ct.compare(this.segmentOctant,this.coord,c.coord)},isEndPoint:function(o){return this.segmentIndex!==0||this._isInterior?this.segmentIndex===o:!0},isInterior:function(){return this._isInterior},interfaces_:function(){return[l]},getClass:function(){return X7}}),r(P3.prototype,{getSplitCoordinates:function(){var o=new X;this.addEndpoints();for(var c=this.iterator(),m=c.next();c.hasNext();){var v=c.next();this.addEdgeCoordinates(m,v,o),m=v}return o.toCoordinateArray()},addCollapsedNodes:function(){var o=new J;this.findCollapsesFromInsertedNodes(o),this.findCollapsesFromExistingVertices(o);for(var c=o.iterator();c.hasNext();){var m=c.next().intValue();this.add(this.edge.getCoordinate(m),m)}},print:function(o){o.println("Intersections:");for(var c=this.iterator();c.hasNext();){var m=c.next();m.print(o)}},findCollapsesFromExistingVertices:function(o){for(var c=0;cthis.currNode.segmentIndex,null)},remove:function(){throw new UnsupportedOperationException(this.getClass().getName())},hasNext:function(){return this.nextNode!==null},readNextNode:function(){this.nodeIt.hasNext()?this.nextNode=this.nodeIt.next():this.nextNode=null},interfaces_:function(){return[K]},getClass:function(){return Q8}}),r(X5.prototype,{addIntersection:function(o,c){},interfaces_:function(){return[Z5]},getClass:function(){return X5}}),r(C5.prototype,{getCoordinates:function(){return this.pts},size:function(){return this.pts.length},getCoordinate:function(o){return this.pts[o]},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getSegmentOctant:function(o){return o===this.pts.length-1?-1:this.safeOctant(this.getCoordinate(o),this.getCoordinate(o+1))},setData:function(o){this.data=o},safeOctant:function(o,c){return o.equals2D(c)?0:k5.octant(o,c)},getData:function(){return this.data},addIntersection:function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];this.addIntersectionNode(o,c)}else if(arguments.length===4){var m=arguments[0],v=arguments[1],k=arguments[3],T=new N(m.getIntersection(k));this.addIntersection(T,v)}},toString:function(){return x3.toLineString(new Y4(this.pts))},getNodeList:function(){return this.nodeList},addIntersectionNode:function(o,c){var m=c,v=m+1;if(vc&&this.computeSelect(o,c,B,v),m>B&&this.computeSelect(o,B,m,v)},getCoordinates:function(){for(var o=new Array(this.end-this.start+1).fill(null),c=0,m=this.start;mo&&(R1>v&&this.computeOverlapsInternal(o,M1,m,v,R1,T),k>R1&&this.computeOverlapsInternal(o,M1,m,R1,k,T)),c>M1&&(R1>v&&this.computeOverlapsInternal(M1,c,m,v,R1,T),k>R1&&this.computeOverlapsInternal(M1,c,m,R1,k,T))},interfaces_:function(){return[]},getClass:function(){return Q7}}),r(R2.prototype,{interfaces_:function(){return[]},getClass:function(){return R2}}),R2.isNorthern=function(o){return o===R2.NE||o===R2.NW},R2.isOpposite=function(o,c){if(o===c)return!1;var m=(o-c+4)%4;return m===2},R2.commonHalfPlane=function(o,c){if(o===c)return o;var m=(o-c+4)%4;if(m===2)return-1;var v=c>o?o:c,k=o>c?o:c;return v===0&&k===3?3:v},R2.isInHalfPlane=function(o,c){return c===R2.SE?o===R2.SE||o===R2.SW:o===c||o===c+1},R2.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var o=arguments[0],c=arguments[1];if(o===0&&c===0)throw new s;return o>=0?c>=0?R2.NE:R2.SE:c>=0?R2.NW:R2.SW}if(arguments[0]instanceof N&&arguments[1]instanceof N){var m=arguments[0],v=arguments[1];if(v.x===m.x&&v.y===m.y)throw new s;return v.x>=m.x?v.y>=m.y?R2.NE:R2.SE:v.y>=m.y?R2.NW:R2.SW}},R2.NE=0,R2.NW=1,R2.SW=2,R2.SE=3,r(Q5.prototype,{interfaces_:function(){return[]},getClass:function(){return Q5}}),Q5.getChainStartIndices=function(o){var c=0,m=new J;m.add(new l1(c));do{var v=Q5.findChainEnd(o,c);m.add(new l1(v)),c=v}while(c=o.length-1)return o.length-1;for(var v=R2.quadrant(o[m],o[m+1]),k=c+1;km.getId()&&(m.computeOverlaps(T,o),this.nOverlaps++),this.segInt.isDone())return null}},interfaces_:function(){return[]},getClass:function(){return X2}}),w(t8,Gt),r(t8.prototype,{overlap:function(){if(arguments.length!==4)return Gt.prototype.overlap.apply(this,arguments);var o=arguments[0],c=arguments[1],m=arguments[2],v=arguments[3],k=o.getContext(),T=m.getContext();this.si.processIntersections(k,c,T,v)},interfaces_:function(){return[]},getClass:function(){return t8}}),X2.SegmentOverlapAction=t8,w(g2,S),r(g2.prototype,{getCoordinate:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return g2}}),g2.msgWithCoord=function(o,c){return c!==null?o+" [ "+c+" ]":o},r(C2.prototype,{processIntersections:function(o,c,m,v){},isDone:function(){},interfaces_:function(){return[]},getClass:function(){return C2}}),r(E5.prototype,{getInteriorIntersection:function(){return this.interiorIntersection},setCheckEndSegmentsOnly:function(o){this.isCheckEndSegmentsOnly=o},getIntersectionSegments:function(){return this.intSegments},count:function(){return this.intersectionCount},getIntersections:function(){return this.intersections},setFindAllIntersections:function(o){this.findAllIntersections=o},setKeepIntersections:function(o){this.keepIntersections=o},processIntersections:function(o,c,m,v){if(!this.findAllIntersections&&this.hasIntersection()||o===m&&c===v)return null;if(this.isCheckEndSegmentsOnly){var k=this.isEndSegment(o,c)||this.isEndSegment(m,v);if(!k)return null}var T=o.getCoordinates()[c],B=o.getCoordinates()[c+1],H=m.getCoordinates()[v],t1=m.getCoordinates()[v+1];this.li.computeIntersection(T,B,H,t1),this.li.hasIntersection()&&this.li.isInteriorIntersection()&&(this.intSegments=new Array(4).fill(null),this.intSegments[0]=T,this.intSegments[1]=B,this.intSegments[2]=H,this.intSegments[3]=t1,this.interiorIntersection=this.li.getIntersection(0),this.keepIntersections&&this.intersections.add(this.interiorIntersection),this.intersectionCount++)},isEndSegment:function(o,c){return c===0?!0:c>=o.size()-2},hasIntersection:function(){return this.interiorIntersection!==null},isDone:function(){return this.findAllIntersections?!1:this.interiorIntersection!==null},interfaces_:function(){return[C2]},getClass:function(){return E5}}),E5.createAllIntersectionsFinder=function(o){var c=new E5(o);return c.setFindAllIntersections(!0),c},E5.createAnyIntersectionFinder=function(o){return new E5(o)},E5.createIntersectionCounter=function(o){var c=new E5(o);return c.setFindAllIntersections(!0),c.setKeepIntersections(!1),c},r(q2.prototype,{execute:function(){return this.segInt!==null?null:void this.checkInteriorIntersections()},getIntersections:function(){return this.segInt.getIntersections()},isValid:function(){return this.execute(),this._isValid},setFindAllIntersections:function(o){this.findAllIntersections=o},checkInteriorIntersections:function(){this._isValid=!0,this.segInt=new E5(this.li),this.segInt.setFindAllIntersections(this.findAllIntersections);var o=new X2;return o.setSegmentIntersector(this.segInt),o.computeNodes(this.segStrings),this.segInt.hasIntersection()?(this._isValid=!1,null):void 0},checkValid:function(){if(this.execute(),!this._isValid)throw new g2(this.getErrorMessage(),this.segInt.getInteriorIntersection())},getErrorMessage:function(){if(this._isValid)return"no intersections found";var o=this.segInt.getIntersectionSegments();return"found non-noded intersection between "+x3.toLineString(o[0],o[1])+" and "+x3.toLineString(o[2],o[3])},interfaces_:function(){return[]},getClass:function(){return q2}}),q2.computeIntersections=function(o){var c=new q2(o);return c.setFindAllIntersections(!0),c.isValid(),c.getIntersections()},r(L7.prototype,{checkValid:function(){this.nv.checkValid()},interfaces_:function(){return[]},getClass:function(){return L7}}),L7.toSegmentStrings=function(o){for(var c=new J,m=o.iterator();m.hasNext();){var v=m.next();c.add(new P2(v.getCoordinates(),v))}return c},L7.checkValid=function(o){var c=new L7(o);c.checkValid()},r(Kt.prototype,{map:function(o){for(var c=new J,m=0;mthis.location.length){var c=new Array(3).fill(null);c[se.ON]=this.location[se.ON],c[se.LEFT]=z.NONE,c[se.RIGHT]=z.NONE,this.location=c}for(var m=0;m1&&o.append(z.toLocationSymbol(this.location[se.LEFT])),o.append(z.toLocationSymbol(this.location[se.ON])),this.location.length>1&&o.append(z.toLocationSymbol(this.location[se.RIGHT])),o.toString()},setLocations:function(o,c,m){this.location[se.ON]=o,this.location[se.LEFT]=c,this.location[se.RIGHT]=m},get:function(o){return o1},isAnyNull:function(){for(var o=0;oc;c++)this.elt[c]===null&&o.elt[c]!==null?this.elt[c]=new W3(o.elt[c]):this.elt[c].merge(o.elt[c])},flip:function(){this.elt[0].flip(),this.elt[1].flip()},getLocation:function(){if(arguments.length===1){var o=arguments[0];return this.elt[o].get(se.ON)}if(arguments.length===2){var c=arguments[0],m=arguments[1];return this.elt[c].get(m)}},toString:function(){var o=new y1;return this.elt[0]!==null&&(o.append("A:"),o.append(this.elt[0].toString())),this.elt[1]!==null&&(o.append(" B:"),o.append(this.elt[1].toString())),o.toString()},isArea:function(){if(arguments.length===0)return this.elt[0].isArea()||this.elt[1].isArea();if(arguments.length===1){var o=arguments[0];return this.elt[o].isArea()}},isAnyNull:function(o){return this.elt[o].isAnyNull()},setLocation:function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];this.elt[o].setLocation(se.ON,c)}else if(arguments.length===3){var m=arguments[0],v=arguments[1],k=arguments[2];this.elt[m].setLocation(v,k)}},isEqualOnSide:function(o,c){return this.elt[0].isEqualOnSide(o.elt[0],c)&&this.elt[1].isEqualOnSide(o.elt[1],c)},allPositionsEqual:function(o,c){return this.elt[o].allPositionsEqual(c)},toLine:function(o){this.elt[o].isArea()&&(this.elt[o]=new W3(this.elt[o].location[0]))},interfaces_:function(){return[]},getClass:function(){return S3}}),S3.toLineLabel=function(o){for(var c=new S3(z.NONE),m=0;2>m;m++)c.setLocation(m,o.getLocation(m));return c},r(r8.prototype,{computeRing:function(){if(this.ring!==null)return null;for(var o=new Array(this.pts.size()).fill(null),c=0;cthis.maxNodeDegree&&(this.maxNodeDegree=m),o=this.getNext(o)}while(o!==this.startDe);this.maxNodeDegree*=2},addPoints:function(o,c,m){var v=o.getCoordinates();if(c){var k=1;m&&(k=0);for(var T=k;T=0;T--)this.pts.add(v[T])}},isHole:function(){return this._isHole},setInResult:function(){var o=this.startDe;do o.getEdge().setInResult(!0),o=o.getNext();while(o!==this.startDe)},containsPoint:function(o){var c=this.getLinearRing(),m=c.getEnvelopeInternal();if(!m.contains(o)||!Z4.isPointInRing(o,c.getCoordinates()))return!1;for(var v=this.holes.iterator();v.hasNext();){var k=v.next();if(k.containsPoint(o))return!1}return!0},addHole:function(o){this.holes.add(o)},isShell:function(){return this.shell===null},getLabel:function(){return this.label},getEdges:function(){return this.edges},getMaxNodeDegree:function(){return this.maxNodeDegree=2,"found partial label"),this.computeIM(o)},isInResult:function(){return this._isInResult},isVisited:function(){return this._isVisited},interfaces_:function(){return[]},getClass:function(){return E8}}),w(D3,E8),r(D3.prototype,{isIncidentEdgeInResult:function(){for(var o=this.getEdges().getEdges().iterator();o.hasNext();){var c=o.next();if(c.getEdge().isInResult())return!0}return!1},isIsolated:function(){return this.label.getGeometryCount()===1},getCoordinate:function(){return this.coord},print:function(o){o.println("node "+this.coord+" lbl: "+this.label)},computeIM:function(o){},computeMergedLocation:function(o,c){var m=z.NONE;if(m=this.label.getLocation(c),!o.isNull(c)){var v=o.getLocation(c);m!==z.BOUNDARY&&(m=v)}return m},setLabel:function(){if(arguments.length!==2)return E8.prototype.setLabel.apply(this,arguments);var o=arguments[0],c=arguments[1];this.label===null?this.label=new S3(o,c):this.label.setLocation(o,c)},getEdges:function(){return this.edges},mergeLabel:function(){if(arguments[0]instanceof D3){var o=arguments[0];this.mergeLabel(o.label)}else if(arguments[0]instanceof S3)for(var c=arguments[0],m=0;2>m;m++){var v=this.computeMergedLocation(c,m),k=this.label.getLocation(m);k===z.NONE&&this.label.setLocation(m,v)}},add:function(o){this.edges.insert(o),o.setNode(this)},setLabelBoundary:function(o){if(this.label===null)return null;var c=z.NONE;this.label!==null&&(c=this.label.getLocation(o));var m=null;switch(c){case z.BOUNDARY:m=z.INTERIOR;break;case z.INTERIOR:m=z.BOUNDARY;break;default:m=z.BOUNDARY}this.label.setLocation(o,m)},interfaces_:function(){return[]},getClass:function(){return D3}}),r(f5.prototype,{find:function(o){return this.nodeMap.get(o)},addNode:function(){if(arguments[0]instanceof N){var o=arguments[0],c=this.nodeMap.get(o);return c===null&&(c=this.nodeFact.createNode(o),this.nodeMap.put(o,c)),c}if(arguments[0]instanceof D3){var m=arguments[0],c=this.nodeMap.get(m.getCoordinate());return c===null?(this.nodeMap.put(m.getCoordinate(),m),m):(c.mergeLabel(m),c)}},print:function(o){for(var c=this.iterator();c.hasNext();){var m=c.next();m.print(o)}},iterator:function(){return this.nodeMap.values().iterator()},values:function(){return this.nodeMap.values()},getBoundaryNodes:function(o){for(var c=new J,m=this.iterator();m.hasNext();){var v=m.next();v.getLabel().getLocation(o)===z.BOUNDARY&&c.add(v)}return c},add:function(o){var c=o.getCoordinate(),m=this.addNode(c);m.add(o)},interfaces_:function(){return[]},getClass:function(){return f5}}),r(t3.prototype,{compareDirection:function(o){return this.dx===o.dx&&this.dy===o.dy?0:this.quadrant>o.quadrant?1:this.quadrantm;m++)this.label.isArea(m)&&this.label.getLocation(m,se.LEFT)===z.INTERIOR&&this.label.getLocation(m,se.RIGHT)===z.INTERIOR||(c=!1);return c},setNextMin:function(o){this.nextMin=o},print:function(o){t3.prototype.print.call(this,o),o.print(" "+this.depth[se.LEFT]+"/"+this.depth[se.RIGHT]),o.print(" ("+this.getDepthDelta()+")"),this._isInResult&&o.print(" inResult")},setMinEdgeRing:function(o){this.minEdgeRing=o},isLineEdge:function(){var o=this.label.isLine(0)||this.label.isLine(1),c=!this.label.isArea(0)||this.label.allPositionsEqual(0,z.EXTERIOR),m=!this.label.isArea(1)||this.label.allPositionsEqual(1,z.EXTERIOR);return o&&c&&m},setEdgeRing:function(o){this.edgeRing=o},getMinEdgeRing:function(){return this.minEdgeRing},getDepthDelta:function(){var o=this.edge.getDepthDelta();return this._isForward||(o=-o),o},setInResult:function(o){this._isInResult=o},getSym:function(){return this.sym},isForward:function(){return this._isForward},getEdge:function(){return this.edge},printEdge:function(o){this.print(o),o.print(" "),this._isForward?this.edge.print(o):this.edge.printReverse(o)},setSym:function(o){this.sym=o},setVisitedEdge:function(o){this.setVisited(o),this.sym.setVisited(o)},setEdgeDepths:function(o,c){var m=this.getEdge().getDepthDelta();this._isForward||(m=-m);var v=1;o===se.LEFT&&(v=-1);var k=se.opposite(o),T=m*v,B=c+T;this.setDepth(o,c),this.setDepth(k,B)},getEdgeRing:function(){return this.edgeRing},isInResult:function(){return this._isInResult},setNext:function(o){this.next=o},isVisited:function(){return this._isVisited},interfaces_:function(){return[]},getClass:function(){return e7}}),e7.depthFactor=function(o,c){return o===z.EXTERIOR&&c===z.INTERIOR?1:o===z.INTERIOR&&c===z.EXTERIOR?-1:0},r(M8.prototype,{createNode:function(o){return new D3(o,null)},interfaces_:function(){return[]},getClass:function(){return M8}}),r(jt.prototype,{printEdges:function(o){o.println("Edges:");for(var c=0;c2){T.linkDirectedEdgesForMinimalEdgeRings();var B=T.buildMinimalRings(),H=this.findShell(B);H!==null?(this.placePolygonHoles(H,B),c.add(H)):m.addAll(B)}else v.add(T)}return v},containsPoint:function(o){for(var c=this.shellList.iterator();c.hasNext();){var m=c.next();if(m.containsPoint(o))return!0}return!1},buildMaximalEdgeRings:function(o){for(var c=new J,m=o.iterator();m.hasNext();){var v=m.next();if(v.isInResult()&&v.getLabel().isArea()&&v.getEdgeRing()===null){var k=new V0(v,this.geometryFactory);c.add(k),k.setInResult()}}return c},placePolygonHoles:function(o,c){for(var m=c.iterator();m.hasNext();){var v=m.next();v.isHole()&&v.setShell(o)}},getPolygons:function(){var o=this.computePolygons(this.shellList);return o},findEdgeRingContaining:function(o,c){for(var m=o.getLinearRing(),v=m.getEnvelopeInternal(),k=m.getCoordinateN(0),T=null,B=null,H=c.iterator();H.hasNext();){var t1=H.next(),d1=t1.getLinearRing(),M1=d1.getEnvelopeInternal();T!==null&&(B=T.getLinearRing().getEnvelopeInternal());var R1=!1;M1.contains(v)&&Z4.isPointInRing(k,d1.getCoordinates())&&(R1=!0),R1&&(T===null||B.contains(M1))&&(T=t1)}return T},findShell:function(o){for(var c=0,m=null,v=o.iterator();v.hasNext();){var k=v.next();k.isHole()||(m=k,c++)}return F.isTrue(1>=c,"found two shells in MinimalEdgeRing list"),m},add:function(){if(arguments.length===1){var o=arguments[0];this.add(o.getEdgeEnds(),o.getNodes())}else if(arguments.length===2){var c=arguments[0],m=arguments[1];jt.linkResultDirectedEdges(m);var v=this.buildMaximalEdgeRings(c),k=new J,T=this.buildMinimalEdgeRings(v,this.shellList,k);this.sortShellsAndHoles(T,this.shellList,k),this.placeFreeHoles(this.shellList,k)}},interfaces_:function(){return[]},getClass:function(){return R3}}),r(A8.prototype,{collectLines:function(o){for(var c=this.op.getGraph().getEdgeEnds().iterator();c.hasNext();){var m=c.next();this.collectLineEdge(m,o,this.lineEdgesList),this.collectBoundaryTouchEdge(m,o,this.lineEdgesList)}},labelIsolatedLine:function(o,c){var m=this.ptLocator.locate(o.getCoordinate(),this.op.getArgGeometry(c));o.getLabel().setLocation(c,m)},build:function(o){return this.findCoveredLineEdges(),this.collectLines(o),this.buildLines(o),this.resultLineList},collectLineEdge:function(o,c,m){var v=o.getLabel(),k=o.getEdge();o.isLineEdge()&&(o.isVisited()||!Me.isResultOfOp(v,c)||k.isCovered()||(m.add(k),o.setVisitedEdge(!0)))},findCoveredLineEdges:function(){for(var o=this.op.getGraph().getNodes().iterator();o.hasNext();){var c=o.next();c.getEdges().findCoveredLineEdges()}for(var m=this.op.getGraph().getEdgeEnds().iterator();m.hasNext();){var v=m.next(),k=v.getEdge();if(v.isLineEdge()&&!k.isCoveredSet()){var T=this.op.isCoveredByA(v.getCoordinate());k.setCovered(T)}}},labelIsolatedLines:function(o){for(var c=o.iterator();c.hasNext();){var m=c.next(),v=m.getLabel();m.isIsolated()&&(v.isNull(0)?this.labelIsolatedLine(m,0):this.labelIsolatedLine(m,1))}},buildLines:function(o){for(var c=this.lineEdgesList.iterator();c.hasNext();){var m=c.next(),v=(m.getLabel(),this.geometryFactory.createLineString(m.getCoordinates()));this.resultLineList.add(v),m.setInResult(!0)}},collectBoundaryTouchEdge:function(o,c,m){var v=o.getLabel();return o.isLineEdge()||o.isVisited()||o.isInteriorAreaEdge()||o.getEdge().isInResult()?null:(F.isTrue(!(o.isInResult()||o.getSym().isInResult())||!o.getEdge().isInResult()),void(Me.isResultOfOp(v,c)&&c===Me.INTERSECTION&&(m.add(o.getEdge()),o.setVisitedEdge(!0))))},interfaces_:function(){return[]},getClass:function(){return A8}}),r(Q6.prototype,{filterCoveredNodeToPoint:function(o){var c=o.getCoordinate();if(!this.op.isCoveredByLA(c)){var m=this.geometryFactory.createPoint(c);this.resultPointList.add(m)}},extractNonCoveredResultNodes:function(o){for(var c=this.op.getGraph().getNodes().iterator();c.hasNext();){var m=c.next();if(!(m.isInResult()||m.isIncidentEdgeInResult()||m.getEdges().getDegree()!==0&&o!==Me.INTERSECTION)){var v=m.getLabel();Me.isResultOfOp(v,o)&&this.filterCoveredNodeToPoint(m)}}},build:function(o){return this.extractNonCoveredResultNodes(o),this.resultPointList},interfaces_:function(){return[]},getClass:function(){return Q6}}),r(M5.prototype,{locate:function(o){},interfaces_:function(){return[]},getClass:function(){return M5}}),r(A5.prototype,{locate:function(o){return A5.locate(o,this.geom)},interfaces_:function(){return[M5]},getClass:function(){return A5}}),A5.isPointInRing=function(o,c){return c.getEnvelopeInternal().intersects(o)?Z4.isPointInRing(o,c.getCoordinates()):!1},A5.containsPointInPolygon=function(o,c){if(c.isEmpty())return!1;var m=c.getExteriorRing();if(!A5.isPointInRing(o,m))return!1;for(var v=0;vT;T++)k.isLine(T)&&k.getLocation(T)===z.BOUNDARY&&(c[T]=!0);for(var m=this.iterator();m.hasNext();)for(var v=m.next(),k=v.getLabel(),T=0;2>T;T++)if(k.isAnyNull(T)){var B=z.NONE;if(c[T])B=z.EXTERIOR;else{var H=v.getCoordinate();B=this.getLocation(T,H,o)}k.setAllLocationsIfNull(T,B)}},getDegree:function(){return this.edgeMap.size()},insertEdgeEnd:function(o,c){this.edgeMap.put(o,c),this.edgeList=null},interfaces_:function(){return[]},getClass:function(){return d7}}),w(M6,d7),r(M6.prototype,{linkResultDirectedEdges:function(){this.getResultAreaEdges();for(var o=null,c=null,m=this.SCANNING_FOR_INCOMING,v=0;vc)return null;var m=o.get(0);if(c===1)return m;var v=o.get(c-1),k=m.getQuadrant(),T=v.getQuadrant();return R2.isNorthern(k)&&R2.isNorthern(T)?m:!R2.isNorthern(k)&&!R2.isNorthern(T)?v:m.getDy()!==0?m:v.getDy()!==0?v:(F.shouldNeverReachHere("found two horizontal edges incident on node"),null)},print:function(o){E1.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var c=this.iterator();c.hasNext();){var m=c.next();o.print("out "),m.print(o),o.println(),o.print("in "),m.getSym().print(o),o.println()}},getResultAreaEdges:function(){if(this.resultAreaEdgeList!==null)return this.resultAreaEdgeList;this.resultAreaEdgeList=new J;for(var o=this.iterator();o.hasNext();){var c=o.next();(c.isInResult()||c.getSym().isInResult())&&this.resultAreaEdgeList.add(c)}return this.resultAreaEdgeList},updateLabelling:function(o){for(var c=this.iterator();c.hasNext();){var m=c.next(),v=m.getLabel();v.setAllLocationsIfNull(0,o.getLocation(0)),v.setAllLocationsIfNull(1,o.getLocation(1))}},linkAllDirectedEdges:function(){this.getEdges();for(var o=null,c=null,m=this.edgeList.size()-1;m>=0;m--){var v=this.edgeList.get(m),k=v.getSym();c===null&&(c=k),o!==null&&k.setNext(o),o=v}c.setNext(o)},computeDepths:function(){if(arguments.length===1){var o=arguments[0],c=this.findIndex(o),m=(o.getLabel(),o.getDepth(se.LEFT)),v=o.getDepth(se.RIGHT),k=this.computeDepths(c+1,this.edgeList.size(),m),T=this.computeDepths(0,c,k);if(T!==v)throw new g2("depth mismatch at "+o.getCoordinate())}else if(arguments.length===3){for(var B=arguments[0],H=arguments[1],t1=arguments[2],d1=t1,M1=B;H>M1;M1++){var R1=this.edgeList.get(M1);R1.getLabel(),R1.setEdgeDepths(se.RIGHT,d1),d1=R1.getDepth(se.LEFT)}return d1}},mergeSymLabels:function(){for(var o=this.iterator();o.hasNext();){var c=o.next(),m=c.getLabel();m.merge(c.getSym().getLabel())}},linkMinimalDirectedEdges:function(o){for(var c=null,m=null,v=this.SCANNING_FOR_INCOMING,k=this.resultAreaEdgeList.size()-1;k>=0;k--){var T=this.resultAreaEdgeList.get(k),B=T.getSym();switch(c===null&&T.getEdgeRing()===o&&(c=T),v){case this.SCANNING_FOR_INCOMING:if(B.getEdgeRing()!==o)continue;m=B,v=this.LINKING_TO_OUTGOING;break;case this.LINKING_TO_OUTGOING:if(T.getEdgeRing()!==o)continue;m.setNextMin(T),v=this.SCANNING_FOR_INCOMING}}v===this.LINKING_TO_OUTGOING&&(F.isTrue(c!==null,"found null for first outgoing dirEdge"),F.isTrue(c.getEdgeRing()===o,"unable to link last incoming dirEdge"),m.setNextMin(c))},getOutgoingDegree:function(){if(arguments.length===0){for(var o=0,c=this.iterator();c.hasNext();){var m=c.next();m.isInResult()&&o++}return o}if(arguments.length===1){for(var v=arguments[0],o=0,c=this.iterator();c.hasNext();){var m=c.next();m.getEdgeRing()===v&&o++}return o}},getLabel:function(){return this.label},findCoveredLineEdges:function(){for(var o=z.NONE,c=this.iterator();c.hasNext();){var m=c.next(),v=m.getSym();if(!m.isLineEdge()){if(m.isInResult()){o=z.INTERIOR;break}if(v.isInResult()){o=z.EXTERIOR;break}}}if(o===z.NONE)return null;for(var k=o,c=this.iterator();c.hasNext();){var m=c.next(),v=m.getSym();m.isLineEdge()?m.getEdge().setCovered(k===z.INTERIOR):(m.isInResult()&&(k=z.EXTERIOR),v.isInResult()&&(k=z.INTERIOR))}},computeLabelling:function(o){d7.prototype.computeLabelling.call(this,o),this.label=new S3(z.NONE);for(var c=this.iterator();c.hasNext();)for(var m=c.next(),v=m.getEdge(),k=v.getLabel(),T=0;2>T;T++){var B=k.getLocation(T);B!==z.INTERIOR&&B!==z.BOUNDARY||this.label.setLocation(T,z.INTERIOR)}},interfaces_:function(){return[]},getClass:function(){return M6}}),w(B7,M8),r(B7.prototype,{createNode:function(o){return new D3(o,new M6)},interfaces_:function(){return[]},getClass:function(){return B7}}),r(A6.prototype,{computeIntersections:function(o,c){this.mce.computeIntersectsForChain(this.chainIndex,o.mce,o.chainIndex,c)},interfaces_:function(){return[]},getClass:function(){return A6}}),r(T5.prototype,{isDelete:function(){return this.eventType===T5.DELETE},setDeleteEventIndex:function(o){this.deleteEventIndex=o},getObject:function(){return this.obj},compareTo:function(o){var c=o;return this.xValuec.xValue?1:this.eventTypec.eventType?1:0},getInsertEvent:function(){return this.insertEvent},isInsert:function(){return this.eventType===T5.INSERT},isSameLabel:function(o){return this.label===null?!1:this.label===o.label},getDeleteEventIndex:function(){return this.deleteEventIndex},interfaces_:function(){return[l]},getClass:function(){return T5}}),T5.INSERT=1,T5.DELETE=2,r(h7.prototype,{interfaces_:function(){return[]},getClass:function(){return h7}}),r(t7.prototype,{isTrivialIntersection:function(o,c,m,v){if(o===m&&this.li.getIntersectionNum()===1){if(t7.isAdjacentSegments(c,v))return!0;if(o.isClosed()){var k=o.getNumPoints()-1;if(c===0&&v===k||v===0&&c===k)return!0}}return!1},getProperIntersectionPoint:function(){return this.properIntersectionPoint},setIsDoneIfProperInt:function(o){this.isDoneWhenProperInt=o},hasProperInteriorIntersection:function(){return this.hasProperInterior},isBoundaryPointInternal:function(o,c){for(var m=c.iterator();m.hasNext();){var v=m.next(),k=v.getCoordinate();if(o.isIntersection(k))return!0}return!1},hasProperIntersection:function(){return this.hasProper},hasIntersection:function(){return this._hasIntersection},isDone:function(){return this._isDone},isBoundaryPoint:function(o,c){return c===null?!1:this.isBoundaryPointInternal(o,c[0])?!0:!!this.isBoundaryPointInternal(o,c[1])},setBoundaryNodes:function(o,c){this.bdyNodes=new Array(2).fill(null),this.bdyNodes[0]=o,this.bdyNodes[1]=c},addIntersections:function(o,c,m,v){if(o===m&&c===v)return null;this.numTests++;var k=o.getCoordinates()[c],T=o.getCoordinates()[c+1],B=m.getCoordinates()[v],H=m.getCoordinates()[v+1];this.li.computeIntersection(k,T,B,H),this.li.hasIntersection()&&(this.recordIsolated&&(o.setIsolated(!1),m.setIsolated(!1)),this.numIntersections++,this.isTrivialIntersection(o,c,m,v)||(this._hasIntersection=!0,!this.includeProper&&this.li.isProper()||(o.addIntersections(this.li,c,0),m.addIntersections(this.li,v,1)),this.li.isProper()&&(this.properIntersectionPoint=this.li.getIntersection(0).copy(),this.hasProper=!0,this.isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this.li,this.bdyNodes)||(this.hasProperInterior=!0))))},interfaces_:function(){return[]},getClass:function(){return t7}}),t7.isAdjacentSegments=function(o,c){return Math.abs(o-c)===1},w(q3,h7),r(q3.prototype,{prepareEvents:function(){b7.sort(this.events);for(var o=0;oT;T++){var B=this.events.get(T);if(B.isInsert()){var H=B.getObject();m.isSameLabel(B)||(k.computeIntersections(H,v),this.nOverlaps++)}}},addEdges:function(){if(arguments.length===1)for(var o=arguments[0],c=o.iterator();c.hasNext();){var m=c.next();this.addEdge(m,m)}else if(arguments.length===2)for(var v=arguments[0],k=arguments[1],c=v.iterator();c.hasNext();){var m=c.next();this.addEdge(m,k)}},interfaces_:function(){return[]},getClass:function(){return q3}}),r(G7.prototype,{getMin:function(){return this.min},intersects:function(o,c){return!(this.min>c||this.maxk?-1:k>T?1:0},interfaces_:function(){return[f]},getClass:function(){return T8}}),G7.NodeComparator=T8,w(R8,G7),r(R8.prototype,{query:function(o,c,m){return this.intersects(o,c)?void m.visitItem(this.item):null},interfaces_:function(){return[]},getClass:function(){return R8}}),w(i8,G7),r(i8.prototype,{buildExtent:function(o,c){this.min=Math.min(o.min,c.min),this.max=Math.max(o.max,c.max)},query:function(o,c,m){return this.intersects(o,c)?(this.node1!==null&&this.node1.query(o,c,m),void(this.node2!==null&&this.node2.query(o,c,m))):null},interfaces_:function(){return[]},getClass:function(){return i8}}),r(gr.prototype,{buildTree:function(){b7.sort(this.leaves,new IntervalRTreeNode.NodeComparator);for(var o=this.leaves,c=null,m=new J;;){if(this.buildLevel(o,m),m.size()===1)return m.get(0);c=o,o=m,m=c}},insert:function(o,c,m){if(this.root!==null)throw new IllegalStateException("Index cannot be added to once it has been queried");this.leaves.add(new R8(o,c,m))},query:function(o,c,m){this.init(),this.root.query(o,c,m)},buildRoot:function(){return this.root!==null?null:void(this.root=this.buildTree())},printNode:function(o){E1.out.println(x3.toLineString(new N(o.min,this.level),new N(o.max,this.level)))},init:function(){return this.root!==null?null:void this.buildRoot()},buildLevel:function(o,c){this.level++,c.clear();for(var m=0;m0||!c.coord.equals2D(v);k||m--;var T=new Array(m).fill(null),B=0;T[B++]=new N(o.coord);for(var H=o.segmentIndex+1;Hm?c:m},getMinX:function(o){var c=this.pts[this.startIndex[o]].x,m=this.pts[this.startIndex[o+1]].x;return m>c?c:m},computeIntersectsForChain:function(){if(arguments.length===4){var o=arguments[0],c=arguments[1],m=arguments[2],v=arguments[3];this.computeIntersectsForChain(this.startIndex[o],this.startIndex[o+1],c,c.startIndex[m],c.startIndex[m+1],v)}else if(arguments.length===6){var k=arguments[0],T=arguments[1],B=arguments[2],H=arguments[3],t1=arguments[4],d1=arguments[5],M1=this.pts[k],R1=this.pts[T],N1=B.pts[H],V1=B.pts[t1];if(T-k===1&&t1-H===1)return d1.addIntersections(this.e,k,B.e,H),null;if(this.env1.init(M1,R1),this.env2.init(N1,V1),!this.env1.intersects(this.env2))return null;var K1=Math.trunc((k+T)/2),U1=Math.trunc((H+t1)/2);K1>k&&(U1>H&&this.computeIntersectsForChain(k,K1,B,H,U1,d1),t1>U1&&this.computeIntersectsForChain(k,K1,B,U1,t1,d1)),T>K1&&(U1>H&&this.computeIntersectsForChain(K1,T,B,H,U1,d1),t1>U1&&this.computeIntersectsForChain(K1,T,B,U1,t1,d1))}},getStartIndexes:function(){return this.startIndex},computeIntersects:function(o,c){for(var m=0;mo;o++)for(var c=0;3>c;c++)if(this.depth[o][c]!==At.NULL_VALUE)return!1;return!0}if(arguments.length===1){var m=arguments[0];return this.depth[m][1]===At.NULL_VALUE}if(arguments.length===2){var v=arguments[0],k=arguments[1];return this.depth[v][k]===At.NULL_VALUE}},normalize:function(){for(var o=0;2>o;o++)if(!this.isNull(o)){var c=this.depth[o][1];this.depth[o][2]c&&(c=0);for(var m=1;3>m;m++){var v=0;this.depth[o][m]>c&&(v=1),this.depth[o][m]=v}}},getDelta:function(o){return this.depth[o][se.RIGHT]-this.depth[o][se.LEFT]},getLocation:function(o,c){return this.depth[o][c]c;c++)for(var m=1;3>m;m++){var v=o.getLocation(c,m);v!==z.EXTERIOR&&v!==z.INTERIOR||(this.isNull(c,m)?this.depth[c][m]=At.depthAtLocation(v):this.depth[c][m]+=At.depthAtLocation(v))}else if(arguments.length===3){var k=arguments[0],T=arguments[1],B=arguments[2];B===z.INTERIOR&&this.depth[k][T]++}},interfaces_:function(){return[]},getClass:function(){return At}}),At.depthAtLocation=function(o){return o===z.EXTERIOR?0:o===z.INTERIOR?1:At.NULL_VALUE},At.NULL_VALUE=-1,w(i5,E8),r(i5.prototype,{getDepth:function(){return this.depth},getCollapsedEdge:function(){var o=new Array(2).fill(null);o[0]=this.pts[0],o[1]=this.pts[1];var c=new i5(o,S3.toLineLabel(this.label));return c},isIsolated:function(){return this._isIsolated},getCoordinates:function(){return this.pts},setIsolated:function(o){this._isIsolated=o},setName:function(o){this.name=o},equals:function(o){if(!(o instanceof i5))return!1;var c=o;if(this.pts.length!==c.pts.length)return!1;for(var m=!0,v=!0,k=this.pts.length,T=0;T0?this.pts[0]:null;if(arguments.length===1){var o=arguments[0];return this.pts[o]}},print:function(o){o.print("edge "+this.name+": "),o.print("LINESTRING (");for(var c=0;c0&&o.print(","),o.print(this.pts[c].x+" "+this.pts[c].y);o.print(") "+this.label+" "+this.depthDelta)},computeIM:function(o){i5.updateIM(this.label,o)},isCollapsed:function(){return this.label.isArea()?this.pts.length!==3?!1:!!this.pts[0].equals(this.pts[2]):!1},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getMaximumSegmentIndex:function(){return this.pts.length-1},getDepthDelta:function(){return this.depthDelta},getNumPoints:function(){return this.pts.length},printReverse:function(o){o.print("edge "+this.name+": ");for(var c=this.pts.length-1;c>=0;c--)o.print(this.pts[c]+" ");o.println("")},getMonotoneChainEdge:function(){return this.mce===null&&(this.mce=new Mt(this)),this.mce},getEnvelope:function(){if(this.env===null){this.env=new r1;for(var o=0;o0&&o.append(","),o.append(this.pts[c].x+" "+this.pts[c].y);return o.append(") "+this.label+" "+this.depthDelta),o.toString()},isPointwiseEqual:function(o){if(this.pts.length!==o.pts.length)return!1;for(var c=0;c=2,"found LineString with single point"),this.insertBoundaryPoint(this.argIndex,c[0]),this.insertBoundaryPoint(this.argIndex,c[c.length-1])},getInvalidPoint:function(){return this.invalidPoint},getBoundaryPoints:function(){for(var o=this.getBoundaryNodes(),c=new Array(o.size()).fill(null),m=0,v=o.iterator();v.hasNext();){var k=v.next();c[m++]=k.getCoordinate().copy()}return c},getBoundaryNodes:function(){return this.boundaryNodes===null&&(this.boundaryNodes=this.nodes.getBoundaryNodes(this.argIndex)),this.boundaryNodes},addSelfIntersectionNode:function(o,c,m){return this.isBoundaryNode(o,c)?null:void(m===z.BOUNDARY&&this.useBoundaryDeterminationRule?this.insertBoundaryPoint(o,c):this.insertPoint(o,c,m))},addPolygonRing:function(o,c,m){if(o.isEmpty())return null;var v=G4.removeRepeatedPoints(o.getCoordinates());if(v.length50?(this.areaPtLocator===null&&(this.areaPtLocator=new a8(this.parentGeom)),this.areaPtLocator.locate(o)):this.ptLocator.locate(o,this.parentGeom)},findEdge:function(){if(arguments.length===1){var o=arguments[0];return this.lineEdgeMap.get(o)}return jt.prototype.findEdge.apply(this,arguments)},interfaces_:function(){return[]},getClass:function(){return Ht}}),Ht.determineBoundary=function(o,c){return o.isInBoundary(c)?z.BOUNDARY:z.INTERIOR},r(R5.prototype,{getArgGeometry:function(o){return this.arg[o].getGeometry()},setComputationPrecision:function(o){this.resultPrecisionModel=o,this.li.setPrecisionModel(this.resultPrecisionModel)},interfaces_:function(){return[]},getClass:function(){return R5}}),r(m7.prototype,{compareTo:function(o){var c=o,m=m7.compareOriented(this.pts,this._orientation,c.pts,c._orientation);return m},interfaces_:function(){return[l]},getClass:function(){return m7}}),m7.orientation=function(o){return G4.increasingDirection(o)===1},m7.compareOriented=function(o,c,m,v){for(var k=c?1:-1,T=v?1:-1,B=c?o.length:-1,H=v?m.length:-1,t1=c?0:o.length-1,d1=v?0:m.length-1;;){var M1=o[t1].compareTo(m[d1]);if(M1!==0)return M1;t1+=k,d1+=T;var R1=t1===B,N1=d1===H;if(R1&&!N1)return-1;if(!R1&&N1)return 1;if(R1&&N1)return 0}},r(I8.prototype,{print:function(o){o.print("MULTILINESTRING ( ");for(var c=0;c0&&o.print(","),o.print("(");for(var v=m.getCoordinates(),k=0;k0&&o.print(","),o.print(v[k].x+" "+v[k].y);o.println(")")}o.print(") ")},addAll:function(o){for(var c=o.iterator();c.hasNext();)this.add(c.next())},findEdgeIndex:function(o){for(var c=0;ck;k++)m.isNull(k)||!m.isArea()||v.isNull(k)||(v.getDelta(k)===0?m.toLine(k):(F.isTrue(!v.isNull(k,se.LEFT),"depth of LEFT side has not been initialized"),m.setLocation(k,se.LEFT,v.getLocation(k,se.LEFT)),F.isTrue(!v.isNull(k,se.RIGHT),"depth of RIGHT side has not been initialized"),m.setLocation(k,se.RIGHT,v.getLocation(k,se.RIGHT))))}}},computeLabelling:function(){for(var o=this.graph.getNodes().iterator();o.hasNext();){var c=o.next();c.getEdges().computeLabelling(this.arg)}this.mergeSymLabels(),this.updateNodeLabelling()},labelIncompleteNodes:function(){for(var o=0,c=this.graph.getNodes().iterator();c.hasNext();){var m=c.next(),v=m.getLabel();m.isIsolated()&&(o++,v.isNull(0)?this.labelIncompleteNode(m,0):this.labelIncompleteNode(m,1)),m.getEdges().updateLabelling(v)}},isCoveredByA:function(o){return!!this.isCovered(o,this.resultPolyList)},interfaces_:function(){return[]},getClass:function(){return Me}}),Me.overlayOp=function(o,c,m){var v=new Me(o,c),k=v.getResultGeometry(m);return k},Me.intersection=function(o,c){if(o.isEmpty()||c.isEmpty())return Me.createEmptyResult(Me.INTERSECTION,o,c,o.getFactory());if(o.isGeometryCollection()){var m=c;return Kt.map(o,{interfaces_:function(){return[MapOp]},map:function(v){return v.intersection(m)}})}return o.checkNotGeometryCollection(o),o.checkNotGeometryCollection(c),F3.overlayOp(o,c,Me.INTERSECTION)},Me.symDifference=function(o,c){if(o.isEmpty()||c.isEmpty()){if(o.isEmpty()&&c.isEmpty())return Me.createEmptyResult(Me.SYMDIFFERENCE,o,c,o.getFactory());if(o.isEmpty())return c.copy();if(c.isEmpty())return o.copy()}return o.checkNotGeometryCollection(o),o.checkNotGeometryCollection(c),F3.overlayOp(o,c,Me.SYMDIFFERENCE)},Me.resultDimension=function(o,c,m){var v=c.getDimension(),k=m.getDimension(),T=-1;switch(o){case Me.INTERSECTION:T=Math.min(v,k);break;case Me.UNION:T=Math.max(v,k);break;case Me.DIFFERENCE:T=v;break;case Me.SYMDIFFERENCE:T=Math.max(v,k)}return T},Me.createEmptyResult=function(o,c,m,v){var k=null;switch(Me.resultDimension(o,c,m)){case-1:k=v.createGeometryCollection(new Array(0).fill(null));break;case 0:k=v.createPoint();break;case 1:k=v.createLineString();break;case 2:k=v.createPolygon()}return k},Me.difference=function(o,c){return o.isEmpty()?Me.createEmptyResult(Me.DIFFERENCE,o,c,o.getFactory()):c.isEmpty()?o.copy():(o.checkNotGeometryCollection(o),o.checkNotGeometryCollection(c),F3.overlayOp(o,c,Me.DIFFERENCE))},Me.isResultOfOp=function(){if(arguments.length===2){var o=arguments[0],c=arguments[1],m=o.getLocation(0),v=o.getLocation(1);return Me.isResultOfOp(m,v,c)}if(arguments.length===3){var k=arguments[0],T=arguments[1],B=arguments[2];switch(k===z.BOUNDARY&&(k=z.INTERIOR),T===z.BOUNDARY&&(T=z.INTERIOR),B){case Me.INTERSECTION:return k===z.INTERIOR&&T===z.INTERIOR;case Me.UNION:return k===z.INTERIOR||T===z.INTERIOR;case Me.DIFFERENCE:return k===z.INTERIOR&&T!==z.INTERIOR;case Me.SYMDIFFERENCE:return k===z.INTERIOR&&T!==z.INTERIOR||k!==z.INTERIOR&&T===z.INTERIOR}return!1}},Me.INTERSECTION=1,Me.UNION=2,Me.DIFFERENCE=3,Me.SYMDIFFERENCE=4,r(Tt.prototype,{selfSnap:function(o){var c=new g3(o),m=c.snapTo(o,this.snapTolerance);return m},removeCommonBits:function(o){this.cbr=new Z8,this.cbr.add(o[0]),this.cbr.add(o[1]);var c=new Array(2).fill(null);return c[0]=this.cbr.removeCommonBits(o[0].copy()),c[1]=this.cbr.removeCommonBits(o[1].copy()),c},prepareResult:function(o){return this.cbr.addCommonBits(o),o},getResultGeometry:function(o){var c=this.snap(this.geom),m=Me.overlayOp(c[0],c[1],o);return this.prepareResult(m)},checkValid:function(o){o.isValid()||E1.out.println("Snapped geometry is invalid")},computeSnapTolerance:function(){this.snapTolerance=g3.computeOverlaySnapTolerance(this.geom[0],this.geom[1])},snap:function(o){var c=this.removeCommonBits(o),m=g3.snap(c[0],c[1],this.snapTolerance);return m},interfaces_:function(){return[]},getClass:function(){return Tt}}),Tt.overlayOp=function(o,c,m){var v=new Tt(o,c);return v.getResultGeometry(m)},Tt.union=function(o,c){return Tt.overlayOp(o,c,Me.UNION)},Tt.intersection=function(o,c){return Tt.overlayOp(o,c,Me.INTERSECTION)},Tt.symDifference=function(o,c){return Tt.overlayOp(o,c,Me.SYMDIFFERENCE)},Tt.difference=function(o,c){return Tt.overlayOp(o,c,Me.DIFFERENCE)},r(F3.prototype,{getResultGeometry:function(o){var c=null,m=!1,v=null;try{c=Me.overlayOp(this.geom[0],this.geom[1],o);var k=!0;k&&(m=!0)}catch(T){if(!(T instanceof S))throw T;v=T}finally{}if(!m)try{c=Tt.overlayOp(this.geom[0],this.geom[1],o)}catch(T){throw T instanceof S?v:T}finally{}return c},interfaces_:function(){return[]},getClass:function(){return F3}}),F3.overlayOp=function(o,c,m){var v=new F3(o,c);return v.getResultGeometry(m)},F3.union=function(o,c){return F3.overlayOp(o,c,Me.UNION)},F3.intersection=function(o,c){return F3.overlayOp(o,c,Me.INTERSECTION)},F3.symDifference=function(o,c){return F3.overlayOp(o,c,Me.SYMDIFFERENCE)},F3.difference=function(o,c){return F3.overlayOp(o,c,Me.DIFFERENCE)},r(g5.prototype,{addPolygon:function(o){if(o.isEmpty())return null;var c=null,m=0,v=this.horizontalBisector(o);if(v.getLength()===0)m=0,c=v.getCoordinate();else{var k=F3.overlayOp(v,o,Me.INTERSECTION),T=this.widestGeometry(k);m=T.getEnvelopeInternal().getWidth(),c=g5.centre(T.getEnvelopeInternal())}(this.interiorPoint===null||m>this.maxWidth)&&(this.interiorPoint=c,this.maxWidth=m)},getInteriorPoint:function(){return this.interiorPoint},widestGeometry:function(){if(arguments[0]instanceof B1){var c=arguments[0];if(c.isEmpty())return c;for(var m=c.getGeometryN(0),v=1;vm.getEnvelopeInternal().getWidth()&&(m=c.getGeometryN(v));return m}if(arguments[0]instanceof l4){var k=arguments[0];return k instanceof B1?this.widestGeometry(k):k}},horizontalBisector:function(o){var c=o.getEnvelopeInternal(),m=P8.getBisectorY(o);return this.factory.createLineString([new N(c.getMinX(),m),new N(c.getMaxX(),m)])},add:function(o){if(o instanceof $1)this.addPolygon(o);else if(o instanceof B1)for(var c=o,m=0;mthis.loY&&(this.loY=o):o>this.centreY&&oMath.PI;)o-=k2.PI_TIMES_2;for(;o0},k2.isObtuse=function(o,c,m){var v=o.x-c.x,k=o.y-c.y,T=m.x-c.x,B=m.y-c.y,H=v*T+k*B;return 0>H},k2.interiorAngle=function(o,c,m){var v=k2.angle(c,o),k=k2.angle(c,m);return Math.abs(k-v)},k2.normalizePositive=function(o){if(0>o){for(;0>o;)o+=k2.PI_TIMES_2;o>=k2.PI_TIMES_2&&(o=0)}else{for(;o>=k2.PI_TIMES_2;)o-=k2.PI_TIMES_2;0>o&&(o=0)}return o},k2.angleBetween=function(o,c,m){var v=k2.angle(c,o),k=k2.angle(c,m);return k2.diff(v,k)},k2.diff=function(o,c){var m=null;return m=c>o?c-o:o-c,m>Math.PI&&(m=2*Math.PI-m),m},k2.toRadians=function(o){return o*Math.PI/180},k2.getTurn=function(o,c){var m=Math.sin(c-o);return m>0?k2.COUNTERCLOCKWISE:0>m?k2.CLOCKWISE:k2.NONE},k2.angleBetweenOriented=function(o,c,m){var v=k2.angle(c,o),k=k2.angle(c,m),T=k-v;return TMath.PI?T-k2.PI_TIMES_2:T},k2.PI_TIMES_2=2*Math.PI,k2.PI_OVER_2=Math.PI/2,k2.PI_OVER_4=Math.PI/4,k2.COUNTERCLOCKWISE=Z4.COUNTERCLOCKWISE,k2.CLOCKWISE=Z4.CLOCKWISE,k2.NONE=Z4.COLLINEAR,r(s3.prototype,{area:function(){return s3.area(this.p0,this.p1,this.p2)},signedArea:function(){return s3.signedArea(this.p0,this.p1,this.p2)},interpolateZ:function(o){if(o===null)throw new s;return s3.interpolateZ(o,this.p0,this.p1,this.p2)},longestSideLength:function(){return s3.longestSideLength(this.p0,this.p1,this.p2)},isAcute:function(){return s3.isAcute(this.p0,this.p1,this.p2)},circumcentre:function(){return s3.circumcentre(this.p0,this.p1,this.p2)},area3D:function(){return s3.area3D(this.p0,this.p1,this.p2)},centroid:function(){return s3.centroid(this.p0,this.p1,this.p2)},inCentre:function(){return s3.inCentre(this.p0,this.p1,this.p2)},interfaces_:function(){return[]},getClass:function(){return s3}}),s3.area=function(o,c,m){return Math.abs(((m.x-o.x)*(c.y-o.y)-(c.x-o.x)*(m.y-o.y))/2)},s3.signedArea=function(o,c,m){return((m.x-o.x)*(c.y-o.y)-(c.x-o.x)*(m.y-o.y))/2},s3.det=function(o,c,m,v){return o*v-c*m},s3.interpolateZ=function(o,c,m,v){var k=c.x,T=c.y,B=m.x-k,H=v.x-k,t1=m.y-T,d1=v.y-T,M1=B*d1-H*t1,R1=o.x-k,N1=o.y-T,V1=(d1*R1-H*N1)/M1,K1=(-t1*R1+B*N1)/M1,U1=c.z+V1*(m.z-c.z)+K1*(v.z-c.z);return U1},s3.longestSideLength=function(o,c,m){var v=o.distance(c),k=c.distance(m),T=m.distance(o),B=v;return k>B&&(B=k),T>B&&(B=T),B},s3.isAcute=function(o,c,m){return k2.isAcute(o,c,m)&&k2.isAcute(c,m,o)?!!k2.isAcute(m,o,c):!1},s3.circumcentre=function(o,c,m){var v=m.x,k=m.y,T=o.x-v,B=o.y-k,H=c.x-v,t1=c.y-k,d1=2*s3.det(T,B,H,t1),M1=s3.det(B,T*T+B*B,t1,H*H+t1*t1),R1=s3.det(T,T*T+B*B,H,H*H+t1*t1),N1=v-M1/d1,V1=k+R1/d1;return new N(N1,V1)},s3.perpendicularBisector=function(o,c){var m=c.x-o.x,v=c.y-o.y,k=new a4(o.x+m/2,o.y+v/2,1),T=new a4(o.x-v+m/2,o.y+m+v/2,1);return new a4(k,T)},s3.angleBisector=function(o,c,m){var v=c.distance(o),k=c.distance(m),T=v/(v+k),B=m.x-o.x,H=m.y-o.y,t1=new N(o.x+T*B,o.y+T*H);return t1},s3.area3D=function(o,c,m){var v=c.x-o.x,k=c.y-o.y,T=c.z-o.z,B=m.x-o.x,H=m.y-o.y,t1=m.z-o.z,d1=k*t1-T*H,M1=T*B-v*t1,R1=v*H-k*B,N1=d1*d1+M1*M1+R1*R1,V1=Math.sqrt(N1)/2;return V1},s3.centroid=function(o,c,m){var v=(o.x+c.x+m.x)/3,k=(o.y+c.y+m.y)/3;return new N(v,k)},s3.inCentre=function(o,c,m){var v=c.distance(m),k=o.distance(m),T=o.distance(c),B=v+k+T,H=(v*o.x+k*c.x+T*m.x)/B,t1=(v*o.y+k*c.y+T*m.y)/B;return new N(H,t1)},r(Zt.prototype,{getRadius:function(){return this.compute(),this.radius},getDiameter:function(){switch(this.compute(),this.extremalPts.length){case 0:return this.input.getFactory().createLineString();case 1:return this.input.getFactory().createPoint(this.centre)}var o=this.extremalPts[0],c=this.extremalPts[1];return this.input.getFactory().createLineString([o,c])},getExtremalPoints:function(){return this.compute(),this.extremalPts},computeCirclePoints:function(){if(this.input.isEmpty())return this.extremalPts=new Array(0).fill(null),null;if(this.input.getNumPoints()===1){var m=this.input.getCoordinates();return this.extremalPts=[new N(m[0])],null}var o=this.input.convexHull(),c=o.getCoordinates(),m=c;if(c[0].equals2D(c[c.length-1])&&(m=new Array(c.length-1).fill(null),G4.copyDeep(c,0,m,0,c.length-1)),m.lengthH&&(H=-H);var t1=Math.sqrt(B*B+H*H),d1=H/t1;m>d1&&(m=d1,v=T)}}return v},Zt.lowestPoint=function(o){for(var c=o[0],m=1;mH&&(v=H,k=B)}}return k},r(Q3.prototype,{getWidthCoordinate:function(){return this.computeMinimumDiameter(),this.minWidthPt},getSupportingSegment:function(){return this.computeMinimumDiameter(),this.inputGeom.getFactory().createLineString([this.minBaseSeg.p0,this.minBaseSeg.p1])},getDiameter:function(){if(this.computeMinimumDiameter(),this.minWidthPt===null)return this.inputGeom.getFactory().createLineString(null);var o=this.minBaseSeg.project(this.minWidthPt);return this.inputGeom.getFactory().createLineString([o,this.minWidthPt])},computeWidthConvex:function(o){o instanceof $1?this.convexHullPts=o.getExteriorRing().getCoordinates():this.convexHullPts=o.getCoordinates(),this.convexHullPts.length===0?(this.minWidth=0,this.minWidthPt=null,this.minBaseSeg=null):this.convexHullPts.length===1?(this.minWidth=0,this.minWidthPt=this.convexHullPts[0],this.minBaseSeg.p0=this.convexHullPts[0],this.minBaseSeg.p1=this.convexHullPts[0]):this.convexHullPts.length===2||this.convexHullPts.length===3?(this.minWidth=0,this.minWidthPt=this.convexHullPts[0],this.minBaseSeg.p0=this.convexHullPts[0],this.minBaseSeg.p1=this.convexHullPts[1]):this.computeConvexRingMinDiameter(this.convexHullPts)},computeConvexRingMinDiameter:function(o){this.minWidth=u.MAX_VALUE;for(var c=1,m=new x2,v=0;v=v;)v=k,T=B,B=Q3.nextIndex(o,T),k=c.distancePerpendicular(o[B]);return vv&&(v=H),m>H&&(m=H);var t1=Q3.computeC(-c,o,this.convexHullPts[B]);t1>T&&(T=t1),k>t1&&(k=t1)}var d1=Q3.computeSegmentForLine(-o,-c,T),M1=Q3.computeSegmentForLine(-o,-c,k),R1=Q3.computeSegmentForLine(-c,o,v),N1=Q3.computeSegmentForLine(-c,o,m),V1=R1.lineIntersection(d1),K1=N1.lineIntersection(d1),U1=N1.lineIntersection(M1),e4=R1.lineIntersection(M1),u4=this.inputGeom.getFactory().createLinearRing([V1,K1,U1,e4,V1]);return this.inputGeom.getFactory().createPolygon(u4,null)},interfaces_:function(){return[]},getClass:function(){return Q3}}),Q3.nextIndex=function(o,c){return c++,c>=o.length&&(c=0),c},Q3.computeC=function(o,c,m){return o*m.y-c*m.x},Q3.getMinimumDiameter=function(o){return new Q3(o).getDiameter()},Q3.getMinimumRectangle=function(o){return new Q3(o).getMinimumRectangle()},Q3.computeSegmentForLine=function(o,c,m){var v=null,k=null;return Math.abs(c)>Math.abs(o)?(v=new N(0,m/c),k=new N(1,m/c-o/c)):(v=new N(m/o,0),k=new N(m/o-c/o,1)),new x2(v,k)};var _n=Object.freeze({Centroid:S5,CGAlgorithms:Z4,ConvexHull:J5,InteriorPointArea:g5,InteriorPointLine:e0,InteriorPointPoint:D8,RobustLineIntersector:X3,MinimumBoundingCircle:Zt,MinimumDiameter:Q3});r(Vt.prototype,{getResultGeometry:function(){return new F8(this.distanceTolerance).transform(this.inputGeom)},setDistanceTolerance:function(o){if(0>=o)throw new s;this.distanceTolerance=o},interfaces_:function(){return[]},getClass:function(){return Vt}}),Vt.densifyPoints=function(o,c,m){for(var v=new x2,k=new X,T=0;T1)for(var t1=B/H,d1=1;H>d1;d1++){var M1=d1*t1/B,R1=v.pointAlong(M1);m.makePrecise(R1),k.add(R1,!1)}}return k.add(o[o.length-1],!1),k.toCoordinateArray()},Vt.densify=function(o,c){var m=new Vt(o);return m.setDistanceTolerance(c),m.getResultGeometry()},w(F8,Lt),r(F8.prototype,{transformMultiPolygon:function(o,c){var m=Lt.prototype.transformMultiPolygon.call(this,o,c);return this.createValidArea(m)},transformPolygon:function(o,c){var m=Lt.prototype.transformPolygon.call(this,o,c);return c instanceof J1?m:this.createValidArea(m)},transformCoordinates:function(o,c){var m=o.toCoordinateArray(),v=Vt.densifyPoints(m,this.distanceTolerance,c.getPrecisionModel());return c instanceof ve&&v.length===1&&(v=new Array(0).fill(null)),this.factory.getCoordinateSequenceFactory().create(v)},createValidArea:function(o){return o.buffer(0)},interfaces_:function(){return[]},getClass:function(){return F8}}),Vt.DensifyTransformer=F8;var Si=Object.freeze({Densifier:Vt});r(I5.prototype,{find:function(o){var c=this;do{if(c===null)return null;if(c.dest().equals2D(o))return c;c=c.oNext()}while(c!==this);return null},dest:function(){return this._sym._orig},oNext:function(){return this._sym._next},insert:function(o){if(this.oNext()===this)return this.insertAfter(o),null;var c=this.compareTo(o),m=this;do{var v=m.oNext(),k=v.compareTo(o);if(k!==c||v===this)return m.insertAfter(o),null;m=v}while(m!==this);F.shouldNeverReachHere()},insertAfter:function(o){F.equals(this._orig,o.orig());var c=this.oNext();this._sym.setNext(o),o.sym().setNext(c)},degree:function(){var c=0,m=this;do c++,m=m.oNext();while(m!==this);return c},equals:function(){if(arguments.length===2){var o=arguments[0],c=arguments[1];return this._orig.equals2D(o)&&this._sym._orig.equals(c)}},deltaY:function(){return this._sym._orig.y-this._orig.y},sym:function(){return this._sym},prev:function(){return this._sym.next()._sym},compareAngularDirection:function(o){var c=this.deltaX(),m=this.deltaY(),v=o.deltaX(),k=o.deltaY();if(c===v&&m===k)return 0;var T=R2.quadrant(c,m),B=R2.quadrant(v,k);return T>B?1:B>T?-1:Z4.computeOrientation(o._orig,o.dest(),this.dest())},prevNode:function(){for(var o=this;o.degree()===2;)if(o=o.prev(),o===this)return null;return o},compareTo:function(o){var c=o,m=this.compareAngularDirection(c);return m},next:function(){return this._next},setSym:function(o){this._sym=o},orig:function(){return this._orig},toString:function(){return"HE("+this._orig.x+" "+this._orig.y+", "+this._sym._orig.x+" "+this._sym._orig.y+")"},setNext:function(o){this._next=o},init:function(o){this.setSym(o),o.setSym(this),this.setNext(o),o.setNext(this)},deltaX:function(){return this._sym._orig.x-this._orig.x},interfaces_:function(){return[]},getClass:function(){return I5}}),I5.init=function(o,c){if(o._sym!==null||c._sym!==null||o._next!==null||c._next!==null)throw new IllegalStateException("Edges are already initialized");return o.init(c),o},I5.create=function(o,c){var m=new I5(o),v=new I5(c);return m.init(v),m},w(Wt,I5),r(Wt.prototype,{mark:function(){this._isMarked=!0},setMark:function(o){this._isMarked=o},isMarked:function(){return this._isMarked},interfaces_:function(){return[]},getClass:function(){return Wt}}),Wt.setMarkBoth=function(o,c){o.setMark(c),o.sym().setMark(c)},Wt.isMarked=function(o){return o.isMarked()},Wt.setMark=function(o,c){o.setMark(c)},Wt.markBoth=function(o){o.mark(),o.sym().mark()},Wt.mark=function(o){o.mark()},r(O8.prototype,{insert:function(o,c,m){var v=this.create(o,c);m!==null?m.insert(v):this.vertexMap.put(o,v);var k=this.vertexMap.get(c);return k!==null?k.insert(v.sym()):this.vertexMap.put(c,v.sym()),v},create:function(o,c){var m=this.createEdge(o),v=this.createEdge(c);return I5.init(m,v),m},createEdge:function(o){return new I5(o)},addEdge:function(o,c){if(!O8.isValidEdge(o,c))return null;var m=this.vertexMap.get(o),v=null;if(m!==null&&(v=m.find(c)),v!==null)return v;var k=this.insert(o,c,m);return k},getVertexEdges:function(){return this.vertexMap.values()},findEdge:function(o,c){var m=this.vertexMap.get(o);return m===null?null:m.find(c)},interfaces_:function(){return[]},getClass:function(){return O8}}),O8.isValidEdge=function(o,c){var m=c.compareTo(o);return m!==0},w(r6,Wt),r(r6.prototype,{setStart:function(){this._isStart=!0},isStart:function(){return this._isStart},interfaces_:function(){return[]},getClass:function(){return r6}}),w(v1,O8),r(v1.prototype,{createEdge:function(o){return new r6(o)},interfaces_:function(){return[]},getClass:function(){return v1}}),r(H1.prototype,{addLine:function(o){this.lines.add(this.factory.createLineString(o.toCoordinateArray()))},updateRingStartEdge:function(o){return o.isStart()||(o=o.sym(),o.isStart())?this.ringStartEdge===null?(this.ringStartEdge=o,null):void(o.orig().compareTo(this.ringStartEdge.orig())o;o++)if(this.subnode[o]!==null)return!0;return!1},isPrunable:function(){return!(this.hasChildren()||this.hasItems())},addAllItems:function(o){o.addAll(this.items);for(var c=0;4>c;c++)this.subnode[c]!==null&&this.subnode[c].addAllItems(o);return o},getNodeCount:function(){for(var o=0,c=0;4>c;c++)this.subnode[c]!==null&&(o+=this.subnode[c].size());return o+1},size:function(){for(var o=0,c=0;4>c;c++)this.subnode[c]!==null&&(o+=this.subnode[c].size());return o+this.items.size()},addAllItemsFromOverlapping:function(o,c){if(!this.isSearchMatch(o))return null;c.addAll(this.items);for(var m=0;4>m;m++)this.subnode[m]!==null&&this.subnode[m].addAllItemsFromOverlapping(o,c)},visitItems:function(o,c){for(var m=this.items.iterator();m.hasNext();)c.visitItem(m.next())},hasItems:function(){return!this.items.isEmpty()},remove:function(o,c){if(!this.isSearchMatch(o))return!1;for(var m=!1,v=0;4>v;v++)if(this.subnode[v]!==null&&(m=this.subnode[v].remove(o,c))){this.subnode[v].isPrunable()&&(this.subnode[v]=null);break}return m||(m=this.items.remove(c))},visit:function(o,c){if(!this.isSearchMatch(o))return null;this.visitItems(o,c);for(var m=0;4>m;m++)this.subnode[m]!==null&&this.subnode[m].visit(o,c)},getItems:function(){return this.items},depth:function(){for(var o=0,c=0;4>c;c++)if(this.subnode[c]!==null){var m=this.subnode[c].depth();m>o&&(o=m)}return o+1},isEmpty:function(){var c=!0;this.items.isEmpty()||(c=!1);for(var m=0;4>m;m++)this.subnode[m]!==null&&(this.subnode[m].isEmpty()||(c=!1));return c},add:function(o){this.items.add(o)},interfaces_:function(){return[_]},getClass:function(){return d4}}),d4.getSubnodeIndex=function(o,c,m){var v=-1;return o.getMinX()>=c&&(o.getMinY()>=m&&(v=3),o.getMaxY()=m&&(v=2),o.getMaxY()m?c:m,k=B4.exponent(v)+1;return k},w(Ge,d4),r(Ge.prototype,{find:function(o){var c=d4.getSubnodeIndex(o,this.centrex,this.centrey);if(c===-1)return this;if(this.subnode[c]!==null){var m=this.subnode[c];return m.find(o)}return this},isSearchMatch:function(o){return this.env.intersects(o)},getSubnode:function(o){return this.subnode[o]===null&&(this.subnode[o]=this.createSubnode(o)),this.subnode[o]},getEnvelope:function(){return this.env},getNode:function(o){var c=d4.getSubnodeIndex(o,this.centrex,this.centrey);if(c!==-1){var m=this.getSubnode(c);return m.getNode(o)}return this},createSubnode:function(o){var c=0,m=0,v=0,k=0;switch(o){case 0:c=this.env.getMinX(),m=this.centrex,v=this.env.getMinY(),k=this.centrey;break;case 1:c=this.centrex,m=this.env.getMaxX(),v=this.env.getMinY(),k=this.centrey;break;case 2:c=this.env.getMinX(),m=this.centrex,v=this.centrey,k=this.env.getMaxY();break;case 3:c=this.centrex,m=this.env.getMaxX(),v=this.centrey,k=this.env.getMaxY()}var T=new r1(c,m,v,k),B=new Ge(T,this.level-1);return B},insertNode:function(o){F.isTrue(this.env===null||this.env.contains(o.env));var c=d4.getSubnodeIndex(o.env,this.centrex,this.centrey);if(o.level===this.level-1)this.subnode[c]=o;else{var m=this.createSubnode(c);m.insertNode(o),this.subnode[c]=m}},interfaces_:function(){return[]},getClass:function(){return Ge}}),Ge.createNode=function(o){var c=new me(o),m=new Ge(c.getEnvelope(),c.getLevel());return m},Ge.createExpanded=function(o,c){var m=new r1(c);o!==null&&m.expandToInclude(o.env);var v=Ge.createNode(m);return o!==null&&v.insertNode(o),v},r(Ye.prototype,{interfaces_:function(){return[]},getClass:function(){return Ye}}),Ye.isZeroWidth=function(o,c){var m=c-o;if(m===0)return!0;var v=Math.max(Math.abs(o),Math.abs(c)),k=m/v,T=B4.exponent(k);return T0&&(this.minExtent=c);var m=o.getHeight();m0&&(this.minExtent=m)},depth:function(){return this.root!==null?this.root.depth():0},isEmpty:function(){return this.root===null},interfaces_:function(){return[Ct,_]},getClass:function(){return J2}}),J2.ensureExtent=function(o,c){var m=o.getMinX(),v=o.getMaxX(),k=o.getMinY(),T=o.getMaxY();return m!==v&&k!==T?o:(m===v&&(m-=c/2,v=m+c/2),k===T&&(k-=c/2,T=k+c/2),new r1(m,v,k,T))},J2.serialVersionUID=-7461163625812743e3;var Pr=Object.freeze({Quadtree:J2}),P6=Object.freeze({STRtree:W2}),ki=Object.freeze({quadtree:Pr,strtree:P6}),Dr=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"];r(r3.prototype,{read:function(o){var c=void 0;c=typeof o=="string"?JSON.parse(o):o;var m=c.type;if(!a7[m])throw new Error("Unknown GeoJSON type: "+c.type);return Dr.indexOf(m)!==-1?a7[m].apply(this,[c.coordinates]):m==="GeometryCollection"?a7[m].apply(this,[c.geometries]):a7[m].apply(this,[c])},write:function(o){var c=o.getGeometryType();if(!w7[c])throw new Error("Geometry is not supported");return w7[c].apply(this,[o])}});var a7={Feature:function(o){var c={};for(var m in o)c[m]=o[m];if(o.geometry){var v=o.geometry.type;if(!a7[v])throw new Error("Unknown GeoJSON type: "+o.type);c.geometry=this.read(o.geometry)}return o.bbox&&(c.bbox=a7.bbox.apply(this,[o.bbox])),c},FeatureCollection:function(o){var c={};if(o.features){c.features=[];for(var m=0;mc;c++)this.precisionModel.makePrecise(o.points[c]);else if(o.geometries)for(c=0,m=o.geometries.length;m>c;c++)this.reducePrecision(o.geometries[c])}}),r(L3.prototype,{write:function(o){return this.parser.write(o)}}),r($3.prototype,{read:function(o){var c=this.parser.read(o);return this.precisionModel.getType()===Pe.FIXED&&this.reducePrecision(c),c},reducePrecision:function(o){if(o.coordinate)this.precisionModel.makePrecise(o.coordinate);else if(o.points)for(var c=0,m=o.points.coordinates.length;m>c;c++)this.precisionModel.makePrecise(o.points.coordinates[c]);else if(o.geometries)for(var v=0,k=o.geometries.length;k>v;v++)this.reducePrecision(o.geometries[v])}}),r(P5.prototype,{read:function(o){return o instanceof ol.geom.Point?this.convertFromPoint(o):o instanceof ol.geom.LineString?this.convertFromLineString(o):o instanceof ol.geom.LinearRing?this.convertFromLinearRing(o):o instanceof ol.geom.Polygon?this.convertFromPolygon(o):o instanceof ol.geom.MultiPoint?this.convertFromMultiPoint(o):o instanceof ol.geom.MultiLineString?this.convertFromMultiLineString(o):o instanceof ol.geom.MultiPolygon?this.convertFromMultiPolygon(o):o instanceof ol.geom.GeometryCollection?this.convertFromCollection(o):void 0},convertFromPoint:function(o){var c=o.getCoordinates();return this.geometryFactory.createPoint(new N(c[0],c[1]))},convertFromLineString:function(o){return this.geometryFactory.createLineString(o.getCoordinates().map(function(c){return new N(c[0],c[1])}))},convertFromLinearRing:function(o){return this.geometryFactory.createLinearRing(o.getCoordinates().map(function(c){return new N(c[0],c[1])}))},convertFromPolygon:function(o){for(var c=o.getLinearRings(),m=null,v=[],k=0;k=o&&(this.quadrantSegments=1),this.joinStyle!==L2.JOIN_ROUND&&(this.quadrantSegments=L2.DEFAULT_QUADRANT_SEGMENTS)},getJoinStyle:function(){return this.joinStyle},setJoinStyle:function(o){this.joinStyle=o},setSimplifyFactor:function(o){this.simplifyFactor=0>o?0:o},getSimplifyFactor:function(){return this.simplifyFactor},getQuadrantSegments:function(){return this.quadrantSegments},setEndCapStyle:function(o){this.endCapStyle=o},getMitreLimit:function(){return this.mitreLimit},setMitreLimit:function(o){this.mitreLimit=o},setSingleSided:function(o){this._isSingleSided=o},interfaces_:function(){return[]},getClass:function(){return L2}}),L2.bufferDistanceError=function(o){var c=Math.PI/2/o;return 1-Math.cos(c/2)},L2.CAP_ROUND=1,L2.CAP_FLAT=2,L2.CAP_SQUARE=3,L2.JOIN_ROUND=1,L2.JOIN_MITRE=2,L2.JOIN_BEVEL=3,L2.DEFAULT_QUADRANT_SEGMENTS=8,L2.DEFAULT_MITRE_LIMIT=5,L2.DEFAULT_SIMPLIFY_FACTOR=.01,r(g7.prototype,{getCoordinate:function(){return this.minCoord},getRightmostSide:function(o,c){var m=this.getRightmostSideOfSegment(o,c);return 0>m&&(m=this.getRightmostSideOfSegment(o,c-1)),0>m&&(this.minCoord=null,this.checkForRightmostCoordinate(o)),m},findRightmostEdgeAtVertex:function(){var o=this.minDe.getEdge().getCoordinates();F.isTrue(this.minIndex>0&&this.minIndexthis.minCoord.y&&m.y>this.minCoord.y&&v===Z4.CLOCKWISE)&&(k=!0),k&&(this.minIndex=this.minIndex-1)},getRightmostSideOfSegment:function(o,c){var m=o.getEdge(),v=m.getCoordinates();if(0>c||c+1>=v.length||v[c].y===v[c+1].y)return-1;var k=se.LEFT;return v[c].ythis.minCoord.x)&&(this.minDe=o,this.minIndex=m,this.minCoord=c[m])},findRightmostEdgeAtNode:function(){var o=this.minDe.getNode(),c=o.getEdges();this.minDe=c.getRightmostEdge(),this.minDe.isForward()||(this.minDe=this.minDe.getSym(),this.minIndex=this.minDe.getEdge().getCoordinates().length-1)},findEdge:function(o){for(var c=o.iterator();c.hasNext();){var m=c.next();m.isForward()&&this.checkForRightmostCoordinate(m)}F.isTrue(this.minIndex!==0||this.minCoord.equals(this.minDe.getCoordinate()),"inconsistency in rightmost processing"),this.minIndex===0?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this.orientedDe=this.minDe;var v=this.getRightmostSide(this.minDe,this.minIndex);v===se.LEFT&&(this.orientedDe=this.minDe.getSym())},interfaces_:function(){return[]},getClass:function(){return g7}}),W0.prototype.addLast=function(o){this.array_.push(o)},W0.prototype.removeFirst=function(){return this.array_.shift()},W0.prototype.isEmpty=function(){return this.array_.length===0},r(L9.prototype,{clearVisitedEdges:function(){for(var o=this.dirEdgeList.iterator();o.hasNext();){var c=o.next();c.setVisited(!1)}},getRightmostCoordinate:function(){return this.rightMostCoord},computeNodeDepth:function(o){for(var c=null,m=o.getEdges().iterator();m.hasNext();){var v=m.next();if(v.isVisited()||v.getSym().isVisited()){c=v;break}}if(c===null)throw new g2("unable to find edge to compute depths at "+o.getCoordinate());o.getEdges().computeDepths(c);for(var m=o.getEdges().iterator();m.hasNext();){var v=m.next();v.setVisited(!0),this.copySymDepths(v)}},computeDepth:function(o){this.clearVisitedEdges();var c=this.finder.getEdge();c.getNode(),c.getLabel(),c.setEdgeDepths(se.RIGHT,o),this.copySymDepths(c),this.computeDepths(c)},create:function(o){this.addReachable(o),this.finder.findEdge(this.dirEdgeList),this.rightMostCoord=this.finder.getCoordinate()},findResultEdges:function(){for(var o=this.dirEdgeList.iterator();o.hasNext();){var c=o.next();c.getDepth(se.RIGHT)>=1&&c.getDepth(se.LEFT)c.rightMostCoord.x?1:0},getEnvelope:function(){if(this.env===null){for(var o=new r1,c=this.dirEdgeList.iterator();c.hasNext();)for(var m=c.next(),v=m.getEdge().getCoordinates(),k=0;kB},isShallowSampled:function(o,c,m,v,k){var T=Math.trunc((v-m)/dt.NUM_PTS_TO_CHECK);0>=T&&(T=1);for(var B=m;v>B;B+=T)if(!this.isShallow(o,c,this.inputLine[B],k))return!1;return!0},isConcave:function(c,m,v){var k=Z4.computeOrientation(c,m,v),T=k===this.angleOrientation;return T},simplify:function(o){this.distanceTol=Math.abs(o),0>o&&(this.angleOrientation=Z4.CLOCKWISE),this.isDeleted=new Array(this.inputLine.length).fill(null);var c=!1;do c=this.deleteShallowConcavities();while(c);return this.collapseLine()},findNextNonDeletedIndex:function(o){for(var c=o+1;ck},collapseLine:function(){for(var o=new X,c=0;c=0;m--)this.addPt(o[m])},isRedundant:function(o){if(this.ptList.size()=2&&this.ptList.get(this.ptList.size()-2),o.equals(c)?null:void this.ptList.add(o)},setMinimumVertexDistance:function(o){this.minimimVertexDistance=o},interfaces_:function(){return[]},getClass:function(){return r0}}),r0.COORDINATE_ARRAY_TYPE=new Array(0).fill(null),r(s8.prototype,{addNextSegment:function(o,c){if(this.s0=this.s1,this.s1=this.s2,this.s2=o,this.seg0.setCoordinates(this.s0,this.s1),this.computeOffsetSegment(this.seg0,this.side,this.distance,this.offset0),this.seg1.setCoordinates(this.s1,this.s2),this.computeOffsetSegment(this.seg1,this.side,this.distance,this.offset1),this.s1.equals(this.s2))return null;var m=Z4.computeOrientation(this.s0,this.s1,this.s2),v=m===Z4.CLOCKWISE&&this.side===se.LEFT||m===Z4.COUNTERCLOCKWISE&&this.side===se.RIGHT;m===0?this.addCollinear(c):v?this.addOutsideTurn(m,c):this.addInsideTurn(m,c)},addLineEndCap:function(o,c){var m=new x2(o,c),v=new x2;this.computeOffsetSegment(m,se.LEFT,this.distance,v);var k=new x2;this.computeOffsetSegment(m,se.RIGHT,this.distance,k);var T=c.x-o.x,B=c.y-o.y,H=Math.atan2(B,T);switch(this.bufParams.getEndCapStyle()){case L2.CAP_ROUND:this.segList.addPt(v.p1),this.addFilletArc(c,H+Math.PI/2,H-Math.PI/2,Z4.CLOCKWISE,this.distance),this.segList.addPt(k.p1);break;case L2.CAP_FLAT:this.segList.addPt(v.p1),this.segList.addPt(k.p1);break;case L2.CAP_SQUARE:var t1=new N;t1.x=Math.abs(this.distance)*Math.cos(H),t1.y=Math.abs(this.distance)*Math.sin(H);var d1=new N(v.p1.x+t1.x,v.p1.y+t1.y),M1=new N(k.p1.x+t1.x,k.p1.y+t1.y);this.segList.addPt(d1),this.segList.addPt(M1)}},getCoordinates:function(){var o=this.segList.getCoordinates();return o},addMitreJoin:function(o,c,m,v){var k=!0,T=null;try{T=a4.intersection(c.p0,c.p1,m.p0,m.p1);var B=0>=v?1:T.distance(o)/Math.abs(v);B>this.bufParams.getMitreLimit()&&(k=!1)}catch(H){if(!(H instanceof i1))throw H;T=new N(0,0),k=!1}finally{}k?this.segList.addPt(T):this.addLimitedMitreJoin(c,m,v,this.bufParams.getMitreLimit())},addFilletCorner:function(o,c,m,v,k){var T=c.x-o.x,B=c.y-o.y,H=Math.atan2(B,T),t1=m.x-o.x,d1=m.y-o.y,M1=Math.atan2(d1,t1);v===Z4.CLOCKWISE?M1>=H&&(H+=2*Math.PI):H>=M1&&(H-=2*Math.PI),this.segList.addPt(c),this.addFilletArc(o,H,M1,v,k),this.segList.addPt(m)},addOutsideTurn:function(o,c){return this.offset0.p1.distance(this.offset1.p0)H)return null;var t1=null,d1=null;t1=0,d1=B/H;for(var M1=t1,R1=new N;B>M1;){var N1=c+T*M1;R1.x=o.x+k*Math.cos(N1),R1.y=o.y+k*Math.sin(N1),this.segList.addPt(R1),M1+=d1}},addInsideTurn:function(o,c){if(this.li.computeIntersection(this.offset0.p0,this.offset0.p1,this.offset1.p0,this.offset1.p1),this.li.hasIntersection())this.segList.addPt(this.li.getIntersection(0));else if(this._hasNarrowConcaveAngle=!0,this.offset0.p1.distance(this.offset1.p0)0){var m=new N((this.closingSegLengthFactor*this.offset0.p1.x+this.s1.x)/(this.closingSegLengthFactor+1),(this.closingSegLengthFactor*this.offset0.p1.y+this.s1.y)/(this.closingSegLengthFactor+1));this.segList.addPt(m);var v=new N((this.closingSegLengthFactor*this.offset1.p0.x+this.s1.x)/(this.closingSegLengthFactor+1),(this.closingSegLengthFactor*this.offset1.p0.y+this.s1.y)/(this.closingSegLengthFactor+1));this.segList.addPt(v)}else this.segList.addPt(this.s1);this.segList.addPt(this.offset1.p0)}},createCircle:function(o){var c=new N(o.x+this.distance,o.y);this.segList.addPt(c),this.addFilletArc(o,0,2*Math.PI,-1,this.distance),this.segList.closeRing()},addBevelJoin:function(o,c){this.segList.addPt(o.p1),this.segList.addPt(c.p0)},init:function(o){this.distance=o,this.maxCurveSegmentError=o*(1-Math.cos(this.filletAngleQuantum/2)),this.segList=new r0,this.segList.setPrecisionModel(this.precisionModel),this.segList.setMinimumVertexDistance(o*s8.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},addCollinear:function(o){this.li.computeIntersection(this.s0,this.s1,this.s1,this.s2);var c=this.li.getIntersectionNum();c>=2&&(this.bufParams.getJoinStyle()===L2.JOIN_BEVEL||this.bufParams.getJoinStyle()===L2.JOIN_MITRE?(o&&this.segList.addPt(this.offset0.p1),this.segList.addPt(this.offset1.p0)):this.addFilletCorner(this.s1,this.offset0.p1,this.offset1.p0,Z4.CLOCKWISE,this.distance))},closeRing:function(){this.segList.closeRing()},hasNarrowConcaveAngle:function(){return this._hasNarrowConcaveAngle},interfaces_:function(){return[]},getClass:function(){return s8}}),s8.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,s8.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,s8.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,s8.MAX_CLOSING_SEG_LEN_FACTOR=80,r(i6.prototype,{getOffsetCurve:function(o,c){if(this.distance=c,c===0)return null;var m=0>c,v=Math.abs(c),k=this.getSegGen(v);o.length=0;B--)m.addNextSegment(k[B],!0)}else{m.addSegments(o,!1);var H=dt.simplify(o,v),t1=H.length-1;m.initSideSegments(H[0],H[1],se.LEFT),m.addFirstSegment();for(var B=2;t1>=B;B++)m.addNextSegment(H[B],!0)}m.addLastSegment(),m.closeRing()},computeRingBufferCurve:function(o,c,m){var v=this.simplifyTolerance(this.distance);c===se.RIGHT&&(v=-v);var k=dt.simplify(o,v),T=k.length-1;m.initSideSegments(k[T-1],k[0],c);for(var B=1;T>=B;B++){var H=B!==1;m.addNextSegment(k[B],H)}m.closeRing()},computeLineBufferCurve:function(o,c){var m=this.simplifyTolerance(this.distance),v=dt.simplify(o,m),k=v.length-1;c.initSideSegments(v[0],v[1],se.LEFT);for(var T=2;k>=T;T++)c.addNextSegment(v[T],!0);c.addLastSegment(),c.addLineEndCap(v[k-1],v[k]);var B=dt.simplify(o,-m),H=B.length-1;c.initSideSegments(B[H],B[H-1],se.LEFT);for(var T=H-2;T>=0;T--)c.addNextSegment(B[T],!0);c.addLastSegment(),c.addLineEndCap(B[1],B[0]),c.closeRing()},computePointCurve:function(o,c){switch(this.bufParams.getEndCapStyle()){case L2.CAP_ROUND:c.createCircle(o);break;case L2.CAP_SQUARE:c.createSquare(o)}},getLineCurve:function(o,c){if(this.distance=c,0>c&&!this.bufParams.isSingleSided()||c===0)return null;var m=Math.abs(c),v=this.getSegGen(m);if(o.lengthc;this.computeSingleSidedBufferCurve(o,k,v)}else this.computeLineBufferCurve(o,v);var T=v.getCoordinates();return T},getBufferParameters:function(){return this.bufParams},simplifyTolerance:function(o){return o*this.bufParams.getSimplifyFactor()},getRingCurve:function(o,c,m){if(this.distance=m,o.length=0;B--)m.addNextSegment(k[B],!0)}else{var H=dt.simplify(o,v),t1=H.length-1;m.initSideSegments(H[0],H[1],se.LEFT),m.addFirstSegment();for(var B=2;t1>=B;B++)m.addNextSegment(H[B],!0)}m.addLastSegment()},getSegGen:function(o){return new s8(this.precisionModel,this.bufParams,o)},interfaces_:function(){return[]},getClass:function(){return i6}}),i6.copyCoordinates=function(o){for(var c=new Array(o.length).fill(null),m=0;mk.getMaxY()||this.findStabbedSegments(o,v.getDirectedEdges(),c)}return c}if(arguments.length===3){if(n1(arguments[2],P)&&arguments[0]instanceof N&&arguments[1]instanceof e7)for(var T=arguments[0],B=arguments[1],H=arguments[2],t1=B.getEdge().getCoordinates(),m=0;mthis.seg.p1.y&&this.seg.reverse();var d1=Math.max(this.seg.p0.x,this.seg.p1.x);if(!(d1this.seg.p1.y||Z4.computeOrientation(this.seg.p0,this.seg.p1,T)===Z4.RIGHT)){var M1=B.getDepth(se.LEFT);this.seg.p0.equals(t1[m])||(M1=B.getDepth(se.RIGHT));var R1=new yr(this.seg,M1);H.add(R1)}}else if(n1(arguments[2],P)&&arguments[0]instanceof N&&n1(arguments[1],P))for(var N1=arguments[0],V1=arguments[1],K1=arguments[2],m=V1.iterator();m.hasNext();){var U1=m.next();U1.isForward()&&this.findStabbedSegments(N1,U1,K1)}}},getDepth:function(o){var c=this.findStabbedSegments(o);if(c.size()===0)return 0;var m=b7.min(c);return m.leftDepth},interfaces_:function(){return[]},getClass:function(){return T6}}),r(yr.prototype,{compareTo:function(o){var c=o;if(this.upwardSeg.minX()>=c.upwardSeg.maxX())return 1;if(this.upwardSeg.maxX()0&&this.isErodedCompletely(B,-this.distance)||this.addPolygonRing(H,c,se.opposite(m),z.INTERIOR,z.EXTERIOR)}},isTriangleErodedCompletely:function(o,c){var m=new s3(o[0],o[1],o[2]),v=m.inCentre(),k=Z4.distancePointLine(v,m.p0,m.p1);return k=j1.MINIMUM_VALID_SIZE&&Z4.isCCW(o)&&(T=k,B=v,m=se.opposite(m));var H=this.curveBuilder.getRingCurve(o,m,c);this.addCurve(H,T,B)},add:function(o){if(o.isEmpty())return null;if(o instanceof $1)this.addPolygon(o);else if(o instanceof ve)this.addLineString(o);else if(o instanceof s1)this.addPoint(o);else if(o instanceof q1)this.addCollection(o);else if(o instanceof W1)this.addCollection(o);else if(o instanceof J1)this.addCollection(o);else{if(!(o instanceof B1))throw new UnsupportedOperationException(o.getClass().getName());this.addCollection(o)}},isErodedCompletely:function(o,c){var m=o.getCoordinates();if(m.lengthc;if(m.length===4)return this.isTriangleErodedCompletely(m,c);var v=o.getEnvelopeInternal(),k=Math.min(v.getHeight(),v.getWidth());return 0>c&&2*Math.abs(c)>k},addCollection:function(o){for(var c=0;cv||this.maxyT;if(B)return!1;var H=this.intersectsToleranceSquare(o,c);return F.isTrue(!(B&&H),"Found bad envelope test"),H},initCorners:function(o){var c=.5;this.minx=o.x-c,this.maxx=o.x+c,this.miny=o.y-c,this.maxy=o.y+c,this.corner[0]=new N(this.maxx,this.maxy),this.corner[1]=new N(this.minx,this.maxy),this.corner[2]=new N(this.minx,this.miny),this.corner[3]=new N(this.maxx,this.miny)},intersects:function(o,c){return this.scaleFactor===1?this.intersectsScaled(o,c):(this.copyScaled(o,this.p0Scaled),this.copyScaled(c,this.p1Scaled),this.intersectsScaled(this.p0Scaled,this.p1Scaled))},scale:function(o){return Math.round(o*this.scaleFactor)},getCoordinate:function(){return this.originalPt},copyScaled:function(o,c){c.x=this.scale(o.x),c.y=this.scale(o.y)},getSafeEnvelope:function(){if(this.safeEnv===null){var o=q0.SAFE_ENV_EXPANSION_FACTOR/this.scaleFactor;this.safeEnv=new r1(this.originalPt.x-o,this.originalPt.x+o,this.originalPt.y-o,this.originalPt.y+o)}return this.safeEnv},intersectsPixelClosure:function(o,c){return this.li.computeIntersection(o,c,this.corner[0],this.corner[1]),this.li.hasIntersection()?!0:(this.li.computeIntersection(o,c,this.corner[1],this.corner[2]),this.li.hasIntersection()?!0:(this.li.computeIntersection(o,c,this.corner[2],this.corner[3]),this.li.hasIntersection()?!0:(this.li.computeIntersection(o,c,this.corner[3],this.corner[0]),!!this.li.hasIntersection())))},intersectsToleranceSquare:function(o,c){var m=!1,v=!1;return this.li.computeIntersection(o,c,this.corner[0],this.corner[1]),this.li.isProper()?!0:(this.li.computeIntersection(o,c,this.corner[1],this.corner[2]),this.li.isProper()?!0:(this.li.hasIntersection()&&(m=!0),this.li.computeIntersection(o,c,this.corner[2],this.corner[3]),this.li.isProper()?!0:(this.li.hasIntersection()&&(v=!0),this.li.computeIntersection(o,c,this.corner[3],this.corner[0]),this.li.isProper()||m&&v||o.equals(this.pt)?!0:!!c.equals(this.pt))))},addSnappedNode:function(o,c){var m=o.getCoordinate(c),v=o.getCoordinate(c+1);return this.intersects(m,v)?(o.addIntersection(this.getCoordinate(),c),!0):!1},interfaces_:function(){return[]},getClass:function(){return q0}}),q0.SAFE_ENV_EXPANSION_FACTOR=.75,r(l8.prototype,{select:function(){if(arguments.length!==1){if(arguments.length===2){var o=arguments[0],c=arguments[1];o.getLineSegment(c,this.selectedSegment),this.select(this.selectedSegment)}}},interfaces_:function(){return[]},getClass:function(){return l8}}),r(mi.prototype,{snap:function(){if(arguments.length===1){var o=arguments[0];return this.snap(o,null,-1)}if(arguments.length===3){var c=arguments[0],m=arguments[1],v=arguments[2],k=c.getSafeEnvelope(),T=new br(c,m,v);return this.index.query(k,{interfaces_:function(){return[ut]},visitItem:function(B){var H=B;H.select(k,T)}}),T.isNodeAdded()}},interfaces_:function(){return[]},getClass:function(){return mi}}),w(br,l8),r(br.prototype,{isNodeAdded:function(){return this._isNodeAdded},select:function(){if(arguments.length!==2)return l8.prototype.select.apply(this,arguments);var o=arguments[0],c=arguments[1],m=o.getContext();return this.parentEdge!==null&&m===this.parentEdge&&c===this.hotPixelVertexIndex?null:void(this._isNodeAdded=this.hotPixel.addSnappedNode(m,c))},interfaces_:function(){return[]},getClass:function(){return br}}),mi.HotPixelSnapAction=br,r(fi.prototype,{processIntersections:function(o,c,m,v){if(o===m&&c===v)return null;var k=o.getCoordinates()[c],T=o.getCoordinates()[c+1],B=m.getCoordinates()[v],H=m.getCoordinates()[v+1];if(this.li.computeIntersection(k,T,B,H),this.li.hasIntersection()&&this.li.isInteriorIntersection()){for(var t1=0;t1=0;o--){try{this.bufferReducedPrecision(o)}catch(k){if(!(k instanceof g2))throw k;this.saveException=k}finally{}if(this.resultGeometry!==null)return null}throw this.saveException}if(arguments.length===1){var c=arguments[0],m=Rt.precisionScaleFactor(this.argGeom,this.distance,c),v=new Pe(m);this.bufferFixedPrecision(v)}},computeGeometry:function(){if(this.bufferOriginalPrecision(),this.resultGeometry!==null)return null;var o=this.argGeom.getFactory().getPrecisionModel();o.getType()===Pe.FIXED?this.bufferFixedPrecision(o):this.bufferReducedPrecision()},setQuadrantSegments:function(o){this.bufParams.setQuadrantSegments(o)},bufferOriginalPrecision:function(){try{var o=new N8(this.bufParams);this.resultGeometry=o.buffer(this.argGeom,this.distance)}catch(c){if(!(c instanceof S))throw c;this.saveException=c}finally{}},getResultGeometry:function(o){return this.distance=o,this.computeGeometry(),this.resultGeometry},setEndCapStyle:function(o){this.bufParams.setEndCapStyle(o)},interfaces_:function(){return[]},getClass:function(){return Rt}}),Rt.bufferOp=function(){if(arguments.length===2){var o=arguments[0],c=arguments[1],m=new Rt(o),v=m.getResultGeometry(c);return v}if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof l4&&typeof arguments[1]=="number"){var k=arguments[0],T=arguments[1],B=arguments[2],H=new Rt(k);H.setQuadrantSegments(B);var v=H.getResultGeometry(T);return v}if(arguments[2]instanceof L2&&arguments[0]instanceof l4&&typeof arguments[1]=="number"){var t1=arguments[0],d1=arguments[1],M1=arguments[2],H=new Rt(t1,M1),v=H.getResultGeometry(d1);return v}}else if(arguments.length===4){var R1=arguments[0],N1=arguments[1],V1=arguments[2],K1=arguments[3],H=new Rt(R1);H.setQuadrantSegments(V1),H.setEndCapStyle(K1);var v=H.getResultGeometry(N1);return v}},Rt.precisionScaleFactor=function(o,c,m){var v=o.getEnvelopeInternal(),k=h1.max(Math.abs(v.getMaxX()),Math.abs(v.getMaxY()),Math.abs(v.getMinX()),Math.abs(v.getMinY())),T=c>0?c:0,B=k+2*T,H=Math.trunc(Math.log(B)/Math.log(10)+1),t1=m-H,d1=Math.pow(10,t1);return d1},Rt.CAP_ROUND=L2.CAP_ROUND,Rt.CAP_BUTT=L2.CAP_FLAT,Rt.CAP_FLAT=L2.CAP_FLAT,Rt.CAP_SQUARE=L2.CAP_SQUARE,Rt.MAX_PRECISION_DIGITS=12;var c9=Object.freeze({BufferOp:Rt,BufferParameters:L2});r(u8.prototype,{filter:function(o){o instanceof $1&&this.comps.add(o)},interfaces_:function(){return[x1]},getClass:function(){return u8}}),u8.getPolygons=function(){if(arguments.length===1){var o=arguments[0];return u8.getPolygons(o,new J)}if(arguments.length===2){var c=arguments[0],m=arguments[1];return c instanceof $1?m.add(c):c instanceof B1&&c.apply(new u8(m)),m}},r(Xt.prototype,{isInsideArea:function(){return this.segIndex===Xt.INSIDE_AREA},getCoordinate:function(){return this.pt},getGeometryComponent:function(){return this.component},getSegmentIndex:function(){return this.segIndex},interfaces_:function(){return[]},getClass:function(){return Xt}}),Xt.INSIDE_AREA=-1,r(n6.prototype,{filter:function(o){o instanceof s1&&this.pts.add(o)},interfaces_:function(){return[x1]},getClass:function(){return n6}}),n6.getPoints=function(){if(arguments.length===1){var o=arguments[0];return o instanceof s1?b7.singletonList(o):n6.getPoints(o,new J)}if(arguments.length===2){var c=arguments[0],m=arguments[1];return c instanceof s1?m.add(c):c instanceof B1&&c.apply(new n6(m)),m}},r($0.prototype,{filter:function(o){(o instanceof s1||o instanceof ve||o instanceof $1)&&this.locations.add(new Xt(o,0,o.getCoordinate()))},interfaces_:function(){return[x1]},getClass:function(){return $0}}),$0.getLocations=function(o){var c=new J;return o.apply(new $0(c)),c},r(y7.prototype,{computeContainmentDistance:function(){if(arguments.length===0){var o=new Array(2).fill(null);if(this.computeContainmentDistance(0,o),this.minDistance0){var T=$0.getLocations(this.geom[v]);if(this.computeContainmentDistance(T,k,m),this.minDistancethis.minDistance)return null;for(var v=o.getCoordinates(),k=c.getCoordinate(),T=0;Tthis.minDistance)return null;for(var v=d1.getCoordinates(),N1=M1.getCoordinates(),T=0;To&&G4.reverse(this.coordinates)}return this.coordinates},toLineString:function(){return this.factory.createLineString(this.getCoordinates())},add:function(o){this.directedEdges.add(o)},interfaces_:function(){return[]},getClass:function(){return B9}}),r(D5.prototype,{setVisited:function(o){this._isVisited=o},isMarked:function(){return this._isMarked},setData:function(o){this.data=o},getData:function(){return this.data},setMarked:function(o){this._isMarked=o},getContext:function(){return this.data},isVisited:function(){return this._isVisited},setContext:function(o){this.data=o},interfaces_:function(){return[]},getClass:function(){return D5}}),D5.getComponentWithVisitedState=function(o,c){for(;o.hasNext();){var m=o.next();if(m.isVisited()===c)return m}return null},D5.setVisited=function(o,c){for(;o.hasNext();){var m=o.next();m.setVisited(c)}},D5.setMarked=function(o,c){for(;o.hasNext();){var m=o.next();m.setMarked(c)}},w(It,D5),r(It.prototype,{isRemoved:function(){return this.parentEdge===null},compareDirection:function(o){return this.quadrant>o.quadrant?1:this.quadrantT&&(T+=this.outEdges.size()),T}},add:function(o){this.outEdges.add(o),this.sorted=!1},getDegree:function(){return this.outEdges.size()},interfaces_:function(){return[]},getClass:function(){return gn}}),w(_7,D5),r(_7.prototype,{isRemoved:function(){return this.pt===null},addOutEdge:function(o){this.deStar.add(o)},getCoordinate:function(){return this.pt},getOutEdges:function(){return this.deStar},remove:function(){if(arguments.length===0)this.pt=null;else if(arguments.length===1){var o=arguments[0];this.deStar.remove(o)}},getIndex:function(o){return this.deStar.getIndex(o)},getDegree:function(){return this.deStar.getDegree()},interfaces_:function(){return[]},getClass:function(){return _7}}),_7.getEdgesBetween=function(o,c){var m=It.toEdges(o.getOutEdges().getEdges()),v=new Be(m),k=It.toEdges(c.getOutEdges().getEdges());return v.retainAll(k),v},w(gi,j7),r(gi.prototype,{getLine:function(){return this.line},interfaces_:function(){return[]},getClass:function(){return gi}}),r(yi.prototype,{find:function(o){return this.nodeMap.get(o)},iterator:function(){return this.nodeMap.values().iterator()},remove:function(o){return this.nodeMap.remove(o)},values:function(){return this.nodeMap.values()},add:function(o){return this.nodeMap.put(o.getCoordinate(),o),o},interfaces_:function(){return[]},getClass:function(){return yi}}),r(a6.prototype,{findNodesOfDegree:function(o){for(var c=new J,m=this.nodeIterator();m.hasNext();){var v=m.next();v.getDegree()===o&&c.add(v)}return c},dirEdgeIterator:function(){return this.dirEdges.iterator()},edgeIterator:function(){return this.edges.iterator()},remove:function(){if(arguments[0]instanceof j7){var o=arguments[0];this.remove(o.getDirEdge(0)),this.remove(o.getDirEdge(1)),this.edges.remove(o),o.remove()}else if(arguments[0]instanceof It){var c=arguments[0],m=c.getSym();m!==null&&m.setSym(null),c.getFromNode().remove(c),c.remove(),this.dirEdges.remove(c)}else if(arguments[0]instanceof _7){for(var v=arguments[0],k=v.getOutEdges().getEdges(),T=k.iterator();T.hasNext();){var B=T.next(),m=B.getSym();m!==null&&this.remove(m),this.dirEdges.remove(B);var H=B.getEdge();H!==null&&this.edges.remove(H)}this.nodeMap.remove(v.getCoordinate()),v.remove()}},findNode:function(o){return this.nodeMap.find(o)},getEdges:function(){return this.edges},nodeIterator:function(){return this.nodeMap.iterator()},contains:function(){if(arguments[0]instanceof j7){var o=arguments[0];return this.edges.contains(o)}if(arguments[0]instanceof It){var c=arguments[0];return this.dirEdges.contains(c)}},add:function(){if(arguments[0]instanceof _7){var o=arguments[0];this.nodeMap.add(o)}else if(arguments[0]instanceof j7){var c=arguments[0];this.edges.add(c),this.add(c.getDirEdge(0)),this.add(c.getDirEdge(1))}else if(arguments[0]instanceof It){var m=arguments[0];this.dirEdges.add(m)}},getNodes:function(){return this.nodeMap.values()},interfaces_:function(){return[]},getClass:function(){return a6}}),w(U0,a6),r(U0.prototype,{addEdge:function(o){if(o.isEmpty())return null;var c=G4.removeRepeatedPoints(o.getCoordinates());if(c.length=0;v--)m.add(o[v],!1)},r7.findEdgeRingContaining=function(o,c){for(var m=o.getRing(),v=m.getEnvelopeInternal(),k=m.getCoordinateN(0),T=null,B=null,H=c.iterator();H.hasNext();){var t1=H.next(),d1=t1.getRing(),M1=d1.getEnvelopeInternal();if(!M1.equals(v)&&M1.contains(v)){k=G4.ptNotInList(m.getCoordinates(),d1.getCoordinates());var R1=!1;Z4.isPointInRing(k,d1.getCoordinates())&&(R1=!0),R1&&(T===null||B.contains(M1))&&(T=t1,B=T.getRing().getEnvelopeInternal())}}return T},r(vi.prototype,{compare:function(o,c){var m=o,v=c;return m.getRing().getEnvelope().compareTo(v.getRing().getEnvelope())},interfaces_:function(){return[f]},getClass:function(){return vi}}),r7.EnvelopeComparator=vi,w(ht,a6),r(ht.prototype,{findEdgeRing:function(o){var c=new r7(this.factory);return c.build(o),c},computeDepthParity:function(){if(arguments.length===0)for(;;){var o=null;if(o===null)return null;this.computeDepthParity(o)}},computeNextCWEdges:function(){for(var o=this.nodeIterator();o.hasNext();){var c=o.next();ht.computeNextCWEdges(c)}},addEdge:function(o){if(o.isEmpty())return null;var c=G4.removeRepeatedPoints(o.getCoordinates());if(c.length=0)){c.add(k);var T=r7.findDirEdgesInRing(k);ht.label(T,m),m++}}return c},ht.getDegreeNonDeleted=function(o){for(var c=o.getOutEdges().getEdges(),m=0,v=c.iterator();v.hasNext();){var k=v.next();k.isMarked()||m++}return m},ht.deleteAllEdges=function(o){for(var c=o.getOutEdges().getEdges(),m=c.iterator();m.hasNext();){var v=m.next();v.setMarked(!0);var k=v.getSym();k!==null&&k.setMarked(!0)}},ht.label=function(o,c){for(var m=o.iterator();m.hasNext();){var v=m.next();v.setLabel(c)}},ht.computeNextCWEdges=function(o){for(var c=o.getOutEdges(),m=null,v=null,k=c.getEdges().iterator();k.hasNext();){var T=k.next();if(!T.isMarked()){if(m===null&&(m=T),v!==null){var B=v.getSym();B.setNext(T)}v=T}}if(v!==null){var B=v.getSym();B.setNext(m)}},ht.computeNextCCWEdges=function(o,c){for(var m=o.getOutEdges(),v=null,k=null,T=m.getEdges(),B=T.size()-1;B>=0;B--){var H=T.get(B),t1=H.getSym(),d1=null;H.getLabel()===c&&(d1=H);var M1=null;t1.getLabel()===c&&(M1=t1),d1===null&&M1===null||(M1!==null&&(k=M1),d1!==null&&(k!==null&&(k.setNext(d1),k=null),v===null&&(v=d1)))}k!==null&&(F.isTrue(v!==null),k.setNext(v))},ht.getDegree=function(o,c){for(var m=o.getOutEdges().getEdges(),v=0,k=m.iterator();k.hasNext();){var T=k.next();T.getLabel()===c&&v++}return v},ht.findIntersectionNodes=function(o,c){var m=o,v=null;do{var k=m.getFromNode();ht.getDegree(k,c)>1&&(v===null&&(v=new J),v.add(k)),m=m.getNext(),F.isTrue(m!==null,"found null DE in ring"),F.isTrue(m===o||!m.isInRing(),"found DE already in ring")}while(m!==o);return v},r(l3.prototype,{getGeometry:function(){return this.geomFactory===null&&(this.geomFactory=new n2),this.polygonize(),this.extractOnlyPolygonal?this.geomFactory.buildGeometry(this.polyList):this.geomFactory.createGeometryCollection(n2.toGeometryArray(this.polyList))},getInvalidRingLines:function(){return this.polygonize(),this.invalidRingLines},findValidRings:function(o,c,m){for(var v=o.iterator();v.hasNext();){var k=v.next();k.isValid()?c.add(k):m.add(k.getLineString())}},polygonize:function(){if(this.polyList!==null||(this.polyList=new J,this.graph===null))return null;this.dangles=this.graph.deleteDangles(),this.cutEdges=this.graph.deleteCutEdges();var o=this.graph.getEdgeRings(),c=new J;this.invalidRingLines=new J,this.isCheckingRingsValid?this.findValidRings(o,c,this.invalidRingLines):c=o,this.findShellsAndHoles(c),l3.assignHolesToShells(this.holeList,this.shellList),b7.sort(this.shellList,new r7.EnvelopeComparator);var m=!0;this.extractOnlyPolygonal&&(l3.findDisjointShells(this.shellList),m=!1),this.polyList=l3.extractPolygons(this.shellList,m)},getDangles:function(){return this.polygonize(),this.dangles},getCutEdges:function(){return this.polygonize(),this.cutEdges},getPolygons:function(){return this.polygonize(),this.polyList},add:function(){if(n1(arguments[0],Q))for(var o=arguments[0],c=o.iterator();c.hasNext();){var m=c.next();this.add(m)}else if(arguments[0]instanceof ve){var v=arguments[0];this.geomFactory=v.getFactory(),this.graph===null&&(this.graph=new ht(this.geomFactory)),this.graph.addEdge(v)}else if(arguments[0]instanceof l4){var k=arguments[0];k.apply(this.lineStringAdder)}},setCheckRingsValid:function(o){this.isCheckingRingsValid=o},findShellsAndHoles:function(o){this.holeList=new J,this.shellList=new J;for(var c=o.iterator();c.hasNext();){var m=c.next();m.computeHole(),m.isHole()?this.holeList.add(m):this.shellList.add(m)}},interfaces_:function(){return[]},getClass:function(){return l3}}),l3.findOuterShells=function(o){for(var c=o.iterator();c.hasNext();){var m=c.next(),v=m.getOuterHole();v===null||v.isProcessed()||(m.setIncluded(!0),v.setProcessed(!0))}},l3.extractPolygons=function(o,c){for(var m=new J,v=o.iterator();v.hasNext();){var k=v.next();(c||k.isIncluded())&&m.add(k.getPolygon())}return m},l3.assignHolesToShells=function(o,c){for(var m=o.iterator();m.hasNext();){var v=m.next();l3.assignHoleToShell(v,c)}},l3.assignHoleToShell=function(o,c){var m=r7.findEdgeRingContaining(o,c);m!==null&&m.addHole(o)},l3.findDisjointShells=function(o){l3.findOuterShells(o);var c=null;do{c=!1;for(var m=o.iterator();m.hasNext();){var v=m.next();v.isIncludedSet()||(v.updateIncluded(),v.isIncludedSet()||(c=!0))}}while(c)},r(o6.prototype,{filter:function(o){o instanceof ve&&this.p.add(o)},interfaces_:function(){return[E4]},getClass:function(){return o6}}),l3.LineStringAdder=o6;var xn=Object.freeze({Polygonizer:l3});r(F5.prototype,{createEdgeEndForNext:function(o,c,m,v){var k=m.segmentIndex+1;if(k>=o.getNumPoints()&&v===null)return null;var T=o.getCoordinate(k);v!==null&&v.segmentIndex===m.segmentIndex&&(T=v.coord);var B=new t3(o,m.coord,T,new S3(o.getLabel()));c.add(B)},createEdgeEndForPrev:function(o,c,m,v){var k=m.segmentIndex;if(m.dist===0){if(k===0)return null;k--}var T=o.getCoordinate(k);v!==null&&v.segmentIndex>=k&&(T=v.coord);var B=new S3(o.getLabel());B.flip();var H=new t3(o,m.coord,T,B);c.add(H)},computeEdgeEnds:function(){if(arguments.length===1){for(var o=arguments[0],c=new J,m=o;m.hasNext();){var v=m.next();this.computeEdgeEnds(v,c)}return c}if(arguments.length===2){var k=arguments[0],T=arguments[1],B=k.getEdgeIntersectionList();B.addEndpoints();var H=B.iterator(),t1=null,d1=null;if(!H.hasNext())return null;var M1=H.next();do t1=d1,d1=M1,M1=null,H.hasNext()&&(M1=H.next()),d1!==null&&(this.createEdgeEndForPrev(k,T,d1,t1),this.createEdgeEndForNext(k,T,d1,M1));while(d1!==null)}},interfaces_:function(){return[]},getClass:function(){return F5}}),w(n0,t3),r(n0.prototype,{insert:function(o){this.edgeEnds.add(o)},print:function(o){o.println("EdgeEndBundle--> Label: "+this.label);for(var c=this.iterator();c.hasNext();){var m=c.next();m.print(o),o.println()}},iterator:function(){return this.edgeEnds.iterator()},getEdgeEnds:function(){return this.edgeEnds},computeLabelOn:function(o,c){for(var m=0,v=!1,k=this.iterator();k.hasNext();){var T=k.next(),B=T.getLabel().getLocation(o);B===z.BOUNDARY&&m++,B===z.INTERIOR&&(v=!0)}var B=z.NONE;v&&(B=z.INTERIOR),m>0&&(B=Ht.determineBoundary(c,m)),this.label.setLocation(o,B)},computeLabelSide:function(o,c){for(var m=this.iterator();m.hasNext();){var v=m.next();if(v.getLabel().isArea()){var k=v.getLabel().getLocation(o,c);if(k===z.INTERIOR)return this.label.setLocation(o,c,z.INTERIOR),null;k===z.EXTERIOR&&this.label.setLocation(o,c,z.EXTERIOR)}}},getLabel:function(){return this.label},computeLabelSides:function(o){this.computeLabelSide(o,se.LEFT),this.computeLabelSide(o,se.RIGHT)},updateIM:function(o){i5.updateIM(this.label,o)},computeLabel:function(o){for(var c=!1,m=this.iterator();m.hasNext();){var v=m.next();v.getLabel().isArea()&&(c=!0)}c?this.label=new S3(z.NONE,z.NONE,z.NONE):this.label=new S3(z.NONE);for(var k=0;2>k;k++)this.computeLabelOn(k,o),c&&this.computeLabelSides(k)},interfaces_:function(){return[]},getClass:function(){return n0}}),w(a0,d7),r(a0.prototype,{updateIM:function(o){for(var c=this.iterator();c.hasNext();){var m=c.next();m.updateIM(o)}},insert:function(o){var c=this.edgeMap.get(o);c===null?(c=new n0(o),this.insertEdgeEnd(o,c)):c.insert(o)},interfaces_:function(){return[]},getClass:function(){return a0}}),w(Y0,D3),r(Y0.prototype,{updateIMFromEdges:function(o){this.edges.updateIM(o)},computeIM:function(o){o.setAtLeastIfValid(this.label.getLocation(0),this.label.getLocation(1),0)},interfaces_:function(){return[]},getClass:function(){return Y0}}),w(c8,M8),r(c8.prototype,{createNode:function(o){return new Y0(o,new a0)},interfaces_:function(){return[]},getClass:function(){return c8}}),r(o0.prototype,{insertEdgeEnds:function(o){for(var c=o.iterator();c.hasNext();){var m=c.next();this.nodes.add(m)}},computeProperIntersectionIM:function(o,c){var m=this.arg[0].getGeometry().getDimension(),v=this.arg[1].getGeometry().getDimension(),k=o.hasProperIntersection(),T=o.hasProperInteriorIntersection();m===2&&v===2?k&&c.setAtLeast("212101212"):m===2&&v===1?(k&&c.setAtLeast("FFF0FFFF2"),T&&c.setAtLeast("1FFFFF1FF")):m===1&&v===2?(k&&c.setAtLeast("F0FFFFFF2"),T&&c.setAtLeast("1F1FFFFFF")):m===1&&v===1&&T&&c.setAtLeast("0FFFFFFFF")},labelIsolatedEdges:function(o,c){for(var m=this.arg[o].getEdgeIterator();m.hasNext();){var v=m.next();v.isIsolated()&&(this.labelIsolatedEdge(v,c,this.arg[c].getGeometry()),this.isolatedEdges.add(v))}},labelIsolatedEdge:function(o,c,m){if(m.getDimension()>0){var v=this.ptLocator.locate(o.getCoordinate(),m);o.getLabel().setAllLocations(c,v)}else o.getLabel().setAllLocations(c,z.EXTERIOR)},computeIM:function(){var o=new z2;if(o.set(z.EXTERIOR,z.EXTERIOR,2),!this.arg[0].getGeometry().getEnvelopeInternal().intersects(this.arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(o),o;this.arg[0].computeSelfNodes(this.li,!1),this.arg[1].computeSelfNodes(this.li,!1);var c=this.arg[0].computeEdgeIntersections(this.arg[1],this.li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(c,o);var m=new F5,v=m.computeEdgeEnds(this.arg[0].getEdgeIterator());this.insertEdgeEnds(v);var k=m.computeEdgeEnds(this.arg[1].getEdgeIterator());return this.insertEdgeEnds(k),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(o),o},labelNodeEdges:function(){for(var o=this.nodes.iterator();o.hasNext();){var c=o.next();c.getEdges().computeLabelling(this.arg)}},copyNodesAndLabels:function(o){for(var c=this.arg[o].getNodeIterator();c.hasNext();){var m=c.next(),v=this.nodes.addNode(m.getCoordinate());v.setLabel(o,m.getLabel().getLocation(o))}},labelIntersectionNodes:function(o){for(var c=this.arg[o].getEdgeIterator();c.hasNext();)for(var m=c.next(),v=m.getLabel().getLocation(o),k=m.getEdgeIntersectionList().iterator();k.hasNext();){var T=k.next(),B=this.nodes.find(T.coord);B.getLabel().isNull(o)&&(v===z.BOUNDARY?B.setLabelBoundary(o):B.setLabel(o,z.INTERIOR))}},labelIsolatedNode:function(o,c){var m=this.ptLocator.locate(o.getCoordinate(),this.arg[c].getGeometry());o.getLabel().setAllLocations(c,m)},computeIntersectionNodes:function(o){for(var c=this.arg[o].getEdgeIterator();c.hasNext();)for(var m=c.next(),v=m.getLabel().getLocation(o),k=m.getEdgeIntersectionList().iterator();k.hasNext();){var T=k.next(),B=this.nodes.addNode(T.coord);v===z.BOUNDARY?B.setLabelBoundary(o):B.getLabel().isNull(o)&&B.setLabel(o,z.INTERIOR)}},labelIsolatedNodes:function(){for(var o=this.nodes.iterator();o.hasNext();){var c=o.next(),m=c.getLabel();F.isTrue(m.getGeometryCount()>0,"node with empty label found"),c.isIsolated()&&(m.isNull(0)?this.labelIsolatedNode(c,0):this.labelIsolatedNode(c,1))}},updateIM:function(o){for(var c=this.isolatedEdges.iterator();c.hasNext();){var m=c.next();m.updateIM(o)}for(var v=this.nodes.iterator();v.hasNext();){var k=v.next();k.updateIM(o),k.updateIMFromEdges(o)}},computeDisjointIM:function(o){var c=this.arg[0].getGeometry();c.isEmpty()||(o.set(z.INTERIOR,z.EXTERIOR,c.getDimension()),o.set(z.BOUNDARY,z.EXTERIOR,c.getBoundaryDimension()));var m=this.arg[1].getGeometry();m.isEmpty()||(o.set(z.EXTERIOR,z.INTERIOR,m.getDimension()),o.set(z.EXTERIOR,z.BOUNDARY,m.getBoundaryDimension()))},interfaces_:function(){return[]},getClass:function(){return o0}}),r(L8.prototype,{isContainedInBoundary:function(o){if(o instanceof $1)return!1;if(o instanceof s1)return this.isPointContainedInBoundary(o);if(o instanceof ve)return this.isLineStringContainedInBoundary(o);for(var c=0;c0){var v=o;o=c,c=v}var k=!1;return c.y>o.y&&(k=!0),k?this.li.computeIntersection(o,c,this.diagDown0,this.diagDown1):this.li.computeIntersection(o,c,this.diagUp0,this.diagUp1),!!this.li.hasIntersection()},interfaces_:function(){return[]},getClass:function(){return s0}}),r(R6.prototype,{applyTo:function(o){for(var c=0;c=this.rectEnv.getMinX()&&c.getMaxX()=this.rectEnv.getMinY()&&c.getMaxY()v;v++)if(this.rectSeq.getCoordinate(v,m),c.contains(m)&&A5.containsPointInPolygon(m,o))return this._containsPoint=!0,null},containsPoint:function(){return this._containsPoint},interfaces_:function(){return[]},getClass:function(){return xr}}),w(Sr,R6),r(Sr.prototype,{intersects:function(){return this.hasIntersection},isDone:function(){return this.hasIntersection===!0},visit:function(o){var c=o.getEnvelopeInternal();if(!this.rectEnv.intersects(c))return null;var m=z3.getLines(o);this.checkIntersectionWithLineStrings(m)},checkIntersectionWithLineStrings:function(o){for(var c=o.iterator();c.hasNext();){var m=c.next();if(this.checkIntersectionWithSegments(m),this.hasIntersection)return null}},checkIntersectionWithSegments:function(o){for(var c=o.getCoordinateSequence(),m=1;m=v-m){var T=v7.getGeometry(c,m);return this.unionSafe(T,null)}if(v-m===2)return this.unionSafe(v7.getGeometry(c,m),v7.getGeometry(c,m+1));var k=Math.trunc((v+m)/2),T=this.binaryUnion(c,m,k),B=this.binaryUnion(c,k,v);return this.unionSafe(T,B)}},repeatedUnion:function(o){for(var c=null,m=o.iterator();m.hasNext();){var v=m.next();c=c===null?v.copy():c.union(v)}return c},unionSafe:function(o,c){return o===null&&c===null?null:o===null?c.copy():c===null?o.copy():this.unionOptimized(o,c)},unionActual:function(o,c){return v7.restrictToPolygons(o.union(c))},unionTree:function(o){var c=this.reduceToGeometries(o),m=this.binaryUnion(c);return m},unionUsingEnvelopeIntersection:function(o,c,m){var v=new J,k=this.extractByEnvelope(m,o,v),T=this.extractByEnvelope(m,c,v),B=this.unionActual(k,T);v.add(B);var H=O5.combine(v);return H},bufferUnion:function(){if(arguments.length===1){var o=arguments[0],c=o.get(0).getFactory(),m=c.buildGeometry(o),v=m.buffer(0);return v}if(arguments.length===2){var k=arguments[0],T=arguments[1],c=k.getFactory(),m=c.createGeometryCollection([k,T]),v=m.buffer(0);return v}},interfaces_:function(){return[]},getClass:function(){return v7}}),v7.restrictToPolygons=function(o){if(n1(o,w1))return o;var c=u8.getPolygons(o);return c.size()===1?c.get(0):o.getFactory().createMultiPolygon(n2.toPolygonArray(c))},v7.getGeometry=function(o,c){return c>=o.size()?null:o.get(c)},v7.union=function(o){var c=new v7(o);return c.union()},v7.STRTREE_NODE_CAPACITY=4,r(s6.prototype,{unionNoOpt:function(o){var c=this.geomFact.createPoint();return F3.overlayOp(o,c,Me.UNION)},unionWithNull:function(o,c){return o===null&&c===null?null:c===null?o:o===null?c:o.union(c)},extract:function(){if(n1(arguments[0],Q))for(var o=arguments[0],c=o.iterator();c.hasNext();){var m=c.next();this.extract(m)}else if(arguments[0]instanceof l4){var v=arguments[0];this.geomFact===null&&(this.geomFact=v.getFactory()),d8.extract(v,l4.SORTINDEX_POLYGON,this.polygons),d8.extract(v,l4.SORTINDEX_LINESTRING,this.lines),d8.extract(v,l4.SORTINDEX_POINT,this.points)}},union:function(){if(this.geomFact===null)return null;var c=null;if(this.points.size()>0){var m=this.geomFact.buildGeometry(this.points);c=this.unionNoOpt(m)}var v=null;if(this.lines.size()>0){var k=this.geomFact.buildGeometry(this.lines);v=this.unionNoOpt(k)}var T=null;this.polygons.size()>0&&(T=v7.union(this.polygons));var B=this.unionWithNull(v,T),H=null;return H=c===null?B:B===null?c:K0.union(c,B),H===null?this.geomFact.createGeometryCollection():H},interfaces_:function(){return[]},getClass:function(){return s6}}),s6.union=function(){if(arguments.length===1){if(n1(arguments[0],Q)){var o=arguments[0],c=new s6(o);return c.union()}if(arguments[0]instanceof l4){var m=arguments[0],c=new s6(m);return c.union()}}else if(arguments.length===2){var v=arguments[0],k=arguments[1],c=new s6(v,k);return c.union()}};var Ei=Object.freeze({UnaryUnionOp:s6});r(Z0.prototype,{visitInteriorRing:function(o,c){var m=o.getCoordinates(),v=m[0],k=Z0.findDifferentPoint(m,v),T=c.findEdgeInSameDirection(v,k),B=c.findEdgeEnd(T),H=null;B.getLabel().getLocation(0,se.RIGHT)===z.INTERIOR?H=B:B.getSym().getLabel().getLocation(0,se.RIGHT)===z.INTERIOR&&(H=B.getSym()),F.isTrue(H!==null,"unable to find dirEdge with Interior on RHS"),this.visitLinkedDirectedEdges(H)},visitShellInteriors:function(o,c){if(o instanceof $1){var m=o;this.visitInteriorRing(m.getExteriorRing(),c)}if(o instanceof J1)for(var v=o,k=0;ko;o++)if(this.subnode[o]!==null)return!0;return!1},isPrunable:function(){return!(this.hasChildren()||this.hasItems())},addAllItems:function(o){o.addAll(this.items);for(var c=0;2>c;c++)this.subnode[c]!==null&&this.subnode[c].addAllItems(o);return o},size:function(){for(var o=0,c=0;2>c;c++)this.subnode[c]!==null&&(o+=this.subnode[c].size());return o+this.items.size()},addAllItemsFromOverlapping:function(o,c){return o===null||this.isSearchMatch(o)?(c.addAll(this.items),this.subnode[0]!==null&&this.subnode[0].addAllItemsFromOverlapping(o,c),void(this.subnode[1]!==null&&this.subnode[1].addAllItemsFromOverlapping(o,c))):null},hasItems:function(){return!this.items.isEmpty()},remove:function(o,c){if(!this.isSearchMatch(o))return!1;for(var m=!1,v=0;2>v;v++)if(this.subnode[v]!==null&&(m=this.subnode[v].remove(o,c))){this.subnode[v].isPrunable()&&(this.subnode[v]=null);break}return m||(m=this.items.remove(c))},getItems:function(){return this.items},depth:function(){for(var o=0,c=0;2>c;c++)if(this.subnode[c]!==null){var m=this.subnode[c].depth();m>o&&(o=m)}return o+1},nodeSize:function(){for(var o=0,c=0;2>c;c++)this.subnode[c]!==null&&(o+=this.subnode[c].nodeSize());return o+1},add:function(o){this.items.add(o)},interfaces_:function(){return[]},getClass:function(){return h8}}),h8.getSubnodeIndex=function(o,c){var m=-1;return o.min>=c&&(m=1),o.maxthis.max&&(this.max=o.max),o.minm||this.max=this.min&&c=this.min&&vc&&(this.min=c,this.max=o)},getMax:function(){return this.max},interfaces_:function(){return[]},getClass:function(){return p8}}),r(X0.prototype,{getInterval:function(){return this.interval},getLevel:function(){return this.level},computeKey:function(o){for(this.level=X0.computeLevel(o),this.interval=new p8,this.computeInterval(this.level,o);!this.interval.contains(o);)this.level+=1,this.computeInterval(this.level,o)},computeInterval:function(o,c){var m=B4.powerOf2(o);this.pt=Math.floor(c.getMin()/m)*m,this.interval.init(this.pt,this.pt+m)},getPoint:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return X0}}),X0.computeLevel=function(o){var c=o.getWidth(),m=B4.exponent(c)+1;return m},w(N5,h8),r(N5.prototype,{getInterval:function(){return this.interval},find:function(o){var c=h8.getSubnodeIndex(o,this.centre);if(c===-1)return this;if(this.subnode[c]!==null){var m=this.subnode[c];return m.find(o)}return this},insert:function(o){F.isTrue(this.interval===null||this.interval.contains(o.interval));var c=h8.getSubnodeIndex(o.interval,this.centre);if(o.level===this.level-1)this.subnode[c]=o;else{var m=this.createSubnode(c);m.insert(o),this.subnode[c]=m}},isSearchMatch:function(o){return o.overlaps(this.interval)},getSubnode:function(o){return this.subnode[o]===null&&(this.subnode[o]=this.createSubnode(o)),this.subnode[o]},getNode:function(o){var c=h8.getSubnodeIndex(o,this.centre);if(c!==-1){var m=this.getSubnode(c);return m.getNode(o)}return this},createSubnode:function(o){var c=0,m=0;switch(o){case 0:c=this.interval.getMin(),m=this.centre;break;case 1:c=this.centre,m=this.interval.getMax()}var v=new p8(c,m),k=new N5(v,this.level-1);return k},interfaces_:function(){return[]},getClass:function(){return N5}}),N5.createNode=function(o){var c=new X0(o),m=new N5(c.getInterval(),c.getLevel());return m},N5.createExpanded=function(o,c){var m=new p8(c);o!==null&&m.expandToInclude(o.interval);var v=N5.createNode(m);return o!==null&&v.insert(o),v},w(Q0,h8),r(Q0.prototype,{insert:function(o,c){var m=h8.getSubnodeIndex(o,Q0.origin);if(m===-1)return this.add(c),null;var v=this.subnode[m];if(v===null||!v.getInterval().contains(o)){var k=N5.createExpanded(v,o);this.subnode[m]=k}this.insertContained(this.subnode[m],o,c)},isSearchMatch:function(o){return!0},insertContained:function(o,c,m){F.isTrue(o.getInterval().contains(c));var v=Ye.isZeroWidth(c.getMin(),c.getMax()),k=null;k=v?o.find(c):o.getNode(c),k.add(m)},interfaces_:function(){return[]},getClass:function(){return Q0}}),Q0.origin=0,r(y5.prototype,{size:function(){return this.root!==null?this.root.size():0},insert:function(o,c){this.collectStats(o);var m=y5.ensureExtent(o,this.minExtent);this.root.insert(m,c)},query:function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var o=arguments[0];return this.query(new p8(o,o))}if(arguments[0]instanceof p8){var c=arguments[0],m=new J;return this.query(c,m),m}}else if(arguments.length===2){var v=arguments[0],k=arguments[1];this.root.addAllItemsFromOverlapping(v,k)}},iterator:function(){var o=new J;return this.root.addAllItems(o),o.iterator()},remove:function(o,c){var m=y5.ensureExtent(o,this.minExtent);return this.root.remove(m,c)},collectStats:function(o){var c=o.getWidth();c0&&(this.minExtent=c)},depth:function(){return this.root!==null?this.root.depth():0},nodeSize:function(){return this.root!==null?this.root.nodeSize():0},interfaces_:function(){return[]},getClass:function(){return y5}}),y5.ensureExtent=function(o,c){var m=o.getMin(),v=o.getMax();return m!==v?o:(m===v&&(m-=c/2,v=m+c/2),new p8(m,v))},r(H7.prototype,{isInside:function(o){},interfaces_:function(){return[]},getClass:function(){return H7}}),r(kr.prototype,{testLineSegment:function(o,c){var m=null,v=null,k=null,T=null,B=null,H=c.p0,t1=c.p1;v=H.x-o.x,k=H.y-o.y,T=t1.x-o.x,B=t1.y-o.y,(k>0&&0>=B||B>0&&0>=k)&&(m=Y5.signOfDet2x2(v,k,T,B)/(B-k),m>0&&this.crossings++)},buildIndex:function(){this.tree=new y5;for(var o=G4.removeRepeatedPoints(this.ring.getCoordinates()),c=Q5.getChains(o),m=0;m1)return this.invalidPoint=v.getEdge().getCoordinate(0),!0}return!1},isNodeConsistentArea:function(){var o=this.geomGraph.computeSelfNodes(this.li,!0,!0);return o.hasProperIntersection()?(this.invalidPoint=o.getProperIntersectionPoint(),!1):(this.nodeGraph.build(this.geomGraph),this.isNodeEdgeAreaLabelsConsistent())},interfaces_:function(){return[]},getClass:function(){return e9}}),r(t9.prototype,{buildIndex:function(){this.index=new W2;for(var o=0;o=1&&(c=o.getCoordinateN(0)),this.validErr=new p2(p2.RING_NOT_CLOSED,c)}},checkShellsNotNested:function(o,c){for(var m=0;m=2&&(v=!0);var k=c.edit(o,new Cr(this.targetPM,v));return k},changePM:function(o,c){var m=this.createEditor(o.getFactory(),c);return m.edit(o,new i4.NoOpGeometryOperation)},setRemoveCollapsedComponents:function(o){this.removeCollapsed=o},createFactory:function(o,c){var m=new n2(c,o.getSRID(),o.getCoordinateSequenceFactory());return m},setChangePrecisionModel:function(o){this.changePrecisionModel=o},reduce:function(o){var c=this.reducePointwise(o);return this.isPointwise?c:n1(c,w1)?c.isValid()?c:this.fixPolygonalTopology(c):c},setPointwise:function(o){this.isPointwise=o},createEditor:function(o,c){if(o.getPrecisionModel()===c)return new i4;var m=this.createFactory(o,c),v=new i4(m);return v},interfaces_:function(){return[]},getClass:function(){return r9}}),r9.reduce=function(o,c){var m=new r9(c);return m.reduce(o)},r9.reducePointwise=function(o,c){var m=new r9(c);return m.setPointwise(!0),m.reduce(o)};var h=Object.freeze({GeometryPrecisionReducer:r9});r(Er.prototype,{simplifySection:function(o,c){if(o+1===c)return null;this.seg.p0=this.pts[o],this.seg.p1=this.pts[c];for(var m=-1,v=o,k=o+1;c>k;k++){var T=this.seg.distance(this.pts[k]);T>m&&(m=T,v=k)}if(mk;k++)this.usePt[k]=!1;else this.simplifySection(o,v),this.simplifySection(v,c)},setDistanceTolerance:function(o){this.distanceTolerance=o},simplify:function(){this.usePt=new Array(this.pts.length).fill(null);for(var o=0;oo)throw new s;this.distanceTolerance=o},interfaces_:function(){return[]},getClass:function(){return B8}}),B8.simplify=function(o,c){var m=new B8(o);return m.setDistanceTolerance(c),m.getResultGeometry()},w(l6,Lt),r(l6.prototype,{transformPolygon:function(o,c){if(o.isEmpty())return null;var m=Lt.prototype.transformPolygon.call(this,o,c);return c instanceof J1?m:this.createValidArea(m)},createValidArea:function(o){return this.isEnsureValidTopology?o.buffer(0):o},transformCoordinates:function(o,c){var m=o.toCoordinateArray(),v=null;return v=m.length===0?new Array(0).fill(null):Er.simplify(m,this.distanceTolerance),this.factory.getCoordinateSequenceFactory().create(v)},transformMultiPolygon:function(o,c){var m=Lt.prototype.transformMultiPolygon.call(this,o,c);return this.createValidArea(m)},transformLinearRing:function(o,c){var m=c instanceof $1,v=Lt.prototype.transformLinearRing.call(this,o,c);return!m||v instanceof j1?v:null},interfaces_:function(){return[]},getClass:function(){return l6}}),B8.DPTransformer=l6,w(n7,x2),r(n7.prototype,{getIndex:function(){return this.index},getParent:function(){return this.parent},interfaces_:function(){return[]},getClass:function(){return n7}}),r(xe.prototype,{addToResult:function(o){this.resultSegs.add(o)},asLineString:function(){return this.parentLine.getFactory().createLineString(xe.extractCoordinates(this.resultSegs))},getResultSize:function(){var o=this.resultSegs.size();return o===0?0:o+1},getParent:function(){return this.parentLine},getSegment:function(o){return this.segs[o]},getParentCoordinates:function(){return this.parentLine.getCoordinates()},getMinimumSize:function(){return this.minimumSize},asLinearRing:function(){return this.parentLine.getFactory().createLinearRing(xe.extractCoordinates(this.resultSegs))},getSegments:function(){return this.segs},init:function(){var o=this.parentLine.getCoordinates();this.segs=new Array(o.length-1).fill(null);for(var c=0;cthis.distanceTolerance&&(T=!1);var d1=new x2;if(d1.p0=this.linePts[o],d1.p1=this.linePts[c],v[0]=o,v[1]=c,this.hasBadIntersection(this.line,v,d1)&&(T=!1),T){var k=this.flatten(o,c);return this.line.addToResult(k),null}this.simplifySection(o,t1,m),this.simplifySection(t1,c,m)},hasBadOutputIntersection:function(o){for(var c=this.outputIndex.query(o),m=c.iterator();m.hasNext();){var v=m.next();if(this.hasInteriorIntersection(v,o))return!0}return!1},findFurthestPoint:function(o,c,m,v){var k=new x2;k.p0=o[c],k.p1=o[m];for(var T=-1,B=c,H=c+1;m>H;H++){var t1=o[H],d1=k.distance(t1);d1>T&&(T=d1,B=H)}return v[0]=T,B},simplify:function(o){this.line=o,this.linePts=o.getParentCoordinates(),this.simplifySection(0,this.linePts.length-1,0)},remove:function(o,c,m){for(var v=c;m>v;v++){var k=o.getSegment(v);this.inputIndex.remove(k)}},hasInteriorIntersection:function(o,c){return this.li.computeIntersection(o.p0,o.p1,c.p0,c.p1),this.li.isInteriorIntersection()},hasBadInputIntersection:function(o,c,m){for(var v=this.inputIndex.query(m),k=v.iterator();k.hasNext();){var T=k.next();if(this.hasInteriorIntersection(T,m)){if(u6.isInLineSection(o,c,T))continue;return!0}}return!1},interfaces_:function(){return[]},getClass:function(){return u6}}),u6.isInLineSection=function(o,c,m){if(m.getParent()!==o.getParent())return!1;var v=m.getIndex();return v>=c[0]&&vo)throw new s;this.lineSimplifier.setDistanceTolerance(o)},interfaces_:function(){return[]},getClass:function(){return G8}}),G8.simplify=function(o,c){var m=new G8(o);return m.setDistanceTolerance(c),m.getResultGeometry()},w(n9,Lt),r(n9.prototype,{transformCoordinates:function(o,c){if(o.size()===0)return null;if(c instanceof ve){var m=this.linestringMap.get(c);return this.createCoordinateSequence(m.getResultCoordinates())}return Lt.prototype.transformCoordinates.call(this,o,c)},interfaces_:function(){return[]},getClass:function(){return n9}}),r(l0.prototype,{filter:function(o){if(o instanceof ve){var c=o;if(c.isEmpty())return null;var m=c.isClosed()?4:2,v=new xe(c,m);this.tps.linestringMap.put(c,v)}},interfaces_:function(){return[E4]},getClass:function(){return l0}}),G8.LineStringTransformer=n9,G8.LineStringMapBuilderFilter=l0;var b=Object.freeze({DouglasPeuckerSimplifier:B8,TopologyPreservingSimplifier:G8});r(u0.prototype,{splitAt:function(){if(arguments.length===1){var o=arguments[0],c=this.minimumLen/this.segLen;if(o.distance(this.seg.p0)k&&(t1=k),T.setMinimumLength(t1),T.splitAt(B),T.getSplitPoint()},interfaces_:function(){return[bi]},getClass:function(){return c6}}),c6.projectedSplitPoint=function(o,c){var m=o.getLineSegment(),v=m.project(c);return v},r(k3.prototype,{interfaces_:function(){return[]},getClass:function(){return k3}}),k3.triArea=function(o,c,m){return(c.x-o.x)*(m.y-o.y)-(c.y-o.y)*(m.x-o.x)},k3.isInCircleDDNormalized=function(o,c,m,v){var k=_1.valueOf(o.x).selfSubtract(v.x),T=_1.valueOf(o.y).selfSubtract(v.y),B=_1.valueOf(c.x).selfSubtract(v.x),H=_1.valueOf(c.y).selfSubtract(v.y),t1=_1.valueOf(m.x).selfSubtract(v.x),d1=_1.valueOf(m.y).selfSubtract(v.y),M1=k.multiply(H).selfSubtract(B.multiply(T)),R1=B.multiply(d1).selfSubtract(t1.multiply(H)),N1=t1.multiply(T).selfSubtract(k.multiply(d1)),V1=k.multiply(k).selfAdd(T.multiply(T)),K1=B.multiply(B).selfAdd(H.multiply(H)),U1=t1.multiply(t1).selfAdd(d1.multiply(d1)),e4=V1.selfMultiply(R1).selfAdd(K1.selfMultiply(N1)).selfAdd(U1.selfMultiply(M1)),u4=e4.doubleValue()>0;return u4},k3.checkRobustInCircle=function(o,c,m,v){var k=k3.isInCircleNonRobust(o,c,m,v),T=k3.isInCircleDDSlow(o,c,m,v),B=k3.isInCircleCC(o,c,m,v),H=s3.circumcentre(o,c,m);E1.out.println("p radius diff a = "+Math.abs(v.distance(H)-o.distance(H))/o.distance(H)),k===T&&k===B||(E1.out.println("inCircle robustness failure (double result = "+k+", DD result = "+T+", CC result = "+B+")"),E1.out.println(x3.toLineString(new Y4([o,c,m,v]))),E1.out.println("Circumcentre = "+x3.toPoint(H)+" radius = "+o.distance(H)),E1.out.println("p radius diff a = "+Math.abs(v.distance(H)/o.distance(H)-1)),E1.out.println("p radius diff b = "+Math.abs(v.distance(H)/c.distance(H)-1)),E1.out.println("p radius diff c = "+Math.abs(v.distance(H)/m.distance(H)-1)),E1.out.println())},k3.isInCircleDDFast=function(o,c,m,v){var k=_1.sqr(o.x).selfAdd(_1.sqr(o.y)).selfMultiply(k3.triAreaDDFast(c,m,v)),T=_1.sqr(c.x).selfAdd(_1.sqr(c.y)).selfMultiply(k3.triAreaDDFast(o,m,v)),B=_1.sqr(m.x).selfAdd(_1.sqr(m.y)).selfMultiply(k3.triAreaDDFast(o,c,v)),H=_1.sqr(v.x).selfAdd(_1.sqr(v.y)).selfMultiply(k3.triAreaDDFast(o,c,m)),t1=k.selfSubtract(T).selfAdd(B).selfSubtract(H),d1=t1.doubleValue()>0;return d1},k3.isInCircleCC=function(o,c,m,v){var k=s3.circumcentre(o,c,m),T=o.distance(k),B=v.distance(k)-T;return 0>=B},k3.isInCircleNormalized=function(o,c,m,v){var k=o.x-v.x,T=o.y-v.y,B=c.x-v.x,H=c.y-v.y,t1=m.x-v.x,d1=m.y-v.y,M1=k*H-B*T,R1=B*d1-t1*H,N1=t1*T-k*d1,V1=k*k+T*T,K1=B*B+H*H,U1=t1*t1+d1*d1,e4=V1*R1+K1*N1+U1*M1;return e4>0},k3.isInCircleDDSlow=function(o,c,m,v){var k=_1.valueOf(v.x),T=_1.valueOf(v.y),B=_1.valueOf(o.x),H=_1.valueOf(o.y),t1=_1.valueOf(c.x),d1=_1.valueOf(c.y),M1=_1.valueOf(m.x),R1=_1.valueOf(m.y),N1=B.multiply(B).add(H.multiply(H)).multiply(k3.triAreaDDSlow(t1,d1,M1,R1,k,T)),V1=t1.multiply(t1).add(d1.multiply(d1)).multiply(k3.triAreaDDSlow(B,H,M1,R1,k,T)),K1=M1.multiply(M1).add(R1.multiply(R1)).multiply(k3.triAreaDDSlow(B,H,t1,d1,k,T)),U1=k.multiply(k).add(T.multiply(T)).multiply(k3.triAreaDDSlow(B,H,t1,d1,M1,R1)),e4=N1.subtract(V1).add(K1).subtract(U1),u4=e4.doubleValue()>0;return u4},k3.isInCircleNonRobust=function(o,c,m,v){var k=(o.x*o.x+o.y*o.y)*k3.triArea(c,m,v)-(c.x*c.x+c.y*c.y)*k3.triArea(o,m,v)+(m.x*m.x+m.y*m.y)*k3.triArea(o,c,v)-(v.x*v.x+v.y*v.y)*k3.triArea(o,c,m)>0;return k},k3.isInCircleRobust=function(o,c,m,v){return k3.isInCircleNormalized(o,c,m,v)},k3.triAreaDDSlow=function(o,c,m,v,k,T){return m.subtract(o).multiply(T.subtract(c)).subtract(v.subtract(c).multiply(k.subtract(o)))},k3.triAreaDDFast=function(o,c,m){var v=_1.valueOf(c.x).selfSubtract(o.x).selfMultiply(_1.valueOf(m.y).selfSubtract(o.y)),k=_1.valueOf(c.y).selfSubtract(o.y).selfMultiply(_1.valueOf(m.x).selfSubtract(o.x));return v.selfSubtract(k)},r(i3.prototype,{circleCenter:function(o,c){var m=new i3(this.getX(),this.getY()),v=this.bisector(m,o),k=this.bisector(o,c),T=new a4(v,k),B=null;try{B=new i3(T.getX(),T.getY())}catch(H){if(!(H instanceof i1))throw H;E1.err.println("a: "+m+" b: "+o+" c: "+c),E1.err.println(H)}finally{}return B},dot:function(o){return this.p.x*o.getX()+this.p.y*o.getY()},magn:function(){return Math.sqrt(this.p.x*this.p.x+this.p.y*this.p.y)},getZ:function(){return this.p.z},bisector:function(o,c){var m=c.getX()-o.getX(),v=c.getY()-o.getY(),k=new a4(o.getX()+m/2,o.getY()+v/2,1),T=new a4(o.getX()-v+m/2,o.getY()+m+v/2,1);return new a4(k,T)},equals:function(){if(arguments.length===1){var o=arguments[0];return this.p.x===o.getX()&&this.p.y===o.getY()}if(arguments.length===2){var c=arguments[0],m=arguments[1];return this.p.distance(c.getCoordinate())0},getX:function(){return this.p.x},crossProduct:function(o){return this.p.x*o.getY()-this.p.y*o.getX()},setZ:function(o){this.p.z=o},times:function(o){return new i3(o*this.p.x,o*this.p.y)},cross:function(){return new i3(this.p.y,-this.p.x)},leftOf:function(o){return this.isCCW(o.orig(),o.dest())},toString:function(){return"POINT ("+this.p.x+" "+this.p.y+")"},sub:function(o){return new i3(this.p.x-o.getX(),this.p.y-o.getY())},getY:function(){return this.p.y},classify:function(o,c){var m=this,v=c.sub(o),k=m.sub(o),T=v.crossProduct(k);return T>0?i3.LEFT:0>T?i3.RIGHT:v.getX()*k.getX()T&&(k=T),T=this.distance(c,this),k>T&&(k=T),v/k},interfaces_:function(){return[]},getClass:function(){return i3}}),i3.interpolateZ=function(){if(arguments.length===3){var o=arguments[0],c=arguments[1],m=arguments[2],v=c.distance(m),k=o.distance(c),T=m.z-c.z,B=c.z+T*(k/v);return B}if(arguments.length===4){var H=arguments[0],t1=arguments[1],d1=arguments[2],M1=arguments[3],R1=t1.x,N1=t1.y,V1=d1.x-R1,K1=M1.x-R1,U1=d1.y-N1,e4=M1.y-N1,u4=V1*e4-K1*U1,r4=H.x-R1,y4=H.y-N1,O4=(e4*r4-K1*y4)/u4,T4=(-U1*r4+V1*y4)/u4,P4=t1.z+O4*(d1.z-t1.z)+T4*(M1.z-t1.z);return P4}},i3.LEFT=0,i3.RIGHT=1,i3.BEYOND=2,i3.BEHIND=3,i3.BETWEEN=4,i3.ORIGIN=5,i3.DESTINATION=6,w(j8,i3),r(j8.prototype,{getConstraint:function(){return this.constraint},setOnConstraint:function(o){this._isOnConstraint=o},merge:function(o){o._isOnConstraint&&(this._isOnConstraint=!0,this.constraint=o.constraint)},isOnConstraint:function(){return this._isOnConstraint},setConstraint:function(o){this._isOnConstraint=!0,this.constraint=o},interfaces_:function(){return[]},getClass:function(){return j8}}),r(I3.prototype,{equalsNonOriented:function(o){return this.equalsOriented(o)?!0:!!this.equalsOriented(o.sym())},toLineSegment:function(){return new x2(this.vertex.getCoordinate(),this.dest().getCoordinate())},dest:function(){return this.sym().orig()},oNext:function(){return this.next},equalsOriented:function(o){return!(!this.orig().getCoordinate().equals2D(o.orig().getCoordinate())||!this.dest().getCoordinate().equals2D(o.dest().getCoordinate()))},dNext:function(){return this.sym().oNext().sym()},lPrev:function(){return this.next.sym()},rPrev:function(){return this.sym().oNext()},rot:function(){return this._rot},oPrev:function(){return this._rot.next._rot},sym:function(){return this._rot._rot},setOrig:function(o){this.vertex=o},lNext:function(){return this.invRot().oNext().rot()},getLength:function(){return this.orig().getCoordinate().distance(this.dest().getCoordinate())},invRot:function(){return this._rot.sym()},setDest:function(o){this.sym().setOrig(o)},setData:function(o){this.data=o},getData:function(){return this.data},delete:function(){this._rot=null},orig:function(){return this.vertex},rNext:function(){return this._rot.next.invRot()},toString:function(){var o=this.vertex.getCoordinate(),c=this.dest().getCoordinate();return x3.toLineString(o,c)},isLive:function(){return this._rot!==null},getPrimary:function(){return this.orig().getCoordinate().compareTo(this.dest().getCoordinate())m?10*c:10*m,this.frameVertex[0]=new i3((o.getMaxX()+o.getMinX())/2,o.getMaxY()+v),this.frameVertex[1]=new i3(o.getMinX()-v,o.getMinY()-v),this.frameVertex[2]=new i3(o.getMaxX()+v,o.getMinY()-v),this.frameEnv=new r1(this.frameVertex[0].getCoordinate(),this.frameVertex[1].getCoordinate()),this.frameEnv.expandToInclude(this.frameVertex[2].getCoordinate())},getTriangleCoordinates:function(o){var c=new s9;return this.visitTriangles(c,o),c.getTriangles()},getVertices:function(o){for(var c=new Be,m=this.quadEdges.iterator();m.hasNext();){var v=m.next(),k=v.orig();!o&&this.isFrameVertex(k)||c.add(k);var T=v.dest();!o&&this.isFrameVertex(T)||c.add(T)}return c},fetchTriangleToVisit:function(o,c,m,v){var k=o,T=0,B=!1;do{this.triEdges[T]=k,this.isFrameEdge(k)&&(B=!0);var H=k.sym();v.contains(H)||c.push(H),v.add(k),T++,k=k.lNext()}while(k!==o);return B&&!m?null:this.triEdges},getEdges:function(){if(arguments.length===0)return this.quadEdges;if(arguments.length===1){for(var o=arguments[0],c=this.getPrimaryEdges(!1),m=new Array(c.size()).fill(null),v=0,k=c.iterator();k.hasNext();){var T=k.next();m[v++]=o.createLineString([T.orig().getCoordinate(),T.dest().getCoordinate()])}return o.createMultiLineString(m)}},getVertexUniqueEdges:function(o){for(var c=new J,m=new Be,v=this.quadEdges.iterator();v.hasNext();){var k=v.next(),T=k.orig();m.contains(T)||(m.add(T),!o&&this.isFrameVertex(T)||c.add(k));var B=k.sym(),H=B.orig();m.contains(H)||(m.add(H),!o&&this.isFrameVertex(H)||c.add(B))}return c},getTriangleEdges:function(o){var c=new xi;return this.visitTriangles(c,o),c.getTriangleEdges()},getPrimaryEdges:function(o){this.visitedKey++;var c=new J,m=new zt;m.push(this.startingEdge);for(var v=new Be;!m.empty();){var k=m.pop();if(!v.contains(k)){var T=k.getPrimary();!o&&this.isFrameEdge(T)||c.add(T),m.push(k.oNext()),m.push(k.sym().oNext()),v.add(k),v.add(k.sym())}}return c},delete:function(o){I3.splice(o,o.oPrev()),I3.splice(o.sym(),o.sym().oPrev());var c=o.sym(),m=o.rot(),v=o.rot().sym();this.quadEdges.remove(o),this.quadEdges.remove(c),this.quadEdges.remove(m),this.quadEdges.remove(v),o.delete(),c.delete(),m.delete(),v.delete()},locateFromEdge:function(o,c){for(var m=0,v=this.quadEdges.size(),k=c;;){if(m++,m>v)throw new c0(k.toLineSegment());if(o.equals(k.orig())||o.equals(k.dest()))break;if(o.rightOf(k))k=k.sym();else if(o.rightOf(k.oNext())){if(o.rightOf(k.dPrev()))break;k=k.dPrev()}else k=k.oNext()}return k},getTolerance:function(){return this.tolerance},getVoronoiCellPolygons:function(o){this.visitTriangles(new p3,!0);for(var c=new J,m=this.getVertexUniqueEdges(!1),v=m.iterator();v.hasNext();){var k=v.next();c.add(this.getVoronoiCellPolygon(k,o))}return c},getVoronoiDiagram:function(o){var c=this.getVoronoiCellPolygons(o);return o.createGeometryCollection(n2.toGeometryArray(c))},getTriangles:function(o){for(var c=this.getTriangleCoordinates(!1),m=new Array(c.size()).fill(null),v=0,k=c.iterator();k.hasNext();){var T=k.next();m[v++]=o.createPolygon(o.createLinearRing(T),null)}return o.createGeometryCollection(m)},insertSite:function(o){var c=this.locate(o);if(o.equals(c.orig(),this.tolerance)||o.equals(c.dest(),this.tolerance))return c;var m=this.makeEdge(c.orig(),o);I3.splice(m,c);var v=m;do m=this.connect(c,m.sym()),c=m.oPrev();while(c.lNext()!==v);return v},locate:function(){if(arguments.length===1){if(arguments[0]instanceof i3){var o=arguments[0];return this.locator.locate(o)}if(arguments[0]instanceof N){var c=arguments[0];return this.locator.locate(new i3(c))}}else if(arguments.length===2){var m=arguments[0],v=arguments[1],k=this.locator.locate(new i3(m));if(k===null)return null;var T=k;k.dest().getCoordinate().equals2D(m)&&(T=k.sym());var B=T;do{if(B.dest().getCoordinate().equals2D(v))return B;B=B.oNext()}while(B!==T);return null}},interfaces_:function(){return[]},getClass:function(){return Pt}}),Pt.getTriangleEdges=function(o,c){if(c[0]=o,c[1]=c[0].lNext(),c[2]=c[1].lNext(),c[2].lNext()!==c[0])throw new s},r(p3.prototype,{visit:function(o){for(var c=o[0].orig().getCoordinate(),m=o[1].orig().getCoordinate(),v=o[2].orig().getCoordinate(),k=s3.circumcentre(c,m,v),T=new i3(k),B=0;3>B;B++)o[B].rot().setOrig(T)},interfaces_:function(){return[o9]},getClass:function(){return p3}}),r(xi.prototype,{getTriangleEdges:function(){return this.triList},visit:function(o){this.triList.add(o.clone())},interfaces_:function(){return[o9]},getClass:function(){return xi}}),r(d0.prototype,{visit:function(o){this.triList.add([o[0].orig(),o[1].orig(),o[2].orig()])},getTriangleVertices:function(){return this.triList},interfaces_:function(){return[o9]},getClass:function(){return d0}}),r(s9.prototype,{checkTriangleSize:function(o){o.length>=2?x3.toLineString(o[0],o[1]):o.length>=1&&x3.toPoint(o[0])},visit:function(o){this.coordList.clear();for(var c=0;3>c;c++){var m=o[c].orig();this.coordList.add(m.getCoordinate())}if(this.coordList.size()>0){this.coordList.closeRing();var v=this.coordList.toCoordinateArray();if(v.length!==4)return null;this.triCoords.add(v)}},getTriangles:function(){return this.triCoords},interfaces_:function(){return[o9]},getClass:function(){return s9}}),Pt.TriangleCircumcentreVisitor=p3,Pt.TriangleEdgesListVisitor=xi,Pt.TriangleVertexListVisitor=d0,Pt.TriangleCoordinatesVisitor=s9,Pt.EDGE_COINCIDENCE_TOL_FACTOR=1e3,r(d6.prototype,{getLineSegment:function(){return this.ls},getEndZ:function(){var o=this.ls.getCoordinate(1);return o.z},getStartZ:function(){var o=this.ls.getCoordinate(0);return o.z},intersection:function(o){return this.ls.intersection(o.getLineSegment())},getStart:function(){return this.ls.getCoordinate(0)},getEnd:function(){return this.ls.getCoordinate(1)},getEndY:function(){var o=this.ls.getCoordinate(1);return o.y},getStartX:function(){var o=this.ls.getCoordinate(0);return o.x},equalsTopo:function(o){return this.ls.equalsTopo(o.getLineSegment())},getStartY:function(){var o=this.ls.getCoordinate(0);return o.y},setData:function(o){this.data=o},getData:function(){return this.data},getEndX:function(){var o=this.ls.getCoordinate(1);return o.x},toString:function(){return this.ls.toString()},interfaces_:function(){return[]},getClass:function(){return d6}}),r(l9.prototype,{visit:function(o){},interfaces_:function(){return[]},getClass:function(){return l9}}),r(Ar.prototype,{isRepeated:function(){return this.count>1},getRight:function(){return this.right},getCoordinate:function(){return this.p},setLeft:function(o){this.left=o},getX:function(){return this.p.x},getData:function(){return this.data},getCount:function(){return this.count},getLeft:function(){return this.left},getY:function(){return this.p.y},increment:function(){this.count=this.count+1},setRight:function(o){this.right=o},interfaces_:function(){return[]},getClass:function(){return Ar}}),r(h0.prototype,{insert:function(){if(arguments.length===1){var o=arguments[0];return this.insert(o,null)}if(arguments.length===2){var c=arguments[0],m=arguments[1];if(this.root===null)return this.root=new Ar(c,m),this.root;if(this.tolerance>0){var v=this.findBestMatchNode(c);if(v!==null)return v.increment(),v}return this.insertExact(c,m)}},query:function(){var o=arguments,c=this;if(arguments.length===1){var m=arguments[0],v=new J;return this.query(m,v),v}if(arguments.length===2){if(arguments[0]instanceof r1&&n1(arguments[1],P))(function(){var B=o[0],H=o[1];c.queryNode(c.root,B,!0,{interfaces_:function(){return[l9]},visit:function(t1){H.add(t1)}})})();else if(arguments[0]instanceof r1&&n1(arguments[1],l9)){var k=arguments[0],T=arguments[1];this.queryNode(this.root,k,!0,T)}}},queryNode:function(o,c,m,v){if(o===null)return null;var k=null,T=null,B=null;m?(k=c.getMinX(),T=c.getMaxX(),B=o.getX()):(k=c.getMinY(),T=c.getMaxY(),B=o.getY());var H=B>k,t1=T>=B;H&&this.queryNode(o.getLeft(),c,!m,v),c.contains(o.getCoordinate())&&v.visit(o),t1&&this.queryNode(o.getRight(),c,!m,v)},findBestMatchNode:function(o){var c=new Tr(o,this.tolerance);return this.query(c.queryEnvelope(),c),c.getNode()},isEmpty:function(){return this.root===null},insertExact:function(o,c){for(var m=this.root,v=this.root,k=!0,T=!0;m!==null;){if(m!==null){var B=o.distance(m.getCoordinate())H;H++)v.add(T.getCoordinate(),!0);return v.toCoordinateArray()}},r(Tr.prototype,{visit:function(o){var c=this.p.distance(o.getCoordinate()),m=c0&&oN1){var V1=N1;(H===null||t1>V1)&&(H=R1,t1=V1)}}}return H},getConstraintSegments:function(){return this.segments},setSplitPointFinder:function(o){this.splitFinder=o},getConvexHull:function(){return this.convexHull},getTolerance:function(){return this.tolerance},enforceGabriel:function(o){for(var c=new J,m=0,v=new J,k=o.iterator();k.hasNext();){var T=k.next(),B=this.findNonGabrielPoint(T);if(B!==null){this.splitPt=this.splitFinder.findSplitPoint(T,B);var H=this.createVertex(this.splitPt,T),t1=(this.insertSite(H),new d6(T.getStartX(),T.getStartY(),T.getStartZ(),H.getX(),H.getY(),H.getZ(),T.getData())),d1=new d6(H.getX(),H.getY(),H.getZ(),T.getEndX(),T.getEndY(),T.getEndZ(),T.getData());c.add(t1),c.add(d1),v.add(T),m+=1}}return o.removeAll(v),o.addAll(c),m},createVertex:function(){if(arguments.length===1){var o=arguments[0],c=null;return c=this.vertexFactory!==null?this.vertexFactory.createVertex(o,null):new j8(o)}if(arguments.length===2){var m=arguments[0],v=arguments[1],c=null;return c=this.vertexFactory!==null?this.vertexFactory.createVertex(m,v):new j8(m),c.setOnConstraint(!0),c}},getSubdivision:function(){return this.subdiv},computeBoundingBox:function(){var o=n5.computeVertexEnvelope(this.initialVertices),c=n5.computeVertexEnvelope(this.segVertices),m=new r1(o);m.expandToInclude(c);var v=.2*m.getWidth(),k=.2*m.getHeight(),T=Math.max(v,k);this.computeAreaEnv=new r1(m),this.computeAreaEnv.expandBy(T)},setVertexFactory:function(o){this.vertexFactory=o},formInitialDelaunay:function(){this.computeBoundingBox(),this.subdiv=new Pt(this.computeAreaEnv,this.tolerance),this.subdiv.setLocator(new j9(this.subdiv)),this.incDel=new a9(this.subdiv),this.insertSites(this.initialVertices)},insertSite:function(){if(arguments[0]instanceof j8){var o=arguments[0],c=this.kdt.insert(o.getCoordinate(),o);if(c.isRepeated()){var m=c.getData();return m.merge(o),m}return this.incDel.insertSite(o),o}if(arguments[0]instanceof N){var v=arguments[0];this.insertSite(this.createVertex(v))}},interfaces_:function(){return[]},getClass:function(){return n5}}),n5.computeVertexEnvelope=function(o){for(var c=new r1,m=o.iterator();m.hasNext();){var v=m.next();c.expandToInclude(v.getCoordinate())}return c},n5.MAX_SPLIT_ITER=99,r(bt.prototype,{create:function(){if(this.subdiv!==null)return null;var o=bt.envelope(this.siteCoords),c=bt.toVertices(this.siteCoords);this.subdiv=new Pt(o,this.tolerance);var m=new a9(this.subdiv);m.insertSites(c)},setTolerance:function(o){this.tolerance=o},setSites:function(){if(arguments[0]instanceof l4){var o=arguments[0];this.siteCoords=bt.extractUniqueCoordinates(o)}else if(n1(arguments[0],Q)){var c=arguments[0];this.siteCoords=bt.unique(G4.toCoordinateArray(c))}},getEdges:function(o){return this.create(),this.subdiv.getEdges(o)},getSubdivision:function(){return this.create(),this.subdiv},getTriangles:function(o){return this.create(),this.subdiv.getTriangles(o)},interfaces_:function(){return[]},getClass:function(){return bt}}),bt.extractUniqueCoordinates=function(o){if(o===null)return new X;var c=o.getCoordinates();return bt.unique(c)},bt.envelope=function(o){for(var c=new r1,m=o.iterator();m.hasNext();){var v=m.next();c.expandToInclude(v)}return c},bt.unique=function(o){var c=G4.copyDeep(o);$.sort(c);var m=new X(c,!1);return m},bt.toVertices=function(o){for(var c=new J,m=o.iterator();m.hasNext();){var v=m.next();c.add(new i3(v))}return c},r($e.prototype,{createSiteVertices:function(o){for(var c=new J,m=o.iterator();m.hasNext();){var v=m.next();this.constraintVertexMap.containsKey(v)||c.add(new j8(v))}return c},create:function(){if(this.subdiv!==null)return null;var o=bt.envelope(this.siteCoords),c=new J;this.constraintLines!==null&&(o.expandToInclude(this.constraintLines.getEnvelopeInternal()),this.createVertices(this.constraintLines),c=$e.createConstraintSegments(this.constraintLines));var m=this.createSiteVertices(this.siteCoords),v=new n5(m,this.tolerance);v.setConstraints(c,new J(this.constraintVertexMap.values())),v.formInitialDelaunay(),v.enforceConstraints(),this.subdiv=v.getSubdivision()},setTolerance:function(o){this.tolerance=o},setConstraints:function(o){this.constraintLines=o},setSites:function(o){this.siteCoords=bt.extractUniqueCoordinates(o)},getEdges:function(o){return this.create(),this.subdiv.getEdges(o)},getSubdivision:function(){return this.create(),this.subdiv},getTriangles:function(o){return this.create(),this.subdiv.getTriangles(o)},createVertices:function(o){for(var c=o.getCoordinates(),m=0;mm;m++)c[m]=arguments[m];return B2.relate.apply(B2,[this].concat(c))},getCentroid:function(){if(this.isEmpty())return this.factory.createPoint();var o=S5.getCentroid(this);return this.createPointFromInternalCoord(o,this)},getInteriorPoint:function(){if(this.isEmpty())return this.factory.createPoint();var o=null,c=this.getDimension();if(c===0){var m=new D8(this);o=m.getInteriorPoint()}else if(c===1){var m=new e0(this);o=m.getInteriorPoint()}else{var m=new g5(this);o=m.getInteriorPoint()}return this.createPointFromInternalCoord(o,this)},symDifference:function(o){if(this.isEmpty()||o.isEmpty()){if(this.isEmpty()&&o.isEmpty())return Me.createEmptyResult(Me.SYMDIFFERENCE,this,o,this.factory);if(this.isEmpty())return o.copy();if(o.isEmpty())return this.copy()}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(o),F3.overlayOp(this,o,Me.SYMDIFFERENCE)},createPointFromInternalCoord:function(o,c){return c.getPrecisionModel().makePrecise(o),c.getFactory().createPoint(o)},toText:function(){var o=new x3;return o.write(this)},toString:function(){this.toText()},contains:function(o){return B2.contains(this,o)},difference:function(o){return this.isEmpty()?Me.createEmptyResult(Me.DIFFERENCE,this,o,this.factory):o.isEmpty()?this.copy():(this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(o),F3.overlayOp(this,o,Me.DIFFERENCE))},isSimple:function(){var o=new f7(this);return o.isSimple()},isWithinDistance:function(o,c){var m=this.getEnvelopeInternal().distance(o.getEnvelopeInternal());return m>c?!1:y7.isWithinDistance(this,o,c)},distance:function(o){return y7.distance(this,o)},isEquivalentClass:function(o){return this.getClass()===o.getClass()}});var M="1.1.2 (248dab8)";t.version=M,t.algorithm=_n,t.densify=Si,t.dissolve=vn,t.geom=Ir,t.index=ki,t.io=bn,t.noding=V9,t.operation=I,t.precision=h,t.simplify=b,t.triangulate=C})})(Am,Am.exports);var md=Am.exports,Lb=md,RM=function(n,e){var t=new Lb.io.GeoJSONReader,r=t.read(JSON.stringify(n.geometry)),a=t.read(JSON.stringify(e.geometry)),s=r.union(a),u=new Lb.io.GeoJSONWriter;return s=u.write(s),{type:"Feature",geometry:s,properties:n.properties}},AG=sg,TG=RM,Cp=Y6;function RG(n,e,t){if(typeof e!="number")throw new Error("maxEdge parameter is required");if(typeof t!="string")throw new Error("units parameter is required");var r=AG(n),a=r.features.filter(s);r.features=a;function s(u){var l=u.geometry.coordinates[0][0],p=u.geometry.coordinates[0][1],f=u.geometry.coordinates[0][2],_=Cp(l,p,t),S=Cp(p,f,t),w=Cp(l,f,t);return _1?(_=f.x,S=f.y):F>0&&(_+=w*F,S+=D*F)}return w=l.x-_,D=l.y-S,w*w+D*D}function r(l,p){for(var f=l[0],_=[f],S,w=1,D=l.length;wp&&(_.push(S),f=S);return f!==S&&_.push(S),_}function a(l,p,f,_,S){for(var w=_,D,F=p+1;Fw&&(D=F,w=N)}w>_&&(D-p>1&&a(l,p,D,_,S),S.push(l[D]),f-D>1&&a(l,D,f,_,S))}function s(l,p){var f=l.length-1,_=[l[0]];return a(l,0,f,p,_),_.push(l[f]),_}function u(l,p,f){if(l.length-1?jb(a,r.properties):a})}:n.type==="GeometryCollection"?{type:"GeometryCollection",geometries:n.geometries.map(function(r){return Gb.indexOf(r.type)>-1?Ep({type:"Feature",geometry:r},e,t):r})}:n};function Ep(n,e,t){return n.geometry.type==="LineString"?{type:"LineString",coordinates:Hb(n.geometry.coordinates,e,t)}:n.geometry.type==="MultiLineString"?{type:"MultiLineString",coordinates:n.geometry.coordinates.map(function(r){return Hb(r,e,t)})}:n.geometry.type==="Polygon"?{type:"Polygon",coordinates:Vb(n.geometry.coordinates,e,t)}:n.geometry.type==="MultiPolygon"?{type:"MultiPolygon",coordinates:n.geometry.coordinates.map(function(r){return Vb(r,e,t)})}:n}function GG(n){return n.lengthn&&(e.push(r),t=a)}return e};fd.prototype.vector=function(n){var e=this.pos(n+10),t=this.pos(n-10);return{angle:180*Math.atan2(e.y-t.y,e.x-t.x)/3.14,speed:Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y)+(t.z-e.z)*(t.z-e.z))}};fd.prototype.pos=function(n){function e(u,l,p,f,_){var S=function(F){var N=F*F,q=N*F;return[q,3*N*(1-F),3*F*(1-F)*(1-F),(1-F)*(1-F)*(1-F)]},w=S(u),D={x:_.x*w[0]+f.x*w[1]+p.x*w[2]+l.x*w[3],y:_.y*w[0]+f.y*w[1]+p.y*w[2]+l.y*w[3],z:_.z*w[0]+f.z*w[1]+p.z*w[2]+l.z*w[3]};return D}var t=n-this.delay;tthis.duration&&(t=this.duration-1);var r=t/this.duration;if(r>=1)return this.points[this.length-1];var a=Math.floor((this.points.length-1)*r),s=(this.length-1)*r-a;return e(s,this.points[a],this.controls[a][1],this.controls[a+1][0],this.points[a+1])};var jG=fd,HG=U2.lineString,VG=jG,WG=function(n,e,t){var r=HG([]);r.properties=n.properties;for(var a=new VG({points:n.geometry.coordinates.map(function(l){return{x:l[0],y:l[1]}}),duration:e,sharpness:t}),s=0;sa;)u=Math.floor((r+1)*Math.random()),s=t[u],t[u]=t[r],t[r]=s;return t.slice(a)}var KG=U2.polygon,PM=function(n){var e=[n[0],n[1]],t=[n[0],n[3]],r=[n[2],n[3]],a=[n[2],n[1]];return KG([[e,a,r,t,e]])},ZG=hd,XG=PM,QG=function(n){return XG(ZG(n))},Wb=ln.getCoord,gd=function(n,e){var t=Math.PI/180,r=180/Math.PI,a=Wb(n),s=Wb(e),u=t*a[0],l=t*s[0],p=t*a[1],f=t*s[1],_=Math.sin(l-u)*Math.cos(f),S=Math.cos(p)*Math.sin(f)-Math.sin(p)*Math.cos(f)*Math.cos(l-u),w=r*Math.atan2(_,S);return w},ej=ln.getCoord,DM=U2,tj=DM.point,rj=DM.distanceToRadians,yd=function(n,e,t,r){var a=Math.PI/180,s=180/Math.PI,u=ej(n),l=a*u[0],p=a*u[1],f=a*t,_=rj(e,r),S=Math.asin(Math.sin(p)*Math.cos(_)+Math.cos(p)*Math.sin(_)*Math.cos(f)),w=l+Math.atan2(Math.sin(f)*Math.sin(_)*Math.cos(p),Math.cos(_)-Math.sin(p)*Math.sin(S));return tj([s*w,s*S])},ij=gd,nj=yd,aj=Y6,oj=function(n,e){var t=aj(n,e,"miles"),r=ij(n,e),a=nj(n,t/2,r,"miles");return a},sj=uj,lj={Point:"geometry",MultiPoint:"geometry",LineString:"geometry",MultiLineString:"geometry",Polygon:"geometry",MultiPolygon:"geometry",GeometryCollection:"geometry",Feature:"feature",FeatureCollection:"featurecollection"};function uj(n){if(!n||!n.type)return null;var e=lj[n.type];if(!e)return null;if(e==="geometry")return{type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:n}]};if(e==="feature")return{type:"FeatureCollection",features:[n]};if(e==="featurecollection")return n}var FM=U2,cj=FM.featureCollection,qb=md,$b=sj,dj=function(n,e,t){var r=FM.distanceToDegrees(e,t),a=$b(n),s=$b(cj(a.features.map(function(u){return hj(u,r)})));if(s.features.length>1)return s;if(s.features.length===1)return s.features[0]};function hj(n,e){var t=new qb.io.GeoJSONReader,r=t.read(n.geometry),a=r.buffer(e),s=new qb.io.GeoJSONWriter;return a=s.write(a),{type:"Feature",geometry:a,properties:{}}}var pj=hd,mj=U2.point,OM=function(n){var e=pj(n),t=(e[0]+e[2])/2,r=(e[1]+e[3])/2;return mj([t,r])},fj=O0.coordEach,gj=U2.point,yj=function(n){var e=0,t=0,r=0;return fj(n,function(a){e+=a[0],t+=a[1],r++},!0),gj([e/r,t/r])},_j=O0,vj=function(n){var e={MultiPoint:{coordinates:[],properties:[]},MultiLineString:{coordinates:[],properties:[]},MultiPolygon:{coordinates:[],properties:[]}},t=Object.keys(e).reduce(function(a,s){return a[s.replace("Multi","")]=s,a},{});function r(a,s,u){u?e[s].coordinates=e[s].coordinates.concat(a.geometry.coordinates):e[s].coordinates.push(a.geometry.coordinates),e[s].properties.push(a.properties)}return _j.featureEach(n,function(a){a.geometry&&(e[a.geometry.type]?r(a,a.geometry.type,!0):t[a.geometry.type]&&r(a,t[a.geometry.type],!1))}),{type:"FeatureCollection",features:Object.keys(e).filter(function(a){return e[a].coordinates.length}).sort().map(function(a){return{type:"Feature",properties:{collectedProperties:e[a].properties},geometry:{type:a,coordinates:e[a].coordinates}}})}},bj=U2.featureCollection,wj=O0.coordEach,xj=U2.point,NM=function(n){var e=[];return wj(n,function(t){e.push(xj(t))}),bj(e)},Sj=U2.polygon,kj=qz,Cj=function(n){if(!n.geometry||n.geometry.type!=="Polygon"&&n.geometry.type!=="MultiPolygon")throw new Error("input must be a Polygon or MultiPolygon");var e={type:"FeatureCollection",features:[]};return n.geometry.type==="Polygon"?e.features=Ub(n.geometry.coordinates):n.geometry.coordinates.forEach(function(t){e.features=e.features.concat(Ub(t))}),e};function Ub(n){var e=Ej(n),t=2,r=kj(e.vertices,e.holes,t),a=[],s=[];r.forEach(function(p,f){var _=r[f];s.push([e.vertices[_*t],e.vertices[_*t+1]])});for(var u=0;u0&&(r+=n[a-1].length,t.holes.push(r))}return t}var Yb=md,Mj=function(e,t){var r,a;e.type==="Feature"?r=e.geometry:r=e,t.type==="Feature"?a=t.geometry:a=t;var s=new Yb.io.GeoJSONReader,u=s.read(JSON.stringify(r)),l=s.read(JSON.stringify(a)),p=u.intersection(l);if(!p.isEmpty()){var f=new Yb.io.GeoJSONWriter,_=f.write(p);return{type:"Feature",properties:{},geometry:_}}},Aj=Y6,Tj=function(n,e){for(var t,r=1/0,a=0;a0?f+S[_-1]:f}function p(f,_){f=f*2*Math.PI/u[u.length-1];var S=Math.random();s.push([S*t*Math.sin(f),S*t*Math.cos(f)])}return jM(a)};function Rj(n){return function(e,t){return[e[0]+n[0],e[1]+n[1]]}}function zM(){return Math.random()-.5}function LM(){return zM()*360}function BM(){return zM()*180}function Jb(n){return{type:"Point",coordinates:n||[LM(),BM()]}}function Ij(n){return[Math.random()*(n[2]-n[0])+n[0],Math.random()*(n[3]-n[1])+n[1]]}function Pj(n){return{type:"Polygon",coordinates:n}}function GM(n){return{type:"Feature",geometry:n,properties:{}}}function jM(n){return{type:"FeatureCollection",features:n}}var Dj=yl.exports,Kb=Dj,Fj=function(n,e,t){switch(t=t||{},e=e||1,n){case"point":case"points":case void 0:return Kb.point(e,t.bbox);case"polygon":case"polygons":return Kb.polygon(e,t.num_vertices,t.max_radial_length,t.bbox);default:throw new Error("Unknown type given: valid options are points and polygons")}},Oj=U2.point,Nj=function(n){var e,t={type:"FeatureCollection",features:[]};return n.type==="Feature"?e=n.geometry:e=n,e.coordinates.forEach(function(r){e.coordinates.forEach(function(a){for(var s=0;s=0&&f=0&&_0){e+=Math.abs(Rm(n[0]));for(var t=1;t2){for(i=0;i=a&&s===r.length-1);s++)if(a>=e){var u=e-a;if(u){var l=Uj(r[s],r[s-1])-180,p=Yj(r[s],u,l,t);return p}else return tw(r[s])}else a+=$j(r[s],r[s+1],t);return tw(r[r.length-1])},Kj=Y6,rw=U2.point,Zj=function n(e,t){if(e.type==="FeatureCollection")return e.features.reduce(function(l,p){return l+n(p,t)},0);var r=e.type==="Feature"?e.geometry:e,a,s;if(r.type==="LineString")return Tp(r.coordinates,t);if(r.type==="Polygon"||r.type==="MultiLineString"){for(a=0,s=0;s0&&f0&&_S/2;V&&(P-=S/4);for(var Z=cH([]),J=0;J{const a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="json",a.onload=function(){var s=a.status;s===200?t(a.response):(console.error("COULD NOT GET ",e),r(e))},a.send()})}Fetch(e,t,r){return gu(this,void 0,void 0,function*(){const a=`${e}.${t}.${r}.json`,s=this._host+a;return this._downloadFunction!==void 0?this._downloadFunction(s):Q9.FetchJsonXhr(s)})}FetchCached(e,t,r){return gu(this,void 0,void 0,function*(){const a=`${e}.${t}.${r}.json`;let s=Q9.cache.get(a);if(s!==void 0)return s;const u=this.Fetch(e,t,r);return Q9.cache.set(a,u),u})}GetCountryCodeForTile(e,t,r,a,s){return gu(this,void 0,void 0,function*(){const u=yield this.FetchCached(r,a,s);if(u===void 0)throw`Got undefined for ${r}, ${a}, ${s}`;if(u.length===void 0){const w=u,D=[];for(const F of w.features)if(cw.inside(cw.point([e,t]),F)){const q=F.properties.country;D.push(q)}return D.sort(),D}if(u.length===1)return u;const l=Q9.lon2tile(e,r+1),p=Q9.lat2tile(t,r+1),f=l-a*2+2*(p-s*2),_=u[f];if(_===0)return[];const S=Number(_);return isNaN(S)?[_]:this.GetCountryCodeForTile(e,t,S,Q9.lon2tile(e,S),Q9.lat2tile(t,S))})}}dd.CountryCoder=Q9;Q9.cache=new Map;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CountryCoder=void 0;var e=dd;Object.defineProperty(n,"CountryCoder",{enumerable:!0,get:function(){return e.CountryCoder}})})(yM);class Eo{applyOn(e){const t={...e},r=this.asChange(e);for(const{k:a,v:s}of r)t[a]=s;return t}}class h3 extends Eo{constructor(t,r,a=!1){super();p1(this,"key");p1(this,"value");p1(this,"invert");p1(this,"matchesEmpty");if(this.key=t,this.value=r,this.value instanceof RegExp&&(""+this.value).startsWith("^(^("))throw"Detected a duplicate start marker ^(^( in a regextag:"+this.value;this.invert=a,this.matchesEmpty=h3.doesMatch("",this.value)}static doesMatch(t,r){if(t!==void 0)return typeof t=="number"&&(t=""+t),typeof r=="string"?t===r:r.test(t)}static source(t,r=!0){if(typeof t=="string")return t;if(t===void 0)return;const a=t.source;return r?a:a.startsWith("^(")&&a.endsWith(")$")?a.substring(2,a.length-2):a}asOverpass(){const t=this.invert?"!":"";if(typeof this.key!="string")return[`[~"${this.key.source}"${t}~"${h3.source(this.value)}"]`];if(this.value instanceof RegExp){const r=this.value.source;if(r==="^..*$"||r===".+")return[`[${t}"${this.key}"]`];const a=this.value.ignoreCase?",i":"";return[`["${this.key}"${t}~"${r}"${a}]`]}else return[`["${this.key}"${t}="${this.value}"]`]}asJson(){const t=h3.source(this.value,!1),r=typeof this.value=="string",a=typeof this.value!="string"&&this.value.ignoreCase,s=this.invert?"!":"";return typeof this.key=="string"?r?`${this.key}${s}=${t}`:a?`${this.key}${s}~i~${t}`:`${this.key}${s}~${t}`:`${h3.source(this.key,!1)}${s}~${a?"i~":""}~${t}`}isUsableAsAnswer(){return!1}matchesProperties(t){if(typeof this.key=="string"){let r=t[this.key];return!r||r===""?this.invert!==this.matchesEmpty:typeof r=="string"?h3.doesMatch(r,this.value)!=this.invert:typeof this.value!="string"&&this.value.source===".*"?!this.invert:(typeof r!="string"&&(r=JSON.stringify(r)),h3.doesMatch(r,this.value)!=this.invert)}for(const r in t)if(r!==void 0&&h3.doesMatch(r,this.key)){let a=t[r]??"";return typeof a!="string"&&(a=JSON.stringify(a)),h3.doesMatch(a,this.value)!=this.invert}return this.matchesEmpty?!this.invert:this.invert}asHumanString(t=!1){if(typeof this.key=="string"){const a=typeof this.value=="string"?"=":"~";if(t)return`[${this.key}](https://wiki.osm.org/wiki/Key:${this.key})\`${this.invert?"!":""}${a}${h3.source(this.value)}\``;const s=`${this.key}${this.invert?"!":""}${a}${h3.source(this.value)}`;return t?`\`${s}\``:s}const r=`${this.key.source}${this.invert?"!":""}~~${h3.source(this.value)}`;return t?`\`${r}\``:r}shadows(t){if(t instanceof h3){if((t.key.source??t.key)!==(this.key.source??this.key))return!1;if((t.value.source??t.value)===(this.value.source??this.value)&&this.invert==t.invert)return!0;if(typeof t.value=="string"){const r=h3.doesMatch(t.value,this.value);if(!this.invert&&!t.invert)return r;if(this.invert&&!t.invert||!this.invert&&t.invert)return!r;if(!this.invert&&!t.invert)return r}return!1}return t instanceof it&&h3.doesMatch(t.key,this.key)?this.value.source==="^..*$"?this.invert?t.value==="":!1:this.invert?!1:(this.value.source??this.value)===t.value:!1}usedKeys(){return typeof this.key=="string"?[this.key]:[]}usedTags(){return[]}asChange(t){if(this.invert)return[];if(typeof this.key=="string")return typeof this.value=="string"?[{k:this.key,v:this.value}]:[{k:this.key,v:void 0}];if(typeof this.value=="string"){const r=[];for(const a in t)a.match(this.key)&&r.push({k:a,v:this.value});return r}return[]}optimize(){return this}isNegative(){return this.invert}visit(t){t(this)}asMapboxExpression(){if(typeof this.key=="string"&&typeof this.value=="string")return[this.invert?"!=":"==",["get",this.key],this.value];throw"TODO"}onKey(t){if(typeof this.key=="string")return new h3(t(this.key),this.value,this.invert);throw"Cannot apply onKey on a RegexTag which has a regex key"}not(){return this.invert&&typeof this.key=="string"&&typeof this.value=="string"?new it(this.key,this.value):new h3(this.key,this.value,!this.invert)}}class Jn extends Eo{constructor(t,r,a,s,u){super();p1(this,"key");p1(this,"_predicate");p1(this,"_representation");p1(this,"_boundary");p1(this,"_usesSubstitution");this.key=t,this._predicate=r,this._representation=a,this._boundary=s,this._usesSubstitution=u}asChange(t){throw"A comparable tag can not be used to be uploaded to OSM"}asHumanString(){return this.asJson()}asOverpass(){throw"A comparable tag can not be used as overpass filter"}shadows(t){if(t===this)return!0;if(t instanceof Jn){if(t.key!==this.key)return!1;const r=this._representation==="!this._predicate(a,s),r={"=",">":"",">=":"typeof r=="string"))throw console.error("Assertion failed: invalid subtags:",t),"Assertion failed: invalid subtags found";if(t.some(r=>r===void 0))throw console.error("Assertion failed: invalid subtags:",t),"Assertion failed: invalid subtags found (undefined)"}static construct(t){if(t!==void 0)return t.length===1?t[0]:new Z2(t)}static combine(t,r){const a=[];for(const s of r)a.push(t+s);return a}normalize(){const t=[];for(const r of this.and)r instanceof Z2?t.push(...r.and):t.push(r);return new Z2(t)}matchesProperties(t){for(const r of this.and)if(!r.matchesProperties(t))return!1;return!0}asOverpass(){let t=null;for(const r of this.and){const a=r.asOverpass();if(t===null){t=a;continue}const s=[];for(const u of t)s.push(...Z2.combine(u,a));t=s}return t}asJson(){return{and:this.and.map(t=>t.asJson())}}asHumanString(t,r,a){return this.and.map(s=>{let u=s.asHumanString(t,r,a);return s.or&&(u="("+u+")"),u}).filter(s=>s!=="").join(" & ")}isUsableAsAnswer(){for(const t of this.and)if(!t.isUsableAsAnswer())return!1;return!0}shadows(t){const r=t instanceof Z2?t.and:[t],a=r.map(()=>!1);for(const s of this.and){let u=!0;for(let l=0;l!s)}usedKeys(){return[].concat(...this.and.map(t=>t.usedKeys()))}usedTags(){return[].concat(...this.and.map(t=>t.usedTags()))}asChange(t){const r=[];for(const a of this.and)r.push(...a.asChange(t));return r}removePhraseConsideredKnown(t,r){const a=[];for(const s of this.and){if(s instanceof Z2)throw console.trace("Improper optimization"),"Optimize expressions before using removePhraseConsideredKnown. Found an AND in an AND: "+this.asHumanString();if(s instanceof u5){const u=s.removePhraseConsideredKnown(t,r);if(u===!0)continue;if(u===!1)return!1;a.push(u);continue}if(!(r&&t.shadows(s))){if(!r&&s.shadows(t))return!1;a.push(s)}}return a.length===0?!0:Z2.construct(a).optimize()}optimize(){if(this.and.length===0)return!0;const t=this.and.map(u=>{try{return u.optimize()}catch(l){throw"Could not optimize the value "+JSON.stringify(u)+" due to "+l}}).filter(u=>u!==!0);if(t.some(u=>u===!1))return!1;const r=t;for(let u=0;u!y2.containsEquivalents(a,u.or)),s.length===1)a.push(s[0]);else if(s.length>1){let u=[...s[0].or];for(let l=1;l0;l++){const p=s[l];u=u.filter(f=>p.or.some(_=>_.shadows(f)))}if(u.length===0)a.push(...s);else{const l=[];for(const f of s){const _=$i.safeOr(f).filter(S=>!u.some(w=>w.shadows(S)));_.length>0&&l.push(u5.construct(_))}l.length>0&&u.push(Z2.construct(l));const p=new u5(u).optimize();if(p===!1)return!1;p===!0||(p instanceof Z2?a.push(...$i.safeAnd(p)):a.push(p))}}return a.length===0?!0:y2.ContainsOppositeTags(a)?!1:(y2.sortFilters(a,!0),Z2.construct(a))}isNegative(){return!this.and.some(t=>!t.isNegative())}visit(t){t(this),this.and.forEach(r=>r.visit(t))}asMapboxExpression(){return["all",...this.and.map(t=>t.asMapboxExpression())]}onKey(t){return new Z2(this.and.map(r=>r.onKey(t)))}not(){return new u5(this.and.map(t=>t.not()))}static constructD(t){if(!(!t||t.length===0))return new Z2(t)}}class u5 extends Eo{constructor(t){super();p1(this,"or");this.or=t}static construct(t){return t.length===1?t[0]:new u5(t)}matchesProperties(t){for(const r of this.or)if(r.matchesProperties(t))return!0;return!1}asJson(){return{or:this.or.map(t=>t.asJson())}}asOverpass(){const t=[];for(const r of this.or){const a=r.asOverpass();t.push(...a)}return t}asHumanString(t=!1,r=!1,a={}){return this.or.map(s=>{let u=s.asHumanString(t,r,a);return(s.and||s.or)&&(u="("+u+")"),u}).join(" | ")}isUsableAsAnswer(){return!1}shadows(t){if(t instanceof u5){for(const r of this.or){let a=!1;for(let s=0;st.usedKeys()))}usedTags(){return[].concat(...this.or.map(t=>t.usedTags()))}asChange(t){const r=[];for(const a of this.or)r.push(...a.asChange(t));return r}removePhraseConsideredKnown(t,r){const a=[];for(const s of this.or){if(s instanceof u5)throw"Optimize expressions before using removePhraseConsideredKnown. Found an OR in an OR: "+this.asHumanString();if(s instanceof Z2){const u=s.removePhraseConsideredKnown(t,r);if(u===!1)continue;if(u===!0)return!0;a.push(u);continue}if(r&&t.shadows(s))return!0;!r&&s.shadows(t)||a.push(s)}return a.length===0?!1:u5.construct(a).optimize()}optimize(){if(this.or.length===0)return!1;const t=this.or.map(u=>u.optimize()).filter(u=>u!==!1);if(t.some(u=>u===!0))return!0;const r=t,a=[];let s=[];for(const u of r)if(u instanceof u5)for(const l of $i.safeOr(u))a.push(l);else u instanceof Z2?s.push(u):a.push(u);{let u=!1;do{const l=[];e:for(let p of s){for(const f of a){const _=p.removePhraseConsideredKnown(f,!1);if(_===!1)continue e;if(_===!0)return!0;if(_ instanceof Z2){p=_;continue}if(_ instanceof u5){a.push(...$i.safeOr(_));continue}const S=_;a.push(S),u=!0;continue e}l.push(p)}s=l}while(u)}if(s.length===1)a.push(s[0]);else if(s.length>1){let u=[...s[0].and];for(let l=1;l0;l++){const p=s[l];u=u.filter(f=>p.and.some(_=>_.shadows(f)))}if(u.length===0)a.push(...s);else{const l=[];for(const f of s){const _=$i.safeAnd(f).filter(S=>!u.some(w=>w.shadows(S)));_.length>0&&l.push(Z2.construct(_))}l.length>0&&u.push(u5.construct(l));const p=new Z2(u).optimize();if(p===!0)return!0;p===!1||(p instanceof u5?a.push(...$i.safeOr(p)):a.push(p))}}return a.length===0?!1:y2.ContainsOppositeTags(a)?!0:(y2.sortFilters(a,!1),u5.construct(a))}isNegative(){return this.or.some(t=>t.isNegative())}visit(t){t(this),this.or.forEach(r=>r.visit(t))}asMapboxExpression(){return["any",...this.or.map(t=>t.asMapboxExpression())]}onKey(t){return new u5(this.or.map(r=>r.onKey(t)))}not(){return new Z2(this.or.map(t=>t.not()))}}class Im{static constructLink(e,t){return t!==void 0?`https://wiki.openstreetmap.org/wiki/Tag:${e}%3D${t}`:"https://wiki.openstreetmap.org/wiki/Key:"+e}static constructLinkMd(e,t,r="📖"){const a=this.constructLink(e,t);let s=e;return t&&(s+="="+t),`[${r}${s}](${a})`}}class it extends Eo{constructor(t,r){super();p1(this,"key");p1(this,"value");if(this.key=t,this.value=r,t===void 0||t==="")throw new Error("Invalid key: undefined or empty");if(r===void 0)throw new Error(`Invalid value while constructing a Tag with key '${t}': value is undefined`);if(r.length>255||t.length>255)throw new Error("Invalid tag: length is over 255. The offending tag is: "+t+"="+r+`
Hint: are you importing a tagRendering from one layer into another, with a prefix-key? Make sure you don't re-export it`);r==="*"&&console.warn(`Got suspicious tag ${t}=* ; did you mean ${t}~* ?`)}matchesProperties(t){let r=t[this.key];if(r===void 0&&(this.value===""||this.value===void 0))return!0;if(typeof r!="string"){if(r===!0&&(this.value==="true"||this.value==="yes")||r===!1&&(this.value==="false"||this.value==="no"))return!0;r=""+r}return r===this.value}asOverpass(){return this.value===""?['[!"'+this.key+'"]']:[`["${this.key}"="${this.value}"]`]}asJson(){return this.key+"="+this.value}asHumanString(t,r,a){let s=this.value;if(typeof s!="string"&&(s=JSON.stringify(s)),r&&(s=Se.EllipsesAfter(s,25)),(s===""||s===void 0)&&a!==void 0)return!a||Object.keys(a).length===0?this.key+"=":(a[this.key]??"")===""?"":""+this.key+"";if(t){const u=Im.constructLink(this.key),l=Im.constructLink(this.key,this.value);return`${this.key}=${s}`}return this.key+"="+s}isUsableAsAnswer(){return!0}shadows(t){return t instanceof it?t.key===this.key&&t.value===this.value:t instanceof h3&&(t.key===this.key||!t.invert)?t.matchesProperties({[this.key]:this.value}):t instanceof u5?t.or.some(r=>this.shadows(r)):t instanceof Z2?!t.and.some(r=>!this.shadows(r)):!1}usedKeys(){return[this.key]}usedTags(){return this.value==""?[]:[this]}asChange(){return[{k:this.key,v:this.value}]}optimize(){return this}isNegative(){return this.value===""}visit(t){t(this)}asMapboxExpression(){return this.value===""?["any",["!",["has",this.key]],["==",["get",this.key],""]]:["==",["get",this.key],this.value]}onKey(t){return new it(t(this.key),this.value)}not(){return this.value===""?new h3(this.key,/.+/):new h3(this.key,this.value,!0)}}class S9 extends Eo{constructor(t,r,a=!1){super();p1(this,"key");p1(this,"_value");p1(this,"_invert");this.key=t,this._value=r,this._invert=a}asMapboxExpression(){throw new Error("Method not implemented.")}static substituteString(t,r){for(const a in r)t=t.replace(new RegExp("\\{"+a+"\\}","g"),r[a]);return t.replace(/{.*}/g,"")}asTag(t){if(this._invert)throw"Cannot convert an inverted substituting tag";return new it(this.key,Se.SubstituteKeys(this._value,t))}asHumanString(t,r,a){return this.key+(this._invert?"!":"")+"="+S9.substituteString(this._value,a)}asJson(){return this.key+(this._invert?"!":"")+":="+this._value}asOverpass(){throw"A variable with substitution can not be used to query overpass"}shadows(t){return t instanceof S9?t.key===this.key&&t._value===this._value&&t._invert===this._invert:!1}isUsableAsAnswer(){return!this._invert}matchesProperties(t){const r=t[this.key];if(r===void 0||r==="")return!1;const a=S9.substituteString(this._value,t);return r===a!==this._invert}usedKeys(){return[this.key]}usedTags(){return[]}asChange(t){if(this._invert)throw"An inverted substituting tag can not be used to create a change. The offending tag is "+this.asHumanString();const r=S9.substituteString(this._value,t);if(r.match(/{.*}/)!==null)throw"Could not calculate all the substitutions: still have "+r;return[{k:this.key,v:r}]}optimize(){return this}isNegative(){return this._value===""}visit(t){t(this)}onKey(t){return new S9(t(this.key),this._value,this._invert)}not(){return new S9(this.key,this._value,!this._invert)}}const _H="2025-01-08T13:19:09.546Z",vH={FIXME:82892,access:22628054,"addr:housenumber":165025641,"addr:street":154497295,advertising:194150,aerialway:201233,amenity:28842742,area:1880319,association:1172,barrier:27574562,bench:1527539,bicycle:8258516,bicycle_rental:37580,boundary:2424066,brand:2705551,building:632401528,"camera:direction":81659,climbing:22893,club:63216,"construction:amenity":2408,conveying:31327,craft:329502,crossing:11005804,cycle_network:37100,cyclestreet:16996,cycleway:1117545,direction:3719573,"disused:amenity":82110,dog:125320,door:335646,drinking_water:160936,emergency:2862443,entrance:4361168,fixme:1856231,footway:9789733,"generator:source":3826458,guest_house:19747,healthcare:909641,highway:268474627,historic:1970609,image:347933,"image:0":1475,"image:1":344,"image:10":2,"image:2":376,"image:3":114,"image:4":37,"image:5":17,"image:6":8,"image:7":2,"image:8":0,"image:9":0,indoor:722294,information:1227207,"isced:2011:level":58,"isced:level:2011":172,landuse:45777316,leisure:9961533,man_made:8062171,mapillary:367345,memorial:279151,"monitoring:bicycle":1803,motorcar:706383,name:105322571,"name:etymology":79767,"name:etymology:wikidata":1379939,"name:nl":85769,natural:76802401,ngo:60,office:1222759,panoramax:39909,"panoramax:0":4469,"panoramax:1":1264,"panoramax:10":3,"panoramax:2":375,"panoramax:3":120,"panoramax:4":65,"panoramax:5":32,"panoramax:6":22,"panoramax:7":16,"panoramax:8":6,"panoramax:9":8,parking_space:950777,permanent_camping:4266,"piste:type":309348,"planned:amenity":226,playground:239658,police:6624,post_office:18320,protect_class:91805,pub:355,public_transport:5674310,railway:7627778,recycling_type:444279,ref:20147753,rental:15337,repair:6155,route:1192006,"service:bicycle:cleaning":1337,"service:bicycle:pump":18072,"service:bicycle:pump:operational_status":516,"service:bicycle:rental":5003,"service:bicycle:repair":17336,"service:bicycle:retail":12353,"service:bicycle:second_hand":3850,"service:bicycle:tools":8266,shelter:1878053,shop:6403816,species:1892577,"species:wikidata":341941,sport:2836473,subject:48214,"surface:colour":23315,"surveillance:type":225097,theme:1230,toilets:116947,tourism:3528883,"tower:type":708342,type:13038255,vehicle:417369,vending:293860},bH={advertising:{billboard:92504,board:19019,column:25784,flag:5226,poster_box:26858,screen:2210,sculpture:187,sign:7191,tarp:523,totem:10518,wall_painting:199},amenity:{animal_shelter:7164,atm:219855,bank:399201,bar:236084,bbq:39417,bench:2690065,bicycle_library:52,bicycle_parking:735924,bicycle_rental:77831,bicycle_repair_station:17576,bicycle_wash:238,biergarten:10301,binoculars:1450,brothel:3350,cafe:574205,car_rental:28956,charging_station:142347,childcare:70165,cinema:30810,clinic:193823,clock:28880,college:67099,dentist:135690,doctors:183123,drinking_water:321337,fast_food:592041,fire_station:136777,food_court:15160,hospital:211099,ice_cream:55626,kindergarten:313262,love_hotel:4824,nightclub:23638,parcel_locker:61526,parking:5790320,parking_space:3231510,pharmacy:408145,police:152420,post_box:387302,post_office:204474,pub:190427,public_bookcase:32314,reception_desk:2931,recycling:473865,restaurant:1517885,sanitary_dump_station:9684,school:1348267,shelter:566707,shower:30488,stripclub:1406,ticket_validator:10016,toilets:457684,tool_library:31,trolley_bay:15569,university:55740,vending_machine:289643,veterinary:57634,waste_basket:924212,waste_disposal:255289},association:{bicycle:53,cycling:5},barrier:{bollard:786481,cycle_barrier:134180,kerb:1761695,retaining_wall:578139,wall:5122712},bench:{stand_up_bench:235,yes:915726},bicycle:{designated:1759563,no:1745884,yes:4012244},boundary:{protected_area:120382},climbing:{area:569,crag:5124,route:1528,site:0},club:{bicycle:75,climbing:1,cycling:9},"construction:amenity":{charging_station:418},conveying:{backward:3396,forward:11245,reversible:1441,yes:13753},craft:{key_cutter:4144,shoe_repair:61},crossing:{traffic_signals:1786045},cycle_network:{"BE-VLG:cycle_highway":751},cyclestreet:{yes:16962},cycleway:{lane:310537,shared_lane:82724,track:72085},"disused:amenity":{charging_station:389,drinking_water:3695},dog:{unleashed:1659},drinking_water:{yes:86490},emergency:{ambulance_station:14429,assembly_point:17477,defibrillator:104239,disaster_response:1662,fire_extinguisher:15421,fire_hydrant:2176441,mountain_rescue:894},footway:{crossing:4009361},"generator:source":{wind:427810},guest_house:{bed_and_breakfast:8632},healthcare:{physiotherapist:21120},highway:{bridleway:113819,bus_stop:3736605,corridor:53379,crossing:10261382,cycleway:1906750,cyclist_waiting_aid:754,elevator:46110,footway:25242751,living_street:2144434,motorway:1267290,motorway_link:867583,path:14829636,pedestrian:812608,primary:3688805,primary_link:458594,residential:67380600,secondary:5313970,secondary_link:358235,service:5844e4,speed_camera:66924,speed_display:3528,steps:1806724,street_lamp:4538853,tertiary:8320269,tertiary_link:261100,track:27502640,traffic_signals:1824329,trunk:1793642,trunk_link:539675,unclassified:17618758},historic:{memorial:406296,tomb:67336},indoor:{area:17647,corridor:20114,door:30439,level:4785,room:196499,wall:46861},information:{board:378393,guidepost:579625,map:122186,office:29921,route_marker:77072,tactile_map:362,tactile_model:477,visitor_centre:759},"isced:level:2011":{early_childhood:0},landuse:{village_green:104136},leisure:{bird_hide:7331,dog_park:24914,firepit:40686,fitness_centre:85856,fitness_station:76415,hackerspace:1528,nature_reserve:137863,outdoor_seating:63091,park:1221991,picnic_table:371568,pitch:2501190,playground:895297,sports_centre:246769,sports_hall:33405,track:139966},man_made:{beehive:56292,insect_hotel:2205,lighthouse:14140,monitoring_station:55829,surveillance:259229},memorial:{ghost_bike:955,plaque:67261},"monitoring:bicycle":{yes:1745},motorcar:{no:324152,yes:207042},natural:{cliff:830975,rock:237495,stone:65572,tree:27442350},ngo:{bicycle:0,cycling:0},office:{government:274066},parking_space:{charging:17847,disabled:245412},"piste:type":{connection:2705,downhill:105340},"planned:amenity":{charging_station:10},playground:{forest:85},post_office:{post_partner:9242},pub:{bicycle:0,cycling:16},public_transport:{platform:3623642},railway:{platform:179921},recycling_type:{centre:33146,container:409597},repair:{assisted_self_service:437},route:{bus:300618},"service:bicycle:cleaning":{diy:8,yes:1035},"service:bicycle:pump":{no:2112,yes:15879},"service:bicycle:pump:operational_status":{broken:154},"service:bicycle:rental":{yes:4247},"service:bicycle:repair":{yes:16927},"service:bicycle:retail":{yes:11450},"service:bicycle:second_hand":{yes:3010},"service:bicycle:tools":{no:489,yes:7776},shelter:{yes:1002546},shop:{bicycle:53670,bicycle_rental:4,rental:6659,sports:43295},sport:{bicycle:109,climbing:44448,cycling:10126},"surface:colour":{rainbow:389},"surveillance:type":{ALPR:12843,ANPR:7,camera:209487},theme:{bicycle:16,cycling:7},toilets:{yes:91038},tourism:{apartment:78801,artwork:285099,camp_site:146321,caravan_site:33559,chalet:99701,guest_house:181117,hostel:58920,hotel:426400,map:4,motel:47084,viewpoint:235886},"tower:type":{observation:26628},type:{route:1118626},vending:{"parcel_pickup;parcel_mail_in":110,parking_tickets:85777,public_transport_tickets:29613}},wH={"#":"Generated with generateStats.ts",date:_H,keys:vH,tags:bH};var ac={exports:{}};/**
* @license
* lodash (Custom Build)
* Build: `lodash exports="node" include="clone,merge,isEmpty,isArray,compact,each" -d`
* Copyright jQuery Foundation and other contributors
* Released under MIT license
* Based on Underscore.js 1.8.3
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/ac.exports;(function(n,e){(function(){var t,r="4.15.0",a=200,s="Expected a function",u="__lodash_hash_undefined__",l=1,p=2,f=1/0,_=9007199254740991,S="[object Arguments]",w="[object Array]",D="[object Boolean]",F="[object Date]",N="[object Error]",q="[object Function]",K="[object GeneratorFunction]",Q="[object Map]",W="[object Number]",P="[object Object]",V="[object Promise]",Z="[object RegExp]",J="[object Set]",X="[object String]",r1="[object Symbol]",m1="[object WeakMap]",i1="[object ArrayBuffer]",z="[object DataView]",n1="[object Float32Array]",h1="[object Float64Array]",y1="[object Int8Array]",l1="[object Int16Array]",T1="[object Int32Array]",_1="[object Uint8Array]",k1="[object Uint8ClampedArray]",c1="[object Uint16Array]",E1="[object Uint32Array]",a4=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S4=/^\w*$/,E4=/^\./,l4=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Q4=/[\\^$.*+?()[\]{}|]/g,ee=/\\(\\)?/g,I4=/\w*$/,ge=/^\[object .+?Constructor\]$/,f4=/^(?:0|[1-9]\d*)$/,Re={};Re[n1]=Re[h1]=Re[y1]=Re[l1]=Re[T1]=Re[_1]=Re[k1]=Re[c1]=Re[E1]=!0,Re[S]=Re[w]=Re[i1]=Re[D]=Re[z]=Re[F]=Re[N]=Re[q]=Re[Q]=Re[W]=Re[P]=Re[Z]=Re[J]=Re[X]=Re[m1]=!1;var G4={};G4[S]=G4[w]=G4[i1]=G4[z]=G4[D]=G4[F]=G4[n1]=G4[h1]=G4[y1]=G4[l1]=G4[T1]=G4[Q]=G4[W]=G4[P]=G4[Z]=G4[J]=G4[X]=G4[r1]=G4[_1]=G4[k1]=G4[c1]=G4[E1]=!0,G4[N]=G4[q]=G4[m1]=!1;var ye=typeof _t=="object"&&_t&&_t.Object===Object&&_t,o2=typeof self=="object"&&self&&self.Object===Object&&self,We=ye||o2||Function("return this")(),m2=e&&!e.nodeType&&e,Qe=m2&&!0&&n&&!n.nodeType&&n,Be=Qe&&Qe.exports===m2,l2=Be&&ye.process,Oe=function(){try{return l2&&l2.binding("util")}catch{}}(),Ne=Oe&&Oe.isTypedArray;function Xe(v1,H1){return v1.set(H1[0],H1[1]),v1}function N2(v1,H1){return v1.add(H1),v1}function Ue(v1,H1,d4){switch(d4.length){case 0:return v1.call(H1);case 1:return v1.call(H1,d4[0]);case 2:return v1.call(H1,d4[0],d4[1]);case 3:return v1.call(H1,d4[0],d4[1],d4[2])}return v1.apply(H1,d4)}function Ze(v1,H1){for(var d4=-1,B4=v1?v1.length:0;++d4-1}function x2(v1,H1){var d4=this.__data__,B4=Z5(d4,v1);return B41?d4[De-1]:t,Ge=De>2?d4[2]:t;for(me=v1.length>3&&typeof me=="function"?(De--,me):t,Ge&&T5(d4[0],d4[1],Ge)&&(me=DeYe))return!1;var J2=me.get(v1);if(J2&&me.get(H1))return J2==H1;var r3=-1,M3=!0,L3=De&l?new N7:t;for(me.set(v1,H1),me.set(H1,v1);++r3-1&&v1%1==0&&v1-1&&v1%1==0&&v1=Math.abs(l)?t-p+l:l-p+t,t=p}t+r>=0!=!!e&&n.reverse()}const kH=[{key:"building",polygon:"all"},{key:"highway",polygon:"whitelist",values:["services","rest_area","escape","elevator"]},{key:"natural",polygon:"blacklist",values:["coastline","cliff","ridge","arete","tree_row"]},{key:"landuse",polygon:"all"},{key:"waterway",polygon:"whitelist",values:["riverbank","dock","boatyard","dam"]},{key:"amenity",polygon:"all"},{key:"leisure",polygon:"all"},{key:"barrier",polygon:"whitelist",values:["city_wall","ditch","hedge","retaining_wall","wall","spikes"]},{key:"railway",polygon:"whitelist",values:["station","turntable","roundhouse","platform"]},{key:"area",polygon:"all"},{key:"boundary",polygon:"all"},{key:"man_made",polygon:"blacklist",values:["cutline","embankment","pipeline"]},{key:"power",polygon:"whitelist",values:["plant","substation","generator","transformer"]},{key:"place",polygon:"all"},{key:"shop",polygon:"all"},{key:"aeroway",polygon:"blacklist",values:["taxiway"]},{key:"tourism",polygon:"all"},{key:"historic",polygon:"all"},{key:"public_transport",polygon:"all"},{key:"office",polygon:"all"},{key:"building:part",polygon:"all"},{key:"military",polygon:"all"},{key:"ruins",polygon:"all"},{key:"area:highway",polygon:"all"},{key:"craft",polygon:"all"},{key:"golf",polygon:"all"},{key:"indoor",polygon:"all"}];var CH=kH,n3=xH,yu=SH,Hu={};CH.forEach(function(n){if(n.polygon==="all")Hu[n.key]=!0;else{var e=n.polygon==="whitelist"?"included_values":"excluded_values",t={};n.values.forEach(function(r){t[r]=!0}),Hu[n.key]={},Hu[n.key][e]=t}});function EH(n,e){return(n.version||e.version)&&n.version!==e.version?(+n.version||0)>(+e.version||0)?n:e:n3.merge(n,e)}var oc={};oc=function(n,e,t){e=n3.merge({verbose:!1,flatProperties:!0,uninterestingTags:{source:!0,source_ref:!0,"source:ref":!0,history:!0,attribution:!0,created_by:!0,"tiger:county":!0,"tiger:tlid":!0,"tiger:upload_uuid":!0},polygonFeatures:Hu,deduplicator:EH},e);var r;return typeof XMLDocument"u"&&n.childNodes?r=s(n):r=a(n),r;function a(p){var f=new Array,_=new Array,S=new Array;function w(V){var Z=n3.clone(V);Z.lat=V.center.lat,Z.lon=V.center.lon,Z.__is_center_placeholder=!0,f.push(Z)}function D(V){var Z=n3.clone(V);Z.nodes=[];function J(X,r1,m1){var i1={type:"node",id:"_"+Z.type+"/"+Z.id+"bounds"+m1,lat:X,lon:r1};Z.nodes.push(i1.id),f.push(i1)}J(Z.bounds.minlat,Z.bounds.minlon,1),J(Z.bounds.maxlat,Z.bounds.minlon,2),J(Z.bounds.maxlat,Z.bounds.maxlon,3),J(Z.bounds.minlat,Z.bounds.maxlon,4),Z.nodes.push(Z.nodes[0]),Z.__is_bounds_placeholder=!0,_.push(Z)}function F(V){function Z(J,X,r1){var m1={type:"node",id:r1,lat:J,lon:X};f.push(m1)}n3.isArray(V.nodes)||(V.nodes=V.geometry.map(function(J){return J!==null?"_anonymous@"+J.lat+"/"+J.lon:"_anonymous@unknown_location"})),V.geometry.forEach(function(J,X){J&&Z(J.lat,J.lon,V.nodes[X])})}function N(V){function Z(X,r1,m1){var i1={type:"node",id:m1,lat:X,lon:r1};f.push(i1)}function J(X,r1){if(_.some(function(z){return z.type=="way"&&z.id==r1}))return;var m1={type:"way",id:r1,nodes:[]};function i1(z,n1){var h1={type:"node",id:"_anonymous@"+z+"/"+n1,lat:z,lon:n1};m1.nodes.push(h1.id),f.push(h1)}X.forEach(function(z){z?i1(z.lat,z.lon):m1.nodes.push(void 0)}),_.push(m1)}V.members.forEach(function(X,r1){X.type=="node"?X.lat&&Z(X.lat,X.lon,X.ref):X.type=="way"&&X.geometry&&(X.ref="_fullGeom"+X.ref,J(X.geometry,X.ref))})}for(var q=0;q
0});W.center&&w(W),P?N(W):W.bounds&&D(W);break}return u(f,_,S)}function s(p){var f=new Array,_=new Array,S=new Array;function w(W,P,V){W.hasAttribute(V)&&(P[V]=W.getAttribute(V))}function D(W,P){var V=n3.clone(W);w(P,V,"lat"),w(P,V,"lon"),V.__is_center_placeholder=!0,f.push(V)}function F(W,P){var V=n3.clone(W);V.nodes=[];function Z(J,X,r1){var m1={type:"node",id:"_"+V.type+"/"+V.id+"bounds"+r1,lat:J,lon:X};V.nodes.push(m1.id),f.push(m1)}Z(P.getAttribute("minlat"),P.getAttribute("minlon"),1),Z(P.getAttribute("maxlat"),P.getAttribute("minlon"),2),Z(P.getAttribute("maxlat"),P.getAttribute("maxlon"),3),Z(P.getAttribute("minlat"),P.getAttribute("maxlon"),4),V.nodes.push(V.nodes[0]),V.__is_bounds_placeholder=!0,_.push(V)}function N(W,P){function V(Z,J,X){var r1={type:"node",id:X,lat:Z,lon:J};return f.push(r1),r1.id}n3.isArray(W.nodes)||(W.nodes=[],n3.each(P,function(Z,J){W.nodes.push("_anonymous@"+Z.getAttribute("lat")+"/"+Z.getAttribute("lon"))})),n3.each(P,function(Z,J){Z.getAttribute("lat")&&V(Z.getAttribute("lat"),Z.getAttribute("lon"),W.nodes[J])})}function q(W,P){function V(J,X,r1){var m1={type:"node",id:r1,lat:J,lon:X};f.push(m1)}function Z(J,X){if(_.some(function(i1){return i1.type=="way"&&i1.id==X}))return;var r1={type:"way",id:X,nodes:[]};function m1(i1,z){var n1={type:"node",id:"_anonymous@"+i1+"/"+z,lat:i1,lon:z};r1.nodes.push(n1.id),f.push(n1)}n3.each(J,function(i1){i1.getAttribute("lat")?m1(i1.getAttribute("lat"),i1.getAttribute("lon")):r1.nodes.push(void 0)}),_.push(r1)}n3.each(P,function(J,X){W.members[X].type=="node"?J.getAttribute("lat")&&V(J.getAttribute("lat"),J.getAttribute("lon"),W.members[X].ref):W.members[X].type=="way"&&J.getElementsByTagName("nd").length>0&&(W.members[X].ref="_fullGeom"+W.members[X].ref,Z(J.getElementsByTagName("nd"),W.members[X].ref))})}n3.each(p.getElementsByTagName("node"),function(W,P){var V={};n3.each(W.getElementsByTagName("tag"),function(J){V[J.getAttribute("k")]=J.getAttribute("v")});var Z={type:"node"};w(W,Z,"id"),w(W,Z,"lat"),w(W,Z,"lon"),w(W,Z,"version"),w(W,Z,"timestamp"),w(W,Z,"changeset"),w(W,Z,"uid"),w(W,Z,"user"),n3.isEmpty(V)||(Z.tags=V),f.push(Z)});var K,Q;return n3.each(p.getElementsByTagName("way"),function(W,P){var V={},Z=[];n3.each(W.getElementsByTagName("tag"),function(r1){V[r1.getAttribute("k")]=r1.getAttribute("v")});var J=!1;n3.each(W.getElementsByTagName("nd"),function(r1,m1){var i1;(i1=r1.getAttribute("ref"))&&(Z[m1]=i1),!J&&r1.getAttribute("lat")&&(J=!0)});var X={type:"way"};w(W,X,"id"),w(W,X,"version"),w(W,X,"timestamp"),w(W,X,"changeset"),w(W,X,"uid"),w(W,X,"user"),Z.length>0&&(X.nodes=Z),n3.isEmpty(V)||(X.tags=V),(K=W.getElementsByTagName("center")[0])&&D(X,K),J?N(X,W.getElementsByTagName("nd")):(Q=W.getElementsByTagName("bounds")[0])&&F(X,Q),_.push(X)}),n3.each(p.getElementsByTagName("relation"),function(W,P){var V={},Z=[];n3.each(W.getElementsByTagName("tag"),function(r1){V[r1.getAttribute("k")]=r1.getAttribute("v")});var J=!1;n3.each(W.getElementsByTagName("member"),function(r1,m1){Z[m1]={},w(r1,Z[m1],"ref"),w(r1,Z[m1],"role"),w(r1,Z[m1],"type"),(!J&&Z[m1].type=="node"&&r1.getAttribute("lat")||Z[m1].type=="way"&&r1.getElementsByTagName("nd").length>0)&&(J=!0)});var X={type:"relation"};w(W,X,"id"),w(W,X,"version"),w(W,X,"timestamp"),w(W,X,"changeset"),w(W,X,"uid"),w(W,X,"user"),Z.length>0&&(X.members=Z),n3.isEmpty(V)||(X.tags=V),(K=W.getElementsByTagName("center")[0])&&D(X,K),J?q(X,W.getElementsByTagName("member")):(Q=W.getElementsByTagName("bounds")[0])&&F(X,Q),S.push(X)}),u(f,_,S)}function u(p,f,_){function S(a4,S4){if(typeof S4!="object"&&(S4={}),typeof e.uninterestingTags=="function")return!e.uninterestingTags(a4,S4);for(var E4 in a4)if(e.uninterestingTags[E4]!==!0&&!(S4[E4]===!0||S4[E4]===a4[E4]))return!0;return!1}function w(a4){var S4={timestamp:a4.timestamp,version:a4.version,changeset:a4.changeset,user:a4.user,uid:a4.uid};for(var E4 in S4)S4[E4]===void 0&&delete S4[E4];return S4}for(var D=new Object,F=new Object,N=0;N"u"&&(r1[m1][i1]=[]),r1[m1][i1].push({role:X.members[K].role,rel:X.id,reltags:X.tags})}}var z,n1=[];for(N=0;N"u"||typeof V[N].lat>"u"){e.verbose&&console.warn("POI",V[N].type+"/"+V[N].id,"ignored because it lacks coordinates");continue}var h1={type:"Feature",id:V[N].type+"/"+V[N].id,properties:{type:V[N].type,id:V[N].id,tags:V[N].tags||{},relations:r1.node[V[N].id]||[],meta:w(V[N])},geometry:{type:"Point",coordinates:[+V[N].lon,+V[N].lat]}};V[N].__is_center_placeholder&&(h1.properties.geometry="center"),t?t(h1):n1.push(h1)}for(var y1=[],l1=[],N=0;N<_.length _ s4="function(E4){var" l4="!1,Q4;Q4=E4.members.filter(function(f4){return" f4.type='=="way"}),Q4=Q4.map(function(f4){var' re="Q[f4.ref];if(Re===void" by a missing or incomplete way g4 node ee i4="[];if(I4=n3.compact(ee.map(function(f4){return" n3.compact e.verbose no coordinates ge='{type:"Feature",id:E4.type+"/"+E4.id,properties:{type:E4.type,id:E4.id,tags:E4.tags||{},relations:r1[E4.type][E4.id]||[],meta:w(E4)},geometry:{type:I4.length===1?"LineString":"MultiLineString",coordinates:I4.length===1?I4[0]:I4}};return' tainted because it has members relation invalid geometry e4="function(l4,Q4){var" l4.id='="number"?l4.id:+l4.id.replace("_fullGeom",""),f4;f4=Q4.members.filter(function(Oe){return' oe.type='=="way"}),f4=f4.map(function(Oe){var' ne="Q[Oe.ref];if(Ne===void" xe oe.role='=="outer"})),G4=Pp(f4.filter(function(Oe){return' ye o2 x4.map w1="a1[D1][0],Q1=a1[D1][1],_4=a1[B1][0],M4=a1[B1][1],C4=Q1">U!=M4>U&&$"u")&&S!=="no"&&(w===!0||w.included_values&&w.included_values[S]===!0||w.excluded_values&&w.excluded_values[S]!==!0))return!0}return!1}};function Pp(n){for(var e=function(S){return S[0]},t=function(S){return S[S.length-1]},r=function(S,w){return S!==void 0&&w!==void 0&&S.id===w.id},a=[],s,u,l,p,f,_;n.length;)for(s=n.pop().nodes.slice(),a.push(s);n.length&&!r(e(s),t(s));){for(u=e(s),l=t(s),p=0;p;out skel qt;`}buildScriptInArea(e,t=!1){const r=this._filter.asOverpass();let a="";for(const u of r)t&&(a+=" "),a+="nwr"+u+"(area.searchArea);",t&&(a+=`
`);for(const u of this._extraScripts)a+="("+u+");";let s=e.osm_id;return e.osm_type==="relation"&&(s+=36e8),`[out:json][timeout:${this._timeout.data}];
area(id:${s})->.searchArea;
(${a});
out body;${this._includeMeta?"out meta;":""}>;out skel qt;`}buildQuery(e){return this.buildUrl(this.buildScript(e))}static AsOverpassTurboLink(e){const r=new _d("",e,[],void 0,!1).buildScript("","({{bbox}})",!0);return"http://overpass-turbo.eu/?Q="+encodeURIComponent(r)}}const m6=class m6{constructor(e="https://taginfo.openstreetmap.org/"){p1(this,"_backend");this._backend=e}async getCountEstimateFor(e){if(e.and){const r=e.and;let a=1/0;for(const s of r){const u=await this.getCountEstimateFor(s);u!==void 0&&us.type==="all").count}if(!(t.key&&t.value===""))throw console.log("Invalid filter"),"Cannot handle "+JSON.stringify(e.asJson())}getMeta(e,t){let r=`${this._backend}api/4/key/stats?key=${encodeURIComponent(e)}`,a=`${this._backend}keys/${e}`;return t&&(r=`${this._backend}api/4/tag/stats?key=${encodeURIComponent(e)}&value=${encodeURIComponent(t)}`,a=`${this._backend}tags/${e}=${t}`),{backend:this._backend,api_url:r,frontend_url:a}}async getStats(e,t){const r=this.getMeta(e,t);return{...await Se.downloadJsonCached(r.api_url,1e3*60*60*24),meta:r}}webUrl(e,t){return t?`${this._backend}/tags/${e}=${t}#overview`:`${this._backend}/keys/${e}#overview`}static async geofabrikCountries(){if(m6._geofabrikCountries)return m6._geofabrikCountries;const e=await Se.downloadJsonCached("https://download.geofabrik.de/index-v1-nogeom.json",24*1e3*60*60);return m6._geofabrikCountries=e.features.map(t=>t.properties),m6._geofabrikCountries}static async getInstanceFor(e){const t=await this.geofabrikCountries();e=e.toUpperCase();const r=t.find(s=>{var u;return((u=s["iso3166-1:alpha2"])==null?void 0:u.indexOf(e))>=0});if(!r||!(r!=null&&r.parent)||!(r!=null&&r.id))return;const a=`https://taginfo.geofabrik.de/${r.parent}:${r.id}/`;return new m6(a)}static async getDistributionsFor(e,t,r){if(!e)return;const a=await m6.getInstanceFor(e);if(a)try{return await a.getStats(t,r)}catch(s){console.warn("Could not fetch info from taginfo for",e,t,r,"due to",s,"Taginfo country specific instance is ",a._backend);return}}static async getGlobalDistributionsFor(e,t,r,a){const u=(await this.geofabrikCountries()).map(p=>{var f;return(f=p["iso3166-1:alpha2"])==null?void 0:f[0]}).filter(p=>!!p&&m6.blacklist.indexOf(p)0;){let s=a.shift();if(s===void 0)continue;if(s instanceof S9&&(s=s.asTag(t)),s instanceof Z2){a.push(...s.and);continue}if(s instanceof it){r[s.key]===void 0&&(r[s.key]=[]),r[s.key].push(...s.value.split(";").map(l=>l.trim()));continue}const u=`Invalid type to FlattenMultiAnswer, not one of Tag or And: ${s.asHumanString()}`;throw console.trace(u),u}return r}static optimzeJson(e){const t=d3.Tag(e).optimize();return t===!0||t===!1?t:t.asJson()}static FlattenMultiAnswer(e,t){if(e===void 0)return[];const r=d3.valuesPerKey(e,t),a=[];for(const s in r){const u=d2.dedup(r[s]).filter(l=>l!=="");u.sort(),a.push(new it(s,u.join(";")))}return a}static MatchesMultiAnswer(e,t){if(!e)return!1;const r=d3.valuesPerKey([e],t);for(const a in r){const s=r[a];if(t[a]===void 0)return!1;const u=t[a].split(";").map(l=>l.trim());for(const l of s)if(!u.includes(l))return!1}return!0}static SimpleTag(e,t){const r=k0.splitFirst(e,"=");if(r.length!==2)throw`Invalid tag: no (or too much) '=' found (in ${t??"unkown context"})`;return new it(r[0],r[1])}static isValidKey(e){return e.match(/^[a-z][a-z0-9:_]{2,253}[a-z0-9]$/)!==null}static Tag(e,t=""){try{const r=typeof t=="string"?t:t.path.join(".");return this.parseTagUnsafe(e,r)}catch(r){if(typeof t=="string")throw console.error("Could not parse tag",e,"in context",t,"due to ",r),r;t.err(r);return}}static ParseUploadableTag(e,t=""){const r=this.Tag(e,t);return r.visit(a=>{if(!(a instanceof Z2)&&!(a instanceof it)&&!(a instanceof S9))throw`Error at ${t}: detected a non-uploadable tag at a location where this is not supported: ${a.asHumanString(!1,!1,{})}`}),r}static TagD(e,t=""){return e==null?e:d3.Tag(e,t)}static sortFilters(e,t){e.sort((r,a)=>d3.order(r,a,t))}static toString(e,t=!0){let r;return e instanceof u5?r=d3.joinL(e.or,"|",t):e instanceof Z2?r=d3.joinL(e.and,"&",t):r=e.asHumanString(!1,!1,{}),t&&(r=r.trim()),r}static parseRegexOperator(e){const t=e.match(/^([_|a-zA-Z0-9.: -]+)(!)?~(i~)?(.*)$/);if(t==null)return null;const[r,a,s,u,l]=t;return{key:a,value:l,invert:s=="!",modifier:u=="i~"?"i":""}}static ContainsOppositeTags(e){for(let t=0;t!e.some(a=>a.shadows(r)))}static removeEquivalents(e){const t=[];e:for(let r=0;re.some(a=>a.shadows(r)))}static levelsParser(e){if(e==null)return[];const t=d2.noNull([e]).flatMap(r=>r==null?void 0:r.split(";")).flatMap(r=>{if(r=r.trim(),r==="")return;if(r.indexOf("-")Number(l.trim()));if(isNaN(a)||isNaN(s))return;const u=[];for(let l=a;lu!==!0);return s.some(u=>u===!1)?!1:new Z2(s.map(u=>d3.Tag(u,t)))}if(e.or!==void 0){const s=d2.noNull(e.or).filter(u=>u!==!1);return s.some(u=>u===!0)?!0:new u5(s.map(u=>d3.Tag(u,t)))}throw`At ${t}: unrecognized tag: ${JSON.stringify(e)}`}const r=e;for(const[s,u]of d3.comparators)if(r.indexOf(s)>=0){const l=k0.splitFirst(r,s).map(_=>_.trim()),p=l[1],f=(_,S)=>{let w=Number(Se.SubstituteKeys(p,S));if(isNaN(w)&&(w=new Date(l[1]).getTime()),_===void 0)return!1;let D;return typeof _=="number"?D=_:typeof D=="string"?D=Number(_==null?void 0:_.trim()):D=Number(_),isNaN(D)&&typeof _=="string"&&(D=Se.ParseDate(_).getTime(),isNaN(D))?!1:u(D,w)};return new Jn(l[0],f,s,""+p,p.indexOf("{")>=0)}if(r.indexOf("~~")>=0||r.indexOf("~i~~")>=0){const s=r.indexOf("~i~~")>=0,u=k0.splitFirst(r,s?"~i~~":"~~");let l;u[0]==="*"?l=new RegExp(".+","i"):l=new RegExp("^("+u[0]+")$");let p;return u[1]==="*"?p=new RegExp(".+","s"):u[1]==""?p="":p=new RegExp("^("+u[1]+")$",s?"si":"s"),new h3(l,p)}const a=d3.parseRegexOperator(r);if(a!=null){if(a.value==="*"&&a.invert&&typeof a.key!="string")throw`Don't use 'key!~*' - use 'key=' instead (empty string as value (in the tag ${r} while parsing ${t})`;if(a.value==="")throw"Detected a regextag with an empty regex; this is not allowed. Use '"+a.key+"='instead (at "+t+")";const s=a.value;return s==="*"?new h3(a.key,new RegExp(".+","si"+a.modifier),a.invert):new h3(a.key,new RegExp("^("+s+")$","s"+a.modifier),a.invert)}if(r.indexOf("!:=")>=0){const s=k0.splitFirst(r,"!:=");return new S9(s[0],s[1],!0)}if(r.indexOf(":=")>=0){const s=k0.splitFirst(r,":=");return new S9(s[0],s[1])}if(r.indexOf("!=")>=0){const s=k0.splitFirst(r,"!=");if(s[1]==="*")throw"At "+t+": invalid tag "+r+". To indicate a missing tag, use '"+s[0]+"=' instead";return s[1]===""?new h3(s[0],/.+/is):new h3(s[0],s[1],!0)}if(r.indexOf("=")>=0){const s=k0.splitFirst(r,"=");if(s[1]=="*")throw`Error while parsing tag '${r}' in ${t}: detected a wildcard on a normal value. Use a regex pattern instead`;return new it(s[0],s[1])}throw`Error while parsing tag '${r}' in ${t}: no key part and value part were found`}static GetCount(e,t){if(e===void 0)return;const r=d3.keyCounts.tags[e];return r!==void 0&&r[t]!==void 0?r[t]:d3.keyCounts.keys[e]}static GetPopularity(e){if(e instanceof Z2)return Math.min(...d2.noNull(e.and.map(t=>d3.GetPopularity(t))))-1;if(e instanceof u5)return Math.max(...d2.noNull(e.or.map(t=>d3.GetPopularity(t))))+1;if(e instanceof it)return d3.GetCount(e.key,e.value);if(e instanceof h3){const t=e.key;return t instanceof RegExp||e.invert||e.isNegative()?void 0:d3.GetCount(t)}}static order(e,t,r){const a=e instanceof h3,s=t instanceof h3;if(a!==s)return a?1:-1;if(e.key!==void 0&&t.key!==void 0){if(r){const u=d3.GetCount(e.key,e.value),l=d3.GetCount(t.key,t.value);if(u!==void 0&&l!==void 0)return u-l}return e.key===t.key?0:e.keyd3.toString(s,!1)).join(t);return r?a:" ("+a+") "}static generateDocs(){return[d3.intro,...Object.keys(d3.modeDocumentation).map(e=>{const t=d3.modeDocumentation[e];return["","## `"+e+"` "+t.name,"",t.docs,"",""].join(`
`)}),"## "+d3.comparators.map(e=>"`"+e[0]+"`").join(" ")+" Logical comparators",d3.numberAndDateComparisonDocs,d3.logicalOperator].join(`
`)}static fromProperties(e){const t=new Z2(Object.keys(e).map(r=>new it(r,e[r]))).optimize();return t===!0||t===!1?t:t.asJson()}static removeEmptyParts(e){if(e.and){const a=e.and.map(s=>d3.removeEmptyParts(s)).filter(s=>s!==!0);return a.length===0?!0:new Z2(a).optimize()}return e.isNegative()?!0:e}static flattenAnd(e){return Array.isArray(e)?e.flatMap(t=>d3.flattenAnd(t)):e.and||e instanceof Z2?e.and.flatMap(t=>d3.flattenAnd(t)):[e]}static documentationWithLinks(e,t=void 0){const r=`https://taghistory.raifer.tech/?#***/${encodeURIComponent(e)}/`,a=new $s().webUrl(e,t),s=_d.AsOverpassTurboLink(t?new it(e,t):new h3(e,/.*/));return[`[🔎](${a})`,`[📈](${r})`,`