@datagrok-libraries/utils 4.1.12 → 4.1.13

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/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "email": "amuzychyna@datagrok.ai"
9
9
  },
10
10
  "fullName": "Utils",
11
- "version": "4.1.12",
11
+ "version": "4.1.13",
12
12
  "description": "Common utilities",
13
13
  "dependencies": {
14
14
  "cash-dom": "^8.1.1",
package/src/items-grid.js CHANGED
@@ -117,7 +117,7 @@ export class ItemsGrid {
117
117
  }
118
118
  //needed for color input
119
119
  hideLabel(el) {
120
- el.removeChild(el.getElementsByTagName('label')[0]);
120
+ el.getElementsByTagName('label')[0] && el.removeChild(el.getElementsByTagName('label')[0]);
121
121
  return el;
122
122
  }
123
123
  }
@@ -130,4 +130,4 @@ export class ItemsGrid {
130
130
  ui.dialog('dialog').add(itemsGrid.root).show();
131
131
  at any point, filled fields can be accessed via itemsGrid.items
132
132
  */
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIml0ZW1zLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFxQjdCLHVHQUF1RztBQUN2RyxNQUFNLE9BQU8sU0FBUztJQWdCbEI7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0wsWUFBWSxVQUF5QixFQUFFLFFBQW9CLEVBQUUsRUFBRSxVQUE0QixFQUFFO1FBekI3RixtREFBbUQ7UUFDNUMsa0JBQWEsR0FBZ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNsRixvREFBb0Q7UUFDN0Msd0JBQW1CLEdBQWdELElBQUksT0FBTyxFQUFFLENBQUM7UUFDeEYsNENBQTRDO1FBQ3JDLGdCQUFXLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEQsOENBQThDO1FBQ3ZDLGtCQUFhLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHeEQsWUFBTyxHQUNMLEVBQUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQztRQWV0RyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxtQ0FBTyxJQUFJLENBQUMsT0FBTyxHQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQ3JCLEVBQUMsS0FBSyxFQUFFO2dCQUNOLE9BQU8sRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sUUFBUTtnQkFDOUUsVUFBVSxFQUFF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QUMvQixFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7O0dBUUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEl0ZW1UeXBlID0ge1tfOnN0cmluZ106IGFueX07XG5leHBvcnQgdHlwZSBJdGVtc0dyaWRPcHRpb25zID0ge1xuICAgIHJlbW92ZUJ1dHRvblRvb2x0aXA/OiBzdHJpbmcsXG4gICAgYWRkQnV0dG9uVG9vbHRpcD86IHN0cmluZyxcbiAgICBhbGxvd1JlbW92ZT86IGJvb2xlYW4sXG4gICAgYWxsb3dBZGQ/OiBib29sZWFuLFxuICAgIGhvcml6b250YWxJbnB1dE5hbWVzPzogYm9vbGVhbixcbiAgICBuZXdJdGVtRnVuY3Rpb24/OiAoKSA9PiBJdGVtVHlwZSxcbiAgICBjdXN0b21JbnB1dHM/OiB7W2tleTogc3RyaW5nXTogKGl0ZW06IEl0ZW1UeXBlKSA9PiBJbnB1dFR5cGV9XG59O1xuXG5leHBvcnQgdHlwZSBJbnB1dFR5cGUgPSB7XG4gICAgaW5wdXQ/OiBIVE1MRWxlbWVudCxcbiAgICByb290OiBIVE1MRWxlbWVudCxcbiAgICB2YWx1ZTogYW55LFxuICAgIG9uQ2hhbmdlZDogKGFjdGlvbjogKCkgPT4gdm9pZCkgPT4gdm9pZCxcbiAgICBhZGRPcHRpb25zPzogKGVsOiBIVE1MRWxlbWVudCkgPT4gdm9pZFxufVxuXG4vKiogRWRpdG9yIGZvciBwcmVkZWZpbmVkIHByb3BlcnRpZXMgaW4gYSBncmlkIGZvcm0uIFN1cHBvcnRzIGFkZGluZywgcmVtb3ZpbmcgYW5kIGVkaXRpbmcgb2YgcHJvcHMuICovXG5leHBvcnQgY2xhc3MgSXRlbXNHcmlkIHtcbiAgcHJpdmF0ZSBfcm9vdDogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX2l0ZW1zOiB7W2tleTogc3RyaW5nXTogYW55fVtdO1xuXG4gIC8qKiBPYnNlcnZhYmxlIGZvciB3aGVuIHRoZSBhZGRlZCBpdGVtIGlzIGNoYW5nZSAqL1xuICBwdWJsaWMgb25JdGVtQ2hhbmdlZDogU3ViamVjdDx7aXRlbTpJdGVtVHlwZSwgZmllbGROYW1lOiBzdHJpbmd9PiA9IG5ldyBTdWJqZWN0KCk7XG4gIC8qKiBPYnNlcnZhYmxlIGZvciB3aGVuIHRoZSBhZGRpbmcgaXRlbSBpcyBjaGFuZ2UgKi9cbiAgcHVibGljIG9uQWRkaW5nSXRlbUNoYW5nZWQ6IFN1YmplY3Q8e2l0ZW06SXRlbVR5cGUsIGZpZWxkTmFtZTogc3RyaW5nfT4gPSBuZXcgU3ViamVjdCgpO1xuICAvKiogT2JzZXJ2YWJsZSBmb3Igd2hlbiB0aGUgaXRlbSBpcyBhZGRlZCAqL1xuICBwdWJsaWMgb25JdGVtQWRkZWQ6IFN1YmplY3Q8SXRlbVR5cGU+ID0gbmV3IFN1YmplY3QoKTtcbiAgLyoqIE9ic2VydmFibGUgZm9yIHdoZW4gdGhlIGl0ZW0gaXMgcmVtb3ZlZCAqL1xuICBwdWJsaWMgb25JdGVtUmVtb3ZlZDogU3ViamVjdDxJdGVtVHlwZT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByb3BlcnRpZXM6IERHLlByb3BlcnR5W107XG4gIG9wdGlvbnM6IEl0ZW1zR3JpZE9wdGlvbnMgPVxuICAgIHtyZW1vdmVCdXR0b25Ub29sdGlwOiAnUmVtb3ZlIGl0ZW0nLCBhZGRCdXR0b25Ub29sdGlwOiAnQWRkIGl0ZW0nLCBhbGxvd0FkZDogdHJ1ZSwgYWxsb3dSZW1vdmU6IHRydWV9O1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgSXRlbXNHcmlkIHdoaWNoIGlzIGEgZ3JpZCBmb3JtIGZvciBlZGl0aW5nIHByb3BlcnRpZXMuXG4gICAgICogQHBhcmFtIHtERy5Qcm9wZXJ0eVtdfXByb3BlcnRpZXMgLSBwcm9wZXJ0aWVzIHRvIGJlIGVkaXRlZFxuICAgICAqIEBwYXJhbSB7SXRlbVR5cGVwW119aXRlbXMgLSBpdGVtcyB0byBiZSBlZGl0ZWRcbiAgICAgKiBAcGFyYW0ge0l0ZW1zR3JpZE9wdGlvbnN9b3B0aW9ucyAtIG9wdGlvbnMgZm9yIHRoZSBncmlkXG4gICAgICogT3B0aW9ucyBpbmNsdWRlOlxuICAgICAqIHJlbW92ZUJ1dHRvblRvb2x0aXAgLSB0b29sdGlwIGZvciB0aGUgcmVtb3ZlIGJ1dHRvbiAtIGRlZmF1bHQgaXMgJ1JlbW92ZSBpdGVtJ1xuICAgICAqIGFkZEJ1dHRvblRvb2x0aXAgLSB0b29sdGlwIGZvciB0aGUgYWRkIGJ1dHRvbiAtIGRlZmF1bHQgaXMgJ0FkZCBpdGVtJ1xuICAgICAqIGFsbG93UmVtb3ZlIC0gd2hldGhlciB0byBhbGxvdyByZW1vdmluZyBpdGVtcyAtIGRlZmF1bHQgaXMgdHJ1ZVxuICAgICAqIGFsbG93QWRkIC0gd2hldGhlciB0byBhbGxvdyBhZGRpbmcgaXRlbXMgLSBkZWZhdWx0IGlzIHRydWVcbiAgICAgKiBob3Jpem9udGFsSW5wdXROYW1lcyAtIFNob3cgdGhlIGlucHV0IG5hbWVzIG5leHQgdG8gaW50cHV0IC0gZGVmYXVsdCBpcyBmYWxzZSwgbmFtZXMgYXJlIHNob3duIGFib3ZlIHRoZSBncmlkLlxuICAgICAqIG5ld0l0ZW1GdW5jdGlvbiAtIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBuZXcgaXRlbSAtIGRlZmF1bHQgaXMgdW5kZWZpbmQsIGluIHdoaWNoIGNhc2UgYW4gZW1wdHkgb2JqZWN0IGlzIGNyZWF0ZWQuXG4gICAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6IERHLlByb3BlcnR5W10sIGl0ZW1zOiBJdGVtVHlwZVtdID0gW10sIG9wdGlvbnM6IEl0ZW1zR3JpZE9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgdGhpcy5vcHRpb25zID0gey4uLnRoaXMub3B0aW9ucywgLi4ub3B0aW9uc307XG4gICAgdGhpcy5fcm9vdCA9IHVpLmRpdlYoW10sXG4gICAgICB7c3R5bGU6IHtcbiAgICAgICAgZGlzcGxheTogJ2dyaWQnLCBncmlkVGVtcGxhdGVDb2x1bW5zOiBgcmVwZWF0KCR7dGhpcy5wcm9wZXJ0aWVzLmxlbmd0aH0sIDFmcilgLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnMTJweCd9fSk7XG4gICAgdGhpcy5faXRlbXMgPSBpdGVtcztcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgZ2V0IHJvb3QoKTogSFRNTERpdkVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9yb290O1xuICB9XG5cbiAgZ2V0IGl0ZW1zKCk6IHtba2V5OiBzdHJpbmddOiBhbnl9W10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKCk6IHZvaWQge1xuICAgIHVpLmVtcHR5KHRoaXMuX3Jvb3QpO1xuICAgIGlmICghdGhpcy5vcHRpb25zLmhvcml6b250YWxJbnB1dE5hbWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIGNvbnN0IGhlYWRlciA9IHVpLmRpdlRleHQocHJvcC5jYXB0aW9uID8/IHByb3AubmFtZSk7XG4gICAgICAgIGhlYWRlci5zdHlsZS5mb250V2VpZ2h0ID0gJ2JvbGQnO1xuICAgICAgICB0aGlzLl9yb290LmFwcGVuZENoaWxkKGhlYWRlcik7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9pdGVtcykge1xuICAgICAgY29uc3QgZWRpdG9ycyA9IHRoaXMuZ2V0SXRlbURpdihpdGVtKTtcbiAgICAgIC8vIGlmIChlZGl0b3JzLmxlbmd0aCAhPT0gdGhpcy5wcm9wZXJ0aWVzLmxlbmd0aCArIDEpXG4gICAgICAvLyAgIGVkaXRvcnMucHVzaCh1aS5kaXYoKSk7XG4gICAgICBmb3IgKGNvbnN0IGVkaXRvciBvZiBlZGl0b3JzKVxuICAgICAgICB0aGlzLl9yb290LmFwcGVuZENoaWxkKGVkaXRvcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0FkZCkge1xuICAgICAgY29uc3QgbmV3RWRpdG9yID0gdGhpcy5nZXRJdGVtRGl2KHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICBmb3IgKGNvbnN0IGVkaXRvciBvZiBuZXdFZGl0b3IpXG4gICAgICAgIHRoaXMuX3Jvb3QuYXBwZW5kQ2hpbGQoZWRpdG9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1EaXYoaXRlbTogSXRlbVR5cGUgPSB7fSwgaXNBZGRpbmc/OiBib29sZWFuKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgZWRpdG9yczogSFRNTEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgY29uc3QgaW5wdXRzTWFwOiB7W186IHN0cmluZ106IElucHV0VHlwZX0gPSB7fTtcbiAgICBsZXQgbGFzdElucHV0OiBJbnB1dFR5cGUgfCBudWxsID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5wcm9wZXJ0aWVzKSB7XG4gICAgICBpZiAoaXRlbVtwcm9wLm5hbWVdID09PSB1bmRlZmluZWQpXG4gICAgICAgIGl0ZW1bcHJvcC5uYW1lXSA9IG51bGw7IC8vIG5lZWRlZCBmb3IgZGF0ZSBlZGl0b3IsIGl0IGNhbiBub3QgaGFuZGxlIHVuZGVmaW5lZFxuICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLm9wdGlvbnMuY3VzdG9tSW5wdXRzPy5bcHJvcC5uYW1lXSA/IHRoaXMub3B0aW9ucy5jdXN0b21JbnB1dHNbcHJvcC5uYW1lXShpdGVtKSA6XG4gICAgICAgIHVpLmlucHV0LmZvclByb3BlcnR5KHByb3AsIGl0ZW0pO1xuICAgICAgZWRpdG9ycy5wdXNoKHRoaXMub3B0aW9ucy5ob3Jpem9udGFsSW5wdXROYW1lcyA/IGlucHV0LnJvb3QgOiB0aGlzLmhpZGVMYWJlbChpbnB1dC5yb290KSk7XG4gICAgICBpZiAocHJvcC5wcm9wZXJ0eVR5cGUgIT09IERHLlRZUEUuQk9PTClcbiAgICAgICAgaW5wdXQuaW5wdXQgJiYgKGlucHV0LmlucHV0LnN0eWxlLndpZHRoID0gJzEwMCUnKTtcbiAgICAgIGlucHV0c01hcFtwcm9wLm5hbWVdID0gaW5wdXQ7XG4gICAgICBpbnB1dC5vbkNoYW5nZWQoKCkgPT4ge1xuICAgICAgICBpdGVtW3Byb3AubmFtZV0gPSBpbnB1dC52YWx1ZTtcbiAgICAgICAgaXNBZGRpbmcgPyB0aGlzLm9uQWRkaW5nSXRlbUNoYW5nZWQubmV4dCh7aXRlbSwgZmllbGROYW1lOiBwcm9wLm5hbWV9KSA6XG4gICAgICAgICAgdGhpcy5vbkl0ZW1DaGFuZ2VkLm5leHQoe2l0ZW0sIGZpZWxkTmFtZTogcHJvcC5uYW1lfSk7XG4gICAgICB9KTtcbiAgICAgIGlucHV0LnJvb3Quc3R5bGUuYWxpZ25JdGVtcyA9ICdjZW50ZXInOyAvLyBuZWVkZWQgZm9yIG1vbGVjdWxlIGVkaXRvclxuICAgICAgbGFzdElucHV0ID0gaW5wdXQ7XG4gICAgfVxuXG4gICAgbGV0IGNvbXBhbmlvbkJ1dHRvbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAoaXNBZGRpbmcpIHtcbiAgICAgIGNvbnN0IGFkZEJ1dHRvbiA9IHVpLmljb25zLmFkZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW06IEl0ZW1UeXBlID0gdGhpcy5vcHRpb25zLm5ld0l0ZW1GdW5jdGlvbiA/IHRoaXMub3B0aW9ucy5uZXdJdGVtRnVuY3Rpb24oKSA6IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhpbnB1dHNNYXApLmZvckVhY2goKHBOYW1lKSA9PiB7XG4gICAgICAgICAgbmV3SXRlbVtwTmFtZV0gPSBpbnB1dHNNYXBbcE5hbWVdLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkl0ZW1BZGRlZC5uZXh0KG5ld0l0ZW0pO1xuICAgICAgICB0aGlzLl9pdGVtcy5wdXNoKG5ld0l0ZW0pO1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgICAgfSwgdGhpcy5vcHRpb25zLmFkZEJ1dHRvblRvb2x0aXApO1xuICAgICAgY29tcGFuaW9uQnV0dG9uID0gYWRkQnV0dG9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5hbGxvd1JlbW92ZSkgcmV0dXJuIGVkaXRvcnM7XG4gICAgICBjb25zdCByZW1vdmVCdXR0b24gPSB1aS5pY29ucy5kZWxldGUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uSXRlbVJlbW92ZWQubmV4dChpdGVtKTtcbiAgICAgICAgdGhpcy5faXRlbXMuc3BsaWNlKHRoaXMuX2l0ZW1zLmluZGV4T2YoaXRlbSksIDEpO1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgICAgfSwgdGhpcy5vcHRpb25zLnJlbW92ZUJ1dHRvblRvb2x0aXApO1xuICAgICAgY29tcGFuaW9uQnV0dG9uID0gcmVtb3ZlQnV0dG9uO1xuICAgIH1cblxuICAgIC8vZWRpdG9ycy5wdXNoKGNvbXBhbmlvbkJ1dHRvbik7XG4gICAgbGFzdElucHV0ICYmIGxhc3RJbnB1dC5hZGRPcHRpb25zID8gbGFzdElucHV0LmFkZE9wdGlvbnMoY29tcGFuaW9uQnV0dG9uKSA6XG4gICAgICBsYXN0SW5wdXQ/LnJvb3QuYXBwZW5kQ2hpbGQoY29tcGFuaW9uQnV0dG9uKTtcbiAgICBjb21wYW5pb25CdXR0b24uc3R5bGUuY29sb3IgPSAnIzIwODNkNSc7XG4gICAgcmV0dXJuIGVkaXRvcnM7XG4gIH1cbiAgLy9uZWVkZWQgZm9yIGNvbG9yIGlucHV0XG4gIHByaXZhdGUgaGlkZUxhYmVsKGVsOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICBlbC5yZW1vdmVDaGlsZChlbC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbGFiZWwnKVswXSk7XG4gICAgcmV0dXJuIGVsO1xuICB9XG59XG5cbi8qKiBVc2FnZSBleGFtcGxlOlxuICogY29uc3QgcHJvcHMgPSBbREcuUHJvcGVydHkuanMoJ25hbWUyJywgREcuVFlQRS5TVFJJTkcpLFxuICAgICAgREcuUHJvcGVydHkuanMoJ25hbWUzJywgREcuVFlQRS5OVU0pLFxuICAgICAgREcuUHJvcGVydHkuZnJvbU9wdGlvbnMoe25hbWU6ICduYW1lNCcsIHR5cGU6IERHLlRZUEUuREFURV9USU1FLCBudWxsYWJsZTogdHJ1ZX0pXTtcbiAgICBjb25zdCBpdGVtc0dyaWQgPSBuZXcgSXRlbXNHcmlkKHByb3BzKTtcbiAqIHRoZSBjb21wb25lbnQgaGFzIGEgcm9vdCBwcm9wZXJ0eSB0aGF0IGNhbiBiZSBhZGRlZCB0byB0aGUgcGFnZVxuICAgIHVpLmRpYWxvZygnZGlhbG9nJykuYWRkKGl0ZW1zR3JpZC5yb290KS5zaG93KCk7XG4gICAgYXQgYW55IHBvaW50LCBmaWxsZWQgZmllbGRzIGNhbiBiZSBhY2Nlc3NlZCB2aWEgaXRlbXNHcmlkLml0ZW1zXG4gKi9cbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIml0ZW1zLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFxQjdCLHVHQUF1RztBQUN2RyxNQUFNLE9BQU8sU0FBUztJQWdCbEI7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0wsWUFBWSxVQUF5QixFQUFFLFFBQW9CLEVBQUUsRUFBRSxVQUE0QixFQUFFO1FBekI3RixtREFBbUQ7UUFDNUMsa0JBQWEsR0FBZ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNsRixvREFBb0Q7UUFDN0Msd0JBQW1CLEdBQWdELElBQUksT0FBTyxFQUFFLENBQUM7UUFDeEYsNENBQTRDO1FBQ3JDLGdCQUFXLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEQsOENBQThDO1FBQ3ZDLGtCQUFhLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHeEQsWUFBTyxHQUNMLEVBQUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQztRQWV0RyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxtQ0FBTyxJQUFJLENBQUMsT0FBTyxHQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQ3JCLEVBQUMsS0FBSyxFQUFFO2dCQUNOLE9BQU8sRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sUUFBUTtnQkFDOUUsVUFBVSxFQUFF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QUMvQixFQUFFLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQUVEOzs7Ozs7OztHQVFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBJdGVtVHlwZSA9IHtbXzpzdHJpbmddOiBhbnl9O1xuZXhwb3J0IHR5cGUgSXRlbXNHcmlkT3B0aW9ucyA9IHtcbiAgICByZW1vdmVCdXR0b25Ub29sdGlwPzogc3RyaW5nLFxuICAgIGFkZEJ1dHRvblRvb2x0aXA/OiBzdHJpbmcsXG4gICAgYWxsb3dSZW1vdmU/OiBib29sZWFuLFxuICAgIGFsbG93QWRkPzogYm9vbGVhbixcbiAgICBob3Jpem9udGFsSW5wdXROYW1lcz86IGJvb2xlYW4sXG4gICAgbmV3SXRlbUZ1bmN0aW9uPzogKCkgPT4gSXRlbVR5cGUsXG4gICAgY3VzdG9tSW5wdXRzPzoge1trZXk6IHN0cmluZ106IChpdGVtOiBJdGVtVHlwZSkgPT4gSW5wdXRUeXBlfVxufTtcblxuZXhwb3J0IHR5cGUgSW5wdXRUeXBlID0ge1xuICAgIGlucHV0PzogSFRNTEVsZW1lbnQsXG4gICAgcm9vdDogSFRNTEVsZW1lbnQsXG4gICAgdmFsdWU6IGFueSxcbiAgICBvbkNoYW5nZWQ6IChhY3Rpb246ICgpID0+IHZvaWQpID0+IHZvaWQsXG4gICAgYWRkT3B0aW9ucz86IChlbDogSFRNTEVsZW1lbnQpID0+IHZvaWRcbn1cblxuLyoqIEVkaXRvciBmb3IgcHJlZGVmaW5lZCBwcm9wZXJ0aWVzIGluIGEgZ3JpZCBmb3JtLiBTdXBwb3J0cyBhZGRpbmcsIHJlbW92aW5nIGFuZCBlZGl0aW5nIG9mIHByb3BzLiAqL1xuZXhwb3J0IGNsYXNzIEl0ZW1zR3JpZCB7XG4gIHByaXZhdGUgX3Jvb3Q6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF9pdGVtczoge1trZXk6IHN0cmluZ106IGFueX1bXTtcblxuICAvKiogT2JzZXJ2YWJsZSBmb3Igd2hlbiB0aGUgYWRkZWQgaXRlbSBpcyBjaGFuZ2UgKi9cbiAgcHVibGljIG9uSXRlbUNoYW5nZWQ6IFN1YmplY3Q8e2l0ZW06SXRlbVR5cGUsIGZpZWxkTmFtZTogc3RyaW5nfT4gPSBuZXcgU3ViamVjdCgpO1xuICAvKiogT2JzZXJ2YWJsZSBmb3Igd2hlbiB0aGUgYWRkaW5nIGl0ZW0gaXMgY2hhbmdlICovXG4gIHB1YmxpYyBvbkFkZGluZ0l0ZW1DaGFuZ2VkOiBTdWJqZWN0PHtpdGVtOkl0ZW1UeXBlLCBmaWVsZE5hbWU6IHN0cmluZ30+ID0gbmV3IFN1YmplY3QoKTtcbiAgLyoqIE9ic2VydmFibGUgZm9yIHdoZW4gdGhlIGl0ZW0gaXMgYWRkZWQgKi9cbiAgcHVibGljIG9uSXRlbUFkZGVkOiBTdWJqZWN0PEl0ZW1UeXBlPiA9IG5ldyBTdWJqZWN0KCk7XG4gIC8qKiBPYnNlcnZhYmxlIGZvciB3aGVuIHRoZSBpdGVtIGlzIHJlbW92ZWQgKi9cbiAgcHVibGljIG9uSXRlbVJlbW92ZWQ6IFN1YmplY3Q8SXRlbVR5cGU+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwcm9wZXJ0aWVzOiBERy5Qcm9wZXJ0eVtdO1xuICBvcHRpb25zOiBJdGVtc0dyaWRPcHRpb25zID1cbiAgICB7cmVtb3ZlQnV0dG9uVG9vbHRpcDogJ1JlbW92ZSBpdGVtJywgYWRkQnV0dG9uVG9vbHRpcDogJ0FkZCBpdGVtJywgYWxsb3dBZGQ6IHRydWUsIGFsbG93UmVtb3ZlOiB0cnVlfTtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEl0ZW1zR3JpZCB3aGljaCBpcyBhIGdyaWQgZm9ybSBmb3IgZWRpdGluZyBwcm9wZXJ0aWVzLlxuICAgICAqIEBwYXJhbSB7REcuUHJvcGVydHlbXX1wcm9wZXJ0aWVzIC0gcHJvcGVydGllcyB0byBiZSBlZGl0ZWRcbiAgICAgKiBAcGFyYW0ge0l0ZW1UeXBlcFtdfWl0ZW1zIC0gaXRlbXMgdG8gYmUgZWRpdGVkXG4gICAgICogQHBhcmFtIHtJdGVtc0dyaWRPcHRpb25zfW9wdGlvbnMgLSBvcHRpb25zIGZvciB0aGUgZ3JpZFxuICAgICAqIE9wdGlvbnMgaW5jbHVkZTpcbiAgICAgKiByZW1vdmVCdXR0b25Ub29sdGlwIC0gdG9vbHRpcCBmb3IgdGhlIHJlbW92ZSBidXR0b24gLSBkZWZhdWx0IGlzICdSZW1vdmUgaXRlbSdcbiAgICAgKiBhZGRCdXR0b25Ub29sdGlwIC0gdG9vbHRpcCBmb3IgdGhlIGFkZCBidXR0b24gLSBkZWZhdWx0IGlzICdBZGQgaXRlbSdcbiAgICAgKiBhbGxvd1JlbW92ZSAtIHdoZXRoZXIgdG8gYWxsb3cgcmVtb3ZpbmcgaXRlbXMgLSBkZWZhdWx0IGlzIHRydWVcbiAgICAgKiBhbGxvd0FkZCAtIHdoZXRoZXIgdG8gYWxsb3cgYWRkaW5nIGl0ZW1zIC0gZGVmYXVsdCBpcyB0cnVlXG4gICAgICogaG9yaXpvbnRhbElucHV0TmFtZXMgLSBTaG93IHRoZSBpbnB1dCBuYW1lcyBuZXh0IHRvIGludHB1dCAtIGRlZmF1bHQgaXMgZmFsc2UsIG5hbWVzIGFyZSBzaG93biBhYm92ZSB0aGUgZ3JpZC5cbiAgICAgKiBuZXdJdGVtRnVuY3Rpb24gLSBmdW5jdGlvbiB0aGF0IHJldHVybnMgbmV3IGl0ZW0gLSBkZWZhdWx0IGlzIHVuZGVmaW5kLCBpbiB3aGljaCBjYXNlIGFuIGVtcHR5IG9iamVjdCBpcyBjcmVhdGVkLlxuICAgICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiBERy5Qcm9wZXJ0eVtdLCBpdGVtczogSXRlbVR5cGVbXSA9IFtdLCBvcHRpb25zOiBJdGVtc0dyaWRPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzO1xuICAgIHRoaXMub3B0aW9ucyA9IHsuLi50aGlzLm9wdGlvbnMsIC4uLm9wdGlvbnN9O1xuICAgIHRoaXMuX3Jvb3QgPSB1aS5kaXZWKFtdLFxuICAgICAge3N0eWxlOiB7XG4gICAgICAgIGRpc3BsYXk6ICdncmlkJywgZ3JpZFRlbXBsYXRlQ29sdW1uczogYHJlcGVhdCgke3RoaXMucHJvcGVydGllcy5sZW5ndGh9LCAxZnIpYCxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzEycHgnfX0pO1xuICAgIHRoaXMuX2l0ZW1zID0gaXRlbXM7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIGdldCByb290KCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fcm9vdDtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiB7W2tleTogc3RyaW5nXTogYW55fVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcigpOiB2b2lkIHtcbiAgICB1aS5lbXB0eSh0aGlzLl9yb290KTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5ob3Jpem9udGFsSW5wdXROYW1lcykge1xuICAgICAgZm9yIChjb25zdCBwcm9wIG9mIHRoaXMucHJvcGVydGllcykge1xuICAgICAgICBjb25zdCBoZWFkZXIgPSB1aS5kaXZUZXh0KHByb3AuY2FwdGlvbiA/PyBwcm9wLm5hbWUpO1xuICAgICAgICBoZWFkZXIuc3R5bGUuZm9udFdlaWdodCA9ICdib2xkJztcbiAgICAgICAgdGhpcy5fcm9vdC5hcHBlbmRDaGlsZChoZWFkZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5faXRlbXMpIHtcbiAgICAgIGNvbnN0IGVkaXRvcnMgPSB0aGlzLmdldEl0ZW1EaXYoaXRlbSk7XG4gICAgICAvLyBpZiAoZWRpdG9ycy5sZW5ndGggIT09IHRoaXMucHJvcGVydGllcy5sZW5ndGggKyAxKVxuICAgICAgLy8gICBlZGl0b3JzLnB1c2godWkuZGl2KCkpO1xuICAgICAgZm9yIChjb25zdCBlZGl0b3Igb2YgZWRpdG9ycylcbiAgICAgICAgdGhpcy5fcm9vdC5hcHBlbmRDaGlsZChlZGl0b3IpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dBZGQpIHtcbiAgICAgIGNvbnN0IG5ld0VkaXRvciA9IHRoaXMuZ2V0SXRlbURpdih1bmRlZmluZWQsIHRydWUpO1xuICAgICAgZm9yIChjb25zdCBlZGl0b3Igb2YgbmV3RWRpdG9yKVxuICAgICAgICB0aGlzLl9yb290LmFwcGVuZENoaWxkKGVkaXRvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtRGl2KGl0ZW06IEl0ZW1UeXBlID0ge30sIGlzQWRkaW5nPzogYm9vbGVhbik6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGVkaXRvcnM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAgIGNvbnN0IGlucHV0c01hcDoge1tfOiBzdHJpbmddOiBJbnB1dFR5cGV9ID0ge307XG4gICAgbGV0IGxhc3RJbnB1dDogSW5wdXRUeXBlIHwgbnVsbCA9IG51bGw7XG4gICAgZm9yIChjb25zdCBwcm9wIG9mIHRoaXMucHJvcGVydGllcykge1xuICAgICAgaWYgKGl0ZW1bcHJvcC5uYW1lXSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICBpdGVtW3Byb3AubmFtZV0gPSBudWxsOyAvLyBuZWVkZWQgZm9yIGRhdGUgZWRpdG9yLCBpdCBjYW4gbm90IGhhbmRsZSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5vcHRpb25zLmN1c3RvbUlucHV0cz8uW3Byb3AubmFtZV0gPyB0aGlzLm9wdGlvbnMuY3VzdG9tSW5wdXRzW3Byb3AubmFtZV0oaXRlbSkgOlxuICAgICAgICB1aS5pbnB1dC5mb3JQcm9wZXJ0eShwcm9wLCBpdGVtKTtcbiAgICAgIGVkaXRvcnMucHVzaCh0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbElucHV0TmFtZXMgPyBpbnB1dC5yb290IDogdGhpcy5oaWRlTGFiZWwoaW5wdXQucm9vdCkpO1xuICAgICAgaWYgKHByb3AucHJvcGVydHlUeXBlICE9PSBERy5UWVBFLkJPT0wpXG4gICAgICAgIGlucHV0LmlucHV0ICYmIChpbnB1dC5pbnB1dC5zdHlsZS53aWR0aCA9ICcxMDAlJyk7XG4gICAgICBpbnB1dHNNYXBbcHJvcC5uYW1lXSA9IGlucHV0O1xuICAgICAgaW5wdXQub25DaGFuZ2VkKCgpID0+IHtcbiAgICAgICAgaXRlbVtwcm9wLm5hbWVdID0gaW5wdXQudmFsdWU7XG4gICAgICAgIGlzQWRkaW5nID8gdGhpcy5vbkFkZGluZ0l0ZW1DaGFuZ2VkLm5leHQoe2l0ZW0sIGZpZWxkTmFtZTogcHJvcC5uYW1lfSkgOlxuICAgICAgICAgIHRoaXMub25JdGVtQ2hhbmdlZC5uZXh0KHtpdGVtLCBmaWVsZE5hbWU6IHByb3AubmFtZX0pO1xuICAgICAgfSk7XG4gICAgICBpbnB1dC5yb290LnN0eWxlLmFsaWduSXRlbXMgPSAnY2VudGVyJzsgLy8gbmVlZGVkIGZvciBtb2xlY3VsZSBlZGl0b3JcbiAgICAgIGxhc3RJbnB1dCA9IGlucHV0O1xuICAgIH1cblxuICAgIGxldCBjb21wYW5pb25CdXR0b246IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKGlzQWRkaW5nKSB7XG4gICAgICBjb25zdCBhZGRCdXR0b24gPSB1aS5pY29ucy5hZGQoKCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdJdGVtOiBJdGVtVHlwZSA9IHRoaXMub3B0aW9ucy5uZXdJdGVtRnVuY3Rpb24gPyB0aGlzLm9wdGlvbnMubmV3SXRlbUZ1bmN0aW9uKCkgOiB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoaW5wdXRzTWFwKS5mb3JFYWNoKChwTmFtZSkgPT4ge1xuICAgICAgICAgIG5ld0l0ZW1bcE5hbWVdID0gaW5wdXRzTWFwW3BOYW1lXS52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25JdGVtQWRkZWQubmV4dChuZXdJdGVtKTtcbiAgICAgICAgdGhpcy5faXRlbXMucHVzaChuZXdJdGVtKTtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgIH0sIHRoaXMub3B0aW9ucy5hZGRCdXR0b25Ub29sdGlwKTtcbiAgICAgIGNvbXBhbmlvbkJ1dHRvbiA9IGFkZEJ1dHRvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuYWxsb3dSZW1vdmUpIHJldHVybiBlZGl0b3JzO1xuICAgICAgY29uc3QgcmVtb3ZlQnV0dG9uID0gdWkuaWNvbnMuZGVsZXRlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vbkl0ZW1SZW1vdmVkLm5leHQoaXRlbSk7XG4gICAgICAgIHRoaXMuX2l0ZW1zLnNwbGljZSh0aGlzLl9pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgIH0sIHRoaXMub3B0aW9ucy5yZW1vdmVCdXR0b25Ub29sdGlwKTtcbiAgICAgIGNvbXBhbmlvbkJ1dHRvbiA9IHJlbW92ZUJ1dHRvbjtcbiAgICB9XG5cbiAgICAvL2VkaXRvcnMucHVzaChjb21wYW5pb25CdXR0b24pO1xuICAgIGxhc3RJbnB1dCAmJiBsYXN0SW5wdXQuYWRkT3B0aW9ucyA/IGxhc3RJbnB1dC5hZGRPcHRpb25zKGNvbXBhbmlvbkJ1dHRvbikgOlxuICAgICAgbGFzdElucHV0Py5yb290LmFwcGVuZENoaWxkKGNvbXBhbmlvbkJ1dHRvbik7XG4gICAgY29tcGFuaW9uQnV0dG9uLnN0eWxlLmNvbG9yID0gJyMyMDgzZDUnO1xuICAgIHJldHVybiBlZGl0b3JzO1xuICB9XG4gIC8vbmVlZGVkIGZvciBjb2xvciBpbnB1dFxuICBwcml2YXRlIGhpZGVMYWJlbChlbDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XG4gICAgZWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xhYmVsJylbMF0gJiYgZWwucmVtb3ZlQ2hpbGQoZWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xhYmVsJylbMF0pO1xuICAgIHJldHVybiBlbDtcbiAgfVxufVxuXG4vKiogVXNhZ2UgZXhhbXBsZTpcbiAqIGNvbnN0IHByb3BzID0gW0RHLlByb3BlcnR5LmpzKCduYW1lMicsIERHLlRZUEUuU1RSSU5HKSxcbiAgICAgIERHLlByb3BlcnR5LmpzKCduYW1lMycsIERHLlRZUEUuTlVNKSxcbiAgICAgIERHLlByb3BlcnR5LmZyb21PcHRpb25zKHtuYW1lOiAnbmFtZTQnLCB0eXBlOiBERy5UWVBFLkRBVEVfVElNRSwgbnVsbGFibGU6IHRydWV9KV07XG4gICAgY29uc3QgaXRlbXNHcmlkID0gbmV3IEl0ZW1zR3JpZChwcm9wcyk7XG4gKiB0aGUgY29tcG9uZW50IGhhcyBhIHJvb3QgcHJvcGVydHkgdGhhdCBjYW4gYmUgYWRkZWQgdG8gdGhlIHBhZ2VcbiAgICB1aS5kaWFsb2coJ2RpYWxvZycpLmFkZChpdGVtc0dyaWQucm9vdCkuc2hvdygpO1xuICAgIGF0IGFueSBwb2ludCwgZmlsbGVkIGZpZWxkcyBjYW4gYmUgYWNjZXNzZWQgdmlhIGl0ZW1zR3JpZC5pdGVtc1xuICovXG4iXX0=