@acorex/layout 16.0.16 → 16.18.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -39,11 +39,11 @@ export class AXWidgetSizePropertyEditorComponent extends AXProperyEditorComponen
39
39
  ngAfterViewInit() {
40
40
  this.onRenderCompleted.emit();
41
41
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetSizePropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXWidgetSizePropertyEditorComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div style=\"display: grid;grid-gap: 2%; grid-template-columns: 49% 49%;\">\n <ax-number-box (onValueChanged)=\"handleMinValueChange($event)\" [value]=\"sizeX\" [min]=\"minX\" [max]=\"maxX\">\n </ax-number-box>\n <ax-number-box (onValueChanged)=\"handleMaxValueChange($event)\" [value]=\"sizeY\" [min]=\"minY\" [max]=\"maxY\">\n </ax-number-box>\n</div>", dependencies: [{ kind: "component", type: i1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["min", "max", "showSeparator", "showCurrency", "showCounter", "scrollWeel", "showDoubleCounter", "maxLength", "intStep", "decimalNumber", "customStep"] }] });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetSizePropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AXWidgetSizePropertyEditorComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div style=\"display: grid;grid-gap: 2%; grid-template-columns: 49% 49%;\">\n <ax-number-box (onValueChanged)=\"handleMinValueChange($event)\" [value]=\"sizeX\" [min]=\"minX\" [max]=\"maxX\">\n </ax-number-box>\n <ax-number-box (onValueChanged)=\"handleMaxValueChange($event)\" [value]=\"sizeY\" [min]=\"minY\" [max]=\"maxY\">\n </ax-number-box>\n</div>", dependencies: [{ kind: "component", type: i1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["min", "max", "showSeparator", "showCurrency", "showCounter", "scrollWeel", "showDoubleCounter", "maxLength", "intStep", "decimalNumber", "customStep"] }] });
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetSizePropertyEditorComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetSizePropertyEditorComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ template: "<div style=\"display: grid;grid-gap: 2%; grid-template-columns: 49% 49%;\">\n <ax-number-box (onValueChanged)=\"handleMinValueChange($event)\" [value]=\"sizeX\" [min]=\"minX\" [max]=\"maxX\">\n </ax-number-box>\n <ax-number-box (onValueChanged)=\"handleMaxValueChange($event)\" [value]=\"sizeY\" [min]=\"minY\" [max]=\"maxY\">\n </ax-number-box>\n</div>" }]
48
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNpemUuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvZWRpdG9ycy93aWRnZXQtc2l6ZS1lZGl0b3Ivd2lkZ2V0LXNpemUuZWRpdG9yLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvZWRpdG9ycy93aWRnZXQtc2l6ZS1lZGl0b3Ivd2lkZ2V0LXNpemUuZWRpdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSzlELE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSx3QkFBa0M7SUFZakU7SUFWdEIsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFTO0lBRWQsSUFBSSxHQUFXLENBQUMsQ0FBQztJQUNqQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBRWxCLElBQUksR0FBVyxDQUFDLENBQUM7SUFDakIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUdsQixZQUFzQixHQUFzQjtRQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFETyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU1QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5QjthQUNJO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUNsQjtJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxDQUFNO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDckQ7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNoQixLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUlELGVBQWU7UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt3R0E5Q1EsbUNBQW1DOzRGQUFuQyxtQ0FBbUMsMkVDTmhELCtXQUtNOzs0RkRDTyxtQ0FBbUM7a0JBSC9DLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtc2l6ZS5lZGl0b3IuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQVhXaWRnZXRTaXplUHJvcGVydHlFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQ8bnVtYmVyW10+ICB7XG5cbiAgICBzaXplWDogbnVtYmVyO1xuICAgIHNpemVZOiBudW1iZXI7XG5cbiAgICBtaW5YOiBudW1iZXIgPSAxO1xuICAgIG1heFg6IG51bWJlciA9IDIwO1xuXG4gICAgbWluWTogbnVtYmVyID0gMTtcbiAgICBtYXhZOiBudW1iZXIgPSAyMDtcblxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2l6ZVggPSB0aGlzLnZhbHVlWzBdO1xuICAgICAgICAgICAgdGhpcy5zaXplWSA9IHRoaXMudmFsdWVbMV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNpemVYID0gMjtcbiAgICAgICAgICAgIHRoaXMuc2l6ZVkgPSAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlTWluVmFsdWVDaGFuZ2UoZTogYW55KSB7XG4gICAgICAgIHRoaXMuc2l6ZVggPSBlLnZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLnNpemVZID4gMCkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlVmFsdWVDaGFuZ2UoW3RoaXMuc2l6ZVgsIHRoaXMuc2l6ZVldKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU1heFZhbHVlQ2hhbmdlKGU6IGFueSkge1xuICAgICAgICB0aGlzLnNpemVZID0gZS52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuc2l6ZVggPiAwKSB7XG4gICAgICAgICAgICBzdXBlci5oYW5kbGVWYWx1ZUNoYW5nZShbdGhpcy5zaXplWCwgdGhpcy5zaXplWV0pO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vblJlbmRlckNvbXBsZXRlZC5lbWl0KCk7XG4gICAgfVxuXG59IiwiPGRpdiBzdHlsZT1cImRpc3BsYXk6IGdyaWQ7Z3JpZC1nYXA6IDIlOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ5JSA0OSU7XCI+XG4gICAgPGF4LW51bWJlci1ib3ggKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZU1pblZhbHVlQ2hhbmdlKCRldmVudClcIiBbdmFsdWVdPVwic2l6ZVhcIiBbbWluXT1cIm1pblhcIiBbbWF4XT1cIm1heFhcIj5cbiAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgPGF4LW51bWJlci1ib3ggKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZU1heFZhbHVlQ2hhbmdlKCRldmVudClcIiBbdmFsdWVdPVwic2l6ZVlcIiBbbWluXT1cIm1pbllcIiBbbWF4XT1cIm1heFlcIj5cbiAgICA8L2F4LW51bWJlci1ib3g+XG48L2Rpdj4iXX0=
48
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNpemUuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvZWRpdG9ycy93aWRnZXQtc2l6ZS1lZGl0b3Ivd2lkZ2V0LXNpemUuZWRpdG9yLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvZWRpdG9ycy93aWRnZXQtc2l6ZS1lZGl0b3Ivd2lkZ2V0LXNpemUuZWRpdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSzlELE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSx3QkFBa0M7SUFZakU7SUFWdEIsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFTO0lBRWQsSUFBSSxHQUFXLENBQUMsQ0FBQztJQUNqQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBRWxCLElBQUksR0FBVyxDQUFDLENBQUM7SUFDakIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUdsQixZQUFzQixHQUFzQjtRQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFETyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU1QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFDSSxDQUFDO1lBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRXJCLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFJRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7dUdBOUNRLG1DQUFtQzsyRkFBbkMsbUNBQW1DLDJFQ05oRCwrV0FLTTs7MkZEQ08sbUNBQW1DO2tCQUgvQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LXNpemUuZWRpdG9yLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PG51bWJlcltdPiAge1xuXG4gICAgc2l6ZVg6IG51bWJlcjtcbiAgICBzaXplWTogbnVtYmVyO1xuXG4gICAgbWluWDogbnVtYmVyID0gMTtcbiAgICBtYXhYOiBudW1iZXIgPSAyMDtcblxuICAgIG1pblk6IG51bWJlciA9IDE7XG4gICAgbWF4WTogbnVtYmVyID0gMjA7XG5cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNpemVYID0gdGhpcy52YWx1ZVswXTtcbiAgICAgICAgICAgIHRoaXMuc2l6ZVkgPSB0aGlzLnZhbHVlWzFdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaXplWCA9IDI7XG4gICAgICAgICAgICB0aGlzLnNpemVZID0gMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU1pblZhbHVlQ2hhbmdlKGU6IGFueSkge1xuICAgICAgICB0aGlzLnNpemVYID0gZS52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5zaXplWSA+IDApIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZVZhbHVlQ2hhbmdlKFt0aGlzLnNpemVYLCB0aGlzLnNpemVZXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVNYXhWYWx1ZUNoYW5nZShlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zaXplWSA9IGUudmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnNpemVYID4gMCkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlVmFsdWVDaGFuZ2UoW3RoaXMuc2l6ZVgsIHRoaXMuc2l6ZVldKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMub25SZW5kZXJDb21wbGV0ZWQuZW1pdCgpO1xuICAgIH1cblxufSIsIjxkaXYgc3R5bGU9XCJkaXNwbGF5OiBncmlkO2dyaWQtZ2FwOiAyJTsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0OSUgNDklO1wiPlxuICAgIDxheC1udW1iZXItYm94IChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVNaW5WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW3ZhbHVlXT1cInNpemVYXCIgW21pbl09XCJtaW5YXCIgW21heF09XCJtYXhYXCI+XG4gICAgPC9heC1udW1iZXItYm94PlxuICAgIDxheC1udW1iZXItYm94IChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVNYXhWYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW3ZhbHVlXT1cInNpemVZXCIgW21pbl09XCJtaW5ZXCIgW21heF09XCJtYXhZXCI+XG4gICAgPC9heC1udW1iZXItYm94PlxuPC9kaXY+Il19
@@ -1,21 +1,22 @@
1
- import { NgModule } from '@angular/core';
1
+ import { NO_ERRORS_SCHEMA, NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { AXWidgetSizePropertyEditorComponent } from './widget-size.editor';
5
5
  import { AXNumberBoxModule } from '@acorex/components';
6
6
  import * as i0 from "@angular/core";
7
7
  export class AXWidgetSizePropertyEditorModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetSizePropertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetSizePropertyEditorModule, declarations: [AXWidgetSizePropertyEditorComponent], imports: [CommonModule, FormsModule, AXNumberBoxModule], exports: [AXWidgetSizePropertyEditorComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetSizePropertyEditorModule, imports: [CommonModule, FormsModule, AXNumberBoxModule] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetSizePropertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetSizePropertyEditorModule, declarations: [AXWidgetSizePropertyEditorComponent], imports: [CommonModule, FormsModule, AXNumberBoxModule], exports: [AXWidgetSizePropertyEditorComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetSizePropertyEditorModule, imports: [CommonModule, FormsModule, AXNumberBoxModule] });
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetSizePropertyEditorModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetSizePropertyEditorModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [AXWidgetSizePropertyEditorComponent],
16
16
  imports: [CommonModule, FormsModule, AXNumberBoxModule],
17
17
  exports: [AXWidgetSizePropertyEditorComponent],
18
- providers: []
18
+ providers: [],
19
+ schemas: [NO_ERRORS_SCHEMA],
19
20
  }]
20
21
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNpemUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvZWRpdG9ycy93aWRnZXQtc2l6ZS1lZGl0b3Ivd2lkZ2V0LXNpemUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFXdkQsTUFBTSxPQUFPLGdDQUFnQzt3R0FBaEMsZ0NBQWdDO3lHQUFoQyxnQ0FBZ0MsaUJBTDFCLG1DQUFtQyxhQUN4QyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixhQUM1QyxtQ0FBbUM7eUdBR3BDLGdDQUFnQyxZQUovQixZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQjs7NEZBSTdDLGdDQUFnQztrQkFONUMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztvQkFDdkQsT0FBTyxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQzlDLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQtc2l6ZS5lZGl0b3InO1xuaW1wb3J0IHsgQVhOdW1iZXJCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xuXG5cblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhOdW1iZXJCb3hNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtBWFdpZGdldFNpemVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBWFdpZGdldFNpemVQcm9wZXJ0eUVkaXRvck1vZHVsZSB7XG4gICBcbn0iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNpemUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvZWRpdG9ycy93aWRnZXQtc2l6ZS1lZGl0b3Ivd2lkZ2V0LXNpemUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFTdkQsTUFBTSxPQUFPLGdDQUFnQzt1R0FBaEMsZ0NBQWdDO3dHQUFoQyxnQ0FBZ0MsaUJBTjVCLG1DQUFtQyxhQUN4QyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixhQUM1QyxtQ0FBbUM7d0dBSWxDLGdDQUFnQyxZQUxqQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQjs7MkZBSzNDLGdDQUFnQztrQkFQNUMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztvQkFDdkQsT0FBTyxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQzlDLFNBQVMsRUFBRSxFQUFFO29CQUNiLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5PX0VSUk9SU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQtc2l6ZS5lZGl0b3InO1xuaW1wb3J0IHsgQVhOdW1iZXJCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWFdpZGdldFNpemVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBBWE51bWJlckJveE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFdpZGdldFNpemVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhXaWRnZXRTaXplUHJvcGVydHlFZGl0b3JNb2R1bGUge31cbiJdfQ==
@@ -422,13 +422,13 @@ export class AXWidgetBoardComponent {
422
422
  mode: mode
423
423
  });
424
424
  }
425
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetBoardComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
426
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXWidgetBoardComponent, selector: "ax-widget-board", inputs: { galleryItems: "galleryItems", tileSize: "tileSize", gapSize: "gapSize", readonly: "readonly", provideValue: "provideValue" }, outputs: { onConfigChanged: "onConfigChanged", onWidgetSave: "onWidgetSave" }, host: { classAttribute: "ax widget-board" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "widgetHosts", predicate: AXWidgetHostComponent, descendants: true }], ngImport: i0, template: "<div class=\"widgets-container\" [class.rtl]=\"rtl\" #container>\n <ax-widget-host *ngFor=\"let w of widgets;trackBy: trackByFn\" [config]='w' [sizeX]=\"w.sizeX\" [readonly]=\"readonly || w.readonly\"\n [sizeY]=\"w.sizeY\" [col]=\"w.col\" [row]=\"w.row\" (onRemove)=\"handleOnRemove($event)\" (onSave)=\"handleOnSave($event)\"\n (onConfigChanged)=\"handleOnConfigChanged($event)\" (onResized)=\"handleOnResizedChanged($event)\"\n [provideValue]=\"provideValue\">\n </ax-widget-host>\n</div>\n", styles: [".widget-board{overflow:scroll;scrollbar-width:thin;display:inline-block;margin:15px 20px;min-width:calc(100% - 18px);min-height:calc(100% - 18px);--animate-duration: .5s;background-repeat:no-repeat}.widget-board.grid-background{background-repeat:repeat!important}.widget-board.grid-background .widgets-container .widget-host{touch-action:none;-webkit-user-select:none;user-select:none}.widget-board.grid-background .widgets-container .widget-host .widget-edit-overlay{display:block;cursor:move}.widget-board.grid-background .widgets-container .widget-host.widget-dragging{z-index:1000}.widget-board.grid-background .widgets-container .widget-host:focus{outline-width:1px;outline-style:solid;outline-color:var(--ax-primary-color)}.widget-board.grid-background .widget-blank-placeholder{background:var(--ax-primary-trans-light-color);position:absolute}.widget-board .widgets-container{position:relative;touch-action:none}.widget-board .widgets-container.rtl .widget-host .widget-options-menu{right:unset!important;left:0!important}.widget-board .widgets-container .widget-host{position:absolute;background:#fff;box-shadow:2px 2px 3px #dadada}.widget-board .widgets-container .widget-host .widget-content{width:100%;height:100%;display:flex;flex-direction:column}.widget-board .widgets-container .widget-host .widget-content .widget-title{padding:var(--ax-size-md);text-align:start;font-size:1.5em;position:absolute}.widget-board .widgets-container .widget-host .widget-edit-loading{display:none;background:#ffffffd9;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2;display:flex}.widget-board .widgets-container .widget-host .widget-config-overlay{position:absolute;background:#fff;width:100%;height:100%;top:0;left:0;z-index:1;padding:var(--ax-size-md);cursor:pointer}.widget-board .widgets-container .widget-host .widget-config-overlay:hover .widget-title{text-decoration:underline}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-title{text-align:start;font-size:1.5em}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-config-box{align-self:center;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--ax-gray-dark-color)}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-config-box .config-title{font-size:1.2em;margin-bottom:var(--ax-size-md)}.widget-board .widgets-container .widget-host .widget-edit-overlay{display:none;background:#ffffff80;position:absolute;width:100%;height:100%;top:0;left:0;z-index:10}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu{margin:6px;text-align:end;float:inline-end;opacity:1;transition:opacity 1s ease}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu .widget-edit-menu-button{display:inline-block;background-color:#f0f0f0;border-radius:1px;border:2px solid #fff;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:0;height:32px;width:32px;cursor:pointer;color:#666}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu .widget-edit-menu-button:hover{border-color:#a6a6a6;background-color:#c8c8c8}.widget-board .widgets-container .widget-host .widget-options-menu{display:none;position:absolute;top:0;right:0;z-index:2;cursor:pointer;padding:2px 5px}.widget-board .widgets-container .widget-host .widget-options-menu:hover{background-color:#f0f0f0}.widget-board .widgets-container .widget-host .widget-container{padding:1px;height:100%}.widget-board .widgets-container .widget-host .widget-container:hover .widget-options-menu{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.AXWidgetHostComponent, selector: "ax-widget-host", inputs: ["provideValue", "config", "readonly", "sizeX", "sizeY", "col", "row"], outputs: ["onRemove", "onConfigChanged", "onResized", "onSave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
425
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetBoardComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
426
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AXWidgetBoardComponent, selector: "ax-widget-board", inputs: { galleryItems: "galleryItems", tileSize: "tileSize", gapSize: "gapSize", readonly: "readonly", provideValue: "provideValue" }, outputs: { onConfigChanged: "onConfigChanged", onWidgetSave: "onWidgetSave" }, host: { classAttribute: "ax widget-board" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "widgetHosts", predicate: AXWidgetHostComponent, descendants: true }], ngImport: i0, template: "<div class=\"widgets-container\" [class.rtl]=\"rtl\" #container>\n <ax-widget-host *ngFor=\"let w of widgets;trackBy: trackByFn\" [config]='w' [sizeX]=\"w.sizeX\" [readonly]=\"readonly || w.readonly\"\n [sizeY]=\"w.sizeY\" [col]=\"w.col\" [row]=\"w.row\" (onRemove)=\"handleOnRemove($event)\" (onSave)=\"handleOnSave($event)\"\n (onConfigChanged)=\"handleOnConfigChanged($event)\" (onResized)=\"handleOnResizedChanged($event)\"\n [provideValue]=\"provideValue\">\n </ax-widget-host>\n</div>\n", styles: [".widget-board{overflow:scroll;scrollbar-width:thin;display:inline-block;margin:15px 20px;min-width:calc(100% - 18px);min-height:calc(100% - 18px);--animate-duration: .5s;background-repeat:no-repeat}.widget-board.grid-background{background-repeat:repeat!important}.widget-board.grid-background .widgets-container .widget-host{touch-action:none;-webkit-user-select:none;user-select:none}.widget-board.grid-background .widgets-container .widget-host .widget-edit-overlay{display:block;cursor:move}.widget-board.grid-background .widgets-container .widget-host.widget-dragging{z-index:1000}.widget-board.grid-background .widgets-container .widget-host:focus{outline-width:1px;outline-style:solid;outline-color:var(--ax-primary-color)}.widget-board.grid-background .widget-blank-placeholder{background:var(--ax-primary-trans-light-color);position:absolute}.widget-board .widgets-container{position:relative;touch-action:none}.widget-board .widgets-container.rtl .widget-host .widget-options-menu{right:unset!important;left:0!important}.widget-board .widgets-container .widget-host{position:absolute;background:#fff;box-shadow:2px 2px 3px #dadada}.widget-board .widgets-container .widget-host .widget-content{width:100%;height:100%;display:flex;flex-direction:column}.widget-board .widgets-container .widget-host .widget-content .widget-title{padding:var(--ax-size-md);text-align:start;font-size:1.5em;position:absolute}.widget-board .widgets-container .widget-host .widget-edit-loading{display:none;background:#ffffffd9;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2;display:flex}.widget-board .widgets-container .widget-host .widget-config-overlay{position:absolute;background:#fff;width:100%;height:100%;top:0;left:0;z-index:1;padding:var(--ax-size-md);cursor:pointer}.widget-board .widgets-container .widget-host .widget-config-overlay:hover .widget-title{text-decoration:underline}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-title{text-align:start;font-size:1.5em}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-config-box{align-self:center;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--ax-gray-dark-color)}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-config-box .config-title{font-size:1.2em;margin-bottom:var(--ax-size-md)}.widget-board .widgets-container .widget-host .widget-edit-overlay{display:none;background:#ffffff80;position:absolute;width:100%;height:100%;top:0;left:0;z-index:10}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu{margin:6px;text-align:end;float:inline-end;opacity:1;transition:opacity 1s ease}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu .widget-edit-menu-button{display:inline-block;background-color:#f0f0f0;border-radius:1px;border:2px solid #fff;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:0;height:32px;width:32px;cursor:pointer;color:#666}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu .widget-edit-menu-button:hover{border-color:#a6a6a6;background-color:#c8c8c8}.widget-board .widgets-container .widget-host .widget-options-menu{display:none;position:absolute;top:0;right:0;z-index:2;cursor:pointer;padding:2px 5px}.widget-board .widgets-container .widget-host .widget-options-menu:hover{background-color:#f0f0f0}.widget-board .widgets-container .widget-host .widget-container{padding:1px;height:100%}.widget-board .widgets-container .widget-host .widget-container:hover .widget-options-menu{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.AXWidgetHostComponent, selector: "ax-widget-host", inputs: ["provideValue", "config", "readonly", "sizeX", "sizeY", "col", "row"], outputs: ["onRemove", "onConfigChanged", "onResized", "onSave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
427
427
  }
428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetBoardComponent, decorators: [{
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetBoardComponent, decorators: [{
429
429
  type: Component,
430
430
  args: [{ selector: 'ax-widget-board', host: { class: 'ax widget-board' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"widgets-container\" [class.rtl]=\"rtl\" #container>\n <ax-widget-host *ngFor=\"let w of widgets;trackBy: trackByFn\" [config]='w' [sizeX]=\"w.sizeX\" [readonly]=\"readonly || w.readonly\"\n [sizeY]=\"w.sizeY\" [col]=\"w.col\" [row]=\"w.row\" (onRemove)=\"handleOnRemove($event)\" (onSave)=\"handleOnSave($event)\"\n (onConfigChanged)=\"handleOnConfigChanged($event)\" (onResized)=\"handleOnResizedChanged($event)\"\n [provideValue]=\"provideValue\">\n </ax-widget-host>\n</div>\n", styles: [".widget-board{overflow:scroll;scrollbar-width:thin;display:inline-block;margin:15px 20px;min-width:calc(100% - 18px);min-height:calc(100% - 18px);--animate-duration: .5s;background-repeat:no-repeat}.widget-board.grid-background{background-repeat:repeat!important}.widget-board.grid-background .widgets-container .widget-host{touch-action:none;-webkit-user-select:none;user-select:none}.widget-board.grid-background .widgets-container .widget-host .widget-edit-overlay{display:block;cursor:move}.widget-board.grid-background .widgets-container .widget-host.widget-dragging{z-index:1000}.widget-board.grid-background .widgets-container .widget-host:focus{outline-width:1px;outline-style:solid;outline-color:var(--ax-primary-color)}.widget-board.grid-background .widget-blank-placeholder{background:var(--ax-primary-trans-light-color);position:absolute}.widget-board .widgets-container{position:relative;touch-action:none}.widget-board .widgets-container.rtl .widget-host .widget-options-menu{right:unset!important;left:0!important}.widget-board .widgets-container .widget-host{position:absolute;background:#fff;box-shadow:2px 2px 3px #dadada}.widget-board .widgets-container .widget-host .widget-content{width:100%;height:100%;display:flex;flex-direction:column}.widget-board .widgets-container .widget-host .widget-content .widget-title{padding:var(--ax-size-md);text-align:start;font-size:1.5em;position:absolute}.widget-board .widgets-container .widget-host .widget-edit-loading{display:none;background:#ffffffd9;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2;display:flex}.widget-board .widgets-container .widget-host .widget-config-overlay{position:absolute;background:#fff;width:100%;height:100%;top:0;left:0;z-index:1;padding:var(--ax-size-md);cursor:pointer}.widget-board .widgets-container .widget-host .widget-config-overlay:hover .widget-title{text-decoration:underline}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-title{text-align:start;font-size:1.5em}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-config-box{align-self:center;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--ax-gray-dark-color)}.widget-board .widgets-container .widget-host .widget-config-overlay .widget-config-box .config-title{font-size:1.2em;margin-bottom:var(--ax-size-md)}.widget-board .widgets-container .widget-host .widget-edit-overlay{display:none;background:#ffffff80;position:absolute;width:100%;height:100%;top:0;left:0;z-index:10}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu{margin:6px;text-align:end;float:inline-end;opacity:1;transition:opacity 1s ease}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu .widget-edit-menu-button{display:inline-block;background-color:#f0f0f0;border-radius:1px;border:2px solid #fff;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:0;height:32px;width:32px;cursor:pointer;color:#666}.widget-board .widgets-container .widget-host .widget-edit-overlay .widget-edit-menu .widget-edit-menu-button:hover{border-color:#a6a6a6;background-color:#c8c8c8}.widget-board .widgets-container .widget-host .widget-options-menu{display:none;position:absolute;top:0;right:0;z-index:2;cursor:pointer;padding:2px 5px}.widget-board .widgets-container .widget-host .widget-options-menu:hover{background-color:#f0f0f0}.widget-board .widgets-container .widget-host .widget-container{padding:1px;height:100%}.widget-board .widgets-container .widget-host .widget-container:hover .widget-options-menu{display:block}\n"] }]
431
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { container: [{
431
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { container: [{
432
432
  type: ViewChild,
433
433
  args: ['container']
434
434
  }], widgetHosts: [{
@@ -449,4 +449,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
449
449
  }], onWidgetSave: [{
450
450
  type: Output
451
451
  }] } });
452
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1ib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL3dpZGdldC1ib2FyZC93aWRnZXQtYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUN0QyxNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7OztBQVc3QyxNQUFNLE9BQU8sc0JBQXNCO0lBc0R2QjtJQUNBO0lBQ0E7SUFyREYsU0FBUyxDQUE2QjtJQUd0QyxXQUFXLENBQW1DO0lBRXRELE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBRy9CLFlBQVksR0FBcUIsRUFBRSxDQUFDO0lBR3BDLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFHdEIsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUlwQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRWxCLFNBQVMsR0FBbUIsSUFBSSxDQUFDO0lBRWxDLEdBQUcsQ0FBVTtJQUVaLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDL0IsV0FBVztRQUNoQixPQUFPLElB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QyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQW9EO1FBQzVFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQWhlVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixvYkFLbkIscUJBQXFCLGdEQ3RDckMsMGdCQU9BOzs0RkQwQmEsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLGlCQUFpQixRQUdyQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxpQkFDbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzSkFLdkMsU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXO2dCQUlkLFdBQVc7c0JBRGxCLFlBQVk7dUJBQUMscUJBQXFCO2dCQU1uQyxZQUFZO3NCQURYLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBaUJOLFlBQVk7c0JBRFgsS0FBSztnQkFZTixlQUFlO3NCQURkLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBOZ1pvbmUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQVhXaWRnZXRDb25maWcsXG4gIEFYV2lkZ2V0Q29uZmlnQ2hhbmdlZCxcbiAgQVhXaWRnZXRCb2FyZENvbmZpZ0NoYW5nZWQsXG4gIEFYV2lkZ2V0Q29uZmlnU2F2ZWRFdmVudFxufSBmcm9tICcuL3dpZGdldC5jbGFzcyc7XG5pbXBvcnQgeyBBWFdpZGdldEhvc3RDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEh0bWxVdGlsLCBBWENsaWVudFJlYyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC13aWRnZXQtYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWJvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LWJvYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHsgY2xhc3M6ICdheCB3aWRnZXQtYm9hcmQnIH0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFYV2lkZ2V0Qm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpXG4gIHByaXZhdGUgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAVmlld0NoaWxkcmVuKEFYV2lkZ2V0SG9zdENvbXBvbmVudClcbiAgcHJpdmF0ZSB3aWRnZXRIb3N0czogUXVlcnlMaXN0PEFYV2lkZ2V0SG9zdENvbXBvbmVudD47XG5cbiAgd2lkZ2V0czogQVhXaWRnZXRDb25maWdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGdhbGxlcnlJdGVtczogQVhXaWRnZXRDb25maWdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHRpbGVTaXplOiBudW1iZXIgPSA4MDtcblxuICBASW5wdXQoKVxuICBnYXBTaXplOiBudW1iZXIgPSA1O1xuXG5cbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIG5ld1dpZGdldDogQVhXaWRnZXRDb25maWcgPSBudWxsO1xuXG4gIHB1YmxpYyBydGw6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfaXNJbkVkaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzSW5FZGl0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0luRWRpdGluZztcbiAgfVxuICBwcml2YXRlIGlzRHJhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBkcmFnSXRlbTogSFRNTEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBzYXZlU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBASW5wdXQoKVxuICBwcm92aWRlVmFsdWU6IChlOiBhbnkpID0+IGFueTtcblxuICBwcml2YXRlIHJlYWRvbmx5IERBVEFfQ09MID0gJ2RhdGEtY29sJztcbiAgcHJpdmF0ZSByZWFkb25seSBEQVRBX1JPVyA9ICdkYXRhLXJvdyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgREFUQV9TSVpFX1ggPSAnZGF0YS1zaXplLXgnO1xuICBwcml2YXRlIHJlYWRvbmx5IERBVEFfU0laRV9ZID0gJ2RhdGEtc2l6ZS15JztcbiAgcHJpdmF0ZSByZWFkb25seSBEQVRBX09MRF9DT0wgPSAnZGF0YS1vbGQtY29sJztcbiAgcHJpdmF0ZSByZWFkb25seSBEQVRBX09MRF9ST1cgPSAnZGF0YS1vbGQtcm93JztcblxuXG4gIEBPdXRwdXQoKVxuICBvbkNvbmZpZ0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFdpZGdldEJvYXJkQ29uZmlnQ2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYV2lkZ2V0Qm9hcmRDb25maWdDaGFuZ2VkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbldpZGdldFNhdmU6IEV2ZW50RW1pdHRlcjxBWFdpZGdldENvbmZpZ1NhdmVkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFdpZGdldENvbmZpZ1NhdmVkRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucnRsID09IG51bGwpIHtcbiAgICAgIHRoaXMucnRsID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT09ICdydGwnO1xuICAgIH1cbiAgICB0aGlzLnNhdmVTdWJqZWN0LnBpcGUoZGVib3VuY2VUaW1lKDc1MCkpLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgdGhpcy5lbWl0Q29uZmlnQ2hhbmdlZCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpXG4gIHtcbiAgICB0aGlzLnNhdmVTdWJqZWN0Py51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoYykgPT4ge1xuICAgICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICAgIC8vIGFkZCBjc3MgZGF0YSBjbGFzc2VzXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSA1MDsgaSsrKSB7XG4gICAgICAgIHN0eWxlLmlubmVySFRNTCArPSBgWyR7dGhpcy5EQVRBX0NPTH09XCIke2l9XCJdIHsgICR7dGhpcy5ydGwgPyAncmlnaHQnIDogJ2xlZnQnfTogJHsoaSAtIDEpICogKHRoaXMudGlsZVNpemUgKyB0aGlzLmdhcFNpemUpfXB4OyB9YDtcbiAgICAgICAgc3R5bGUuaW5uZXJIVE1MICs9IGBbJHt0aGlzLkRBVEFfUk9XfT1cIiR7aX1cIl0geyAgdG9wOiAkeyhpIC0gMSkgKiAodGhpcy50aWxlU2l6ZSArIHRoaXMuZ2FwU2l6ZSl9cHg7IH1gO1xuICAgICAgICBzdHlsZS5pbm5lckhUTUwgKz0gYFske3RoaXMuREFUQV9TSVpFX1h9PVwiJHtpfVwiXSB7ICB3aWR0aDogICR7KGkgKiB0aGlzLnRpbGVTaXplKSArICgoaSAtIDEpICogdGhpcy5nYXBTaXplKX1weDsgfWA7XG4gICAgICAgIHN0eWxlLmlubmVySFRNTCArPSBgWyR7dGhpcy5EQVRBX1NJWkVfWX09XCIke2l9XCJdIHsgIGhlaWdodDogJHsoaSAqIHRoaXMudGlsZVNpemUpICsgKChpIC0gMSkgKiB0aGlzLmdhcFNpemUpfXB4OyB9YDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY0dyaWRTaXplKCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCB3aWR0aCA9XG4gICAgICAgIChNYXRoLm1heCguLi50aGlzLndpZGdldHMubWFwKChjKSA9PiBjLmNvbCArIGMuc2l6ZVggLSAxKSkpICogKHRoaXMudGlsZVNpemUgKyB0aGlzLmdhcFNpemUpO1xuICAgICAgY29uc3QgaGVpZ2h0ID1cbiAgICAgICAgKE1hdGgubWF4KC4uLnRoaXMud2lkZ2V0cy5tYXAoKGMpID0+IGMucm93ICsgYy5zaXplWSAtIDEpKSkgKiAodGhpcy50aWxlU2l6ZSArIHRoaXMuZ2FwU2l6ZSk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gd2lkdGggKyAncHgnO1xuICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAncHgnO1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlRWRpdCgpIHtcbiAgICB0aGlzLl9pc0luRWRpdGluZyA/IHRoaXMuZmluaXNoRWRpdCgpIDogdGhpcy5zdGFydEVkaXQoKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGRyYWdTdGFydChlOiBNb3VzZUV2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9pc0luRWRpdGluZyAmJiBlLndoaWNoID09PSAxKSB7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0gPSBlLmN1cnJlbnRUYXJnZXQgYXMgYW55O1xuICAgICAgICB0aGlzLmRyYWdJdGVtLnNldEF0dHJpYnV0ZSgnZGF0YS14LW9mZnNldCcsICh0aGlzLmRyYWdJdGVtLm9mZnNldExlZnQgLSBlLmNsaWVudFgpLnRvU3RyaW5nKCkpO1xuICAgICAgICAvL1xuICAgICAgICB0aGlzLmRyYWdJdGVtLnNldEF0dHJpYnV0ZSgnZGF0YS15LW9mZnNldCcsICh0aGlzLmRyYWdJdGVtLm9mZnNldFRvcCAtIGUuY2xpZW50WSkudG9TdHJpbmcoKSk7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0uY2xhc3NMaXN0LmFkZCgnd2lkZ2V0LWRyYWdnaW5nJyk7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnYW5pbWF0ZV9fYW5pbWF0ZWQnLCAnYW5pbWF0ZV9fcHVsc2UnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZW1vdmVQb3NpdGlvbkRhdGEoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmRyYWdJdGVtICYmIHRoaXMuX2lzSW5FZGl0aW5nICYmIHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9PTERfQ09MKSA9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0uc2V0QXR0cmlidXRlKHRoaXMuREFUQV9PTERfQ09MLCB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfQ09MKSk7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0uc2V0QXR0cmlidXRlKHRoaXMuREFUQV9PTERfUk9XLCB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfUk9XKSk7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0ucmVtb3ZlQXR0cmlidXRlKHRoaXMuREFUQV9DT0wpO1xuICAgICAgICB0aGlzLmRyYWdJdGVtLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLkRBVEFfUk9XKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0UG9zaXRpb25EYXRhKCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kcmFnSXRlbSAmJiB0aGlzLl9pc0luRWRpdGluZykge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHRoaXMuZHJhZ0l0ZW0sIHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9PTERfQ09MKSwgdGhpcy5kcmFnSXRlbS5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX09MRF9ST1cpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQsIGNvbDogc3RyaW5nLCByb3c6IHN0cmluZykge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLkRBVEFfQ09MLCBjb2wpO1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1JPVywgcm93KTtcbiAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMuREFUQV9PTERfQ09MKTtcbiAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMuREFUQV9PTERfUk9XKTtcbiAgICAgIGVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ3RvcCcpO1xuICAgICAgZWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnbGVmdCcpO1xuICAgICAgY29uc3Qgd2lkZ2V0ID0gdGhpcy53aWRnZXRzLmZpbmQoYyA9PiBjWydfX21ldGFfXyddLmluc3RhbmNlLmVsZW1lbnQgPT09IGVsZW1lbnQpO1xuICAgICAgd2lkZ2V0LmNvbCA9IE51bWJlcihjb2wpO1xuICAgICAgd2lkZ2V0LnJvdyA9IE51bWJlcihyb3cpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmFnKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJhZ0l0ZW0gJiYgdGhpcy5faXNJbkVkaXRpbmcpIHtcbiAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hZGRQbGFjZWhvbGRlcigpO1xuICAgICAgICBjb25zdCB4T2Zmc2V0ID0gTnVtYmVyKHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXgtb2Zmc2V0JykpO1xuICAgICAgICBjb25zdCB5T2Zmc2V0ID0gTnVtYmVyKHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXktb2Zmc2V0JykpO1xuICAgICAgICB0aGlzLmRyYWdJdGVtLnN0eWxlLmxlZnQgPSBlLmNsaWVudFggKyB4T2Zmc2V0ICsgJ3B4JztcbiAgICAgICAgdGhpcy5kcmFnSXRlbS5zdHlsZS50b3AgPSBlLmNsaWVudFkgKyB5T2Zmc2V0ICsgJ3B4JztcbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5kZXRlY3RCZXN0UGxhY2VtZW50KCk7XG4gICAgICAgIHRoaXMucmVtb3ZlUG9zaXRpb25EYXRhKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmFnRW5kKGUpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJhZ0l0ZW0gJiYgdGhpcy5faXNJbkVkaXRpbmcgJiYgdGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnd2lkZ2V0LWRyYWdnaW5nJyk7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0uY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZV9fYW5pbWF0ZWQnLCAnYW5pbWF0ZV9fcHVsc2UnKTtcbiAgICAgICAgLy9cbiAgICAgICAgY29uc3QgcCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLndpZGdldC1ibGFuay1wbGFjZWhvbGRlcicpO1xuICAgICAgICBpZiAodGhpcy5uZXdXaWRnZXQpIHtcbiAgICAgICAgICBjb25zdCB3ID0ge1xuICAgICAgICAgICAgdW5pcXVlTmFtZTogdGhpcy5uZXdXaWRnZXQudW5pcXVlTmFtZSxcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5uZXdXaWRnZXQuY29tcG9uZW50LFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMubmV3V2lkZ2V0LnRpdGxlLFxuICAgICAgICAgICAgb3B0aW9uczogdGhpcy5uZXdXaWRnZXQub3B0aW9ucyxcbiAgICAgICAgICAgIHNpemVYOiB0aGlzLm5ld1dpZGdldC5zaXplWCxcbiAgICAgICAgICAgIHNpemVZOiB0aGlzLm5ld1dpZGdldC5zaXplWSxcbiAgICAgICAgICAgIGNvbDogTnVtYmVyKHAuZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9DT0wpKSxcbiAgICAgICAgICAgIHJvdzogTnVtYmVyKHAuZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9ST1cpKVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICB0aGlzLndpZGdldHMucHVzaCh3KTtcbiAgICAgICAgICB0aGlzLm5ld1dpZGdldCA9IG51bGw7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmRyYWdJdGVtKTtcbiAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRTaXplKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgd1snX19tZXRhX18nXS5pbnN0YW5jZS5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuZHJhZ1N0YXJ0LmJpbmQodGhpcyksIGZhbHNlKTtcbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHRoaXMuZHJhZ0l0ZW0sIHAuZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9DT0wpLCBwLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfUk9XKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbih0aGlzLmRyYWdJdGVtLCB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX0NPTCksIHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9PTERfUk9XKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vXG4gICAgICAgIHRoaXMucmVtb3ZlUGxhY2Vob2xkZXIoKTtcbiAgICAgICAgdGhpcy5kcmFnSXRlbSA9IG51bGw7XG4gICAgICAgIHRoaXMuY2FsY0dyaWRTaXplKCk7XG4gICAgICAgIHRoaXMuc2F2ZVN1YmplY3QubmV4dCgnY29uZmlnJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0Rmlyc3RFbXB0eVNsb3QodzogQVhXaWRnZXRDb25maWcpIHtcbiAgICBjb25zdCB4VGlsZSA9IE1hdGguZmxvb3IodGhpcy5yZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC8gdGhpcy50aWxlU2l6ZSk7XG4gICAgZm9yIChsZXQgaiA9IDE7IGogPD0gMTAwOyBqKyspIHtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHhUaWxlIC0gdy5zaXplWDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHJlYyA9IG5ldyBBWENsaWVudFJlYyh7XG4gICAgICAgICAgbGVmdDogaSxcbiAgICAgICAgICB0b3A6IGosXG4gICAgICAgICAgd2lkdGg6IHcuc2l6ZVgsXG4gICAgICAgICAgaGVpZ2h0OiB3LnNpemVZXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMud2lkZ2V0cy5maWx0ZXIoYyA9PiBjICE9PSB3KS5maW5kKChjKSA9PlxuICAgICAgICAgIHJlYy5pbnRlcnNlY3Qoe1xuICAgICAgICAgICAgbGVmdDogYy5jb2wsXG4gICAgICAgICAgICB0b3A6IGMucm93LFxuICAgICAgICAgICAgd2lkdGg6IGMuc2l6ZVgsXG4gICAgICAgICAgICBoZWlnaHQ6IGMuc2l6ZVlcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICBpZiAoZWwgPT0gbnVsbCkge1xuICAgICAgICAgIHcuY29sID0gaTtcbiAgICAgICAgICB3LnJvdyA9IGo7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RCZXN0UGxhY2VtZW50KCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCBwID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcud2lkZ2V0LWJsYW5rLXBsYWNlaG9sZGVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBsZXQgY29sID0gTWF0aC5jZWlsKHRoaXMuZHJhZ0l0ZW0ub2Zmc2V0TGVmdCAvIHRoaXMudGlsZVNpemUpO1xuICAgICAgaWYgKHRoaXMucnRsKSB7XG4gICAgICAgIGNvbCA9IE1hdGguY2VpbCgodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtICh0aGlzLmRyYWdJdGVtLm9mZnNldExlZnQgKyB0aGlzLmRyYWdJdGVtLmNsaWVudFdpZHRoKSkgLyB0aGlzLnRpbGVTaXplKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJvdyA9IE1hdGguY2VpbCh0aGlzLmRyYWdJdGVtLm9mZnNldFRvcCAvIHRoaXMudGlsZVNpemUpO1xuICAgICAgaWYgKGNvbCA8IDEpIHtcbiAgICAgICAgY29sID0gMTtcbiAgICAgIH1cbiAgICAgIGlmIChyb3cgPCAxKSB7XG4gICAgICAgIHJvdyA9IDE7XG4gICAgICB9XG4gICAgICBjb25zdCB3aWRnZXRzID0gQXJyYXkuZnJvbSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy53aWRnZXQtaG9zdCcpKS5tYXAoKGMpID0+IGMgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgcC5zZXRBdHRyaWJ1dGUodGhpcy5EQVRBX0NPTCwgY29sLnRvU3RyaW5nKCkpO1xuICAgICAgcC5zZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1JPVywgcm93LnRvU3RyaW5nKCkpO1xuICAgICAgY29uc3QgY29sbGlzaW9uID0gd2lkZ2V0cy5maWx0ZXIoYyA9PiBjICE9PSB0aGlzLmRyYWdJdGVtKS5zb21lKGMgPT4gQVhIdG1sVXRpbC5jb2xsaXNpb24oYywgdGhpcy5kcmFnSXRlbSkpO1xuICAgICAgaWYgKGNvbGxpc2lvbikge1xuICAgICAgICB0aGlzLnJlbW92ZVBsYWNlaG9sZGVyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgYWRkUGxhY2Vob2xkZXIoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlUGxhY2Vob2xkZXIoKTtcbiAgICAgIGlmICh0aGlzLmRyYWdJdGVtKSB7XG4gICAgICAgIGNvbnN0IHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgcC5jbGFzc0xpc3QuYWRkKCd3aWRnZXQtYmxhbmstcGxhY2Vob2xkZXInKTtcbiAgICAgICAgcC5zZXRBdHRyaWJ1dGUodGhpcy5EQVRBX0NPTCwgdGhpcy5kcmFnSXRlbS5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX0NPTCkpO1xuICAgICAgICBwLnNldEF0dHJpYnV0ZSh0aGlzLkRBVEFfUk9XLCB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfUk9XKSk7XG4gICAgICAgIHAuc2V0QXR0cmlidXRlKHRoaXMuREFUQV9TSVpFX1gsIHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9TSVpFX1gpKTtcbiAgICAgICAgcC5zZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1NJWkVfWSwgdGhpcy5kcmFnSXRlbS5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1NJWkVfWSkpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVQbGFjZWhvbGRlcigpIHtcbiAgICBjb25zdCBwID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcud2lkZ2V0LWJsYW5rLXBsYWNlaG9sZGVyJyk7XG4gICAgcD8ucmVtb3ZlKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRFZGl0KCkge1xuICAgIHRoaXMuX2lzSW5FZGl0aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNhbGNHcmlkU2l6ZSgpO1xuICAgIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZ3JpZC1iYWNrZ3JvdW5kJyk7XG4gICAgY29uc3QgYmcgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50O1xuICAgIGJnLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXBvc2l0aW9uJywgYCR7dGhpcy5ydGwgPyAncmlnaHQnIDogJ2xlZnQnfSB0b3BgKTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgIGNvbnN0IHBhdHRlcm4gPSBgdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIiR7dGhpcy50aWxlU2l6ZSArIHRoaXMuZ2FwU2l6ZX1cIiBoZWlnaHQ9XCIke3RoaXMudGlsZVNpemUgKyB0aGlzLmdhcFNpemV9XCI+IDxyZWN0IHN0eWxlPVwiZmlsbDogJTIzZGFkYWRhXCIgeD1cIiR7dGhpcy5ydGwgPyB0aGlzLmdhcFNpemUgOiAwfVwiIHdpZHRoPVwiJHt0aGlzLnRpbGVTaXplfVwiIGhlaWdodD1cIiR7dGhpcy50aWxlU2l6ZX1cIiB5PVwiMFwiPjwvcmVjdD48L3N2Zz4nKWA7XG4gICAgYmcuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtaW1hZ2UnLCBwYXR0ZXJuKTtcbiAgICAvL1xuICAgIGNvbnN0IHdpZGdldHMgPSBBcnJheS5mcm9tKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLndpZGdldC1ob3N0JykpO1xuICAgIHdpZGdldHMuZm9yRWFjaCgodykgPT4ge1xuICAgICAgdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmRyYWdTdGFydC5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gICAgfSk7XG4gICAgdGhpcy5yZWYubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmRyYWcuYmluZCh0aGlzKSwgZmFsc2UpO1xuICAgIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuZHJhZ0VuZC5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZmluaXNoRWRpdCgpIHtcbiAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2dyaWQtYmFja2dyb3VuZCcpO1xuICAgIGNvbnN0IGJnID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICBiZy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnYmFja2dyb3VuZC1pbWFnZScpO1xuICAgIC8vXG4gICAgdGhpcy5faXNJbkVkaXRpbmcgPSBmYWxzZTtcbiAgICBjb25zdCB3aWRnZXRzID0gQXJyYXkuZnJvbSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy53aWRnZXQtaG9zdCcpKTtcbiAgICB3aWRnZXRzLmZvckVhY2goKHcpID0+IHtcbiAgICAgIHcucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5kcmFnU3RhcnQuYmluZCh0aGlzKSwgZmFsc2UpO1xuICAgIH0pO1xuICAgIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5kcmFnLmJpbmQodGhpcyksIGZhbHNlKTtcbiAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLmRyYWdFbmQuYmluZCh0aGlzKSwgZmFsc2UpO1xuICAgIHRoaXMuc2F2ZVN1YmplY3QubmV4dCgnY29uZmlnJyk7XG4gIH1cblxuXG4gIGFkZFdpZGdldCh3aWRnZXQ6IEFYV2lkZ2V0Q29uZmlnKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMubmV3V2lkZ2V0ID0ge1xuICAgICAgICB1bmlxdWVOYW1lOiB3aWRnZXQudW5pcXVlTmFtZSxcbiAgICAgICAgY29tcG9uZW50OiB3aWRnZXQuY29tcG9uZW50LFxuICAgICAgICB0aXRsZTogd2lkZ2V0LnRpdGxlLFxuICAgICAgICBjb2w6IDEsXG4gICAgICAgIHJvdzogMSxcbiAgICAgICAgc2l6ZVg6IHdpZGdldC5zaXplWCxcbiAgICAgICAgc2l6ZVk6IHdpZGdldC5zaXplWSxcbiAgICAgICAgb3B0aW9uczogd2lkZ2V0Lm9wdGlvbnMsXG4gICAgICAgIHByb3BzOiB3aWRnZXQucHJvcHNcbiAgICAgIH07XG4gICAgICB0aGlzLmRldGVjdEZpcnN0RW1wdHlTbG90KHRoaXMubmV3V2lkZ2V0KTtcbiAgICAgIGNvbnN0IHcgPSB7XG4gICAgICAgIHVuaXF1ZU5hbWU6IHRoaXMubmV3V2lkZ2V0LnVuaXF1ZU5hbWUsXG4gICAgICAgIGNvbXBvbmVudDogdGhpcy5uZXdXaWRnZXQuY29tcG9uZW50LFxuICAgICAgICB0aXRsZTogdGhpcy5uZXdXaWRnZXQudGl0bGUsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMubmV3V2lkZ2V0Lm9wdGlvbnMsXG4gICAgICAgIHByb3BzOiB0aGlzLm5ld1dpZGdldC5wcm9wcyxcbiAgICAgICAgc2l6ZVg6IHRoaXMubmV3V2lkZ2V0LnNpemVYLFxuICAgICAgICBzaXplWTogdGhpcy5uZXdXaWRnZXQuc2l6ZVksXG4gICAgICAgIGNvbDogdGhpcy5uZXdXaWRnZXQuY29sLFxuICAgICAgICByb3c6IHRoaXMubmV3V2lkZ2V0LnJvd1xuICAgICAgfTtcbiAgICAgIHRoaXMud2lkZ2V0cy5wdXNoKHcpO1xuICAgICAgdGhpcy5uZXdXaWRnZXQgPSBudWxsO1xuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5jYWxjR3JpZFNpemUoKTtcbiAgICAgICAgdGhpcy5lbWl0Q29uZmlnQ2hhbmdlZCgnYWRkJyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHdbJ19fbWV0YV9fJ10uaW5zdGFuY2UuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmRyYWdTdGFydC5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuXG4gIGhhbmRsZU9uUmVtb3ZlKHc6IEFYV2lkZ2V0SG9zdENvbXBvbmVudCkge1xuICAgIHcuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhbmltYXRlX19hbmltYXRlZCcsICdhbmltYXRlX196b29tT3V0Jyk7XG4gICAgdy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsICgpID0+IHtcbiAgICAgIHRoaXMud2lkZ2V0cyA9IHRoaXMud2lkZ2V0cy5maWx0ZXIoKGMpID0+IChjIGFzIGFueSkuX19tZXRhX18uaWQgIT09ICh3LmNvbmZpZyBhcyBhbnkpLl9fbWV0YV9fLmlkKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuY2FsY0dyaWRTaXplKCk7XG4gICAgICB0aGlzLmVtaXRDb25maWdDaGFuZ2VkKCdyZW1vdmUnKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZU9uU2F2ZShlOiBBWFdpZGdldENvbmZpZ1NhdmVkRXZlbnQpIHtcbiAgICB0aGlzLm9uV2lkZ2V0U2F2ZS5lbWl0KGUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKSB7XG4gICAgaWYgKCFpdGVtWydfX21ldGFfXyddPy5pZCkge1xuICAgICAgaXRlbVsnX19tZXRhX18nXSA9IHt9O1xuICAgICAgaXRlbVsnX19tZXRhX18nXS5pZCA9IEFYSHRtbFV0aWwuZ2V0VUlEKCk7XG4gICAgfVxuICAgIHJldHVybiBpdGVtWydfX21ldGFfXyddPy5pZDtcbiAgfVxuXG5cbiAgbG9hZCh3aWRnZXRzOiBzdHJpbmcgfCBBWFdpZGdldENvbmZpZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jbGVhcigpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAod2lkZ2V0cykge1xuICAgICAgICBjb25zdCBsb2FkZWRXaWRnZXRzOiBBWFdpZGdldENvbmZpZ1tdID0gW107XG4gICAgICAgIGlmICh0eXBlb2Ygd2lkZ2V0cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgbG9hZGVkV2lkZ2V0cy5wdXNoKC4uLkpTT04ucGFyc2Uod2lkZ2V0cykpO1xuICAgICAgICAgICAgdGhpcy5lbWl0Q29uZmlnQ2hhbmdlZCgnbG9hZCcpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZWplY3QoJ0ludmFsaWQgd2lkZ2V0IGpzb24gZGF0YSEnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgbG9hZGVkV2lkZ2V0cy5wdXNoKC4uLndpZGdldHMpO1xuICAgICAgICAgIHRoaXMuZW1pdENvbmZpZ0NoYW5nZWQoJ2xvYWQnKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW50ZXJ2YWxJZDogbnVtYmVyID0gLTE7XG4gICAgICAgIGNvbnN0IGxvYWRGdW5jID0gKCkgPT4ge1xuXG4gICAgICAgICAgaWYgKHRoaXMuZ2FsbGVyeUl0ZW1zICYmIHRoaXMuZ2FsbGVyeUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxvYWRlZFdpZGdldHMuZm9yRWFjaCh3ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZ2l0ZW0gPSB0aGlzLmdhbGxlcnlJdGVtcy5maW5kKGMgPT4gYy51bmlxdWVOYW1lID09PSB3LnVuaXF1ZU5hbWUpO1xuICAgICAgICAgICAgICBpZiAoZ2l0ZW0pIHtcbiAgICAgICAgICAgICAgICB3LmNvbXBvbmVudCA9IGdpdGVtLmNvbXBvbmVudDtcbiAgICAgICAgICAgICAgICBpZiAoZ2l0ZW0ucHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgIHcucHJvcHMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGdpdGVtLnByb3BzKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMud2lkZ2V0cy5wdXNoKC4uLmxvYWRlZFdpZGdldHMpO1xuICAgICAgICAgICAgdGhpcy5lbWl0Q29uZmlnQ2hhbmdlZCgnbG9hZCcpO1xuICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpbnRlcnZhbElkID0gd2luZG93LnNldEludGVydmFsKGxvYWRGdW5jLCAyMDApO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIGlmICh0aGlzLndpZGdldHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLndpZGdldHMgPSBbXTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuc2F2ZVN1YmplY3QubmV4dCgnY2xlYXInKTtcbiAgICB9XG4gIH1cblxuICBzYXZlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgb2JqID0gdGhpcy53aWRnZXRzLm1hcChjID0+ICh7XG4gICAgICB1bmlxdWVOYW1lOiBjLnVuaXF1ZU5hbWUsXG4gICAgICBjb21wb25lbnQ6IGMuY29tcG9uZW50LFxuICAgICAgdGl0bGU6IGMudGl0bGUsXG4gICAgICBzaXplWDogYy5zaXplWCxcbiAgICAgIHNpemVZOiBjLnNpemVZLFxuICAgICAgY29sOiBjLmNvbCxcbiAgICAgIHJvdzogYy5yb3csXG4gICAgICBvcHRpb25zOiBjLm9wdGlvbnMsXG4gICAgICBwcm9wczogYy5wcm9wc1xuICAgIH0pKTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEpTT04uc3RyaW5naWZ5KG9iaikpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLndpZGdldEhvc3RzLmZvckVhY2goaG9zdCA9PiB7XG4gICAgICBob3N0LndpZGdldC5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVPbkNvbmZpZ0NoYW5nZWQoZTogQVhXaWRnZXRDb25maWdDaGFuZ2VkKSB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuc2F2ZVN1YmplY3QubmV4dCgnY29uZmlnJyk7XG4gIH1cblxuICBoYW5kbGVPblJlc2l6ZWRDaGFuZ2VkKGU6IEFYV2lkZ2V0Q29uZmlnQ2hhbmdlZCkge1xuICAgIHRoaXMuZGV0ZWN0Rmlyc3RFbXB0eVNsb3QoZS5jb25maWcpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNhdmVTdWJqZWN0Lm5leHQoJ2NvbmZpZycpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q29uZmlnQ2hhbmdlZChtb2RlOiAnY2xlYXInIHwgJ2FkZCcgfCAncmVtb3ZlJyB8ICdsb2FkJyB8ICdjb25maWcnKSB7XG4gICAgdGhpcy5vbkNvbmZpZ0NoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBtb2RlOiBtb2RlXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3aWRnZXRzLWNvbnRhaW5lclwiIFtjbGFzcy5ydGxdPVwicnRsXCIgI2NvbnRhaW5lcj5cbiAgICA8YXgtd2lkZ2V0LWhvc3QgKm5nRm9yPVwibGV0IHcgb2Ygd2lkZ2V0czt0cmFja0J5OiB0cmFja0J5Rm5cIiAgW2NvbmZpZ109J3cnIFtzaXplWF09XCJ3LnNpemVYXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IHcucmVhZG9ubHlcIlxuICAgICAgICBbc2l6ZVldPVwidy5zaXplWVwiIFtjb2xdPVwidy5jb2xcIiBbcm93XT1cIncucm93XCIgKG9uUmVtb3ZlKT1cImhhbmRsZU9uUmVtb3ZlKCRldmVudClcIiAob25TYXZlKT1cImhhbmRsZU9uU2F2ZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uQ29uZmlnQ2hhbmdlZCk9XCJoYW5kbGVPbkNvbmZpZ0NoYW5nZWQoJGV2ZW50KVwiIChvblJlc2l6ZWQpPVwiaGFuZGxlT25SZXNpemVkQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW3Byb3ZpZGVWYWx1ZV09XCJwcm92aWRlVmFsdWVcIj5cbiAgICA8L2F4LXdpZGdldC1ob3N0PlxuPC9kaXY+XG4iXX0=
452
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1ib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL3dpZGdldC1ib2FyZC93aWRnZXQtYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUN0QyxNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7OztBQVc3QyxNQUFNLE9BQU8sc0JBQXNCO0lBc0R2QjtJQUNBO0lBQ0E7SUFyREYsU0FBUyxDQUE2QjtJQUd0QyxXQUFXLENBQW1DO0lBRXRELE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBRy9CLFlBQVksR0FBcUIsRUFBRSxDQUFDO0lBR3BDLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFHdEIsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUlwQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRWxCLFNBQVMsR0FBbUIsSUFBSSxDQUFDO0lBRWxDLEdBQUcsQ0FBVTtJQUVaLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDL0IsV0FBVztRQUNoQixPQUFPLElB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WU4sZUFBZTtzQkFEZCxNQUFNO2dCQUlQLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgTmdab25lLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYV2lkZ2V0Q29uZmlnLFxuICBBWFdpZGdldENvbmZpZ0NoYW5nZWQsXG4gIEFYV2lkZ2V0Qm9hcmRDb25maWdDaGFuZ2VkLFxuICBBWFdpZGdldENvbmZpZ1NhdmVkRXZlbnRcbn0gZnJvbSAnLi93aWRnZXQuY2xhc3MnO1xuaW1wb3J0IHsgQVhXaWRnZXRIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQtaG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCwgQVhDbGllbnRSZWMgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtd2lkZ2V0LWJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC1ib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpZGdldC1ib2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7IGNsYXNzOiAnYXggd2lkZ2V0LWJvYXJkJyB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBWFdpZGdldEJvYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXInKVxuICBwcml2YXRlIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZHJlbihBWFdpZGdldEhvc3RDb21wb25lbnQpXG4gIHByaXZhdGUgd2lkZ2V0SG9zdHM6IFF1ZXJ5TGlzdDxBWFdpZGdldEhvc3RDb21wb25lbnQ+O1xuXG4gIHdpZGdldHM6IEFYV2lkZ2V0Q29uZmlnW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBnYWxsZXJ5SXRlbXM6IEFYV2lkZ2V0Q29uZmlnW10gPSBbXTtcblxuICBASW5wdXQoKVxuICB0aWxlU2l6ZTogbnVtYmVyID0gODA7XG5cbiAgQElucHV0KClcbiAgZ2FwU2l6ZTogbnVtYmVyID0gNTtcblxuXG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBuZXdXaWRnZXQ6IEFYV2lkZ2V0Q29uZmlnID0gbnVsbDtcblxuICBwdWJsaWMgcnRsOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2lzSW5FZGl0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc0luRWRpdGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNJbkVkaXRpbmc7XG4gIH1cbiAgcHJpdmF0ZSBpc0RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgZHJhZ0l0ZW06IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgc2F2ZVN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgQElucHV0KClcbiAgcHJvdmlkZVZhbHVlOiAoZTogYW55KSA9PiBhbnk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBEQVRBX0NPTCA9ICdkYXRhLWNvbCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgREFUQV9ST1cgPSAnZGF0YS1yb3cnO1xuICBwcml2YXRlIHJlYWRvbmx5IERBVEFfU0laRV9YID0gJ2RhdGEtc2l6ZS14JztcbiAgcHJpdmF0ZSByZWFkb25seSBEQVRBX1NJWkVfWSA9ICdkYXRhLXNpemUteSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgREFUQV9PTERfQ09MID0gJ2RhdGEtb2xkLWNvbCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgREFUQV9PTERfUk9XID0gJ2RhdGEtb2xkLXJvdyc7XG5cblxuICBAT3V0cHV0KClcbiAgb25Db25maWdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhXaWRnZXRCb2FyZENvbmZpZ0NoYW5nZWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFdpZGdldEJvYXJkQ29uZmlnQ2hhbmdlZD4oKTtcblxuICBAT3V0cHV0KClcbiAgb25XaWRnZXRTYXZlOiBFdmVudEVtaXR0ZXI8QVhXaWRnZXRDb25maWdTYXZlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhXaWRnZXRDb25maWdTYXZlZEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7IH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJ0bCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcbiAgICB9XG4gICAgdGhpcy5zYXZlU3ViamVjdC5waXBlKGRlYm91bmNlVGltZSg3NTApKS5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZW1pdENvbmZpZ0NoYW5nZWQodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKVxuICB7XG4gICAgdGhpcy5zYXZlU3ViamVjdD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKGMpID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgdGhpcy5yZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgICAvLyBhZGQgY3NzIGRhdGEgY2xhc3Nlc1xuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gNTA7IGkrKykge1xuICAgICAgICBzdHlsZS5pbm5lckhUTUwgKz0gYFske3RoaXMuREFUQV9DT0x9PVwiJHtpfVwiXSB7ICAke3RoaXMucnRsID8gJ3JpZ2h0JyA6ICdsZWZ0J306ICR7KGkgLSAxKSAqICh0aGlzLnRpbGVTaXplICsgdGhpcy5nYXBTaXplKX1weDsgfWA7XG4gICAgICAgIHN0eWxlLmlubmVySFRNTCArPSBgWyR7dGhpcy5EQVRBX1JPV309XCIke2l9XCJdIHsgIHRvcDogJHsoaSAtIDEpICogKHRoaXMudGlsZVNpemUgKyB0aGlzLmdhcFNpemUpfXB4OyB9YDtcbiAgICAgICAgc3R5bGUuaW5uZXJIVE1MICs9IGBbJHt0aGlzLkRBVEFfU0laRV9YfT1cIiR7aX1cIl0geyAgd2lkdGg6ICAkeyhpICogdGhpcy50aWxlU2l6ZSkgKyAoKGkgLSAxKSAqIHRoaXMuZ2FwU2l6ZSl9cHg7IH1gO1xuICAgICAgICBzdHlsZS5pbm5lckhUTUwgKz0gYFske3RoaXMuREFUQV9TSVpFX1l9PVwiJHtpfVwiXSB7ICBoZWlnaHQ6ICR7KGkgKiB0aGlzLnRpbGVTaXplKSArICgoaSAtIDEpICogdGhpcy5nYXBTaXplKX1weDsgfWA7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGNHcmlkU2l6ZSgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3Qgd2lkdGggPVxuICAgICAgICAoTWF0aC5tYXgoLi4udGhpcy53aWRnZXRzLm1hcCgoYykgPT4gYy5jb2wgKyBjLnNpemVYIC0gMSkpKSAqICh0aGlzLnRpbGVTaXplICsgdGhpcy5nYXBTaXplKTtcbiAgICAgIGNvbnN0IGhlaWdodCA9XG4gICAgICAgIChNYXRoLm1heCguLi50aGlzLndpZGdldHMubWFwKChjKSA9PiBjLnJvdyArIGMuc2l6ZVkgLSAxKSkpICogKHRoaXMudGlsZVNpemUgKyB0aGlzLmdhcFNpemUpO1xuICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JztcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JztcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUVkaXQoKSB7XG4gICAgdGhpcy5faXNJbkVkaXRpbmcgPyB0aGlzLmZpbmlzaEVkaXQoKSA6IHRoaXMuc3RhcnRFZGl0KCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBkcmFnU3RhcnQoZTogTW91c2VFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5faXNJbkVkaXRpbmcgJiYgZS53aGljaCA9PT0gMSkge1xuICAgICAgICB0aGlzLmRyYWdJdGVtID0gZS5jdXJyZW50VGFyZ2V0IGFzIGFueTtcbiAgICAgICAgdGhpcy5kcmFnSXRlbS5zZXRBdHRyaWJ1dGUoJ2RhdGEteC1vZmZzZXQnLCAodGhpcy5kcmFnSXRlbS5vZmZzZXRMZWZ0IC0gZS5jbGllbnRYKS50b1N0cmluZygpKTtcbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5kcmFnSXRlbS5zZXRBdHRyaWJ1dGUoJ2RhdGEteS1vZmZzZXQnLCAodGhpcy5kcmFnSXRlbS5vZmZzZXRUb3AgLSBlLmNsaWVudFkpLnRvU3RyaW5nKCkpO1xuICAgICAgICB0aGlzLmRyYWdJdGVtLmNsYXNzTGlzdC5hZGQoJ3dpZGdldC1kcmFnZ2luZycpO1xuICAgICAgICB0aGlzLmRyYWdJdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ2FuaW1hdGVfX2FuaW1hdGVkJywgJ2FuaW1hdGVfX3B1bHNlJyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmVtb3ZlUG9zaXRpb25EYXRhKCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kcmFnSXRlbSAmJiB0aGlzLl9pc0luRWRpdGluZyAmJiB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX0NPTCkgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmRyYWdJdGVtLnNldEF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX0NPTCwgdGhpcy5kcmFnSXRlbS5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX0NPTCkpO1xuICAgICAgICB0aGlzLmRyYWdJdGVtLnNldEF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX1JPVywgdGhpcy5kcmFnSXRlbS5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1JPVykpO1xuICAgICAgICB0aGlzLmRyYWdJdGVtLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLkRBVEFfQ09MKTtcbiAgICAgICAgdGhpcy5kcmFnSXRlbS5yZW1vdmVBdHRyaWJ1dGUodGhpcy5EQVRBX1JPVyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXNldFBvc2l0aW9uRGF0YSgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJhZ0l0ZW0gJiYgdGhpcy5faXNJbkVkaXRpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbih0aGlzLmRyYWdJdGVtLCB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX0NPTCksIHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9PTERfUk9XKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFBvc2l0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb2w6IHN0cmluZywgcm93OiBzdHJpbmcpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5EQVRBX0NPTCwgY29sKTtcbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMuREFUQV9ST1csIHJvdyk7XG4gICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX0NPTCk7XG4gICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX1JPVyk7XG4gICAgICBlbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCd0b3AnKTtcbiAgICAgIGVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2xlZnQnKTtcbiAgICAgIGNvbnN0IHdpZGdldCA9IHRoaXMud2lkZ2V0cy5maW5kKGMgPT4gY1snX19tZXRhX18nXS5pbnN0YW5jZS5lbGVtZW50ID09PSBlbGVtZW50KTtcbiAgICAgIHdpZGdldC5jb2wgPSBOdW1iZXIoY29sKTtcbiAgICAgIHdpZGdldC5yb3cgPSBOdW1iZXIocm93KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhZyhlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmRyYWdJdGVtICYmIHRoaXMuX2lzSW5FZGl0aW5nKSB7XG4gICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgICAgIHRoaXMuYWRkUGxhY2Vob2xkZXIoKTtcbiAgICAgICAgY29uc3QgeE9mZnNldCA9IE51bWJlcih0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSgnZGF0YS14LW9mZnNldCcpKTtcbiAgICAgICAgY29uc3QgeU9mZnNldCA9IE51bWJlcih0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSgnZGF0YS15LW9mZnNldCcpKTtcbiAgICAgICAgdGhpcy5kcmFnSXRlbS5zdHlsZS5sZWZ0ID0gZS5jbGllbnRYICsgeE9mZnNldCArICdweCc7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0uc3R5bGUudG9wID0gZS5jbGllbnRZICsgeU9mZnNldCArICdweCc7XG4gICAgICAgIC8vXG4gICAgICAgIHRoaXMuZGV0ZWN0QmVzdFBsYWNlbWVudCgpO1xuICAgICAgICB0aGlzLnJlbW92ZVBvc2l0aW9uRGF0YSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhZ0VuZChlKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmRyYWdJdGVtICYmIHRoaXMuX2lzSW5FZGl0aW5nICYmIHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgICB0aGlzLmRyYWdJdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ3dpZGdldC1kcmFnZ2luZycpO1xuICAgICAgICB0aGlzLmRyYWdJdGVtLmNsYXNzTGlzdC5hZGQoJ2FuaW1hdGVfX2FuaW1hdGVkJywgJ2FuaW1hdGVfX3B1bHNlJyk7XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IHAgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy53aWRnZXQtYmxhbmstcGxhY2Vob2xkZXInKTtcbiAgICAgICAgaWYgKHRoaXMubmV3V2lkZ2V0KSB7XG4gICAgICAgICAgY29uc3QgdyA9IHtcbiAgICAgICAgICAgIHVuaXF1ZU5hbWU6IHRoaXMubmV3V2lkZ2V0LnVuaXF1ZU5hbWUsXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMubmV3V2lkZ2V0LmNvbXBvbmVudCxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLm5ld1dpZGdldC50aXRsZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMubmV3V2lkZ2V0Lm9wdGlvbnMsXG4gICAgICAgICAgICBzaXplWDogdGhpcy5uZXdXaWRnZXQuc2l6ZVgsXG4gICAgICAgICAgICBzaXplWTogdGhpcy5uZXdXaWRnZXQuc2l6ZVksXG4gICAgICAgICAgICBjb2w6IE51bWJlcihwLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfQ09MKSksXG4gICAgICAgICAgICByb3c6IE51bWJlcihwLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfUk9XKSlcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgdGhpcy53aWRnZXRzLnB1c2godyk7XG4gICAgICAgICAgdGhpcy5uZXdXaWRnZXQgPSBudWxsO1xuICAgICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5kcmFnSXRlbSk7XG4gICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLmNhbGNHcmlkU2l6ZSgpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHdbJ19fbWV0YV9fJ10uaW5zdGFuY2UuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmRyYWdTdGFydC5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gICAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAocCkge1xuICAgICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbih0aGlzLmRyYWdJdGVtLCBwLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfQ09MKSwgcC5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1JPVykpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5kcmFnSXRlbSwgdGhpcy5kcmFnSXRlbS5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX09MRF9DT0wpLCB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfT0xEX1JPVykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvL1xuICAgICAgICB0aGlzLnJlbW92ZVBsYWNlaG9sZGVyKCk7XG4gICAgICAgIHRoaXMuZHJhZ0l0ZW0gPSBudWxsO1xuICAgICAgICB0aGlzLmNhbGNHcmlkU2l6ZSgpO1xuICAgICAgICB0aGlzLnNhdmVTdWJqZWN0Lm5leHQoJ2NvbmZpZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdEZpcnN0RW1wdHlTbG90KHc6IEFYV2lkZ2V0Q29uZmlnKSB7XG4gICAgY29uc3QgeFRpbGUgPSBNYXRoLmZsb29yKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCAvIHRoaXMudGlsZVNpemUpO1xuICAgIGZvciAobGV0IGogPSAxOyBqIDw9IDEwMDsgaisrKSB7XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB4VGlsZSAtIHcuc2l6ZVg7IGkrKykge1xuICAgICAgICBjb25zdCByZWMgPSBuZXcgQVhDbGllbnRSZWMoe1xuICAgICAgICAgIGxlZnQ6IGksXG4gICAgICAgICAgdG9wOiBqLFxuICAgICAgICAgIHdpZHRoOiB3LnNpemVYLFxuICAgICAgICAgIGhlaWdodDogdy5zaXplWVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLndpZGdldHMuZmlsdGVyKGMgPT4gYyAhPT0gdykuZmluZCgoYykgPT5cbiAgICAgICAgICByZWMuaW50ZXJzZWN0KHtcbiAgICAgICAgICAgIGxlZnQ6IGMuY29sLFxuICAgICAgICAgICAgdG9wOiBjLnJvdyxcbiAgICAgICAgICAgIHdpZHRoOiBjLnNpemVYLFxuICAgICAgICAgICAgaGVpZ2h0OiBjLnNpemVZXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVsID09IG51bGwpIHtcbiAgICAgICAgICB3LmNvbCA9IGk7XG4gICAgICAgICAgdy5yb3cgPSBqO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0QmVzdFBsYWNlbWVudCgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3QgcCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLndpZGdldC1ibGFuay1wbGFjZWhvbGRlcicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgbGV0IGNvbCA9IE1hdGguY2VpbCh0aGlzLmRyYWdJdGVtLm9mZnNldExlZnQgLyB0aGlzLnRpbGVTaXplKTtcbiAgICAgIGlmICh0aGlzLnJ0bCkge1xuICAgICAgICBjb2wgPSBNYXRoLmNlaWwoKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSAodGhpcy5kcmFnSXRlbS5vZmZzZXRMZWZ0ICsgdGhpcy5kcmFnSXRlbS5jbGllbnRXaWR0aCkpIC8gdGhpcy50aWxlU2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGxldCByb3cgPSBNYXRoLmNlaWwodGhpcy5kcmFnSXRlbS5vZmZzZXRUb3AgLyB0aGlzLnRpbGVTaXplKTtcbiAgICAgIGlmIChjb2wgPCAxKSB7XG4gICAgICAgIGNvbCA9IDE7XG4gICAgICB9XG4gICAgICBpZiAocm93IDwgMSkge1xuICAgICAgICByb3cgPSAxO1xuICAgICAgfVxuICAgICAgY29uc3Qgd2lkZ2V0cyA9IEFycmF5LmZyb20odGhpcy5yZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcud2lkZ2V0LWhvc3QnKSkubWFwKChjKSA9PiBjIGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIHAuc2V0QXR0cmlidXRlKHRoaXMuREFUQV9DT0wsIGNvbC50b1N0cmluZygpKTtcbiAgICAgIHAuc2V0QXR0cmlidXRlKHRoaXMuREFUQV9ST1csIHJvdy50b1N0cmluZygpKTtcbiAgICAgIGNvbnN0IGNvbGxpc2lvbiA9IHdpZGdldHMuZmlsdGVyKGMgPT4gYyAhPT0gdGhpcy5kcmFnSXRlbSkuc29tZShjID0+IEFYSHRtbFV0aWwuY29sbGlzaW9uKGMsIHRoaXMuZHJhZ0l0ZW0pKTtcbiAgICAgIGlmIChjb2xsaXNpb24pIHtcbiAgICAgICAgdGhpcy5yZW1vdmVQbGFjZWhvbGRlcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICBwcml2YXRlIGFkZFBsYWNlaG9sZGVyKCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZVBsYWNlaG9sZGVyKCk7XG4gICAgICBpZiAodGhpcy5kcmFnSXRlbSkge1xuICAgICAgICBjb25zdCBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHAuY2xhc3NMaXN0LmFkZCgnd2lkZ2V0LWJsYW5rLXBsYWNlaG9sZGVyJyk7XG4gICAgICAgIHAuc2V0QXR0cmlidXRlKHRoaXMuREFUQV9DT0wsIHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9DT0wpKTtcbiAgICAgICAgcC5zZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1JPVywgdGhpcy5kcmFnSXRlbS5nZXRBdHRyaWJ1dGUodGhpcy5EQVRBX1JPVykpO1xuICAgICAgICBwLnNldEF0dHJpYnV0ZSh0aGlzLkRBVEFfU0laRV9YLCB0aGlzLmRyYWdJdGVtLmdldEF0dHJpYnV0ZSh0aGlzLkRBVEFfU0laRV9YKSk7XG4gICAgICAgIHAuc2V0QXR0cmlidXRlKHRoaXMuREFUQV9TSVpFX1ksIHRoaXMuZHJhZ0l0ZW0uZ2V0QXR0cmlidXRlKHRoaXMuREFUQV9TSVpFX1kpKTtcbiAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUGxhY2Vob2xkZXIoKSB7XG4gICAgY29uc3QgcCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLndpZGdldC1ibGFuay1wbGFjZWhvbGRlcicpO1xuICAgIHA/LnJlbW92ZSgpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0RWRpdCgpIHtcbiAgICB0aGlzLl9pc0luRWRpdGluZyA9IHRydWU7XG4gICAgdGhpcy5jYWxjR3JpZFNpemUoKTtcbiAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2dyaWQtYmFja2dyb3VuZCcpO1xuICAgIGNvbnN0IGJnID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICBiZy5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1wb3NpdGlvbicsIGAke3RoaXMucnRsID8gJ3JpZ2h0JyA6ICdsZWZ0J30gdG9wYCk7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcbiAgICBjb25zdCBwYXR0ZXJuID0gYHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCIke3RoaXMudGlsZVNpemUgKyB0aGlzLmdhcFNpemV9XCIgaGVpZ2h0PVwiJHt0aGlzLnRpbGVTaXplICsgdGhpcy5nYXBTaXplfVwiPiA8cmVjdCBzdHlsZT1cImZpbGw6ICUyM2RhZGFkYVwiIHg9XCIke3RoaXMucnRsID8gdGhpcy5nYXBTaXplIDogMH1cIiB3aWR0aD1cIiR7dGhpcy50aWxlU2l6ZX1cIiBoZWlnaHQ9XCIke3RoaXMudGlsZVNpemV9XCIgeT1cIjBcIj48L3JlY3Q+PC9zdmc+JylgO1xuICAgIGJnLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWltYWdlJywgcGF0dGVybik7XG4gICAgLy9cbiAgICBjb25zdCB3aWRnZXRzID0gQXJyYXkuZnJvbSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy53aWRnZXQtaG9zdCcpKTtcbiAgICB3aWRnZXRzLmZvckVhY2goKHcpID0+IHtcbiAgICAgIHcuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5kcmFnU3RhcnQuYmluZCh0aGlzKSwgZmFsc2UpO1xuICAgIH0pO1xuICAgIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5kcmFnLmJpbmQodGhpcyksIGZhbHNlKTtcbiAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLmRyYWdFbmQuYmluZCh0aGlzKSwgZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGZpbmlzaEVkaXQoKSB7XG4gICAgdGhpcy5yZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdncmlkLWJhY2tncm91bmQnKTtcbiAgICBjb25zdCBiZyA9IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgYmcuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2JhY2tncm91bmQtaW1hZ2UnKTtcbiAgICAvL1xuICAgIHRoaXMuX2lzSW5FZGl0aW5nID0gZmFsc2U7XG4gICAgY29uc3Qgd2lkZ2V0cyA9IEFycmF5LmZyb20odGhpcy5yZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcud2lkZ2V0LWhvc3QnKSk7XG4gICAgd2lkZ2V0cy5mb3JFYWNoKCh3KSA9PiB7XG4gICAgICB3LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuZHJhZ1N0YXJ0LmJpbmQodGhpcyksIGZhbHNlKTtcbiAgICB9KTtcbiAgICB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuZHJhZy5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gICAgdGhpcy5yZWYubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5kcmFnRW5kLmJpbmQodGhpcyksIGZhbHNlKTtcbiAgICB0aGlzLnNhdmVTdWJqZWN0Lm5leHQoJ2NvbmZpZycpO1xuICB9XG5cblxuICBhZGRXaWRnZXQod2lkZ2V0OiBBWFdpZGdldENvbmZpZykge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLm5ld1dpZGdldCA9IHtcbiAgICAgICAgdW5pcXVlTmFtZTogd2lkZ2V0LnVuaXF1ZU5hbWUsXG4gICAgICAgIGNvbXBvbmVudDogd2lkZ2V0LmNvbXBvbmVudCxcbiAgICAgICAgdGl0bGU6IHdpZGdldC50aXRsZSxcbiAgICAgICAgY29sOiAxLFxuICAgICAgICByb3c6IDEsXG4gICAgICAgIHNpemVYOiB3aWRnZXQuc2l6ZVgsXG4gICAgICAgIHNpemVZOiB3aWRnZXQuc2l6ZVksXG4gICAgICAgIG9wdGlvbnM6IHdpZGdldC5vcHRpb25zLFxuICAgICAgICBwcm9wczogd2lkZ2V0LnByb3BzXG4gICAgICB9O1xuICAgICAgdGhpcy5kZXRlY3RGaXJzdEVtcHR5U2xvdCh0aGlzLm5ld1dpZGdldCk7XG4gICAgICBjb25zdCB3ID0ge1xuICAgICAgICB1bmlxdWVOYW1lOiB0aGlzLm5ld1dpZGdldC51bmlxdWVOYW1lLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMubmV3V2lkZ2V0LmNvbXBvbmVudCxcbiAgICAgICAgdGl0bGU6IHRoaXMubmV3V2lkZ2V0LnRpdGxlLFxuICAgICAgICBvcHRpb25zOiB0aGlzLm5ld1dpZGdldC5vcHRpb25zLFxuICAgICAgICBwcm9wczogdGhpcy5uZXdXaWRnZXQucHJvcHMsXG4gICAgICAgIHNpemVYOiB0aGlzLm5ld1dpZGdldC5zaXplWCxcbiAgICAgICAgc2l6ZVk6IHRoaXMubmV3V2lkZ2V0LnNpemVZLFxuICAgICAgICBjb2w6IHRoaXMubmV3V2lkZ2V0LmNvbCxcbiAgICAgICAgcm93OiB0aGlzLm5ld1dpZGdldC5yb3dcbiAgICAgIH07XG4gICAgICB0aGlzLndpZGdldHMucHVzaCh3KTtcbiAgICAgIHRoaXMubmV3V2lkZ2V0ID0gbnVsbDtcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuY2FsY0dyaWRTaXplKCk7XG4gICAgICAgIHRoaXMuZW1pdENvbmZpZ0NoYW5nZWQoJ2FkZCcpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB3WydfX21ldGFfXyddLmluc3RhbmNlLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5kcmFnU3RhcnQuYmluZCh0aGlzKSwgZmFsc2UpO1xuICAgICAgICB9LCAxMDAwKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cblxuICBoYW5kbGVPblJlbW92ZSh3OiBBWFdpZGdldEhvc3RDb21wb25lbnQpIHtcbiAgICB3LmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZV9fYW5pbWF0ZWQnLCAnYW5pbWF0ZV9fem9vbU91dCcpO1xuICAgIHcuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCAoKSA9PiB7XG4gICAgICB0aGlzLndpZGdldHMgPSB0aGlzLndpZGdldHMuZmlsdGVyKChjKSA9PiAoYyBhcyBhbnkpLl9fbWV0YV9fLmlkICE9PSAody5jb25maWcgYXMgYW55KS5fX21ldGFfXy5pZCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLmNhbGNHcmlkU2l6ZSgpO1xuICAgICAgdGhpcy5lbWl0Q29uZmlnQ2hhbmdlZCgncmVtb3ZlJyk7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVPblNhdmUoZTogQVhXaWRnZXRDb25maWdTYXZlZEV2ZW50KSB7XG4gICAgdGhpcy5vbldpZGdldFNhdmUuZW1pdChlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSkge1xuICAgIGlmICghaXRlbVsnX19tZXRhX18nXT8uaWQpIHtcbiAgICAgIGl0ZW1bJ19fbWV0YV9fJ10gPSB7fTtcbiAgICAgIGl0ZW1bJ19fbWV0YV9fJ10uaWQgPSBBWEh0bWxVdGlsLmdldFVJRCgpO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbVsnX19tZXRhX18nXT8uaWQ7XG4gIH1cblxuXG4gIGxvYWQod2lkZ2V0czogc3RyaW5nIHwgQVhXaWRnZXRDb25maWdbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHdpZGdldHMpIHtcbiAgICAgICAgY29uc3QgbG9hZGVkV2lkZ2V0czogQVhXaWRnZXRDb25maWdbXSA9IFtdO1xuICAgICAgICBpZiAodHlwZW9mIHdpZGdldHMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxvYWRlZFdpZGdldHMucHVzaCguLi5KU09OLnBhcnNlKHdpZGdldHMpKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdENvbmZpZ0NoYW5nZWQoJ2xvYWQnKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0KCdJbnZhbGlkIHdpZGdldCBqc29uIGRhdGEhJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGxvYWRlZFdpZGdldHMucHVzaCguLi53aWRnZXRzKTtcbiAgICAgICAgICB0aGlzLmVtaXRDb25maWdDaGFuZ2VkKCdsb2FkJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGludGVydmFsSWQ6IG51bWJlciA9IC0xO1xuICAgICAgICBjb25zdCBsb2FkRnVuYyA9ICgpID0+IHtcblxuICAgICAgICAgIGlmICh0aGlzLmdhbGxlcnlJdGVtcyAmJiB0aGlzLmdhbGxlcnlJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsb2FkZWRXaWRnZXRzLmZvckVhY2godyA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGdpdGVtID0gdGhpcy5nYWxsZXJ5SXRlbXMuZmluZChjID0+IGMudW5pcXVlTmFtZSA9PT0gdy51bmlxdWVOYW1lKTtcbiAgICAgICAgICAgICAgaWYgKGdpdGVtKSB7XG4gICAgICAgICAgICAgICAgdy5jb21wb25lbnQgPSBnaXRlbS5jb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGdpdGVtLnByb3BzKSB7XG4gICAgICAgICAgICAgICAgICB3LnByb3BzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShnaXRlbS5wcm9wcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLndpZGdldHMucHVzaCguLi5sb2FkZWRXaWRnZXRzKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdENvbmZpZ0NoYW5nZWQoJ2xvYWQnKTtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKGludGVydmFsSWQpO1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbChsb2FkRnVuYywgMjAwKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBpZiAodGhpcy53aWRnZXRzLmxlbmd0aCkge1xuICAgICAgdGhpcy53aWRnZXRzID0gW107XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLnNhdmVTdWJqZWN0Lm5leHQoJ2NsZWFyJyk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IG9iaiA9IHRoaXMud2lkZ2V0cy5tYXAoYyA9PiAoe1xuICAgICAgdW5pcXVlTmFtZTogYy51bmlxdWVOYW1lLFxuICAgICAgY29tcG9uZW50OiBjLmNvbXBvbmVudCxcbiAgICAgIHRpdGxlOiBjLnRpdGxlLFxuICAgICAgc2l6ZVg6IGMuc2l6ZVgsXG4gICAgICBzaXplWTogYy5zaXplWSxcbiAgICAgIGNvbDogYy5jb2wsXG4gICAgICByb3c6IGMucm93LFxuICAgICAgb3B0aW9uczogYy5vcHRpb25zLFxuICAgICAgcHJvcHM6IGMucHJvcHNcbiAgICB9KSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShKU09OLnN0cmluZ2lmeShvYmopKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy53aWRnZXRIb3N0cy5mb3JFYWNoKGhvc3QgPT4ge1xuICAgICAgaG9zdC53aWRnZXQucmVmcmVzaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlT25Db25maWdDaGFuZ2VkKGU6IEFYV2lkZ2V0Q29uZmlnQ2hhbmdlZCkge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNhdmVTdWJqZWN0Lm5leHQoJ2NvbmZpZycpO1xuICB9XG5cbiAgaGFuZGxlT25SZXNpemVkQ2hhbmdlZChlOiBBWFdpZGdldENvbmZpZ0NoYW5nZWQpIHtcbiAgICB0aGlzLmRldGVjdEZpcnN0RW1wdHlTbG90KGUuY29uZmlnKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zYXZlU3ViamVjdC5uZXh0KCdjb25maWcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENvbmZpZ0NoYW5nZWQobW9kZTogJ2NsZWFyJyB8ICdhZGQnIHwgJ3JlbW92ZScgfCAnbG9hZCcgfCAnY29uZmlnJykge1xuICAgIHRoaXMub25Db25maWdDaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgbW9kZTogbW9kZVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2lkZ2V0cy1jb250YWluZXJcIiBbY2xhc3MucnRsXT1cInJ0bFwiICNjb250YWluZXI+XG4gICAgPGF4LXdpZGdldC1ob3N0ICpuZ0Zvcj1cImxldCB3IG9mIHdpZGdldHM7dHJhY2tCeTogdHJhY2tCeUZuXCIgIFtjb25maWddPSd3JyBbc2l6ZVhdPVwidy5zaXplWFwiIFtyZWFkb25seV09XCJyZWFkb25seSB8fCB3LnJlYWRvbmx5XCJcbiAgICAgICAgW3NpemVZXT1cIncuc2l6ZVlcIiBbY29sXT1cIncuY29sXCIgW3Jvd109XCJ3LnJvd1wiIChvblJlbW92ZSk9XCJoYW5kbGVPblJlbW92ZSgkZXZlbnQpXCIgKG9uU2F2ZSk9XCJoYW5kbGVPblNhdmUoJGV2ZW50KVwiXG4gICAgICAgIChvbkNvbmZpZ0NoYW5nZWQpPVwiaGFuZGxlT25Db25maWdDaGFuZ2VkKCRldmVudClcIiAob25SZXNpemVkKT1cImhhbmRsZU9uUmVzaXplZENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtwcm92aWRlVmFsdWVdPVwicHJvdmlkZVZhbHVlXCI+XG4gICAgPC9heC13aWRnZXQtaG9zdD5cbjwvZGl2PlxuIl19
@@ -1,8 +1,8 @@
1
- import { NgModule } from '@angular/core';
1
+ import { NO_ERRORS_SCHEMA, NgModule } from '@angular/core';
2
2
  import { AXWidgetBoardComponent } from './widget-board.component';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { AXWidgetHostComponent } from './widget-host.component';
5
- import { AXSearchBoxModule, AXLoadingModule, AXProppertyEditorModule, AXPageModule, AXLabelModule, AXToolbarModule, AXTabStripModule, AXMenuModule, AXFormGroupModule, AXTextAreaModule, AXTextBoxModule, AXFieldsetModule, AXCheckBoxModule, AXValidationModule } from '@acorex/components';
5
+ import { AXSearchBoxModule, AXLoadingModule, AXProppertyEditorModule, AXPageModule, AXLabelModule, AXToolbarModule, AXTabStripModule, AXMenuModule, AXFormGroupModule, AXTextAreaModule, AXTextBoxModule, AXFieldsetModule, AXCheckBoxModule, AXValidationModule, } from '@acorex/components';
6
6
  import { RouterModule } from '@angular/router';
7
7
  import { AXWidgetConfigComponent } from './widget-config.component';
8
8
  import { AXTranslator, AXTranslatorModule } from '@acorex/core';
@@ -18,18 +18,21 @@ export class AXWidgetBoardModule {
18
18
  AXTranslator.load('en', {
19
19
  'widget-board': {
20
20
  'configurable-props': 'Configurable Properties',
21
- configure: 'Configure Widget'
22
- }
21
+ configure: 'Configure Widget',
22
+ },
23
23
  });
24
24
  AXTranslator.load('fa', {
25
25
  'widget-board': {
26
26
  'configurable-props': 'ویژگی های قابل تنظیم',
27
- configure: 'پیکر بندی ابزارک'
28
- }
27
+ configure: 'پیکر بندی ابزارک',
28
+ },
29
29
  });
30
30
  }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetBoardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetBoardModule, declarations: [AXWidgetBoardComponent, AXWidgetHostComponent, AXWidgetConfigComponent, AXWidgetSaveComponent], imports: [CommonModule,
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetBoardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetBoardModule, declarations: [AXWidgetBoardComponent,
33
+ AXWidgetHostComponent,
34
+ AXWidgetConfigComponent,
35
+ AXWidgetSaveComponent], imports: [CommonModule,
33
36
  AXSearchBoxModule,
34
37
  AXLoadingModule,
35
38
  RouterModule,
@@ -47,7 +50,7 @@ export class AXWidgetBoardModule {
47
50
  AXMenuModule,
48
51
  AXTranslatorModule,
49
52
  AXValidationModule, i1.RouterModule], exports: [AXWidgetBoardComponent, AXProppertyEditorModule] });
50
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetBoardModule, imports: [CommonModule,
53
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetBoardModule, imports: [CommonModule,
51
54
  AXSearchBoxModule,
52
55
  AXLoadingModule,
53
56
  RouterModule,
@@ -68,11 +71,11 @@ export class AXWidgetBoardModule {
68
71
  RouterModule.forChild([
69
72
  {
70
73
  component: AXWidgetSizePropertyEditorComponent,
71
- path: 'ax/editors/widget-size'
74
+ path: 'ax/editors/widget-size',
72
75
  },
73
76
  ]), AXProppertyEditorModule] });
74
77
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetBoardModule, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetBoardModule, decorators: [{
76
79
  type: NgModule,
77
80
  args: [{
78
81
  imports: [
@@ -97,13 +100,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
97
100
  RouterModule.forChild([
98
101
  {
99
102
  component: AXWidgetSizePropertyEditorComponent,
100
- path: 'ax/editors/widget-size'
103
+ path: 'ax/editors/widget-size',
101
104
  },
102
- ])
105
+ ]),
103
106
  ],
104
107
  exports: [AXWidgetBoardComponent, AXProppertyEditorModule],
105
- declarations: [AXWidgetBoardComponent, AXWidgetHostComponent, AXWidgetConfigComponent, AXWidgetSaveComponent],
106
- providers: []
108
+ declarations: [
109
+ AXWidgetBoardComponent,
110
+ AXWidgetHostComponent,
111
+ AXWidgetConfigComponent,
112
+ AXWidgetSaveComponent,
113
+ ],
114
+ providers: [],
115
+ schemas: [NO_ERRORS_SCHEMA],
107
116
  }]
108
- }], ctorParameters: function () { return []; } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1ib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNILGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFlBQVksRUFBRSxhQUFhLEVBQzNCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQzVGLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFFdEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWlDaEUsTUFBTSxPQUFPLG1CQUFtQjtJQUM1Qjs7T0FFRztJQUNIO1FBQ0ksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDcEIsY0FBYyxFQUFFO2dCQUNaLG9CQUFvQixFQUFFLHlCQUF5QjtnQkFDL0MsU0FBUyxFQUFFLGtCQUFrQjthQUNoQztTQUNKLENBQUMsQ0FBQztRQUNILFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3BCLGNBQWMsRUFBRTtnQkFDWixvQkFBb0IsRUFBRSxzQkFBc0I7Z0JBQzVDLFNBQVMsRUFBRSxrQkFBa0I7YUFDaEM7U0FDSixDQUFDLENBQUM7SUFFUCxDQUFDO3dHQWxCUSxtQkFBbUI7eUdBQW5CLG1CQUFtQixpQkFIYixzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsYUExQnhHLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsWUFBWTtZQUNaLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsa0JBQWtCLDhCQVFaLHNCQUFzQixFQUFFLHVCQUF1Qjt5R0FJaEQsbUJBQW1CLFlBN0J4QixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixZQUFZO1lBQ1osdUJBQXVCO1lBQ3ZCLFlBQVk7WUFDWixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNsQjtvQkFDSSxTQUFTLEVBQUUsbUNBQW1DO29CQUM5QyxJQUFJLEVBQUUsd0JBQXdCO2lCQUNqQzthQUNKLENBQUMsRUFFNEIsdUJBQXVCOzs0RkFJaEQsbUJBQW1CO2tCQS9CL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsWUFBWSxDQUFDLFFBQVEsQ0FBQzs0QkFDbEI7Z0NBQ0ksU0FBUyxFQUFFLG1DQUFtQztnQ0FDOUMsSUFBSSxFQUFFLHdCQUF3Qjs2QkFDakM7eUJBQ0osQ0FBQztxQkFDTDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDMUQsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUM7b0JBQzdHLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFdpZGdldEJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQtYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWFdpZGdldEhvc3RDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFByb3BwZXJ0eUVkaXRvck1vZHVsZSxcbiAgICBBWFBhZ2VNb2R1bGUsIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhUb29sYmFyTW9kdWxlLFxuICAgIEFYVGFiU3RyaXBNb2R1bGUsXG4gICAgQVhNZW51TW9kdWxlLFxuICAgIEFYRm9ybUdyb3VwTW9kdWxlLFxuICAgIEFYVGV4dEFyZWFNb2R1bGUsIEFYVGV4dEJveE1vZHVsZSwgQVhGaWVsZHNldE1vZHVsZSwgQVhDaGVja0JveE1vZHVsZSwgQVhWYWxpZGF0aW9uTW9kdWxlXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhXaWRnZXRDb25maWdDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1jb25maWcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYVHJhbnNsYXRvciwgQVhUcmFuc2xhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3dpZGdldC1zaXplLWVkaXRvci93aWRnZXQtc2l6ZS5lZGl0b3InO1xuaW1wb3J0IHsgQVhXaWRnZXRTaXplUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvd2lkZ2V0LXNpemUtZWRpdG9yL3dpZGdldC1zaXplLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFdpZGdldFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1zYXZlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgICAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgQVhQcm9wcGVydHlFZGl0b3JNb2R1bGUsXG4gICAgICAgIEFYUGFnZU1vZHVsZSxcbiAgICAgICAgQVhUb29sYmFyTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0b3JNb2R1bGUsXG4gICAgICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgICAgIEFYVGV4dEFyZWFNb2R1bGUsXG4gICAgICAgIEFYRmllbGRzZXRNb2R1bGUsXG4gICAgICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICAgICAgQVhGb3JtR3JvdXBNb2R1bGUsXG4gICAgICAgIEFYVGFiU3RyaXBNb2R1bGUsXG4gICAgICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgICAgIEFYTWVudU1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdG9yTW9kdWxlLFxuICAgICAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBBWFdpZGdldFNpemVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy93aWRnZXQtc2l6ZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBleHBvcnRzOiBbQVhXaWRnZXRCb2FyZENvbXBvbmVudCwgQVhQcm9wcGVydHlFZGl0b3JNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0FYV2lkZ2V0Qm9hcmRDb21wb25lbnQsIEFYV2lkZ2V0SG9zdENvbXBvbmVudCwgQVhXaWRnZXRDb25maWdDb21wb25lbnQsIEFYV2lkZ2V0U2F2ZUNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBWFdpZGdldEJvYXJkTW9kdWxlIHtcbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBBWFRyYW5zbGF0b3IubG9hZCgnZW4nLCB7XG4gICAgICAgICAgICAnd2lkZ2V0LWJvYXJkJzoge1xuICAgICAgICAgICAgICAgICdjb25maWd1cmFibGUtcHJvcHMnOiAnQ29uZmlndXJhYmxlIFByb3BlcnRpZXMnLFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyZTogJ0NvbmZpZ3VyZSBXaWRnZXQnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBBWFRyYW5zbGF0b3IubG9hZCgnZmEnLCB7XG4gICAgICAgICAgICAnd2lkZ2V0LWJvYXJkJzoge1xuICAgICAgICAgICAgICAgICdjb25maWd1cmFibGUtcHJvcHMnOiAn2YjbjNqY2q/bjCDZh9in24wg2YLYp9io2YQg2KrZhti424zZhScsXG4gICAgICAgICAgICAgICAgY29uZmlndXJlOiAn2b7bjNqp2LEg2KjZhtiv24wg2KfYqNiy2KfYsdqpJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgIH1cblxufVxuIl19
117
+ }], ctorParameters: () => [] });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1ib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixhQUFhLEVBQ2IsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV0RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBdUNoRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOztPQUVHO0lBQ0g7UUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN0QixjQUFjLEVBQUU7Z0JBQ2Qsb0JBQW9CLEVBQUUseUJBQXlCO2dCQUMvQyxTQUFTLEVBQUUsa0JBQWtCO2FBQzlCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdEIsY0FBYyxFQUFFO2dCQUNkLG9CQUFvQixFQUFFLHNCQUFzQjtnQkFDNUMsU0FBUyxFQUFFLGtCQUFrQjthQUM5QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBakJVLG1CQUFtQjt3R0FBbkIsbUJBQW1CLGlCQVI1QixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixxQkFBcUIsYUE5QnJCLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsWUFBWTtZQUNaLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsa0JBQWtCLDhCQVFWLHNCQUFzQixFQUFFLHVCQUF1Qjt3R0FVOUMsbUJBQW1CLFlBbkM1QixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixZQUFZO1lBQ1osdUJBQXVCO1lBQ3ZCLFlBQVk7WUFDWixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQjtvQkFDRSxTQUFTLEVBQUUsbUNBQW1DO29CQUM5QyxJQUFJLEVBQUUsd0JBQXdCO2lCQUMvQjthQUNGLENBQUMsRUFFOEIsdUJBQXVCOzsyRkFVOUMsbUJBQW1CO2tCQXJDL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsWUFBWSxDQUFDLFFBQVEsQ0FBQzs0QkFDcEI7Z0NBQ0UsU0FBUyxFQUFFLG1DQUFtQztnQ0FDOUMsSUFBSSxFQUFFLHdCQUF3Qjs2QkFDL0I7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDMUQsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTk9fRVJST1JTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYV2lkZ2V0Qm9hcmRDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1ib2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYV2lkZ2V0SG9zdENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0LWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFYU2VhcmNoQm94TW9kdWxlLFxuICBBWExvYWRpbmdNb2R1bGUsXG4gIEFYUHJvcHBlcnR5RWRpdG9yTW9kdWxlLFxuICBBWFBhZ2VNb2R1bGUsXG4gIEFYTGFiZWxNb2R1bGUsXG4gIEFYVG9vbGJhck1vZHVsZSxcbiAgQVhUYWJTdHJpcE1vZHVsZSxcbiAgQVhNZW51TW9kdWxlLFxuICBBWEZvcm1Hcm91cE1vZHVsZSxcbiAgQVhUZXh0QXJlYU1vZHVsZSxcbiAgQVhUZXh0Qm94TW9kdWxlLFxuICBBWEZpZWxkc2V0TW9kdWxlLFxuICBBWENoZWNrQm94TW9kdWxlLFxuICBBWFZhbGlkYXRpb25Nb2R1bGUsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhXaWRnZXRDb25maWdDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1jb25maWcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYVHJhbnNsYXRvciwgQVhUcmFuc2xhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3dpZGdldC1zaXplLWVkaXRvci93aWRnZXQtc2l6ZS5lZGl0b3InO1xuaW1wb3J0IHsgQVhXaWRnZXRTaXplUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvd2lkZ2V0LXNpemUtZWRpdG9yL3dpZGdldC1zaXplLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFdpZGdldFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1zYXZlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWFByb3BwZXJ0eUVkaXRvck1vZHVsZSxcbiAgICBBWFBhZ2VNb2R1bGUsXG4gICAgQVhUb29sYmFyTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRvck1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYVGV4dEFyZWFNb2R1bGUsXG4gICAgQVhGaWVsZHNldE1vZHVsZSxcbiAgICBBWFRleHRCb3hNb2R1bGUsXG4gICAgQVhGb3JtR3JvdXBNb2R1bGUsXG4gICAgQVhUYWJTdHJpcE1vZHVsZSxcbiAgICBBWENoZWNrQm94TW9kdWxlLFxuICAgIEFYTWVudU1vZHVsZSxcbiAgICBBWFRyYW5zbGF0b3JNb2R1bGUsXG4gICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhXaWRnZXRTaXplUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3dpZGdldC1zaXplJyxcbiAgICAgIH0sXG4gICAgXSksXG4gIF0sXG4gIGV4cG9ydHM6IFtBWFdpZGdldEJvYXJkQ29tcG9uZW50LCBBWFByb3BwZXJ0eUVkaXRvck1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFYV2lkZ2V0Qm9hcmRDb21wb25lbnQsXG4gICAgQVhXaWRnZXRIb3N0Q29tcG9uZW50LFxuICAgIEFYV2lkZ2V0Q29uZmlnQ29tcG9uZW50LFxuICAgIEFYV2lkZ2V0U2F2ZUNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbiAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFdpZGdldEJvYXJkTW9kdWxlIHtcbiAgLyoqXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBBWFRyYW5zbGF0b3IubG9hZCgnZW4nLCB7XG4gICAgICAnd2lkZ2V0LWJvYXJkJzoge1xuICAgICAgICAnY29uZmlndXJhYmxlLXByb3BzJzogJ0NvbmZpZ3VyYWJsZSBQcm9wZXJ0aWVzJyxcbiAgICAgICAgY29uZmlndXJlOiAnQ29uZmlndXJlIFdpZGdldCcsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIEFYVHJhbnNsYXRvci5sb2FkKCdmYScsIHtcbiAgICAgICd3aWRnZXQtYm9hcmQnOiB7XG4gICAgICAgICdjb25maWd1cmFibGUtcHJvcHMnOiAn2YjbjNqY2q/bjCDZh9in24wg2YLYp9io2YQg2KrZhti424zZhScsXG4gICAgICAgIGNvbmZpZ3VyZTogJ9m+24zaqdixINio2YbYr9uMINin2KjYstin2LHaqScsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -72,14 +72,14 @@ export class AXWidgetConfigComponent extends AXBasePopupPageComponent {
72
72
  identify(index, item) {
73
73
  return item.property.name;
74
74
  }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetConfigComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
76
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXWidgetConfigComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-page>\n <ax-page-content>\n <div class=\"container\">\n <ax-validation-form #form>\n <div class=\"row\" *ngFor=\"let p of displayProps; trackBy: identify\">\n <div class=\"col-12\">\n <ax-label>{{p.property.title | trans}}</ax-label>\n <ng-container ax-property-editor-renderer [property]=\"p\" [context]=\"context\" [host]=\"widget\" [validationForm]=\"form\"\n (onValueChange)=\"handleValueChange($event)\">\n </ng-container>\n </div>\n </div>\n </ax-validation-form>\n </div>\n </ax-page-content>\n</ax-page>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }, { kind: "component", type: i2.AXPageContentComponent, selector: "ax-page-content" }, { kind: "component", type: i2.AXPageComponent, selector: "ax-page" }, { kind: "component", type: i2.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { kind: "component", type: i2.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetConfigComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AXWidgetConfigComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-page>\n <ax-page-content>\n <div class=\"container\">\n <ax-validation-form #form>\n <div class=\"row\" *ngFor=\"let p of displayProps; trackBy: identify\">\n <div class=\"col-12\">\n <ax-label>{{p.property.title | trans}}</ax-label>\n <ng-container ax-property-editor-renderer [property]=\"p\" [context]=\"context\" [host]=\"widget\" [validationForm]=\"form\"\n (onValueChange)=\"handleValueChange($event)\">\n </ng-container>\n </div>\n </div>\n </ax-validation-form>\n </div>\n </ax-page-content>\n</ax-page>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }, { kind: "component", type: i2.AXPageContentComponent, selector: "ax-page-content" }, { kind: "component", type: i2.AXPageComponent, selector: "ax-page" }, { kind: "component", type: i2.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { kind: "component", type: i2.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXWidgetConfigComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AXWidgetConfigComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-page>\n <ax-page-content>\n <div class=\"container\">\n <ax-validation-form #form>\n <div class=\"row\" *ngFor=\"let p of displayProps; trackBy: identify\">\n <div class=\"col-12\">\n <ax-label>{{p.property.title | trans}}</ax-label>\n <ng-container ax-property-editor-renderer [property]=\"p\" [context]=\"context\" [host]=\"widget\" [validationForm]=\"form\"\n (onValueChange)=\"handleValueChange($event)\">\n </ng-container>\n </div>\n </div>\n </ax-validation-form>\n </div>\n </ax-page-content>\n</ax-page>" }]
81
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { form: [{
81
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { form: [{
82
82
  type: ViewChild,
83
83
  args: [AXValidationFormComponent]
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL3dpZGdldC1ib2FyZC93aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFvQix3QkFBd0IsRUFBeUQseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSyxPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFVMUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHdCQUF3QjtJQUk3QztJQUZrQixJQUFJLENBQTRCO0lBRXRFLFlBQW9CLEdBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFMUMsQ0FBQztJQUdELE1BQU0sQ0FBb0I7SUFDMUIsS0FBSyxHQUF1QixFQUFFLENBQUM7SUFDL0IsWUFBWSxHQUF1QixFQUFFLENBQUM7SUFHdEMsT0FBTyxHQUF1QixFQUFFLENBQUM7SUFFakMsT0FBTyxHQUFRLEVBQUUsQ0FBQztJQUdsQixnQkFBZ0I7UUFDWixPQUFPO1lBQ0g7Z0JBQ0ksSUFBSSxFQUFFLE1BQU07Z0JBQ1osY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2dCQUN4QyxLQUFLLEVBQUUsU0FBUzthQUNuQjtZQUNEO2dCQUNJLElBQUksRUFBRSxRQUFRO2dCQUNkLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3ZDLEtBQUssRUFBRSxjQUFjO2FBQ3hCO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFNRCxtQkFBbUIsQ0FBQyxDQUF1QjtRQUN2QyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRTtvQkFDVixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDNUI7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLENBQWtDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztTQUN4QjthQUNJO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDL0Q7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3SCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdPLGFBQWE7UUFDakIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBR0QsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFzQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7d0dBcEZRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDBGQUVyQix5QkFBeUIsdUVDZHhDLG90QkFlVTs7NEZESEcsdUJBQXVCO2tCQU5uQyxTQUFTO29DQUVTLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07d0dBS1QsSUFBSTtzQkFBekMsU0FBUzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQcm9wZXJ0eUNvbmZpZywgQVhCYXNlUG9wdXBQYWdlQ29tcG9uZW50LCBBWE1lbnVJdGVtQ2xpY2tFdmVudCwgQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCwgQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWEJ1dHRvbkl0ZW0sIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBBWFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0LmNsYXNzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIEFYV2lkZ2V0Q29uZmlnQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUG9wdXBQYWdlQ29tcG9uZW50IHtcblxuICAgIEBWaWV3Q2hpbGQoQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCkgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuXG4gICAgd2lkZ2V0OiBBWFdpZGdldENvbXBvbmVudDtcbiAgICBwcm9wczogQVhQcm9wZXJ0eUNvbmZpZ1tdID0gW107XG4gICAgZGlzcGxheVByb3BzOiBBWFByb3BlcnR5Q29uZmlnW10gPSBbXTtcblxuXG4gICAgY2hhbmdlczogQVhQcm9wZXJ0eUNvbmZpZ1tdID0gW107XG5cbiAgICBjb250ZXh0OiBhbnkgPSB7fTtcblxuXG4gICAgZ2V0Rm9vdGVyQnV0dG9ucygpOiBBWEJ1dHRvbkl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ29rYXknLFxuICAgICAgICAgICAgICAgIHN1Ym1pdEJlaGF2aW9yOiB0cnVlLFxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5jb25maXJtJyksXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdzdWNjZXNzJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgICAgICAgICBjYW5jZWxCZWhhdmlvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY2FuY2VsJyksXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdkYW5nZXIgYmxhbmsnXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG5cblxuXG5cbiAgICBvbkZvb3RlckJ1dHRvbkNsaWNrKGU6IEFYTWVudUl0ZW1DbGlja0V2ZW50KSB7XG4gICAgICAgIGlmIChlLm5hbWUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ29rYXknKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0udmFsaWRhdGUoKS50aGVuKGMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKHRoaXMuY2hhbmdlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVWYWx1ZUNoYW5nZShlOiBBWFByb3BlcnlFZGl0b3JWYWx1ZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHByb3AgPSB0aGlzLmNoYW5nZXMuZmluZChjID0+IGMucHJvcGVydHkubmFtZSA9PT0gZS5wcm9wZXJ0eS5uYW1lKTtcbiAgICAgICAgaWYgKHByb3ApIHtcbiAgICAgICAgICAgIHByb3AudmFsdWUgPSBlLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzLnB1c2goeyBwcm9wZXJ0eTogZS5wcm9wZXJ0eSwgdmFsdWU6IGUudmFsdWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVByb3BzID0gdGhpcy5wcm9wcy5maWx0ZXIoYyA9PiBjLnByb3BlcnR5LnZpc2libGUgIT09IGZhbHNlKS5zb3J0KChhLCBiKSA9PiBhLnByb3BlcnR5Lm9yZGVyIC0gYi5wcm9wZXJ0eS5vcmRlcik7XG4gICAgICAgIHRoaXMudXBkYXRlQ29udGV4dCgpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb250ZXh0KCkge1xuICAgICAgICBjb25zdCBjdHggPSB7fTtcbiAgICAgICAgdGhpcy5wcm9wcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgICAgICAgY3R4W3AucHJvcGVydHkubmFtZV0gPSBwLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFuZ2VzLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICBjdHhbcC5wcm9wZXJ0eS5uYW1lXSA9IHAudmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRleHQgPSBjdHg7XG4gICAgfVxuXG5cbiAgICBpZGVudGlmeShpbmRleCwgaXRlbTogQVhQcm9wZXJ0eUNvbmZpZykge1xuICAgICAgICByZXR1cm4gaXRlbS5wcm9wZXJ0eS5uYW1lO1xuICAgIH1cblxufSIsIjxheC1wYWdlPlxuICAgIDxheC1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLWZvcm0gI2Zvcm0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0Zvcj1cImxldCBwIG9mIGRpc3BsYXlQcm9wczsgdHJhY2tCeTogaWRlbnRpZnlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7cC5wcm9wZXJ0eS50aXRsZSB8IHRyYW5zfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBheC1wcm9wZXJ0eS1lZGl0b3ItcmVuZGVyZXIgW3Byb3BlcnR5XT1cInBcIiBbY29udGV4dF09XCJjb250ZXh0XCIgW2hvc3RdPVwid2lkZ2V0XCIgIFt2YWxpZGF0aW9uRm9ybV09XCJmb3JtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24tZm9ybT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9heC1wYWdlLWNvbnRlbnQ+XG48L2F4LXBhZ2U+Il19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xheW91dC9zcmMvbGliL3dpZGdldC1ib2FyZC93aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbGF5b3V0L3NyYy9saWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFvQix3QkFBd0IsRUFBeUQseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSyxPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFVMUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHdCQUF3QjtJQUk3QztJQUZrQixJQUFJLENBQTRCO0lBRXRFLFlBQW9CLEdBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFMUMsQ0FBQztJQUdELE1BQU0sQ0FBb0I7SUFDMUIsS0FBSyxHQUF1QixFQUFFLENBQUM7SUFDL0IsWUFBWSxHQUF1QixFQUFFLENBQUM7SUFHdEMsT0FBTyxHQUF1QixFQUFFLENBQUM7SUFFakMsT0FBTyxHQUFRLEVBQUUsQ0FBQztJQUdsQixnQkFBZ0I7UUFDWixPQUFPO1lBQ0g7Z0JBQ0ksSUFBSSxFQUFFLE1BQU07Z0JBQ1osY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2dCQUN4QyxLQUFLLEVBQUUsU0FBUzthQUNuQjtZQUNEO2dCQUNJLElBQUksRUFBRSxRQUFRO2dCQUNkLGNBQWMsRUFBRSxJ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dCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFByb3BlcnR5Q29uZmlnLCBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQsIEFYTWVudUl0ZW1DbGlja0V2ZW50LCBBWFByb3BlcnlFZGl0b3JWYWx1ZUNoYW5nZUV2ZW50LCBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYQnV0dG9uSXRlbSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQuY2xhc3MnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgQVhXaWRnZXRDb25maWdDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQge1xuXG4gICAgQFZpZXdDaGlsZChBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50KSBmb3JtOiBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG5cbiAgICB3aWRnZXQ6IEFYV2lkZ2V0Q29tcG9uZW50O1xuICAgIHByb3BzOiBBWFByb3BlcnR5Q29uZmlnW10gPSBbXTtcbiAgICBkaXNwbGF5UHJvcHM6IEFYUHJvcGVydHlDb25maWdbXSA9IFtdO1xuXG5cbiAgICBjaGFuZ2VzOiBBWFByb3BlcnR5Q29uZmlnW10gPSBbXTtcblxuICAgIGNvbnRleHQ6IGFueSA9IHt9O1xuXG5cbiAgICBnZXRGb290ZXJCdXR0b25zKCk6IEFYQnV0dG9uSXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnb2theScsXG4gICAgICAgICAgICAgICAgc3VibWl0QmVoYXZpb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpcm0nKSxcbiAgICAgICAgICAgICAgICBzdHlsZTogJ3N1Y2Nlc3MnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdjYW5jZWwnLFxuICAgICAgICAgICAgICAgIGNhbmNlbEJlaGF2aW9yOiB0cnVlLFxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5jYW5jZWwnKSxcbiAgICAgICAgICAgICAgICBzdHlsZTogJ2RhbmdlciBibGFuaydcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cblxuXG5cblxuICAgIG9uRm9vdGVyQnV0dG9uQ2xpY2soZTogQVhNZW51SXRlbUNsaWNrRXZlbnQpIHtcbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5uYW1lID09PSAnb2theScpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oYyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGMucmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UodGhpcy5jaGFuZ2VzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVZhbHVlQ2hhbmdlKGU6IEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcHJvcCA9IHRoaXMuY2hhbmdlcy5maW5kKGMgPT4gYy5wcm9wZXJ0eS5uYW1lID09PSBlLnByb3BlcnR5Lm5hbWUpO1xuICAgICAgICBpZiAocHJvcCkge1xuICAgICAgICAgICAgcHJvcC52YWx1ZSA9IGUudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZXMucHVzaCh7IHByb3BlcnR5OiBlLnByb3BlcnR5LCB2YWx1ZTogZS52YWx1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRleHQoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvcHMgPSB0aGlzLnByb3BzLmZpbHRlcihjID0+IGMucHJvcGVydHkudmlzaWJsZSAhPT0gZmFsc2UpLnNvcnQoKGEsIGIpID0+IGEucHJvcGVydHkub3JkZXIgLSBiLnByb3BlcnR5Lm9yZGVyKTtcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0KCk7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvbnRleHQoKSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHt9O1xuICAgICAgICB0aGlzLnByb3BzLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICBjdHhbcC5wcm9wZXJ0eS5uYW1lXSA9IHAudmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5nZXMuZm9yRWFjaChwID0+IHtcbiAgICAgICAgICAgIGN0eFtwLnByb3BlcnR5Lm5hbWVdID0gcC52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udGV4dCA9IGN0eDtcbiAgICB9XG5cblxuICAgIGlkZW50aWZ5KGluZGV4LCBpdGVtOiBBWFByb3BlcnR5Q29uZmlnKSB7XG4gICAgICAgIHJldHVybiBpdGVtLnByb3BlcnR5Lm5hbWU7XG4gICAgfVxuXG59IiwiPGF4LXBhZ2U+XG4gICAgPGF4LXBhZ2UtY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tZm9ybSAjZm9ybT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nRm9yPVwibGV0IHAgb2YgZGlzcGxheVByb3BzOyB0cmFja0J5OiBpZGVudGlmeVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3twLnByb3BlcnR5LnRpdGxlIHwgdHJhbnN9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4LXByb3BlcnR5LWVkaXRvci1yZW5kZXJlciBbcHJvcGVydHldPVwicFwiIFtjb250ZXh0XT1cImNvbnRleHRcIiBbaG9zdF09XCJ3aWRnZXRcIiAgW3ZhbGlkYXRpb25Gb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbi1mb3JtPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2F4LXBhZ2UtY29udGVudD5cbjwvYXgtcGFnZT4iXX0=