gantt-source_management 3.37.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +9 -0
- package/.eslintrc.json +39 -0
- package/.prettierrc.cjs +5 -0
- package/README.md +129 -0
- package/cypress/e2e/add-rows-items.test.ts +26 -0
- package/cypress/e2e/basic.test.ts +173 -0
- package/cypress/e2e/calculated-zoom-mode.test.ts +163 -0
- package/cypress/e2e/calendar-dates.test.ts +285 -0
- package/cypress/e2e/dst.test.ts +691 -0
- package/cypress/e2e/grid-cells.test.ts +72 -0
- package/cypress/e2e/items-vertical.test.ts +305 -0
- package/cypress/e2e/items.test.ts +501 -0
- package/cypress/e2e/list-columns-toggle.test.ts +124 -0
- package/cypress/e2e/list-header-resize.test.ts +30 -0
- package/cypress/e2e/locale.test.ts +102 -0
- package/cypress/e2e/move-items-outside.test.ts +437 -0
- package/cypress/e2e/rows.test.ts +50 -0
- package/cypress/e2e/scroll-bar.test.ts +357 -0
- package/cypress/e2e/time-bookmarks.test.ts +92 -0
- package/cypress/e2e/utc-mode.test.ts +51 -0
- package/cypress/fixtures/example.json +5 -0
- package/cypress/helpers.ts +12 -0
- package/cypress/plugins/index.js +22 -0
- package/cypress/support/commands.ts +175 -0
- package/cypress/support/e2e.ts +31 -0
- package/cypress.config.js +24 -0
- package/dist/api/api.d.ts +182 -0
- package/dist/api/helpers.d.ts +9 -0
- package/dist/api/id.d.ts +14 -0
- package/dist/api/locale.d.ts +3 -0
- package/dist/api/main.d.ts +47 -0
- package/dist/api/public.d.ts +32 -0
- package/dist/api/slots.d.ts +22 -0
- package/dist/api/time.d.ts +104 -0
- package/dist/assets/2f1f893a.wasm +0 -0
- package/dist/gstc.d.ts +708 -0
- package/dist/gstc.esm.min.d.ts +708 -0
- package/dist/gstc.esm.min.js +574 -0
- package/dist/gstc.umd.min.d.ts +708 -0
- package/dist/gstc.umd.min.js +701 -0
- package/dist/gstc.wasm.esm.min.d.ts +708 -0
- package/dist/gstc.wasm.esm.min.js +574 -0
- package/dist/gstc.wasm.umd.min.d.ts +708 -0
- package/dist/gstc.wasm.umd.min.js +701 -0
- package/dist/plugins/calendar-scroll.d.ts +15 -0
- package/dist/plugins/calendar-scroll.esm.min.d.ts +15 -0
- package/dist/plugins/calendar-scroll.esm.min.js +13 -0
- package/dist/plugins/calendar-scroll.umd.min.d.ts +15 -0
- package/dist/plugins/calendar-scroll.umd.min.js +13 -0
- package/dist/plugins/dependency-lines.d.ts +47 -0
- package/dist/plugins/dependency-lines.esm.min.d.ts +47 -0
- package/dist/plugins/dependency-lines.esm.min.js +38 -0
- package/dist/plugins/dependency-lines.umd.min.d.ts +47 -0
- package/dist/plugins/dependency-lines.umd.min.js +38 -0
- package/dist/plugins/export-image.d.ts +12 -0
- package/dist/plugins/export-image.esm.min.d.ts +12 -0
- package/dist/plugins/export-image.esm.min.js +28 -0
- package/dist/plugins/export-image.umd.min.d.ts +12 -0
- package/dist/plugins/export-image.umd.min.js +34 -0
- package/dist/plugins/export-pdf.d.ts +12 -0
- package/dist/plugins/export-pdf.esm.min.d.ts +12 -0
- package/dist/plugins/export-pdf.esm.min.js +389 -0
- package/dist/plugins/export-pdf.umd.min.d.ts +12 -0
- package/dist/plugins/export-pdf.umd.min.js +511 -0
- package/dist/plugins/grab-scroll.d.ts +14 -0
- package/dist/plugins/grab-scroll.esm.min.d.ts +14 -0
- package/dist/plugins/grab-scroll.umd.min.d.ts +14 -0
- package/dist/plugins/highlight-weekends.d.ts +12 -0
- package/dist/plugins/highlight-weekends.esm.min.d.ts +12 -0
- package/dist/plugins/highlight-weekends.esm.min.js +14 -0
- package/dist/plugins/highlight-weekends.umd.min.d.ts +12 -0
- package/dist/plugins/highlight-weekends.umd.min.js +14 -0
- package/dist/plugins/item-movement.d.ts +97 -0
- package/dist/plugins/item-movement.esm.min.d.ts +97 -0
- package/dist/plugins/item-movement.esm.min.js +25 -0
- package/dist/plugins/item-movement.umd.min.d.ts +97 -0
- package/dist/plugins/item-movement.umd.min.js +25 -0
- package/dist/plugins/item-resizing.d.ts +102 -0
- package/dist/plugins/item-resizing.esm.min.d.ts +102 -0
- package/dist/plugins/item-resizing.esm.min.js +37 -0
- package/dist/plugins/item-resizing.umd.min.d.ts +102 -0
- package/dist/plugins/item-resizing.umd.min.js +37 -0
- package/dist/plugins/item-types.d.ts +13 -0
- package/dist/plugins/item-types.esm.min.d.ts +13 -0
- package/dist/plugins/item-types.esm.min.js +127 -0
- package/dist/plugins/item-types.umd.min.d.ts +13 -0
- package/dist/plugins/item-types.umd.min.js +127 -0
- package/dist/plugins/progress-bar.d.ts +13 -0
- package/dist/plugins/progress-bar.esm.min.d.ts +13 -0
- package/dist/plugins/progress-bar.esm.min.js +27 -0
- package/dist/plugins/progress-bar.umd.min.d.ts +13 -0
- package/dist/plugins/progress-bar.umd.min.js +27 -0
- package/dist/plugins/selection.d.ts +94 -0
- package/dist/plugins/selection.esm.min.d.ts +94 -0
- package/dist/plugins/selection.esm.min.js +26 -0
- package/dist/plugins/selection.umd.min.d.ts +94 -0
- package/dist/plugins/selection.umd.min.js +26 -0
- package/dist/plugins/time-bookmarks.d.ts +38 -0
- package/dist/plugins/time-bookmarks.esm.min.d.ts +38 -0
- package/dist/plugins/time-bookmarks.esm.min.js +50 -0
- package/dist/plugins/time-bookmarks.umd.min.d.ts +38 -0
- package/dist/plugins/time-bookmarks.umd.min.js +50 -0
- package/dist/plugins/timeline-pointer.d.ts +83 -0
- package/dist/plugins/timeline-pointer.esm.min.d.ts +83 -0
- package/dist/plugins/timeline-pointer.esm.min.js +13 -0
- package/dist/plugins/timeline-pointer.umd.min.d.ts +83 -0
- package/dist/plugins/timeline-pointer.umd.min.js +13 -0
- package/dist/style.css +811 -0
- package/dist/vendor.esm.min.js +128 -0
- package/examples/complex-1/faces/face-1.jpg +0 -0
- package/examples/complex-1/faces/face-10.jpg +0 -0
- package/examples/complex-1/faces/face-11.jpg +0 -0
- package/examples/complex-1/faces/face-12.jpg +0 -0
- package/examples/complex-1/faces/face-13.jpg +0 -0
- package/examples/complex-1/faces/face-14.jpg +0 -0
- package/examples/complex-1/faces/face-15.jpg +0 -0
- package/examples/complex-1/faces/face-16.jpg +0 -0
- package/examples/complex-1/faces/face-17.jpg +0 -0
- package/examples/complex-1/faces/face-18.jpg +0 -0
- package/examples/complex-1/faces/face-19.jpg +0 -0
- package/examples/complex-1/faces/face-2.jpg +0 -0
- package/examples/complex-1/faces/face-20.jpg +0 -0
- package/examples/complex-1/faces/face-21.jpg +0 -0
- package/examples/complex-1/faces/face-22.jpg +0 -0
- package/examples/complex-1/faces/face-23.jpg +0 -0
- package/examples/complex-1/faces/face-24.jpg +0 -0
- package/examples/complex-1/faces/face-25.jpg +0 -0
- package/examples/complex-1/faces/face-26.jpg +0 -0
- package/examples/complex-1/faces/face-27.jpg +0 -0
- package/examples/complex-1/faces/face-28.jpg +0 -0
- package/examples/complex-1/faces/face-29.jpg +0 -0
- package/examples/complex-1/faces/face-3.jpg +0 -0
- package/examples/complex-1/faces/face-30.jpg +0 -0
- package/examples/complex-1/faces/face-31.jpg +0 -0
- package/examples/complex-1/faces/face-32.jpg +0 -0
- package/examples/complex-1/faces/face-33.jpg +0 -0
- package/examples/complex-1/faces/face-34.jpg +0 -0
- package/examples/complex-1/faces/face-35.jpg +0 -0
- package/examples/complex-1/faces/face-36.jpg +0 -0
- package/examples/complex-1/faces/face-37.jpg +0 -0
- package/examples/complex-1/faces/face-38.jpg +0 -0
- package/examples/complex-1/faces/face-39.jpg +0 -0
- package/examples/complex-1/faces/face-4.jpg +0 -0
- package/examples/complex-1/faces/face-40.jpg +0 -0
- package/examples/complex-1/faces/face-41.jpg +0 -0
- package/examples/complex-1/faces/face-42.jpg +0 -0
- package/examples/complex-1/faces/face-43.jpg +0 -0
- package/examples/complex-1/faces/face-44.jpg +0 -0
- package/examples/complex-1/faces/face-45.jpg +0 -0
- package/examples/complex-1/faces/face-46.jpg +0 -0
- package/examples/complex-1/faces/face-47.jpg +0 -0
- package/examples/complex-1/faces/face-48.jpg +0 -0
- package/examples/complex-1/faces/face-49.jpg +0 -0
- package/examples/complex-1/faces/face-5.jpg +0 -0
- package/examples/complex-1/faces/face-50.jpg +0 -0
- package/examples/complex-1/faces/face-6.jpg +0 -0
- package/examples/complex-1/faces/face-7.jpg +0 -0
- package/examples/complex-1/faces/face-8.jpg +0 -0
- package/examples/complex-1/faces/face-9.jpg +0 -0
- package/examples/complex-1/index.html +61 -0
- package/examples/complex-1/index.js +923 -0
- package/examples/index.html +22 -0
- package/examples/reset.css +455 -0
- package/examples/server.js +18 -0
- package/package.json +150 -0
- package/tsconfig.json +17 -0
|
@@ -0,0 +1,701 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).GSTC=e()}(this,(function(){"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2017 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
+
*/var t;const e=globalThis.trustedTypes,i=e?e.createPolicy("lit-html",{createHTML:t=>t}):void 0,a=`lit$${(Math.random()+"").slice(9)}$`,s="?"+a,n=`<${s}>`,o=document,r=(t="")=>o.createComment(t),l=t=>null===t||"object"!=typeof t&&"function"!=typeof t,c=Array.isArray,u=t=>{var e;return c(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},h=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,d=/-->/g,m=/>/g,g=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,f=/'/g,p=/"/g,b=/^(?:script|style|textarea|title)$/i,v=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),y=v(1),w=v(2),k=Symbol.for("lit-noChange"),x=Symbol.for("lit-nothing"),D=new WeakMap,$=(t,e,i)=>{var a,s;const n=null!==(a=null==i?void 0:i.renderBefore)&&void 0!==a?a:e;let o=n._$litPart$;if(void 0===o){const t=null!==(s=null==i?void 0:i.renderBefore)&&void 0!==s?s:null;n._$litPart$=o=new T(e.insertBefore(r(),t),t,void 0,null!=i?i:{})}return o._$AI(t),o},S=o.createTreeWalker(o,129,null,!1),P=(t,e)=>{const s=t.length-1,o=[];let r,l=2===e?"<svg>":"",c=h;for(let e=0;e<s;e++){const i=t[e];let s,u,v=-1,y=0;for(;y<i.length&&(c.lastIndex=y,u=c.exec(i),null!==u);)y=c.lastIndex,c===h?"!--"===u[1]?c=d:void 0!==u[1]?c=m:void 0!==u[2]?(b.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=g):void 0!==u[3]&&(c=g):c===g?">"===u[0]?(c=null!=r?r:h,v=-1):void 0===u[1]?v=-2:(v=c.lastIndex-u[2].length,s=u[1],c=void 0===u[3]?g:'"'===u[3]?p:f):c===p||c===f?c=g:c===d||c===m?c=h:(c=g,r=void 0);const w=c===g&&t[e+1].startsWith("/>")?" ":"";l+=c===h?i+n:v>=0?(o.push(s),i.slice(0,v)+"$lit$"+i.slice(v)+a+w):i+a+(-2===v?(o.push(void 0),e):w)}const u=l+(t[s]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==i?i.createHTML(u):u,o]};class C{constructor({strings:t,_$litType$:i},n){let o;this.parts=[];let l=0,c=0;const u=t.length-1,h=this.parts,[d,m]=P(t,i);if(this.el=C.createElement(d,n),S.currentNode=this.el.content,2===i){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=S.nextNode())&&h.length<u;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(a)){const i=m[c++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+"$lit$").split(a),e=/([.?@])?(.*)/.exec(i);h.push({type:1,index:l,name:e[2],strings:t,ctor:"."===e[1]?M:"?"===e[1]?_:"@"===e[1]?j:A})}else h.push({type:6,index:l})}for(const e of t)o.removeAttribute(e)}if(b.test(o.tagName)){const t=o.textContent.split(a),i=t.length-1;if(i>0){o.textContent=e?e.emptyScript:"";for(let e=0;e<i;e++)o.append(t[e],r()),S.nextNode(),h.push({type:2,index:++l});o.append(t[i],r())}}}else if(8===o.nodeType)if(o.data===s)h.push({type:2,index:l});else{let t=-1;for(;-1!==(t=o.data.indexOf(a,t+1));)h.push({type:7,index:l}),t+=a.length-1}l++}}static createElement(t,e){const i=o.createElement("template");return i.innerHTML=t,i}}function z(t,e,i=t,a){var s,n,o,r;if(e===k)return e;let c=void 0!==a?null===(s=i._$Cl)||void 0===s?void 0:s[a]:i._$Cu;const u=l(e)?void 0:e._$litDirective$;return(null==c?void 0:c.constructor)!==u&&(null===(n=null==c?void 0:c._$AO)||void 0===n||n.call(c,!1),void 0===u?c=void 0:(c=new u(t),c._$AT(t,i,a)),void 0!==a?(null!==(o=(r=i)._$Cl)&&void 0!==o?o:r._$Cl=[])[a]=c:i._$Cu=c),void 0!==c&&(e=z(t,c._$AS(t,e.values),c,a)),e}class I{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:a}=this._$AD,s=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:o).importNode(i,!0);S.currentNode=s;let n=S.nextNode(),r=0,l=0,c=a[0];for(;void 0!==c;){if(r===c.index){let e;2===c.type?e=new T(n,n.nextSibling,this,t):1===c.type?e=new c.ctor(n,c.name,c.strings,this,t):6===c.type&&(e=new R(n,this,t)),this.v.push(e),c=a[++l]}r!==(null==c?void 0:c.index)&&(n=S.nextNode(),r++)}return s}m(t){let e=0;for(const i of this.v)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class T{constructor(t,e,i,a){var s;this.type=2,this._$AH=x,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=a,this._$Cg=null===(s=null==a?void 0:a.isConnected)||void 0===s||s}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=z(this,t,e),l(t)?t===x||null==t||""===t?(this._$AH!==x&&this._$AR(),this._$AH=x):t!==this._$AH&&t!==k&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t)}M(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==x&&l(this._$AH)?this._$AA.nextSibling.data=t:this.k(o.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:a}=t,s="number"==typeof a?this._$AC(t):(void 0===a.el&&(a.el=C.createElement(a.h,this.options)),a);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===s)this._$AH.m(i);else{const t=new I(s,this),e=t.p(this.options);t.m(i),this.k(e),this._$AH=t}}_$AC(t){let e=D.get(t.strings);return void 0===e&&D.set(t.strings,e=new C(t)),e}S(t){c(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,a=0;for(const s of t)a===e.length?e.push(i=new T(this.M(r()),this.M(r()),this,this.options)):i=e[a],i._$AI(s),a++;a<e.length&&(this._$AR(i&&i._$AB.nextSibling,a),e.length=a)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class A{constructor(t,e,i,a,s){this.type=1,this._$AH=x,this._$AN=void 0,this.element=t,this.name=e,this._$AM=a,this.options=s,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=x}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,a){const s=this.strings;let n=!1;if(void 0===s)t=z(this,t,e,0),n=!l(t)||t!==this._$AH&&t!==k,n&&(this._$AH=t);else{const a=t;let o,r;for(t=s[0],o=0;o<s.length-1;o++)r=z(this,a[i+o],e,o),r===k&&(r=this._$AH[o]),n||(n=!l(r)||r!==this._$AH[o]),r===x?t=x:t!==x&&(t+=(null!=r?r:"")+s[o+1]),this._$AH[o]=r}n&&!a&&this.C(t)}C(t){t===x?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class M extends A{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===x?void 0:t}}const W=e?e.emptyScript:"";class _ extends A{constructor(){super(...arguments),this.type=4}C(t){t&&t!==x?this.element.setAttribute(this.name,W):this.element.removeAttribute(this.name)}}class j extends A{constructor(t,e,i,a,s){super(t,e,i,a,s),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=z(this,t,e,0))&&void 0!==i?i:x)===k)return;const a=this._$AH,s=t===x&&a!==x||t.capture!==a.capture||t.once!==a.once||t.passive!==a.passive,n=t!==x&&(a===x||s);s&&this.element.removeEventListener(this.name,this,a),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}}class R{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){z(this,t)}}const O={L:"$lit$",P:a,V:s,I:1,N:P,R:I,j:u,D:z,H:T,F:A,O:_,W:j,B:M,Z:R},L=window.litHtmlPolyfillSupport;null==L||L(C,T),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push("2.2.6");var E=Object.freeze({__proto__:null,_$LH:O,html:y,noChange:k,nothing:x,render:$,svg:w});
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2017 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/const N={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},G=t=>(...e)=>({_$litDirective$:t,values:e});class B{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
|
12
|
+
/**
|
|
13
|
+
* @license
|
|
14
|
+
* Copyright 2020 Google LLC
|
|
15
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
16
|
+
*/const{H:H}=O,V=(t,e)=>{var i,a;return void 0===e?void 0!==(null===(i=t)||void 0===i?void 0:i._$litType$):(null===(a=t)||void 0===a?void 0:a._$litType$)===e},q=t=>void 0===t.strings,Y=()=>document.createComment(""),F=(t,e,i)=>{var a;const s=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=s.insertBefore(Y(),n),a=s.insertBefore(Y(),n);i=new H(e,a,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,r=o!==t;if(r){let e;null===(a=i._$AQ)||void 0===a||a.call(i,t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==n||r){let t=i._$AA;for(;t!==e;){const e=t.nextSibling;s.insertBefore(t,n),t=e}}}return i},U=(t,e,i=t)=>(t._$AI(e,i),t),K={},Z=(t,e=K)=>t._$AH=e,Q=t=>t._$AH,J=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let i=t._$AA;const a=t._$AB.nextSibling;for(;i!==a;){const t=i.nextSibling;i.remove(),i=t}},X=t=>{t._$AR()},tt=(t,e)=>{var i,a;const s=t._$AN;if(void 0===s)return!1;for(const t of s)null===(a=(i=t)._$AO)||void 0===a||a.call(i,e,!1),tt(t,e);return!0},et=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===(null==i?void 0:i.size))},it=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),nt(e)}};
|
|
17
|
+
/**
|
|
18
|
+
* @license
|
|
19
|
+
* Copyright 2017 Google LLC
|
|
20
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
21
|
+
*/function at(t){void 0!==this._$AN?(et(this),this._$AM=t,it(this)):this._$AM=t}function st(t,e=!1,i=0){const a=this._$AH,s=this._$AN;if(void 0!==s&&0!==s.size)if(e)if(Array.isArray(a))for(let t=i;t<a.length;t++)tt(a[t],!1),et(a[t]);else null!=a&&(tt(a,!1),et(a));else tt(this,t)}const nt=t=>{var e,i,a,s;t.type==N.CHILD&&(null!==(e=(a=t)._$AP)&&void 0!==e||(a._$AP=st),null!==(i=(s=t)._$AQ)&&void 0!==i||(s._$AQ=at))};class ot extends B{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),it(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,a;t!==this.isConnected&&(this.isConnected=t,t?null===(i=this.reconnected)||void 0===i||i.call(this):null===(a=this.disconnected)||void 0===a||a.call(this)),e&&(tt(this,t),et(this))}setValue(t){if(q(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}
|
|
22
|
+
/**
|
|
23
|
+
* @license
|
|
24
|
+
* Copyright 2021 Google LLC
|
|
25
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
26
|
+
*/class rt{constructor(t){this.U=t}disconnect(){this.U=void 0}reconnect(t){this.U=t}deref(){return this.U}}class lt{constructor(){this.Y=void 0,this.q=void 0}get(){return this.Y}pause(){var t;null!==(t=this.Y)&&void 0!==t||(this.Y=new Promise((t=>this.q=t)))}resume(){var t;null===(t=this.q)||void 0===t||t.call(this),this.Y=this.q=void 0}}
|
|
27
|
+
/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright 2017 Google LLC
|
|
30
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
31
|
+
*/class ct extends ot{constructor(){super(...arguments),this._$CG=new rt(this),this._$CK=new lt}render(t,e){return k}update(t,[e,i]){if(this.isConnected||this.disconnected(),e===this._$CX)return;this._$CX=e;let a=0;const{_$CG:s,_$CK:n}=this;return(async(t,e)=>{for await(const i of t)if(!1===await e(i))return})(e,(async t=>{for(;n.get();)await n.get();const o=s.deref();if(void 0!==o){if(o._$CX!==e)return!1;void 0!==i&&(t=i(t,a)),o.commitValue(t,a),a++}return!0})),k}commitValue(t,e){this.setValue(t)}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const ut=G(ct),ht=G(class extends ct{constructor(t){if(super(t),t.type!==N.CHILD)throw Error("asyncAppend can only be used in child expressions")}update(t,e){return this._$CJ=t,super.update(t,e)}commitValue(t,e){0===e&&X(this._$CJ);const i=F(this._$CJ);U(i,t)}}),dt=G(class extends B{constructor(t){super(t),this.tt=new WeakMap}render(t){return[t]}update(t,[e]){if(V(this.it)&&(!V(e)||this.it.strings!==e.strings)){const e=Q(t).pop();let i=this.tt.get(this.it.strings);if(void 0===i){const t=document.createDocumentFragment();i=$(x,t),i.setConnected(!1),this.tt.set(this.it.strings,i)}Z(i,[e]),F(i,void 0,e)}if(V(e)){if(!V(this.it)||this.it.strings!==e.strings){const i=this.tt.get(e.strings);if(void 0!==i){const e=Q(i).pop();X(t),F(t,void 0,e),Z(t,[e])}}this.it=e}else this.it=void 0;return this.render(e)}}),mt={},gt=G(class extends B{constructor(){super(...arguments),this.nt=mt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.nt)&&this.nt.length===e.length&&e.every(((t,e)=>t===this.nt[e])))return k}else if(this.nt===e)return k;return this.nt=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),ft=t=>null!=t?t:x
|
|
32
|
+
/**
|
|
33
|
+
* @license
|
|
34
|
+
* Copyright 2017 Google LLC
|
|
35
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
36
|
+
*/,pt=(t,e,i)=>{const a=new Map;for(let s=e;s<=i;s++)a.set(t[s],s);return a},bt=G(class extends B{constructor(t){if(super(t),t.type!==N.CHILD)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let a;void 0===i?i=e:void 0!==e&&(a=e);const s=[],n=[];let o=0;for(const e of t)s[o]=a?a(e,o):o,n[o]=i(e,o),o++;return{values:n,keys:s}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,a]){var s;const n=Q(t),{values:o,keys:r}=this.dt(e,i,a);if(!Array.isArray(n))return this.ut=r,o;const l=null!==(s=this.ut)&&void 0!==s?s:this.ut=[],c=[];let u,h,d=0,m=n.length-1,g=0,f=o.length-1;for(;d<=m&&g<=f;)if(null===n[d])d++;else if(null===n[m])m--;else if(l[d]===r[g])c[g]=U(n[d],o[g]),d++,g++;else if(l[m]===r[f])c[f]=U(n[m],o[f]),m--,f--;else if(l[d]===r[f])c[f]=U(n[d],o[f]),F(t,c[f+1],n[d]),d++,f--;else if(l[m]===r[g])c[g]=U(n[m],o[g]),F(t,n[d],n[m]),m--,g++;else if(void 0===u&&(u=pt(r,g,f),h=pt(l,d,m)),u.has(l[d]))if(u.has(l[m])){const e=h.get(r[g]),i=void 0!==e?n[e]:null;if(null===i){const e=F(t,n[d]);U(e,o[g]),c[g]=e}else c[g]=U(i,o[g]),F(t,n[d],i),n[e]=null;g++}else J(n[m]),m--;else J(n[d]),d++;for(;g<=f;){const e=F(t,c[f+1]);U(e,o[g]),c[g++]=e}for(;d<=m;){const t=n[d++];null!==t&&J(t)}return this.ut=r,Z(t,c),k}});
|
|
37
|
+
/**
|
|
38
|
+
* @license
|
|
39
|
+
* Copyright 2017 Google LLC
|
|
40
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
41
|
+
*/
|
|
42
|
+
/**
|
|
43
|
+
* @license
|
|
44
|
+
* Copyright 2017 Google LLC
|
|
45
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
46
|
+
*/
|
|
47
|
+
class vt extends B{constructor(t){if(super(t),this.it=x,t.type!==N.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===x||null==t)return this.ft=void 0,this.it=t;if(t===k)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}vt.directiveName="unsafeHTML",vt.resultType=1;const yt=G(vt),wt=t=>!(t=>null===t||"object"!=typeof t&&"function"!=typeof t)(t)&&"function"==typeof t.then;
|
|
48
|
+
/**
|
|
49
|
+
* @license
|
|
50
|
+
* Copyright 2017 Google LLC
|
|
51
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
52
|
+
*/class kt extends ot{constructor(){super(...arguments),this._$Cwt=1073741823,this._$Cyt=[],this._$CG=new rt(this),this._$CK=new lt}render(...t){var e;return null!==(e=t.find((t=>!wt(t))))&&void 0!==e?e:k}update(t,e){const i=this._$Cyt;let a=i.length;this._$Cyt=e;const s=this._$CG,n=this._$CK;this.isConnected||this.disconnected();for(let t=0;t<e.length&&!(t>this._$Cwt);t++){const o=e[t];if(!wt(o))return this._$Cwt=t,o;t<a&&o===i[t]||(this._$Cwt=1073741823,a=0,Promise.resolve(o).then((async t=>{for(;n.get();)await n.get();const e=s.deref();if(void 0!==e){const i=e._$Cyt.indexOf(o);i>-1&&i<e._$Cwt&&(e._$Cwt=i,e.setValue(t))}})))}return k}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const xt=G(kt),Dt=G(class extends B{constructor(t){if(super(t),t.type!==N.PROPERTY&&t.type!==N.ATTRIBUTE&&t.type!==N.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!q(t))throw Error("`live` bindings can only contain a single expression")}render(t){return t}update(t,[e]){if(e===k||e===x)return e;const i=t.element,a=t.name;if(t.type===N.PROPERTY){if(e===i[a])return k}else if(t.type===N.BOOLEAN_ATTRIBUTE){if(!!e===i.hasAttribute(a))return k}else if(t.type===N.ATTRIBUTE&&i.getAttribute(a)===e+"")return k;return Z(t),e}}),$t=G(class extends B{constructor(t){var e;if(super(t),t.type!==N.ATTRIBUTE||"style"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,i)=>{const a=t[i];return null==a?e:e+`${i=i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`}),"")}update(t,[e]){const{style:i}=t.element;if(void 0===this.ct){this.ct=new Set;for(const t in e)this.ct.add(t);return this.render(e)}this.ct.forEach((t=>{null==e[t]&&(this.ct.delete(t),t.includes("-")?i.removeProperty(t):i[t]="")}));for(const t in e){const a=e[t];null!=a&&(this.ct.add(t),t.includes("-")?i.setProperty(t,a):i[t]=a)}return k}}),St=G(class extends B{constructor(t){var e;if(super(t),t.type!==N.ATTRIBUTE||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var i,a;if(void 0===this.et){this.et=new Set,void 0!==t.strings&&(this.st=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!(null===(i=this.st)||void 0===i?void 0:i.has(t))&&this.et.add(t);return this.render(e)}const s=t.element.classList;this.et.forEach((t=>{t in e||(s.remove(t),this.et.delete(t))}));for(const t in e){const i=!!e[t];i===this.et.has(t)||(null===(a=this.st)||void 0===a?void 0:a.has(t))||(i?(s.add(t),this.et.add(t)):(s.remove(t),this.et.delete(t)))}return k}});
|
|
53
|
+
/**
|
|
54
|
+
* @license
|
|
55
|
+
* Copyright 2020 Google LLC
|
|
56
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* @license
|
|
60
|
+
* Copyright 2021 Google LLC
|
|
61
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
62
|
+
*/
|
|
63
|
+
function Pt(t,e,i){return t?e():null==i?void 0:i()}
|
|
64
|
+
/**
|
|
65
|
+
* @license
|
|
66
|
+
* Copyright 2021 Google LLC
|
|
67
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
68
|
+
*/const Ct=(t,e,i)=>{for(const i of e)if(i[0]===t)return(0,i[1])();return null==i?void 0:i()};
|
|
69
|
+
/**
|
|
70
|
+
* @license
|
|
71
|
+
* Copyright 2021 Google LLC
|
|
72
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
73
|
+
*/function*zt(t,e){if(void 0!==t){let i=0;for(const a of t)yield e(a,i++)}}
|
|
74
|
+
/**
|
|
75
|
+
* @license
|
|
76
|
+
* Copyright 2021 Google LLC
|
|
77
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
78
|
+
*/function*It(t,e){const i="function"==typeof e;if(void 0!==t){let a=-1;for(const s of t)a>-1&&(yield i?e(a):e),a++,yield s}}
|
|
79
|
+
/**
|
|
80
|
+
* @license
|
|
81
|
+
* Copyright 2021 Google LLC
|
|
82
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
83
|
+
*/function*Tt(t,e,i=1){const a=void 0===e?0:t;null!=e||(e=t);for(let t=a;i>0?t<e:e<t;t+=i)yield t}
|
|
84
|
+
/**
|
|
85
|
+
* @license
|
|
86
|
+
* Copyright 2020 Google LLC
|
|
87
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
88
|
+
*/const At=G(class extends B{constructor(t){if(super(t),t.type!==N.CHILD)throw Error("templateContent can only be used in child bindings")}render(t){return this.vt===t?k:(this.vt=t,document.importNode(t.content,!0))}});
|
|
89
|
+
/**
|
|
90
|
+
* @license
|
|
91
|
+
* Copyright 2017 Google LLC
|
|
92
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
93
|
+
*/class Mt extends vt{}Mt.directiveName="unsafeSVG",Mt.resultType=2;const Wt=G(Mt);
|
|
94
|
+
/**
|
|
95
|
+
* @license
|
|
96
|
+
* Copyright 2020 Google LLC
|
|
97
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
98
|
+
*/class _t{}const jt=new WeakMap,Rt=G(class extends ot{render(t){return x}update(t,[e]){var i;const a=e!==this.U;return a&&void 0!==this.U&&this.ot(void 0),(a||this.rt!==this.lt)&&(this.U=e,this.ht=null===(i=t.options)||void 0===i?void 0:i.host,this.ot(this.lt=t.element)),x}ot(t){var e;if("function"==typeof this.U){const i=null!==(e=this.ht)&&void 0!==e?e:globalThis;let a=jt.get(i);void 0===a&&(a=new WeakMap,jt.set(i,a)),void 0!==a.get(this.U)&&this.U.call(this.ht,void 0),a.set(this.U,t),void 0!==t&&this.U.call(this.ht,t)}else this.U.value=t}get rt(){var t,e,i;return"function"==typeof this.U?null===(e=jt.get(null!==(t=this.ht)&&void 0!==t?t:globalThis))||void 0===e?void 0:e.get(this.U):null===(i=this.U)||void 0===i?void 0:i.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),Ot=new WeakMap;class Lt extends B{update(t,e){return e[0].execute(t),k}render(t){return t.toString()}}class Et{constructor(t,e={schedule:!1}){this.schedule=!1,this.style=t,this._directive=G(Lt),this.execute=this.execute.bind(this),this.schedule=e.schedule}directive(){return this._directive(this)}setStyle(t){for(const t in this.style)delete this.style[t];for(const e in t)this.style[e]=t[e]}toString(){return Object.keys(this.style).reduce(((t,e)=>{const i=this.style[e];return null==i?t:t+`${e=e.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`}),"")}_getInternalStyle(){return this.element?Ot.get(this.element):null}updateStyle(t,e,i){const a=i.previousStyle;for(const t of e)t&&!this.style[t]&&(i.toRemove.includes(t)||i.toRemove.push(t));for(const t in a)t&&t in this.style&&!this.style[t]&&e.includes(t)&&(i.toRemove.includes(t)||i.toRemove.push(t));for(const t in this.style){if(!t)continue;if(!(t in this.style))continue;const s=this.style[t];if(!s)continue;const n=a[t];void 0!==n&&n===s&&e.includes(t)||i.toUpdate.push(t)}if(i.toRemove.length||i.toUpdate.length){for(const e of i.toRemove)t.removeProperty(e),t[e]&&delete t[e],i.elementStyles=i.elementStyles.filter((t=>t!==e));for(const e of i.toUpdate){const a=this.style[e];a&&(e.includes("-")?t.setProperty(e,a):t[e]=a,i.elementStyles.includes(e)||i.elementStyles.push(e))}i.previousStyle=Object.assign({},this.style)}}execute(t){const e=t.element;let i;this.element=e,Ot.has(e)?i=Ot.get(e):(i={toUpdate:[],toRemove:[],previousStyle:{},elementStyles:[],styleTaken:!1},Ot.set(e,i)),i.toRemove.length=0,i.toUpdate.length=0;const a=e.style;let s;if(i.styleTaken)s=i.elementStyles;else{i.elementStyles=s=[];for(let t=i.length;t--;)s.push(a[t]);i.styleTaken=!0}this.schedule?requestAnimationFrame((()=>{this.updateStyle(a,s,i)})):this.updateStyle(a,s,i),Ot.set(e,i)}}const Nt=new WeakMap;const Gt=G(class extends B{render(t){return x}update(t,e){if("boolean"!=typeof e[0])throw new Error("[vido] Detach directive argument should be a boolean.");let i=e[0];const a=t.element;if(i)Nt.has(t)||Nt.set(t,{element:a,nextSibling:a.nextSibling,previousSibling:a.previousSibling,parent:a.parentNode}),a.remove();else{const e=Nt.get(t);e&&(e.nextSibling&&e.nextSibling.parentNode?e.nextSibling.parentNode.insertBefore(e.element,e.nextSibling):e.previousSibling&&e.previousSibling.parentNode?e.previousSibling.parentNode.appendChild(e.element):e.parent&&e.parent.appendChild(e.element),Nt.delete(t))}return this.render(i)}});class Bt{constructor(){this.isAction=!0}}Bt.prototype.isAction=!0;const Ht={element:document.createTextNode(""),axis:"xy",threshold:10,onDown(){},onMove(){},onUp(){},onWheel(){}},Vt="undefined"!=typeof PointerEvent;let qt=0;class Yt extends Bt{constructor(t,e){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=t,this.id=++qt,this.options=Object.assign(Object.assign({},Ht),e.pointerOptions),Vt?(t.addEventListener("pointerdown",this.onPointerDown),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp)):(t.addEventListener("touchstart",this.onPointerDown),document.addEventListener("touchmove",this.onPointerMove,{passive:!1}),document.addEventListener("touchend",this.onPointerUp),document.addEventListener("touchcancel",this.onPointerUp),t.addEventListener("mousedown",this.onPointerDown),document.addEventListener("mousemove",this.onPointerMove,{passive:!1}),document.addEventListener("mouseup",this.onPointerUp))}normalizeMouseWheelEvent(t){let e=t.deltaX||0,i=t.deltaY||0,a=t.deltaZ||0;const s=t.deltaMode,n=parseInt(getComputedStyle(t.target).getPropertyValue("line-height"));let o=1;switch(s){case 1:o=n;break;case 2:o=window.height}return e*=o,i*=o,a*=o,{x:e,y:i,z:a,event:t}}onWheel(t){const e=this.normalizeMouseWheelEvent(t);this.options.onWheel(e)}normalizePointerEvent(t){let e={x:0,y:0,pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0,event:t};switch(t.type){case"wheel":const i=this.normalizeMouseWheelEvent(t);e.x=i.x,e.y=i.y,e.pageX=e.x,e.pageY=e.y,e.screenX=e.x,e.screenY=e.y,e.clientX=e.x,e.clientY=e.y;break;case"touchstart":case"touchmove":case"touchend":case"touchcancel":e.x=t.changedTouches[0].screenX,e.y=t.changedTouches[0].screenY,e.pageX=t.changedTouches[0].pageX,e.pageY=t.changedTouches[0].pageY,e.screenX=t.changedTouches[0].screenX,e.screenY=t.changedTouches[0].screenY,e.clientX=t.changedTouches[0].clientX,e.clientY=t.changedTouches[0].clientY;break;default:e.x=t.x,e.y=t.y,e.pageX=t.pageX,e.pageY=t.pageY,e.screenX=t.screenX,e.screenY=t.screenY,e.clientX=t.clientX,e.clientY=t.clientY}return e}onPointerDown(t){if("mousedown"===t.type&&0!==t.button)return;this.moving="xy";const e=this.normalizePointerEvent(t);this.lastX=e.x,this.lastY=e.y,this.initialX=e.x,this.initialY=e.y,this.options.onDown(e)}handleX(t){let e=t.x-this.lastX;return this.lastY=t.y,this.lastX=t.x,e}handleY(t){let e=t.y-this.lastY;return this.lastY=t.y,this.lastX=t.x,e}onPointerMove(t){if(""===this.moving||"mousemove"===t.type&&0!==t.button)return;const e=this.normalizePointerEvent(t);if("x|y"===this.options.axis){let i=0,a=0;("x"===this.moving||"xy"===this.moving&&Math.abs(e.x-this.initialX)>this.options.threshold)&&(this.moving="x",i=this.handleX(e)),("y"===this.moving||"xy"===this.moving&&Math.abs(e.y-this.initialY)>this.options.threshold)&&(this.moving="y",a=this.handleY(e)),this.options.onMove({movementX:i,movementY:a,x:e.x,y:e.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:t})}else if("xy"===this.options.axis){let i=0,a=0;Math.abs(e.x-this.initialX)>this.options.threshold&&(i=this.handleX(e)),Math.abs(e.y-this.initialY)>this.options.threshold&&(a=this.handleY(e)),this.options.onMove({movementX:i,movementY:a,x:e.x,y:e.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:t})}else if("x"===this.options.axis)("x"===this.moving||"xy"===this.moving&&Math.abs(e.x-this.initialX)>this.options.threshold)&&(this.moving="x",this.options.onMove({movementX:this.handleX(e),movementY:0,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:t}));else if("y"===this.options.axis){let i=0;("y"===this.moving||"xy"===this.moving&&Math.abs(e.y-this.initialY)>this.options.threshold)&&(this.moving="y",i=this.handleY(e)),this.options.onMove({movementX:0,movementY:i,x:e.x,y:e.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:t})}}onPointerUp(t){this.moving="";const e=this.normalizePointerEvent(t);this.options.onUp({movementX:0,movementY:0,x:e.x,y:e.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:t}),this.lastY=0,this.lastX=0}destroy(t){Vt?(t.removeEventListener("pointerdown",this.onPointerDown),document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp)):(t.removeEventListener("mousedown",this.onPointerDown),document.removeEventListener("mousemove",this.onPointerMove),document.removeEventListener("mouseup",this.onPointerUp),t.removeEventListener("touchstart",this.onPointerDown),document.removeEventListener("touchmove",this.onPointerMove),document.removeEventListener("touchend",this.onPointerUp),document.removeEventListener("touchcancel",this.onPointerUp))}}function Ft(t){let e=0;return function(i){e||(e=requestAnimationFrame((function(){e=0,t.apply(void 0,[i])})))}}function Ut(t){return null==t||"string"==typeof t||"number"==typeof t||"boolean"==typeof t||"bigint"==typeof t||"symbol"==typeof t}function Kt(t){return!Ut(t)&&(t&&t.constructor?"Object"===t.constructor.name:"object"==typeof t&&null!==t)}function Zt(t){return!Ut(t)&&(Array.isArray(t)||Kt(t))}function Qt(t,...e){const i=e.shift();if(Kt(i)){Kt(t)||(t=Object.create(null));for(const e in i){const a=i[e];Zt(a)?t[e]=Qt(t[e],a):t[e]=a}}else if(Array.isArray(i)){const e=i.length;Array.isArray(t)?t.length=e:t=new Array(e);let a=0;for(;a<e;a++){const e=i[a];Zt(e)?t[a]=Qt(t[a],e):t[a]=e}void 0!==i.raw&&(t.raw=i.raw.slice())}else t=i;return e.length?Qt(t,...e):t}function Jt(t){if(void 0!==t.actions){const e=t.actions.map((t=>{const e=Object.assign({},t),i=Object.assign({},e.props);return delete i.state,delete i.api,delete e.element,e.props=i,e}));t.actions=e}return Qt({},t)}var Xt={mergeDeep:Qt,clone:Jt,schedule:Ft};class te{constructor(t,e){this.slotInstances={},this.destroyed=!1,this.vido=t,this.props=e,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(t){if(t&&!this.destroyed){for(const e in t){const i=t[e];void 0===this.slotInstances[e]&&(this.slotInstances[e]=[]);for(const t of this.slotInstances[e])t.destroy();this.slotInstances[e].length=0;for(const t of i)this.slotInstances[e].push(this.vido.createComponent(t,this.props))}this.vido.update()}}destroy(){if(!this.destroyed){for(const t in this.slotInstances){for(const e of this.slotInstances[t])e.destroy();this.slotInstances[t].length=0}this.destroyed=!0}}change(t,e=void 0){if(!this.destroyed)for(const i in this.slotInstances){const a=this.slotInstances[i];for(const i of a)i.change(t,e)}}getInstances(t){return this.destroyed?[]:void 0===t?this.slotInstances:this.slotInstances[t]}html(t,e){if(this.destroyed)return;if(!this.slotInstances[t]||0===this.slotInstances[t].length)return e;let i=e;for(const e of this.slotInstances[t])i=e.html(i);return i}getProps(){return this.props}isDestroyed(){return this.destroyed}}class ee extends B{update(t,e){if("function"!=typeof e[0])throw new Error("[vido] GetElementDirective argument should be a function.");(0,e[0])(t.element)}render(){return x}}function ie(t,e){let i=0;const a=new Map;let s,n,o=new Map,r=0;const l=[],c=Promise.resolve(),u={},h=function(t){return class extends B{update(e,i){const a=e.element,s=i[0],n=i[1],o=i[2];for(const e of n)if(void 0!==e){let i;if(t.has(s))for(const n of t.get(s))if(n.componentAction.create===e&&n.element===a){i=n;break}if(i)i.props=o;else{void 0!==a.vido&&delete a.vido;const i={instance:s,componentAction:{create:e,update(){},destroy(){}},element:a,props:o};let n=[];t.has(s)&&(n=t.get(s)),n.push(i),t.set(s,n)}}}render(t,e,i){return x}}}(o);class d{constructor(t){this.instance=t}create(t,e){const i=G(h);return()=>i(this.instance,t,e)}}const m=function(t,e,i){return class{constructor(t,e,i={}){this.destroyed=!1,this.instance=t,this.name=e.name,this.vidoInstance=e,this.props=i,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(i({components:t.keys(),actionsByInstance:e})),console.trace(),console.groupEnd()),this.vidoInstance.destroyComponent(this.instance,this.vidoInstance),this.destroyed=!0)}update(a=void 0){return this.vidoInstance.debug&&(console.groupCollapsed(`updating component ${this.instance}`),console.log(i({components:t.keys(),actionsByInstance:e})),console.trace(),console.groupEnd()),this.vidoInstance.updateTemplate(a)}change(a,s={}){this.vidoInstance.debug&&(console.groupCollapsed(`changing component ${this.instance}`),console.log(i({props:this.props,newProps:a,components:t.keys(),actionsByInstance:e})),console.trace(),console.groupEnd());const n=t.get(this.instance);n&&n.change(a,s)}html(e={}){const i=t.get(this.instance);if(i&&!i.destroyed)return i.update(e,this.vidoInstance)}_getComponents(){return t}_getActions(){return e}}}(a,o,Jt),g=function(t,e,i){return class{constructor(t,e,i){this.destroyed=!1,this.instance=t,this.vidoInstance=e,this.renderFunction=i,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(i({props:this.vidoInstance.props,components:t.keys(),destroyable:this.vidoInstance.destroyable,actionsByInstance:e})),console.trace(),console.groupEnd()),this.content&&"function"==typeof this.content.destroy&&this.content.destroy();for(const t of this.vidoInstance.destroyable)t();this.vidoInstance.onChangeFunctions.length=0,this.vidoInstance.destroyable.length=0,this.vidoInstance.destroyed=!0,this.destroyed=!0,this.vidoInstance.update()}}update(a={}){return this.vidoInstance.debug&&(console.groupCollapsed(`component update method fired ${this.instance}`),console.log(i({components:t.keys(),actionsByInstance:e})),console.trace(),console.groupEnd()),this.renderFunction(a)}change(a,s={leave:!1}){const n=a;this.vidoInstance.debug&&(console.groupCollapsed(`component change method fired ${this.instance}`),console.log(i({props:n,components:t.keys(),onChangeFunctions:this.vidoInstance.onChangeFunctions,changedProps:a,actionsByInstance:e})),console.trace(),console.groupEnd());for(const t of this.vidoInstance.onChangeFunctions)t(a,s)}}}(a,o,Jt);class f{constructor(i="",s=""){this.instance="",this.name="",this.destroyable=[],this.destroyed=!1,this.onChangeFunctions=[],this.debug=!1,this.state=t,this.api=e,this.lastProps={},this.html=y,this.svg=w,this.lithtml=E,this.directive=G,this.asyncAppend=ht,this.asyncReplace=ut,this.cache=dt,this.classMap=St,this.styleMap=$t,this.StyleMap=Et,this.guard=gt,this.live=Dt,this.ifDefined=ft,this.repeat=bt,this.unsafeHTML=yt,this.until=xt,this.when=Pt,this.choose=Ct,this.map=zt,this.join=It,this.range=Tt,this.templateContent=At,this.unsafeSVG=Wt,this.ref=Rt,this.schedule=Ft,this.getElement=G(ee),this.actionsByInstance=()=>{},this.detach=Gt,this.PointerAction=Yt,this.Action=Bt,this.Slots=te,this._components=a,this._actions=o,this.instance=i,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 t in u)this[t]=u[t].bind(this);this.name=s,this.Actions=new d(i)}static addMethod(t,e){u[t]=e}onDestroy(t){this.destroyable.push(t)}onChange(t){this.onChangeFunctions.push(t)}update(t){return this.updateTemplate(t)}reuseComponents(t,e,i,a,s=!0,n=!1){const o=[],r=t.length,l=e.length;let c=!1;!s||void 0!==e&&0!==e.length||(c=!0);let u=0;if(r<l){let s=l-r;for(;s;){const n=e[l-s],r=this.createComponent(a,i(n));t.push(r),o.push(r),s--}}else if(r>l){let e=r-l;if(s)c=!0,u=r-e;else{for(;e;){const i=r-e;o.push(t[i]),t[i].destroy(),e--}t.length=l}}let h=0;n&&console.log("modified components",o),n&&console.log("current components",t),n&&console.log("data array",e);for(const a of t){const t=e[h];n&&console.log(`reuse components data at '${h}'`,t),a&&!o.includes(a)&&(n&&console.log("getProps fn result",i(t)),a.change(i(t),{leave:c&&h>=u})),h++}}createComponent(t,e={}){const s=t.name+":"+i++;let n;n=new f(s,t.name);const r=new m(s,n,e),l=new g(s,n,t(n,e));return a.set(s,l),a.get(s).change(e),n.debug&&(console.groupCollapsed(`component created ${s}`),console.log(Jt({props:e,components:a.keys(),actionsByInstance:o})),console.trace(),console.groupEnd()),r}destroyComponent(t,e){if(e.debug&&(console.groupCollapsed(`destroying component ${t}...`),console.log(Jt({components:a.keys(),actionsByInstance:o})),console.trace(),console.groupEnd()),o.has(t))for(const e of o.get(t))"function"==typeof e.componentAction.destroy&&e.componentAction.destroy(e.element,e.props);o.delete(t);const i=a.get(t);i?(i.destroy(),a.delete(t),e.debug&&(console.groupCollapsed(`component destroyed ${t}`),console.log(Jt({components:a.keys(),actionsByInstance:o})),console.trace(),console.groupEnd())):console.warn(`No component to destroy! [${t}]`)}executeActions(){for(const t of o.values()){for(const e of t)if(void 0===e.element.vido){const t=a.get(e.instance);e.isActive=function(){return t&&!1===t.destroyed};const i=e.componentAction,s=i.create;if(void 0!==s){let t;t=s.prototype&&(s.prototype.isAction||s.prototype.update||s.prototype.destroy)||s.isAction?new s(e.element,e.props):s(e.element,e.props),void 0!==t&&("function"==typeof t?i.destroy=t:("function"==typeof t.update&&(i.update=t.update.bind(t)),"function"==typeof t.destroy&&(i.destroy=t.destroy.bind(t))))}}else e.element.vido=e.props,"function"==typeof e.componentAction.update&&e.isActive()&&e.componentAction.update(e.element,e.props);for(const e of t)e.element.vido=e.props}}updateTemplate(t=void 0){return t&&l.push(t),new Promise((t=>{const e=++r,i=this;c.then((function(){if(e===r){r=0,i.render();for(const t of l)t();l.length=0,t(null)}}))}))}createApp(t){n=t.element;const e=this.createComponent(t.component,t.props);return s=e.instance,this.render(),e}render(){const t=a.get(s);t?($(t.update(),n),this.executeActions()):n&&n.remove()}}return new f}ie.lithtml=E,ie.Action=Bt,ie.Directive=B,ie.StyleMap=Et,ie.PointerAction=Yt,ie.Slots=te,ie.directives={schedule:Ft,detach:Gt,styleMap:$t,classMap:St,asyncAppend:ht,asyncReplace:ut,cache:dt,guard:gt,live:Dt,ifDefined:ft,repeat:bt,unsafeHTML:yt,until:xt,when:Pt,choose:Ct,map:zt,join:It,range:Tt,templateContent:At,unsafeSVG:Wt,ref:Rt};const ae=E;var se=Object.freeze({__proto__:null,Action:Bt,AsyncReplaceDirective:ct,Directive:B,PartType:N,PointerAction:Yt,Slots:te,StyleMap:Et,UnsafeHTMLDirective:vt,UntilDirective:kt,_$LH:O,asyncAppend:ht,asyncReplace:ut,cache:dt,choose:Ct,classMap:St,createRef:()=>new _t,default:ie,detach:Gt,directive:G,guard:gt,helpers:Xt,html:y,ifDefined:ft,join:It,lit:ae,lithtml:E,map:zt,noChange:k,nothing:x,range:Tt,ref:Rt,render:$,repeat:bt,schedule:Ft,styleMap:$t,svg:w,templateContent:At,unsafeHTML:yt,unsafeSVG:Wt,until:xt,when:Pt}),ne=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self,{exports:{}});!function(t){t.exports=function(){var t=1e3,e=6e4,i=36e5,a="millisecond",s="second",n="minute",o="hour",r="day",l="week",c="month",u="quarter",h="year",d="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|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,p={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(t){var e=["th","st","nd","rd"],i=t%100;return"["+t+(e[(i-20)%10]||e[i]||e[0])+"]"}},b=function(t,e,i){var a=String(t);return!a||a.length>=e?t:""+Array(e+1-a.length).join(i)+t},v={s:b,z:function(t){var e=-t.utcOffset(),i=Math.abs(e),a=Math.floor(i/60),s=i%60;return(e<=0?"+":"-")+b(a,2,"0")+":"+b(s,2,"0")},m:function t(e,i){if(e.date()<i.date())return-t(i,e);var a=12*(i.year()-e.year())+(i.month()-e.month()),s=e.clone().add(a,c),n=i-s<0,o=e.clone().add(a+(n?-1:1),c);return+(-(a+(i-s)/(n?s-o:o-s))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:l,d:r,D:d,h:o,m:n,s:s,ms:a,Q:u}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},y="en",w={};w[y]=p;var k="$isDayjsObject",x=function(t){return t instanceof P||!(!t||!t[k])},D=function t(e,i,a){var s;if(!e)return y;if("string"==typeof e){var n=e.toLowerCase();w[n]&&(s=n),i&&(w[n]=i,s=n);var o=e.split("-");if(!s&&o.length>1)return t(o[0])}else{var r=e.name;w[r]=e,s=r}return!a&&s&&(y=s),s||!a&&y},$=function(t,e){if(x(t))return t.clone();var i="object"==typeof e?e:{};return i.date=t,i.args=arguments,new P(i)},S=v;S.l=D,S.i=x,S.w=function(t,e){return $(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var P=function(){function p(t){this.$L=D(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[k]=!0}var b=p.prototype;return b.parse=function(t){this.$d=function(t){var e=t.date,i=t.utc;if(null===e)return new Date(NaN);if(S.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var a=e.match(g);if(a){var s=a[2]-1||0,n=(a[7]||"0").substring(0,3);return i?new Date(Date.UTC(a[1],s,a[3]||1,a[4]||0,a[5]||0,a[6]||0,n)):new Date(a[1],s,a[3]||1,a[4]||0,a[5]||0,a[6]||0,n)}}return new Date(e)}(t),this.init()},b.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},b.$utils=function(){return S},b.isValid=function(){return!(this.$d.toString()===m)},b.isSame=function(t,e){var i=$(t);return this.startOf(e)<=i&&i<=this.endOf(e)},b.isAfter=function(t,e){return $(t)<this.startOf(e)},b.isBefore=function(t,e){return this.endOf(e)<$(t)},b.$g=function(t,e,i){return S.u(t)?this[e]:this.set(i,t)},b.unix=function(){return Math.floor(this.valueOf()/1e3)},b.valueOf=function(){return this.$d.getTime()},b.startOf=function(t,e){var i=this,a=!!S.u(e)||e,u=S.p(t),m=function(t,e){var s=S.w(i.$u?Date.UTC(i.$y,e,t):new Date(i.$y,e,t),i);return a?s:s.endOf(r)},g=function(t,e){return S.w(i.toDate()[t].apply(i.toDate("s"),(a?[0,0,0,0]:[23,59,59,999]).slice(e)),i)},f=this.$W,p=this.$M,b=this.$D,v="set"+(this.$u?"UTC":"");switch(u){case h:return a?m(1,0):m(31,11);case c:return a?m(1,p):m(0,p+1);case l:var y=this.$locale().weekStart||0,w=(f<y?f+7:f)-y;return m(a?b-w:b+(6-w),p);case r:case d:return g(v+"Hours",0);case o:return g(v+"Minutes",1);case n:return g(v+"Seconds",2);case s:return g(v+"Milliseconds",3);default:return this.clone()}},b.endOf=function(t){return this.startOf(t,!1)},b.$set=function(t,e){var i,l=S.p(t),u="set"+(this.$u?"UTC":""),m=(i={},i[r]=u+"Date",i[d]=u+"Date",i[c]=u+"Month",i[h]=u+"FullYear",i[o]=u+"Hours",i[n]=u+"Minutes",i[s]=u+"Seconds",i[a]=u+"Milliseconds",i)[l],g=l===r?this.$D+(e-this.$W):e;if(l===c||l===h){var f=this.clone().set(d,1);f.$d[m](g),f.init(),this.$d=f.set(d,Math.min(this.$D,f.daysInMonth())).$d}else m&&this.$d[m](g);return this.init(),this},b.set=function(t,e){return this.clone().$set(t,e)},b.get=function(t){return this[S.p(t)]()},b.add=function(a,u){var d,m=this;a=Number(a);var g=S.p(u),f=function(t){var e=$(m);return S.w(e.date(e.date()+Math.round(t*a)),m)};if(g===c)return this.set(c,this.$M+a);if(g===h)return this.set(h,this.$y+a);if(g===r)return f(1);if(g===l)return f(7);var p=(d={},d[n]=e,d[o]=i,d[s]=t,d)[g]||1,b=this.$d.getTime()+a*p;return S.w(b,this)},b.subtract=function(t,e){return this.add(-1*t,e)},b.format=function(t){var e=this,i=this.$locale();if(!this.isValid())return i.invalidDate||m;var a=t||"YYYY-MM-DDTHH:mm:ssZ",s=S.z(this),n=this.$H,o=this.$m,r=this.$M,l=i.weekdays,c=i.months,u=i.meridiem,h=function(t,i,s,n){return t&&(t[i]||t(e,a))||s[i].slice(0,n)},d=function(t){return S.s(n%12||12,t,"0")},g=u||function(t,e,i){var a=t<12?"AM":"PM";return i?a.toLowerCase():a};return a.replace(f,(function(t,a){return a||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return S.s(e.$y,4,"0");case"M":return r+1;case"MM":return S.s(r+1,2,"0");case"MMM":return h(i.monthsShort,r,c,3);case"MMMM":return h(c,r);case"D":return e.$D;case"DD":return S.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(i.weekdaysMin,e.$W,l,2);case"ddd":return h(i.weekdaysShort,e.$W,l,3);case"dddd":return l[e.$W];case"H":return String(n);case"HH":return S.s(n,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return g(n,o,!0);case"A":return g(n,o,!1);case"m":return String(o);case"mm":return S.s(o,2,"0");case"s":return String(e.$s);case"ss":return S.s(e.$s,2,"0");case"SSS":return S.s(e.$ms,3,"0");case"Z":return s}return null}(t)||s.replace(":","")}))},b.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},b.diff=function(a,d,m){var g,f=this,p=S.p(d),b=$(a),v=(b.utcOffset()-this.utcOffset())*e,y=this-b,w=function(){return S.m(f,b)};switch(p){case h:g=w()/12;break;case c:g=w();break;case u:g=w()/3;break;case l:g=(y-v)/6048e5;break;case r:g=(y-v)/864e5;break;case o:g=y/i;break;case n:g=y/e;break;case s:g=y/t;break;default:g=y}return m?g:S.a(g)},b.daysInMonth=function(){return this.endOf(c).$D},b.$locale=function(){return w[this.$L]},b.locale=function(t,e){if(!t)return this.$L;var i=this.clone(),a=D(t,e,!0);return a&&(i.$L=a),i},b.clone=function(){return S.w(this.$d,this)},b.toDate=function(){return new Date(this.valueOf())},b.toJSON=function(){return this.isValid()?this.toISOString():null},b.toISOString=function(){return this.$d.toISOString()},b.toString=function(){return this.$d.toUTCString()},p}(),C=P.prototype;return $.prototype=C,[["$ms",a],["$s",s],["$m",n],["$H",o],["$W",r],["$M",c],["$y",h],["$D",d]].forEach((function(t){C[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),$.extend=function(t,e){return t.$i||(t(e,P,$),t.$i=!0),$},$.locale=D,$.isDayjs=x,$.unix=function(t){return $(1e3*t)},$.en=w[y],$.Ls=w,$.p={},$}()}(ne);var oe=ne.exports,re={exports:{}};!function(t){t.exports=function(){var t="minute",e=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(a,s,n){var o=s.prototype;n.utc=function(t){return new s({date:t,utc:!0,args:arguments})},o.utc=function(e){var i=n(this.toDate(),{locale:this.$L,utc:!0});return e?i.add(this.utcOffset(),t):i},o.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var r=o.parse;o.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t)};var l=o.init;o.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else l.call(this)};var c=o.utcOffset;o.utcOffset=function(a,s){var n=this.$utils().u;if(n(a))return this.$u?0:n(this.$offset)?c.call(this):this.$offset;if("string"==typeof a&&(a=function(t){void 0===t&&(t="");var a=t.match(e);if(!a)return null;var s=(""+a[0]).match(i)||["-",0,0],n=s[0],o=60*+s[1]+ +s[2];return 0===o?0:"+"===n?o:-o}(a),null===a))return this;var o=Math.abs(a)<=16?60*a:a,r=this;if(s)return r.$offset=o,r.$u=0===a,r;if(0!==a){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(r=this.local().add(o+l,t)).$offset=o,r.$x.$localOffset=l}else r=this.utc();return r};var u=o.format;o.format=function(t){var e=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,e)},o.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var h=o.toDate;o.toDate=function(t){return"s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():h.call(this)};var d=o.diff;o.diff=function(t,e,i){if(t&&this.$u===t.$u)return d.call(this,t,e,i);var a=this.local(),s=n(t).local();return d.call(a,s,e,i)}}}()}(re);var le=re.exports,ce={exports:{}};!function(t){t.exports=function(){var t,e,i=1e3,a=6e4,s=36e5,n=864e5,o=/\[([^\]]+)]|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,r=31536e6,l=2628e6,c=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,u={years:r,months:l,days:n,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},h=function(t){return t instanceof v},d=function(t,e,i){return new v(t,i,e.$l)},m=function(t){return e.p(t)+"s"},g=function(t){return t<0},f=function(t){return g(t)?Math.ceil(t):Math.floor(t)},p=function(t){return Math.abs(t)},b=function(t,e){return t?g(t)?{negative:!0,format:""+p(t)+e}:{negative:!1,format:""+t+e}:{negative:!1,format:""}},v=function(){function g(t,e,i){var a=this;if(this.$d={},this.$l=i,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),e)return d(t*u[m(e)],this);if("number"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if("object"==typeof t)return Object.keys(t).forEach((function(e){a.$d[m(e)]=t[e]})),this.calMilliseconds(),this;if("string"==typeof t){var s=t.match(c);if(s){var n=s.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=n[0],this.$d.months=n[1],this.$d.weeks=n[2],this.$d.days=n[3],this.$d.hours=n[4],this.$d.minutes=n[5],this.$d.seconds=n[6],this.calMilliseconds(),this}}return this}var p=g.prototype;return p.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(e,i){return e+(t.$d[i]||0)*u[i]}),0)},p.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=f(t/r),t%=r,this.$d.months=f(t/l),t%=l,this.$d.days=f(t/n),t%=n,this.$d.hours=f(t/s),t%=s,this.$d.minutes=f(t/a),t%=a,this.$d.seconds=f(t/i),t%=i,this.$d.milliseconds=t},p.toISOString=function(){var t=b(this.$d.years,"Y"),e=b(this.$d.months,"M"),i=+this.$d.days||0;this.$d.weeks&&(i+=7*this.$d.weeks);var a=b(i,"D"),s=b(this.$d.hours,"H"),n=b(this.$d.minutes,"M"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var r=b(o,"S"),l=t.negative||e.negative||a.negative||s.negative||n.negative||r.negative,c=s.format||n.format||r.format?"T":"",u=(l?"-":"")+"P"+t.format+e.format+a.format+c+s.format+n.format+r.format;return"P"===u||"-P"===u?"P0D":u},p.toJSON=function(){return this.toISOString()},p.format=function(t){var i=t||"YYYY-MM-DDTHH:mm:ss",a={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return i.replace(o,(function(t,e){return e||String(a[t])}))},p.as=function(t){return this.$ms/u[m(t)]},p.get=function(t){var e=this.$ms,i=m(t);return"milliseconds"===i?e%=1e3:e="weeks"===i?f(e/u[i]):this.$d[i],e||0},p.add=function(t,e,i){var a;return a=e?t*u[m(e)]:h(t)?t.$ms:d(t,this).$ms,d(this.$ms+a*(i?-1:1),this)},p.subtract=function(t,e){return this.add(t,e,!0)},p.locale=function(t){var e=this.clone();return e.$l=t,e},p.clone=function(){return d(this.$ms,this)},p.humanize=function(e){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!e)},p.valueOf=function(){return this.asMilliseconds()},p.milliseconds=function(){return this.get("milliseconds")},p.asMilliseconds=function(){return this.as("milliseconds")},p.seconds=function(){return this.get("seconds")},p.asSeconds=function(){return this.as("seconds")},p.minutes=function(){return this.get("minutes")},p.asMinutes=function(){return this.as("minutes")},p.hours=function(){return this.get("hours")},p.asHours=function(){return this.as("hours")},p.days=function(){return this.get("days")},p.asDays=function(){return this.as("days")},p.weeks=function(){return this.get("weeks")},p.asWeeks=function(){return this.as("weeks")},p.months=function(){return this.get("months")},p.asMonths=function(){return this.as("months")},p.years=function(){return this.get("years")},p.asYears=function(){return this.as("years")},g}(),y=function(t,e,i){return t.add(e.years()*i,"y").add(e.months()*i,"M").add(e.days()*i,"d").add(e.hours()*i,"h").add(e.minutes()*i,"m").add(e.seconds()*i,"s").add(e.milliseconds()*i,"ms")};return function(i,a,s){t=s,e=s().$utils(),s.duration=function(t,e){var i=s.locale();return d(t,{$l:i},e)},s.isDuration=h;var n=a.prototype.add,o=a.prototype.subtract;a.prototype.add=function(t,e){return h(t)?y(this,t,1):n.bind(this)(t,e)},a.prototype.subtract=function(t,e){return h(t)?y(this,t,-1):o.bind(this)(t,e)}}}()}(ce);var ue=ce.exports;
|
|
99
|
+
/**
|
|
100
|
+
* Gantt-Schedule-Timeline-Calendar Time api
|
|
101
|
+
*
|
|
102
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
103
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
104
|
+
* @module gantt-schedule-timeline-calendar
|
|
105
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
106
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
107
|
+
* @version 3.37.5
|
|
108
|
+
* @released 2024-07-19
|
|
109
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
110
|
+
*/class he{constructor(t,e){this.utcMode=!1,this.unsubs=[],this.currentDateLastCheck=0,this.state=t,this.api=e,this.dayjs=oe,this.dayjs.extend(le),this.dayjs.extend(ue),this.unsubs.push(t.subscribe("config.utcMode",(t=>{this.utcMode=t}))),this.unsubs.push(t.subscribe("config.locale",(t=>{if(!t.name)throw new Error("Locale must have a name property.");this.locale=t,this.dayjs.locale(this.locale,null,!0)})))}destroy(){for(const t of this.unsubs)t()}date(t=void 0){return this.utcMode?oe.utc(t).locale(this.locale.name):t?oe(t).locale(this.locale.name):oe().locale(this.locale.name)}recalculateTime(){this.api.main.recalculateTimes([{name:"all"}])}recalculateFromTo(t,e=!1){const i=t.period;if((t=Object.assign({},t)).from=+t.from,t.to=+t.to,t.fromDate=this.date(t.from).startOf(i),t.from=t.fromDate.valueOf(),t.toDate=this.date(t.to).endOf(i),t.to=t.toDate.valueOf(),!t.autoExpandTimeFromItems||t.calculatedZoomMode)return t;let a=Number.MAX_SAFE_INTEGER,s=0;const n=this.state.get("config.chart.items");if(Object.keys(n).length>0&&(0===t.from||0===t.to||e)){for(const t in n){const e=n[t];e.time.start<a&&e.time.start&&(a=e.time.start),e.time.end>s&&(s=e.time.end)}a<t.from&&(t.fromDate=this.date(a).startOf(i),t.from=t.fromDate.valueOf()),s>t.to&&(t.toDate=this.date(s).endOf(i),t.to=t.toDate.valueOf())}return t}getCenter(t){return t.leftGlobal+Math.round((t.rightGlobal-t.leftGlobal)/2)}isInCurrentView(t,e=this.state.get("$data.chart.time")){const i=t.valueOf();return!(i<e.leftGlobal||i>e.rightGlobal)}recalculateDatesWidths(t,e=this.state.get("$data.chart.time")){if(!e.timePerPixel)throw new Error("[gantt-schedule-timeline-calendar] No timePerPixel");for(const i of t){if(!i.leftGlobal||!i.rightGlobal)throw new Error("[gantt-schedule-timeline-calendar] No date leftGlobal or rightGlobal.");i.width=(i.rightGlobal+1-i.leftGlobal)/e.timePerPixel}return t}recalculateDatesPositions(t,e=this.state.get("$data.chart.time"),i=!0,a=!1){let s=0;if(i)for(const i of t){if(i.leftGlobal>=e.leftGlobal)break;if(isNaN(i.width))throw new Error("[gantt-schedule-timeline-calendar] NaN date width.");s-=i.width}for(let i of t){if(a&&(i=this.api.mergeDeep({},i)),i.leftPx=s,i.rightPx=s+i.width,isNaN(i.leftPx)||isNaN(i.rightPx))throw new Error("[gantt-schedule-timeline-calendar] Date leftPx or rightPx is a NaN.");i.currentView&&(i.currentView.leftPx=i.leftPx-e.leftPx,i.currentView.rightPx=i.rightPx-e.leftPx,i.currentView.width=i.currentView.rightPx-i.currentView.leftPx),s+=i.width}return t}setDatesCacheLevel(t,e,i=this.state.get("$data.chart.time")){if(!e.length)return;i.datesCache||(i.datesCache={timePerPixel:0,levels:[]}),i.datesCache.timePerPixel=i.timePerPixel,i.datesCache.levels[t]||(i.datesCache.levels[t]={leftTime:0,rightTime:0,dates:[]});const a=i.datesCache.levels[t];a.leftTime=e[0].leftGlobal,a.rightTime=e[e.length-1].rightGlobal,a.dates=[...e]}addDatesToCacheLevel(t,e,i=this.state.get("$data.chart.time")){if(!e.length)return;if(!i.datesCache)return;if(i.datesCache.timePerPixel!==i.timePerPixel)return e;const a=e[0],s=e[e.length-1],n=i.datesCache.levels[t];if(!n)return e;if(n.leftTime<=a.leftGlobal&&n.rightTime>=s.rightGlobal)return n.dates;if(n.dates.length>=1e6)throw new Error("[gantt-schedule-timeline-calendar] To many dates.");const o=[];if(a.leftGlobal<n.leftTime){for(const t of e){if(!(t.leftGlobal<n.leftTime))break;o.push(t)}n.leftTime=o[0].leftGlobal}for(const t of n.dates)o.push(t);if(s.rightGlobal>n.rightTime){for(const t of e)t.rightGlobal>n.rightTime&&o.push(t);n.rightTime=o[o.length-1].rightGlobal}return n.dates=o,n.dates}isLevelDateInCache(t,e,i=this.state.get("$data.chart.time")){if(!i.datesCache)return!1;if(i.datesCache.timePerPixel!==i.timePerPixel)return!1;const a=i.datesCache.levels[t];return!(!a||!a.dates.length)&&(e>=a.leftTime&&e<=a.rightTime)}getLevelDatesFromCache(t,e,i,a=this.state.get("$data.chart.time")){if(a.datesCache.timePerPixel!==a.timePerPixel)return[];const s=a.datesCache.levels[t];if(!s)return[];if(!(e>=s.leftTime&&i<=s.rightTime))return[];let n=0,o=0,r=!1;const l=s.dates.length;for(;o<l;o++){const t=s.dates[o];if(t.rightGlobal>=e&&(r=!0),t.rightGlobal>=i)break;r||n++}return{[Symbol.iterator](){let t=n;return{next:()=>t<=o?{value:s.dates[t++],done:!1}:(t=n,{done:!0})}},length:o-n+1}}getLevelDateFromCache(t,e,i=this.state.get("$data.chart.time")){if(!this.isLevelDateInCache(t,e,i))return null;for(const a of i.datesCache.levels[t].dates)if(a.rightGlobal>=e)return a;return null}getAllLevelDatesFromCache(t,e=this.state.get("$data.chart.time")){return e.datesCache.levels[t].dates}findOrCreateMainDateAtTime(t,e=this.state.get("$data.chart.time")){if(this.isLevelDateInCache(e.level,t,e))return this.getLevelDateFromCache(e.level,t,e);let i=[];e.datesCache.levels[e.level]&&(i=e.datesCache.levels[e.level].dates),i=this.addMissingDates(i,this.date(t),e);for(const e of i)if(e.rightGlobal>=t)return e;return null}addMissingDates(t,e,i=this.state.get("$data.chart.time"),a=!0){if(!t.length)return[];const s=t[0],n=t[t.length-1];if(!(e.valueOf()<s.leftGlobal||e.valueOf()>n.rightGlobal))return t;if(this.isLevelDateInCache(i.level,e.valueOf(),i))return this.getAllLevelDatesFromCache(i.level,i);const o=t.length;let r=t;if(a){r=new Array(o);for(let e=0;e<o;e++)r[e]=this.api.mergeDeep({},t[e])}const l=this.state.get(`config.chart.calendarLevels.${i.level}`),c=this.getCurrentFormatForLevel(l,i);let u=1;if("number"==typeof c.periodIncrement&&(u=c.periodIncrement),e.valueOf()<s.leftGlobal){if("function"==typeof c.periodIncrement)return t;const n=s.leftGlobalDate.subtract(1,"ms");let o=s.leftGlobalDate.subtract(u,i.period).startOf(i.period);for(;e.valueOf()<o.valueOf();)o=o.subtract(u,i.period).startOf(i.period);let l=[];do{l=this.generatePeriodDates({leftDate:o,rightDate:n,period:i.period,level:this.state.get(`config.chart.calendarLevels.${i.level}`),levelIndex:i.level,callOnDate:!0,callOnLevelDates:!0,time:i}),o=o.subtract(1,i.period)}while(!l.length||l[0].leftGlobal>e.valueOf());return l=l.filter((t=>!r.find((e=>e.leftGlobal===t.leftGlobal)))),t=[...l,...r],t=this.recalculateDatesWidths(t,i),t=this.recalculateDatesPositions(t,i,!0,a),this.addDatesToCacheLevel(i.level,t,i)}if(e.valueOf()>n.rightGlobal){let s=n.rightGlobalDate.add(u,i.period).endOf(i.period);for(;e.valueOf()>s.valueOf();)s=s.add(u,i.period).endOf(i.period);let o=this.generatePeriodDates({leftDate:n.rightGlobalDate.add(1,"ms"),rightDate:s,period:i.period,level:this.state.get(`config.chart.calendarLevels.${i.level}`),levelIndex:i.level,callOnDate:!0,callOnLevelDates:!0,time:i});return o=o.filter((t=>!r.find((e=>e.leftGlobal===t.leftGlobal)))),t=[...r,...o],t=this.recalculateDatesWidths(t,i),t=this.recalculateDatesPositions(t,i,!0,a),this.addDatesToCacheLevel(i.level,t,i)}return r}getGlobalOffsetPxFromDates(t,e=!0,i=this.state.get("$data.chart.time"),a=void 0){const s=t.valueOf();if(!i.allDates||0===i.allDates.length)return-100;if(void 0===a&&(a=i.allDates[i.level]),e&&(a=this.addMissingDates(a,t,i)),!a||0===a.length)return-1;let n;for(let t=0,e=a.length;t<e;t++){const e=a[t];if(s<=e.rightGlobal+1){n=e;break}}return n?s<n.leftGlobal?n.leftPx:n.rightPx-(n.rightGlobal-s)/i.timePerPixel:s<=i.leftGlobal?0:s>=i.rightGlobal?i.totalViewDurationPx+(s-i.rightGlobal+1)/i.timePerPixel:-1}getViewOffsetPxFromDates(t,e=!0,i=this.state.get("$data.chart.time"),a=void 0,s=!0){a||(a=i.allDates[i.level]),s&&(a=this.addMissingDates(a,t,i));const n=this.getDatesDiffPx(i.leftGlobalDate,t,i,!0,a);return e?this.limitOffsetPxToView(n):n}limitOffsetPxToView(t,e=this.state.get("$data.chart.time")){if(t<0)return 0;if(!e.levels.length)return e.width;const i=e.levels[e.level];if(!i.length)return e.width;const a=i[i.length-1];return t>a.currentView.rightPx?a.currentView.rightPx:t}findDateAtViewOffsetPx(t,e){return e.find((e=>e.currentView.rightPx>=t))}findDateIndex(t,e){let i=0;for(const a of e){if(a.rightGlobal>=t)return i;i++}return-1}findDateAtTime(t,e=void 0){if(!e){const t=this.state.get("$data.chart.time");e=t.allDates[t.level]}return e.find((e=>e.rightGlobal>=t))}getMainDateFromRelativePosition(t,e){const i=t.leftPx+e,a=this.state.get("$data.chart.time"),s=a.allDates[a.level];for(const t of s)if(t.rightPx>i)return t}getTimeFromOffsetPx(t,e=!0,i=this.state.get("$data.chart.time"),a=void 0){let s=t;e&&(s+=i.leftPx),a||(a=i.allDates[i.level]);const n=this.state.get(`config.chart.calendarLevels.${i.level}`),o=this.getCurrentFormatForLevel(n,i);let r=1;if("number"==typeof o.periodIncrement&&(r=o.periodIncrement),s<0){if("function"==typeof o.periodIncrement)return i.from;let t,e=i.fromDate.subtract(r,i.period).startOf(i.period),a=0;for(let n=0;n<1e3;n++){const n=this.generatePeriodDates({leftDate:e,rightDate:e.add(r,i.period).subtract(1,"ms"),period:i.period,time:i,level:this.state.get(`config.chart.calendarLevels.${i.level}`),levelIndex:i.level,callOnDate:!0,callOnLevelDates:!0,expandIfMissing:!1});if(n.length&&(t=n[0],a-=t.width,a<=s))return t.leftGlobal+(s-a)*i.timePerPixel;e=e.subtract(r,i.period).startOf(i.period)}}else if(s>i.totalViewDurationPx){let t,e=i.toDate.add(1,i.period).startOf(i.period),a=i.totalViewDurationPx;for(let n=0;n<1e3;n++){const n=this.generatePeriodDates({leftDate:e,rightDate:e.add(r,i.period).subtract(1,"ms"),period:i.period,time:i,level:this.state.get(`config.chart.calendarLevels.${i.level}`),levelIndex:i.level,callOnDate:!0,callOnLevelDates:!0,expandIfMissing:!1});if(n.length&&(t=n[0],a+=t.width,a>s))return t.rightGlobal+1-(a-s)*i.timePerPixel;e=e.add(r,i.period).startOf(i.period)}}for(let t=0,e=a.length;t<e;t++){const e=a[t];if(e.rightPx>s){const t=(e.rightPx-s)*i.timePerPixel;return e.rightGlobal+1-t}}const l=a[a.length-1];return l.rightGlobal+1-(l.rightPx-s)*i.timePerPixel}getCurrentFormatForLevel(t,e){return t.find((t=>+e.zoom<=+t.zoomTo))}alignLevelToMain(t,e,i=this.state.get("$data.chart.time")){if(t===i.level)return e;if(!this.state.get("config.chart.time.alignLevelsToMain"))return e;const a=i.allDates[i.level];if(!a||!a.length)return e;if(!e||!e.length)return e;const s=e.length;for(let t=0;t<s;t++){const s=e[t];let n,o=!1,r=0;for(const t of a){if(t.rightGlobal>=s.leftGlobal){if(!o)if(t.leftGlobal>=s.leftGlobal)s.leftGlobal=t.leftGlobal,s.leftGlobalDate=this.date(s.leftGlobal),s.leftPx=t.leftPx;else{const e=(t.rightGlobal-s.leftGlobal)/i.timePerPixel;r=-(t.width-e)}o=!0}if(t.leftGlobal>s.rightGlobal)break;o&&(r+=t.width,n=t)}if(n)if(n.rightGlobal<=s.rightGlobal)s.rightGlobal=n.rightGlobal,s.rightGlobalDate=this.date(s.rightGlobal),s.width=r,s.rightPx=s.leftPx+s.width;else{const t=(n.rightGlobal-s.rightGlobal)/i.timePerPixel;s.width=r-t,s.rightPx=s.leftPx+s.width}}return e}stopCheckingCurrentDates(){this.checkCurrentDateTimeoutId&&clearTimeout(this.checkCurrentDateTimeoutId)}checkCurrentDates(t=!1,e=this.state.get("$data.chart.time")){const i=this.date().valueOf(),a=e.checkCurrentDateInterval;if(this.stopCheckingCurrentDates(),t&&(this.checkCurrentDateTimeoutId=setTimeout((()=>{this.checkCurrentDates(t,e)}),a)),i-this.currentDateLastCheck<a)return;const s=e.allDates;let n=!1;for(const t of s){const e=t.length;for(let a=0;a<e;a++){const s=t[a],o=s.current;s.current=!1,s.previous=!1,s.next=!1,s.leftGlobal<=i&&s.rightGlobal>=i&&(!0!==o&&(n=!0),s.current=!0,a>0&&(t[a-1].previous=!0),a+1<e&&(t[a+1].next=!0))}}this.currentDateLastCheck=i,n&&this.state.update("$data.chart.time.levels",(t=>t),{data:"current-time"}),this.api.render()}getDSTDiffForLevel(t,e,i,a=this.state.get("$data.chart.time")){const s=this.api.time.getLevelDatesFromCache(t,e,i,a);let n=0;for(const t of s)t.DST.diffMs&&e<=t.DST.afterTime&&i>t.DST.afterTime&&(n+=t.DST.diffMs);return n}setDatesDST(t){for(const e of t){const t=e.rightGlobal-e.leftGlobal,i=e.rightGlobalDate.utc(!0).valueOf()-e.leftGlobalDate.utc(!0).valueOf();if(t!==i){e.DST={diffMs:t-i,afterTime:0,afterDate:null};for(let t=0;t<9216;t++)if(e.leftGlobalDate.add(t,"hour").hour()!==e.leftGlobalDate.utc(!0).add(t,"hour").hour()){e.DST.afterDate=e.leftGlobalDate.add(t,"hour").subtract(1,"ms"),e.DST.afterTime=e.DST.afterDate.valueOf();break}}}return t}_generatePeriodDates(t){const e=[];t=Object.assign({},t);const{datesCount:i,rightDate:a,period:s,level:n,levelIndex:o,time:r,originalLeftDate:l,format:c}=t;let u=t.leftDate;const h=this.date().valueOf();for(let t=0;t<i;t++){let t=c.periodIncrement||1;"function"==typeof t&&(t=t({currentDates:e,date:u,leftDate:l,rightDate:a,period:s,level:n,levelIndex:o,time:r,vido:this.api.vido,api:this.api}));const i=u.add(t-1,s).endOf(s),d=u.valueOf()<=h&&i.valueOf()>=h,m={id:`gstcid-${u.valueOf()}`,leftGlobal:u.valueOf(),leftGlobalDate:u,rightGlobalDate:i,rightGlobal:i.valueOf(),width:0,leftPx:0,rightPx:0,period:s,formatted:null,current:d,previous:!1,next:!1,periodIncrementedBy:t,DST:{diffMs:0,afterTime:0,afterDate:null}};d&&e.length&&(e[e.length-1].previous=!0),e.length&&e[e.length-1].current&&(m.next=!0);const g=m.rightGlobal+1-m.leftGlobal;m.width=g/r.timePerPixel,e.push(m),u=u.add(t||1,s)}return this.setDatesDST(e)}generatePeriodDates({leftDate:t,rightDate:e,period:i,level:a,levelIndex:s,time:n,callOnDate:o,callOnLevelDates:r,expandIfMissing:l=!0}){if(!n.timePerPixel)return[];const c=this.getCurrentFormatForLevel(a,n);t=t.startOf(i),e=e.endOf(i);const u=Math.ceil(e.diff(t,i,!0)),h=t.clone();let d=this._generatePeriodDates({datesCount:u,leftDate:t,rightDate:e,period:i,level:a,levelIndex:s,time:n,originalLeftDate:h,format:c});if(o){const t=[];for(let e=0;e<d.length;e++){let i=d[e];if(i){for(let t=0,e=n.onDate.length;t<e;t++)i=n.onDate[t]({date:i,format:c,time:n,level:a,levelIndex:s});i&&t.push(i)}}d=t}if(r)for(let t=0,e=n.onLevelDates.length;t<e;t++)d=n.onLevelDates[t]({dates:d,format:c,time:n,level:a,levelIndex:s});if((!d.length||d[d.length-1].rightGlobal<e.valueOf())&&l){let l=this._generatePeriodDates({datesCount:u+100,leftDate:t,rightDate:e,period:i,level:a,levelIndex:s,time:n,originalLeftDate:h,format:c});if(o){const t=[];for(let e=0;e<l.length;e++){let i=l[e];if(i){for(let t=0,e=n.onDate.length;t<e;t++)i=n.onDate[t]({date:i,format:c,time:n,level:a,levelIndex:s});i&&t.push(i)}}l=t}if(r)for(let t=0,e=n.onLevelDates.length;t<e;t++)l=n.onLevelDates[t]({dates:l,format:c,time:n,level:a,levelIndex:s});const d=[];for(const t of l)if(d.push(t),t.rightGlobal>=e.valueOf())return d}this.addDatesToCacheLevel(s,d,n);const m=[];for(const t of d)if(m.push(t),t.rightGlobal>=e.valueOf())return m;return m}getDatesDiffPx(t,e,i,a=!0,s=void 0){if(t.valueOf()===e.valueOf())return 0;let n,o,r=0,l=!1;if(e.valueOf()<t.valueOf()){const i=t;t=e,e=i,l=!0}if(void 0===s){if(!i.allDates||!i.allDates.length||!i.allDates[i.level])return 0;s=i.allDates[i.level]}if(0===s.length)return 0;if(this.isLevelDateInCache(i.level,t.valueOf(),i)?s=this.getAllLevelDatesFromCache(i.level,i):t.valueOf()<s[0].leftGlobal&&(s=this.addMissingDates(s,t,i)),this.isLevelDateInCache(i.level,e.valueOf(),i))s=this.getAllLevelDatesFromCache(i.level,i);else{const t=s[s.length-1].rightGlobalDate.clone();e.valueOf()>t.valueOf()&&(s=this.addMissingDates(s,e,i))}this.addDatesToCacheLevel(i.level,s,i);let c=!1,u=0;for(const i of s)if(i.rightGlobal+1>=t.valueOf()&&!c&&(c=!0,o=i),c&&(r+=i.width),i.rightGlobal+1>=e.valueOf()){n=i,u=i.width;break}if(a){let a=t.valueOf()-o.leftGlobal;t.valueOf()<o.leftGlobal&&(a=0);let s=n.rightGlobal+1-e.valueOf();n.leftGlobal>e.valueOf()&&(s=n.rightGlobal+1-n.leftGlobal);const c=(s+a)/i.timePerPixel;return l?-(r-c):r-c}return r-=u,l?-r:r}getDatesDiffMs(t,e,i,a=!0,s=void 0){if(t.valueOf()===e.valueOf())return 0;let n,o,r=0,l=!1;if(e.valueOf()<t.valueOf()){const i=t;t=e,e=i,l=!0}if(void 0===s){if(!i.allDates||!i.allDates.length||!i.allDates[i.level])return 0;s=i.allDates[i.level]}if(0===s.length)return 0;if(this.isLevelDateInCache(i.level,t.valueOf(),i)?s=this.getAllLevelDatesFromCache(i.level,i):t.valueOf()<s[0].leftGlobal&&(s=this.addMissingDates(s,t,i)),this.isLevelDateInCache(i.level,e.valueOf(),i))s=this.getAllLevelDatesFromCache(i.level,i);else{const t=s[s.length-1].rightGlobalDate.clone();e.valueOf()>t.valueOf()&&(s=this.addMissingDates(s,e,i))}this.addDatesToCacheLevel(i.level,s,i);let c=!1,u=0;for(const i of s)if(i.rightGlobal+1>=t.valueOf()&&!c&&(c=!0,o=i),c&&(r+=i.rightGlobal+1-i.leftGlobal),i.rightGlobal+1>=e.valueOf()){n=i,u=i.rightGlobal+1-i.leftGlobal;break}if(a){let i=t.valueOf()-o.leftGlobal;t.valueOf()<o.leftGlobal&&(i=0);let a=n.rightGlobal+1-e.valueOf();n.leftGlobal>e.valueOf()&&(a=n.rightGlobal+1-n.leftGlobal);const s=a+i;return l?-(r-s):r-s}return r-=u,l?-r:r}addTimeFromDates(t,e,i=this.state.get("$data.chart.time")){if(!i.allDates||!i.allDates.length||!i.allDates[i.level])return t+e;if(!e)return t;let a=this.getAllLevelDatesFromCache(i.level,i);const s=this.date(t);a=this.addMissingDates(a,s,i,!0);let n=this.findDateIndex(t,a),o=t-a[n].leftGlobal;o<0&&(o=0);let r=0;if(e>0){for(;r<e;){const t=a[n];if(r+=t.rightGlobal+1-t.leftGlobal,o&&(r-=o,o=0),r>=e)break;n++,a[n]||(a=this.addMissingDates(a,t.leftGlobalDate.add(1,i.period),i,!0))}return a[n].rightGlobal+1-(r-e)}for(;r>e;){let t=a[n];if(r-=o,o&&(o=0),r<=e)break;if(n--,n<0&&(a=this.addMissingDates(a,t.leftGlobalDate.subtract(1,i.period),i,!0),n=0),t=a[n],r-=t.rightGlobal+1-t.leftGlobal,r<=e)break}return a[n].leftGlobal+(-r+e)}getLeftViewDate(t=this.state.get("$data.chart.time")){if(!t.levels||!t.levels.length)return null;const e=t.levels[t.level];return e.length?e[0]:null}getRightViewDate(t=this.state.get("$data.chart.time")){if(!t.levels||!t.levels.length||!t.levels[t.level])return null;const e=t.levels[t.level];return e.length?e[e.length-1]:null}getLowerPeriod(t){switch(t){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 t}}getHigherPeriod(t){switch(t){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 t}}}
|
|
111
|
+
/**
|
|
112
|
+
* Gantt-Schedule-Timeline-Calendar IDApi
|
|
113
|
+
*
|
|
114
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
115
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
116
|
+
* @module gantt-schedule-timeline-calendar
|
|
117
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
118
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
119
|
+
* @version 3.37.5
|
|
120
|
+
* @released 2024-07-19
|
|
121
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
122
|
+
*/var de=new class{constructor(){this.GSTCID=this.GSTCID.bind(this),this.isGSTCID=this.isGSTCID.bind(this),this.sourceID=this.sourceID.bind(this)}GSTCID(t){return this.isGSTCID(t)?t:`gstcid-${t}`}isGSTCID(t){return String(t).startsWith("gstcid-")}sourceID(t){return this.isGSTCID(t)?t.substring(7):t}};
|
|
123
|
+
/**
|
|
124
|
+
* Gantt-Schedule-Timeline-Calendar Slots
|
|
125
|
+
*
|
|
126
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
127
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
128
|
+
* @module gantt-schedule-timeline-calendar
|
|
129
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
130
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
131
|
+
* @version 3.37.5
|
|
132
|
+
* @released 2024-07-19
|
|
133
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
134
|
+
*/class me extends te{constructor(t,e,i){super(e,i),this.subs=[],this.name=t,this.subs.push(e.state.subscribe(`config.slots.${t}`,this.setComponents,{queue:!0}))}destroy(){this.subs.forEach((t=>t())),super.destroy()}getName(){return this.name}}function ge(t,e,i){return new me(t,e,i)}
|
|
135
|
+
/**
|
|
136
|
+
* Gantt-Schedule-Timeline-Calendar helpers
|
|
137
|
+
*
|
|
138
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
139
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
140
|
+
* @module gantt-schedule-timeline-calendar
|
|
141
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
142
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
143
|
+
* @version 3.37.5
|
|
144
|
+
* @released 2024-07-19
|
|
145
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
146
|
+
*/const fe="gstc";function pe(t,e=""){let i=`${fe}__${t}`;return t===fe&&(i=fe),e?`${i} ${i}--${e.replace(":","-")}`:i}function be(t,e){let i=`${fe}__${t}`;return t===fe&&(i=fe),`${i}--${e}`}
|
|
147
|
+
/**
|
|
148
|
+
* Api functions
|
|
149
|
+
*
|
|
150
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
151
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
152
|
+
* @module gantt-schedule-timeline-calendar
|
|
153
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
154
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
155
|
+
* @version 3.37.5
|
|
156
|
+
* @released 2024-07-19
|
|
157
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
158
|
+
*/let ve=0;const ye=new Map;function we(t){return ye.get(t.apiId)}class ke{constructor(t){this.apiId=0,this.name=fe,this.debug=!1,this.plugins={},this.iconsCache={},this.unsubscribes=[],this.mutedMethods=new Set,this.mergeDeep=null,this.generateSlots=ge,this.getClass=pe,this.getId=be,this.GSTCID=de.GSTCID,this.isGSTCID=de.isGSTCID,this.sourceID=de.sourceID,this.allActions=[],this.keysToKeep=["id","parents","children","allChildren","parentId"],this.apiId=++ve,ye.set(this.apiId,{rowsDataWithParentsExpanded:[],rowsIdsWithParentsExpanded:[],rowsWithParentsExpanded:[],rowsWithParentsExpandedAsMap:new Map,rowsPositionsMap:{id:"",dataIndex:0,keys:[]},allRowsIds:[],allRowsAsArray:[],rowsWithParentsExpandedDataIndexMap:new Map,itemsAsArray:[],itemsDataAsArray:[]}),this.state=t,this.time=new he(this.state,this),this.unsubscribes.push(this.state.subscribe("config.debug",(t=>this.debug=t))),this.debug&&(window.state=t)}render(){return this.vido.update()}getListenerPosition(t){for(const e of this.state.getListeners().values())for(const i of e.listeners)if(i[1].fn===t)return i[0]}setVido(t){this.vido=t}clone(t){return this.mergeDeep({},t)}setMergeDeep(t){this.mergeDeep=t}log(...t){this.debug&&console.log.call(console,...t)}getInitializedPlugins(){return this.state.get("$data.initializedPlugins")}pluginInitialized(t){this.getInitializedPlugins().add(t)}pluginDestroyed(t){this.getInitializedPlugins().delete(t)}clearPluginsPositions(){this.getInitializedPlugins().clear()}isPluginInitialized(t){return this.getInitializedPlugins().has(t)}getPluginPosition(t){return[...this.getInitializedPlugins()].indexOf(t)}getPluginsPositions(){const t={};let e=0;for(const i of this.getInitializedPlugins())t[i]=e++;return t}isPluginInitializedBefore(t,e){return this.getPluginPosition(t)<this.getPluginPosition(e)}getActions(t){this.allActions.includes(t)||this.allActions.push(t);let e=this.state.get("config.actions."+t);return void 0===e&&(e=[]),e.slice()}isItemInViewport(t,e=void 0,i=void 0){if(!e||!i){const t=this.state.get("config.chart.time");e=t.leftGlobal,i=t.rightGlobal}return t.time.start<=i&&t.time.end>=e}getChildrenLinkedItemsIds(t,e,i=[]){const a=e[t];if(a.linkedWith&&a.linkedWith.length){i.includes(t)||i.push(t);for(const t of a.linkedWith){if(i.includes(t))continue;i.push(t);const a=e[t];a.linkedWith&&a.linkedWith.length&&this.getChildrenLinkedItemsIds(t,e,i)}}return i}collectAllLinkedItems(t,e){const i=Object.keys(t),a=Object.keys(e),s=i.filter((t=>!a.includes(t)));if(s.length)throw new Error(`Items with id [${s.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 i in t){const a=t[i];e[a.id].linkedWith=a.linkedWith||[]}const n=new Map;for(const t in e){if(n.has(t))continue;const i=this.getChildrenLinkedItemsIds(t,e);e[t].linkedWith.splice(e[t].linkedWith.length,0,...i);const a=Array.from(new Set(e[t].linkedWith));e[t].linkedWith=a.filter((e=>e!==t)),n.set(t,!0);for(const t of a)e[t].linkedWith=a.filter((e=>e!==t)),n.set(t,!0)}}getChildrenDependantItemsIds(t,e,i=[]){if(t.dependant&&t.dependant.length)for(const a of t.dependant){if(i.includes(a))continue;i.push(a);const s=e[a];if(!s)throw new Error(`Dependant item not found [id:'${a}'] found in item [id:'${t.id}']`);s.dependant&&s.dependant.length&&this.getChildrenDependantItemsIds(s,e,i)}return i}calculateItemVerticalPosition(t,e=null,i=null,a=null){if(a||(a=this.getItem(t)),e||(e=this.getItemData(t)),i||(i=this.getRowData(a.rowId)),a.gap&&e||(this.prepareItem(a),e=this.getItemData(t)),!i)return e.position;const s=i.position.top+a.gap.top,n=e.position.rowTop+a.gap.top,o=this.getRowViewTop(i.id);let r=o+e.position.actualRowTop;return o===1/0?r=1/0:-1===o&&(r=-1),e.position.top=s,e.position.actualRowTop=n,e.position.viewTop=r,e.position}setItemDataOutOfView(t,e=this.state.get("$data.chart.time")){t.outOfView||(t.outOfView={left:!1,right:!1,whole:!1});const i=t.time.startDate.valueOf(),a=t.time.endDate.valueOf();return t.outOfView.left=i<e.leftGlobal||i>=e.rightGlobal,t.outOfView.right=a>e.rightGlobal||a<=e.leftGlobal,t.outOfView.whole=a<=e.leftGlobal||i>=e.rightGlobal,t}calculateItemHorizontalPosition(t,e=null,i=null,a=this.state.get("$data.chart.time"),s=null){if(s||(s=this.getItem(t)),e||(e=this.getItemData(t)),i||(i=this.getRowData(s.rowId)),!i)return e.position;if(this.state.get("$data.chart.allItemsOnTheLeftOrRight"))return;const n=e.time.startDate.valueOf()===s.time.start?e.time.startDate:this.time.date(s.time.start),o=e.time.endDate.valueOf()===s.time.end?e.time.endDate:this.time.date(s.time.end),r=this.time.getViewOffsetPxFromDates(n,!1,a),l=this.time.getViewOffsetPxFromDates(o.add(1,"ms"),!1,a);e.position.left=r,e.position.actualLeft=this.time.limitOffsetPxToView(r,a),e.position.right=l,e.position.actualRight=this.time.limitOffsetPxToView(l,a),e.width=l-r;let c=this.time.getViewOffsetPxFromDates(o,!1,a);c===l&&(c-=1/a.timePerPixel),e.timeWidth=c-r,e.actualWidth=e.position.actualRight-e.position.actualLeft;const u=this.state.get("config.chart.item.minWidth");return"number"==typeof u&&e.actualWidth<u&&(e.actualWidth=u),this.setItemDataOutOfView(e,a),e.position}calculateItemPosition(t,e=null,i=null,a=this.state.get("$data.chart.time"),s=null){return e||(e=this.state.get(`$data.chart.items.${t}`)),s||(s=this.state.get(`config.chart.items.${t}`)),i||(i=this.state.get(`$data.list.rows.${s.rowId}`)),this.calculateItemHorizontalPosition(t,e,i,a,s),this.calculateItemVerticalPosition(t,e,i,s),e.position}getItemPosition(t,e=null,i=null,a=this.state.get("$data.chart.time"),s=null){return s||(s=this.getItem(t)),e||(e=this.getItemData(t)),0===e.position.left&&0===e.position.right&&this.calculateItemPosition(t,e,i,a,s),e.position}getRow(t){return this.state.get(`config.list.rows.${t}`)}getRows(t){if(!t.length)return[];const e=this.getAllRows(),i=[];for(const a of t)e[a]&&i.push(e[a]);return i}getAllRows(){return this.state.get("config.list.rows")}getVisibleRowsId(){return this.state.get("$data.list.visibleRows")}getRowsData(){return this.state.get("$data.list.rows")}setRowsData(t){this.state.update("$data.list.rows",t)}getRowData(t){return this.state.get(`$data.list.rows.${t}`)}setRowData(t,e){this.state.update(`$data.list.rows.${t}`,e)}getItem(t){return this.state.get(`config.chart.items.${t}`)}getItems(t=[]){const e=[],i=this.getAllItems();for(const a of t)i[a]&&e.push(i[a]);return e}getAllItemsAsArray(){return we(this).itemsAsArray}getAllItemsDataAsArray(){return we(this).itemsDataAsArray}getAllItems(){return this.state.get("config.chart.items")}getItemData(t){return this.state.get(`$data.chart.items.${t}`)}getItemsData(){return this.state.get("$data.chart.items")}setItemData(t,e){this.state.update(`$data.chart.items.${t}`,(t=>{for(const i in e)t[i]=e[i];return t}))}setItemsData(t){this.state.update("$data.chart.items",t)}prepareDependantItems(t,e){return this.getChildrenDependantItemsIds(t,e).filter((e=>e!==t.id))}prepareItem(t,e=this.state.get("config.chart.item.height"),i=this.getItemsData(),a=this.getAllItems(),s=this.getAllRows()){let n=t.id;if(n=String(n),t.id=n,i[t.id]||(i[t.id]={id:t.id,actualHeight:0,outerHeight:0,time:null,position:{left:0,actualLeft:0,right:0,actualRight:0,rowTop:t.rowTop||0,actualRowTop:t.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(t,a)}),t.time||console.error("There is something wrong with this item.",t),"number"!=typeof t.time.start||"number"!=typeof t.time.end)throw new Error('[gantt-schedule-timeline-calendar] Item "time.start" and "time.end" values should be a number (unix epoch milliseconds).');const o=t.rowId;if("string"!=typeof o)throw new Error('[gantt-schedule-timeline-calendar] Item "rowId" should be a string.');if(!o.startsWith("gstcid-"))throw new Error('[gantt-schedule-timeline-calendar] Item "rowId" should start with "gstcid-".');if(!s[o])throw new Error(`[gantt-schedule-timeline-calendar] Row for item "${t.id}" does not exists ("${o}"). TIP: Try updating the rows first to make sure the rows for the items exist.`);t.time.start=+t.time.start,t.time.end=+t.time.end,t.id=String(t.id);const r=this.state.get("config.chart.item");"number"!=typeof t.height&&(t.height=e),i[t.id].time={startDate:this.time.date(t.time.start),endDate:this.time.date(t.time.end)},i[t.id].actualHeight=t.height,void 0===t.overlap&&(t.overlap=r.overlap),"number"!=typeof t.top&&(t.top=0),t.gap||(t.gap={}),"number"!=typeof t.gap.top&&(t.gap.top=r.gap.top),"number"!=typeof t.gap.bottom&&(t.gap.bottom=r.gap.bottom),"number"!=typeof t.minWidth&&(t.minWidth=r.minWidth),i[t.id].outerHeight=i[t.id].actualHeight+t.gap.top+t.gap.bottom,i[t.id].position.actualRowTop=i[t.id].position.rowTop+t.gap.top}prepareItems(t){const e=this.state.get("config.chart.item.height"),i=this.getItemsData(),a=we(this);a.itemsAsArray.length=0,a.itemsDataAsArray.length=0;for(const s in t){const n=t[s];this.prepareItem(n,e,i,t),a.itemsAsArray.push(t[s]),a.itemsDataAsArray.push(i[s])}return this.collectAllLinkedItems(t,i),t}sortRowsByChildren(t,e={},i=this.state.get("config.list.rows"),a=this.state.get("$data.list.rows")){for(const s of t){const t=i[s],n=a[s],o=t.parentId&&e[t.parentId]||!t.parentId;!e[s]&&o&&(e[s]=t),n.children.length&&this.sortRowsByChildren(n.children,e,i,a)}return e}getSortableValue(t,e){return"string"==typeof t?e[t]:"function"==typeof t?t({row:e,vido:this.vido}):""}sortRowsByColumn(t,e=!0){const i=this.state.get("config.list.sort.compare");let a=this.getAllRows();const s=we(this);if(0===s.allRowsIds.length)return a;const n=s.allRowsAsArray;i?n.sort(i(t)):n.sort(((i,a)=>{const s=this.getSortableValue(t.sortable,i),n=this.getSortableValue(t.sortable,a);return"number"==typeof s?e?s-n:n-s:"string"==typeof s?e?s.localeCompare(n):n.localeCompare(s):void 0}));const o=n.map((t=>t.id)),r=this.getRowsData();for(const t of o){const e=r[t];e.children&&e.children.length&&e.children.sort(((t,e)=>o.indexOf(t)-o.indexOf(e)))}a=this.sortRowsByChildren(o),this.state.update("config.list.rows",a,{data:"sortRowsByColumn"});const l=this.getScrollTop();return this.state.get("config.scroll.vertical.byPixels")?this.setScrollTop(l.absolutePosPx):this.setScrollTop(l.dataIndex,l.preciseOffset),a}fillEmptyRowValues(t){const e=this.state.get("config.list.row.height"),i=this.getRowsData();let a=0;for(let s in t){const n=t[s];let o=i[s];if(s=String(s),n.id=s,"string"!=typeof s)throw new Error('[gantt-schedule-timeline-calendar] Row "id" must be a string.');if(!s.startsWith("gstcid-"))throw new Error(`[gantt-schedule-timeline-calendar] Row "id" should start with "gstcid-" (your row id: "${s}").`);if(s.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: "${s}".`);i[s]||(o={id:n.id,parentId:n.parentId,parents:[],children:[],allChildren:[],position:{top:0,bottom:0},items:[],itemsOrder:[],actualHeight:0,outerHeight:0,parentsExpanded:!0,inView:!0}),"number"!=typeof n.height&&(n.height=e),o.actualHeight=n.height,"boolean"!=typeof n.expanded&&(n.expanded=!1),o.position.top=a,"object"!=typeof n.gap&&(n.gap={}),"number"!=typeof n.gap.top&&(n.gap.top=0),"number"!=typeof n.gap.bottom&&(n.gap.bottom=0),void 0===n.visible&&(n.visible=!0),o.outerHeight=o.actualHeight+n.gap.top+n.gap.bottom,i[s]=o,a+=o.outerHeight}return t}itemsOnTheSameLevel(t,e){const i=this.getItemData(t.id),a=this.getItemData(e.id),s=i.position.rowTop+i.outerHeight,n=a.position.rowTop+a.outerHeight;return a.position.rowTop<=i.position.rowTop&&n>i.position.rowTop||(a.position.rowTop>=i.position.rowTop&&a.position.rowTop<s||a.position.rowTop>=i.position.rowTop&&n<s)}itemsTimeOverlaps(t,e){return e.time.start>=t.time.start&&e.time.start<=t.time.end||(e.time.end>=t.time.start&&e.time.end<=t.time.end||(e.time.start>=t.time.start&&e.time.end<=t.time.end||e.time.start<=t.time.start&&e.time.end>=t.time.end))}itemOverlapsWithOthers(t,e){for(let i=0,a=e.length;i<a;i++){const a=e[i],s=a.time.start&&t.time.start&&a.time.end&&t.time.end;if(t.id!==a.id&&this.itemsOnTheSameLevel(t,a)&&this.itemsTimeOverlaps(t,a)&&s)return a}return null}fixOverlappedItems(t){if(this.isMutedMethod("fixOverlapped"))return;if(0===t.length)return;const e=this.getItemsData();for(const i of t){if(i.overlap)continue;const t=e[i.id];t&&(t.position.rowTop=i.top)}for(let i=0;i<t.length;i++){const a=t[i];if(a.overlap)continue;const s=e[a.id];if(!s)continue;s.position.actualRowTop=s.position.rowTop+a.gap.top;let n=this.itemOverlapsWithOthers(a,t);if(n)for(;n=this.itemOverlapsWithOthers(a,t);){const e=this.getItemData(n.id),o=t.findIndex((t=>t.id===n.id));o<i?(s.position.rowTop+=e.outerHeight,s.position.actualRowTop=s.position.rowTop+a.gap.top):(e.position.rowTop+=s.outerHeight,e.position.actualRowTop=e.position.rowTop+n.gap.top)}}}makeChildren(t,e={parents:[]}){if("object"!=typeof t)return[];t.children||(t.children=[]),t.allChildren||(t.allChildren=[]),t.parents||(t.parents=[...e.parents]),t.parentId&&"undefined"!==t.parentId&&t.parents.push(t.parentId);for(const e in t)if("id"!==e&&"parentId"!==e&&"children"!==e&&"allChildren"!==e&&"parents"!==e){"undefined"!==e&&(t.children.push(e),t.allChildren.push(e));const i=t[e];if("object"!=typeof i)continue;const a=this.makeChildren(i,t);t.allChildren.splice(t.allChildren.length,0,...a)}return t.allChildren}clearNested(t){for(const e in t)"object"!=typeof t[e]||Array.isArray(t[e])||this.clearNested(t[e]),this.keysToKeep.includes(e)||delete t[e],"parentId"===e&&"undefined"===t[e]&&(t[e]=void 0);return t}fastTree(t,e=null){var i,a;if(!e){e={undefined:{},id:"undefined"};for(const a in t){const s=t[a];e[s.id]||(e[s.id]={parentId:null!==(i=s.parentId)&&void 0!==i?i:"undefined",id:s.id})}}for(const t in e){const i=e[t];e[null!==(a=i.parentId)&&void 0!==a?a:"undefined"][i.id]=i}this.makeChildren(e[void 0]),delete e[void 0],delete e.id,delete e.parents,delete e.children,delete e.allChildren;for(const t in e)e[t]=this.clearNested(e[t]);return e}updateItemRowMapForItem(t,e,i=this.state.get("$data.itemRowMap"),a=this.state.get("$data.list.rows")){if(!a[e])return;a[e].items||(a[e].items=[]);const s=i[t];s&&a[s]&&(a[s].items=a[s].items.filter((e=>e!==t)).sort(((t,e)=>this.getItem(t).time.start-this.getItem(e).time.start))),i[t]=e,a[e].items.includes(t)||a[e].items.push(t)}sortRowItemsInAddOrder(t,e){e.itemsOrder=e.items.slice(),e.itemsOrder.sort(((e,i)=>t.indexOf(e)-t.indexOf(i)))}sortRowItemsByTime(t){t.items=t.items.sort(((t,e)=>this.getItem(t).time.start-this.getItem(e).time.start))}makeTreeMap(t,e,i=!1){let a=this.state.get("$data.treeMap");if(!i||!a){a=this.fastTree(t);for(const e in t){const i=t[e],s=a[e];for(const t in s)i[t]=s[t]}}const s=this.state.get("$data.reloading")?{}:this.state.get("$data.itemRowMap");for(const t in e){const i=e[t];this.updateItemRowMapForItem(t,i.rowId,s)}const n=Object.keys(this.state.get("config.chart.items"));for(const e in t){const i=t[e];this.sortRowItemsByTime(i),this.sortRowItemsInAddOrder(n,i)}return this.state.update("$data.itemRowMap",s),i||this.state.update("$data.treeMap",a),t}_updateRowsWithParentsExpandedCache(t){const e=we(this);e.rowsIdsWithParentsExpanded.length=0,e.rowsIdsWithParentsExpanded.splice(0,0,...t),e.rowsWithParentsExpanded.length=0,e.rowsDataWithParentsExpanded.length=0,e.rowsWithParentsExpandedDataIndexMap.clear();const i=this.state.get("config.list.rows"),a=this.state.get("$data.list.rows");e.rowsWithParentsExpandedAsMap.clear();let s=0;for(const t of e.rowsIdsWithParentsExpanded){const n=i[t];n&&(e.rowsWithParentsExpanded.push(n),e.rowsWithParentsExpandedAsMap.set(t,n),e.rowsDataWithParentsExpanded.push(a[t]),e.rowsWithParentsExpandedDataIndexMap.set(t,s),s++)}}generateRowsWithParentsExpanded(t){const e=[],i=this.getRowsData();t:for(const a in t){if(!i[a]||!i[a].parents)return[];if(this.isRowVisible(a)){for(const e of i[a].parents){const i=t[e];if(!i||!i.expanded)continue t}e.push(a)}}return this._updateRowsWithParentsExpandedCache(e),e}getRowInfoFromTop(t){const e=this.state.get("config.list.rows"),i=this.state.get("$data.list.rows"),a=this.getRowPositionMapNode(t);return{dataIndex:a.dataIndex,row:e[a.id],rowData:i[a.id]}}getRowViewTop(t,e=this.state.get("$data.list.rows"),i=this.state.get("$data.scroll.vertical")){return e[t].position.top-i.absolutePosPx-i.preciseOffset}parentsExpanded(t){return we(this).rowsWithParentsExpandedAsMap.has(t)}setAllRowsIdsCache(t){const e=we(this);e.allRowsIds=t;const i=this.state.get("config.list.rows");e.allRowsAsArray.length=0;for(const a of t)e.allRowsAsArray.push(i[a])}recalculateRowHeight(t,e){if(!e||!t||!t.gap)return 0;let i=0;const a=this.getItemsData();if(!a)return 0;if(!1===t.visible)return e.actualHeight=0,e.outerHeight=0,0;const s=this.getItems(e.itemsOrder);this.fixOverlappedItems(s);for(const t of s){const e=a[t.id];i=Math.max(i,e.position.rowTop+e.outerHeight)}return i<t.height&&(i=t.height),e.actualHeight=i,e.outerHeight=e.actualHeight+t.gap.top+t.gap.bottom,e.outerHeight}calculateVisibleRowsHeights(){if(this.isMutedMethod("calculateVisibleRowsHeights"))return;const t=this.state.get("$data.list.visibleRows");let e=0;const i=this.getAllRows(),a=this.getRowsData();for(const s of t)e+=this.recalculateRowHeight(i[s],a[s]);this.state.update("$data.list.visibleRowsHeight",e)}getRealChartHeight(t=!0){const e=this.state.get("$data.scroll.vertical.preciseOffset")||0,i=t?this.state.get("config.innerHeight"):this.state.get("$data.chart.dimensions.heightWithoutScrollBar"),a=this.state.get("config.additionalSpace");return i-a.top-a.bottom+-1*e}getLastRowId(t=we(this).rowsIdsWithParentsExpanded,e=this.state.get("$data.scroll.vertical")){return t[this.getLastRowIndex(t,e)]}getLastRowIndex(t=we(this).rowsIdsWithParentsExpanded,e=this.state.get("$data.scroll.vertical")){return t.length-e.lastPageCount}generateRowsPositionsMap(t,e=0,i={id:"",dataIndex:0,keys:[]}){if(0===t.length)return i;if(1===t.length)return i[t[0].position.top]={id:t[0].id,dataIndex:e,keys:[]},i.keys=[t[0].position.top],i;const a=Math.floor(t.length/2),s=e,n=e+a,o=t.slice(1,a),r=t.slice(a+1);i.keys.push(t[0].position.top),i.keys.push(t[a].position.top);const l=i[t[0].position.top]={id:t[0].id,dataIndex:s,keys:[]},c=i[t[a].position.top]={id:t[a].id,dataIndex:n,keys:[]};return this.generateRowsPositionsMap(o,s+1,l),this.generateRowsPositionsMap(r,n+1,c),i}getRowPositionMapNode(t,e=we(this).rowsPositionsMap){return t>=e.keys[1]?this.getRowPositionMapNode(t,e[e.keys[1]]):t>=e.keys[0]?this.getRowPositionMapNode(t,e[e.keys[0]]):e}measureRows(){if(this.isMutedMethod("measureRows"))return;const t=this.state.get("$data.scroll.vertical"),e=this.state.get("config.list.rows"),i=this.getRealChartHeight(),a=this.getRowsData(),s=we(this);if(void 0===t.dataIndex)return[];const n=this.state.get("$data.list.rowsIds");let o=0;if(t.data&&(o=s.rowsWithParentsExpandedDataIndexMap.get(t.data.id),-1===o)){const e=this.getLastRowId(s.rowsIdsWithParentsExpanded,t);o=s.rowsWithParentsExpandedDataIndexMap.get(e)}let r=0,l=0,c=0;for(let u=n.length;c<u;c++){const u=n[c],h=s.rowsWithParentsExpandedAsMap.has(u),d=this.getRowViewTop(u,a,t),m=c>=o&&d<=i,g=a[u];if(!g)return[];this.recalculateRowHeight(e[u],g),g.inView=m,g.parentsExpanded=h,g.position.top=r,l=r+g.outerHeight,g.position.bottom=l,h&&(r+=g.outerHeight)}return s.rowsPositionsMap=this.generateRowsPositionsMap(s.rowsDataWithParentsExpanded),this.state.update("$data.list.rows",a),this.state.update("$data.list.rowsHeight",l),this.state.update("$data.scroll.vertical.absoluteSize",l),l}isRowVisible(t,e=this.getAllRows(),i=this.getRowsData()){if(!e[t])return!1;if(!1===e[t].visible)return!1;if(!i[t])return!1;const a=i[t].parents;for(const t of a)if(!e[t]||!1===e[t].visible)return!1;return!0}getVisibleRows(){const t=this.state.get("$data.scroll.vertical"),e=we(this),i=e.rowsIdsWithParentsExpanded,a=this.getRowsData();if(!t.data)return[];const s=this.getRealChartHeight();if(!s)return[];let n=e.rowsWithParentsExpandedDataIndexMap.get(t.data.id);-1!==n&&void 0!==n||(n=t.dataIndex>e.rowsDataWithParentsExpanded.length-1?i.length-t.lastPageCount:t.dataIndex);const o=[];let r,l;for(let e=n,c=i.length;e<c;e++){const n=i[e];if(a[n]&&(l=a[n],r=this.getRowViewTop(n,a,t),r>=0&&r<=s?(o.push(n),l.parentsExpanded=!0):l.parentsExpanded=!1,r>s))break}return o}normalizeMouseWheelEvent(t){let e=t.deltaX||0,i=t.deltaY||0,a=t.deltaZ||0;const s=t.deltaMode,n=this.state.get("config.list.rowHeight");let o=1;switch(s){case 1:n&&(o=n);break;case 2:o=window.height}return e*=o,i*=o,a*=o,{x:e,y:i,z:a,event:t}}resetHorizontalScroll(t=this.state.get("$data.scroll.horizontal")){t.data=null,t.dataId="",t.dataIndex=0,t.handlePosPx=0,t.absolutePosPx=0,t.preciseOffset=0;const e=this.state.get("$data.chart.time");if(!e.allDates||!e.allDates.length)return;const i=e.allDates[e.level];if(!i||!i.length)return;const a=i[0];return t.data=Object.assign({},a),t.dataId=a.id,t}resetVerticalScroll(t=this.state.get("$data.scroll.vertical")){return t.data=null,t.dataId="",t.dataIndex=0,t.handlePosPx=0,t.absolutePosPx=0,t.preciseOffset=0,t.data=null,t.dataId=null,t}limitHorizontalScrollToView(t=this.state.get("$data.chart.time")){const e=this.state.get("$data.scroll.horizontal");if(!t.allDates||!t.allDates.length)return;const i=t.allDates[t.level].length-e.lastPageCount;e.dataIndex>i&&this.setScrollLeft(i,0,t)}calculateHorizontalScrollPosPxFromDates(t,e=0,i=this.state.get("$data.scroll.horizontal"),a=this.state.get("$data.chart.time")){if(a.calculatedZoomMode)return 0;if(void 0===t&&(t=0),!a.allDates||!a.allDates.length)return;const s=a.allDates[a.level];if(!s||!s.length)return;let n,o=0,r=0;if("number"==typeof t||""===t){""===t&&(t=0),r=t,n=s[r],n||(r=0,n=s[r]);const e=a.allDates[a.level].length-i.lastPageCount;r>e&&e>=0&&(r=e,n=s[r])}else if("string"==typeof t)for(let e=0;e<s.length;e++){const i=s[e];if(i.id===t){n=i,r=e;break}}if(!n&&i.data)for(let t=0;t<s.length;t++){const e=s[t];if(e.leftGlobal>=i.data.leftGlobal){n=e,r=t;break}}if(n||(r>0?(r=s.length-1,n=s[r]):(n=s[0],r=0)),r>s.length-i.lastPageCount&&(r=s.length-i.lastPageCount,n=s[r]),i.data=Object.assign({},n),o=n.leftPx-e,i.dataIndex=r,i.dataId=n.id,o){const t=o/i.absoluteSizeWithoutLastPage*i.maxHandlePosPx;i.handlePosPx=Math.max(t,0)}else i.handlePosPx=0;return i.handlePosPx>i.maxHandlePosPx&&(i.handlePosPx=Math.max(i.maxHandlePosPx,0)),i.preciseOffset=e,i.maxHandlePosPx>0?i.percent=i.handlePosPx/i.maxHandlePosPx*100:i.percent=0,i.absolutePosPx=Math.max(o,0),i}setScrollLeftByPixels(t){const e=this.state.get("$data.chart.time"),i=e.allDates[e.level];return i&&i.length?(t<0&&(t=0),this.state.update("$data.scroll.horizontal",(a=>{t>a.absoluteSizeWithoutLastPage&&(t=a.absoluteSizeWithoutLastPage);let s=0;const n=Math.round(t);let o;for(o of i){if(Math.round(o.rightPx)>n)break;s++}return a.dataIndex=s,a.dataId=o.id,a.preciseOffset=o.leftPx-t,this.calculateHorizontalScrollSizeAndPosFromDates(e.totalViewDurationPx,e,a,!1),t=a.absolutePosPx,a}),{data:"set-scroll-left"}),t):0}setScrollLeft(t,e=0,i=this.state.get("$data.chart.time")){if(i.calculatedZoomMode)return 0;if(this.state.get("config.scroll.horizontal.byPixels")){if("number"!=typeof t)throw new Error("When 'config.scroll.horizontal.byPixels' is true, 'dataIndexOrDateId' must be a number.");return t<0&&(t=0),this.setScrollLeftByPixels(t)}let a=0;const s=i.allDates[i.level];return s&&s.length?(this.state.update("$data.scroll.horizontal",(n=>{let o,r;if("number"==typeof t||""===t)o=t,r=s[o];else if("string"==typeof t)for(let e=0;e<s.length;e++)if(s[e].id===t){r=s[e],o=e;break}return r||(o>0?(o=s.length-1,r=s[o]):(o=0,r=s[0])),n.dataIndex=o,n.dataId=r.id,n.preciseOffset=e,this.calculateHorizontalScrollSizeAndPosFromDates(i.totalViewDurationPx,i,n,!1),a=n.absolutePosPx,n}),{data:"set-scroll-left"}),a):0}scrollToTime(t,e=!0){const i=this.state.get("$data.chart.time");if(i.calculatedZoomMode)return 0;if(!i.allDates)return 0;const a=this.time.findDateAtTime(t,i.allDates[i.level]);if(!a)return console.warn(`[gstc.api.scrollToTime] Time out of bounds (${t} -> ${this.time.date(t).format("YYYY-MM-DD HH:mm:ss")}).`),0;let s,n=0,o=0;if(e){const e=this.getChartWidth(!0)/2;o=(t-a.leftGlobal)/i.timePerPixel,a.rightPx<e&&(o=0);const r=-(e-o);if(s=this.time.getMainDateFromRelativePosition(a,r),!s)return console.warn(`[gstc.api.scrollToTime] Time out of bounds (${t} -> ${this.time.date(t).format("YYYY-MM-DD HH:mm:ss")}).`),0;n=i.allDates[i.level].indexOf(s)}else n=i.allDates[i.level].indexOf(a),o=(t-a.leftGlobal)/i.timePerPixel,s=a;if(-1===n)return 0;return this.state.get("config.scroll.horizontal").byPixels?this.setScrollLeft(s.leftPx+(e?s.width/2:0)):this.setScrollLeft(n,-o)}getScrollLeft(){return this.state.get("$data.scroll.horizontal")}getScrollSize(t){const e=this.state.get("$data.scroll.vertical.visible")?this.state.get("$data.chart.dimensions.widthWithoutScrollBar"):this.state.get("$data.chart.dimensions.width"),i=this.state.get("$data.scroll.horizontal.visible")?this.state.get("$data.chart.dimensions.heightWithoutScrollBar"):this.state.get("$data.chart.dimensions.innerHeight"),a=this.state.get("config.additionalSpace");return"horizontal"===t?e:i-a.top-a.bottom}getLastPageDatesWidth(t,e){let i=0,a=0;if(0===e.length)return{lastPageSize:i,lastPageCount:a};const s=this.state.get("config.scroll.horizontal"),n=s.byPixels||s.precise;for(let s=e.length-1;s>=0;s--){const n=e[s];if(i+=n.width,i>=t){i-=n.width;break}a++}return 0===i&&(i=t),n&&(i=t),{lastPageSize:i,lastPageCount:a}}calculateInitialChartWidth(t=!1){const e=this.state.get("config.initialWidth"),i=this.state.get("config.list.columns.data");let a=0;for(const t in i){a+=i[t].width}let s=e-a;return t&&(s-=this.state.get("config.scroll.horizontal.width")||0),s}getChartWidth(t=!1){let e=t?this.state.get("$data.chart.dimensions.widthWithoutScrollBar"):this.state.get("$data.chart.dimensions.width");return e||(e=this.calculateInitialChartWidth(t)),e}isHorizontalScrollVisible(t){const e=this.state.get("$data.scroll.horizontal");if(null!==e.data)return e.visible;const i=this.state.get("config.scroll.horizontal"),a=this.state.get("$data.chart.time"),s=a.totalViewDurationPx,n=this.getChartWidth(t),o=a.allDates[a.level];if(!o||!o.length)return!1;const{lastPageSize:r,lastPageCount:l}=this.getLastPageDatesWidth(n,o),c=this.getScrollSize("horizontal");let u=r/s*c;u<i.minInnerSize&&(u=i.minInnerSize);return!(l===o.length||c===u)}calculateHorizontalScrollSizeAndPosFromDates(t,e=this.state.get("$data.chart.time"),i=this.state.get("$data.scroll.horizontal"),a=!0){if(!e.allDates.length)return;const s=e.allDates[e.level],n=this.state.get("$data.scroll.vertical.visible"),o=this.getChartWidth(n),r=t,{lastPageSize:l,lastPageCount:c}=this.getLastPageDatesWidth(o,s),u=r-l,h=this.state.get("config.scroll.horizontal"),d=this.getScrollSize("horizontal");let m=l/r*d;m<h.minInnerSize&&(m=h.minInnerSize);const g=i.visible,f=!(c===s.length||d===m),p=Math.max(d?d-m:0,0);return i.absoluteSize=r,i.absoluteSizeWithoutLastPage=Math.max(u,0),i.innerHandleSize=m,i.maxHandlePosPx=p,i.scrollSize=f?d:0,i.lastPageCount=c,i.lastPageSize=l,i.visible=f,this.calculateHorizontalScrollPosPxFromDates(i.dataId,i.preciseOffset,i,e),a&&this.state.update("$data.scroll.horizontal",i),g!==f&&this.calculateVerticalScrollSize(),i}getLastPageRowsHeight(t,e){let i=0,a=0;const s=this.state.get("config.additionalSpace"),n=t-s.top-s.bottom;if(0===e.length)return{lastPageSize:i,lastPageCount:a};const o=this.getRowsData();for(let t=e.length-1;t>=0;t--){const s=o[e[t]];if(i+=s.outerHeight,i>=n){i-=s.outerHeight;break}a++}0===i&&(i=t);const r=this.state.get("config.scroll.vertical");return(r.byPixels||r.precise)&&(i=t),{lastPageSize:i,lastPageCount:a}}calculateVerticalScrollSize(){const t=this.state.get("$data.list.rowsWithParentsExpanded"),e=this.state.get("$data.list.rowsHeight"),i=this.isHorizontalScrollVisible(!0)?this.state.get("$data.chart.dimensions.heightWithoutScrollBar"):this.state.get("$data.chart.dimensions.innerHeight"),{lastPageSize:a,lastPageCount:s}=this.getLastPageRowsHeight(i,t),n=this.state.get("config.scroll.vertical"),o=i;let r=a/e*o;r<n.minInnerSize&&(r=n.minInnerSize);const l=!(s===t.length||o===r),c=o-r;this.state.update("$data.scroll.vertical",(i=>{if(i.absoluteSize=e,i.absoluteSizeWithoutLastPage=e-a,i.innerHandleSize=r,i.maxHandlePosPx=c,i.scrollSize=l?o:0,i.lastPageCount=s,i.lastPageSize=a,i.handlePosPx>c&&(i.handlePosPx=c),i.dataIndex>t.length-s){const e=this.getAllRows(),a=this.getRowsData();i.dataIndex=t.length-s;const n=t[i.dataIndex];e&&n?(i.data=e[n],i.dataId=i.data.id,i.absolutePosPx=a[n].position.top):(i.dataIndex=0,i.dataId="",i.data=null,i.handlePosPx=0,i.absolutePosPx=0),i.preciseOffset=0}else{const e=this.getRowsData(),a=t[i.dataIndex];e[a]&&(i.data=e[a],i.dataId=a,i.absolutePosPx=i.data.position.top-i.preciseOffset)}return i.visible=l,i}))}setScrollTopByPixels(t){const e=we(this),i=this.state.get("$data.scroll.vertical.absoluteSizeWithoutLastPage");t>i&&(t=i);let{dataIndex:a,row:s,rowData:n}=this.getRowInfoFromTop(t);if(!n)return;const o=n.position.top-t;return this.state.update("$data.scroll.vertical",(i=>{const r=e.rowsWithParentsExpanded.length-i.lastPageCount;if(a>r){if(a=r,s=e.rowsWithParentsExpanded[a],!s&&(a=0,s=e.rowsWithParentsExpanded[a],!s))return t=0,this.resetVerticalScroll(i);n=this.getRowData(s.id)}return i.data=e.rowsWithParentsExpanded[a],i.dataId=i.data.id,i.preciseOffset=o,i.handlePosPx=t?Math.round(t/i.absoluteSizeWithoutLastPage*i.maxHandlePosPx):0,i.handlePosPx>i.maxHandlePosPx&&(i.handlePosPx=i.maxHandlePosPx),i.percent=i.handlePosPx/i.maxHandlePosPx*100,i.dataIndex=a,i.absolutePosPx=t,i}),{data:"set-scroll-top"}),t}setScrollTop(t=0,e=0){if(this.state.get("config.scroll.vertical.byPixels")){if("number"!=typeof t)throw new Error("When 'config.scroll.vertical.byPixels' is true, 'dataIndexOrRowId' must be a number.");return t<0&&(t=0),this.setScrollTopByPixels(t)}const i=we(this),a=i.rowsIdsWithParentsExpanded;let s,n,o=0;if("string"==typeof t){const e=t;if(s=this.getRow(e),n=this.getRowData(s.id),this.parentsExpanded(e))o=a.indexOf(e);else for(const t of n.parents)this.parentsExpanded(t)&&(o=a.indexOf(t));if(!s)throw new Error(`Row with id: '${e}' not found. Maybe use GSTC.api.GSTCID(id) or check if row exists.`)}else{if("number"!=typeof t)throw new Error("[gstc.api.setScrollTop] Wrong dataIndex value. Must be `string` (for `rowId`) or `number` (for array index) only.");if(o=t,i.rowsWithParentsExpanded[o]||0===o||(o=0),!i.rowsWithParentsExpanded[o])return;s=i.rowsWithParentsExpanded[o],n=this.getRowData(s.id)}let r=0;return this.state.update("$data.scroll.vertical",(t=>{const a=i.rowsWithParentsExpanded.length-t.lastPageCount;if(o>a){if(o=a,s=i.rowsWithParentsExpanded[o],!s&&(o=0,s=i.rowsWithParentsExpanded[o],!s))return r=0,this.resetVerticalScroll(t);n=this.getRowData(s.id)}return r=n.position.top-e,t.data=i.rowsWithParentsExpanded[o],t.dataId=t.data.id,t.preciseOffset=e,t.handlePosPx=r?Math.round(r/t.absoluteSizeWithoutLastPage*t.maxHandlePosPx):0,t.handlePosPx>t.maxHandlePosPx&&(t.handlePosPx=t.maxHandlePosPx),t.percent=t.handlePosPx/t.maxHandlePosPx*100,t.dataIndex=o,t.absolutePosPx=r,t}),{data:"set-scroll-top"}),r}getScrollTop(){return this.state.get("$data.scroll.vertical")}getCurrentCalendarLevels(){return this.state.get("$data.chart.time.levels")}getGridCells(t=void 0){const e=this.state.get("$data.chart.grid.cells");if(!e)return[];if(void 0!==t){const i=t.length,a=new Array(i);for(let s=0;s<i;s++)a[s]=e[t[s]];return a}return Object.values(e)}getAllGridCells(){return this.state.get("$data.chart.grid.cells")}getGridRows(t=void 0){const e=this.state.get("$data.chart.grid.rows");return void 0!==t?e?Object.values(e).filter((e=>t.includes(e.row.id))):[]:e?Object.values(e):[]}getAllGridRows(){return this.state.get("$data.chart.grid.rows")}getGridCell(t){return this.state.get(`$data.chart.grid.cells.${t}`)}getGridRow(t){return this.state.get(`$data.chart.grid.rows.${t}`)}muteMethod(t){this.mutedMethods.add(t)}unmuteMethod(t){this.mutedMethods.delete(t)}isMutedMethod(t){return this.mutedMethods.has(t)}getSVGIconSrc(t){return"string"==typeof this.iconsCache[t]||(this.iconsCache[t]="data:image/svg+xml;base64,"+btoa(t)),this.iconsCache[t]}destroy(){for(const t of this.unsubscribes)t();this.unsubscribes=[],this.debug&&delete window.state}}function xe(t,e,i,a){return new(i||(i=Promise))((function(s,n){function o(t){try{l(a.next(t))}catch(t){n(t)}}function r(t){try{l(a.throw(t))}catch(t){n(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,r)}l((a=a.apply(t,e||[])).next())}))}
|
|
159
|
+
/**
|
|
160
|
+
* ScrollBar component
|
|
161
|
+
*
|
|
162
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
163
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
164
|
+
* @module gantt-schedule-timeline-calendar
|
|
165
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
166
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
167
|
+
* @version 3.37.5
|
|
168
|
+
* @released 2024-07-19
|
|
169
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
170
|
+
*/
|
|
171
|
+
function De(t,e){const{onDestroy:i,state:a,cache:s,api:n,html:o,StyleMap:r,Actions:l,update:c}=t,u="scroll-bar";let h,d,m="",g="";i(a.subscribe("config.classNames",(()=>{h=n.getClass(u),d=n.getClass(u+"-inner")})));const f="horizontal"===e.type?"height":"width",p="height"===f?"width":"height",b="horizontal"===e.type?"left":"top",v=new r({}),y=new r({}),w={maxPosPx:0,innerHandleSize:0,scrollSize:0,dataId:""};i(a.subscribeAll("horizontal"===e.type?[`config.scroll.${e.type}`,`$data.scroll.${e.type}`]:[`config.scroll.${e.type}`,`$data.scroll.${e.type}`,"$data.chart.dimensions.heightWithoutScrollBar","$data.list.rowsWithParentsExpanded","$data.list.rowsHeight","config.additionalSpace"],(function(t,i){const s=a.get(`config.scroll.${e.type}`),o=a.get(`$data.scroll.${e.type}`),r=n.getScrollSize(e.type),l=o.innerHandleSize,u=o.maxHandlePosPx,h=o.dataId,d=a.get("config.additionalSpace"),m=a.get("$data.chart.time");if(!m.allDates||!m.allDates.length||!m.allDates[m.level])return;if(o.visible?v.style.display="flex":v.style.display="none",v.style[f]=s.width+"px",v.style[p]=r+"px","vertical"===e.type&&(v.style.top=a.get("config.headerHeight")+d.top+"px"),!o.lastPageSize||!o.absoluteSize||!r)return;y.style[f]="100%",y.style[p]=l+"px";!("set-scroll-top"===i.options.data||"set-scroll-left"===i.options.data)&&function(t,e,i,a){const s=w.maxPosPx!==t||w.innerHandleSize!==e||w.scrollSize!==i||w.dataId!==a;return s&&(w.maxPosPx=t,w.innerHandleSize=e,w.scrollSize=i,w.dataId=a),s}(u,l,r,h)&&("horizontal"===e.type?s.byPixels?n.setScrollLeft(o.absolutePosPx):n.setScrollLeft(o.dataIndex,o.preciseOffset):s.byPixels?n.setScrollTop(o.absolutePosPx):n.setScrollTop(o.dataIndex,o.preciseOffset)),c()}),{group:!0,bulkValue:!1}));const k=n.getActions(u);k.push(class extends Bt{constructor(t){super();const i=`$data.elements.scroll-bar--${e.type}`;a.get(i)||a.update(i,t,{only:null})}update(){}destroy(){}});const x={api:n,state:a,props:e,componentName:u},D=l.create(k,x),$=[class extends Bt{constructor(t){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="",a.update(`$data.elements.scroll-bar-inner--${e.type}`,t,{only:null}),this.bodyClassName=a.get("config.scroll.bodyClassName"),this.pointerDown=this.pointerDown.bind(this),this.pointerUp=this.pointerUp.bind(this);const i=this.pointerMove.bind(this);this.pointerMove=i,this.unsubscribe=a.subscribe(`$data.scroll.${e.type}`,this.dataChanged.bind(this)),this.destroy=this.destroy.bind(this),t.addEventListener("pointerdown",this.pointerDown),document.addEventListener("pointermove",this.pointerMove),document.addEventListener("pointerup",this.pointerUp)}destroy(t){this.unsubscribe(),t.removeEventListener("pointerdown",this.pointerDown),document.removeEventListener("pointermove",this.pointerMove),document.removeEventListener("pointerup",this.pointerUp)}dataChanged(){const t=a.get(`$data.scroll.${e.type}`),i=a.get("$data.chart.time");if(!i.allDates.length)return;const s=i.allDates[i.level],n=t.dataIndex;if(this.lastDataIndex=n,"horizontal"===e.type&&s&&s.length)this.currentPos=t.handlePosPx,y.style[b]=this.currentPos+"px",c();else if("vertical"===e.type){if(!a.get("$data.list.rowsWithParentsExpanded").length)return;this.currentPos=t.handlePosPx,y.style[b]=this.currentPos+"px",c()}}limitPosition(t){return Math.max(Math.min(t,a.get(`$data.scroll.${e.type}.maxHandlePosPx`)),0)}pointerDown(t){t.stopPropagation(),t.preventDefault(),n.muteMethod("calculateRowsHeight"),document.body.classList.add(this.bodyClassName),requestAnimationFrame((()=>{this.moving=!0,this.initialPointerPos="horizontal"===e.type?t.screenX:t.screenY,this.initialHandlePos=a.get(`$data.scroll.${e.type}.handlePosPx`),g=" "+n.getClass(u)+"-inner--active",m=" "+n.getClass(u)+"--active",c()}))}pointerUp(t){this.moving&&(n.unmuteMethod("calculateRowsHeight"),t.preventDefault(),t.stopPropagation(),document.body.classList.remove(this.bodyClassName)),this.moving=!1,g="",m="",c()}pointerMoveRead(t){this.currentPointerPos="horizontal"===e.type?t.screenX:t.screenY}pointerMoveWrite(){const t=a.get(`config.scroll.${e.type}`),i=a.get(`$data.scroll.${e.type}`),s=this.currentPointerPos-this.initialPointerPos;this.currentPos=this.limitPosition(this.initialHandlePos+s);const o=a.get("$data.chart.time");if(!o.allDates.length)return;const r=o.allDates[o.level],l=this.currentPos/i.maxHandlePosPx*i.absoluteSizeWithoutLastPage,c=Math.round(l);if("horizontal"===e.type){let e,i=0,a=0,s=0;for(let t=r.length;i<t&&(e=r[i],s=Math.round(e.rightPx),!(s>c));i++);t.precise&&s!==c&&(a=e.leftPx-l),i||(i=0),e||(e=r[0]),this.dataIndex=i,this.lastDate=r[i],t.byPixels?n.setScrollLeft(l):n.setScrollLeft(e.id,a),this.lastDataIndex=i,this.lastOffset=a}else{const{dataIndex:e,row:i,rowData:a}=n.getRowInfoFromTop(l);let s=0;t.precise&&a.position.top!==l&&(s=a.position.top-l),this.dataIndex=e,this.previousRowId=i.id,t.byPixels?n.setScrollTop(l):n.setScrollTop(e,s),this.lastDataIndex=e,this.lastOffset=s}}pointerMove(t){this.moving&&(t.stopPropagation(),t.preventDefault(),requestAnimationFrame((()=>{this.pointerMoveRead(t)})),requestAnimationFrame((()=>{this.pointerMoveWrite()})))}}],S=l.create($,x),P=n.generateSlots(u,t,e);function C({classNameOuter:t,classNameOuterActive:e,classNameInner:i,classNameInnerActive:a,styleMapInner:s,styleMapOuter:n,innerActions:o,outerActions:r,slots:l,cache:c,html:u,vido:h,props:d}){return c(!d||!d.type?null:l.html("outer",u`
|
|
172
|
+
<div
|
|
173
|
+
data-actions=${r()}
|
|
174
|
+
class=${t+" "+t+"--"+d.type+e}
|
|
175
|
+
style=${n.directive()}
|
|
176
|
+
>
|
|
177
|
+
${l.html("inner",u`
|
|
178
|
+
<div
|
|
179
|
+
data-actions=${o()}
|
|
180
|
+
class=${i+" "+i+"--"+d.type+a}
|
|
181
|
+
style=${s.directive()}
|
|
182
|
+
>
|
|
183
|
+
${l.html("content")}
|
|
184
|
+
</div>
|
|
185
|
+
`)}
|
|
186
|
+
</div>
|
|
187
|
+
`))}let z=C;return i(a.subscribe(`config.templates.${u}`,(t=>{z=null!=t?t:C,c()}))),()=>z({innerActions:S,outerActions:D,classNameOuter:h,classNameOuterActive:m,classNameInner:d,classNameInnerActive:g,cache:s,styleMapInner:y,styleMapOuter:v,slots:P,html:o,vido:t,props:e})}
|
|
188
|
+
/**
|
|
189
|
+
* List component
|
|
190
|
+
*
|
|
191
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
192
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
193
|
+
* @module gantt-schedule-timeline-calendar
|
|
194
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
195
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
196
|
+
* @version 3.37.5
|
|
197
|
+
* @released 2024-07-19
|
|
198
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
199
|
+
*/function $e(t,e={}){const{api:i,state:a,onDestroy:s,Actions:n,update:o,reuseComponents:r,html:l,StyleMap:c,cache:u}=t,h="list",d=i.getActions(h);let m,g;const f=Object.assign(Object.assign({},e),{list:m,percent:g,api:i,state:a,componentName:h});let p;const b=a.subscribe("config.components.ListColumn",(t=>p=t));!function(){const t=a.get("config.list.expander.icons"),e={};for(const a in t){const s=t[a];e[a]=i.getSVGIconSrc(s)}a.update("$data.list.expander.icons",e)}(),function(){const t={open:"",close:""},e=a.get("config.list.toggle.icons");for(const a in e){const s=e[a];t[a]=i.getSVGIconSrc(s)}a.update("$data.list.toggle.icons",t)}();const v=i.getClass(h),y=i.generateSlots(h,t,e);s(a.subscribe("config.list",(function(){m=a.get("config.list"),g=m.columns.percent,f.list=m,f.percent=g,o()})));const w=[];s(a.subscribe("config.list.columns.data",(function(t){const e=Object.values(t).filter((t=>!t.hidden)).sort(((t,e)=>"number"==typeof t.position&&"number"==typeof e.position?t.position-e.position:0));r(w,e,(t=>({column:t})),p,!0),o()})));const k=new c({height:"","--expander-padding-width":"","--expander-size":""});let x;function D(t){x||(x=t.offsetWidth,0===g&&(x=0),a.update("$data.list.width",x))}s(a.subscribeAll(["$data.height","config.list.expander"],(()=>{const t=a.get("config.list.expander");k.style.height=a.get("$data.height")+"px",k.style["--expander-padding-width"]=t.padding+"px",k.style["--expander-size"]=t.size+"px",o()}),{group:!0})),s((()=>{w.forEach((t=>t.destroy())),b()}));d.push(class{constructor(t,e){e.state.update("$data.elements.list",t),D(t)}update(t){return D(t)}});const $=n.create(d,f);function S({className:t,styleMap:e,list:i,listColumns:a,actions:s,slots:n,html:o,cache:r,vido:l,props:c}){return n.html("outer",r(i.columns.percent>0?o`
|
|
200
|
+
<div class=${t} data-actions=${s()} style=${e.directive()}>
|
|
201
|
+
${n.html("content",a.map((t=>t.html())))}
|
|
202
|
+
</div>
|
|
203
|
+
`:""))}let P=S;return s(a.subscribe(`config.templates.${h}`,(t=>{P=null!=t?t:S,o()}))),()=>P({list:m,className:v,actions:$,styleMap:k,listColumns:w,slots:y,cache:u,html:l,vido:t,props:e})}
|
|
204
|
+
/**
|
|
205
|
+
* ListColumn component
|
|
206
|
+
*
|
|
207
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
208
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
209
|
+
* @module gantt-schedule-timeline-calendar
|
|
210
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
211
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
212
|
+
* @version 3.37.5
|
|
213
|
+
* @released 2024-07-19
|
|
214
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
215
|
+
*/"function"==typeof SuppressedError&&SuppressedError;class Se{constructor(t,e){let i=!1,a=e.state.get("$data.elements.list-columns");void 0===a&&(a=[],i=!0),a.includes(t)||(a.push(t),i=!0),i&&e.state.update("$data.elements.list-columns",a,{only:null})}destroy(t,e){e.state.update("$data.elements.list-columns",(e=>e.filter((e=>e!==t))),{only:null})}}function Pe(t,e){const{api:i,state:a,onDestroy:s,onChange:n,cache:o,Actions:r,update:l,createComponent:c,reuseComponents:u,html:h,StyleMap:d}=t,m=[];let g,f;m.push(a.subscribe("config.components.ListColumnRow",(t=>g=t))),m.push(a.subscribe("config.components.ListColumnHeader",(t=>f=t)));const p=Object.assign(Object.assign({},e),{api:i,state:a,componentName:"list-column"}),b={column:e.column,state:a,api:i,componentName:"list-column-headers"},v={api:i,state:a,componentName:"list-column-rows"},y="list-column",w=y+"-rows",k=y+"-rows-offset",x=i.getActions(y),D=i.getActions(w),$=i.getClass(y,e.column.id),S=i.getClass(k,e.column.id),P=i.getClass(w,e.column.id);let C,z=i.getId(y,e&&e.column?e.column.id:"");const I=new d({width:"","--width":""}),T=new d({height:""}),A=new d({"margin-top":"0px"});let M=a.get("config.additionalSpace");const W=i.generateSlots(y,t,e);let _;function j(){if(!e||!e.column)return;const t=a.get("config.list");if(!t.columns.data[e.column.id])return;C=t.columns.data[e.column.id].width*t.columns.percent*.01,_=C;const s=Math.round(i.getRealChartHeight());I.style.width=_+"px",I.style["--width"]=_+"px",A.style.height=s+"px",T.style.top=a.get("config.headerHeight")+M.top+"px"}s(a.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"],j,{group:!0}));const R=c(f,e);s(R.destroy);const O=[],L={};function E(){var t;if(!e||!e.column)return;a.mute(E);const s=a.get("$data.list.visibleRows")||[],n=i.getRows(s),o=i.getRowsData();for(const i of n){const a=L[i.id]=null!==(t=L[i.id])&&void 0!==t?t:{};a.column=e.column,a.row=i,a.rowData=o[i.id],a.width=_}for(const t in L)s.includes(t)||delete L[t];u(O,n,(t=>t&&L[t.id]),g,!0),W.change(e),a.unmute(E)}n((t=>{if((e=t)&&e.column&&e.column.id){z=i.getId(y,e&&e.column?e.column.id:"");for(const t in e)p[t]=e[t];j(),R.change(e),E()}})),s(a.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"],E,{group:!0,bulkValue:!1})),s(a.subscribe("$data.scroll.vertical.preciseOffset",(t=>{A.style.transform=`translateY(${Math.round(t)||0}px)`,l()}))),s(a.subscribe("config.additionalSpace",(t=>{M=t}))),s((()=>{O.forEach((t=>t.destroy())),m.forEach((t=>t()))})),x.push(Se);const N=r.create(x,b),G=r.create(D,v);function B({className:t,classNameOffset:e,classNameContainer:i,containerStyleMap:a,offsetStyleMap:s,widthStyleMap:n,visibleRows:o,rowActions:r,elId:l,headerActions:c,ListColumnHeader:u,html:h,cache:d,vido:m,props:g}){return d(g&&g.column?W.html("outer",h`
|
|
216
|
+
<div
|
|
217
|
+
class=${t}
|
|
218
|
+
data-gstcid=${g.column.id}
|
|
219
|
+
data-actions=${c()}
|
|
220
|
+
style=${n.directive()}
|
|
221
|
+
>
|
|
222
|
+
${W.html("inner",h` ${u.html()}${W.html("container-outer",h`
|
|
223
|
+
<div
|
|
224
|
+
class=${i}
|
|
225
|
+
data-gstcid=${g.column.id}
|
|
226
|
+
data-actions=${r()}
|
|
227
|
+
style=${a.directive()}
|
|
228
|
+
>
|
|
229
|
+
${W.html("container-inner",h`
|
|
230
|
+
<div class=${e} data-gstcid=${g.column.id} style=${s.directive()}>
|
|
231
|
+
${W.html("content",o.map((t=>t.html())))}
|
|
232
|
+
</div>
|
|
233
|
+
`)}
|
|
234
|
+
</div>
|
|
235
|
+
`)} `)}
|
|
236
|
+
</div>
|
|
237
|
+
`):null)}let H=B;return s(a.subscribe(`config.templates.${y}`,(t=>{H=null!=t?t:B,l()}))),()=>H({classNameOffset:S,offsetStyleMap:A,visibleRows:O,classNameContainer:P,containerStyleMap:T,rowActions:G,className:$,elId:z,headerActions:N,widthStyleMap:I,ListColumnHeader:R,html:h,cache:o,vido:t,props:e})}
|
|
238
|
+
/**
|
|
239
|
+
* ListColumnHeader component
|
|
240
|
+
*
|
|
241
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
242
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
243
|
+
* @module gantt-schedule-timeline-calendar
|
|
244
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
245
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
246
|
+
* @version 3.37.5
|
|
247
|
+
* @released 2024-07-19
|
|
248
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
249
|
+
*/function Ce(t,e){const{api:i,state:a,onDestroy:s,cache:n,onChange:o,Actions:r,update:l,createComponent:c,html:u,StyleMap:h}=t,d="list-column-header",m=Object.assign(Object.assign({},e),{api:i,state:a,componentName:d}),g=i.getActions(d),f=[];let p;f.push(a.subscribe("config.components.ListColumnHeaderResizer",(t=>p=t)));const b=c(p,e);let v;f.push(a.subscribe("config.components.ListColumnRowExpander",(t=>v=t)));const y=c(v,e);s((()=>{b.destroy(),y.destroy(),f.forEach((t=>t()))}));const w=i.generateSlots(d,t,e),k=i.getClass(d),x=i.getClass(d+"-content");let D=i.getId(d,e.column.id);o((t=>{e=t;for(const t in e)m[t]=e[t];D=i.getId(d,e.column.id),b.change(e),y.change(e),w.change(t)}));const $=new h({height:"","--height":"","--paddings-count":""});s(a.subscribe("config.headerHeight",(()=>{const t=a.get("config");$.style.height=t.headerHeight+"px",$.style["--height"]=t.headerHeight+"px",$.style["--paddings-count"]="1",l()})));const S=r.create(g,m);function P({className:t,contentClass:e,styleMap:i,elId:a,cache:s,ListColumnRowExpander:n,ListColumnHeaderResizer:o,actions:r,slots:l,html:c,vido:u,props:h}){return s(!h||!h.column?null:l.html("outer",c`
|
|
250
|
+
<div
|
|
251
|
+
class=${t}
|
|
252
|
+
data-gstcid=${h.column.id}
|
|
253
|
+
style=${i.directive()}
|
|
254
|
+
data-actions=${r()}
|
|
255
|
+
>
|
|
256
|
+
${l.html("content",h.column.expander?c`
|
|
257
|
+
<div class=${e}>
|
|
258
|
+
${n.html(h.column)}${o.html(h.column)}
|
|
259
|
+
</div>
|
|
260
|
+
`:c` <div class=${e}>${o.html(h.column)}</div> `)}
|
|
261
|
+
</div>
|
|
262
|
+
`))}let C=P;return s(a.subscribe(`config.templates.${d}`,(t=>{C=null!=t?t:P,l()}))),()=>C({className:k,contentClass:x,cache:n,styleMap:$,elId:D,ListColumnRowExpander:y,ListColumnHeaderResizer:b,actions:S,slots:w,html:u,vido:t,props:e})}
|
|
263
|
+
/**
|
|
264
|
+
* ListColumnHeaderResizer component
|
|
265
|
+
*
|
|
266
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
267
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
268
|
+
* @module gantt-schedule-timeline-calendar
|
|
269
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
270
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
271
|
+
* @version 3.37.5
|
|
272
|
+
* @released 2024-07-19
|
|
273
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
274
|
+
*/function ze(t,e){const{api:i,state:a,onDestroy:s,cache:n,update:o,html:r,Actions:l,onChange:c,PointerAction:u,StyleMap:h,unsafeHTML:d}=t,m="list-column-header-resizer",g=i.getActions(m),f=i.getActions(m+"-dots"),p={up:"",down:""};let b,v,y,w;s(a.subscribe("config.list.sort.icons",(t=>{p.up=i.getSVGIconSrc(t.up),p.down=i.getSVGIconSrc(t.down)}))),b=i.getClass(m),v=i.getClass(m+"-container"),y=i.getClass(m+"-dots"),w=i.getClass(m+"-dots-dot");const k=i.getClass(m+"-sort-icon");let x;const D=new h({});let $=!1;const S=i.generateSlots(m,t,e);let P=!0,C=0;const z={componentName:m,column:e.column,api:i,state:a,pointerOptions:{axis:"x",onMove:function({movementX:t,event:i}){if(!P)return;t&&(i.preventDefault(),i.stopPropagation());let s=a.get("config.list.columns.minWidth");"number"==typeof e.column.minWidth&&(s=e.column.minWidth),C+=t,C<s&&(C=s),$&&a.update(`config.list.columns.data.${e.column.id}.width`,C)}}};function I(){if(!e||!e.column||!e.column.id)return;z.column=e.column,b=i.getClass(m,e.column.id),v=i.getClass(m+"-container",e.column.id),y=i.getClass(m+"-dots",e.column.id),w=i.getClass(m+"-dots-dot",e.column.id),P=!("resizer"in e.column)||e.column.resizer;const t=a.get("config.list");x=C=e.column.width*t.columns.percent*.01,D.style["--width"]=t.columns.resizer.width+"px",$=t.columns.resizer.inRealTime,a.update("$data.list.width",x),S.change(e),o()}c((t=>{e=t,I()})),s(a.subscribeAll(["config.list.columns.percent","config.list.columns.resizer.width","config.list.columns.resizer.inRealTime"],I,{group:!0}));let T=[1,2,3,4,5,6,7,8];s(a.subscribe("config.list.columns.resizer.dots",(t=>{T=[];for(let e=0;e<t;e++)T.push(e);o()})));let A=!0;function M(){e.column.sortable&&(A=!A,a.update("config.list.sort",(t=>(t.activeColumnId=e.column.id,t.asc=A,t))))}let W=!1;s(a.subscribe("config.list.sort",(t=>{if(t.activeColumnId===e.column.id)return A=t.asc,void(W=!0);W=!1}))),f.push(u);const _=l.create(g,z),j=l.create(f,z);function R({className:t,containerClass:e,iconClass:i,dotsClass:a,dotClass:s,dotsStyleMap:n,dots:o,onLabelClick:r,dotsActions:l,resizer:c,icons:u,sortActive:h,cache:d,asc:m,actions:g,slots:f,html:p,unsafeHTML:b,vido:v,props:y}){const w=!y||!y.column;function k(){return y.column.sortable&&h?m?p` <img src="${u.down}" class=${i} /> `:p` <img src="${u.up}" class=${i} /> `:null}function x(){return w?null:"function"==typeof y.column.header.content?y.column.header.content({column:y.column,vido:v}):y.column.header.content}return d(w?null:f.html("outer",p`
|
|
275
|
+
<div class=${t} data-gstcid=${y.column.id} data-actions=${g()}>
|
|
276
|
+
${f.html("container-outer",c?w?null:p`
|
|
277
|
+
<div class=${e} @click=${r}>
|
|
278
|
+
${f.html("content",y.column.header.html?b(y.column.header.html):x())}
|
|
279
|
+
${k()}
|
|
280
|
+
</div>
|
|
281
|
+
<div class=${a} style=${n.directive()} data-actions=${l()}>
|
|
282
|
+
${o.map((()=>p` <div class=${s} /> `))}
|
|
283
|
+
</div>
|
|
284
|
+
`:w?null:p`
|
|
285
|
+
<div class=${e} @click=${r}>
|
|
286
|
+
${f.html("content",y.column.header.html?b(y.column.header.html):x())}
|
|
287
|
+
${k()}
|
|
288
|
+
</div>
|
|
289
|
+
`)}
|
|
290
|
+
</div>
|
|
291
|
+
`))}let O=R;return s(a.subscribe(`config.templates.${m}`,(t=>{O=null!=t?t:R,o()}))),()=>O({className:b,containerClass:v,onLabelClick:M,iconClass:k,cache:n,dotsClass:y,dotsStyleMap:D,dotsActions:j,dots:T,dotClass:w,resizer:P,icons:p,sortActive:W,asc:A,actions:_,slots:S,html:r,unsafeHTML:d,vido:t,props:e})}
|
|
292
|
+
/**
|
|
293
|
+
* ListColumnRow component
|
|
294
|
+
*
|
|
295
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
296
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
297
|
+
* @module gantt-schedule-timeline-calendar
|
|
298
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
299
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
300
|
+
* @version 3.37.5
|
|
301
|
+
* @released 2024-07-19
|
|
302
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
303
|
+
*/class Ie{constructor(t,e){let i=e.state.get("$data.elements.list-column-rows"),a=!1;void 0===i&&(a=!0,i=[]),i.includes(t)||(i.push(t),a=!0),a&&e.state.update("$data.elements.list-column-rows",i,{only:null})}destroy(t,e){e.state.update("$data.elements.list-column-rows",(e=>e.filter((e=>e!==t))),{only:null})}}function Te(t,e){const{api:i,state:a,onDestroy:s,cache:n,Actions:o,update:r,html:l,createComponent:c,onChange:u,StyleMap:h,unsafeHTML:d}=t,m="list-column-row",g=Object.assign(Object.assign({},e),{api:i,state:a,componentName:m});let f,p=!1;s(a.subscribe("config.components.ListColumnRowExpander",(t=>f=t)));const b=new h(e.column.expander?{height:"",top:"","--height":"","--expander-padding-width":"","--expander-size":""}:{height:"",top:"","--height":""}),v=c(f,{row:e.row}),y=i.getClass(m),w=i.getClass(m+"-content");let k=i.getClass(m);const x=i.generateSlots(m,t,e);let D;u((function(s,n){var o;if(n.leave||!s||void 0===s.row||void 0===s.column)return p=!0,x.change(s,n),void r();p=!1,e=s;for(const t in e)g[t]=e[t];if(!e.column||!e.row||!e.rowData)return p=!0,x.change(s,n),void r();if(void 0===e.column||void 0===e.row)return;D=e.column.isHTML?void 0===e.row?null:"function"==typeof e.column.data?d(e.column.data({row:e.row,vido:t})):"function"==typeof e.row[e.column.data]?d(e.row[e.column.data]({row:e.row,vido:t})):"string"==typeof e.row[e.column.data]?d(e.row[e.column.data]):null:void 0===e.row?null:"function"==typeof e.column.data?e.column.data({row:e.row,vido:t}):"function"==typeof e.row[e.column.data]?e.row[e.column.data]({row:e.row,vido:t}):e.row[e.column.data];const l=a.get("config.list.expander");for(const t in b.style)delete b.style[t];b.style.height=e.rowData.outerHeight+"px",b.style["--height"]=e.rowData.outerHeight+"px",e.column.expander&&(b.style["--expander-padding-width"]=l.padding*(e.rowData.parents.length+1)+"px");const c=a.get("config.list.rows");for(const t of e.rowData.parents){const e=c[t];if("object"==typeof e.style&&"Object"===e.style.constructor.name&&"object"==typeof e.style.children){const t=e.style.children;for(const e in t)b.style[e]=t[e]}}if(null===(o=null==e?void 0:e.row)||void 0===o?void 0:o.style)for(const t in e.row.style)b.style[t]=e.row.style[t];if(e.row.classNames){if(Array.isArray(e.row.classNames)&&e.row.classNames.length)k=i.getClass(m)+" "+e.row.classNames.join(" ");else if("function"==typeof e.row.classNames){const a=e.row.classNames({row:e.row,vido:t});Array.isArray(a)&&a.length&&(k=i.getClass(m)+" "+a.join(" "))}}else k=y;v&&v.change(e),x.change(e,n),r()})),s((()=>{v&&v.destroy()}));const $=i.getActions(m);$.includes(Ie)||$.push(Ie);const S=o.create($,g);function P({classNameCurrent:t,classNameContent:e,styleMap:i,cache:a,shouldDetach:s,content:n,ListColumnRowExpander:o,slots:r,actions:l,html:c,vido:u,props:h}){return a(s||!h||!h.column||!h.row?null:r.html("outer",c`
|
|
304
|
+
<div
|
|
305
|
+
class=${t}
|
|
306
|
+
data-gstcid=${h.row.id}
|
|
307
|
+
style=${i.directive()}
|
|
308
|
+
data-actions=${l()}
|
|
309
|
+
>
|
|
310
|
+
${r.html("inner",c`
|
|
311
|
+
${h.column.expander?o.html():null}
|
|
312
|
+
<div class=${e}>${r.html("content",n)}</div>
|
|
313
|
+
`)}
|
|
314
|
+
</div>
|
|
315
|
+
`))}let C=P;return s(a.subscribe(`config.templates.${m}`,(t=>{C=null!=t?t:P,r()}))),()=>C({classNameCurrent:k,cache:n,shouldDetach:p,styleMap:b,ListColumnRowExpander:v,classNameContent:w,slots:x,actions:S,content:D,html:l,vido:t,props:e})}
|
|
316
|
+
/**
|
|
317
|
+
* ListColumnRowExpander component
|
|
318
|
+
*
|
|
319
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
320
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
321
|
+
* @module gantt-schedule-timeline-calendar
|
|
322
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
323
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
324
|
+
* @version 3.37.5
|
|
325
|
+
* @released 2024-07-19
|
|
326
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
327
|
+
*/function Ae(t,e){const{api:i,state:a,onDestroy:s,Actions:n,html:o,cache:r,createComponent:l,onChange:c,update:u}=t,h="list-column-row-expander",d=i.getActions(h),m=Object.assign(Object.assign({},e),{api:i,state:a,componentName:h}),g=i.getClass(h);let f;const p=a.subscribe("config.components.ListColumnRowExpanderToggle",(t=>f=t)),b=l(f,e);s((()=>{b.destroy(),p()}));const v=i.generateSlots(h,t,e);e.row&&c((function(t){if((e=t)&&e.row&&e.rowData){for(const t in e)m[t]=e[t];b.change(e),v.change(t),u()}}));const y=n.create(d,m);function w({className:t,ListColumnRowExpanderToggle:e,slots:i,actions:a,html:s,cache:n,vido:o,props:r}){return n(!r?null:i.html("outer",s`
|
|
328
|
+
<div class=${t} data-gstcid=${r.row?r.row.id:""} data-action=${a()}>
|
|
329
|
+
${i.html("content",e.html())}
|
|
330
|
+
</div>
|
|
331
|
+
`))}let k=w;return s(a.subscribe(`config.templates.${h}`,(t=>{k=null!=t?t:w,u()}))),()=>k({className:g,ListColumnRowExpanderToggle:b,slots:v,actions:y,html:o,cache:r,vido:t,props:e})}
|
|
332
|
+
/**
|
|
333
|
+
* ListColumnRowExpanderToggle component
|
|
334
|
+
*
|
|
335
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
336
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
337
|
+
* @module gantt-schedule-timeline-calendar
|
|
338
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
339
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
340
|
+
* @version 3.37.5
|
|
341
|
+
* @released 2024-07-19
|
|
342
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
343
|
+
*/function Me(t,e){const{api:i,state:a,cache:s,onDestroy:n,Actions:o,update:r,html:l,onChange:c}=t,u="list-column-row-expander-toggle",h=Object.assign(Object.assign({},e),{api:i,state:a,componentName:u}),d=i.getActions(u),m=i.getClass(u),g=i.getClass(u+"-child"),f=i.getClass(u+"-open"),p=i.getClass(u+"-closed");let b,v,y,w=!1;n(a.subscribe("$data.list.expander.icons",(t=>{t&&(b=t.child,v=t.open,y=t.closed),r()})));const k=i.generateSlots(u,t,e);e.row?(c((function(t){if(e&&e.row){e=t;for(const t in e)h[t]=e[t];w=e.row.expanded,k.change(t),r()}})),n((function(){}))):n(a.subscribe("config.list.rows.*.expanded",(function(t){for(const e of t)if(e.value){w=!0;break}r()}),{bulk:!0}));const x=o.create(d,h);function D(){w=!w,e.row?a.update(`config.list.rows.${e.row.id}.expanded`,w,{data:{name:"expanded",rowId:e.row.id,expanded:w}}):a.update("config.list.rows",(t=>{for(const e in t)t[e].expanded=w;return t}),{only:["*.expanded"],data:{name:"expanded"}})}function $({className:t,classNameChild:e,classNameOpen:i,classNameClosed:a,expanded:s,iconChild:n,iconOpen:o,iconClosed:r,toggle:l,cache:c,slots:u,actions:h,html:d,vido:m,props:g}){return c(!g?null:u.html("outer",d`
|
|
344
|
+
<div
|
|
345
|
+
class=${t}
|
|
346
|
+
data-gstcid=${g.row?g.row.id:""}
|
|
347
|
+
data-action=${h()}
|
|
348
|
+
@click=${l}
|
|
349
|
+
>
|
|
350
|
+
${u.html("content",(()=>{var t,l;return n?0===(null===(l=null===(t=g.rowData)||void 0===t?void 0:t.children)||void 0===l?void 0:l.length)?d` <img width="16" height="16" class=${e} src=${n} /> `:s?d` <img width="16" height="16" class=${i} src=${o} /> `:d` <img width="16" height="16" class=${a} src=${r} /> `:""})())}
|
|
351
|
+
</div>
|
|
352
|
+
`))}let S=$;return n(a.subscribe(`config.templates.${u}`,(t=>{S=null!=t?t:$,r()}))),()=>S({className:m,classNameChild:g,iconChild:b,expanded:w,cache:s,classNameOpen:f,classNameClosed:p,iconOpen:v,iconClosed:y,toggle:D,slots:k,actions:x,html:l,vido:t,props:e})}
|
|
353
|
+
/**
|
|
354
|
+
* ListToggle component
|
|
355
|
+
*
|
|
356
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
357
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
358
|
+
* @module gantt-schedule-timeline-calendar
|
|
359
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
360
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
361
|
+
* @version 3.37.5
|
|
362
|
+
* @released 2024-07-19
|
|
363
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
364
|
+
*/function We(t,e={}){const{html:i,onDestroy:a,api:s,state:n,update:o,StyleMap:r,Actions:l,onChange:c}=t,u="list-toggle",h=s.getClass(u),d=Object.assign(Object.assign({},e),{api:s,state:n,componentName:u});let m={open:"",close:""};a(n.subscribe("$data.list.toggle.icons",(t=>{t&&(m=t,o())})));const g=new r({top:"0px"});a(n.subscribe("$data.scroll.vertical.preciseOffset",(t=>{g.style.top=(-1*Math.round(t)||0)+"px"})));let f=!0;a(n.subscribe("config.list.columns.percent",(t=>f=0!==t)));let p=!1;function b(){p=!0}function v(){p&&(p=!1,n.update("config.list.columns.percent",(t=>0===t?100:0)))}c((t=>{e=t;for(const i in t)d[i]=e[i]}));const y=s.getActions(u),w=l.create(y,d),k=s.generateSlots(u,t,e);function x({className:t,styleMap:e,pointerDown:i,pointerUp:a,open:s,toggleIconsSrc:n,actions:o,slots:r,html:l,vido:c,props:u}){return r.html("outer",l`
|
|
365
|
+
<div
|
|
366
|
+
class=${t}
|
|
367
|
+
style=${e.directive()}
|
|
368
|
+
@pointerdown=${i}
|
|
369
|
+
@pointerup=${a}
|
|
370
|
+
actions=${o()}
|
|
371
|
+
>
|
|
372
|
+
${r.html("content",l` <img src=${s?n.close:n.open} /> `)}
|
|
373
|
+
</div>
|
|
374
|
+
`)}let D=x;return a(n.subscribe(`config.templates.${u}`,(t=>{D=null!=t?t:x,o()}))),()=>D({className:h,styleMap:g,pointerDown:b,pointerUp:v,open:f,toggleIconsSrc:m,actions:w,slots:k,html:i,vido:t,props:e})}
|
|
375
|
+
/**
|
|
376
|
+
* Chart component
|
|
377
|
+
*
|
|
378
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
379
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
380
|
+
* @module gantt-schedule-timeline-calendar
|
|
381
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
382
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
383
|
+
* @version 3.37.5
|
|
384
|
+
* @released 2024-07-19
|
|
385
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
386
|
+
*/function _e(t,e={}){const{api:i,state:a,onDestroy:s,Actions:n,html:o,createComponent:r,update:l}=t,c="chart",u=[];let h,d,m;u.push(a.subscribe("config.components.ChartCalendar",(t=>h=t))),u.push(a.subscribe("config.components.ChartTimeline",(t=>d=t))),u.push(a.subscribe("config.components.ScrollBar",(t=>m=t)));const g=r(h);s(g.destroy);const f=r(d);s(f.destroy);const p=r(m,{type:"horizontal"});s(p.destroy);const b=r(m,{type:"vertical"});s(b.destroy),s((()=>{u.forEach((t=>t()))}));const v=i.getClass(c),y=i.getActions(c);let w=!1;s(a.subscribe("config.chart.time.calculatedZoomMode",(t=>{w=t,l()})));const k={handleEvent:function(t){t.type},passive:!1,capture:!1};let x,D=0;y.push((function(t){x||(x=new ResizeObserver((()=>{const e=t.offsetWidth,i=t.offsetHeight,s=e-a.get("config.scroll.horizontal.width"),n=a.get("config.headerHeight");D!==e&&(D=e,a.update("$data.chart.dimensions",(t=>(t.width=e,t.widthWithoutScrollBar=s,t.height=i,t.innerHeight=i-n,t))))})),x.observe(t),a.update("$data.elements.chart",t))})),s((()=>{x.disconnect()}));const $={api:i,state:a,componentName:c},S=n.create(y,$),P=i.generateSlots(c,t,e);function C({className:t,onWheel:e,ChartCalendar:i,ChartTimeline:a,ScrollBarVertical:s,calculatedZoomMode:n,ScrollBarHorizontal:o,actions:r,slots:l,html:c,vido:u,props:h}){return l.html("outer",c`
|
|
387
|
+
<div class=${t} data-actions=${r()} @wheel=${e}>
|
|
388
|
+
${l.html("content",c`
|
|
389
|
+
${i.html()}${a.html()}${s.html()}
|
|
390
|
+
${n?null:o.html()}
|
|
391
|
+
`)}
|
|
392
|
+
</div>
|
|
393
|
+
`)}let z=C;return s(a.subscribe(`config.templates.${c}`,(t=>{z=null!=t?t:C,l()}))),()=>z({className:v,onWheel:k,ChartCalendar:g,ChartTimeline:f,ScrollBarVertical:b,calculatedZoomMode:w,ScrollBarHorizontal:p,actions:S,slots:P,html:o,vido:t,props:e})}
|
|
394
|
+
/**
|
|
395
|
+
* ChartCalendar component
|
|
396
|
+
*
|
|
397
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
398
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
399
|
+
* @module gantt-schedule-timeline-calendar
|
|
400
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
401
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
402
|
+
* @version 3.37.5
|
|
403
|
+
* @released 2024-07-19
|
|
404
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
405
|
+
*/function je(t,e){const{api:i,state:a,onDestroy:s,Actions:n,update:o,reuseComponents:r,html:l,StyleMap:c}=t,u="chart-calendar",h=i.getActions(u),d=Object.assign(Object.assign({},e),{api:i,state:a,componentName:u}),m=a.get("config.components.ChartCalendarDate"),g=i.getClass(u);let f;const p=new c({height:"","--headerHeight":"","margin-left":""});s(a.subscribe("config.headerHeight",(t=>{f=t,p.style.height=f+"px",p.style["--calendar-height"]=f+"px",o()})));let b=[],v=0;s(a.subscribe("$data.chart.time.levels",((t,e)=>{const s=a.get("$data.chart.time.levels");let n=0;if(s.length!==v){v=s.length,b.forEach((t=>t.forEach((t=>t.destroy())))),b=[];for(let t=0;t<v;t++)b.push([])}for(const t of s){if(!t.length)continue;let e="YYYY-MM-DD HH";switch(t[0].period){case"day":e="YYYY-MM-DD";break;case"week":e="YYYY-MM-ww";break;case"month":e="YYYY-MM";break;case"year":e="YYYY"}const a=i.time.date().format(e);r(b[n],t,(t=>t&&{level:n,date:t,currentDate:a,currentDateFormat:e}),m,!0),n++}o()}))),s((()=>{b.forEach((t=>t.forEach((t=>t.destroy()))))})),h.push((t=>{a.update("$data.elements.chart-calendar",t)}));const y=n.create(h,d),w=i.generateSlots(u,t,e);function k({className:t,styleMap:e,components:i,actions:a,slots:s,html:n,vido:o,props:r}){return s.html("outer",n`
|
|
406
|
+
<div class=${t} data-actions=${a()} style=${e.directive()}>
|
|
407
|
+
${s.html("inner",i.length?i.map(((e,i)=>e&&e.length?n`
|
|
408
|
+
<div class=${t+"-dates "+t+`-dates--level-${i}`}>
|
|
409
|
+
${s.html("content",e.map((t=>t.html())))}
|
|
410
|
+
</div>
|
|
411
|
+
`:null)):null)}
|
|
412
|
+
</div>
|
|
413
|
+
`)}let x=k;return s(a.subscribe(`config.templates.${u}`,(t=>{x=null!=t?t:k,o()}))),()=>x({className:g,styleMap:p,components:b,actions:y,slots:w,html:l,vido:t,props:e})}
|
|
414
|
+
/**
|
|
415
|
+
* ChartCalendarDate component
|
|
416
|
+
*
|
|
417
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
418
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
419
|
+
* @module gantt-schedule-timeline-calendar
|
|
420
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
421
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
422
|
+
* @version 3.37.5
|
|
423
|
+
* @released 2024-07-19
|
|
424
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
425
|
+
*/class Re extends Bt{constructor(t,e){super(),e.state.update("$data.elements.chart-calendar-dates",(e=>(void 0===e&&(e=[]),e.includes(t)||e.push(t),e)))}}function Oe(t,e){const{api:i,state:a,onDestroy:s,Actions:n,update:o,onChange:r,html:l,StyleMap:c,cache:u}=t,h="chart-calendar-date",d=i.getActions(h),m=i.getClass(h);let g,f="",p="";s(a.subscribe("config.chart.time",(t=>g=t)));const b=new c({width:"0px"},{schedule:!1});let v="";function y(){if(!e||!e.date)return;const t=a.get(`config.chart.calendarLevels.${e.level}`);b.style.width=e.date.currentView.width+"px",b.style.left=e.date.currentView.leftPx+"px";const i=t.find((t=>+g.zoom<=+t.zoomTo));f=e.date.current?" gstc-current":e.date.next?" gstc-next":e.date.previous?" gstc-previous":"",p=m+"-content "+m+`-content--${e.date.period}`+f,i.classNames&&Array.isArray(i.classNames)?(p+=" "+i.classNames.join(" "),v=" "+i.classNames.join(" ")):v="",o()}let w=!1;const k=i.generateSlots(h,t,e);let x,D,$;const S={date:e.date,period:e.period,api:i,state:a,componentName:h};r(((t,i)=>{if(i.leave)return w=!0,k.change(t,i),o();w=!1,D=e.level===g.level,$=D?m+"--main-date ":m+"--non-main-date ",e=t,S.date=e.date,S.period=e.period,x&&x(),x=a.subscribeAll(["$data.chart.time","config.chart.calendarLevels"],y,{bulk:!0}),k.change(t,i)})),s((()=>{x()})),d.includes(Re)||d.push(Re);const P=n.create(d,S);function C({className:t,mainClass:e,additionalClass:i,formatClassName:a,finalClassName:s,styleMap:n,cache:o,shouldDetach:r,actions:l,slots:c,html:u,vido:h,props:d}){return o(r||!d||!d.date?null:c.html("outer",u`
|
|
426
|
+
<div
|
|
427
|
+
class=${t+" "+t+`--${d.date.period} `+e+t+`--level-${d.level}`+i+a}
|
|
428
|
+
data-gstcid=${d.date.id}
|
|
429
|
+
style=${n.directive()}
|
|
430
|
+
data-actions=${l()}
|
|
431
|
+
>
|
|
432
|
+
${c.html("content",u`<div class=${s.trim()}>${d.date.formatted}</div>`)}
|
|
433
|
+
</div>
|
|
434
|
+
`))}let z=C;return s(a.subscribe(`config.templates.${h}`,(t=>{z=null!=t?t:C,o()}))),()=>z({className:m,mainClass:$,additionalClass:f,formatClassName:v,styleMap:b,finalClassName:p,cache:u,shouldDetach:w,actions:P,slots:k,html:l,vido:t,props:e})}
|
|
435
|
+
/**
|
|
436
|
+
* ChartTimeline component
|
|
437
|
+
*
|
|
438
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
439
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
440
|
+
* @module gantt-schedule-timeline-calendar
|
|
441
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
442
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
443
|
+
* @version 3.37.5
|
|
444
|
+
* @released 2024-07-19
|
|
445
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
446
|
+
*/function Le(t,e){const{api:i,state:a,onDestroy:s,Action:n,Actions:o,update:r,html:l,createComponent:c,StyleMap:u}=t,h="chart-timeline",d=Object.assign(Object.assign({},e),{api:i,state:a,componentName:h});let m,g,f;s(a.subscribe("config.components.ChartTimelineGrid",(t=>{m&&m.destroy(),m=c(t)}))),s((()=>{m&&m.destroy()})),s(a.subscribe("config.components.ChartTimelineItems",(t=>{g&&g.destroy(),g=c(t)}))),s((()=>{g&&g.destroy()})),s(a.subscribe("config.components.ListToggle",(t=>{f&&f.destroy(),f=c(t)}))),s((()=>{f&&f.destroy()}));const p=i.generateSlots(h,t,e),b=i.getClass(h),v=i.getClass(h+"-inner");let y;s(a.subscribe("config.list.toggle.display",(t=>y=t)));const w=new u({}),k=new u({});let x,D;s(a.subscribe("config.additionalSpace",(t=>{x=t,r()}))),s(a.subscribe("config.headerHeight",(t=>{D=t,r()}))),s(a.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 t=a.get("$data.chart.dimensions.width"),e=Math.round(i.getRealChartHeight(!0));w.style.height=a.get("config.innerHeight")+"px",w.style["--height"]=w.style.height,w.style.top=x.top+D+"px",t?(w.style.width=t+"px",w.style["--width"]=t+"px"):(w.style.width="0px",w.style["--width"]="0px"),k.style.height=e+"px",k.style.width=t?t+"px":"0px";const s=a.get("$data.scroll.vertical.preciseOffset")||0;k.style.transform=`translateY(${Math.round(s)}px)`,r()}),{group:!0,bulkValue:!1}));let $=[];s(a.subscribe("config.actions.chart-timeline",(t=>{$=t}))),$.push(class extends n{constructor(t){super();a.get("$data.elements.chart-timeline")!==t&&a.update("$data.elements.chart-timeline",t)}});const S=o.create($,d);function P({className:t,classNameInner:e,styleMap:i,innerStyleMap:a,Grid:s,Items:n,showToggle:o,ListToggle:r,actions:l,slots:c,html:u,vido:h,props:d}){return c.html("outer",u`
|
|
447
|
+
<div class=${t} style=${i.directive()} data-actions=${l()}>
|
|
448
|
+
${c.html("inner",u`
|
|
449
|
+
<div class=${e} style=${a.directive()}>
|
|
450
|
+
${c.html("content",u` ${s.html()}${n.html()}${o?r.html():""} `)}
|
|
451
|
+
</div>
|
|
452
|
+
`)}
|
|
453
|
+
</div>
|
|
454
|
+
`)}let C=P;return s(a.subscribe(`config.templates.${h}`,(t=>{C=null!=t?t:P,r()}))),()=>C({className:b,styleMap:w,classNameInner:v,Grid:m,innerStyleMap:k,Items:g,showToggle:y,ListToggle:f,actions:S,slots:p,html:l,vido:t,props:e})}
|
|
455
|
+
/**
|
|
456
|
+
* ChartTimelineGrid component
|
|
457
|
+
*
|
|
458
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
459
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
460
|
+
* @module gantt-schedule-timeline-calendar
|
|
461
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
462
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
463
|
+
* @version 3.37.5
|
|
464
|
+
* @released 2024-07-19
|
|
465
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
466
|
+
*/class Ee{constructor(t,e){e.state.get("$data.elements.chart-timeline-grid")!==t&&e.state.update("$data.elements.chart-timeline-grid",t,{only:null})}destroy(t,e){e.state.update("$data.elements",(t=>(delete t["chart-timeline-grid"],t)),{only:null})}}function Ne(t,e){const{api:i,state:a,onDestroy:s,Actions:n,update:o,html:r,reuseComponents:l,StyleMap:c}=t,u="chart-timeline-grid",h=i.getActions(u),d={api:i,state:a,componentName:u},m=a.get("config.components.ChartTimelineGridRow"),g=i.getClass(u);let f;s(a.subscribe("config.chart.grid.cell.onCreate",(t=>f=t)));const p=[],b={},v=new Map,y=new c({});function w(t){let e=t.month()+1;e<10&&(e="0"+e);let i=t.date();i<10&&(i="0"+i);let a=t.hour();a<10&&(a="0"+a);let s=t.minute();s<10&&(s="0"+s);let n=t.second();return n<10&&(n="0"+n),`${t.year()}-${e}-${i}T${a}-${s}-${n}`}s(a.subscribeAll(["$data.scroll.vertical.preciseOffset","$data.chart.dimensions.width","$data.chart.dimensions.heightWithoutScrollBar"],(function(){const t=a.get("$data.chart.dimensions.width"),e=i.getRealChartHeight();y.style.height=Math.round(e)+"px",y.style.width=t+"px"}),{group:!0}));let k="",x=0,D=0,$="",S=0,P="",C=0,z=0;function I(){const t=i.getGridRows();l(p,t||[],(t=>t),m,!0),o()}s(a.subscribeAll(["$data.list.rowsHeight","$data.list.visibleRows","$data.list.visibleRowsHeight","$data.chart.time.levels","$data.scroll","config.list.rows;","config.list.rows.*;"],(function(e,s){const n=a.get("$data.chart.time"),o=a.get(`$data.chart.time.levels.${n.level}`),r=n.levels[n.level];if(!r||!r.length)return;const l=n.levels[n.level].map((t=>t.currentView.width)).join(",");if(!o||0===o.length)return void a.update("$data.chart.grid",{rows:{},cells:{}});const c=i.getRowsData(),u=a.get("$data.list.visibleRows"),h=u.map((t=>c[t].outerHeight)).join("|"),d=u.join("|"),m=a.get("$data.scroll");if(d===k&&x===n.leftGlobal&&D===n.rightGlobal&&h===$&&S===o.length&&P===l&&m.horizontal.handlePosPx===C&&m.vertical.handlePosPx===z)return"$data.chart.time.levels"===s.path.listener?I():void 0;C=m.horizontal.handlePosPx,z=m.vertical.handlePosPx,x=n.leftGlobal,D=n.rightGlobal,P=l,$=h;let g=0;if(d!==k)for(const t in b)delete b[t];else if(S!==o.length)for(const t in b)b[t].cells.length=0;S=o.length;const p=i.getAllRows(),y=a.get("$data.chart.grid.cells");for(const t in y)delete y[t];for(const e of u){const i=p[e],a=c[e];if(!i||!a)continue;let s,n;d!==k?s=[]:(s=b[e].cells,s.length=0);for(const e of o){let n;v.has(e.leftGlobal)?n=v.get(e.leftGlobal):(n=w(e.leftGlobalDate),v.set(e.leftGlobal,n));const o=i.id+"-"+n;let r;if(y[o])r=y[o],r.id=o,r.time=e,r.row=i,r.rowData=a,r.top=g,r.vido=t,r.content=null;else{const s=Object.create(null);s.id=o,s.time=e,s.row=i,s.rowData=a,s.top=g,s.vido=t,s.content=null,r=s}for(const t of f)r.content=t(r);y[r.id]=r,s.push(r.id)}b[e]?(n=b[e],n.row=i,n.rowData=a,n.cells=s,n.top=g):n={row:i,rowData:a,cells:s,top:g},b[e]=n,g+=a.outerHeight}k=d,a.update("$data.chart.grid",{rows:b,cells:y})}),{group:!0,bulkValue:!1})),s(a.subscribe("$data.chart.grid",I,{group:!0})),s((()=>{p.forEach((t=>t.destroy()))})),h.push(Ee);const T=n.create(h,d),A=i.generateSlots(u,t,e);function M({className:t,styleMap:e,rowsComponents:i,actions:a,slots:s,html:n,vido:o,props:r}){return s.html("outer",n`
|
|
467
|
+
<div class=${t} data-actions=${a()} style=${e.directive()}>
|
|
468
|
+
${s.html("content",i.map((t=>t.html())))}
|
|
469
|
+
</div>
|
|
470
|
+
`)}let W=M;return s(a.subscribe(`config.templates.${u}`,(t=>{W=null!=t?t:M,o()}))),()=>W({className:g,styleMap:y,rowsComponents:p,actions:T,slots:A,html:r,vido:t,props:e})}
|
|
471
|
+
/**
|
|
472
|
+
* ChartTimelineGridRow component
|
|
473
|
+
*
|
|
474
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
475
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
476
|
+
* @module gantt-schedule-timeline-calendar
|
|
477
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
478
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
479
|
+
* @version 3.37.5
|
|
480
|
+
* @released 2024-07-19
|
|
481
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
482
|
+
*/class Ge{constructor(t,e){let i=!1,a=e.state.get("$data.elements.chart-timeline-grid-rows");void 0===a&&(a=[],i=!0),a.includes(t)||(a.push(t),i=!0),i&&e.state.update("$data.elements.chart-timeline-grid-rows",a,{only:null})}destroy(t,e){e.state.update("$data.elements.chart-timeline-grid-rows",(e=>e.filter((e=>e!==t))),{only:null})}}function Be(t,e){const{api:i,state:a,onDestroy:s,cache:n,Actions:o,update:r,html:l,reuseComponents:c,onChange:u,StyleMap:h}=t,d="chart-timeline-grid-row",m=Object.assign(Object.assign({},e),{api:i,state:a,componentName:d});let g;s(a.subscribe("config.components.ChartTimelineGridRowCell",(t=>g=t)));const f=i.getActions(d),p=i.getClass(d),b=new h({height:e.row.height+"px"});let v=!1;const y=i.generateSlots(d,t,e),w=[];u((function(t,a){if(!t||a.leave||void 0===t.row)return v=!0,c(w,[],(t=>t),g,!0),y.change(t,a),void r();v=!1,e=t;const s=i.getGridCells(e.cells);if(c(w,s,(t=>t),g,!0),b.setStyle({}),b.style.height=e.rowData.outerHeight+"px",e.row.style)for(const t in e.row.style)b.style[t]=e.row.style[t];for(const t in e)m[t]=e[t];y.change(t,a)})),s((function(){w.forEach((t=>t.destroy()))})),-1===f.indexOf(Ge)&&f.push(Ge);const k=o.create(f,m);function x({className:t,styleMap:e,rowsCellsComponents:i,cache:a,shouldDetach:s,actions:n,slots:o,html:r,vido:l,props:c}){return a(s||!c||!c.row?null:o.html("outer",r`
|
|
483
|
+
<div
|
|
484
|
+
class=${t}
|
|
485
|
+
data-gstcid=${c.row.id}
|
|
486
|
+
data-actions=${n()}
|
|
487
|
+
style=${e.directive()}
|
|
488
|
+
>
|
|
489
|
+
${o.html("content",i.map((t=>t.html())))}
|
|
490
|
+
</div>
|
|
491
|
+
`))}let D=x;return s(a.subscribe(`config.templates.${d}`,(t=>{D=null!=t?t:x,r()}))),()=>D({className:p,styleMap:b,rowsCellsComponents:w,cache:n,shouldDetach:v,actions:k,slots:y,html:l,vido:t,props:e})}
|
|
492
|
+
/**
|
|
493
|
+
* ChartTimelineGridRowCell component
|
|
494
|
+
*
|
|
495
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
496
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
497
|
+
* @module gantt-schedule-timeline-calendar
|
|
498
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
499
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
500
|
+
* @version 3.37.5
|
|
501
|
+
* @released 2024-07-19
|
|
502
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
503
|
+
*/class He{constructor(t,e){let i=!1,a=e.state.get("$data.elements.chart-timeline-grid-row-cells");void 0===a&&(a=[],i=!0),a.includes(t)||(a.push(t),i=!0),i&&e.state.update("$data.elements.chart-timeline-grid-row-cells",a,{only:null})}destroy(t,e){e.state.update("$data.elements.chart-timeline-grid-row-cells",(e=>e.filter((e=>e!==t))),{only:[""]})}}function Ve(t,e){const{api:i,state:a,cache:s,Actions:n,html:o,onChange:r,onDestroy:l,StyleMap:c,update:u}=t,h="chart-timeline-grid-row-cell",d=Object.assign(Object.assign({},e),{api:i,state:a,componentName:h});let m=!1;const g=i.getActions(h),f=i.generateSlots(h,t,e);let p;function b(t){p=i.getClass(h),t&&t.time&&t.time.current&&(p+=" current")}b(e);const v=new c({width:"",height:""});r((function(t,i){var a,s;if(!t||i.leave||void 0===t.row)return m=!0,f.change(t,i),void u();m=!1,e=t;for(const t in e)d[t]=e[t];if(b(e),v.setStyle({}),e&&e.row){if(v.style.width=((null===(s=null===(a=null==e?void 0:e.time)||void 0===a?void 0:a.currentView)||void 0===s?void 0:s.width)||0)+"px",e.row.style)for(const t in e.row.style)v.style[t]=e.row.style[t];f.change(e,i),u()}})),g.push(He);const y=n.create(g,d);function w({className:t,styleMap:e,cache:i,shouldDetach:a,actions:s,slots:n,html:o,vido:r,props:l}){var c;return i(a||!l||!l.id?null:n.html("outer",o`
|
|
504
|
+
<div class=${t} data-gstcid=${l.id} data-actions=${s()} style=${e.directive()}>
|
|
505
|
+
${n.html("content",null!==(c=l&&l.content)&&void 0!==c?c:null)}
|
|
506
|
+
</div>
|
|
507
|
+
`))}let k=w;return l(a.subscribe(`config.templates.${h}`,(t=>{k=null!=t?t:w,u()}))),()=>k({className:p,styleMap:v,cache:s,shouldDetach:m,actions:y,slots:f,html:o,vido:t,props:e})}
|
|
508
|
+
/**
|
|
509
|
+
* ChartTimelineItems component
|
|
510
|
+
*
|
|
511
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
512
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
513
|
+
* @module gantt-schedule-timeline-calendar
|
|
514
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
515
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
516
|
+
* @version 3.37.5
|
|
517
|
+
* @released 2024-07-19
|
|
518
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
519
|
+
*/function qe(t,e={}){const{api:i,state:a,onDestroy:s,Actions:n,update:o,html:r,reuseComponents:l,StyleMap:c}=t,u="chart-timeline-items";let h,d;s(a.subscribe(`config.actions.${u}`,(t=>h=t))),s(a.subscribe("config.components.ChartTimelineItemsRow",(t=>d=t)));const m=i.getClass(u),g=new c({});let f;s(a.subscribeAll(["$data.chart.dimensions.heightWithoutScrollBar","$data.chart.dimensions.width","$data.scroll.vertical.preciseOffset"],(function(){const t=a.get("$data.chart.dimensions.width"),e=i.getRealChartHeight();g.style.width=t+"px",g.style.height=e+"px"}),{group:!0})),s(a.subscribe("config.debug",(t=>f=t)));const p=[],b={};s(a.subscribeAll(["$data.list.visibleRows","config.list.rows","config.components.ChartTimelineItemsRow","config.chart.items","$data.chart.items"],(function t(){a.mute(t),f&&console.log("[items.ts] Updating item & rows components.");const e=a.get("$data.list.visibleRows")||[],s=i.getRows(e),n=i.getRowsData();for(const t of s)b[t.id]||(b[t.id]={}),b[t.id].row=t,b[t.id].rowData=n[t.id];for(const t in b)e.includes(t)||delete b[t];l(p,s,(t=>t?b[t.id]:null),d,!0),o(),a.unmute(t)}),{group:!0,bulkValue:!1})),s((()=>{p.forEach((t=>t.destroy()))}));const v={api:i,state:a,componentName:u},y=n.create(h,v),w=i.generateSlots(u,t,e);function k({className:t,styleMap:e,rowsComponents:i,actions:a,slots:s,html:n,vido:o,props:r}){return s.html("outer",n`
|
|
520
|
+
<div class=${t} style=${e.directive()} data-actions=${a()}>
|
|
521
|
+
${s.html("content",i.map((t=>t.html())))}
|
|
522
|
+
</div>
|
|
523
|
+
`)}let x=k;return s(a.subscribe(`config.templates.${u}`,(t=>{x=null!=t?t:k,o()}))),()=>x({className:m,styleMap:g,rowsComponents:p,actions:y,slots:w,html:r,vido:t,props:e})}
|
|
524
|
+
/**
|
|
525
|
+
* ChartTimelineItemsRow component
|
|
526
|
+
*
|
|
527
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
528
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
529
|
+
* @module gantt-schedule-timeline-calendar
|
|
530
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
531
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
532
|
+
* @version 3.37.5
|
|
533
|
+
* @released 2024-07-19
|
|
534
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
535
|
+
*/class Ye{constructor(t,e){let i=!1,a=e.state.get("$data.elements.chart-timeline-items-rows");void 0===a&&(a=[],i=!0),a.includes(t)||(a.push(t),i=!0),i&&e.state.update("$data.elements.chart-timeline-items-rows",a,{only:null})}destroy(t,e){e.state.update("$data.elements.chart-timeline-items-rows",(e=>e.filter((e=>e!==t))),{only:null})}}function Fe(t,e){const{api:i,state:a,onDestroy:s,cache:n,Actions:o,update:r,html:l,onChange:c,reuseComponents:u,StyleMap:h}=t,d="chart-timeline-items-row",m=Object.assign(Object.assign({},e),{api:i,state:a,componentName:d});let g;s(a.subscribe("config.components.ChartTimelineItemsRowItem",(t=>g=t)));let f="";const p=[],b=new h({width:"",height:""});let v=!1;function y(t=e.rowData,i=null){const s=a.get("$data.chart");v=!1,b.style.width=s.dimensions.width+"px",e?(b.style.height=t.outerHeight+"px",b.style["--row-height"]=t.outerHeight+"px",r()):v=!0}function w(t,e){if(!t||!e)return v=!0,u(p,[],(()=>null),g,!0),r();const a=e.items;if(void 0===a)return v=!0,u(p,[],(()=>null),g,!0),y(),r();const s=i.getItems(a);s.sort(((t,e)=>t.time.start-e.time.start)),u(p,s,(e=>({row:t,item:e,itemData:e?i.getItemData(e.id):null})),g,!0),y(),r()}const k=i.getClass(d),x=i.generateSlots(d,t,e);c((function(i,a){if(a.leave||!i||void 0===i.row)return v=!0,u(p,[],(()=>null),g,!0),x.change(i,a),r();e=i;for(const t in e)m[t]=e[t];if(e.row.classNames){if(Array.isArray(e.row.classNames)&&e.row.classNames.length)f=k+" "+e.row.classNames.join(" ");else if("function"==typeof e.row.classNames){const i=e.row.classNames({row:e.row,vido:t});Array.isArray(i)&&i.length&&(f=k+" "+i.join(" "))}}else f=k;w(e.row,e.rowData),x.change(i,a),r()})),s(a.subscribe("$data.chart.dimensions.width",(()=>w(e.row,e.rowData)))),s((()=>{p.forEach((t=>t.destroy()))}));const D=i.getActions(d);D.push(Ye);const $=o.create(D,m);function S({classNameCurrent:t,styleMap:e,shouldDetach:i,itemComponents:a,actions:s,slots:n,cache:o,html:r,vido:l,props:c}){return o(i||!c||!c.row?null:n.html("outer",r`
|
|
536
|
+
<div
|
|
537
|
+
class=${t}
|
|
538
|
+
data-gstcid=${c.row.id}
|
|
539
|
+
data-actions=${s()}
|
|
540
|
+
style=${e.directive()}
|
|
541
|
+
>
|
|
542
|
+
${n.html("content",a.map((t=>t.html())))}
|
|
543
|
+
</div>
|
|
544
|
+
`))}let P=S;return s(a.subscribe(`config.templates.${d}`,(t=>{P=null!=t?t:S,r()}))),()=>P({cache:n,shouldDetach:v,classNameCurrent:f,styleMap:b,itemComponents:p,actions:$,slots:x,html:l,vido:t,props:e})}
|
|
545
|
+
/**
|
|
546
|
+
* ChartTimelineItemsRowItem component
|
|
547
|
+
*
|
|
548
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
549
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
550
|
+
* @module gantt-schedule-timeline-calendar
|
|
551
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
552
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
553
|
+
* @version 3.37.5
|
|
554
|
+
* @released 2024-07-19
|
|
555
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
556
|
+
*/class Ue{constructor(t,e){let i=!1,a=e.state.get("$data.elements.chart-timeline-items-row-items");void 0===a&&(a=[],i=!0),a.includes(t)||(a.push(t),i=!0),i&&e.state.update("$data.elements.chart-timeline-items-row-items",a,{only:null})}destroy(t,e){e.state.update("$data.elements.chart-timeline-items-row-items",(e=>e.filter((e=>e!==t))),{only:null})}}function Ke(t,e){const{api:i,state:a,cache:s,onDestroy:n,Actions:o,update:r,html:l,onChange:c,unsafeHTML:u,StyleMap:h}=t;let d,m,g=0,f=0;n(a.subscribe("config.chart.spacing",(t=>{"number"==typeof t?(f=t,g=0):("number"==typeof t.left&&(g=t.left),"number"==typeof t.right&&(f=t.right)),r()})));const p="chart-timeline-items-row-item";let b=0,v=0,y=!1,w="";const k=new h({width:"",height:"",left:"",top:""}),x=new h({}),D=new h({}),$={item:e.item,itemData:e.itemData,row:e.row,left:b,width:v,api:i,state:a,componentName:p},S=i.getClass(p),P=i.getClass(p+"-label"),C=i.generateSlots(p,t,e);let z,I=!1;function T(){var s;const n=a.get("$data.chart.time");if(C.change(e,{leave:!1}),y||0===n.levels.length||!n.levels[n.level]||0===n.levels[n.level].length)return I=!0,r();if(!e.item||!e.itemData)return I=!0,r();if(!a.get("$data.chart.visibleItems").includes(e.item.id))return I=!0,r();const o=e.itemData;if(b=o.position.actualLeft+g,v=o.actualWidth-f-g,e.item.time.end<n.leftGlobal||e.item.time.start>n.rightGlobal||v<=0)return I=!0,o.detached=I,r();if(w=S,e.item.time.start<n.leftGlobal?(x.style.display="flex",w+=" "+i.getClass(p+"--left-cut")):x.style.display="none",e.item.time.end>n.rightGlobal?(D.style.display="flex",w+=" "+i.getClass(p+"--right-cut")):D.style.display="none",e.item.classNames)if(Array.isArray(e.item.classNames)&&e.item.classNames.length)w+=" "+e.item.classNames.join(" ");else if("function"==typeof e.item.classNames){const i=e.item.classNames({item:e.item,vido:t});Array.isArray(i)&&(w+=" "+i.join(" "))}const l=k.style.width,c=k.style.left,u=k.style.top,h=k.style.height;k.setStyle({});const d=i.isItemInViewport(e.item,n.leftGlobal,n.rightGlobal);if(I=!d,o.detached=I,d?(k.style.width=v+"px",k.style.left=b+"px",k.style.top=o.position.actualRowTop+"px",k.style.height=o.actualHeight+"px"):(k.style.width=l,k.style.left=c,k.style.top=u,k.style.height=h),null===(s=null==e?void 0:e.item)||void 0===s?void 0:s.style)for(const t in e.item.style)k.style[t]=e.item.style[t];$.left=b,$.width=v,r()}n(a.subscribe("config.chart.item.cutIcons",(t=>{z={left:i.getSVGIconSrc(t.left),right:i.getSVGIconSrc(t.right)}})));const A=i.getClass(`${p}-cut`)+" "+i.getClass(`${p}--left-cut-icon`),M=i.getClass(`${p}-cut-image`),W=()=>l`
|
|
557
|
+
<div class=${A} style=${x.directive()}>
|
|
558
|
+
<img src="${z.left}" width="18" height="18" class=${M} />
|
|
559
|
+
</div>
|
|
560
|
+
`,_=i.getClass(`${p}-cut`)+" "+i.getClass(`${p}--right-cut-icon`),j=i.getClass(`${p}-cut-image`),R=()=>l`
|
|
561
|
+
<div class=${_} style=${D.directive()}>
|
|
562
|
+
<img src="${z.right}" width="18" height="18" class=${j} />
|
|
563
|
+
</div>
|
|
564
|
+
`;c((function(t,i){if(i.leave||void 0===t.row||void 0===t.item)return y=!0,I=!0,C.change(t,i),r();I=!1,y=!1,(e=t).item.id===d&&e.row.id===m||(d=e.item.id,m=e.row.id),$.item=e.item,$.itemData=e.itemData,$.row=e.row,T(),C.change(t,i),r()}));const O=i.getActions(p);n(a.subscribeAll(["$data.chart.time","$data.chart.visibleItems"],T)),O.push(Ue);const L=o.create(O,$);function E(){return e.item?e.item.isHTML?e.item&&e.item.label?"function"==typeof e.item.label?u(e.item.label({item:e.item,vido:t})):"string"==typeof e.item.label?u(e.item.label):null:null:e.item&&e.item.label?"function"==typeof e.item.label?e.item.label({item:e.item,vido:t}):e.item.label:null:null}function N({className:t,labelClassName:e,styleMap:i,cache:a,shouldDetach:s,cutterLeft:n,cutterRight:o,getContent:r,actions:l,slots:c,html:u,vido:h,props:d}){return a(s||!d||!d.item?null:c.html("outer",u`
|
|
565
|
+
<div
|
|
566
|
+
class=${t}
|
|
567
|
+
data-gstcid=${d.item.id}
|
|
568
|
+
data-actions=${l()}
|
|
569
|
+
style=${i.directive()}
|
|
570
|
+
>
|
|
571
|
+
${c.html("inner",u`
|
|
572
|
+
${n()}
|
|
573
|
+
<div class=${e}>${c.html("content",r())}</div>
|
|
574
|
+
${o()}
|
|
575
|
+
`)}
|
|
576
|
+
</div>
|
|
577
|
+
`))}let G=N;return n(a.subscribe(`config.templates.${p}`,(t=>{G=null!=t?t:N,r()}))),()=>G({className:w,labelClassName:P,cache:s,shouldDetach:I,styleMap:k,cutterLeft:W,cutterRight:R,getContent:E,actions:L,slots:C,html:l,vido:t,props:e})}
|
|
578
|
+
/**
|
|
579
|
+
* Gantt-Schedule-Timeline-Calendar default configuration
|
|
580
|
+
*
|
|
581
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
582
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
583
|
+
* @module gantt-schedule-timeline-calendar
|
|
584
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
585
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
586
|
+
* @version 3.37.5
|
|
587
|
+
* @released 2024-07-19
|
|
588
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
589
|
+
*/const Ze=["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 Qe(){const t={};return Ze.forEach((e=>t[e]=[])),t}function Je(){const t={};return Ze.forEach((e=>t[e]=null)),t}function Xe(){const t={};return Ze.forEach((e=>{t[e]={outer:[],inner:[],"container-outer":[],"container-inner":[],content:[]}})),t}function ti(){const t=[{zoomTo:17,period:"day",periodIncrement:1,classNames:["gstc-date-medium gstc-date-left"],format:({timeStart:t})=>t.format("DD MMMM YYYY (dddd)")},{zoomTo:23,period:"month",periodIncrement:1,format:({timeStart:t})=>t.format("MMMM YYYY")},{zoomTo:24,period:"month",periodIncrement:1,format:({timeStart:t})=>t.format("MMMM 'YY")},{zoomTo:25,period:"month",periodIncrement:1,format:({timeStart:t})=>t.format("MMM YYYY")},{zoomTo:27,period:"year",periodIncrement:1,format:({timeStart:t})=>t.format("YYYY")},{zoomTo:100,period:"year",periodIncrement:1,format:()=>null}],e=[{zoomTo:9,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:1,format:({timeStart:t})=>t.format("HH:mm")},{zoomTo:11,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:5,format:({timeStart:t})=>t.format("HH:mm")},{zoomTo:12,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:15,format:({timeStart:t})=>t.format("HH:mm")},{zoomTo:13,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:30,format:({timeStart:t})=>t.format("HH:mm")},{zoomTo:16,period:"hour",classNames:["gstc-date-medium"],main:!0,periodIncrement:1,format:({timeStart:t})=>t.format("HH:mm")},{zoomTo:17,period:"hour",main:!0,periodIncrement:1,format:({timeStart:t})=>t.format("HH")},{zoomTo:19,period:"day",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:t,className:e,vido:i})=>i.html`<span class="${e}-content gstc-date-bold">${t.format("DD")}</span> <span class="${e}-content gstc-date-thin">${t.format("dddd")}</span>`},{zoomTo:20,period:"day",main:!0,periodIncrement:1,format:({timeStart:t,vido:e,className:i})=>e.html`<div class="${i}-content gstc-date-top">${t.format("DD")}</div><div class="${i}-content gstc-date-small">${t.format("dddd")}</div>`},{zoomTo:21,period:"day",main:!0,periodIncrement:1,format:({timeStart:t,vido:e,className:i})=>e.html`<div class="${i}-content gstc-date-top">${t.format("DD")}</div><div class="${i}-content gstc-date-small">${t.format("ddd")}</div>`},{zoomTo:22,period:"day",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:t,className:e,vido:i})=>i.html`<div class="${e}-content gstc-date-top">${t.format("DD")}</div><div class="${e}-content gstc-date-extra-small">${t.format("ddd")}</div>`},{zoomTo:23,period:"week",main:!0,periodIncrement:1,format:({timeStart:t,timeEnd:e,className:i,vido:a})=>a.html`<div class="${i}-content gstc-date-top">${t.format("DD")} - ${e.format("DD")}</div><div class="${i}-content gstc-date-small gstc-date-thin">${t.format("ddd")} - ${e.format("dd")}</div>`},{zoomTo:25,period:"week",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:t,timeEnd:e,className:i,vido:a})=>a.html`<div class="${i}-content gstc-date-top gstc-date-small gstc-date-normal">${t.format("DD")}</div><div class="gstc-dash gstc-date-small">-</div><div class="${i}-content gstc-date-small gstc-date-normal">${e.format("DD")}</div>`},{zoomTo:26,period:"month",main:!0,periodIncrement:1,classNames:["gstc-date-month-level-1"],format:({timeStart:t,vido:e,className:i})=>e.html`<div class="${i}-content gstc-date-top">${t.format("MMM")}</div><div class="${i}-content gstc-date-small gstc-date-bottom">${t.format("MM")}</div>`},{zoomTo:27,period:"month",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:t,className:e,vido:i})=>i.html`<div class="${e}-content gstc-date-top">${t.format("MM")}</div><div class="${e}-content gstc-date-extra-small">${t.format("MMM")}</div>`},{zoomTo:28,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-big"],format:({timeStart:t})=>t.format("YYYY")},{zoomTo:29,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:t})=>t.format("YYYY")},{zoomTo:30,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:t})=>t.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:De,List:$e,ListColumn:Pe,ListColumnHeader:Ce,ListColumnHeaderResizer:ze,ListColumnRow:Te,ListColumnRowExpander:Ae,ListColumnRowExpanderToggle:Me,ListToggle:We,Chart:_e,ChartCalendar:je,ChartCalendarDate:Oe,ChartTimeline:Le,ChartTimelineGrid:Ne,ChartTimelineGridRow:Be,ChartTimelineGridRowCell:Ve,ChartTimelineItems:qe,ChartTimelineItemsRow:Fe,ChartTimelineItemsRowItem:Ke},slots:Xe(),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:[t,e],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:Qe(),templates:Je(),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:t=>{const e=["th","st","nd","rd"],i=t%100;return`[${t}${e[(i-20)%10]||e[i]||e[0]}]`}},utcMode:!1,merge:(t,e)=>Xt.mergeDeep({},t,e),useLast:!0,Promise:Promise,mute:[],version:"3.37.5"}}
|
|
590
|
+
/*! *****************************************************************************
|
|
591
|
+
Copyright (c) Microsoft Corporation.
|
|
592
|
+
|
|
593
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
594
|
+
purpose with or without fee is hereby granted.
|
|
595
|
+
|
|
596
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
597
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
598
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
599
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
600
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
601
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
602
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
603
|
+
***************************************************************************** */function ei(t,e,i,a){return new(i||(i=Promise))((function(s,n){function o(t){try{l(a.next(t))}catch(t){n(t)}}function r(t){try{l(a.throw(t))}catch(t){n(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,r)}l((a=a.apply(t,e||[])).next())}))}const ii=[];class ai{constructor(t,e,i,a=void 0){this.obj=t,this.delimiter=e,this.wildcard=i,this.is_match=a}shortMatch(t,e){if(t===e)return!0;if(t===this.wildcard)return!0;if(this.is_match)return this.is_match(t,e);const i=t.indexOf(this.wildcard);if(i>-1){const a=t.substr(i+1);if(0===i||e.substring(0,i)===t.substring(0,i)){const t=a.length;return!(t>0)||e.substr(-t)===a}}return!1}match(t,e){return this.is_match?this.is_match(t,e):t===e||t===this.wildcard||e===this.wildcard||this.shortMatch(t,e)||function(t,e,i="*"){if(t===i)return!0;ii.length=0;let a=0,s=0,n=0,o=0;for(let e=0,s=t.length;e<s;e+=1){const s=t[e];s===i&&(a+=1,e>o&&ii.push(t.substring(o,e)),ii.push(s),o=e+1)}if(o<t.length&&ii.push(t.substring(o)),a?(s=t.length-a,n=1/0):n=s=t.length,0===ii.length)return t===e;const r=e.length;if(r<s||r>n)return!1;let l=ii.length-1,c=e.length-1,u=!1;for(;;){const t=ii[l];if(l-=1,t===i)u=!0;else{const i=c+1-t.length,a=e.lastIndexOf(t,i);if(-1===a||a>i)return!1;if(u)c=a-1,u=!1;else{if(a!==i)return!1;c-=t.length}}if(0>l)break}return!0}(t,e,this.wildcard)}handleArray(t,e,i,a,s={}){let n=t.indexOf(this.delimiter,i),o=!1;-1===n&&(o=!0,n=t.length);const r=t.substring(i,n);let l=0;for(const i of e){const e=l.toString(),c=""===a?e:a+this.delimiter+l;(r===this.wildcard||r===e||this.shortMatch(r,e))&&(o?s[c]=i:this.goFurther(t,i,n+1,c,s)),l++}return s}handleObject(t,e,i,a,s={}){let n=t.indexOf(this.delimiter,i),o=!1;-1===n&&(o=!0,n=t.length);const r=t.substring(i,n);for(let i in e){i=i.toString();const l=""===a?i:a+this.delimiter+i;(r===this.wildcard||r===i||this.shortMatch(r,i))&&(o?s[l]=e[i]:this.goFurther(t,e[i],n+1,l,s))}return s}goFurther(t,e,i,a,s={}){return Array.isArray(e)?this.handleArray(t,e,i,a,s):this.handleObject(t,e,i,a,s)}get(t){return this.goFurther(t,this.obj,0,"")}}class si{static get(t,e,i=!1){if(!e)return;let a=e;for(const e of t)if(e in a)a=a[e];else{if(!i)return;a[e]=Object.create({}),a=a[e]}return a}static set(t,e,i){if(!i)return;if(0===t.length){for(const t in i)delete i[t];for(const t in e)i[t]=e[t];return}const a=t.slice(),s=a.pop(),n=si.get(a,i,!0);return"object"==typeof n&&(n[s]=e),e}}let ni,oi=0,ri=null;function li(){return null!==ri&&ri.buffer===ni.memory.buffer||(ri=new Uint8Array(ni.memory.buffer)),ri}let ci=new TextEncoder("utf-8");const ui="function"==typeof ci.encodeInto?function(t,e){return ci.encodeInto(t,e)}:function(t,e){const i=ci.encode(t);return e.set(i),{read:t.length,written:i.length}};function hi(t,e,i){if(void 0===i){const i=ci.encode(t),a=e(i.length);return li().subarray(a,a+i.length).set(i),oi=i.length,a}let a=t.length,s=e(a);const n=li();let o=0;for(;o<a;o++){const e=t.charCodeAt(o);if(e>127)break;n[s+o]=e}if(o!==a){0!==o&&(t=t.slice(o)),s=i(s,a,a=o+3*t.length);const e=li().subarray(s+o,s+a);o+=ui(t,e).written}return oi=o,s}function di(t,e){var i=hi(t,ni.__wbindgen_malloc,ni.__wbindgen_realloc),a=oi,s=hi(e,ni.__wbindgen_malloc,ni.__wbindgen_realloc),n=oi;return 0!==ni.is_match(i,a,s,n)}async function mi(t){("string"==typeof t||"function"==typeof Request&&t instanceof Request||"function"==typeof URL&&t instanceof URL)&&(t=fetch(t));const{instance:e,module:i}=await async function(t,e){if("function"==typeof Response&&t instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(t,e)}catch(e){if("application/wasm"==t.headers.get("Content-Type"))throw e;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",e)}const i=await t.arrayBuffer();return await WebAssembly.instantiate(i,e)}{const i=await WebAssembly.instantiate(t,e);return i instanceof WebAssembly.Instance?{instance:i,module:t}:i}}(await t,{});return ni=e.exports,mi.__wbindgen_wasm_module=i,ni}const gi={only:[],source:"",debug:!1,data:void 0,queue:!1,force:!1};function fi(t,e){console.debug(t,e)}function pi(t){return t&&t.constructor?"Object"===t.constructor.name:"object"==typeof t&&null!==t}class bi{constructor(t={},e={}){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:fi,Promise:Promise}),e),this.data=t,this.id=0,this.options.useCache?(this.pathGet=this.cacheGet,this.pathSet=this.cacheSet):(this.pathGet=si.get,this.pathSet=si.set),e.Promise?this.resolved=e.Promise.resolve():this.resolved=Promise.resolve(),this.muted=new Set,this.mutedListeners=new Set,this.scan=new ai(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(t,e=this.data,i=!1){const a=t.join(this.options.delimiter),s=this.cache.get(a);if(s){const t=s.deref();if(t)return t}const n=si.get(t,e,i);return(pi(n)||Array.isArray(n))&&this.cache.set(a,new WeakRef(n)),n}cacheSet(t,e,i=this.data){const a=t.join(this.options.delimiter);return pi(e)||Array.isArray(e)?this.cache.set(a,new WeakRef(e)):this.cache.delete(a),si.set(t,e,i)}silentSet(t,e){return this.pathSet(this.split(t),e,this.data)}loadWasmMatcher(t){return ei(this,void 0,void 0,(function*(){yield mi(t),this.is_match=di,this.scan=new ai(this.data,this.options.delimiter,this.options.wildcard,this.is_match)}))}same(t,e){return(["number","string","undefined","boolean"].includes(typeof t)||null===t)&&e===t}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(t,e,i=!0){return this.is_match?this.is_match(t,e):t===e||(t===this.options.wildcard||e===this.options.wildcard||!(!i&&this.getIndicesCount(this.options.delimiter,t)<this.getIndicesCount(this.options.delimiter,e))&&this.scan.match(t,e))}getIndicesOf(t,e){if(this.options.useIndicesCache&&this.indices.has(e))return this.indices.get(e);const i=t.length;if(0==i)return[];let a,s=0,n=[];for(;(a=e.indexOf(t,s))>-1;)n.push(a),s=a+i;return this.options.useIndicesCache&&this.indices.set(e,n),n}getIndicesCount(t,e){if(this.options.useIndicesCache&&this.indicesCount.has(e))return this.indicesCount.get(e);const i=t.length;if(0==i)return 0;let a,s=0,n=0;for(;(a=e.indexOf(t,s))>-1;)n++,s=a+i;return this.options.useIndicesCache&&this.indicesCount.set(e,n),n}cutPath(t,e){if(""===e)return"";if((t=this.cleanNotRecursivePath(t))===(e=this.cleanNotRecursivePath(e)))return t;const i=this.getIndicesCount(this.options.delimiter,e),a=this.getIndicesOf(this.options.delimiter,t);return t.substring(0,a[i])}trimPath(t){return(t=this.cleanNotRecursivePath(t)).charAt(0)===this.options.delimiter?t.substr(1):t}split(t){if(""===t)return[];if(!this.options.useSplitCache)return t.split(this.options.delimiter);const e=this.splitCache.get(t);if(e)return e.slice();const i=t.split(this.options.delimiter);return this.splitCache.set(t,i.slice()),i}isWildcard(t){return t.includes(this.options.wildcard)||this.hasParams(t)}isNotRecursive(t){return t.endsWith(this.options.notRecursive)}cleanNotRecursivePath(t){return this.isNotRecursive(t)?t.substring(0,t.length-1):t}hasParams(t){return t.includes(this.options.param)}getParamsInfo(t){let e={replaced:"",original:t,params:{}},i=0,a=[];for(const s of this.split(t)){e.params[i]={original:s,replaced:"",name:""};const t=new RegExp(`\\${this.options.param}([^\\${this.options.delimiter}\\${this.options.param}]+)`,"g");let n=t.exec(s);n?(e.params[i].name=n[1],t.lastIndex=0,e.params[i].replaced=s.replace(t,this.options.wildcard),a.push(e.params[i].replaced),i++):(delete e.params[i],a.push(s),i++)}return e.replaced=a.join(this.options.delimiter),e}getParams(t,e){if(!t)return;const i=this.split(e),a={};for(const e in t.params){a[t.params[e].name]=i[e]}return a}waitForAll(t,e){const i={};for(let e of t)i[e]={dirty:!1},this.hasParams(e)&&(i[e].paramsInfo=this.getParamsInfo(e)),i[e].isWildcard=this.isWildcard(e),i[e].isRecursive=!this.isNotRecursive(e);return this.waitingListeners.set(t,{fn:e,paths:i}),e(i),function(){this.waitingListeners.delete(t)}}executeWaitingListeners(t){if(!this.destroyed)for(const e of this.waitingListeners.values()){const{fn:i,paths:a}=e;let s=0,n=0;for(let e in a){const i=a[e];let o=!1;i.isRecursive&&(t=this.cutPath(t,e)),i.isWildcard&&this.match(e,t)&&(o=!0),t===e&&(o=!0),o&&(i.dirty=!0),i.dirty&&s++,n++}s===n&&i(a)}}subscribeAll(t,e,i=this.getDefaultListenerOptions()){if(this.destroyed)return()=>{};let a=[],s=0,n=null;"boolean"==typeof i.group&&i.group?(this.groupId++,n=this.groupId,i.bulk=!0):"string"==typeof i.group&&(i.bulk=!0,n=i.group);for(const o of t)a.push(this.subscribe(o,e,i,{all:t,index:s,groupId:n})),s++;return function(){for(const t of a)t()}}getCleanListenersCollection(t={}){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},t)}getCleanListener(t,e=this.getDefaultListenerOptions()){return{fn:t,options:Object.assign(Object.assign({},this.getDefaultListenerOptions()),e),groupId:null}}getListenerCollectionMatch(t,e,i){t=this.cleanNotRecursivePath(t);const a=this;return function(s,n=!1){let o=t;return e?s=a.cutPath(s,t):o=a.cutPath(a.cleanNotRecursivePath(t),s),n&&console.log("[getListenerCollectionMatch]",{listenerPath:t,scopedListenerPath:o,path:s,isRecursive:e,isWildcard:i}),!(!i||!a.match(o,s,e))||o===s}}getListenersCollection(t,e){if(this.listeners.has(t)){let i=this.listeners.get(t);return i.listeners.set(++this.id,e),e.id=this.id,i}const i=this.hasParams(t);let a;i&&(a=this.getParamsInfo(t));let s={isRecursive:!this.isNotRecursive(t),isWildcard:this.isWildcard(t),hasParams:i,paramsInfo:a,originalPath:t,path:i?a.replaced:t};s.isRecursive||(s.path=this.cleanNotRecursivePath(s.path));let n=this.getCleanListenersCollection(Object.assign(Object.assign({},s),{match:this.getListenerCollectionMatch(s.path,s.isRecursive,s.isWildcard)}));return this.id++,n.listeners.set(this.id,e),e.id=this.id,this.listeners.set(s.originalPath,n),n}subscribe(t,e,i=this.getDefaultListenerOptions(),a={all:[t],index:0,groupId:null}){if(this.destroyed)return()=>{};this.jobsRunning++;const s="subscribe";let n=this.getCleanListener(e,i);i.group&&(i.bulk=!0,"string"==typeof i.group?n.groupId=i.group:a.groupId&&(n.groupId=a.groupId)),this.listenersIgnoreCache.set(n,{truthy:[],falsy:[]});const o=this.getListenersCollection(t,n);i.debug&&console.log("[subscribe]",{listenerPath:t,options:i}),o.count++;let r=!0;if(n.groupId&&("string"==typeof n.groupId?this.namedGroups.includes(n.groupId)?r=!1:this.namedGroups.push(n.groupId):"number"==typeof n.groupId&&(this.numberGroups.includes(n.groupId)?r=!1:this.numberGroups.push(n.groupId))),r){const a=this.cleanNotRecursivePath(o.path),r=this.split(a);if(o.isWildcard){const r=this.scan.get(a);if(i.bulk){const a=[];for(const t in r)this.isMuted(t)||a.push({path:t,params:this.getParams(o.paramsInfo,t),value:r[t]});this.isMuted(e)||e(a,{type:s,listener:n,listenersCollection:o,path:{listener:t,update:void 0,resolved:void 0},options:i,params:void 0})}else for(const a in r)this.isMuted(a)||this.isMuted(e)||e(r[a],{type:s,listener:n,listenersCollection:o,path:{listener:t,update:void 0,resolved:this.cleanNotRecursivePath(a)},params:this.getParams(o.paramsInfo,a),options:i})}else this.isMuted(a)||this.isMuted(e)||e(this.pathGet(r,this.data),{type:s,listener:n,listenersCollection:o,path:{listener:t,update:void 0,resolved:this.cleanNotRecursivePath(t)},params:this.getParams(o.paramsInfo,a),options:i})}return this.debugSubscribe(n,o,t),this.jobsRunning--,this.unsubscribe(t,this.id)}unsubscribe(t,e){const i=this.listeners,a=i.get(t);return function(){a.listeners.delete(e),a.count--,0===a.count&&i.delete(t)}}runQueuedListeners(){if(!this.destroyed&&0!==this.subscribeQueue.length)if(0===this.jobsRunning){this.queueRuns=0;const t=[...this.subscribeQueue];for(let e=0,i=t.length;e<i;e++)t[e]();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((t=>{throw t}))}}getQueueNotifyListeners(t,e=[]){for(const i in t){if(this.isMuted(i))continue;let{single:a,bulk:s}=t[i];for(const t of a){let i=!1,a=t.listener.id+":"+t.eventInfo.path.resolved;t.eventInfo.path.resolved||(a=t.listener.id+":"+t.eventInfo.path.listener);for(const t of e)if(a===t.resolvedIdPath){i=!0;break}if(i)continue;const s=this.debugTime(t);if(!this.isMuted(t.listener.fn))if(t.listener.options.queue&&this.jobsRunning)this.subscribeQueue.push((()=>{t.listener.fn(t.value?t.value():void 0,t.eventInfo)}));else{let i=t.listener.id+":"+t.eventInfo.path.resolved;t.eventInfo.path.resolved||(i=t.listener.id+":"+t.eventInfo.path.listener),e.push({id:t.listener.id,resolvedPath:t.eventInfo.path.resolved,resolvedIdPath:i,originalFn:t.listener.fn,fn:()=>{t.listener.fn(t.value?t.value():void 0,t.eventInfo)},options:t.listener.options,groupId:t.listener.groupId})}this.debugListener(s,t)}for(const t of s){let i=!1;for(const a of e)if(a.id===t.listener.id){i=!0;break}if(i)continue;const a=this.debugTime(t),s=[];for(const e of t.value)s.push(Object.assign(Object.assign({},e),{value:e.value?e.value():void 0}));if(!this.isMuted(t.listener.fn))if(t.listener.options.queue&&this.jobsRunning)this.subscribeQueue.push((()=>!this.jobsRunning&&(t.listener.fn(s,t.eventInfo),!0)));else{let i=t.listener.id+":"+t.eventInfo.path.resolved;t.eventInfo.path.resolved||(i=t.listener.id+":"+t.eventInfo.path.listener),e.push({id:t.listener.id,resolvedPath:t.eventInfo.path.resolved,resolvedIdPath:i,originalFn:t.listener.fn,fn:()=>{t.listener.fn(s,t.eventInfo)},options:t.listener.options,groupId:t.listener.groupId})}this.debugListener(a,t)}}return Promise.resolve().then((()=>this.runQueuedListeners())),e}shouldIgnore(t,e){if(!t.options.ignore)return!1;for(const i of t.options.ignore){if(e.startsWith(i))return!0;if(this.is_match&&this.is_match(i,e))return!0;{const t=this.cutPath(e,i);if(this.match(i,t))return!0}}return!1}getSubscribedListeners(t,e,i,a="update",s=null){i=Object.assign(Object.assign({},gi),i);const n={};for(let[o,r]of this.listeners)if(r.match(t)){n[o]={single:[],bulk:[],bulkData:[]};const l=r.paramsInfo?this.getParams(r.paramsInfo,t):void 0,c=this.cutPath(t,o),u=r.isRecursive||r.isWildcard?()=>this.get(c):()=>e,h=[{value:u,path:t,params:l}];for(const e of r.listeners.values())this.shouldIgnore(e,t)?e.options.debug&&console.log("[getSubscribedListeners] Listener was not fired because it was ignored.",{listener:e,listenersCollection:r}):e.options.bulk?n[o].bulk.push({listener:e,listenersCollection:r,eventInfo:{type:a,listener:e,path:{listener:o,update:s||t,resolved:void 0},params:l,options:i},value:h}):n[o].single.push({listener:e,listenersCollection:r,eventInfo:{type:a,listener:e,path:{listener:o,update:s||t,resolved:this.cleanNotRecursivePath(t)},params:l,options:i},value:u})}else if(this.options.extraDebug){let e=!1;for(const i of r.listeners.values())i.options.debug&&(e=!0,console.log("[getSubscribedListeners] Listener was not fired because there was no match.",{listener:i,listenersCollection:r,updatePath:t}));e&&r.match(t,!0)}return n}notifySubscribedListeners(t,e,i,a="update",s=null){return this.getQueueNotifyListeners(this.getSubscribedListeners(t,e,i,a,s))}useBulkValue(t){for(const[e,i]of t.listeners){if(i.options.bulk&&i.options.bulkValue)return!0;if(!i.options.bulk)return!0}return!1}getNestedListeners(t,e,i,a="update",s=null){const n={},o={};for(let[r,l]of this.listeners){if(!l.isRecursive)continue;const c=this.cutPath(r,t);if(this.match(c,t)){n[r]={single:[],bulk:[]};const u=this.trimPath(r.substr(c.length)),h=this.useBulkValue(l);let d;h&&(d=o[u]?o[u]:new ai(e,this.options.delimiter,this.options.wildcard).get(u),o[u]=d);const m=l.paramsInfo?this.getParams(l.paramsInfo,t):void 0,g=[],f={};for(const[e,o]of l.listeners)if(h)for(const c in d){const u=()=>d[c],h=[t,c].join(this.options.delimiter),p={type:a,listener:o,listenersCollection:l,path:{listener:r,update:s||t,resolved:this.cleanNotRecursivePath(h)},params:m,options:i};this.shouldIgnore(o,t)||(o.options.bulk?(g.push({value:u,path:h,params:m}),f[e]=o):n[r].single.push({listener:o,listenersCollection:l,eventInfo:p,value:u}))}else{const c={type:a,listener:o,listenersCollection:l,path:{listener:r,update:s||t,resolved:void 0},params:m,options:i};if(this.shouldIgnore(o,t))continue;o.options.bulk?(g.push({value:void 0,path:void 0,params:m}),f[e]=o):n[r].single.push({listener:o,listenersCollection:l,eventInfo:c,value:void 0})}for(const e in f){const s=f[e],o={type:a,listener:s,listenersCollection:l,path:{listener:r,update:t,resolved:void 0},options:i,params:m};n[r].bulk.push({listener:s,listenersCollection:l,eventInfo:o,value:g})}}else if(this.options.extraDebug)for(const e of l.listeners.values())e.options.debug&&console.log("[getNestedListeners] Listener was not fired because there was no match.",{listener:e,listenersCollection:l,currentCutPath:c,updatePath:t})}return n}notifyNestedListeners(t,e,i,a="update",s,n=null){return this.getQueueNotifyListeners(this.getNestedListeners(t,e,i,a,n),s)}getNotifyOnlyListeners(t,e,i,a="update",s=null){const n={};if("object"!=typeof i.only||!Array.isArray(i.only)||void 0===i.only[0]||!this.canBeNested(e))return n;for(const o of i.only){const r=new ai(e,this.options.delimiter,this.options.wildcard).get(o);n[o]={bulk:[],single:[]};for(const e in r){const l=t+this.options.delimiter+e;for(const[c,u]of this.listeners){const h=u.paramsInfo?this.getParams(u.paramsInfo,l):void 0;if(this.match(c,l)){const d=()=>r[e],m=[{value:d,path:l,params:h}];for(const e of u.listeners.values()){const r={type:a,listener:e,listenersCollection:u,path:{listener:c,update:s||t,resolved:this.cleanNotRecursivePath(l)},params:h,options:i};this.shouldIgnore(e,t)||(e.options.bulk?n[o].bulk.some((t=>t.listener===e))||n[o].bulk.push({listener:e,listenersCollection:u,eventInfo:r,value:m}):n[o].single.push({listener:e,listenersCollection:u,eventInfo:r,value:d}))}}}}}return n}runQueue(t){const e=[];for(const i of t)i.options.group?e.includes(i.groupId)||(i.fn(),e.push(i.groupId)):i.fn()}sortAndRunQueue(t,e){t.sort((function(t,e){return t.id-e.id})),this.options.debug&&console.log(`[deep-state-observer] queue for ${e}`,t),this.runQueue(t)}notifyOnly(t,e,i,a="update",s=""){const n=this.getQueueNotifyListeners(this.getNotifyOnlyListeners(t,e,i,a,s));this.sortAndRunQueue(n,t)}canBeNested(t){return"object"==typeof t&&null!==t}getUpdateValues(t,e){let i=e;return"function"==typeof e&&(i=e(t)),{newValue:i,oldValue:t}}wildcardNotify(t,e){let i=[];for(const e of t)this.getQueueNotifyListeners(e,i);for(const t of e)this.executeWaitingListeners(t);return this.jobsRunning--,i}wildcardUpdate(t,e,i=gi,a=!1){++this.jobsRunning,i=Object.assign(Object.assign({},gi),i);const s=this.scan.get(t),n={};for(const t in s){const a=this.split(t),{oldValue:o,newValue:r}=this.getUpdateValues(s[t],e);this.same(r,o)&&!i.force||(this.pathSet(a,r,this.data),n[t]=r)}const o=[],r=[];for(const e in n){const a=n[e];i.only.length?o.push(this.getNotifyOnlyListeners(e,a,i,"update",t)):(o.push(this.getSubscribedListeners(e,a,i,"update",t)),this.canBeNested(a)&&o.push(this.getNestedListeners(e,a,i,"update",t))),i.debug&&this.options.log("Wildcard update",{path:e,newValue:a}),r.push(e)}if(a){const e=this;return function(){const i=e.wildcardNotify(o,r);e.sortAndRunQueue(i,t)}}const l=this.wildcardNotify(o,r);this.sortAndRunQueue(l,t)}runUpdateQueue(){if(!this.destroyed)for(;this.updateQueue.length&&this.updateQueue.length<this.options.maxSimultaneousJobs;){const t=this.updateQueue.shift();t.options.queue=!1,this.update(t.updatePath,t.fnOrValue,t.options,t.multi)}}updateNotify(t,e,i){const a=this.notifySubscribedListeners(t,e,i);this.canBeNested(e)&&this.notifyNestedListeners(t,e,i,"update",a),this.sortAndRunQueue(a,t),this.executeWaitingListeners(t)}updateNotifyAll(t){let e=[];for(const i of t){const t=i.newValue;if(this.tracing.length){const e=this.tracing[this.tracing.length-1],a=this.traceMap.get(e);a.changed.push({traceId:e,updatePath:i.updatePath,fnOrValue:t,options:i.options}),this.traceMap.set(e,a)}e=e.concat(this.notifySubscribedListeners(i.updatePath,t,i.options)),this.canBeNested(i.newValue)&&this.notifyNestedListeners(i.updatePath,t,i.options,"update",e)}this.runQueue(e)}updateNotifyOnly(t,e,i){this.notifyOnly(t,e,i),this.executeWaitingListeners(t)}update(t,e,i=Object.assign({},gi),a=!1){if(this.destroyed)return;if(this.collection)return this.collection.update(t,e,i);if(this.tracing.length){const a=this.tracing[this.tracing.length-1],s=this.traceMap.get(a);s.changed.push({traceId:a,updatePath:t,fnOrValue:e,options:i}),this.traceMap.set(a,s)}const s=this.jobsRunning;if((this.options.queue||i.queue)&&s){if(s>this.options.maxSimultaneousJobs)throw new Error("Maximal simultaneous jobs limit reached.");this.updateQueue.push({updatePath:t,fnOrValue:e,options:i,multi:a});const n=Promise.resolve().then((()=>{this.runUpdateQueue()}));return a?function(){return n}:n}if(this.isWildcard(t))return this.wildcardUpdate(t,e,i,a);++this.jobsRunning;const n=this.split(t),o=this.pathGet(n,this.data);let{oldValue:r,newValue:l}=this.getUpdateValues(o,e);if(i.debug&&this.options.log(`Updating ${t} ${i.source?`from ${i.source}`:""}`,{oldValue:r,newValue:l}),this.same(l,r)&&!i.force)return--this.jobsRunning,a?function(){return l}:l;if(this.pathSet(n,l,this.data),null===(i=Object.assign(Object.assign({},gi),i)).only)return--this.jobsRunning,a?function(){}:l;if(i.only.length){if(--this.jobsRunning,a){const e=this;return function(){return e.updateNotifyOnly(t,l,i)}}return this.updateNotifyOnly(t,l,i),l}if(a){--this.jobsRunning;const e=this;return function(){return e.updateNotify(t,l,i)}}return this.updateNotify(t,l,i),--this.jobsRunning,l}multi(t=!1){if(this.destroyed)return{update(){return this},done(){},getStack:()=>[]};if(this.collection)return this.collection;const e=this,i=[],a=[];return{update(s,n,o=gi){if(t){const t=e.split(s);let a=n;const r=e.pathGet(t,e.data);"function"==typeof a&&(a=a(r)),e.pathSet(t,a,e.data),i.push({updatePath:s,newValue:a,options:o})}else a.push(e.update(s,n,o,!0));return this},done(){if(0===e.collections){if(t)e.updateNotifyAll(i);else for(const t of a)t();i.length=0}},getStack:()=>i}}collect(){return this.collections++,this.collection||(this.collection=this.multi(!0)),this.collection}executeCollected(){if(this.collections--,0===this.collections&&this.collection){const t=this.collection;this.collection=null,t.done()}}getCollectedCount(){return this.collections}getCollectedStack(){return this.collection?this.collection.getStack():[]}get(t=void 0){if(!this.destroyed)return void 0===t||""===t?this.data:this.isWildcard(t)?this.scan.get(t):this.pathGet(this.split(t),this.data)}last(t){let e=this.lastExecs.get(t);e||(e={calls:0},this.lastExecs.set(t,e));const i=++e.calls;this.resolved.then((()=>{i===e.calls&&(this.lastExecs.set(t,{calls:0}),t())}))}isMuted(t){if(!this.options.useMute)return!1;if("function"==typeof t)return this.isMutedListener(t);for(const e of this.muted){const i=!this.isNotRecursive(e),a=this.trimPath(e);if(this.match(t,a))return!0;if(this.match(a,t))return!0;if(i){const i=this.cutPath(a,t);if(this.match(i,e))return!0;if(this.match(e,i))return!0}}return!1}isMutedListener(t){return this.mutedListeners.has(t)}mute(t){if("function"==typeof t)return this.mutedListeners.add(t);this.muted.add(t)}unmute(t){if("function"==typeof t)return this.mutedListeners.delete(t);this.muted.delete(t)}debugSubscribe(t,e,i){t.options.debug&&this.options.log("listener subscribed",{listenerPath:i,listener:t,listenersCollection:e})}debugListener(t,e){(e.eventInfo.options.debug||e.listener.options.debug)&&this.options.log("Listener fired",{time:Date.now()-t,info:e})}debugTime(t){return t.listener.options.debug||t.eventInfo.options.debug?Date.now():0}startTrace(t,e=null){this.traceId++;const i=this.traceId+":"+t;return this.traceMap.set(i,{id:i,sort:this.traceId,stack:this.tracing.map((t=>t)),additionalData:e,changed:[]}),this.tracing.push(i),i}stopTrace(t){const e=this.traceMap.get(t);return this.tracing.pop(),this.traceMap.delete(t),e}saveTrace(t){const e=this.traceMap.get(t);return this.tracing.pop(),this.traceMap.delete(t),this.savedTrace.push(e),e}getSavedTraces(){const t=this.savedTrace.map((t=>t));return t.sort(((t,e)=>t.sort-e.sort)),this.savedTrace=[],t}}const vi=Xt.mergeDeep;function yi(t){const e=ti();let i=function(t,e){return Xt.mergeDeep(t,e)};"function"==typeof t.merge&&(i=t.merge);const a=function(t,e,i){const a=i({},e.actions),s=i({},t.actions||{});let n=[...Object.keys(a),...Object.keys(s)];n=n.filter((t=>n.includes(t)));const o={};for(const t of n)o[t]=[],void 0!==a[t]&&Array.isArray(a[t])&&(o[t]=[...a[t]]),void 0!==s[t]&&Array.isArray(s[t])&&(o[t]=[...o[t],...s[t]]);return delete t.actions,delete e.actions,o}(t,e,i),s={config:i(e,t)};return s.config.actions=a,s}oe.extend(le),oe.extend(ue);const wi=!0;const ki=ti().locale,xi={name:"gstc",GSTCID:de.GSTCID,isGSTCID:de.isGSTCID,sourceID:de.sourceID,fromArray(t){const e=this.GSTCID,i={};for(const a of t)a.id=e(a.id),"rowId"in a&&(a.rowId=e(a.rowId)),"parentId"in a&&(a.parentId=e(a.parentId)),"dependant"in a&&(a.dependant=a.dependant.map((t=>e(t)))),"linkedWith"in a&&(a.linkedWith=a.linkedWith.map((t=>e(t)))),i[a.id]=a;return i},stateFromConfig:function(t){return this.state=new bi(yi(t),{delimiter:".",useMute:wi,maxSimultaneousJobs:1e3,Promise:t.Promise,debug:!!t.debug,useCache:!1,useSplitCache:!0,useIndicesCache:!1,defaultBulkValue:!1})},wasmStateFromConfig:function(t,e="./wildcard_matcher_bg.wasm"){return xe(this,void 0,void 0,(function*(){return this.state=new bi(yi(t),{delimiter:".",useMute:wi,maxSimultaneousJobs:1e3}),yield this.state.loadWasmMatcher(e),this.state}))},merge:vi,mergeDeep:vi,clone:function(t){return vi({},t)},lithtml:E,html:E,vido:se,date:(t,e=!1,i=vi({},ki))=>(oe.locale(i,null,!0),e?t?oe.utc(t).locale(i.name):oe.utc().locale(i.name):t?oe(t).locale(i.name):oe().locale(i.name)),setPeriod(t){return this.state.update("config.chart.time.period",t),this.state.get("config.chart.time.zoom")},dayjs:oe};
|
|
604
|
+
/**
|
|
605
|
+
* Main api
|
|
606
|
+
*
|
|
607
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
608
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
609
|
+
* @module gantt-schedule-timeline-calendar
|
|
610
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
611
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
612
|
+
* @version 3.37.5
|
|
613
|
+
* @released 2024-07-19
|
|
614
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
615
|
+
*/
|
|
616
|
+
function Di(t,e){const{api:i,onDestroy:a,state:s,update:n,StyleMap:o}=t,r=i.name,l=new Map;let c;a(s.subscribe("config.debug",(t=>c=t)));let u=!1;function h(t,e){"fullReload"!==e.options.data&&f.fullReload(e)}function d(t,e){var i;["config","config.chart.items"].includes(e.path.update)||"config.list.rows"===e.path.update&&"expanded"!==(null===(i=e.options.data)||void 0===i?void 0:i.name)||(["config.list.rows.*.parentId"].includes(e.path.listener)?function(t,e){"subscribe"!==e.type&&"sortRowsByColumn"!==e.options.data&&"fullReload"!==e.options.data&&f.partialReload(!0,e)}(0,e):function(t,e){"subscribe"!==e.type&&"fullReload"!==e.options.data&&f.partialReload(!1,e)}(0,e))}function m(t=null,e){e&&"subscribe"===e.type||e&&e.options.data&&"update-visible-items"===e.options.data||f.minimalReload(e)}function g(){l.forEach((t=>t())),l.clear(),c&&console.log("Plugins destroyed.")}var f={className:pe(r),styleMap:new o({}),initializePlugins(){a(s.subscribe("config.plugins",(e=>{if(void 0!==e&&Array.isArray(e)){l.forEach(((t,i)=>{e.includes(i)||(t(),l.delete(i))}));for(const i of e){if(l.has(i))continue;let e=i(t);"function"!=typeof e&&Object.prototype.hasOwnProperty.call(e,"destroy")?e=e.destroy.bind(e):"function"!=typeof e&&(e=()=>{}),l.set(i,e)}}c&&console.log("Plugins initialized.")}))),a(g)},heightChange(){if(i.isMutedMethod("heightChange"))return;const t=s.get("config"),e=s.get("config.scroll.horizontal.width"),a=t.innerHeight-e;s.multi(!0).update("$data.chart.dimensions.heightWithoutScrollBar",a).update("$data.chart.dimensions.innerHeight",t.innerHeight).update("$data.chart.dimensions.height",t.innerHeight+t.headerHeight).update("$data.height",t.innerHeight+t.headerHeight).done(),f.styleMap.style["--height"]=a+"px",f.styleMap.style.height=t.innerHeight+t.headerHeight+"px",i.calculateVerticalScrollSize(),n()},resizerActiveChange(t){u=t,f.className=pe(i.name),u&&(f.className+=` ${i.name}__list-column-header-resizer--active`),n()},generateTreeFromVisibleRows(){if(i.isMutedMethod("generateTreeFromVisibleRows"))return;const t=i.getVisibleRowsId(),e=i.getAllRows(),a=i.getRowsData(),o={},r=s.get("config.chart.items"),l={};for(const i of t){e[i];const t=a[i];o[i]=t;for(const e of t.items)l[e]=r[e]}i.makeTreeMap(o,l,!0),n()},generateTree(t=!0){let e=s.get("$data.list.rowsIds");if(!e)return;e=e.slice();const a=s.get("config.list.rows");if(!t)return f.generateTreeFromVisibleRows();i.fillEmptyRowValues(a);let n=i.getAllRows();const o=i.getRowsData(),r=s.get("config.chart.items");i.makeTreeMap(o,r),n=i.sortRowsByChildren(Object.values(n).map((t=>t.id)));s.get("config").list.rows=n,i.prepareItems(r);const l=Object.keys(n);s.update("$data.list.rowsIds",l),i.setAllRowsIdsCache(l)},prepareExpanded(){if(i.isMutedMethod("prepareExpanded"))return;const t=i.getAllRows();if(!t)return;const e=i.generateRowsWithParentsExpanded(t);s.update("$data.list.rowsWithParentsExpanded",e)},generateVisibleRowsAndItems(){if(i.isMutedMethod("generateVisibleRowsAndItems"))return;const t=i.getVisibleRows(),e=s.get("$data.list.visibleRows")||[];let a=!0;t.length!==e.length?a=!0:t.length&&(a=t.join("|")!==e.join("|"));let o=s.multi(!0);a&&(o=o.update("$data.list.visibleRows",t));const r=[],l=i.getRowsData();for(const e of t){const t=l[e];for(const e of t.items)r.push(e)}const c=s.get("$data.chart.visibleItems")||[];r.join("|")!==c.join("|")&&(o=o.update("$data.chart.visibleItems",r)),o.done(),n()},updateItemsVerticalPositions(){const t=i.getAllItems(),e=i.getItemsData(),a=i.getRowsData(),s=i.getVisibleRows(),n=[];for(const t of s){const e=a[t];if(e)for(const t of e.items)n.includes(t)||n.push(t)}for(const s of n){const n=t[s];n&&i.calculateItemVerticalPosition(s,e[s],a[n.rowId])}},getMutedListeners(){const t=[];return s.isMutedListener(h)&&t.push(h),s.isMutedListener(d)&&t.push(d),s.isMutedListener(m)&&t.push(m),t},triggerLoadedEvent(){Promise.resolve().then((()=>{const t=s.get("$data.elements.main");if(!t)return;const e=t.parentNode;if(!e)return;const i=new Event("gstc-loaded");t.dispatchEvent(i),e.dispatchEvent(i)}))},getLastPageDatesWidth(t,e){if(0===e.length)return 0;let i=0,a=0;if(e.length){if(Math.ceil(e[e.length-1].rightPx)>t)for(let s=e.length-1;s>=0;s--){const n=e[s];if(i+=n.width,i>=t){i-=n.width;break}a++}}return s.update("$data.scroll.horizontal",(t=>(t.lastPageSize=i,t.lastPageCount=a,t))),i},formatDate(e,i,a){const s=pe("chart-calendar-date");return e.format({timeStart:i.leftGlobalDate.locale(a),timeEnd:i.rightGlobalDate.locale(a),vido:t,className:s,props:{date:i}})},generatePeriodDates(t,e,a,n){const o=t.period,r=e.fromDate,l=e.toDate,c=s.get("config.locale.name");let u=i.time.generatePeriodDates({leftDate:r,rightDate:l,level:a,levelIndex:n,period:o,time:e,callOnDate:!1,callOnLevelDates:!0});u=i.time.recalculateDatesWidths(u,e),n!==e.level&&(u=i.time.alignLevelToMain(n,u,e)),u=i.time.recalculateDatesPositions(u,e,!1,!1);for(const e of u)e.formatted=f.formatDate(t,e,c);return u},limitGlobal:t=>(t.leftGlobal<t.from&&(t.leftGlobal=t.from,t.leftGlobalDate=i.time.date(t.leftGlobal),t.leftGlobal=t.leftGlobalDate.valueOf()),t.rightGlobal>t.to&&(t.rightGlobal=t.to,t.rightGlobalDate=i.time.date(t.rightGlobal),t.rightGlobal=t.rightGlobalDate.valueOf()),t),setCenter(t){let e=Math.floor(t.rightGlobalDate.diff(t.leftGlobalDate,"millisecond",!0)/2);const a=i.time.getRightViewDate(t);a&&(a.width!==a.currentView.width&&(e-=(a.width-a.currentView.width)*t.timePerPixel),t.centerGlobalDate=t.leftGlobalDate.add(e,"millisecond"),t.centerGlobal=t.centerGlobalDate.valueOf())},guessPeriod(t,e){if(!t.zoom)return t;for(const i of e){const e=i.find((e=>+t.zoom<=+e.zoomTo));e&&e.main&&(t.period=e.period)}return t},getFormatAndLevelIndexForZoom(t,e=s.get("config.chart.calendarLevels")){let i=0,a=0;for(const s of e){for(const e of s)if(e.main&&t<=e.zoomTo)return a=i,{levelIndex:a,format:e};i++}if(!a)throw new Error(`There is no main date format for zoom ${t}.`)},generateAllDates(t,e){if(!t.zoom)return[];t.allDates=new Array(e.length),i.time.stopCheckingCurrentDates();const{format:a,levelIndex:s}=f.getFormatAndLevelIndexForZoom(t.zoom,e);t.level=s,t.allDates[t.level]=f.generatePeriodDates(a,t,e[s],t.level);let n=0;for(const a of e){const e=a.find((e=>+t.zoom<=+e.zoomTo));n!==t.level&&(t.allDates[n]=f.generatePeriodDates(e,t,a,n)),i.time.setDatesCacheLevel(n,t.allDates[n],t),n++}return i.time.checkCurrentDates(!0,t),t.allDates},getPeriodDatesAndCalculateViewOffsetFromAllDates(t,e){if(!t.length)return[];const a=t.filter((t=>t.leftGlobal<e.rightGlobal&&t.rightGlobal>=e.rightGlobal||t.leftGlobal<=e.leftGlobal&&t.rightGlobal>e.leftGlobal||t.leftGlobal>=e.leftGlobal&&t.rightGlobal<=e.rightGlobal));if(!a.length)return[];let s=0;e.leftGlobal>a[0].leftGlobal&&(s=i.time.getDatesDiffPx(e.leftGlobalDate,a[0].leftGlobalDate,e,!0));let n=s;const o=a.length-1;return a.map(((t,a)=>{if(t.currentView={leftPx:n,rightPx:n+t.width,width:t.width+s,leftGlobalDate:i.time.date(t.leftGlobal-s*e.timePerPixel),rightGlobalDate:i.time.date(t.rightGlobal),durationMs:0},t.currentView.durationMs=t.currentView.rightGlobalDate.valueOf()-t.currentView.leftGlobalDate.valueOf(),s=0,n+=t.width,a===o&&t.rightGlobal>e.rightGlobal){let a=0;t.currentView.leftPx<0&&(a=t.currentView.leftPx,t.currentView.leftPx=0),t.currentView.width=(e.rightGlobal+1-t.leftGlobal)/e.timePerPixel+a,t.currentView.rightPx=t.currentView.leftPx+t.currentView.width,t.currentView.rightGlobalDate=i.time.date(t.leftGlobal+t.currentView.width*e.timePerPixel)}return t}))},updateLevels(t,e){t.levels=[],t.currentZoomLevelFormatting=[];let i=0;for(const a of e){const e=a.find((e=>+t.zoom<=+e.zoomTo));if(t.currentZoomLevelFormatting[i]=e,e.main&&(t.format=e,t.level=i),e){let s=f.getPeriodDatesAndCalculateViewOffsetFromAllDates(t.allDates[i],t);t.onCurrentViewLevelDates.forEach((n=>{s=n({dates:s,format:e,time:t,level:a,levelIndex:i})})),t.levels.push(s)}i++}},updateLocale(){const t=s.get("$data.chart.time"),e=s.get("config.locale.name");let i=0;for(const a of t.allDates){const s=t.currentZoomLevelFormatting[i];for(const t of a)t.formatted=f.formatDate(s,t,e);i++}i=0;for(const a of t.levels){const s=t.currentZoomLevelFormatting[i];for(const t of a)t.formatted=f.formatDate(s,t,e);i++}n()},calculateTotalViewDurationFromDates(t){let e=0,i=0;for(const a of t.allDates[t.level])e+=a.width,i+=a.rightGlobal+1-a.leftGlobal;t.totalViewDurationPx=e,t.totalViewDurationMs=i},calculateRightGlobal(t,e,a,n,o){const r=s.get("$data.chart.time"),l=t.endOf(r.period).valueOf(),c=i.time.findDateAtTime(l,a);if(!c)return t.valueOf();let u=a.indexOf(c),h=c.leftGlobal,d=0;for(let t=a.length;u<t;u++){const t=a[u];if(h=t.rightGlobal,d+=t.width,d+n>=e)break}return h+o},allItemsOnTheLeftOrRight(t=i.getAllItems(),e=s.get("$data.chart.time")){let a=!0,n=!0;for(const i in t){const s=t[i];s.time.end<e.leftGlobal||(a=!1),s.time.start>e.rightGlobal||(n=!1)}return s.update("$data.chart.allItemsOnTheLeftOrRight",a||n),a||n},updateVisibleItems(t=s.get("$data.chart.time"),e=s.multi(!0)){const a=s.get("$data.chart.visibleItems"),n=i.getItems(a);if(!n)return e;const o=i.getAllRows(),r=i.getRowsData(),l=i.getItemsData();if(!o)return e;if(!t.levels||!t.levels[t.level])return e;let c=!1;const u=s.get("$data.chart.allItemsOnTheLeftOrRight");for(const a of n){if(!a)return e;const s=o[a.rowId],n=r[a.rowId];if(!s||!n)continue;const h=i.mergeDeep({},l[a.id]),d=h.position;let m;m=u?d:i.calculateItemPosition(a.id,l[a.id],n,t,a);for(const t in d)if(m[t]!==d[t]){c=!0;break}if(!c)for(const t in h)if(l[a.id][t]!==h[t]){c=!0;break}}return c&&(e=e.update("$data.chart.items",(t=>t),{data:"update-visible-items"})),e},calculateLeftAndRightGlobalNormally(t,e){const a=t.allDates[t.level],s=e.preciseOffset*t.timePerPixel;let n=a[e.dataIndex];if(!n&&a.length)n=a[a.length-1];else if(!a.length)return;t.leftGlobal=n.leftGlobal-s,t.leftGlobalDate=i.time.date(t.leftGlobal);let o=e.preciseOffset;const r=i.getChartWidth(!1);let l;for(let i=e.dataIndex;i<a.length;i++){const e=a[i];if(o+=e.width,o>=r){const i=(o-r)*t.timePerPixel;l=e.rightGlobal-i;break}}if(!l){l=a[a.length-1].rightGlobal}t.rightGlobal=l,t.rightGlobalDate=i.time.date(t.rightGlobal)},calculateLeftAndRightGlobalFromCenter(t,e,a){const s=i.getChartWidth(!1),n=t.allDates[t.level];if(n.length||(t.leftGlobal=t.from,t.leftGlobalDate=i.time.date(t.leftGlobal),t.rightGlobal=null,t.rightGlobalDate=null),0===a.handlePosPx){t.leftGlobal=t.fromDate.valueOf(),t.leftGlobalDate=i.time.date(t.leftGlobal),t.rightGlobal=i.time.getTimeFromOffsetPx(s,!1,t),t.rightGlobalDate=i.time.date(t.rightGlobal);const e=n[0];return a.dataId=e.id,a.dataIndex=0,a.preciseOffset=0,t}if(a.handlePosPx===a.maxHandlePosPx){t.rightGlobal=t.toDate.valueOf(),t.rightGlobalDate=i.time.date(t.rightGlobal);let e=n[n.length-1];let o=0,r=n.length-1;for(;r>=0;r--){const t=n[r];if(o+=t.width,o>=s){e=t;break}}const l=(o-s)/t.timePerPixel;t.leftGlobal=e.leftGlobal+l,t.leftGlobalDate=i.time.date(t.leftGlobal);const c=n[n.length-1];return a.dataId=c.id,a.dataIndex=n.length-1,a.preciseOffset=0,t}const o=Math.round(s/2);let r=0;for(const e of n){if(e.rightGlobal>t.centerGlobal)break;r++}if(r>=n.length||t.centerGlobal<n[0].leftGlobal||t.centerGlobal>n[n.length-1].rightGlobal)return f.calculateLeftAndRightGlobalNormally(t,a);const l=e.centerGlobal-n[r].leftGlobal;let c,u=-Math.round(l/t.timePerPixel),h=0;for(let t=r;t>=0;t--){const e=n[t];if(u+=e.width,u>=o){c=e,h=t;break}}c||(c=n[0],u=o);const d=u-o,m=Math.round(d*t.timePerPixel);t.leftGlobal=c.leftGlobal+m,t.leftGlobalDate=i.time.date(t.leftGlobal);let g,p=-d;const b=n.length;for(let t=0;t<b;t++){const e=n[t];if(p+=e.width,p>=s){g=e;break}}g||(g=n[n.length-1],p=s);const v=p-s,y=Math.round(v*t.timePerPixel);return t.rightGlobal=g.rightGlobal-y,t.rightGlobalDate=i.time.date(t.rightGlobal),a.dataId=c.id,a.dataIndex=h,a.preciseOffset=-d,t},updateFromToBasedOnDates(t){const e=t.allDates[t.level];e.length&&(t.from=e[0].leftGlobal,t.fromDate=i.time.date(t.from),t.to=e[e.length-1].rightGlobal,t.toDate=i.time.date(t.to))},recalculateTimes(t){if(i.isMutedMethod("recalculateTimes"))return;const a=s.get("config.chart.time"),o=e({},a),r=s.get("$data.chart.time");o.allDates=r.allDates||new Array(o.levels.length),o.datesCache=r.datesCache||{timePerPixel:0,levels:[]};const l=s.get("config.chart.items");if(!(o.from&&o.to||Object.keys(l).length))return;if("number"!=typeof o.from&&void 0!==o.from||"number"!=typeof o.to&&void 0!==o.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(!o.from){let t=1/0;for(const e in l){const i=l[e];t>i.time.start&&(t=i.time.start)}o.from=t}if(!o.to){let t=0;for(const e in l){const i=l[e];t<i.time.end&&(t=i.time.end)}o.to=t}o.fromDate||(o.fromDate=i.time.date(o.from)),o.toDate||(o.toDate=i.time.date(o.to));const c=s.get("$data.scroll.vertical.visible"),u=i.getChartWidth(c),h=s.get("config.chart.calendarLevels"),d=s.get("$data.scroll.horizontal");o.calculatedZoomMode||i.time.recalculateFromTo(o),o.leftGlobal||(o.leftGlobal=o.from);const m=t.filter((t=>"items-out-of-view"===t.name));let g=1/0,p=0;if(m.length)for(const t of m)g>t.from&&(g=t.from),p<t.to&&(p=t.to);let b=!1;if((t.find((t=>"reload"===t.name))||t.find((t=>"all"===t.name))||t.find((t=>"from"===t.name))||t.find((t=>"to"===t.name))||t.find((t=>"zoom"===t.name))||t.find((t=>"calculated-zoom-mode"===t.name))||t.find((t=>"align-levels"===t.name))||t.find((t=>"auto-expand-time"===t.name))||t.find((t=>"locale"===t.name)))&&(b=!0),o.calculatedZoomMode&&u){o.totalViewDurationMs=i.time.date(o.to).add(1,o.period).startOf(o.period).diff(o.from,"millisecond"),o.timePerPixel=o.totalViewDurationMs/u,o.totalViewDurationPx=o.totalViewDurationMs/o.timePerPixel,o.zoom=Math.log(o.timePerPixel)/Math.log(2),i.resetHorizontalScroll(),b&&f.generateAllDates(o,h),f.calculateTotalViewDurationFromDates(o),o.timePerPixel=o.totalViewDurationMs/u,o.zoom=Math.log(o.timePerPixel)/Math.log(2);for(let t=0;t<o.allDates.length;t++)i.time.recalculateDatesWidths(o.allDates[t],o),i.time.recalculateDatesPositions(o.allDates[t],o),i.time.setDatesCacheLevel(t,o.allDates[t],o);f.calculateTotalViewDurationFromDates(o),o.leftGlobal=o.from,o.leftGlobalDate=i.time.date(o.leftGlobal),o.rightGlobal=o.to,o.rightGlobalDate=i.time.date(o.rightGlobal)}else{o.timePerPixel=Math.pow(2,o.zoom),m.length&&o.autoExpandTimeFromItems&&(o.from=g,o.to=p),o.fromDate=i.time.date(o.from).startOf(o.period),o.from=o.fromDate.valueOf(),o.toDate=i.time.date(o.to).endOf(o.period),o.to=o.toDate.valueOf(),b&&f.generateAllDates(o,h),m.length&&o.autoExpandTimeFromItems||f.updateFromToBasedOnDates(o),f.calculateTotalViewDurationFromDates(o);const e=s.get("$data.chart.time");t.find((t=>"zoom"===t.name))&&!t.find((t=>"all"===t.name))&&e.centerGlobalDate?(f.calculateLeftAndRightGlobalFromCenter(o,e,d),i.calculateHorizontalScrollSizeAndPosFromDates(o.totalViewDurationPx,o,d,!1)):(i.calculateHorizontalScrollSizeAndPosFromDates(o.totalViewDurationPx,o,d,!1),f.calculateLeftAndRightGlobalNormally(o,d))}f.updateLevels(o,h),f.limitGlobal(o),o.leftPx=0,o.rightPx=u,o.width=u;const v=o.levels[o.level];if(v&&v.length){const t=v[v.length-1];o.leftPx=v[0].leftPx-d.preciseOffset,o.rightPx=t.rightPx,o.width=o.rightPx}f.setCenter(o);let y=s.multi(!0);y=y.update("config.chart.time",(t=>((t=Object.assign({},t)).zoom=o.zoom,t.level=o.level,t.period=o.format.period,t.leftGlobal=o.leftGlobal,t.leftGlobalDate=o.leftGlobalDate.clone(),t.centerGlobal=o.centerGlobal,t.rightGlobal=o.rightGlobal,t.rightGlobalDate=o.rightGlobalDate.clone(),t.from=o.from,t.to=o.to,t.autoExpandTimeFromItems=o.autoExpandTimeFromItems,t.timePerPixel=o.timePerPixel,t))),f.allItemsOnTheLeftOrRight(i.getAllItems(),o),y=y.update("$data.chart.time",o),y=f.updateVisibleItems(o,y),y=y.update("$data.chart.time.recalculateTimesLastReason",t);const w=t.find((t=>"set-scroll-left"===t.name));y=y.update("$data.scroll.horizontal",d,{data:w?"set-scroll-left":void 0}),y.done(),n();const k=t.find((t=>"chart-width"===t.name));k&&0===k.oldValue&&0!==k.newValue&&setTimeout(f.triggerLoadedEvent,0)},minimalReload(t){if(i.isMutedMethod("minimalReload"))return;i.muteMethod("minimalReload");const e=f.getMutedListeners();s.mute(h),s.mute(d),s.mute(m),s.collect(),i.calculateVisibleRowsHeights(),f.generateVisibleRowsAndItems(),f.updateVisibleItems().done(),s.executeCollected(),e.includes(h)||s.unmute(h),e.includes(d)||s.unmute(d),e.includes(m)||s.unmute(m),i.unmuteMethod("minimalReload"),n()},partialReload(t=!0,e){if(i.isMutedMethod("partialReload"))return;i.muteMethod("partialReload");const a=f.getMutedListeners();if(s.mute(h),s.mute(d),s.mute(m),t){const t=s.get("$data");t.list.rows={},t.chart.items={}}s.collect(),f.generateTree(t),f.prepareExpanded(),i.measureRows(),i.calculateVerticalScrollSize(),f.minimalReload(e),s.executeCollected(),a.includes(h)||s.unmute(h),a.includes(d)||s.unmute(d),a.includes(m)||s.unmute(m),i.unmuteMethod("partialReload"),n()},fullReload(t){if(i.isMutedMethod("fullReload"))return;s.update("$data.reloading",!0),i.muteMethod("fullReload");const e=f.getMutedListeners();s.mute(h),s.mute(d),s.mute(m),s.collect(),f.partialReload(!0,t),f.recalculateTimes([{name:"reload"}]),s.executeCollected(),e.includes(h)||s.unmute(h),e.includes(d)||s.unmute(d),e.includes(m)||s.unmute(m),i.unmuteMethod("fullReload"),s.update("$data.reloading",!1),n()}};a(s.subscribeAll(["config.innerHeight","config.headerHeight","config.scroll.vertical.width"],f.heightChange,{group:!0,bulkValue:!1})),a(s.subscribe("$data.list.columns.resizer.active",f.resizerActiveChange)),a(s.subscribeAll(["config;","config.chart.items;","config.list.rows;","config.list.rows.*;","config.chart.items.*;"],h,{group:!0,bulkValue:!1})),a(s.subscribeAll(["config.list.rows.*.parentId","config.chart.items.*.rowId","config.list.rows.*.expanded"],d,{group:!0,bulkValue:!1})),a(s.subscribeAll(["config.chart.items.*.time","config.chart.items.*.height","config.chart.items.*.top","$data.chart.dimensions.heightWithoutScrollBar","$data.list.rowsHeight","config.chart.item"],m,{group:!0,bulkValue:!1})),a(s.subscribeAll(["$data.scroll.vertical.dataIndex","$data.scroll.vertical.preciseOffset"],(function(){s.collect(),f.generateVisibleRowsAndItems(),i.calculateVisibleRowsHeights(),f.updateItemsVerticalPositions(),f.updateVisibleItems().done(),s.executeCollected()}),{group:!0,bulkValue:!1})),a(s.subscribe("config.list.sort",(t=>{const e=s.get(`config.list.columns.data.${t.activeColumnId}`);e&&i.sortRowsByColumn(e,t.asc)}))),a(s.subscribeAll(["config.chart.items.*.time","config.chart.items.*;","config.chart.items.*.rowId"],(function(t,e){e.options.data&&"updateVisibleItems"===e.options.data||f.updateVisibleItems().done()}),{group:!0,bulkValue:!1}));let p=s.get("config.locale.weekStart");a(s.subscribe("config.locale",((t,e)=>{"subscribe"!==e.type&&(t.weekStart===p?f.updateLocale():(p=t.weekStart,f.recalculateTimes([{name:"locale"}])))})));const b={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 a(s.subscribeAll(["config.utcMode","config.chart.time","$data.chart.time","config.chart.calendarLevels","$data.scroll.horizontal","$data.chart.dimensions.width","config.chart.items.*.time"],((t,e)=>{const i=function(t){const e=s.get("config.utcMode"),i=s.get("config.chart.time"),a=s.get("$data.chart.time"),n=s.get("$data.scroll.horizontal"),o=s.get("$data.chart.dimensions.width"),r=s.get("config.chart.time.calculatedZoomMode"),l=Object.assign({},b);b.utcMode=e,b.zoom=i.zoom,b.period=i.period,b.from=i.from,b.to=i.to,b.dataFrom=a.from,b.dataTo=a.to,b.scrollAbsolutePosPx=n.absolutePosPx,n.data&&(b.scrollTime=n.data.leftGlobal),b.chartWidth=o,b.calculatedZoomMode=r,b.alignLevels=i.alignLevelsToMain,b.autoExpandTime=i.autoExpandTimeFromItems;const c=[];return b.initialized||(b.initialized=!0,c.push({name:"all"})),e!==l.utcMode&&c.push({name:"utc-mode",oldValue:l.utcMode,newValue:e}),r!==l.calculatedZoomMode&&c.push({name:"calculated-zoom-mode",oldValue:l.calculatedZoomMode,newValue:r}),i.zoom!==l.zoom&&c.push({name:"zoom",oldValue:l.zoom,newValue:i.zoom}),i.period!==l.period&&c.push({name:"period",oldValue:l.period,newValue:i.period}),i.from!==l.from&&c.push({name:"from",oldValue:l.from,newValue:i.from}),i.to!==l.to&&c.push({name:"to",oldValue:l.to,newValue:i.to}),a.from!==l.dataFrom&&c.push({name:"from",oldValue:l.dataFrom,newValue:a.from}),a.to!==l.dataTo&&c.push({name:"to",oldValue:l.dataTo,newValue:a.to}),"set-scroll-left"===t.options.data&&c.push({name:"set-scroll-left"}),n.absolutePosPx!==l.scrollAbsolutePosPx&&c.push({name:"scroll-pos",oldValue:l.scrollAbsolutePosPx,newValue:n.absolutePosPx}),b.scrollTime!==l.scrollTime&&c.push({name:"scroll-time",oldValue:l.scrollTime,newValue:b.scrollTime}),o!==l.chartWidth&&c.push({name:"chart-width",oldValue:l.chartWidth,newValue:o}),b.alignLevels!==l.alignLevels&&c.push({name:"align-levels",oldValue:l.alignLevels,newValue:b.alignLevels}),b.autoExpandTime!==l.autoExpandTime&&c.push({name:"auto-expand-time",oldValue:l.autoExpandTime,newValue:b.autoExpandTime}),c}(e);i.length&&f.recalculateTimes(i)}),{group:!0,bulkValue:!1})),a(s.subscribe("config.chart.items.:itemId.time",(t=>{f.allItemsOnTheLeftOrRight();const e=s.get("$data.chart.time"),a=i.getAllItems();let n=1/0,o=0;for(const i of t){const t=a[i.params.itemId];if(!t)return;if(t.time.start<e.from||t.time.end>e.to){let i=e.from,a=e.to;return t.time.start<e.from&&(i=t.time.start),t.time.end>e.to&&(a=t.time.end),f.recalculateTimes([{name:"items-out-of-view",from:i,to:a}])}t.time.start<n&&(n=t.time.start),t.time.end>o&&(o=t.time.end)}if(0===e.leftGlobal&&0===e.rightGlobal)return f.recalculateTimes([{name:"items",from:n,to:o}])}),{bulk:!0,bulkValue:!1})),a(s.subscribe("config.chart.time.checkCurrentDateInterval",(t=>{s.get("$data.chart.time").checkCurrentDateInterval!==t&&(s.update("$data.chart.time.checkCurrentDateInterval",t),i.time.stopCheckingCurrentDates(),i.time.checkCurrentDates(!0))}))),t.api.main=f,f}var $i={exports:{}},Si={exports:{}};!function(t){var e;t.exports=(e=e||function(t,e){var i=Object.create||function(){function t(){}return function(e){var i;return t.prototype=e,i=new t,t.prototype=null,i}}(),a={},s=a.lib={},n=s.Base={extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},o=s.WordArray=n.extend({init:function(t,i){t=this.words=t||[],this.sigBytes=i!=e?i:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,i=t.words,a=this.sigBytes,s=t.sigBytes;if(this.clamp(),a%4)for(var n=0;n<s;n++){var o=i[n>>>2]>>>24-n%4*8&255;e[a+n>>>2]|=o<<24-(a+n)%4*8}else for(n=0;n<s;n+=4)e[a+n>>>2]=i[n>>>2];return this.sigBytes+=s,this},clamp:function(){var e=this.words,i=this.sigBytes;e[i>>>2]&=4294967295<<32-i%4*8,e.length=t.ceil(i/4)},clone:function(){var t=n.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,a=[],s=function(e){var i=987654321,a=4294967295;return function(){var s=((i=36969*(65535&i)+(i>>16)&a)<<16)+(e=18e3*(65535&e)+(e>>16)&a)&a;return s/=4294967296,(s+=.5)*(t.random()>.5?1:-1)}},n=0;n<e;n+=4){var r=s(4294967296*(i||t.random()));i=987654071*r(),a.push(4294967296*r()|0)}return new o.init(a,e)}}),r=a.enc={},l=r.Hex={stringify:function(t){for(var e=t.words,i=t.sigBytes,a=[],s=0;s<i;s++){var n=e[s>>>2]>>>24-s%4*8&255;a.push((n>>>4).toString(16)),a.push((15&n).toString(16))}return a.join("")},parse:function(t){for(var e=t.length,i=[],a=0;a<e;a+=2)i[a>>>3]|=parseInt(t.substr(a,2),16)<<24-a%8*4;return new o.init(i,e/2)}},c=r.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,a=[],s=0;s<i;s++){var n=e[s>>>2]>>>24-s%4*8&255;a.push(String.fromCharCode(n))}return a.join("")},parse:function(t){for(var e=t.length,i=[],a=0;a<e;a++)i[a>>>2]|=(255&t.charCodeAt(a))<<24-a%4*8;return new o.init(i,e)}},u=r.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},h=s.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=u.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var i=this._data,a=i.words,s=i.sigBytes,n=this.blockSize,r=s/(4*n),l=(r=e?t.ceil(r):t.max((0|r)-this._minBufferSize,0))*n,c=t.min(4*l,s);if(l){for(var u=0;u<l;u+=n)this._doProcessBlock(a,u);var h=a.splice(0,l);i.sigBytes-=c}return new o.init(h,c)},clone:function(){var t=n.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});s.Hasher=h.extend({cfg:n.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,i){return new t.init(i).finalize(e)}},_createHmacHelper:function(t){return function(e,i){return new d.HMAC.init(t,i).finalize(e)}}});var d=a.algo={};return a}(Math),e)}(Si);var Pi={exports:{}};!function(t){var e;t.exports=(e=Si.exports,function(){var t=e,i=t.lib,a=i.WordArray,s=i.Hasher,n=t.algo,o=[],r=n.SHA1=s.extend({_doReset:function(){this._hash=new a.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,a=i[0],s=i[1],n=i[2],r=i[3],l=i[4],c=0;c<80;c++){if(c<16)o[c]=0|t[e+c];else{var u=o[c-3]^o[c-8]^o[c-14]^o[c-16];o[c]=u<<1|u>>>31}var h=(a<<5|a>>>27)+l+o[c];h+=c<20?1518500249+(s&n|~s&r):c<40?1859775393+(s^n^r):c<60?(s&n|s&r|n&r)-1894007588:(s^n^r)-899497514,l=r,r=n,n=s<<30|s>>>2,s=a,a=h}i[0]=i[0]+a|0,i[1]=i[1]+s|0,i[2]=i[2]+n|0,i[3]=i[3]+r|0,i[4]=i[4]+l|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,a=8*t.sigBytes;return e[a>>>5]|=128<<24-a%32,e[14+(a+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(a+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=s.clone.call(this);return t._hash=this._hash.clone(),t}});t.SHA1=s._createHelper(r),t.HmacSHA1=s._createHmacHelper(r)}(),e.SHA1)}(Pi);var Ci={exports:{}};!function(t){var e;t.exports=(e=Si.exports,void function(){var t=e,i=t.lib.Base,a=t.enc.Utf8;t.algo.HMAC=i.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=a.parse(e));var i=t.blockSize,s=4*i;e.sigBytes>s&&(e=t.finalize(e)),e.clamp();for(var n=this._oKey=e.clone(),o=this._iKey=e.clone(),r=n.words,l=o.words,c=0;c<i;c++)r[c]^=1549556828,l[c]^=909522486;n.sigBytes=o.sigBytes=s,this.reset()},reset:function(){var t=this._hasher;t.reset(),t.update(this._iKey)},update:function(t){return this._hasher.update(t),this},finalize:function(t){var e=this._hasher,i=e.finalize(t);return e.reset(),e.finalize(this._oKey.clone().concat(i))}})}())}(Ci),function(t){var e;t.exports=(e=Si.exports,function(){var t=e,i=t.lib,a=i.Base,s=i.WordArray,n=t.algo,o=n.SHA1,r=n.HMAC,l=n.PBKDF2=a.extend({cfg:a.extend({keySize:4,hasher:o,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var i=this.cfg,a=r.create(i.hasher,t),n=s.create(),o=s.create([1]),l=n.words,c=o.words,u=i.keySize,h=i.iterations;l.length<u;){var d=a.update(e).finalize(o);a.reset();for(var m=d.words,g=m.length,f=d,p=1;p<h;p++){f=a.finalize(f),a.reset();for(var b=f.words,v=0;v<g;v++)m[v]^=b[v]}n.concat(d),c[0]++}return n.sigBytes=4*u,n}});t.PBKDF2=function(t,e,i){return l.create(i).compute(t,e)}}(),e.PBKDF2)}($i);var zi=$i.exports,Ii={exports:{}},Ti={exports:{}};!function(t){var e;t.exports=(e=Si.exports,function(){var t=e,i=t.lib.WordArray;function a(t,e,a){for(var s=[],n=0,o=0;o<e;o++)if(o%4){var r=a[t.charCodeAt(o-1)]<<o%4*2,l=a[t.charCodeAt(o)]>>>6-o%4*2;s[n>>>2]|=(r|l)<<24-n%4*8,n++}return i.create(s,n)}t.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,a=this._map;t.clamp();for(var s=[],n=0;n<i;n+=3)for(var o=(e[n>>>2]>>>24-n%4*8&255)<<16|(e[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|e[n+2>>>2]>>>24-(n+2)%4*8&255,r=0;r<4&&n+.75*r<i;r++)s.push(a.charAt(o>>>6*(3-r)&63));var l=a.charAt(64);if(l)for(;s.length%4;)s.push(l);return s.join("")},parse:function(t){var e=t.length,i=this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var n=0;n<i.length;n++)s[i.charCodeAt(n)]=n}var o=i.charAt(64);if(o){var r=t.indexOf(o);-1!==r&&(e=r)}return a(t,e,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),e.enc.Base64)}(Ti);var Ai={exports:{}};!function(t){var e;t.exports=(e=Si.exports,function(t){var i=e,a=i.lib,s=a.WordArray,n=a.Hasher,o=i.algo,r=[];!function(){for(var e=0;e<64;e++)r[e]=4294967296*t.abs(t.sin(e+1))|0}();var l=o.MD5=n.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var i=0;i<16;i++){var a=e+i,s=t[a];t[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}var n=this._hash.words,o=t[e+0],l=t[e+1],m=t[e+2],g=t[e+3],f=t[e+4],p=t[e+5],b=t[e+6],v=t[e+7],y=t[e+8],w=t[e+9],k=t[e+10],x=t[e+11],D=t[e+12],$=t[e+13],S=t[e+14],P=t[e+15],C=n[0],z=n[1],I=n[2],T=n[3];C=c(C,z,I,T,o,7,r[0]),T=c(T,C,z,I,l,12,r[1]),I=c(I,T,C,z,m,17,r[2]),z=c(z,I,T,C,g,22,r[3]),C=c(C,z,I,T,f,7,r[4]),T=c(T,C,z,I,p,12,r[5]),I=c(I,T,C,z,b,17,r[6]),z=c(z,I,T,C,v,22,r[7]),C=c(C,z,I,T,y,7,r[8]),T=c(T,C,z,I,w,12,r[9]),I=c(I,T,C,z,k,17,r[10]),z=c(z,I,T,C,x,22,r[11]),C=c(C,z,I,T,D,7,r[12]),T=c(T,C,z,I,$,12,r[13]),I=c(I,T,C,z,S,17,r[14]),C=u(C,z=c(z,I,T,C,P,22,r[15]),I,T,l,5,r[16]),T=u(T,C,z,I,b,9,r[17]),I=u(I,T,C,z,x,14,r[18]),z=u(z,I,T,C,o,20,r[19]),C=u(C,z,I,T,p,5,r[20]),T=u(T,C,z,I,k,9,r[21]),I=u(I,T,C,z,P,14,r[22]),z=u(z,I,T,C,f,20,r[23]),C=u(C,z,I,T,w,5,r[24]),T=u(T,C,z,I,S,9,r[25]),I=u(I,T,C,z,g,14,r[26]),z=u(z,I,T,C,y,20,r[27]),C=u(C,z,I,T,$,5,r[28]),T=u(T,C,z,I,m,9,r[29]),I=u(I,T,C,z,v,14,r[30]),C=h(C,z=u(z,I,T,C,D,20,r[31]),I,T,p,4,r[32]),T=h(T,C,z,I,y,11,r[33]),I=h(I,T,C,z,x,16,r[34]),z=h(z,I,T,C,S,23,r[35]),C=h(C,z,I,T,l,4,r[36]),T=h(T,C,z,I,f,11,r[37]),I=h(I,T,C,z,v,16,r[38]),z=h(z,I,T,C,k,23,r[39]),C=h(C,z,I,T,$,4,r[40]),T=h(T,C,z,I,o,11,r[41]),I=h(I,T,C,z,g,16,r[42]),z=h(z,I,T,C,b,23,r[43]),C=h(C,z,I,T,w,4,r[44]),T=h(T,C,z,I,D,11,r[45]),I=h(I,T,C,z,P,16,r[46]),C=d(C,z=h(z,I,T,C,m,23,r[47]),I,T,o,6,r[48]),T=d(T,C,z,I,v,10,r[49]),I=d(I,T,C,z,S,15,r[50]),z=d(z,I,T,C,p,21,r[51]),C=d(C,z,I,T,D,6,r[52]),T=d(T,C,z,I,g,10,r[53]),I=d(I,T,C,z,k,15,r[54]),z=d(z,I,T,C,l,21,r[55]),C=d(C,z,I,T,y,6,r[56]),T=d(T,C,z,I,P,10,r[57]),I=d(I,T,C,z,b,15,r[58]),z=d(z,I,T,C,$,21,r[59]),C=d(C,z,I,T,f,6,r[60]),T=d(T,C,z,I,x,10,r[61]),I=d(I,T,C,z,m,15,r[62]),z=d(z,I,T,C,w,21,r[63]),n[0]=n[0]+C|0,n[1]=n[1]+z|0,n[2]=n[2]+I|0,n[3]=n[3]+T|0},_doFinalize:function(){var e=this._data,i=e.words,a=8*this._nDataBytes,s=8*e.sigBytes;i[s>>>5]|=128<<24-s%32;var n=t.floor(a/4294967296),o=a;i[15+(s+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),i[14+(s+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),e.sigBytes=4*(i.length+1),this._process();for(var r=this._hash,l=r.words,c=0;c<4;c++){var u=l[c];l[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return r},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});function c(t,e,i,a,s,n,o){var r=t+(e&i|~e&a)+s+o;return(r<<n|r>>>32-n)+e}function u(t,e,i,a,s,n,o){var r=t+(e&a|i&~a)+s+o;return(r<<n|r>>>32-n)+e}function h(t,e,i,a,s,n,o){var r=t+(e^i^a)+s+o;return(r<<n|r>>>32-n)+e}function d(t,e,i,a,s,n,o){var r=t+(i^(e|~a))+s+o;return(r<<n|r>>>32-n)+e}i.MD5=n._createHelper(l),i.HmacMD5=n._createHmacHelper(l)}(Math),e.MD5)}(Ai);var Mi={exports:{}};!function(t){var e;t.exports=(e=Si.exports,function(){var t=e,i=t.lib,a=i.Base,s=i.WordArray,n=t.algo,o=n.MD5,r=n.EvpKDF=a.extend({cfg:a.extend({keySize:4,hasher:o,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var i=this.cfg,a=i.hasher.create(),n=s.create(),o=n.words,r=i.keySize,l=i.iterations;o.length<r;){c&&a.update(c);var c=a.update(t).finalize(e);a.reset();for(var u=1;u<l;u++)c=a.finalize(c),a.reset();n.concat(c)}return n.sigBytes=4*r,n}});t.EvpKDF=function(t,e,i){return r.create(i).compute(t,e)}}(),e.EvpKDF)}(Mi);var Wi={exports:{}};!function(t){var e;t.exports=void((e=Si.exports).lib.Cipher||function(t){var i=e,a=i.lib,s=a.Base,n=a.WordArray,o=a.BufferedBlockAlgorithm,r=i.enc;r.Utf8;var l=r.Base64,c=i.algo.EvpKDF,u=a.Cipher=o.extend({cfg:s.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,i){this.cfg=this.cfg.extend(i),this._xformMode=t,this._key=e,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?y:b}return function(e){return{encrypt:function(i,a,s){return t(a).encrypt(e,i,a,s)},decrypt:function(i,a,s){return t(a).decrypt(e,i,a,s)}}}}()});a.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var h=i.mode={},d=a.BlockCipherMode=s.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),m=h.CBC=function(){var e=d.extend();function i(e,i,a){var s=this._iv;if(s){var n=s;this._iv=t}else n=this._prevBlock;for(var o=0;o<a;o++)e[i+o]^=n[o]}return e.Encryptor=e.extend({processBlock:function(t,e){var a=this._cipher,s=a.blockSize;i.call(this,t,e,s),a.encryptBlock(t,e),this._prevBlock=t.slice(e,e+s)}}),e.Decryptor=e.extend({processBlock:function(t,e){var a=this._cipher,s=a.blockSize,n=t.slice(e,e+s);a.decryptBlock(t,e),i.call(this,t,e,s),this._prevBlock=n}}),e}(),g=(i.pad={}).Pkcs7={pad:function(t,e){for(var i=4*e,a=i-t.sigBytes%i,s=a<<24|a<<16|a<<8|a,o=[],r=0;r<a;r+=4)o.push(s);var l=n.create(o,a);t.concat(l)},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}};a.BlockCipher=u.extend({cfg:u.cfg.extend({mode:m,padding:g}),reset:function(){u.reset.call(this);var t=this.cfg,e=t.iv,i=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var a=i.createEncryptor;else a=i.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==a?this._mode.init(this,e&&e.words):(this._mode=a.call(i,this,e&&e.words),this._mode.__creator=a)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),t.unpad(e);return e},blockSize:4});var f=a.CipherParams=s.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),p=(i.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,i=t.salt;if(i)var a=n.create([1398893684,1701076831]).concat(i).concat(e);else a=e;return a.toString(l)},parse:function(t){var e=l.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var a=n.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16}return f.create({ciphertext:e,salt:a})}},b=a.SerializableCipher=s.extend({cfg:s.extend({format:p}),encrypt:function(t,e,i,a){a=this.cfg.extend(a);var s=t.createEncryptor(i,a),n=s.finalize(e),o=s.cfg;return f.create({ciphertext:n,key:i,iv:o.iv,algorithm:t,mode:o.mode,padding:o.padding,blockSize:t.blockSize,formatter:a.format})},decrypt:function(t,e,i,a){return a=this.cfg.extend(a),e=this._parse(e,a.format),t.createDecryptor(i,a).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),v=(i.kdf={}).OpenSSL={execute:function(t,e,i,a){a||(a=n.random(8));var s=c.create({keySize:e+i}).compute(t,a),o=n.create(s.words.slice(e),4*i);return s.sigBytes=4*e,f.create({key:s,iv:o,salt:a})}},y=a.PasswordBasedCipher=b.extend({cfg:b.cfg.extend({kdf:v}),encrypt:function(t,e,i,a){var s=(a=this.cfg.extend(a)).kdf.execute(i,t.keySize,t.ivSize);a.iv=s.iv;var n=b.encrypt.call(this,t,e,s.key,a);return n.mixIn(s),n},decrypt:function(t,e,i,a){a=this.cfg.extend(a),e=this._parse(e,a.format);var s=a.kdf.execute(i,t.keySize,t.ivSize,e.salt);return a.iv=s.iv,b.decrypt.call(this,t,e,s.key,a)}})}())}(Wi),function(t){var e;t.exports=(e=Si.exports,function(){var t=e,i=t.lib.BlockCipher,a=t.algo,s=[],n=[],o=[],r=[],l=[],c=[],u=[],h=[],d=[],m=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var i=0,a=0;for(e=0;e<256;e++){var g=a^a<<1^a<<2^a<<3^a<<4;g=g>>>8^255&g^99,s[i]=g,n[g]=i;var f=t[i],p=t[f],b=t[p],v=257*t[g]^16843008*g;o[i]=v<<24|v>>>8,r[i]=v<<16|v>>>16,l[i]=v<<8|v>>>24,c[i]=v,v=16843009*b^65537*p^257*f^16843008*i,u[g]=v<<24|v>>>8,h[g]=v<<16|v>>>16,d[g]=v<<8|v>>>24,m[g]=v,i?(i=f^t[t[t[b^f]]],a^=t[t[a]]):i=a=1}}();var g=[0,1,2,4,8,16,32,64,128,27,54],f=a.AES=i.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,i=t.sigBytes/4,a=4*((this._nRounds=i+6)+1),n=this._keySchedule=[],o=0;o<a;o++)if(o<i)n[o]=e[o];else{var r=n[o-1];o%i?i>6&&o%i==4&&(r=s[r>>>24]<<24|s[r>>>16&255]<<16|s[r>>>8&255]<<8|s[255&r]):(r=s[(r=r<<8|r>>>24)>>>24]<<24|s[r>>>16&255]<<16|s[r>>>8&255]<<8|s[255&r],r^=g[o/i|0]<<24),n[o]=n[o-i]^r}for(var l=this._invKeySchedule=[],c=0;c<a;c++)o=a-c,r=c%4?n[o]:n[o-4],l[c]=c<4||o<=4?r:u[s[r>>>24]]^h[s[r>>>16&255]]^d[s[r>>>8&255]]^m[s[255&r]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,r,l,c,s)},decryptBlock:function(t,e){var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i,this._doCryptBlock(t,e,this._invKeySchedule,u,h,d,m,n),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,a,s,n,o,r){for(var l=this._nRounds,c=t[e]^i[0],u=t[e+1]^i[1],h=t[e+2]^i[2],d=t[e+3]^i[3],m=4,g=1;g<l;g++){var f=a[c>>>24]^s[u>>>16&255]^n[h>>>8&255]^o[255&d]^i[m++],p=a[u>>>24]^s[h>>>16&255]^n[d>>>8&255]^o[255&c]^i[m++],b=a[h>>>24]^s[d>>>16&255]^n[c>>>8&255]^o[255&u]^i[m++],v=a[d>>>24]^s[c>>>16&255]^n[u>>>8&255]^o[255&h]^i[m++];c=f,u=p,h=b,d=v}f=(r[c>>>24]<<24|r[u>>>16&255]<<16|r[h>>>8&255]<<8|r[255&d])^i[m++],p=(r[u>>>24]<<24|r[h>>>16&255]<<16|r[d>>>8&255]<<8|r[255&c])^i[m++],b=(r[h>>>24]<<24|r[d>>>16&255]<<16|r[c>>>8&255]<<8|r[255&u])^i[m++],v=(r[d>>>24]<<24|r[c>>>16&255]<<16|r[u>>>8&255]<<8|r[255&h])^i[m++],t[e]=f,t[e+1]=p,t[e+2]=b,t[e+3]=v},keySize:8});t.AES=i._createHelper(f)}(),e.AES)}(Ii);var _i=Ii.exports,ji={exports:{}};!function(t){var e;t.exports=(e=Si.exports,function(t){var i=e,a=i.lib,s=a.WordArray,n=a.Hasher,o=i.algo,r=[],l=[];!function(){function e(e){for(var i=t.sqrt(e),a=2;a<=i;a++)if(!(e%a))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var a=2,s=0;s<64;)e(a)&&(s<8&&(r[s]=i(t.pow(a,.5))),l[s]=i(t.pow(a,1/3)),s++),a++}();var c=[],u=o.SHA256=n.extend({_doReset:function(){this._hash=new s.init(r.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,a=i[0],s=i[1],n=i[2],o=i[3],r=i[4],u=i[5],h=i[6],d=i[7],m=0;m<64;m++){if(m<16)c[m]=0|t[e+m];else{var g=c[m-15],f=(g<<25|g>>>7)^(g<<14|g>>>18)^g>>>3,p=c[m-2],b=(p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10;c[m]=f+c[m-7]+b+c[m-16]}var v=a&s^a&n^s&n,y=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),w=d+((r<<26|r>>>6)^(r<<21|r>>>11)^(r<<7|r>>>25))+(r&u^~r&h)+l[m]+c[m];d=h,h=u,u=r,r=o+w|0,o=n,n=s,s=a,a=w+(y+v)|0}i[0]=i[0]+a|0,i[1]=i[1]+s|0,i[2]=i[2]+n|0,i[3]=i[3]+o|0,i[4]=i[4]+r|0,i[5]=i[5]+u|0,i[6]=i[6]+h|0,i[7]=i[7]+d|0},_doFinalize:function(){var e=this._data,i=e.words,a=8*this._nDataBytes,s=8*e.sigBytes;return i[s>>>5]|=128<<24-s%32,i[14+(s+64>>>9<<4)]=t.floor(a/4294967296),i[15+(s+64>>>9<<4)]=a,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});i.SHA256=n._createHelper(u),i.HmacSHA256=n._createHmacHelper(u)}(Math),e.SHA256)}(ji);var Ri=ji.exports,Oi={exports:{}};!function(t){t.exports=Si.exports.enc.Utf8}(Oi);var Li=Oi.exports;const Ei=(t,e)=>{const i=t.slice(),a=[];let s=e;for(;0!==i.length;){const t=i.pop(),e=t.toLowerCase();if(s.children.has("*")){if(s.children.has("!"+e))break;s=s.children.get("*")}else{if(!1===s.children.has(e))break;s=s.children.get(e)}a.unshift(t)}return a},Ni="[a-fA-F\\d:]",Gi=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Ni})|(?<=${Ni})(?=\\s|$))`:"",Bi="(?: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}",Hi="[a-fA-F\\d]{1,4}",Vi=`\n(?:\n(?:${Hi}:){7}(?:${Hi}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${Hi}:){6}(?:${Bi}|:${Hi}|:)| // 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(?:${Hi}:){5}(?::${Bi}|(?::${Hi}){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(?:${Hi}:){4}(?:(?::${Hi}){0,1}:${Bi}|(?::${Hi}){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(?:${Hi}:){3}(?:(?::${Hi}){0,2}:${Bi}|(?::${Hi}){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(?:${Hi}:){2}(?:(?::${Hi}){0,3}:${Bi}|(?::${Hi}){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(?:${Hi}:){1}(?:(?::${Hi}){0,4}:${Bi}|(?::${Hi}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${Hi}){0,5}:${Bi}|(?::${Hi}){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(),qi=new RegExp(`(?:^${Bi}$)|(?:^${Vi}$)`),Yi=new RegExp(`^${Bi}$`),Fi=new RegExp(`^${Vi}$`),Ui=t=>t&&t.exact?qi:new RegExp(`(?:${Gi(t)}${Bi}${Gi(t)})|(?:${Gi(t)}${Vi}${Gi(t)})`,"g");Ui.v4=t=>t&&t.exact?Yi:new RegExp(`${Gi(t)}${Bi}${Gi(t)}`,"g"),Ui.v6=t=>t&&t.exact?Fi:new RegExp(`${Gi(t)}${Vi}${Gi(t)}`,"g");const Ki=Ui,Zi=t=>Ki({exact:!0}).test(t);Zi.v4=t=>Ki.v4({exact:!0}).test(t),Zi.v6=t=>Ki.v6({exact:!0}).test(t),Zi.version=t=>Zi(t)?Zi.v4(t)?4:6:void 0;var Qi=Zi;var Ji,Xi;!function(t){t.NoHostname="NO_HOSTNAME",t.DomainMaxLength="DOMAIN_MAX_LENGTH",t.LabelMinLength="LABEL_MIN_LENGTH",t.LabelMaxLength="LABEL_MAX_LENGTH",t.LabelInvalidCharacter="LABEL_INVALID_CHARACTER"}(Ji||(Ji={})),function(t){t.ValidIp="VALID_IP",t.ValidDomain="VALID_DOMAIN",t.Error="ERROR"}(Xi||(Xi={}));const ta=t=>({type:Ji.NoHostname,message:`The given input ${String(t)} does not look like a hostname.`,column:1}),ea=t=>{const e=t.length;return{type:Ji.DomainMaxLength,message:`Domain "${t}" is too long. Domain is ${e} octets long but should not be longer than 253.`,column:e}},ia=(t,e)=>{const i=t.length;return{type:Ji.LabelMinLength,message:`Label "${t}" is too short. Label is ${i} octets long but should be at least 1.`,column:e}},aa=(t,e)=>{const i=t.length;return{type:Ji.LabelMaxLength,message:`Label "${t}" is too long. Label is ${i} octets long but should not be longer than 63.`,column:e}},sa=(t,e,i)=>({type:Ji.LabelInvalidCharacter,message:`Label "${t}" contains invalid character "${e}" at column ${i}.`,column:i}),na=Symbol("ROOT"),oa=Symbol("CHILD"),ra=t=>{const e={type:na,children:new Map};let i="",a=e,s=e;const n=()=>{s=((t,e)=>{let i=t.children.get(e);return void 0===i&&(i={type:oa,label:e,children:new Map,parent:t},t.children.set(e,i)),i})(a,i),i=""};for(let o=0;o<t.length;o++){const r=t.charAt(o);switch(r){case",":n();continue;case">":n(),a=s;continue;case"|":n(),a=e;continue;case"<":if(a.type===na)throw new Error(`Error in serialized trie at position ${o}: Cannot go up, current parent node is already root`);n(),a=a.parent;continue}i+=r}return""!==i&&n(),e},la=["localhost","local","example","invalid","test"];var ca;!function(t){t.Invalid="INVALID",t.Ip="IP",t.Reserved="RESERVED",t.NotListed="NOT_LISTED",t.Listed="LISTED"}(ca||(ca={}));const ua=(t,e)=>e>=0&&e<t.length?t[e]:void 0,ha=(t,e)=>({subDomains:t.slice(0,Math.max(0,e)),domain:ua(t,e),topLevelDomains:t.slice(e+1)});let da,ma;const ga=t=>{const e=(t=>{if("string"!=typeof t)return{type:Xi.Error,errors:[ta(t)]};const e=t.trim(),i=e.replace(/^\[|]$/g,""),a=Qi.version(i);if(void 0!==a)return{type:Xi.ValidIp,ip:i,ipVersion:a};if(e.length>253)return{type:Xi.Error,errors:[ea(e)]};const s=e.split(".");""===s[s.length-1]&&s.pop();const n=[];let o=1;for(const t of s){const e=/[^\d\-a-z]/iu.exec(t);e?n.push(sa(t,e[0],e.index+1)):t.length<1?n.push(ia(t,o)):t.length>63&&n.push(aa(t,o)),o+=t.length+1}return n.length>0?{type:Xi.Error,errors:n}:{type:Xi.ValidDomain,domain:e,labels:s}})(t);if(e.type===Xi.Error)return{type:ca.Invalid,hostname:t,errors:e.errors};if(e.type===Xi.ValidIp)return{type:ca.Ip,hostname:e.ip,ipVersion:e.ipVersion};const{labels:i,domain:a}=e;if(""===t||la.includes(i[i.length-1]))return{type:ca.Reserved,hostname:a,labels:i};da=null!=da?da:ra("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"),ma=null!=ma?ma:ra("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 s=Ei(i,da),n=Ei(i,ma);if(0===s.length&&0===n.length)return{type:ca.NotListed,hostname:a,labels:i};const o=i.length-Math.max(n.length,s.length)-1,r=i.length-s.length-1;return Object.assign({type:ca.Listed,hostname:a,labels:i,icann:ha(i,r)},ha(i,o))};var fa="0123456789abcdefghijklmnopqrstuvwxyz";function pa(t){return fa.charAt(t)}function ba(t,e){return t&e}function va(t,e){return t|e}function ya(t,e){return t^e}function wa(t,e){return t&~e}function ka(t){if(0==t)return-1;var e=0;return 65535&t||(t>>=16,e+=16),255&t||(t>>=8,e+=8),15&t||(t>>=4,e+=4),3&t||(t>>=2,e+=2),1&t||++e,e}function xa(t){for(var e=0;0!=t;)t&=t-1,++e;return e}var Da,$a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Sa(t){var e,i,a="";for(e=0;e+3<=t.length;e+=3)i=parseInt(t.substring(e,e+3),16),a+=$a.charAt(i>>6)+$a.charAt(63&i);for(e+1==t.length?(i=parseInt(t.substring(e,e+1),16),a+=$a.charAt(i<<2)):e+2==t.length&&(i=parseInt(t.substring(e,e+2),16),a+=$a.charAt(i>>2)+$a.charAt((3&i)<<4));(3&a.length)>0;)a+="=";return a}function Pa(t){var e,i="",a=0,s=0;for(e=0;e<t.length&&"="!=t.charAt(e);++e){var n=$a.indexOf(t.charAt(e));n<0||(0==a?(i+=pa(n>>2),s=3&n,a=1):1==a?(i+=pa(s<<2|n>>4),s=15&n,a=2):2==a?(i+=pa(s),i+=pa(n>>2),s=3&n,a=3):(i+=pa(s<<2|n>>4),i+=pa(15&n),a=0))}return 1==a&&(i+=pa(s<<2)),i}var Ca,za=function(t){var e;if(void 0===Da){var i="0123456789ABCDEF",a=" \f\n\r\t \u2028\u2029";for(Da={},e=0;e<16;++e)Da[i.charAt(e)]=e;for(i=i.toLowerCase(),e=10;e<16;++e)Da[i.charAt(e)]=e;for(e=0;e<8;++e)Da[a.charAt(e)]=-1}var s=[],n=0,o=0;for(e=0;e<t.length;++e){var r=t.charAt(e);if("="==r)break;if(-1!=(r=Da[r])){if(void 0===r)throw new Error("Illegal character at offset "+e);n|=r,++o>=2?(s[s.length]=n,n=0,o=0):n<<=4}}if(o)throw new Error("Hex encoding incomplete: 4 bits missing");return s},Ia={decode:function(t){var e;if(void 0===Ca){var i="= \f\n\r\t \u2028\u2029";for(Ca=Object.create(null),e=0;e<64;++e)Ca["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)]=e;for(Ca["-"]=62,Ca._=63,e=0;e<9;++e)Ca[i.charAt(e)]=-1}var a=[],s=0,n=0;for(e=0;e<t.length;++e){var o=t.charAt(e);if("="==o)break;if(-1!=(o=Ca[o])){if(void 0===o)throw new Error("Illegal character at offset "+e);s|=o,++n>=4?(a[a.length]=s>>16,a[a.length]=s>>8&255,a[a.length]=255&s,s=0,n=0):s<<=6}}switch(n){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:a[a.length]=s>>10;break;case 3:a[a.length]=s>>16,a[a.length]=s>>8&255}return a},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(t){var e=Ia.re.exec(t);if(e)if(e[1])t=e[1];else{if(!e[2])throw new Error("RegExp out of sync");t=e[2]}return Ia.decode(t)}},Ta=1e13,Aa=function(){function t(t){this.buf=[+t||0]}return t.prototype.mulAdd=function(t,e){var i,a,s=this.buf,n=s.length;for(i=0;i<n;++i)(a=s[i]*t+e)<Ta?e=0:a-=(e=0|a/Ta)*Ta,s[i]=a;e>0&&(s[i]=e)},t.prototype.sub=function(t){var e,i,a=this.buf,s=a.length;for(e=0;e<s;++e)(i=a[e]-t)<0?(i+=Ta,t=1):t=0,a[e]=i;for(;0===a[a.length-1];)a.pop()},t.prototype.toString=function(t){if(10!=(t||10))throw new Error("only base 10 is supported");for(var e=this.buf,i=e[e.length-1].toString(),a=e.length-2;a>=0;--a)i+=(Ta+e[a]).toString().substring(1);return i},t.prototype.valueOf=function(){for(var t=this.buf,e=0,i=t.length-1;i>=0;--i)e=e*Ta+t[i];return e},t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this},t}(),Ma=/^(\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)?)?$/,Wa=/^(\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 _a(t,e){return t.length>e&&(t=t.substring(0,e)+"…"),t}var ja,Ra=function(){function t(e,i){this.hexDigits="0123456789ABCDEF",e instanceof t?(this.enc=e.enc,this.pos=e.pos):(this.enc=e,this.pos=i)}return t.prototype.get=function(t){if(void 0===t&&(t=this.pos++),t>=this.enc.length)throw new Error("Requesting byte offset ".concat(t," on a stream of length ").concat(this.enc.length));return"string"==typeof this.enc?this.enc.charCodeAt(t):this.enc[t]},t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)},t.prototype.hexDump=function(t,e,i){for(var a="",s=t;s<e;++s)if(a+=this.hexByte(this.get(s)),!0!==i)switch(15&s){case 7:a+=" ";break;case 15:a+="\n";break;default:a+=" "}return a},t.prototype.isASCII=function(t,e){for(var i=t;i<e;++i){var a=this.get(i);if(a<32||a>176)return!1}return!0},t.prototype.parseStringISO=function(t,e){for(var i="",a=t;a<e;++a)i+=String.fromCharCode(this.get(a));return i},t.prototype.parseStringUTF=function(t,e){for(var i="",a=t;a<e;){var s=this.get(a++);i+=s<128?String.fromCharCode(s):s>191&&s<224?String.fromCharCode((31&s)<<6|63&this.get(a++)):String.fromCharCode((15&s)<<12|(63&this.get(a++))<<6|63&this.get(a++))}return i},t.prototype.parseStringBMP=function(t,e){for(var i,a,s="",n=t;n<e;)i=this.get(n++),a=this.get(n++),s+=String.fromCharCode(i<<8|a);return s},t.prototype.parseTime=function(t,e,i){var a=this.parseStringISO(t,e),s=(i?Ma:Wa).exec(a);return s?(i&&(s[1]=+s[1],s[1]+=+s[1]<70?2e3:1900),a=s[1]+"-"+s[2]+"-"+s[3]+" "+s[4],s[5]&&(a+=":"+s[5],s[6]&&(a+=":"+s[6],s[7]&&(a+="."+s[7]))),s[8]&&(a+=" UTC","Z"!=s[8]&&(a+=s[8],s[9]&&(a+=":"+s[9]))),a):"Unrecognized time: "+a},t.prototype.parseInteger=function(t,e){for(var i,a=this.get(t),s=a>127,n=s?255:0,o="";a==n&&++t<e;)a=this.get(t);if(0===(i=e-t))return s?-1:0;if(i>4){for(o=a,i<<=3;!(128&(+o^n));)o=+o<<1,--i;o="("+i+" bit)\n"}s&&(a-=256);for(var r=new Aa(a),l=t+1;l<e;++l)r.mulAdd(256,this.get(l));return o+r.toString()},t.prototype.parseBitString=function(t,e,i){for(var a=this.get(t),s="("+((e-t-1<<3)-a)+" bit)\n",n="",o=t+1;o<e;++o){for(var r=this.get(o),l=o==e-1?a:0,c=7;c>=l;--c)n+=r>>c&1?"1":"0";if(n.length>i)return s+_a(n,i)}return s+n},t.prototype.parseOctetString=function(t,e,i){if(this.isASCII(t,e))return _a(this.parseStringISO(t,e),i);var a=e-t,s="("+a+" byte)\n";a>(i/=2)&&(e=t+i);for(var n=t;n<e;++n)s+=this.hexByte(this.get(n));return a>i&&(s+="…"),s},t.prototype.parseOID=function(t,e,i){for(var a="",s=new Aa,n=0,o=t;o<e;++o){var r=this.get(o);if(s.mulAdd(128,127&r),n+=7,!(128&r)){if(""===a)if((s=s.simplify())instanceof Aa)s.sub(80),a="2."+s.toString();else{var l=s<80?s<40?0:1:2;a=l+"."+(s-40*l)}else a+="."+s.toString();if(a.length>i)return _a(a,i);s=new Aa,n=0}}return n>0&&(a+=".incomplete"),a},t}(),Oa=function(){function t(t,e,i,a,s){if(!(a instanceof La))throw new Error("Invalid tag value.");this.stream=t,this.header=e,this.length=i,this.tag=a,this.sub=s}return t.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()}},t.prototype.content=function(t){if(void 0===this.tag)return null;void 0===t&&(t=1/0);var e=this.posContent(),i=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+i,t);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?"false":"true";case 2:return this.stream.parseInteger(e,e+i);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(e,e+i,t);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+i,t);case 6:return this.stream.parseOID(e,e+i,t);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return _a(this.stream.parseStringUTF(e,e+i),t);case 18:case 19:case 20:case 21:case 22:case 26:return _a(this.stream.parseStringISO(e,e+i),t);case 30:return _a(this.stream.parseStringBMP(e,e+i),t);case 23:case 24:return this.stream.parseTime(e,e+i,23==this.tag.tagNumber)}return null},t.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},t.prototype.toPrettyString=function(t){void 0===t&&(t="");var e=t+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(e+="+"),e+=this.length,this.tag.tagConstructed?e+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(e+=" (encapsulates)"),e+="\n",null!==this.sub){t+=" ";for(var i=0,a=this.sub.length;i<a;++i)e+=this.sub[i].toPrettyString(t)}return e},t.prototype.posStart=function(){return this.stream.pos},t.prototype.posContent=function(){return this.stream.pos+this.header},t.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},t.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},t.decodeLength=function(t){var e=t.get(),i=127&e;if(i==e)return i;if(i>6)throw new Error("Length over 48 bits not supported at position "+(t.pos-1));if(0===i)return null;e=0;for(var a=0;a<i;++a)e=256*e+t.get();return e},t.prototype.getHexStringValue=function(){var t=this.toHexString(),e=2*this.header,i=2*this.length;return t.substr(e,i)},t.decode=function(e){var i;i=e instanceof Ra?e:new Ra(e,0);var a=new Ra(i),s=new La(i),n=t.decodeLength(i),o=i.pos,r=o-a.pos,l=null,c=function(){var e=[];if(null!==n){for(var a=o+n;i.pos<a;)e[e.length]=t.decode(i);if(i.pos!=a)throw new Error("Content size is not correct for container starting at offset "+o)}else try{for(;;){var s=t.decode(i);if(s.tag.isEOC())break;e[e.length]=s}n=o-i.pos}catch(t){throw new Error("Exception while decoding undefined length content: "+t)}return e};if(s.tagConstructed)l=c();else if(s.isUniversal()&&(3==s.tagNumber||4==s.tagNumber))try{if(3==s.tagNumber&&0!=i.get())throw new Error("BIT STRINGs with unused bits cannot encapsulate.");l=c();for(var u=0;u<l.length;++u)if(l[u].tag.isEOC())throw new Error("EOC is not supposed to be actual content.")}catch(t){l=null}if(null===l){if(null===n)throw new Error("We can't skip over an invalid tag with undefined length at offset "+o);i.pos=o+Math.abs(n)}return new t(a,r,n,s,l)},t}(),La=function(){function t(t){var e=t.get();if(this.tagClass=e>>6,this.tagConstructed=!!(32&e),this.tagNumber=31&e,31==this.tagNumber){var i=new Aa;do{e=t.get(),i.mulAdd(128,127&e)}while(128&e);this.tagNumber=i.simplify()}}return t.prototype.isUniversal=function(){return 0===this.tagClass},t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},t}(),Ea=[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],Na=(1<<26)/Ea[Ea.length-1],Ga=function(){function t(t,e,i){null!=t&&("number"==typeof t?this.fromNumber(t,e,i):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}return t.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var i,a=(1<<e)-1,s=!1,n="",o=this.t,r=this.DB-o*this.DB%e;if(o-- >0)for(r<this.DB&&(i=this[o]>>r)>0&&(s=!0,n=pa(i));o>=0;)r<e?(i=(this[o]&(1<<r)-1)<<e-r,i|=this[--o]>>(r+=this.DB-e)):(i=this[o]>>(r-=e)&a,r<=0&&(r+=this.DB,--o)),i>0&&(s=!0),s&&(n+=pa(i));return s?n:"0"},t.prototype.negate=function(){var e=Ya();return t.ZERO.subTo(this,e),e},t.prototype.abs=function(){return this.s<0?this.negate():this},t.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var i=this.t;if(0!=(e=i-t.t))return this.s<0?-e:e;for(;--i>=0;)if(0!=(e=this[i]-t[i]))return e;return 0},t.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+ts(this[this.t-1]^this.s&this.DM)},t.prototype.mod=function(e){var i=Ya();return this.abs().divRemTo(e,null,i),this.s<0&&i.compareTo(t.ZERO)>0&&e.subTo(i,i),i},t.prototype.modPowInt=function(t,e){var i;return i=t<256||e.isEven()?new Ha(e):new Va(e),this.exp(t,i)},t.prototype.clone=function(){var t=Ya();return this.copyTo(t),t},t.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]},t.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},t.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},t.prototype.toByteArray=function(){var t=this.t,e=[];e[0]=this.s;var i,a=this.DB-t*this.DB%8,s=0;if(t-- >0)for(a<this.DB&&(i=this[t]>>a)!=(this.s&this.DM)>>a&&(e[s++]=i|this.s<<this.DB-a);t>=0;)a<8?(i=(this[t]&(1<<a)-1)<<8-a,i|=this[--t]>>(a+=this.DB-8)):(i=this[t]>>(a-=8)&255,a<=0&&(a+=this.DB,--t)),128&i&&(i|=-256),0==s&&(128&this.s)!=(128&i)&&++s,(s>0||i!=this.s)&&(e[s++]=i);return e},t.prototype.equals=function(t){return 0==this.compareTo(t)},t.prototype.min=function(t){return this.compareTo(t)<0?this:t},t.prototype.max=function(t){return this.compareTo(t)>0?this:t},t.prototype.and=function(t){var e=Ya();return this.bitwiseTo(t,ba,e),e},t.prototype.or=function(t){var e=Ya();return this.bitwiseTo(t,va,e),e},t.prototype.xor=function(t){var e=Ya();return this.bitwiseTo(t,ya,e),e},t.prototype.andNot=function(t){var e=Ya();return this.bitwiseTo(t,wa,e),e},t.prototype.not=function(){for(var t=Ya(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t},t.prototype.shiftLeft=function(t){var e=Ya();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e},t.prototype.shiftRight=function(t){var e=Ya();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e},t.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+ka(this[t]);return this.s<0?this.t*this.DB:-1},t.prototype.bitCount=function(){for(var t=0,e=this.s&this.DM,i=0;i<this.t;++i)t+=xa(this[i]^e);return t},t.prototype.testBit=function(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:!!(this[e]&1<<t%this.DB)},t.prototype.setBit=function(t){return this.changeBit(t,va)},t.prototype.clearBit=function(t){return this.changeBit(t,wa)},t.prototype.flipBit=function(t){return this.changeBit(t,ya)},t.prototype.add=function(t){var e=Ya();return this.addTo(t,e),e},t.prototype.subtract=function(t){var e=Ya();return this.subTo(t,e),e},t.prototype.multiply=function(t){var e=Ya();return this.multiplyTo(t,e),e},t.prototype.divide=function(t){var e=Ya();return this.divRemTo(t,e,null),e},t.prototype.remainder=function(t){var e=Ya();return this.divRemTo(t,null,e),e},t.prototype.divideAndRemainder=function(t){var e=Ya(),i=Ya();return this.divRemTo(t,e,i),[e,i]},t.prototype.modPow=function(t,e){var i,a,s=t.bitLength(),n=Xa(1);if(s<=0)return n;i=s<18?1:s<48?3:s<144?4:s<768?5:6,a=s<8?new Ha(e):e.isEven()?new qa(e):new Va(e);var o=[],r=3,l=i-1,c=(1<<i)-1;if(o[1]=a.convert(this),i>1){var u=Ya();for(a.sqrTo(o[1],u);r<=c;)o[r]=Ya(),a.mulTo(u,o[r-2],o[r]),r+=2}var h,d,m=t.t-1,g=!0,f=Ya();for(s=ts(t[m])-1;m>=0;){for(s>=l?h=t[m]>>s-l&c:(h=(t[m]&(1<<s+1)-1)<<l-s,m>0&&(h|=t[m-1]>>this.DB+s-l)),r=i;!(1&h);)h>>=1,--r;if((s-=r)<0&&(s+=this.DB,--m),g)o[h].copyTo(n),g=!1;else{for(;r>1;)a.sqrTo(n,f),a.sqrTo(f,n),r-=2;r>0?a.sqrTo(n,f):(d=n,n=f,f=d),a.mulTo(f,o[h],n)}for(;m>=0&&!(t[m]&1<<s);)a.sqrTo(n,f),d=n,n=f,f=d,--s<0&&(s=this.DB-1,--m)}return a.revert(n)},t.prototype.modInverse=function(e){var i=e.isEven();if(this.isEven()&&i||0==e.signum())return t.ZERO;for(var a=e.clone(),s=this.clone(),n=Xa(1),o=Xa(0),r=Xa(0),l=Xa(1);0!=a.signum();){for(;a.isEven();)a.rShiftTo(1,a),i?(n.isEven()&&o.isEven()||(n.addTo(this,n),o.subTo(e,o)),n.rShiftTo(1,n)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;s.isEven();)s.rShiftTo(1,s),i?(r.isEven()&&l.isEven()||(r.addTo(this,r),l.subTo(e,l)),r.rShiftTo(1,r)):l.isEven()||l.subTo(e,l),l.rShiftTo(1,l);a.compareTo(s)>=0?(a.subTo(s,a),i&&n.subTo(r,n),o.subTo(l,o)):(s.subTo(a,s),i&&r.subTo(n,r),l.subTo(o,l))}return 0!=s.compareTo(t.ONE)?t.ZERO:l.compareTo(e)>=0?l.subtract(e):l.signum()<0?(l.addTo(e,l),l.signum()<0?l.add(e):l):l},t.prototype.pow=function(t){return this.exp(t,new Ba)},t.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),i=t.s<0?t.negate():t.clone();if(e.compareTo(i)<0){var a=e;e=i,i=a}var s=e.getLowestSetBit(),n=i.getLowestSetBit();if(n<0)return e;for(s<n&&(n=s),n>0&&(e.rShiftTo(n,e),i.rShiftTo(n,i));e.signum()>0;)(s=e.getLowestSetBit())>0&&e.rShiftTo(s,e),(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),e.compareTo(i)>=0?(e.subTo(i,e),e.rShiftTo(1,e)):(i.subTo(e,i),i.rShiftTo(1,i));return n>0&&i.lShiftTo(n,i),i},t.prototype.isProbablePrime=function(t){var e,i=this.abs();if(1==i.t&&i[0]<=Ea[Ea.length-1]){for(e=0;e<Ea.length;++e)if(i[0]==Ea[e])return!0;return!1}if(i.isEven())return!1;for(e=1;e<Ea.length;){for(var a=Ea[e],s=e+1;s<Ea.length&&a<Na;)a*=Ea[s++];for(a=i.modInt(a);e<s;)if(a%Ea[e++]==0)return!1}return i.millerRabin(t)},t.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},t.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},t.prototype.fromString=function(e,i){var a;if(16==i)a=4;else if(8==i)a=3;else if(256==i)a=8;else if(2==i)a=1;else if(32==i)a=5;else{if(4!=i)return void this.fromRadix(e,i);a=2}this.t=0,this.s=0;for(var s=e.length,n=!1,o=0;--s>=0;){var r=8==a?255&+e[s]:Ja(e,s);r<0?"-"==e.charAt(s)&&(n=!0):(n=!1,0==o?this[this.t++]=r:o+a>this.DB?(this[this.t-1]|=(r&(1<<this.DB-o)-1)<<o,this[this.t++]=r>>this.DB-o):this[this.t-1]|=r<<o,(o+=a)>=this.DB&&(o-=this.DB))}8==a&&128&+e[0]&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),n&&t.ZERO.subTo(this,this)},t.prototype.clamp=function(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t},t.prototype.dlShiftTo=function(t,e){var i;for(i=this.t-1;i>=0;--i)e[i+t]=this[i];for(i=t-1;i>=0;--i)e[i]=0;e.t=this.t+t,e.s=this.s},t.prototype.drShiftTo=function(t,e){for(var i=t;i<this.t;++i)e[i-t]=this[i];e.t=Math.max(this.t-t,0),e.s=this.s},t.prototype.lShiftTo=function(t,e){for(var i=t%this.DB,a=this.DB-i,s=(1<<a)-1,n=Math.floor(t/this.DB),o=this.s<<i&this.DM,r=this.t-1;r>=0;--r)e[r+n+1]=this[r]>>a|o,o=(this[r]&s)<<i;for(r=n-1;r>=0;--r)e[r]=0;e[n]=o,e.t=this.t+n+1,e.s=this.s,e.clamp()},t.prototype.rShiftTo=function(t,e){e.s=this.s;var i=Math.floor(t/this.DB);if(i>=this.t)e.t=0;else{var a=t%this.DB,s=this.DB-a,n=(1<<a)-1;e[0]=this[i]>>a;for(var o=i+1;o<this.t;++o)e[o-i-1]|=(this[o]&n)<<s,e[o-i]=this[o]>>a;a>0&&(e[this.t-i-1]|=(this.s&n)<<s),e.t=this.t-i,e.clamp()}},t.prototype.subTo=function(t,e){for(var i=0,a=0,s=Math.min(t.t,this.t);i<s;)a+=this[i]-t[i],e[i++]=a&this.DM,a>>=this.DB;if(t.t<this.t){for(a-=t.s;i<this.t;)a+=this[i],e[i++]=a&this.DM,a>>=this.DB;a+=this.s}else{for(a+=this.s;i<t.t;)a-=t[i],e[i++]=a&this.DM,a>>=this.DB;a-=t.s}e.s=a<0?-1:0,a<-1?e[i++]=this.DV+a:a>0&&(e[i++]=a),e.t=i,e.clamp()},t.prototype.multiplyTo=function(e,i){var a=this.abs(),s=e.abs(),n=a.t;for(i.t=n+s.t;--n>=0;)i[n]=0;for(n=0;n<s.t;++n)i[n+a.t]=a.am(0,s[n],i,n,0,a.t);i.s=0,i.clamp(),this.s!=e.s&&t.ZERO.subTo(i,i)},t.prototype.squareTo=function(t){for(var e=this.abs(),i=t.t=2*e.t;--i>=0;)t[i]=0;for(i=0;i<e.t-1;++i){var a=e.am(i,e[i],t,2*i,0,1);(t[i+e.t]+=e.am(i+1,2*e[i],t,2*i+1,a,e.t-i-1))>=e.DV&&(t[i+e.t]-=e.DV,t[i+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(i,e[i],t,2*i,0,1)),t.s=0,t.clamp()},t.prototype.divRemTo=function(e,i,a){var s=e.abs();if(!(s.t<=0)){var n=this.abs();if(n.t<s.t)return null!=i&&i.fromInt(0),void(null!=a&&this.copyTo(a));null==a&&(a=Ya());var o=Ya(),r=this.s,l=e.s,c=this.DB-ts(s[s.t-1]);c>0?(s.lShiftTo(c,o),n.lShiftTo(c,a)):(s.copyTo(o),n.copyTo(a));var u=o.t,h=o[u-1];if(0!=h){var d=h*(1<<this.F1)+(u>1?o[u-2]>>this.F2:0),m=this.FV/d,g=(1<<this.F1)/d,f=1<<this.F2,p=a.t,b=p-u,v=null==i?Ya():i;for(o.dlShiftTo(b,v),a.compareTo(v)>=0&&(a[a.t++]=1,a.subTo(v,a)),t.ONE.dlShiftTo(u,v),v.subTo(o,o);o.t<u;)o[o.t++]=0;for(;--b>=0;){var y=a[--p]==h?this.DM:Math.floor(a[p]*m+(a[p-1]+f)*g);if((a[p]+=o.am(0,y,a,b,0,u))<y)for(o.dlShiftTo(b,v),a.subTo(v,a);a[p]<--y;)a.subTo(v,a)}null!=i&&(a.drShiftTo(u,i),r!=l&&t.ZERO.subTo(i,i)),a.t=u,a.clamp(),c>0&&a.rShiftTo(c,a),r<0&&t.ZERO.subTo(a,a)}}},t.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(!(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},t.prototype.exp=function(e,i){if(e>4294967295||e<1)return t.ONE;var a=Ya(),s=Ya(),n=i.convert(this),o=ts(e)-1;for(n.copyTo(a);--o>=0;)if(i.sqrTo(a,s),(e&1<<o)>0)i.mulTo(s,n,a);else{var r=a;a=s,s=r}return i.revert(a)},t.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},t.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),i=Math.pow(t,e),a=Xa(i),s=Ya(),n=Ya(),o="";for(this.divRemTo(a,s,n);s.signum()>0;)o=(i+n.intValue()).toString(t).substr(1)+o,s.divRemTo(a,s,n);return n.intValue().toString(t)+o},t.prototype.fromRadix=function(e,i){this.fromInt(0),null==i&&(i=10);for(var a=this.chunkSize(i),s=Math.pow(i,a),n=!1,o=0,r=0,l=0;l<e.length;++l){var c=Ja(e,l);c<0?"-"==e.charAt(l)&&0==this.signum()&&(n=!0):(r=i*r+c,++o>=a&&(this.dMultiply(s),this.dAddOffset(r,0),o=0,r=0))}o>0&&(this.dMultiply(Math.pow(i,o)),this.dAddOffset(r,0)),n&&t.ZERO.subTo(this,this)},t.prototype.fromNumber=function(e,i,a){if("number"==typeof i)if(e<2)this.fromInt(1);else for(this.fromNumber(e,a),this.testBit(e-1)||this.bitwiseTo(t.ONE.shiftLeft(e-1),va,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(t.ONE.shiftLeft(e-1),this);else{var s=[],n=7&e;s.length=1+(e>>3),i.nextBytes(s),n>0?s[0]&=(1<<n)-1:s[0]=0,this.fromString(s,256)}},t.prototype.bitwiseTo=function(t,e,i){var a,s,n=Math.min(t.t,this.t);for(a=0;a<n;++a)i[a]=e(this[a],t[a]);if(t.t<this.t){for(s=t.s&this.DM,a=n;a<this.t;++a)i[a]=e(this[a],s);i.t=this.t}else{for(s=this.s&this.DM,a=n;a<t.t;++a)i[a]=e(s,t[a]);i.t=t.t}i.s=e(this.s,t.s),i.clamp()},t.prototype.changeBit=function(e,i){var a=t.ONE.shiftLeft(e);return this.bitwiseTo(a,i,a),a},t.prototype.addTo=function(t,e){for(var i=0,a=0,s=Math.min(t.t,this.t);i<s;)a+=this[i]+t[i],e[i++]=a&this.DM,a>>=this.DB;if(t.t<this.t){for(a+=t.s;i<this.t;)a+=this[i],e[i++]=a&this.DM,a>>=this.DB;a+=this.s}else{for(a+=this.s;i<t.t;)a+=t[i],e[i++]=a&this.DM,a>>=this.DB;a+=t.s}e.s=a<0?-1:0,a>0?e[i++]=a:a<-1&&(e[i++]=this.DV+a),e.t=i,e.clamp()},t.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},t.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},t.prototype.multiplyLowerTo=function(t,e,i){var a=Math.min(this.t+t.t,e);for(i.s=0,i.t=a;a>0;)i[--a]=0;for(var s=i.t-this.t;a<s;++a)i[a+this.t]=this.am(0,t[a],i,a,0,this.t);for(s=Math.min(t.t,e);a<s;++a)this.am(0,t[a],i,a,0,e-a);i.clamp()},t.prototype.multiplyUpperTo=function(t,e,i){--e;var a=i.t=this.t+t.t-e;for(i.s=0;--a>=0;)i[a]=0;for(a=Math.max(e-this.t,0);a<t.t;++a)i[this.t+a-e]=this.am(e-a,t[a],i,0,0,this.t+a-e);i.clamp(),i.drShiftTo(1,i)},t.prototype.modInt=function(t){if(t<=0)return 0;var e=this.DV%t,i=this.s<0?t-1:0;if(this.t>0)if(0==e)i=this[0]%t;else for(var a=this.t-1;a>=0;--a)i=(e*i+this[a])%t;return i},t.prototype.millerRabin=function(e){var i=this.subtract(t.ONE),a=i.getLowestSetBit();if(a<=0)return!1;var s=i.shiftRight(a);(e=e+1>>1)>Ea.length&&(e=Ea.length);for(var n=Ya(),o=0;o<e;++o){n.fromInt(Ea[Math.floor(Math.random()*Ea.length)]);var r=n.modPow(s,this);if(0!=r.compareTo(t.ONE)&&0!=r.compareTo(i)){for(var l=1;l++<a&&0!=r.compareTo(i);)if(0==(r=r.modPowInt(2,this)).compareTo(t.ONE))return!1;if(0!=r.compareTo(i))return!1}}return!0},t.prototype.square=function(){var t=Ya();return this.squareTo(t),t},t.prototype.gcda=function(t,e){var i=this.s<0?this.negate():this.clone(),a=t.s<0?t.negate():t.clone();if(i.compareTo(a)<0){var s=i;i=a,a=s}var n=i.getLowestSetBit(),o=a.getLowestSetBit();if(o<0)e(i);else{n<o&&(o=n),o>0&&(i.rShiftTo(o,i),a.rShiftTo(o,a));var r=function(){(n=i.getLowestSetBit())>0&&i.rShiftTo(n,i),(n=a.getLowestSetBit())>0&&a.rShiftTo(n,a),i.compareTo(a)>=0?(i.subTo(a,i),i.rShiftTo(1,i)):(a.subTo(i,a),a.rShiftTo(1,a)),i.signum()>0?setTimeout(r,0):(o>0&&a.lShiftTo(o,a),setTimeout((function(){e(a)}),0))};setTimeout(r,10)}},t.prototype.fromNumberAsync=function(e,i,a,s){if("number"==typeof i)if(e<2)this.fromInt(1);else{this.fromNumber(e,a),this.testBit(e-1)||this.bitwiseTo(t.ONE.shiftLeft(e-1),va,this),this.isEven()&&this.dAddOffset(1,0);var n=this,o=function(){n.dAddOffset(2,0),n.bitLength()>e&&n.subTo(t.ONE.shiftLeft(e-1),n),n.isProbablePrime(i)?setTimeout((function(){s()}),0):setTimeout(o,0)};setTimeout(o,0)}else{var r=[],l=7&e;r.length=1+(e>>3),i.nextBytes(r),l>0?r[0]&=(1<<l)-1:r[0]=0,this.fromString(r,256)}},t}(),Ba=function(){function t(){}return t.prototype.convert=function(t){return t},t.prototype.revert=function(t){return t},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i)},t.prototype.sqrTo=function(t,e){t.squareTo(e)},t}(),Ha=function(){function t(t){this.m=t}return t.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),Va=function(){function t(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}return t.prototype.convert=function(t){var e=Ya();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(Ga.ZERO)>0&&this.m.subTo(e,e),e},t.prototype.revert=function(t){var e=Ya();return t.copyTo(e),this.reduce(e),e},t.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var i=32767&t[e],a=i*this.mpl+((i*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(t[i=e+this.m.t]+=this.m.am(0,a,t,e,0,this.m.t);t[i]>=t.DV;)t[i]-=t.DV,t[++i]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),qa=function(){function t(t){this.m=t,this.r2=Ya(),this.q3=Ya(),Ga.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t)}return t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=Ya();return t.copyTo(e),this.reduce(e),e},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}();function Ya(){return new Ga(null)}function Fa(t,e){return new Ga(t,e)}var Ua="undefined"!=typeof navigator;Ua&&"Microsoft Internet Explorer"==navigator.appName?(Ga.prototype.am=function(t,e,i,a,s,n){for(var o=32767&e,r=e>>15;--n>=0;){var l=32767&this[t],c=this[t++]>>15,u=r*l+c*o;s=((l=o*l+((32767&u)<<15)+i[a]+(1073741823&s))>>>30)+(u>>>15)+r*c+(s>>>30),i[a++]=1073741823&l}return s},ja=30):Ua&&"Netscape"!=navigator.appName?(Ga.prototype.am=function(t,e,i,a,s,n){for(;--n>=0;){var o=e*this[t++]+i[a]+s;s=Math.floor(o/67108864),i[a++]=67108863&o}return s},ja=26):(Ga.prototype.am=function(t,e,i,a,s,n){for(var o=16383&e,r=e>>14;--n>=0;){var l=16383&this[t],c=this[t++]>>14,u=r*l+c*o;s=((l=o*l+((16383&u)<<14)+i[a]+s)>>28)+(u>>14)+r*c,i[a++]=268435455&l}return s},ja=28),Ga.prototype.DB=ja,Ga.prototype.DM=(1<<ja)-1,Ga.prototype.DV=1<<ja;Ga.prototype.FV=Math.pow(2,52),Ga.prototype.F1=52-ja,Ga.prototype.F2=2*ja-52;var Ka,Za,Qa=[];for(Ka="0".charCodeAt(0),Za=0;Za<=9;++Za)Qa[Ka++]=Za;for(Ka="a".charCodeAt(0),Za=10;Za<36;++Za)Qa[Ka++]=Za;for(Ka="A".charCodeAt(0),Za=10;Za<36;++Za)Qa[Ka++]=Za;function Ja(t,e){var i=Qa[t.charCodeAt(e)];return null==i?-1:i}function Xa(t){var e=Ya();return e.fromInt(t),e}function ts(t){var e,i=1;return 0!=(e=t>>>16)&&(t=e,i+=16),0!=(e=t>>8)&&(t=e,i+=8),0!=(e=t>>4)&&(t=e,i+=4),0!=(e=t>>2)&&(t=e,i+=2),0!=(e=t>>1)&&(t=e,i+=1),i}Ga.ZERO=Xa(0),Ga.ONE=Xa(1);var es=function(){function t(){this.i=0,this.j=0,this.S=[]}return t.prototype.init=function(t){var e,i,a;for(e=0;e<256;++e)this.S[e]=e;for(i=0,e=0;e<256;++e)i=i+this.S[e]+t[e%t.length]&255,a=this.S[e],this.S[e]=this.S[i],this.S[i]=a;this.i=0,this.j=0},t.prototype.next=function(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]},t}();var is,as,ss=null;if(null==ss){ss=[],as=0;var ns=void 0;if("undefined"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var os=new Uint32Array(256);for(window.crypto.getRandomValues(os),ns=0;ns<os.length;++ns)ss[as++]=255&os[ns]}var rs=0,ls=function(t){if((rs=rs||0)>=256||as>=256)window.removeEventListener?window.removeEventListener("mousemove",ls,!1):window.detachEvent&&window.detachEvent("onmousemove",ls);else try{var e=t.x+t.y;ss[as++]=255&e,rs+=1}catch(t){}};"undefined"!=typeof window&&(window.addEventListener?window.addEventListener("mousemove",ls,!1):window.attachEvent&&window.attachEvent("onmousemove",ls))}function cs(){if(null==is){for(is=new es;as<256;){var t=Math.floor(65536*Math.random());ss[as++]=255&t}for(is.init(ss),as=0;as<ss.length;++as)ss[as]=0;as=0}return is.next()}var us=function(){function t(){}return t.prototype.nextBytes=function(t){for(var e=0;e<t.length;++e)t[e]=cs()},t}();var hs=function(){function t(){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 t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)},t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),i=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(i)<0;)e=e.add(this.p);return e.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)},t.prototype.setPublic=function(t,e){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=Fa(t,16),this.e=parseInt(e,16)):console.error("Invalid RSA public key")},t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3,i=function(t,e){if(e<t.length+11)return console.error("Message too long for RSA"),null;for(var i=[],a=t.length-1;a>=0&&e>0;){var s=t.charCodeAt(a--);s<128?i[--e]=s:s>127&&s<2048?(i[--e]=63&s|128,i[--e]=s>>6|192):(i[--e]=63&s|128,i[--e]=s>>6&63|128,i[--e]=s>>12|224)}i[--e]=0;for(var n=new us,o=[];e>2;){for(o[0]=0;0==o[0];)n.nextBytes(o);i[--e]=o[0]}return i[--e]=2,i[--e]=0,new Ga(i)}(t,e);if(null==i)return null;var a=this.doPublic(i);if(null==a)return null;for(var s=a.toString(16),n=s.length,o=0;o<2*e-n;o++)s="0"+s;return s},t.prototype.setPrivate=function(t,e,i){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=Fa(t,16),this.e=parseInt(e,16),this.d=Fa(i,16)):console.error("Invalid RSA private key")},t.prototype.setPrivateEx=function(t,e,i,a,s,n,o,r){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=Fa(t,16),this.e=parseInt(e,16),this.d=Fa(i,16),this.p=Fa(a,16),this.q=Fa(s,16),this.dmp1=Fa(n,16),this.dmq1=Fa(o,16),this.coeff=Fa(r,16)):console.error("Invalid RSA private key")},t.prototype.generate=function(t,e){var i=new us,a=t>>1;this.e=parseInt(e,16);for(var s=new Ga(e,16);;){for(;this.p=new Ga(t-a,1,i),0!=this.p.subtract(Ga.ONE).gcd(s).compareTo(Ga.ONE)||!this.p.isProbablePrime(10););for(;this.q=new Ga(a,1,i),0!=this.q.subtract(Ga.ONE).gcd(s).compareTo(Ga.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var n=this.p;this.p=this.q,this.q=n}var o=this.p.subtract(Ga.ONE),r=this.q.subtract(Ga.ONE),l=o.multiply(r);if(0==l.gcd(s).compareTo(Ga.ONE)){this.n=this.p.multiply(this.q),this.d=s.modInverse(l),this.dmp1=this.d.mod(o),this.dmq1=this.d.mod(r),this.coeff=this.q.modInverse(this.p);break}}},t.prototype.decrypt=function(t){var e=Fa(t,16),i=this.doPrivate(e);return null==i?null:function(t,e){var i=t.toByteArray(),a=0;for(;a<i.length&&0==i[a];)++a;if(i.length-a!=e-1||2!=i[a])return null;++a;for(;0!=i[a];)if(++a>=i.length)return null;var s="";for(;++a<i.length;){var n=255&i[a];n<128?s+=String.fromCharCode(n):n>191&&n<224?(s+=String.fromCharCode((31&n)<<6|63&i[a+1]),++a):(s+=String.fromCharCode((15&n)<<12|(63&i[a+1])<<6|63&i[a+2]),a+=2)}return s}(i,this.n.bitLength()+7>>3)},t.prototype.generateAsync=function(t,e,i){var a=new us,s=t>>1;this.e=parseInt(e,16);var n=new Ga(e,16),o=this,r=function(){var e=function(){if(o.p.compareTo(o.q)<=0){var t=o.p;o.p=o.q,o.q=t}var e=o.p.subtract(Ga.ONE),a=o.q.subtract(Ga.ONE),s=e.multiply(a);0==s.gcd(n).compareTo(Ga.ONE)?(o.n=o.p.multiply(o.q),o.d=n.modInverse(s),o.dmp1=o.d.mod(e),o.dmq1=o.d.mod(a),o.coeff=o.q.modInverse(o.p),setTimeout((function(){i()}),0)):setTimeout(r,0)},l=function(){o.q=Ya(),o.q.fromNumberAsync(s,1,a,(function(){o.q.subtract(Ga.ONE).gcda(n,(function(t){0==t.compareTo(Ga.ONE)&&o.q.isProbablePrime(10)?setTimeout(e,0):setTimeout(l,0)}))}))},c=function(){o.p=Ya(),o.p.fromNumberAsync(t-s,1,a,(function(){o.p.subtract(Ga.ONE).gcda(n,(function(t){0==t.compareTo(Ga.ONE)&&o.p.isProbablePrime(10)?setTimeout(l,0):setTimeout(c,0)}))}))};setTimeout(c,0)};setTimeout(r,0)},t.prototype.sign=function(t,e,i){var a=function(t,e){if(e<t.length+22)return console.error("Message too long for RSA"),null;for(var i=e-t.length-6,a="",s=0;s<i;s+=2)a+="ff";return Fa("0001"+a+"00"+t,16)}((ds[i]||"")+e(t).toString(),this.n.bitLength()/4);if(null==a)return null;var s=this.doPrivate(a);if(null==s)return null;var n=s.toString(16);return 1&n.length?"0"+n:n},t.prototype.verify=function(t,e,i){var a=Fa(e,16),s=this.doPublic(a);return null==s?null:function(t){for(var e in ds)if(ds.hasOwnProperty(e)){var i=ds[e],a=i.length;if(t.substr(0,a)==i)return t.substr(a)}return t}
|
|
617
|
+
/*!
|
|
618
|
+
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
|
|
619
|
+
Code licensed under the BSD License:
|
|
620
|
+
http://developer.yahoo.com/yui/license.html
|
|
621
|
+
version: 2.9.0
|
|
622
|
+
*/(s.toString(16).replace(/^1f+00/,""))==i(t).toString()},t}();var ds={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"};var ms={};ms.lang={extend:function(t,e,i){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var a=function(){};if(a.prototype=e.prototype,t.prototype=new a,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),i){var s;for(s in i)t.prototype[s]=i[s];var n=function(){},o=["toString","valueOf"];try{/MSIE/.test(navigator.userAgent)&&(n=function(t,e){for(s=0;s<o.length;s+=1){var i=o[s],a=e[i];"function"==typeof a&&a!=Object.prototype[i]&&(t[i]=a)}})}catch(t){}n(t.prototype,i)}}};
|
|
623
|
+
/**
|
|
624
|
+
* @fileOverview
|
|
625
|
+
* @name asn1-1.0.js
|
|
626
|
+
* @author Kenji Urushima kenji.urushima@gmail.com
|
|
627
|
+
* @version asn1 1.0.13 (2017-Jun-02)
|
|
628
|
+
* @since jsrsasign 2.1
|
|
629
|
+
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
|
|
630
|
+
*/
|
|
631
|
+
var gs={};void 0!==gs.asn1&&gs.asn1||(gs.asn1={}),gs.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var i=e.substr(1).length;i%2==1?i+=1:e.match(/^[0-7]/)||(i+=2);for(var a="",s=0;s<i;s++)a+="f";e=new Ga(a,16).xor(t).add(Ga.ONE).toString(16).replace(/^-/,"")}return e},this.getPEMStringFromHex=function(t,e){return hextopem(t,e)},this.newObject=function(t){var e=gs.asn1,i=e.DERBoolean,a=e.DERInteger,s=e.DERBitString,n=e.DEROctetString,o=e.DERNull,r=e.DERObjectIdentifier,l=e.DEREnumerated,c=e.DERUTF8String,u=e.DERNumericString,h=e.DERPrintableString,d=e.DERTeletexString,m=e.DERIA5String,g=e.DERUTCTime,f=e.DERGeneralizedTime,p=e.DERSequence,b=e.DERSet,v=e.DERTaggedObject,y=e.ASN1Util.newObject,w=Object.keys(t);if(1!=w.length)throw"key of param shall be only one.";var k=w[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+k+":"))throw"undefined key: "+k;if("bool"==k)return new i(t[k]);if("int"==k)return new a(t[k]);if("bitstr"==k)return new s(t[k]);if("octstr"==k)return new n(t[k]);if("null"==k)return new o(t[k]);if("oid"==k)return new r(t[k]);if("enum"==k)return new l(t[k]);if("utf8str"==k)return new c(t[k]);if("numstr"==k)return new u(t[k]);if("prnstr"==k)return new h(t[k]);if("telstr"==k)return new d(t[k]);if("ia5str"==k)return new m(t[k]);if("utctime"==k)return new g(t[k]);if("gentime"==k)return new f(t[k]);if("seq"==k){for(var x=t[k],D=[],$=0;$<x.length;$++){var S=y(x[$]);D.push(S)}return new p({array:D})}if("set"==k){for(x=t[k],D=[],$=0;$<x.length;$++){S=y(x[$]);D.push(S)}return new b({array:D})}if("tag"==k){var P=t[k];if("[object Array]"===Object.prototype.toString.call(P)&&3==P.length){var C=y(P[2]);return new v({tag:P[0],explicit:P[1],obj:C})}var z={};if(void 0!==P.explicit&&(z.explicit=P.explicit),void 0!==P.tag&&(z.tag=P.tag),void 0===P.obj)throw"obj shall be specified for 'tag'.";return z.obj=y(P.obj),new v(z)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},gs.asn1.ASN1Util.oidHexToInt=function(t){for(var e="",i=parseInt(t.substr(0,2),16),a=(e=Math.floor(i/40)+"."+i%40,""),s=2;s<t.length;s+=2){var n=("00000000"+parseInt(t.substr(s,2),16).toString(2)).slice(-8);if(a+=n.substr(1,7),"0"==n.substr(0,1))e=e+"."+new Ga(a,2).toString(10),a=""}return e},gs.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},i=function(t){var i="",a=new Ga(t,10).toString(2),s=7-a.length%7;7==s&&(s=0);for(var n="",o=0;o<s;o++)n+="0";a=n+a;for(o=0;o<a.length-1;o+=7){var r=a.substr(o,7);o!=a.length-7&&(r="1"+r),i+=e(parseInt(r,2))}return i};if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var a="",s=t.split("."),n=40*parseInt(s[0])+parseInt(s[1]);a+=e(n),s.splice(0,2);for(var o=0;o<s.length;o++)a+=i(s[o]);return a},gs.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 t=this.hV.length/2,e=t.toString(16);if(e.length%2==1&&(e="0"+e),t<128)return e;var i=e.length/2;if(i>15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+i).toString(16)+e},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""}},gs.asn1.DERAbstractString=function(t){gs.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},ms.lang.extend(gs.asn1.DERAbstractString,gs.asn1.ASN1Object),gs.asn1.DERAbstractTime=function(t){gs.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){return utc=t.getTime()+6e4*t.getTimezoneOffset(),new Date(utc)},this.formatDate=function(t,e,i){var a=this.zeroPadding,s=this.localDateToUTC(t),n=String(s.getFullYear());"utc"==e&&(n=n.substr(2,2));var o=n+a(String(s.getMonth()+1),2)+a(String(s.getDate()),2)+a(String(s.getHours()),2)+a(String(s.getMinutes()),2)+a(String(s.getSeconds()),2);if(!0===i){var r=s.getMilliseconds();if(0!=r){var l=a(String(r),3);o=o+"."+(l=l.replace(/[0]+$/,""))}}return o+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(t)},this.setByDateValue=function(t,e,i,a,s,n){var o=new Date(Date.UTC(t,e-1,i,a,s,n,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},ms.lang.extend(gs.asn1.DERAbstractTime,gs.asn1.ASN1Object),gs.asn1.DERAbstractStructured=function(t){gs.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},ms.lang.extend(gs.asn1.DERAbstractStructured,gs.asn1.ASN1Object),gs.asn1.DERBoolean=function(){gs.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},ms.lang.extend(gs.asn1.DERBoolean,gs.asn1.ASN1Object),gs.asn1.DERInteger=function(t){gs.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=gs.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new Ga(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},ms.lang.extend(gs.asn1.DERInteger,gs.asn1.ASN1Object),gs.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=gs.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}gs.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw"unused bits shall be from 0 to 7: u = "+t;var i="0"+t;this.hTLV=null,this.isModified=!0,this.hV=i+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,"")).length%8;8==e&&(e=0);for(var i=0;i<=e;i++)t+="0";var a="";for(i=0;i<t.length-1;i+=8){var s=t.substr(i,8),n=parseInt(s,2).toString(16);1==n.length&&(n="0"+n),a+=n}this.hTLV=null,this.isModified=!0,this.hV="0"+e+a},this.setByBooleanArray=function(t){for(var e="",i=0;i<t.length;i++)1==t[i]?e+="1":e+="0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),i=0;i<t;i++)e[i]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},ms.lang.extend(gs.asn1.DERBitString,gs.asn1.ASN1Object),gs.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=gs.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}gs.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},ms.lang.extend(gs.asn1.DEROctetString,gs.asn1.DERAbstractString),gs.asn1.DERNull=function(){gs.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},ms.lang.extend(gs.asn1.DERNull,gs.asn1.ASN1Object),gs.asn1.DERObjectIdentifier=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},i=function(t){var i="",a=new Ga(t,10).toString(2),s=7-a.length%7;7==s&&(s=0);for(var n="",o=0;o<s;o++)n+="0";a=n+a;for(o=0;o<a.length-1;o+=7){var r=a.substr(o,7);o!=a.length-7&&(r="1"+r),i+=e(parseInt(r,2))}return i};gs.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var a="",s=t.split("."),n=40*parseInt(s[0])+parseInt(s[1]);a+=e(n),s.splice(0,2);for(var o=0;o<s.length;o++)a+=i(s[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=a},this.setValueName=function(t){var e=gs.asn1.x509.OID.name2oid(t);if(""===e)throw"DERObjectIdentifier oidName undefined: "+t;this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t):void 0!==t.oid?this.setValueOidString(t.oid):void 0!==t.hex?this.setValueHex(t.hex):void 0!==t.name&&this.setValueName(t.name))},ms.lang.extend(gs.asn1.DERObjectIdentifier,gs.asn1.ASN1Object),gs.asn1.DEREnumerated=function(t){gs.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=gs.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new Ga(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},ms.lang.extend(gs.asn1.DEREnumerated,gs.asn1.ASN1Object),gs.asn1.DERUTF8String=function(t){gs.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},ms.lang.extend(gs.asn1.DERUTF8String,gs.asn1.DERAbstractString),gs.asn1.DERNumericString=function(t){gs.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},ms.lang.extend(gs.asn1.DERNumericString,gs.asn1.DERAbstractString),gs.asn1.DERPrintableString=function(t){gs.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},ms.lang.extend(gs.asn1.DERPrintableString,gs.asn1.DERAbstractString),gs.asn1.DERTeletexString=function(t){gs.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},ms.lang.extend(gs.asn1.DERTeletexString,gs.asn1.DERAbstractString),gs.asn1.DERIA5String=function(t){gs.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},ms.lang.extend(gs.asn1.DERIA5String,gs.asn1.DERAbstractString),gs.asn1.DERUTCTime=function(t){gs.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,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!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},ms.lang.extend(gs.asn1.DERUTCTime,gs.asn1.DERAbstractTime),gs.asn1.DERGeneralizedTime=function(t){gs.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,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!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},ms.lang.extend(gs.asn1.DERGeneralizedTime,gs.asn1.DERAbstractTime),gs.asn1.DERSequence=function(t){gs.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++){t+=this.asn1Array[e].getEncodedHex()}return this.hV=t,this.hV}},ms.lang.extend(gs.asn1.DERSequence,gs.asn1.DERAbstractStructured),gs.asn1.DERSet=function(t){gs.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var i=this.asn1Array[e];t.push(i.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(""),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},ms.lang.extend(gs.asn1.DERSet,gs.asn1.DERAbstractStructured),gs.asn1.DERTaggedObject=function(t){gs.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,i){this.hT=e,this.isExplicit=t,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.tag&&(this.hT=t.tag),void 0!==t.explicit&&(this.isExplicit=t.explicit),void 0!==t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},ms.lang.extend(gs.asn1.DERTaggedObject,gs.asn1.ASN1Object);var fs,ps,bs=(fs=function(t,e){return fs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},fs(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}fs(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),vs=function(t){function e(i){var a=t.call(this)||this;return i&&("string"==typeof i?a.parseKey(i):(e.hasPrivateKeyProperty(i)||e.hasPublicKeyProperty(i))&&a.parsePropertiesFrom(i)),a}return bs(e,t),e.prototype.parseKey=function(t){try{var e=0,i=0,a=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(t)?za(t):Ia.unarmor(t),s=Oa.decode(a);if(3===s.sub.length&&(s=s.sub[2].sub[0]),9===s.sub.length){e=s.sub[1].getHexStringValue(),this.n=Fa(e,16),i=s.sub[2].getHexStringValue(),this.e=parseInt(i,16);var n=s.sub[3].getHexStringValue();this.d=Fa(n,16);var o=s.sub[4].getHexStringValue();this.p=Fa(o,16);var r=s.sub[5].getHexStringValue();this.q=Fa(r,16);var l=s.sub[6].getHexStringValue();this.dmp1=Fa(l,16);var c=s.sub[7].getHexStringValue();this.dmq1=Fa(c,16);var u=s.sub[8].getHexStringValue();this.coeff=Fa(u,16)}else{if(2!==s.sub.length)return!1;if(s.sub[0].sub){var h=s.sub[1].sub[0];e=h.sub[0].getHexStringValue(),this.n=Fa(e,16),i=h.sub[1].getHexStringValue(),this.e=parseInt(i,16)}else e=s.sub[0].getHexStringValue(),this.n=Fa(e,16),i=s.sub[1].getHexStringValue(),this.e=parseInt(i,16)}return!0}catch(t){return!1}},e.prototype.getPrivateBaseKey=function(){var t={array:[new gs.asn1.DERInteger({int:0}),new gs.asn1.DERInteger({bigint:this.n}),new gs.asn1.DERInteger({int:this.e}),new gs.asn1.DERInteger({bigint:this.d}),new gs.asn1.DERInteger({bigint:this.p}),new gs.asn1.DERInteger({bigint:this.q}),new gs.asn1.DERInteger({bigint:this.dmp1}),new gs.asn1.DERInteger({bigint:this.dmq1}),new gs.asn1.DERInteger({bigint:this.coeff})]};return new gs.asn1.DERSequence(t).getEncodedHex()},e.prototype.getPrivateBaseKeyB64=function(){return Sa(this.getPrivateBaseKey())},e.prototype.getPublicBaseKey=function(){var t=new gs.asn1.DERSequence({array:[new gs.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new gs.asn1.DERNull]}),e=new gs.asn1.DERSequence({array:[new gs.asn1.DERInteger({bigint:this.n}),new gs.asn1.DERInteger({int:this.e})]}),i=new gs.asn1.DERBitString({hex:"00"+e.getEncodedHex()});return new gs.asn1.DERSequence({array:[t,i]}).getEncodedHex()},e.prototype.getPublicBaseKeyB64=function(){return Sa(this.getPublicBaseKey())},e.wordwrap=function(t,e){if(!t)return t;var i="(.{1,"+(e=e||64)+"})( +|$\n?)|(.{1,"+e+"})";return t.match(RegExp(i,"g")).join("\n")},e.prototype.getPrivateKey=function(){var t="-----BEGIN RSA PRIVATE KEY-----\n";return t+=e.wordwrap(this.getPrivateBaseKeyB64())+"\n",t+="-----END RSA PRIVATE KEY-----"},e.prototype.getPublicKey=function(){var t="-----BEGIN PUBLIC KEY-----\n";return t+=e.wordwrap(this.getPublicBaseKeyB64())+"\n",t+="-----END PUBLIC KEY-----"},e.hasPublicKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")},e.hasPrivateKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")&&t.hasOwnProperty("d")&&t.hasOwnProperty("p")&&t.hasOwnProperty("q")&&t.hasOwnProperty("dmp1")&&t.hasOwnProperty("dmq1")&&t.hasOwnProperty("coeff")},e.prototype.parsePropertiesFrom=function(t){this.n=t.n,this.e=t.e,t.hasOwnProperty("d")&&(this.d=t.d,this.p=t.p,this.q=t.q,this.dmp1=t.dmp1,this.dmq1=t.dmq1,this.coeff=t.coeff)},e}(hs),ys="undefined"!=typeof process?null===(ps=process.env)||void 0===ps?void 0:ps.npm_package_version:void 0,ws=function(){function t(t){void 0===t&&(t={}),t=t||{},this.default_key_size=t.default_key_size?parseInt(t.default_key_size,10):1024,this.default_public_exponent=t.default_public_exponent||"010001",this.log=t.log||!1,this.key=null}return t.prototype.setKey=function(t){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new vs(t)},t.prototype.setPrivateKey=function(t){this.setKey(t)},t.prototype.setPublicKey=function(t){this.setKey(t)},t.prototype.decrypt=function(t){try{return this.getKey().decrypt(Pa(t))}catch(t){return!1}},t.prototype.encrypt=function(t){try{return Sa(this.getKey().encrypt(t))}catch(t){return!1}},t.prototype.sign=function(t,e,i){try{return Sa(this.getKey().sign(t,e,i))}catch(t){return!1}},t.prototype.verify=function(t,e,i){try{return this.getKey().verify(t,Pa(e),i)}catch(t){return!1}},t.prototype.getKey=function(t){if(!this.key){if(this.key=new vs,t&&"[object Function]"==={}.toString.call(t))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},t.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},t.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},t.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},t.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},t.version=ys,t}();function ks(t){return null==t||"string"==typeof t||"number"==typeof t||"boolean"==typeof t||"bigint"==typeof t||"symbol"==typeof t}function xs(t){return!ks(t)&&(t&&t.constructor?"Object"===t.constructor.name:"object"==typeof t&&null!==t)}function Ds(t){return!ks(t)&&(Array.isArray(t)||xs(t))}function $s(t,...e){const i=e.shift();if(xs(i)){xs(t)||(t=Object.create(null));for(const e in i){const a=i[e];Ds(a)?t[e]=$s(t[e],a):t[e]=a}}else if(Array.isArray(i)){const e=i.length;Array.isArray(t)?t.length=e:t=new Array(e);let a=0;for(;a<e;a++){const e=i[a];Ds(e)?t[a]=$s(t[a],e):t[a]=e}void 0!==i.raw&&(t.raw=i.raw.slice())}else t=i;return e.length?$s(t,...e):t}
|
|
632
|
+
/**
|
|
633
|
+
* Main component
|
|
634
|
+
*
|
|
635
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
636
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
637
|
+
* @module gantt-schedule-timeline-calendar
|
|
638
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
639
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
640
|
+
* @version 3.37.5
|
|
641
|
+
* @released 2024-07-19
|
|
642
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
643
|
+
*/function Ss(t,e){const i=Ps();return Ss=function(e,a){let s=i[e-=477];if(void 0===Ss.qGpBcD){const e=function(t,e){let i,a,s=[],n=0,o="";for(t=function(t){let e="",i="";for(let i,a,s=0,n=0;a=t.charAt(n++);~a&&(i=s%4?64*i+a:a,s++%4)?e+=String.fromCharCode(255&i>>(-2*s&6)):0)a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(a);for(let t=0,a=e.length;t<a;t++)i+="%"+("00"+e.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(i)}(t),a=0;a<256;a++)s[a]=a;for(a=0;a<256;a++)n=(n+s[a]+e.charCodeAt(a%e.length))%256,i=s[a],s[a]=s[n],s[n]=i;a=0,n=0;for(let e=0;e<t.length;e++)a=(a+1)%256,n=(n+s[a])%256,i=s[a],s[a]=s[n],s[n]=i,o+=String.fromCharCode(t.charCodeAt(e)^s[(s[a]+s[n])%256]);return o};Ss.bpfXOb=e,t=arguments,Ss.qGpBcD=!0}const n=e+i[0],o=t[n];return o?s=o:(void 0===Ss.aNwiTa&&(Ss.aNwiTa=!0),s=Ss.bpfXOb(s,a),t[n]=s),s},Ss(t,e)}function Ps(){const t=["DmkseamPzsjs","jCkCmM/cGaK","WOpdGqJdL8kM","jgrHDgeUzgLTzw5ZAw9UC1bHCMvUDa","DKHTj8oUW4NdLHbF","WQ8bk2ddHIOnWQ5qWPC","WPJdJqldHmk6WOu","cMRcTmotW5a","C3rHCNrZv2L0Aa","zg9JDw1LBNq","WOSHeSoN","W7X8eSksWR0RWQxcRIJcJmoOW7NdPd0tWQZcRY9lW6Ll","p2BdOSkgtW","zgvJCNLWDa","Dg9W","kmkJWOlcUSkRjCoJ","WPHxyr88","WODQmKDaCCkLySkAWQH6e8kN","WRKbWP1UEmkJnq","lSk0WRZdRghcU3eZmxdcJSkiFCozWQ7dNmo4W6GYs8oKmLbU","CSoAo1fXaqiPdmo+W58eiZZdR8kshCkyW7FdPaqweSkxW6ddPqFdVCo+mCkcgW","WPxdRgmSW6y","W4fEqWldRCkt","W6BcJmoGWRG","WOSEEmobWQ/cNCo9WRW","W6FdT1tdQmk3WRpdUW","WOW9hCoXW4hdSMtcRem","omk1WP/cVG","vcSO","WOddVhS","CNvSzxm","WRLpBdS1sSo9wa","cGXNx8kuW6zXetfJxq","C3vWCg9YDa","DxnLCL9Hz2vUDa","W4C4fConW7FdMfu","DhLWzq","W4WdAKBdNMVcOZGYWOnKESkKkCknW7unW5/cIhOgvmo7b2BdRmkJcCosW7VcJ1y","WOhdMaJdGSk6WOG","W49VW53dLZfxW7JdI1e","nmoKata","mti2ody1CMLeDhfZ","WO4lBCoeWQ7cHCoYWRJdSrW","W4NcOCowW5i","zdbDoW","AgvPz2H0","kSk+WOdcTSkhjCoKzmo9nCoh","WQOhWPr7Eq","tgLJzw5ZzsbRzxKGy2HLy2SGBwvJAgfUAxnTig5VDcbSB2fKzwqGkhrYEsbNyw50Dc1Zy2HLzhvSzs10Aw1LBgLUzs1JywXLBMrHCI9KAxn0l2DZDgmUD2fZBs5LC20UBwLUlMPZks4","WO3cMSkhW6xdRa","y29UzMLNlMnVBxbVBMvUDhmUq2HHCNq","o8oAygnKxbyOxSoNW44PpW","WPVcJSkFW6u","Aub5pCogW5pdHWDccZm","pgjYic8+","DxbKyxrLCW","AI1biG3cThFdK8k4vmkZ","DKbRoG","WQhdLmo9W7Xg","W5nDuWdcTmktBmkVWPKr","sJL6cG7cKmku","zMLSztO","WQ3cL8oKWPXFWR/cL8osxCoGwsldR8obWRpdOmo1WPqMoJBcKmkwW4hdT8oJEvZcL8kvW5ldGuVdINRdU8oIW6BdM8knW4VdHrKlWOyhW78ZWQddHmkGWRX1W5ymW7xdTSk8W47dH2PZW4ZdKxTsBYRdKCo5m8oiWQRdRdbhW6NdM2ddLKLPWRmzWRddUg3dOmkAnafpW6uaWRRcGqVdPSoPW7NdJ8oWW4FcUtfxWOXQWPPqoZ0vWQlcVGhdRwhcLCouka","WQTTeCkvWR93WQNcOcG","W6OCwCk6WPuBnmkfoSkuW5ZdRmkIoSk0W5tdQmoaasZcTM9Uh08WusanWR7cIG","pwJdPCkwrcmp","Dg9ju09tDhjPBMC","AdzDlcFcTg3dHmkYrq","mJC3mLjusNfSCG","B3jPz2LUCW","WOlcKmkzpmkWW6qd","Ce95kmoPW5JcJGDmjtK","fSoIWRqHWPO+b0FcSSkP","WQSpWPX6Da","W4H4W4VdGJDDW6u","omkjcCkgWOddKx0","WPVcMCkqWPNdLSk5WOyI","W6WeAfdcKfdcVZ08WP9MpSksomoi","cmonFvfR","CgfYC2vFBgLJzw5Zzv9RzxK","zgvZDhjVEq","y05MjCoGW4O","D1rMlmo8","Dg9tDhjPBMC","W7JdLCoiW6lcRq","sw52ywXPzcbSAwnLBNnLigTLEsbBC2LNBMf0DxjLig1PC3nPBMDDlG","WPhcG8khjSkN","vc16","CgfYC2u","d8kzWRRcRMHSW50FW5m","cWTNxSkrWPOXjdPkvSk+W6u","nmolyea9avy","WRmMmmk7","BwvZC2fNzq","nmonCvy","W7JdQ0FdVCk2WRldQG","Ag9YAxPVBNrHBa","fceQumo0W6pdQ3S","cWBcICoiW4WtWOzFiCkN","WQmWlCk/D0zL","WPdcKmkbla","WQBdKmo6W6TCWP7cRW","C3vIC2nYAwjL","lCk+WR3dSMhcSh0","yw5Jzxn0B3jpCMLNAw5Z","r1nuqW","y2f0y2G","AhrTBa","imkChSkuWPxdKW","WO7cMCkc","DMvYDgLJywW","WOVcISkyW7q","pw0yD37dR3hdImkvrCkXWPO","WORcLeuOqN3cGgaqbItcJ8oU","cSkwmNZcKq86ldhdLIBcLd3cU14rW7ddLCk5t8kwpSkX","ggOGDmkv","AtfApshcV3a","q1nq","rs8WW4fgW7KmWOnKDW","WPFcNCkuoSkMW6ueWRSP","W7HLAH3cUmkGWOqshhNdVIJdTW","ntGXndG4mNHiCeLzwa","kgBdP8kfsaThW6VdJH1wWO0yumksWQhcT1f/Dqe","DMfSDwu","WQa6na","wZOOW5HrWPznW5HQAmoGm3ZdPSkeWPFdPMa5W7hdUmo5pmkeW6VdVeZdIIVcUsHCWQxdUCozWOm","W6NdJ8okW7pcU8kkWQy","DMvY","WRNcS8kLWQG","D2LKDgG","WPxdMbZdJ8kNWO5Xamk/BmocnCoDwMyZWQ5jEmooW4tcSxlcOwldTbpdVmkKaCkNWR/dQG","zw5JCNLWDa","Aw5PDgLHBgL6zvbSDwDPBNm","BSkmhWyO","zg9TywLU","WPVcN8oGWPPz","cIxdShZcHmkrmCoZh8kAzJhcLSkEEuHAW5elvq","WOOpCCobWQVcS8o5","rZjHpmolkSkNxgqFkJ46wGZdR8kdWR1IqfRdHmkAvwfOtCkZWRxdMgpcTMPLW6pdG25aiwqyE8oKW5LQW5iLDCo9bCk4W7SDW57cQLqHWRj9W5GPWOZdKmk1WO93nZ8qWQddMMhcJCoSW7zlleHDwSojwmo5WRBdI2JdPSoDW6iutsxcVCoFhCo+kg52WR4iEI9wxCkgbWjhpSkGfKi+Ar8Bica0u0RdGSoZW5lcM3iHWOqWW6H3qCoSWPNdU15vW6ldTCkDbmo1WRVcSstcRCoJlmoplCkqWPBdN3ddIrxcJ8oWcraFmc8IW7/cMCkqW7BdISoKgwPAuCoIW7pdL8kXW6ddIdNcHSkKcCoeCa7dJCoLW7bwWOb5W5tcKCklW5xdP14ntuSaW6NdJ8kFW79Tu2tdGh5fumkVWOu6fmoGWRPDWO4npt3cNmofsW53rCo1AbhdILGoW6BcICkWpSk8nmkUEXfFuSk6WP7cMCkaWPTcWOpdRW81mXJdLI4HBSoLld7dTXpdQG","y3jLyxrL","qrFcLGZdRqLPWQzl","BgfZDeLUzgv4t2y","WR99bW","DgHLBG","C2HPzNrlzxK","y29UzMLNlMLUBMvYsgvPz2H0","p8oqELzUsvC3uCozW4qJj0hcQSkLomkuWRddRW5psSoiWOVcSaFdPSkUbCkaxCoS","DMfSAwrvBNrPBa","dNy/CSkjbSkmFK4L","gCk0WRVdSYdcU3eQmvpcKSkylSoxWPZdJCk9W6qTlSo8oeO6W4f7kG7cOrJcKCkTumk/nKz+lJ3dUqOzrrO4F8oQFcadc20UaCkUWPZcVSkWWOBdGCkAs8oHrrTAWQnjrSo+WQnwW5fFW5GEFCkso8khWPVdHshdSuJcItq","icKU","zgLYzwn0AxzL","WRFdGmkTma","pwZdU8kkrXu","WOOMemoGW5hdPx/cUem","WOldJr7dKmkNWOj+","CgfYzw50","W5vDvaRdVSky","y29UzMLNlMnVBxbVBMvUDhmUtgLZDa","tuO6dCoqW4L1","ft0SwG","rJS1yYzJw1G0i2u2ps08EG","tLSYgCob","yxbWBgLJyxrPB24VEc13D3CTzM9YBs11CMXLBMnVzgvK","ASkvfXS0","C3vIC3rY","cY4LvCoLW5ldOhWrcG","WO5qCqm6rmo+d8k5","y29UzMLNlNnJCM9SBc52zxj0AwnHBc5IEvbPEgvSCW","mtKXmJG5n0juBwHlEq","WOFdJrJdSmkTWP9/gmk6v8odAG","bLpdHeZdVJPgWRLtDG","WRCbWPLH","WONcKf8S","cbFcGCoaW5WJ","s18Qp8ohW55PlW50Dmkx","DwX0Aw1HDguTB25LlxLLyxi","WPPwzXnJu8oLe8kXW6S","C0bMpmoQ","WOZcKSkcWO7dJCkUWPa","emowD1vPxrXKwSokW5HVlHFcSSkJomkyWQ7cRG","z2v0u2nYB2XSvg9W","gZjMW5zs","y29UzMLNlMrLyNvN","WPWVmSkXBLTlEGvbWPtcMSkSWQyBl8oJWPZcGWj8EL/cPJ7cT8klWPZdGaVcVKGzW7pdItzfDg3cTSo+tCoJFCk9hrhdMSo7z10uWOL0WOSoWQLpWR/dQ8oMWO1NW6K1CJhdRmkQANRcHalcJmk4s0NdMmktW6BdKaHTq8o1r2pcVW3dICoeemoTe19idq7cPH/dSmodEHmOW7/cKCoMrmoYWO4o","Ag9ZDa","WRehWPnQF8k+iW","p2yxF3VdOKJdRSkyE8kQWQG","h3RcRa","WQ0CWP9RzmkUmG","C2v0u2nYB2XSvg9W","ACkufGe","zK5Kl8oMW5RcJrfznJRdOqJcUSkcW6ZcLaNcLCoLpZxcSCknxu/dUcJdJg0GW4RcPa","CMvMzxjYzxi","b2ddQSkgtX8mWQFdGqfqWOmovSkdWO/cT0P9CWhdNmkFW7OcW5ZdJK1ho2xcPmo/W5FcUmo5qNxdImkouCkTAhr6wgvd","C3rHDhvZ","y29UzMLNlMHLywrLCKHLAwDODa","W78oDW","WORcN8kpW6hdQ8oc","DxbKyxrL","D2fZBuLUAxrPywXPEMvK","fCoJWQy7","W64wq8kiWPurFW","ChvZAa","WQTgBa","WRmhi3xdMZC","WQGaWP9TySkOnmotFW","W4e3DYmnk8o7C8kXWPnwmW","W6uAvmk5WPipFW","B2zMC2v0v2LKDgG","Dg9Rzw5FD2fZ","nZi0odK3nLzZr0PPvW","sw52ywXPzcbSAwnLBNnLigTLEs4","BwfW","kmo4cti","W6pcQmotWPFcJgSv","WR8AjhtdMZ50WQTnWPXuymoKzmkbW6ddNW","jSkFoNVcKruzAaBdHY0","WPldQwSOW6eS","jY7dTx7cMSkrjCkNgSkCAW","BwfPBG","W7ZcLSo/WQL6","WQvnEZ4Tt8oStG","W7WoCehcJgdcTq","vgHPCYbKB21HAw4GAxmGBM90ihjLz2LZDgvYzwqGjW","lCkUWQldTwNcP3qGmu8","y29UzMLNlNzLCNnPB24","C3vIC3rYAw5N","lI7dTw7cICkFma","kIxdPxhcNCkCmmkG","W6rIBsVcQCkKWO4","DgLTzq","zw50CMLLCW","zMv0y2G","sw52ywXPzcb0B2TLBI4","WPrlCbW7uSoYeG","mZK5mdm4s09jsMPb","W6usrmkOWRusFSktiCkPW5u","eadcKGRdJubPWQrAACkKWODqW7lcQM7cRKfO","WPVcGmkgW6hdTSojW4u","drlcLSoj","F2Kkl8kEWP88","zM9YrwfJAa","DMfSDwvFBNvT","WObkAYy9tW","W7RcVCozWPhcJgy","W4WCiKj2d8kGi8kkW7roW6al","B2jZzxj2zq","yxnZAwDU","WQ1RfSkuWOnKWQFcPYpcLq","ywjZB2X1DgvqB3nqEa","C3rYAw5N","W6ldLmoqW7FcRCoEW713","W4pdJSosW6BcSSknWRz4WQTiWQlcIsqAlSoBlCo7WPVdTu1dW5/dQmkmkKhcH8oPW6zEqrFcRCkczhG","zw5KC1DPDgG","cIxdShZcHmkrmCoZh8kAzJhcLSkEEuHAW5elw8okW4RcH8k+bhCBWPrXhCkluW7dNSkCW5fOcW","BxvSDgLWBgLLCG","WOhcMCkFWPVdJmk/","WOhcImkcWOZdL8oXW4X/W6yRlcFcV8kfx8oVEYPLDX5orbOvWQZcRsvHWRrBnmoxW6VcSmoKcb4OnmoelG","omkJWP/cL8kNpCo1ESoqp8ozsmk0WQy+","WOZcN0GOq2JcM3CmgclcNmo0lsu","AYXAlgxcV3hdK8k+qW","WP7cMeWJuwJcGxCM","CMvWBgfJzufSBa","l8olzLLPsraIsW","W50NDXyk","W6BdP0pdSCkRWRxdQSkxkxnRW5NdQ2xdS8oPpG","W6b0W5VdKYTbW7NcQK7cSSoUb0m5qSoHWPCZde8jq8oOf8kDybTxWQVcJ8kUemoFWOadWOe","tgLJzw5ZzsbRzxKGy2HLy2SGBwvJAgfUAxnTig5VDcbSB2fKzwqUifrOzsbdB250zw50lvnLy3vYAxr5lvbVBgLJEsbOzwfKzxiGzg9LCYbUB3qGywXSB3CGDgHLihDHC20GzMLSzsb0BYbIzsbJB21WAwXLzc4Gvhj5ihrVigfKzcaND2fZBs11BNnHzMuTzxzHBcCGAgvHzgvYCYb0BYb5B3vYienVBNrLBNqTu2vJDxjPDhKTug9SAwn5ihj1BgvZlG","Dg9Rzw4","sIL+kqlcKmkpgGZdGMem","wIr1W41blGFcJtXqW4u6W5JdRrP+","WOVcGmkaW6xdSq","ohbQt1vywa","BgvUz3rO","zNvUy3rPB24","y3vZDg9Tzxi","tgLJzw5ZzsbRzxKGy2HLy2SGzxjYB3i","zg9TywLUCW","zNjVBuvUDhjPzxm","qSkMFCk8W6GmW6BdTSkBtvW","nHaZE8k6WOVcLavIlHJdLbu","WOpcKmkgjmkCW4umWQiLWRxcNIXCpr8","rXhcKq3dJXXLWQPA","W6OoC1NcN2ZcQq","tgLZDgvK","fc99W5C","hNRcRmovW4S","W59OW5RdHszaW7xdQedcLSo7sW","mZNdQxNcNCkBiq","cmkcWRtcOwu","AM9PBG","W7ZdHCow","mMzqCwfAyG","oLaFrq","W6mCxSkY","zM9SBg93","W6hdSKddUCkSWQq","CgfYzw50rwXLBwvUDa","C2HPzNq","y29UzMLNlMf1Dg9jBM5LCKHLAwDODa","y29UzMLNlMXPC3qUCM93sgvPz2H0","uceYW45lW4TmWPzUB8o9pZZdU8opWO/dTwy5","DLrOoSoSW4/dIGbF","AhjLzG","B2zMC2v0sgvPz2H0","y29UzMLNlNnJCM9SBa","dfRdNCkGgW","htvNW41pBqBcLG","wK5IsSoYW4WPEGWulCosW7XeWPvn","Aw5JBhvKzxm","hmo5j8oQWRy1W7q","WRa+m8kZv0z/lIbjWPVcLSk4WRaA","DxnLCKfNzw50","C2v0u2nYB2XStgvMDa","WP7cGuCKra","B1jLjW","WRubWOn7","uahcGb3dNGD8WRXwA8kV","hhdcTCoxW4PAdq","dmkYWQ3dPg7cPh1PpfZcKSoDA8oeWONdNCoVW6G6ia","tgLJzw5ZzsbRzxKGBM90igzVDw5KifTJB25MAwCUBgLJzw5ZzuTLEv0","C3bSAxq","zgf0yuLUzgv4","mCo1hY92W7Hz","WPRcMCkcWQ/dH8k5WOW8W60upsldPq","W71HCIFcV8knWP4qbfZdTW","dcvIW5XsCWy","WQddG8k7iSoJfHvN","z2v0","WQG5jSkTE1XEpYbpWP/cIW","CMvWBgfJzq","uMvNAxn0zxjLzcbKB21HAw5ZoIbBia","jSkyg8khWPxdHu8OzmoK","mY4ZnY41","Dg9Wtgv2zwXeB21HAw5Z"];return(Ps=function(){return t})()}function Cs(t,e){const i=Ps();return Cs=function(e,a){let s=i[e-=477];if(void 0===Cs.NboDuq){Cs.LUMqce=function(t){let e="",i="";for(let i,a,s=0,n=0;a=t.charAt(n++);~a&&(i=s%4?64*i+a:a,s++%4)?e+=String.fromCharCode(255&i>>(-2*s&6)):0)a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(a);for(let t=0,a=e.length;t<a;t++)i+="%"+("00"+e.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(i)},t=arguments,Cs.NboDuq=!0}const n=e+i[0],o=t[n];return o?s=o:(s=Cs.LUMqce(s),t[n]=s),s},Cs(t,e)}function zs(t,e){const{api:i,state:a,onDestroy:s,Actions:n,createComponent:o,html:r,onChange:l,update:c}=t;let u;const h=Di(t,$s);h[V(1113,1145)]();const d=y(1074,1182);let m;s(a[S("Ze%N",122)](S("lFqm",361),(t=>m=t)));const g=r`
|
|
644
|
+
<br />
|
|
645
|
+
If you are using trial version, please generate key
|
|
646
|
+
<a href="https://gstc.neuronet.io/free-key" target="_blank">here</a>. Otherwise, please contact with your developer
|
|
647
|
+
or send mail to us at <a href="mailto:neuronet.io@gmail.com">neuronet.io@gmail.com</a>
|
|
648
|
+
`,f=r`
|
|
649
|
+
<div class="gstc-error">
|
|
650
|
+
<div style="font-weight: bold;margin-bottom:10px;">[ Connection error ]</div>
|
|
651
|
+
An error occurred while trying to connect with license services for
|
|
652
|
+
<a href="https://github.com/neuronetio/gantt-schedule-timeline-calendar" target="_blank"
|
|
653
|
+
>gantt-schedule-timeline-calendar</a
|
|
654
|
+
>
|
|
655
|
+
component.<br /><br />
|
|
656
|
+
If you are using <span class="gstc-code">Content-Security-Policy</span> header make sure you have added
|
|
657
|
+
<span class="gstc-code">https://gstc.neuronet.io</span> address after space.<br />
|
|
658
|
+
Example: <span class="gstc-code">Content-Security-Policy: connect-src self https://gstc.neuronet.io</span><br />
|
|
659
|
+
More info
|
|
660
|
+
<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy" target="_blank"
|
|
661
|
+
>here</a
|
|
662
|
+
>
|
|
663
|
+
and <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP" target="_blank">here</a><br /><br />
|
|
664
|
+
If that doesn't help please contact your developer, search for similar
|
|
665
|
+
<a href="https://github.com/neuronetio/gantt-schedule-timeline-calendar/issues">issues here</a> or create one. You
|
|
666
|
+
can also contact us at <a href="mailto:neuronet.io@gmail.com">neuronet.io@gmail.com</a>
|
|
667
|
+
</div>
|
|
668
|
+
`;function p(t,e){return Cs(t- -718,e)}const b=r`
|
|
669
|
+
<div class="gstc-error">
|
|
670
|
+
<div style="font-weight:bold; margin-bottom: 10px;">
|
|
671
|
+
The gantt-schedule-timeline-calendar component will not work with local files (protocol file: ///)
|
|
672
|
+
</div>
|
|
673
|
+
<br /><br />
|
|
674
|
+
Files needs to be served from http server like
|
|
675
|
+
<a href="https://www.npmjs.com/package/http-server" target="_blank" rel="nofollow">http-server</a> or
|
|
676
|
+
<a href="https://www.npmjs.com/package/sirv-cli" target="_blank" rel="nofollow">sirv-cli</a>
|
|
677
|
+
</div>
|
|
678
|
+
`,v=[];function y(t,e){return Cs(t-430,e)}let w,k;function x(t,e){return Cs(e-543,t)}v[R(-34,18)](a[x(1016,1069)](y(1012,864),(t=>w=t))),v[R(12,18)](a[P("#Kej",749)](x(1301,1353),(t=>k=t)));const D=o(w);s((()=>{var t,e;D&&D[(t=-338,e=-397,p(e- -183,t))]()}));const $=o(k);function S(t,e){return Ss(e- -365,t)}function P(t,e){return Ss(e- -37,t)}s((()=>{var t,e;$&&$[(t=978,e="[[$i",K(e,t-648))]()})),s((()=>{var t,e;v[(t=1006,e=1092,x(e,t- -203))]((t=>t()))}));const{onDestroy:C,state:z,update:I,html:T,unsafeHTML:A}=t;var M=!0;const W=T`<strong>[gantt-schedule-timeline-calendar component]</strong><br /><br />`;function _(t,e=""){const i=K("^]Gn",779-373);var a,s;return T` <div class="${i}">${W}${t}${e?T`<br />${typeof e===(a=-106,s=-12,V(a,s- -1276))?A(e):e}`:null}</div> `}function j(t){return xe(this,void 0,void 0,(function*(){function s(t,e){return Ss(e- -681,t)}function n(t,e){return Cs(t-570,e)}function o(t,e){return Cs(t- -615,e)}function r(t){function e(t,e){return Ss(t-207,e)}return(t=String(t))[(s="!4]#",n=1462,Ss(n-754,s))](e(722,"56oJ"),"")[(i=887,a=821,Cs(i-132,a))](e(883,"Kc!t"),"");var i,a,s,n}function l(t){const e=(t=r(t))[(i="TqAl",a=222,Ss(a- -439,i))](":");var i,a,s,n;e>-1&&(t=t[(s=505,n="^]Gn",Ss(s- -86,n))](0,e));const o=ga(t);var l,c,u,h,d,m,g,f;function p(t,e){return Cs(t- -6,e)}return o[p(790,664)]===ca[p(703,556)]&&o[p(552,688)]&&o[(g=647,f=770,Cs(f-11,g))]&&(t=o[(d=1253,m=1276,Cs(d-695,m))]+"."+o[(u=416,h=495,Cs(h- -264,u))][(l="TqAl",c=1246,Ss(c-527,l))](".")),t}function c(t,e){return Cs(e-871,t)}let h=location[D(1033,"@jDm")];const d=function(){function t(t,e){return Ss(t- -872,e)}function e(t,e){return Ss(t- -753,e)}if(void 0!==location[t(-188,"Xjdm")])return[...location[r(529,559)]];const i=[];let a=window;function s(t,e){return Cs(t-295,e)}for(;a!==window[s(1069,1028)];){if(a[r(770,866)][(n=-82,o=-72,Cs(o- -689,n))])try{const s=new URL(a[t(-120,"73DZ")][e(-253,"aRL[")]);i[r(628,657)](s[e(-124,")8]4")])}catch(t){}a=a[s(875,1012)]}var n,o;function r(t,e){return Cs(t-1,e)}return i}();function m(t,e){return Ss(t-227,e)}function p(t,e){return Ss(t- -820,e)}function v(t,e){return Cs(e-708,t)}if(a[D(890,"uBq0")](n(1063,1160),[h,...d]),d[m(988,"A&#u")]&&(h=String(d[d[v(1431,1406)]-1])),h[D(1049,"&Mq0")](n(1055,1091)))return M=!1,void(u=b);if(h=r(h),t[p(-55,")8]4")](p(-155,"zwjv"))){let r,g;const f=a[m(775,"rBuJ")](n(1177,1157));if(e&&e[m(963,"rBuJ")]&&typeof e[c(1456,1495)]===v(1244,1407))g=yield e[D(998,"Q0oL")]()[v(1274,1238)]((t=>{function e(t,e){return m(t- -985,e)}function i(t,e){return D(t- -1246,e)}M=!1,f&&console[i(-444,"Q0oL")](e(-272,"LYHv"),t);let a=l(220,273);function l(t,e){return o(t-27,e)}var u,h,d,g;function p(t,e){return D(t- -1145,e)}function b(t,e){return $(e-185,t)}function v(t,e){return n(e- -613,t)}typeof t[e(-106,"3QuM")]===v(793,632)&&(t[i(-455,"&Mq0")][(d=1435,g="eZit",s(g,d-1356))](p(-358,"C4^k"))||t[l(-71,69)][(u=939,h=899,c(u,h- -706))](v(375,498))||t[b(395,349)][i(-308,"G$L*")](p(-315,"A&#u")))&&(a=b(596,524)),r=_(a)}));else{M=!1,f&&console[p(-44,"^]Gn")](s("rBuJ",-73),e);const t=n(1378,1497);r=_(t)}if(r)return M=!1,void(u=r);let b;try{const e=s("56oJ",99);b=g[c(1442,1374)](t,e)}catch(t){M=!1;const e=s("3QuM",-121);return void(u=_(e,t[v(1206,1225)]))}if(!b.ok){M=!1;const t=v(1479,1344);return void(u=_(t,b[s("tgIv",-154)]))}const y=b[D(889,"Xjdm")];if(y&&y[n(1360,1204)]&&y[p(-281,"na7A")]instanceof Map&&(y[v(1464,1498)]=Object[c(1636,1574)](y[s("C4^k",-175)][p(-217,"aRL[")]()),y[p(-39,"5K1Y")][x("NQc8",1575)]instanceof Map&&(y[$(437,589)][c(1503,1664)]=Object[p(-14,"o$j$")](y[n(1360,1237)][D(776,"zuID")][o(41,79)]())),y[D(1101,"&Ywm")][c(1230,1350)]instanceof Map&&(y[o(175,278)][o(-136,11)]=Object[p(-340,"p1aj")](y[o(175,263)][m(810,"zwjv")][x("p1aj",1330)]()))),a[v(1167,1331)](x("@jDm",1400),y),y[D(905,"@jDm")][s("73DZ",-105)]!==$(176,69)){M=!1;const t=m(845,"R2qD");return void(u=_(t))}const w=i[$(302,342)][x("&Ywm",1602)]()[m(716,"R2qD")]();if(y[m(977,"dn9m")][n(1237,1280)]<w){M=!1;const t=p(-216,"56oJ");return void(u=_(t))}let k=h;if(y[m(994,"(Co6")][x("C4^k",1271)]){k=l(h);const t=d[D(803,"zuID")]((t=>l(t)));if(t[c(1695,1569)])for(const e of y[x("R0)e",1435)][s("@jDm",97)]){const i=e[p(-263,"eZit")](">")[m(978,"(ARK")]()[n(1207,1370)]((t=>l(t))),a=i[c(1559,1594)](),s=l(location[D(1096,"p1aj")]);if(!i[D(961,"k17%")]||!t[c(1634,1569)]||i[x("hqk@",1556)]!==t[n(1268,1293)]||s!==a)continue;let o=0,r=0;for(const e of i){e===t[r]&&o++,r++}if(o===d[v(1509,1406)])return}}if(!y[v(1512,1498)][D(1067,"o$j$")][D(951,"^]Gn")](h)&&!y[x("Kc!t",1298)][o(87,248)][p(-167,"3QuM")](k)){let t=!1;for(const e of y[$(437,473)][p(-157,"&Ywm")]){if(e[c(1576,1549)](".*")){const i=e[o(36,28)](0,e[$(212,158)](".*")+1);if(h[$(415,285)](i)){t=!0;break}}if(e[o(119,128)]("*")){const i=e[o(72,180)](".","\\.")[$(334,442)]("*",".*");if(new RegExp(i)[p(-285,"&Ywm")](h)){t=!0;break}}}if(!t){M=!1;const t=n(1218,1379)+h+"'.";return void(u=_(t,n(1326,1412)+y[o(175,212)][x("(Co6",1533)][m(823,"@jDm")](", ")+D(1095,"aRL[")))}}if(!y[c(1668,1661)][x("k17%",1429)][m(786,"LYHv")]){if(a[$(400,356)](c(1569,1521))[v(1619,1454)](".")[0]!==y[x("3QuM",1503)][m(806,"hqk@")][p(-81,"Xjdm")](".")[0]){M=!1;const t=m(800,"tgIv");return void(u=_(t))}}return}const y=m(960,"zwjv"),w=D(854,"na7A"),k=ws;function x(t,e){return Ss(e-790,t)}function D(t,e){return Ss(t-292,e)}function $(t,e){return Cs(t- -353,e)}if(t){if(t[s("EqLC",-185)](x("R2qD",1521)))return function(){let e=null;try{const s=t[v(769,765)](5),o=_i[x(1070,1090)](s,y)[x(961,824)](Li);e=JSON[f(146,199)](o),e&&a[n("hqk@",1132)](n("NQc8",853),{for:e[i("(ARK",14)],domains:[...e[b("rBuJ",-291)]],type:Object[b("krwC",-233)]({},e[p(1035,"rBuJ")]),validUntil:Object[v(852,977)]({},e[v(751,670)])})}catch(t){}if(!e||!e[m(1086,954)]||!e[n("A!&T",924)][p(1016,"@jDm")]){M=!1;const t=b("Kc!t",-137);return void(u=_(t,g))}function i(t,e){return D(e- -1010,t)}function n(t,e){return D(e-42,t)}if(!e[n("Xjdm",1020)]){M=!1;const t=m(1024,1174);return void(u=_(t,g))}const o=function(t){function e(t,e){return s(t,e-126)}const i=Object[(a=1006,n=1033,$(n-714,a))]({},t);var a,n,o,r;return delete i[e("qfw$",-42)],delete i[(o="2WL1",r=920,s(o,r-802))],JSON[e("56oJ",133)](i)}(e);function r(t,e){return c(t,e- -35)}if(!function(t,e){if(!t||!e)return!1;const i=new k({});function a(t,e){return D(t-138,e)}return i[a(1061,"ar!&")](w),i[a(1007,"R2qD")](e,t,Ri)}(e[d("C4^k",140)],o)){M=!1;const t=b("3QuM",-135);return void(u=_(t,g))}const l=(new Date)[n("TqAl",960)]();function d(t,e){return s(t,e-57)}if(e[d("lFqm",-82)][r(1247,1383)]<l){M=!1;const t=d("tgIv",120);u=_(t,g)}else{if(e[r(1476,1632)][d("C4^k",-22)]===b("G$L*",-23)||e[f(566,483)][n("zwjv",920)]===x(984,917)){const t=h[b("C4^k",-337)](":");t>-1&&(h=h[m(1104,1034)](0,t));const e=ga(h);e[x(1254,1113)]===ca[i("G$L*",-50)]&&e[m(1073,1061)]&&e[r(1686,1595)]&&(h=e[x(852,875)]+"."+e[b("o$j$",-131)][r(1682,1551)]("."))}if(e[v(882,985)][v(914,958)](h));else{M=!1;const t=b("!4]#",-17)+h+f(127,261);u=_(t,g)}}function m(t,e){return $(t-868,e)}function f(t,e){return c(t,e- -1184)}function p(t,e){return D(t-227,e)}function b(t,e){return s(t,e- -133)}function v(t,e){return c(e,t- -691)}function x(t,e){return $(e-670,t)}}();const e=$(405,455),r=encodeURIComponent,l=(new Date)[c(1418,1361)](),d=_i[n(1125,1153)](l,y),b=n(1155,990),S=zi(l+h,b,{keySize:16})[$(154,273)](),P=[r(D(924,"TqAl"))+"="+r(t),r(v(1408,1317))+"="+r(h),r(p(-302,"56oJ"))+"="+r(location[c(1712,1599)]),r(p(-124,"&Ywm"))+"="+r(d),r(p(-104,"Kc!t"))+"="+r(e),r(x("Ze%N",1463))+"="+r(navigator[c(1558,1608)])][o(100,-67)]("&"),C=s("lFqm",-132);window[s("(Co6",30)](C,{method:x("na7A",1508),redirect:s("C4^k",-176),headers:{"Content-Type":c(1578,1458)},body:P})[c(1335,1438)]((t=>{return 200!==t[(a=-341,s=-206,$(s- -472,a))]&&(M=!1,u=f),t[(e="C4^k",i=260,x(e,i- -1270))]();var e,i,a,s}))[x("eZit",1405)]((l=>{function d(t,e){return m(e-224,t)}function p(t,e){return m(t- -600,e)}if(l&&l.ok)if(l[d("R2qD",1223)]&&l[w(1091,947)]===S)M=!0,a[w(823,877)](d("YjaJ",1186),(()=>{function t(t,e){return d(e,t- -1450)}var e,a;var s,n,o,r,c,u,h,m;function g(t,e){return d(e,t- -190)}return{registeredDomains:l[g(951,"NQc8")],validUntil:{text:l[g(1063,"Z#hj")],value:i[g(1031,"#Kej")][t(-475,"Q0oL")](l[g(783,"uBq0")])[(h="Q0oL",m=1439,d(h,m-494))]()},type:null!==(e=l[(c="o$j$",u=297,d(c,u- -941))])&&void 0!==e?e:{text:t(-497,"56oJ"),value:(o=1331,r="qfw$",$(r,o-221))},for:null!==(a=l[(s=1659,n=1826,w(n,s-705))])&&void 0!==a?a:""}}));else{M=!1;const i=w(1022,912);u=_(i,g);const a=$("aRL[",1078),s=[r(j(237,"TqAl"))+"="+r(t),r(j(388,"R0)e"))+"="+r(h),r(p(145,"56oJ"))+"="+r(location[d("A!&T",1035)]),r(w(738,805))+"="+r(e),r(C(564,590))+"="+r(String(l[k(1205,1188)])),r(p(128,"!4]#"))+"="+r(S),r(k(1275,1289))+"="+r(navigator[P(305,"[@Qm")])][p(337,"(ARK")]("&");window[(b=734,y=734,v(y,b- -631))](a,{method:P(293,"aRL["),redirect:z(1088,1107),headers:{"Content-Type":p(181,"hqk@")},body:s})}else if(l){M=!1;const t=A(l[p(375,"w(SA")][z(1123,994)](/\n/gi,k(990,973)));let e=null;l[d("3QuM",1094)]&&(e=A(l[p(369,"[@Qm")][j(166,"Z#hj")](/\n/gi,C(408,392))));const i=P(224,"krwC");u=T` <div class="${i}"><strong>${W} ${t}</strong><br />${e}<br />${g}</div> `}else M=!1,u=f;var b,y;function w(t,e){return c(t,e- -617)}function k(t,e){return o(e-1110,t)}function $(t,e){return D(e-104,t)}function P(t,e){return s(e,t-422)}function C(t,e){return n(t- -640,e)}function z(t,e){return n(t- -202,e)}function j(t,e){return x(e,t- -1185)}I()}))[v(1313,1238)]((()=>{M=!1,u=f,I()}))}else{M=!1;const t=v(1431,1453),e=p(-135,"p1aj");u=T` <div class="${e}">${W} ${t}${g}</div> `}}))}function R(t,e){return Cs(e- -609,t)}C(z[K("[@Qm",512)](K(")8]4",445),(t=>{function e(t,e){return P(e,t-114)}var i,s;j(t)[e(715,"w(SA")]((()=>{I()}))[(i=1122,s="[[$i",U(s,i- -243))]((t=>{function i(t,i){return e(t- -717,i)}M=!1;const s=i(51,"2WL1");var n,o;function r(t,e){return Cs(t-808,e)}u=_(s),a[i(149,"5K1Y")](r(1415,1333))&&console[(n=233,o="(ARK",e(n- -450,o))](r(1509,1361),t),I()})),I()})));const O={width:0,height:0},L={width:0,height:0};let E,N,G,B;function H(t){const e=t[s(152,285)];const i=t[s(248,249)];function s(t,e){return p(t-237,e)}var n,o,r,l,c,u;(O[(c="@jDm",u=54,P(c,u- -716))]!==e||O[s(324,415)]!==i)&&(O[s(72,170)]=e,O[(r=105,l="aRL[",U(l,r- -1459))]=i,a[(n=0,o=167,y(o- -886,n))](P("(ARK",1448-790),O))}function V(t,e){return Cs(e-589,t)}class q{constructor(t){var e,i,s,n;!E&&(E=new ResizeObserver((()=>{H(t)})),E[(s=-319,n=-288,p(s- -272,n))](t),a[(e="krwC",i=74,P(e,i- -671))](S("[@Qm",1296-999),t),H(t))}[P("&Ywm",585)](){}[V(1028,1093)](t){var e,i;E[(e="#Kej",i=526,S(e,i-313))](t)}}function Y(t){const e=t[(i="A&#u",s=1554,P(i,s-950))];var i,s;const n=t[o(913,"rBuJ")];function o(t,e){return U(e,t- -724)}function r(t,e){return y(e- -973,t)}var l,c,u,h,d,m;(L[(d=1713,m="hqk@",U(m,d-68))]!==e||L[(u=6,h=-121,x(u,h- -1469))]!==n)&&(L[o(747,"eZit")]=e,L[(l=114,c=27,V(l,c- -1367))]=n,a[r(90,80)](r(225,220),L))}!m[K("A!&T",326)](q)&&m[Z("uBq0",1270)](q);class F{constructor(t){var e,i;function s(t,e){return U(t,e- -163)}t=t[(e=-159,i=-247,x(i,e- -1424))],!N&&(N=new ResizeObserver((()=>{Y(t)})),N[s("dn9m",1374)](t),a[s("NQc8",1441)](P("Ze%N",62- -672),t),Y(t))}[Z("&Mq0",1138)](){}[U("2WL1",1381)](t){var e,i,a,s;N[(a=421,s="@jDm",S(s,a-156))](t[(e=1565,i=1609,p(i-1605,e))])}}function U(t,e){return Ss(e-883,t)}function K(t,e){return Ss(e- -195,t)}function Z(t,e){return Ss(e-606,t)}!m[R(95,125)](F)&&m[S("EqLC",260)](F),s((()=>{var t,e,i,a;N[(i="p1aj",a=800,K(i,a-504))](),E[(t="na7A",e=746,P(t,e-211))]()})),s(a[P("2WL1",675)]([x(1279,1306),x(1301,1267)],(()=>{function t(t,e){return P(e,t- -609)}function e(t,e){return p(t-1011,e)}function i(t,e){return V(e,t- -1097)}if(a[t(-113,"aRL[")](i(216,293))){const o=a[e(1046,975)](i(255,354));if(!o)return;a[(s=429,n="5K1Y",U(n,s- -1096))](i(61,-11),(()=>{var i,s,n,r,l,c;return o[(n=1513,r=1513,l=r,c=n- -124,R(l,c-1441))]-a[(i=-216,s="(Co6",t(i- -182,s))](e(933-20,826))}))}var s,n}),{group:!0})),s(a[U("C4^k",1610)](V(1385,1319),(t=>{function e(t,e){return p(t-281,e)}var i,a,s,n;G=t[e(83,8)][(s=-45,n=-34,V(s,n- -1303))],B=t[e(97,0)][(i="tgIv",a=2,S(i,a- -282))]})));const Q={handleEvent(t){function e(t,e){return P(e,t-142)}function s(t,e){return p(e-879,t)}const n=i[g("tgIv",-15)](t);function o(t,e){return K(e,t- -241)}function r(t,e){return S(t,e-1026)}function l(t,e){return V(t,e- -218)}function c(t,e){return y(e- -778,t)}function u(t,e){return U(t,e- -1831)}function h(t,e){return x(e,t- -580)}if(t[l(824,939)]||n.x){const t=n.x?n.x:n.y,u=i[g("56oJ",17)]();return void(t>0?a[r("!4]#",1282)](e(721,"C4^k"))?i[g("aRL[",-45)](u[l(1079,1045)]+t*G):i[r("dn9m",1205)](u[h(710,785)]+G):a[e(893,"lFqm")](o(134,"56oJ"))?i[s(974,899)](u[c(209,326)]+t*G):i[h(701,654)](u[c(415,399)]-G))}function d(t,e){return x(e,t-372)}const m=i[s(688,766)]();function g(t,e){return P(t,e- -757)}if(n.y>0)if(a[u("G$L*",-320)](s(821,753))){const t=a[e(671,"Ze%N")](g("R2qD",-248));let s=0;s=t?n.y/t*B:n.y*B,i[u("zuID",-254)](m[c(223,326)]+s)}else i[l(1130,985)](m[s(805,908)]+B);else if(a[d(1668,1807)](o(52,"TqAl"))){const t=a[o(130,"Ze%N")](d(1640,1595));let e=0;e=t?n.y/t*B:n.y*B,i[u("hqk@",-354)](m[d(1589,1632)]+e)}else i[r("zwjv",1260)](m[c(543,399)]-B)},passive:!0},J=Object[y(1102,1172)](Object[p(-46,-43)]({},e),{api:i,state:a,componentName:d});l((t=>{for(const e in t)J[e]=t[e]}));const X=n[p(-155,-91)](m,J),tt=i[S("Xjdm",172)](p(-74,-33),t,e);return s(tt[K("!4]#",452)]),()=>M?tt[p(-187,-241)](P("ar!&",652),r`
|
|
679
|
+
<div
|
|
680
|
+
data-info-url="https://github.com/neuronetio/gantt-schedule-timeline-calendar"
|
|
681
|
+
class=${h[S("Q0oL",178)]}
|
|
682
|
+
style=${h[S("Z#hj",419)][y(1005,865)]()}
|
|
683
|
+
data-actions=${X()}
|
|
684
|
+
@wheel=${Q}
|
|
685
|
+
>
|
|
686
|
+
${tt[R(-166,-78)](S("Kc!t",185),r` ${D[U("w(SA",1683)]()}${$[y(961,998)]()} `)}
|
|
687
|
+
</div>
|
|
688
|
+
`):u}let Is;!function(t){function e(t,e){return Cs(e-681,t)}function i(t,e){return Ss(e-334,t)}function a(t,e){return Cs(t- -694,e)}const s=t();function n(t,e){return Ss(t- -343,e)}for(;;)try{if(919333===parseInt(Cs(-83- -743,-32))/1+-parseInt(a(23,-21))/2*(-parseInt((o=393,r="zwjv",Ss(o- -121,r)))/3)+parseInt(a(3,-34))/4*(-parseInt(e(1549,1482))/5)+parseInt(n(434,"ar!&"))/6+parseInt(i("^]Gn",1004))/7+-parseInt(e(1309,1316))/8+-parseInt(i("[@Qm",929))/9*(parseInt(n(449,"zwjv"))/10))break;s.push(s.shift())}catch(t){s.push(s.shift())}var o,r}(Ps);const Ts=new Array(128).fill(void 0);function As(t){return Ts[t]}Ts.push(void 0,null,!0,!1);let Ms=Ts.length;function Ws(t){const e=As(t);return function(t){t<132||(Ts[t]=Ms,Ms=t)}(t),e}const _s="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&_s.decode();let js=null;function Rs(){return null!==js&&0!==js.byteLength||(js=new Uint8Array(Is.memory.buffer)),js}function Os(t,e){return t>>>=0,_s.decode(Rs().subarray(t,t+e))}function Ls(t){Ms===Ts.length&&Ts.push(Ts.length+1);const e=Ms;return Ms=Ts[e],Ts[e]=t,e}let Es=0;const Ns="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},Gs="function"==typeof Ns.encodeInto?function(t,e){return Ns.encodeInto(t,e)}:function(t,e){const i=Ns.encode(t);return e.set(i),{read:t.length,written:i.length}};function Bs(t,e,i){if(void 0===i){const i=Ns.encode(t),a=e(i.length,1)>>>0;return Rs().subarray(a,a+i.length).set(i),Es=i.length,a}let a=t.length,s=e(a,1)>>>0;const n=Rs();let o=0;for(;o<a;o++){const e=t.charCodeAt(o);if(e>127)break;n[s+o]=e}if(o!==a){0!==o&&(t=t.slice(o)),s=i(s,a,a=o+3*t.length,1)>>>0;const e=Rs().subarray(s+o,s+a);o+=Gs(t,e).written}return Es=o,s}let Hs=null;function Vs(){return null!==Hs&&0!==Hs.byteLength||(Hs=new Int32Array(Is.memory.buffer)),Hs}function qs(){const t={wbg:{}};return t.wbg.__wbindgen_object_drop_ref=function(t){Ws(t)},t.wbg.__wbindgen_string_new=function(t,e){return Ls(Os(t,e))},t.wbg.__wbindgen_bigint_from_i64=function(t){return Ls(t)},t.wbg.__wbindgen_bigint_from_u64=function(t){return Ls(BigInt.asUintN(64,t))},t.wbg.__wbindgen_error_new=function(t,e){return Ls(new Error(Os(t,e)))},t.wbg.__wbindgen_object_clone_ref=function(t){return Ls(As(t))},t.wbg.__wbg_String_b9412f8799faab3e=function(t,e){const i=Bs(String(As(e)),Is.__wbindgen_malloc,Is.__wbindgen_realloc),a=Es;Vs()[t/4+1]=a,Vs()[t/4+0]=i},t.wbg.__wbindgen_number_new=function(t){return Ls(t)},t.wbg.__wbg_set_f975102236d3c502=function(t,e,i){As(t)[Ws(e)]=Ws(i)},t.wbg.__wbg_new_abda76e883ba8a5f=function(){return Ls(new Error)},t.wbg.__wbg_stack_658279fe44541cf6=function(t,e){const i=Bs(As(e).stack,Is.__wbindgen_malloc,Is.__wbindgen_realloc),a=Es;Vs()[t/4+1]=a,Vs()[t/4+0]=i},t.wbg.__wbg_error_f851667af71bcfc6=function(t,e){let i,a;try{i=t,a=e,console.error(Os(t,e))}finally{Is.__wbindgen_free(i,a,1)}},t.wbg.__wbg_new_898a68150f225f2e=function(){return Ls(new Array)},t.wbg.__wbg_new_56693dbed0c32988=function(){return Ls(new Map)},t.wbg.__wbg_new_b51585de1b234aff=function(){return Ls(new Object)},t.wbg.__wbg_set_502d29070ea18557=function(t,e,i){As(t)[e>>>0]=Ws(i)},t.wbg.__wbg_set_bedc3d02d0f05eb0=function(t,e,i){return Ls(As(t).set(As(e),As(i)))},t.wbg.__wbindgen_is_string=function(t){return"string"==typeof As(t)},t.wbg.__wbindgen_throw=function(t,e){throw new Error(Os(t,e))},t}function Ys(t,e){return Is=t.exports,Fs.__wbindgen_wasm_module=e,Hs=null,js=null,Is}async function Fs(t){if(void 0!==Is)return Is;const e=qs();("string"==typeof t||"function"==typeof Request&&t instanceof Request||"function"==typeof URL&&t instanceof URL)&&(t=fetch(t));const{instance:i,module:a}=await async function(t,e){if("function"==typeof Response&&t instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(t,e)}catch(e){if("application/wasm"==t.headers.get("Content-Type"))throw e;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",e)}const i=await t.arrayBuffer();return await WebAssembly.instantiate(i,e)}{const i=await WebAssembly.instantiate(t,e);return i instanceof WebAssembly.Instance?{instance:i,module:t}:i}}(await t,e);return Ys(i,a)}var Us=Object.freeze({__proto__:null,parse_license_key:function(t,e){const i=Bs(t,Is.__wbindgen_malloc,Is.__wbindgen_realloc),a=Es,s=Bs(e,Is.__wbindgen_malloc,Is.__wbindgen_realloc),n=Es;return Ws(Is.parse_license_key(i,a,s,n))},License:class{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,t}free(){const t=this.__destroy_into_raw();Is.__wbg_license_free(t)}},LicenseDate:class{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,t}free(){const t=this.__destroy_into_raw();Is.__wbg_licensedate_free(t)}},LicenseKeyResult:class{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,t}free(){const t=this.__destroy_into_raw();Is.__wbg_licensekeyresult_free(t)}},LicenseResult:class{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,t}free(){const t=this.__destroy_into_raw();Is.__wbg_licenseresult_free(t)}},LicenseType:class{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,t}free(){const t=this.__destroy_into_raw();Is.__wbg_licensetype_free(t)}},ProductInfo:class{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,t}free(){const t=this.__destroy_into_raw();Is.__wbg_productinfo_free(t)}},SignedLicense:class{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,t}free(){const t=this.__destroy_into_raw();Is.__wbg_signedlicense_free(t)}},initSync:function(t){if(void 0!==Is)return Is;const e=qs();return t instanceof WebAssembly.Module||(t=new WebAssembly.Module(t)),Ys(new WebAssembly.Instance(t,e),t)},default:Fs});
|
|
689
|
+
/**
|
|
690
|
+
* Gantt-Schedule-Timeline-Calendar component
|
|
691
|
+
*
|
|
692
|
+
* @copyright NEURONET - Rafal Pospiech
|
|
693
|
+
* @author Rafal Pospiech <neuronet.io@gmail.com>
|
|
694
|
+
* @module gantt-schedule-timeline-calendar
|
|
695
|
+
* @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
|
|
696
|
+
* @link https://gantt-schedule-timeline-calendar.neuronet.io
|
|
697
|
+
* @version 3.37.5
|
|
698
|
+
* @released 2024-07-19
|
|
699
|
+
* @license SEE LICENSE IN LICENSE FILE
|
|
700
|
+
*/
|
|
701
|
+
const Ks=async function(t={}){let{importHook:e,serverPath:i}=t,a=new URL("assets/2f1f893a.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("gstc.umd.min.js",document.baseURI).href).href;return null!=i&&(a=i+/[^\/\\]*$/.exec(a)[0]),null!=e&&(a=e(a)),await Fs(a),Us};function Zs(t){const e=t.state,i=new ke(e),a={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},visibleItems:[],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:[]}},allItemsOnTheLeftOrRight:!1},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 t.debug&&t.debug&&(globalThis.state=e),e.update("",(t=>({config:t.config,$data:a})));const s=ie(e,i),n=s.lithtml;i.setVido(s),i.setMergeDeep($s);const o=s.createApp({component:zs,props:{wasmInitialized:Ks},element:t.element}),r=o.vidoInstance.api;const l={state:e,api:r,component:o,destroy:function(){o.destroy(),e.destroy()},reload:function(){l.component.destroy(),l.component=s.createApp({component:zs,props:{wasmInitialized:Ks},element:t.element}),l.api=o.vidoInstance.api,l.component.update()},lithtml:n,Vido:ie};return l}const Qs=document.createTextNode("");document.createTextNode=function(t){const e=Qs.cloneNode(!0);return e.textContent=t,e}.bind(document);const Js=document.createElement("div"),Xs=document.createElement.bind(document);return document.createElement=function(t,...e){if("div"!==t)return Xs(t,...e);return Js.cloneNode(!0)}.bind(document),Zs.api=xi,Zs.lithtml=E,Zs.Vido=ie,Zs}));
|