gantt-schedule-timeline-calendar
Version:
Gantt, Schedule, Timeline, Calendar components all in one. [gantt, timeline, schedule, scheduler, calendar, booking, gantt chart, reservation, javascript gantt, javascript timeline, javascript schedule, javascript scheduler, javascript calendar, javascrip
705 lines • 724 kB
JavaScript
!function(A,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(A="undefined"!=typeof globalThis?globalThis:A||self).GSTC=t()}(this,(function(){"use strict";
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const A=globalThis,t=A.trustedTypes,g=t?t.createPolicy("lit-html",{createHTML:A=>A}):void 0,e="$lit$",i=`lit$${Math.random().toFixed(9).slice(2)}$`,o="?"+i,I=`<${o}>`,a=document,s=()=>a.createComment(""),B=A=>null===A||"object"!=typeof A&&"function"!=typeof A,C=Array.isArray,n=A=>C(A)||"function"==typeof A?.[Symbol.iterator],Q="[ \t\n\f\r]",r=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,E=/-->/g,c=/>/g,l=RegExp(`>|${Q}(?:([^\\s"'>=/]+)(${Q}*=${Q}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),h=/'/g,d=/"/g,u=/^(?:script|style|textarea|title)$/i,w=A=>(t,...g)=>({_$litType$:A,strings:t,values:g}),D=w(1),m=w(2),y=w(3),f=Symbol.for("lit-noChange"),p=Symbol.for("lit-nothing"),k=new WeakMap,G=a.createTreeWalker(a,129);function M(A,t){if(!C(A)||!A.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==g?g.createHTML(t):t}const N=(A,t)=>{const g=A.length-1,o=[];let a,s=2===t?"<svg>":3===t?"<math>":"",B=r;for(let t=0;t<g;t++){const g=A[t];let C,n,Q=-1,w=0;for(;w<g.length&&(B.lastIndex=w,n=B.exec(g),null!==n);)w=B.lastIndex,B===r?"!--"===n[1]?B=E:void 0!==n[1]?B=c:void 0!==n[2]?(u.test(n[2])&&(a=RegExp("</"+n[2],"g")),B=l):void 0!==n[3]&&(B=l):B===l?">"===n[0]?(B=a??r,Q=-1):void 0===n[1]?Q=-2:(Q=B.lastIndex-n[2].length,C=n[1],B=void 0===n[3]?l:'"'===n[3]?d:h):B===d||B===h?B=l:B===E||B===c?B=r:(B=l,a=void 0);const D=B===l&&A[t+1].startsWith("/>")?" ":"";s+=B===r?g+I:Q>=0?(o.push(C),g.slice(0,Q)+e+g.slice(Q)+i+D):g+i+(-2===Q?t:D)}return[M(A,s+(A[g]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),o]};class F{constructor({strings:A,_$litType$:g},I){let a;this.parts=[];let B=0,C=0;const n=A.length-1,Q=this.parts,[r,E]=N(A,g);if(this.el=F.createElement(r,I),G.currentNode=this.el.content,2===g||3===g){const A=this.el.content.firstChild;A.replaceWith(...A.childNodes)}for(;null!==(a=G.nextNode())&&Q.length<n;){if(1===a.nodeType){if(a.hasAttributes())for(const A of a.getAttributeNames())if(A.endsWith(e)){const t=E[C++],g=a.getAttribute(A).split(i),e=/([.?@])?(.*)/.exec(t);Q.push({type:1,index:B,name:e[2],strings:g,ctor:"."===e[1]?Y:"?"===e[1]?J:"@"===e[1]?L:S}),a.removeAttribute(A)}else A.startsWith(i)&&(Q.push({type:6,index:B}),a.removeAttribute(A));if(u.test(a.tagName)){const A=a.textContent.split(i),g=A.length-1;if(g>0){a.textContent=t?t.emptyScript:"";for(let t=0;t<g;t++)a.append(A[t],s()),G.nextNode(),Q.push({type:2,index:++B});a.append(A[g],s())}}}else if(8===a.nodeType)if(a.data===o)Q.push({type:2,index:B});else{let A=-1;for(;-1!==(A=a.data.indexOf(i,A+1));)Q.push({type:7,index:B}),A+=i.length-1}B++}}static createElement(A,t){const g=a.createElement("template");return g.innerHTML=A,g}}function b(A,t,g=A,e){if(t===f)return t;let i=void 0!==e?g._$Co?.[e]:g._$Cl;const o=B(t)?void 0:t._$litDirective$;return i?.constructor!==o&&(i?._$AO?.(!1),void 0===o?i=void 0:(i=new o(A),i._$AT(A,g,e)),void 0!==e?(g._$Co??=[])[e]=i:g._$Cl=i),void 0!==i&&(t=b(A,i._$AS(A,t.values),i,e)),t}let R=class{constructor(A,t){this._$AV=[],this._$AN=void 0,this._$AD=A,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(A){const{el:{content:t},parts:g}=this._$AD,e=(A?.creationScope??a).importNode(t,!0);G.currentNode=e;let i=G.nextNode(),o=0,I=0,s=g[0];for(;void 0!==s;){if(o===s.index){let t;2===s.type?t=new v(i,i.nextSibling,this,A):1===s.type?t=new s.ctor(i,s.name,s.strings,this,A):6===s.type&&(t=new U(i,this,A)),this._$AV.push(t),s=g[++I]}o!==s?.index&&(i=G.nextNode(),o++)}return G.currentNode=a,e}p(A){let t=0;for(const g of this._$AV)void 0!==g&&(void 0!==g.strings?(g._$AI(A,g,t),t+=g.strings.length-2):g._$AI(A[t])),t++}};class v{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(A,t,g,e){this.type=2,this._$AH=p,this._$AN=void 0,this._$AA=A,this._$AB=t,this._$AM=g,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let A=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===A?.nodeType&&(A=t.parentNode),A}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(A,t=this){A=b(this,A,t),B(A)?A===p||null==A||""===A?(this._$AH!==p&&this._$AR(),this._$AH=p):A!==this._$AH&&A!==f&&this._(A):void 0!==A._$litType$?this.$(A):void 0!==A.nodeType?this.T(A):n(A)?this.k(A):this._(A)}O(A){return this._$AA.parentNode.insertBefore(A,this._$AB)}T(A){this._$AH!==A&&(this._$AR(),this._$AH=this.O(A))}_(A){this._$AH!==p&&B(this._$AH)?this._$AA.nextSibling.data=A:this.T(a.createTextNode(A)),this._$AH=A}$(A){const{values:t,_$litType$:g}=A,e="number"==typeof g?this._$AC(A):(void 0===g.el&&(g.el=F.createElement(M(g.h,g.h[0]),this.options)),g);if(this._$AH?._$AD===e)this._$AH.p(t);else{const A=new R(e,this),g=A.u(this.options);A.p(t),this.T(g),this._$AH=A}}_$AC(A){let t=k.get(A.strings);return void 0===t&&k.set(A.strings,t=new F(A)),t}k(A){C(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let g,e=0;for(const i of A)e===t.length?t.push(g=new v(this.O(s()),this.O(s()),this,this.options)):g=t[e],g._$AI(i),e++;e<t.length&&(this._$AR(g&&g._$AB.nextSibling,e),t.length=e)}_$AR(A=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);A&&A!==this._$AB;){const t=A.nextSibling;A.remove(),A=t}}setConnected(A){void 0===this._$AM&&(this._$Cv=A,this._$AP?.(A))}}class S{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(A,t,g,e,i){this.type=1,this._$AH=p,this._$AN=void 0,this.element=A,this.name=t,this._$AM=e,this.options=i,g.length>2||""!==g[0]||""!==g[1]?(this._$AH=Array(g.length-1).fill(new String),this.strings=g):this._$AH=p}_$AI(A,t=this,g,e){const i=this.strings;let o=!1;if(void 0===i)A=b(this,A,t,0),o=!B(A)||A!==this._$AH&&A!==f,o&&(this._$AH=A);else{const e=A;let I,a;for(A=i[0],I=0;I<i.length-1;I++)a=b(this,e[g+I],t,I),a===f&&(a=this._$AH[I]),o||=!B(a)||a!==this._$AH[I],a===p?A=p:A!==p&&(A+=(a??"")+i[I+1]),this._$AH[I]=a}o&&!e&&this.j(A)}j(A){A===p?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,A??"")}}class Y extends S{constructor(){super(...arguments),this.type=3}j(A){this.element[this.name]=A===p?void 0:A}}class J extends S{constructor(){super(...arguments),this.type=4}j(A){this.element.toggleAttribute(this.name,!!A&&A!==p)}}class L extends S{constructor(A,t,g,e,i){super(A,t,g,e,i),this.type=5}_$AI(A,t=this){if((A=b(this,A,t,0)??p)===f)return;const g=this._$AH,e=A===p&&g!==p||A.capture!==g.capture||A.once!==g.once||A.passive!==g.passive,i=A!==p&&(g===p||e);e&&this.element.removeEventListener(this.name,this,g),i&&this.element.addEventListener(this.name,this,A),this._$AH=A}handleEvent(A){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,A):this._$AH.handleEvent(A)}}class U{constructor(A,t,g){this.element=A,this.type=6,this._$AN=void 0,this._$AM=t,this.options=g}get _$AU(){return this._$AM._$AU}_$AI(A){b(this,A)}}const x={M:e,P:i,A:o,C:1,L:N,R:R,D:n,V:b,I:v,H:S,N:J,U:L,B:Y,F:U},H=A.litHtmlPolyfillSupport;H?.(F,v),(A.litHtmlVersions??=[]).push("3.2.1");const q=(A,t,g)=>{const e=g?.renderBefore??t;let i=e._$litPart$;if(void 0===i){const A=g?.renderBefore??null;e._$litPart$=i=new v(t.insertBefore(s(),A),A,void 0,g??{})}return i._$AI(A),i};var K=Object.freeze({__proto__:null,_$LH:x,html:D,mathml:y,noChange:f,nothing:p,render:q,svg:m});
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const T={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},W=A=>(...t)=>({_$litDirective$:A,values:t});let z=class{constructor(A){}get _$AU(){return this._$AM._$AU}_$AT(A,t,g){this._$Ct=A,this._$AM=t,this._$Ci=g}_$AS(A,t){return this.update(A,t)}update(A,t){return this.render(...t)}};
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const{I:j}=x,P=(A,t)=>void 0!==A?._$litType$,Z=A=>void 0===A.strings,V=()=>document.createComment(""),O=(A,t,g)=>{const e=A._$AA.parentNode,i=void 0===t?A._$AB:t._$AA;if(void 0===g){const t=e.insertBefore(V(),i),o=e.insertBefore(V(),i);g=new j(t,o,A,A.options)}else{const t=g._$AB.nextSibling,o=g._$AM,I=o!==A;if(I){let t;g._$AQ?.(A),g._$AM=A,void 0!==g._$AP&&(t=A._$AU)!==o._$AU&&g._$AP(t)}if(t!==i||I){let A=g._$AA;for(;A!==t;){const t=A.nextSibling;e.insertBefore(A,i),A=t}}}return g},X=(A,t,g=A)=>(A._$AI(t,g),A),$={},_=(A,t=$)=>A._$AH=t,AA=A=>A._$AH,tA=A=>{A._$AP?.(!1,!0);let t=A._$AA;const g=A._$AB.nextSibling;for(;t!==g;){const A=t.nextSibling;t.remove(),t=A}},gA=A=>{A._$AR()},eA=(A,t)=>{const g=A._$AN;if(void 0===g)return!1;for(const A of g)A._$AO?.(t,!1),eA(A,t);return!0},iA=A=>{let t,g;do{if(void 0===(t=A._$AM))break;g=t._$AN,g.delete(A),A=t}while(0===g?.size)},oA=A=>{for(let t;t=A._$AM;A=t){let g=t._$AN;if(void 0===g)t._$AN=g=new Set;else if(g.has(A))break;g.add(A),sA(t)}};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/function IA(A){void 0!==this._$AN?(iA(this),this._$AM=A,oA(this)):this._$AM=A}function aA(A,t=!1,g=0){const e=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(e))for(let A=g;A<e.length;A++)eA(e[A],!1),iA(e[A]);else null!=e&&(eA(e,!1),iA(e));else eA(this,A)}const sA=A=>{A.type==T.CHILD&&(A._$AP??=aA,A._$AQ??=IA)};class BA extends z{constructor(){super(...arguments),this._$AN=void 0}_$AT(A,t,g){super._$AT(A,t,g),oA(this),this.isConnected=A._$AU}_$AO(A,t=!0){A!==this.isConnected&&(this.isConnected=A,A?this.reconnected?.():this.disconnected?.()),t&&(eA(this,A),iA(this))}setValue(A){if(Z(this._$Ct))this._$Ct._$AI(A,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=A,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/class CA{constructor(A){this.Y=A}disconnect(){this.Y=void 0}reconnect(A){this.Y=A}deref(){return this.Y}}let nA=class{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){this.Z??=new Promise((A=>this.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}},QA=class extends BA{constructor(){super(...arguments),this._$CK=new CA(this),this._$CX=new nA}render(A,t){return f}update(A,[t,g]){if(this.isConnected||this.disconnected(),t===this._$CJ)return f;this._$CJ=t;let e=0;const{_$CK:i,_$CX:o}=this;return(async(A,t)=>{for await(const g of A)if(!1===await t(g))return})(t,(async A=>{for(;o.get();)await o.get();const I=i.deref();if(void 0!==I){if(I._$CJ!==t)return!1;void 0!==g&&(A=g(A,e)),I.commitValue(A,e),e++}return!0})),f}commitValue(A,t){this.setValue(A)}disconnected(){this._$CK.disconnect(),this._$CX.pause()}reconnected(){this._$CK.reconnect(this),this._$CX.resume()}};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const rA=W(QA),EA=W(class extends QA{constructor(A){if(super(A),A.type!==T.CHILD)throw Error("asyncAppend can only be used in child expressions")}update(A,t){return this._$Ctt=A,super.update(A,t)}commitValue(A,t){0===t&&gA(this._$Ctt);const g=O(this._$Ctt);X(g,A)}}),cA=A=>(A=>null!=A?._$litType$?.h)(A)?A._$litType$.h:A.strings,lA=W(class extends z{constructor(A){super(A),this.et=new WeakMap}render(A){return[A]}update(A,[t]){const g=P(this.it)?cA(this.it):null,e=P(t)?cA(t):null;if(null!==g&&(null===e||g!==e)){const t=AA(A).pop();let e=this.et.get(g);if(void 0===e){const A=document.createDocumentFragment();e=q(p,A),e.setConnected(!1),this.et.set(g,e)}_(e,[t]),O(e,void 0,t)}if(null!==e){if(null===g||g!==e){const t=this.et.get(e);if(void 0!==t){const g=AA(t).pop();gA(A),O(A,void 0,g),_(A,[g])}}this.it=t}else this.it=void 0;return this.render(t)}}),hA={},dA=W(class extends z{constructor(){super(...arguments),this.ot=hA}render(A,t){return t()}update(A,[t,g]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every(((A,t)=>A===this.ot[t])))return f}else if(this.ot===t)return f;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,g)}}),uA=A=>A??p
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/,wA=(A,t,g)=>{const e=new Map;for(let i=t;i<=g;i++)e.set(A[i],i);return e},DA=W(class extends z{constructor(A){if(super(A),A.type!==T.CHILD)throw Error("repeat() can only be used in text expressions")}dt(A,t,g){let e;void 0===g?g=t:void 0!==t&&(e=t);const i=[],o=[];let I=0;for(const t of A)i[I]=e?e(t,I):I,o[I]=g(t,I),I++;return{values:o,keys:i}}render(A,t,g){return this.dt(A,t,g).values}update(A,[t,g,e]){const i=AA(A),{values:o,keys:I}=this.dt(t,g,e);if(!Array.isArray(i))return this.ut=I,o;const a=this.ut??=[],s=[];let B,C,n=0,Q=i.length-1,r=0,E=o.length-1;for(;n<=Q&&r<=E;)if(null===i[n])n++;else if(null===i[Q])Q--;else if(a[n]===I[r])s[r]=X(i[n],o[r]),n++,r++;else if(a[Q]===I[E])s[E]=X(i[Q],o[E]),Q--,E--;else if(a[n]===I[E])s[E]=X(i[n],o[E]),O(A,s[E+1],i[n]),n++,E--;else if(a[Q]===I[r])s[r]=X(i[Q],o[r]),O(A,i[n],i[Q]),Q--,r++;else if(void 0===B&&(B=wA(I,r,E),C=wA(a,n,Q)),B.has(a[n]))if(B.has(a[Q])){const t=C.get(I[r]),g=void 0!==t?i[t]:null;if(null===g){const t=O(A,i[n]);X(t,o[r]),s[r]=t}else s[r]=X(g,o[r]),O(A,i[n],g),i[t]=null;r++}else tA(i[Q]),Q--;else tA(i[n]),n++;for(;r<=E;){const t=O(A,s[E+1]);X(t,o[r]),s[r++]=t}for(;n<=Q;){const A=i[n++];null!==A&&tA(A)}return this.ut=I,_(A,s),f}});
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
let mA=class extends z{constructor(A){if(super(A),this.it=p,A.type!==T.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(A){if(A===p||null==A)return this._t=void 0,this.it=A;if(A===f)return A;if("string"!=typeof A)throw Error(this.constructor.directiveName+"() called with a non-string value");if(A===this.it)return this._t;this.it=A;const t=[A];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};mA.directiveName="unsafeHTML",mA.resultType=1;const yA=W(mA),fA=A=>!(A=>null===A||"object"!=typeof A&&"function"!=typeof A)(A)&&"function"==typeof A.then,pA=1073741823;
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/class kA extends BA{constructor(){super(...arguments),this._$Cwt=pA,this._$Cbt=[],this._$CK=new CA(this),this._$CX=new nA}render(...A){return A.find((A=>!fA(A)))??f}update(A,t){const g=this._$Cbt;let e=g.length;this._$Cbt=t;const i=this._$CK,o=this._$CX;this.isConnected||this.disconnected();for(let A=0;A<t.length&&!(A>this._$Cwt);A++){const I=t[A];if(!fA(I))return this._$Cwt=A,I;A<e&&I===g[A]||(this._$Cwt=pA,e=0,Promise.resolve(I).then((async A=>{for(;o.get();)await o.get();const t=i.deref();if(void 0!==t){const g=t._$Cbt.indexOf(I);g>-1&&g<t._$Cwt&&(t._$Cwt=g,t.setValue(A))}})))}return f}disconnected(){this._$CK.disconnect(),this._$CX.pause()}reconnected(){this._$CK.reconnect(this),this._$CX.resume()}}const GA=W(kA),MA=W(class extends z{constructor(A){if(super(A),A.type!==T.PROPERTY&&A.type!==T.ATTRIBUTE&&A.type!==T.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!Z(A))throw Error("`live` bindings can only contain a single expression")}render(A){return A}update(A,[t]){if(t===f||t===p)return t;const g=A.element,e=A.name;if(A.type===T.PROPERTY){if(t===g[e])return f}else if(A.type===T.BOOLEAN_ATTRIBUTE){if(!!t===g.hasAttribute(e))return f}else if(A.type===T.ATTRIBUTE&&g.getAttribute(e)===t+"")return f;return _(A),t}}),NA="important",FA=" !"+NA,bA=W(class extends z{constructor(A){if(super(A),A.type!==T.ATTRIBUTE||"style"!==A.name||A.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(A){return Object.keys(A).reduce(((t,g)=>{const e=A[g];return null==e?t:t+`${g=g.includes("-")?g:g.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${e};`}),"")}update(A,[t]){const{style:g}=A.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const A of this.ft)null==t[A]&&(this.ft.delete(A),A.includes("-")?g.removeProperty(A):g[A]=null);for(const A in t){const e=t[A];if(null!=e){this.ft.add(A);const t="string"==typeof e&&e.endsWith(FA);A.includes("-")||t?g.setProperty(A,t?e.slice(0,-11):e,t?NA:""):g[A]=e}}return f}}),RA=W(class extends z{constructor(A){if(super(A),A.type!==T.ATTRIBUTE||"class"!==A.name||A.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(A){return" "+Object.keys(A).filter((t=>A[t])).join(" ")+" "}update(A,[t]){if(void 0===this.st){this.st=new Set,void 0!==A.strings&&(this.nt=new Set(A.strings.join(" ").split(/\s/).filter((A=>""!==A))));for(const A in t)t[A]&&!this.nt?.has(A)&&this.st.add(A);return this.render(t)}const g=A.element.classList;for(const A of this.st)A in t||(g.remove(A),this.st.delete(A));for(const A in t){const e=!!t[A];e===this.st.has(A)||this.nt?.has(A)||(e?(g.add(A),this.st.add(A)):(g.remove(A),this.st.delete(A)))}return f}});
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function vA(A,t,g){return A?t(A):g?.(A)}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const SA=(A,t,g)=>{for(const g of t)if(g[0]===A)return(0,g[1])();return g?.()};
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/function*YA(A,t){if(void 0!==A){let g=0;for(const e of A)yield t(e,g++)}}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/function*JA(A,t){const g="function"==typeof t;if(void 0!==A){let e=-1;for(const i of A)e>-1&&(yield g?t(e):t),e++,yield i}}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/function*LA(A,t,g=1){const e=void 0===t?0:A;t??=A;for(let A=e;g>0?A<t:t<A;A+=g)yield A}
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const UA=W(class extends z{constructor(A){if(super(A),A.type!==T.CHILD)throw Error("templateContent can only be used in child bindings")}render(A){return this.vt===A?f:(this.vt=A,document.importNode(A.content,!0))}});
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/class xA extends mA{}xA.directiveName="unsafeSVG",xA.resultType=2;const HA=W(xA);
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/class qA{}const KA=new WeakMap,TA=W(class extends BA{render(A){return p}update(A,[t]){const g=t!==this.Y;return g&&void 0!==this.Y&&this.rt(void 0),(g||this.lt!==this.ct)&&(this.Y=t,this.ht=A.options?.host,this.rt(this.ct=A.element)),p}rt(A){if(this.isConnected||(A=void 0),"function"==typeof this.Y){const t=this.ht??globalThis;let g=KA.get(t);void 0===g&&(g=new WeakMap,KA.set(t,g)),void 0!==g.get(this.Y)&&this.Y.call(this.ht,void 0),g.set(this.Y,A),void 0!==A&&this.Y.call(this.ht,A)}else this.Y.value=A}get lt(){return"function"==typeof this.Y?KA.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),WA=new WeakMap;class zA extends z{update(A,t){return t[0].execute(A),f}render(A){return A.toString()}}class jA{constructor(A,t={schedule:!1}){this.schedule=!1,this.style=A,this._directive=W(zA),this.execute=this.execute.bind(this),this.schedule=t.schedule}directive(){return this._directive(this)}setStyle(A){for(const A in this.style)delete this.style[A];for(const t in A)this.style[t]=A[t]}toString(){return Object.keys(this.style).reduce(((A,t)=>{const g=this.style[t];return null==g?A:A+`${t=t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${g};`}),"")}_getInternalStyle(){return this.element?WA.get(this.element):null}updateStyle(A,t,g){const e=g.previousStyle;for(const A of t)A&&!this.style[A]&&(g.toRemove.includes(A)||g.toRemove.push(A));for(const A in e)A&&A in this.style&&!this.style[A]&&t.includes(A)&&(g.toRemove.includes(A)||g.toRemove.push(A));for(const A in this.style){if(!A)continue;if(!(A in this.style))continue;const i=this.style[A];if(!i)continue;const o=e[A];void 0!==o&&o===i&&t.includes(A)||g.toUpdate.push(A)}if(g.toRemove.length||g.toUpdate.length){for(const t of g.toRemove)A.removeProperty(t),A[t]&&delete A[t],g.elementStyles=g.elementStyles.filter((A=>A!==t));for(const t of g.toUpdate){const e=this.style[t];e&&(t.includes("-")?A.setProperty(t,e):A[t]=e,g.elementStyles.includes(t)||g.elementStyles.push(t))}g.previousStyle=Object.assign({},this.style)}}execute(A){const t=A.element;let g;this.element=t,WA.has(t)?g=WA.get(t):(g={toUpdate:[],toRemove:[],previousStyle:{},elementStyles:[],styleTaken:!1},WA.set(t,g)),g.toRemove.length=0,g.toUpdate.length=0;const e=t.style;let i;if(g.styleTaken)i=g.elementStyles;else{g.elementStyles=i=[];for(let A=g.length;A--;)i.push(e[A]);g.styleTaken=!0}this.schedule?requestAnimationFrame((()=>{this.updateStyle(e,i,g)})):this.updateStyle(e,i,g),WA.set(t,g)}}const PA=new WeakMap;const ZA=W(class extends z{render(A){return p}update(A,t){if("boolean"!=typeof t[0])throw new Error("[vido] Detach directive argument should be a boolean.");let g=t[0];const e=A.element;if(g)PA.has(A)||PA.set(A,{element:e,nextSibling:e.nextSibling,previousSibling:e.previousSibling,parent:e.parentNode}),e.remove();else{const t=PA.get(A);t&&(t.nextSibling&&t.nextSibling.parentNode?t.nextSibling.parentNode.insertBefore(t.element,t.nextSibling):t.previousSibling&&t.previousSibling.parentNode?t.previousSibling.parentNode.appendChild(t.element):t.parent&&t.parent.appendChild(t.element),PA.delete(A))}return this.render(g)}});class VA{constructor(){this.isAction=!0}}VA.prototype.isAction=!0;const OA={element:document.createTextNode(""),axis:"xy",threshold:10,onDown(){},onMove(){},onUp(){},onWheel(){}},XA="undefined"!=typeof PointerEvent;let $A=0;class _A extends VA{constructor(A,t){super(),this.moving="",this.initialX=0,this.initialY=0,this.lastY=0,this.lastX=0,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onWheel=this.onWheel.bind(this),this.element=A,this.id=++$A,this.options=Object.assign(Object.assign({},OA),t.pointerOptions),XA?(A.addEventListener("pointerdown",this.onPointerDown),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp)):(A.addEventListener("touchstart",this.onPointerDown),document.addEventListener("touchmove",this.onPointerMove,{passive:!1}),document.addEventListener("touchend",this.onPointerUp),document.addEventListener("touchcancel",this.onPointerUp),A.addEventListener("mousedown",this.onPointerDown),document.addEventListener("mousemove",this.onPointerMove,{passive:!1}),document.addEventListener("mouseup",this.onPointerUp))}normalizeMouseWheelEvent(A){let t=A.deltaX||0,g=A.deltaY||0,e=A.deltaZ||0;const i=A.deltaMode,o=parseInt(getComputedStyle(A.target).getPropertyValue("line-height"));let I=1;switch(i){case 1:I=o;break;case 2:I=window.height}return t*=I,g*=I,e*=I,{x:t,y:g,z:e,event:A}}onWheel(A){const t=this.normalizeMouseWheelEvent(A);this.options.onWheel(t)}normalizePointerEvent(A){let t={x:0,y:0,pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0,event:A};switch(A.type){case"wheel":const g=this.normalizeMouseWheelEvent(A);t.x=g.x,t.y=g.y,t.pageX=t.x,t.pageY=t.y,t.screenX=t.x,t.screenY=t.y,t.clientX=t.x,t.clientY=t.y;break;case"touchstart":case"touchmove":case"touchend":case"touchcancel":t.x=A.changedTouches[0].screenX,t.y=A.changedTouches[0].screenY,t.pageX=A.changedTouches[0].pageX,t.pageY=A.changedTouches[0].pageY,t.screenX=A.changedTouches[0].screenX,t.screenY=A.changedTouches[0].screenY,t.clientX=A.changedTouches[0].clientX,t.clientY=A.changedTouches[0].clientY;break;default:t.x=A.x,t.y=A.y,t.pageX=A.pageX,t.pageY=A.pageY,t.screenX=A.screenX,t.screenY=A.screenY,t.clientX=A.clientX,t.clientY=A.clientY}return t}onPointerDown(A){if("mousedown"===A.type&&0!==A.button)return;this.moving="xy";const t=this.normalizePointerEvent(A);this.lastX=t.x,this.lastY=t.y,this.initialX=t.x,this.initialY=t.y,this.options.onDown(t)}handleX(A){let t=A.x-this.lastX;return this.lastY=A.y,this.lastX=A.x,t}handleY(A){let t=A.y-this.lastY;return this.lastY=A.y,this.lastX=A.x,t}onPointerMove(A){if(""===this.moving||"mousemove"===A.type&&0!==A.button)return;const t=this.normalizePointerEvent(A);if("x|y"===this.options.axis){let g=0,e=0;("x"===this.moving||"xy"===this.moving&&Math.abs(t.x-this.initialX)>this.options.threshold)&&(this.moving="x",g=this.handleX(t)),("y"===this.moving||"xy"===this.moving&&Math.abs(t.y-this.initialY)>this.options.threshold)&&(this.moving="y",e=this.handleY(t)),this.options.onMove({movementX:g,movementY:e,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A})}else if("xy"===this.options.axis){let g=0,e=0;Math.abs(t.x-this.initialX)>this.options.threshold&&(g=this.handleX(t)),Math.abs(t.y-this.initialY)>this.options.threshold&&(e=this.handleY(t)),this.options.onMove({movementX:g,movementY:e,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A})}else if("x"===this.options.axis)("x"===this.moving||"xy"===this.moving&&Math.abs(t.x-this.initialX)>this.options.threshold)&&(this.moving="x",this.options.onMove({movementX:this.handleX(t),movementY:0,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A}));else if("y"===this.options.axis){let g=0;("y"===this.moving||"xy"===this.moving&&Math.abs(t.y-this.initialY)>this.options.threshold)&&(this.moving="y",g=this.handleY(t)),this.options.onMove({movementX:0,movementY:g,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A})}}onPointerUp(A){this.moving="";const t=this.normalizePointerEvent(A);this.options.onUp({movementX:0,movementY:0,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A}),this.lastY=0,this.lastX=0}destroy(A){XA?(A.removeEventListener("pointerdown",this.onPointerDown),document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp)):(A.removeEventListener("mousedown",this.onPointerDown),document.removeEventListener("mousemove",this.onPointerMove),document.removeEventListener("mouseup",this.onPointerUp),A.removeEventListener("touchstart",this.onPointerDown),document.removeEventListener("touchmove",this.onPointerMove),document.removeEventListener("touchend",this.onPointerUp),document.removeEventListener("touchcancel",this.onPointerUp))}}function At(A){let t=0;return function(g){t||(t=requestAnimationFrame((function(){t=0,A.apply(void 0,[g])})))}}function tt(A){return null==A||"string"==typeof A||"number"==typeof A||"boolean"==typeof A||"bigint"==typeof A||"symbol"==typeof A}function gt(A){return!tt(A)&&(A&&A.constructor?"Object"===A.constructor.name:"object"==typeof A&&null!==A)}function et(A){return!tt(A)&&(Array.isArray(A)||gt(A))}function it(A,...t){const g=t.shift();if(gt(g)){gt(A)||(A=Object.create(null));for(const t in g){const e=g[t];et(e)?A[t]=it(A[t],e):A[t]=e}}else if(Array.isArray(g)){const t=g.length;Array.isArray(A)?A.length=t:A=new Array(t);let e=0;for(;e<t;e++){const t=g[e];et(t)?A[e]=it(A[e],t):A[e]=t}void 0!==g.raw&&(A.raw=g.raw.slice())}else A=g;return t.length?it(A,...t):A}function ot(A){if(void 0!==A.actions){const t=A.actions.map((A=>{const t=Object.assign({},A),g=Object.assign({},t.props);return delete g.state,delete g.api,delete t.element,t.props=g,t}));A.actions=t}return it({},A)}var It={mergeDeep:it,clone:ot,schedule:At};class at{constructor(A,t){this.slotInstances={},this.destroyed=!1,this.vido=A,this.props=t,this.destroy=this.destroy.bind(this),this.change=this.change.bind(this),this.html=this.html.bind(this),this.getInstances=this.getInstances.bind(this),this.setComponents=this.setComponents.bind(this),this.vido.onDestroy((()=>{this.destroy()}))}setComponents(A){if(A&&!this.destroyed){for(const t in A){const g=A[t];void 0===this.slotInstances[t]&&(this.slotInstances[t]=[]);for(const A of this.slotInstances[t])A.destroy();this.slotInstances[t].length=0;for(const A of g)this.slotInstances[t].push(this.vido.createComponent(A,this.props))}this.vido.update()}}destroy(){if(!this.destroyed){for(const A in this.slotInstances){for(const t of this.slotInstances[A])t.destroy();this.slotInstances[A].length=0}this.destroyed=!0}}change(A,t=void 0){if(!this.destroyed){this.props=A;for(const g in this.slotInstances){const e=this.slotInstances[g];for(const g of e)g.change(A,t)}}}getInstances(A){return this.destroyed?[]:void 0===A?this.slotInstances:this.slotInstances[A]}html(A,t){if(this.destroyed)return;if(!this.slotInstances[A]||0===this.slotInstances[A].length)return t;let g=t;for(const t of this.slotInstances[A])g=t.html(g);return g}getProps(){return this.props}isDestroyed(){return this.destroyed}}class st extends z{update(A,t){if("function"!=typeof t[0])throw new Error("[vido] GetElementDirective argument should be a function.");(0,t[0])(A.element)}render(){return p}}function Bt(A,t){let g=0;const e=new Map;let i,o,I=new Map,a=0;const s=[],B=Promise.resolve(),C={},n=function(A){return class extends z{update(t,g){const e=t.element,i=g[0],o=g[1],I=g[2];for(const t of o)if(void 0!==t){let g;if(A.has(i))for(const o of A.get(i))if(o.componentAction.create===t&&o.element===e){g=o;break}if(g)g.props=I;else{void 0!==e.vido&&delete e.vido;const g={instance:i,componentAction:{create:t,update(){},destroy(){}},element:e,props:I};let o=[];A.has(i)&&(o=A.get(i)),o.push(g),A.set(i,o)}}}render(A,t,g){return p}}}(I);class Q{constructor(A){this.instance=A}create(A,t){const g=W(n);return()=>g(this.instance,A,t)}}const r=function(A,t,g){return class{constructor(A,t,g={}){this.destroyed=!1,this.instance=A,this.name=t.name,this.vidoInstance=t,this.props=g,this.destroy=this.destroy.bind(this),this.update=this.update.bind(this),this.change=this.change.bind(this),this.html=this.html.bind(this)}destroy(){this.destroyed||(this.vidoInstance.debug&&(console.groupCollapsed(`destroying component ${this.instance}`),console.log(g({components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd()),this.vidoInstance.destroyComponent(this.instance,this.vidoInstance),this.destroyed=!0)}update(e=void 0){return this.vidoInstance.debug&&(console.groupCollapsed(`updating component ${this.instance}`),console.log(g({components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd()),this.vidoInstance.updateTemplate(e)}change(e,i={}){this.vidoInstance.debug&&(console.groupCollapsed(`changing component ${this.instance}`),console.log(g({props:this.props,newProps:e,components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd());const o=A.get(this.instance);o&&o.change(e,i)}html(t={}){const g=A.get(this.instance);if(g&&!g.destroyed)return g.update(t,this.vidoInstance)}_getComponents(){return A}_getActions(){return t}}}(e,I,ot),E=function(A,t,g){return class{constructor(A,t,g){this.destroyed=!1,this.instance=A,this.vidoInstance=t,this.renderFunction=g,this.destroy=this.destroy.bind(this),this.update=this.update.bind(this),this.change=this.change.bind(this)}destroy(){if(!this.destroyed){this.vidoInstance.debug&&(console.groupCollapsed(`component destroy method fired ${this.instance}`),console.log(g({props:this.vidoInstance.props,components:A.keys(),destroyable:this.vidoInstance.destroyable,actionsByInstance:t})),console.trace(),console.groupEnd()),this.content&&"function"==typeof this.content.destroy&&this.content.destroy();for(const A of this.vidoInstance.destroyable)A();this.vidoInstance.onChangeFunctions.length=0,this.vidoInstance.destroyable.length=0,this.vidoInstance.destroyed=!0,this.destroyed=!0,this.vidoInstance.update()}}update(e={}){return this.vidoInstance.debug&&(console.groupCollapsed(`component update method fired ${this.instance}`),console.log(g({components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd()),this.renderFunction(e)}change(e,i={leave:!1}){const o=e;this.vidoInstance.debug&&(console.groupCollapsed(`component change method fired ${this.instance}`),console.log(g({props:o,components:A.keys(),onChangeFunctions:this.vidoInstance.onChangeFunctions,changedProps:e,actionsByInstance:t})),console.trace(),console.groupEnd());for(const A of this.vidoInstance.onChangeFunctions)A(e,i)}}}(e,I,ot);class c{constructor(g="",i=""){this.instance="",this.name="",this.destroyable=[],this.destroyed=!1,this.onChangeFunctions=[],this.debug=!1,this.state=A,this.api=t,this.lastProps={},this.html=D,this.svg=m,this.lithtml=K,this.directive=W,this.asyncAppend=EA,this.asyncReplace=rA,this.cache=lA,this.classMap=RA,this.styleMap=bA,this.StyleMap=jA,this.guard=dA,this.live=MA,this.ifDefined=uA,this.repeat=DA,this.unsafeHTML=yA,this.until=GA,this.when=vA,this.choose=SA,this.map=YA,this.join=JA,this.range=LA,this.templateContent=UA,this.unsafeSVG=HA,this.ref=TA,this.schedule=At,this.getElement=W(st),this.actionsByInstance=()=>{},this.detach=ZA,this.PointerAction=_A,this.Action=VA,this.Slots=at,this._components=e,this._actions=I,this.instance=g,this.reuseComponents=this.reuseComponents.bind(this),this.onDestroy=this.onDestroy.bind(this),this.onChange=this.onChange.bind(this),this.update=this.update.bind(this),this.destroyComponent=this.destroyComponent.bind(this);for(const A in C)this[A]=C[A].bind(this);this.name=i,this.Actions=new Q(g)}static addMethod(A,t){C[A]=t}onDestroy(A){this.destroyable.push(A)}onChange(A){this.onChangeFunctions.push(A)}update(A){return this.updateTemplate(A)}reuseComponents(A,t,g,e,i=!0,o=!1){const I=[],a=A.length,s=t.length;let B=!1;!i||void 0!==t&&0!==t.length||(B=!0);let C=0;if(a<s){let i=s-a;for(;i;){const o=t[s-i],a=this.createComponent(e,g(o));A.push(a),I.push(a),i--}}else if(a>s){let t=a-s;if(i)B=!0,C=a-t;else{for(;t;){const g=a-t;I.push(A[g]),A[g].destroy(),t--}A.length=s}}let n=0;o&&console.log("modified components",I),o&&console.log("current components",A),o&&console.log("data array",t);for(const e of A){const A=t[n];o&&console.log(`reuse components data at '${n}'`,A),e&&!I.includes(e)&&(o&&console.log("getProps fn result",g(A)),e.change(g(A),{leave:B&&n>=C})),n++}}createComponent(A,t={}){const i=A.name+":"+g++;let o;o=new c(i,A.name);const a=new r(i,o,t),s=new E(i,o,A(o,t));return e.set(i,s),e.get(i).change(t),o.debug&&(console.groupCollapsed(`component created ${i}`),console.log(ot({props:t,components:e.keys(),actionsByInstance:I})),console.trace(),console.groupEnd()),a}destroyComponent(A,t){if(t.debug&&(console.groupCollapsed(`destroying component ${A}...`),console.log(ot({components:e.keys(),actionsByInstance:I})),console.trace(),console.groupEnd()),I.has(A))for(const t of I.get(A))"function"==typeof t.componentAction.destroy&&t.componentAction.destroy(t.element,t.props);I.delete(A);const g=e.get(A);g?(g.destroy(),e.delete(A),t.debug&&(console.groupCollapsed(`component destroyed ${A}`),console.log(ot({components:e.keys(),actionsByInstance:I})),console.trace(),console.groupEnd())):console.warn(`No component to destroy! [${A}]`)}executeActions(){for(const A of I.values()){for(const t of A)if(void 0===t.element.vido){const A=e.get(t.instance);t.isActive=function(){return A&&!1===A.destroyed};const g=t.componentAction,i=g.create;if(void 0!==i){let A;A=i.prototype&&(i.prototype.isAction||i.prototype.update||i.prototype.destroy)||i.isAction?new i(t.element,t.props):i(t.element,t.props),void 0!==A&&("function"==typeof A?g.destroy=A:("function"==typeof A.update&&(g.update=A.update.bind(A)),"function"==typeof A.destroy&&(g.destroy=A.destroy.bind(A))))}}else t.element.vido=t.props,"function"==typeof t.componentAction.update&&t.isActive()&&t.componentAction.update(t.element,t.props);for(const t of A)t.element.vido=t.props}}updateTemplate(A=void 0){return A&&s.push(A),new Promise((A=>{const t=++a,g=this;B.then((function(){if(t===a){a=0,g.render();for(const A of s)A();s.length=0,A(null)}}))}))}createApp(A){o=A.element;const t=this.createComponent(A.component,A.props);return i=t.instance,this.render(),t}render(){const A=e.get(i);A?(q(A.update(),o),this.executeActions()):o&&o.remove()}}return new c}Bt.lithtml=K,Bt.Action=VA,Bt.Directive=z,Bt.StyleMap=jA,Bt.PointerAction=_A,Bt.Slots=at,Bt.directives={schedule:At,detach:ZA,styleMap:bA,classMap:RA,asyncAppend:EA,asyncReplace:rA,cache:lA,guard:dA,live:MA,ifDefined:uA,repeat:DA,unsafeHTML:yA,until:GA,when:vA,choose:SA,map:YA,join:JA,range:LA,templateContent:UA,unsafeSVG:HA,ref:TA};const Ct=K;var nt=Object.freeze({__proto__:null,Action:VA,AsyncReplaceDirective:QA,Directive:z,PartType:T,PointerAction:_A,Slots:at,StyleMap:jA,UnsafeHTMLDirective:mA,UntilDirective:kA,_$LH:x,asyncAppend:EA,asyncReplace:rA,cache:lA,choose:SA,classMap:RA,createRef:()=>new qA,default:Bt,detach:ZA,directive:W,guard:dA,helpers:It,html:D,ifDefined:uA,join:JA,lit:Ct,lithtml:K,map:YA,mathml:y,noChange:f,nothing:p,range:LA,ref:TA,render:q,repeat:DA,schedule:At,styleMap:bA,svg:m,templateContent:UA,unsafeHTML:yA,unsafeSVG:HA,until:GA,when:vA}),Qt=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self,{exports:{}});!function(A){A.exports=function(){var A=1e3,t=6e4,g=36e5,e="millisecond",i="second",o="minute",I="hour",a="day",s="week",B="month",C="quarter",n="year",Q="date",r="Invalid Date",E=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,c=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var t=["th","st","nd","rd"],g=A%100;return"["+A+(t[(g-20)%10]||t[g]||t[0])+"]"}},h=function(A,t,g){var e=String(A);return!e||e.length>=t?A:""+Array(t+1-e.length).join(g)+A},d={s:h,z:function(A){var t=-A.utcOffset(),g=Math.abs(t),e=Math.floor(g/60),i=g%60;return(t<=0?"+":"-")+h(e,2,"0")+":"+h(i,2,"0")},m:function A(t,g){if(t.date()<g.date())return-A(g,t);var e=12*(g.year()-t.year())+(g.month()-t.month()),i=t.clone().add(e,B),o=g-i<0,I=t.clone().add(e+(o?-1:1),B);return+(-(e+(g-i)/(o?i-I:I-i))||0)},a:function(A){return A<0?Math.ceil(A)||0:Math.floor(A)},p:function(A){return{M:B,y:n,w:s,d:a,D:Q,h:I,m:o,s:i,ms:e,Q:C}[A]||String(A||"").toLowerCase().replace(/s$/,"")},u:function(A){return void 0===A}},u="en",w={};w[u]=l;var D="$isDayjsObject",m=function(A){return A instanceof k||!(!A||!A[D])},y=function A(t,g,e){var i;if(!t)return u;if("string"==typeof t){var o=t.toLowerCase();w[o]&&(i=o),g&&(w[o]=g,i=o);var I=t.split("-");if(!i&&I.length>1)return A(I[0])}else{var a=t.name;w[a]=t,i=a}return!e&&i&&(u=i),i||!e&&u},f=function(A,t){if(m(A))return A.clone();var g="object"==typeof t?t:{};return g.date=A,g.args=arguments,new k(g)},p=d;p.l=y,p.i=m,p.w=function(A,t){return f(A,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var k=function(){function l(A){this.$L=y(A.locale,null,!0),this.parse(A),this.$x=this.$x||A.x||{},this[D]=!0}var h=l.prototype;return h.parse=function(A){this.$d=function(A){var t=A.date,g=A.utc;if(null===t)return new Date(NaN);if(p.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var e=t.match(E);if(e){var i=e[2]-1||0,o=(e[7]||"0").substring(0,3);return g?new Date(Date.UTC(e[1],i,e[3]||1,e[4]||0,e[5]||0,e[6]||0,o)):new Date(e[1],i,e[3]||1,e[4]||0,e[5]||0,e[6]||0,o)}}return new Date(t)}(A),this.init()},h.init=function(){var A=this.$d;this.$y=A.getFullYear(),this.$M=A.getMonth(),this.$D=A.getDate(),this.$W=A.getDay(),this.$H=A.getHours(),this.$m=A.getMinutes(),this.$s=A.getSeconds(),this.$ms=A.getMilliseconds()},h.$utils=function(){return p},h.isValid=function(){return!(this.$d.toString()===r)},h.isSame=function(A,t){var g=f(A);return this.startOf(t)<=g&&g<=this.endOf(t)},h.isAfter=function(A,t){return f(A)<this.startOf(t)},h.isBefore=function(A,t){return this.endOf(t)<f(A)},h.$g=function(A,t,g){return p.u(A)?this[t]:this.set(g,A)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(A,t){var g=this,e=!!p.u(t)||t,C=p.p(A),r=function(A,t){var i=p.w(g.$u?Date.UTC(g.$y,t,A):new Date(g.$y,t,A),g);return e?i:i.endOf(a)},E=function(A,t){return p.w(g.toDate()[A].apply(g.toDate("s"),(e?[0,0,0,0]:[23,59,59,999]).slice(t)),g)},c=this.$W,l=this.$M,h=this.$D,d="set"+(this.$u?"UTC":"");switch(C){case n:return e?r(1,0):r(31,11);case B:return e?r(1,l):r(0,l+1);case s:var u=this.$locale().weekStart||0,w=(c<u?c+7:c)-u;return r(e?h-w:h+(6-w),l);case a:case Q:return E(d+"Hours",0);case I:return E(d+"Minutes",1);case o:return E(d+"Seconds",2);case i:return E(d+"Milliseconds",3);default:return this.clone()}},h.endOf=function(A){return this.startOf(A,!1)},h.$set=function(A,t){var g,s=p.p(A),C="set"+(this.$u?"UTC":""),r=(g={},g[a]=C+"Date",g[Q]=C+"Date",g[B]=C+"Month",g[n]=C+"FullYear",g[I]=C+"Hours",g[o]=C+"Minutes",g[i]=C+"Seconds",g[e]=C+"Milliseconds",g)[s],E=s===a?this.$D+(t-this.$W):t;if(s===B||s===n){var c=this.clone().set(Q,1);c.$d[r](E),c.init(),this.$d=c.set(Q,Math.min(this.$D,c.daysInMonth())).$d}else r&&this.$d[r](E);return this.init(),this},h.set=function(A,t){return this.clone().$set(A,t)},h.get=function(A){return this[p.p(A)]()},h.add=function(e,C){var Q,r=this;e=Number(e);var E=p.p(C),c=function(A){var t=f(r);return p.w(t.date(t.date()+Math.round(A*e)),r)};if(E===B)return this.set(B,this.$M+e);if(E===n)return this.set(n,this.$y+e);if(E===a)return c(1);if(E===s)return c(7);var l=(Q={},Q[o]=t,Q[I]=g,Q[i]=A,Q)[E]||1,h=this.$d.getTime()+e*l;return p.w(h,this)},h.subtract=function(A,t){return this.add(-1*A,t)},h.format=function(A){var t=this,g=this.$locale();if(!this.isValid())return g.invalidDate||r;var e=A||"YYYY-MM-DDTHH:mm:ssZ",i=p.z(this),o=this.$H,I=this.$m,a=this.$M,s=g.weekdays,B=g.months,C=g.meridiem,n=function(A,g,i,o){return A&&(A[g]||A(t,e))||i[g].slice(0,o)},Q=function(A){return p.s(o%12||12,A,"0")},E=C||function(A,t,g){var e=A<12?"AM":"PM";return g?e.toLowerCase():e};return e.replace(c,(function(A,e){return e||function(A){switch(A){case"YY":return String(t.$y).slice(-2);case"YYYY":return p.s(t.$y,4,"0");case"M":return a+1;case"MM":return p.s(a+1,2,"0");case"MMM":return n(g.monthsShort,a,B,3);case"MMMM":return n(B,a);case"D":return t.$D;case"DD":return p.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return n(g.weekdaysMin,t.$W,s,2);case"ddd":return n(g.weekdaysShort,t.$W,s,3);case"dddd":return s[t.$W];case"H":return String(o);case"HH":return p.s(o,2,"0");case"h":return Q(1);case"hh":return Q(2);case"a":return E(o,I,!0);case"A":return E(o,I,!1);case"m":return String(I);case"mm":return p.s(I,2,"0");case"s":return String(t.$s);case"ss":return p.s(t.$s,2,"0");case"SSS":return p.s(t.$ms,3,"0");case"Z":return i}return null}(A)||i.replace(":","")}))},h.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},h.diff=function(e,Q,r){var E,c=this,l=p.p(Q),h=f(e),d=(h.utcOffset()-this.utcOffset())*t,u=this-h,w=function(){return p.m(c,h)};switch(l){case n:E=w()/12;break;case B:E=w();break;case C:E=w()/3;break;case s:E=(u-d)/6048e5;break;case a:E=(u-d)/864e5;break;case I:E=u/g;break;case o:E=u/t;break;case i:E=u/A;break;default:E=u}return r?E:p.a(E)},h.daysInMonth=function(){return this.endOf(B).$D},h.$locale=function(){return w[this.$L]},h.locale=function(A,t){if(!A)return this.$L;var g=this.clone(),e=y(A,t,!0);return e&&(g.$L=e),g},h.clone=function(){return p.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},l}(),G=k.prototype;return f.prototype=G,[["$ms",e],["$s",i],["$m",o],["$H",I],["$W",a],["$M",B],["$y",n],["$D",Q]].forEach((function(A){G[A[1]]=function(t){return this.$g(t,A[0],A[1])}})),f.extend=function(A,t){return A.$i||(A(t,k,f),A.$i=!0),f},f.locale=y,f.isDayjs=m,f.unix=function(A){return f(1e3*A)},f.en=w[u],f.Ls=w,f.p={},f}()}(Qt);var rt=Qt.exports,Et={exports:{}};!function(A){A.exports=function(){var A="minute",t=/[+-]\d\d(?::?\d\d)?/g,g=/([+-]|\d\d)/g;return function(e,i,o){var I=i.prototype;o.utc=function(A){return new i({date:A,utc:!0,args:arguments})},I.utc=function(t){var g=o(this.toDate(),{locale:this.$L,utc:!0});return t?g.add(this.utcOffset(),A):g},I.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var a=I.parse;I.parse=function(A){A.utc&&(this.$u=!0),this.$utils().u(A.$offset)||(this.$offset=A.$offset),a.call(this,A)};var s=I.init;I.init=function(){if(this.$u){var A=this.$d;this.$y=A.getUTCFullYear(),this.$M=A.getUTCMonth(),this.$D=A.getUTCDate(),this.$W=A.getUTCDay(),this.$H=A.getUTCHours(),this.$m=A.getUTCMinutes(),this.$s=A.getUTCSeconds(),this.$ms=A.getUTCMilliseconds()}else s.call(this)};var B=I.utcOffset;I.utcOffset=function(e,i){var o=this.$utils().u;if(o(e))return this.$u?0:o(this.$offset)?B.call(this):this.$offset;if("string"==typeof e&&(e=function(A){void 0===A&&(A="");var e=A.match(t);if(!e)return null;var i=(""+e[0]).match(g)||["-",0,0],o=i[0],I=60*+i[1]+ +i[2];return 0===I?0:"+"===o?I:-I}(e),null===e))return this;var I=Math.abs(e)<=16?60*e:e,a=this;if(i)return a.$offset=I,a.$u=0===e,a;if(0!==e){var s=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(I+s,A)).$offset=I,a.$x.$localOffset=s}else a=this.utc();return a};var C=I.format;I.format=function(A){var t=A||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return C.call(this,t)},I.valueOf=function(){var A=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*A},I.isUTC=function(){return!!this.$u},I.toISOString=function(){return this.toDate().toISOString()},I.toString=function(){return this.toDate().toUTCString()};var n=I.toDate;I.toDate=function(A){return"s"===A&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():n.call(this)};var Q=I.diff;I.diff=function(A,t,g){if(A&&this.$u===A.$u)return Q.call(this,A,t,g);var e=this.local(),i=o(A).local();return Q.call(e,i,t,g)}}}()}(Et);var ct=Et.exports,lt={exports:{}};!function(A){A.exports=function(){var A,t,g=1e3,e=6e4,i=36e5,o=864e5,I=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,a=31536e6,s=2628e6,B=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,C={years:a,months:s,days:o,hours:i,minutes:e,seconds:g,milliseconds:1,weeks:6048e5},n=function(A){return A instanceof d},Q=function(A,t,g){return new d(A,g,t.$l)},r=function(A){return t.p(A)+"s"},E=function(A){return A<0},c=function(A){return E(A)?Math.ceil(A):Math.floor(A)},l=function(A){return Math.abs(A)},h=function(A,t){return A?E(A)?{negative:!0,format:""+l(A)+t}:{negative:!1,format:""+A+t}:{negative:!1,format:""}},d=function(){function E(A,t,g){var e=this;if(this.$d={},this.$l=g,void 0===A&&(this.$ms=0,this.parseFromMilliseconds()),t)return Q(A*C[r(t)],this);if("number"==typeof A)return this.$ms=A,this.parseFromMilliseconds(),this;if("object"==typeof A)return Object.keys(A).forEach((function(t){e.$d[r(t)]=A[t]})),this.calMilliseconds(),this;if("string"==typeof A){var i=A.match(B);if(i){var o=i.slice(2).map((function(A){return null!=A?Number(A):0}));return this.$d.years=o[0],this.$d.months=o[1],this.$d.weeks=o[2],this.$d.days=o[3],this.$d.hours=o[4],this.$d.minutes=o[5],this.$d.seconds=o[6],this.calMilliseconds(),this}}return this}var l=E.prototype;return l.calMilliseconds=function(){var A=this;this.$ms=Object.keys(this.$d).reduce((function(t,g){return t+(A.$d[g]||0)*C[g]}),0)},l.parseFromMilliseconds=function(){var A=this.$ms;this.$d.years=c(A/a),A%=a,this.$d.months=c(A/s),A%=s,this.$d.days=c(A/o),A%=o,this.$d.hours=c(A/i),A%=i,this.$d.minutes=c(A/e),A%=e,this.$d.seconds=c(A/g),A%=g,this.$d.milliseconds=A},l.toISOString=function(){var A=h(this.$d.years,"Y"),t=h(this.$d.months,"M"),g=+this.$d.days||0;this.$d.weeks&&(g+=7*this.$d.weeks);var e=h(g,"D"),i=h(this.$d.hours,"H"),o=h(this.$d.minutes,"M"),I=this.$d.seconds||0;this.$d.milliseconds&&(I+=this.$d.milliseconds/1e3,I=Math.round(1e3*I)/1e3);var a=h(I,"S"),s=A.negative||t.negative||e.negative||i.negative||o.negative||a.negative,B=i.format||o.format||a.format?"T":"",C=(s?"-":"")+"P"+A.format+t.format+e.format+B+i.format+o.format+a.format;return"P"===C||"-P"===C?"P0D":C},l.toJSON=function(){return this.toISOString()},l.format=function(A){var g=A||"YYYY-MM-DDTHH:mm:ss",e={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return g.replace(I,(function(A,t){return t||String(e[A])}))},l.as=function(A){return this.$ms/C[r(A)]},l.get=function(A){var t=this.$ms,g=r(A);return"milliseconds"===g?t%=1e3:t="weeks"===g?c(t/C[g]):this.$d[g],t||0},l.add=function(A,t,g){var e;return e=t?A*C[r(t)]:n(A)?A.$ms:Q(A,this).$ms,Q(this.$ms+e*(g?-1:1),this)},l.subtract=function(A,t){return this.add(A,t,!0)},l.locale=function(A){var t=this.clone();return t.$l=A,t},l.clone=function(){return Q(this.$ms,this)},l.humanize=function(t){return A().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},l.valueOf=function(){return this.asMilliseconds()},l.milliseconds=function(){return this.get("milliseconds")},l.asMilliseconds=function(){return this.as("milliseconds")},l.seconds=function(){return this.get("seconds")},l.asSeconds=function(){return this.as("seconds")},l.minutes=function(){return this.get("minutes")},l.asMinutes=function(){return this.as("minutes")},l.hours=function(){return this.get("hours")},l.asHours=function(){return this.as("hours")},l.days=function(){return this.get("days")},l.asDays=function(){return this.as("days")},l.weeks=function(){return this.get("weeks")},l.asWeeks=function(){return this.as("weeks")},l.months=function(){return this.get("months")},l.asMonths=function(){return this.as("months")},l.years=function(){return this.get("years")},l.asYears=function(){return this.as("years")},E}(),u=function(A,t,g){return A.add(t.years()*g,"y").add(t.months()*g,"M").add(t.days()*g,"d").add(t.hours()*g,"h").add(t.minutes()*g,"m").add(t.seconds()*g,"s").add(t.milliseconds()*g,"ms")};return function(g,e,i){A=i,t=i().$utils(),i.duration=function(A,t){var g=i.locale();return Q(A,{$l:g},t)},i.isDuration=n;var o=e.prototype.add,I=e.prototype.subtract;e.prototype.add=function(A,t){return n(A)?u(this,A,1):o.bind(this)(A,t)},e.prototype.subtract=function(A,t){return n(A)?u(this,A,-1):I.bind(this)(A,t)}}}()}(lt);var ht=lt.exports;
/**
* Gantt-Schedule-Timeline-Calendar Time api
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class dt{constructor(A,t){this.utcMode=!1,this.unsubs=[],this.currentDateLastCheck=0,this.state=A,this.api=t,this.dayjs=rt,this.dayjs.extend(ct),this.dayjs.extend(ht),this.unsubs.push(A.subscribe("config.utcMode",(A=>{this.utcMode=A}))),this.unsubs.push(A.subscribe("config.locale",(A=>{if(!A.name)throw new Error("Locale must have a name property.");this.locale=A,this.dayjs.locale(this.locale,null,!0)})))}destroy(){for(const A of this.unsubs)A()}date(A=void 0){return this.utcMode?rt.utc(A).locale(this.locale.name):A?rt(A).locale(this.locale.name):rt().locale(this.locale.name)}recalculateTime(){this.api.main.recalculateTimes([{name:"all"}])}recalculateFromTo(A,t=!1){const g=A.period;if((A=Object.assign({},A)).from=+A.from,A.to=+A.to,A.fromDate=this.date(A.from).startOf(g),A.from=A.fromDate.valueOf(),A.toDate=this.date(A.to).endOf(g),A.to=A.toDate.valueOf(),!A.autoExpandTimeFromItems||A.calculatedZoomMode)return A;let e=Number.MAX_SAFE_INTEGER,i=0;const o=this.state.get("config.chart.items");if(Object.keys(o).length>0&&(0===A.from||0===A.to||t)){for(const A in o){const t=o[A];t.time.start<e&&t.time.start&&(e=t.time.start),t.time.end>i&&(i=t.time.end)}e<A.from&&(A.fromDate=this.date(e).startOf(g),A.from=A.fromDate.valueOf()),i>A.to&&(A.toDate=this.date(i).endOf(g),A.to=A.toDate.valueOf())}return A}getCenter(A){return A.leftGlobal+Math.round((A.rightGlobal-A.leftGlobal)/2)}isInCurrentView(A,t=this.state.get("$data.chart.time")){const g=A.valueOf();return!(g<t.leftGlobal||g>t.rightGlobal)}recalculateDatesWidths(A,t=this.state.get("$data.chart.time")){if(!t.timePerPixel)throw new Error("[gantt-schedule-timeline-calendar] No timePerPixel");for(const g of A){if(!g.leftGlobal||!g.rightGlobal)throw new Error("[gantt-schedule-timeline-calendar] No date leftGlobal or rightGlobal.");g.width=(g.rightGlobal+1-g.leftGlobal)/t.timePerPixel}return A}recalculateDatesPositions(A,t=this.state.get("$data.chart.time"),g=!0,e=!1){let i=0;if(g)for(const g of A){if(g.leftGlobal>=t.leftGlobal)break;if(isNaN(g.width))throw new Error("[gantt-schedule-timeline-calendar] NaN date width.");i-=g.width}for(let g of A){if(e&&(g=this.api.mergeDeep({},g)),g.leftPx=i,g.rightPx=i+g.width,isNaN(g.leftPx)||isNaN(g.rightPx))throw new Error("[gantt-schedule-timeline-calendar] Date leftPx or rightPx is a NaN.");g.currentView&&(g.currentView.leftPx=g.leftPx-t.leftPx,g.currentView.rightPx=g.rightPx-t.leftPx,g.currentView.width=g.currentView.rightPx-g.currentView.leftPx),i+=g.width}return A}setDatesCacheLevel(A,t,g=this.state.get("$data.chart.time")){if(!t.length)return;g.datesCache||(g.datesCache={timePerPixel:0,levels:[]}),g.datesCache.timePerPixel=g.timePerPixel,g.datesCache.levels[A]||(g.datesCache.levels[A]={leftTime:0,rightTime:0,dates:[]});const e=g.datesCache.levels[A];e.leftTime=t[0].leftGlobal,e.rightTime=t[t.length-1].rightGlobal,e.dates=[...t]}addDatesToCacheLevel(A,t,g=this.state.get("$data.chart.time")){if(!t.length)return;if(!g.datesCache)return;if(g.datesCache.timePerPixel!==g.timePerPixel)return t;const e=t[0],i=t[t.length-1],o=g.datesCache.levels[A];if(!o)return t;if(o.leftTime<=e.leftGlobal&&o.rightTime>=i.rightGlobal)return o.dates;if(o.dates.length>=1e6)throw new Error("[gantt-schedule-timeline-calendar] To many dates.");const I=[];if(e.leftGlobal<o.leftTime){for(const A of t){if(!(A.leftGlobal<o.leftTime))break;I.push(A)}o.leftTime=I[0].leftGlobal}for(const A of o.dates)I.push(A);if(i.rightGlobal>o.rightTime){for(const A of t)A.rightGlobal>o.rightTime&&I.push(A);o.rightTime=I[I.length-1].rightGlobal}return o.dates=I,o.dates}isLevelDateInCache(A,t,g=this.state.get("$data.chart.time")){if(!g.datesCache)return!1;if(g.datesCache.timePerPixel!==g.timePerPixel)return!1;const e=g.datesCache.levels[A];return!(!e||!e.dates.length)&&(t>=e.leftTime&&t<=e.rightTime)}getLevelDatesFromCache(A,t,g,e=this.state.get("$data.chart.time")){if(e.datesCache.timePerPixel!==e.timePerPixel)return[];const i=e.datesCache.levels[A];if(!i)return[];if(!(t>=i.leftTime&&g<=i.rightTime))return[];let o=0,I=0,a=!1;const s=i.dates.length;for(;I<s;I++){const A=i.dates[I];if(A.rightGlobal>=t&&(a=!0),A.rightGlobal>=g)break;a||o++}return{[Symbol.iterator](){let A=o;return{next:()=>A<=I?{value:i.dates[A++],done:!1}:(A=o,{done:!0})}},length:I-o+1}}getLevelDateFromCache(A,t,g=this.state.get("$data.chart.time")){if(!this.isLevelDateInCache(A,t,g))return null;for(const e of g.datesCache.levels[A].dates)if(e.rightGlobal>=t)return e;return null}getAllLevelDatesFromCache(A,t=this.state.get("$data.chart.time")){return t.datesCache.levels[A].dates}findOrCreateMainDateAtTime(A,t=this.state.get("$data.chart.time")){if(this.isLevelDateInCache(t.level,A,t))return this.getLevelDateFromCache(t.level,A,t);let g=[];t.datesCache.levels[t.level]&&(g=t.datesCache.levels[t.level].dates),g=this.addMissingDates(g,this.date(A),t);for(const t of g)if(t.rightGlobal>=A)return t;return null}addMissingDates(A,t,g=this.state.get("$data.chart.time"),e=!0){if(!A.length)return[];const i=A[0],o=A[A.length-1];if(!(t.valueOf()<i.leftGlobal||t.valueOf()>o.rightGlobal))return A;if(this.isLevelDateInCache(g.level,t.valueOf(),g))return this.getAllLevelDatesFromCache(g.level,g);const I=A.length;let a=A;if(e){a=new Array(I);for(let t=0;t<I;t++)a[t]=this.api.mergeDeep({},A[t])}const s=this.state.get(`config.chart.calendarLevels.${g.level}`),B=this.getCurrentFormatForLevel(s,g);let C=1;if("number"==typeof B.periodIncrement&&(C=B.periodIncrement),t.valueOf()<i.leftGlobal){if("function"==typeof B.periodIncrement)return A;const o=i.leftGlobalDate.subtract(1,"ms");let I=i.leftGlobalDate.subtract(C,g.period).startOf(g.period);for(;t.valueOf()<I.valueOf();)I=I.subtract(C,g.period).startOf(g.period);let s=[];do{s=this.generatePeriodDates({leftDate:I,rightDate:o,period:g.period,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,time:g}),I=I.subtract(1,g.period)}while(!s.length||s[0].leftGlobal>t.valueOf());return s=s.filter((A=>!a.find((t=>t.leftGlobal===A.leftGlobal)))),A=[...s,...a],A=this.recalculateDatesWidths(A,g),A=this.recalculateDatesPositions(A,g,!0,e),this.addDatesToCacheLevel(g.level,A,g)}if(t.valueOf()>o.rightGlobal){let i=o.rightGlobalDate.add(C,g.period).endOf(g.period);for(;t.valueOf()>i.valueOf();)i=i.add(C,g.period).endOf(g.period);let I=this.generatePeriodDates({leftDate:o.rightGlobalDate.add(1,"ms"),rightDate:i,period:g.period,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,time:g});return I=I.filter((A=>!a.find((t=>t.leftGlobal===A.leftGlobal)))),A=[...a,...I],A=this.recalculateDatesWidths(A,g),A=this.recalculateDatesPositions(A,g,!0,e),this.addDatesToCacheLevel(g.level,A,g)}return a}getGlobalOffsetPxFromDates(A,t=!0,g=this.state.get("$data.chart.time"),e=void 0){const i=A.valueOf();if(!g.allDates||0===g.allDates.length)return-100;if(void 0===e&&(e=g.allDates[g.level]),t&&(e=this.addMissingDates(e,A,g)),!e||0===e.length)return-1;let o;for(let A=0,t=e.length;A<t;A++){const t=e[A];if(i<=t.rightGlobal+1){o=t;break}}return o?i<o.leftGlobal?o.leftPx:o.rightPx-(o.rightGlobal-i)/g.timePerPixel:i<=g.leftGlobal?0:i>=g.rightGlobal?g.totalViewDurationPx+(i-g.rightGlobal+1)/g.timePerPixel:-1}getViewOffsetPxFromDates(A,t=!0,g=this.state.get("$data.chart.time"),e=void 0,i=!0){e||(e=g.allDates[g.level]),i&&(e=this.addMissingDates(e,A,g));const o=this.getDatesDiffPx(g.leftGlobalDate,A,g,!0,e);return t?this.limitOffsetPxToView(o):o}limitOffsetPxToView(A,t=this.state.get("$data.chart.time")){if(A<0)return 0;if(!t.levels.length)return t.width;const g=t.levels[t.level];if(!g.length)return t.width;const e=g[g.length-1];return A>e.currentView.rightPx?e.currentView.rightPx:A}findDateAtViewOffsetPx(A,t){return t.find((t=>t.currentView.rightPx>=A))}findDateIndex(A,t){let g=0;for(const e of t){if(e.rightGlobal>=A)return g;g++}return-1}findDateAtTime(A,t=void 0){if(!t){const A=this.state.get("$data.chart.time");t=A.allDates[A.level]}return t.find((t=>t.rightGlobal>=A))}getMainDateFromRelativePosition(A,t){const g=A.leftPx+t,e=this.state.get("$data.chart.time"),i=e.allDates[e.level];for(const A of i)if(A.rightPx>g)return A}getTimeFromOffsetPx(A,t=!0,g=this.state.get("$data.chart.time"),e=void 0){let i=A;t&&(i+=g.leftPx),e||(e=g.allDates[g.level]);const o=this.state.get(`config.chart.calendarLevels.${g.level}`),I=this.getCurrentFormatForLevel(o,g);let a=1;if("number"==typeof I.periodIncrement&&(a=I.periodIncrement),i<0){if("function"==typeof I.periodIncrement)return g.from;let A,t=g.fromDate.subtract(a,g.period).startOf(g.period),e=0;for(let o=0;o<1e3;o++){const o=this.generatePeriodDates({leftDate:t,rightDate:t.add(a,g.period).subtract(1,"ms"),period:g.period,time:g,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,expandIfMissing:!1});if(o.length&&(A=o[0],e-=A.width,e<=i))return A.leftGlobal+(i-e)*g.timePerPixel;t=t.subtract(a,g.period).startOf(g.period)}}else if(i>g.totalViewDurationPx){let A,t=g.toDate.add(1,g.period).startOf(g.period),e=g.totalViewDurationPx;for(let o=0;o<1e3;o++){const o=this.generatePeriodDates({leftDate:t,rightDate:t.add(a,g.period).subtract(1,"ms"),period:g.period,time:g,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,expandIfMissing:!1});if(o.length&&(A=o[0],e+=A.width,e>i))return A.rightGlobal+1-(e-i)*g.timePerPixel;t=t.add(a,g.period).startOf(g.period)}}for(let A=0,t=e.length;A<t;A++){const t=e[A];if(t.rightPx>i){const A=(t.rightPx-i)*g.timePerPixel;return t.rightGlobal+1-A}}const s=e[e.length-1];return s.rightGlobal+1-(s.rightPx-i)*g.timePerPixel}getCurrentFormatForLevel(A,t){return A.find((A=>+t.zoom<=+A.zoomTo))}alignLevelToMain(A,t,g=this.state.get("$data.chart.time")){if(A===g.level)return t;if(!this.state.get("config.chart.time.alignLevelsToMain"))return t;const e=g.allDates[g.level];if(!e||!e.length)return t;if(!t||!t.length)return t;const i=t.length;for(let A=0;A<i;A++){const i=t[A];let o,I=!1,a=0;for(const A of e){if(A.rightGlobal>=i.leftGlobal){if(!I)if(A.leftGlobal>=i.leftGlobal)i.leftGlobal=A.leftGlobal,i.leftGlobalDate=this.date(i.leftGlobal),i.leftPx=A.leftPx;else{const t=(A.rightGlobal-i.leftGlobal)/g.timePerPixel;a=-(A.width-t)}I=!0}if(A.leftGlobal>i.rightGlobal)break;I&&(a+=A.width,o=A)}if(o)if(o.rightGlobal<=i.rightGlobal)i.rightGlobal=o.rightGlobal,i.rightGlobalDate=this.date(i.rightGlobal),i.width=a,i.rightPx=i.leftPx+i.width;else{const A=(o.rightGlobal-i.rightGlobal)/g.timePerPixel;i.width=a-A,i.rightPx=i.leftPx+i.width}}return t}stopCheckingCurrentDates(){this.checkCurrentDateTimeoutId&&clearTimeout(this.checkCurrentDateTimeoutId)}checkCurrentDates(A=!1,t=this.state.get("$data.chart.time")){const g=this.date().valueOf(),e=t.checkCurrentDateInterval;if(this.stopCheckingCurrentDates(),A&&(this.checkCurrentDateTimeoutId=setTimeout((()=>{this.checkCurrentDates(A,t)}),e)),g-this.currentDateLastCheck<e)return;const i=t.allDates;let o=!1;for(const A of i){const t=A.length;for(let e=0;e<t;e++){const i=A[e],I=i.current;i.current=!1,i.previous=!1,i.next=!1,i.leftGlobal<=g&&i.rightGlobal>=g&&(!0!==I&&(o=!0),i.current=!0,e>0&&(A[e-1].previous=!0),e+1<t&&(A[e+1].next=!0))}}this.currentDateLastCheck=g,o&&this.state.update("$data.chart.time.levels",(A=>A),{data:"current-time"}),this.api.render()}getDSTDiffForLevel(A,t,g,e=this.state.get("$data.chart.time")){const i=this.api.time.getLevelDatesFromCache(A,t,g,e);let o=0;for(const A of i)A.DST.diffMs&&t<=A.DST.afterTime&&g>A.DST.afterTime&&(o+=A.DST.diffMs);return o}setDatesDST(A){for(const t of A){const A=t.rightGlobal-t.leftGlobal,g=t.rightGlobalDate.utc(!0).valueOf()-t.leftGlobalDate.utc(!0).valueOf();if(A!==g){t.DST={diffMs:A-g,afterTime:0,afterDate:null};for(let A=0;A<9216;A++)if(t.leftGlobalDate.add(A,"hour").hour()!==t.leftGlobalDate.utc(!0).add(A,"hour").hour()){t.DST.afterDate=t.leftGlobalDate.add(A,"hour").subtract(1,"ms"),t.DST.afterTime=t.DST.afterDate.valueOf();break}}}return A}_generatePeriodDates(A){const t=[];A=Object.assign({},A);const{datesCount:g,rightDate:e,period:i,level:o,levelIndex:I,time:a,originalLeftDate:s,format:B}=A;let C=A.leftDate;const n=this.date().valueOf();for(let A=0;A<g;A++){let A=B.periodIncrement||1;"function"==typeof A&&(A=A({currentDates:t,date:C,leftDate:s,rightDate:e,period:i,level:o,levelIndex:I,time:a,vido:this.api.vido,api:this.api}));const g=C.add(A-1,i).endOf(i),Q=C.valueOf()<=n&&g.valueOf()>=n,r={id:`gstcid-${C.valueOf()}`,leftGlobal:C.valueOf(),leftGlobalDate:C,rightGlobalDate:g,rightGlobal:g.valueOf(),width:0,leftPx:0,rightPx:0,period:i,formatted:null,current:Q,previous:!1,next:!1,periodIncrementedBy:A,DST:{diffMs:0,afterTime:0,afterDate:null}};Q&&t.length&&(t[t.length-1].previous=!0),t.length&&t[t.length-1].current&&(r.next=!0);const E=r.rightGlobal+1-r.leftGlobal;r.width=E/a.timePerPixel,t.push(r),C=C.add(A||1,i)}return this.setDatesDST(t)}generatePeriodDates({leftDate:A,rightDate:t,period:g,level:e,levelIndex:i,time:o,callOnDate:I,callOnLevelDates:a,expandIfMissing:s=!0}){if(!o.timePerPixel)return[];const B=this.getCurrentFormatForLevel(e,o);A=A.startOf(g),t=t.endOf(g);const C=Math.ceil(t.diff(A,g,!0)),n=A.clone();let Q=this._generatePeriodDates({datesCount:C,leftDate:A,rightDate:t,period:g,level:e,levelIndex:i,time:o,originalLeftDate:n,format:B});if(I){const A=[];for(let t=0;t<Q.length;t++){let g=Q[t];if(g){for(let A=0,t=o.onDate.length;A<t;A++)g=o.onDate[A]({date:g,format:B,time:o,level:e,levelIndex:i});g&&A.push(g)}}Q=A}if(a)for(let A=0,t=o.onLevelDates.length;A<t;A++)Q=o.onLevelDates[A]({dates:Q,format:B,time:o,level:e,levelIndex:i});if((!Q.length||Q[Q.length-1].rightGlobal<t.valueOf())&&s){let s=this._generatePeriodDates({datesCount:C+100,leftDate:A,rightDate:t,period:g,level:e,levelIndex:i,time:o,originalLeftDate:n,format:B});if(I){const A=[];for(let t=0;t<s.length;t++){let g=s[t];if(g){for(let A=0,t=o.onDate.length;A<t;A++)g=o.onDate[A]({date:g,format:B,time:o,level:e,levelIndex:i});g&&A.push(g)}}s=A}if(a)for(let A=0,t=o.onLevelDates.length;A<t;A++)s=o.onLevelDates[A]({dates:s,format:B,time:o,level:e,levelIndex:i});const Q=[];for(const A of s)if(Q.push(A),A.rightGlobal>=t.valueOf())return Q}this.addDatesToCacheLevel(i,Q,o);const r=[];for(const A of Q)if(r.push(A),A.rightGlobal>=t.valueOf())return r;return r}getDatesDiffPx(A,t,g,e=!0,i=void 0){let o=t.valueOf(),I=A.valueOf();if(I===o)return 0;let a,s,B=0,C=!1;if(o<I){const g=A;A=t,I=o,o=(t=g).valueOf(),C=!0}if(void 0===i){if(!g.allDates||!g.allDates.length||!g.allDates[g.level])return 0;i=g.allDates[g.level]}if(0===i.length)return 0;if(this.isLevelDateInCache(g.level,I,g)?i=this.getAllLevelDatesFromCache(g.level,g):I<i[0].leftGlobal&&(i=this.addMissingDates(i,A,g)),this.isLevelDateInCache(g.level,o,g))i=this.getAllLevelDatesFromCache(g.level,g);else{o>i[i.length-1].rightGlobalDate.clone().valueOf()&&(i=this.addMissingDates(i,t,g))}this.addDatesToCacheLevel(g.level,i,g);let n=!1,Q=0;for(const A of i)if(A.rightGlobal+1>=I&&!n&&(n=!0,s=A),n&&(B+=A.width),A.rightGlobal+1>=o){a=A,Q=A.width;break}if(e){let A=I-s.leftGlobal;I<s.leftGlobal&&(A=0);let t=a.rightGlobal+1-o;a.leftGlobal>o&&(t=a.rightGlobal+1-a.leftGlobal);const e=(t+A)/g.timePerPixel;return C?-(B-e):B-e}return B-=Q,C?-B:B}getDatesDiffMs(A,t,g,e=!0,i=void 0){if(A.valueOf()===t.valueOf())return 0;let o,I,a=0,s=!1;if(t.valueOf()<A.valueOf()){const g=A;A=t,t=g,s=!0}if(void 0===i){if(!g.allDates||!g.allDates.length||!g.allDates[g.level])return 0;i=g.allDates[g.level]}if(0===i.length)return 0;if(this.isLevelDateInCache(g.level,A.valueOf(),g)?i=this.getAllLevelDatesFromCache(g.level,g):A.valueOf()<i[0].leftGlobal&&(i=this.addMissingDates(i,A,g)),this.isLevelDateInCache(g.level,t.valueOf(),g))i=this.getAllLevelDatesFromCache(g.level,g);else{const A=i[i.length-1].rightGlobalDate.clone();t.valueOf()>A.valueOf()&&(i=this.addMissingDates(i,t,g))}this.addDatesToCacheLevel(g.level,i,g);let B=!1,C=0;for(const g of i)if(g.rightGlobal+1>=A.valueOf()&&!B&&(B=!0,I=g),B&&(a+=g.rightGlobal+1-g.leftGlobal),g.rightGlobal+1>=t.valueOf()){o=g,C=g.rightGlobal+1-g.leftGlobal;break}if(e){let g=A.valueOf()-I.leftGlobal;A.valueOf()<I.leftGlobal&&(g=0);let e=o.rightGlobal+1-t.valueOf();o.leftGlobal>t.valueOf()&&(e=o.rightGlobal+1-o.leftGlobal);const i=e+g;return s?-(a-i):a-i}return a-=C,s?-a:a}addTimeFromDates(A,t,g=this.state.get("$data.chart.time")){if(!g.allDates||!g.allDates.length||!g.allDates[g.level])return A+t;if(!t)return A;let e=this.getAllLevelDatesFromCache(g.level,g);const i=this.date(A);e=this.addMissingDates(e,i,g,!0);let o=this.findDateIndex(A,e),I=A-e[o].leftGlobal;I<0&&(I=0);let a=0;if(t>0){for(;a<t;){const A=e[o];if(a+=A.rightGlobal+1-A.leftGlobal,I&&(a-=I,I=0),a>=t)break;o++,e[o]||(e=this.addMissingDates(e,A.leftGlobalDate.add(1,g.period),g,!0))}return e[o].rightGlobal+1-(a-t)}for(;a>t;){let A=e[o];if(a-=I,I&&(I=0),a<=t)break;if(o--,o<0&&(e=this.addMissingDates(e,A.leftGlobalDate.subtract(1,g.period),g,!0),o=0),A=e[o],a-=A.rightGlobal+1-A.leftGlobal,a<=t)break}return e[o].leftGlobal+(-a+t)}getLeftViewDate(A=this.state.get("$data.chart.time")){if(!A.levels||!A.levels.length)return null;const t=A.levels[A.level];return t.length?t[0]:null}getRightViewDate(A=this.state.get("$data.chart.time")){if(!A.levels||!A.levels.length||!A.levels[A.level])return null;const t=A.levels[A.level];return t.length?t[t.length-1]:null}getLowerPeriod(A){switch(A){case"year":return"month";case"month":case"week":return"day";case"day":return"hour";case"hour":return"minute";case"minute":return"second";case"second":return"millisecond";default:return A}}getHigherPeriod(A){switch(A){case"month":return"year";case"week":case"day":return"month";case"hour":return"day";case"minute":return"hour";case"second":return"minute";case"millisecond":return"second";default:return A}}}
/**
* Gantt-Schedule-Timeline-Calendar IDApi
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/var ut=new class{constructor(){this.GSTCID=this.GSTCID.bind(this),this.isGSTCID=this.isGSTCID.bind(this),this.sourceID=this.sourceID.bind(this)}GSTCID(A){return this.isGSTCID(A)?A:`gstcid-${A}`}isGSTCID(A){return String(A).startsWith("gstcid-")}sourceID(A){return this.isGSTCID(A)?A.substring(7):A}};
/**
* Gantt-Schedule-Timeline-Calendar Slots
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class wt extends at{constructor(A,t,g){super(t,g),this.subs=[],this.name=A,this.subs.push(t.state.subscribe(`config.slots.${A}`,this.setComponents,{queue:!0}))}destroy(){this.subs.forEach((A=>A())),super.destroy()}getName(){return this.name}}function Dt(A,t,g){return new wt(A,t,g)}
/**
* Gantt-Schedule-Timeline-Calendar helpers
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/const mt="gstc";function yt(A,t=""){let g=`${mt}__${A}`;return A===mt&&(g=mt),t?`${g} ${g}--${t.replace(":","-")}`:g}function ft(A,t){let g=`${mt}__${A}`;return A===mt&&(g=mt),`${g}--${t}`}
/**
* Api functions
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/let pt=0;const kt=new Map;function Gt(A){return kt.get(A.apiId)}class Mt{constructor(A){this.apiId=0,this.name=mt,this.debug=!1,this.plugins={},this.iconsCache={},this.unsubscribes=[],this.mutedMethods=new Set,this.mergeDeep=null,this.generateSlots=Dt,this.getClass=yt,this.getId=ft,this.GSTCID=ut.GSTCID,this.isGSTCID=ut.isGSTCID,this.sourceID=ut.sourceID,this.allActions=[],this.keysToKeep=["id","parents","children","allChildren","parentId"],this.apiId=++pt,kt.set(this.apiId,{rowsDataWithParentsExpanded:[],rowsIdsWithParentsExpanded:[],rowsWithParentsExpanded:[],rowsWithParentsExpandedAsMap:new Map,rowsPositionsMap:{id:"",dataIndex:0,keys:[]},allRowsIds:[],allRowsAsArray:[],rowsWithParentsExpandedDataIndexMap:new Map,itemsAsArray:[],itemsDataAsArray:[]}),this.state=A,this.time=new dt(this.state,this),this.unsubscribes.push(this.state.subscribe("config.debug",(A=>this.debug=A))),this.unsubscribes.push(this.state.subscribe("config.chart.items;",(()=>this.resetRowsOverlappingCalculated()))),this.unsubscribes.push(this.state.subscribe("config.chart.items.:itemId.time",(A=>{var t;if(A.length){const g=this.getRowsData();if(!g)return;const e=this.state.get("config.chart.items");for(const i of A)if(null===(t=i.params)||void 0===t?void 0:t.itemId){const A=e[i.params.itemId];if(A){g[A.rowId].overlappingCalculated=!1}}}}),{bulk:!0,bulkValue:!1})),this.debug&&(window.state=A)}schedule(A){let t=0;return function(...g){t||(t=requestAnimationFrame((function(){t=0,A(...g)})))}}render(){return this.vido.update()}getListenerPosition(A){for(const t of this.state.getListeners().values())for(const g of t.listeners)if(g[1].fn===A)return g[0]}setVido(A){this.vido=A}clone(A){return this.mergeDeep({},A)}setMergeDeep(A){this.mergeDeep=A}log(...A){this.debug&&console.log.call(console,...A)}getInitializedPlugins(){return this.state.get("$data.initializedPlugins")}pluginInitialized(A){this.getInitializedPlugins().add(A)}pluginDestroyed(A){this.getInitializedPlugins().delete(A)}clearPluginsPositions(){this.getInitializedPlugins().clear()}isPluginInitialized(A){return this.getInitializedPlugins().has(A)}getPluginPosition(A){return[...this.getInitializedPlugins()].indexOf(A)}getPluginsPositions(){const A={};let t=0;for(const g of this.getInitializedPlugins())A[g]=t++;return A}isPluginInitializedBefore(A,t){return this.getPluginPosition(A)<this.getPluginPosition(t)}getActions(A){this.allActions.includes(A)||this.allActions.push(A);let t=this.state.get("config.actions."+A);return void 0===t&&(t=[]),t.slice()}isItemHorizontallyInViewport(A,t=void 0,g=void 0){if(!t||!g){const A=this.state.get().config.chart.time;t=A.leftGlobal,g=A.rightGlobal}return A.time.start<=g&&A.time.end>=t}getChildrenLinkedItemsIds(A,t,g=[]){const e=t[A];if(e.linkedWith&&e.linkedWith.length){g.includes(A)||g.push(A);for(const A of e.linkedWith){if(g.includes(A))continue;g.push(A);const e=t[A];e.linkedWith&&e.linkedWith.length&&this.getChildrenLinkedItemsIds(A,t,g)}}return g}collectAllLinkedItems(){const A=[],t=new Map,g=this.getAllItemsAsArray(),e=this.getItemsData();for(const t of g){const g=t.id;void 0===e[g]?A.push(g):e[t.id].linkedWith=t.linkedWith||[]}if(A.length)throw new Error(`Items with id [${A.join(", ")}] does not exists in "$data.chart.items". TIP: For performance reasons, state is mutable, so try not to modify items from the "state.get" method before you copy them (with "gstc.api.clone(items)" for example).`);for(const A of g){const g=A.id;if(t.has(g))continue;const i=this.getChildrenLinkedItemsIds(g,e);e[g].linkedWith.splice(e[g].linkedWith.length,0,...i);const o=Array.from(new Set(e[g].linkedWith));e[g].linkedWith=o.filter((A=>A!==g)),t.set(g,!0);for(const A of o)e[A].linkedWith=o.filter((t=>t!==A)),t.set(A,!0)}}getChildrenDependantItemsIds(A,t,g=[]){if(A.dependant&&A.dependant.length)for(const e of A.dependant){if(g.includes(e))continue;g.push(e);const i=t[e];if(!i)throw new Error(`Dependant item not found [id:'${e}'] found in item [id:'${A.id}']`);i.dependant&&i.dependant.length&&this.getChildrenDependantItemsIds(i,t,g)}return g}calculateItemVerticalPosition(A,t=null,g=null,e=null){if(e||(e=this.getItem(A)),t||(t=this.getItemData(A)),g||(g=this.getRowData(e.rowId)),e.gap&&t||(this.prepareItem(e),t=this.getItemData(A)),!g)return t.position;const i=g.position.top+e.gap.top,o=t.position.rowTop+e.gap.top,I=this.getRowViewTop(g.id);let a=I+t.position.actualRowTop;return I===1/0?a=1/0:-1===I&&(a=-1),t.position.top=i,t.position.actualRowTop=o,t.position.viewTop=a,t.position}setItemDataOutOfView(A,t=this.state.get("$data.chart.time")){A.outOfView||(A.outOfView={left:!1,right:!1,whole:!1});const g=A.time.startDate.valueOf(),e=A.time.endDate.valueOf();return A.outOfView.left=g<t.leftGlobal||g>=t.rightGlobal,A.outOfView.right=e>t.rightGlobal||e<=t.leftGlobal,A.outOfView.whole=e<=t.leftGlobal||g>=t.rightGlobal,A}calculateItemHorizontalPosition(A,t=null,g=null,e=this.state.get("$data.chart.time"),i=null){if(i||(i=this.getItem(A)),t||(t=this.getItemData(A)),g||(g=this.getRowData(i.rowId)),!g)return t.position;const o=t.time.startDate.valueOf()===i.time.start?t.time.startDate:this.time.date(i.time.start),I=t.time.endDate.valueOf()===i.time.end?t.time.endDate:this.time.date(i.time.end),a=this.time.getViewOffsetPxFromDates(o,!1,e),s=this.time.getViewOffsetPxFromDates(I.add(1,"ms"),!1,e);t.position.left=a,t.position.actualLeft=this.time.limitOffsetPxToView(a,e),t.position.right=s,t.position.actualRight=this.time.limitOffsetPxToView(s,e),t.width=s-a;let B=this.time.getViewOffsetPxFromDates(I,!1,e);B===s&&(B-=1/e.timePerPixel),t.timeWidth=B-a,t.actualWidth=t.position.actualRight-t.position.actualLeft;const C=this.state.get("config.chart.item.minWidth");return"number"==typeof C&&t.actualWidth<C&&(t.actualWidth=C),this.setItemDataOutOfView(t,e),t.position}calculateItemPosition(A,t=null,g=null,e=this.state.get("$data.chart.time"),i=null){return t||(t=this.state.get(`$data.chart.items.${A}`)),i||(i=this.state.get(`config.chart.items.${A}`)),g||(g=this.state.get(`$data.list.rows.${i.rowId}`)),this.calculateItemHorizontalPosition(A,t,g,e,i),this.calculateItemVerticalPosition(A,t,g,i),t.position}getItemPosition(A,t,g,e,i){var o,I;return void 0===t&&(t=null),void 0===g&&(g=null),void 0===e&&(e=null===(I=null===(o=this.state.get().$data)||void 0===o?void 0:o.chart)||void 0===I?void 0:I.time),void 0===i&&(i=null),i||(i=this.getItem(A)),t||(t=this.getItemData(A)),0===t.position.left&&0===t.position.right&&this.calculateItemPosition(A,t,g,e,i),t.position}getRow(A){return this.state.get().config.list.rows[A]}getRows(A){if(!A.length)return[];const t=this.getAllRows(),g=[];for(const e of A)t[e]&&g.push(t[e]);return g}getAllRows(){var A,t;return null===(t=null===(A=this.state.get().config)||void 0===A?void 0:A.list)||void 0===t?void 0:t.rows}getVisibleRowsId(){var A,t;return null===(t=null===(A=this.state.get().$data)||void 0===A?void 0:A.list)||void 0===t?void 0:t.visibleRows}getRowsData(){var A,t;return null===(t=null===(A=this.state.get().$data)||void 0===A?void 0:A.list)||void 0===t?void 0:t.rows}setRowsData(A){this.state.update("$data.list.rows",A)}getRowData(A){return this.state.get().$data.list.rows[A]}setRowData(A,t){this.state.update(`$data.list.rows.${A}`,t)}getItem(A){return this.state.get().config.chart.items[A]}getItems(A=[],t=this.getAllItems()){const g=[];for(const e of A)t[e]&&g.push(t[e]);return g}getAllItemsAsArray(){return Gt(this).itemsAsArray}getAllItemsDataAsArray(){return Gt(this).itemsDataAsArray}getAllItems(){return this.state.get().config.chart.items}getItemData(A){const t=this.state.get();if(t.$data&&t.$data.chart&&t.$data.chart.items)return t.$data.chart.items[A]}getItemsData(){const A=this.state.get();if(A.$data&&A.$data.chart)return A.$data.chart.items}setItemData(A,t){this.state.update(`$data.chart.items.${A}`,(A=>{for(const g in t)A[g]=t[g];return A}))}setItemsData(A){this.state.update("$data.chart.items",A)}prepareDependantItems(A,t){return this.getChildrenDependantItemsIds(A,t).filter((t=>t!==A.id))}prepareItem(A,t=this.state.get().config.chart.item.height,g=this.getItemsData(),e=this.getAllItems(),i=this.getAllRows()){let o=A.id;if(o=String(o),A.id=o,g[A.id]||(g[A.id]={id:A.id,actualHeight:0,outerHeight:0,time:null,position:{left:0,actualLeft:0,right:0,actualRight:0,rowTop:A.rowTop||0,actualRowTop:A.actualRowTop||0,top:0,viewTop:0},outOfView:{left:!1,right:!1,whole:!1},width:-1,actualWidth:-1,timeWidth:-1,detached:!1,linkedWith:[],dependant:this.getChildrenDependantItemsIds(A,e)}),A.time||console.error("There is something wrong with this item.",A),"number"!=typeof A.time.start||"number"!=typeof A.time.end)throw new Error('[gantt-schedule-timeline-calendar] Item "time.start" and "time.end" values should be a number (unix epoch milliseconds).');const I=A.rowId;if("string"!=typeof I)throw new Error('[gantt-schedule-timeline-calendar] Item "rowId" should be a string.');if(!I.startsWith("gstcid-"))throw new Error('[gantt-schedule-timeline-calendar] Item "rowId" should start with "gstcid-".');if(!i[I])throw new Error(`[gantt-schedule-timeline-calendar] Row for item "${A.id}" does not exists ("${I}"). TIP: Try updating the rows first to make sure the rows for the items exist.`);A.time.start=+A.time.start,A.time.end=+A.time.end,A.id=String(A.id);const a=this.state.get().config.chart.item;"number"!=typeof A.height&&(A.height=t),g[A.id].time=function(A,t,g){let e,i;return{get startDate(){return e||(e=g.time.date(A)),e},get endDate(){return i||(i=g.time.date(t)),i},set startDate(t){e=t,A=t.valueOf()},set endDate(A){i=A,t=A.valueOf()}}}(A.time.start,A.time.end,this),g[A.id].actualHeight=A.height,void 0===A.overlap&&(A.overlap=a.overlap),"number"!=typeof A.top&&(A.top=0),A.gap||(A.gap={}),"number"!=typeof A.gap.top&&(A.gap.top=a.gap.top),"number"!=typeof A.gap.bottom&&(A.gap.bottom=a.gap.bottom),"number"!=typeof A.minWidth&&(A.minWidth=a.minWidth),g[A.id].outerHeight=g[A.id].actualHeight+A.gap.top+A.gap.bottom,g[A.id].position.actualRowTop=g[A.id].position.rowTop+A.gap.top}prepareItems(A){const t=this.state.get("config.chart.item.height"),g=this.getItemsData(),e=Gt(this);e.itemsAsArray.length=0,e.itemsDataAsArray.length=0;for(const i in A){const o=A[i];this.prepareItem(o,t,g,A),e.itemsAsArray.push(A[i]),e.itemsDataAsArray.push(g[i])}return this.collectAllLinkedItems(),A}sortRowsByChildren(A,t={},g=this.state.get("config.list.rows"),e=this.state.get("$data.list.rows")){for(const i of A){const A=g[i],o=e[i],I=A.parentId&&t[A.parentId]||!A.parentId;!t[i]&&I&&(t[i]=A),o.children.length&&this.sortRowsByChildren(o.children,t,g,e)}return t}getSortableValue(A,t){return"string"==typeof A?t[A]:"function"==typeof A?A({row:t,vido:this.vido}):""}sortRowsByColumn(A,t=!0){const g=this.state.get("config.list.sort.compare");let e=this.getAllRows();const i=Gt(this);if(0===i.allRowsIds.length)return e;const o=i.allRowsAsArray;g?o.sort(g(A)):o.sort(((g,e)=>{const i=this.getSortableValue(A.sortable,g),o=this.getSortableValue(A.sortable,e);return"number"==typeof i?t?i-o:o-i:"string"==typeof i?t?i.localeCompare(o):o.localeCompare(i):void 0}));const I=o.map((A=>A.id)),a=this.getRowsData();for(const A of I){const t=a[A];t.children&&t.children.length&&t.children.sort(((A,t)=>I.indexOf(A)-I.indexOf(t)))}e=this.sortRowsByChildren(I),this.state.update("config.list.rows",e,{data:"sortRowsByColumn"});const s=this.getScrollTop();return this.state.get("config.scroll.vertical.byPixels")?this.setScrollTop(s.absolutePosPx):this.setScrollTop(s.dataIndex,s.preciseOffset),e}fillEmptyRowValues(A){const t=this.state.get("config.list.row.height"),g=this.getRowsData();let e=0;for(let i in A){const o=A[i];let I=g[i];if(i=String(i),o.id=i,"string"!=typeof i)throw new Error('[gantt-schedule-timeline-calendar] Row "id" must be a string.');if(!i.startsWith("gstcid-"))throw new Error(`[gantt-schedule-timeline-calendar] Row "id" should start with "gstcid-" (your row id: "${i}").`);if(i.startsWith("gstcid-gstcid-"))throw new Error(`[gantt-schedule-timeline-calendar] Your row "id" is wrapped more than once. It should look like this "gstcid-something" and it looks like this: "${i}".`);g[i]||(I={id:o.id,parentId:o.parentId,parents:[],children:[],allChildren:[],position:{top:0,bottom:0},items:[],itemsOrder:[],itemsTimeSectors:[],actualHeight:0,outerHeight:0,parentsExpanded:!0,inView:!0,overlappingCalculated:!1}),"number"!=typeof o.height&&(o.height=t),I.actualHeight=o.height,"boolean"!=typeof o.expanded&&(o.expanded=!1),I.position.top=e,"object"!=typeof o.gap&&(o.gap={}),"number"!=typeof o.gap.top&&(o.gap.top=0),"number"!=typeof o.gap.bottom&&(o.gap.bottom=0),void 0===o.visible&&(o.visible=!0),I.outerHeight=I.actualHeight+o.gap.top+o.gap.bottom,g[i]=I,e+=I.outerHeight}return A}itemsOnTheSameLevel(A,t){const g=A.position.rowTop+A.outerHeight,e=t.position.rowTop+t.outerHeight;return t.position.rowTop<=A.position.rowTop&&e>A.position.rowTop||(t.position.rowTop>=A.position.rowTop&&t.position.rowTop<g||t.position.rowTop>=A.position.rowTop&&e<g)}itemsTimeOverlaps(A,t){return t.time.start>=A.time.start&&t.time.start<=A.time.end||(t.time.end>=A.time.start&&t.time.end<=A.time.end||(t.time.start>=A.time.start&&t.time.end<=A.time.end||t.time.start<=A.time.start&&t.time.end>=A.time.end))}itemsOverlaps(A,t,g,e){const i=t.time.start&&A.time.start&&t.time.end&&A.time.end;return A.id!==t.id&&i&&this.itemsOnTheSameLevel(g,e)&&this.itemsTimeOverlaps(A,t)}itemOverlapsWithOthers(A,t,g=0){const e=this.getItemsData();for(let i=g,o=t.length;i<o;i++){const g=t[i];if(this.itemsOverlaps(A,g,e[A.id],e[g.id]))return g}return null}makeChildren(A,t={parents:[]}){if("object"!=typeof A)return[];A.children||(A.children=[]),A.allChildren||(A.allChildren=[]),A.parents||(A.parents=[...t.parents]),A.parentId&&"undefined"!==A.parentId&&A.parents.push(A.parentId);for(const t in A)if("id"!==t&&"parentId"!==t&&"children"!==t&&"allChildren"!==t&&"parents"!==t){"undefined"!==t&&(A.children.push(t),A.allChildren.push(t));const g=A[t];if("object"!=typeof g)continue;const e=this.makeChildren(g,A);A.allChildren.splice(A.allChildren.length,0,...e)}return A.allChildren}clearNested(A){for(const t in A)"object"!=typeof A[t]||Array.isArray(A[t])||this.clearNested(A[t]),this.keysToKeep.includes(t)||delete A[t],"parentId"===t&&"undefined"===A[t]&&(A[t]=void 0);return A}fastTree(A,t=null){var g,e;if(!t){t={undefined:{},id:"undefined"};for(const e in A){const i=A[e];t[i.id]||(t[i.id]={parentId:null!==(g=i.parentId)&&void 0!==g?g:"undefined",id:i.id})}}for(const A in t){const g=t[A];t[null!==(e=g.parentId)&&void 0!==e?e:"undefined"][g.id]=g}this.makeChildren(t[void 0]),delete t[void 0],delete t.id,delete t.parents,delete t.children,delete t.allChildren;for(const A in t)t[A]=this.clearNested(t[A]);return t}updateRowItemsAndItemRowMapForItem(A,t,g,e,i){var o,I,a;if(void 0===g&&(g=null===(o=this.state.get().$data)||void 0===o?void 0:o.itemRowMap),void 0===e&&(e=null===(a=null===(I=this.state.get().$data)||void 0===I?void 0:I.list)||void 0===a?void 0:a.rows),void 0===i&&(i=this.state.get().config.chart.items),!e[t])return;e[t].items||(e[t].items=[]);const s=g[A];s!==t&&(s&&e[s]&&(e[s].items=e[s].items.filter((t=>t!==A)).sort(((A,t)=>i[A].time.start-i[t].time.start))),g[A]=t,e[t].items.includes(A)||(e[t].items.push(A),this.timeSectorsItemsAddOrUpdate([i[A]],e[t].itemsTimeSectors)),s&&t!==s&&(e[s]&&(e[s].overlappingCalculated=!1),e[t]&&(e[t].overlappingCalculated=!1),this.timeSectorsDeleteItems([A],e[s].itemsTimeSectors)))}sortRowItemsInAddOrder(A,t){t.itemsOrder=t.items.slice(),t.itemsOrder.sort(((t,g)=>A[t]-A[g]))}sortRowItemsByTime(A){A.items=A.items.sort(((A,t)=>this.getItem(A).time.start-this.getItem(t).time.start))}makeTreeMap(A,t,g=!1){let e=this.state.get("$data.treeMap");if(!g||!e){e=this.fastTree(A);for(const t in A){const g=A[t],i=e[t];for(const A in i)g[A]=i[A]}}const i=this.state.get("$data.reloading")?{}:this.state.get("$data.itemRowMap"),o={};let I=0;const a=this.getAllItems();for(const A of t){const t=a[A];o[t.id]=I,this.updateRowItemsAndItemRowMapForItem(t.id,t.rowId,i),I++}for(const t in A){const g=A[t];this.sortRowItemsInAddOrder(o,g),g.itemsTimeSectors=this.timeSectorsGenerate(this.getItems(g.items))}return this.state.update("$data.itemRowMap",i),g||this.state.update("$data.treeMap",e),A}_updateRowsWithParentsExpandedCache(A){const t=Gt(this);t.rowsIdsWithParentsExpanded.length=0,t.rowsIdsWithParentsExpanded.splice(0,0,...A),t.rowsWithParentsExpanded.length=0,t.rowsDataWithParentsExpanded.length=0,t.rowsWithParentsExpandedDataIndexMap.clear();const g=this.state.get("config.list.rows"),e=this.state.get("$data.list.rows");t.rowsWithParentsExpandedAsMap.clear();let i=0;for(const A of t.rowsIdsWithParentsExpanded){const o=g[A];o&&(t.rowsWithParentsExpanded.push(o),t.rowsWithParentsExpandedAsMap.set(A,o),t.rowsDataWithParentsExpanded.push(e[A]),t.rowsWithParentsExpandedDataIndexMap.set(A,i),i++)}}generateRowsWithParentsExpanded(A){const t=[],g=this.getRowsData();A:for(const e in A){if(!g[e]||!g[e].parents)return[];if(this.isRowVisible(e)){for(const t of g[e].parents){const g=A[t];if(!g||!g.expanded)continue A}t.push(e)}}return this._updateRowsWithParentsExpandedCache(t),t}getRowInfoFromTop(A){const t=this.state.get("config.list.rows"),g=this.state.get("$data.list.rows"),e=this.getRowPositionMapNode(A);return{dataIndex:e.dataIndex,row:t[e.id],rowData:g[e.id]}}getRowViewTop(A,t=this.state.get("$data.list.rows"),g=this.state.get("$data.scroll.vertical")){return t[A].position.top-g.absolutePosPx-g.preciseOffset}parentsExpanded(A){return Gt(this).rowsWithParentsExpandedAsMap.has(A)}setAllRowsIdsCache(A){const t=Gt(this);t.allRowsIds=A;const g=this.state.get("config.list.rows");t.allRowsAsArray.length=0;for(const e of A)t.allRowsAsArray.push(g[e])}resetRowsOverlappingCalculated(A=this.getRowsData()){for(const t in A)A[t].overlappingCalculated=!1}timeSectorItemFits(A,t){return A.time.start>=t.from&&A.time.start<=t.to||A.time.end>=t.from&&A.time.end<=t.to||A.time.start<=t.from&&A.time.end>=t.to}timeSectorsGenerate(A,t=this.state.get().$data.chart.time,g=10){const e=[];if(t.from===t.to)return e;const i=this,o=Math.ceil((t.to-t.from)/g);for(let I=0;I<g;I++){const g={from:t.from+o*I,to:t.from+o*(I+1)-1,items:[],get fromDate(){return i.time.date(this.from)},get toDate(){return i.time.date(this.to)}};for(const t of A)this.timeSectorItemFits(t,g)&&g.items.push(t.id);e.push(g)}return e}timeSectorsItemsAddOrUpdate(A,t){for(const g of t)for(const t of A)if(this.timeSectorItemFits(t,g)){if(g.items.includes(t.id))continue;g.items.push(t.id)}else g.items=g.items.filter((A=>A!==t.id));return t}timeSectorsDeleteItems(A,t){for(const g of t)g.items=g.items.filter((t=>!A.includes(t)));return t}timeSectorsGenerateForRows(A=!1,t=this.getRowsData(),g=this.state.get().$data.chart.time,e=10){if(g.from===g.to)return t;const i=this.state.get().$data.list.rowsIds;for(const o of i){const i=t[o];!A&&i.itemsTimeSectors&&0!==i.itemsTimeSectors.length||(i.itemsTimeSectors=this.timeSectorsGenerate(this.getItems(i.itemsOrder),g,e))}return t}fixOverlappedItemsByTimeSectors(A){if(A.overlappingCalculated)return;if(this.isMutedMethod("fixOverlapped"))return;const t=this.getItemsData(),g=A.itemsTimeSectors=this.timeSectorsGenerate(this.getItems(A.itemsOrder)),e=this.getItems(A.items);for(const A of e){if(A.overlap)continue;const g=t[A.id];g&&(g.position.rowTop=A.top)}for(const A of g){const g=A.items,e=this.getItems(g);let i=0;for(const A of e){if(A.overlap)continue;const g=t[A.id];if(!g)continue;g.position.actualRowTop=g.position.rowTop+A.gap.top;let o=this.itemOverlapsWithOthers(A,e,i);if(o)for(;o;){const t=this.getItemData(o.id),I=e.findIndex((A=>A.id===o.id));I<i?(g.position.rowTop+=t.outerHeight,g.position.actualRowTop=g.position.rowTop+A.gap.top):(t.position.rowTop+=g.outerHeight,t.position.actualRowTop=t.position.rowTop+o.gap.top),o=this.itemOverlapsWithOthers(A,e)}i++}}g.length>0&&(A.overlappingCalculated=!0)}recalculateRowHeight(A,t){if(!t||!A||!A.gap)return 0;let g=0;const e=this.getItemsData();if(!e)return 0;if(!1===A.visible)return t.actualHeight=0,t.outerHeight=0,0;const i=this.getItems(t.itemsOrder);this.fixOverlappedItemsByTimeSectors(t);for(const A of i){const t=e[A.id];g=Math.max(g,t.position.rowTop+t.outerHeight)}return g<A.height&&(g=A.height),t.actualHeight=g,t.outerHeight=t.actualHeight+A.gap.top+A.gap.bottom,t.outerHeight}calculateVisibleRowsHeights(){var A;if(this.isMutedMethod("calculateVisibleRowsHeights"))return!1;const t=this.state.get("$data.list.visibleRows");let g=0;const e=this.getAllRows(),i=this.getRowsData();let o=!1;for(const I of t){const t=(null===(A=i[I])||void 0===A?void 0:A.outerHeight)||0,a=this.recalculateRowHeight(e[I],i[I]);t!==a&&(o=!0),g+=a}return this.state.update("$data.list.visibleRowsHeight",g),o&&this.measureRows(),o}getRealChartHeight(A=!0){const t=this.state.get("$data.scroll.vertical.preciseOffset")||0,g=A?this.state.get("config.innerHeight"):this.state.get("$data.chart.dimensions.heightWithoutScrollBar"),e=this.state.get("config.additionalSpace");return g-e.top-e.bottom+-1*t}getLastRowId(A=Gt(this).rowsIdsWithParentsExpanded,t=this.state.get("$data.scroll.vertical")){return A[this.getLastRowIndex(A,t)]}getLastRowIndex(A=Gt(this).rowsIdsWithParentsExpanded,t=this.state.get("$data.scroll.vertical")){return A.length-t.lastPageCount}generateRowsPositionsMap(A,t=0,g={id:"",dataIndex:0,keys:[]}){if(0===A.length)return g;if(1===A.length)return g[A[0].position.top]={id:A[0].id,dataIndex:t,keys:[]},g.keys=[A[0].position.top],g;const e=Math.floor(A.length/2),i=t,o=t+e,I=A.slice(1,e),a=A.slice(e+1);g.keys.push(A[0].position.top),g.keys.push(A[e].position.top);const s=g[A[0].position.top]={id:A[0].id,dataIndex:i,keys:[]},B=g[A[e].position.top]={id:A[e].id,dataIndex:o,keys:[]};return this.generateRowsPositionsMap(I,i+1,s),this.generateRowsPositionsMap(a,o+1,B),g}getRowPositionMapNode(A,t=Gt(this).rowsPositionsMap){return A>=t.keys[1]?this.getRowPositionMapNode(A,t[t.keys[1]]):A>=t.keys[0]?this.getRowPositionMapNode(A,t[t.keys[0]]):t}measureRows(A=!1){if(this.isMutedMethod("measureRows"))return;const t=this.state.get("$data.scroll.vertical"),g=this.state.get("config.list.rows"),e=this.getRealChartHeight(),i=this.getRowsData(),o=Gt(this);if(void 0===t.dataIndex)return[];const I=this.state.get("$data.list.rowsIds");let a=0;if(t.data&&(a=o.rowsWithParentsExpandedDataIndexMap.get(t.data.id),-1===a)){const A=this.getLastRowId(o.rowsIdsWithParentsExpanded,t);a=o.rowsWithParentsExpandedDataIndexMap.get(A)}let s=0,B=0,C=0;for(let n=I.length;C<n;C++){const n=I[C],Q=o.rowsWithParentsExpandedAsMap.has(n),r=this.getRowViewTop(n,i,t),E=C>=a&&r<=e,c=i[n];if(!c)return[];A&&(c.overlappingCalculated=!1),this.recalculateRowHeight(g[n],c),c.inView=E,c.parentsExpanded=Q,c.position.top=s,B=s+c.outerHeight,c.position.bottom=B,Q&&(s+=c.outerHeight)}return o.rowsPositionsMap=this.generateRowsPositionsMap(o.rowsDataWithParentsExpanded),this.state.update("$data.list.rows",i,{data:"measureRows"}),this.state.update("$data.list.rowsHeight",B),this.state.update("$data.scroll.vertical.absoluteSize",B),B}isRowVisible(A,t=this.getAllRows(),g=this.getRowsData()){if(!t[A])return!1;if(!1===t[A].visible)return!1;if(!g[A])return!1;const e=g[A].parents;for(const A of e)if(!t[A]||!1===t[A].visible)return!1;return!0}getVisibleRows(){const A=this.state.get("$data.scroll.vertical"),t=Gt(this),g=t.rowsIdsWithParentsExpanded,e=this.getRowsData();if(!A.data)return[];const i=this.getRealChartHeight();if(!i)return[];let o=t.rowsWithParentsExpandedDataIndexMap.get(A.data.id);-1!==o&&void 0!==o||(o=A.dataIndex>t.rowsDataWithParentsExpanded.length-1?g.length-A.lastPageCount:A.dataIndex);const I=[];let a,s;for(let t=o,B=g.length;t<B;t++){const o=g[t];if(e[o]&&(s=e[o],a=this.getRowViewTop(o,e,A),a>=0&&a<=i?(I.push(o),s.parentsExpanded=!0):s.parentsExpanded=!1,a>i))break}return I}normalizeMouseWheelEvent(A){let t=A.deltaX||0,g=A.deltaY||0,e=A.deltaZ||0;const i=A.deltaMode,o=this.state.get("config.list.rowHeight");let I=1;switch(i){case 1:o&&(I=o);break;case 2:I=window.height}return t*=I,g*=I,e*=I,{x:t,y:g,z:e,event:A}}resetHorizontalScroll(A=this.state.get("$data.scroll.horizontal")){A.data=null,A.dataId="",A.dataIndex=0,A.handlePosPx=0,A.absolutePosPx=0,A.preciseOffset=0;const t=this.state.get("$data.chart.time");if(!t.allDates||!t.allDates.length)return;const g=t.allDates[t.level];if(!g||!g.length)return;const e=g[0];return A.data=Object.assign({},e),A.dataId=e.id,A}resetVerticalScroll(A=this.state.get("$data.scroll.vertical")){return A.data=null,A.dataId="",A.dataIndex=0,A.handlePosPx=0,A.absolutePosPx=0,A.preciseOffset=0,A.data=null,A.dataId=null,A}limitHorizontalScrollToView(A=this.state.get("$data.chart.time")){const t=this.state.get("$data.scroll.horizontal");if(!A.allDates||!A.allDates.length)return;const g=A.allDates[A.level].length-t.lastPageCount;t.dataIndex>g&&this.setScrollLeft(g,0,A)}calculateHorizontalScrollPosPxFromDates(A,t=0,g=this.state.get("$data.scroll.horizontal"),e=this.state.get("$data.chart.time")){if(e.calculatedZoomMode)return 0;if(void 0===A&&(A=0),!e.allDates||!e.allDates.length)return;const i=e.allDates[e.level];if(!i||!i.length)return;let o,I=0,a=0;if("number"==typeof A||""===A){""===A&&(A=0),a=A,o=i[a],o||(a=0,o=i[a]);const t=e.allDates[e.level].length-g.lastPageCount;a>t&&t>=0&&(a=t,o=i[a])}else if("string"==typeof A)for(let t=0;t<i.length;t++){const g=i[t];if(g.id===A){o=g,a=t;break}}if(!o&&g.data)for(let A=0;A<i.length;A++){const t=i[A];if(t.leftGlobal>=g.data.leftGlobal){o=t,a=A;break}}if(o||(a>0?(a=i.length-1,o=i[a]):(o=i[0],a=0)),a>i.length-g.lastPageCount&&(a=i.length-g.lastPageCount,o=i[a]),g.data=Object.assign({},o),I=o.leftPx-t,g.dataIndex=a,g.dataId=o.id,I){const A=I/g.absoluteSizeWithoutLastPage*g.maxHandlePosPx;g.handlePosPx=Math.max(A,0)}else g.handlePosPx=0;return g.handlePosPx>g.maxHandlePosPx&&(g.handlePosPx=Math.max(g.maxHandlePosPx,0)),g.preciseOffset=t,g.maxHandlePosPx>0?g.percent=g.handlePosPx/g.maxHandlePosPx*100:g.percent=0,g.absolutePosPx=Math.max(I,0),g}setScrollLeftByPixels(A){const t=this.state.get("$data.chart.time"),g=t.allDates[t.level];return g&&g.length?(A<0&&(A=0),this.state.update("$data.scroll.horizontal",(e=>{A>e.absoluteSizeWithoutLastPage&&(A=e.absoluteSizeWithoutLastPage);let i=0;const o=Math.round(A);let I;for(I of g){if(Math.round(I.rightPx)>o)break;i++}return e.dataIndex=i,e.dataId=I.id,e.preciseOffset=I.leftPx-A,this.calculateHorizontalScrollSizeAndPosFromDates(t.totalViewDurationPx,t,e,!1),A=e.absolutePosPx,e}),{data:"set-scroll-left"}),A):0}setScrollLeft(A,t=0,g=this.state.get("$data.chart.time")){if(g.calculatedZoomMode)return 0;if(this.state.get("config.scroll.horizontal.byPixels")){if("number"!=typeof A)throw new Error("When 'config.scroll.horizontal.byPixels' is true, 'dataIndexOrDateId' must be a number.");return A<0&&(A=0),this.setScrollLeftByPixels(A)}let e=0;const i=g.allDates[g.level];return i&&i.length?(this.state.update("$data.scroll.horizontal",(o=>{let I,a;if("number"==typeof A||""===A)I=A,a=i[I];else if("string"==typeof A)for(let t=0;t<i.length;t++)if(i[t].id===A){a=i[t],I=t;break}return a||(I>0?(I=i.length-1,a=i[I]):(I=0,a=i[0])),o.dataIndex=I,o.dataId=a.id,o.preciseOffset=t,this.calculateHorizontalScrollSizeAndPosFromDates(g.totalViewDurationPx,g,o,!1),e=o.absolutePosPx,o}),{data:"set-scroll-left"}),e):0}scrollToTime(A,t=!0){const g=this.state.get("$data.chart.time");if(g.calculatedZoomMode)return 0;if(!g.allDates)return 0;const e=this.time.findDateAtTime(A,g.allDates[g.level]);if(!e)return console.warn(`[gstc.api.scrollToTime] Time out of bounds (${A} -> ${this.time.date(A).format("YYYY-MM-DD HH:mm:ss")}).`),0;let i,o=0,I=0;if(t){const t=this.getChartWidth(!0)/2;I=(A-e.leftGlobal)/g.timePerPixel,e.rightPx<t&&(I=0);const a=-(t-I);if(i=this.time.getMainDateFromRelativePosition(e,a),!i)return console.warn(`[gstc.api.scrollToTime] Time out of bounds (${A} -> ${this.time.date(A).format("YYYY-MM-DD HH:mm:ss")}).`),0;o=g.allDates[g.level].indexOf(i)}else o=g.allDates[g.level].indexOf(e),I=(A-e.leftGlobal)/g.timePerPixel,i=e;if(-1===o)return 0;return this.state.get("config.scroll.horizontal").byPixels?this.setScrollLeft(i.leftPx+(t?i.width/2:0)):this.setScrollLeft(o,-I)}getScrollLeft(){return this.state.get("$data.scroll.horizontal")}getScrollSize(A){const t=this.state.get("$data.scroll.vertical.visible")?this.state.get("$data.chart.dimensions.widthWithoutScrollBar"):this.state.get("$data.chart.dimensions.width"),g=this.state.get("$data.scroll.horizontal.visible")?this.state.get("$data.chart.dimensions.heightWithoutScrollBar"):this.state.get("$data.chart.dimensions.innerHeight"),e=this.state.get("config.additionalSpace");return"horizontal"===A?t:g-e.top-e.bottom}getLastPageDatesWidth(A,t){let g=0,e=0;if(0===t.length)return{lastPageSize:g,lastPageCount:e};const i=this.state.get("config.scroll.horizontal"),o=i.byPixels||i.precise;for(let i=t.length-1;i>=0;i--){const o=t[i];if(g+=o.width,g>=A){g-=o.width;break}e++}return 0===g&&(g=A),o&&(g=A),{lastPageSize:g,lastPageCount:e}}calculateInitialChartWidth(A=!1){const t=this.state.get("config.initialWidth"),g=this.state.get("config.list.columns.data");let e=0;for(const A in g){e+=g[A].width}let i=t-e;return A&&(i-=this.state.get("config.scroll.horizontal.width")||0),i}getChartWidth(A=!1){let t=A?this.state.get("$data.chart.dimensions.widthWithoutScrollBar"):this.state.get("$data.chart.dimensions.width");return t||(t=this.calculateInitialChartWidth(A)),t}isHorizontalScrollVisible(A){const t=this.state.get("$data.scroll.horizontal");if(null!==t.data)return t.visible;const g=this.state.get("config.scroll.horizontal"),e=this.state.get("$data.chart.time"),i=e.totalViewDurationPx,o=this.getChartWidth(A),I=e.allDates[e.level];if(!I||!I.length)return!1;const{lastPageSize:a,lastPageCount:s}=this.getLastPageDatesWidth(o,I),B=this.getScrollSize("horizontal");let C=a/i*B;C<g.minInnerSize&&(C=g.minInnerSize);return!(s===I.length||B===C)}calculateHorizontalScrollSizeAndPosFromDates(A,t=this.state.get("$data.chart.time"),g=this.state.get("$data.scroll.horizontal"),e=!0){if(!t.allDates.length)return;const i=t.allDates[t.level],o=this.state.get("$data.scroll.vertical.visible"),I=this.getChartWidth(o),a=A,{lastPageSize:s,lastPageCount:B}=this.getLastPageDatesWidth(I,i),C=a-s,n=this.state.get("config.scroll.horizontal"),Q=this.getScrollSize("horizontal");let r=s/a*Q;r<n.minInnerSize&&(r=n.minInnerSize);const E=g.visible,c=!(B===i.length||Q===r),l=Math.max(Q?Q-r:0,0);return g.absoluteSize=a,g.absoluteSizeWithoutLastPage=Math.max(C,0),g.innerHandleSize=r,g.maxHandlePosPx=l,g.scrollSize=c?Q:0,g.lastPageCount=B,g.lastPageSize=s,g.visible=c,this.calculateHorizontalScrollPosPxFromDates(g.dataId,g.preciseOffset,g,t),e&&this.state.update("$data.scroll.horizontal",g),E!==c&&this.calculateVerticalScrollSize(),g}getLastPageRowsHeight(A,t){let g=0,e=0;const i=this.state.get("config.additionalSpace"),o=A-i.top-i.bottom;if(0===t.length)return{lastPageSize:g,lastPageCount:e};const I=this.getRowsData();for(let A=t.length-1;A>=0;A--){const i=I[t[A]];if(g+=i.outerHeight,g>=o){g-=i.outerHeight;break}e++}0===g&&(g=A);const a=this.state.get("config.scroll.vertical");return(a.byPixels||a.precise)&&(g=A),{lastPageSize:g,lastPageCount:e}}calculateVerticalScrollSize(){const A=this.state.get("$data.list.rowsWithParentsExpanded"),t=this.state.get("$data.list.rowsHeight"),g=this.isHorizontalScrollVisible(!0)?this.state.get("$data.chart.dimensions.heightWithoutScrollBar"):this.state.get("$data.chart.dimensions.innerHeight"),{lastPageSize:e,lastPageCount:i}=this.getLastPageRowsHeight(g,A),o=this.state.get("config.scroll.vertical"),I=g;let a=e/t*I;a<o.minInnerSize&&(a=o.minInnerSize);const s=!(i===A.length||I===a),B=I-a;this.state.update("$data.scroll.vertical",(g=>{if(g.absoluteSize=t,g.absoluteSizeWithoutLastPage=t-e,g.innerHandleSize=a,g.maxHandlePosPx=B,g.scrollSize=s?I:0,g.lastPageCount=i,g.lastPageSize=e,g.handlePosPx>B&&(g.handlePosPx=B),g.dataIndex>A.length-i){const t=this.getAllRows(),e=this.getRowsData();g.dataIndex=A.length-i;const o=A[g.dataIndex];t&&o?(g.data=t[o],g.dataId=g.data.id,g.absolutePosPx=e[o].position.top):(g.dataIndex=0,g.dataId="",g.data=null,g.handlePosPx=0,g.absolutePosPx=0),g.preciseOffset=0}else{const t=this.getRowsData(),e=A[g.dataIndex];t[e]&&(g.data=t[e],g.dataId=e,g.absolutePosPx=g.data.position.top-g.preciseOffset)}return g.visible=s,g}))}setScrollTopByPixels(A){const t=Gt(this),g=this.state.get("$data.scroll.vertical.absoluteSizeWithoutLastPage");A>g&&(A=g);let{dataIndex:e,row:i,rowData:o}=this.getRowInfoFromTop(A);if(!o)return;const I=o.position.top-A;return this.state.update("$data.scroll.vertical",(g=>{const a=t.rowsWithParentsExpanded.length-g.lastPageCount;if(e>a){if(e=a,i=t.rowsWithParentsExpanded[e],!i&&(e=0,i=t.rowsWithParentsExpanded[e],!i))return A=0,this.resetVerticalScroll(g);o=this.getRowData(i.id)}return g.data=t.rowsWithParentsExpanded[e],g.dataId=g.data.id,g.preciseOffset=I,g.handlePosPx=A?Math.round(A/g.absoluteSizeWithoutLastPage*g.maxHandlePosPx):0,g.handlePosPx>g.maxHandlePosPx&&(g.handlePosPx=g.maxHandlePosPx),g.percent=g.handlePosPx/g.maxHandlePosPx*100,g.dataIndex=e,g.absolutePosPx=A,g}),{data:"set-scroll-top"}),A}setScrollTop(A=0,t=0){if(this.state.get("config.scroll.vertical.byPixels")){if("number"!=typeof A)throw new Error("When 'config.scroll.vertical.byPixels' is true, 'dataIndexOrRowId' must be a number.");return A<0&&(A=0),this.setScrollTopByPixels(A)}const g=Gt(this),e=g.rowsIdsWithParentsExpanded;let i,o,I=0;if("string"==typeof A){const t=A;if(i=this.getRow(t),o=this.getRowData(i.id),this.parentsExpanded(t))I=e.indexOf(t);else for(const A of o.parents)this.parentsExpanded(A)&&(I=e.indexOf(A));if(!i)throw new Error(`Row with id: '${t}' not found. Maybe use GSTC.api.GSTCID(id) or check if row exists.`)}else{if("number"!=typeof A)throw new Error("[gstc.api.setScrollTop] Wrong dataIndex value. Must be `string` (for `rowId`) or `number` (for array index) only.");if(I=A,g.rowsWithParentsExpanded[I]||0===I||(I=0),!g.rowsWithParentsExpanded[I])return;i=g.rowsWithParentsExpanded[I],o=this.getRowData(i.id)}let a=0;return this.state.update("$data.scroll.vertical",(A=>{const e=g.rowsWithParentsExpanded.length-A.lastPageCount;if(I>e){if(I=e,i=g.rowsWithParentsExpanded[I],!i&&(I=0,i=g.rowsWithParentsExpanded[I],!i))return a=0,this.resetVerticalScroll(A);o=this.getRowData(i.id)}return a=o.position.top-t,A.data=g.rowsWithParentsExpanded[I],A.dataId=A.data.id,A.preciseOffset=t,A.handlePosPx=a?Math.round(a/A.absoluteSizeWithoutLastPage*A.maxHandlePosPx):0,A.handlePosPx>A.maxHandlePosPx&&(A.handlePosPx=A.maxHandlePosPx),A.percent=A.handlePosPx/A.maxHandlePosPx*100,A.dataIndex=I,A.absolutePosPx=a,A}),{data:"set-scroll-top"}),a}getScrollTop(){return this.state.get("$data.scroll.vertical")}getCurrentCalendarLevels(){return this.state.get("$data.chart.time.levels")}getGridCells(A=void 0){const t=this.state.get("$data.chart.grid.cells");if(!t)return[];if(void 0!==A){const g=A.length,e=new Array(g);for(let i=0;i<g;i++)e[i]=t[A[i]];return e}return Object.values(t)}getAllGridCells(){return this.state.get("$data.chart.grid.cells")}getGridRows(A=void 0){const t=this.state.get("$data.chart.grid.rows");return void 0!==A?t?Object.values(t).filter((t=>A.includes(t.row.id))):[]:t?Object.values(t):[]}getAllGridRows(){return this.state.get("$data.chart.grid.rows")}getGridCell(A){return this.state.get(`$data.chart.grid.cells.${A}`)}getGridRow(A){return this.state.get(`$data.chart.grid.rows.${A}`)}muteMethod(A){this.mutedMethods.add(A)}unmuteMethod(A){this.mutedMethods.delete(A)}isMutedMethod(A){return this.mutedMethods.has(A)}getSVGIconSrc(A){return"string"==typeof this.iconsCache[A]||(this.iconsCache[A]="data:image/svg+xml;base64,"+btoa(A)),this.iconsCache[A]}destroy(){for(const A of this.unsubscribes)A();this.unsubscribes=[],this.debug&&delete window.state}}function Nt(A,t,g,e){return new(g||(g=Promise))((function(i,o){function I(A){try{s(e.next(A))}catch(A){o(A)}}function a(A){try{s(e.throw(A))}catch(A){o(A)}}function s(A){var t;A.done?i(A.value):(t=A.value,t instanceof g?t:new g((function(A){A(t)}))).then(I,a)}s((e=e.apply(A,t||[])).next())}))}
/**
* ScrollBar component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/
function Ft(A,t){const{onDestroy:g,state:e,cache:i,api:o,html:I,StyleMap:a,Actions:s,update:B}=A,C="scroll-bar";let n,Q,r="",E="";g(e.subscribe("config.classNames",(()=>{n=o.getClass(C),Q=o.getClass(C+"-inner")})));const c="horizontal"===t.type?"height":"width",l="height"===c?"width":"height",h="horizontal"===t.type?"left":"top",d=new a({}),u=new a({}),w={maxPosPx:0,innerHandleSize:0,scrollSize:0,dataId:""};g(e.subscribeAll("horizontal"===t.type?[`config.scroll.${t.type}`,`$data.scroll.${t.type}`]:[`config.scroll.${t.type}`,`$data.scroll.${t.type}`,"$data.chart.dimensions.heightWithoutScrollBar","$data.list.rowsWithParentsExpanded","$data.list.rowsHeight","config.additionalSpace"],(function(A,g){const i=e.get(`config.scroll.${t.type}`),I=e.get(`$data.scroll.${t.type}`),a=o.getScrollSize(t.type),s=I.innerHandleSize,C=I.maxHandlePosPx,n=I.dataId,Q=e.get("config.additionalSpace"),r=e.get("$data.chart.time");if(!r.allDates||!r.allDates.length||!r.allDates[r.level])return;if(I.visible?d.style.display="flex":d.style.display="none",d.style[c]=i.width+"px",d.style[l]=a+"px","vertical"===t.type&&(d.style.top=e.get("config.headerHeight")+Q.top+"px"),!I.lastPageSize||!I.absoluteSize||!a)return;u.style[c]="100%",u.style[l]=s+"px";!("set-scroll-top"===g.options.data||"set-scroll-left"===g.options.data)&&function(A,t,g,e){const i=w.maxPosPx!==A||w.innerHandleSize!==t||w.scrollSize!==g||w.dataId!==e;return i&&(w.maxPosPx=A,w.innerHandleSize=t,w.scrollSize=g,w.dataId=e),i}(C,s,a,n)&&("horizontal"===t.type?i.byPixels?o.setScrollLeft(I.absolutePosPx):o.setScrollLeft(I.dataIndex,I.preciseOffset):i.byPixels?o.setScrollTop(I.absolutePosPx):o.setScrollTop(I.dataIndex,I.preciseOffset)),B()}),{group:!0,bulkValue:!1}));const D=o.getActions(C);D.push(class extends VA{constructor(A){super();const g=`$data.elements.scroll-bar--${t.type}`;e.get(g)||e.update(g,A,{only:null})}update(){}destroy(){}});const m={api:o,state:e,props:t,componentName:C},y=s.create(D,m),f=[class extends VA{constructor(A){super(),this.moving=!1,this.initialPointerPos=0,this.initialHandlePos=0,this.currentPos=0,this.currentPointerPos=0,this.lastDataIndex=0,this.lastOffset=0,this.dataIndex=0,this.previousRowId="",e.update(`$data.elements.scroll-bar-inner--${t.type}`,A,{only:null}),this.bodyClassName=e.get("config.scroll.bodyClassName"),this.pointerDown=this.pointerDown.bind(this),this.pointerUp=this.pointerUp.bind(this);const g=this.pointerMove.bind(this);this.pointerMove=g,this.unsubscribe=e.subscribe(`$data.scroll.${t.type}`,this.dataChanged.bind(this)),this.destroy=this.destroy.bind(this),A.addEventListener("pointerdown",this.pointerDown),document.addEventListener("pointermove",this.pointerMove),document.addEventListener("pointerup",this.pointerUp)}destroy(A){this.unsubscribe(),A.removeEventListener("pointerdown",this.pointerDown),document.removeEventListener("pointermove",this.pointerMove),document.removeEventListener("pointerup",this.pointerUp)}dataChanged(){const A=e.get(`$data.scroll.${t.type}`),g=e.get("$data.chart.time");if(!g.allDates.length)return;const i=g.allDates[g.level],o=A.dataIndex;if(this.lastDataIndex=o,"horizontal"===t.type&&i&&i.length)this.currentPos=A.handlePosPx,u.style[h]=this.currentPos+"px",B();else if("vertical"===t.type){if(!e.get("$data.list.rowsWithParentsExpanded").length)return;this.currentPos=A.handlePosPx,u.style[h]=this.currentPos+"px",B()}}limitPosition(A){return Math.max(Math.min(A,e.get(`$data.scroll.${t.type}.maxHandlePosPx`)),0)}pointerDown(A){A.stopPropagation(),A.preventDefault(),o.muteMethod("calculateRowsHeight"),document.body.classList.add(this.bodyClassName),requestAnimationFrame((()=>{this.moving=!0,this.initialPointerPos="horizontal"===t.type?A.pageX:A.pageY,this.initialHandlePos=e.get(`$data.scroll.${t.type}.handlePosPx`),E=" "+o.getClass(C)+"-inner--active",r=" "+o.getClass(C)+"--active",B()}))}pointerUp(A){this.moving&&(o.unmuteMethod("calculateRowsHeight"),A.preventDefault(),A.stopPropagation(),document.body.classList.remove(this.bodyClassName)),this.moving=!1,E="",r="",B()}pointerMoveRead(A){this.currentPointerPos="horizontal"===t.type?A.pageX:A.pageY}pointerMoveWrite(){const A=e.get(`config.scroll.${t.type}`),g=e.get(`$data.scroll.${t.type}`),i=this.currentPointerPos-this.initialPointerPos;this.currentPos=this.limitPosition(this.initialHandlePos+i);const I=e.get("$data.chart.time");if(!I.allDates.length)return;const a=I.allDates[I.level],s=this.currentPos/g.maxHandlePosPx*g.absoluteSizeWithoutLastPage,B=Math.round(s);if("horizontal"===t.type){let t,g=0,e=0,i=0;for(let A=a.length;g<A&&(t=a[g],i=Math.round(t.rightPx),!(i>B));g++);A.precise&&i!==B&&(e=t.leftPx-s),g||(g=0),t||(t=a[0]),this.dataIndex=g,this.lastDate=a[g],A.byPixels?o.setScrollLeft(s):o.setScrollLeft(t.id,e),this.lastDataIndex=g,this.lastOffset=e}else{const{dataIndex:t,row:g,rowData:e}=o.getRowInfoFromTop(s);let i=0;A.precise&&e.position.top!==s&&(i=e.position.top-s),this.dataIndex=t,this.previousRowId=g.id,A.byPixels?o.setScrollTop(s):o.setScrollTop(t,i),this.lastDataIndex=t,this.lastOffset=i}}pointerMove(A){this.moving&&(A.stopPropagation(),A.preventDefault(),requestAnimationFrame((()=>{this.pointerMoveRead(A)})),requestAnimationFrame((()=>{this.pointerMoveWrite()})))}}],p=s.create(f,m),k=o.generateSlots(C,A,t);function G({classNameOuter:A,classNameOuterActive:t,classNameInner:g,classNameInnerActive:e,styleMapInner:i,styleMapOuter:o,innerActions:I,outerActions:a,slots:s,cache:B,html:C,vido:n,props:Q}){return B(!Q||!Q.type?null:s.html("outer",C`
<div
data-actions=${a()}
class=${A+" "+A+"--"+Q.type+t}
style=${o.directive()}
>
${s.html("inner",C`
<div
data-actions=${I()}
class=${g+" "+g+"--"+Q.type+e}
style=${i.directive()}
>
${s.html("content")}
</div>
`)}
</div>
`))}let M=G;return g(e.subscribe(`config.templates.${C}`,(A=>{M=null!=A?A:G,B()}))),()=>M({innerActions:p,outerActions:y,classNameOuter:n,classNameOuterActive:r,classNameInner:Q,classNameInnerActive:E,cache:i,styleMapInner:u,styleMapOuter:d,slots:k,html:I,vido:A,props:t})}
/**
* List component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function bt(A,t={}){const{api:g,state:e,onDestroy:i,Actions:o,update:I,reuseComponents:a,html:s,StyleMap:B,cache:C}=A,n="list",Q=g.getActions(n);let r,E;const c=Object.assign(Object.assign({},t),{list:r,percent:E,api:g,state:e,componentName:n});let l;const h=e.subscribe("config.components.ListColumn",(A=>l=A));!function(){const A=e.get("config.list.expander.icons"),t={};for(const e in A){const i=A[e];t[e]=g.getSVGIconSrc(i)}e.update("$data.list.expander.icons",t)}(),function(){const A={open:"",close:""},t=e.get("config.list.toggle.icons");for(const e in t){const i=t[e];A[e]=g.getSVGIconSrc(i)}e.update("$data.list.toggle.icons",A)}();const d=g.getClass(n),u=g.generateSlots(n,A,t);i(e.subscribe("config.list",(function(){r=e.get("config.list"),E=r.columns.percent,c.list=r,c.percent=E,I()})));const w=[];i(e.subscribe("config.list.columns.data",(function(A){const t=Object.values(A).filter((A=>!A.hidden)).sort(((A,t)=>"number"==typeof A.position&&"number"==typeof t.position?A.position-t.position:0));a(w,t,(A=>({column:A})),l,!0),I()})));const D=new B({height:"","--expander-padding-width":"","--expander-size":""});let m;function y(A){m||(m=A.offsetWidth,0===E&&(m=0),e.update("$data.list.width",m))}i(e.subscribeAll(["$data.height","config.list.expander"],(()=>{const A=e.get("config.list.expander");D.style.height=e.get("$data.height")+"px",D.style["--expander-padding-width"]=A.padding+"px",D.style["--expander-size"]=A.size+"px",I()}),{group:!0})),i((()=>{w.forEach((A=>A.destroy())),h()}));Q.push(class{constructor(A,t){t.state.update("$data.elements.list",A),y(A)}update(A){return y(A)}});const f=o.create(Q,c);function p({className:A,styleMap:t,list:g,listColumns:e,actions:i,slots:o,html:I,cache:a,vido:s,props:B}){return o.html("outer",a(g.columns.percent>0?I`
<div class=${A} data-actions=${i()} style=${t.directive()}>
${o.html("content",e.map((A=>A.html())))}
</div>
`:""))}let k=p;return i(e.subscribe(`config.templates.${n}`,(A=>{k=null!=A?A:p,I()}))),()=>k({list:r,className:d,actions:f,styleMap:D,listColumns:w,slots:u,cache:C,html:s,vido:A,props:t})}
/**
* ListColumn component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/"function"==typeof SuppressedError&&SuppressedError;class Rt{constructor(A,t){let g=!1,e=t.state.get("$data.elements.list-columns");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.list-columns",e,{only:null})}destroy(A,t){t.state.update("$data.elements.list-columns",(t=>t.filter((t=>t!==A))),{only:null})}}function vt(A,t){const{api:g,state:e,onDestroy:i,onChange:o,cache:I,Actions:a,update:s,createComponent:B,reuseComponents:C,html:n,StyleMap:Q}=A,r=[];let E,c;r.push(e.subscribe("config.components.ListColumnRow",(A=>E=A))),r.push(e.subscribe("config.components.ListColumnHeader",(A=>c=A)));const l=Object.assign(Object.assign({},t),{api:g,state:e,componentName:"list-column"}),h={column:t.column,state:e,api:g,componentName:"list-column-headers"},d={api:g,state:e,componentName:"list-column-rows"},u="list-column",w=u+"-rows",D=u+"-rows-offset",m=g.getActions(u),y=g.getActions(w),f=g.getClass(u,t.column.id),p=g.getClass(D,t.column.id),k=g.getClass(w,t.column.id);let G,M=g.getId(u,t&&t.column?t.column.id:"");const N=new Q({width:"","--width":""}),F=new Q({height:""}),b=new Q({"margin-top":"0px"});let R=e.get("config.additionalSpace");const v=g.generateSlots(u,A,t);let S;function Y(){if(!t||!t.column)return;const A=e.get("config.list");if(!A.columns.data[t.column.id])return;G=A.columns.data[t.column.id].width*A.columns.percent*.01,S=G;const i=Math.round(g.getRealChartHeight());N.style.width=S+"px",N.style["--width"]=S+"px",b.style.height=i+"px",F.style.top=e.get("config.headerHeight")+R.top+"px"}i(e.subscribeAll(["config.list.columns.percent","config.list.columns.resizer.width","$data.chart.dimensions.width","$data.chart.dimensions.heightWithoutScrollBar","$data.list.width","$data.list.visibleRowsHeight","config.additionalSpace.top"],Y,{group:!0}));const J=B(c,t);i(J.destroy);const L=[],U={};function x(){var A;if(!t||!t.column)return;e.mute(x);const i=e.get("$data.list.visibleRows")||[],o=g.getRows(i),I=g.getRowsData();for(const g of o){const e=U[g.id]=null!==(A=U[g.id])&&void 0!==A?A:{};e.column=t.column,e.row=g,e.rowData=I[g.id],e.width=S}for(const A in U)i.includes(A)||delete U[A];C(L,o,(A=>A&&U[A.id]),E,!0),v.change(t),e.unmute(x)}o((A=>{if((t=A)&&t.column&&t.column.id){M=g.getId(u,t&&t.column?t.column.id:"");for(const A in t)l[A]=t[A];Y(),J.change(t),x()}})),i(e.subscribeAll(["$data.list.visibleRows","$data.list.visibleRowsHeight","$data.list.rows","config.list.rows","config.chart.items.*.height","config.chart.items.*.rowId","config.chart.items.*.time"],x,{group:!0,bulkValue:!1})),i(e.subscribe("$data.scroll.vertical.preciseOffset",(A=>{b.style.transform=`translateY(${Math.round(A)||0}px)`,s()}))),i(e.subscribe("config.additionalSpace",(A=>{R=A}))),i((()=>{L.forEach((A=>A.destroy())),r.forEach((A=>A()))})),m.push(Rt);const H=a.create(m,h),q=a.create(y,d);function K({className:A,classNameOffset:t,classNameContainer:g,containerStyleMap:e,offsetStyleMap:i,widthStyleMap:o,visibleRows:I,rowActions:a,elId:s,headerActions:B,ListColumnHeader:C,html:n,cache:Q,vido:r,props:E}){return Q(E&&E.column?v.html("outer",n`
<div
class=${A}
data-gstcid=${E.column.id}
data-actions=${B()}
style=${o.directive()}
>
${v.html("inner",n` ${C.html()}${v.html("container-outer",n`
<div
class=${g}
data-gstcid=${E.column.id}
data-actions=${a()}
style=${e.directive()}
>
${v.html("container-inner",n`
<div class=${t} data-gstcid=${E.column.id} style=${i.directive()}>
${v.html("content",I.map((A=>A.html())))}
</div>
`)}
</div>
`)} `)}
</div>
`):null)}let T=K;return i(e.subscribe(`config.templates.${u}`,(A=>{T=null!=A?A:K,s()}))),()=>T({classNameOffset:p,offsetStyleMap:b,visibleRows:L,classNameContainer:k,containerStyleMap:F,rowActions:q,className:f,elId:M,headerActions:H,widthStyleMap:N,ListColumnHeader:J,html:n,cache:I,vido:A,props:t})}
/**
* ListColumnHeader component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function St(A,t){const{api:g,state:e,onDestroy:i,cache:o,onChange:I,Actions:a,update:s,createComponent:B,html:C,StyleMap:n}=A,Q="list-column-header",r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:Q}),E=g.getActions(Q),c=[];let l;c.push(e.subscribe("config.components.ListColumnHeaderResizer",(A=>l=A)));const h=B(l,t);let d;c.push(e.subscribe("config.components.ListColumnRowExpander",(A=>d=A)));const u=B(d,t);i((()=>{h.destroy(),u.destroy(),c.forEach((A=>A()))}));const w=g.generateSlots(Q,A,t),D=g.getClass(Q),m=g.getClass(Q+"-content");let y=g.getId(Q,t.column.id);I((A=>{t=A;for(const A in t)r[A]=t[A];y=g.getId(Q,t.column.id),h.change(t),u.change(t),w.change(A)}));const f=new n({height:"","--height":"","--paddings-count":""});i(e.subscribe("config.headerHeight",(()=>{const A=e.get("config");f.style.height=A.headerHeight+"px",f.style["--height"]=A.headerHeight+"px",f.style["--paddings-count"]="1",s()})));const p=a.create(E,r);function k({className:A,contentClass:t,styleMap:g,elId:e,cache:i,ListColumnRowExpander:o,ListColumnHeaderResizer:I,actions:a,slots:s,html:B,vido:C,props:n}){return i(!n||!n.column?null:s.html("outer",B`
<div
class=${A}
data-gstcid=${n.column.id}
style=${g.directive()}
data-actions=${a()}
>
${s.html("content",n.column.expander?B`
<div class=${t}>
${o.html(n.column)}${I.html(n.column)}
</div>
`:B` <div class=${t}>${I.html(n.column)}</div> `)}
</div>
`))}let G=k;return i(e.subscribe(`config.templates.${Q}`,(A=>{G=null!=A?A:k,s()}))),()=>G({className:D,contentClass:m,cache:o,styleMap:f,elId:y,ListColumnRowExpander:u,ListColumnHeaderResizer:h,actions:p,slots:w,html:C,vido:A,props:t})}
/**
* ListColumnHeaderResizer component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function Yt(A,t){const{api:g,state:e,onDestroy:i,cache:o,update:I,html:a,Actions:s,onChange:B,PointerAction:C,StyleMap:n,unsafeHTML:Q}=A,r="list-column-header-resizer",E=g.getActions(r),c=g.getActions(r+"-dots"),l={up:"",down:""};let h,d,u,w;i(e.subscribe("config.list.sort.icons",(A=>{l.up=g.getSVGIconSrc(A.up),l.down=g.getSVGIconSrc(A.down)}))),h=g.getClass(r),d=g.getClass(r+"-container"),u=g.getClass(r+"-dots"),w=g.getClass(r+"-dots-dot");const D=g.getClass(r+"-sort-icon");let m;const y=new n({});let f=!1;const p=g.generateSlots(r,A,t);let k=!0,G=0;const M={componentName:r,column:t.column,api:g,state:e,pointerOptions:{axis:"x",onMove:function({movementX:A,event:g}){if(!k)return;A&&(g.preventDefault(),g.stopPropagation());let i=e.get("config.list.columns.minWidth");"number"==typeof t.column.minWidth&&(i=t.column.minWidth),G+=A,G<i&&(G=i),f&&e.update(`config.list.columns.data.${t.column.id}.width`,G)}}};function N(){if(!t||!t.column||!t.column.id)return;M.column=t.column,h=g.getClass(r,t.column.id),d=g.getClass(r+"-container",t.column.id),u=g.getClass(r+"-dots",t.column.id),w=g.getClass(r+"-dots-dot",t.column.id),k=!("resizer"in t.column)||t.column.resizer;const A=e.get("config.list");m=G=t.column.width*A.columns.percent*.01,y.style["--width"]=A.columns.resizer.width+"px",f=A.columns.resizer.inRealTime,e.update("$data.list.width",m),p.change(t),I()}B((A=>{t=A,N()})),i(e.subscribeAll(["config.list.columns.percent","config.list.columns.resizer.width","config.list.columns.resizer.inRealTime"],N,{group:!0}));let F=[1,2,3,4,5,6,7,8];i(e.subscribe("config.list.columns.resizer.dots",(A=>{F=[];for(let t=0;t<A;t++)F.push(t);I()})));let b=!0;function R(){t.column.sortable&&(b=!b,e.update("config.list.sort",(A=>(A.activeColumnId=t.column.id,A.asc=b,A))))}let v=!1;i(e.subscribe("config.list.sort",(A=>{if(A.activeColumnId===t.column.id)return b=A.asc,void(v=!0);v=!1}))),c.push(C);const S=s.create(E,M),Y=s.create(c,M);function J({className:A,containerClass:t,iconClass:g,dotsClass:e,dotClass:i,dotsStyleMap:o,dots:I,onLabelClick:a,dotsActions:s,resizer:B,icons:C,sortActive:n,cache:Q,asc:r,actions:E,slots:c,html:l,unsafeHTML:h,vido:d,props:u}){const w=!u||!u.column;function D(){return u.column.sortable&&n?r?l` <img src="${C.down}" class=${g} /> `:l` <img src="${C.up}" class=${g} /> `:null}function m(){return w?null:"function"==typeof u.column.header.content?u.column.header.content({column:u.column,vido:d}):u.column.header.content}return Q(w?null:c.html("outer",l`
<div class=${A} data-gstcid=${u.column.id} data-actions=${E()}>
${c.html("container-outer",B?w?null:l`
<div class=${t} @click=${a}>
${c.html("content",u.column.header.html?h(u.column.header.html):m())}
${D()}
</div>
<div class=${e} style=${o.directive()} data-actions=${s()}>
${I.map((()=>l` <div class=${i} /> `))}
</div>
`:w?null:l`
<div class=${t} @click=${a}>
${c.html("content",u.column.header.html?h(u.column.header.html):m())}
${D()}
</div>
`)}
</div>
`))}let L=J;return i(e.subscribe(`config.templates.${r}`,(A=>{L=null!=A?A:J,I()}))),()=>L({className:h,containerClass:d,onLabelClick:R,iconClass:D,cache:o,dotsClass:u,dotsStyleMap:y,dotsActions:Y,dots:F,dotClass:w,resizer:k,icons:l,sortActive:v,asc:b,actions:S,slots:p,html:a,unsafeHTML:Q,vido:A,props:t})}
/**
* ListColumnRow component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class Jt{constructor(A,t){let g=t.state.get("$data.elements.list-column-rows"),e=!1;void 0===g&&(e=!0,g=[]),g.includes(A)||(g.push(A),e=!0),e&&t.state.update("$data.elements.list-column-rows",g,{only:null})}destroy(A,t){t.state.update("$data.elements.list-column-rows",(t=>t.filter((t=>t!==A))),{only:null})}}function Lt(A,t){const{api:g,state:e,onDestroy:i,cache:o,Actions:I,update:a,html:s,createComponent:B,onChange:C,StyleMap:n,unsafeHTML:Q}=A,r="list-column-row",E=Object.assign(Object.assign({},t),{api:g,state:e,componentName:r});let c,l=!1;i(e.subscribe("config.components.ListColumnRowExpander",(A=>c=A)));const h=new n(t.column.expander?{height:"",top:"","--height":"","--expander-padding-width":"","--expander-size":""}:{height:"",top:"","--height":""}),d=B(c,{row:t.row}),u=g.getClass(r),w=g.getClass(r+"-content");let D=g.getClass(r);const m=g.generateSlots(r,A,t);let y;C((function(i,o){var I;if(o.leave||!i||void 0===i.row||void 0===i.column)return l=!0,m.change(i,o),void a();l=!1,t=i;for(const A in t)E[A]=t[A];if(!t.column||!t.row||!t.rowData)return l=!0,m.change(i,o),void a();if(void 0===t.column||void 0===t.row)return;y=t.column.isHTML?void 0===t.row?null:"function"==typeof t.column.data?Q(t.column.data({row:t.row,vido:A})):"function"==typeof t.row[t.column.data]?Q(t.row[t.column.data]({row:t.row,vido:A})):"string"==typeof t.row[t.column.data]?Q(t.row[t.column.data]):null:void 0===t.row?null:"function"==typeof t.column.data?t.column.data({row:t.row,vido:A}):"function"==typeof t.row[t.column.data]?t.row[t.column.data]({row:t.row,vido:A}):t.row[t.column.data];const s=e.get("config.list.expander");for(const A in h.style)delete h.style[A];h.style.height=t.rowData.outerHeight+"px",h.style["--height"]=t.rowData.outerHeight+"px",t.column.expander&&(h.style["--expander-padding-width"]=s.padding*(t.rowData.parents.length+1)+"px");const B=e.get("config.list.rows");for(const A of t.rowData.parents){const t=B[A];if("object"==typeof t.style&&"Object"===t.style.constructor.name&&"object"==typeof t.style.children){const A=t.style.children;for(const t in A)h.style[t]=A[t]}}if(null===(I=null==t?void 0:t.row)||void 0===I?void 0:I.style)for(const A in t.row.style)h.style[A]=t.row.style[A];if(t.row.classNames){if(Array.isArray(t.row.classNames)&&t.row.classNames.length)D=g.getClass(r)+" "+t.row.classNames.join(" ");else if("function"==typeof t.row.classNames){const e=t.row.classNames({row:t.row,vido:A});Array.isArray(e)&&e.length&&(D=g.getClass(r)+" "+e.join(" "))}}else D=u;d&&d.change(t),m.change(t,o),a()})),i((()=>{d&&d.destroy()}));const f=g.getActions(r);f.includes(Jt)||f.push(Jt);const p=I.create(f,E);function k({classNameCurrent:A,classNameContent:t,styleMap:g,cache:e,shouldDetach:i,content:o,ListColumnRowExpander:I,slots:a,actions:s,html:B,vido:C,props:n}){return e(i||!n||!n.column||!n.row?null:a.html("outer",B`
<div
class=${A}
data-gstcid=${n.row.id}
style=${g.directive()}
data-actions=${s()}
>
${a.html("inner",B`
${n.column.expander?I.html():null}
<div class=${t}>${a.html("content",o)}</div>
`)}
</div>
`))}let G=k;return i(e.subscribe(`config.templates.${r}`,(A=>{G=null!=A?A:k,a()}))),()=>G({classNameCurrent:D,cache:o,shouldDetach:l,styleMap:h,ListColumnRowExpander:d,classNameContent:w,slots:m,actions:p,content:y,html:s,vido:A,props:t})}
/**
* ListColumnRowExpander component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function Ut(A,t){const{api:g,state:e,onDestroy:i,Actions:o,html:I,cache:a,createComponent:s,onChange:B,update:C}=A,n="list-column-row-expander",Q=g.getActions(n),r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:n}),E=g.getClass(n);let c;const l=e.subscribe("config.components.ListColumnRowExpanderToggle",(A=>c=A)),h=s(c,t);i((()=>{h.destroy(),l()}));const d=g.generateSlots(n,A,t);t.row&&B((function(A){if((t=A)&&t.row&&t.rowData){for(const A in t)r[A]=t[A];h.change(t),d.change(A),C()}}));const u=o.create(Q,r);function w({className:A,ListColumnRowExpanderToggle:t,slots:g,actions:e,html:i,cache:o,vido:I,props:a}){return o(!a?null:g.html("outer",i`
<div class=${A} data-gstcid=${a.row?a.row.id:""} data-action=${e()}>
${g.html("content",t.html())}
</div>
`))}let D=w;return i(e.subscribe(`config.templates.${n}`,(A=>{D=null!=A?A:w,C()}))),()=>D({className:E,ListColumnRowExpanderToggle:h,slots:d,actions:u,html:I,cache:a,vido:A,props:t})}
/**
* ListColumnRowExpanderToggle component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function xt(A,t){const{api:g,state:e,cache:i,onDestroy:o,Actions:I,update:a,html:s,onChange:B}=A,C="list-column-row-expander-toggle",n=Object.assign(Object.assign({},t),{api:g,state:e,componentName:C}),Q=g.getActions(C),r=g.getClass(C),E=g.getClass(C+"-child"),c=g.getClass(C+"-open"),l=g.getClass(C+"-closed");let h,d,u,w=!1;o(e.subscribe("$data.list.expander.icons",(A=>{A&&(h=A.child,d=A.open,u=A.closed),a()})));const D=g.generateSlots(C,A,t);t.row?(B((function(A){if(t&&t.row){t=A;for(const A in t)n[A]=t[A];w=t.row.expanded,D.change(A),a()}})),o((function(){}))):o(e.subscribe("config.list.rows.*.expanded",(function(A){for(const t of A)if(t.value){w=!0;break}a()}),{bulk:!0}));const m=I.create(Q,n);function y(){w=!w,t.row?e.update(`config.list.rows.${t.row.id}.expanded`,w,{data:{name:"expanded",rowId:t.row.id,expanded:w}}):e.update("config.list.rows",(A=>{for(const t in A)A[t].expanded=w;return A}),{only:["*.expanded"],data:{name:"expanded"}})}function f({className:A,classNameChild:t,classNameOpen:g,classNameClosed:e,expanded:i,iconChild:o,iconOpen:I,iconClosed:a,toggle:s,cache:B,slots:C,actions:n,html:Q,vido:r,props:E}){return B(!E?null:C.html("outer",Q`
<div
class=${A}
data-gstcid=${E.row?E.row.id:""}
data-action=${n()}
@click=${s}
>
${C.html("content",(()=>{var A,s;return o?0===(null===(s=null===(A=E.rowData)||void 0===A?void 0:A.children)||void 0===s?void 0:s.length)?Q` <img width="16" height="16" class=${t} src=${o} /> `:i?Q` <img width="16" height="16" class=${g} src=${I} /> `:Q` <img width="16" height="16" class=${e} src=${a} /> `:""})())}
</div>
`))}let p=f;return o(e.subscribe(`config.templates.${C}`,(A=>{p=null!=A?A:f,a()}))),()=>p({className:r,classNameChild:E,iconChild:h,expanded:w,cache:i,classNameOpen:c,classNameClosed:l,iconOpen:d,iconClosed:u,toggle:y,slots:D,actions:m,html:s,vido:A,props:t})}
/**
* ListToggle component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function Ht(A,t={}){const{html:g,onDestroy:e,api:i,state:o,update:I,StyleMap:a,Actions:s,onChange:B}=A,C="list-toggle",n=i.getClass(C),Q=Object.assign(Object.assign({},t),{api:i,state:o,componentName:C});let r={open:"",close:""};e(o.subscribe("$data.list.toggle.icons",(A=>{A&&(r=A,I())})));const E=new a({top:"0px"});e(o.subscribe("$data.scroll.vertical.preciseOffset",(A=>{E.style.top=(-1*Math.round(A)||0)+"px"})));let c=!0;e(o.subscribe("config.list.columns.percent",(A=>c=0!==A)));let l=!1;function h(){l=!0}function d(){l&&(l=!1,o.update("config.list.columns.percent",(A=>0===A?100:0)))}B((A=>{t=A;for(const g in A)Q[g]=t[g]}));const u=i.getActions(C),w=s.create(u,Q),D=i.generateSlots(C,A,t);function m({className:A,styleMap:t,pointerDown:g,pointerUp:e,open:i,toggleIconsSrc:o,actions:I,slots:a,html:s,vido:B,props:C}){return a.html("outer",s`
<div
class=${A}
style=${t.directive()}
@pointerdown=${g}
@pointerup=${e}
actions=${I()}
>
${a.html("content",s` <img src=${i?o.close:o.open} /> `)}
</div>
`)}let y=m;return e(o.subscribe(`config.templates.${C}`,(A=>{y=null!=A?A:m,I()}))),()=>y({className:n,styleMap:E,pointerDown:h,pointerUp:d,open:c,toggleIconsSrc:r,actions:w,slots:D,html:g,vido:A,props:t})}
/**
* Chart component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function qt(A,t={}){const{api:g,state:e,onDestroy:i,Actions:o,html:I,createComponent:a,update:s}=A,B="chart",C=[];let n,Q,r;C.push(e.subscribe("config.components.ChartCalendar",(A=>n=A))),C.push(e.subscribe("config.components.ChartTimeline",(A=>Q=A))),C.push(e.subscribe("config.components.ScrollBar",(A=>r=A)));const E=a(n);i(E.destroy);const c=a(Q);i(c.destroy);const l=a(r,{type:"horizontal"});i(l.destroy);const h=a(r,{type:"vertical"});i(h.destroy),i((()=>{C.forEach((A=>A()))}));const d=g.getClass(B),u=g.getActions(B);let w=!1;i(e.subscribe("config.chart.time.calculatedZoomMode",(A=>{w=A,s()})));const D={handleEvent:function(A){A.type},passive:!1,capture:!1};let m,y=0;u.push((function(A){m||(m=new ResizeObserver((()=>{const t=A.offsetWidth,g=A.offsetHeight,i=t-e.get("config.scroll.horizontal.width"),o=e.get("config.headerHeight");y!==t&&(y=t,e.update("$data.chart.dimensions",(A=>(A.width=t,A.widthWithoutScrollBar=i,A.height=g,A.innerHeight=g-o,A))))})),m.observe(A),e.update("$data.elements.chart",A))})),i((()=>{m.disconnect()}));const f={api:g,state:e,componentName:B},p=o.create(u,f),k=g.generateSlots(B,A,t);function G({className:A,onWheel:t,ChartCalendar:g,ChartTimeline:e,ScrollBarVertical:i,calculatedZoomMode:o,ScrollBarHorizontal:I,actions:a,slots:s,html:B,vido:C,props:n}){return s.html("outer",B`
<div class=${A} data-actions=${a()} @wheel=${t}>
${s.html("content",B`
${g.html()}${e.html()}${i.html()}
${o?null:I.html()}
`)}
</div>
`)}let M=G;return i(e.subscribe(`config.templates.${B}`,(A=>{M=null!=A?A:G,s()}))),()=>M({className:d,onWheel:D,ChartCalendar:E,ChartTimeline:c,ScrollBarVertical:h,calculatedZoomMode:w,ScrollBarHorizontal:l,actions:p,slots:k,html:I,vido:A,props:t})}
/**
* ChartCalendar component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function Kt(A,t){const{api:g,state:e,onDestroy:i,Actions:o,update:I,reuseComponents:a,html:s,StyleMap:B}=A,C="chart-calendar",n=g.getActions(C),Q=Object.assign(Object.assign({},t),{api:g,state:e,componentName:C}),r=e.get("config.components.ChartCalendarDate"),E=g.getClass(C);let c;const l=new B({height:"","--headerHeight":"","margin-left":""});i(e.subscribe("config.headerHeight",(A=>{c=A,l.style.height=c+"px",l.style["--calendar-height"]=c+"px",I()})));let h=[],d=0;i(e.subscribeAll(["$data.chart.time.levels","config.chart.time","$data.chart.time","config.chart.calendarLevels"],(()=>{const A=e.get("$data.chart.time.levels");let t=0;if(A.length!==d){d=A.length,h.forEach((A=>A.forEach((A=>A.destroy())))),h=[];for(let A=0;A<d;A++)h.push([])}for(const e of A){if(!e.length)continue;let A="YYYY-MM-DD HH";switch(e[0].period){case"day":A="YYYY-MM-DD";break;case"week":A="YYYY-MM-ww";break;case"month":A="YYYY-MM";break;case"year":A="YYYY"}const i=g.time.date().format(A);a(h[t],e,(g=>g&&{level:t,date:g,currentDate:i,currentDateFormat:A}),r,!0),t++}I()}),{bulk:!0,bulkValue:!1})),i((()=>{h.forEach((A=>A.forEach((A=>A.destroy()))))})),n.push((A=>{e.update("$data.elements.chart-calendar",A)}));const u=o.create(n,Q),w=g.generateSlots(C,A,t);function D({className:A,styleMap:t,components:g,actions:e,slots:i,html:o,vido:I,props:a}){return i.html("outer",o`
<div class=${A} data-actions=${e()} style=${t.directive()}>
${i.html("inner",g.length?g.map(((t,g)=>t&&t.length?o`
<div class=${A+"-dates "+A+`-dates--level-${g}`}>
${i.html("content",t.map((A=>A.html())))}
</div>
`:null)):null)}
</div>
`)}let m=D;return i(e.subscribe(`config.templates.${C}`,(A=>{m=null!=A?A:D,I()}))),()=>m({className:E,styleMap:l,components:h,actions:u,slots:w,html:s,vido:A,props:t})}
/**
* ChartCalendarDate component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class Tt extends VA{constructor(A,t){super(),t.state.update("$data.elements.chart-calendar-dates",(t=>(void 0===t&&(t=[]),t.includes(A)||t.push(A),t)))}}function Wt(A,t){const{api:g,state:e,onDestroy:i,Actions:o,update:I,onChange:a,html:s,StyleMap:B,cache:C}=A,n="chart-calendar-date",Q=g.getActions(n),r=g.getClass(n);let E,c="",l="";a((()=>{E=e.get("config.chart.time")}));const h=new B({width:"0px"},{schedule:!1});let d="";let u=!1;const w=g.generateSlots(n,A,t);let D,m;const y={date:t.date,period:t.period,api:g,state:e,componentName:n};a(((A,g)=>{if(g.leave)return u=!0,w.change(A,g),I();u=!1,D=t.level===E.level,m=D?r+"--main-date ":r+"--non-main-date ",t=A,y.date=t.date,y.period=t.period,function(){if(!t||!t.date)return;const A=e.get(`config.chart.calendarLevels.${t.level}`);h.style.width=t.date.currentView.width+"px",h.style.left=t.date.currentView.leftPx+"px";const g=A.find((A=>+E.zoom<=+A.zoomTo));c=t.date.current?" gstc-current":t.date.next?" gstc-next":t.date.previous?" gstc-previous":"",l=r+"-content "+r+`-content--${t.date.period}`+c,g.classNames&&Array.isArray(g.classNames)?(l+=" "+g.classNames.join(" "),d=" "+g.classNames.join(" ")):d="",I()}(),w.change(A,g)})),Q.includes(Tt)||Q.push(Tt);const f=o.create(Q,y);function p({className:A,mainClass:t,additionalClass:g,formatClassName:e,finalClassName:i,styleMap:o,cache:I,shouldDetach:a,actions:s,slots:B,html:C,vido:n,props:Q}){return I(a||!Q||!Q.date?null:B.html("outer",C`
<div
class=${A+" "+A+`--${Q.date.period} `+t+A+`--level-${Q.level}`+g+e}
data-gstcid=${Q.date.id}
style=${o.directive()}
data-actions=${s()}
>
${B.html("content",C`<div class=${i.trim()}>${Q.date.formatted}</div>`)}
</div>
`))}let k=p;return i(e.subscribe(`config.templates.${n}`,(A=>{k=null!=A?A:p,I()}))),()=>k({className:r,mainClass:m,additionalClass:c,formatClassName:d,styleMap:h,finalClassName:l,cache:C,shouldDetach:u,actions:f,slots:w,html:s,vido:A,props:t})}
/**
* ChartTimeline component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function zt(A,t){const{api:g,state:e,onDestroy:i,Action:o,Actions:I,update:a,html:s,createComponent:B,StyleMap:C}=A,n="chart-timeline",Q=Object.assign(Object.assign({},t),{api:g,state:e,componentName:n});let r,E,c;i(e.subscribe("config.components.ChartTimelineGrid",(A=>{r&&r.destroy(),r=B(A)}))),i((()=>{r&&r.destroy()})),i(e.subscribe("config.components.ChartTimelineItems",(A=>{E&&E.destroy(),E=B(A)}))),i((()=>{E&&E.destroy()})),i(e.subscribe("config.components.ListToggle",(A=>{c&&c.destroy(),c=B(A)}))),i((()=>{c&&c.destroy()}));const l=g.generateSlots(n,A,t),h=g.getClass(n),d=g.getClass(n+"-inner");let u;i(e.subscribe("config.list.toggle.display",(A=>u=A)));const w=new C({}),D=new C({});let m,y;i(e.subscribe("config.additionalSpace",(A=>{m=A,a()}))),i(e.subscribe("config.headerHeight",(A=>{y=A,a()}))),i(e.subscribeAll(["$data.chart.dimensions.heightWithoutScrollBar","$data.scroll.vertical.offset","$data.chart.dimensions.width","$data.list.visibleRowsHeight","$data.chart.time.dates.day","config.headerHeight","config.additionalSpace"],(function(){const A=e.get("$data.chart.dimensions.width"),t=Math.round(g.getRealChartHeight(!0));w.style.height=e.get("config.innerHeight")+"px",w.style["--height"]=w.style.height,w.style.top=m.top+y+"px",A?(w.style.width=A+"px",w.style["--width"]=A+"px"):(w.style.width="0px",w.style["--width"]="0px"),D.style.height=t+"px",D.style.width=A?A+"px":"0px";const i=e.get("$data.scroll.vertical.preciseOffset")||0;D.style.transform=`translateY(${Math.round(i)}px)`,a()}),{group:!0,bulkValue:!1}));let f=[];i(e.subscribe("config.actions.chart-timeline",(A=>{f=A}))),f.push(class extends o{constructor(A){super();e.get("$data.elements.chart-timeline")!==A&&e.update("$data.elements.chart-timeline",A)}});const p=I.create(f,Q);function k({className:A,classNameInner:t,styleMap:g,innerStyleMap:e,Grid:i,Items:o,showToggle:I,ListToggle:a,actions:s,slots:B,html:C,vido:n,props:Q}){return B.html("outer",C`
<div class=${A} style=${g.directive()} data-actions=${s()}>
${B.html("inner",C`
<div class=${t} style=${e.directive()}>
${B.html("content",C` ${i.html()}${o.html()}${I?a.html():""} `)}
</div>
`)}
</div>
`)}let G=k;return i(e.subscribe(`config.templates.${n}`,(A=>{G=null!=A?A:k,a()}))),()=>G({className:h,styleMap:w,classNameInner:d,Grid:r,innerStyleMap:D,Items:E,showToggle:u,ListToggle:c,actions:p,slots:l,html:s,vido:A,props:t})}
/**
* ChartTimelineGrid component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class jt{constructor(A,t){t.state.get("$data.elements.chart-timeline-grid")!==A&&t.state.update("$data.elements.chart-timeline-grid",A,{only:null})}destroy(A,t){t.state.update("$data.elements",(A=>(delete A["chart-timeline-grid"],A)),{only:null})}}function Pt(A,t){const{api:g,state:e,onDestroy:i,Actions:o,update:I,html:a,reuseComponents:s,StyleMap:B}=A,C="chart-timeline-grid",n=g.getActions(C),Q={api:g,state:e,componentName:C},r=e.get("config.components.ChartTimelineGridRow"),E=g.getClass(C);let c;i(e.subscribe("config.chart.grid.cell.onCreate",(A=>c=A)));const l=[],h={},d=new Map,u=new B({});function w(A){let t=A.month()+1;t<10&&(t="0"+t);let g=A.date();g<10&&(g="0"+g);let e=A.hour();e<10&&(e="0"+e);let i=A.minute();i<10&&(i="0"+i);let o=A.second();return o<10&&(o="0"+o),`${A.year()}-${t}-${g}T${e}-${i}-${o}`}i(e.subscribeAll(["$data.scroll.vertical.preciseOffset","$data.chart.dimensions.width","$data.chart.dimensions.heightWithoutScrollBar"],(function(){const A=e.get("$data.chart.dimensions.width"),t=g.getRealChartHeight();u.style.height=Math.round(t)+"px",u.style.width=A+"px"}),{group:!0}));let D="",m=0,y=0,f="",p=0,k="",G=0,M=0;function N(){const A=g.getGridRows();s(l,A||[],(A=>A),r,!0),I()}i(e.subscribeAll(["$data.list.rowsHeight","$data.list.visibleRows","$data.list.visibleRowsHeight","$data.chart.time.levels","$data.scroll","config.list.rows;","config.list.rows.*;"],(function(t,i){const o=e.get("$data.chart.time"),I=e.get(`$data.chart.time.levels.${o.level}`),a=o.levels[o.level];if(!a||!a.length)return;const s=o.levels[o.level].map((A=>A.currentView.width)).join(",");if(!I||0===I.length)return void e.update("$data.chart.grid",{rows:{},cells:{}});const B=g.getRowsData(),C=e.get("$data.list.visibleRows"),n=C.map((A=>B[A].outerHeight)).join("|"),Q=C.join("|"),r=e.get("$data.scroll");if(Q===D&&m===o.leftGlobal&&y===o.rightGlobal&&n===f&&p===I.length&&k===s&&r.horizontal.handlePosPx===G&&r.vertical.handlePosPx===M)return"$data.chart.time.levels"===i.path.listener?N():void 0;G=r.horizontal.handlePosPx,M=r.vertical.handlePosPx,m=o.leftGlobal,y=o.rightGlobal,k=s,f=n;let E=0;if(Q!==D)for(const A in h)delete h[A];else if(p!==I.length)for(const A in h)h[A].cells.length=0;p=I.length;const l=g.getAllRows(),u=e.get("$data.chart.grid.cells");for(const A in u)delete u[A];for(const t of C){const g=l[t],e=B[t];if(!g||!e)continue;let i,o;Q!==D?i=[]:(i=h[t].cells,i.length=0);for(const t of I){let o;d.has(t.leftGlobal)?o=d.get(t.leftGlobal):(o=w(t.leftGlobalDate),d.set(t.leftGlobal,o));const I=g.id+"-"+o;let a;if(u[I])a=u[I],a.id=I,a.time=t,a.row=g,a.rowData=e,a.top=E,a.vido=A,a.content=null;else{const i=Object.create(null);i.id=I,i.time=t,i.row=g,i.rowData=e,i.top=E,i.vido=A,i.content=null,a=i}for(const A of c)a.content=A(a);u[a.id]=a,i.push(a.id)}h[t]?(o=h[t],o.row=g,o.rowData=e,o.cells=i,o.top=E):o={row:g,rowData:e,cells:i,top:E},h[t]=o,E+=e.outerHeight}D=Q,e.update("$data.chart.grid",{rows:h,cells:u})}),{group:!0,bulkValue:!1})),i(e.subscribe("$data.chart.grid",N,{group:!0})),i((()=>{l.forEach((A=>A.destroy()))})),n.push(jt);const F=o.create(n,Q),b=g.generateSlots(C,A,t);function R({className:A,styleMap:t,rowsComponents:g,actions:e,slots:i,html:o,vido:I,props:a}){return i.html("outer",o`
<div class=${A} data-actions=${e()} style=${t.directive()}>
${i.html("content",g.map((A=>A.html())))}
</div>
`)}let v=R;return i(e.subscribe(`config.templates.${C}`,(A=>{v=null!=A?A:R,I()}))),()=>v({className:E,styleMap:u,rowsComponents:l,actions:F,slots:b,html:a,vido:A,props:t})}
/**
* ChartTimelineGridRow component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class Zt{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-grid-rows");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-grid-rows",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-grid-rows",(t=>t.filter((t=>t!==A))),{only:null})}}function Vt(A,t){const{api:g,state:e,onDestroy:i,cache:o,Actions:I,update:a,html:s,reuseComponents:B,onChange:C,StyleMap:n}=A,Q="chart-timeline-grid-row",r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:Q});let E;i(e.subscribe("config.components.ChartTimelineGridRowCell",(A=>E=A)));const c=g.getActions(Q),l=g.getClass(Q),h=new n({height:t.row.height+"px"});let d=!1;const u=g.generateSlots(Q,A,t),w=[];C((function(A,e){if(!A||e.leave||void 0===A.row)return d=!0,B(w,[],(A=>A),E,!0),u.change(A,e),void a();d=!1,t=A;const i=g.getGridCells(t.cells);if(B(w,i,(A=>A),E,!0),h.setStyle({}),h.style.height=t.rowData.outerHeight+"px",t.row.style)for(const A in t.row.style)h.style[A]=t.row.style[A];for(const A in t)r[A]=t[A];u.change(A,e)})),i((function(){w.forEach((A=>A.destroy()))})),-1===c.indexOf(Zt)&&c.push(Zt);const D=I.create(c,r);function m({className:A,styleMap:t,rowsCellsComponents:g,cache:e,shouldDetach:i,actions:o,slots:I,html:a,vido:s,props:B}){return e(i||!B||!B.row?null:I.html("outer",a`
<div
class=${A}
data-gstcid=${B.row.id}
data-actions=${o()}
style=${t.directive()}
>
${I.html("content",g.map((A=>A.html())))}
</div>
`))}let y=m;return i(e.subscribe(`config.templates.${Q}`,(A=>{y=null!=A?A:m,a()}))),()=>y({className:l,styleMap:h,rowsCellsComponents:w,cache:o,shouldDetach:d,actions:D,slots:u,html:s,vido:A,props:t})}
/**
* ChartTimelineGridRowCell component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class Ot{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-grid-row-cells");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-grid-row-cells",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-grid-row-cells",(t=>t.filter((t=>t!==A))),{only:[""]})}}function Xt(A,t){const{api:g,state:e,cache:i,Actions:o,html:I,onChange:a,onDestroy:s,StyleMap:B,update:C}=A,n="chart-timeline-grid-row-cell",Q=Object.assign(Object.assign({},t),{api:g,state:e,componentName:n});let r=!1;const E=g.getActions(n),c=g.generateSlots(n,A,t);let l;function h(A){l=g.getClass(n),A&&A.time&&A.time.current&&(l+=" current")}h(t);const d=new B({width:"",height:""});a((function(A,g){var e,i;if(!A||g.leave||void 0===A.row)return r=!0,c.change(A,g),void C();r=!1,t=A;for(const A in t)Q[A]=t[A];if(h(t),d.setStyle({}),t&&t.row){if(d.style.width=((null===(i=null===(e=null==t?void 0:t.time)||void 0===e?void 0:e.currentView)||void 0===i?void 0:i.width)||0)+"px",t.row.style)for(const A in t.row.style)d.style[A]=t.row.style[A];c.change(t,g),C()}})),E.push(Ot);const u=o.create(E,Q);function w({className:A,styleMap:t,cache:g,shouldDetach:e,actions:i,slots:o,html:I,vido:a,props:s}){var B;return g(e||!s||!s.id?null:o.html("outer",I`
<div class=${A} data-gstcid=${s.id} data-actions=${i()} style=${t.directive()}>
${o.html("content",null!==(B=s&&s.content)&&void 0!==B?B:null)}
</div>
`))}let D=w;return s(e.subscribe(`config.templates.${n}`,(A=>{D=null!=A?A:w,C()}))),()=>D({className:l,styleMap:d,cache:i,shouldDetach:r,actions:u,slots:c,html:I,vido:A,props:t})}
/**
* ChartTimelineItems component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function $t(A,t={}){const{api:g,state:e,onDestroy:i,Actions:o,update:I,html:a,reuseComponents:s,StyleMap:B}=A,C="chart-timeline-items";let n,Q;i(e.subscribe(`config.actions.${C}`,(A=>n=A))),i(e.subscribe("config.components.ChartTimelineItemsRow",(A=>Q=A)));const r=g.getClass(C),E=new B({});let c;i(e.subscribeAll(["$data.chart.dimensions.heightWithoutScrollBar","$data.chart.dimensions.width","$data.scroll.vertical.preciseOffset"],(function(){const A=e.get("$data.chart.dimensions.width"),t=g.getRealChartHeight();E.style.width=A+"px",E.style.height=t+"px"}),{group:!0})),i(e.subscribe("config.debug",(A=>c=A)));const l=[],h={};i(e.subscribeAll(["$data.list.visibleRows","config.list.rows","config.components.ChartTimelineItemsRow","config.chart.items","$data.chart.items","$data.chart.time","$data.chart.viewPortVisibleItems","config.templates"],(function A(t,i){e.mute(A),c&&console.log("[items.ts] Updating item & rows components.");const o=e.get("$data.list.visibleRows")||[],a=g.getRows(o),B=g.getRowsData();for(const A of a)h[A.id]||(h[A.id]={}),h[A.id].row=A,h[A.id].rowData=B[A.id];for(const A in h)o.includes(A)||delete h[A];s(l,a,(A=>A?h[A.id]:null),Q,!0),I(),e.unmute(A)}),{group:!0,bulkValue:!1})),i((()=>{l.forEach((A=>A.destroy()))}));const d={api:g,state:e,componentName:C},u=o.create(n,d),w=g.generateSlots(C,A,t);function D({className:A,styleMap:t,rowsComponents:g,actions:e,slots:i,html:o,vido:I,props:a}){return i.html("outer",o`
<div class=${A} style=${t.directive()} data-actions=${e()}>
${i.html("content",g.map((A=>A.html())))}
</div>
`)}let m=D;return i(e.subscribe(`config.templates.${C}`,(A=>{m=null!=A?A:D,I()}))),()=>m({className:r,styleMap:E,rowsComponents:l,actions:u,slots:w,html:a,vido:A,props:t})}
/**
* ChartTimelineItemsRow component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class _t{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-items-rows");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-items-rows",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-items-rows",(t=>t.filter((t=>t!==A))),{only:null})}}function Ag(A,t){const{api:g,state:e,onDestroy:i,cache:o,Actions:I,update:a,html:s,onChange:B,reuseComponents:C,StyleMap:n}=A,Q="chart-timeline-items-row",r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:Q});let E;i(e.subscribe("config.components.ChartTimelineItemsRowItem",(A=>E=A)));let c="";const l=[],h=new n({width:"",height:""});let d=!1;function u(A=t.rowData,g=null){const i=e.get("$data.chart");d=!1,h.style.width=i.dimensions.width+"px",t?(h.style.height=A.outerHeight+"px",h.style["--row-height"]=A.outerHeight+"px",a()):d=!0}function w(A,t){if(!A||!t)return d=!0,C(l,[],(()=>null),E,!0),a();const e=t.items;if(void 0===e)return d=!0,C(l,[],(()=>null),E,!0),u(),a();const i=g.getItems(e).filter((A=>g.isItemHorizontallyInViewport(A)));C(l,i,(t=>({row:A,item:t,itemData:t?g.getItemData(t.id):null})),E,!0),u(),a()}const D=g.getClass(Q),m=g.generateSlots(Q,A,t);B((function(g,e){if(e.leave||!g||void 0===g.row)return d=!0,C(l,[],(()=>null),E,!0),m.change(g,e),a();t=g;for(const A in t)r[A]=t[A];if(t.row.classNames){if(Array.isArray(t.row.classNames)&&t.row.classNames.length)c=D+" "+t.row.classNames.join(" ");else if("function"==typeof t.row.classNames){const g=t.row.classNames({row:t.row,vido:A});Array.isArray(g)&&g.length&&(c=D+" "+g.join(" "))}}else c=D;w(t.row,t.rowData),m.change(g,e),a()})),i(e.subscribe("$data.chart.dimensions.width",(()=>w(t.row,t.rowData)))),i((()=>{l.forEach((A=>A.destroy()))}));const y=g.getActions(Q);y.push(_t);const f=I.create(y,r);function p({classNameCurrent:A,styleMap:t,shouldDetach:g,itemComponents:e,actions:i,slots:o,cache:I,html:a,vido:s,props:B}){return I(g||!B||!B.row?null:o.html("outer",a`
<div
class=${A}
data-gstcid=${B.row.id}
data-actions=${i()}
style=${t.directive()}
>
${o.html("content",e.map((A=>A.html())))}
</div>
`))}let k=p;return i(e.subscribe(`config.templates.${Q}`,(A=>{k=null!=A?A:p,a()}))),()=>k({cache:o,shouldDetach:d,classNameCurrent:c,styleMap:h,itemComponents:l,actions:f,slots:m,html:s,vido:A,props:t})}
/**
* ChartTimelineItemsRowItem component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/class tg{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-items-row-items");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-items-row-items",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-items-row-items",(t=>t.filter((t=>t!==A))),{only:null})}}function gg(A,t){const{api:g,state:e,cache:i,onDestroy:o,Actions:I,update:a,html:s,onChange:B,unsafeHTML:C,StyleMap:n}=A;let Q,r,E=0,c=0;o(e.subscribe("config.chart.spacing",(A=>{"number"==typeof A?(c=A,E=0):("number"==typeof A.left&&(E=A.left),"number"==typeof A.right&&(c=A.right)),a()})));const l="chart-timeline-items-row-item";let h=0,d=0,u=!1,w="";const D=new n({width:"",height:"",left:"",top:""}),m=new n({}),y=new n({}),f={item:t.item,itemData:t.itemData,row:t.row,left:h,width:d,api:g,state:e,componentName:l},p=g.getClass(l),k=g.getClass(l+"-label"),G=g.generateSlots(l,A,t);let M,N=!1;o(e.subscribe("config.chart.item.cutIcons",(A=>{M={left:g.getSVGIconSrc(A.left),right:g.getSVGIconSrc(A.right)}})));const F=g.getClass(`${l}-cut`)+" "+g.getClass(`${l}--left-cut-icon`),b=g.getClass(`${l}-cut-image`),R=()=>s`
<div class=${F} style=${m.directive()}>
<img src="${M.left}" width="18" height="18" class=${b} />
</div>
`,v=g.getClass(`${l}-cut`)+" "+g.getClass(`${l}--right-cut-icon`),S=g.getClass(`${l}-cut-image`),Y=()=>s`
<div class=${v} style=${y.directive()}>
<img src="${M.right}" width="18" height="18" class=${S} />
</div>
`;B((function(i,o){if(o.leave||void 0===i.row||void 0===i.item)return u=!0,N=!0,G.change(i,o),a();N=!1,u=!1,(t=i).item.id===Q&&t.row.id===r||(Q=t.item.id,r=t.row.id),f.item=t.item,f.itemData=t.itemData,f.row=t.row,function(){var i;if(N)return a();const o=e.get("$data.chart.time");if(u||0===o.levels.length||!o.levels[o.level]||0===o.levels[o.level].length)return N=!0,a();if(!t.item||!t.itemData)return N=!0,a();if(!e.get().$data.chart.verticallyVisibleItems.includes(t.item.id))return N=!0,a();const I=t.itemData;if(h=I.position.actualLeft+E,d=I.actualWidth-c-E,t.item.time.end<o.leftGlobal||t.item.time.start>o.rightGlobal||d<=0)return N=!0,I.detached=N,a();if(w=p,t.item.time.start<o.leftGlobal?(m.style.display="flex",w+=" "+g.getClass(l+"--left-cut")):m.style.display="none",t.item.time.end>o.rightGlobal?(y.style.display="flex",w+=" "+g.getClass(l+"--right-cut")):y.style.display="none",t.item.classNames)if(Array.isArray(t.item.classNames)&&t.item.classNames.length)w+=" "+t.item.classNames.join(" ");else if("function"==typeof t.item.classNames){const g=t.item.classNames({item:t.item,vido:A});Array.isArray(g)&&(w+=" "+g.join(" "))}const s=D.style.width,B=D.style.left,C=D.style.top,n=D.style.height;D.setStyle({});const Q=g.isItemHorizontallyInViewport(t.item,o.leftGlobal,o.rightGlobal);if(N=!Q,I.detached=N,Q?(D.style.width=d+"px",D.style.left=h+"px",D.style.top=I.position.actualRowTop+"px",D.style.height=I.actualHeight+"px"):(D.style.width=s,D.style.left=B,D.style.top=C,D.style.height=n),null===(i=null==t?void 0:t.item)||void 0===i?void 0:i.style)for(const A in t.item.style)D.style[A]=t.item.style[A];f.left=h,f.width=d,a()}(),G.change(i,o),a()}));const J=g.getActions(l);J.push(tg);const L=I.create(J,f);function U(){return t.item?t.item.isHTML?t.item&&t.item.label?"function"==typeof t.item.label?C(t.item.label({item:t.item,vido:A})):"string"==typeof t.item.label?C(t.item.label):null:null:t.item&&t.item.label?"function"==typeof t.item.label?t.item.label({item:t.item,vido:A}):t.item.label:null:null}function x({className:A,labelClassName:t,styleMap:g,cache:e,shouldDetach:i,cutterLeft:o,cutterRight:I,getContent:a,actions:s,slots:B,html:C,vido:n,props:Q}){return e(i||!Q||!Q.item?null:B.html("outer",C`
<div
class=${A}
data-gstcid=${Q.item.id}
data-actions=${s()}
style=${g.directive()}
>
${B.html("inner",C`
${o()}
<div class=${t}>${B.html("content",a())}</div>
${I()}
`)}
</div>
`))}let H=x;return B((()=>{const A=e.get(`config.templates.${l}`);H=null!=A?A:x,a()})),()=>H({className:w,labelClassName:k,cache:i,shouldDetach:N,styleMap:D,cutterLeft:R,cutterRight:Y,getContent:U,actions:L,slots:G,html:s,vido:A,props:t})}
/**
* Gantt-Schedule-Timeline-Calendar default configuration
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/const eg=["main","scroll-bar","list","list-column","list-column-header","list-column-header-resizer","list-column-row","list-column-row-expander","list-column-row-expander-toggle","list-toggle","chart","chart-calendar","chart-calendar-date","chart-timeline","chart-timeline-grid","chart-timeline-grid-row","chart-timeline-grid-row-cell","chart-timeline-items","chart-timeline-items-row","chart-timeline-items-row-item"];function ig(){const A={};return eg.forEach((t=>A[t]=[])),A}function og(){const A={};return eg.forEach((t=>A[t]=null)),A}function Ig(){const A={};return eg.forEach((t=>{A[t]={outer:[],inner:[],"container-outer":[],"container-inner":[],content:[]}})),A}function ag(){const A=[{zoomTo:17,period:"day",periodIncrement:1,classNames:["gstc-date-medium gstc-date-left"],format:({timeStart:A})=>A.format("DD MMMM YYYY (dddd)")},{zoomTo:23,period:"month",periodIncrement:1,format:({timeStart:A})=>A.format("MMMM YYYY")},{zoomTo:24,period:"month",periodIncrement:1,format:({timeStart:A})=>A.format("MMMM 'YY")},{zoomTo:25,period:"month",periodIncrement:1,format:({timeStart:A})=>A.format("MMM YYYY")},{zoomTo:27,period:"year",periodIncrement:1,format:({timeStart:A})=>A.format("YYYY")},{zoomTo:100,period:"year",periodIncrement:1,format:()=>null}],t=[{zoomTo:9,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:1,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:11,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:5,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:12,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:15,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:13,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:30,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:16,period:"hour",classNames:["gstc-date-medium"],main:!0,periodIncrement:1,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:17,period:"hour",main:!0,periodIncrement:1,format:({timeStart:A})=>A.format("HH")},{zoomTo:19,period:"day",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:A,className:t,vido:g})=>g.html`<span class="${t}-content gstc-date-bold">${A.format("DD")}</span> <span class="${t}-content gstc-date-thin">${A.format("dddd")}</span>`},{zoomTo:20,period:"day",main:!0,periodIncrement:1,format:({timeStart:A,vido:t,className:g})=>t.html`<div class="${g}-content gstc-date-top">${A.format("DD")}</div><div class="${g}-content gstc-date-small">${A.format("dddd")}</div>`},{zoomTo:21,period:"day",main:!0,periodIncrement:1,format:({timeStart:A,vido:t,className:g})=>t.html`<div class="${g}-content gstc-date-top">${A.format("DD")}</div><div class="${g}-content gstc-date-small">${A.format("ddd")}</div>`},{zoomTo:22,period:"day",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:A,className:t,vido:g})=>g.html`<div class="${t}-content gstc-date-top">${A.format("DD")}</div><div class="${t}-content gstc-date-extra-small">${A.format("ddd")}</div>`},{zoomTo:23,period:"week",main:!0,periodIncrement:1,format:({timeStart:A,timeEnd:t,className:g,vido:e})=>e.html`<div class="${g}-content gstc-date-top">${A.format("DD")} - ${t.format("DD")}</div><div class="${g}-content gstc-date-small gstc-date-thin">${A.format("ddd")} - ${t.format("dd")}</div>`},{zoomTo:25,period:"week",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:A,timeEnd:t,className:g,vido:e})=>e.html`<div class="${g}-content gstc-date-top gstc-date-small gstc-date-normal">${A.format("DD")}</div><div class="gstc-dash gstc-date-small">-</div><div class="${g}-content gstc-date-small gstc-date-normal">${t.format("DD")}</div>`},{zoomTo:26,period:"month",main:!0,periodIncrement:1,classNames:["gstc-date-month-level-1"],format:({timeStart:A,vido:t,className:g})=>t.html`<div class="${g}-content gstc-date-top">${A.format("MMM")}</div><div class="${g}-content gstc-date-small gstc-date-bottom">${A.format("MM")}</div>`},{zoomTo:27,period:"month",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:A,className:t,vido:g})=>g.html`<div class="${t}-content gstc-date-top">${A.format("MM")}</div><div class="${t}-content gstc-date-extra-small">${A.format("MMM")}</div>`},{zoomTo:28,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-big"],format:({timeStart:A})=>A.format("YYYY")},{zoomTo:29,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:A})=>A.format("YYYY")},{zoomTo:30,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:A})=>A.format("YY")},{zoomTo:100,period:"year",main:!0,periodIncrement:1,format:()=>null}];return{licenseKey:"",debug:!1,plugins:[],plugin:{},innerHeight:428,initialWidth:1024,additionalSpace:{top:0,bottom:0},headerHeight:72,autoInnerHeight:!1,components:{ScrollBar:Ft,List:bt,ListColumn:vt,ListColumnHeader:St,ListColumnHeaderResizer:Yt,ListColumnRow:Lt,ListColumnRowExpander:Ut,ListColumnRowExpanderToggle:xt,ListToggle:Ht,Chart:qt,ChartCalendar:Kt,ChartCalendarDate:Wt,ChartTimeline:zt,ChartTimelineGrid:Pt,ChartTimelineGridRow:Vt,ChartTimelineGridRowCell:Xt,ChartTimelineItems:$t,ChartTimelineItemsRow:Ag,ChartTimelineItemsRowItem:gg},slots:Ig(),list:{rows:{},row:{height:40,gap:{top:0,bottom:0}},columns:{percent:100,resizer:{width:10,inRealTime:!0,dots:6},minWidth:50,data:{}},expander:{padding:18,size:20,icon:{width:16,height:16},icons:{child:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><ellipse ry="4" rx="4" id="svg_1" cy="12" cx="12" fill="#000000B0"/></svg>',open:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/><path fill="none" d="M0 0h24v24H0V0z"/></svg>',closed:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"/><path fill="none" d="M0 0h24v24H0V0z"/></svg>'}},toggle:{display:!0,icons:{open:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path stroke="null" d="m16.406954,16.012672l4.00393,-4.012673l-4.00393,-4.012673l1.232651,-1.232651l5.245324,5.245324l-5.245324,5.245324l-1.232651,-1.232651z"/><path stroke="null" d="m-0.343497,12.97734zm1.620144,0l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,3.909362l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,-9.773404l0,1.95468l11.341011,0l0,-1.95468l-11.341011,0z"/></svg>',close:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path transform="rotate(-180 4.392796516418457,12) " stroke="null" d="m1.153809,16.012672l4.00393,-4.012673l-4.00393,-4.012673l1.232651,-1.232651l5.245324,5.245324l-5.245324,5.245324l-1.232651,-1.232651z"/><path stroke="null" d="m9.773297,12.97734zm1.620144,0l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,3.909362l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,-9.773404l0,1.95468l11.341011,0l0,-1.95468l-11.341011,0z"/></svg>'}},sort:{compare:null,asc:!0,activeColumnId:null,icons:{up:'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up"><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></svg>',down:'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down"><line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline></svg>'}}},scroll:{bodyClassName:"gstc-scrolling",horizontal:{width:20,minInnerSize:40,multiplier:1,precise:!0,byPixels:!0},vertical:{width:20,minInnerSize:40,multiplier:1,precise:!0,byPixels:!0}},chart:{time:{period:"day",from:0,to:0,zoom:20,leftGlobal:0,centerGlobal:0,rightGlobal:0,calculatedZoomMode:!1,onLevelDates:[],onCurrentViewLevelDates:[],onDate:[],allDates:[],autoExpandTimeFromItems:!1,alignLevelsToMain:!0,timePerPixel:0,checkCurrentDateInterval:3e5,datesCache:{timePerPixel:0,levels:[]}},calendarLevels:[A,t],grid:{cell:{onCreate:[]}},item:{gap:{top:4,bottom:4},rowTop:0,height:32,minWidth:10,overlap:!1,cutIcons:{left:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path d="M20 9v6h-8v4.84L4.16 12L12 4.16V9h8z" fill="#ffffff"/><rect x="0" y="0" width="24" height="24" fill="rgba(0, 0, 0, 0)" /></svg>',right:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path d="M4 15V9h8V4.16L19.84 12L12 19.84V15H4z" fill="#ffffff"/><rect x="0" y="0" width="24" height="24" fill="rgba(0, 0, 0, 0)" /></svg>'}},items:{},spacing:4},actions:ig(),templates:og(),locale:{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekStart:0,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},ordinal:A=>{const t=["th","st","nd","rd"],g=A%100;return`[${A}${t[(g-20)%10]||t[g]||t[0]}]`}},utcMode:!1,merge:(A,t)=>It.mergeDeep({},A,t),useLast:!0,Promise:Promise,mute:[],version:"3.40.5"}}
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */function sg(A,t,g,e){return new(g||(g=Promise))((function(i,o){function I(A){try{s(e.next(A))}catch(A){o(A)}}function a(A){try{s(e.throw(A))}catch(A){o(A)}}function s(A){var t;A.done?i(A.value):(t=A.value,t instanceof g?t:new g((function(A){A(t)}))).then(I,a)}s((e=e.apply(A,t||[])).next())}))}const Bg=[];class Cg{constructor(A,t,g,e=void 0){this.obj=A,this.delimiter=t,this.wildcard=g,this.is_match=e}shortMatch(A,t){if(A===t)return!0;if(A===this.wildcard)return!0;if(this.is_match)return this.is_match(A,t);const g=A.indexOf(this.wildcard);if(g>-1){const e=A.substr(g+1);if(0===g||t.substring(0,g)===A.substring(0,g)){const A=e.length;return!(A>0)||t.substr(-A)===e}}return!1}match(A,t){return this.is_match?this.is_match(A,t):A===t||A===this.wildcard||t===this.wildcard||this.shortMatch(A,t)||function(A,t,g="*"){if(A===g)return!0;Bg.length=0;let e=0,i=0,o=0,I=0;for(let t=0,i=A.length;t<i;t+=1){const i=A[t];i===g&&(e+=1,t>I&&Bg.push(A.substring(I,t)),Bg.push(i),I=t+1)}if(I<A.length&&Bg.push(A.substring(I)),e?(i=A.length-e,o=1/0):o=i=A.length,0===Bg.length)return A===t;const a=t.length;if(a<i||a>o)return!1;let s=Bg.length-1,B=t.length-1,C=!1;for(;;){const A=Bg[s];if(s-=1,A===g)C=!0;else{const g=B+1-A.length,e=t.lastIndexOf(A,g);if(-1===e||e>g)return!1;if(C)B=e-1,C=!1;else{if(e!==g)return!1;B-=A.length}}if(0>s)break}return!0}(A,t,this.wildcard)}handleArray(A,t,g,e,i={}){let o=A.indexOf(this.delimiter,g),I=!1;-1===o&&(I=!0,o=A.length);const a=A.substring(g,o);let s=0;for(const g of t){const t=s.toString(),B=""===e?t:e+this.delimiter+s;(a===this.wildcard||a===t||this.shortMatch(a,t))&&(I?i[B]=g:this.goFurther(A,g,o+1,B,i)),s++}return i}handleObject(A,t,g,e,i={}){let o=A.indexOf(this.delimiter,g),I=!1;-1===o&&(I=!0,o=A.length);const a=A.substring(g,o);for(let g in t){g=g.toString();const s=""===e?g:e+this.delimiter+g;(a===this.wildcard||a===g||this.shortMatch(a,g))&&(I?i[s]=t[g]:this.goFurther(A,t[g],o+1,s,i))}return i}goFurther(A,t,g,e,i={}){return Array.isArray(t)?this.handleArray(A,t,g,e,i):this.handleObject(A,t,g,e,i)}get(A){return this.goFurther(A,this.obj,0,"")}}class ng{static get(A,t,g=!1){if(!t)return;let e=t;for(const t of A)if(t in e)e=e[t];else{if(!g)return;e[t]=Object.create({}),e=e[t]}return e}static set(A,t,g){if(!g)return;if(0===A.length){for(const A in g)delete g[A];for(const A in t)g[A]=t[A];return}const e=A.slice(),i=e.pop(),o=ng.get(e,g,!0);return"object"==typeof o&&(o[i]=t),t}}let Qg,rg=0,Eg=null;function cg(){return null!==Eg&&Eg.buffer===Qg.memory.buffer||(Eg=new Uint8Array(Qg.memory.buffer)),Eg}let lg=new TextEncoder("utf-8");const hg="function"==typeof lg.encodeInto?function(A,t){return lg.encodeInto(A,t)}:function(A,t){const g=lg.encode(A);return t.set(g),{read:A.length,written:g.length}};function dg(A,t,g){if(void 0===g){const g=lg.encode(A),e=t(g.length);return cg().subarray(e,e+g.length).set(g),rg=g.length,e}let e=A.length,i=t(e);const o=cg();let I=0;for(;I<e;I++){const t=A.charCodeAt(I);if(t>127)break;o[i+I]=t}if(I!==e){0!==I&&(A=A.slice(I)),i=g(i,e,e=I+3*A.length);const t=cg().subarray(i+I,i+e);I+=hg(A,t).written}return rg=I,i}function ug(A,t){var g=dg(A,Qg.__wbindgen_malloc,Qg.__wbindgen_realloc),e=rg,i=dg(t,Qg.__wbindgen_malloc,Qg.__wbindgen_realloc),o=rg;return 0!==Qg.is_match(g,e,i,o)}async function wg(A){("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:t,module:g}=await async function(A,t){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,t)}catch(t){if("application/wasm"==A.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,t)}{const g=await WebAssembly.instantiate(A,t);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}(await A,{});return Qg=t.exports,wg.__wbindgen_wasm_module=g,Qg}const Dg={only:[],source:"",debug:!1,data:void 0,queue:!1,force:!1};function mg(A,t){console.debug(A,t)}function yg(A){return A&&A.constructor?"Object"===A.constructor.name:"object"==typeof A&&null!==A}class fg{constructor(A={},t={}){this.jobsRunning=0,this.updateQueue=[],this.subscribeQueue=[],this.listenersIgnoreCache=new WeakMap,this.is_match=null,this.destroyed=!1,this.queueRuns=0,this.groupId=0,this.namedGroups=[],this.numberGroups=[],this.traceId=0,this.traceMap=new Map,this.tracing=[],this.savedTrace=[],this.collection=null,this.collections=0,this.cache=new Map,this.splitCache=new Map,this.indices=new Map,this.indicesCount=new Map,this.lastExecs=new WeakMap,this.listeners=new Map,this.waitingListeners=new Map,this.options=Object.assign(Object.assign({},{delimiter:".",debug:!1,extraDebug:!1,useMute:!0,notRecursive:";",param:":",wildcard:"*",experimentalMatch:!1,queue:!1,defaultBulkValue:!0,useCache:!1,useSplitCache:!1,useIndicesCache:!1,maxSimultaneousJobs:1e3,maxQueueRuns:1e3,log:mg,Promise:Promise}),t),this.data=A,this.id=0,this.options.useCache?(this.pathGet=this.cacheGet,this.pathSet=this.cacheSet):(this.pathGet=ng.get,this.pathSet=ng.set),t.Promise?this.resolved=t.Promise.resolve():this.resolved=Promise.resolve(),this.muted=new Set,this.mutedListeners=new Set,this.scan=new Cg(this.data,this.options.delimiter,this.options.wildcard),this.destroyed=!1}getDefaultListenerOptions(){return{bulk:!1,bulkValue:this.options.defaultBulkValue,debug:!1,source:"",data:void 0,queue:!1,group:!1}}cacheGet(A,t=this.data,g=!1){const e=A.join(this.options.delimiter),i=this.cache.get(e);if(i){const A=i.deref();if(A)return A}const o=ng.get(A,t,g);return(yg(o)||Array.isArray(o))&&this.cache.set(e,new WeakRef(o)),o}cacheSet(A,t,g=this.data){const e=A.join(this.options.delimiter);return yg(t)||Array.isArray(t)?this.cache.set(e,new WeakRef(t)):this.cache.delete(e),ng.set(A,t,g)}silentSet(A,t){return this.pathSet(this.split(A),t,this.data)}loadWasmMatcher(A){return sg(this,void 0,void 0,(function*(){yield wg(A),this.is_match=ug,this.scan=new Cg(this.data,this.options.delimiter,this.options.wildcard,this.is_match)}))}same(A,t){return(["number","string","undefined","boolean"].includes(typeof A)||null===A)&&t===A}getListeners(){return this.listeners}destroy(){this.destroyed=!0,this.data=void 0,this.listeners=new Map,this.waitingListeners=new Map,this.updateQueue=[],this.jobsRunning=0}match(A,t,g=!0){return this.is_match?this.is_match(A,t):A===t||(A===this.options.wildcard||t===this.options.wildcard||!(!g&&this.getIndicesCount(this.options.delimiter,A)<this.getIndicesCount(this.options.delimiter,t))&&this.scan.match(A,t))}getIndicesOf(A,t){if(this.options.useIndicesCache&&this.indices.has(t))return this.indices.get(t);const g=A.length;if(0==g)return[];let e,i=0,o=[];for(;(e=t.indexOf(A,i))>-1;)o.push(e),i=e+g;return this.options.useIndicesCache&&this.indices.set(t,o),o}getIndicesCount(A,t){if(this.options.useIndicesCache&&this.indicesCount.has(t))return this.indicesCount.get(t);const g=A.length;if(0==g)return 0;let e,i=0,o=0;for(;(e=t.indexOf(A,i))>-1;)o++,i=e+g;return this.options.useIndicesCache&&this.indicesCount.set(t,o),o}cutPath(A,t){if(""===t)return"";if((A=this.cleanNotRecursivePath(A))===(t=this.cleanNotRecursivePath(t)))return A;const g=this.getIndicesCount(this.options.delimiter,t),e=this.getIndicesOf(this.options.delimiter,A);return A.substring(0,e[g])}trimPath(A){return(A=this.cleanNotRecursivePath(A)).charAt(0)===this.options.delimiter?A.substr(1):A}split(A){if(""===A)return[];if(!this.options.useSplitCache)return A.split(this.options.delimiter);const t=this.splitCache.get(A);if(t)return t.slice();const g=A.split(this.options.delimiter);return this.splitCache.set(A,g.slice()),g}isWildcard(A){return A.includes(this.options.wildcard)||this.hasParams(A)}isNotRecursive(A){return A.endsWith(this.options.notRecursive)}cleanNotRecursivePath(A){return this.isNotRecursive(A)?A.substring(0,A.length-1):A}hasParams(A){return A.includes(this.options.param)}getParamsInfo(A){let t={replaced:"",original:A,params:{}},g=0,e=[];for(const i of this.split(A)){t.params[g]={original:i,replaced:"",name:""};const A=new RegExp(`\\${this.options.param}([^\\${this.options.delimiter}\\${this.options.param}]+)`,"g");let o=A.exec(i);o?(t.params[g].name=o[1],A.lastIndex=0,t.params[g].replaced=i.replace(A,this.options.wildcard),e.push(t.params[g].replaced),g++):(delete t.params[g],e.push(i),g++)}return t.replaced=e.join(this.options.delimiter),t}getParams(A,t){if(!A)return;const g=this.split(t),e={};for(const t in A.params){e[A.params[t].name]=g[t]}return e}waitForAll(A,t){const g={};for(let t of A)g[t]={dirty:!1},this.hasParams(t)&&(g[t].paramsInfo=this.getParamsInfo(t)),g[t].isWildcard=this.isWildcard(t),g[t].isRecursive=!this.isNotRecursive(t);return this.waitingListeners.set(A,{fn:t,paths:g}),t(g),function(){this.waitingListeners.delete(A)}}executeWaitingListeners(A){if(!this.destroyed)for(const t of this.waitingListeners.values()){const{fn:g,paths:e}=t;let i=0,o=0;for(let t in e){const g=e[t];let I=!1;g.isRecursive&&(A=this.cutPath(A,t)),g.isWildcard&&this.match(t,A)&&(I=!0),A===t&&(I=!0),I&&(g.dirty=!0),g.dirty&&i++,o++}i===o&&g(e)}}subscribeAll(A,t,g=this.getDefaultListenerOptions()){if(this.destroyed)return()=>{};let e=[],i=0,o=null;"boolean"==typeof g.group&&g.group?(this.groupId++,o=this.groupId,g.bulk=!0):"string"==typeof g.group&&(g.bulk=!0,o=g.group);for(const I of A)e.push(this.subscribe(I,t,g,{all:A,index:i,groupId:o})),i++;return function(){for(const A of e)A()}}getCleanListenersCollection(A={}){return Object.assign({listeners:new Map,isRecursive:!1,isWildcard:!1,hasParams:!1,match:void 0,paramsInfo:void 0,path:void 0,originalPath:void 0,count:0},A)}getCleanListener(A,t=this.getDefaultListenerOptions()){return{fn:A,options:Object.assign(Object.assign({},this.getDefaultListenerOptions()),t),groupId:null}}getListenerCollectionMatch(A,t,g){A=this.cleanNotRecursivePath(A);const e=this;return function(i,o=!1){let I=A;return t?i=e.cutPath(i,A):I=e.cutPath(e.cleanNotRecursivePath(A),i),o&&console.log("[getListenerCollectionMatch]",{listenerPath:A,scopedListenerPath:I,path:i,isRecursive:t,isWildcard:g}),!(!g||!e.match(I,i,t))||I===i}}getListenersCollection(A,t){if(this.listeners.has(A)){let g=this.listeners.get(A);return g.listeners.set(++this.id,t),t.id=this.id,g}const g=this.hasParams(A);let e;g&&(e=this.getParamsInfo(A));let i={isRecursive:!this.isNotRecursive(A),isWildcard:this.isWildcard(A),hasParams:g,paramsInfo:e,originalPath:A,path:g?e.replaced:A};i.isRecursive||(i.path=this.cleanNotRecursivePath(i.path));let o=this.getCleanListenersCollection(Object.assign(Object.assign({},i),{match:this.getListenerCollectionMatch(i.path,i.isRecursive,i.isWildcard)}));return this.id++,o.listeners.set(this.id,t),t.id=this.id,this.listeners.set(i.originalPath,o),o}subscribe(A,t,g=this.getDefaultListenerOptions(),e={all:[A],index:0,groupId:null}){if(this.destroyed)return()=>{};this.jobsRunning++;const i="subscribe";let o=this.getCleanListener(t,g);g.group&&(g.bulk=!0,"string"==typeof g.group?o.groupId=g.group:e.groupId&&(o.groupId=e.groupId)),this.listenersIgnoreCache.set(o,{truthy:[],falsy:[]});const I=this.getListenersCollection(A,o);g.debug&&console.log("[subscribe]",{listenerPath:A,options:g}),I.count++;let a=!0;if(o.groupId&&("string"==typeof o.groupId?this.namedGroups.includes(o.groupId)?a=!1:this.namedGroups.push(o.groupId):"number"==typeof o.groupId&&(this.numberGroups.includes(o.groupId)?a=!1:this.numberGroups.push(o.groupId))),a){const e=this.cleanNotRecursivePath(I.path),a=this.split(e);if(I.isWildcard){const a=this.scan.get(e);if(g.bulk){const e=[];for(const A in a)this.isMuted(A)||e.push({path:A,params:this.getParams(I.paramsInfo,A),value:a[A]});this.isMuted(t)||t(e,{type:i,listener:o,listenersCollection:I,path:{listener:A,update:void 0,resolved:void 0},options:g,params:void 0})}else for(const e in a)this.isMuted(e)||this.isMuted(t)||t(a[e],{type:i,listener:o,listenersCollection:I,path:{listener:A,update:void 0,resolved:this.cleanNotRecursivePath(e)},params:this.getParams(I.paramsInfo,e),options:g})}else this.isMuted(e)||this.isMuted(t)||t(this.pathGet(a,this.data),{type:i,listener:o,listenersCollection:I,path:{listener:A,update:void 0,resolved:this.cleanNotRecursivePath(A)},params:this.getParams(I.paramsInfo,e),options:g})}return this.debugSubscribe(o,I,A),this.jobsRunning--,this.unsubscribe(A,this.id)}unsubscribe(A,t){const g=this.listeners,e=g.get(A);return function(){e.listeners.delete(t),e.count--,0===e.count&&g.delete(A)}}runQueuedListeners(){if(!this.destroyed&&0!==this.subscribeQueue.length)if(0===this.jobsRunning){this.queueRuns=0;const A=[...this.subscribeQueue];for(let t=0,g=A.length;t<g;t++)A[t]();this.subscribeQueue.length=0}else{if(this.queueRuns++,this.queueRuns>=this.options.maxQueueRuns)throw this.queueRuns=0,new Error("Maximal number of queue runs exhausted.");Promise.resolve().then((()=>this.runQueuedListeners())).catch((A=>{throw A}))}}getQueueNotifyListeners(A,t=[]){for(const g in A){if(this.isMuted(g))continue;let{single:e,bulk:i}=A[g];for(const A of e){let g=!1,e=A.listener.id+":"+A.eventInfo.path.resolved;A.eventInfo.path.resolved||(e=A.listener.id+":"+A.eventInfo.path.listener);for(const A of t)if(e===A.resolvedIdPath){g=!0;break}if(g)continue;const i=this.debugTime(A);if(!this.isMuted(A.listener.fn))if(A.listener.options.queue&&this.jobsRunning)this.subscribeQueue.push((()=>{A.listener.fn(A.value?A.value():void 0,A.eventInfo)}));else{let g=A.listener.id+":"+A.eventInfo.path.resolved;A.eventInfo.path.resolved||(g=A.listener.id+":"+A.eventInfo.path.listener),t.push({id:A.listener.id,resolvedPath:A.eventInfo.path.resolved,resolvedIdPath:g,originalFn:A.listener.fn,fn:()=>{A.listener.fn(A.value?A.value():void 0,A.eventInfo)},options:A.listener.options,groupId:A.listener.groupId})}this.debugListener(i,A)}for(const A of i){let g=!1;for(const e of t)if(e.id===A.listener.id){g=!0;break}if(g)continue;const e=this.debugTime(A),i=[];for(const t of A.value)i.push(Object.assign(Object.assign({},t),{value:t.value?t.value():void 0}));if(!this.isMuted(A.listener.fn))if(A.listener.options.queue&&this.jobsRunning)this.subscribeQueue.push((()=>!this.jobsRunning&&(A.listener.fn(i,A.eventInfo),!0)));else{let g=A.listener.id+":"+A.eventInfo.path.resolved;A.eventInfo.path.resolved||(g=A.listener.id+":"+A.eventInfo.path.listener),t.push({id:A.listener.id,resolvedPath:A.eventInfo.path.resolved,resolvedIdPath:g,originalFn:A.listener.fn,fn:()=>{A.listener.fn(i,A.eventInfo)},options:A.listener.options,groupId:A.listener.groupId})}this.debugListener(e,A)}}return Promise.resolve().then((()=>this.runQueuedListeners())),t}shouldIgnore(A,t){if(!A.options.ignore)return!1;for(const g of A.options.ignore){if(t.startsWith(g))return!0;if(this.is_match&&this.is_match(g,t))return!0;{const A=this.cutPath(t,g);if(this.match(g,A))return!0}}return!1}getSubscribedListeners(A,t,g,e="update",i=null){g=Object.assign(Object.assign({},Dg),g);const o={};for(let[I,a]of this.listeners)if(a.match(A)){o[I]={single:[],bulk:[],bulkData:[]};const s=a.paramsInfo?this.getParams(a.paramsInfo,A):void 0,B=this.cutPath(A,I),C=a.isRecursive||a.isWildcard?()=>this.get(B):()=>t,n=[{value:C,path:A,params:s}];for(const t of a.listeners.values())this.shouldIgnore(t,A)?t.options.debug&&console.log("[getSubscribedListeners] Listener was not fired because it was ignored.",{listener:t,listenersCollection:a}):t.options.bulk?o[I].bulk.push({listener:t,listenersCollection:a,eventInfo:{type:e,listener:t,path:{listener:I,update:i||A,resolved:void 0},params:s,options:g},value:n}):o[I].single.push({listener:t,listenersCollection:a,eventInfo:{type:e,listener:t,path:{listener:I,update:i||A,resolved:this.cleanNotRecursivePath(A)},params:s,options:g},value:C})}else if(this.options.extraDebug){let t=!1;for(const g of a.listeners.values())g.options.debug&&(t=!0,console.log("[getSubscribedListeners] Listener was not fired because there was no match.",{listener:g,listenersCollection:a,updatePath:A}));t&&a.match(A,!0)}return o}notifySubscribedListeners(A,t,g,e="update",i=null){return this.getQueueNotifyListeners(this.getSubscribedListeners(A,t,g,e,i))}useBulkValue(A){for(const[t,g]of A.listeners){if(g.options.bulk&&g.options.bulkValue)return!0;if(!g.options.bulk)return!0}return!1}getNestedListeners(A,t,g,e="update",i=null){const o={},I={};for(let[a,s]of this.listeners){if(!s.isRecursive)continue;const B=this.cutPath(a,A);if(this.match(B,A)){o[a]={single:[],bulk:[]};const C=this.trimPath(a.substr(B.length)),n=this.useBulkValue(s);let Q;n&&(Q=I[C]?I[C]:new Cg(t,this.options.delimiter,this.options.wildcard).get(C),I[C]=Q);const r=s.paramsInfo?this.getParams(s.paramsInfo,A):void 0,E=[],c={};for(const[t,I]of s.listeners)if(n)for(const B in Q){const C=()=>Q[B],n=[A,B].join(this.options.delimiter),l={type:e,listener:I,listenersCollection:s,path:{listener:a,update:i||A,resolved:this.cleanNotRecursivePath(n)},params:r,options:g};this.shouldIgnore(I,A)||(I.options.bulk?(E.push({value:C,path:n,params:r}),c[t]=I):o[a].single.push({listener:I,listenersCollection:s,eventInfo:l,value:C}))}else{const B={type:e,listener:I,listenersCollection:s,path:{listener:a,update:i||A,resolved:void 0},params:r,options:g};if(this.shouldIgnore(I,A))continue;I.options.bulk?(E.push({value:void 0,path:void 0,params:r}),c[t]=I):o[a].single.push({listener:I,listenersCollection:s,eventInfo:B,value:void 0})}for(const t in c){const i=c[t],I={type:e,listener:i,listenersCollection:s,path:{listener:a,update:A,resolved:void 0},options:g,params:r};o[a].bulk.push({listener:i,listenersCollection:s,eventInfo:I,value:E})}}else if(this.options.extraDebug)for(const t of s.listeners.values())t.options.debug&&console.log("[getNestedListeners] Listener was not fired because there was no match.",{listener:t,listenersCollection:s,currentCutPath:B,updatePath:A})}return o}notifyNestedListeners(A,t,g,e="update",i,o=null){return this.getQueueNotifyListeners(this.getNestedListeners(A,t,g,e,o),i)}getNotifyOnlyListeners(A,t,g,e="update",i=null){const o={};if("object"!=typeof g.only||!Array.isArray(g.only)||void 0===g.only[0]||!this.canBeNested(t))return o;for(const I of g.only){const a=new Cg(t,this.options.delimiter,this.options.wildcard).get(I);o[I]={bulk:[],single:[]};for(const t in a){const s=A+this.options.delimiter+t;for(const[B,C]of this.listeners){const n=C.paramsInfo?this.getParams(C.paramsInfo,s):void 0;if(this.match(B,s)){const Q=()=>a[t],r=[{value:Q,path:s,params:n}];for(const t of C.listeners.values()){const a={type:e,listener:t,listenersCollection:C,path:{listener:B,update:i||A,resolved:this.cleanNotRecursivePath(s)},params:n,options:g};this.shouldIgnore(t,A)||(t.options.bulk?o[I].bulk.some((A=>A.listener===t))||o[I].bulk.push({listener:t,listenersCollection:C,eventInfo:a,value:r}):o[I].single.push({listener:t,listenersCollection:C,eventInfo:a,value:Q}))}}}}}return o}runQueue(A){const t=[];for(const g of A)g.options.group?t.includes(g.groupId)||(g.fn(),t.push(g.groupId)):g.fn()}sortAndRunQueue(A,t){A.sort((function(A,t){return A.id-t.id})),this.options.debug&&console.log(`[deep-state-observer] queue for ${t}`,A),this.runQueue(A)}notifyOnly(A,t,g,e="update",i=""){const o=this.getQueueNotifyListeners(this.getNotifyOnlyListeners(A,t,g,e,i));this.sortAndRunQueue(o,A)}canBeNested(A){return"object"==typeof A&&null!==A}getUpdateValues(A,t){let g=t;return"function"==typeof t&&(g=t(A)),{newValue:g,oldValue:A}}wildcardNotify(A,t){let g=[];for(const t of A)this.getQueueNotifyListeners(t,g);for(const A of t)this.executeWaitingListeners(A);return this.jobsRunning--,g}wildcardUpdate(A,t,g=Dg,e=!1){++this.jobsRunning,g=Object.assign(Object.assign({},Dg),g);const i=this.scan.get(A),o={};for(const A in i){const e=this.split(A),{oldValue:I,newValue:a}=this.getUpdateValues(i[A],t);this.same(a,I)&&!g.force||(this.pathSet(e,a,this.data),o[A]=a)}const I=[],a=[];for(const t in o){const e=o[t];g.only.length?I.push(this.getNotifyOnlyListeners(t,e,g,"update",A)):(I.push(this.getSubscribedListeners(t,e,g,"update",A)),this.canBeNested(e)&&I.push(this.getNestedListeners(t,e,g,"update",A))),g.debug&&this.options.log("Wildcard update",{path:t,newValue:e}),a.push(t)}if(e){const t=this;return function(){const g=t.wildcardNotify(I,a);t.sortAndRunQueue(g,A)}}const s=this.wildcardNotify(I,a);this.sortAndRunQueue(s,A)}runUpdateQueue(){if(!this.destroyed)for(;this.updateQueue.length&&this.updateQueue.length<this.options.maxSimultaneousJobs;){const A=this.updateQueue.shift();A.options.queue=!1,this.update(A.updatePath,A.fnOrValue,A.options,A.multi)}}updateNotify(A,t,g){const e=this.notifySubscribedListeners(A,t,g);this.canBeNested(t)&&this.notifyNestedListeners(A,t,g,"update",e),this.sortAndRunQueue(e,A),this.executeWaitingListeners(A)}updateNotifyAll(A){let t=[];for(const g of A){const A=g.newValue;if(this.tracing.length){const t=this.tracing[this.tracing.length-1],e=this.traceMap.get(t);e.changed.push({traceId:t,updatePath:g.updatePath,fnOrValue:A,options:g.options}),this.traceMap.set(t,e)}t=t.concat(this.notifySubscribedListeners(g.updatePath,A,g.options)),this.canBeNested(g.newValue)&&this.notifyNestedListeners(g.updatePath,A,g.options,"update",t)}this.runQueue(t)}updateNotifyOnly(A,t,g){this.notifyOnly(A,t,g),this.executeWaitingListeners(A)}update(A,t,g=Object.assign({},Dg),e=!1){if(this.destroyed)return;if(this.collection)return this.collection.update(A,t,g);if(this.tracing.length){const e=this.tracing[this.tracing.length-1],i=this.traceMap.get(e);i.changed.push({traceId:e,updatePath:A,fnOrValue:t,options:g}),this.traceMap.set(e,i)}const i=this.jobsRunning;if((this.options.queue||g.queue)&&i){if(i>this.options.maxSimultaneousJobs)throw new Error("Maximal simultaneous jobs limit reached.");this.updateQueue.push({updatePath:A,fnOrValue:t,options:g,multi:e});const o=Promise.resolve().then((()=>{this.runUpdateQueue()}));return e?function(){return o}:o}if(this.isWildcard(A))return this.wildcardUpdate(A,t,g,e);++this.jobsRunning;const o=this.split(A),I=this.pathGet(o,this.data);let{oldValue:a,newValue:s}=this.getUpdateValues(I,t);if(g.debug&&this.options.log(`Updating ${A} ${g.source?`from ${g.source}`:""}`,{oldValue:a,newValue:s}),this.same(s,a)&&!g.force)return--this.jobsRunning,e?function(){return s}:s;if(this.pathSet(o,s,this.data),null===(g=Object.assign(Object.assign({},Dg),g)).only)return--this.jobsRunning,e?function(){}:s;if(g.only.length){if(--this.jobsRunning,e){const t=this;return function(){return t.updateNotifyOnly(A,s,g)}}return this.updateNotifyOnly(A,s,g),s}if(e){--this.jobsRunning;const t=this;return function(){return t.updateNotify(A,s,g)}}return this.updateNotify(A,s,g),--this.jobsRunning,s}multi(A=!1){if(this.destroyed)return{update(){return this},done(){},getStack:()=>[]};if(this.collection)return this.collection;const t=this,g=[],e=[];return{update(i,o,I=Dg){if(A){const A=t.split(i);let e=o;const a=t.pathGet(A,t.data);"function"==typeof e&&(e=e(a)),t.pathSet(A,e,t.data),g.push({updatePath:i,newValue:e,options:I})}else e.push(t.update(i,o,I,!0));return this},done(){if(0===t.collections){if(A)t.updateNotifyAll(g);else for(const A of e)A();g.length=0}},getStack:()=>g}}collect(){return this.collections++,this.collection||(this.collection=this.multi(!0)),this.collection}executeCollected(){if(this.collections--,0===this.collections&&this.collection){const A=this.collection;this.collection=null,A.done()}}getCollectedCount(){return this.collections}getCollectedStack(){return this.collection?this.collection.getStack():[]}get(A=void 0){if(!this.destroyed)return void 0===A||""===A?this.data:this.isWildcard(A)?this.scan.get(A):this.pathGet(this.split(A),this.data)}last(A){let t=this.lastExecs.get(A);t||(t={calls:0},this.lastExecs.set(A,t));const g=++t.calls;this.resolved.then((()=>{g===t.calls&&(this.lastExecs.set(A,{calls:0}),A())}))}isMuted(A){if(!this.options.useMute)return!1;if("function"==typeof A)return this.isMutedListener(A);for(const t of this.muted){const g=!this.isNotRecursive(t),e=this.trimPath(t);if(this.match(A,e))return!0;if(this.match(e,A))return!0;if(g){const g=this.cutPath(e,A);if(this.match(g,t))return!0;if(this.match(t,g))return!0}}return!1}isMutedListener(A){return this.mutedListeners.has(A)}mute(A){if("function"==typeof A)return this.mutedListeners.add(A);this.muted.add(A)}unmute(A){if("function"==typeof A)return this.mutedListeners.delete(A);this.muted.delete(A)}debugSubscribe(A,t,g){A.options.debug&&this.options.log("listener subscribed",{listenerPath:g,listener:A,listenersCollection:t})}debugListener(A,t){(t.eventInfo.options.debug||t.listener.options.debug)&&this.options.log("Listener fired",{time:Date.now()-A,info:t})}debugTime(A){return A.listener.options.debug||A.eventInfo.options.debug?Date.now():0}startTrace(A,t=null){this.traceId++;const g=this.traceId+":"+A;return this.traceMap.set(g,{id:g,sort:this.traceId,stack:this.tracing.map((A=>A)),additionalData:t,changed:[]}),this.tracing.push(g),g}stopTrace(A){const t=this.traceMap.get(A);return this.tracing.pop(),this.traceMap.delete(A),t}saveTrace(A){const t=this.traceMap.get(A);return this.tracing.pop(),this.traceMap.delete(A),this.savedTrace.push(t),t}getSavedTraces(){const A=this.savedTrace.map((A=>A));return A.sort(((A,t)=>A.sort-t.sort)),this.savedTrace=[],A}}const pg=It.mergeDeep;function kg(A){const t=ag();let g=function(A,t){return It.mergeDeep(A,t)};"function"==typeof A.merge&&(g=A.merge);const e=function(A,t,g){const e=g({},t.actions),i=g({},A.actions||{});let o=[...Object.keys(e),...Object.keys(i)];o=o.filter((A=>o.includes(A)));const I={};for(const A of o)I[A]=[],void 0!==e[A]&&Array.isArray(e[A])&&(I[A]=[...e[A]]),void 0!==i[A]&&Array.isArray(i[A])&&(I[A]=[...I[A],...i[A]]);return delete A.actions,delete t.actions,I}(A,t,g),i={config:g(t,A)};return i.config.actions=e,i}rt.extend(ct),rt.extend(ht);const Gg=!0;const Mg=ag().locale,Ng={name:"gstc",GSTCID:ut.GSTCID,isGSTCID:ut.isGSTCID,sourceID:ut.sourceID,fromArray(A){const t=this.GSTCID,g={};for(const e of A)e.id=t(e.id),"rowId"in e&&(e.rowId=t(e.rowId)),"parentId"in e&&(e.parentId=t(e.parentId)),"dependant"in e&&(e.dependant=e.dependant.map((A=>t(A)))),"linkedWith"in e&&(e.linkedWith=e.linkedWith.map((A=>t(A)))),g[e.id]=e;return g},stateFromConfig:function(A){return this.state=new fg(kg(A),{delimiter:".",useMute:Gg,maxSimultaneousJobs:1e3,Promise:A.Promise,debug:!!A.debug,useCache:!1,useSplitCache:!0,useIndicesCache:!1,defaultBulkValue:!1})},wasmStateFromConfig:function(A,t="./wildcard_matcher_bg.wasm"){return Nt(this,void 0,void 0,(function*(){return this.state=new fg(kg(A),{delimiter:".",useMute:Gg,maxSimultaneousJobs:1e3}),yield this.state.loadWasmMatcher(t),this.state}))},merge:pg,mergeDeep:pg,clone:function(A){return pg({},A)},lithtml:K,html:K,vido:nt,date:(A,t=!1,g=pg({},Mg))=>(rt.locale(g,null,!0),t?A?rt.utc(A).locale(g.name):rt.utc().locale(g.name):A?rt(A).locale(g.name):rt().locale(g.name)),setPeriod(A){return this.state.update("config.chart.time.period",A),this.state.get("config.chart.time.zoom")},dayjs:rt};
/**
* Main api
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/
function Fg(A,t){const{api:g,onDestroy:e,state:i,update:o,StyleMap:I}=A,a=g.name,s=new Map;let B;e(i.subscribe("config.debug",(A=>B=A)));let C=!1;function n(A,t){"fullReload"!==t.options.data&&c.fullReload(t,A)}function Q(A,t){var g;["config","config.chart.items"].includes(t.path.update)||"config.list.rows"===t.path.update&&"expanded"!==(null===(g=t.options.data)||void 0===g?void 0:g.name)||(["config.list.rows.*.parentId"].includes(t.path.listener)?function(A,t){"subscribe"!==t.type&&"sortRowsByColumn"!==t.options.data&&"fullReload"!==t.options.data&&c.partialReload(!0,t,A)}(A,t):function(A,t){"subscribe"!==t.type&&"fullReload"!==t.options.data&&c.partialReload(!1,t,A)}(A,t))}function r(A=null,t){t&&"subscribe"===t.type||t&&t.options.data&&"update-vertically-visible-items"===t.options.data||c.minimalReload(t,A)}function E(){s.forEach((A=>A())),s.clear(),B&&console.log("Plugins destroyed.")}var c={className:yt(a),styleMap:new I({}),initializePlugins(){e(i.subscribe("config.plugins",(t=>{if(void 0!==t&&Array.isArray(t)){s.forEach(((A,g)=>{t.includes(g)||(A(),s.delete(g))}));for(const g of t){if(s.has(g))continue;let t=g(A);"function"!=typeof t&&Object.prototype.hasOwnProperty.call(t,"destroy")?t=t.destroy.bind(t):"function"!=typeof t&&(t=()=>{}),s.set(g,t)}}B&&console.log("Plugins initialized.")}))),e(E)},heightChange(){if(g.isMutedMethod("heightChange"))return;const A=i.get("config"),t=i.get("config.scroll.horizontal.width"),e=A.innerHeight-t;i.multi(!0).update("$data.chart.dimensions.heightWithoutScrollBar",e).update("$data.chart.dimensions.innerHeight",A.innerHeight).update("$data.chart.dimensions.height",A.innerHeight+A.headerHeight).update("$data.height",A.innerHeight+A.headerHeight).done(),c.styleMap.style["--height"]=e+"px",c.styleMap.style.height=A.innerHeight+A.headerHeight+"px",g.calculateVerticalScrollSize(),o()},resizerActiveChange(A){C=A,c.className=yt(g.name),C&&(c.className+=` ${g.name}__list-column-header-resizer--active`),o()},generateTreeFromVisibleRows(){if(g.isMutedMethod("generateTreeFromVisibleRows"))return;const A=g.getVisibleRowsId(),t=g.getAllRows(),e=g.getRowsData(),i={},I=[];for(const g of A){t[g];const A=e[g];i[g]=A;for(const t of A.items)I.push(t)}g.makeTreeMap(i,I,!0),o()},generateTree(A=!0){let t=i.get("$data.list.rowsIds");if(!t)return;t=t.slice();const e=i.get("config.list.rows");if(!A)return c.generateTreeFromVisibleRows();g.fillEmptyRowValues(e);let o=g.getAllRows();const I=g.getRowsData(),a=i.get("config.chart.items");g.prepareItems(a),g.makeTreeMap(I,Object.keys(a)),o=g.sortRowsByChildren(Object.values(o).map((A=>A.id)));i.get("config").list.rows=o;const s=Object.keys(o);i.update("$data.list.rowsIds",s),g.setAllRowsIdsCache(s)},prepareExpanded(){if(g.isMutedMethod("prepareExpanded"))return;const A=g.getAllRows();if(!A)return;const t=g.generateRowsWithParentsExpanded(A);i.update("$data.list.rowsWithParentsExpanded",t)},generateVisibleRowsAndItems(){if(g.isMutedMethod("generateVisibleRowsAndItems"))return;const A=g.getVisibleRows(),t=i.get("$data.list.visibleRows")||[];let e=!0;A.length!==t.length?e=!0:A.length&&(e=A.join("|")!==t.join("|"));let I=i.multi(!0);e&&(I=I.update("$data.list.visibleRows",A));const a=[],s=[],B=g.getRowsData(),C=i.get("config.chart.items");for(const t of A){const A=B[t];for(const t of A.items){a.push(t);const A=C[t];A&&g.isItemHorizontallyInViewport(A)&&s.push(t)}}I=I.update("$data.chart.verticallyVisibleItems",a),I=I.update("$data.chart.viewPortVisibleItems",s),I.done(),o()},updateItemsVerticalPositionsOfVisibleRows(){const A=g.getAllItems(),t=g.getItemsData(),e=g.getRowsData(),i=g.getVisibleRows();let o=[];for(const A of i){const t=e[A];t&&(o=o.concat(t.items))}for(const i of o){const o=A[i];o&&g.calculateItemVerticalPosition(i,t[i],e[o.rowId])}},getMutedListeners(){const A=[];return i.isMutedListener(n)&&A.push(n),i.isMutedListener(Q)&&A.push(Q),i.isMutedListener(r)&&A.push(r),A},triggerLoadedEvent(){Promise.resolve().then((()=>{const A=i.get("$data.elements.main");if(!A)return;const t=A.parentNode;if(!t)return;const g=new Event("gstc-loaded");A.dispatchEvent(g),t.dispatchEvent(g)}))},getLastPageDatesWidth(A,t){if(0===t.length)return 0;let g=0,e=0;if(t.length){if(Math.ceil(t[t.length-1].rightPx)>A)for(let i=t.length-1;i>=0;i--){const o=t[i];if(g+=o.width,g>=A){g-=o.width;break}e++}}return i.update("$data.scroll.horizontal",(A=>(A.lastPageSize=g,A.lastPageCount=e,A))),g},formatDate(t,g,e){const i=yt("chart-calendar-date");return t.format({timeStart:g.leftGlobalDate.locale(e),timeEnd:g.rightGlobalDate.locale(e),vido:A,className:i,props:{date:g}})},generatePeriodDates(A,t,e,o){const I=A.period,a=t.fromDate,s=t.toDate,B=i.get("config.locale.name");let C=g.time.generatePeriodDates({leftDate:a,rightDate:s,level:e,levelIndex:o,period:I,time:t,callOnDate:!1,callOnLevelDates:!0});C=g.time.recalculateDatesWidths(C,t),o!==t.level&&(C=g.time.alignLevelToMain(o,C,t)),C=g.time.recalculateDatesPositions(C,t,!1,!1);for(const t of C)t.formatted=c.formatDate(A,t,B);return C},limitGlobal:A=>(A.leftGlobal<A.from&&(A.leftGlobal=A.from,A.leftGlobalDate=g.time.date(A.leftGlobal),A.leftGlobal=A.leftGlobalDate.valueOf()),A.rightGlobal>A.to&&(A.rightGlobal=A.to,A.rightGlobalDate=g.time.date(A.rightGlobal),A.rightGlobal=A.rightGlobalDate.valueOf()),A),setCenter(A){let t=Math.floor(A.rightGlobalDate.diff(A.leftGlobalDate,"millisecond",!0)/2);const e=g.time.getRightViewDate(A);e&&(e.width!==e.currentView.width&&(t-=(e.width-e.currentView.width)*A.timePerPixel),A.centerGlobalDate=A.leftGlobalDate.add(t,"millisecond"),A.centerGlobal=A.centerGlobalDate.valueOf())},guessPeriod(A,t){if(!A.zoom)return A;for(const g of t){const t=g.find((t=>+A.zoom<=+t.zoomTo));t&&t.main&&(A.period=t.period)}return A},getFormatAndLevelIndexForZoom(A,t=i.get("config.chart.calendarLevels")){let g=0,e=0;for(const i of t){for(const t of i)if(t.main&&A<=t.zoomTo)return e=g,{levelIndex:e,format:t};g++}if(!e)throw new Error(`There is no main date format for zoom ${A}.`)},generateAllDates(A,t){if(!A.zoom)return[];A.allDates=new Array(t.length),g.time.stopCheckingCurrentDates();const{format:e,levelIndex:i}=c.getFormatAndLevelIndexForZoom(A.zoom,t);A.level=i,A.allDates[A.level]=c.generatePeriodDates(e,A,t[i],A.level);let o=0;for(const e of t){const t=e.find((t=>+A.zoom<=+t.zoomTo));o!==A.level&&(A.allDates[o]=c.generatePeriodDates(t,A,e,o)),g.time.setDatesCacheLevel(o,A.allDates[o],A),o++}return g.time.checkCurrentDates(!0,A),A.allDates},getPeriodDatesAndCalculateViewOffsetFromAllDates(A,t){if(!A.length)return[];const e=A.filter((A=>A.leftGlobal<t.rightGlobal&&A.rightGlobal>=t.rightGlobal||A.leftGlobal<=t.leftGlobal&&A.rightGlobal>t.leftGlobal||A.leftGlobal>=t.leftGlobal&&A.rightGlobal<=t.rightGlobal));if(!e.length)return[];let i=0;t.leftGlobal>e[0].leftGlobal&&(i=g.time.getDatesDiffPx(t.leftGlobalDate,e[0].leftGlobalDate,t,!0));let o=i;const I=e.length-1;return e.map(((A,e)=>{if(A.currentView={leftPx:o,rightPx:o+A.width,width:A.width+i,leftGlobalDate:g.time.date(A.leftGlobal-i*t.timePerPixel),rightGlobalDate:g.time.date(A.rightGlobal),durationMs:0},A.currentView.durationMs=A.currentView.rightGlobalDate.valueOf()-A.currentView.leftGlobalDate.valueOf(),i=0,o+=A.width,e===I&&A.rightGlobal>t.rightGlobal){let e=0;A.currentView.leftPx<0&&(e=A.currentView.leftPx,A.currentView.leftPx=0),A.currentView.width=(t.rightGlobal+1-A.leftGlobal)/t.timePerPixel+e,A.currentView.rightPx=A.currentView.leftPx+A.currentView.width,A.currentView.rightGlobalDate=g.time.date(A.leftGlobal+A.currentView.width*t.timePerPixel)}return A}))},updateLevels(A,t){A.levels=[],A.currentZoomLevelFormatting=[];let g=0;for(const e of t){const t=e.find((t=>+A.zoom<=+t.zoomTo));if(A.currentZoomLevelFormatting[g]=t,t.main&&(A.format=t,A.level=g),t){let i=c.getPeriodDatesAndCalculateViewOffsetFromAllDates(A.allDates[g],A);A.onCurrentViewLevelDates.forEach((o=>{i=o({dates:i,format:t,time:A,level:e,levelIndex:g})})),A.levels.push(i)}g++}},updateLocale(){const A=i.get("$data.chart.time"),t=i.get("config.locale.name");let g=0;for(const e of A.allDates){const i=A.currentZoomLevelFormatting[g];for(const A of e)A.formatted=c.formatDate(i,A,t);g++}g=0;for(const e of A.levels){const i=A.currentZoomLevelFormatting[g];for(const A of e)A.formatted=c.formatDate(i,A,t);g++}o()},calculateTotalViewDurationFromDates(A){let t=0,g=0;for(const e of A.allDates[A.level])t+=e.width,g+=e.rightGlobal+1-e.leftGlobal;A.totalViewDurationPx=t,A.totalViewDurationMs=g},calculateRightGlobal(A,t,e,o,I){const a=i.get("$data.chart.time"),s=A.endOf(a.period).valueOf(),B=g.time.findDateAtTime(s,e);if(!B)return A.valueOf();let C=e.indexOf(B),n=B.leftGlobal,Q=0;for(let A=e.length;C<A;C++){const A=e[C];if(n=A.rightGlobal,Q+=A.width,Q+o>=t)break}return n+I},updateViewPortVisibleItems(A=!1,t=i.get("$data.chart.time")){const e=i.get("$data.chart.verticallyVisibleItems"),o=g.getItems(e);if(!o)return[];const I=[];for(const A of o)g.isItemHorizontallyInViewport(A,t.leftGlobal,t.rightGlobal)&&I.push(A.id);if(A){i.get("$data.chart").viewPortVisibleItems=I}else i.update("$data.chart.viewPortVisibleItems",I);return o},updateViewPortVisibleItemsPositions(A=i.get("$data.chart.time"),t=i.multi(!0)){const e=i.get("$data.chart.viewPortVisibleItems"),o=g.getItems(e);if(!o)return t;const I=g.getAllRows(),a=g.getRowsData(),s=g.getItemsData();if(!I)return t;if(!A.levels||!A.levels[A.level])return t;let B=!1;for(const e of o){if(!e)return t;const i=I[e.rowId],o=a[e.rowId];if(!i||!o)continue;const C=g.mergeDeep({},s[e.id]),n=C.position,Q=g.calculateItemPosition(e.id,s[e.id],o,A,e);for(const A in n)if(Q[A]!==n[A]){B=!0;break}if(!B)for(const A in C)if(s[e.id][A]!==C[A]){B=!0;break}}return B&&(t=t.update("$data.chart.items",(A=>A),{data:"update-vertically-visible-items"})),t},calculateLeftAndRightGlobalNormally(A,t){const e=A.allDates[A.level],i=t.preciseOffset*A.timePerPixel;let o=e[t.dataIndex];if(!o&&e.length)o=e[e.length-1];else if(!e.length)return;A.leftGlobal=o.leftGlobal-i,A.leftGlobalDate=g.time.date(A.leftGlobal);let I=t.preciseOffset;const a=g.getChartWidth(!1);let s;for(let g=t.dataIndex;g<e.length;g++){const t=e[g];if(I+=t.width,I>=a){const g=(I-a)*A.timePerPixel;s=t.rightGlobal-g;break}}if(!s){s=e[e.length-1].rightGlobal}A.rightGlobal=s,A.rightGlobalDate=g.time.date(A.rightGlobal)},calculateLeftAndRightGlobalFromCenter(A,t,e){const i=g.getChartWidth(!1),o=A.allDates[A.level];if(o.length||(A.leftGlobal=A.from,A.leftGlobalDate=g.time.date(A.leftGlobal),A.rightGlobal=null,A.rightGlobalDate=null),0===e.handlePosPx){A.leftGlobal=A.fromDate.valueOf(),A.leftGlobalDate=g.time.date(A.leftGlobal),A.rightGlobal=g.time.getTimeFromOffsetPx(i,!1,A),A.rightGlobalDate=g.time.date(A.rightGlobal);const t=o[0];return e.dataId=t.id,e.dataIndex=0,e.preciseOffset=0,A}if(e.handlePosPx===e.maxHandlePosPx){A.rightGlobal=A.toDate.valueOf(),A.rightGlobalDate=g.time.date(A.rightGlobal);let t=o[o.length-1];let I=0,a=o.length-1;for(;a>=0;a--){const A=o[a];if(I+=A.width,I>=i){t=A;break}}const s=(I-i)/A.timePerPixel;A.leftGlobal=t.leftGlobal+s,A.leftGlobalDate=g.time.date(A.leftGlobal);const B=o[o.length-1];return e.dataId=B.id,e.dataIndex=o.length-1,e.preciseOffset=0,A}const I=Math.round(i/2);let a=0;for(const t of o){if(t.rightGlobal>A.centerGlobal)break;a++}if(a>=o.length||A.centerGlobal<o[0].leftGlobal||A.centerGlobal>o[o.length-1].rightGlobal)return c.calculateLeftAndRightGlobalNormally(A,e);const s=t.centerGlobal-o[a].leftGlobal;let B,C=-Math.round(s/A.timePerPixel),n=0;for(let A=a;A>=0;A--){const t=o[A];if(C+=t.width,C>=I){B=t,n=A;break}}B||(B=o[0],C=I);const Q=C-I,r=Math.round(Q*A.timePerPixel);A.leftGlobal=B.leftGlobal+r,A.leftGlobalDate=g.time.date(A.leftGlobal);let E,l=-Q;const h=o.length;for(let A=0;A<h;A++){const t=o[A];if(l+=t.width,l>=i){E=t;break}}E||(E=o[o.length-1],l=i);const d=l-i,u=Math.round(d*A.timePerPixel);return A.rightGlobal=E.rightGlobal-u,A.rightGlobalDate=g.time.date(A.rightGlobal),e.dataId=B.id,e.dataIndex=n,e.preciseOffset=-Q,A},updateFromToBasedOnDates(A){const t=A.allDates[A.level];t.length&&(A.from=t[0].leftGlobal,A.fromDate=g.time.date(A.from),A.to=t[t.length-1].rightGlobal,A.toDate=g.time.date(A.to))},recalculateTimes(A){if(g.isMutedMethod("recalculateTimes"))return;const e=i.get("config.chart.time"),I=t({},e),a=i.get("$data.chart.time");I.allDates=a.allDates||new Array(I.levels.length),I.datesCache=a.datesCache||{timePerPixel:0,levels:[]};const s=i.get("config.chart.items");if(!(I.from&&I.to||Object.keys(s).length))return;if("number"!=typeof I.from&&void 0!==I.from||"number"!=typeof I.to&&void 0!==I.to)throw new Error("[gantt-schedule-timeline-calendar] 'config.chart.time.from' and 'config.chart.time.to' must be a number (unix epoch milliseconds).");if(!I.from){let A=1/0;for(const t in s){const g=s[t];A>g.time.start&&(A=g.time.start)}I.from=A}if(!I.to){let A=0;for(const t in s){const g=s[t];A<g.time.end&&(A=g.time.end)}I.to=A}I.fromDate||(I.fromDate=g.time.date(I.from)),I.toDate||(I.toDate=g.time.date(I.to));const B=i.get("$data.scroll.vertical.visible"),C=g.getChartWidth(B),n=i.get("config.chart.calendarLevels"),Q=i.get("$data.scroll.horizontal");I.calculatedZoomMode||g.time.recalculateFromTo(I),I.leftGlobal||(I.leftGlobal=I.from);const r=A.filter((A=>"items-out-of-view"===A.name));let E=1/0,l=0;if(r.length)for(const A of r)E>A.from&&(E=A.from),l<A.to&&(l=A.to);let h=!1;if((A.find((A=>"reload"===A.name))||A.find((A=>"all"===A.name))||A.find((A=>"from"===A.name))||A.find((A=>"to"===A.name))||A.find((A=>"zoom"===A.name))||A.find((A=>"calculated-zoom-mode"===A.name))||A.find((A=>"align-levels"===A.name))||A.find((A=>"auto-expand-time"===A.name))||A.find((A=>"locale"===A.name)))&&(h=!0),I.calculatedZoomMode&&C){I.totalViewDurationMs=g.time.date(I.to).add(1,I.period).startOf(I.period).diff(I.from,"millisecond"),I.timePerPixel=I.totalViewDurationMs/C,I.totalViewDurationPx=I.totalViewDurationMs/I.timePerPixel,I.zoom=Math.log(I.timePerPixel)/Math.log(2),g.resetHorizontalScroll(),h&&c.generateAllDates(I,n),c.calculateTotalViewDurationFromDates(I),I.timePerPixel=I.totalViewDurationMs/C,I.zoom=Math.log(I.timePerPixel)/Math.log(2);for(let A=0;A<I.allDates.length;A++)g.time.recalculateDatesWidths(I.allDates[A],I),g.time.recalculateDatesPositions(I.allDates[A],I),g.time.setDatesCacheLevel(A,I.allDates[A],I);c.calculateTotalViewDurationFromDates(I),I.leftGlobal=I.from,I.leftGlobalDate=g.time.date(I.leftGlobal),I.rightGlobal=I.to,I.rightGlobalDate=g.time.date(I.rightGlobal)}else{I.timePerPixel=Math.pow(2,I.zoom),r.length&&I.autoExpandTimeFromItems&&(I.from=E,I.to=l),I.fromDate=g.time.date(I.from).startOf(I.period),I.from=I.fromDate.valueOf(),I.toDate=g.time.date(I.to).endOf(I.period),I.to=I.toDate.valueOf(),h&&c.generateAllDates(I,n),r.length&&I.autoExpandTimeFromItems||c.updateFromToBasedOnDates(I),c.calculateTotalViewDurationFromDates(I);const t=i.get("$data.chart.time");A.find((A=>"zoom"===A.name))&&!A.find((A=>"all"===A.name))&&t.centerGlobalDate?(c.calculateLeftAndRightGlobalFromCenter(I,t,Q),g.calculateHorizontalScrollSizeAndPosFromDates(I.totalViewDurationPx,I,Q,!1)):(g.calculateHorizontalScrollSizeAndPosFromDates(I.totalViewDurationPx,I,Q,!1),c.calculateLeftAndRightGlobalNormally(I,Q))}c.updateLevels(I,n),c.limitGlobal(I),I.leftPx=0,I.rightPx=C,I.width=C;const d=I.levels[I.level];if(d&&d.length){const A=d[d.length-1];I.leftPx=d[0].leftPx-Q.preciseOffset,I.rightPx=A.rightPx,I.width=I.rightPx}c.setCenter(I);let u=i.multi(!0);u=u.update("config.chart.time",(A=>((A=Object.assign({},A)).zoom=I.zoom,A.level=I.level,A.period=I.format.period,A.leftGlobal=I.leftGlobal,A.leftGlobalDate=I.leftGlobalDate.clone(),A.centerGlobal=I.centerGlobal,A.rightGlobal=I.rightGlobal,A.rightGlobalDate=I.rightGlobalDate.clone(),A.from=I.from,A.to=I.to,A.autoExpandTimeFromItems=I.autoExpandTimeFromItems,A.timePerPixel=I.timePerPixel,A))),u=u.update("$data.chart.time",I),c.updateViewPortVisibleItems(!0,I),u=c.updateViewPortVisibleItemsPositions(I,u),u=u.update("$data.chart.time.recalculateTimesLastReason",A);const w=A.find((A=>"set-scroll-left"===A.name));u=u.update("$data.scroll.horizontal",Q,{data:w?"set-scroll-left":void 0}),u.done();const D=A.find((A=>"from"===A.name)),m=A.find((A=>"to"===A.name));(D||m)&&(g.timeSectorsGenerateForRows(!0),g.measureRows(!0)),o();const y=A.find((A=>"chart-width"===A.name));y&&0===y.oldValue&&0!==y.newValue&&setTimeout(c.triggerLoadedEvent,0)},minimalReload(A,t){if(g.isMutedMethod("minimalReload"))return;g.muteMethod("minimalReload");const e=c.getMutedListeners();i.mute(n),i.mute(Q),i.mute(r),i.collect(),g.calculateVisibleRowsHeights(),c.generateVisibleRowsAndItems(),c.updateViewPortVisibleItemsPositions().done(),i.executeCollected(),e.includes(n)||i.unmute(n),e.includes(Q)||i.unmute(Q),e.includes(r)||i.unmute(r),g.unmuteMethod("minimalReload"),o()},partialReload(A=!0,t,e){if(g.isMutedMethod("partialReload"))return;g.muteMethod("partialReload");const I=c.getMutedListeners();if(i.mute(n),i.mute(Q),i.mute(r),A){const A=i.get("$data");A.list.rows={},A.chart.items={}}i.collect(),c.generateTree(A),c.prepareExpanded(),g.measureRows(),g.calculateVerticalScrollSize(),c.minimalReload(t,e),i.executeCollected(),I.includes(n)||i.unmute(n),I.includes(Q)||i.unmute(Q),I.includes(r)||i.unmute(r),g.unmuteMethod("partialReload"),o()},fullReload(A,t){if(g.isMutedMethod("fullReload"))return;i.update("$data.reloading",!0),g.muteMethod("fullReload");const e=c.getMutedListeners();i.mute(n),i.mute(Q),i.mute(r),i.collect(),c.partialReload(!0,A,t),c.recalculateTimes([{name:"reload"}]),i.executeCollected(),e.includes(n)||i.unmute(n),e.includes(Q)||i.unmute(Q),e.includes(r)||i.unmute(r),g.unmuteMethod("fullReload"),i.update("$data.reloading",!1),o()}};e(i.subscribe("config.chart.items.:itemId.time",(function(A,t){var e;if("subscribe"!==t.type&&!i.get().$data.reloading&&(null===(e=t.params)||void 0===e?void 0:e.itemId)){const A=g.getItem(t.params.itemId);if(!A)return;const e=g.getRowData(A.rowId);if(!e||!e.itemsTimeSectors)return;g.timeSectorsItemsAddOrUpdate([A],e.itemsTimeSectors)}})));const l={};e(i.subscribe("config.chart.items.:itemId.rowId",(function(A,t){var e,o;if("subscribe"===t.type)return;if(i.get().$data.reloading)return;if(!(null===(e=t.params)||void 0===e?void 0:e.itemId))return;if(g.isMutedMethod("updateRowItems"))return;const I={},a=[];for(const t of A){const e=t.value;if(!e)continue;const i=null===(o=t.params)||void 0===o?void 0:o.itemId;if(!i)continue;a.push(i);const s=l[i];if(s===A)return;l[i]=A,I[s]=g.getRowData(s),I[e]=g.getRowData(e)}g.makeTreeMap(I,a,!0)}),{group:!0,bulk:!0,bulkValue:!1})),e(i.subscribe("config.chart.items;",(()=>{const A=i.get().config.chart.items;for(const t in A){const g=A[t];g.rowId&&(l[t]=g.rowId)}}))),e(i.subscribeAll(["config.innerHeight","config.headerHeight","config.scroll.vertical.width"],c.heightChange,{group:!0,bulkValue:!1})),e(i.subscribe("$data.list.columns.resizer.active",c.resizerActiveChange));e(i.subscribeAll(["config;","config.chart.items;","config.list.rows;","config.list.rows.*;","config.chart.items.*;"],n,{group:"reload",bulkValue:!1}));e(i.subscribeAll(["config.list.rows.*.parentId","config.chart.items.*.rowId","config.list.rows.*.expanded"],Q,{group:"reload",bulkValue:!1}));e(i.subscribeAll(["config.chart.items.*.time","config.chart.items.*.height","config.chart.items.*.top","$data.chart.dimensions.heightWithoutScrollBar","$data.list.rowsHeight","config.chart.item"],r,{group:"reload",bulkValue:!1})),e(i.subscribeAll(["$data.scroll.vertical.dataIndex","$data.scroll.vertical.preciseOffset"],(function(){i.collect(),c.generateVisibleRowsAndItems(),g.calculateVisibleRowsHeights(),c.updateItemsVerticalPositionsOfVisibleRows(),c.updateViewPortVisibleItemsPositions().done(),i.executeCollected()}),{group:!0,bulkValue:!1})),e(i.subscribe("config.list.sort",(A=>{const t=i.get(`config.list.columns.data.${A.activeColumnId}`);t&&g.sortRowsByColumn(t,A.asc)}))),e(i.subscribeAll(["config.chart.items.*.time","config.chart.items.*;","config.chart.items.*.rowId"],(function(A,t){t.options.data&&"updateViewPortVisibleItems"===t.options.data||g.isMutedMethod("updateViewPortVisibleItemsListener")||(c.updateViewPortVisibleItems(),c.updateViewPortVisibleItemsPositions().done())}),{group:!0,bulkValue:!1}));let h=i.get("config.locale.weekStart");e(i.subscribe("config.locale",((A,t)=>{"subscribe"!==t.type&&(A.weekStart===h?c.updateLocale():(h=A.weekStart,c.recalculateTimes([{name:"locale"}])))})));const d={utcMode:!1,initialized:!1,zoom:0,period:"",scrollAbsolutePosPx:0,scrollTime:0,chartWidth:0,from:0,to:0,dataFrom:0,dataTo:0,calculatedZoomMode:!1,alignLevels:!0,autoExpandTime:!0};return e(i.subscribeAll(["config.utcMode","config.chart.time","$data.chart.time","config.chart.calendarLevels","$data.scroll.horizontal","$data.chart.dimensions.width","config.chart.items.*.time"],((A,t)=>{const g=function(A){const t=i.get("config.utcMode"),g=i.get("config.chart.time"),e=i.get("$data.chart.time"),o=i.get("$data.scroll.horizontal"),I=i.get("$data.chart.dimensions.width"),a=i.get("config.chart.time.calculatedZoomMode"),s=Object.assign({},d);d.utcMode=t,d.zoom=g.zoom,d.period=g.period,d.from=g.from,d.to=g.to,d.dataFrom=e.from,d.dataTo=e.to,d.scrollAbsolutePosPx=o.absolutePosPx,o.data&&(d.scrollTime=o.data.leftGlobal),d.chartWidth=I,d.calculatedZoomMode=a,d.alignLevels=g.alignLevelsToMain,d.autoExpandTime=g.autoExpandTimeFromItems;const B=[];return d.initialized||(d.initialized=!0,B.push({name:"all"})),t!==s.utcMode&&B.push({name:"utc-mode",oldValue:s.utcMode,newValue:t}),a!==s.calculatedZoomMode&&B.push({name:"calculated-zoom-mode",oldValue:s.calculatedZoomMode,newValue:a}),g.zoom!==s.zoom&&B.push({name:"zoom",oldValue:s.zoom,newValue:g.zoom}),g.period!==s.period&&B.push({name:"period",oldValue:s.period,newValue:g.period}),g.from!==s.from&&B.push({name:"from",oldValue:s.from,newValue:g.from}),g.to!==s.to&&B.push({name:"to",oldValue:s.to,newValue:g.to}),e.from!==s.dataFrom&&B.push({name:"from",oldValue:s.dataFrom,newValue:e.from}),e.to!==s.dataTo&&B.push({name:"to",oldValue:s.dataTo,newValue:e.to}),"set-scroll-left"===A.options.data&&B.push({name:"set-scroll-left"}),o.absolutePosPx!==s.scrollAbsolutePosPx&&B.push({name:"scroll-pos",oldValue:s.scrollAbsolutePosPx,newValue:o.absolutePosPx}),d.scrollTime!==s.scrollTime&&B.push({name:"scroll-time",oldValue:s.scrollTime,newValue:d.scrollTime}),I!==s.chartWidth&&B.push({name:"chart-width",oldValue:s.chartWidth,newValue:I}),d.alignLevels!==s.alignLevels&&B.push({name:"align-levels",oldValue:s.alignLevels,newValue:d.alignLevels}),d.autoExpandTime!==s.autoExpandTime&&B.push({name:"auto-expand-time",oldValue:s.autoExpandTime,newValue:d.autoExpandTime}),B}(t);g.length&&c.recalculateTimes(g)}),{group:!0,bulkValue:!1})),e(i.subscribe("config.chart.items.:itemId.time",(A=>{const t=i.get("$data.chart.time"),e=g.getAllItems();let o=1/0,I=0;for(const g of A){const A=e[g.params.itemId];if(!A)return;if(A.time.start<t.from||A.time.end>t.to){let g=t.from,e=t.to;return A.time.start<t.from&&(g=A.time.start),A.time.end>t.to&&(e=A.time.end),c.recalculateTimes([{name:"items-out-of-view",from:g,to:e}])}A.time.start<o&&(o=A.time.start),A.time.end>I&&(I=A.time.end)}if(0===t.leftGlobal&&0===t.rightGlobal)return c.recalculateTimes([{name:"items",from:o,to:I}])}),{bulk:!0,bulkValue:!1})),e(i.subscribe("config.chart.time.checkCurrentDateInterval",(A=>{i.get("$data.chart.time").checkCurrentDateInterval!==A&&(i.update("$data.chart.time.checkCurrentDateInterval",A),g.time.stopCheckingCurrentDates(),g.time.checkCurrentDates(!0))}))),A.api.main=c,c}var bg={exports:{}},Rg={exports:{}};!function(A){var t;A.exports=(t=t||function(A,t){var g=Object.create||function(){function A(){}return function(t){var g;return A.prototype=t,g=new A,A.prototype=null,g}}(),e={},i=e.lib={},o=i.Base={extend:function(A){var t=g(this);return A&&t.mixIn(A),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var t in A)A.hasOwnProperty(t)&&(this[t]=A[t]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}},I=i.WordArray=o.extend({init:function(A,g){A=this.words=A||[],this.sigBytes=g!=t?g:4*A.length},toString:function(A){return(A||s).stringify(this)},concat:function(A){var t=this.words,g=A.words,e=this.sigBytes,i=A.sigBytes;if(this.clamp(),e%4)for(var o=0;o<i;o++){var I=g[o>>>2]>>>24-o%4*8&255;t[e+o>>>2]|=I<<24-(e+o)%4*8}else for(o=0;o<i;o+=4)t[e+o>>>2]=g[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,g=this.sigBytes;t[g>>>2]&=4294967295<<32-g%4*8,t.length=A.ceil(g/4)},clone:function(){var A=o.clone.call(this);return A.words=this.words.slice(0),A},random:function(t){for(var g,e=[],i=function(t){var g=987654321,e=4294967295;return function(){var i=((g=36969*(65535&g)+(g>>16)&e)<<16)+(t=18e3*(65535&t)+(t>>16)&e)&e;return i/=4294967296,(i+=.5)*(A.random()>.5?1:-1)}},o=0;o<t;o+=4){var a=i(4294967296*(g||A.random()));g=987654071*a(),e.push(4294967296*a()|0)}return new I.init(e,t)}}),a=e.enc={},s=a.Hex={stringify:function(A){for(var t=A.words,g=A.sigBytes,e=[],i=0;i<g;i++){var o=t[i>>>2]>>>24-i%4*8&255;e.push((o>>>4).toString(16)),e.push((15&o).toString(16))}return e.join("")},parse:function(A){for(var t=A.length,g=[],e=0;e<t;e+=2)g[e>>>3]|=parseInt(A.substr(e,2),16)<<24-e%8*4;return new I.init(g,t/2)}},B=a.Latin1={stringify:function(A){for(var t=A.words,g=A.sigBytes,e=[],i=0;i<g;i++){var o=t[i>>>2]>>>24-i%4*8&255;e.push(String.fromCharCode(o))}return e.join("")},parse:function(A){for(var t=A.length,g=[],e=0;e<t;e++)g[e>>>2]|=(255&A.charCodeAt(e))<<24-e%4*8;return new I.init(g,t)}},C=a.Utf8={stringify:function(A){try{return decodeURIComponent(escape(B.stringify(A)))}catch(A){throw new Error("Malformed UTF-8 data")}},parse:function(A){return B.parse(unescape(encodeURIComponent(A)))}},n=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new I.init,this._nDataBytes=0},_append:function(A){"string"==typeof A&&(A=C.parse(A)),this._data.concat(A),this._nDataBytes+=A.sigBytes},_process:function(t){var g=this._data,e=g.words,i=g.sigBytes,o=this.blockSize,a=i/(4*o),s=(a=t?A.ceil(a):A.max((0|a)-this._minBufferSize,0))*o,B=A.min(4*s,i);if(s){for(var C=0;C<s;C+=o)this._doProcessBlock(e,C);var n=e.splice(0,s);g.sigBytes-=B}return new I.init(n,B)},clone:function(){var A=o.clone.call(this);return A._data=this._data.clone(),A},_minBufferSize:0});i.Hasher=n.extend({cfg:o.extend(),init:function(A){this.cfg=this.cfg.extend(A),this.reset()},reset:function(){n.reset.call(this),this._doReset()},update:function(A){return this._append(A),this._process(),this},finalize:function(A){return A&&this._append(A),this._doFinalize()},blockSize:16,_createHelper:function(A){return function(t,g){return new A.init(g).finalize(t)}},_createHmacHelper:function(A){return function(t,g){return new Q.HMAC.init(A,g).finalize(t)}}});var Q=e.algo={};return e}(Math),t)}(Rg);var vg={exports:{}};!function(A){var t;A.exports=(t=Rg.exports,function(){var A=t,g=A.lib,e=g.WordArray,i=g.Hasher,o=A.algo,I=[],a=o.SHA1=i.extend({_doReset:function(){this._hash=new e.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(A,t){for(var g=this._hash.words,e=g[0],i=g[1],o=g[2],a=g[3],s=g[4],B=0;B<80;B++){if(B<16)I[B]=0|A[t+B];else{var C=I[B-3]^I[B-8]^I[B-14]^I[B-16];I[B]=C<<1|C>>>31}var n=(e<<5|e>>>27)+s+I[B];n+=B<20?1518500249+(i&o|~i&a):B<40?1859775393+(i^o^a):B<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,s=a,a=o,o=i<<30|i>>>2,i=e,e=n}g[0]=g[0]+e|0,g[1]=g[1]+i|0,g[2]=g[2]+o|0,g[3]=g[3]+a|0,g[4]=g[4]+s|0},_doFinalize:function(){var A=this._data,t=A.words,g=8*this._nDataBytes,e=8*A.sigBytes;return t[e>>>5]|=128<<24-e%32,t[14+(e+64>>>9<<4)]=Math.floor(g/4294967296),t[15+(e+64>>>9<<4)]=g,A.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var A=i.clone.call(this);return A._hash=this._hash.clone(),A}});A.SHA1=i._createHelper(a),A.HmacSHA1=i._createHmacHelper(a)}(),t.SHA1)}(vg);var Sg={exports:{}};!function(A){var t;A.exports=(t=Rg.exports,void function(){var A=t,g=A.lib.Base,e=A.enc.Utf8;A.algo.HMAC=g.extend({init:function(A,t){A=this._hasher=new A.init,"string"==typeof t&&(t=e.parse(t));var g=A.blockSize,i=4*g;t.sigBytes>i&&(t=A.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),I=this._iKey=t.clone(),a=o.words,s=I.words,B=0;B<g;B++)a[B]^=1549556828,s[B]^=909522486;o.sigBytes=I.sigBytes=i,this.reset()},reset:function(){var A=this._hasher;A.reset(),A.update(this._iKey)},update:function(A){return this._hasher.update(A),this},finalize:function(A){var t=this._hasher,g=t.finalize(A);return t.reset(),t.finalize(this._oKey.clone().concat(g))}})}())}(Sg),function(A){var t;A.exports=(t=Rg.exports,function(){var A=t,g=A.lib,e=g.Base,i=g.WordArray,o=A.algo,I=o.SHA1,a=o.HMAC,s=o.PBKDF2=e.extend({cfg:e.extend({keySize:4,hasher:I,iterations:1}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,t){for(var g=this.cfg,e=a.create(g.hasher,A),o=i.create(),I=i.create([1]),s=o.words,B=I.words,C=g.keySize,n=g.iterations;s.length<C;){var Q=e.update(t).finalize(I);e.reset();for(var r=Q.words,E=r.length,c=Q,l=1;l<n;l++){c=e.finalize(c),e.reset();for(var h=c.words,d=0;d<E;d++)r[d]^=h[d]}o.concat(Q),B[0]++}return o.sigBytes=4*C,o}});A.PBKDF2=function(A,t,g){return s.create(g).compute(A,t)}}(),t.PBKDF2)}(bg);var Yg=bg.exports,Jg={exports:{}},Lg={exports:{}};!function(A){var t;A.exports=(t=Rg.exports,function(){var A=t,g=A.lib.WordArray;function e(A,t,e){for(var i=[],o=0,I=0;I<t;I++)if(I%4){var a=e[A.charCodeAt(I-1)]<<I%4*2,s=e[A.charCodeAt(I)]>>>6-I%4*2;i[o>>>2]|=(a|s)<<24-o%4*8,o++}return g.create(i,o)}A.enc.Base64={stringify:function(A){var t=A.words,g=A.sigBytes,e=this._map;A.clamp();for(var i=[],o=0;o<g;o+=3)for(var I=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<g;a++)i.push(e.charAt(I>>>6*(3-a)&63));var s=e.charAt(64);if(s)for(;i.length%4;)i.push(s);return i.join("")},parse:function(A){var t=A.length,g=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var o=0;o<g.length;o++)i[g.charCodeAt(o)]=o}var I=g.charAt(64);if(I){var a=A.indexOf(I);-1!==a&&(t=a)}return e(A,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),t.enc.Base64)}(Lg);var Ug={exports:{}};!function(A){var t;A.exports=(t=Rg.exports,function(A){var g=t,e=g.lib,i=e.WordArray,o=e.Hasher,I=g.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*A.abs(A.sin(t+1))|0}();var s=I.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(A,t){for(var g=0;g<16;g++){var e=t+g,i=A[e];A[e]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,I=A[t+0],s=A[t+1],r=A[t+2],E=A[t+3],c=A[t+4],l=A[t+5],h=A[t+6],d=A[t+7],u=A[t+8],w=A[t+9],D=A[t+10],m=A[t+11],y=A[t+12],f=A[t+13],p=A[t+14],k=A[t+15],G=o[0],M=o[1],N=o[2],F=o[3];G=B(G,M,N,F,I,7,a[0]),F=B(F,G,M,N,s,12,a[1]),N=B(N,F,G,M,r,17,a[2]),M=B(M,N,F,G,E,22,a[3]),G=B(G,M,N,F,c,7,a[4]),F=B(F,G,M,N,l,12,a[5]),N=B(N,F,G,M,h,17,a[6]),M=B(M,N,F,G,d,22,a[7]),G=B(G,M,N,F,u,7,a[8]),F=B(F,G,M,N,w,12,a[9]),N=B(N,F,G,M,D,17,a[10]),M=B(M,N,F,G,m,22,a[11]),G=B(G,M,N,F,y,7,a[12]),F=B(F,G,M,N,f,12,a[13]),N=B(N,F,G,M,p,17,a[14]),G=C(G,M=B(M,N,F,G,k,22,a[15]),N,F,s,5,a[16]),F=C(F,G,M,N,h,9,a[17]),N=C(N,F,G,M,m,14,a[18]),M=C(M,N,F,G,I,20,a[19]),G=C(G,M,N,F,l,5,a[20]),F=C(F,G,M,N,D,9,a[21]),N=C(N,F,G,M,k,14,a[22]),M=C(M,N,F,G,c,20,a[23]),G=C(G,M,N,F,w,5,a[24]),F=C(F,G,M,N,p,9,a[25]),N=C(N,F,G,M,E,14,a[26]),M=C(M,N,F,G,u,20,a[27]),G=C(G,M,N,F,f,5,a[28]),F=C(F,G,M,N,r,9,a[29]),N=C(N,F,G,M,d,14,a[30]),G=n(G,M=C(M,N,F,G,y,20,a[31]),N,F,l,4,a[32]),F=n(F,G,M,N,u,11,a[33]),N=n(N,F,G,M,m,16,a[34]),M=n(M,N,F,G,p,23,a[35]),G=n(G,M,N,F,s,4,a[36]),F=n(F,G,M,N,c,11,a[37]),N=n(N,F,G,M,d,16,a[38]),M=n(M,N,F,G,D,23,a[39]),G=n(G,M,N,F,f,4,a[40]),F=n(F,G,M,N,I,11,a[41]),N=n(N,F,G,M,E,16,a[42]),M=n(M,N,F,G,h,23,a[43]),G=n(G,M,N,F,w,4,a[44]),F=n(F,G,M,N,y,11,a[45]),N=n(N,F,G,M,k,16,a[46]),G=Q(G,M=n(M,N,F,G,r,23,a[47]),N,F,I,6,a[48]),F=Q(F,G,M,N,d,10,a[49]),N=Q(N,F,G,M,p,15,a[50]),M=Q(M,N,F,G,l,21,a[51]),G=Q(G,M,N,F,y,6,a[52]),F=Q(F,G,M,N,E,10,a[53]),N=Q(N,F,G,M,D,15,a[54]),M=Q(M,N,F,G,s,21,a[55]),G=Q(G,M,N,F,u,6,a[56]),F=Q(F,G,M,N,k,10,a[57]),N=Q(N,F,G,M,h,15,a[58]),M=Q(M,N,F,G,f,21,a[59]),G=Q(G,M,N,F,c,6,a[60]),F=Q(F,G,M,N,m,10,a[61]),N=Q(N,F,G,M,r,15,a[62]),M=Q(M,N,F,G,w,21,a[63]),o[0]=o[0]+G|0,o[1]=o[1]+M|0,o[2]=o[2]+N|0,o[3]=o[3]+F|0},_doFinalize:function(){var t=this._data,g=t.words,e=8*this._nDataBytes,i=8*t.sigBytes;g[i>>>5]|=128<<24-i%32;var o=A.floor(e/4294967296),I=e;g[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),g[14+(i+64>>>9<<4)]=16711935&(I<<8|I>>>24)|4278255360&(I<<24|I>>>8),t.sigBytes=4*(g.length+1),this._process();for(var a=this._hash,s=a.words,B=0;B<4;B++){var C=s[B];s[B]=16711935&(C<<8|C>>>24)|4278255360&(C<<24|C>>>8)}return a},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});function B(A,t,g,e,i,o,I){var a=A+(t&g|~t&e)+i+I;return(a<<o|a>>>32-o)+t}function C(A,t,g,e,i,o,I){var a=A+(t&e|g&~e)+i+I;return(a<<o|a>>>32-o)+t}function n(A,t,g,e,i,o,I){var a=A+(t^g^e)+i+I;return(a<<o|a>>>32-o)+t}function Q(A,t,g,e,i,o,I){var a=A+(g^(t|~e))+i+I;return(a<<o|a>>>32-o)+t}g.MD5=o._createHelper(s),g.HmacMD5=o._createHmacHelper(s)}(Math),t.MD5)}(Ug);var xg={exports:{}};!function(A){var t;A.exports=(t=Rg.exports,function(){var A=t,g=A.lib,e=g.Base,i=g.WordArray,o=A.algo,I=o.MD5,a=o.EvpKDF=e.extend({cfg:e.extend({keySize:4,hasher:I,iterations:1}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,t){for(var g=this.cfg,e=g.hasher.create(),o=i.create(),I=o.words,a=g.keySize,s=g.iterations;I.length<a;){B&&e.update(B);var B=e.update(A).finalize(t);e.reset();for(var C=1;C<s;C++)B=e.finalize(B),e.reset();o.concat(B)}return o.sigBytes=4*a,o}});A.EvpKDF=function(A,t,g){return a.create(g).compute(A,t)}}(),t.EvpKDF)}(xg);var Hg={exports:{}};!function(A){var t;A.exports=void((t=Rg.exports).lib.Cipher||function(A){var g=t,e=g.lib,i=e.Base,o=e.WordArray,I=e.BufferedBlockAlgorithm,a=g.enc;a.Utf8;var s=a.Base64,B=g.algo.EvpKDF,C=e.Cipher=I.extend({cfg:i.extend(),createEncryptor:function(A,t){return this.create(this._ENC_XFORM_MODE,A,t)},createDecryptor:function(A,t){return this.create(this._DEC_XFORM_MODE,A,t)},init:function(A,t,g){this.cfg=this.cfg.extend(g),this._xformMode=A,this._key=t,this.reset()},reset:function(){I.reset.call(this),this._doReset()},process:function(A){return this._append(A),this._process()},finalize:function(A){return A&&this._append(A),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function A(A){return"string"==typeof A?u:h}return function(t){return{encrypt:function(g,e,i){return A(e).encrypt(t,g,e,i)},decrypt:function(g,e,i){return A(e).decrypt(t,g,e,i)}}}}()});e.StreamCipher=C.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var n=g.mode={},Q=e.BlockCipherMode=i.extend({createEncryptor:function(A,t){return this.Encryptor.create(A,t)},createDecryptor:function(A,t){return this.Decryptor.create(A,t)},init:function(A,t){this._cipher=A,this._iv=t}}),r=n.CBC=function(){var t=Q.extend();function g(t,g,e){var i=this._iv;if(i){var o=i;this._iv=A}else o=this._prevBlock;for(var I=0;I<e;I++)t[g+I]^=o[I]}return t.Encryptor=t.extend({processBlock:function(A,t){var e=this._cipher,i=e.blockSize;g.call(this,A,t,i),e.encryptBlock(A,t),this._prevBlock=A.slice(t,t+i)}}),t.Decryptor=t.extend({processBlock:function(A,t){var e=this._cipher,i=e.blockSize,o=A.slice(t,t+i);e.decryptBlock(A,t),g.call(this,A,t,i),this._prevBlock=o}}),t}(),E=(g.pad={}).Pkcs7={pad:function(A,t){for(var g=4*t,e=g-A.sigBytes%g,i=e<<24|e<<16|e<<8|e,I=[],a=0;a<e;a+=4)I.push(i);var s=o.create(I,e);A.concat(s)},unpad:function(A){var t=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=t}};e.BlockCipher=C.extend({cfg:C.cfg.extend({mode:r,padding:E}),reset:function(){C.reset.call(this);var A=this.cfg,t=A.iv,g=A.mode;if(this._xformMode==this._ENC_XFORM_MODE)var e=g.createEncryptor;else e=g.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==e?this._mode.init(this,t&&t.words):(this._mode=e.call(g,this,t&&t.words),this._mode.__creator=e)},_doProcessBlock:function(A,t){this._mode.processBlock(A,t)},_doFinalize:function(){var A=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){A.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),A.unpad(t);return t},blockSize:4});var c=e.CipherParams=i.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),l=(g.format={}).OpenSSL={stringify:function(A){var t=A.ciphertext,g=A.salt;if(g)var e=o.create([1398893684,1701076831]).concat(g).concat(t);else e=t;return e.toString(s)},parse:function(A){var t=s.parse(A),g=t.words;if(1398893684==g[0]&&1701076831==g[1]){var e=o.create(g.slice(2,4));g.splice(0,4),t.sigBytes-=16}return c.create({ciphertext:t,salt:e})}},h=e.SerializableCipher=i.extend({cfg:i.extend({format:l}),encrypt:function(A,t,g,e){e=this.cfg.extend(e);var i=A.createEncryptor(g,e),o=i.finalize(t),I=i.cfg;return c.create({ciphertext:o,key:g,iv:I.iv,algorithm:A,mode:I.mode,padding:I.padding,blockSize:A.blockSize,formatter:e.format})},decrypt:function(A,t,g,e){return e=this.cfg.extend(e),t=this._parse(t,e.format),A.createDecryptor(g,e).finalize(t.ciphertext)},_parse:function(A,t){return"string"==typeof A?t.parse(A,this):A}}),d=(g.kdf={}).OpenSSL={execute:function(A,t,g,e){e||(e=o.random(8));var i=B.create({keySize:t+g}).compute(A,e),I=o.create(i.words.slice(t),4*g);return i.sigBytes=4*t,c.create({key:i,iv:I,salt:e})}},u=e.PasswordBasedCipher=h.extend({cfg:h.cfg.extend({kdf:d}),encrypt:function(A,t,g,e){var i=(e=this.cfg.extend(e)).kdf.execute(g,A.keySize,A.ivSize);e.iv=i.iv;var o=h.encrypt.call(this,A,t,i.key,e);return o.mixIn(i),o},decrypt:function(A,t,g,e){e=this.cfg.extend(e),t=this._parse(t,e.format);var i=e.kdf.execute(g,A.keySize,A.ivSize,t.salt);return e.iv=i.iv,h.decrypt.call(this,A,t,i.key,e)}})}())}(Hg),function(A){var t;A.exports=(t=Rg.exports,function(){var A=t,g=A.lib.BlockCipher,e=A.algo,i=[],o=[],I=[],a=[],s=[],B=[],C=[],n=[],Q=[],r=[];!function(){for(var A=[],t=0;t<256;t++)A[t]=t<128?t<<1:t<<1^283;var g=0,e=0;for(t=0;t<256;t++){var E=e^e<<1^e<<2^e<<3^e<<4;E=E>>>8^255&E^99,i[g]=E,o[E]=g;var c=A[g],l=A[c],h=A[l],d=257*A[E]^16843008*E;I[g]=d<<24|d>>>8,a[g]=d<<16|d>>>16,s[g]=d<<8|d>>>24,B[g]=d,d=16843009*h^65537*l^257*c^16843008*g,C[E]=d<<24|d>>>8,n[E]=d<<16|d>>>16,Q[E]=d<<8|d>>>24,r[E]=d,g?(g=c^A[A[A[h^c]]],e^=A[A[e]]):g=e=1}}();var E=[0,1,2,4,8,16,32,64,128,27,54],c=e.AES=g.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var A=this._keyPriorReset=this._key,t=A.words,g=A.sigBytes/4,e=4*((this._nRounds=g+6)+1),o=this._keySchedule=[],I=0;I<e;I++)if(I<g)o[I]=t[I];else{var a=o[I-1];I%g?g>6&&I%g==4&&(a=i[a>>>24]<<24|i[a>>>16&255]<<16|i[a>>>8&255]<<8|i[255&a]):(a=i[(a=a<<8|a>>>24)>>>24]<<24|i[a>>>16&255]<<16|i[a>>>8&255]<<8|i[255&a],a^=E[I/g|0]<<24),o[I]=o[I-g]^a}for(var s=this._invKeySchedule=[],B=0;B<e;B++)I=e-B,a=B%4?o[I]:o[I-4],s[B]=B<4||I<=4?a:C[i[a>>>24]]^n[i[a>>>16&255]]^Q[i[a>>>8&255]]^r[i[255&a]]}},encryptBlock:function(A,t){this._doCryptBlock(A,t,this._keySchedule,I,a,s,B,i)},decryptBlock:function(A,t){var g=A[t+1];A[t+1]=A[t+3],A[t+3]=g,this._doCryptBlock(A,t,this._invKeySchedule,C,n,Q,r,o),g=A[t+1],A[t+1]=A[t+3],A[t+3]=g},_doCryptBlock:function(A,t,g,e,i,o,I,a){for(var s=this._nRounds,B=A[t]^g[0],C=A[t+1]^g[1],n=A[t+2]^g[2],Q=A[t+3]^g[3],r=4,E=1;E<s;E++){var c=e[B>>>24]^i[C>>>16&255]^o[n>>>8&255]^I[255&Q]^g[r++],l=e[C>>>24]^i[n>>>16&255]^o[Q>>>8&255]^I[255&B]^g[r++],h=e[n>>>24]^i[Q>>>16&255]^o[B>>>8&255]^I[255&C]^g[r++],d=e[Q>>>24]^i[B>>>16&255]^o[C>>>8&255]^I[255&n]^g[r++];B=c,C=l,n=h,Q=d}c=(a[B>>>24]<<24|a[C>>>16&255]<<16|a[n>>>8&255]<<8|a[255&Q])^g[r++],l=(a[C>>>24]<<24|a[n>>>16&255]<<16|a[Q>>>8&255]<<8|a[255&B])^g[r++],h=(a[n>>>24]<<24|a[Q>>>16&255]<<16|a[B>>>8&255]<<8|a[255&C])^g[r++],d=(a[Q>>>24]<<24|a[B>>>16&255]<<16|a[C>>>8&255]<<8|a[255&n])^g[r++],A[t]=c,A[t+1]=l,A[t+2]=h,A[t+3]=d},keySize:8});A.AES=g._createHelper(c)}(),t.AES)}(Jg);var qg=Jg.exports,Kg={exports:{}};!function(A){var t;A.exports=(t=Rg.exports,function(A){var g=t,e=g.lib,i=e.WordArray,o=e.Hasher,I=g.algo,a=[],s=[];!function(){function t(t){for(var g=A.sqrt(t),e=2;e<=g;e++)if(!(t%e))return!1;return!0}function g(A){return 4294967296*(A-(0|A))|0}for(var e=2,i=0;i<64;)t(e)&&(i<8&&(a[i]=g(A.pow(e,.5))),s[i]=g(A.pow(e,1/3)),i++),e++}();var B=[],C=I.SHA256=o.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(A,t){for(var g=this._hash.words,e=g[0],i=g[1],o=g[2],I=g[3],a=g[4],C=g[5],n=g[6],Q=g[7],r=0;r<64;r++){if(r<16)B[r]=0|A[t+r];else{var E=B[r-15],c=(E<<25|E>>>7)^(E<<14|E>>>18)^E>>>3,l=B[r-2],h=(l<<15|l>>>17)^(l<<13|l>>>19)^l>>>10;B[r]=c+B[r-7]+h+B[r-16]}var d=e&i^e&o^i&o,u=(e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22),w=Q+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&C^~a&n)+s[r]+B[r];Q=n,n=C,C=a,a=I+w|0,I=o,o=i,i=e,e=w+(u+d)|0}g[0]=g[0]+e|0,g[1]=g[1]+i|0,g[2]=g[2]+o|0,g[3]=g[3]+I|0,g[4]=g[4]+a|0,g[5]=g[5]+C|0,g[6]=g[6]+n|0,g[7]=g[7]+Q|0},_doFinalize:function(){var t=this._data,g=t.words,e=8*this._nDataBytes,i=8*t.sigBytes;return g[i>>>5]|=128<<24-i%32,g[14+(i+64>>>9<<4)]=A.floor(e/4294967296),g[15+(i+64>>>9<<4)]=e,t.sigBytes=4*g.length,this._process(),this._hash},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});g.SHA256=o._createHelper(C),g.HmacSHA256=o._createHmacHelper(C)}(Math),t.SHA256)}(Kg);var Tg=Kg.exports,Wg={exports:{}};!function(A){A.exports=Rg.exports.enc.Utf8}(Wg);var zg=Wg.exports;const jg=(A,t)=>{const g=A.slice(),e=[];let i=t;for(;0!==g.length;){const A=g.pop(),t=A.toLowerCase();if(i.children.has("*")){if(i.children.has("!"+t))break;i=i.children.get("*")}else{if(!1===i.children.has(t))break;i=i.children.get(t)}e.unshift(A)}return e},Pg="[a-fA-F\\d:]",Zg=A=>A&&A.includeBoundaries?`(?:(?<=\\s|^)(?=${Pg})|(?<=${Pg})(?=\\s|$))`:"",Vg="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Og="[a-fA-F\\d]{1,4}",Xg=`\n(?:\n(?:${Og}:){7}(?:${Og}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${Og}:){6}(?:${Vg}|:${Og}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${Og}:){5}(?::${Vg}|(?::${Og}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${Og}:){4}(?:(?::${Og}){0,1}:${Vg}|(?::${Og}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${Og}:){3}(?:(?::${Og}){0,2}:${Vg}|(?::${Og}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${Og}:){2}(?:(?::${Og}){0,3}:${Vg}|(?::${Og}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${Og}:){1}(?:(?::${Og}){0,4}:${Vg}|(?::${Og}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${Og}){0,5}:${Vg}|(?::${Og}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),$g=new RegExp(`(?:^${Vg}$)|(?:^${Xg}$)`),_g=new RegExp(`^${Vg}$`),Ae=new RegExp(`^${Xg}$`),te=A=>A&&A.exact?$g:new RegExp(`(?:${Zg(A)}${Vg}${Zg(A)})|(?:${Zg(A)}${Xg}${Zg(A)})`,"g");te.v4=A=>A&&A.exact?_g:new RegExp(`${Zg(A)}${Vg}${Zg(A)}`,"g"),te.v6=A=>A&&A.exact?Ae:new RegExp(`${Zg(A)}${Xg}${Zg(A)}`,"g");const ge=te,ee=A=>ge({exact:!0}).test(A);ee.v4=A=>ge.v4({exact:!0}).test(A),ee.v6=A=>ge.v6({exact:!0}).test(A),ee.version=A=>ee(A)?ee.v4(A)?4:6:void 0;var ie=ee;var oe,Ie;!function(A){A.NoHostname="NO_HOSTNAME",A.DomainMaxLength="DOMAIN_MAX_LENGTH",A.LabelMinLength="LABEL_MIN_LENGTH",A.LabelMaxLength="LABEL_MAX_LENGTH",A.LabelInvalidCharacter="LABEL_INVALID_CHARACTER"}(oe||(oe={})),function(A){A.ValidIp="VALID_IP",A.ValidDomain="VALID_DOMAIN",A.Error="ERROR"}(Ie||(Ie={}));const ae=A=>({type:oe.NoHostname,message:`The given input ${String(A)} does not look like a hostname.`,column:1}),se=A=>{const t=A.length;return{type:oe.DomainMaxLength,message:`Domain "${A}" is too long. Domain is ${t} octets long but should not be longer than 253.`,column:t}},Be=(A,t)=>{const g=A.length;return{type:oe.LabelMinLength,message:`Label "${A}" is too short. Label is ${g} octets long but should be at least 1.`,column:t}},Ce=(A,t)=>{const g=A.length;return{type:oe.LabelMaxLength,message:`Label "${A}" is too long. Label is ${g} octets long but should not be longer than 63.`,column:t}},ne=(A,t,g)=>({type:oe.LabelInvalidCharacter,message:`Label "${A}" contains invalid character "${t}" at column ${g}.`,column:g}),Qe=Symbol("ROOT"),re=Symbol("CHILD"),Ee=A=>{const t={type:Qe,children:new Map};let g="",e=t,i=t;const o=()=>{i=((A,t)=>{let g=A.children.get(t);return void 0===g&&(g={type:re,label:t,children:new Map,parent:A},A.children.set(t,g)),g})(e,g),g=""};for(let I=0;I<A.length;I++){const a=A.charAt(I);switch(a){case",":o();continue;case">":o(),e=i;continue;case"|":o(),e=t;continue;case"<":if(e.type===Qe)throw new Error(`Error in serialized trie at position ${I}: Cannot go up, current parent node is already root`);o(),e=e.parent;continue}g+=a}return""!==g&&o(),t},ce=["localhost","local","example","invalid","test"];var le;!function(A){A.Invalid="INVALID",A.Ip="IP",A.Reserved="RESERVED",A.NotListed="NOT_LISTED",A.Listed="LISTED"}(le||(le={}));const he=(A,t)=>t>=0&&t<A.length?A[t]:void 0,de=(A,t)=>({subDomains:A.slice(0,Math.max(0,t)),domain:he(A,t),topLevelDomains:A.slice(t+1)});let ue,we;const De=A=>{const t=(A=>{if("string"!=typeof A)return{type:Ie.Error,errors:[ae(A)]};const t=A.trim(),g=t.replace(/^\[|]$/g,""),e=ie.version(g);if(void 0!==e)return{type:Ie.ValidIp,ip:g,ipVersion:e};if(t.length>253)return{type:Ie.Error,errors:[se(t)]};const i=t.split(".");""===i[i.length-1]&&i.pop();const o=[];let I=1;for(const A of i){const t=/[^\d\-a-z]/iu.exec(A);t?o.push(ne(A,t[0],t.index+1)):A.length<1?o.push(Be(A,I)):A.length>63&&o.push(Ce(A,I)),I+=A.length+1}return o.length>0?{type:Ie.Error,errors:o}:{type:Ie.ValidDomain,domain:t,labels:i}})(A);if(t.type===Ie.Error)return{type:le.Invalid,hostname:A,errors:t.errors};if(t.type===Ie.ValidIp)return{type:le.Ip,hostname:t.ip,ipVersion:t.ipVersion};const{labels:g,domain:e}=t;if(""===A||ce.includes(g[g.length-1]))return{type:le.Reserved,hostname:e,labels:g};ue=null!=ue?ue:Ee("ac>com,edu,gov,net,mil,org<ad>nom<ae>co,net,org,sch,ac,gov,mil<aero>accident-investigation,accident-prevention,aerobatic,aeroclub,aerodrome,agents,aircraft,airline,airport,air-surveillance,airtraffic,air-traffic-control,ambulance,amusement,association,author,ballooning,broker,caa,cargo,catering,certification,championship,charter,civilaviation,club,conference,consultant,consulting,control,council,crew,design,dgca,educator,emergency,engine,engineer,entertainment,equipment,exchange,express,federation,flight,fuel,gliding,government,groundhandling,group,hanggliding,homebuilt,insurance,journal,journalist,leasing,logistics,magazine,maintenance,media,microlight,modelling,navigation,parachuting,paragliding,passenger-association,pilot,press,production,recreation,repbody,res,research,rotorcraft,safety,scientist,services,show,skydiving,software,student,trader,trading,trainer,union,workinggroup,works<af>gov,com,org,net,edu<ag>com,org,net,co,nom<ai>off,com,net,org<al>com,edu,gov,mil,net,org<am>co,com,commune,net,org<ao>ed,gv,og,co,pb,it<aq,ar>com,edu,gob,gov,int,mil,musica,net,org,tur<arpa>e164,in-addr,ip6,iris,uri,urn<as>gov<asia,at>ac>sth<co,gv,or<au>com,net,org,edu>act,catholic,nsw>schools<nt,qld,sa,tas,vic,wa<gov>qld,sa,tas,vic,wa<asn,id,info,conf,oz,act,nsw,nt,qld,sa,tas,vic,wa<aw>com<ax,az>com,net,int,gov,org,edu,info,pp,mil,name,pro,biz<ba>com,edu,gov,mil,net,org<bb>biz,co,com,edu,gov,info,net,org,store,tv<bd>*<be>ac<bf>gov<bg>a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9<bh>com,edu,net,org,gov<bi>co,com,edu,or,org<biz,bj>asso,barreau,gouv<bm>com,edu,gov,net,org<bn>com,edu,gov,net,org<bo>com,edu,gob,int,org,net,mil,tv,web,academia,agro,arte,blog,bolivia,ciencia,cooperativa,democracia,deporte,ecologia,economia,empresa,indigena,industria,info,medicina,movimiento,musica,natural,nombre,noticias,patria,politica,profesional,plurinacional,pueblo,revista,salud,tecnologia,tksat,transporte,wiki<br>9guacu,abc,adm,adv,agr,aju,am,anani,aparecida,app,arq,art,ato,b,barueri,belem,bhz,bib,bio,blog,bmd,boavista,bsb,campinagrande,campinas,caxias,cim,cng,cnt,com,contagem,coop,coz,cri,cuiaba,curitiba,def,des,det,dev,ecn,eco,edu,emp,enf,eng,esp,etc,eti,far,feira,flog,floripa,fm,fnd,fortal,fot,foz,fst,g12,geo,ggf,goiania,gov>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<gru,imb,ind,inf,jab,jampa,jdf,joinville,jor,jus,leg,lel,log,londrina,macapa,maceio,manaus,maringa,mat,med,mil,morena,mp,mus,natal,net,niteroi,nom>*<not,ntr,odo,ong,org,osasco,palmas,poa,ppg,pro,psc,psi,pvh,qsl,radio,rec,recife,rep,ribeirao,rio,riobranco,riopreto,salvador,sampa,santamaria,santoandre,saobernardo,saogonca,seg,sjc,slg,slz,sorocaba,srv,taxi,tc,tec,teo,the,tmp,trd,tur,tv,udi,vet,vix,vlog,wiki,zlg<bs>com,net,org,edu,gov<bt>com,edu,gov,net,org<bv,bw>co,org<by>gov,mil,com,of<bz>com,net,org,edu,gov<ca>ab,bc,mb,nb,nf,nl,ns,nt,nu,on,pe,qc,sk,yk,gc<cat,cc,cd>gov<cf,cg,ch,ci>org,or,com,co,edu,ed,ac,net,go,asso,xn--aroport-bya,int,presse,md,gouv<ck>*,!www<cl>co,gob,gov,mil<cm>co,com,gov,net<cn>ac,com,edu,gov,net,org,mil,xn--55qx5d,xn--io0a7i,xn--od0alg,ah,bj,cq,fj,gd,gs,gz,gx,ha,hb,he,hi,hl,hn,jl,js,jx,ln,nm,nx,qh,sc,sd,sh,sn,sx,tj,xj,xz,yn,zj,hk,mo,tw<co>arts,com,edu,firm,gov,info,int,mil,net,nom,org,rec,web<com,coop,cr>ac,co,ed,fi,go,or,sa<cu>com,edu,org,net,gov,inf<cv,cw>com,edu,net,org<cx>gov<cy>ac,biz,com,ekloges,gov,ltd,name,net,org,parliament,press,pro,tm<cz,de,dj,dk,dm>com,net,org,edu,gov<do>art,com,edu,gob,gov,mil,net,org,sld,web<dz>art,asso,com,edu,gov,org,net,pol,soc,tm<ec>com,info,net,fin,k12,med,pro,org,edu,gov,gob,mil<edu,ee>edu,gov,riik,lib,med,com,pri,aip,org,fie<eg>com,edu,eun,gov,mil,name,net,org,sci<er>*<es>com,nom,org,gob,edu<et>com,gov,org,edu,biz,name,info,net<eu,fi>aland<fj>ac,biz,com,gov,info,mil,name,net,org,pro<fk>*<fm>com,edu,net,org<fo,fr>asso,com,gouv,nom,prd,tm,aeroport,avocat,avoues,cci,chambagri,chirurgiens-dentistes,experts-comptables,geometre-expert,greta,huissier-justice,medecin,notaires,pharmacien,port,veterinaire<ga,gb,gd>edu,gov<ge>com,edu,gov,org,mil,net,pvt<gf,gg>co,net,org<gh>com,edu,gov,org,mil<gi>com,ltd,gov,mod,edu,org<gl>co,com,edu,net,org<gm,gn>ac,com,edu,gov,org,net<gov,gp>com,net,mobi,edu,org,asso<gq,gr>com,edu,net,org,gov<gs,gt>com,edu,gob,ind,mil,net,org<gu>com,edu,gov,guam,info,net,org,web<gw,gy>co,com,edu,gov,net,org<hk>com,edu,gov,idv,net,org,xn--55qx5d,xn--wcvs22d,xn--lcvr32d,xn--mxtq1m,xn--gmqw5a,xn--ciqpn,xn--gmq050i,xn--zf0avx,xn--io0a7i,xn--mk0axi,xn--od0alg,xn--od0aq3b,xn--tn0ag,xn--uc0atv,xn--uc0ay4a<hm,hn>com,edu,org,net,mil,gob<hr>iz,from,name,com<ht>com,shop,firm,info,adult,net,pro,org,med,art,coop,pol,asso,edu,rel,gouv,perso<hu>co,info,org,priv,sport,tm,2000,agrar,bolt,casino,city,erotica,erotika,film,forum,games,hotel,ingatlan,jogasz,konyvelo,lakas,media,news,reklam,sex,shop,suli,szex,tozsde,utazas,video<id>ac,biz,co,desa,go,mil,my,net,or,ponpes,sch,web<ie>gov<il>ac,co,gov,idf,k12,muni,net,org<im>ac,co>ltd,plc<com,net,org,tt,tv<in>co,firm,net,org,gen,ind,nic,ac,edu,res,gov,mil<info,int>eu<io>com<iq>gov,edu,mil,com,org,net<ir>ac,co,gov,id,net,org,sch,xn--mgba3a4f16a,xn--mgba3a4fra<is>net,com,edu,gov,org,int<it>gov,edu,abr,abruzzo,aosta-valley,aostavalley,bas,basilicata,cal,calabria,cam,campania,emilia-romagna,emiliaromagna,emr,friuli-v-giulia,friuli-ve-giulia,friuli-vegiulia,friuli-venezia-giulia,friuli-veneziagiulia,friuli-vgiulia,friuliv-giulia,friulive-giulia,friulivegiulia,friulivenezia-giulia,friuliveneziagiulia,friulivgiulia,fvg,laz,lazio,lig,liguria,lom,lombardia,lombardy,lucania,mar,marche,mol,molise,piedmont,piemonte,pmn,pug,puglia,sar,sardegna,sardinia,sic,sicilia,sicily,taa,tos,toscana,trentin-sud-tirol,xn--trentin-sd-tirol-rzb,trentin-sudtirol,xn--trentin-sdtirol-7vb,trentin-sued-tirol,trentin-suedtirol,trentino-a-adige,trentino-aadige,trentino-alto-adige,trentino-altoadige,trentino-s-tirol,trentino-stirol,trentino-sud-tirol,xn--trentino-sd-tirol-c3b,trentino-sudtirol,xn--trentino-sdtirol-szb,trentino-sued-tirol,trentino-suedtirol,trentino,trentinoa-adige,trentinoaadige,trentinoalto-adige,trentinoaltoadige,trentinos-tirol,trentinostirol,trentinosud-tirol,xn--trentinosd-tirol-rzb,trentinosudtirol,xn--trentinosdtirol-7vb,trentinosued-tirol,trentinosuedtirol,trentinsud-tirol,xn--trentinsd-tirol-6vb,trentinsudtirol,xn--trentinsdtirol-nsb,trentinsued-tirol,trentinsuedtirol,tuscany,umb,umbria,val-d-aosta,val-daosta,vald-aosta,valdaosta,valle-aosta,valle-d-aosta,valle-daosta,valleaosta,valled-aosta,valledaosta,vallee-aoste,xn--valle-aoste-ebb,vallee-d-aoste,xn--valle-d-aoste-ehb,valleeaoste,xn--valleaoste-e7a,valleedaoste,xn--valledaoste-ebb,vao,vda,ven,veneto,ag,agrigento,al,alessandria,alto-adige,altoadige,an,ancona,andria-barletta-trani,andria-trani-barletta,andriabarlettatrani,andriatranibarletta,ao,aosta,aoste,ap,aq,aquila,ar,arezzo,ascoli-piceno,ascolipiceno,asti,at,av,avellino,ba,balsan-sudtirol,xn--balsan-sdtirol-nsb,balsan-suedtirol,balsan,bari,barletta-trani-andria,barlettatraniandria,belluno,benevento,bergamo,bg,bi,biella,bl,bn,bo,bologna,bolzano-altoadige,bolzano,bozen-sudtirol,xn--bozen-sdtirol-2ob,bozen-suedtirol,bozen,br,brescia,brindisi,bs,bt,bulsan-sudtirol,xn--bulsan-sdtirol-nsb,bulsan-suedtirol,bulsan,bz,ca,cagliari,caltanissetta,campidano-medio,campidanomedio,campobasso,carbonia-iglesias,carboniaiglesias,carrara-massa,carraramassa,caserta,catania,catanzaro,cb,ce,cesena-forli,xn--cesena-forl-mcb,cesenaforli,xn--cesenaforl-i8a,ch,chieti,ci,cl,cn,co,como,cosenza,cr,cremona,crotone,cs,ct,cuneo,cz,dell-ogliastra,dellogliastra,en,enna,fc,fe,fermo,ferrara,fg,fi,firenze,florence,fm,foggia,forli-cesena,xn--forl-cesena-fcb,forlicesena,xn--forlcesena-c8a,fr,frosinone,ge,genoa,genova,go,gorizia,gr,grosseto,iglesias-carbonia,iglesiascarbonia,im,imperia,is,isernia,kr,la-spezia,laquila,laspezia,latina,lc,le,lecce,lecco,li,livorno,lo,lodi,lt,lu,lucca,macerata,mantova,massa-carrara,massacarrara,matera,mb,mc,me,medio-campidano,mediocampidano,messina,mi,milan,milano,mn,mo,modena,monza-brianza,monza-e-della-brianza,monza,monzabrianza,monzaebrianza,monzaedellabrianza,ms,mt,na,naples,napoli,no,novara,nu,nuoro,og,ogliastra,olbia-tempio,olbiatempio,or,oristano,ot,pa,padova,padua,palermo,parma,pavia,pc,pd,pe,perugia,pesaro-urbino,pesarourbino,pescara,pg,pi,piacenza,pisa,pistoia,pn,po,pordenone,potenza,pr,prato,pt,pu,pv,pz,ra,ragusa,ravenna,rc,re,reggio-calabria,reggio-emilia,reggiocalabria,reggioemilia,rg,ri,rieti,rimini,rm,rn,ro,roma,rome,rovigo,sa,salerno,sassari,savona,si,siena,siracusa,so,sondrio,sp,sr,ss,suedtirol,xn--sdtirol-n2a,sv,ta,taranto,te,tempio-olbia,tempioolbia,teramo,terni,tn,to,torino,tp,tr,trani-andria-barletta,trani-barletta-andria,traniandriabarletta,tranibarlettaandria,trapani,trento,treviso,trieste,ts,turin,tv,ud,udine,urbino-pesaro,urbinopesaro,va,varese,vb,vc,ve,venezia,venice,verbania,vercelli,verona,vi,vibo-valentia,vibovalentia,vicenza,viterbo,vr,vs,vt,vv<je>co,net,org<jm>*<jo>com,org,net,edu,sch,gov,mil,name<jobs,jp>ac,ad,co,ed,go,gr,lg,ne,or,aichi>aisai,ama,anjo,asuke,chiryu,chita,fuso,gamagori,handa,hazu,hekinan,higashiura,ichinomiya,inazawa,inuyama,isshiki,iwakura,kanie,kariya,kasugai,kira,kiyosu,komaki,konan,kota,mihama,miyoshi,nishio,nisshin,obu,oguchi,oharu,okazaki,owariasahi,seto,shikatsu,shinshiro,shitara,tahara,takahama,tobishima,toei,togo,tokai,tokoname,toyoake,toyohashi,toyokawa,toyone,toyota,tsushima,yatomi<akita>akita,daisen,fujisato,gojome,hachirogata,happou,higashinaruse,honjo,honjyo,ikawa,kamikoani,kamioka,katagami,kazuno,kitaakita,kosaka,kyowa,misato,mitane,moriyoshi,nikaho,noshiro,odate,oga,ogata,semboku,yokote,yurihonjo<aomori>aomori,gonohe,hachinohe,hashikami,hiranai,hirosaki,itayanagi,kuroishi,misawa,mutsu,nakadomari,noheji,oirase,owani,rokunohe,sannohe,shichinohe,shingo,takko,towada,tsugaru,tsuruta<chiba>abiko,asahi,chonan,chosei,choshi,chuo,funabashi,futtsu,hanamigawa,ichihara,ichikawa,ichinomiya,inzai,isumi,kamagaya,kamogawa,kashiwa,katori,katsuura,kimitsu,kisarazu,kozaki,kujukuri,kyonan,matsudo,midori,mihama,minamiboso,mobara,mutsuzawa,nagara,nagareyama,narashino,narita,noda,oamishirasato,omigawa,onjuku,otaki,sakae,sakura,shimofusa,shirako,shiroi,shisui,sodegaura,sosa,tako,tateyama,togane,tohnosho,tomisato,urayasu,yachimata,yachiyo,yokaichiba,yokoshibahikari,yotsukaido<ehime>ainan,honai,ikata,imabari,iyo,kamijima,kihoku,kumakogen,masaki,matsuno,matsuyama,namikata,niihama,ozu,saijo,seiyo,shikokuchuo,tobe,toon,uchiko,uwajima,yawatahama<fukui>echizen,eiheiji,fukui,ikeda,katsuyama,mihama,minamiechizen,obama,ohi,ono,sabae,sakai,takahama,tsuruga,wakasa<fukuoka>ashiya,buzen,chikugo,chikuho,chikujo,chikushino,chikuzen,chuo,dazaifu,fukuchi,hakata,higashi,hirokawa,hisayama,iizuka,inatsuki,kaho,kasuga,kasuya,kawara,keisen,koga,kurate,kurogi,kurume,minami,miyako,miyama,miyawaka,mizumaki,munakata,nakagawa,nakama,nishi,nogata,ogori,okagaki,okawa,oki,omuta,onga,onojo,oto,saigawa,sasaguri,shingu,shinyoshitomi,shonai,soeda,sue,tachiarai,tagawa,takata,toho,toyotsu,tsuiki,ukiha,umi,usui,yamada,yame,yanagawa,yukuhashi<fukushima>aizubange,aizumisato,aizuwakamatsu,asakawa,bandai,date,fukushima,furudono,futaba,hanawa,higashi,hirata,hirono,iitate,inawashiro,ishikawa,iwaki,izumizaki,kagamiishi,kaneyama,kawamata,kitakata,kitashiobara,koori,koriyama,kunimi,miharu,mishima,namie,nango,nishiaizu,nishigo,okuma,omotego,ono,otama,samegawa,shimogo,shirakawa,showa,soma,sukagawa,taishin,tamakawa,tanagura,tenei,yabuki,yamato,yamatsuri,yanaizu,yugawa<gifu>anpachi,ena,gifu,ginan,godo,gujo,hashima,hichiso,hida,higashishirakawa,ibigawa,ikeda,kakamigahara,kani,kasahara,kasamatsu,kawaue,kitagata,mino,minokamo,mitake,mizunami,motosu,nakatsugawa,ogaki,sakahogi,seki,sekigahara,shirakawa,tajimi,takayama,tarui,toki,tomika,wanouchi,yamagata,yaotsu,yoro<gunma>annaka,chiyoda,fujioka,higashiagatsuma,isesaki,itakura,kanna,kanra,katashina,kawaba,kiryu,kusatsu,maebashi,meiwa,midori,minakami,naganohara,nakanojo,nanmoku,numata,oizumi,ora,ota,shibukawa,shimonita,shinto,showa,takasaki,takayama,tamamura,tatebayashi,tomioka,tsukiyono,tsumagoi,ueno,yoshioka<hiroshima>asaminami,daiwa,etajima,fuchu,fukuyama,hatsukaichi,higashihiroshima,hongo,jinsekikogen,kaita,kui,kumano,kure,mihara,miyoshi,naka,onomichi,osakikamijima,otake,saka,sera,seranishi,shinichi,shobara,takehara<hokkaido>abashiri,abira,aibetsu,akabira,akkeshi,asahikawa,ashibetsu,ashoro,assabu,atsuma,bibai,biei,bifuka,bihoro,biratori,chippubetsu,chitose,date,ebetsu,embetsu,eniwa,erimo,esan,esashi,fukagawa,fukushima,furano,furubira,haboro,hakodate,hamatonbetsu,hidaka,higashikagura,higashikawa,hiroo,hokuryu,hokuto,honbetsu,horokanai,horonobe,ikeda,imakane,ishikari,iwamizawa,iwanai,kamifurano,kamikawa,kamishihoro,kamisunagawa,kamoenai,kayabe,kembuchi,kikonai,kimobetsu,kitahiroshima,kitami,kiyosato,koshimizu,kunneppu,kuriyama,kuromatsunai,kushiro,kutchan,kyowa,mashike,matsumae,mikasa,minamifurano,mombetsu,moseushi,mukawa,muroran,naie,nakagawa,nakasatsunai,nakatombetsu,nanae,nanporo,nayoro,nemuro,niikappu,niki,nishiokoppe,noboribetsu,numata,obihiro,obira,oketo,okoppe,otaru,otobe,otofuke,otoineppu,oumu,ozora,pippu,rankoshi,rebun,rikubetsu,rishiri,rishirifuji,saroma,sarufutsu,shakotan,shari,shibecha,shibetsu,shikabe,shikaoi,shimamaki,shimizu,shimokawa,shinshinotsu,shintoku,shiranuka,shiraoi,shiriuchi,sobetsu,sunagawa,taiki,takasu,takikawa,takinoue,teshikaga,tobetsu,tohma,tomakomai,tomari,toya,toyako,toyotomi,toyoura,tsubetsu,tsukigata,urakawa,urausu,uryu,utashinai,wakkanai,wassamu,yakumo,yoichi<hyogo>aioi,akashi,ako,amagasaki,aogaki,asago,ashiya,awaji,fukusaki,goshiki,harima,himeji,ichikawa,inagawa,itami,kakogawa,kamigori,kamikawa,kasai,kasuga,kawanishi,miki,minamiawaji,nishinomiya,nishiwaki,ono,sanda,sannan,sasayama,sayo,shingu,shinonsen,shiso,sumoto,taishi,taka,takarazuka,takasago,takino,tamba,tatsuno,toyooka,yabu,yashiro,yoka,yokawa<ibaraki>ami,asahi,bando,chikusei,daigo,fujishiro,hitachi,hitachinaka,hitachiomiya,hitachiota,ibaraki,ina,inashiki,itako,iwama,joso,kamisu,kasama,kashima,kasumigaura,koga,miho,mito,moriya,naka,namegata,oarai,ogawa,omitama,ryugasaki,sakai,sakuragawa,shimodate,shimotsuma,shirosato,sowa,suifu,takahagi,tamatsukuri,tokai,tomobe,tone,toride,tsuchiura,tsukuba,uchihara,ushiku,yachiyo,yamagata,yawara,yuki<ishikawa>anamizu,hakui,hakusan,kaga,kahoku,kanazawa,kawakita,komatsu,nakanoto,nanao,nomi,nonoichi,noto,shika,suzu,tsubata,tsurugi,uchinada,wajima<iwate>fudai,fujisawa,hanamaki,hiraizumi,hirono,ichinohe,ichinoseki,iwaizumi,iwate,joboji,kamaishi,kanegasaki,karumai,kawai,kitakami,kuji,kunohe,kuzumaki,miyako,mizusawa,morioka,ninohe,noda,ofunato,oshu,otsuchi,rikuzentakata,shiwa,shizukuishi,sumita,tanohata,tono,yahaba,yamada<kagawa>ayagawa,higashikagawa,kanonji,kotohira,manno,marugame,mitoyo,naoshima,sanuki,tadotsu,takamatsu,tonosho,uchinomi,utazu,zentsuji<kagoshima>akune,amami,hioki,isa,isen,izumi,kagoshima,kanoya,kawanabe,kinko,kouyama,makurazaki,matsumoto,minamitane,nakatane,nishinoomote,satsumasendai,soo,tarumizu,yusui<kanagawa>aikawa,atsugi,ayase,chigasaki,ebina,fujisawa,hadano,hakone,hiratsuka,isehara,kaisei,kamakura,kiyokawa,matsuda,minamiashigara,miura,nakai,ninomiya,odawara,oi,oiso,sagamihara,samukawa,tsukui,yamakita,yamato,yokosuka,yugawara,zama,zushi<kochi>aki,geisei,hidaka,higashitsuno,ino,kagami,kami,kitagawa,kochi,mihara,motoyama,muroto,nahari,nakamura,nankoku,nishitosa,niyodogawa,ochi,okawa,otoyo,otsuki,sakawa,sukumo,susaki,tosa,tosashimizu,toyo,tsuno,umaji,yasuda,yusuhara<kumamoto>amakusa,arao,aso,choyo,gyokuto,kamiamakusa,kikuchi,kumamoto,mashiki,mifune,minamata,minamioguni,nagasu,nishihara,oguni,ozu,sumoto,takamori,uki,uto,yamaga,yamato,yatsushiro<kyoto>ayabe,fukuchiyama,higashiyama,ide,ine,joyo,kameoka,kamo,kita,kizu,kumiyama,kyotamba,kyotanabe,kyotango,maizuru,minami,minamiyamashiro,miyazu,muko,nagaokakyo,nakagyo,nantan,oyamazaki,sakyo,seika,tanabe,uji,ujitawara,wazuka,yamashina,yawata<mie>asahi,inabe,ise,kameyama,kawagoe,kiho,kisosaki,kiwa,komono,kumano,kuwana,matsusaka,meiwa,mihama,minamiise,misugi,miyama,nabari,shima,suzuka,tado,taiki,taki,tamaki,toba,tsu,udono,ureshino,watarai,yokkaichi<miyagi>furukawa,higashimatsushima,ishinomaki,iwanuma,kakuda,kami,kawasaki,marumori,matsushima,minamisanriku,misato,murata,natori,ogawara,ohira,onagawa,osaki,rifu,semine,shibata,shichikashuku,shikama,shiogama,shiroishi,tagajo,taiwa,tome,tomiya,wakuya,watari,yamamoto,zao<miyazaki>aya,ebino,gokase,hyuga,kadogawa,kawaminami,kijo,kitagawa,kitakata,kitaura,kobayashi,kunitomi,kushima,mimata,miyakonojo,miyazaki,morotsuka,nichinan,nishimera,nobeoka,saito,shiiba,shintomi,takaharu,takanabe,takazaki,tsuno<nagano>achi,agematsu,anan,aoki,asahi,azumino,chikuhoku,chikuma,chino,fujimi,hakuba,hara,hiraya,iida,iijima,iiyama,iizuna,ikeda,ikusaka,ina,karuizawa,kawakami,kiso,kisofukushima,kitaaiki,komagane,komoro,matsukawa,matsumoto,miasa,minamiaiki,minamimaki,minamiminowa,minowa,miyada,miyota,mochizuki,nagano,nagawa,nagiso,nakagawa,nakano,nozawaonsen,obuse,ogawa,okaya,omachi,omi,ookuwa,ooshika,otaki,otari,sakae,sakaki,saku,sakuho,shimosuwa,shinanomachi,shiojiri,suwa,suzaka,takagi,takamori,takayama,tateshina,tatsuno,togakushi,togura,tomi,ueda,wada,yamagata,yamanouchi,yasaka,yasuoka<nagasaki>chijiwa,futsu,goto,hasami,hirado,iki,isahaya,kawatana,kuchinotsu,matsuura,nagasaki,obama,omura,oseto,saikai,sasebo,seihi,shimabara,shinkamigoto,togitsu,tsushima,unzen<nara>ando,gose,heguri,higashiyoshino,ikaruga,ikoma,kamikitayama,kanmaki,kashiba,kashihara,katsuragi,kawai,kawakami,kawanishi,koryo,kurotaki,mitsue,miyake,nara,nosegawa,oji,ouda,oyodo,sakurai,sango,shimoichi,shimokitayama,shinjo,soni,takatori,tawaramoto,tenkawa,tenri,uda,yamatokoriyama,yamatotakada,yamazoe,yoshino<niigata>aga,agano,gosen,itoigawa,izumozaki,joetsu,kamo,kariwa,kashiwazaki,minamiuonuma,mitsuke,muika,murakami,myoko,nagaoka,niigata,ojiya,omi,sado,sanjo,seiro,seirou,sekikawa,shibata,tagami,tainai,tochio,tokamachi,tsubame,tsunan,uonuma,yahiko,yoita,yuzawa<oita>beppu,bungoono,bungotakada,hasama,hiji,himeshima,hita,kamitsue,kokonoe,kuju,kunisaki,kusu,oita,saiki,taketa,tsukumi,usa,usuki,yufu<okayama>akaiwa,asakuchi,bizen,hayashima,ibara,kagamino,kasaoka,kibichuo,kumenan,kurashiki,maniwa,misaki,nagi,niimi,nishiawakura,okayama,satosho,setouchi,shinjo,shoo,soja,takahashi,tamano,tsuyama,wake,yakage<okinawa>aguni,ginowan,ginoza,gushikami,haebaru,higashi,hirara,iheya,ishigaki,ishikawa,itoman,izena,kadena,kin,kitadaito,kitanakagusuku,kumejima,kunigami,minamidaito,motobu,nago,naha,nakagusuku,nakijin,nanjo,nishihara,ogimi,okinawa,onna,shimoji,taketomi,tarama,tokashiki,tomigusuku,tonaki,urasoe,uruma,yaese,yomitan,yonabaru,yonaguni,zamami<osaka>abeno,chihayaakasaka,chuo,daito,fujiidera,habikino,hannan,higashiosaka,higashisumiyoshi,higashiyodogawa,hirakata,ibaraki,ikeda,izumi,izumiotsu,izumisano,kadoma,kaizuka,kanan,kashiwara,katano,kawachinagano,kishiwada,kita,kumatori,matsubara,minato,minoh,misaki,moriguchi,neyagawa,nishi,nose,osakasayama,sakai,sayama,sennan,settsu,shijonawate,shimamoto,suita,tadaoka,taishi,tajiri,takaishi,takatsuki,tondabayashi,toyonaka,toyono,yao<saga>ariake,arita,fukudomi,genkai,hamatama,hizen,imari,kamimine,kanzaki,karatsu,kashima,kitagata,kitahata,kiyama,kouhoku,kyuragi,nishiarita,ogi,omachi,ouchi,saga,shiroishi,taku,tara,tosu,yoshinogari<saitama>arakawa,asaka,chichibu,fujimi,fujimino,fukaya,hanno,hanyu,hasuda,hatogaya,hatoyama,hidaka,higashichichibu,higashimatsuyama,honjo,ina,iruma,iwatsuki,kamiizumi,kamikawa,kamisato,kasukabe,kawagoe,kawaguchi,kawajima,kazo,kitamoto,koshigaya,kounosu,kuki,kumagaya,matsubushi,minano,misato,miyashiro,miyoshi,moroyama,nagatoro,namegawa,niiza,ogano,ogawa,ogose,okegawa,omiya,otaki,ranzan,ryokami,saitama,sakado,satte,sayama,shiki,shiraoka,soka,sugito,toda,tokigawa,tokorozawa,tsurugashima,urawa,warabi,yashio,yokoze,yono,yorii,yoshida,yoshikawa,yoshimi<shiga>aisho,gamo,higashiomi,hikone,koka,konan,kosei,koto,kusatsu,maibara,moriyama,nagahama,nishiazai,notogawa,omihachiman,otsu,ritto,ryuoh,takashima,takatsuki,torahime,toyosato,yasu<shimane>akagi,ama,gotsu,hamada,higashiizumo,hikawa,hikimi,izumo,kakinoki,masuda,matsue,misato,nishinoshima,ohda,okinoshima,okuizumo,shimane,tamayu,tsuwano,unnan,yakumo,yasugi,yatsuka<shizuoka>arai,atami,fuji,fujieda,fujikawa,fujinomiya,fukuroi,gotemba,haibara,hamamatsu,higashiizu,ito,iwata,izu,izunokuni,kakegawa,kannami,kawanehon,kawazu,kikugawa,kosai,makinohara,matsuzaki,minamiizu,mishima,morimachi,nishiizu,numazu,omaezaki,shimada,shimizu,shimoda,shizuoka,susono,yaizu,yoshida<tochigi>ashikaga,bato,haga,ichikai,iwafune,kaminokawa,kanuma,karasuyama,kuroiso,mashiko,mibu,moka,motegi,nasu,nasushiobara,nikko,nishikata,nogi,ohira,ohtawara,oyama,sakura,sano,shimotsuke,shioya,takanezawa,tochigi,tsuga,ujiie,utsunomiya,yaita<tokushima>aizumi,anan,ichiba,itano,kainan,komatsushima,matsushige,mima,minami,miyoshi,mugi,nakagawa,naruto,sanagochi,shishikui,tokushima,wajiki<tokyo>adachi,akiruno,akishima,aogashima,arakawa,bunkyo,chiyoda,chofu,chuo,edogawa,fuchu,fussa,hachijo,hachioji,hamura,higashikurume,higashimurayama,higashiyamato,hino,hinode,hinohara,inagi,itabashi,katsushika,kita,kiyose,kodaira,koganei,kokubunji,komae,koto,kouzushima,kunitachi,machida,meguro,minato,mitaka,mizuho,musashimurayama,musashino,nakano,nerima,ogasawara,okutama,ome,oshima,ota,setagaya,shibuya,shinagawa,shinjuku,suginami,sumida,tachikawa,taito,tama,toshima<tottori>chizu,hino,kawahara,koge,kotoura,misasa,nanbu,nichinan,sakaiminato,tottori,wakasa,yazu,yonago<toyama>asahi,fuchu,fukumitsu,funahashi,himi,imizu,inami,johana,kamiichi,kurobe,nakaniikawa,namerikawa,nanto,nyuzen,oyabe,taira,takaoka,tateyama,toga,tonami,toyama,unazuki,uozu,yamada<wakayama>arida,aridagawa,gobo,hashimoto,hidaka,hirogawa,inami,iwade,kainan,kamitonda,katsuragi,kimino,kinokawa,kitayama,koya,koza,kozagawa,kudoyama,kushimoto,mihama,misato,nachikatsuura,shingu,shirahama,taiji,tanabe,wakayama,yuasa,yura<yamagata>asahi,funagata,higashine,iide,kahoku,kaminoyama,kaneyama,kawanishi,mamurogawa,mikawa,murayama,nagai,nakayama,nanyo,nishikawa,obanazawa,oe,oguni,ohkura,oishida,sagae,sakata,sakegawa,shinjo,shirataka,shonai,takahata,tendo,tozawa,tsuruoka,yamagata,yamanobe,yonezawa,yuza<yamaguchi>abu,hagi,hikari,hofu,iwakuni,kudamatsu,mitou,nagato,oshima,shimonoseki,shunan,tabuse,tokuyama,toyota,ube,yuu<yamanashi>chuo,doshi,fuefuki,fujikawa,fujikawaguchiko,fujiyoshida,hayakawa,hokuto,ichikawamisato,kai,kofu,koshu,kosuge,minami-alps,minobu,nakamichi,nanbu,narusawa,nirasaki,nishikatsura,oshino,otsuki,showa,tabayama,tsuru,uenohara,yamanakako,yamanashi<xn--4pvxs,xn--vgu402c,xn--c3s14m,xn--f6qx53a,xn--8pvr4u,xn--uist22h,xn--djrs72d6uy,xn--mkru45i,xn--0trq7p7nn,xn--8ltr62k,xn--2m4a15e,xn--efvn9s,xn--32vp30h,xn--4it797k,xn--1lqs71d,xn--5rtp49c,xn--5js045d,xn--ehqz56n,xn--1lqs03n,xn--qqqt11m,xn--kbrq7o,xn--pssu33l,xn--ntsq17g,xn--uisz3g,xn--6btw5a,xn--1ctwo,xn--6orx2r,xn--rht61e,xn--rht27z,xn--djty4k,xn--nit225k,xn--rht3d,xn--klty5x,xn--kltx9a,xn--kltp7d,xn--uuwu58a,xn--zbx025d,xn--ntso0iqx3a,xn--elqq16h,xn--4it168d,xn--klt787d,xn--rny31h,xn--7t0a264c,xn--5rtq34k,xn--k7yn95e,xn--tor131o,xn--d5qv7z876c,kawasaki>*,!city<kitakyushu>*,!city<kobe>*,!city<nagoya>*,!city<sapporo>*,!city<sendai>*,!city<yokohama>*,!city<<ke>ac,co,go,info,me,mobi,ne,or,sc<kg>org,net,com,edu,gov,mil<kh>*<ki>edu,biz,net,org,gov,info,com<km>org,nom,gov,prd,tm,edu,mil,ass,com,coop,asso,presse,medecin,notaires,pharmaciens,veterinaire,gouv<kn>net,org,edu,gov<kp>com,edu,gov,org,rep,tra<kr>ac,co,es,go,hs,kg,mil,ms,ne,or,pe,re,sc,busan,chungbuk,chungnam,daegu,daejeon,gangwon,gwangju,gyeongbuk,gyeonggi,gyeongnam,incheon,jeju,jeonbuk,jeonnam,seoul,ulsan<kw>com,edu,emb,gov,ind,net,org<ky>edu,gov,com,org,net<kz>org,edu,net,gov,mil,com<la>int,net,info,edu,gov,per,com,org<lb>com,edu,gov,net,org<lc>com,net,co,org,edu,gov<li,lk>gov,sch,net,int,com,org,edu,ngo,soc,web,ltd,assn,grp,hotel,ac<lr>com,edu,gov,org,net<ls>ac,biz,co,edu,gov,info,net,org,sc<lt>gov<lu,lv>com,edu,gov,org,mil,id,net,asn,conf<ly>com,net,gov,plc,edu,sch,med,org,id<ma>co,net,gov,org,ac,press<mc>tm,asso<md,me>co,net,org,edu,ac,gov,its,priv<mg>org,nom,gov,prd,tm,edu,mil,com,co<mh,mil,mk>com,org,net,edu,gov,inf,name<ml>com,edu,gouv,gov,net,org,presse<mm>*<mn>gov,edu,org<mo>com,net,org,edu,gov<mobi,mp,mq,mr>gov<ms>com,edu,gov,net,org<mt>com,edu,net,org<mu>com,net,org,gov,ac,co,or<museum>academy,agriculture,air,airguard,alabama,alaska,amber,ambulance,american,americana,americanantiques,americanart,amsterdam,and,annefrank,anthro,anthropology,antiques,aquarium,arboretum,archaeological,archaeology,architecture,art,artanddesign,artcenter,artdeco,arteducation,artgallery,arts,artsandcrafts,asmatart,assassination,assisi,association,astronomy,atlanta,austin,australia,automotive,aviation,axis,badajoz,baghdad,bahn,bale,baltimore,barcelona,baseball,basel,baths,bauern,beauxarts,beeldengeluid,bellevue,bergbau,berkeley,berlin,bern,bible,bilbao,bill,birdart,birthplace,bonn,boston,botanical,botanicalgarden,botanicgarden,botany,brandywinevalley,brasil,bristol,british,britishcolumbia,broadcast,brunel,brussel,brussels,bruxelles,building,burghof,bus,bushey,cadaques,california,cambridge,can,canada,capebreton,carrier,cartoonart,casadelamoneda,castle,castres,celtic,center,chattanooga,cheltenham,chesapeakebay,chicago,children,childrens,childrensgarden,chiropractic,chocolate,christiansburg,cincinnati,cinema,circus,civilisation,civilization,civilwar,clinton,clock,coal,coastaldefence,cody,coldwar,collection,colonialwilliamsburg,coloradoplateau,columbia,columbus,communication,communications,community,computer,computerhistory,xn--comunicaes-v6a2o,contemporary,contemporaryart,convent,copenhagen,corporation,xn--correios-e-telecomunicaes-ghc29a,corvette,costume,countryestate,county,crafts,cranbrook,creation,cultural,culturalcenter,culture,cyber,cymru,dali,dallas,database,ddr,decorativearts,delaware,delmenhorst,denmark,depot,design,detroit,dinosaur,discovery,dolls,donostia,durham,eastafrica,eastcoast,education,educational,egyptian,eisenbahn,elburg,elvendrell,embroidery,encyclopedic,england,entomology,environment,environmentalconservation,epilepsy,essex,estate,ethnology,exeter,exhibition,family,farm,farmequipment,farmers,farmstead,field,figueres,filatelia,film,fineart,finearts,finland,flanders,florida,force,fortmissoula,fortworth,foundation,francaise,frankfurt,franziskaner,freemasonry,freiburg,fribourg,frog,fundacio,furniture,gallery,garden,gateway,geelvinck,gemological,geology,georgia,giessen,glas,glass,gorge,grandrapids,graz,guernsey,halloffame,hamburg,handson,harvestcelebration,hawaii,health,heimatunduhren,hellas,helsinki,hembygdsforbund,heritage,histoire,historical,historicalsociety,historichouses,historisch,historisches,history,historyofscience,horology,house,humanities,illustration,imageandsound,indian,indiana,indianapolis,indianmarket,intelligence,interactive,iraq,iron,isleofman,jamison,jefferson,jerusalem,jewelry,jewish,jewishart,jfk,journalism,judaica,judygarland,juedisches,juif,karate,karikatur,kids,koebenhavn,koeln,kunst,kunstsammlung,kunstunddesign,labor,labour,lajolla,lancashire,landes,lans,xn--lns-qla,larsson,lewismiller,lincoln,linz,living,livinghistory,localhistory,london,losangeles,louvre,loyalist,lucerne,luxembourg,luzern,mad,madrid,mallorca,manchester,mansion,mansions,manx,marburg,maritime,maritimo,maryland,marylhurst,media,medical,medizinhistorisches,meeres,memorial,mesaverde,michigan,midatlantic,military,mill,miners,mining,minnesota,missile,missoula,modern,moma,money,monmouth,monticello,montreal,moscow,motorcycle,muenchen,muenster,mulhouse,muncie,museet,museumcenter,museumvereniging,music,national,nationalfirearms,nationalheritage,nativeamerican,naturalhistory,naturalhistorymuseum,naturalsciences,nature,naturhistorisches,natuurwetenschappen,naumburg,naval,nebraska,neues,newhampshire,newjersey,newmexico,newport,newspaper,newyork,niepce,norfolk,north,nrw,nyc,nyny,oceanographic,oceanographique,omaha,online,ontario,openair,oregon,oregontrail,otago,oxford,pacific,paderborn,palace,paleo,palmsprings,panama,paris,pasadena,pharmacy,philadelphia,philadelphiaarea,philately,phoenix,photography,pilots,pittsburgh,planetarium,plantation,plants,plaza,portal,portland,portlligat,posts-and-telecommunications,preservation,presidio,press,project,public,pubol,quebec,railroad,railway,research,resistance,riodejaneiro,rochester,rockart,roma,russia,saintlouis,salem,salvadordali,salzburg,sandiego,sanfrancisco,santabarbara,santacruz,santafe,saskatchewan,satx,savannahga,schlesisches,schoenbrunn,schokoladen,school,schweiz,science,scienceandhistory,scienceandindustry,sciencecenter,sciencecenters,science-fiction,sciencehistory,sciences,sciencesnaturelles,scotland,seaport,settlement,settlers,shell,sherbrooke,sibenik,silk,ski,skole,society,sologne,soundandvision,southcarolina,southwest,space,spy,square,stadt,stalbans,starnberg,state,stateofdelaware,station,steam,steiermark,stjohn,stockholm,stpetersburg,stuttgart,suisse,surgeonshall,surrey,svizzera,sweden,sydney,tank,tcm,technology,telekommunikation,television,texas,textile,theater,time,timekeeping,topology,torino,touch,town,transport,tree,trolley,trust,trustee,uhren,ulm,undersea,university,usa,usantiques,usarts,uscountryestate,usculture,usdecorativearts,usgarden,ushistory,ushuaia,uslivinghistory,utah,uvic,valley,vantaa,versailles,viking,village,virginia,virtual,virtuel,vlaanderen,volkenkunde,wales,wallonie,war,washingtondc,watchandclock,watch-and-clock,western,westfalen,whaling,wildlife,williamsburg,windmill,workshop,york,yorkshire,yosemite,youth,zoological,zoology,xn--9dbhblg6di,xn--h1aegh<mv>aero,biz,com,coop,edu,gov,info,int,mil,museum,name,net,org,pro<mw>ac,biz,co,com,coop,edu,gov,int,museum,net,org<mx>com,org,gob,edu,net<my>biz,com,edu,gov,mil,name,net,org<mz>ac,adv,co,edu,gov,mil,net,org<na>info,pro,name,school,or,dr,us,mx,ca,in,cc,tv,ws,mobi,co,com,org<name,nc>asso,nom<ne,net,nf>com,net,per,rec,web,arts,firm,info,other,store<ng>com,edu,gov,i,mil,mobi,name,net,org,sch<ni>ac,biz,co,com,edu,gob,in,info,int,mil,net,nom,org,web<nl,no>fhs,vgs,fylkesbibl,folkebibl,museum,idrett,priv,mil,stat,dep,kommune,herad,aa>gs<ah>gs<bu>gs<fm>gs<hl>gs<hm>gs<jan-mayen>gs<mr>gs<nl>gs<nt>gs<of>gs<ol>gs<oslo>gs<rl>gs<sf>gs<st>gs<svalbard>gs<tm>gs<tr>gs<va>gs<vf>gs<akrehamn,xn--krehamn-dxa,algard,xn--lgrd-poac,arna,brumunddal,bryne,bronnoysund,xn--brnnysund-m8ac,drobak,xn--drbak-wua,egersund,fetsund,floro,xn--flor-jra,fredrikstad,hokksund,honefoss,xn--hnefoss-q1a,jessheim,jorpeland,xn--jrpeland-54a,kirkenes,kopervik,krokstadelva,langevag,xn--langevg-jxa,leirvik,mjondalen,xn--mjndalen-64a,mo-i-rana,mosjoen,xn--mosjen-eya,nesoddtangen,orkanger,osoyro,xn--osyro-wua,raholt,xn--rholt-mra,sandnessjoen,xn--sandnessjen-ogb,skedsmokorset,slattum,spjelkavik,stathelle,stavern,stjordalshalsen,xn--stjrdalshalsen-sqb,tananger,tranby,vossevangen,afjord,xn--fjord-lra,agdenes,al,xn--l-1fa,alesund,xn--lesund-hua,alstahaug,alta,xn--lt-liac,alaheadju,xn--laheadju-7ya,alvdal,amli,xn--mli-tla,amot,xn--mot-tla,andebu,andoy,xn--andy-ira,andasuolo,ardal,xn--rdal-poa,aremark,arendal,xn--s-1fa,aseral,xn--seral-lra,asker,askim,askvoll,askoy,xn--asky-ira,asnes,xn--snes-poa,audnedaln,aukra,aure,aurland,aurskog-holand,xn--aurskog-hland-jnb,austevoll,austrheim,averoy,xn--avery-yua,balestrand,ballangen,balat,xn--blt-elab,balsfjord,bahccavuotna,xn--bhccavuotna-k7a,bamble,bardu,beardu,beiarn,bajddar,xn--bjddar-pta,baidar,xn--bidr-5nac,berg,bergen,berlevag,xn--berlevg-jxa,bearalvahki,xn--bearalvhki-y4a,bindal,birkenes,bjarkoy,xn--bjarky-fya,bjerkreim,bjugn,bodo,xn--bod-2na,badaddja,xn--bdddj-mrabd,budejju,bokn,bremanger,bronnoy,xn--brnny-wuac,bygland,bykle,barum,xn--brum-voa,telemark>bo,xn--b-5ga<nordland>bo,xn--b-5ga,heroy,xn--hery-ira<bievat,xn--bievt-0qa,bomlo,xn--bmlo-gra,batsfjord,xn--btsfjord-9za,bahcavuotna,xn--bhcavuotna-s4a,dovre,drammen,drangedal,dyroy,xn--dyry-ira,donna,xn--dnna-gra,eid,eidfjord,eidsberg,eidskog,eidsvoll,eigersund,elverum,enebakk,engerdal,etne,etnedal,evenes,evenassi,xn--eveni-0qa01ga,evje-og-hornnes,farsund,fauske,fuossko,fuoisku,fedje,fet,finnoy,xn--finny-yua,fitjar,fjaler,fjell,flakstad,flatanger,flekkefjord,flesberg,flora,fla,xn--fl-zia,folldal,forsand,fosnes,frei,frogn,froland,frosta,frana,xn--frna-woa,froya,xn--frya-hra,fusa,fyresdal,forde,xn--frde-gra,gamvik,gangaviika,xn--ggaviika-8ya47h,gaular,gausdal,gildeskal,xn--gildeskl-g0a,giske,gjemnes,gjerdrum,gjerstad,gjesdal,gjovik,xn--gjvik-wua,gloppen,gol,gran,grane,granvin,gratangen,grimstad,grong,kraanghke,xn--kranghke-b0a,grue,gulen,hadsel,halden,halsa,hamar,hamaroy,habmer,xn--hbmer-xqa,hapmir,xn--hpmir-xqa,hammerfest,hammarfeasta,xn--hmmrfeasta-s4ac,haram,hareid,harstad,hasvik,aknoluokta,xn--koluokta-7ya57h,hattfjelldal,aarborte,haugesund,hemne,hemnes,hemsedal,more-og-romsdal>heroy,sande<xn--mre-og-romsdal-qqb>xn--hery-ira,sande<hitra,hjartdal,hjelmeland,hobol,xn--hobl-ira,hof,hol,hole,holmestrand,holtalen,xn--holtlen-hxa,hornindal,horten,hurdal,hurum,hvaler,hyllestad,hagebostad,xn--hgebostad-g3a,hoyanger,xn--hyanger-q1a,hoylandet,xn--hylandet-54a,ha,xn--h-2fa,ibestad,inderoy,xn--indery-fya,iveland,jevnaker,jondal,jolster,xn--jlster-bya,karasjok,karasjohka,xn--krjohka-hwab49j,karlsoy,galsa,xn--gls-elac,karmoy,xn--karmy-yua,kautokeino,guovdageaidnu,klepp,klabu,xn--klbu-woa,kongsberg,kongsvinger,kragero,xn--krager-gya,kristiansand,kristiansund,krodsherad,xn--krdsherad-m8a,kvalsund,rahkkeravju,xn--rhkkervju-01af,kvam,kvinesdal,kvinnherad,kviteseid,kvitsoy,xn--kvitsy-fya,kvafjord,xn--kvfjord-nxa,giehtavuoatna,kvanangen,xn--kvnangen-k0a,navuotna,xn--nvuotna-hwa,kafjord,xn--kfjord-iua,gaivuotna,xn--givuotna-8ya,larvik,lavangen,lavagis,loabat,xn--loabt-0qa,lebesby,davvesiida,leikanger,leirfjord,leka,leksvik,lenvik,leangaviika,xn--leagaviika-52b,lesja,levanger,lier,lierne,lillehammer,lillesand,lindesnes,lindas,xn--linds-pra,lom,loppa,lahppi,xn--lhppi-xqa,lund,lunner,luroy,xn--lury-ira,luster,lyngdal,lyngen,ivgu,lardal,lerdal,xn--lrdal-sra,lodingen,xn--ldingen-q1a,lorenskog,xn--lrenskog-54a,loten,xn--lten-gra,malvik,masoy,xn--msy-ula0h,muosat,xn--muost-0qa,mandal,marker,marnardal,masfjorden,meland,meldal,melhus,meloy,xn--mely-ira,meraker,xn--merker-kua,moareke,xn--moreke-jua,midsund,midtre-gauldal,modalen,modum,molde,moskenes,moss,mosvik,malselv,xn--mlselv-iua,malatvuopmi,xn--mlatvuopmi-s4a,namdalseid,aejrie,namsos,namsskogan,naamesjevuemie,xn--nmesjevuemie-tcba,laakesvuemie,nannestad,narvik,narviika,naustdal,nedre-eiker,akershus>nes<buskerud>nes<nesna,nesodden,nesseby,unjarga,xn--unjrga-rta,nesset,nissedal,nittedal,nord-aurdal,nord-fron,nord-odal,norddal,nordkapp,davvenjarga,xn--davvenjrga-y4a,nordre-land,nordreisa,raisa,xn--risa-5na,nore-og-uvdal,notodden,naroy,xn--nry-yla5g,notteroy,xn--nttery-byae,odda,oksnes,xn--ksnes-uua,oppdal,oppegard,xn--oppegrd-ixa,orkdal,orland,xn--rland-uua,orskog,xn--rskog-uua,orsta,xn--rsta-fra,hedmark>os,valer,xn--vler-qoa<hordaland>os<osen,osteroy,xn--ostery-fya,ostre-toten,xn--stre-toten-zcb,overhalla,ovre-eiker,xn--vre-eiker-k8a,oyer,xn--yer-zna,oygarden,xn--ygarden-p1a,oystre-slidre,xn--ystre-slidre-ujb,porsanger,porsangu,xn--porsgu-sta26f,porsgrunn,radoy,xn--rady-ira,rakkestad,rana,ruovat,randaberg,rauma,rendalen,rennebu,rennesoy,xn--rennesy-v1a,rindal,ringebu,ringerike,ringsaker,rissa,risor,xn--risr-ira,roan,rollag,rygge,ralingen,xn--rlingen-mxa,rodoy,xn--rdy-0nab,romskog,xn--rmskog-bya,roros,xn--rros-gra,rost,xn--rst-0na,royken,xn--ryken-vua,royrvik,xn--ryrvik-bya,rade,xn--rde-ula,salangen,siellak,saltdal,salat,xn--slt-elab,xn--slat-5na,samnanger,vestfold>sande<sandefjord,sandnes,sandoy,xn--sandy-yua,sarpsborg,sauda,sauherad,sel,selbu,selje,seljord,sigdal,siljan,sirdal,skaun,skedsmo,ski,skien,skiptvet,skjervoy,xn--skjervy-v1a,skierva,xn--skierv-uta,skjak,xn--skjk-soa,skodje,skanland,xn--sknland-fxa,skanit,xn--sknit-yqa,smola,xn--smla-hra,snillfjord,snasa,xn--snsa-roa,snoasa,snaase,xn--snase-nra,sogndal,sokndal,sola,solund,songdalen,sortland,spydeberg,stange,stavanger,steigen,steinkjer,stjordal,xn--stjrdal-s1a,stokke,stor-elvdal,stord,stordal,storfjord,omasvuotna,strand,stranda,stryn,sula,suldal,sund,sunndal,surnadal,sveio,svelvik,sykkylven,sogne,xn--sgne-gra,somna,xn--smna-gra,sondre-land,xn--sndre-land-0cb,sor-aurdal,xn--sr-aurdal-l8a,sor-fron,xn--sr-fron-q1a,sor-odal,xn--sr-odal-q1a,sor-varanger,xn--sr-varanger-ggb,matta-varjjat,xn--mtta-vrjjat-k7af,sorfold,xn--srfold-bya,sorreisa,xn--srreisa-q1a,sorum,xn--srum-gra,tana,deatnu,time,tingvoll,tinn,tjeldsund,dielddanuorri,tjome,xn--tjme-hra,tokke,tolga,torsken,tranoy,xn--trany-yua,tromso,xn--troms-zua,tromsa,romsa,trondheim,troandin,trysil,trana,xn--trna-woa,trogstad,xn--trgstad-r1a,tvedestrand,tydal,tynset,tysfjord,divtasvuodna,divttasvuotna,tysnes,tysvar,xn--tysvr-vra,tonsberg,xn--tnsberg-q1a,ullensaker,ullensvang,ulvik,utsira,vadso,xn--vads-jra,cahcesuolo,xn--hcesuolo-7ya35b,vaksdal,valle,vang,vanylven,vardo,xn--vard-jra,varggat,xn--vrggt-xqad,vefsn,vaapste,vega,vegarshei,xn--vegrshei-c0a,vennesla,verdal,verran,vestby,vestnes,vestre-slidre,vestre-toten,vestvagoy,xn--vestvgy-ixa6o,vevelstad,vik,vikna,vindafjord,volda,voss,varoy,xn--vry-yla5g,vagan,xn--vgan-qoa,voagat,vagsoy,xn--vgsy-qoa0j,vaga,xn--vg-yiab,ostfold>valer<xn--stfold-9xa>xn--vler-qoa<<np>*<nr>biz,info,gov,edu,org,net,com<nu,nz>ac,co,cri,geek,gen,govt,health,iwi,kiwi,maori,mil,xn--mori-qsa,net,org,parliament,school<om>co,com,edu,gov,med,museum,net,org,pro<onion,org,pa>ac,gob,com,org,sld,edu,net,ing,abo,med,nom<pe>edu,gob,nom,mil,org,com,net<pf>com,org,edu<pg>*<ph>com,net,org,gov,edu,ngo,mil,i<pk>com,net,edu,org,fam,biz,web,gov,gob,gok,gon,gop,gos,info<pl>com,net,org,aid,agro,atm,auto,biz,edu,gmina,gsm,info,mail,miasta,media,mil,nieruchomosci,nom,pc,powiat,priv,realestate,rel,sex,shop,sklep,sos,szkola,targi,tm,tourism,travel,turystyka,gov>ap,ic,is,us,kmpsp,kppsp,kwpsp,psp,wskr,kwp,mw,ug,um,umig,ugim,upow,uw,starostwo,pa,po,psse,pup,rzgw,sa,so,sr,wsa,sko,uzs,wiih,winb,pinb,wios,witd,wzmiuw,piw,wiw,griw,wif,oum,sdn,zp,uppo,mup,wuoz,konsulat,oirm<augustow,babia-gora,bedzin,beskidy,bialowieza,bialystok,bielawa,bieszczady,boleslawiec,bydgoszcz,bytom,cieszyn,czeladz,czest,dlugoleka,elblag,elk,glogow,gniezno,gorlice,grajewo,ilawa,jaworzno,jelenia-gora,jgora,kalisz,kazimierz-dolny,karpacz,kartuzy,kaszuby,katowice,kepno,ketrzyn,klodzko,kobierzyce,kolobrzeg,konin,konskowola,kutno,lapy,lebork,legnica,lezajsk,limanowa,lomza,lowicz,lubin,lukow,malbork,malopolska,mazowsze,mazury,mielec,mielno,mragowo,naklo,nowaruda,nysa,olawa,olecko,olkusz,olsztyn,opoczno,opole,ostroda,ostroleka,ostrowiec,ostrowwlkp,pila,pisz,podhale,podlasie,polkowice,pomorze,pomorskie,prochowice,pruszkow,przeworsk,pulawy,radom,rawa-maz,rybnik,rzeszow,sanok,sejny,slask,slupsk,sosnowiec,stalowa-wola,skoczow,starachowice,stargard,suwalki,swidnica,swiebodzin,swinoujscie,szczecin,szczytno,tarnobrzeg,tgory,turek,tychy,ustka,walbrzych,warmia,warszawa,waw,wegrow,wielun,wlocl,wloclawek,wodzislaw,wolomin,wroclaw,zachpomor,zagan,zarow,zgora,zgorzelec<pm,pn>gov,co,org,edu,net<post,pr>com,net,org,gov,edu,isla,pro,biz,info,name,est,prof,ac<pro>aaa,aca,acct,avocat,bar,cpa,eng,jur,law,med,recht<ps>edu,gov,sec,plo,com,org,net<pt>net,gov,org,edu,int,publ,com,nome<pw>co,ne,or,ed,go,belau<py>com,coop,edu,gov,mil,net,org<qa>com,edu,gov,mil,name,net,org,sch<re>asso,com,nom<ro>arts,com,firm,info,nom,nt,org,rec,store,tm,www<rs>ac,co,edu,gov,in,org<ru,rw>ac,co,coop,gov,mil,net,org<sa>com,net,org,gov,med,pub,edu,sch<sb>com,edu,gov,net,org<sc>com,gov,net,org,edu<sd>com,net,org,edu,med,tv,gov,info<se>a,ac,b,bd,brand,c,d,e,f,fh,fhsk,fhv,g,h,i,k,komforb,kommunalforbund,komvux,l,lanbib,m,n,naturbruksgymn,o,org,p,parti,pp,press,r,s,t,tm,u,w,x,y,z<sg>com,net,org,gov,edu,per<sh>com,net,gov,org,mil<si,sj,sk,sl>com,net,edu,gov,org<sm,sn>art,com,edu,gouv,org,perso,univ<so>com,edu,gov,me,net,org<sr,ss>biz,com,edu,gov,me,net,org,sch<st>co,com,consulado,edu,embaixada,mil,net,org,principe,saotome,store<su,sv>com,edu,gob,org,red<sx>gov<sy>edu,gov,net,mil,com,org<sz>co,ac,org<tc,td,tel,tf,tg,th>ac,co,go,in,mi,net,or<tj>ac,biz,co,com,edu,go,gov,int,mil,name,net,nic,org,test,web<tk,tl>gov<tm>com,co,org,net,nom,gov,mil,edu<tn>com,ens,fin,gov,ind,intl,nat,net,org,info,perso,tourism,edunet,rnrt,rns,rnu,mincom,agrinet,defense,turen<to>com,gov,net,org,edu,mil<tr>av,bbs,bel,biz,com,dr,edu,gen,gov,info,mil,k12,kep,name,net,org,pol,tel,tsk,tv,web,nc>gov<<tt>co,com,org,net,biz,info,pro,int,coop,jobs,mobi,travel,museum,aero,name,gov,edu<tv,tw>edu,gov,mil,com,net,org,idv,game,ebiz,club,xn--zf0ao64a,xn--uc0atv,xn--czrw28b<tz>ac,co,go,hotel,info,me,mil,mobi,ne,or,sc,tv<ua>com,edu,gov,in,net,org,cherkassy,cherkasy,chernigov,chernihiv,chernivtsi,chernovtsy,ck,cn,cr,crimea,cv,dn,dnepropetrovsk,dnipropetrovsk,donetsk,dp,if,ivano-frankivsk,kh,kharkiv,kharkov,kherson,khmelnitskiy,khmelnytskyi,kiev,kirovograd,km,kr,krym,ks,kv,kyiv,lg,lt,lugansk,lutsk,lv,lviv,mk,mykolaiv,nikolaev,od,odesa,odessa,pl,poltava,rivne,rovno,rv,sb,sebastopol,sevastopol,sm,sumy,te,ternopil,uz,uzhgorod,vinnica,vinnytsia,vn,volyn,yalta,zaporizhzhe,zaporizhzhia,zhitomir,zhytomyr,zp,zt<ug>co,or,ac,sc,go,ne,com,org<uk>ac,co,gov,ltd,me,net,nhs,org,plc,police,sch>*<<us>dni,fed,isa,kids,nsn,ak>k12,cc,lib<al>k12,cc,lib<ar>k12,cc,lib<as>k12,cc,lib<az>k12,cc,lib<ca>k12,cc,lib<co>k12,cc,lib<ct>k12,cc,lib<dc>k12,cc,lib<de>k12,cc<fl>k12,cc,lib<ga>k12,cc,lib<gu>k12,cc,lib<hi>cc,lib<ia>k12,cc,lib<id>k12,cc,lib<il>k12,cc,lib<in>k12,cc,lib<ks>k12,cc,lib<ky>k12,cc,lib<la>k12,cc,lib<ma>k12>pvt,chtr,paroch<cc,lib<md>k12,cc,lib<me>k12,cc,lib<mi>k12,cc,lib,ann-arbor,cog,dst,eaton,gen,mus,tec,washtenaw<mn>k12,cc,lib<mo>k12,cc,lib<ms>k12,cc,lib<mt>k12,cc,lib<nc>k12,cc,lib<nd>cc,lib<ne>k12,cc,lib<nh>k12,cc,lib<nj>k12,cc,lib<nm>k12,cc,lib<nv>k12,cc,lib<ny>k12,cc,lib<oh>k12,cc,lib<ok>k12,cc,lib<or>k12,cc,lib<pa>k12,cc,lib<pr>k12,cc,lib<ri>cc,lib<sc>k12,cc,lib<sd>cc,lib<tn>k12,cc,lib<tx>k12,cc,lib<ut>k12,cc,lib<vi>k12,cc,lib<vt>k12,cc,lib<va>k12,cc,lib<wa>k12,cc,lib<wi>k12,cc,lib<wv>cc<wy>k12,cc,lib<<uy>com,edu,gub,mil,net,org<uz>co,com,net,org<va,vc>com,net,org,gov,mil,edu<ve>arts,bib,co,com,e12,edu,firm,gob,gov,info,int,mil,net,nom,org,rar,rec,store,tec,web<vg,vi>co,com,k12,net,org<vn>com,net,org,edu,gov,int,ac,biz,info,name,pro,health<vu>com,edu,net,org<wf,ws>com,net,org,gov,edu<yt,xn--mgbaam7a8h,xn--y9a3aq,xn--54b7fta0cc,xn--90ae,xn--mgbcpq6gpa1a,xn--90ais,xn--fiqs8s,xn--fiqz9s,xn--lgbbat1ad8j,xn--wgbh1c,xn--e1a4c,xn--qxa6a,xn--mgbah1a3hjkrd,xn--node,xn--qxam,xn--j6w193g>xn--55qx5d,xn--wcvs22d,xn--mxtq1m,xn--gmqw5a,xn--od0alg,xn--uc0atv<xn--2scrj9c,xn--3hcrj9c,xn--45br5cyl,xn--h2breg3eve,xn--h2brj9c8c,xn--mgbgu82a,xn--rvc1e0am3e,xn--h2brj9c,xn--mgbbh1a,xn--mgbbh1a71e,xn--fpcrj9c3d,xn--gecrj9c,xn--s9brj9c,xn--45brj9c,xn--xkc2dl3a5ee0h,xn--mgba3a4f16a,xn--mgba3a4fra,xn--mgbtx2b,xn--mgbayh7gpa,xn--3e0b707e,xn--80ao21a,xn--q7ce6a,xn--fzc2c9e2c,xn--xkc2al3hye2a,xn--mgbc0a9azcg,xn--d1alf,xn--l1acc,xn--mix891f,xn--mix082f,xn--mgbx4cd0ab,xn--mgb9awbf,xn--mgbai9azgqp6j,xn--mgbai9a5eva00b,xn--ygbi2ammx,xn--90a3ac>xn--o1ac,xn--c1avg,xn--90azh,xn--d1at,xn--o1ach,xn--80au<xn--p1ai,xn--wgbl6a,xn--mgberp4a5d4ar,xn--mgberp4a5d4a87g,xn--mgbqly7c0a67fbc,xn--mgbqly7cvafr,xn--mgbpl2fh,xn--yfro4i67o,xn--clchc0ea0b2g2a9gcd,xn--ogbpf8fl,xn--mgbtf8fl,xn--o3cw4h>xn--12c1fe0br,xn--12co0c3b4eva,xn--h3cuzk1di,xn--o3cyx2a,xn--m3ch0j3a,xn--12cfi8ixb8l<xn--pgbs0dh,xn--kpry57d,xn--kprw13d,xn--nnx388a,xn--j1amh,xn--mgb2ddes,xxx,ye>com,edu,gov,net,mil,org<za>ac,agric,alt,co,edu,gov,grondar,law,mil,net,ngo,nic,nis,nom,org,school,tm,web<zm>ac,biz,co,com,edu,gov,info,mil,net,org,sch<zw>ac,co,gov,mil,org<aaa,aarp,abarth,abb,abbott,abbvie,abc,able,abogado,abudhabi,academy,accenture,accountant,accountants,aco,actor,adac,ads,adult,aeg,aetna,afamilycompany,afl,africa,agakhan,agency,aig,airbus,airforce,airtel,akdn,alfaromeo,alibaba,alipay,allfinanz,allstate,ally,alsace,alstom,amazon,americanexpress,americanfamily,amex,amfam,amica,amsterdam,analytics,android,anquan,anz,aol,apartments,app,apple,aquarelle,arab,aramco,archi,army,art,arte,asda,associates,athleta,attorney,auction,audi,audible,audio,auspost,author,auto,autos,avianca,aws,axa,azure,baby,baidu,banamex,bananarepublic,band,bank,bar,barcelona,barclaycard,barclays,barefoot,bargains,baseball,basketball,bauhaus,bayern,bbc,bbt,bbva,bcg,bcn,beats,beauty,beer,bentley,berlin,best,bestbuy,bet,bharti,bible,bid,bike,bing,bingo,bio,black,blackfriday,blockbuster,blog,bloomberg,blue,bms,bmw,bnpparibas,boats,boehringer,bofa,bom,bond,boo,book,booking,bosch,bostik,boston,bot,boutique,box,bradesco,bridgestone,broadway,broker,brother,brussels,budapest,bugatti,build,builders,business,buy,buzz,bzh,cab,cafe,cal,call,calvinklein,cam,camera,camp,cancerresearch,canon,capetown,capital,capitalone,car,caravan,cards,care,career,careers,cars,casa,case,cash,casino,catering,catholic,cba,cbn,cbre,cbs,center,ceo,cern,cfa,cfd,chanel,channel,charity,chase,chat,cheap,chintai,christmas,chrome,church,cipriani,circle,cisco,citadel,citi,citic,city,cityeats,claims,cleaning,click,clinic,clinique,clothing,cloud,club,clubmed,coach,codes,coffee,college,cologne,comcast,commbank,community,company,compare,computer,comsec,condos,construction,consulting,contact,contractors,cooking,cookingchannel,cool,corsica,country,coupon,coupons,courses,cpa,credit,creditcard,creditunion,cricket,crown,crs,cruise,cruises,csc,cuisinella,cymru,cyou,dabur,dad,dance,data,date,dating,datsun,day,dclk,dds,deal,dealer,deals,degree,delivery,dell,deloitte,delta,democrat,dental,dentist,desi,design,dev,dhl,diamonds,diet,digital,direct,directory,discount,discover,dish,diy,dnp,docs,doctor,dog,domains,dot,download,drive,dtv,dubai,duck,dunlop,dupont,durban,dvag,dvr,earth,eat,eco,edeka,education,email,emerck,energy,engineer,engineering,enterprises,epson,equipment,ericsson,erni,esq,estate,etisalat,eurovision,eus,events,exchange,expert,exposed,express,extraspace,fage,fail,fairwinds,faith,family,fan,fans,farm,farmers,fashion,fast,fedex,feedback,ferrari,ferrero,fiat,fidelity,fido,film,final,finance,financial,fire,firestone,firmdale,fish,fishing,fit,fitness,flickr,flights,flir,florist,flowers,fly,foo,food,foodnetwork,football,ford,forex,forsale,forum,foundation,fox,free,fresenius,frl,frogans,frontdoor,frontier,ftr,fujitsu,fun,fund,furniture,futbol,fyi,gal,gallery,gallo,gallup,game,games,gap,garden,gay,gbiz,gdn,gea,gent,genting,george,ggee,gift,gifts,gives,giving,glade,glass,gle,global,globo,gmail,gmbh,gmo,gmx,godaddy,gold,goldpoint,golf,goo,goodyear,goog,google,gop,got,grainger,graphics,gratis,green,gripe,grocery,group,guardian,gucci,guge,guide,guitars,guru,hair,hamburg,hangout,haus,hbo,hdfc,hdfcbank,health,healthcare,help,helsinki,here,hermes,hgtv,hiphop,hisamitsu,hitachi,hiv,hkt,hockey,holdings,holiday,homedepot,homegoods,homes,homesense,honda,horse,hospital,host,hosting,hot,hoteles,hotels,hotmail,house,how,hsbc,hughes,hyatt,hyundai,ibm,icbc,ice,icu,ieee,ifm,ikano,imamat,imdb,immo,immobilien,inc,industries,infiniti,ing,ink,institute,insurance,insure,international,intuit,investments,ipiranga,irish,ismaili,ist,istanbul,itau,itv,jaguar,java,jcb,jeep,jetzt,jewelry,jio,jll,jmp,jnj,joburg,jot,joy,jpmorgan,jprs,juegos,juniper,kaufen,kddi,kerryhotels,kerrylogistics,kerryproperties,kfh,kia,kids,kim,kinder,kindle,kitchen,kiwi,koeln,komatsu,kosher,kpmg,kpn,krd,kred,kuokgroup,kyoto,lacaixa,lamborghini,lamer,lancaster,lancia,land,landrover,lanxess,lasalle,lat,latino,latrobe,law,lawyer,lds,lease,leclerc,lefrak,legal,lego,lexus,lgbt,lidl,life,lifeinsurance,lifestyle,lighting,like,lilly,limited,limo,lincoln,linde,link,lipsy,live,living,lixil,llc,llp,loan,loans,locker,locus,loft,lol,london,lotte,lotto,love,lpl,lplfinancial,ltd,ltda,lundbeck,luxe,luxury,macys,madrid,maif,maison,makeup,man,management,mango,map,market,marketing,markets,marriott,marshalls,maserati,mattel,mba,mckinsey,med,media,meet,melbourne,meme,memorial,men,menu,merckmsd,miami,microsoft,mini,mint,mit,mitsubishi,mlb,mls,mma,mobile,moda,moe,moi,mom,monash,money,monster,mormon,mortgage,moscow,moto,motorcycles,mov,movie,msd,mtn,mtr,music,mutual,nab,nagoya,natura,navy,nba,nec,netbank,netflix,network,neustar,new,news,next,nextdirect,nexus,nfl,ngo,nhk,nico,nike,nikon,ninja,nissan,nissay,nokia,northwesternmutual,norton,now,nowruz,nowtv,nra,nrw,ntt,nyc,obi,observer,off,office,okinawa,olayan,olayangroup,oldnavy,ollo,omega,one,ong,onl,online,ooo,open,oracle,orange,organic,origins,osaka,otsuka,ott,ovh,page,panasonic,paris,pars,partners,parts,party,passagens,pay,pccw,pet,pfizer,pharmacy,phd,philips,phone,photo,photography,photos,physio,pics,pictet,pictures,pid,pin,ping,pink,pioneer,pizza,place,play,playstation,plumbing,plus,pnc,pohl,poker,politie,porn,pramerica,praxi,press,prime,prod,productions,prof,progressive,promo,properties,property,protection,pru,prudential,pub,pwc,qpon,quebec,quest,qvc,racing,radio,raid,read,realestate,realtor,realty,recipes,red,redstone,redumbrella,rehab,reise,reisen,reit,reliance,ren,rent,rentals,repair,report,republican,rest,restaurant,review,reviews,rexroth,rich,richardli,ricoh,ril,rio,rip,rmit,rocher,rocks,rodeo,rogers,room,rsvp,rugby,ruhr,run,rwe,ryukyu,saarland,safe,safety,sakura,sale,salon,samsclub,samsung,sandvik,sandvikcoromant,sanofi,sap,sarl,sas,save,saxo,sbi,sbs,sca,scb,schaeffler,schmidt,scholarships,school,schule,schwarz,science,scjohnson,scot,search,seat,secure,security,seek,select,sener,services,ses,seven,sew,sex,sexy,sfr,shangrila,sharp,shaw,shell,shia,shiksha,shoes,shop,shopping,shouji,show,showtime,silk,sina,singles,site,ski,skin,sky,skype,sling,smart,smile,sncf,soccer,social,softbank,software,sohu,solar,solutions,song,sony,soy,spa,space,sport,spot,srl,stada,staples,star,statebank,statefarm,stc,stcgroup,stockholm,storage,store,stream,studio,study,style,sucks,supplies,supply,support,surf,surgery,suzuki,swatch,swiftcover,swiss,sydney,systems,tab,taipei,talk,taobao,target,tatamotors,tatar,tattoo,tax,taxi,tci,tdk,team,tech,technology,temasek,tennis,teva,thd,theater,theatre,tiaa,tickets,tienda,tiffany,tips,tires,tirol,tjmaxx,tjx,tkmaxx,tmall,today,tokyo,tools,top,toray,toshiba,total,tours,town,toyota,toys,trade,trading,training,travel,travelchannel,travelers,travelersinsurance,trust,trv,tube,tui,tunes,tushu,tvs,ubank,ubs,unicom,university,uno,uol,ups,vacations,vana,vanguard,vegas,ventures,verisign,versicherung,vet,viajes,video,vig,viking,villas,vin,vip,virgin,visa,vision,viva,vivo,vlaanderen,vodka,volkswagen,volvo,vote,voting,voto,voyage,vuelos,wales,walmart,walter,wang,wanggou,watch,watches,weather,weatherchannel,webcam,weber,website,wedding,weibo,weir,whoswho,wien,wiki,williamhill,win,windows,wine,winners,wme,wolterskluwer,woodside,work,works,world,wow,wtc,wtf,xbox,xerox,xfinity,xihuan,xin,xn--11b4c3d,xn--1ck2e1b,xn--1qqw23a,xn--30rr7y,xn--3bst00m,xn--3ds443g,xn--3oq18vl8pn36a,xn--3pxu8k,xn--42c2d9a,xn--45q11c,xn--4gbrim,xn--55qw42g,xn--55qx5d,xn--5su34j936bgsg,xn--5tzm5g,xn--6frz82g,xn--6qq986b3xl,xn--80adxhks,xn--80aqecdr1a,xn--80asehdb,xn--80aswg,xn--8y0a063a,xn--9dbq2a,xn--9et52u,xn--9krt00a,xn--b4w605ferd,xn--bck1b9a5dre4c,xn--c1avg,xn--c2br7g,xn--cck2b3b,xn--cckwcxetd,xn--cg4bki,xn--czr694b,xn--czrs0t,xn--czru2d,xn--d1acj3b,xn--eckvdtc9d,xn--efvy88h,xn--fct429k,xn--fhbei,xn--fiq228c5hs,xn--fiq64b,xn--fjq720a,xn--flw351e,xn--fzys8d69uvgm,xn--g2xx48c,xn--gckr3f0f,xn--gk3at1e,xn--hxt814e,xn--i1b6b1a6a2e,xn--imr513n,xn--io0a7i,xn--j1aef,xn--jlq480n2rg,xn--jlq61u9w7b,xn--jvr189m,xn--kcrx77d1x4a,xn--kput3i,xn--mgba3a3ejt,xn--mgba7c0bbn0a,xn--mgbaakc7dvf,xn--mgbab2bd,xn--mgbca7dzdo,xn--mgbi4ecexp,xn--mgbt3dhd,xn--mk1bu44c,xn--mxtq1m,xn--ngbc5azd,xn--ngbe9e0a,xn--ngbrx,xn--nqv7f,xn--nqv7fs00ema,xn--nyqy26a,xn--otu796d,xn--p1acf,xn--pssy2u,xn--q9jyb4c,xn--qcka1pmc,xn--rhqv96g,xn--rovu88b,xn--ses554g,xn--t60b56a,xn--tckwe,xn--tiq49xqyj,xn--unup4y,xn--vermgensberater-ctb,xn--vermgensberatung-pwb,xn--vhquv,xn--vuq861b,xn--w4r85el8fhu5dnra,xn--w4rs40l,xn--xhq521b,xn--zfr164b,xyz,yachts,yahoo,yamaxun,yandex,yodobashi,yoga,yokohama,you,youtube,yun,zappos,zara,zero,zip,zone,zuerich"),we=null!=we?we:Ee("ua>cc,inf,ltd,cx,biz,co,pp,v<to>611,oya,rdv,vpnplus,quickconnect>direct<nyan<us>graphox,cloudns,drud,is-by,land-4-sale,stuff-4-sale,enscaled>phx<mircloud,freeddns,golffan,noip,pointto,platterp,de>lib<<com>devcdnaccesso>*<adobeaemcloud>dev>*<<kasserver,amazonaws>compute>*<compute-1>*<us-east-1>dualstack>s3<<elb>*<s3,s3-ap-northeast-1,s3-ap-northeast-2,s3-ap-south-1,s3-ap-southeast-1,s3-ap-southeast-2,s3-ca-central-1,s3-eu-central-1,s3-eu-west-1,s3-eu-west-2,s3-eu-west-3,s3-external-1,s3-fips-us-gov-west-1,s3-sa-east-1,s3-us-gov-west-1,s3-us-east-2,s3-us-west-1,s3-us-west-2,ap-northeast-2>s3,dualstack>s3<s3-website<ap-south-1>s3,dualstack>s3<s3-website<ca-central-1>s3,dualstack>s3<s3-website<eu-central-1>s3,dualstack>s3<s3-website<eu-west-2>s3,dualstack>s3<s3-website<eu-west-3>s3,dualstack>s3<s3-website<us-east-2>s3,dualstack>s3<s3-website<ap-northeast-1>dualstack>s3<<ap-southeast-1>dualstack>s3<<ap-southeast-2>dualstack>s3<<eu-west-1>dualstack>s3<<sa-east-1>dualstack>s3<<s3-website-us-east-1,s3-website-us-west-1,s3-website-us-west-2,s3-website-ap-northeast-1,s3-website-ap-southeast-1,s3-website-ap-southeast-2,s3-website-eu-west-1,s3-website-sa-east-1<elasticbeanstalk>ap-northeast-1,ap-northeast-2,ap-northeast-3,ap-south-1,ap-southeast-1,ap-southeast-2,ca-central-1,eu-central-1,eu-west-1,eu-west-2,eu-west-3,sa-east-1,us-east-1,us-east-2,us-gov-west-1,us-west-1,us-west-2<awsglobalaccelerator,appspacehosted,appspaceusercontent,on-aptible,myasustor,balena-devices,betainabox,boutir,bplaced,cafjs,br,cn,de,eu,jpn,mex,ru,sa,uk,us,za,ar,gb,hu,kr,no,qc,uy,africa,gr,co,jdevcloud,wpdevcloud,cloudcontrolled,cloudcontrolapp,trycloudflare,customer-oci>*,oci>*<ocp>*<ocs>*<<dattolocal,dattorelay,dattoweb,mydatto,builtwithdark,datadetect>demo,instance<ddns5,drayddns,dreamhosters,mydrobo,dyndns-at-home,dyndns-at-work,dyndns-blog,dyndns-free,dyndns-home,dyndns-ip,dyndns-mail,dyndns-office,dyndns-pics,dyndns-remote,dyndns-server,dyndns-web,dyndns-wiki,dyndns-work,blogdns,cechire,dnsalias,dnsdojo,doesntexist,dontexist,doomdns,dyn-o-saur,dynalias,est-a-la-maison,est-a-la-masion,est-le-patron,est-mon-blogueur,from-ak,from-al,from-ar,from-ca,from-ct,from-dc,from-de,from-fl,from-ga,from-hi,from-ia,from-id,from-il,from-in,from-ks,from-ky,from-ma,from-md,from-mi,from-mn,from-mo,from-ms,from-mt,from-nc,from-nd,from-ne,from-nh,from-nj,from-nm,from-nv,from-oh,from-ok,from-or,from-pa,from-pr,from-ri,from-sc,from-sd,from-tn,from-tx,from-ut,from-va,from-vt,from-wa,from-wi,from-wv,from-wy,getmyip,gotdns,hobby-site,homelinux,homeunix,iamallama,is-a-anarchist,is-a-blogger,is-a-bookkeeper,is-a-bulls-fan,is-a-caterer,is-a-chef,is-a-conservative,is-a-cpa,is-a-cubicle-slave,is-a-democrat,is-a-designer,is-a-doctor,is-a-financialadvisor,is-a-geek,is-a-green,is-a-guru,is-a-hard-worker,is-a-hunter,is-a-landscaper,is-a-lawyer,is-a-liberal,is-a-libertarian,is-a-llama,is-a-musician,is-a-nascarfan,is-a-nurse,is-a-painter,is-a-personaltrainer,is-a-photographer,is-a-player,is-a-republican,is-a-rockstar,is-a-socialist,is-a-student,is-a-teacher,is-a-techie,is-a-therapist,is-an-accountant,is-an-actor,is-an-actress,is-an-anarchist,is-an-artist,is-an-engineer,is-an-entertainer,is-certified,is-gone,is-into-anime,is-into-cars,is-into-cartoons,is-into-games,is-leet,is-not-certified,is-slick,is-uberleet,is-with-theband,isa-geek,isa-hockeynut,issmarterthanyou,likes-pie,likescandy,neat-url,saves-the-whales,selfip,sells-for-less,sells-for-u,servebbs,simple-url,space-to-rent,teaches-yoga,writesthisblog,ddnsfree,ddnsgeek,giize,gleeze,kozow,loseyourip,ooguy,theworkpc,elluciancrmadvance,elluciancrmadvise,elluciancrmrecruit,mytuleap,tuleap-partners,evennode>eu-1,eu-2,eu-3,eu-4,us-1,us-2,us-3,us-4<onfabrica,fbsbx>apps<fastly-terrarium,fastvps-server,mydobiss,firebaseapp,forgeblocks,framercanvas,freebox-os,freeboxos,freemyip,gentapps,gentlentapis,githubusercontent,0emm>*<appspot>r>*<<codespot,googleapis,googlecode,pagespeedmobilizer,publishproxy,withgoogle,withyoutube,blogspot,awsmppl,herokuapp,herokussl,myravendb,impertrixcdn,impertrix,smushcdn,wphostedmail,wpmucdn,pixolino,amscompute,clicketcloud,dopaas,hidora,hosted-by-previder>paas<hosteur>rag-cloud,rag-cloud-ch<ik-server>jcloud,jcloud-ver-jpc<jelastic>demo<kilatiron,massivegrid>paas<wafaicloud>jed,lon,ryd<joyent>cns>*<<lpusercontent,lmpm>app<linode>members,nodebalancer>*<<linodeobjects>*<barsycenter,barsyonline,mazeplay,miniserver,meteorapp>eu<hostedpi,mythic-beasts>customer,caracal,fentiger,lynx,ocelot,oncilla,onza,sphinx,vs,x,yali<4u,nfshost,001www,ddnslive,myiphost,blogsyte,ciscofreak,damnserver,ditchyourip,dnsiskinky,dynns,geekgalaxy,health-carereform,homesecuritymac,homesecuritypc,myactivedirectory,mysecuritycamera,net-freaks,onthewifi,point2this,quicksytes,securitytactics,serveexchange,servehumour,servep2p,servesarcasm,stufftoread,unusualperson,workisboring,3utilities,ddnsking,myvnc,servebeer,servecounterstrike,serveftp,servegame,servehalflife,servehttp,serveirc,servemp3,servepics,servequake,observableusercontent>static<orsites,operaunite,authgear-staging,authgearapps,skygearapp,outsystemscloud,ownprovider,pgfog,pagefrontapp,pagexl,paywhirl>*<gotpantheon,platter-app,pleskns,postman-echo,prgmr>xen<pythonanywhere>eu<qualifioapp,qbuser,qa2,dev-myqnapcloud,alpha-myqnapcloud,myqnapcloud,quipelements>*<rackmaze,rhcloud,render>app<onrender,logoip,scrysec,firewall-gateway,myshopblocks,myshopify,shopitsite,1kapp,appchizi,applinzi,sinaapp,vipsinaapp,bounty-full>alpha,beta<try-snowplow,stackhero-network,playstation-cloud,myspreadshop,stdlib>api<temp-dns,dsmynas,familyds,reservd,thingdustdata,bloxcms,townnews-staging,hk,wafflecell,idnblogger,indowapblog,reserve-online,hotelwithflight,remotewd,wiardweb>pages<woltlab-demo,wpenginepowered>js<wixsite,xnbay>u2,u2-local<yolasite<live>hlx<net>adobeaemcloud,alwaysdata,cloudfront,t3l3p0rt,appudo,atlassian-dev>prod>cdn<<myfritz,onavstack,blackbaudcdn,boomla,bplaced,square7,gb,hu,jp,se,uk,in,clic2000,clickrising,cloudaccess,cdn77-ssl,cdn77>r<feste-ip,knx-server,static-access,cryptonomic>*<dattolocal,mydatto,debian,bitbridge,at-band-camp,blogdns,broke-it,buyshouses,dnsalias,dnsdojo,does-it,dontexist,dynalias,dynathome,endofinternet,from-az,from-co,from-la,from-ny,gets-it,ham-radio-op,homeftp,homeip,homelinux,homeunix,in-the-band,is-a-chef,is-a-geek,isa-geek,kicks-ass,office-on-the,podzone,scrapper-site,selfip,sells-it,servebbs,serveftp,thruhere,webhop,definima,casacam,dynu,dynv6,twmail,ru,channelsdvr>u<fastlylb>map<fastly>freetls,map,prod>a,global<ssl>a,b,global<<edgeapp,flynnhosting,cdn-edges,cloudfunctions,moonscale,in-dsl,in-vpn,ipifony,iobb,cloudjiffy>fra1-de,west1-us<elastx>jls-sto1,jls-sto2,jls-sto3<faststacks,massivegrid>paas>fr-1,lon-1,lon-2,ny-1,ny-2,sg-1<<saveincloud>jelastic,nordeste-idc<scaleforce>j<tsukaeru>jelastic<kinghost,uni5,krellian,barsy,memset,azurewebsites,azure-mobile,cloudapp,azurestaticapps>centralus,eastasia,eastus2,westeurope,westus2<dnsup,hicam,now-dns,ownip,vpndns,eating-organic,mydissent,myeffect,mymediapc,mypsx,mysecuritycamera,nhlfan,no-ip,pgafan,privatizehealthinsurance,bounceme,ddns,redirectme,serveblog,serveminecraft,sytes,cloudycluster,ovh>webpaas>*<hosting>*<<bar0,bar1,bar2,rackmaze,schokokeks,firewall-gateway,seidat,senseering,siteleaf,vps-host>jelastic>atl,njs,ric<<myspreadshop,srcf>soc,user<supabase,dsmynas,familyds,torproject>pages<fastblog,reserve-online,community-pro,meinforum,yandexcloud>storage,website<za<page>hlx,hlx3,pdns,plesk,prvcy,magnet<pl>beep,ecommerce-shop,shoparena,homesklep,sdscloud,unicloud,krasnik,leczna,lubartow,lublin,poniatowa,swidnik,co,art,gliwice,krakow,poznan,wroc,zakopane,myspreadshop,gda,gdansk,gdynia,med,sopot<ca>barsy,awdev>*<co,blogspot,no-ip,myspreadshop<estate>compute>*<<network>alces>*<co,arvo,azimuth,tlon<org>altervista,amune>tele<pimienta,poivron,potager,sweetpepper,ae,us,certmgr,cdn77>c,rsc<cdn77-secure>origin>ssl<<cloudns,duckdns,tunk,dyndns>go,home<blogdns,blogsite,boldlygoingnowhere,dnsalias,dnsdojo,doesntexist,dontexist,doomdns,dvrdns,dynalias,endofinternet,endoftheinternet,from-me,game-host,gotdns,hobby-site,homedns,homeftp,homelinux,homeunix,is-a-bruinsfan,is-a-candidate,is-a-celticsfan,is-a-chef,is-a-geek,is-a-knight,is-a-linux-user,is-a-patsfan,is-a-soxfan,is-found,is-lost,is-saved,is-very-bad,is-very-evil,is-very-good,is-very-nice,is-very-sweet,isa-geek,kicks-ass,misconfused,podzone,readmyblog,selfip,sellsyourhome,servebbs,serveftp,servegame,stuff-4-sale,webhop,ddnss,accesscam,camdvr,freeddns,mywire,webredirect,eu>al,asso,at,au,be,bg,ca,cd,ch,cn,cy,cz,de,dk,edu,ee,es,fi,fr,gr,hr,hu,ie,il,in,int,is,it,jp,kr,lt,lu,lv,mc,me,mk,mt,my,net,ng,nl,no,nz,paris,pl,pt,q-a,ro,ru,se,si,sk,tr,uk,us<twmail,fedorainfracloud,fedorapeople,fedoraproject>cloud,os>app<stg>os>app<<<freedesktop,hepforge,in-dsl,in-vpn,js,barsy,mayfirst,mozilla-iot,bmoattachments,dynserv,now-dns,cable-modem,collegefan,couchpotatofries,mlbfan,mysecuritycamera,nflfan,read-books,ufcfan,hopto,myftp,no-ip,zapto,httpbin,pubtls,my-firewall,myfirewall,spdns,small-web,dsmynas,familyds,edugit,tuxfamily,diskstation,hk,wmflabs,toolforge,wmcloud,za<cn>com>amazonaws>compute>*<eb>cn-north-1,cn-northwest-1<elb>*<cn-north-1>s3<<<instantcloud<nl>amsw,virtueeldomein,co,hosting-cluster,blogspot,khplay,myspreadshop,transurl>*<cistron,demon<io>apigee,b-data,backplaneapp,banzaicloud>app,backyards>*<<bitbucket,bluebite,boxfuse,browsersafetymark,bigv>uk0<cleverapps,dappnode>dyndns<dedyn,drud,definima,fh-muenster,shw,forgerock>id<ghost,github,gitlab,lolipop,hasura-app,hostyhosting,moonscale>*<beebyte>paas<beebyteapp>sekd1<jele,unispace>cloud-fr1<webthings,loginline,barsy,azurecontainer>*<ngrok,nodeart>stage<nodum,nid,pantheonsite,dyn53,pstmn>mock<protonet,qoto,qcx>sys>*<<vaporcloud,vbrplsbx>g<on-k3s>*<on-rio>*<readthedocs,resindevice,resinstaging>devices<hzc,sandcats,shiftcrypto,shiftedit,mo-siemens,lair>apps<stolos>*<spacekit,utwente,s5y>*<telebit,thingdust>dev>cust,reservd<disrec>cust,reservd<prod>cust<testing>cust,reservd<<2038,wedeploy,editorx,basicserver,virtualserver<jp>ne>aseinet>user<gehirn<usercontent,blogspot<vc>gv>d<0e<eus>party>user<<ws>advisor>*<cloud66,dyndns,mypets<ba>rs,blogspot<cloud>banzai>*<elementor,statics>*<axarnet>es-1<diadem,jelastic>vip<jele,jenv-aruba>aruba>eur>it1<<it1<keliweb>cs<oxa>tn,uk<primetel>uk<reclaim>ca,uk,us<trendhosting>ch,de<jotelulu,kuleuven,linkyard,magentosite>*<perspecta,vapor,on-rancher>*<sensiosite>*<trafficplex,urown,voorloper<la>bnr,c<je>of<ch>square7,blogspot,flow>ae>alp1<appengine<linkyard-cloud,dnsking,gotdns,myspreadshop,firenet>*,svc>*<<12hp,2ix,4lima,lima-city<de>bplaced,square7,com,cosidns>dyn<dynamisches-dns,dnsupdater,internet-dns,l-o-g-i-n,dnshome,fuettertdasnetz,isteingeek,istmein,lebtimnetz,leitungsen,traeumtgerade,ddnss>dyn,dyndns<dyndns1,dyn-ip24,home-webserver>dyn<myhome-server,frusky>*<goip,blogspot,xn--gnstigbestellen-zvb,xn--gnstigliefern-wob,hs-heilbronn>it>pages<<dyn-berlin,in-berlin,in-brb,in-butter,in-dsl,in-vpn,mein-iserv,schulserver,test-iserv,keymachine,git-repos,lcube-server,svn-repos,barsy,logoip,firewall-gateway,my-gateway,my-router,spdns,speedpartner>customer<myspreadshop,taifun-dns,12hp,2ix,4lima,lima-city,dd-dns,dray-dns,draydns,dyn-vpn,dynvpn,mein-vigor,my-vigor,my-wan,syno-ds,synology-diskstation,synology-ds,uberspace>*<virtualuser,virtual-user,community-pro,diskussionsbereich<rs>brendly>shop<blogspot,ua,ox<uk>co>bytemark>dh,vm<blogspot,layershift>j<barsy,barsyonline,retrosnub>cust<nh-serv,no-ip,wellbeingzone,adimo,myspreadshop,gwiddle<conn,copro,hosp,gov>service,homeoffice<pymnt,org>glug,lug,lugs,affinitylottery,raffleentry,weeklylottery<barsy<eu>mycd,cloudns,dogado>jelastic<barsy,wellbeingzone,spdns,transurl>*<diskstation<ac>drr<ai>uwu<co>carrd,crd,otap>*<com>blogspot<leadpages,lpages,mypi,n4t,nodum,repl>id<supabase<mp>ju<se>com,blogspot,conf,iopsys,itcouldbewor,myspreadshop,paba>su<<bz>za,gsj<in>web,cloudns,blogspot,barsy,supabase<basketball>aus,nz<am>radio,blogspot,neko,nyaa<fm>radio<group>discourse<team>discourse,jelastic<app>clerk,clerkstage,wnext,platform0,ondigitalocean,edgecompute,fireweb,framer,run>a<web,hasura,loginline,netlify,developer>*<noop,northflank>*<telebit,vercel,bookonline<dev>lcl>*<lclstage>*<stg>*<stgstage>*<pages,workers,curv,deno,deno-staging,fly,githubpreview,gateway>*<iserv,loginline,mediatech,platter-app,shiftcrypto,vercel,webhare>*<<me>c66,daplie>localhost<edgestack,couk,ukco,filegear,filegear-au,filegear-de,filegear-gb,filegear-ie,filegear-jp,filegear-sg,glitch,ravendb,lohmus,barsy,mcpe,mcdir,nctu,soundcast,tcp4,brasilia,ddns,dnsfor,hopto,loginto,noip,webhop,vp4,diskstation,dscloud,i234,myds,synology,tbits,wbq,wedeploy,yombo,nohost<zone>cloud66,hs,triton>*<lima<host>cloudaccess,freesite,fastvps,myfast,tempurl,wpmudev,jele,mircloud,pcloud,half<site>cloudera>*<cyon,fnwk,folionetwork,fastvps,jele,lelux,loginline,barsy,mintere,omniwe,opensocial,platformsh>*<tst>*<byen,srht,novecore<cz>co,realm,e4,blogspot,metacentrum>cloud>*<custom<muni>cloud>flt,usr<<<asia>cloudns<biz>cloudns,jozi,dyndns,for-better,for-more,for-some,for-the,selfip,webhop,orx,mmafan,myftp,no-ip,dscloud<club>cloudns,jele,barsy,pony<cc>cloudns,ftpaccess,game-server,myphotos,scrapping,twmail,csx,fantasyleague<info>cloudns,dynamic-dns,dyndns,barrel-of-knowledge,barrell-of-knowledge,for-our,groks-the,groks-this,here-for-more,knowsitall,selfip,webhop,barsy,mayfirst,forumz,nsupdate,dvrcam,ilovecollege,no-ip,dnsupdate,v-info<pro>cloudns,dnstrace>bci<barsy<pw>cloudns,x443<gdn>cnpy<no>co,blogspot,myspreadshop<be>webhosting,blogspot,interhostsolutions>cloud<kuleuven>ezproxy<myspreadshop,transurl>*<<ru>ac,edu,gov,int,mil,test,eurodir,adygeya,bashkiria,bir,cbg,com,dagestan,grozny,kalmykia,kustanai,marine,mordovia,msk,mytis,nalchik,nov,pyatigorsk,spb,vladikavkaz,vladimir,blogspot,na4u,mircloud,regruhosting>jelastic<myjino>hosting>*<landing>*<spectrum>*<vps>*<<cldmail>hb<mcdir>vps<mcpre,net,org,pp,lk3,ras<is>cupcake,blogspot<link>cyon,mypep,dweb>*<<dk>biz,co,firm,reg,store,blogspot,myspreadshop<earth>dapps>*,bzz>*<<<id>my>rss>*<<flap,co>blogspot<forte,bloger,wblog<solutions>diher>*<<th>online,shop<sh>bip,hashbang,platform>bc,ent,eu,us<now,vxl,wedeploy<fi>dy,blogspot,xn--hkkinen-5wa,iki,cloudplatform>fi<datacenter>demo,paas<myspreadshop<tv>dyndns,better-than,on-the-web,worse-than<cx>ath,info<name>her>forgot<his>forgot<<nu>merseine,mine,shacknet,enterprisecloud<rocks>myddns,lima-city,webspace<xyz>blogsite,localzone,crafting,zapto,telebit>*<<online>eero,eero-stage,barsy<cool>elementor,de<fr>en-root,fbx-os,fbxos,freebox-os,freeboxos,blogspot,goupile,on-web,chirurgiens-dentistes-en-france,myspreadshop,ynh<one>onred>staging<service,for,under,homelink<tw>com>mymailer<url,blogspot<su>abkhazia,adygeya,aktyubinsk,arkhangelsk,armenia,ashgabad,azerbaijan,balashov,bashkiria,bryansk,bukhara,chimkent,dagestan,east-kazakhstan,exnet,georgia,grozny,ivanovo,jambyl,kalmykia,kaluga,karacol,karaganda,karelia,khakassia,krasnodar,kurgan,kustanai,lenug,mangyshlak,mordovia,msk,murmansk,nalchik,navoi,north-kazakhstan,nov,obninsk,penza,pokrovsk,sochi,spb,tashkent,termez,togliatti,troitsk,tselinograd,tula,tuva,vladikavkaz,vladimir,vologda<space>myfast,uber,xs4all<il>co>ravpage,blogspot,tabitorder<<at>funkfeuer>wien<futurecms>*,ex>*<in>*<<futurehosting,futuremailing,ortsinfo>ex>*<kunden>*<<co>blogspot<biz,info,priv,myspreadshop,12hp,2ix,4lima,lima-city<ms>lab,minisite<si>gitapp,gitpage,blogspot<community>nog,ravendb,myforum<ro>co,shop,blogspot,barsy<digital>cloudapps>london<<im>ro<goog>cloud,translate<ae>blogspot<al>blogspot<bg>blogspot,barsy<bj>blogspot<cf>blogspot<cl>blogspot<ke>co>blogspot<<nz>co>blogspot<<za>co>blogspot<<ar>com>blogspot<<au>com>blogspot,cloudlets>mel<myspreadshop<<br>com>blogspot,virtualcloud>scale>users<<<leg>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<<by>com>blogspot<mycloud,mediatech<cy>com>blogspot,scaleforce>j<<<ee>com>blogspot<<eg>com>blogspot<<es>com>blogspot<myspreadshop<mt>com>blogspot<<ng>com>blogspot<col,firm,gen,ltd,ngo<tr>com>blogspot<<uy>com>blogspot<<cv>blogspot<gr>blogspot<hk>blogspot,secaas,ltd,inc<hr>blogspot,free<hu>blogspot<ie>blogspot,myspreadshop<it>blogspot,neen>jc<tim>open>jelastic>cloud<<<16-b,32-b,64-b,myspreadshop,syncloud<kr>blogspot<li>blogspot,caa<lt>blogspot<lu>blogspot<md>blogspot,at,de,jp,to<mk>blogspot<mr>blogspot<mx>blogspot<my>blogspot<pe>blogspot<pt>blogspot<qa>blogspot<re>blogspot<sg>blogspot,enscaled<sk>blogspot<sn>blogspot<td>blogspot<ug>blogspot<vn>blogspot<ci>fin,nl<run>hs,development,ravendb,servers,code>*<repl<gl>biz,xx<scot>edu,gov>service<<so>sch<yt>org<kz>jcloud,kazteleport>upaas<<tn>orangecloud<gg>kaas,cya,panel>daemon<<systems>knightpoint<krd>co,edu<business>co<education>co<events>co<financial>co<place>co<technology>co<bs>we<services>loginline<menu>barsy<mobi>barsy,dscloud<pub>barsy<shop>barsy<support>barsy<vu>cn,blog,dev,me<health>hra<casa>nabu>ui<<fashion>of<london>in,of<marketing>from,with<men>for,repair<mom>and,for<sale>for<win>that<work>from,to<news>noticeable<top>now-dns,ntdll<ovh>nerdpol<mn>nyc<lol>omg<hosting>opencraft<pm>own<codes>owo>*<<lc>oy<bn>co<builders>cloudsite<edu>rit>git-pages<<xn--p1acf>xn--90amc,xn--j1aef,xn--j1ael8b,xn--h1ahn,xn--j1adp,xn--c1avg,xn--80aaa0cvac,xn--h1aliz,xn--90a1af,xn--41a<store>sellfy,shopware,storebase<land>static>dev,sites<<farm>storj<pictures>1337<rip>clan<management>router<ax>be,cat,es,eu,gg,mc,us,xy<gp>app<gt>blog,de,to<gy>be<hn>cc<kg>blog,io,jp,tv,uk,us<ls>de<porn>indie<tc>ch,me,we<vg>at<academy>official<faith>ybo<party>ybo<review>ybo<science>ybo<trade>ybo<st>noho<design>bss");const i=jg(g,ue),o=jg(g,we);if(0===i.length&&0===o.length)return{type:le.NotListed,hostname:e,labels:g};const I=g.length-Math.max(o.length,i.length)-1,a=g.length-i.length-1;return Object.assign({type:le.Listed,hostname:e,labels:g,icann:de(g,a)},de(g,I))};function me(A){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(A)}function ye(A,t){return A&t}function fe(A,t){return A|t}function pe(A,t){return A^t}function ke(A,t){return A&~t}function Ge(A){if(0==A)return-1;var t=0;return 65535&A||(A>>=16,t+=16),255&A||(A>>=8,t+=8),15&A||(A>>=4,t+=4),3&A||(A>>=2,t+=2),1&A||++t,t}function Me(A){for(var t=0;0!=A;)A&=A-1,++t;return t}var Ne,Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function be(A){var t,g,e="";for(t=0;t+3<=A.length;t+=3)g=parseInt(A.substring(t,t+3),16),e+=Fe.charAt(g>>6)+Fe.charAt(63&g);for(t+1==A.length?(g=parseInt(A.substring(t,t+1),16),e+=Fe.charAt(g<<2)):t+2==A.length&&(g=parseInt(A.substring(t,t+2),16),e+=Fe.charAt(g>>2)+Fe.charAt((3&g)<<4));(3&e.length)>0;)e+="=";return e}function Re(A){var t,g="",e=0,i=0;for(t=0;t<A.length&&"="!=A.charAt(t);++t){var o=Fe.indexOf(A.charAt(t));o<0||(0==e?(g+=me(o>>2),i=3&o,e=1):1==e?(g+=me(i<<2|o>>4),i=15&o,e=2):2==e?(g+=me(i),g+=me(o>>2),i=3&o,e=3):(g+=me(i<<2|o>>4),g+=me(15&o),e=0))}return 1==e&&(g+=me(i<<2)),g}var ve,Se=function(A){var t;if(void 0===Ne){var g="0123456789ABCDEF",e=" \f\n\r\t \u2028\u2029";for(Ne={},t=0;t<16;++t)Ne[g.charAt(t)]=t;for(g=g.toLowerCase(),t=10;t<16;++t)Ne[g.charAt(t)]=t;for(t=0;t<8;++t)Ne[e.charAt(t)]=-1}var i=[],o=0,I=0;for(t=0;t<A.length;++t){var a=A.charAt(t);if("="==a)break;if(-1!=(a=Ne[a])){if(void 0===a)throw new Error("Illegal character at offset "+t);o|=a,++I>=2?(i[i.length]=o,o=0,I=0):o<<=4}}if(I)throw new Error("Hex encoding incomplete: 4 bits missing");return i},Ye={decode:function(A){var t;if(void 0===ve){var g="= \f\n\r\t \u2028\u2029";for(ve=Object.create(null),t=0;t<64;++t)ve["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)]=t;for(ve["-"]=62,ve._=63,t=0;t<9;++t)ve[g.charAt(t)]=-1}var e=[],i=0,o=0;for(t=0;t<A.length;++t){var I=A.charAt(t);if("="==I)break;if(-1!=(I=ve[I])){if(void 0===I)throw new Error("Illegal character at offset "+t);i|=I,++o>=4?(e[e.length]=i>>16,e[e.length]=i>>8&255,e[e.length]=255&i,i=0,o=0):i<<=6}}switch(o){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:e[e.length]=i>>10;break;case 3:e[e.length]=i>>16,e[e.length]=i>>8&255}return e},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(A){var t=Ye.re.exec(A);if(t)if(t[1])A=t[1];else{if(!t[2])throw new Error("RegExp out of sync");A=t[2]}return Ye.decode(A)}},Je=1e13,Le=function(){function A(A){this.buf=[+A||0]}return A.prototype.mulAdd=function(A,t){var g,e,i=this.buf,o=i.length;for(g=0;g<o;++g)(e=i[g]*A+t)<Je?t=0:e-=(t=0|e/Je)*Je,i[g]=e;t>0&&(i[g]=t)},A.prototype.sub=function(A){var t,g,e=this.buf,i=e.length;for(t=0;t<i;++t)(g=e[t]-A)<0?(g+=Je,A=1):A=0,e[t]=g;for(;0===e[e.length-1];)e.pop()},A.prototype.toString=function(A){if(10!=(A||10))throw new Error("only base 10 is supported");for(var t=this.buf,g=t[t.length-1].toString(),e=t.length-2;e>=0;--e)g+=(Je+t[e]).toString().substring(1);return g},A.prototype.valueOf=function(){for(var A=this.buf,t=0,g=A.length-1;g>=0;--g)t=t*Je+A[g];return t},A.prototype.simplify=function(){var A=this.buf;return 1==A.length?A[0]:this},A}(),Ue=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,xe=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function He(A,t){return A.length>t&&(A=A.substring(0,t)+"…"),A}var qe,Ke=function(){function A(t,g){this.hexDigits="0123456789ABCDEF",t instanceof A?(this.enc=t.enc,this.pos=t.pos):(this.enc=t,this.pos=g)}return A.prototype.get=function(A){if(void 0===A&&(A=this.pos++),A>=this.enc.length)throw new Error("Requesting byte offset ".concat(A," on a stream of length ").concat(this.enc.length));return"string"==typeof this.enc?this.enc.charCodeAt(A):this.enc[A]},A.prototype.hexByte=function(A){return this.hexDigits.charAt(A>>4&15)+this.hexDigits.charAt(15&A)},A.prototype.hexDump=function(A,t,g){for(var e="",i=A;i<t;++i)if(e+=this.hexByte(this.get(i)),!0!==g)switch(15&i){case 7:e+=" ";break;case 15:e+="\n";break;default:e+=" "}return e},A.prototype.isASCII=function(A,t){for(var g=A;g<t;++g){var e=this.get(g);if(e<32||e>176)return!1}return!0},A.prototype.parseStringISO=function(A,t){for(var g="",e=A;e<t;++e)g+=String.fromCharCode(this.get(e));return g},A.prototype.parseStringUTF=function(A,t){for(var g="",e=A;e<t;){var i=this.get(e++);g+=i<128?String.fromCharCode(i):i>191&&i<224?String.fromCharCode((31&i)<<6|63&this.get(e++)):String.fromCharCode((15&i)<<12|(63&this.get(e++))<<6|63&this.get(e++))}return g},A.prototype.parseStringBMP=function(A,t){for(var g,e,i="",o=A;o<t;)g=this.get(o++),e=this.get(o++),i+=String.fromCharCode(g<<8|e);return i},A.prototype.parseTime=function(A,t,g){var e=this.parseStringISO(A,t),i=(g?Ue:xe).exec(e);return i?(g&&(i[1]=+i[1],i[1]+=+i[1]<70?2e3:1900),e=i[1]+"-"+i[2]+"-"+i[3]+" "+i[4],i[5]&&(e+=":"+i[5],i[6]&&(e+=":"+i[6],i[7]&&(e+="."+i[7]))),i[8]&&(e+=" UTC","Z"!=i[8]&&(e+=i[8],i[9]&&(e+=":"+i[9]))),e):"Unrecognized time: "+e},A.prototype.parseInteger=function(A,t){for(var g,e=this.get(A),i=e>127,o=i?255:0,I="";e==o&&++A<t;)e=this.get(A);if(0===(g=t-A))return i?-1:0;if(g>4){for(I=e,g<<=3;!(128&(+I^o));)I=+I<<1,--g;I="("+g+" bit)\n"}i&&(e-=256);for(var a=new Le(e),s=A+1;s<t;++s)a.mulAdd(256,this.get(s));return I+a.toString()},A.prototype.parseBitString=function(A,t,g){for(var e=this.get(A),i="("+((t-A-1<<3)-e)+" bit)\n",o="",I=A+1;I<t;++I){for(var a=this.get(I),s=I==t-1?e:0,B=7;B>=s;--B)o+=a>>B&1?"1":"0";if(o.length>g)return i+He(o,g)}return i+o},A.prototype.parseOctetString=function(A,t,g){if(this.isASCII(A,t))return He(this.parseStringISO(A,t),g);var e=t-A,i="("+e+" byte)\n";e>(g/=2)&&(t=A+g);for(var o=A;o<t;++o)i+=this.hexByte(this.get(o));return e>g&&(i+="…"),i},A.prototype.parseOID=function(A,t,g){for(var e="",i=new Le,o=0,I=A;I<t;++I){var a=this.get(I);if(i.mulAdd(128,127&a),o+=7,!(128&a)){if(""===e)if((i=i.simplify())instanceof Le)i.sub(80),e="2."+i.toString();else{var s=i<80?i<40?0:1:2;e=s+"."+(i-40*s)}else e+="."+i.toString();if(e.length>g)return He(e,g);i=new Le,o=0}}return o>0&&(e+=".incomplete"),e},A}(),Te=function(){function A(A,t,g,e,i){if(!(e instanceof We))throw new Error("Invalid tag value.");this.stream=A,this.header=t,this.length=g,this.tag=e,this.sub=i}return A.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}},A.prototype.content=function(A){if(void 0===this.tag)return null;void 0===A&&(A=1/0);var t=this.posContent(),g=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+g,A);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(t)?"false":"true";case 2:return this.stream.parseInteger(t,t+g);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(t,t+g,A);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+g,A);case 6:return this.stream.parseOID(t,t+g,A);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return He(this.stream.parseStringUTF(t,t+g),A);case 18:case 19:case 20:case 21:case 22:case 26:return He(this.stream.parseStringISO(t,t+g),A);case 30:return He(this.stream.parseStringBMP(t,t+g),A);case 23:case 24:return this.stream.parseTime(t,t+g,23==this.tag.tagNumber)}return null},A.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},A.prototype.toPrettyString=function(A){void 0===A&&(A="");var t=A+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(t+="+"),t+=this.length,this.tag.tagConstructed?t+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(t+=" (encapsulates)"),t+="\n",null!==this.sub){A+=" ";for(var g=0,e=this.sub.length;g<e;++g)t+=this.sub[g].toPrettyString(A)}return t},A.prototype.posStart=function(){return this.stream.pos},A.prototype.posContent=function(){return this.stream.pos+this.header},A.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},A.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},A.decodeLength=function(A){var t=A.get(),g=127&t;if(g==t)return g;if(g>6)throw new Error("Length over 48 bits not supported at position "+(A.pos-1));if(0===g)return null;t=0;for(var e=0;e<g;++e)t=256*t+A.get();return t},A.prototype.getHexStringValue=function(){var A=this.toHexString(),t=2*this.header,g=2*this.length;return A.substr(t,g)},A.decode=function(t){var g;g=t instanceof Ke?t:new Ke(t,0);var e=new Ke(g),i=new We(g),o=A.decodeLength(g),I=g.pos,a=I-e.pos,s=null,B=function(){var t=[];if(null!==o){for(var e=I+o;g.pos<e;)t[t.length]=A.decode(g);if(g.pos!=e)throw new Error("Content size is not correct for container starting at offset "+I)}else try{for(;;){var i=A.decode(g);if(i.tag.isEOC())break;t[t.length]=i}o=I-g.pos}catch(A){throw new Error("Exception while decoding undefined length content: "+A)}return t};if(i.tagConstructed)s=B();else if(i.isUniversal()&&(3==i.tagNumber||4==i.tagNumber))try{if(3==i.tagNumber&&0!=g.get())throw new Error("BIT STRINGs with unused bits cannot encapsulate.");s=B();for(var C=0;C<s.length;++C)if(s[C].tag.isEOC())throw new Error("EOC is not supposed to be actual content.")}catch(A){s=null}if(null===s){if(null===o)throw new Error("We can't skip over an invalid tag with undefined length at offset "+I);g.pos=I+Math.abs(o)}return new A(e,a,o,i,s)},A}(),We=function(){function A(A){var t=A.get();if(this.tagClass=t>>6,this.tagConstructed=!!(32&t),this.tagNumber=31&t,31==this.tagNumber){var g=new Le;do{t=A.get(),g.mulAdd(128,127&t)}while(128&t);this.tagNumber=g.simplify()}}return A.prototype.isUniversal=function(){return 0===this.tagClass},A.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},A}(),ze=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],je=(1<<26)/ze[ze.length-1],Pe=function(){function A(A,t,g){null!=A&&("number"==typeof A?this.fromNumber(A,t,g):null==t&&"string"!=typeof A?this.fromString(A,256):this.fromString(A,t))}return A.prototype.toString=function(A){if(this.s<0)return"-"+this.negate().toString(A);var t;if(16==A)t=4;else if(8==A)t=3;else if(2==A)t=1;else if(32==A)t=5;else{if(4!=A)return this.toRadix(A);t=2}var g,e=(1<<t)-1,i=!1,o="",I=this.t,a=this.DB-I*this.DB%t;if(I-- >0)for(a<this.DB&&(g=this[I]>>a)>0&&(i=!0,o=me(g));I>=0;)a<t?(g=(this[I]&(1<<a)-1)<<t-a,g|=this[--I]>>(a+=this.DB-t)):(g=this[I]>>(a-=t)&e,a<=0&&(a+=this.DB,--I)),g>0&&(i=!0),i&&(o+=me(g));return i?o:"0"},A.prototype.negate=function(){var t=$e();return A.ZERO.subTo(this,t),t},A.prototype.abs=function(){return this.s<0?this.negate():this},A.prototype.compareTo=function(A){var t=this.s-A.s;if(0!=t)return t;var g=this.t;if(0!=(t=g-A.t))return this.s<0?-t:t;for(;--g>=0;)if(0!=(t=this[g]-A[g]))return t;return 0},A.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+Ii(this[this.t-1]^this.s&this.DM)},A.prototype.mod=function(t){var g=$e();return this.abs().divRemTo(t,null,g),this.s<0&&g.compareTo(A.ZERO)>0&&t.subTo(g,g),g},A.prototype.modPowInt=function(A,t){var g;return g=A<256||t.isEven()?new Ve(t):new Oe(t),this.exp(A,g)},A.prototype.clone=function(){var A=$e();return this.copyTo(A),A},A.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},A.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},A.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},A.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},A.prototype.toByteArray=function(){var A=this.t,t=[];t[0]=this.s;var g,e=this.DB-A*this.DB%8,i=0;if(A-- >0)for(e<this.DB&&(g=this[A]>>e)!=(this.s&this.DM)>>e&&(t[i++]=g|this.s<<this.DB-e);A>=0;)e<8?(g=(this[A]&(1<<e)-1)<<8-e,g|=this[--A]>>(e+=this.DB-8)):(g=this[A]>>(e-=8)&255,e<=0&&(e+=this.DB,--A)),128&g&&(g|=-256),0==i&&(128&this.s)!=(128&g)&&++i,(i>0||g!=this.s)&&(t[i++]=g);return t},A.prototype.equals=function(A){return 0==this.compareTo(A)},A.prototype.min=function(A){return this.compareTo(A)<0?this:A},A.prototype.max=function(A){return this.compareTo(A)>0?this:A},A.prototype.and=function(A){var t=$e();return this.bitwiseTo(A,ye,t),t},A.prototype.or=function(A){var t=$e();return this.bitwiseTo(A,fe,t),t},A.prototype.xor=function(A){var t=$e();return this.bitwiseTo(A,pe,t),t},A.prototype.andNot=function(A){var t=$e();return this.bitwiseTo(A,ke,t),t},A.prototype.not=function(){for(var A=$e(),t=0;t<this.t;++t)A[t]=this.DM&~this[t];return A.t=this.t,A.s=~this.s,A},A.prototype.shiftLeft=function(A){var t=$e();return A<0?this.rShiftTo(-A,t):this.lShiftTo(A,t),t},A.prototype.shiftRight=function(A){var t=$e();return A<0?this.lShiftTo(-A,t):this.rShiftTo(A,t),t},A.prototype.getLowestSetBit=function(){for(var A=0;A<this.t;++A)if(0!=this[A])return A*this.DB+Ge(this[A]);return this.s<0?this.t*this.DB:-1},A.prototype.bitCount=function(){for(var A=0,t=this.s&this.DM,g=0;g<this.t;++g)A+=Me(this[g]^t);return A},A.prototype.testBit=function(A){var t=Math.floor(A/this.DB);return t>=this.t?0!=this.s:!!(this[t]&1<<A%this.DB)},A.prototype.setBit=function(A){return this.changeBit(A,fe)},A.prototype.clearBit=function(A){return this.changeBit(A,ke)},A.prototype.flipBit=function(A){return this.changeBit(A,pe)},A.prototype.add=function(A){var t=$e();return this.addTo(A,t),t},A.prototype.subtract=function(A){var t=$e();return this.subTo(A,t),t},A.prototype.multiply=function(A){var t=$e();return this.multiplyTo(A,t),t},A.prototype.divide=function(A){var t=$e();return this.divRemTo(A,t,null),t},A.prototype.remainder=function(A){var t=$e();return this.divRemTo(A,null,t),t},A.prototype.divideAndRemainder=function(A){var t=$e(),g=$e();return this.divRemTo(A,t,g),[t,g]},A.prototype.modPow=function(A,t){var g,e,i=A.bitLength(),o=oi(1);if(i<=0)return o;g=i<18?1:i<48?3:i<144?4:i<768?5:6,e=i<8?new Ve(t):t.isEven()?new Xe(t):new Oe(t);var I=[],a=3,s=g-1,B=(1<<g)-1;if(I[1]=e.convert(this),g>1){var C=$e();for(e.sqrTo(I[1],C);a<=B;)I[a]=$e(),e.mulTo(C,I[a-2],I[a]),a+=2}var n,Q,r=A.t-1,E=!0,c=$e();for(i=Ii(A[r])-1;r>=0;){for(i>=s?n=A[r]>>i-s&B:(n=(A[r]&(1<<i+1)-1)<<s-i,r>0&&(n|=A[r-1]>>this.DB+i-s)),a=g;!(1&n);)n>>=1,--a;if((i-=a)<0&&(i+=this.DB,--r),E)I[n].copyTo(o),E=!1;else{for(;a>1;)e.sqrTo(o,c),e.sqrTo(c,o),a-=2;a>0?e.sqrTo(o,c):(Q=o,o=c,c=Q),e.mulTo(c,I[n],o)}for(;r>=0&&!(A[r]&1<<i);)e.sqrTo(o,c),Q=o,o=c,c=Q,--i<0&&(i=this.DB-1,--r)}return e.revert(o)},A.prototype.modInverse=function(t){var g=t.isEven();if(this.isEven()&&g||0==t.signum())return A.ZERO;for(var e=t.clone(),i=this.clone(),o=oi(1),I=oi(0),a=oi(0),s=oi(1);0!=e.signum();){for(;e.isEven();)e.rShiftTo(1,e),g?(o.isEven()&&I.isEven()||(o.addTo(this,o),I.subTo(t,I)),o.rShiftTo(1,o)):I.isEven()||I.subTo(t,I),I.rShiftTo(1,I);for(;i.isEven();)i.rShiftTo(1,i),g?(a.isEven()&&s.isEven()||(a.addTo(this,a),s.subTo(t,s)),a.rShiftTo(1,a)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);e.compareTo(i)>=0?(e.subTo(i,e),g&&o.subTo(a,o),I.subTo(s,I)):(i.subTo(e,i),g&&a.subTo(o,a),s.subTo(I,s))}return 0!=i.compareTo(A.ONE)?A.ZERO:s.compareTo(t)>=0?s.subtract(t):s.signum()<0?(s.addTo(t,s),s.signum()<0?s.add(t):s):s},A.prototype.pow=function(A){return this.exp(A,new Ze)},A.prototype.gcd=function(A){var t=this.s<0?this.negate():this.clone(),g=A.s<0?A.negate():A.clone();if(t.compareTo(g)<0){var e=t;t=g,g=e}var i=t.getLowestSetBit(),o=g.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),g.rShiftTo(o,g));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=g.getLowestSetBit())>0&&g.rShiftTo(i,g),t.compareTo(g)>=0?(t.subTo(g,t),t.rShiftTo(1,t)):(g.subTo(t,g),g.rShiftTo(1,g));return o>0&&g.lShiftTo(o,g),g},A.prototype.isProbablePrime=function(A){var t,g=this.abs();if(1==g.t&&g[0]<=ze[ze.length-1]){for(t=0;t<ze.length;++t)if(g[0]==ze[t])return!0;return!1}if(g.isEven())return!1;for(t=1;t<ze.length;){for(var e=ze[t],i=t+1;i<ze.length&&e<je;)e*=ze[i++];for(e=g.modInt(e);t<i;)if(e%ze[t++]==0)return!1}return g.millerRabin(A)},A.prototype.copyTo=function(A){for(var t=this.t-1;t>=0;--t)A[t]=this[t];A.t=this.t,A.s=this.s},A.prototype.fromInt=function(A){this.t=1,this.s=A<0?-1:0,A>0?this[0]=A:A<-1?this[0]=A+this.DV:this.t=0},A.prototype.fromString=function(t,g){var e;if(16==g)e=4;else if(8==g)e=3;else if(256==g)e=8;else if(2==g)e=1;else if(32==g)e=5;else{if(4!=g)return void this.fromRadix(t,g);e=2}this.t=0,this.s=0;for(var i=t.length,o=!1,I=0;--i>=0;){var a=8==e?255&+t[i]:ii(t,i);a<0?"-"==t.charAt(i)&&(o=!0):(o=!1,0==I?this[this.t++]=a:I+e>this.DB?(this[this.t-1]|=(a&(1<<this.DB-I)-1)<<I,this[this.t++]=a>>this.DB-I):this[this.t-1]|=a<<I,(I+=e)>=this.DB&&(I-=this.DB))}8==e&&128&+t[0]&&(this.s=-1,I>0&&(this[this.t-1]|=(1<<this.DB-I)-1<<I)),this.clamp(),o&&A.ZERO.subTo(this,this)},A.prototype.clamp=function(){for(var A=this.s&this.DM;this.t>0&&this[this.t-1]==A;)--this.t},A.prototype.dlShiftTo=function(A,t){var g;for(g=this.t-1;g>=0;--g)t[g+A]=this[g];for(g=A-1;g>=0;--g)t[g]=0;t.t=this.t+A,t.s=this.s},A.prototype.drShiftTo=function(A,t){for(var g=A;g<this.t;++g)t[g-A]=this[g];t.t=Math.max(this.t-A,0),t.s=this.s},A.prototype.lShiftTo=function(A,t){for(var g=A%this.DB,e=this.DB-g,i=(1<<e)-1,o=Math.floor(A/this.DB),I=this.s<<g&this.DM,a=this.t-1;a>=0;--a)t[a+o+1]=this[a]>>e|I,I=(this[a]&i)<<g;for(a=o-1;a>=0;--a)t[a]=0;t[o]=I,t.t=this.t+o+1,t.s=this.s,t.clamp()},A.prototype.rShiftTo=function(A,t){t.s=this.s;var g=Math.floor(A/this.DB);if(g>=this.t)t.t=0;else{var e=A%this.DB,i=this.DB-e,o=(1<<e)-1;t[0]=this[g]>>e;for(var I=g+1;I<this.t;++I)t[I-g-1]|=(this[I]&o)<<i,t[I-g]=this[I]>>e;e>0&&(t[this.t-g-1]|=(this.s&o)<<i),t.t=this.t-g,t.clamp()}},A.prototype.subTo=function(A,t){for(var g=0,e=0,i=Math.min(A.t,this.t);g<i;)e+=this[g]-A[g],t[g++]=e&this.DM,e>>=this.DB;if(A.t<this.t){for(e-=A.s;g<this.t;)e+=this[g],t[g++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;g<A.t;)e-=A[g],t[g++]=e&this.DM,e>>=this.DB;e-=A.s}t.s=e<0?-1:0,e<-1?t[g++]=this.DV+e:e>0&&(t[g++]=e),t.t=g,t.clamp()},A.prototype.multiplyTo=function(t,g){var e=this.abs(),i=t.abs(),o=e.t;for(g.t=o+i.t;--o>=0;)g[o]=0;for(o=0;o<i.t;++o)g[o+e.t]=e.am(0,i[o],g,o,0,e.t);g.s=0,g.clamp(),this.s!=t.s&&A.ZERO.subTo(g,g)},A.prototype.squareTo=function(A){for(var t=this.abs(),g=A.t=2*t.t;--g>=0;)A[g]=0;for(g=0;g<t.t-1;++g){var e=t.am(g,t[g],A,2*g,0,1);(A[g+t.t]+=t.am(g+1,2*t[g],A,2*g+1,e,t.t-g-1))>=t.DV&&(A[g+t.t]-=t.DV,A[g+t.t+1]=1)}A.t>0&&(A[A.t-1]+=t.am(g,t[g],A,2*g,0,1)),A.s=0,A.clamp()},A.prototype.divRemTo=function(t,g,e){var i=t.abs();if(!(i.t<=0)){var o=this.abs();if(o.t<i.t)return null!=g&&g.fromInt(0),void(null!=e&&this.copyTo(e));null==e&&(e=$e());var I=$e(),a=this.s,s=t.s,B=this.DB-Ii(i[i.t-1]);B>0?(i.lShiftTo(B,I),o.lShiftTo(B,e)):(i.copyTo(I),o.copyTo(e));var C=I.t,n=I[C-1];if(0!=n){var Q=n*(1<<this.F1)+(C>1?I[C-2]>>this.F2:0),r=this.FV/Q,E=(1<<this.F1)/Q,c=1<<this.F2,l=e.t,h=l-C,d=null==g?$e():g;for(I.dlShiftTo(h,d),e.compareTo(d)>=0&&(e[e.t++]=1,e.subTo(d,e)),A.ONE.dlShiftTo(C,d),d.subTo(I,I);I.t<C;)I[I.t++]=0;for(;--h>=0;){var u=e[--l]==n?this.DM:Math.floor(e[l]*r+(e[l-1]+c)*E);if((e[l]+=I.am(0,u,e,h,0,C))<u)for(I.dlShiftTo(h,d),e.subTo(d,e);e[l]<--u;)e.subTo(d,e)}null!=g&&(e.drShiftTo(C,g),a!=s&&A.ZERO.subTo(g,g)),e.t=C,e.clamp(),B>0&&e.rShiftTo(B,e),a<0&&A.ZERO.subTo(e,e)}}},A.prototype.invDigit=function(){if(this.t<1)return 0;var A=this[0];if(!(1&A))return 0;var t=3&A;return(t=(t=(t=(t=t*(2-(15&A)*t)&15)*(2-(255&A)*t)&255)*(2-((65535&A)*t&65535))&65535)*(2-A*t%this.DV)%this.DV)>0?this.DV-t:-t},A.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},A.prototype.exp=function(t,g){if(t>4294967295||t<1)return A.ONE;var e=$e(),i=$e(),o=g.convert(this),I=Ii(t)-1;for(o.copyTo(e);--I>=0;)if(g.sqrTo(e,i),(t&1<<I)>0)g.mulTo(i,o,e);else{var a=e;e=i,i=a}return g.revert(e)},A.prototype.chunkSize=function(A){return Math.floor(Math.LN2*this.DB/Math.log(A))},A.prototype.toRadix=function(A){if(null==A&&(A=10),0==this.signum()||A<2||A>36)return"0";var t=this.chunkSize(A),g=Math.pow(A,t),e=oi(g),i=$e(),o=$e(),I="";for(this.divRemTo(e,i,o);i.signum()>0;)I=(g+o.intValue()).toString(A).substr(1)+I,i.divRemTo(e,i,o);return o.intValue().toString(A)+I},A.prototype.fromRadix=function(t,g){this.fromInt(0),null==g&&(g=10);for(var e=this.chunkSize(g),i=Math.pow(g,e),o=!1,I=0,a=0,s=0;s<t.length;++s){var B=ii(t,s);B<0?"-"==t.charAt(s)&&0==this.signum()&&(o=!0):(a=g*a+B,++I>=e&&(this.dMultiply(i),this.dAddOffset(a,0),I=0,a=0))}I>0&&(this.dMultiply(Math.pow(g,I)),this.dAddOffset(a,0)),o&&A.ZERO.subTo(this,this)},A.prototype.fromNumber=function(t,g,e){if("number"==typeof g)if(t<2)this.fromInt(1);else for(this.fromNumber(t,e),this.testBit(t-1)||this.bitwiseTo(A.ONE.shiftLeft(t-1),fe,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(g);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(A.ONE.shiftLeft(t-1),this);else{var i=[],o=7&t;i.length=1+(t>>3),g.nextBytes(i),o>0?i[0]&=(1<<o)-1:i[0]=0,this.fromString(i,256)}},A.prototype.bitwiseTo=function(A,t,g){var e,i,o=Math.min(A.t,this.t);for(e=0;e<o;++e)g[e]=t(this[e],A[e]);if(A.t<this.t){for(i=A.s&this.DM,e=o;e<this.t;++e)g[e]=t(this[e],i);g.t=this.t}else{for(i=this.s&this.DM,e=o;e<A.t;++e)g[e]=t(i,A[e]);g.t=A.t}g.s=t(this.s,A.s),g.clamp()},A.prototype.changeBit=function(t,g){var e=A.ONE.shiftLeft(t);return this.bitwiseTo(e,g,e),e},A.prototype.addTo=function(A,t){for(var g=0,e=0,i=Math.min(A.t,this.t);g<i;)e+=this[g]+A[g],t[g++]=e&this.DM,e>>=this.DB;if(A.t<this.t){for(e+=A.s;g<this.t;)e+=this[g],t[g++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;g<A.t;)e+=A[g],t[g++]=e&this.DM,e>>=this.DB;e+=A.s}t.s=e<0?-1:0,e>0?t[g++]=e:e<-1&&(t[g++]=this.DV+e),t.t=g,t.clamp()},A.prototype.dMultiply=function(A){this[this.t]=this.am(0,A-1,this,0,0,this.t),++this.t,this.clamp()},A.prototype.dAddOffset=function(A,t){if(0!=A){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=A;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},A.prototype.multiplyLowerTo=function(A,t,g){var e=Math.min(this.t+A.t,t);for(g.s=0,g.t=e;e>0;)g[--e]=0;for(var i=g.t-this.t;e<i;++e)g[e+this.t]=this.am(0,A[e],g,e,0,this.t);for(i=Math.min(A.t,t);e<i;++e)this.am(0,A[e],g,e,0,t-e);g.clamp()},A.prototype.multiplyUpperTo=function(A,t,g){--t;var e=g.t=this.t+A.t-t;for(g.s=0;--e>=0;)g[e]=0;for(e=Math.max(t-this.t,0);e<A.t;++e)g[this.t+e-t]=this.am(t-e,A[e],g,0,0,this.t+e-t);g.clamp(),g.drShiftTo(1,g)},A.prototype.modInt=function(A){if(A<=0)return 0;var t=this.DV%A,g=this.s<0?A-1:0;if(this.t>0)if(0==t)g=this[0]%A;else for(var e=this.t-1;e>=0;--e)g=(t*g+this[e])%A;return g},A.prototype.millerRabin=function(t){var g=this.subtract(A.ONE),e=g.getLowestSetBit();if(e<=0)return!1;var i=g.shiftRight(e);(t=t+1>>1)>ze.length&&(t=ze.length);for(var o=$e(),I=0;I<t;++I){o.fromInt(ze[Math.floor(Math.random()*ze.length)]);var a=o.modPow(i,this);if(0!=a.compareTo(A.ONE)&&0!=a.compareTo(g)){for(var s=1;s++<e&&0!=a.compareTo(g);)if(0==(a=a.modPowInt(2,this)).compareTo(A.ONE))return!1;if(0!=a.compareTo(g))return!1}}return!0},A.prototype.square=function(){var A=$e();return this.squareTo(A),A},A.prototype.gcda=function(A,t){var g=this.s<0?this.negate():this.clone(),e=A.s<0?A.negate():A.clone();if(g.compareTo(e)<0){var i=g;g=e,e=i}var o=g.getLowestSetBit(),I=e.getLowestSetBit();if(I<0)t(g);else{o<I&&(I=o),I>0&&(g.rShiftTo(I,g),e.rShiftTo(I,e));var a=function(){(o=g.getLowestSetBit())>0&&g.rShiftTo(o,g),(o=e.getLowestSetBit())>0&&e.rShiftTo(o,e),g.compareTo(e)>=0?(g.subTo(e,g),g.rShiftTo(1,g)):(e.subTo(g,e),e.rShiftTo(1,e)),g.signum()>0?setTimeout(a,0):(I>0&&e.lShiftTo(I,e),setTimeout((function(){t(e)}),0))};setTimeout(a,10)}},A.prototype.fromNumberAsync=function(t,g,e,i){if("number"==typeof g)if(t<2)this.fromInt(1);else{this.fromNumber(t,e),this.testBit(t-1)||this.bitwiseTo(A.ONE.shiftLeft(t-1),fe,this),this.isEven()&&this.dAddOffset(1,0);var o=this,I=function(){o.dAddOffset(2,0),o.bitLength()>t&&o.subTo(A.ONE.shiftLeft(t-1),o),o.isProbablePrime(g)?setTimeout((function(){i()}),0):setTimeout(I,0)};setTimeout(I,0)}else{var a=[],s=7&t;a.length=1+(t>>3),g.nextBytes(a),s>0?a[0]&=(1<<s)-1:a[0]=0,this.fromString(a,256)}},A}(),Ze=function(){function A(){}return A.prototype.convert=function(A){return A},A.prototype.revert=function(A){return A},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g)},A.prototype.sqrTo=function(A,t){A.squareTo(t)},A}(),Ve=function(){function A(A){this.m=A}return A.prototype.convert=function(A){return A.s<0||A.compareTo(this.m)>=0?A.mod(this.m):A},A.prototype.revert=function(A){return A},A.prototype.reduce=function(A){A.divRemTo(this.m,null,A)},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g),this.reduce(g)},A.prototype.sqrTo=function(A,t){A.squareTo(t),this.reduce(t)},A}(),Oe=function(){function A(A){this.m=A,this.mp=A.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<A.DB-15)-1,this.mt2=2*A.t}return A.prototype.convert=function(A){var t=$e();return A.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),A.s<0&&t.compareTo(Pe.ZERO)>0&&this.m.subTo(t,t),t},A.prototype.revert=function(A){var t=$e();return A.copyTo(t),this.reduce(t),t},A.prototype.reduce=function(A){for(;A.t<=this.mt2;)A[A.t++]=0;for(var t=0;t<this.m.t;++t){var g=32767&A[t],e=g*this.mpl+((g*this.mph+(A[t]>>15)*this.mpl&this.um)<<15)&A.DM;for(A[g=t+this.m.t]+=this.m.am(0,e,A,t,0,this.m.t);A[g]>=A.DV;)A[g]-=A.DV,A[++g]++}A.clamp(),A.drShiftTo(this.m.t,A),A.compareTo(this.m)>=0&&A.subTo(this.m,A)},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g),this.reduce(g)},A.prototype.sqrTo=function(A,t){A.squareTo(t),this.reduce(t)},A}(),Xe=function(){function A(A){this.m=A,this.r2=$e(),this.q3=$e(),Pe.ONE.dlShiftTo(2*A.t,this.r2),this.mu=this.r2.divide(A)}return A.prototype.convert=function(A){if(A.s<0||A.t>2*this.m.t)return A.mod(this.m);if(A.compareTo(this.m)<0)return A;var t=$e();return A.copyTo(t),this.reduce(t),t},A.prototype.revert=function(A){return A},A.prototype.reduce=function(A){for(A.drShiftTo(this.m.t-1,this.r2),A.t>this.m.t+1&&(A.t=this.m.t+1,A.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);A.compareTo(this.r2)<0;)A.dAddOffset(1,this.m.t+1);for(A.subTo(this.r2,A);A.compareTo(this.m)>=0;)A.subTo(this.m,A)},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g),this.reduce(g)},A.prototype.sqrTo=function(A,t){A.squareTo(t),this.reduce(t)},A}();function $e(){return new Pe(null)}function _e(A,t){return new Pe(A,t)}var Ai="undefined"!=typeof navigator;Ai&&"Microsoft Internet Explorer"==navigator.appName?(Pe.prototype.am=function(A,t,g,e,i,o){for(var I=32767&t,a=t>>15;--o>=0;){var s=32767&this[A],B=this[A++]>>15,C=a*s+B*I;i=((s=I*s+((32767&C)<<15)+g[e]+(1073741823&i))>>>30)+(C>>>15)+a*B+(i>>>30),g[e++]=1073741823&s}return i},qe=30):Ai&&"Netscape"!=navigator.appName?(Pe.prototype.am=function(A,t,g,e,i,o){for(;--o>=0;){var I=t*this[A++]+g[e]+i;i=Math.floor(I/67108864),g[e++]=67108863&I}return i},qe=26):(Pe.prototype.am=function(A,t,g,e,i,o){for(var I=16383&t,a=t>>14;--o>=0;){var s=16383&this[A],B=this[A++]>>14,C=a*s+B*I;i=((s=I*s+((16383&C)<<14)+g[e]+i)>>28)+(C>>14)+a*B,g[e++]=268435455&s}return i},qe=28),Pe.prototype.DB=qe,Pe.prototype.DM=(1<<qe)-1,Pe.prototype.DV=1<<qe;Pe.prototype.FV=Math.pow(2,52),Pe.prototype.F1=52-qe,Pe.prototype.F2=2*qe-52;var ti,gi,ei=[];for(ti="0".charCodeAt(0),gi=0;gi<=9;++gi)ei[ti++]=gi;for(ti="a".charCodeAt(0),gi=10;gi<36;++gi)ei[ti++]=gi;for(ti="A".charCodeAt(0),gi=10;gi<36;++gi)ei[ti++]=gi;function ii(A,t){var g=ei[A.charCodeAt(t)];return null==g?-1:g}function oi(A){var t=$e();return t.fromInt(A),t}function Ii(A){var t,g=1;return 0!=(t=A>>>16)&&(A=t,g+=16),0!=(t=A>>8)&&(A=t,g+=8),0!=(t=A>>4)&&(A=t,g+=4),0!=(t=A>>2)&&(A=t,g+=2),0!=(t=A>>1)&&(A=t,g+=1),g}Pe.ZERO=oi(0),Pe.ONE=oi(1);var ai=function(){function A(){this.i=0,this.j=0,this.S=[]}return A.prototype.init=function(A){var t,g,e;for(t=0;t<256;++t)this.S[t]=t;for(g=0,t=0;t<256;++t)g=g+this.S[t]+A[t%A.length]&255,e=this.S[t],this.S[t]=this.S[g],this.S[g]=e;this.i=0,this.j=0},A.prototype.next=function(){var A;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,A=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=A,this.S[A+this.S[this.i]&255]},A}();var si,Bi,Ci=null;if(null==Ci){Ci=[],Bi=0;var ni=void 0;if("undefined"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var Qi=new Uint32Array(256);for(window.crypto.getRandomValues(Qi),ni=0;ni<Qi.length;++ni)Ci[Bi++]=255&Qi[ni]}var ri=0,Ei=function(A){if((ri=ri||0)>=256||Bi>=256)window.removeEventListener?window.removeEventListener("mousemove",Ei,!1):window.detachEvent&&window.detachEvent("onmousemove",Ei);else try{var t=A.x+A.y;Ci[Bi++]=255&t,ri+=1}catch(A){}};"undefined"!=typeof window&&(window.addEventListener?window.addEventListener("mousemove",Ei,!1):window.attachEvent&&window.attachEvent("onmousemove",Ei))}function ci(){if(null==si){for(si=new ai;Bi<256;){var A=Math.floor(65536*Math.random());Ci[Bi++]=255&A}for(si.init(Ci),Bi=0;Bi<Ci.length;++Bi)Ci[Bi]=0;Bi=0}return si.next()}var li=function(){function A(){}return A.prototype.nextBytes=function(A){for(var t=0;t<A.length;++t)A[t]=ci()},A}();var hi=function(){function A(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return A.prototype.doPublic=function(A){return A.modPowInt(this.e,this.n)},A.prototype.doPrivate=function(A){if(null==this.p||null==this.q)return A.modPow(this.d,this.n);for(var t=A.mod(this.p).modPow(this.dmp1,this.p),g=A.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(g)<0;)t=t.add(this.p);return t.subtract(g).multiply(this.coeff).mod(this.p).multiply(this.q).add(g)},A.prototype.setPublic=function(A,t){null!=A&&null!=t&&A.length>0&&t.length>0?(this.n=_e(A,16),this.e=parseInt(t,16)):console.error("Invalid RSA public key")},A.prototype.encrypt=function(A){var t=this.n.bitLength()+7>>3,g=function(A,t){if(t<A.length+11)return console.error("Message too long for RSA"),null;for(var g=[],e=A.length-1;e>=0&&t>0;){var i=A.charCodeAt(e--);i<128?g[--t]=i:i>127&&i<2048?(g[--t]=63&i|128,g[--t]=i>>6|192):(g[--t]=63&i|128,g[--t]=i>>6&63|128,g[--t]=i>>12|224)}g[--t]=0;for(var o=new li,I=[];t>2;){for(I[0]=0;0==I[0];)o.nextBytes(I);g[--t]=I[0]}return g[--t]=2,g[--t]=0,new Pe(g)}(A,t);if(null==g)return null;var e=this.doPublic(g);if(null==e)return null;for(var i=e.toString(16),o=i.length,I=0;I<2*t-o;I++)i="0"+i;return i},A.prototype.setPrivate=function(A,t,g){null!=A&&null!=t&&A.length>0&&t.length>0?(this.n=_e(A,16),this.e=parseInt(t,16),this.d=_e(g,16)):console.error("Invalid RSA private key")},A.prototype.setPrivateEx=function(A,t,g,e,i,o,I,a){null!=A&&null!=t&&A.length>0&&t.length>0?(this.n=_e(A,16),this.e=parseInt(t,16),this.d=_e(g,16),this.p=_e(e,16),this.q=_e(i,16),this.dmp1=_e(o,16),this.dmq1=_e(I,16),this.coeff=_e(a,16)):console.error("Invalid RSA private key")},A.prototype.generate=function(A,t){var g=new li,e=A>>1;this.e=parseInt(t,16);for(var i=new Pe(t,16);;){for(;this.p=new Pe(A-e,1,g),0!=this.p.subtract(Pe.ONE).gcd(i).compareTo(Pe.ONE)||!this.p.isProbablePrime(10););for(;this.q=new Pe(e,1,g),0!=this.q.subtract(Pe.ONE).gcd(i).compareTo(Pe.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var o=this.p;this.p=this.q,this.q=o}var I=this.p.subtract(Pe.ONE),a=this.q.subtract(Pe.ONE),s=I.multiply(a);if(0==s.gcd(i).compareTo(Pe.ONE)){this.n=this.p.multiply(this.q),this.d=i.modInverse(s),this.dmp1=this.d.mod(I),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}},A.prototype.decrypt=function(A){var t=_e(A,16),g=this.doPrivate(t);return null==g?null:function(A,t){var g=A.toByteArray(),e=0;for(;e<g.length&&0==g[e];)++e;if(g.length-e!=t-1||2!=g[e])return null;++e;for(;0!=g[e];)if(++e>=g.length)return null;var i="";for(;++e<g.length;){var o=255&g[e];o<128?i+=String.fromCharCode(o):o>191&&o<224?(i+=String.fromCharCode((31&o)<<6|63&g[e+1]),++e):(i+=String.fromCharCode((15&o)<<12|(63&g[e+1])<<6|63&g[e+2]),e+=2)}return i}(g,this.n.bitLength()+7>>3)},A.prototype.generateAsync=function(A,t,g){var e=new li,i=A>>1;this.e=parseInt(t,16);var o=new Pe(t,16),I=this,a=function(){var t=function(){if(I.p.compareTo(I.q)<=0){var A=I.p;I.p=I.q,I.q=A}var t=I.p.subtract(Pe.ONE),e=I.q.subtract(Pe.ONE),i=t.multiply(e);0==i.gcd(o).compareTo(Pe.ONE)?(I.n=I.p.multiply(I.q),I.d=o.modInverse(i),I.dmp1=I.d.mod(t),I.dmq1=I.d.mod(e),I.coeff=I.q.modInverse(I.p),setTimeout((function(){g()}),0)):setTimeout(a,0)},s=function(){I.q=$e(),I.q.fromNumberAsync(i,1,e,(function(){I.q.subtract(Pe.ONE).gcda(o,(function(A){0==A.compareTo(Pe.ONE)&&I.q.isProbablePrime(10)?setTimeout(t,0):setTimeout(s,0)}))}))},B=function(){I.p=$e(),I.p.fromNumberAsync(A-i,1,e,(function(){I.p.subtract(Pe.ONE).gcda(o,(function(A){0==A.compareTo(Pe.ONE)&&I.p.isProbablePrime(10)?setTimeout(s,0):setTimeout(B,0)}))}))};setTimeout(B,0)};setTimeout(a,0)},A.prototype.sign=function(A,t,g){var e=function(A,t){if(t<A.length+22)return console.error("Message too long for RSA"),null;for(var g=t-A.length-6,e="",i=0;i<g;i+=2)e+="ff";return _e("0001"+e+"00"+A,16)}((di[g]||"")+t(A).toString(),this.n.bitLength()/4);if(null==e)return null;var i=this.doPrivate(e);if(null==i)return null;var o=i.toString(16);return 1&o.length?"0"+o:o},A.prototype.verify=function(A,t,g){var e=_e(t,16),i=this.doPublic(e);return null==i?null:function(A){for(var t in di)if(di.hasOwnProperty(t)){var g=di[t],e=g.length;if(A.substr(0,e)==g)return A.substr(e)}return A}
/*!
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.9.0
*/(i.toString(16).replace(/^1f+00/,""))==g(A).toString()},A}();var di={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"};var ui={};ui.lang={extend:function(A,t,g){if(!t||!A)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var e=function(){};if(e.prototype=t.prototype,A.prototype=new e,A.prototype.constructor=A,A.superclass=t.prototype,t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t),g){var i;for(i in g)A.prototype[i]=g[i];var o=function(){},I=["toString","valueOf"];try{/MSIE/.test(navigator.userAgent)&&(o=function(A,t){for(i=0;i<I.length;i+=1){var g=I[i],e=t[g];"function"==typeof e&&e!=Object.prototype[g]&&(A[g]=e)}})}catch(A){}o(A.prototype,g)}}};
/**
* @fileOverview
* @name asn1-1.0.js
* @author Kenji Urushima kenji.urushima@gmail.com
* @version asn1 1.0.13 (2017-Jun-02)
* @since jsrsasign 2.1
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
*/
var wi={};void 0!==wi.asn1&&wi.asn1||(wi.asn1={}),wi.asn1.ASN1Util=new function(){this.integerToByteHex=function(A){var t=A.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(A){var t=A.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var g=t.substr(1).length;g%2==1?g+=1:t.match(/^[0-7]/)||(g+=2);for(var e="",i=0;i<g;i++)e+="f";t=new Pe(e,16).xor(A).add(Pe.ONE).toString(16).replace(/^-/,"")}return t},this.getPEMStringFromHex=function(A,t){return hextopem(A,t)},this.newObject=function(A){var t=wi.asn1,g=t.DERBoolean,e=t.DERInteger,i=t.DERBitString,o=t.DEROctetString,I=t.DERNull,a=t.DERObjectIdentifier,s=t.DEREnumerated,B=t.DERUTF8String,C=t.DERNumericString,n=t.DERPrintableString,Q=t.DERTeletexString,r=t.DERIA5String,E=t.DERUTCTime,c=t.DERGeneralizedTime,l=t.DERSequence,h=t.DERSet,d=t.DERTaggedObject,u=t.ASN1Util.newObject,w=Object.keys(A);if(1!=w.length)throw"key of param shall be only one.";var D=w[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+D+":"))throw"undefined key: "+D;if("bool"==D)return new g(A[D]);if("int"==D)return new e(A[D]);if("bitstr"==D)return new i(A[D]);if("octstr"==D)return new o(A[D]);if("null"==D)return new I(A[D]);if("oid"==D)return new a(A[D]);if("enum"==D)return new s(A[D]);if("utf8str"==D)return new B(A[D]);if("numstr"==D)return new C(A[D]);if("prnstr"==D)return new n(A[D]);if("telstr"==D)return new Q(A[D]);if("ia5str"==D)return new r(A[D]);if("utctime"==D)return new E(A[D]);if("gentime"==D)return new c(A[D]);if("seq"==D){for(var m=A[D],y=[],f=0;f<m.length;f++){var p=u(m[f]);y.push(p)}return new l({array:y})}if("set"==D){for(m=A[D],y=[],f=0;f<m.length;f++){p=u(m[f]);y.push(p)}return new h({array:y})}if("tag"==D){var k=A[D];if("[object Array]"===Object.prototype.toString.call(k)&&3==k.length){var G=u(k[2]);return new d({tag:k[0],explicit:k[1],obj:G})}var M={};if(void 0!==k.explicit&&(M.explicit=k.explicit),void 0!==k.tag&&(M.tag=k.tag),void 0===k.obj)throw"obj shall be specified for 'tag'.";return M.obj=u(k.obj),new d(M)}},this.jsonToASN1HEX=function(A){return this.newObject(A).getEncodedHex()}},wi.asn1.ASN1Util.oidHexToInt=function(A){for(var t="",g=parseInt(A.substr(0,2),16),e=(t=Math.floor(g/40)+"."+g%40,""),i=2;i<A.length;i+=2){var o=("00000000"+parseInt(A.substr(i,2),16).toString(2)).slice(-8);if(e+=o.substr(1,7),"0"==o.substr(0,1))t=t+"."+new Pe(e,2).toString(10),e=""}return t},wi.asn1.ASN1Util.oidIntToHex=function(A){var t=function(A){var t=A.toString(16);return 1==t.length&&(t="0"+t),t},g=function(A){var g="",e=new Pe(A,10).toString(2),i=7-e.length%7;7==i&&(i=0);for(var o="",I=0;I<i;I++)o+="0";e=o+e;for(I=0;I<e.length-1;I+=7){var a=e.substr(I,7);I!=e.length-7&&(a="1"+a),g+=t(parseInt(a,2))}return g};if(!A.match(/^[0-9.]+$/))throw"malformed oid string: "+A;var e="",i=A.split("."),o=40*parseInt(i[0])+parseInt(i[1]);e+=t(o),i.splice(0,2);for(var I=0;I<i.length;I++)e+=g(i[I]);return e},wi.asn1.ASN1Object=function(){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n=0,v="+this.hV;var A=this.hV.length/2,t=A.toString(16);if(t.length%2==1&&(t="0"+t),A<128)return t;var g=t.length/2;if(g>15)throw"ASN.1 length too long to represent by 8x: n = "+A.toString(16);return(128+g).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},wi.asn1.DERAbstractString=function(A){wi.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(A){this.hTLV=null,this.isModified=!0,this.s=A,this.hV=stohex(this.s)},this.setStringHex=function(A){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=A},this.getFreshValueHex=function(){return this.hV},void 0!==A&&("string"==typeof A?this.setString(A):void 0!==A.str?this.setString(A.str):void 0!==A.hex&&this.setStringHex(A.hex))},ui.lang.extend(wi.asn1.DERAbstractString,wi.asn1.ASN1Object),wi.asn1.DERAbstractTime=function(A){wi.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(A){return utc=A.getTime()+6e4*A.getTimezoneOffset(),new Date(utc)},this.formatDate=function(A,t,g){var e=this.zeroPadding,i=this.localDateToUTC(A),o=String(i.getFullYear());"utc"==t&&(o=o.substr(2,2));var I=o+e(String(i.getMonth()+1),2)+e(String(i.getDate()),2)+e(String(i.getHours()),2)+e(String(i.getMinutes()),2)+e(String(i.getSeconds()),2);if(!0===g){var a=i.getMilliseconds();if(0!=a){var s=e(String(a),3);I=I+"."+(s=s.replace(/[0]+$/,""))}}return I+"Z"},this.zeroPadding=function(A,t){return A.length>=t?A:new Array(t-A.length+1).join("0")+A},this.getString=function(){return this.s},this.setString=function(A){this.hTLV=null,this.isModified=!0,this.s=A,this.hV=stohex(A)},this.setByDateValue=function(A,t,g,e,i,o){var I=new Date(Date.UTC(A,t-1,g,e,i,o,0));this.setByDate(I)},this.getFreshValueHex=function(){return this.hV}},ui.lang.extend(wi.asn1.DERAbstractTime,wi.asn1.ASN1Object),wi.asn1.DERAbstractStructured=function(A){wi.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(A){this.hTLV=null,this.isModified=!0,this.asn1Array=A},this.appendASN1Object=function(A){this.hTLV=null,this.isModified=!0,this.asn1Array.push(A)},this.asn1Array=new Array,void 0!==A&&void 0!==A.array&&(this.asn1Array=A.array)},ui.lang.extend(wi.asn1.DERAbstractStructured,wi.asn1.ASN1Object),wi.asn1.DERBoolean=function(){wi.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},ui.lang.extend(wi.asn1.DERBoolean,wi.asn1.ASN1Object),wi.asn1.DERInteger=function(A){wi.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(A){this.hTLV=null,this.isModified=!0,this.hV=wi.asn1.ASN1Util.bigIntToMinTwosComplementsHex(A)},this.setByInteger=function(A){var t=new Pe(String(A),10);this.setByBigInteger(t)},this.setValueHex=function(A){this.hV=A},this.getFreshValueHex=function(){return this.hV},void 0!==A&&(void 0!==A.bigint?this.setByBigInteger(A.bigint):void 0!==A.int?this.setByInteger(A.int):"number"==typeof A?this.setByInteger(A):void 0!==A.hex&&this.setValueHex(A.hex))},ui.lang.extend(wi.asn1.DERInteger,wi.asn1.ASN1Object),wi.asn1.DERBitString=function(A){if(void 0!==A&&void 0!==A.obj){var t=wi.asn1.ASN1Util.newObject(A.obj);A.hex="00"+t.getEncodedHex()}wi.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(A){this.hTLV=null,this.isModified=!0,this.hV=A},this.setUnusedBitsAndHexValue=function(A,t){if(A<0||7<A)throw"unused bits shall be from 0 to 7: u = "+A;var g="0"+A;this.hTLV=null,this.isModified=!0,this.hV=g+t},this.setByBinaryString=function(A){var t=8-(A=A.replace(/0+$/,"")).length%8;8==t&&(t=0);for(var g=0;g<=t;g++)A+="0";var e="";for(g=0;g<A.length-1;g+=8){var i=A.substr(g,8),o=parseInt(i,2).toString(16);1==o.length&&(o="0"+o),e+=o}this.hTLV=null,this.isModified=!0,this.hV="0"+t+e},this.setByBooleanArray=function(A){for(var t="",g=0;g<A.length;g++)1==A[g]?t+="1":t+="0";this.setByBinaryString(t)},this.newFalseArray=function(A){for(var t=new Array(A),g=0;g<A;g++)t[g]=!1;return t},this.getFreshValueHex=function(){return this.hV},void 0!==A&&("string"==typeof A&&A.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(A):void 0!==A.hex?this.setHexValueIncludingUnusedBits(A.hex):void 0!==A.bin?this.setByBinaryString(A.bin):void 0!==A.array&&this.setByBooleanArray(A.array))},ui.lang.extend(wi.asn1.DERBitString,wi.asn1.ASN1Object),wi.asn1.DEROctetString=function(A){if(void 0!==A&&void 0!==A.obj){var t=wi.asn1.ASN1Util.newObject(A.obj);A.hex=t.getEncodedHex()}wi.asn1.DEROctetString.superclass.constructor.call(this,A),this.hT="04"},ui.lang.extend(wi.asn1.DEROctetString,wi.asn1.DERAbstractString),wi.asn1.DERNull=function(){wi.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},ui.lang.extend(wi.asn1.DERNull,wi.asn1.ASN1Object),wi.asn1.DERObjectIdentifier=function(A){var t=function(A){var t=A.toString(16);return 1==t.length&&(t="0"+t),t},g=function(A){var g="",e=new Pe(A,10).toString(2),i=7-e.length%7;7==i&&(i=0);for(var o="",I=0;I<i;I++)o+="0";e=o+e;for(I=0;I<e.length-1;I+=7){var a=e.substr(I,7);I!=e.length-7&&(a="1"+a),g+=t(parseInt(a,2))}return g};wi.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(A){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=A},this.setValueOidString=function(A){if(!A.match(/^[0-9.]+$/))throw"malformed oid string: "+A;var e="",i=A.split("."),o=40*parseInt(i[0])+parseInt(i[1]);e+=t(o),i.splice(0,2);for(var I=0;I<i.length;I++)e+=g(i[I]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueName=function(A){var t=wi.asn1.x509.OID.name2oid(A);if(""===t)throw"DERObjectIdentifier oidName undefined: "+A;this.setValueOidString(t)},this.getFreshValueHex=function(){return this.hV},void 0!==A&&("string"==typeof A?A.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(A):this.setValueName(A):void 0!==A.oid?this.setValueOidString(A.oid):void 0!==A.hex?this.setValueHex(A.hex):void 0!==A.name&&this.setValueName(A.name))},ui.lang.extend(wi.asn1.DERObjectIdentifier,wi.asn1.ASN1Object),wi.asn1.DEREnumerated=function(A){wi.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(A){this.hTLV=null,this.isModified=!0,this.hV=wi.asn1.ASN1Util.bigIntToMinTwosComplementsHex(A)},this.setByInteger=function(A){var t=new Pe(String(A),10);this.setByBigInteger(t)},this.setValueHex=function(A){this.hV=A},this.getFreshValueHex=function(){return this.hV},void 0!==A&&(void 0!==A.int?this.setByInteger(A.int):"number"==typeof A?this.setByInteger(A):void 0!==A.hex&&this.setValueHex(A.hex))},ui.lang.extend(wi.asn1.DEREnumerated,wi.asn1.ASN1Object),wi.asn1.DERUTF8String=function(A){wi.asn1.DERUTF8String.superclass.constructor.call(this,A),this.hT="0c"},ui.lang.extend(wi.asn1.DERUTF8String,wi.asn1.DERAbstractString),wi.asn1.DERNumericString=function(A){wi.asn1.DERNumericString.superclass.constructor.call(this,A),this.hT="12"},ui.lang.extend(wi.asn1.DERNumericString,wi.asn1.DERAbstractString),wi.asn1.DERPrintableString=function(A){wi.asn1.DERPrintableString.superclass.constructor.call(this,A),this.hT="13"},ui.lang.extend(wi.asn1.DERPrintableString,wi.asn1.DERAbstractString),wi.asn1.DERTeletexString=function(A){wi.asn1.DERTeletexString.superclass.constructor.call(this,A),this.hT="14"},ui.lang.extend(wi.asn1.DERTeletexString,wi.asn1.DERAbstractString),wi.asn1.DERIA5String=function(A){wi.asn1.DERIA5String.superclass.constructor.call(this,A),this.hT="16"},ui.lang.extend(wi.asn1.DERIA5String,wi.asn1.DERAbstractString),wi.asn1.DERUTCTime=function(A){wi.asn1.DERUTCTime.superclass.constructor.call(this,A),this.hT="17",this.setByDate=function(A){this.hTLV=null,this.isModified=!0,this.date=A,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)),this.hV},void 0!==A&&(void 0!==A.str?this.setString(A.str):"string"==typeof A&&A.match(/^[0-9]{12}Z$/)?this.setString(A):void 0!==A.hex?this.setStringHex(A.hex):void 0!==A.date&&this.setByDate(A.date))},ui.lang.extend(wi.asn1.DERUTCTime,wi.asn1.DERAbstractTime),wi.asn1.DERGeneralizedTime=function(A){wi.asn1.DERGeneralizedTime.superclass.constructor.call(this,A),this.hT="18",this.withMillis=!1,this.setByDate=function(A){this.hTLV=null,this.isModified=!0,this.date=A,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==A&&(void 0!==A.str?this.setString(A.str):"string"==typeof A&&A.match(/^[0-9]{14}Z$/)?this.setString(A):void 0!==A.hex?this.setStringHex(A.hex):void 0!==A.date&&this.setByDate(A.date),!0===A.millis&&(this.withMillis=!0))},ui.lang.extend(wi.asn1.DERGeneralizedTime,wi.asn1.DERAbstractTime),wi.asn1.DERSequence=function(A){wi.asn1.DERSequence.superclass.constructor.call(this,A),this.hT="30",this.getFreshValueHex=function(){for(var A="",t=0;t<this.asn1Array.length;t++){A+=this.asn1Array[t].getEncodedHex()}return this.hV=A,this.hV}},ui.lang.extend(wi.asn1.DERSequence,wi.asn1.DERAbstractStructured),wi.asn1.DERSet=function(A){wi.asn1.DERSet.superclass.constructor.call(this,A),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var A=new Array,t=0;t<this.asn1Array.length;t++){var g=this.asn1Array[t];A.push(g.getEncodedHex())}return 1==this.sortFlag&&A.sort(),this.hV=A.join(""),this.hV},void 0!==A&&void 0!==A.sortflag&&0==A.sortflag&&(this.sortFlag=!1)},ui.lang.extend(wi.asn1.DERSet,wi.asn1.DERAbstractStructured),wi.asn1.DERTaggedObject=function(A){wi.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(A,t,g){this.hT=t,this.isExplicit=A,this.asn1Object=g,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=g.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,t),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==A&&(void 0!==A.tag&&(this.hT=A.tag),void 0!==A.explicit&&(this.isExplicit=A.explicit),void 0!==A.obj&&(this.asn1Object=A.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},ui.lang.extend(wi.asn1.DERTaggedObject,wi.asn1.ASN1Object);var Di,mi,yi=(Di=function(A,t){return Di=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,t){A.__proto__=t}||function(A,t){for(var g in t)Object.prototype.hasOwnProperty.call(t,g)&&(A[g]=t[g])},Di(A,t)},function(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function g(){this.constructor=A}Di(A,t),A.prototype=null===t?Object.create(t):(g.prototype=t.prototype,new g)}),fi=function(A){function t(g){var e=A.call(this)||this;return g&&("string"==typeof g?e.parseKey(g):(t.hasPrivateKeyProperty(g)||t.hasPublicKeyProperty(g))&&e.parsePropertiesFrom(g)),e}return yi(t,A),t.prototype.parseKey=function(A){try{var t=0,g=0,e=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(A)?Se(A):Ye.unarmor(A),i=Te.decode(e);if(3===i.sub.length&&(i=i.sub[2].sub[0]),9===i.sub.length){t=i.sub[1].getHexStringValue(),this.n=_e(t,16),g=i.sub[2].getHexStringValue(),this.e=parseInt(g,16);var o=i.sub[3].getHexStringValue();this.d=_e(o,16);var I=i.sub[4].getHexStringValue();this.p=_e(I,16);var a=i.sub[5].getHexStringValue();this.q=_e(a,16);var s=i.sub[6].getHexStringValue();this.dmp1=_e(s,16);var B=i.sub[7].getHexStringValue();this.dmq1=_e(B,16);var C=i.sub[8].getHexStringValue();this.coeff=_e(C,16)}else{if(2!==i.sub.length)return!1;if(i.sub[0].sub){var n=i.sub[1].sub[0];t=n.sub[0].getHexStringValue(),this.n=_e(t,16),g=n.sub[1].getHexStringValue(),this.e=parseInt(g,16)}else t=i.sub[0].getHexStringValue(),this.n=_e(t,16),g=i.sub[1].getHexStringValue(),this.e=parseInt(g,16)}return!0}catch(A){return!1}},t.prototype.getPrivateBaseKey=function(){var A={array:[new wi.asn1.DERInteger({int:0}),new wi.asn1.DERInteger({bigint:this.n}),new wi.asn1.DERInteger({int:this.e}),new wi.asn1.DERInteger({bigint:this.d}),new wi.asn1.DERInteger({bigint:this.p}),new wi.asn1.DERInteger({bigint:this.q}),new wi.asn1.DERInteger({bigint:this.dmp1}),new wi.asn1.DERInteger({bigint:this.dmq1}),new wi.asn1.DERInteger({bigint:this.coeff})]};return new wi.asn1.DERSequence(A).getEncodedHex()},t.prototype.getPrivateBaseKeyB64=function(){return be(this.getPrivateBaseKey())},t.prototype.getPublicBaseKey=function(){var A=new wi.asn1.DERSequence({array:[new wi.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new wi.asn1.DERNull]}),t=new wi.asn1.DERSequence({array:[new wi.asn1.DERInteger({bigint:this.n}),new wi.asn1.DERInteger({int:this.e})]}),g=new wi.asn1.DERBitString({hex:"00"+t.getEncodedHex()});return new wi.asn1.DERSequence({array:[A,g]}).getEncodedHex()},t.prototype.getPublicBaseKeyB64=function(){return be(this.getPublicBaseKey())},t.wordwrap=function(A,t){if(!A)return A;var g="(.{1,"+(t=t||64)+"})( +|$\n?)|(.{1,"+t+"})";return A.match(RegExp(g,"g")).join("\n")},t.prototype.getPrivateKey=function(){var A="-----BEGIN RSA PRIVATE KEY-----\n";return A+=t.wordwrap(this.getPrivateBaseKeyB64())+"\n",A+="-----END RSA PRIVATE KEY-----"},t.prototype.getPublicKey=function(){var A="-----BEGIN PUBLIC KEY-----\n";return A+=t.wordwrap(this.getPublicBaseKeyB64())+"\n",A+="-----END PUBLIC KEY-----"},t.hasPublicKeyProperty=function(A){return(A=A||{}).hasOwnProperty("n")&&A.hasOwnProperty("e")},t.hasPrivateKeyProperty=function(A){return(A=A||{}).hasOwnProperty("n")&&A.hasOwnProperty("e")&&A.hasOwnProperty("d")&&A.hasOwnProperty("p")&&A.hasOwnProperty("q")&&A.hasOwnProperty("dmp1")&&A.hasOwnProperty("dmq1")&&A.hasOwnProperty("coeff")},t.prototype.parsePropertiesFrom=function(A){this.n=A.n,this.e=A.e,A.hasOwnProperty("d")&&(this.d=A.d,this.p=A.p,this.q=A.q,this.dmp1=A.dmp1,this.dmq1=A.dmq1,this.coeff=A.coeff)},t}(hi),pi="undefined"!=typeof process?null===(mi=process.env)||void 0===mi?void 0:mi.npm_package_version:void 0,ki=function(){function A(A){void 0===A&&(A={}),A=A||{},this.default_key_size=A.default_key_size?parseInt(A.default_key_size,10):1024,this.default_public_exponent=A.default_public_exponent||"010001",this.log=A.log||!1,this.key=null}return A.prototype.setKey=function(A){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new fi(A)},A.prototype.setPrivateKey=function(A){this.setKey(A)},A.prototype.setPublicKey=function(A){this.setKey(A)},A.prototype.decrypt=function(A){try{return this.getKey().decrypt(Re(A))}catch(A){return!1}},A.prototype.encrypt=function(A){try{return be(this.getKey().encrypt(A))}catch(A){return!1}},A.prototype.sign=function(A,t,g){try{return be(this.getKey().sign(A,t,g))}catch(A){return!1}},A.prototype.verify=function(A,t,g){try{return this.getKey().verify(A,Re(t),g)}catch(A){return!1}},A.prototype.getKey=function(A){if(!this.key){if(this.key=new fi,A&&"[object Function]"==={}.toString.call(A))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,A);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},A.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},A.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},A.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},A.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},A.version=pi,A}();function Gi(A){return null==A||"string"==typeof A||"number"==typeof A||"boolean"==typeof A||"bigint"==typeof A||"symbol"==typeof A}function Mi(A){return!Gi(A)&&(A&&A.constructor?"Object"===A.constructor.name:"object"==typeof A&&null!==A)}function Ni(A){return!Gi(A)&&(Array.isArray(A)||Mi(A))}function Fi(A,...t){const g=t.shift();if(Mi(g)){Mi(A)||(A=Object.create(null));for(const t in g){const e=g[t];Ni(e)?A[t]=Fi(A[t],e):A[t]=e}}else if(Array.isArray(g)){const t=g.length;Array.isArray(A)?A.length=t:A=new Array(t);let e=0;for(;e<t;e++){const t=g[e];Ni(t)?A[e]=Fi(A[e],t):A[e]=t}void 0!==g.raw&&(A.raw=g.raw.slice())}else A=g;return t.length?Fi(A,...t):A}
/**
* Main component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/function bi(A,t){const g=Ri();return bi=function(t,e){let i=g[t-=309];if(void 0===bi.YExBHd){const t=function(A,t){let g,e,i=[],o=0,I="";for(A=function(A){let t="",g="";for(let g,e,i=0,o=0;e=A.charAt(o++);~e&&(g=i%4?64*g+e:e,i++%4)?t+=String.fromCharCode(255&g>>(-2*i&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let A=0,e=t.length;A<e;A++)g+="%"+("00"+t.charCodeAt(A).toString(16)).slice(-2);return decodeURIComponent(g)}(A),e=0;e<256;e++)i[e]=e;for(e=0;e<256;e++)o=(o+i[e]+t.charCodeAt(e%t.length))%256,g=i[e],i[e]=i[o],i[o]=g;e=0,o=0;for(let t=0;t<A.length;t++)e=(e+1)%256,o=(o+i[e])%256,g=i[e],i[e]=i[o],i[o]=g,I+=String.fromCharCode(A.charCodeAt(t)^i[(i[e]+i[o])%256]);return I};bi.voezuN=t,A=arguments,bi.YExBHd=!0}const o=t+g[0],I=A[o];return I?i=I:(void 0===bi.NYIoOB&&(bi.NYIoOB=!0),i=bi.voezuN(i,e),A[o]=i),i},bi(A,t)}function Ri(){const A=["tgdcUmkQW4y/wCog","kc9RW6pdK8oHACkoeIC","zw5JCNLWDa","eIDKW6/dMCohySoAeYP5FW0HbmoiWRldR3iF","yCo8sxzwW6FcQ1RcTcldNCodWQhdPSkLySoQWRRdQ8kBCmo0exTLkqpdRrXzW4fgcwmOhmo7W6C","zg9JDw1LBNq","y8orj3hdQCo3","icKU","DxbKyxrL","ue9tva","zxjYB3i","WOz2WR/cMfe","mY9TW6xdHq","W5qqWPxdUCob","lMuVyxyVE20+vxrlAfmTwfDLpwrKltKZrtD5sZLmzYO","rmksW4NcRmovBuWgW4C","C8oRW50s","z2v0u2nYB2XStgvMDa","Dg9Wtgv2zwXeB21HAw5Z","y29UzMLNlMnVBxbVBMvUDhmUtgLZDa","ef/cUxpcVW","cCkjWO4","W4hcQxOcuCkBW4WW","WRNcL8kGWPujDW","z2v0vgLTzq","sSojW6FdHeRcS8oEW53cS1C","W7HkW4lcVqhcLSof","W7Hpwq","W5HOdmkveeTjWR7dRSo6WPmwW7pcG8khc8kvW5NdQJi","zgvZy3jPChrPB24","w3bYB3bZxsbmAwnLBNnLigTLEsbJAgvJAYbTzwnOyw5PC20GBM90igXVywrLzcaODhj5igDHBNr0lxnJAgvKDwXLlxrPBwvSAw5LlwnHBgvUzgfYl2rPC3qVz3n0yY53yxnTlMvZBs5TAw4UANmPlG","sw52ywXPzcb0B2TLBI4","FYVcIJddQCogamokbSkC","imotWOLVyqDIWQNdUSoNW6nCyq","AM9PBG","W6VdR8oxcITm","C3vIC2nYAwjL","W5rWWPLrWRS9WRpcG2ddTsjLqLuzW6i4","WPRcHCkpWRTjW6TxmvlcIY7cKmkYW4iCWOPPWOBdM8oumCkPoH4SW78MWQtcRHWVW40TqCkgB8opW7besmoXD8oMibddJWPI","k8kWW5roz0D0W5mvW6jsvCkLWPm+gYeRimkwW5JdISoNW79ttKPyFvFdQSkCzSomWO3cTSkYBCk7k8o9B8ojdNv+W6NcLSoiqbJcMvDnW60LkSkoomowWRpcQ8k1uHFcKCo+WOn8WPCjWPeVdsGmWPNdUxhdI8kpbmowWRRcTSkJWR3cNepdMrxcI8o/WQL3W7FdGmolW4xcTqZdL8oLhbW5zddcVmk5WOZcJWjxWOxcNuBcSSkPjGddQvNcRs7dP1ldGCkTq8kPtSo0WQWOWOmObmk7k8oTncuEWPW8hefhcXldN0FcQe00W4Gpgmksv1CQWPRdOmoFW5DiW7dcPSooW71/jgX4vSkKWPPUWRhdKt/dR3yKW5XqW7ldSX3dM1dcT8ofWPC","w8o3s0DpW6ZcOXpcUWddM8oF","W7NdJCobf8olWP4","BM9YBwfSAxPLtw91C2vxAgvLBev2zw50","nSkcWORdP1uIWQCdWPSuu8oVW4iVuSobWRVcTmkcWQykW7BcVhhcUmkyWP7cQJ4DWQCUyuOrq8kT","mIDKW6/dMCohyG","Dt3cJsdcPCoefW","DwX0Aw1HDgu","ChvZAa","WRhcICky","nIf0W74","WRL8WQCDuHDeWPbMWO3cLq","W6ldQmoqeZ8yWPW1W6RcTCo4nGJcPSo3W4G0mq3cGwhcHKjntw95drtdM3RcOCoOWRJdObi","wSoiihxdS8oHW7ldNmkAtvddNSoaW6VcGa3cH8oDusRcHmoCvGldOCotBa3dHg7cKeOxjupcMmoJW4z+WRvneSkRo34wWO3cII4Rrqj0W4yXW47cGtCJmmkAo3fiBCoQzCoEW78XWRJdMNtdQIBdHCo6WOC2WR8ZF3ZcJSksWQddR23dOmoscSkOW5D/W60VmCovaLBdG8kBrmo/","C2fHCW","ywjZB2X1DgvqB3nqEa","WRhcL8k9WOypCbu","ox0ik8o1WPW2mSkKW6O","x2xcSSkOW4yZ","dSk3W5rhFfb0WOa","zw50CMLLCW","Ahr0Chm6lY8","CMumWQqmbCktpaK","WPRdTNONFmkVW7O","s8o9uxftW6NdOrlcVsRdMSodWR3dNCkLk8oMWRFdPG","W4JcNIbTwmoTW5pdNZyv","c8k8W5LmFvW","mSofiMtdVmk8W7pcLCkCtuFcJCokW6ZcIX3cVmkCtIRcICoa","sw52ywXPzcbSAwnLBNnLigTLEsbBC2LNBMf0DxjLig1PC3nPBMDDlG","W4SdWPyFWQu","y29UzMLNlNnJCM9SBc52zxj0AwnHBc5IEvbPEgvSCW","zw5KC1DPDgG","zg9TywLUCW","ChjVzhvJDa","bmk2W5Lnyfm/WP8xW7rFw8k0WPqSmc9IkSkBW48","Ahr0Chm6lY9NC3rJlM5LDxjVBMv0lMLVl2fWAs9PBNzHBgLKlxrVA2vU","W71WW7nQ","jgrHDgeUzwXLBwvUDhmUCgfYzw50","yxbWBgLJyxrPB24VEc13D3CTzM9YBs11CMXLBMnVzgvK","wqJcK0VcP8kubaRdICk0WQfEWOmcyK3dGSo7kCkRWQddKCkyWOJcV3tcGYhcUJvxeWOmzCoin18nAs4/gvRcP8omW5GFWQRdOCkOW4hcIXZdSwmiW7JdHmkrW6ZcKvGPWQddPmoFh3KHWO7dK8omhLfPWR9ECSoYcu5/W6OJfSkWWQWqW4v2WO/cIJNdImojmW3cNrxdQ8oAW6lcJa","CcpdUcfbqCk5","mJmWmNnRy0r4Cq","gmkjWPldO0SQWRDgWQqrx8o+W58","W7LPo8oXna","W7NdTmonbtG","W4ldJhNdRqKbmWKK","mXNdHq/cRCo3jCox","DxnLCKfNzw50","W4mcWORdPCodWRW","Ag9ZDa","jgrHDgeUzgLTzw5ZAw9UC1bHCMvUDa","Dg9Rzw4","zMv0y2G","rSkuW4NcJmoxEK0","DMvYAwz5","WRddLmo5WOdcLbW","W7XUhmke","yxnZAwDU","W4T7WOi","W5/cQColkd0ODW","C3vIC3rY","WRdcNmk6WOauEH8","BmorW5ldT3vxW5TYW5xcVIJcPxu4WPJcQZlcICklomkTuSk4WRddSCknE2q4W4hcJ3RdSSo+DSolW74fl3VcOW","mJe3oteZnNDbz1HKBq","zgf0zq","ex9kFSopaMeh","C2X1zW","B2zMC2v0v2LKDgG","r1nuqZO","vgHPCYbKB21HAw4GAxmGBM90ihjLz2LZDgvYzwqGkca","y29UzMLNlNzLCNnPB24","WOVdRhG2AG","D2fZBuLUAxrPywXPEMvK","mJa4ody0y0Hru0rN","j8kTW6ZdMW","vCoiW5xdS29b","dSkpjmkqdq","q1nq","z2v0","rCoNu2ntW77cOXpcVtK","WOhdNHr7EmkEjSkpwG","AY3cJIpcQ8orbG","DMfSDwvFBNvT","W4NcUHTCqhFdSxff","w2LUAxrPywXPEMf0Aw9UxsbmAwnLBNnLigTLEsbJAgvJAYbTzwnOyw5PC20GBM90igXVywrLzcaODhj5igDHBNr0lxnJAgvKDwXLlxrPBwvSAw5LlwnHBgvUzgfYl2rPC3qVz3n0yY53yxnTlMvZBs5TAw4UANmPlG","mJmXnZa5mMLOEvfMAa","Dg9tDhjPBMC","B3v0zxi","W4WfWP8iWONcMGlcNdtdKa","zgf0yuLUzgv4","zMLSztO","x8kQfrTUy8oYWOmjWPm","zJZdSIzCq8oKWQr2ELu2sq","DxbKyxrLCW","imkWW6VdHKdcO8oSwLa","WPpdQNS9","W7LKhmkdh19j","AgvPz2H0","DwX0Aw1HDguTB25LlxLLyxi","W6tdMmomeCoxWO8","iCkWW6xdKfa","W7HLlCo2nui8","Ag9YAxPVBNrHBa","W40xWP/dV8obWQytDsf9WQ8S","W4LXWRL2WP0pWQVcMhpdVHu","y2f0y2G","zg9TywLU","WOlcIYFdIXW","B3jPz2LU","CgfYC2vFBgLJzw5Zzv9RzxK","WPLMWQdcJKpdOSo2","nqNdHbm","mJiYq2znv0zm","W49LFKW","DhSpWQ8l","q8ouW5ddOwHQW58/W5S","WPhcNdJdGqm5ecO4hMFdPvS","WQHNWQWeFW","WP/cMc3dNqO4mYymbxW","Dg9Rzw5FC2HVDwXKx2jL","DhjPywW","CMvWBgfJzufSBa","CNvSzxm","W45QWPfrWQCV","D2LKDgG","W7PVdmoXlKq8lq","BwvZC2fNzq","WQBdLgTeWQ4","msHHW7NdKSoat8kFeIXIkW","W5/cO8ovpsyPFq","WRD8WQ0w","W53cQG0","Dw5VyNnLCNzL","iCofyCo7qSoAW6G1","gmolW5xcMmo+q2CB","W6PAsxK1v8oF","y29UzMLNlMLUBMvYsgvPz2H0","cmk7W4roE0j0","W77dMmote8onWOG+","fCkdWPxdQa","bmk2W5Lnyfm/WOaDW7vegCkQW5uZfZHIn8kCW5xdLSoNW70ux14OEKddU8oqEq","W5XUWObjWRS/WR7cNNpdVXWMtX8hW7S8vxRcN04sW4TTW5RcPINdHCowuI84cq","WQddSmoPW7VcJWCNoszcW5FcKSkh","dSkKW7eoAZmDzSoQAa","y29UzMLNlMXPC3qUCM93sgvPz2H0","WPtdVgCGEmkMW6S","W6z0a8kvdq","WORdRxuHBCkYW5KYq8o9","DMfSAwrvBNrPBa","WQtdGhveWRnc","xSoZu2jFW4hcQq","BgvUz3rO","AhrTBa","WRFdJMLhWRrrlSoeWPRdO1DPCSkLFSkkW4ldJmo1","mY40mc41","WRpdHhm","WOtdKqn/qSkelCkyBCkRaxxdJ8oGDW","y29UzMLNlNnJCM9SBc5OB3jPEM9UDgfSlMj5ugL4zwXZ","DJBdQbnwvSkLWRT5xfuQ","C3bSAxq","De3cJKpdVCkSa8oJrSkBW5ib","WRZdK2jh","C3rYAw5NAwz5","FmkDtSoRwSoQW68","iwjaASoo","bmonW61HW6/cGSkXaeddV8kg","tgLJzw5ZzsbRzxKGy2HLy2SGBwvJAgfUAxnTigzHAwX1CMuU","C2LNBMf0DxjL","WQddJNDTWRHazCojWR3dUfnNDCk4iW","zgvJCNLWDa","W5lcOSoBmdOJAYu","DMfSDwvpzG","W6tdG8o3W4PejYTyWR/dHCogWR8","vCohW790W6JdICo4dfVdU8keWQjuf8oKW5pdH24dWQe5oG","lqJdMHC","BgLJzw5Zzq","pgjYic8+","mtC4mdfUEKjhwKO","CNGgWRq+b8kejbG","W61Fqx0Y","y29UzMLNlMnVBxbVBMvUDhmUq2HHCNq","zmknxCoR","WOtcLI7dGa","W5pcO8olka","Aw5JBhvKzxm","jgrHDgeUzgLTzw5ZAw9UCW","WPpcJc7dJXSP","zgvZDhjVEq","ww91CIbSAwnLBNnLigTLEsbPCYbUB3qGDMfSAwqGzM9YihrOAxmGChjVzhvJDcb2zxjZAw9UicHTywPVCIb1CgrHDgvZigfYzsbUB3qGywXSB3DLzcKU","D3KmWQika8kv","mtq4mdrsrhbWDeS","y29UzMLNlMrLyNvN","mX3dMXlcOmobkSopw8ke","W4JcNsf+C8oP","BgfZDeLUzgv4t2y","r1nuqZOZoG","WObRWRBcKW","oCoPWO5Hs2tdUa","ymoal3NdUCohW7NcImkyra","y3vZDg9Tzxi","pSoxWO0","W6PHk8oG","mSouWO5tBGb5WQddHSoeW7vQBq","CsRdRcu","WQNdLGn/x8kdj8oksCk8etldHCoMyCoiW4neW7NdNSkxW7vu","zNjVBuvUDhjPzxm","EMRcUSoIumkhWOtdGmkCWORcJCkYFa","WRNdLgTvWRrgBmomWPZdPq","WOTpW44OWPlcJJxcUbG","W7JdKSovoSoAWO0+W7ZdVWbhWP/cQ8orW7q","osTZ","mmoTWPr7","lZZdVW","c8kdWOZdILW9WQzpWRmsxCoRW4uYra","BwfW","W6bUbmkvea","ytBdRYnhtCk6WQn8z1q","C3rYAw5N","z3n0yY1LCNjVCG","sw52ywXPzcbSAwnLBNnLigTLEs4","WRxdJ2reWQ5cB8oxWRBdPvDHDCk4iW","BwfPBG","CMvWBgfJzq","h39azq","W63cGmoBWPlcLJFdHN4","W60EWPmjW7BcNWRcLdVdJCkVaNBdUCkPudZdVN/cVsDwBsZcKCkidqeTW6rd","W6JdNmorf8o2WPu/W7xdGW","W6DUpmoPkuK3oq","hCokW71LW6FcLmo5","tCkIcHfLwmoYWPidWOS","W4LxW55fn3yUoa","WPFcMZ/dVqW+cYmejxVdHq","r8oGvNbtW6dcVa","sSoiW6tdHv3cSSoGW5BcON7cSSo3","EMODpmk5W5CHlmkUW7xdRJ3cNmkdqKa6W6Dh","C2v0u2nYB2XSvg9W","zgf0yq","r8oDW4u","DgvZDa","W5hcO8ormG","C3vIC3rYAw5N","lNSpia","WR3dJ2rnWQHszCow","y3jLyxrLzef0","WRX7WRSeEbrvWPa","W7VdLmobaSox","W4ZcRHvgr1ddTMDjlW","DhLWzq","CgfYC2u","W5euWO3dN8ohWQa0FcrwWQi+WOi","odbAuhnpCgu","W45mW5C","yWdcNfVcRa","W4OcWPSiWQlcIdlcKc7dJa","WRtdTmoOW6RcKXWB","b2vfBSor","a3ffySogohODWOFcKCkk","xCkYcrC","DMfSDwu","ex9eASolcxW","fCkSW5ToEG","W5/cVqTauq","WQFcL8kOWPCpBqLY","W75pW4tcRWhcGCoFAaW","C3vWCg9YDa","WQdcGSkQWPmjEG","W57cObrosMS","B2jZzxj2zq","y29UzMLNlMXPy2vUC2vlzxK","DgLTzq","gmkjWOG","lxSEo8k7WOSTiSkU","C2HPzNrlzxK","WOFcL8kPWPSoAWLYWQ7dKSkrWQJcLSkarr8KW6SDW6BdRCoI","C2v0u2nYB2XStgvMDa","rJS1yYzJw1G0i2u2ps08EG","W7XLl8oPpu43c2/cTG","W6pdSSohdZLgW5zP","CMvNAxn0zxjLzerVBwfPBNm","bmotW7PHW73cGG","oID0W6NdMmoAACkFgd8","dK/cU3hcUai","WRXHWQywFH4EWOn6WPZcICogwCkwbmkmamoNWQH3WOS6","WONdTCkmdGSYxHDg","kwZdHMpdSmoXnSoigCkAW68","WOhdKa17wmkE","Dg9Rzw5FD2fZ","h8kvjSktf8ocD8knWP/cVmo0WOS","a8k4W4nkqfP1WPyg","whdcSmkSW4aKu8oA","EmoPW5ddMmoWoq","zM9SBg93","WPxcG8kcWQPcW7zgpgFcGt/dHCkKW4ioWPuHWQtdKCowlmoQmW","tgLZDgvK","wSkUdsfPrmoZWPSmWQS2ca","y2qoWQCwdSks","W6XpwuSIqmodW6VdMahdHSo/","WR3cHSk6WOjhmem","AhjLzG","W7npq381wG","y29UzMLNlMf1Dg9jBM5LCKHLAwDODa","yNq8jLzGlZLUndy1AgGSkG","W6PFW5i","DtldRIvBumkpWRTWzv80uq","ls0Tls1cruDjtIbqvujmsumGs0vzls0Tls0ktuLhzK1bmeDdu3fhu0LIm0rrrujbuvvbqtrhtKfeq0jPuuTcz1fdA3zKCePvD0zcmMi2u0fkBgvwBeTzmwPcDaPkvxHyz2PevKjKtNPUzeiYAuvps2jzk0zkCdjomKOYEMPjq28YuvC1yMLxodDemhbpCvjevNK0nwv2BMP2A0vMcJbJC0KWtxr2m1HfAtv2vePen1reD053s09iwtm5owiXCfLRDtrSnxLcEtG2rKjtDKu3y2H5l01XA3HovLb5tvikq0XiBMjXwwvNn21UELGWzxvrsurbuufccI0Tls0Tru5eifbvqKXjqYblrvKTls0Tlq"];return(Ri=function(){return A})()}function vi(A,t){const g=Ri();return vi=function(t,e){let i=g[t-=309];if(void 0===vi.nXQfju){vi.sVwvhq=function(A){let t="",g="";for(let g,e,i=0,o=0;e=A.charAt(o++);~e&&(g=i%4?64*g+e:e,i++%4)?t+=String.fromCharCode(255&g>>(-2*i&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let A=0,e=t.length;A<e;A++)g+="%"+("00"+t.charCodeAt(A).toString(16)).slice(-2);return decodeURIComponent(g)},A=arguments,vi.nXQfju=!0}const o=t+g[0],I=A[o];return I?i=I:(i=vi.sVwvhq(i),A[o]=i),i},vi(A,t)}function Si(A,t){const{api:g,state:e,onDestroy:i,Actions:o,createComponent:I,html:a,onChange:s,update:B}=A;let C;function n(A,t){return bi(t- -853,A)}const Q=Fg(A,Fi);Q[O("VF)s",1220)]();const r=l("GGP$",74);let E;function c(A,t){return bi(t- -273,A)}function l(A,t){return bi(t- -501,A)}i(e[G(")r@p",1434)](G("T2nM",1316),(A=>E=A)));const h=a`
<br />
If you are using trial version, please generate key
<a href="https://gstc.neuronet.io/free-key" target="_blank">here</a>. Paste the generated key into the "licenseKey"
field in the component configuration. Paste the full key including "===BEGIN" and "END====". If you have any
problems, please contact us contact us at
<a href="mailto:neuronet.io@gmail.com">neuronet.io@gmail.com</a>
`,d=a`
<div class="gstc-error">
<div style="font-weight: bold;margin-bottom:10px;">[ Connection error ]</div>
An error occurred while trying to connect with license services for
<a href="https://github.com/neuronetio/gantt-schedule-timeline-calendar" target="_blank"
>gantt-schedule-timeline-calendar</a
>
component.<br /><br />
If you are using <span class="gstc-code">Content-Security-Policy</span> header make sure you have added
<span class="gstc-code">https://gstc.neuronet.io</span> address after space.<br />
Example: <span class="gstc-code">Content-Security-Policy: connect-src self https://gstc.neuronet.io</span><br />
More info
<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy" target="_blank"
>here</a
>
and <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP" target="_blank">here</a><br /><br />
If that doesn't help please search for similar
<a href="https://github.com/neuronetio/gantt-schedule-timeline-calendar/issues">issues here</a> or create one. You
can also contact us at <a href="mailto:neuronet.io@gmail.com">neuronet.io@gmail.com</a>
</div>
`,u=a`
<div class="gstc-error">
<div style="font-weight:bold; margin-bottom: 10px;">
The gantt-schedule-timeline-calendar component will not work with local files (protocol file: ///)
</div>
<br /><br />
You need to run <code>npm run examples</code> and follow instructions to display this page.<br /><br />
Files needs to be served from http server like
<a href="https://www.npmjs.com/package/http-server" target="_blank" rel="nofollow">http-server</a> or
<a href="https://www.npmjs.com/package/sirv-cli" target="_blank" rel="nofollow">sirv-cli</a>
</div>
`,w=[];let D,m;function y(A,t){return vi(A- -293,t)}w[Z(117,28)](e[l("pdt[",-54)](p(-110,-48),(A=>D=A))),w[Z(117,85)](e[G("pdt[",1246)](y(251,274),(A=>m=A)));const f=I(D);function p(A,t){return vi(A- -454,t)}i((()=>{var A,t;f&&f[(A=1421,t=1391,y(A-1163,t))]()}));const k=I(m);function G(A,t){return bi(t-799,A)}i((()=>{var A,t;k&&k[(A="&Ku^",t=-505,G(A,t- -1684))]()})),i((()=>{var A,t;w[(A="jWBv",t=943,G(A,t- -273))]((A=>A()))}));const{onDestroy:M,state:N,update:F,html:b,unsafeHTML:R}=A;var v=!0;function S(A,t){return vi(t- -965,A)}const Y=b`<strong>[gantt-schedule-timeline-calendar component]</strong><br /><br />`;function J(A,t=""){const g=O("55)h",-35- -1250);var e,i;return b` <div class="${g}">${Y}${A}${t?b`<br />${typeof t===(e=1134,i=1014,p(e-1007,i))?R(t):t}`:null}</div> `}function L(A){return Nt(this,void 0,void 0,(function*(){function i(A){function t(A,t){return vi(t-776,A)}return(A=String(A))[t(1354,1362)]((g="&Ku^",e=1055,bi(e-738,g)),"")[t(1356,1362)](vi(286- -99,210),"");var g,e}function o(A,t){return bi(t- -701,A)}function I(A){function t(A,t){return vi(t- -5,A)}const g=(A=i(A))[e(252,215)](":");function e(A,t){return vi(A- -306,t)}g>-1&&(A=A[t(534,599)](0,g));const o=De(A);var I,a,s,B;function C(A,t){return bi(A- -87,t)}return o[(s=838,B="[mL!",bi(s-271,B))]===le[t(255,308)]&&o[(I=736,a=699,vi(a-229,I))]&&o[t(416,338)]&&(A=o[e(164,64)]+"."+o[C(445,"T2nM")][C(516,"%3zB")](".")),A}function a(A,t){return vi(t-885,A)}let s=location[n(-288,-408)];function B(A,t){return bi(A- -491,t)}function n(A,t){return vi(A- -701,t)}const Q=function(){function A(A,t){return bi(A-81,t)}if(void 0!==location[A(601,"rFni")])return[...location[A(665,"T2nM")]];const t=[];let g=window;for(;g!==window[(B=302,C="K3#Q",bi(B- -313,C))];){if(g[(a="EEed",s=-43,bi(s- -472,a))][A(707,"&Ku^")])try{const a=new URL(g[(o=-480,I=-395,vi(I- -725,o))][n("GY6I",270)]);t[A(556,"upAM")](a[(e=1239,i=1325,vi(i-853,e))])}catch(A){}g=g[n("T2nM",474)]}var e,i,o,I,a,s,B,C;function n(A,t){return bi(t- -39,A)}return t}();function r(A,t){return bi(A- -951,t)}function E(A,t){return vi(A-608,t)}function c(A,t){return bi(t-694,A)}function l(A,t){return vi(t- -799,A)}function w(A,t){return bi(t- -341,A)}function D(A,t){return vi(A- -56,t)}if(e[o("BY&n",-335)](r(-355,"P51b"),[s,...Q]),Q[o("gx2B",-311)]&&(s=String(Q[Q[n(-186,-103)]-1])),s[o("Vqzz",-84)](D(398,340)))return v=!1,void(C=u);if(s=i(s),A[B(-141,"3yRo")](D(503,547))){let i,h;const d=e[o("ne]r",-127)](w("bsIJ",310));if(t&&t[n(-265,-213)]&&typeof t[l(-386,-363)]===B(-166,"GY6I"))h=yield t[a(1345,1321)]()[a(1302,1354)]((A=>{v=!1,d&&console[s("pdt[",1584)](C(1502,1430),A);let t=c("4RNy",317- -780);var g,e;function o(A,t){return r(A-1630,t)}function I(A,t){return c(t,A- -656)}function s(A,t){return r(t-1910,A)}function B(A,t){return D(t-941,A)}function C(A,t){return a(A,t-97)}typeof A[(g=-427,e=-454,E(e- -1552,g))]===C(1529,1563)&&(A[B(1212,1375)][I(644,"T2nM")](w("A!LB",158- -30))||A[I(408,"55)h")][s("wgMV",1600)](B(1266,1326))||A[o(1188,"RS2t")][o(1270,"ZhdT")](I(350,"*l!0")))&&(t=o(1043,"gx2B")),i=J(t)}));else{v=!1,d&&console[n(-366,-248)](a(1304,1240),t);const A=B(-114,"KN^A");i=J(A)}if(i)return v=!1,void(C=i);let u;try{const t=E(947,803);u=h[a(1484,1358)](A,t)}catch(A){v=!1;const t=l(-357,-216);return void(C=J(t,A[w("vV(g",133)]))}if(!u.ok){v=!1;const A=l(-350,-216);return void(C=J(A,u[o("5j1P",-241)]))}const m=u[D(544,506)];if(m&&m[r(-511,"bsIJ")]&&m[r(-480,"2Z&$")]instanceof Map&&(m[c("vV(g",1030)]=Object[D(513,351)](m[l(-415,-313)][B(-66,"&Ku^")]()),m[o("5j1P",-191)][D(572,449)]instanceof Map&&(m[o("YYma",-356)][B(-46,"55)h")]=Object[w("K2tP",34)](m[o("Vqzz",-308)][D(572,628)][a(1119,1269)]())),m[l(-368,-313)][l(-352,-342)]instanceof Map&&(m[l(-443,-313)][w("[mL!",63)]=Object[a(1368,1454)](m[B(-56,"RS2t")][o("bckn",-202)][D(328,240)]()))),e[w("ePC$",216)](n(-162,-159),m),m[B(62,"ML%)")][a(1315,1315)]!==r(-551,"K3#Q")){v=!1;const A=w("*l!0",22);return void(C=J(A))}const y=g[n(-68,78)][w("ZhdT",224)]()[c("P51b",1208)]();if(m[B(129,"EEed")][E(1054,954)]<y){v=!1;const A=o("5j1P",-348);return void(C=J(A))}let f=s;if(m[E(1094,1146)][n(-323,-204)]){f=I(s);const A=Q[E(1186,1244)]((A=>I(A)));if(A[E(1123,1228)])for(const t of m[r(-332,"EEed")][n(-305,-178)]){const g=t[c("ML%)",1172)](">")[w("BY&n",161)]()[B(73,"bqV0")]((A=>I(A))),e=g[o("wgMV",-293)](),i=I(location[c("ne]r",1068)]);if(!g[r(-603,"&Ku^")]||!A[r(-306,"YYma")]||g[B(-72,"m!kh")]!==A[o("bckn",-382)]||i!==e)continue;let a=0,s=0;for(const t of g){t===A[s]&&a++,s++}if(a===Q[l(-370,-284)])return}}if(!m[B(-51,"bsIJ")][a(1409,1281)][l(-317,-251)](s)&&!m[c("jCsG",1158)][a(1278,1281)][E(1156,1166)](f)){let A=!1;for(const t of m[o("T2nM",-210)][c("%3zB",1187)]){if(t[a(1242,1280)](".*")){const g=t[r(-324,"Z2Gf")](0,t[l(-400,-241)](".*")+1);if(s[c("15Et",1201)](g)){A=!0;break}}if(t[r(-417,"%3zB")]("*")){const g=t[r(-311,"ZhdT")](".","\\.")[a(1428,1370)]("*",".*");if(new RegExp(g)[E(1210,1185)](s)){A=!0;break}}}if(!A){v=!1;const A=B(98,"Vqzz")+s+"'.";return void(C=J(A,r(-314,"&Ku^")+m[B(52,"bckn")][B(-176,"ML%)")][E(967,931)](", ")+o("bqV0",-360)))}}if(!m[r(-327,"gx2B")][o("Z2Gf",-350)][c("ne]r",1031)]){if(e[w("Z2Gf",-19)](D(378,227))[n(-178,-235)](".")[0]!==m[E(1005,916)][B(-26,"ZhdT")][n(-178,-38)](".")[0]){v=!1;const A=D(496,526);return void(C=J(A))}}return}const m=l(-364,-478),y=a(1278,1209),f=ki;if(A){if(A[o("RS2t",-190)](D(376,507)))return function(){function t(A,t){return w(A,t-928)}let g=null;try{const t=A[u(386,"ed*U")](5),i=qg[G(98,139)](t,m)[G(15,59)](zg);g=JSON[I(994,906)](i),g&&e[I(676,627)](I(761,833),{for:g[u(684,"K2tP")],domains:[...g[k("EEed",-161)]],type:Object[M("bAK(",73)]({},g[M("N6xD",206)]),validUntil:Object[G(-14,-172)]({},g[u(638,"KN^A")])})}catch(A){}if(!g||!g[a("pdt[",1267)]||!g[(i=1061,o=1200,E(i- -59,o))][u(414,"bAK(")]){v=!1;const A=a("CJ*I",1025);return void(C=J(A,h))}var i,o;if(!g[I(765,825)]){v=!1;const A=I(686,686);return void(C=J(A,h))}function I(A,t){return l(A,t-1093)}function a(A,t){return w(A,t-998)}const Q=function(A){const t=Object[(g=-200,e="wgMV",B(g- -69,e))]({},A);var g,e,i,o;function I(A,t){return E(t- -146,A)}return delete t[I(1002,993)],delete t[I(1203,1069)],JSON[(i=1496,o=1512,E(i-362,o))](t)}(g);if(!function(A,t){if(!A||!t)return!1;const g=new f({});var e,i,o,I;return g[(e=44,i="P51b",B(e-170,i))](y),g[(o=-359,I=-431,E(o- -1385,I))](t,A,Tg)}(g[G(96,152)],Q)){v=!1;const A=k("P51b",-455);return void(C=J(A,h))}const r=(new Date)[(c=-77,d=-200,n(c-275,d))]();var c,d;function u(A,t){return B(A-567,t)}if(g[a("upAM",1213)][I(810,916)]<r){v=!1;const A=t("ne]r",915);C=J(A,h)}else{if(g[u(697,"3dXu")][t("4RNy",1203)]===p(-231,-160)||g[I(986,905)][G(187,322)]===G(27,-139)){const A=s[p(-44,16)](":");A>-1&&(s=s[p(-178,-6)](0,A));const g=De(s);g[t("N6xD",1132)]===le[G(-122,-283)]&&g[a("rFni",1306)]&&g[k("BY&n",-211)]&&(s=g[k("pdt[",-154)]+"."+g[a("CJ*I",1234)][k("CJ*I",-281)]("."))}if(g[p(-206,-44)][a("gx2B",1040)](s));else{v=!1;const A=G(-2,-164)+s+G(-103,-50);C=J(A,h)}}function p(A,t){return E(A- -1210,t)}function k(A,t){return w(A,t- -443)}function G(A,t){return D(A- -379,t)}function M(A,t){return w(A,t-2)}}();const t=D(462,606),i=encodeURIComponent,I=(new Date)[c("VF)s",1162)](),Q=qg[n(-374,-296)](I,m),u=D(583,746),p=Yg(I+s,u,{keySize:16})[B(-2,"ZhdT")](),k=[i(o("N6xD",-174))+"="+i(A),i(B(-71,"5j1P"))+"="+i(s),i(c("K2tP",1188))+"="+i(location[c("T2nM",1219)]),i(l(-336,-384))+"="+i(Q),i(w("CJ*I",5))+"="+i(t),i(r(-562,"ePC$"))+"="+i(navigator[n(-290,-449)])][o("EEed",-114)]("&"),G=r(-575,"wgMV");window[n(-285,-227)](G,{method:l(-317,-465),redirect:a(1323,1196),headers:{"Content-Type":w("VF)s",164)},body:k})[w("vV(g",219)]((A=>{var t,g,e,i;return 200!==A[(t="VF)s",g=-235,c(t,g- -1416))]&&(v=!1,C=d),A[(e=1255,i="RS2t",c(i,e-102))]()}))[w("jCsG",97)]((I=>{function Q(A,t){return B(A- -434,t)}function r(A,t){return o(t,A-190)}function E(A,t){return a(A,t- -734)}function c(A,t){return n(A-1550,t)}function l(A,t){return D(t-974,A)}if(I&&I.ok)if(I[G(-491,-464)]&&I[E(608,566)]===p)v=!0,e[E(369,484)](Q(-556,"ne]r"),(()=>{var A,t;function e(A,t){return G(t,A-140)}var i,o,a,s,B,C;function n(A,t){return Q(A- -40,t)}return{registeredDomains:I[e(-97,47)],validUntil:{text:I[n(-510,"3dXu")],value:g[e(-106,-5)][e(-311,-385)](I[n(-639,"ne]r")])[e(-204,-321)]()},type:null!==(A=I[e(-128,-147)])&&void 0!==A?A:{text:(B=40,C="EEed",Q(B-437,C)),value:(a=1005,s=869,E(a,s-234))},for:null!==(t=I[(i=39,o=-111,E(i,o- -825))])&&void 0!==t?t:""}}));else{v=!1;const g=E(660,507);C=J(g,h);const e=k(-603,-586),o=[i(r(81,"A!LB"))+"="+i(A),i(r(36,"%3zB"))+"="+i(s),i(l(1297,1236))+"="+i(location[E(562,469)]),i(r(-89,"VF)s"))+"="+i(t),i(k(-284,-335))+"="+i(String(I[r(68,"5j1P")])),i(c(1332,1290))+"="+i(p),i(Q(-473,"Vqzz"))+"="+i(navigator[(y="ML%)",f=317,B(f-266,y))])][c(1208,1187)]("&");window[k(-727,-569)](e,{method:(u=693,m="bckn",w(m,u-557)),redirect:k(-521,-674),headers:{"Content-Type":k(-752,-583)},body:o})}else if(I){v=!1;const A=R(I[G(-255,-389)][l(1664,1504)](/\n/gi,E(670,691)));let t=null;I[r(69,"[mL!")]&&(t=R(I[k(-714,-631)][G(-166,-293)](/\n/gi,l(1471,1458))));const g=w(")r@p",-487- -527);C=b` <div class="${g}"><strong>${Y} ${A}</strong><br />${t}<br />${h}</div> `}else v=!1,C=d;var u,m,y,f;function k(A,t){return n(t- -284,A)}function G(A,t){return a(A,t- -1764)}F()}))[a(1235,1354)]((()=>{v=!1,C=d,F()}))}else{v=!1;const A=B(-65,"Eyvi"),t=a(1543,1467);C=b` <div class="${t}">${Y} ${A}${h}</div> `}}))}M(N[O("jCsG",1316)](S(-240,-333),(A=>{function t(A,t){return n(A,t-122)}function g(A,t){return Z(t- -647,A)}L(A)[t("2Z&$",-185)]((()=>{F()}))[g(-590,-433)]((A=>{v=!1;const i=o(372,405);function o(A,t){return g(A,t-777)}var I,a;C=J(i),e[(I=1129,a="pdt[",t(a,I-1365))](g(671,611-958))&&console[o(248,210)](t("rFni",270-433),A),F()})),F()})));const U={width:0,height:0},x={width:0,height:0};let H,q,K,T;function W(A,t){return vi(A-486,t)}function z(A){function t(A,t){return l(t,A-637)}const g=A[t(618,"2Z&$")];function i(A,t){return W(A- -912,t)}const o=A[t(603,"bAK(")];var I,a,s,B;(U[t(543,"ZhdT")]!==g||U[i(35,-69)]!==o)&&(U[i(62,-8)]=g,U[(s=831,B=774,y(s-663,B))]=o,e[(I="A!LB",a=281,n(I,a-491))](i(123,26),U))}class j{constructor(A){var t,g,i,o;!H&&(H=new ResizeObserver((()=>{z(A)})),H[(i=249,o="gx2B",O(o,i- -1110))](A),e[(t=1138,g="KN^A",l(g,t-1308))](O(")r@p",520- -936),A),z(A))}[l("Eyvi",-62)](){}[O("GGP$",1419)](A){var t,g;H[(t=559,g=575,p(t-517,g))](A)}}function P(A){function t(A,t){return G(A,t- -963)}function g(A,t){return Z(t-787,A)}const i=A[(s=-158,B=6,p(B-29,s))],o=A[(I="ne]r",a=1174,l(I,a-1183))];var I,a,s,B,C,n;(x[t("BY&n",445)]!==i||x[g(1052,993)]!==o)&&(x[t("K2tP",317)]=i,x[(C=1149,n="BY&n",c(n,C-959))]=o,e[g(727,865)](Z(876-717,851),x))}function Z(A,t){return vi(A- -255,t)}!E[W(1034,926)](j)&&E[Z(117,120)](j);class V{constructor(A){var t,g,i,o,I,a;A=A[(t=213,g="[mL!",G(g,t- -909))],!q&&(q=new ResizeObserver((()=>{P(A)})),q[(I=1361,a=1528,y(a-1190,I))](A),e[(i=403,o="&Ku^",c(o,i-47))](W(539- -348,376),A),P(A))}[Z(78,228)](){}[l("%3zB",-78)](A){function t(A,t){return c(t,A-894)}q[t(1007,"ML%)")](A[t(1127,"Yu5m")])}}function O(A,t){return bi(t-858,A)}!E[p(94,117)](V)&&E[c(")r@p",332)](V),i((()=>{function A(A,t){return n(t,A-1521)}q[A(1261,"3dXu")](),H[A(1312,"ne]r")]()})),i(e[l("3yRo",96)]([O("KN^A",1249),W(806,825)],(()=>{function A(A,t){return p(A- -188,t)}function t(A,t){return G(t,A- -468)}function g(A,t){return O(A,t- -1653)}if(e[A(-200,-59)](g("K2tP",-149))){const i=e[g("*l!0",-422)](t(868,"A!LB"));if(!i)return;e[g("GY6I",-413)](W(1451-465,1566),(()=>{function g(A,g){return t(A-479,g)}var o,I;return i[(o=-185,I=-226,A(I- -45,o))]-e[g(1444,"CJ*I")](g(1198,"P51b"))}))}}),{group:!0})),i(e[Z(106,9)](O("[mL!",1314),(A=>{var t,g,e,i,o,I,a,s;K=A[(a=-372,s=-526,y(a- -545,s))][(o="P51b",I=75,O(o,I- -1226))],T=A[(e=1324,i="upAM",O(i,e-56))][(t="T2nM",g=1539,G(t,g-169))]})));const X={handleEvent(A){function t(A,t){return n(A,t-1551)}const i=g[C(547,671)](A);if(A[(o=815,I=887,p(o-633,I))]||i.x){const A=i.x?i.x:i.y,o=g[C(551,646)]();return void(A>0?e[r("BjNQ",1439)](r("gx2B",1367))?g[t("bAK(",1311)](o[t("2Z&$",1178)]+A*K):g[C(978,942)](o[E("BY&n",1555)]+K):e[B("T2nM",326)](l(1055,947))?g[r("bqV0",1221)](o[Q(-211,-198)]+A*K):g[Q(-27,61)](o[Q(-95,-124)]-K))}var o,I;function a(A,t){return O(t,A- -1260)}const s=g[t("2Z&$",1293)]();function B(A,t){return c(A,t-80)}function C(A,t){return S(A,t-1269)}function Q(A,t){return p(t- -123,A)}function r(A,t){return G(A,t-64)}function E(A,t){return c(A,t-1238)}function l(A,t){return Z(A-789,t)}if(i.y>0)if(e[t("bckn",1050)](l(928,991))){const A=e[Q(-173,-135)](C(906,812));let t=0;t=A?i.y/A*T:i.y*T,g[C(897,903)](s[(h=-616,d=-658,y(h- -702,d))]+t)}else g[t("3dXu",1012)](s[t("rFni",1142)]+T);else if(e[a(93,"pdt[")](Q(-234,-183))){const A=e[t("Eyvi",1299)](E("gx2B",1363));let o=0;o=A?i.y/A*T:i.y*T,g[B("bckn",123)](s[E("bqV0",1531)]+o)}else g[a(120,"[mL!")](s[B("gx2B",459)]-T);var h,d},passive:!0},$=Object[S(-391,-544)](Object[y(128,195)]({},t),{api:g,state:e,componentName:r});s((A=>{for(const t in A)$[t]=A[t]}));const _=o[G("2Z&$",1349)](E,$),AA=g[n("CJ*I",-447)](y(292,191),A,t);return i(AA[n("Yu5m",-235)]),()=>v?AA[Z(261,222)](y(158,305),a`
<div
data-info-url="https://github.com/neuronetio/gantt-schedule-timeline-calendar"
class=${Q[O("Eyvi",1337)]}
style=${Q[l("K3#Q",93)][c("jWBv",67)]()}
data-actions=${_()}
@wheel=${X}
>
${AA[c("upAM",265)](G("RS2t",1186),a` ${f[W(1002,1078)]()}${k[S(-451,-449)]()} `)}
</div>
`):C}let Yi;!function(A){function t(A,t){return bi(t- -19,A)}function g(A,t){return vi(t- -303,A)}const e=A();function i(A,t){return vi(A-457,t)}function o(A,t){return vi(t- -147,A)}function I(A,t){return bi(t-918,A)}for(;;)try{if(137490===parseInt(g(220,134))/1+parseInt(i(862,938))/2*(parseInt(vi(163- -313,58))/3)+parseInt(I("55)h",1566))/4*(-parseInt(o(572,467))/5)+-parseInt(t("Vqzz",553))/6*(parseInt(i(998,1079))/7)+-parseInt(o(430,280))/8+parseInt(t("upAM",505))/9*(parseInt(bi(950-603,"RS2t"))/10)+parseInt(I("N6xD",1415))/11*(parseInt(g(270,146))/12))break;e.push(e.shift())}catch(A){e.push(e.shift())}}(Ri);const Ji=new Array(128).fill(void 0);function Li(A){return Ji[A]}Ji.push(void 0,null,!0,!1);let Ui=Ji.length;function xi(A){const t=Li(A);return function(A){A<132||(Ji[A]=Ui,Ui=A)}(A),t}const Hi="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&Hi.decode();let qi=null;function Ki(){return null!==qi&&0!==qi.byteLength||(qi=new Uint8Array(Yi.memory.buffer)),qi}function Ti(A,t){return A>>>=0,Hi.decode(Ki().subarray(A,A+t))}function Wi(A){Ui===Ji.length&&Ji.push(Ji.length+1);const t=Ui;return Ui=Ji[t],Ji[t]=A,t}let zi=0;const ji="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},Pi="function"==typeof ji.encodeInto?function(A,t){return ji.encodeInto(A,t)}:function(A,t){const g=ji.encode(A);return t.set(g),{read:A.length,written:g.length}};function Zi(A,t,g){if(void 0===g){const g=ji.encode(A),e=t(g.length,1)>>>0;return Ki().subarray(e,e+g.length).set(g),zi=g.length,e}let e=A.length,i=t(e,1)>>>0;const o=Ki();let I=0;for(;I<e;I++){const t=A.charCodeAt(I);if(t>127)break;o[i+I]=t}if(I!==e){0!==I&&(A=A.slice(I)),i=g(i,e,e=I+3*A.length,1)>>>0;const t=Ki().subarray(i+I,i+e);I+=Pi(A,t).written}return zi=I,i}let Vi=null;function Oi(){return null!==Vi&&0!==Vi.byteLength||(Vi=new Int32Array(Yi.memory.buffer)),Vi}function Xi(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){xi(A)},A.wbg.__wbindgen_string_new=function(A,t){return Wi(Ti(A,t))},A.wbg.__wbindgen_bigint_from_i64=function(A){return Wi(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return Wi(BigInt.asUintN(64,A))},A.wbg.__wbindgen_error_new=function(A,t){return Wi(new Error(Ti(A,t)))},A.wbg.__wbindgen_object_clone_ref=function(A){return Wi(Li(A))},A.wbg.__wbg_String_b9412f8799faab3e=function(A,t){const g=Zi(String(Li(t)),Yi.__wbindgen_malloc,Yi.__wbindgen_realloc),e=zi;Oi()[A/4+1]=e,Oi()[A/4+0]=g},A.wbg.__wbindgen_number_new=function(A){return Wi(A)},A.wbg.__wbg_set_f975102236d3c502=function(A,t,g){Li(A)[xi(t)]=xi(g)},A.wbg.__wbg_new_abda76e883ba8a5f=function(){return Wi(new Error)},A.wbg.__wbg_stack_658279fe44541cf6=function(A,t){const g=Zi(Li(t).stack,Yi.__wbindgen_malloc,Yi.__wbindgen_realloc),e=zi;Oi()[A/4+1]=e,Oi()[A/4+0]=g},A.wbg.__wbg_error_f851667af71bcfc6=function(A,t){let g,e;try{g=A,e=t,console.error(Ti(A,t))}finally{Yi.__wbindgen_free(g,e,1)}},A.wbg.__wbg_new_898a68150f225f2e=function(){return Wi(new Array)},A.wbg.__wbg_new_56693dbed0c32988=function(){return Wi(new Map)},A.wbg.__wbg_new_b51585de1b234aff=function(){return Wi(new Object)},A.wbg.__wbg_set_502d29070ea18557=function(A,t,g){Li(A)[t>>>0]=xi(g)},A.wbg.__wbg_set_bedc3d02d0f05eb0=function(A,t,g){return Wi(Li(A).set(Li(t),Li(g)))},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof Li(A)},A.wbg.__wbindgen_throw=function(A,t){throw new Error(Ti(A,t))},A}function $i(A,t){return Yi=A.exports,_i.__wbindgen_wasm_module=t,Vi=null,qi=null,Yi}async function _i(A){if(void 0!==Yi)return Yi;const t=Xi();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:g,module:e}=await async function(A,t){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,t)}catch(t){if("application/wasm"==A.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,t)}{const g=await WebAssembly.instantiate(A,t);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}(await A,t);return $i(g,e)}var Ao=Object.freeze({__proto__:null,parse_license_key:function(A,t){const g=Zi(A,Yi.__wbindgen_malloc,Yi.__wbindgen_realloc),e=zi,i=Zi(t,Yi.__wbindgen_malloc,Yi.__wbindgen_realloc),o=zi;return xi(Yi.parse_license_key(g,e,i,o))},License:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Yi.__wbg_license_free(A)}},LicenseDate:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Yi.__wbg_licensedate_free(A)}},LicenseKeyResult:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Yi.__wbg_licensekeyresult_free(A)}},LicenseResult:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Yi.__wbg_licenseresult_free(A)}},LicenseType:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Yi.__wbg_licensetype_free(A)}},ProductInfo:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Yi.__wbg_productinfo_free(A)}},SignedLicense:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Yi.__wbg_signedlicense_free(A)}},initSync:function(A){if(void 0!==Yi)return Yi;const t=Xi();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),$i(new WebAssembly.Instance(A,t),A)},default:_i});const to=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function go(A){return to[A-43]}const eo=function(A){let t,g=A.endsWith("==")?2:A.endsWith("=")?1:0,e=A.length,i=new Uint8Array(e/4*3);for(let g=0,o=0;g<e;g+=4,o+=3)t=go(A.charCodeAt(g))<<18|go(A.charCodeAt(g+1))<<12|go(A.charCodeAt(g+2))<<6|go(A.charCodeAt(g+3)),i[o]=t>>16,i[o+1]=t>>8&255,i[o+2]=255&t;return i.subarray(0,i.length-g)}("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NwIAIAIgAikDmAg3AowJIAIgBDYCiAkgAiAJNgKECSACIAo2AoAJIAJBsAVqIAJB4AlqEGIgAigCuAUiBEGCgICAeEYNBCACQZgKaiIFIAJBxAVqKQIANwMAIAJBoApqIgggAkHMBWooAgA2AgAgAiACKQK8BTcDkAogBEGBgICAeEYEQEEHQbSEwAAQywIhAwwSCyACKAK0BSEJIAIoArAFIQogAkHUCmogCCgCADYCACACQcwKaiAFKQMANwIAIAIgAikDkAo3AsQKIAIgBDYCwAogAiAJNgK8CiACIAo2ArgKIAJBsAVqIAJB4AlqEGIgAigCuAUiBEGCgICAeEYNBSACQcgIaiIFIAJBxAVqKQIANwMAIAJB0AhqIgggAkHMBWooAgA2AgAgAiACKQK8BTcDwAggBEGBgICAeEYEQEEIQbSEwAAQywIhAwwRCyACKAK0BSEJIAIoArAFIQogAkH0CmogCCgCADYCACACQewKaiAFKQMANwIAIAIgAikDwAg3AuQKIAIgBDYC4AogAiAJNgLcCiACIAo2AtgKIAJBsAVqIAJB4AlqEHggAi0AsAVFBEAgAi0AsQUiCUECRgRAQQlBtITAABDLAiEDDBELIAJBsAVqIAJB4AlqEHIgAigCtAUhBSACKAKwBSIIQQNGDQcgCEECRgRAQQpBtITAABDLAiEDDBELIAIpArgFIREgAkH4AWogAkH4CWooAgA2AgAgAiACKQLwCTcD8AEgAkGgAmogAkHIB2pBNBA9GiACQZgCaiACQbAKaigCADYCACACQcADaiACQegIaikCADcDACACQcgDaiACQfAIaikCADcDACACQYgCaiACQZAIaigCADYCACACQaADaiACQYgJaikDADcDACACQagDaiACQZAJaikDADcDACACQbADaiACQZgJaikDADcDACACIAIpAqgKNwOQAiACIAIpAuAINwO4AyACIAIpAogINwOAAiACIAIpA4AJNwOYAyACQZADaiACQdAKaikDADcDACACQYgDaiACQcgKaikDADcDACACQYADaiACQcAKaikDADcDACACQfACaiACQfAKaikDADcDACACQegCaiACQegKaikDADcDACACQeACaiACQeAKaikDADcDACACIAIpA7gKNwP4AiACIAIpA9gKNwPYAgwaCyACKAK0BSEDDA8L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QQJHBEAgAkHYA2ogAkHoCWooAgA2AgAgAiACKQPgCTcD0AMgAikCqAkhECACKAKkCSEIIAIoAqAJIQUgAkGABGogAkHIB2pBNBA9GiACQfgDaiACQYQIaigCADYCACACQaAFaiACQaAIaikCADcDACACQagFaiACQagIaikCADcDACACQegDaiACQbwIaigCADYCACACQZAFaiACQdAKaikDADcDACACQYgFaiACQcgKaikDADcDACACQYAFaiACQcAKaikDADcDACACIAIpAvwHNwPwAyACIAIpApgINwOYBSACIAIpArQINwPgAyACIAIpA7gKNwP4BCACKAKACiEGIAIoAoQKIQMgAikDiAohESACQfAEaiACQfAKaikDADcDACACQegEaiACQegKaikDADcDACACQeAEaiACQeAKaikDADcDACACQcAEaiACQbgJaikDADcDACACQcgEaiACQcAJaikDADcDACACQdAEaiACQcgJaikDADcDACACIAIpA9gKNwPYBCACIAIpA7AJNwO4BEEAIAUgBUECRhshCSAEQQFxIQUMCAsgA0GBgICAeEchBEH8hMAAQQcQhgMhAyACQbAJahCLBSACQdgKahCLBSACQbgKahCLBSACQagKahDWBQsgAkGQCmoQpwULIAJBgApqEIIFIAJB8AlqENYFCyACQbAFahDqBAsgAkHgCWoQjQUMAgtBAAshBkEAIQpBACEFQQAhBEEAIQhBACEJQQAhDEEAIQdBACEPCyACKAKgCUECRwRAIAJBoAlqEIIFCyAEIAIoAogJQYGAgIB4RnJFBEAgAkGACWoQiwULIAUgAigC6AhBgYCAgHhGckUEQCACQeAIahCLBQsgCiACKALICEGBgICAeEZyRQRAIAJBwAhqEIsFCyAGIAIoArQIQYCAgIB4RnJFBEAgAkG0CGoQ1gULIAggAigCmAhBgICAgHhGckUEQCACQZgIahCnBQsgCSACKAKICEECRnJFBEAgAkGICGoQggULIAwgAigC/AdBgICAgHhGckUEQCACQfwHahDWBQsgByACKALIB0ECRnJFBEAgAkHIB2oQ6gQLIA8gAigCvAdBgYCAgHhGckUEQCACQbwHahCNBQtBAiEGCyABIAEtABhBAWo6ABggARCCAiEEIAJB2AVqIAJBoAVqKQMANwMAIAJB4AVqIAJBqAVqKQMANwMAIAJB8AVqIAJBgAVqKQMANwMAIAJB+AVqIAJBiAVqKQMANwMAIAJBgAZqIAJBkAVqKQMANwMAIAIgEDcDyAUgAiAINgLEBSACIAk2AsAFIAIgETcDuAUgAiADNgK0BSACIAIpA5gFNwPQBSACIAIpA/gENwPoBSACIAY2ArAFIAJBoAZqIAJB8ARqKQMANwMAIAJBmAZqIAJB6ARqKQMANwMAIAJBkAZqIAJB4ARqKQMANwMAIAJBsAZqIAJBwARqKQMANwMAIAJBuAZqIAJByARqKQMANwMAIAJBwAZqIAJB0ARqKQMANwMAIAIgAikD2AQ3A4gGIAIgAikDuAQ3A6gGIAJByAZqIAJBgARqQTQQPRogAkGEB2ogAkH4A2ooAgA2AgAgAkGQB2ogAkHoA2ooAgA2AgAgAkGcB2ogAkHYA2ooAgA2AgAgAiAENgKoByACIAU6AKAHIAIgAikD8AM3AvwGIAIgAikD4AM3A4gHIAIgAikD0AM3ApQHAkAgBkECRwRAIAQNASACIAJBuAVqQfABED0aDBALIARFDQ4gAkGoB2oQtgIMDgsgAkGwBWoQoQNBAiEGIAQhAwwOCyACQRU2ArAFIAEgAkGwBWoQswMLIQEgAEECNgIAIAAgATYCBAwOCyACQdgKahCLBQsgAkG4CmoQiwULIAJBgAlqEIsFCyACQYgIahDWBQsgAkHgCGoQpwULIAJBoAlqEIIFCyACQagKahDWBQsgAkHIB2oQ6gQLIAJB8AlqEI0FC0ECIQYLIAEgAS0AGEEBajoAGCABELYBIQQgAkHYBWogAkHAA2opAwA3AwAgAkHgBWogAkHIA2opAwA3AwAgAkHwBWogAkGgA2opAwA3AwAgAkH4BWogAkGoA2opAwA3AwAgAkGABmogAkGwA2opAwA3AwAgAiARNwPIBSACIAU2AsQFIAIgCDYCwAUgAiAQNwO4BSACIAM2ArQFIAIgAikDuAM3A9AFIAIgAikDmAM3A+gFIAIgBjYCsAUgAkGgBmogAkGQA2opAwA3AwAgAkGYBmogAkGIA2opAwA3AwAgAkGQBmogAkGAA2opAwA3AwAgAkGwBmogAkHgAmopAwA3AwAgAkG4BmogAkHoAmopAwA3AwAgAkHABmogAkHwAmopAwA3AwAgAiACKQP4AjcDiAYgAiACKQPYAjcDqAYgAkHIBmogAkGgAmpBNBA9GiACQYQHaiACQZgCaigCADYCACACQZAHaiACQYgCaigCADYCACACQZwHaiACQfgBaigCADYCACACIAQ2AqgHIAIgCToAoAcgAiACKQOQAjcC/AYgAiACKQOAAjcDiAcgAiACKQPwATcClAcCQCAGQQJGBEAgBA0BDAILIARFBEAgAiACQbgFakHwARA9GgwDCyACQbAFahChA0ECIQYgBCEDDAILIAJBqAdqELYCC0ECIQYLIAZBAkYNACAAQQhqIAJB8AEQPRogACADNgIEIAAgBjYCAAwBCyABIAMQ/QUhASAAQQI2AgAgACABNgIECyACQYALaiQAC+0qAh1/BH4jAEGgCmsiAyQAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkAgASkDACIgUEUEQCABKQMIIiJQDQEgASkDECIjUA0CICAgI3wiISAgVA0DICAgIlQNBCABLAAaIRQgAS4BGCEFIAMgID4CACADQQFBAiAgQoCAgIAQVCIBGzYCoAEgA0EAICBCIIinIAEbNgIEIANBCGpBAEGYARBhGiADICI+AqQBIANBAUECICJCgICAgBBUIgEbNgLEAiADQQAgIkIgiKcgARs2AqgBIANBrAFqQQBBmAEQYRogAyAjPgLIAiADQQFBAiAjQoCAgIAQVCIBGzYC6AMgA0EAICNCIIinIAEbNgLMAiADQdACakEAQZgBEGEaIANB8ANqQQBBnAEQYRogA0EBNgLsAyADQQE2AowFIAWsICFCf3x5fULCmsHoBH5CgKHNoLQCfEIgiKciAcEhEwJAIAVBAE4EQCADIAUQUxogA0GkAWogBRBTGiADQcgCaiAFEFMaDAELIANB7ANqQQAgBWvBEFMaCwJAIBNBf0wEQCADQQAgE2tB//8DcSIBECYgA0GkAWogARAmIANByAJqIAEQJgwBCyADQewDaiABQf//AXEQJgsgAygCoAEhBCADQfwIaiADQaABED0aIAMgBDYCnAogBCADKALoAyIRIAQgEUsbIghBKEsNCSAIRQRAQQAhCAwHCyAIQQFxIQ8gCEEBRgRADAYLIAhBPnEhECADQfwIaiEBIANByAJqIQYDQCABIAogASgCACIJIAYoAgBqIhVqIg02AgAgAUEEaiIFIAUoAgAiCyAGQQRqKAIA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mAFqIAJB1AFqEMsEIAIoApwBIQMgAigCmAEiBEGAgICAeEYNBSACKAKgASEFIAJB9AFqEI0FIAIgBTYC/AEgAiADNgL4ASACIAQ2AvQBDAILIAIoAoACQQJHBEBBj4TAAEEEEIcDIQNBAAwGCyACQZgBaiACQdQBahDOBCACKAKcASEDIAIoApgBIgRBAkYNBCACKQKgASEGIAJBgAJqEIwFIAIgBjcCiAIgAiADNgKEAiACIAQ2AoACDAELCyACKALcAUGAgICAeEciBEUEQEEAIQVBgITAAEEEEIYDIQMMBQsgAkGYAmogAkHkAWooAgA2AgAgAiACKQLcATcDkAIgAigC6AFBgICAgHhHIgVFBEBBhITAAEEEEIYDIQMMAgsgAkGgAWogAkHwAWooAgA2AgAgAiACKQLoATcDmAECQCACKAL0AUGAgICAeEcEQCACQfAAaiACQfwBaigCADYCACACQZABaiACQeQBaigCADYCACACQYABaiACQfABaigCADYCACACIAIpAvQBNwNoIAIgAikC3AE3A4gBIAIgAikC6AE3A3ggAigCgAIiBUECRg0BIAIoAoQCIQMgAikCiAIhBgwHC0GIhMAAQQcQhgMhAyACQZgBahDWBQwCC0EAIQUMBQsgAikCoAEhBiACQeAAaiACQfwBaigCADYCACACQdAAaiACQZgCaigCADYCACACQUBrIAJBiAJqKAIANgIAIAIgAikC9AE3A1ggAiACKQKQAjcDSCACIAIpAoACNwM4DAcLIAJBkAJqENYFDAILQQALIQVBACEECyACKAKAAkECRwRAIAJBgAJqEIIFCyACKAL0AUGAgICAeEcEQCACQfQBahDWBQsgBSACKALoAUGAgICAeEZyRQRAIAJB6AFqENYFCyAEIAIoAtwBQYCAgIB4RnJFBEAgAkHcAWoQ1gULQQIhBQsgASABLQAYQQFqOgAYIAEQggIhBCACQbABaiACQZABaigCADYCACACQbwBaiACQYABaigCADYCACACQcgBaiACQfAAaigCADYCACACIAY3AqABIAIgAzYCnAEgAiAENgLMASACIAIpA4gBNwKoASACIAIpA3g3ArQBIAIgAikDaDcCwAEgAiAFNgKYAQJAIAVBAkcEQCAEDQEgAkEMaiACQaABakEsED0aDAYLIARFDQQgAkHMAWoQ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AkEIaikDADcDAAwPCyACKAIEIAEQnAMhASAAQQY6AAAgACABNgIEDA4LIAFBADYCCCABIAEoAhRBAWo2AhQgAkHkAGogAUEMaiABEH0gAigCaCEBIAIoAmRBAkcEQCACQThqIAIoAmwiA0EAQQFBARDRASACKAI8IQUgAigCOEEBRg0FIAJBCGoiBCACKAJAIAEgAxA9NgIAIAIgBTYCBCACQQM6AAAgAiADNgIMIABBEGogAkEQaikDADcDACAAQQhqIAQpAwA3AwAgACACKQMANwMADA4LIABBBjoAACAAIAE2AgQMDQsgASABLQAYQX9qIgM6ABggA0H/AXFFDQsgASABKAIUQQFqNgIUIAJBAToAYCACIAE2AlwgAkEANgJsIAJCgICAgIABNwJkIAJBOGpBAXIiBEEIaiEHIARBD2ohCANAIAJBOGogAkHcAGoQZyACLQA4IgVBB0YNBSAFQQZHBEAgAigCbCIGIAIoAmRGBEAgAkHkAGoQ1QMLIAIoAmggBkEYbGoiAyAEKQAANwABIAMgBToAACADQQlqIAcpAAA3AAAgA0EQaiAIKQAANwAAIAIgBkEBajYCbAwBCwsgAigCZCEDIAIpAmghCUEEIQYMBwsgASABLQAYQX9qIgM6ABggA0H/AXFFDQUgASABKAIUQQFqNgIUIAJBOGogARA7IAEgAS0AGEEBajoAGCACIAEQggIiAzYCUCACLQA4QQZHBEAgA0UEQCACQRBqIAJByABqKQMANwMAIAJBCGogAkFAaykDADcDACACIAIpAzg3AwAMCQsgAkEGOgAAIAIgAzYCBCACQThqELEEDAgLIAIgAigCPDYCBCACQQY6AAAgA0UNByACQdAAahC2AgwHCyACQShqIAFBARBbIAIpAyhCA1ENAyACIAJBKGoQjwIgAi0AAEEGRwRAIAAgAikDADcDACAAQRBqIAJBEGopAwA3AwAgAEEIaiACQQhqKQMANwMADAsLIAIoAgQgARCcAyEBIABBBjoAACAAIAE2AgQMCgsgACACKAIgNgIEIABBBjoAAAwJCyAFIAIoAkBB+IXBABCBBQALIAIoAjwhAyACQeQAahDgBUEGIQYMAgsgACACKAIwNgIEIABBBjoAAAwGCyACQRU2AjggASACQThqELMDIQEgAEEGOgAAIAAgATYCBAwFCyABIAEt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aiABaiIDQQhqIAJBCGopAAA3AAAgAyACKQAANwAAIAFBEGohAQwBCwsgAkHgAGogACACQYABahBvIAJBmAFqIA0gCEEFdCIGaiIBQRhqKQAANwMAIAJBkAFqIAFBEGopAAA3AwAgAkGIAWogAUEIaikAADcDACACIAEpAAA3A4ABIAJBMGoQlgJBACEKIAJBgAFqIQMgAkHgAGohBCACQTBqIQsDQAJAIApBAkcEQEEAIQEDQCABQRBGDQIgASALaiABIARqLQAAIAEgA2otAABzOgAAIAFBAWohAQwAAAsACyAGIAxqIgEgAikAMDcAACABQRhqIAJByABqKQAANwAAIAFBEGogAkFAaykAADcAACABQQhqIAJBOGopAAA3AAAgCEEBaiEIDAMLIAtBEGohCyAEQRBqIQQgA0EQaiEDIApBAWohCgwAAAsACwsDQAJAIAQgB0cEQCACQYgBaiAFIARBBHQiBmoiAEEIaikAADcDACACIAApAAA3A4ABIAJBIGoQmAVBACEBA0AgAUEQRg0CIAJBIGogAWogASADai0AACACQYABaiABai0AAHM6AAAgAUEBaiEBDAAACwALIAJBoAFqJAAPCyAGIAlqIgAgAikAIDcAACAAQQhqIAJBKGopAAA3AAAgA0EQaiEDIARBAWohBAwAAAsAC/gGAQZ/IwBB0ANrIgIkACACQfAAakEAQeACEGEaIAJB6ABqIAJB8ABqEPwDIAIoAmggAigCbCABIAEQR0FsIQZBECEBAkACQAJAA0AgA0EKRgRAQQghAQNAIAFByABGBEACQCACQRBqIAJB8ABqQcgAQdAAQbTxwAAQ/QMgAigCECACKAIUEOACQRAhAQNAIAFB4ABGDQEgAkEIaiACQfAAaiABQXhqIAFBxPHAABD9AyACKAIIIAIoAgwQpAIgAUEIaiEBDAAACwALBSACQShqIAJB8ABqIAEgAUEIaiIDQdTxwAAQ/QMgAigCKCACKAIsEOACIAJBIGogAkHwAGogAyABQRBqIgNB5PHAABD9AyACKAIgIAIoAiQQsgMgAkEYaiACQfAAaiADIAFBGGpB9PHAABD9AyACKAIYIAIoAhwQ4QIgAUEgaiEBDAELCyAAIAJB8ABqQeACED0aIAJB0ANqJAAPCyACQfAAaiABQXBqEKoCIAJB4ABqIAJB8ABqIAFBeGoiBSABQYTywAAQ/QMgAigCYCACKAJkEDUgAkHYAGogAkHwAGogBSABQZTywAAQ/QMgAigCWCACKAJcEKQCAkACfyADQQhPBEAgAkHQAGogAkHwAGogBSABQaTywAAQ/QMgA0F4aiACKAJUIgRPDQIgAigCUCAGakF0aiIEIAQoAgBBgIADczYCACACQcgAaiACQfAAaiAFIAFBtPLAABD9AyADQXlqIAIoAkwiBE8NBCACKAJIIAZqQXhqIgQgBCgCAEGAgANzNgIAIAJBQGsgAkHwAGogBSABQcTywAAQ/QMgA0F7aiACKAJEIgRPDQUgAigCQCAGaiIEIAQoAgBBgIADczYCACACQThqIAJB8ABqIAUgAUHU8sAAEP0DIANBfGoiBCACKAI8IgdJBEAgAigCOAwCCyADQXxqIAdBtPfAABDoAgALIAJBMGogAkHwAGogBSABQeTywAAQ/QMgAyACKAI0IgRPDQUgAyEEIAIoAjALIQcgByAEQQJ0aiIEIAQoAgBBgIADczYCACACQfAAaiAFEM4BIANBAWohAyABQQhqIQEgBkEEaiEGDAELCyADQXhqIARBtPfAABDoAgALIANBeWogBEG098AAEOgCAAsgA0F7aiAEQbT3wAAQ6AIACyADIARBtPfAABDoAgALhwcCBX8FfiMAQfAIayIEJAAgAb0hCQJ/QQMgAZlEAAAAAAAA8H9hDQAaQQIgCUKAgICAgICA+P8AgyIKQoCAgICAgID4/wBRDQAaIAlC/////////weDIg1CgICAgICAgAiEIAlCAYZC/v///////w+DIAlCNIinQf8PcSIHGyILQgGDIQwgClAEQEEEIA1QDQEaIAdBzXdqIQZCASEKIAynQQFzDAELQoCAgICAgIAgIAtCAYYgC0KAgICAgICACFEiBhshC0ICQgEgBhshCkHLd0HMdyAGGyAHaiEGIAynQQFzCyEFIAQgBjsB6AggBCAKNwPgCCAEQgE3A9gIIAQgCzcD0AggBCAFOgDqCAJ/AkACQAJAAkAgBUF+aiIHBEBBASEFQduswgBB3KzCACAJQgBTIggbQduswgBBASAIGyACGyEIQQEgCUI/iKcgAhshAiAHQQMgB0EDSRtBfmoOAgIDAQsgBEEDNgKYCCAEQd2swgA2ApQIIARBAjsBkAhBASEIQQAhAkEBIQUg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QQhqakHcADoAACADQRBqIgQgAUEPcUGfrcIAai0AADoAACAAQQo6AAsgACACOgAKIAAgAykCCDcCACADQf0AOgARIABBCGogBC8BADsBAAwJCyAAQYAEOwEKIABCADcBAiAAQdzoATsBAAwICyAAQYAEOwEKIABCADcBAiAAQdzkATsBAAwHCyAAQYAEOwEKIABCADcBAiAAQdzcATsBAAwGCyAAQYAEOwEKIABCADcBAiAAQdy4ATsBAAwFCyAAQYAEOwEKIABCADcBAiAAQdzgADsBAAwECyACQYACcUUNASAAQYAEOwEKIABCADcBAiAAQdzOADsBAAwDCyACQYCABHENAQsgARDXAUUEQCADQQA6ABYgA0EAOwEUIAMgAUEUdkGfrcIAai0AADoAFyADIAFBBHZBD3FBn63CAGotAAA6ABsgAyABQQh2QQ9xQZ+twgBqLQAAOgAaIAMgAUEMdkEPcUGfrcIAai0AADoAGSADIAFBEHZBD3FBn63CAGotAAA6ABggAUEBcmdBAnYiAiADQRRqaiIEQfsAOgAAIARBf2pB9QA6AAAgAkF+aiICIANBFGpqQdwAOgAAIANBHGoiBCABQQ9xQZ+twgBqLQAAOgAAIABBCjoACyAAIAI6AAogACADKQIUNwIAIANB/QA6AB0gAEEIaiAELwEAOwEADAILIAAgATYCBCAAQYABOgAADAELIABBgAQ7AQogAEIANwECIABB3MQAOwEACyADQSBqJAAL8QUCBX8BfiMAQcABayICJAAgAkEBOgAIIAIgATYCBCACQaABaiACQQRqEGACQCACKAKgASIBQYGAgIB4RgRAIAIoAqQBIQEgAEEGOgAAIAAgATYCBAwBCyABQYCAgIB4RgRAIABBADYCDCAAQQA2AgQgAEEFOgAADAELIAIoAqgBIQMgAigCpAEhBCACQQA2AhQgAkEANgIMIAIgAzYChAEgAiAENgKAASACIAE2AnwgAkGgAWogAkEEahDXBAJAIAItAKABQQZHBEAgAkEoaiACQbABaiIFKQMANwMAIAJBIGogAkGoAWoiBikDADcDACACIAIpA6ABNwMYIAJBiAFqIAJBDGogAkH8AGogAkEYahC3ASACQYgBahCdBSACQTRqIQEgAkGkAWohAwNAAkAgAkHwAGogAkEEahBfAkACQAJAAkAgAigC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gICgDoQ3AyAgAiACQQhqrUKAgICAsA6ENwMYIAIgAkEYajYCMCABKAIUIAEoAhggAkEoahBEIQAgAigCCCIBRQ0DIAIoAgwgAUEBEL8FDAMLIAAtAAEhACACQQE2AiwgAkHQiMIANgIoIAJCATcCNCACIAJBGGqtQoCAgIDADoQ3AwggAiAAQQJ0IgBBoJHCAGooAgA2AhwgAiAAQciSwgBqKAIANgIYIAIgAkEIajYCMCABKAIUIAEoAhggAkEoahBEIQAMAgsgACgCBCIAKAIAIAAoAgQgARDvBSEADAELIAAoAgQiACgCACABIAAoAgQoAhARAQAhAAsgAkFAayQAIAAPC0EBQRRBoIXCABCBBQAL+gIBAn8jAEFAaiIDJAAgA0E4akIANwMAIANBMGpCADcDACADQShqQgA3AwAgA0IANwMgIANBIGpBCCACIAJBEGoQRyADQSBqIAFBCBDUA0EIIQIDQCADQSBqQQgQNSADQSBqEE4gA0EYaiABIAIgAkEIaiICQfTywAAQxwMgA0EgaiADKAIYIAMoAhwQ1AMgAkHQAEYEQCADQSBqQQgQsgMgA0EgakEIEDUgA0EgaiABQcACakEIENQDIAAgA0EgahA+IANBQGskAAUgA0EgakEIEDUgA0EgahBlIANBEGogASACIAJBCGoiBEGE88AAEMcDIANBIGogAygCECADKAIUENQDIANBIGpBCBA1IANBIGoQTyADQQhqIAEgBCACQRBqIgRBlPPAABDHAyADQSBqIAMoAgggAygCDBDUAyADQSBqQQgQNSADQSBqEJwBIAMgASAEIAJBGGoiAkGk88AAEMcDIANBIGogAygCACADKAIEENQDDAELCwurAwEDfyMAQSBrIgIkACACQQxqIAEoAgAiAxCxAgJAAkACQCACLQAMRQRAIAItAA1FBEAgAkECNgIUIAMgAkEUahCzAyEBIABBgoCAgHg2AgAgACABNgIEDAQLAkACQCACLQAOIgRBLEcEQCAEQd0ARwRAIAEtAARBAXENAiACQQc2AhQgAyACQRRqELMDIQEgAEGCgICAeDYCACAAIAE2AgQMBwsgAEGBgICAeDYCAAwGCyABLQAEDQAgAxCxBSACQRRqIAMQsQICQCACLQAURQRAIAItABVFDQEgAi0AFiEEDAMLIAAgAigCGDYCBCAAQYKA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IAQ2AgQgAiABNgIAAn8CQCADKAJABEAgA0E4aiADQcgAaigCADYCACADIAMpAkA3AzAgAygCKCECIAMoAiwhAQJAA0AgASACRg0BIAMgAjYCQCACQRhqIQIgA0EQaiADQTBqIANBQGsQ+QIgAygCEEUNAAsgAygCFCEBIAMgAjYCKCADQTBqQQRyEIMFDAILIAMgAjYCKCADQcgAaiADQThqKAIANgIAIAMgAykDMDcDQCADQQhqIgEgA0FAaygCBDYCBCABQQA2AgAgAygCDCEBIAMoAggMAgsgAygCRCEBC0EBCyECIAAgATYCBCAAIAI2AgAgA0HQAGokAAuiAgECfyMAQUBqIgMkACADQThqIAIQxwQgAygCPCECAn8gAygCOCIEBEAgAyACNgI0IAMgBDYCMCADQShqIANBMGpB45HAAEEEIAFBEGoQpgMCQCADKAIoBEAgAygCLCECDAELIANBIGogA0EwakHnkcAAQQQgAUEcahCmAyADKAIgBEAgAygCJCECDAELIANBGGogA0EwakHrkcAAQQcgAUEoahCmAyADKAIYBEAgAygCHCECDAELIANBEGogA0EwakHykcAAQQQgARC8AiADKAIQBEAgAygCFCECDAELIANBCGogAygCMCADKAI0EK8FIAMoAgwhAiADKAIIDAILIANBNGoQgwULQQELIQEgACACNgIEIAAgATYCACADQUBrJAALpQIBAn8jAEEgayIBJAAgAUEEaiAAEJYDAn8gAS0ABEUEQAJAAkACQAJAAkACQCABLQAFIgJBMEYEQCABQQxqIAAQrQQgAS0ADA0BIAEtAA1BUGpB/wFxQQpPDQQgAUEMNgIUIAAgAUEUahCzAwwICyACQU9qQf8BcUEISw0BDAILIAEoAhAMBgsgAUEMNgIUIAAgAUEUahC0AwwFCwNAIAFBFGogABCtBCABLQAUDQIgAS0AFUFQakH/AXFBCk8NASAAELEFDAAACwALIAFBFGogABCtBCABLQAUDQAgAS0AFSICQS5GDQEgAkHFAEcEQEEAIAJB5QBHDQQaCyAAEOUBDAMLIAEoAhgMAgsgABD2AQwBCyABKAIICyECIAFBIGokACACC6wCAgF/AX4jAEHQAGsiBiQAIAZBADoATCAGQYDAADYCSCAGIAU2AkQgBkEoaiABIAIgBkHEAGoQYyAG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fwF+IwBBIGsiAyQAAkACQCABIAJqIgIgAUkEQEEAIQEMAQtBACEBQQggACgCACIFQQF0IgQgAiAEIAJLGyICQQggAksbIgKtIgdCIIinDQAgB6ciBkH/////B0sNACADIAUEfyADIAU2AhwgAyAAKAIENgIUQQEFQQALNgIYIANBCGogBiADQRRqEIYCIAMoAghBAUcNASADKAIQIQQgAygCDCEBCyABIARB2IbCABCBBQALIAMoAgwhASAAIAI2AgAgACABNgIEIANBIGokAAueAgEBfyMAQfAAayIBJAAgAUEYaiAAQQhqKAIANgIAIAFBADoAKCABQYCAgIB4NgIcIAEgACkCADcDECABQQhqIAFBEGoQqAQgASgCDCEAAkAgASgCCARAIAEgADYCLCABQQA2AkggAUKAgICAEDcCQCABQQM6AGwgAUEgNgJcIAFBADYCaCABQcyHwAA2AmQgAUEANgJUIAFBADYCTCABIAFBQGs2AmAgAUEsaiABQcwAahC/Aw0BIAFBOGogAUHIAGooAgAiADYCACABIAEpAkA3AzAgASgCNCAAEAEhACABQTBqENYFIAFBLGoQgwULIAFBEGoQqQUgAUHwAGokACAADwtB9IfAAEE3IAFBMGpB5IfAAEH4iMAAELgCAAuxAgEBfyMAQTBrIgIkAAJ/AkACQAJAAkACQAJAAkACQCAALQAAQQFrDgUBAgMEBQALIAFBsJrBAEEEEJ8FDAcLIAIgAEEBajYCDCACQQI2AhQgAkG8msEANgIQIAJCATcCHCACQeQANgIsIAIgAkEoajYCGCACIAJBDGo2AiggASACQRBqEKgFDAYLIABBCGogARCDAwwFCyACIABBBGo2AgwgAkECNgIUIAJB1JrBADYCECACQgE3AhwgAkEaNgIsIAIgAkEoajYCGCACIAJBDGo2AiggASACQRBqEKgFDAQLIAFB5JrBAEEGEJ8FDQEgAEEEaiIAKAIEIAAoAgggARCDBAwDCyABQeqawQBBBxCfBUUNAQtBAQwBCyAAQQRqIAEQlwILIQAgAkEwaiQAIAALsAICA38BfiMAQTBrIgIkAAJ/QQEgAC0ABA0AGgJAAkACQCAALQAGBEAgACgCACIDKAIcIgRBBHFFBEBBASABIANBtKPBACgCABEBAA0FGgwECyACIABBB2o2AgggAiADKQIUNwIAIAJBjLDCADYCJCACIAMpAgg3AhQgAykCACEFIAIgBDYCKCACIAMoAhA2AhwgAiADLQAgOgAsIAIgBTcCDCACIAI2AiAgASACQQxqQbSjwQAoAgARAQBFDQEMAgsgAkEANgIcIAJBATYCECACQeSxwgA2AgwgAkIENwIUIAJBDGpB7LHCABC9BAALIAIoAiBBsLDCAEECIAIoAiQoAgwRAwBFDQELQQEMAQsgAEEAOgAGQQALIQEgAEEBOgAFIAAgAToABCACQTBqJAAL/wEBBH9BCyEFQYyTwAAhAyMAQSBrIgIkACACQQs2AgAgAkELNgIEIAAoAhRBvJLAAEEHIAAoAhgoAgwRAwAhBCACQQA6AA0gAiAEOgAMIAIgADYCCANAIAJBCGogAygCACADQQRqKAIAIAFB9LTCABCDASEEIAFBCGohASADQQhqIQMgBUF/aiIFDQALIAItAA0iASACLQAMIgNyIQACQCABQQFxRSADQQFxcg0AIAQoAgAiAC0AHEEEcUUEQCAAKAIUQbOwwgBBAiAAKAIYKAIMEQMAIQAMAQsgACgCFEGysMIAQQEgACgCGCgCDBEDACEACyACQSBqJAAgAEEBcQvFAgACQAJAAkACQAJAAkACQAJAAkACQCABIAJBw5LAAEEEEPIERQRAIAEgAkHHksAAQQcQ8gQNASABIAJBzpLAAEENEPIEDQIgASACQduSwABBBRDyBA0DIAEgAkHgksAAQQQQ8gQNBCABIAJB65HAAEEHEPIEDQUgASACQeSSwABBChDyBA0GIAEgAkHuksAAQQoQ8gQNByABIAJB+JLAAEELEPIEDQggASACQYOTwABBBxDyBA0JIAEgAkHykcAAQQQQ8gRFBEAgAEELOgABDAsLIABBCjoAAQwKCyAAQQA6AAEMCQsgAEEBOgABDAgLIABBAjoAAQwHCyAAQQM6AAEMBgsgAEEEOgABDAULIABBBToAAQwECyAAQQY6AAEMAwsgAEEHOgABDAILIABBCDoAAQwBCyAAQQk6AAELIABBADoAAAv3AQEDfyMAQUBqIgIkAAJAIAAoAhBFBEAgACgCDCEDIAIQnAUiBDYCACACQQA2AgQgAkEQaiAAQQhqKAIANgIAIAIgACkCADcDCCACQTBqIAIgAkEIaiABEIoCIAIoAjAhACACKAI4IQEgA0KAgICAEDcCBCADIAQ2AgAMAQsgAkEgaiAAQRBqIgNBCGooAgA2AgAgAiADKQIANwMYIAJBOGogAEEIaigCADYCACACIAApAgA3AzAgAkEkaiACQRhqIAJBMGogASAAQQxqEGggACgCDCIAIAAoAghBAWo2AgggAigCJCACKAIsQRhsahoLIAJBQGskAAuEAgECfyMAQSBrIgEkACABQQRqIAAQsQICQCABLQAERQRAIAEtAAVFBEAgAUECNgIUIAAgAUEUahCzAyEADAILAkAgAS0ABiICQd0ARwRAIAJBLEYNASABQRM2AhQgACABQRRqELMDIQAMAwsgACAAKAIUQQFqNgIUQQAhAAwCCyAAIAAoAhRBAWo2AhQgAUEMaiAAELECAn8CQAJAIAEtAAwiAg0AIAEtAA1BAUcNACABLQAOQd0ARg0BCyABQRM2AhQgACABQRRqELMDDAELIAFBEjYCFCAAIAFBFGoQswMLIQAgAkUNASABQRBqELYCDAELIAEoAgghAAsgAUEgaiQAIAAL7QECAX8BfiMAQUBqIgQkACAEQQRqIAEgAhDgAQJAIAQoAgRBgICAgHhHBEAgBEE4aiAEQRxqKAIANgIAIARBMGogBEEUaikCADcDACAEQShqIARBDGopAgA3AwAgBCAEKQIENwMgIARBIGogAxC1ASAAQQY6AAAMAQsgBCgCCCAEKAIQQRhsaiIBKQMAIQUgASADKQMANwMAIAAgBTcDACABQQhqIgIpAwAhBSACIANBCGopAwA3AwAgAEEIaiAFNwMAIAFBEGoiASkDACEFIAEgA0EQaikDADcDACAAQRBqIAU3AwALIARBQGskAAvuAQECfyMAQTBrIgMkACADQShqIAIQxwQgAygCLCECAn8gAygCKCIEBEAgAyACNgIkIAMgBDYCICADQRhqIANBIGpB05DAAEEEIAFBCGoQpgMCQCADKAIYBEAgAygCHCECDAELIANBEGogA0EgaiABEJgDIAMoAhAEQCADKAIUIQIMAQsgA0EIaiADQSBqQZKRwABBCSABQRRqEKYDIAMoAggEQCADKAIMIQIMAQsgAyADKAIgIAMoAiQQrwUgAygCBCECIAMoAgAMAgsgA0EkahCDBQtBAQshASAAIAI2AgQgACABNgIAIANBMGokAAvwAQECfyMAQTBrIgMkACADQShqIAIQxwQgAygCLCECAn8gAygCKCIEBEAgAyACNgIkIAMgBDYCICADQRhqIANBIGpB0ZTAAEECIAFBhAJqEJcDAkAgAygCGARAIAMoAhwhAgwBCyADQRBqIANBIGpB05TAAEEHIAFB+AFqELkCIAMoAhAEQCADKAIUIQIMAQsgA0EIaiADQSBqIAEQuwIgAygCCARAIAMoAgwhAgwBCyADIAMoAiAgAygCJBCvBSADKAIEIQIgAygCAAwCCyADQSRqEIMFC0EBCyEBIAAgAjYCBCAAIAE2AgAgA0EwaiQAC/UBAQJ/IwBBMGsiAyQAIANBKGogAhDHBCADKAIsIQICfyADKAIoIgQEQCADIAI2AiQgAyAENgIgIANBGGogA0EgakHRlMAAQQIgAUEYahCXAwJAIAMoAhgEQCADKAIcIQIMAQsgA0EQaiADQSBqQdOUwABBByABELkCIAMoAhAEQCADKAIUIQIMAQsgA0EIaiADQSBqQfKRwABBBCABQQxqELkCIAMoAggEQCADKAIMIQIMAQsgAyADKAIgIAMoAiQQrwUgAygCBCECIAMoAgAMAgsgA0EkahCDBQtBAQshASAAIAI2AgQgACABNgIAIANBMGokAAuZAgEDfyMAQSBrIgMkACABKAIIIQQgAUEANgIIIAEoAgwhBSAEQQFxRQRAQZifwABBFRDeBQALIAMgBSIENgIUIANBCGogAiABKAIQEEYgAygCDCECAn8CQAJAIAMoAghFBEAgAyACNgIYAkAgASgCAEUEQCADIAFBBGooAgAgA0EUaigCACADQRhqKAIAEBA2AhwgA0EcahCDBSADQRhqEIMFIANBFGoQgwUMAQsgAyAEEI4EIAMoAgQhBCADKAIAQQFxDQIgAUEEaiAEIAIQxQULQQAMAwsgA0EUahCDBQwBCyADIAQ2AhwQvwIhAiADQRxqEIMFIANBGGoQgwULQQELIQEgACACNgIEIAAgATYCACADQSBqJAAL6wEBC38gASgCCCEIIAEoAgQhByAAKAIEIQQgACgCACEJQQAhACABKAIAKAIAIgNBf2ogASgCDCIKSSELAkADQCACIANGBEAgAyECDAILQQAhBUEAIAQgAGsiASABIARLGyEGIAJBAWohDCAHKAIAIQEDQAJAIAFFBEAgAyACQX9zaiEBIAtFDQEgCCABQQJ0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EGsiAyQAIAEoAgwhAgJAAkACQAJAAkACQCABKAIEDgIAAQILIAINAUEBIQJBACEBDAILIAINACABKAIAIgIoAgQhASACKAIAIQIMAQsgACABEGwMAQsgA0EEaiABQQBBAUEBENEBIAMoAgghBCADKAIEQQFGDQEgAygCDCACIAEQPSECIAAgATYCCCAAIAI2AgQgACAENgIACyADQRBqJAAPCyAEIAMoAgxB9OnAABCBBQALrAEBAn8jAEEQayIFJAAgAAJ/QQAgBCADG0UEQCABKAIUIgQgASgCECIDIAQgA0sbIQMgASgCDCEGA0ACQCADIARHBEAgBCAGai0AAEFQakH/AXFBCkkNAQsgAEQAAAAAAAAAAEQAAAAAAAAAgCACGzkDCEEADAMLIAEgBEEBaiIENgIUDAAACwALIAVBDTYCBCAAIAEgBUEEahC0AzYCBEEBCzYCACAFQRBqJAALnAEBBH8jAEEQayICJAAgAkEIaiABQQIQiQMCQCACKAIIIgNFDQAgAigCDCIBRQ0AAkAgAywAACIFRQRAIAFBf2ohBUEBIQEgBQ0BIAMhBAwCCyADQQAgBUF/ShshBAwBCyADQQFqIgMsAABBf0oNACACIAMgBRCuBSACKAIEIQEgAigCACEECyAAIAE2AgQgACAENgIAIAJBEGokAAuoAQIFfwJ+IwBBIGsiAyQAAkACQCAAKAJIIgYoAlAiBARAIAMgAiAEbiIFIARsIgc2AgAgAyACNgIEIAIgB0cNASAEIAJNBEAgACABIAUgBigCQBECACAAKQNAIgggBa18IgkgCFQNAyAAIAk3A0ALIANBIGokAA8LQYzewAAQpgQACyADQQA2AgggAyADQQRqIANBCGpBnN7AABCdBAALQazewAAQzAUAC7QBAQF/IwBBMGsiAyQAIAMgAjYCBCADIAE2AgACfyAALQAAQQdGBEAgA0EBNgIMIANBxIPBADYCCCADQgE3AhQgA0EsNgIkIAMgA0EgajYCECADIAM2AiAgA0EIahDuAQwBCyADQQI2AgwgA0Hog8EANgIIIANCAjcCFCADQSw2AiwgA0EtNgIkIAMgADYCICADIANBIGo2AhAgAyADNgIoIANBCGoQ7gELIQAgA0EwaiQAIAALlAEBAn8gAEEATgR/IAAFIAFBLToAACABQQFqIQFBACAAawsiAkHjAEwEQCACQQlMBEAgASACQTBqOgAAIABBH3ZBAWoPCyABIAJBAXRB2IDCAGovAAA7AAAgAEEfdkECcg8LIAEgAkHkAG4iA0EwajoAACABIAIgA0HkAGxrQQF0QdiAwgBqLwAAOwABIABBH3ZBA2oLnQEBAX8jAEGQBGsiAiQAIAJBBGogARCyBCACQZgCaiACQQRqEBQCQAJAIAIoApgCQQJHBEAgAkEgaiACQZgCakH4ARA9GiACQQRqEJ0DIgENASAAIAJBIGpB+AEQPRoMAgsgACACKAKcAjYCBCAAQQI2AgAMAQsgAEECNgIAIAAgATYCBCACQSBqEKEDCyACQQRqENYFIAJBkARqJAALqwEBAX8jAEGQCGsiBCQAIARBD2pBAEGACBBhGgJAIANBA3YgA0EHcUEAR2oiA0GBCEkEQCAAIAEgBEEPaiADEIYBIAIoAgQiACACKAIIIgFJDQEgAiAANgIIIAIoAgAgAWogACABayAEQQ9qIAMQ8gRBAXMhACAEQZAIaiQAIAAPCyADQYAIQfjWwAAQyQUAC0H408AAQSsgBEGPCGpB6NPAAEGQ1cAAELgCAAueAQECfyMAQSBrIgEkACABQQxqIAAQsQICfyABLQAMRQRAIAEtAA1FBEAgAUEDNgIUIAAgAUEUahCzAwwCCwJAIAEtAA4iAkH9AEcEQCACQSxGDQEgAUETNgIUIAAgAUEUahCzAwwDCyAAIAAoAhRBAWo2AhRBAAwCCyABQRI2AhQgACABQRRqELMDDAELIAEoAhALIQAgAUEgaiQAIAALyAEBBH8jAEEgayIAJAACQAJAQYzSwgAoAgBB/////wdxBEBB1NXCACgCAA0BC0GA0sIAKAIADQFBiNLCACgCACEBQYjSwgBBrKDAADYCAEGE0sIAKAIAIQJBhNLCAEEBNgIAAkAgAkUNACABKAIAIgMEQCACIAMRBAALIAEoAgQiA0UNACACIAMgASgCCBC/BQsgAEEgaiQADwsgAEEANgIYIABBATYCDCAAQYiQwgA2AgggAEIENwIQIABBCGpBpJDCABC9BAsAC6gBAgZ/AX4jAEEwayICJAAgASgCACIFLwGSAyEHIAJBCGogARCbBSIDEKoBIAMvAZIDIgRBAWohBiAEQQxPBEAgBkEMQdChwQAQyQUACyAFIAEoAggiBEECdGpBnANqIAcgBGsgA0GYA2ogBhDaBCACIAMgASgCBCIBEJUDIAIpAwAhCCAAIAE2AiwgACAFNgIoIAAgAkEIakEoED0gCDcDMCACQTBqJAALuAEBAX8jAEEQayIDJAACQCABKAIARQRAIABBgICAgHg2AgAMAQsCQCACIAEoAgQgASgCCEEQdHJHBEAgA0EIakEBQRIQhwQgAygCCCIBRQ0BIAFB+MLAACkAADcAACABQRBqQYjDwAAvAAA7AAAgAUEIakGAw8AAKQAANwAAIABBEjYCCCAAIAE2AgQgAEESNgIADAILIABBgICAgHg2AgAMAQtBAUESQYzCwAAQgQUACyADQRBqJAALhQEBAX8CQCABQQBOBEACfyACKAIEBEAgAigCCCIDBEAgAigCACADQQEgARCTBQwCCwtBASABRQ0AGkG90cIALQAAGiABQQEQrAULIgIEQCAAIAE2AgggACACNgIEIABBADYCAA8LIAAgATYCCCAAQQE2AgQMAQsgAEEANgIECyAAQQE2AgALsAEBA38gAEEUahDWBQJAAkACQCAAKAIgIgJBj4CAgHhGDQAgAEEgaiEBAkACQCACQfj///8HaiIDQQMgA0EHSRtBfmoOAgABAgsgAEEkaiEBIAAoAiQhAgsCQCACQYCAgIB4cyIAQQggAEEISRsOCAEBAQEBAQMCAAsgARCGBSABQRBqEIYFCw8LIAEoAhBBgAFBARC/BSABQRRqEMAFIAFBBGoQ1gUPCyABQQRqEMAFC5kBAQJ/IwBBMGsiAiQAIAJBADYCDCACIAEpAgA3AgQgAkEgaiACQQRqEKkDAkAgAigCICIBBEAgAkEYaiIDIAJBLGooAgA2AgAgAiACKQIkNwMQIAIoAgwgAigCCEcEQCAAQQA2AgAMAgsgACACKQMQNwIEIAAgATYCACAAQQxqIAMoAgA2AgAMAQsgAEEANgIACyACQTBqJAALoAEBBH8jAEEgayICJAAgAkEANgIcIAIgASkCADcCFCACQQhqIAJBFGoQ+wICQAJAIAIoAggiAUUNACACKAIMIQMgAiACQRRqEPsCIAIoAgAiBEUNACACKAIcIAIoAhhHBEAgAEEANgIADAILIAIoAgQhBSAAIAQ2AgggACADNgIEIAAgATYCACAAIAU2AgwMAQsgAEEANgIACyACQSBqJAALowEBA38gASgCACIELwGSAyIFQQtPBEBBnJ/BAEEgQZigwQAQ9wMACyAEIAVBAWo7AZIDIAQgBUEMbGoiBkGUAmogAkEIaigCADYCACAGQYwCaiACKQIANwIAIAAgBTYCCCAAIAQ2AgAgACABKAIENgIEIAQgBUEYbGoiACADKQMANwMAIABBCGogA0EIaikDADcDACAAQRBqIANBEGopAwA3AwALsQECA38BfiMAQSBrIgEkAAJAIAAoAgwiAkUNACAAKAIAIgMpAwAhBCAAKAIEIQAgASACNgIYIAEgAzYCEEEBIQIgASAAIANqQQFqNgIMIAEgA0EIajYCCCABIARCf4VCgIGChIiQoMCAf4M3AwADQCACRQ0BIAEQxQIhACABIAEoAhhBf2oiAjYCGCAARQ0BIABBdGooAggiAEGEAU8EQCAAEAALDAAACwALIAFBIGokAAuhAQEBfyMAQTBrIgMkACADIAI3AwggAAJ/IAEtAAJFBEAgAkL/////////D3xC/////////x9aBEAgA0ECNgIUIANBzOrAADYCECADQgE3AhwgA0HPADYCLCADIANBKGo2AhggAyADQQhqNgIoQQEhASADQRBqEJMEDAILQQAhASACuRAHDAELQQAhASACEAILNgIEIAAgATYCACADQTBqJAALkwEBBH8jAEEQayIDJAAgA0EANgIMIAEQogQgASgCDCEEIAEtABAhBQJAA0AgBUH/AXFBB00NASACQQRHBEAgASAFQXhqIgU6ABAgA0EMaiACaiAEOgAAIAEgBEEIdiIENgIMIAJBAWohAgwBCwtBBEEEQey1wAAQ6AIACyAAIAMoAgw2AAEgACACOgAAIANBEGokAAuNAQEBfyABKAIIIQUgASgCBCEBAkAgAyACSQ0AAkAgAkUNACAFIAJNBEAgAiAFRw0CDAELIAEgAmosAABBv39MDQELAkAgA0UNACAFIANNBEAgAyAFRg0BDAILIAEgA2osAABBv39MDQELIAAgAyACazYCBCAAIAEgAmo2AgAPCyABIAUgAiADIAQQpgUAC7UBAwJ/AX4BfCMAQSBrIgIkAAJAAkACQAJAIAEoAgBBAWsOAgECAAsgASsDCCIFvUL///////////8Ag0L/////////9/8AVwRAIAJBADoACCACQQhqELEEQQIhAwsgACAFOQMQIABCAjcD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HCACIAUgAEEYaiIBKAIAczYCGCACIAQgACgCFHM2AhQgAiADIAAoAhBzNgIQIAIgAkEQaiAAEBggASACQQhqKQIANwIAIAAgAikCADcCECACQSBqJAALgAEBAn8gAUEPaiECIAAgAUECdGohAEEgIQECQAJAA0AgAUUNASACQXhqQdgATw0CIAJB2ABJBEAgACABaiIDQRxqIANBfGooAgA2AgAgAUF8aiEBIAJBf2ohAgwBCwsgAkHYAEGk98AAEOgCAAsPCyACQXhqQdgAQZT3wAAQ6AIAC34BAX8jAEEgayIBJAAgAUEMaiAAELECAn8gAS0ADEUEQCABLQANRQRAIAFBAzYCFCAAIAFBFGoQswMMAgsgAS0ADkE6RgRAIAAgACgCFEEBajYCFEEADAILIAFBBjYCFCAAIAFBFGoQswMMAQsgASgCEAshACABQSBqJAAgAAt+AQN/IwBBEGsiBCQAA0AgBCACNgIMIAQgATYCCCAEIARBCGogAxCtAiAEKAIEIQUgBCgCACIGQQAgAhsEQCACQX9qIQIgASAFQQJ0akGYA2ooAgAhAQwBBSAAIAU2AgwgACACNgIIIAAgATYCBCAAIAY2AgAgBEEQaiQACwsLdgEFfyABKAIAIgQvAZIDIgdBDGwhAUF/IQMgBEGMAmohBUEBIQYCQANAIAFFBEAgByEDDAILIANBAWohAyABQXRqIQEgAiAFEPYDIQQgBUEMaiEFAkAgBEH/AXEOAgABAgsLQQAhBgsgACADNgIEIAAgBjYCAAuoAQECfyMAQRBrIgQkACAEIAI2AgwgBCABNgIIIARBCGoiASgCBCABKAIAa0ECdiECIAMiASgCECIFRQRAQbynwAAQpgQACyABKAIEIAVuIQEgACACNgIkIABBADYCHCAAIAMpAgA3AgggAEEQaiADQQhqKQIANwIAIABBGGogA0EQaigCADYCACAAIAQpAgg3AgAgACACIAEgAiABSRs2AiAgBEEQaiQAC34BAX8jAEEgayICJAACfyAAKAIAQYCAgIB4RwRAIAEgACgCBCAAKAIIEJ8FDAELIAJBEGogACgCDCgCACIAQQhqKQIANwMAIAJBGGogAEEQaikCADcDACACIAApAgA3AwggASgCFCABKAIYIAJBCGoQRAshACACQSBqJAAgAAuHAQEBfyMAQTBrIgIk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AQR/IAMgAkECdGpBmANqIQIDQCACKAIAIgNBmANqIQIgAUF/aiIBDQALQQAFIAILNgIIIABBADYCBCAAIAM2AgALYAEBfyMAQRBrIgIkACABEKEFIAJBCGogARDFBCACKAIMQQA2AgAgAEEQaiABQRRqKQIANwIAIABBCGogAUEMaikCADcCACAAIAEpAgQ3AgAgAUEcQQQQvwUgAkEQaiQAC2QBAX8jAEEgayIGJAAgAUUEQEHs+sAAQTIQ3gUACyAGQRRqIAEgAyAEIAUgAigCEBEHACAGQQhqIAZBFGpB3PrAABDmAiAGKAIMIQEgACAGKAIINgIAIAAgATYCBCAGQSBqJAALUgEBfyACQQFqIgQgAUkEQCAAIARBDGxqIAAgAkEMbGogAkF/cyABakEMbBDwBRoLIAAgAkEMbGoiACADKQIANwIAIABBCGogA0EIaigCADYCAAtkAQF/IwBBMGsiAiQAIAIgADYCDCACQQI2AhQgAkG0pcEANgIQIAJCATcCHCACQegANgIsIAIgAkEoajYCGCACIAJBDGo2AiggASgCFCABKAIYIAJBEGoQRCEAIAJBMGokACAAC10BAn8CQCAAQXxqKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAEEAPC0HFh8IAQS5B9IfCABD3AwALQYSIwgBBLkG0iMIAEPcDAAtXAQF/IwBBEGsiBCQAIARBCGogASACEJIDIAACfyAEKAIIBEAgBCgCDCECQQEMAQsgBCABIAMQuwEgBCgCBCECIAQoAgALNgIAIAAgAjYCBCAEQRBqJAALYQEBfyMAQTBrIgIkACACIAE2AgwgAiAANgIIIAJBAjYCFCACQayjwAA2AhAgAkIBNwIcIAJBKTYCLCACIAJBKGo2AhggAiACQQhqNgIoIAJBEGoQ7gEhACACQTBqJAAgAAthAQF/IwBBMGsiAiQAIAIgATYCDCACIAA2AgggAkECNgIUIAJB8KPAADYCECACQgE3AhwgAkEpNgIsIAIgAkEoajYCGCACIAJBCGo2AiggAkEQahDuASEAIAJBMGokACAAC1cBAX8jAEHQAGsiAyQAIAMgARDYASADQRBqEJYCIANBEGogAxCrBSADQTBqIAAgA0EQahBvIAJBCGogA0E4aikAADcAACACIAMp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AgAhAwJAIAAoAggiAC0AAEUNACADQaSwwgBBBCACKAIMEQMARQ0AQQEPCyAAIAFBCkY6AAAgAyABIAIoAhARAQALSgEBfyMAQSBrIgEkACABQQE2AgQgAUHQisAANgIAIAFCATcCDCABIACtQoCAgIDAAYQ3AxggASABQRhqNgIIIAFBgI3AABC9BAALRgEBfyMAQSBrIgAkACAAQQE2AgQgAEH8lsAANgIAIABCATcCDCAAQpSYwICQBTcDGCAAIABBGGo2AgggAEGcmMAAEL0EAAtLAQF/IwBBEGsiASQAIAFBCGogACAAKAIAQQFBBEHgABCiASABKAIIIgBBgYCAgHhHBEAgACABKAIMQdzAwAAQgQUACyABQRBqJAALRwEBfyMAQRBrIgIkACACQQhqIAAgACgCAEEBQQFBARCiASACKAIIIgBBgYCAgHhHBEAgACACKAIMIAEQgQUACyACQRBqJAALRQAgAEEANgIQIAAgBDYCDCAAIAM2AgggACACNgIEIAAgATYCACAAIAIgAWsiATYCGCAAIAEgBCADayIAIAEgAEkbNgIUC0EBAX8jAEEQayIDJAADfyABIAJGBH8gA0EQaiQAIAAFIAMgATYCDCAAIANBDGpB+OLAABCkASABQQFqIQEMAQsLC1wBAX8jAEEgayIDJAAgAyACNgIcIAMgATYCGCADIAI2AhQgA0EIaiADQRRqQeDnwAAQ5wIgAygCCCEBIAAgAygCDCICNgIIIAAgATYCBCAAIAI2AgAgA0EgaiQAC0EAAkAgAiABTwRAIAJB2ABNDQEgAkHYACAEEMkFAAsgASACIAQQywUACyAAIAIgAWs2AgQgACADIAFBAnRqNgIACz0AIAJBCCACQQhJGyECA0AgAgRAIAAgACgCACABKAIAczYCACACQX9qIQIgAUEEaiEBIABBBGohAAwBCwsLSgEBfyMAQRBrIgEkACABQQhqIAAgACgCAEEBQQhBGBCiASABKAIIIgBBgYCAgHhHBEAgACABKAIMQaCawQAQgQUACyABQRBqJAALRAECfyMAQRBrIgEkACAAKAIAIQIgACgCBCEAA0AgAUEEaiACIAAQtQMgASgCBCICBEAgASgCCCEADAELCyABQRBqJAALQQEBfyMAQRBrIgMkAAN/IAEgAkYEfyADQRBqJAAgAAUgAyABNgIM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IgAQrwQgABDjBQs5AQF/IwBBEGsiAyQAIAMgATYCDCADIAA2AgggA0EIakHYrsIAIANBDGpB2K7CACACQbSXwgAQcwALMQEBfyABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQfA8LIAAgARCiAg8LIAAgARChAgsyAQF/IAEoAhwiAkEQcUUEQCACQSBxRQRAIAAgARD4AQ8LIAAgARCfAg8LIAAgARCgAgstAQJ/IwBBEGsiASQAIAAtABAiAgRAIAFBCGogACACQQdxEJoDCyABQRBqJAALOAEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUGk3cAAQQkgAkEMakGU3cAAEN0BIQAgAkEQaiQAIAALKAEBfyMAQRBrIgEkACAAKAIIQQFJBEAgAUEIaiAAECULIAFBEGokAAs3AQF/IwBBIGsiASQAIAFBADYCGCABQQE2AgwgAUGElcIANgIIIAFCBDcCECABQQhqIAAQvQQACzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQaTJwgA2AgggAUIENwIQIAFBCGogABC9BAALNQEBfyMAQRBrIgIkACACIAA2AgwgAUH8ncAAQREgAkEMakHsncAAEN0BIQAgAkEQaiQAIAALMQEBfyMAQRBrIgIkACACQQA2AgwgAiABIAJBDGoQugEgACACKQMANwMAIAJBEGokAAsxAQF/IwBBEGsiAiQAIAJBADYCDCACIAEgAkEMahC5ASAAIAIpAwA3AwAgAkEQaiQACzIBAX8gACgCCCIDIAAoAgBGBEAgACACEM8DCyAAKAIEIANqIAE6AAAgACADQQFqNgIICzUBAX8jAEEQayICJAAgAiAANgIMIAFB7NHAAEEPIAJBDGpB3NHAABDdASEAIAJBEGokACAACy4BAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqEOoBIQAgAkEQaiQAIAALLwECfyABKAIUIgMgASgCEEkEQCABKAIMIANqLQAAIQILIABBADoAACAAIAI6AAELLgEBfyAAIAIgAWsiAhDlBCAAKAIIIgMgACgCBGogASACED0aIAAgAiADajYCCAsvAQF/IAAoAgghASAAKAIEIQADQCABBEAgAUF/aiEBIAAQngQgAEEYaiEADAELCwsoACMAQRBrIgAkACAAQQhqIAEQyQQgAEEI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MAsQACACBEAgACACIAEQvwULCxIAIABBCGoQ9AQgAEEcahD0BAsUACAAIAEgAhABNgIEIABBADYCAAsVAQF/IwBBEGsiASAAOgAPIAEtAA8LEwAgAEIANwAAIABBCGpCADcAAAsQACABBEAgACABIAIQvwULCxUAIAAoAgAiACgCBCAAKAIIIAEQLQsxAQF/An9ByAMQuwQiAARAIAAMAQtBCEHIAxDtBQALIgBBADsBkgMgAEEANgKIAiAACzEBAX8Cf0GYAxC7BCIABEAgAAwBC0EIQZgDEO0FAAsiAEEAOwGSAyAAQQA2AogCIAALEgAgAC0AAEEGRwRAIAAQngQLCxkAIAEoAhRBr63CAEEOIAEoAhgoAgwRAwALFgAgACgCFCABIAIgACgCGCgCDBEDAAsPACAAKAIABEAgABC2AgsLEwAgAARADwtBsPvAAEEbEN4FAAsIACAAIAEQKAsIACAAIAEQHAsUACAAKAIAIAEgACgCBCgCDBEBAAsOACAAIAEgASACahCuBAsPACAAIAEgAiADIAQQKQALDwAgABDWBSAAQQxqENYFCxAAIAAoAhQgACgCGCABEEQLDwAgABCNBSAAQQxqEI0FCxAAIAAoAgQgACgCCCABEC0LDgAgACABIAFBEGoQ5gELGQACfyABQQlPBEAgASAAEGoMAQsgABAXCwsPACAAQQxqEMEFIAAQ1QULEAAgACACNgIEIAAgATYCAAsQACAAIAI2AgQgAEEANgIACw0AIAAgASACEKUFQQALDwAgACAAKAIUQQFqNgIUCw0AIAAgASACELoEQQALEAAgACgCACAAKAIEIAEQLQsRACAAKAIAIAAoAgQgARDvBQsRACABIAAoAgAgACgCBBCfBQsgACAAQuTDkJ6i96bcBTcDCCAAQvmrs6C4itWtRTcDAAsiACAAQu26rbbNhdT14wA3AwggAEL4gpm9le7Gxbl/NwMACxEAIAAoAgQgACgCCCABEO8FCxMAIABBxJDCADYCBCAAIAE2AgALEAAgASAAKAIAIAAoAgQQNwsQACABKAIUIAEoAhggABBECw0AIAAgASACEL0FQQALCwAgACABIAIQuAQLDQAgACgCACABQQEQGgsJACAAIAEQhAMLDgAgACgCAEETQQEQvwULDwAgACgCAEGABEECEL8FCw8AIAAoAgBBgAFBARC/BQsNACAAKAIEIAAoAgBrCw4AIAAgASABLQABEJQECw0AIAAoAgAgASACEAgLDQAgACABIAIQxwVBAAsLACAAIAEgAhC6BAsMACAAIAEgAhDqAgALDAAgACABIAIQ6wIACw4AIAAoAgBBASABEI4BCwwAIAAgASACEOwCAAsPAEHZrcIAQSsgABD3AwALDgAgACkDAEEBIAEQigELBwAgABDWBQsLACAAQQRBCBDgBAsOACABQbSLwABBBRCfBQsMACAAKAIAIAEQlwILDwAgACgCACgCACABELACCw4AIAFBgK7AAEEREJ8FCwwAIAAgASkCBDcDAAsMACAAEOMCIAAQ1wULCwAgAEEBQQEQ4AQLDAAgAEEEQeAAEOAECw0AIAFBhMXAAEECEDcLDgAgAUGE0cAAQQsQnwULDgAgAUGj1MAAQQoQnwULFgAgACgCACIAKAIAIAAoAgQgARCRBAsoACABIAAoAgAtAFhBAnQiAEHk4sAAaigCACAAQdDiwABqKAIAEJ8FCw4AIAFBpO7AAEEFEJ8FCwkAIAAgARASAAsOAEHL+8AAQc8AEN4FAAsMACAAEK8EIAAQ4wULCgAgACABIAIQWwsMACAAKAIAIAEQsQELCwAgAEEIQRgQ4AQLDQAgAEGUnsEAIAEQRAsMACAAKAIAIAEQpQILDQAgAUG4rMEAQQIQNwsMACAAKAIAIAEQ9wQLDQAgAEGkgsIAIAEQRAsNACAAQYSHwgAgARBECwwAIAAgASkCADcDAAsNACAAQdiUwgAgARBECw4AIAFB0JTCAEEFEJ8FCxoAIAAgAUH80cIAKAIAIgBB9QAgABsRAAAACw0AIABBjLDCACABEEQLCgAgAiAAIAEQNwsKACAAIAEgAhAkCw4AIAFBmJLAAEESEJ8FCw4AIAFB7JDAAEESEJ8FCw4AIAFB5JPAAEEOEJ8FCw4AIAFBtJHAAEESEJ8FCw4AIAFBrJXAAEEUEJ8FCwkAIAAgARD3BAsOACABQdKEwgBBAxCfBQsOACABQaSlwQBBBRCfBQsOACABQcWCwgBBCBCfBQsOACABQbyCwgBBCRCfBQsIACAAKAIIRQsJACAAIAEQiQULCQAgASAAEJwDCwkAIABBADYCAAsHACABEIkBCwcAIAAoAggLBwAgACgCAAsLk84COgBBgIDAAAvBAXVsbHJ1ZWFsc2UvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NlcmRlX2pzb24tMS4wLjk3L3NyYy9kZS5ycwAAAAoAEABfAAAAJwQAACIAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlCgAQAF8AAABQBAAAIgAAAAoAEABfAAAARgQAACYAQcyBwAALBQEAAAABAEHcgcAACwUBAAAAAgBB7IHAAAsFAQAAAAMAQfyBwAALBQEAAAAEAEGMgsAACwUBAAAABQBBnILAAAsFAQAAAAYAQayCwAALBQEAAAAHAEG8gsAACwUBAAAACABBzILAAAuVBQEAAAAJAAAAc3RydWN0IExpY2Vuc2VUeXBlIHdpdGggMiBlbGVtZW50cwAAVAEQACIAAAAAAAAACAAAAAQAAAAKAAAAdGV4dHZhbHVlc3RydWN0IExpY2Vuc2VEYXRlIHdpdGggMyBlbGVtZW50cwCZARAAIgAAAHZhbHVlX251bXZhbHVlX3N0cnN0cnVjdCBQcm9kdWN0SW5mbyB3aXRoIDQgZWxlbWVudHPWARAAIgAAAHNsdWduYW1ldmVyc2lvbmRhdGFzdHJ1Y3QgTGljZW5zZSB3aXRoIDExIGVsZW1lbnRzAAATAhAAHwAAAHV1aWRwcm9kdWN0bGljZW5zZWVfbmFtZXJ1bGVzdHlwZWNyZWF0ZWRfYXR1cGRhdGVkX2F0dmFsaWRfdW50aWxibG9ja2Vkc3RydWN0IFNpZ25lZExpY2Vuc2Ugd2l0aCAyIGVsZW1lbnRzAIMCEAAkAAAAc2VyaWFsaXplZF9saWNlbnNlc2lnbmF0dXJlX2Jhc2U2NAAADAAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZ2VuZXJpYy1hcnJheS0wLjE0Ljcvc3JjL2xpYi5ycwDYAhAAYwAAADwCAAAJAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi93YXNtLWJpbmRnZW4tMC4yLjg3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dHJ1Y3QgU2lnbmVkTGljZW5zZUNvdWxkIG5vdCBjb252ZXJ0IHJlc3VsdCB0byBqc29uIHZhbHVlLkRlc2VyaWFsaXphdGlvbiBlcnJvcjogSW52YWxpZCBsaWNlbnNlIHNpZ25hdHVyZTogQ2Fubm90IGRlc2VyaWFsaXplIGxpY2Vuc2U6IExpY2Vuc2UgZGVjcnlwdGlvbiBmYWlsZWQ6IGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAAAUAsQACoAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Jhc2U2NC0wLjIyLjAvc3JjL2VuZ2luZS9tb2QucnMAhAsQAGMAAAD5AAAAHgAAAFZlYyBpcyBzaXplZCBjb25zZXJ2YXRpdmVseQD4CxAAGwAAAIQLEABjAAAAAAEAABkAAABNYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Jsb2NrLWJ1ZmZlci0wLjEwLjQvc3JjL2xpYi5ycwAAAF8MEABiAAAApAAAABgAAABfDBAAYgAAAKQAAAAgAAAAXwwQAGIAAACuAAAAFAAAAF8MEABiAAAArgAAABoAAABfDBAAYgAAAJ0AAAAYAAAAXwwQAGIAAACdAAAAHwAAAF8MEABiAAAAnQAAACUAAABfDBAAYgAAAC0BAAAiAAAAXwwQAGIAAAA4AQAAHgAAAF8MEABiAAAANQEAABgAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL21kLTUtMC4xMC42L3NyYy9jb21wcmVzcy9zb2Z0LnJzZA0QAGQAAAA1AAAAMgBB4JvAAAvJBAEAAAAqAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9ydXN0Yy9lNzFmOWE5YTk4YjBmYWY0MjM4NDRiZjBiYTc0MzhmMjlkYzI3ZDU4L2xpYnJhcnkvYWxsb2Mvc3JjL3NsaWNlLnJzAAAAEw4QAEoAAACfAAAAGQAAAAEjRWeJq83v/ty6mHZUMhAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL21kLTUtMC4xMC42L3NyYy9saWIucnMAAIAOEABaAAAAXQAAABMAAAAAAAAABAAAAAQAAAArAAAAVHJ5RnJvbVNsaWNlRXJyb3IvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2V2cGtkZi0wLjIuMC9zcmMvbGliLnJzDQ8QAFsAAABjAAAAGwAAAA0PEABbAAAAeQAAAAwAAAANDxAAWwAAAHYAAAAVAAAAYHVud3JhcF90aHJvd2AgZmFpbGVkL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jb25zb2xlX2Vycm9yX3BhbmljX2hvb2stMC4xLjcvc3JjL2xpYi5ycwAArQ8QAG0AAACVAAAADgBBtKDAAAvJAwEAAAAvAAAAMAAAADEAAABPbmNlIGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAEQQEAAqAAAAb25lLXRpbWUgaW5pdGlhbGl6YXRpb24gbWF5IG5vdCBiZSBwZXJmb3JtZWQgcmVjdXJzaXZlbHl4EBAAOAAAAC9ydXN0Yy9lNzFmOWE5YTk4YjBmYWY0MjM4NDRiZjBiYTc0MzhmMjlkYzI3ZDU4L2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnO4EBAATAAAAJ4AAAAyAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAABQREABKAAAAnwAAABkAAABpbnZhbGlkIHZhbHVlOiAsIGV4cGVjdGVkIAAAcBEQAA8AAAB/ERAACwAAAG1pc3NpbmcgZmllbGQgYGCcERAADwAAAKsREAABAAAAaW52YWxpZCBsZW5ndGggALwREAAPAAAAfxEQAAsAAABkdXBsaWNhdGUgZmllbGQgYAAAANwREAARAAAAqxEQAAEAQYikwAALwwgBAAAAAQAAAE5vbmUAAAAABAAAAAQAAAAYAAAAU29tZQEAAUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky//////////////////////////////////////////////////////////Pv///z80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////dWxsL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pdGVyLnJzbhMQAE4AAACABwAAEQAAABAAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2dlbmVyaWMtYXJyYXktMC4xNC43L3NyYy9saWIucnMA0BMQAGMAAAA8AgAACQAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvdW5pdmVyc2FsLWhhc2gtMC41LjEvc3JjL2xpYi5ycwBEFBAAYwAAAH8AAAAZAAAARBQQAGMAAAB/AAAAKAAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWVhZC0wLjUuMi9zcmMvbGliLnJzAAAAyBQQAFkAAACTAQAAGgAAADIAAAAMAAAABAAAADMAAAAyAAAADAAAAAQAAAAzAAAAMwAAADQVEAA0AAAANQAAADYAAAA3AAAAyBQQAFkAAAA2AQAACQAAAG1pZCA+IGxlbgAAAHwVEAAJAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tb2QucnMAAACQFRAATQAAANkDAAAhAAAAkBUQAE0AAADZAwAALgAAAJAVEABNAAAA3QMAACAAAACQFRAATQAAAN0DAAArAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBB1KzAAAu1IgEAAAA4AAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jaXBoZXItMC40LjQvc3JjL3N0cmVhbV9jb3JlLnJzAFwWEABjAAAAkQAAAC8AAABcFhAAYwAAAIAAAAAOAAAAXBYQAGMAAACAAAAAFAAAAFwWEABjAAAAgwAAABcAAABTdHJlYW1DaXBoZXJFcnJvci9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWVzLWdjbS0wLjEwLjMvc3JjL2xpYi5ycwAAERcQAF0AAABqAQAAFAAAABEXEABdAAAAawEAABQAAAARFxAAXQAAAEwBAAAZAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAAKAXEABKAAAAnwAAABkAAAAvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzAPwXEABPAAAAzQEAADcAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2N0ci0wLjkuMi9zcmMvZmxhdm9ycy9jdHIzMi5ycwAAXBgQ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APoDAAAiAAAAaBoQAFwAAABOAQAAEQAAAEVycm9yIGdlbmVyYXRpbmcgaHVmZm1hbiBjb2RlczogSW52YWxpZCBzZXQgb2YgY29kZSBsZW5ndGhzRXJyb3IgZ2VuZXJhdGluZyBodWZmbWFuIGNvZGVzOiBJbnZhbGlkIHNldCBvZiBjb2RlIGxlbmd0aHMhAGgaEABcAAAAtwEAABoAAABpbnZhbGlkIGh1ZmZtYW4gY29kZWgaEABcAAAA0wEAABkAAABoGhAAXAAAAMkBAAAZAAAAAAAAAAQAAAAEAAAAQAAAAAAAAAAEAAAABAAAAEEAAAAvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2FsbG9jL3NyYy9zbGljZS5ycwAAwCAQAEoAAACfAAAAGQAAAC9ydXN0Yy9lNzFmOWE5YTk4YjBmYWY0MjM4NDRiZjBiYTc0MzhmMjlkYzI3ZDU4L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnMcIRAATAAAACsCAAARAAAAQ2hlY2tzdW0gbWlzbWF0Y2ghL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9pbmZsYXRlLTAuNC41L3NyYy91dGlscy5yc4ohEABeAAAAFAAAAEEAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2FkbGVyMzItMS4yLjAvc3JjL2xpYi5yc/ghEABcAAAAuAAAACUAAAD4IRAAXAAAALQAAAA3AAAA+CEQAFwAAACpAAAANwAAACgpL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5ycwAAhiIQAEwAAAArAgAAEQAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjIuMC9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGUucnMAAOQiEAB2AAAAjQAAABkAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Jhc2U2NC0wLjIyLjAvc3JjL2VuZ2luZS9nZW5lcmFsX3B1cnBvc2UvZGVjb2RlX3N1ZmZpeC5ycwAAAGwjEAB9AAAAHwAAACYAAABsIxAAfQAAAFQAAAAJAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9iYXNlNjQtMC4yMi4wL3NyYy9lbmdpbmUvZ2VuZXJhbF9wdXJwb3NlL2RlY29kZS5ycwAADCQQAHYAAAA4AAAAJgAAAAwkEAB2AAAAXgAAAC4AAAAMJBAAdgAAAGEAAAANAAAADCQQAHYAAABlAAAAOAAAAAwkEAB2AAAAPQAAACcAAAAMJBAAdgAAAEQAAAAeAAAADCQQAHYAAABKAAAAHgAAAAwkEAB2AAAAUAAAAB4AAAAMJBAAdgAAAFYAAAAeAAAADCQQAHYAAAD5AAAACwAAAAwkEAB2AAAA+QAAABEAAAAMJBAAdgAAACcBAAALAAAADCQQAHYAAAAnAQAAEQAAAC9ydXN0Yy9lNzFmOWE5YTk4YjBmYWY0MjM4NDRiZjBiYTc0MzhmMjlkYzI3ZDU4L2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaXRlci5ycwAAVCUQAE4AAAAgCAAAEQAAAFQlEABOAAAAqQYAABUAAABUb29TbWFsbFRvb0xhcmdlYXNzZXJ0aW9uIGZhaWxlZDogbWluX2JpdHMgPj0gTUlOX0JJVFMvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9yc2EvcHVibGljX21vZHVsdXMucnMA+iUQAGkAAAAvAAAACQAAAEludmFsaWRFbmNvZGluZy9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmluZy0wLjE3Ljgvc3JjL2xpbWIucnMAAIMmEABbAAAA0gAAAA0AAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9saW1iLnJzAPAmEABbAAAAbwAAABkAAADwJhAAWwAAANsAAAAFAAAA8CYQAFsAAABNAQAABQAAAPAmEABbAAAAYAEAAAUAQZTPwAALiQIBAAAAQgAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9hcml0aG1ldGljL21vbnRnb21lcnkucnMAxycQAGwAAADGAAAABgAAAMcnEABsAAAA1AAAAAYAAADHJxAAbAAAANcAAAAmAAAAxycQAGwAAADWAAAACQAAAMcnEABsAAAAmQAAABsAAABVbnNwZWNpZmllZG1pZCA+IGxlbo8oEAAJAEGo0cAAC70CAQAAAEMAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAAAAAAAEAAAABAAAAEQAAABUcnlGcm9tSW50RXJyb3IvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9yc2EvcHVibGljX2tleS5yc/soEABlAAAAtQAAAFgAAAD7KBAAZQAAANsAAAAXAAAA+ygQAGUAAADdAAAAHgAAAGFzc2VydGlvbiBmYWlsZWQ6IHBhZGRpbmcuaXRlcigpLmFsbCh8JmJ8IGIgPT0gMCkAAAD7KBAAZQAAAN4AAAAFAAAAbWlkID4gbGVuAAAA1CkQAAkAQfDTwAALoA4BAAAARQAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWVFbmRPZklucHV0L2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi91bnRydXN0ZWQtMC45LjAvc3JjL3JlYWRlci5ycwAALSoQAGEAAABpAAAAIgAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmluZy0wLjE3Ljgvc3JjL2RpZ2VzdC5ycwAAAKAqEABdAAAA+wAAABYAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9yc2EvcGFkZGluZy9wa2NzMS5ycxArEABoAAAAPQAAACkAAABhc3NlcnRpb24gZmFpbGVkOiBlbS5sZW4oKSA+PSBkaWdlc3RfbGVuICsgMTEAAAAQKxAAaAAAAFEAAAAFAAAAECsQAGgAAABTAAAABQAAABArEABoAAAAVAAAAAUAAAAQKxAAaAAAAFgAAAAFAAAAECsQAGgAAABaAAAAKQAAABArEABoAAAAWgAAADkAAAAQKxAAaAAAAFsAAAATAAAAECsQAGgAAABcAAAAEAAAABArEABoAAAAVgAAAAkAAADwMBAAVCwQABMAAAAwMTANBglghkgBZQMEAgEFAAQgL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yaW5nLTAuMTcuOC9zcmMvYXJpdGhtZXRpYy9iaWdpbnQvYm94ZWRfbGltYnMucnMAZywQAHQAAABoAAAAFAAAAGcsEAB0AAAAaAAAACEAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9hcml0aG1ldGljL2JpZ2ludC9tb2R1bHVzLnJz/CwQAHAAAAC5AAAACQAAAPwsEABwAAAAygAAAB0AAABJbnZhbGlkQ29tcG9uZW50SW52YWxpZEVuY29kaW5nVG9vTGFyZ2VVbmV4cGVjdGVkRXJyb3IvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9saW1iLnJzAAAAwi0QAFsAAABFAAAABQAAAAAAAAAEAAAABAAAAEYAAAAAAAAABAAAAAQAAABHAAAAUEtDUzFkaWdlc3RfYWxnZGlnZXN0aW5mb19wcmVmaXgAAAAADAAAAAQAAABIAAAASQAAAEoAAABILBAAcC4QAAAIAAAAAAAABAAAAAQAAABLAAAAQml0TGVuZ3RoL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yaW5nLTAuMTcuOC9zcmMvZGlnZXN0LnJzAACtLhAAXQAAADkAAAAaAAAArS4QAF0AAAA6AAAACQAAAK0uEABdAAAAQwAAABIAAACtLhAAXQAAAEkAAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogbnVtX3BlbmRpbmcgPD0gcGVuZGluZy5sZW4oKQAArS4QAF0AAABKAAAACQAAAK0uEABdAAAATQAAAAkAAACtLhAAXQAAAFEAAAAUAAAArS4QAF0AAABYAAAAEAAAAK0uEABdAAAAXgAAAA4AAACtLhAAXQAAAGAAAAAOAAAArS4QAF0AAABiAAAADgAAAK0uEABdAAAAYwAAABAAAACtLhAAXQAAAGMAAAAtAAAArS4QAF0AAACxAAAAGQAAAK0uEABdAAAAsQAAADcAAACtLhAAXQAAALIAAAAsAAAArS4QAF0AAACzAAAAIwAAAK0uEABdAAAAtwAAABoAAACtLhAAXQAAALsAAAAZAAAArS4QAF0AAAC8AAAALAAAAK0uEABdAAAAvAAAABIAAACtLhAAXQAAAKkAAAAZAAAArS4QAF0AAACpAAAATQAAAK0uEABdAAAAyAAAACYAAACtLhAAXQAAAO4BAAAPAAAAU0hBMVNIQTI1NlNIQTM4NFNIQTUxMlNIQTUxMl8yNTYAAAAAZ+YJaoWuZ7ty8248OvVPpX9SDlGMaAWbq9mDHxnN4FsAQbDiwAALvQVMAAAATQAAACAAAAAgAAAAQAAAAAgAAAABAAAAAAAAAAQAAAAGAAAABgAAAAYAAAAKAAAAzDAQANAwEADWMBAA3DAQAOIwEAAAAAAABAAAAAQAAABOAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAAIgxEABKAAAAnwAAABkAAAAvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2FsbG9jL3NyYy9ib3hlZC5ycwAA5DEQAEoAAADvBgAAHwAAAEludmFsaWRDb21wb25lbnRJbnZhbGlkRW5jb2RpbmdUb29TbWFsbFRvb0xhcmdlAJgvikKRRDdxz/vAtaXbtelbwlY58RHxWaSCP5LVXhyrmKoH2AFbgxK+hTEkw30MVXRdvnL+sd6Apwbcm3Txm8HBaZvkhke+78adwQ/MoQwkbyzpLaqEdErcqbBc2oj5dlJRPphtxjGoyCcDsMd/Wb/zC+DGR5Gn1VFjygZnKSkUhQq3JzghGy78bSxNEw04U1RzCmW7Cmp2LsnCgYUscpKh6L+iS2YaqHCLS8KjUWzHGeiS0SQGmdaFNQ70cKBqEBbBpBkIbDceTHdIJ7W8sDSzDBw5SqrYTk/KnFvzby5o7oKPdG9jpXgUeMiECALHjPr/vpDrbFCk96P5vvJ4ccYvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3dhc20tYmluZGdlbi0wLjIuODcvc3JjL2NvbnZlcnQvc2xpY2VzLnJzAAAAcDMQAG0AAAC2AAAAAQBB+OfAAAubAgEAAABRAAAAY2Fubm90IGFjY2VzcyBhIFRocmVhZCBMb2NhbCBTdG9yYWdlIHZhbHVlIGR1cmluZyBvciBhZnRlciBkZXN0cnVjdGlvbi9ydXN0Yy9lNzFmOWE5YTk4YjBmYWY0MjM4NDRiZjBiYTc0MzhmMjlkYzI3ZDU4L2xpYnJhcnkvc3RkL3NyYy90aHJlYWQvbG9jYWwucnMAAABGNBAATwAAAAQBAAAaAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAAKg0EABKAAAAnwAAABkAAAAAAAAA//////////8INRAAQaDqwAAL3QIgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlcgEAAAAAAAAAIDUQACwAAABSAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zZXJkZS13YXNtLWJpbmRnZW4tMC42LjUvc3JjL2xpYi5ycwBgNRAAZwAAADUAAAAOAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi93YXNtLWJpbmRnZW4tMC4yLjg3L3NyYy9jb252ZXJ0L3NsaWNlcy5ycwAAANg1EABtAAAAtgAAAAEAAADYNRAAbQAAANAAAAASAAAAUwAAAAwAAAAEAAAAVAAAAFUAAAAQAEGI7cAAC/0YAQAAAFYAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAADHNhAASwAAAIAKAAAOAAAARXJyb3IAAADHNhAASwAAAI4FAAAbAAAAxzYQAEsAAACNBQAAGwAAAMc2EABLAAAAZwQAABIAAAAKClN0YWNrOgoKCgovcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL2l0ZXIucnMAAGg3EABOAAAAqQYAABUAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BvbHl2YWwtMC42LjIvc3JjL2JhY2tlbmQvc29mdDMyLnJzAMg3EABnAAAAaAAAABMAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Flcy0wLjguNC9zcmMvc29mdC9maXhzbGljZTMyLnJzQDgQAGQAAAAqAAAAGAAAAEA4EABkAAAATgAAACQAAABAOBAAZAAAAFMAAAAiAAAAQDgQAGQAAABKAAAAKAAAAEA4EABkAAAASwAAACgAAABAOBAAZAAAAEwAAAAoAAAAQDgQAGQAAAAxAAAAHQAAAEA4EABkAAAAMgAAACIAAABAOBAAZAAAADcAAAAuAAAAQDgQAGQAAAA4AAAALgAAAEA4EABkAAAAOQAAAC4AAABAOBAAZAAAADoAAAAuAAAAQDgQAGQAAAA1AAAALgAAAEA4EABkAAAAOAEAACkAAABAOBAAZAAAAEgBAAAtAAAAQDgQAGQAAABNAQAALQAAAEA4EABkAAAAUwEAACkAAABAOBAAZAAAAA8DAAAOAAAAQDgQAGQAAAAQAwAADgAAAEA4EABkAAAAEQMAAA4AAABAOBAAZAAAABIDAAAOAAAAQDgQAGQAAAATAwAADgAAAEA4EABkAAAAFAMAAA4AAABAOBAAZAAAABUDAAAOAAAAQDgQAGQAAAAWAwAADgAAAEA4EABkAAAAuAMAAAUAAABAOBAAZAAAALkDAAAFAAAAQDgQAGQAAAC6AwAABQAAAEA4EABkAAAAuwMAAAUAAABAOBAAZAAAAIkEAAASAAAAQDgQAGQAAACJBAAAPQAAAEA4EABkAAAAwgQAAAUAAABAOBAAZAAAAMMEAAAFAAAAQDgQAGQAAADEBAAABQAAAEA4EABkAAAAxQQAAAUAAABAOBAAZAAAAMYEAAAFAAAAQDgQAGQAAADHBAAABQAAAEA4EABkAAAAyAQAAAUAAABAOBAAZAAAAMkEAAAFAAAAQDgQAGQAAAD+BAAAGwAAAEA4EABkAAAA/wQAABsAAABAOBAAZAAAAAAFAAAbAAAAQDgQAGQAAAABBQAAGwAAAEA4EABkAAAAAgUAABsAAABAOBAAZAAAAAMFAAAbAAAAQDgQAGQAAAAEBQAAGwAAAEA4EABkAAAABQUAABsAAABAOBAAZAAAABQFAAAiAAAAQDgQAGQAAAAUBQAACQAAAEA4EABkAAAAJAUAAAUAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2FlYWQtMC41LjIvc3JjL2xpYi5ycwAAAMQ7EABZAAAADwIAAAkAAABHZW5lcmljQXJyYXk6OmZyb21faXRlciByZWNlaXZlZCAgZWxlbWVudHMgYnV0IGV4cGVjdGVkIDA8EAAhAAAAUTwQABcAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2dlbmVyaWMtYXJyYXktMC4xNC43L3NyYy9saWIucnMAeDwQAGMAAABuAQAABQAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvd2FzbS1iaW5kZ2VuLTAuMi44Ny9zcmMvY29udmVydC9zbGljZXMucnMAAADsPBAAbQAAANAAAAASAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWQAAAAAAAAEAAAABAAAAEsAAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0L3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9jb3JlL3NyYy9zdHIvcGF0dGVybi5yc2U+EABPAAAAOAYAABQAAABlPhAATwAAADgGAAAhAAAAZT4QAE8AAAAsBgAAFAAAAGU+EABPAAAALAYAACEAAAAvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2FsbG9jL3NyYy9zbGljZS5ycwAA9D4QAEoAAACfAAAAGQAAABo+EABLAAAA6gcAAB4AAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmlzX2NoYXJfYm91bmRhcnkobmV3X2xlbikaPhAASwAAAMAFAAANAAAAZT4QAE8AAAC5BAAAJAAAAEVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdEVPRiB3aGlsZSBwYXJzaW5nIGFuIG9iamVjdEVPRiB3aGlsZSBwYXJzaW5nIGEgc3RyaW5nRU9GIHdoaWxlIHBhcnNpbmcgYSB2YWx1ZWV4cGVjdGVkIGA6YGV4cGVjdGVkIGAsYCBvciBgXWBleHBlY3RlZCBgLGAgb3IgYH1gZXhwZWN0ZWQgaWRlbnRleHBlY3RlZCB2YWx1ZWludmFsaWQgZXNjYXBlaW52YWxpZCBudW1iZXJudW1iZXIgb3V0IG9mIHJhbmdlaW52YWxpZCB1bmljb2RlIGNvZGUgcG9pbnRjb250cm9sIGNoYXJhY3RlciAoXHUwMDAwLVx1MDAxRikgZm91bmQgd2hpbGUgcGFyc2luZyBhIHN0cmluZ2tleSBtdXN0IGJlIGEgc3RyaW5nbG9uZSBsZWFkaW5nIHN1cnJvZ2F0ZSBpbiBoZXggZXNjYXBldHJhaWxpbmcgY29tbWF0cmFpbGluZyBjaGFyYWN0ZXJzdW5leHBlY3RlZCBlbmQgb2YgaGV4IGVzY2FwZXJlY3Vyc2lvbiBsaW1pdCBleGNlZWRlZCBhdCBsaW5lICBjb2x1bW4gAAAAAQAAAAAAAAB4QRAACQAAAIFBEAAIAAAAaW52YWxpZCB0eXBlOiBudWxsLCBleHBlY3RlZCAAAACkQRAAHQAAAGludmFsaWQgdHlwZTogLCBleHBlY3RlZCAAAADMQRAADgAAANpBEAALAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zZXJkZV9qc29uLTEuMC45Ny9zcmMvZXJyb3IucnMAAPhBEABiAAAAywEAACEAAAD4QRAAYgAAAM8BAAAMAAAA+EEQAGIAAADWAQAAIQAAAPhBEABiAAAA3wEAACoAAAD4QRAAYgAAAOMBAAAsAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAAKxCEABKAAAAnwAAABkAQY6GwQALnSHwPwAAAAAAACRA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NTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzAAAAOU4QAEwAAAArAgAAEQAAAC9ydXN0Yy9lNzFmOWE5YTk4YjBmYWY0MjM4NDRiZjBiYTc0MzhmMjlkYzI3ZDU4L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwCYThAASwAAAI4FAAAbAAAAmE4QAEsAAACNBQAAGwAAAJhOEABLAAAAZwQAABIAAABlAAAADAAAAAQAAABmAAAAZwAAABAAAAAvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9tYXAvZW50cnkucnMsTxAAYAAAAHEBAAA2AAAAYXNzZXJ0aW9uIGZhaWxlZDogaWR4IDwgQ0FQQUNJVFkvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9ub2RlLnJzALxPEABbAAAAlwIAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBlZGdlLmhlaWdodCA9PSBzZWxmLmhlaWdodCAtIDG8TxAAWwAAAK8CAAAJAAAAvE8QAFsAAACzAgAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNyYy5sZW4oKSA9PSBkc3QubGVuKCm8TxAAWwAAAC8HAAAFAAAAvE8QAFsAAACvBAAAIwAAALxPEABbAAAAswQAACMAAAC8TxAAWwAAAO8EAAAkAAAAYXNzZXJ0aW9uIGZhaWxlZDogZWRnZS5oZWlnaHQgPT0gc2VsZi5ub2RlLmhlaWdodCAtIDEAAAC8TxAAWwAAAPADAAAJAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvY29sbGVjdGlvbnMvYnRyZWUvbmF2aWdhdGUucnMAKFEQAF8AAABYAgAAMAAAAAAAAAAEAAAABAAAABoAAAAAAAAABAAAAAQAAABpAAAAL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAALhREABKAAAAnwAAABkAAAAvcnVzdGMvZTcxZjlhOWE5OGIwZmFmNDIzODQ0YmYwYmE3NDM4ZjI5ZGMyN2Q1OC9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9uYXZpZ2F0ZS5ycwAUUhAAXwAAAMYAAAAnAAAAFFIQAF8AAAAWAgAALwAAABRSEABfAAAAoQAAACQAAABhIG1hcE51bWJlcigpAAAAqVIQAAcAAACwUhAAAQAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc2VyZGVfanNvbi0xLjAuOTcvc3JjL3JlYWQucnMAAADEUhAAYQAAAKEBAAAeAAAAxFIQAGEAAADGAQAAEwAAAMRSEABhAAAAzwEAACEAAADEUhAAYQAAANUBAAAdAAAAxFIQAGEAAAAmAgAAEwAAAMRSEABhAAAAPgIAACUAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQBB5KfBAAsBAQBBiKnBAAuRBMRSEABhAAAAVwMAABkAAADEUhAAYQAAAFgDAAAaAAAAxFIQAGEAAABZAwAAGQAAAMRSEABhAAAAWgMAABkAAADEUhAAYQAAAFsDAAAZAAAAxFIQAGEAAABcAwAAGQAAAMRSEABhAAAAXQMAABkAAADEUhAAYQAAAF4DAAAZAAAAxFIQAGEAAACmAwAALwAAAMRSEABhAAAAqQMAABUAAADEUhAAYQAAAGEDAAAZAAAA////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg///////////////////////////////////woLDA0OD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ygpL3J1c3RjL2U3MWY5YTlhOThiMGZhZjQyMzg0NGJmMGJhNzQzOGYyOWRjMjdkNTgvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnM6VhAASgAAAJ8AAAAZAAAAAAAAAAEAQaetwQAL0SogmpmZmZmZmZmZmZmZmZmZGRWuR+F6FK5H4XoUrkfhehTeJAaBlUOLbOf7qfHSTWIQltQJaCJseHqlLEMc6+I2GqtDboYb8PlhhPBo44i1+BQiNlg4SfPHtDaN7bWg98YQaiONwA5SpodXSK+8mvLXGohP12alQbif3zmMMOKOeRUHphIfUQEt5rKU1iboCy4RpAlRy4Forta3ur3X2d98G+o6p6I07fHeX5VkeeF//RW7yIXo9vAnfxkR6i2BmZcR+A3WQL60DGXCgXZJaMIlHJNx3jOYkHDqAZsroYabhBZDwX4p4KbzIZsVVueerwMSNzUxD83XhWkrvInYl7LSHPmQWj/X3zchiZbURkb1Dhf6c0jMReZf56CrQ9LRXXISXYYNejw9ZqU0rNK2T8mDHbGe15Rjlx5RXSNCkgyhnBfBS3ndgt9+2n1Pmw4KtOMSaKxbYtGYZCqW5V4XECA5HlPw4oGn4LbuRFGyEkCzLRipJk/OUk2SWGqnjqiZwlcTQaR+sLd7UCeq2H3a9dDyHjRQZcBfyaZSuxPLrsRAwhiQpuqZTNTrDskPPPI2ms4TgAoRw61TebFBGWBQvvawH2cIdAKL3C3BZ0ezpv5eWhlSoCk1b7AkNIafwuv+S0gU2xnukPJZHZCef2iJZdY5EF8psLQdw/tMlzKnqNUj9hmyulldsTWWPaxbH7p36cQUKGLhfSdeq5dWSUz7koedEA2daMnYyavy8A56+LellRo+F7o6eqG8W1pyLi2ThEQVy0X7Lsgayq+ujouKQp0DEUUJkrGm99yy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AAAEAAAAdwAAAHgAAAB5AAAAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuNy9zcmMvZGxtYWxsb2MucnNhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAJyDEAApAAAAqAQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAACcgxAAKQAAAK4EAAANAAAAQWNjZXNzRXJyb3IAAQAAAAAAAABlbnRpdHkgbm90IGZvdW5kcGVybWlzc2lvbiBkZW5pZWRjb25uZWN0aW9uIHJlZnVzZWRjb25uZWN0aW9uIHJlc2V0aG9zdCB1bnJlYWNoYWJsZW5ldHdvcmsgdW5yZWFjaGFibGVjb25uZWN0aW9uIGFib3J0ZWRub3QgY29ubmVjdGVkYWRkcmVzcyBpbiB1c2VhZGRyZXNzIG5vdCBhdmFpbGFibGVuZXR3b3JrIGRvd25icm9rZW4gcGlwZWVudGl0eSBhbHJlYWR5IGV4aXN0c29wZXJhdGlvbiB3b3VsZCBibG9ja25vdCBhIGRpcmVjdG9yeWlzIGEgZGlyZWN0b3J5ZGlyZWN0b3J5IG5vdCBlbXB0eXJlYWQtb25seSBmaWxlc3lzdGVtIG9yIHN0b3JhZ2UgbWVkaXVtZmlsZXN5c3RlbSBsb29wIG9yIGluZGlyZWN0aW9uIGxpbWl0IChlLmcuIHN5bWxpbmsgbG9vcClzdGFsZSBuZXR3b3JrIGZpbGUgaGFuZGxlaW52YWxpZCBpbnB1dCBwYXJhbWV0ZXJpbnZhbGlkIGRhdGF0aW1lZCBvdXR3cml0ZSB6ZXJvbm8gc3RvcmFnZSBzcGFjZXNlZWsgb24gdW5zZWVrYWJsZSBmaWxlZmlsZXN5c3RlbSBxdW90YSBleGNlZWRlZGZpbGUgdG9vIGxhcmdlcmVzb3VyY2UgYnVzeWV4ZWN1dGFibGUgZmlsZSBidXN5ZGVhZGxvY2tjcm9zcy1kZXZpY2UgbGluayBvciByZW5hbWV0b28gbWFueSBsaW5rc2ludmFsaWQgZmlsZW5hbWVhcmd1bWVudCBsaXN0IHRvbyBsb25nb3BlcmF0aW9uIGludGVycnVwdGVkdW5zdXBwb3J0ZWR1bmV4cGVjdGVk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EAAYAAAA2QMAAA0AAABhdHRlbXB0ZWQgdG8gZm9ybWF0IGEgbWFwIHZhbHVlIGJlZm9yZSBpdHMga2V5AAC0mBAALgAAAIyYEAAYAAAAJQQAAA0AAABhdHRlbXB0ZWQgdG8gZmluaXNoIGEgbWFwIHdpdGggYSBwYXJ0aWFsIGVudHJ5AAD8mBAALgAAAIyYEAAYAAAAsQQAAA0AAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGNvcmUvc3JjL2ZtdC9tb2QucnMAAABOmhAAEwAAADkIAAAJAAAAAAAAAAgAAAAEAAAAiwAAAGZhbHNldHJ1ZQAAAE6aEAATAAAApgkAACYAAABOmhAAEwAAAK8JAAAaAAAAc291cmNlIHNsaWNlIGxlbmd0aCAoKSBkb2VzIG5vdCBtYXRjaCBkZXN0aW5hdGlvbiBzbGljZSBsZW5ndGggKLCaEAAVAAAAxZoQACsAAACclhAAAQAAAGludmFsaWQgdXRmLTggc2VxdWVuY2Ugb2YgIGJ5dGVzIGZyb20gaW5kZXggCJsQABoAAAAimxAAEgAAAGluY29tcGxldGUgdXRmLTggYnl0ZSBzZXF1ZW5jZSBmcm9tIGluZGV4IAAARJsQACoAAABjb3JlL3NyYy9zdHIvbW9kLnJzAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQc24wgALMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMEBAQEBABBi7nCAAuvGGNvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzAACLnBAAFwAAAHAFAAASAAAAi5wQABcAAABwBQAAKAAAAIucEAAXAAAAYwYAABUAAACLnBAAFwAAAJEGAAAVAAAAi5wQABcAAACSBgAAFQAAAFsuLi5dYmVnaW4gPD0gZW5kICggPD0gKSB3aGVuIHNsaWNpbmcgYGD5nBAADgAAAAedEAAEAAAAC50QABAAAAAbnRAAAQAAAGJ5dGUgaW5kZXggIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSAgKGJ5dGVzICkgb2YgYAA8nRAACwAAAEedEAAmAAAAbZ0QAAgAAAB1nRAABgAAABudEAABAAAAIGlzIG91dCBvZiBib3VuZHMgb2YgYAAAPJ0QAAsAAACknRAAFgAAABudEAABAAAAeJsQABMAAAD0AAAALAAAAGNvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAAAA5J0QAB0AAAAaAAAANgAAAOSdEAAdAAAACgAAACsAAAAABgEBAwEEAgUHBwIICAkCCgULAg4EEAERAhIFExwUARUCFwIZDRwFHQgfASQBagRrAq8DsQK8As8C0QLUDNUJ1gLXAtoB4AXhAucE6ALuIPAE+AL6BPsBDCc7Pk5Pj56en3uLk5aisrqGsQYHCTY9Plbz0NEEFBg2N1ZXf6qur7014BKHiY6eBA0OERIpMTQ6RUZJSk5PZGWKjI2PtsHDxMbL1ly2txscBwgKCxQXNjk6qKnY2Qk3kJGoBwo7PmZpj5IRb1+/7u9aYvT8/1NUmpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAHGRoiJT4/5+zv/8XGBCAjJSYoMzg6SEpMUFNVVlhaXF5gY2Vma3N4fX+KpKqvsMDQrq9ub93ek14iewUDBC0DZgMBLy6Agh0DMQ8cBCQJHgUrBUQEDiqAqgYkBCQEKAg0C04DNAyBNwkWCggYO0U5A2MICTAWBSEDGwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKBiYDHQgCgNBSEAM3LAgqFhomHBQXCU4EJAlEDRkHCgZICCcJdQtCPioGOwUKBlEGAQUQAwULWQgCHWIeSAgKgKZeIkULCgYNEzoGCgYUHCwEF4C5PGRTDEgJCkZFG0gIUw1JBwqAtiIOCgZGCh0DR0k3Aw4ICgY5BwqBNhkHOwMdVQEPMg2Dm2Z1C4DEikxjDYQwEBYKj5sFgkeauTqGxoI5ByoEXAYmCkYKKAUTgbA6gMZbZUsEOQcRQAULAg6X+AiE1ikKoueBMw8BHQYOBAiBjIkEawUNAwkHEI9ggPoGgbRMRwl0PID2CnMIcBVGehQMFAxXCRmAh4FHA4VCDxWEUB8GBoDVKwU+IQFwLQMaBAKBQB8ROgUBgdAqgNYrBAGB4ID3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AQRAw0DdwRfBgwEAQ8MBDgICgYoCCwEAj6BVAwdAwoFOAccBgkHgPqEBgABAwUFBgYCBwYIBwkRChwLGQwaDRAODA8EEAMSEhMJFgEXBBgBGQMaBxsBHAIfFiADKwMtCy4BMAQxAjIBpwSpAqoEqwj6AvsF/QL+A/8JrXh5i42iMFdYi4yQHN0OD0tM+/wuLz9cXV/ihI2OkZKpsbq7xcbJyt7k5f8ABBESKTE0Nzo7PUlKXYSOkqmxtLq7xsrOz+TlAAQNDhESKTE0OjtFRklKXmRlhJGbncnOzw0RKTo7RUlXW1xeX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx8/a20iYvc3Gzs9JTk9XWV5fiY6Psba3v8HGx9cRFhdbXPb3/v+AbXHe3w4fbm8cHV99fq6vTbu8FhceH0ZHTk9YWlxefn+1xdTV3PDx9XJzj3R1liYuL6evt7/Hz9ffmgBAl5gwjx/Oz9LUzv9OT1pbBwgPECcv7u9ubzc9P0JFkJFTZ3XIydDR2Nnn/v8AIF8igt8EgkQIGwQGEYGsDoCrBR8IgRwDGQgBBC8ENAQHAwEHBgcRClAPEgdVBwMEHAoJAwgDBwMCAwMDDAQFAwsGAQ4VBU4HGwdXBwIGFwxQBEMDLQMBBBEGDww6BB0lXyBtBGolgMgFgrADGgaC/QNZBxYJGAkUDBQMagYKBhoGWQcrBUYKLAQMBAEDMQssBBoGCwOArAYKBi8xgPQIPAMPAz4FOAgrBYL/ERgILxEtAyEPIQ+AjASCmhYLFYiUBS8FOwcCDhgJgL4idAyA1hqBEAWA4QnyngM3CYFcFIC4CIDdFTsDCgY4CEYIDAZ0Cx4DWgRZCYCDGBwKFglMBICKBqukDBcEMaEEgdomBwwFBYCmEIH1BwEgKgZMBICNBIC+AxsDDw1jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwAAAM2jEAAgAAAATgAAACgAAADNoxAAIAAAAFoAAAAWAAAAY29yZS9zcmMvbnVtL2JpZ251bS5ycwAAEKQQABYAAACqAQAAAQAAAGFzc2VydGlvbiBmYWlsZWQ6IG5vYm9ycm93YXNzZXJ0aW9uIGZhaWxlZDogZGlnaXRzIDwgNDBhc3NlcnRpb24gZmFpbGVkOiBvdGhlciA+IDBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAIqkEAAZAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIKykEAASAAAAvqQQACIAAAByYW5nZSBlbmQgaW5kZXgg8KQQABAAAAC+pBAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgABClEAAWAAAAJqUQAA0AAAAAAwAAgwQgAJEFYABdE6AAEhcgHwwgYB/vLCArKjCgK2+mYCwCqOAsHvvgLQD+IDae/2A2/QHhNgEKITckDeE3qw5hOS8Y4TkwHOFK8x7hTkA0oVIeYeFT8GphVE9v4VSdvGFVAM9hVmXRoVYA2iFXAOChWK7iIVrs5OFb0OhhXCAA7lzwAX9dAHAABwAtAQEBAgECAQFICzAVEAFlBwIGAgIBBCMBHhtbCzoJCQEYBAEJAQMBBSsDOwkqGAEgNwEBAQQIBAEDBwoCHQE6AQEBAgQIAQkBCgIaAQICOQEEAgQCAgMDAR4CAwELAjkBBAUBAgQBFAIWBgEBOgEBAgEECAEHAwoCHgE7AQEBDAEJASgBAwE3AQEDBQMBBAcCCwIdAToBAgIBAQMDAQQHAgsCHAI5AgEBAgQIAQkBCgIdAUgBBAECAwEBCAFRAQIHDAhiAQIJCwdJAhsBAQEBATcOAQUBAgULASQJAWYEAQYBAgICGQIEAxAEDQECAgYBDwEAAwAEHAMdAh4CQAIBBwgBAgsJAS0DAQF1AiIBdgMEAgkBBgPbAgIBOgEBBwEBAQECCAYKAgEwHzEEMAoEAyYJDAIgBAIGOAEBAgMBAQU4CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsBASwDMAECBAICAgEkAUMGAgICAgwBCAEvATMBAQMCAgUCAQEqAggB7gECAQQBAAEAEBAQAAIAAeIBlQUAAwECBQQoAwQBpQIABEEFAAJPBEYLMQR7ATYPKQECAgoDMQQCAgcBPQMkBQEIPgEMAjQJAQEIBAIBXwMCBAYBAgGdAQMIFQI5AgEBAQEMAQkBDgcDBUMBAgYBAQIBAQMEAwEBDgJVCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAghlAQEBAgQBBQAJAQL1AQoEBAGQBAICBAEgCigGAgQIAQkGAgMuDQECAAcBBgEBUhYCBwECAQJ6BgMBAQIBBwEBSAIDAQEBAAILAjQFBQMXAQABBg8ADAMDAAU7BwABPwRRAQsCAAIALgIXAAUDBggIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBWQBoAcAAT0EAAT+AgAHbQcAYIDwAJ8BCXByb2R1Y2VycwIIbGFuZ3VhZ2UCA0MxMQAEUnVzdAAMcHJvY2Vzc2VkLWJ5BAVydXN0Yx0xLjg0LjEgKGU3MWY5YTlhOSAyMDI1LTAxLTI3KQxVYnVudHUgY2xhbmcRMTguMS4zICgxdWJ1bnR1MSkGd2FscnVzBjAuMTkuMAx3YXNtLWJpbmRnZW4SMC4yLjg3IChmMGE4YWUzYjkpAD0PdGFyZ2V0X2ZlYXR1cmVzAysPbXV0YWJsZS1nbG9iYWxzKwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVz");
/**
* Gantt-Schedule-Timeline-Calendar component
*
* @copyright NEURONET - Rafal Pospiech
* @author Rafal Pospiech <neuronet.io@gmail.com>
* @module gantt-schedule-timeline-calendar
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
* @link https://gantt-schedule-timeline-calendar.neuronet.io
* @version 3.40.5
* @released 2025-03-24
* @license SEE LICENSE IN LICENSE FILE
*/
const io=async()=>(await _i(eo),Ao);function oo(A){const t=A.state,g=new Mt(t),e={treeMap:{},itemRowMap:{},list:{visibleRows:[],rowsIds:[],rows:{},visibleRowsHeight:0,rowsWithParentsExpanded:[],rowsHeight:0,width:0},dimensions:{width:0,height:0},chart:{items:{},grid:{cells:{},rows:{}},dimensions:{width:0,widthWithoutScrollBar:0,height:0,innerHeight:0,heightWithoutScrollBar:0},verticallyVisibleItems:[],time:{zoom:0,format:{period:"day",periodIncrement:1,zoomTo:0,format:()=>""},level:0,levels:[],currentZoomLevelFormatting:[],allDates:[],timePerPixel:0,totalViewDurationMs:0,totalViewDurationPx:0,leftGlobal:0,rightGlobal:0,leftPx:0,rightPx:0,period:"day",leftGlobalDate:void 0,rightGlobalDate:void 0,centerGlobal:0,centerGlobalDate:void 0,from:0,to:0,fromDate:void 0,toDate:void 0,autoExpandTimeFromItems:!1,datesCache:{timePerPixel:0,levels:[]}}},scroll:{horizontal:{lastPageSize:0,lastPageCount:0,absoluteSize:0,absoluteSizeWithoutLastPage:0,handlePosPx:0,innerHandleSize:0,absolutePosPx:0,maxHandlePosPx:0,scrollSize:0,dataIndex:0,dataId:"",data:null,preciseOffset:0,visible:!1,percent:0},vertical:{lastPageSize:0,lastPageCount:0,absoluteSize:0,absoluteSizeWithoutLastPage:0,handlePosPx:0,innerHandleSize:0,absolutePosPx:0,maxHandlePosPx:0,scrollSize:0,dataIndex:0,dataId:"",data:null,preciseOffset:0,visible:!1,percent:0}},elements:{},initializedPlugins:new Set};"boolean"==typeof A.debug&&A.debug&&(globalThis.state=t),t.update("",(A=>({config:A.config,$data:e})));const i=Bt(t,g),o=i.lithtml;g.setVido(i),g.setMergeDeep(Fi);const I=i.createApp({component:Si,props:{wasmInitialized:io},element:A.element}),a=I.vidoInstance.api;const s={state:t,api:a,component:I,destroy:function(){I.destroy(),t.destroy()},reload:function(){s.component.destroy(),s.component=i.createApp({component:Si,props:{wasmInitialized:io},element:A.element}),s.api=I.vidoInstance.api,s.component.update()},lithtml:o,Vido:Bt};return s}const Io=document.createTextNode("");document.createTextNode=function(A){const t=Io.cloneNode(!0);return t.textContent=A,t}.bind(document);const ao=document.createElement("div"),so=document.createElement.bind(document);return document.createElement=function(A,...t){if("div"!==A)return so(A,...t);return ao.cloneNode(!0)}.bind(document),oo.api=Ng,oo.lithtml=K,oo.Vido=Bt,oo}));