barsa-novin-ray-core 1.0.290 → 1.0.291
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/abstract-classes/number-base.mjs +4 -1
- package/esm2020/lib/dynamic-component/base-view-item-props.mjs +2 -1
- package/fesm2015/barsa-novin-ray-core.mjs +4 -0
- package/fesm2015/barsa-novin-ray-core.mjs.map +1 -1
- package/fesm2020/barsa-novin-ray-core.mjs +4 -0
- package/fesm2020/barsa-novin-ray-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -127,6 +127,9 @@ export class NumberBaseComponent extends FieldBaseComponent {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
+
else if (this.inputElement) {
|
|
131
|
+
this.inputElement.value = '';
|
|
132
|
+
}
|
|
130
133
|
this.value = newVal;
|
|
131
134
|
this.formmatedValue.emit(this.inputElement?.value);
|
|
132
135
|
this.valueChange.emit(this.value);
|
|
@@ -142,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
142
145
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
143
146
|
}]
|
|
144
147
|
}] });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbnVtYmVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFJdkQsSUFBSSxnQkFBZ0I7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxPQUFPO1lBQ1IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsS0FBSyxDQUFDO2dCQUN0RixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFD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TUFBTSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztpQkFDcEM7YUFDSjtTQUNKO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7Z0hBdklRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLCtFQUhsQixFQUFFOzJGQUdILG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLWJhc2UnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtbnVtYmVyLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJCYXNlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGhhc01hc2s6IGJvb2xlYW47XG4gICAgdGlja1JlZjogYW55O1xuICAgIHByb3RlY3RlZCBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIGdldCBkZWNpbWFsUHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQcmVjaXNpb24gPSBOdW1iZXIodGhpcy5TZXR0aW5nLkRlY2ltYWxQcmVjaXNpb24pO1xuICAgICAgICBpZiAoaXNOYU4oZGVjaW1hbFByZWNpc2lvbikpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWNpbWFsUHJlY2lzaW9uO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdGVkID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodGhpcy52YWx1ZSkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0ZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYXNNYXNrID1cbiAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuU2hvd1Rob3VzYW5kU2VwZXJhdG9yJywgZmFsc2UpIHx8XG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkRlY2ltYWxQcmVjaXNpb24nLCAwKSA+IDA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG4gICAgb25LZXlEb3duKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNDaGFyYWN0ZXIgPSB0aGlzLl9pc0NoYXJhY3RlcihlKTtcbiAgICAgICAgaWYgKCFpc0NoYXJhY3Rlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBuZXcgUmVnRXhwKCdeWzAtOSwuXSokJykudGVzdChlLmN1cnJlbnRUYXJnZXQudmFsdWUgKyBlLmtleSk7XG4gICAgICAgIGlmICghaXNWYWxpZCB8fCBlLmtleSA9PT0gJy4nKSB7XG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09ICcuJyAmJiB0aGlzLmlucHV0RWxlbWVudCAmJiB0aGlzLmRlY2ltYWxQcmVjaXNpb24gPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKCcuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24gKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25WYWx1ZUNoYW5nZShlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRleHQ6IHN0cmluZyA9IGUuY3VycmVudFRhcmdldD8udmFsdWUgfHwgJyc7XG4gICAgICAgIHRoaXMucmVGb3JtYXRWYWx1ZSh0ZXh0LCBlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5fc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnJlRm9ybWF0VmFsdWUodGhpcy52YWx1ZSwgeyB0YXJnZXQ6IHRoaXMuaW5wdXRFbGVtZW50IH0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2NsZWFySW50ZXJ2YWwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRpY2tSZWYpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aWNrUmVmKTtcbiAgICAgICAgICAgIHRoaXMudGlja1JlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pc0NoYXJhY3RlcihldnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHR5cGVvZiBldnQud2hpY2ggPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXZ0LndoaWNoID09PSAnbnVtYmVyJyAmJiBldnQud2hpY2ggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gIWV2dC5jdHJsS2V5ICYmICFldnQubWV0YUtleSAmJiAhZXZ0LmFsdEtleSAmJiBldnQud2hpY2ggIT09IDggJiYgZXZ0LmtleS5sZW5ndGggPT09IDE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfZ2V0Rm9ybWF0ZWQodmFsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWVyYWxQaXBlLnRyYW5zZm9ybSh2YWwsIHRoaXMuZGVjaW1hbFByZWNpc2lvbiwgdGhpcy5TZXR0aW5nLlNob3dUaG91c2FuZFNlcGVyYXRvcikudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRDdXJzb3JQb3NpdGlvbihjdXJzb3JQb3NpdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChjdXJzb3JQb3NpdGlvbiA+IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aCAmJiB0aGlzLmRlY2ltYWxQcmVjaXNpb24pIHtcbiAgICAgICAgICAgICAgICBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zaXRpb24sIGN1cnNvclBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIHJlRm9ybWF0VmFsdWUodGV4dDogc3RyaW5nIHwgbnVtYmVyLCBlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IG5ld1ZhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAodHlwZW9mIHRleHQgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB0ZXh0ID0gdGV4dC50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgIGxldCBpbmRleG9mRG90ID0gdGV4dC5pbmRleE9mKCcuJyk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXRFbGVtZW50Py5zZWxlY3Rpb25TdGFydDtcblxuICAgICAgICAgICAgY29uc3QgZGVjaW1hbFBlcnNpY2lvbiA9IHRoaXMuZGVjaW1hbFByZWNpc2lvbjtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsUGVyc2ljaW9uKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdCA9IHRleHQubGVuZ3RoIC0gKGluZGV4b2ZEb3QgKyAxKTtcbiAgICAgICAgICAgICAgICBpZiAodCA+IGRlY2ltYWxQZXJzaWNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlmZiA9IHQgLSBkZWNpbWFsUGVyc2ljaW9uO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgJiYgc2VsZWN0aW9uU3RhcnQgPCB0ZXh0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGV4dCA9IHRleHQuc3Vic3RyaW5nKDAsIHRleHQubGVuZ3RoIC0gZGlmZik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQuc3Vic3RyaW5nKHNlbGVjdGlvblN0YXJ0ICsgMSwgc2VsZWN0aW9uU3RhcnQgKyAxICsgdGV4dC5sZW5ndGggLSBkaWZmKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGZvcm1hdGVkOiBzdHJpbmcgPSB0aGlzLl9nZXRGb3JtYXRlZCh0ZXh0KS50b1N0cmluZygpO1xuICAgICAgICAgICAgbmV3VmFsID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZm9ybWF0ZWQpO1xuXG4gICAgICAgICAgICBsZXQgaW5kZXhPZkRvdEZvcm1hdGVkID0gZm9ybWF0ZWQuaW5kZXhPZignLicpO1xuXG4gICAgICAgICAgICBpZiAoZGVjaW1hbFBlcnNpY2lvbiA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGluZGV4b2ZEb3QgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICBpbmRleE9mRG90Rm9ybWF0ZWQgPSBmb3JtYXRlZC5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNNYXNrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnNvclBvc2l0aW9uID0gdGhpcy5pbnB1dEVsZW1lbnQ/LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgIGxldCBkaWZmID0gMDtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXhvZkRvdCA8IDAgJiYgZGVjaW1hbFBlcnNpY2lvbiA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0ZWQgPSB0aGlzLl9nZXRGb3JtYXRlZCh0ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsID0gdGhpcy5fbnVtZXJhbFBpcGUuZ2V0VmFsdWUoZm9ybWF0ZWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY3Vyc29yUG9zaXRpb24gIT0gbnVsbCAmJiBjdXJzb3JQb3NpdGlvbiA8PSBpbmRleG9mRG90KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpZmYgPSBpbmRleE9mRG90Rm9ybWF0ZWQgLSBpbmRleG9mRG90O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3JQb3NpdGlvbiArPSBkaWZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSBmb3JtYXRlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSBmb3JtYXRlZDtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRDdXJzb3JQb3NpdGlvbihjdXJzb3JQb3NpdGlvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IG5ld1ZhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbDtcbiAgICAgICAgdGhpcy5mb3JtbWF0ZWRWYWx1ZS5lbWl0KHRoaXMuaW5wdXRFbGVtZW50Py52YWx1ZSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG59XG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvbnVtYmVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFJdkQsSUFBSSxnQkFBZ0I7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxPQUFPO1lBQ1IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsS0FBSyxDQUFDO2dCQUN0RixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFD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TUFBTSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztpQkFDcEM7YUFDSjtTQUNKO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O2dIQXpJUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwrRUFIbEIsRUFBRTsyRkFHSCxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC1iYXNlJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLW51bWJlci1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyQmFzZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBoYXNNYXNrOiBib29sZWFuO1xuICAgIHRpY2tSZWY6IGFueTtcbiAgICBwcm90ZWN0ZWQgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBnZXQgZGVjaW1hbFByZWNpc2lvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUHJlY2lzaW9uID0gTnVtYmVyKHRoaXMuU2V0dGluZy5EZWNpbWFsUHJlY2lzaW9uKTtcbiAgICAgICAgaWYgKGlzTmFOKGRlY2ltYWxQcmVjaXNpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVjaW1hbFByZWNpc2lvbjtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXRlZCA9IHRoaXMuX2dldEZvcm1hdGVkKHRoaXMudmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9IGZvcm1hdGVkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFzTWFzayA9XG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLlNob3dUaG91c2FuZFNlcGVyYXRvcicsIGZhbHNlKSB8fFxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5EZWNpbWFsUHJlY2lzaW9uJywgMCkgPiAwO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuICAgIG9uS2V5RG93bihlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ2hhcmFjdGVyID0gdGhpcy5faXNDaGFyYWN0ZXIoZSk7XG4gICAgICAgIGlmICghaXNDaGFyYWN0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc1ZhbGlkID0gbmV3IFJlZ0V4cCgnXlswLTksLl0qJCcpLnRlc3QoZS5jdXJyZW50VGFyZ2V0LnZhbHVlICsgZS5rZXkpO1xuICAgICAgICBpZiAoIWlzVmFsaWQgfHwgZS5rZXkgPT09ICcuJykge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnLicgJiYgdGhpcy5pbnB1dEVsZW1lbnQgJiYgdGhpcy5kZWNpbWFsUHJlY2lzaW9uID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUuaW5kZXhPZignLicpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldEN1cnNvclBvc2l0aW9uKGN1cnNvclBvc2l0aW9uICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uVmFsdWVDaGFuZ2UoZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSBlLmN1cnJlbnRUYXJnZXQ/LnZhbHVlIHx8ICcnO1xuICAgICAgICB0aGlzLnJlRm9ybWF0VmFsdWUodGV4dCwgZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5yZUZvcm1hdFZhbHVlKHRoaXMudmFsdWUsIHsgdGFyZ2V0OiB0aGlzLmlucHV0RWxlbWVudCB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aWNrUmVmKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMudGlja1JlZik7XG4gICAgICAgICAgICB0aGlzLnRpY2tSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfaXNDaGFyYWN0ZXIoZXZ0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0eXBlb2YgZXZ0LndoaWNoID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2dC53aGljaCA9PT0gJ251bWJlcicgJiYgZXZ0LndoaWNoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuICFldnQuY3RybEtleSAmJiAhZXZ0Lm1ldGFLZXkgJiYgIWV2dC5hbHRLZXkgJiYgZXZ0LndoaWNoICE9PSA4ICYmIGV2dC5rZXkubGVuZ3RoID09PSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2dldEZvcm1hdGVkKHZhbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1lcmFsUGlwZS50cmFuc2Zvcm0odmFsLCB0aGlzLmRlY2ltYWxQcmVjaXNpb24sIHRoaXMuU2V0dGluZy5TaG93VGhvdXNhbmRTZXBlcmF0b3IpLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoY3Vyc29yUG9zaXRpb24gPiB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGggJiYgdGhpcy5kZWNpbWFsUHJlY2lzaW9uKSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGN1cnNvclBvc2l0aW9uLCBjdXJzb3JQb3NpdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSByZUZvcm1hdFZhbHVlKHRleHQ6IHN0cmluZyB8IG51bWJlciwgZTogYW55KTogdm9pZCB7XG4gICAgICAgIGxldCBuZXdWYWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGV4dCA9IHRleHQudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgICBsZXQgaW5kZXhvZkRvdCA9IHRleHQuaW5kZXhPZignLicpO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmlucHV0RWxlbWVudD8uc2VsZWN0aW9uU3RhcnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxQZXJzaWNpb24gPSB0aGlzLmRlY2ltYWxQcmVjaXNpb247XG4gICAgICAgICAgICBpZiAoZGVjaW1hbFBlcnNpY2lvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHQgPSB0ZXh0Lmxlbmd0aCAtIChpbmRleG9mRG90ICsgMSk7XG4gICAgICAgICAgICAgICAgaWYgKHQgPiBkZWNpbWFsUGVyc2ljaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZmYgPSB0IC0gZGVjaW1hbFBlcnNpY2lvbjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvblN0YXJ0ICYmIHNlbGVjdGlvblN0YXJ0IDwgdGV4dC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIGRpZmYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC5zdWJzdHJpbmcoMCwgc2VsZWN0aW9uU3RhcnQpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LnN1YnN0cmluZyhzZWxlY3Rpb25TdGFydCArIDEsIHNlbGVjdGlvblN0YXJ0ICsgMSArIHRleHQubGVuZ3RoIC0gZGlmZik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgdGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBmb3JtYXRlZDogc3RyaW5nID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodGV4dCkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIG5ld1ZhbCA9IHRoaXMuX251bWVyYWxQaXBlLmdldFZhbHVlKGZvcm1hdGVkKTtcblxuICAgICAgICAgICAgbGV0IGluZGV4T2ZEb3RGb3JtYXRlZCA9IGZvcm1hdGVkLmluZGV4T2YoJy4nKTtcblxuICAgICAgICAgICAgaWYgKGRlY2ltYWxQZXJzaWNpb24gPT09IDApIHtcbiAgICAgICAgICAgICAgICBpbmRleG9mRG90ID0gdGV4dC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgaW5kZXhPZkRvdEZvcm1hdGVkID0gZm9ybWF0ZWQubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzTWFzaykge1xuICAgICAgICAgICAgICAgIGxldCBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuaW5wdXRFbGVtZW50Py5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICBsZXQgZGlmZiA9IDA7XG4gICAgICAgICAgICAgICAgaWYgKGluZGV4b2ZEb3QgPCAwICYmIGRlY2ltYWxQZXJzaWNpb24gPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdGVkID0gdGhpcy5fZ2V0Rm9ybWF0ZWQodGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIG5ld1ZhbCA9IHRoaXMuX251bWVyYWxQaXBlLmdldFZhbHVlKGZvcm1hdGVkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnNvclBvc2l0aW9uICE9IG51bGwgJiYgY3Vyc29yUG9zaXRpb24gPD0gaW5kZXhvZkRvdCkge1xuICAgICAgICAgICAgICAgICAgICBkaWZmID0gaW5kZXhPZkRvdEZvcm1hdGVkIC0gaW5kZXhvZkRvdDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yUG9zaXRpb24gKz0gZGlmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0ZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGUudGFyZ2V0LnZhbHVlID0gZm9ybWF0ZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb24oY3Vyc29yUG9zaXRpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWw7XG4gICAgICAgIHRoaXMuZm9ybW1hdGVkVmFsdWUuZW1pdCh0aGlzLmlucHV0RWxlbWVudD8udmFsdWUpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -280,6 +280,7 @@ export class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
280
280
|
syncWithFormpanelMo[c + '$Icon'] = formPanelCtrlrMo[c + '$Icon'];
|
|
281
281
|
}
|
|
282
282
|
});
|
|
283
|
+
syncWithFormpanelMo['$OriginalValues'] = formPanelCtrlrMo['$OriginalValues'];
|
|
283
284
|
syncWithFormpanelMo['$State'] = formPanelCtrlrMo['$State']; // this add because if we edit unchanged mo it does not reflect to mo of ulv.
|
|
284
285
|
this.mo = { ...syncWithFormpanelMo };
|
|
285
286
|
this.mo.$IsChecked = _isChecked;
|
|
@@ -434,4 +435,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
434
435
|
}], cartableWorkflowData: [{
|
|
435
436
|
type: Input
|
|
436
437
|
}] } });
|
|
437
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12aWV3LWl0ZW0tcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2R5bmFtaWMtY29tcG9uZW50L2Jhc2Utdmlldy1pdGVtLXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxFQUVKLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBHLE9BQU8sRUFBc0QsUUFBUSxFQUFhLE1BQU0scUJBQXFCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQVEzRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQXNCO0lBMERsRSxZQUNjLEdBQWUsRUFDZixhQUEyQixFQUMzQixJQUF1QixFQUN2QixnQkFBbUMsRUFDWCx1QkFBeUMsRUFDN0MsaUJBQW1DLEVBQzNDLGVBQStCO1FBRXJELEtBQUssRUFBRSxDQUFDO1FBUkUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDWCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQWtCO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBaEN6RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdDQUEyQixHQUFHLEtBQUssQ0FBQztRQUVwQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFLMUIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQVE1Qix1QkFBa0IsR0FBOEIsSUFBSSxDQUFDO1FBQzdDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFDN0MsNEJBQXVCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWdCbEQsSUFBSSxDQUFDLGNBQWM7YUFDZCxZQUFZLEVBQUU7YUFDZCxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsU0FBUyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzFFLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzdDO2FBQ0EsU0FBUyxDQUFDLENBQUMsR0FBK0QsRUFBRSxFQUFFO1lBQzNFLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtnQkFDWCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDNUI7WUFDRCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssWUFBWSxFQUFFO2dCQUNyRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM3QztpQkFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO2dCQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMxQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsSUFBSSxDQUFDLHVCQUF1QjthQUN2QixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUMvQixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEtBQUssV0FBVyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQzthQUNuQztRQUNMLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQXRGRCxJQUFhLG1CQUFtQixDQUFDLEdBQVc7UUFDeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELElBQWEsZ0JBQWdCLENBQUMsR0FBZ0I7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBYSxVQUFVLENBQUMsR0FBd0I7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFhLG9CQUFvQixDQUFDLEdBQVc7UUFDekMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBcUVELElBQVksb0JBQW9CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzlDLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDLGFBQWEsRUFBRTtvQkFDcEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7d0JBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDbEQ7aUJBQ0o7cUJBQU0sSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFO29CQUMvQixjQUFjLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjthQUNKO1NBQ0o7UUFDRCxJQUFJLGNBQWMsRUFBRSxZQUFZLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEYsY0FBYyxHQUFHLElBQUksQ0FBQztTQUN6QjthQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxJQUFJLGNBQWMsRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN6RixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksY0FBYyxFQUFFO1lBQ2hCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM5RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN6RDtTQUNKO1FBQ0QscUdBQXFHO1FBQ3JHLCtEQUErRDtRQUMvRCxJQUFJO0lBQ1IsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ3hGO0lBQ0wsQ0FBQztJQUNELG1CQUFtQixDQUFDLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxRQUFxQixFQUFFLEtBQWE7UUFDekQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUN4QztnSEFDb0csQ0FDdkcsQ0FBQztRQUNGLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQ3hELE9BQU87U0FDVjtRQUNELElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUM7UUFDeEMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWCxhQUE2QixFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzVDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBQyxFQUFFLEtBQUs7UUFDakIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ3pDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQUNELG1CQUFtQixDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELHFCQUFxQixDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsUUFBUSxDQUFDLFdBQW1CO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxDQUFnQztRQUNyRCxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDYixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNsQixNQUFNO1lBQ1YsS0FBSyxVQUFVO2dCQUNYLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsTUFBTTtZQUNWLEtBQUssWUFBWTtnQkFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU07U0FDYjtJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsY0FBYyxDQUFDLEtBQWEsRUFBRSxNQUF3QjtRQUNsRCxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ1MsaUJBQWlCLENBQUMsV0FBbUI7UUFDM0MsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNqQyxXQUFXLEdBQUcsR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUMvQixNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7U0FDckQ7SUFDTCxDQUFDO0lBQ1MscUJBQXFCO1FBQzNCLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsMkJBQTJCO1lBQzNCLE9BQU87U0FDVjtRQUNELElBQ0ksZ0JBQWdCO1lBQ2hCLFVBQVU7WUFDVixPQUFPLG9CQUFvQixLQUFLLFdBQVc7WUFDM0MsSUFBSSxDQUFDLG9CQUFvQixFQUMzQjtZQUNFLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDaEUsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ25DLGdCQUFnQixDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUNsRCxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsb0JBQW9CLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7YUFDM0I7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFFbkMsSUFBSSxDQUFDLGNBQWMsR0FBRztnQkFDbEIsV0FBVyxFQUFFLGdCQUFnQjtnQkFDN0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFO2dCQUNuQixTQUFTLEVBQUUsVUFBVSxDQUFDLFVBQVU7Z0JBQ2hDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDdkIsUUFBUSxFQUFFLEtBQUs7YUFDbEIsQ0FBQztZQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFDUyxXQUFXO1FBQ2pCLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsSUFBSTtRQUNKLGtGQUFrRjtRQUNsRixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLElBQUk7UUFDSixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUMzRCxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ0osT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRVMscUJBQXFCLENBQUMsTUFBTTtRQUNsQyx1REFBdUQ7UUFDdkQsZ0NBQWdDO1FBQ2hDLDZCQUE2QjtRQUM3QiwwQkFBMEI7UUFDMUIsbUNBQW1DO1FBQ25DLFFBQVE7UUFDUixNQUFNO1FBQ04sMkJBQTJCO1FBQzNCLHVDQUF1QztRQUN2QyxJQUFJO0lBQ1IsQ0FBQztJQUNTLFNBQVM7UUFDZix3QkFBd0I7UUFDeEIsY0FBYztRQUNkLElBQUk7UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsTUFBTSxVQUFVLEdBQWdCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUM7WUFDdEYsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO2dCQUNuQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO2FBQ3JGO1NBQ0o7SUFDTCxDQUFDO0lBRVMsa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ1MsT0FBTztRQUNiLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUN0QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDN0QsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUU7Z0JBQ2xDLG1CQUFtQixDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7YUFDMUU7WUFDRCxJQUFJLGdCQUFnQixDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRTtnQkFDL0IsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQzthQUNwRTtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyw2RUFBNkU7UUFDekksSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVTLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRVMsNkJBQTZCLENBQUMsTUFBMEI7UUFDOUQsTUFBTSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztRQUNqQyw2RkFBNkY7UUFDN0YsdUZBQXVGO1FBQ3ZGLHdFQUF3RTtRQUN4RSw4RkFBOEY7UUFDOUYsb0NBQW9DO1FBQ3BDLGlEQUFpRDtRQUNqRCxrREFBa0Q7UUFDbEQsU0FBUztRQUNULG9HQUFvRztRQUNwRyxxRkFBcUY7UUFDckYsaUdBQWlHO1FBQ2pHLGtIQUFrSDtRQUNsSCxJQUFJO0lBQ1IsQ0FBQztJQUNTLHFCQUFxQixDQUFDLEVBQXVCLEVBQUUsU0FBaUI7UUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyx5QkFBeUIsQ0FDM0MsSUFBSSxDQUFDLFdBQVcsRUFDaEIsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUNULFNBQVMsRUFDVCxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsS0FBSztZQUNWLDJFQUEyRTthQUM5RSxDQUFDO1NBQ0w7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNuQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNyRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFUyw0QkFBNEI7UUFDbEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDOUMsTUFBTSxNQUFNLEdBQUc7WUFDWCxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ1YsVUFBVSxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUMsVUFBVTtZQUN6QyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQyxVQUFVO1lBQ3pDLGVBQWUsRUFBRSxFQUFFO1NBQ3RCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztRQUNsRSxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUNsRCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZGLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEtBQUssYUFBYSxFQUFFO2dCQUNyRixjQUFjLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDdkUsZ0ZBQWdGO2dCQUNoRiwyRUFBMkU7YUFDOUU7WUFDRCxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ1Msa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ1MsZUFBZSxDQUFDLEdBQUc7UUFDekIsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBQ1Msd0JBQXdCLENBQUMsTUFBTTtRQUNyQyw2REFBNkQ7UUFDN0QsT0FBTyxJQUFJLE9BQU8sQ0FBNkQsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ3BDLDZEQUE2RDtnQkFDN0QsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDcEQ7WUFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQzdCLHNCQUFzQjtZQUV0QixJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNwQyx1QkFBdUI7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7dUhBbGJRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLGlsQkFIekIsRUFBRTsyRkFHSCwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFnRVEsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzRDQWhFSixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVPLG1CQUFtQjtzQkFBL0IsS0FBSztnQkFLTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFNTyxvQkFBb0I7c0JBQWhDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFNraXBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZnJvbSwgdGFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3Q29sdW1uLCBGb3JtU2V0dGluZywgQmFyc2FBcGksIENob2ljZURlZiB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xuaW1wb3J0IHsgUHJldmVudERlZmF1bEV2ZW50LCBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEZvcm1QYW5lbFNlcnZpY2UsIFVsdk1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQmFzZVZpZXdQcm9wc0NvbXBvbmVudCB9IGZyb20gJy4vYmFzZS12aWV3LXByb3BzJztcbmltcG9ydCB7IE1vUmVwb3J0VmFsdWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xudHlwZSBSZWFzb25Ub1NhdmUgPSAnVEFCJyB8ICdDVFJMK0VOVEVSJyB8ICdDSEVDS19DSEFOR0VEJyB8ICdFU0MnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWJhc2Utdmlldy1pdGVtLXByb3BzJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVZpZXdJdGVtUHJvcHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlVmlld1Byb3BzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIG1vRGF0YUxpc3RDb3VudDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGluZGV4OiBudW1iZXI7XG4gICAgQElucHV0KCkgbGFzdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc0NoZWNrZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNOZXdJbmxpbmVNbzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBleHRyYVJlbGF0aW9uOiBhbnk7XG4gICAgQElucHV0KCkgaGlkZU9wZW5JY29uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93SW5kaWNhdG9yOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0luZGljYXRvckNvbG9yOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzZXQgc2VyaWFsaXplZFJlbGF0ZWRNbyh2YWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXJpYWxpemVkUmVsYXRlZE1vID0gdmFsO1xuICAgICAgICB0aGlzLl91cGRhdGVDYXJ0YWJsZU1vKHZhbCk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUNhcnRhYmxlUGFyYW1zKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBjYXJ0YWJsZVRlbXBsYXRlKHZhbDogRm9ybVNldHRpbmcpIHtcbiAgICAgICAgdGhpcy5fY2FydGFibGVUZW1wbGF0ZSA9IHZhbDtcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2FydGFibGVQYXJhbXMoKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGNhcnRhYmxlTW8odmFsOiBNZXRhb2JqZWN0RGF0YU1vZGVsKSB7XG4gICAgICAgIHRoaXMuX2NhcnRhYmxlTW8gPSB2YWw7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNhcnRhYmxlTW8odGhpcy5fc2VyaWFsaXplZFJlbGF0ZWRNbyk7XG5cbiAgICAgICAgdGhpcy5fY3JlYXRlQ2FydGFibGVQYXJhbXMoKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGNhcnRhYmxlV29ya2Zsb3dEYXRhKHZhbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NhcnRhYmxlV29ya2Zsb3dEYXRhID0gdmFsO1xuICAgICAgICB0aGlzLl9jcmVhdGVDYXJ0YWJsZVBhcmFtcygpO1xuICAgIH1cbiAgICBoYXNFcnJvciA9IGZhbHNlO1xuICAgIF9mb2N1c1RvRmlyc3RFaWR0YWJsZUNvbHVtbiA9IGZhbHNlO1xuICAgIF9sYXN0RWRpdGFibGVDb2x1bW5JbmRleDogbnVtYmVyO1xuICAgIGlubGluZUVkaXRJblJlcG9ydCA9IHRydWU7XG4gICAgbGF5b3V0JDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgc2F2aW5nOiBib29sZWFuO1xuICAgIHNhdmVkOiBib29sZWFuO1xuICAgIGluUm93ID0gdHJ1ZTtcbiAgICBoYXNDYXJ0YWJsZVRlbXBsYXRlID0gZmFsc2U7XG4gICAgY2FydGFibGVQYXJhbXM6IHtcbiAgICAgICAgZm9ybVNldHRpbmc6IEZvcm1TZXR0aW5nO1xuICAgICAgICBtb0lkOiBzdHJpbmc7XG4gICAgICAgIHR5cGVEZWZJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICB2aWV3SWQ6IGFueTtcbiAgICAgICAgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgfTtcbiAgICBicnVsZUFjdGlvbk1lc3NhZ2U6IEJydWxlQWN0aW9uTWVzc2FnZSB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX3NhdmVFZGl0ZWRNbyQgPSBuZXcgU3ViamVjdDxSZWFzb25Ub1NhdmU+KCk7XG4gICAgcHJpdmF0ZSBfZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfZm9ybVBhbmVsTG9hZGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2NhcnRhYmxlTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgcHJpdmF0ZSBfY2FydGFibGVUZW1wbGF0ZTogRm9ybVNldHRpbmc7XG4gICAgcHJpdmF0ZSBfY2FydGFibGVXb3JrZmxvd0RhdGE6IHN0cmluZztcbiAgICBwcml2YXRlIF9zZXJpYWxpemVkUmVsYXRlZE1vOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9yZXBvcnRWYWx1ZVBpcGU6IE1vUmVwb3J0VmFsdWVQaXBlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcm90ZWN0ZWQgX3BhcmVudEZvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJvdGVjdGVkIF9mb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3Vsdk1haW5TZXJ2aWNlOiBVbHZNYWluU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9zYXZlRWRpdGVkTW8kXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHJlYXNvbjogUmVhc29uVG9TYXZlKSA9PiB0aGlzLl9pbmxpbmVFZGl0U2F2ZUZvcm1QYW5lbChyZWFzb24pKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogeyByZWFzb246IFJlYXNvblRvU2F2ZTsgc3VjY2VlZDogYm9vbGVhbjsgc2F2ZWQ6IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXMuc2F2ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJlcy5yZWFzb24gPT09ICdUQUInIHx8IHJlcy5yZWFzb24gPT09ICdDVFJMK0VOVEVSJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdE5leHRJbmxpbmVSZWNvcmQuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5yZWFzb24gPT09ICdFU0MnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbENhbmNlbC5lbWl0KHRoaXMubW8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9mb3JtcGFuZWxWYWx1ZUNoYW5nZWQkXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fc3luY01vKCkpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5tby4kSW5saW5lTW9DaGFuZ2VkID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tby4kSW5saW5lTW9DaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZS5lbWl0KHRoaXMubW8pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgZ2V0IF9oYXNGb3JtUGFuZWxTZXJ2aWNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybVBhbmVsU2VydmljZSAhPT0gbnVsbCAmJiB0aGlzLmZvcm1TZXR0aW5nO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLl9oYXNGb3JtUGFuZWxTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmNvbnRleHQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudmlldyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5sYXlvdXQkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5sYXlvdXQkO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGNvbnN0IHsgaXNDaGVja2VkLCBpbmxpbmVFZGl0TW9kZSB9ID0gY2hhbmdlcztcbiAgICAgICAgbGV0IG5lZWRUb0xvYWRGb3JtID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmlubGluZUVkaXRNb2RlKSB7XG4gICAgICAgICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0NoZWNrZWQuY3VycmVudFZhbHVlICYmIGlzQ2hlY2tlZC5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9uZWVkVG9TYXZlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2lubGluZUVkaXRTYXZlRm9ybVBhbmVsKCdDSEVDS19DSEFOR0VEJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzQ2hlY2tlZC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbmVlZFRvTG9hZEZvcm0gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5saW5lRWRpdE1vZGU/LmN1cnJlbnRWYWx1ZSAmJiAhaW5saW5lRWRpdE1vZGU/LnByZXZpb3VzVmFsdWUgJiYgdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgIG5lZWRUb0xvYWRGb3JtID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICghaW5saW5lRWRpdE1vZGU/LmN1cnJlbnRWYWx1ZSAmJiBpbmxpbmVFZGl0TW9kZT8ucHJldmlvdXNWYWx1ZSAmJiB0aGlzLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdFU0MnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmVlZFRvTG9hZEZvcm0pIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRBbmRDcmVhdGVGb3JtUGFuZWxDdHJscigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLm1vICYmICFjaGFuZ2VzLm1vLmZpcnN0Q2hhbmdlICYmIHRoaXMuaW5saW5lRWRpdE1vZGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9mb3JtUGFuZWxMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLlNldFZhbHVlKGNoYW5nZXMubW8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBpZiAobW8gJiYgIW1vLmZpcnN0Q2hhbmdlICYmIHRoaXMuX2hhc0Zvcm1QYW5lbFNlcnZpY2UgJiYgdGhpcy5pc0NoZWNrZWQgJiYgdGhpcy5pbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICAvLyAgICAgLy90aGlzLmZvcm1QYW5lbEN0cmxyLlNldFZhbHVlKGNoYW5nZXMubW8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuZm9ybVBhbmVsQ3RybHIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIudW4oJ2JydWxlU2hvd01lc3NhZ2VBY3Rpb24nLCB0aGlzLl9oYW5kbGVCcnVsZVNob3dNZXNzYWdlQWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBPbkNhcnRhYmxlRm9ybUNsaWNrKGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2VkKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Sb3dDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm93Q2hlY2soKTtcbiAgICB9XG5cbiAgICBvblJvd0NsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQ29sdW1uQ2hhbmdlVG9FZGl0TW9kZShjb2x1bW5FbDogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlcyA9IGNvbHVtbkVsLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICBgYnV0dG9uLGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksW2hyZWZdLGlucHV0Om5vdChbZGlzYWJsZWRdKSxpbnB1dCxcbiAgICAgICAgICAgICAgICBzZWxlY3Qsc2VsZWN0Om5vdChbZGlzYWJsZWRdKSx0ZXh0YXJlYSx0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pYFxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9sYXN0RWRpdGFibGVDb2x1bW5JbmRleCA9IGluZGV4O1xuICAgICAgICBpZiAoIWZvY3VzYWJsZXMubGVuZ3RoIHx8IHRoaXMuX2ZvY3VzVG9GaXJzdEVpZHRhYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9jdXNUb0ZpcnN0RWlkdGFibGVDb2x1bW4gPSB0cnVlO1xuICAgICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlID0gZm9jdXNhYmxlc1swXTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAobGFzdEZvY3VzYWJsZSBhcyBIVE1MRWxlbWVudCk/LmZvY3VzKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbiAgICBvblRhYktleURvd24oZSwgaW5kZXgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLl9sYXN0RWRpdGFibGVDb2x1bW5JbmRleCkge1xuICAgICAgICAgICAgUHJldmVudERlZmF1bEV2ZW50KGUpO1xuICAgICAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdUQUInKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxTYXZlKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdDVFJMK0VOVEVSJyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbENhbmNlbChlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NhdmVFZGl0ZWRNbyQubmV4dCgnRVNDJyk7XG4gICAgfVxuICAgIG9uVWx2Q29tbWFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bHZDb21tYW5kLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQWN0aW9uKGNvbW1hbmRCb2R5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb24uZW1pdChjb21tYW5kQm9keSk7XG4gICAgfVxuICAgIG9uRXhwYW5kQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kQ2xpY2suZW1pdCh0aGlzLm1vKTtcbiAgICB9XG4gICAgb25EeW5hbWljQ29tcG9uZW50RXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZS50aXRsZSkge1xuICAgICAgICAgICAgY2FzZSAncm93Q2hlY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncm93Q2xpY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDbGljaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndWx2Q29tbWFuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblVsdkNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FydGFibGVGb3JtQ2xvc2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcnRhYmxlRm9ybUNsb3NlZC5lbWl0KHsgbW86IHRoaXMubW8sIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cbiAgICBfdHJhY2tCeUNvbHVtbihpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7Y29sdW1uLk5hbWV9JHtpbmRleH1gO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZUNhcnRhYmxlTW8oc2VyaWFsaXplTW86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoc2VyaWFsaXplTW8gJiYgdGhpcy5fY2FydGFibGVNbykge1xuICAgICAgICAgICAgc2VyaWFsaXplTW8gPSBgJHtzZXJpYWxpemVNb31gO1xuICAgICAgICAgICAgY29uc3QgbW8gPSBCYXJzYUFwaS5FeHQuZGVjb2RlKHNlcmlhbGl6ZU1vKTtcbiAgICAgICAgICAgIHRoaXMuX2NhcnRhYmxlTW8gPSB7IC4uLnRoaXMuX2NhcnRhYmxlTW8sIC4uLm1vIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jcmVhdGVDYXJ0YWJsZVBhcmFtcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNhcnRhYmxlVGVtcGxhdGUgPSB0aGlzLl9jYXJ0YWJsZVRlbXBsYXRlO1xuICAgICAgICBjb25zdCBjYXJ0YWJsZU1vID0gdGhpcy5fY2FydGFibGVNbztcbiAgICAgICAgY29uc3QgY2FydGFibGVXb3JrZmxvd0RhdGEgPSB0aGlzLl9jYXJ0YWJsZVdvcmtmbG93RGF0YTtcbiAgICAgICAgaWYgKHRoaXMuaGFzQ2FydGFibGVUZW1wbGF0ZSkge1xuICAgICAgICAgICAgLy8gVE9ETyB1cGRhdGUgY2FydGFibGUgbW87XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY2FydGFibGVUZW1wbGF0ZSAmJlxuICAgICAgICAgICAgY2FydGFibGVNbyAmJlxuICAgICAgICAgICAgdHlwZW9mIGNhcnRhYmxlV29ya2Zsb3dEYXRhICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgdGhpcy5fc2VyaWFsaXplZFJlbGF0ZWRNb1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNhcnRhYmxlVGVtcGxhdGUpKTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXcgPSBjYXJ0YWJsZVRlbXBsYXRlLlZpZXc7XG4gICAgICAgICAgICBjYXJ0YWJsZVRlbXBsYXRlLkRhdGEgPSB7IE1vOiB7IC4uLmNhcnRhYmxlTW8gfSB9O1xuICAgICAgICAgICAgY2FydGFibGVUZW1wbGF0ZS5Xb3JrZmxvdyA9IGNhcnRhYmxlV29ya2Zsb3dEYXRhID09PSAnJyA/IG51bGwgOiBKU09OLnBhcnNlKGNhcnRhYmxlV29ya2Zsb3dEYXRhKTtcbiAgICAgICAgICAgIGlmICghdmlldy5FeHRyYUpzb25Qcm9wKSB7XG4gICAgICAgICAgICAgICAgdmlldy5FeHRyYUpzb25Qcm9wID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2aWV3LkV4dHJhSnNvblByb3AuSXNTaW1wbGUgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmNhcnRhYmxlUGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIGZvcm1TZXR0aW5nOiBjYXJ0YWJsZVRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIG1vSWQ6IGNhcnRhYmxlTW8uSWQsXG4gICAgICAgICAgICAgICAgdHlwZURlZklkOiBjYXJ0YWJsZU1vLiRUeXBlRGVmSWQsXG4gICAgICAgICAgICAgICAgdmlld0lkOiB2aWV3LlR5cGVWaWV3SWQsXG4gICAgICAgICAgICAgICAgaW5EaWFsb2c6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5oYXNDYXJ0YWJsZVRlbXBsYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX25lZWRUb1NhdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIGlmICghdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBjb25zdCBpc0NoaWxkTm9kZSA9ICh0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIC8vIGlmIChpc0NoaWxkTm9kZSkge1xuICAgICAgICAvLyAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAvLyB9XG4gICAgICAgIGNvbnN0IHQgPSB0aGlzLmlubGluZUVkaXRNb2RlICYmIHRoaXMuX2hhc0Zvcm1QYW5lbFNlcnZpY2U7XG4gICAgICAgIGlmICghdCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVBhbmVsQ3RybHIgJiYgdGhpcy5mb3JtUGFuZWxDdHJsci5Jc01vQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2hlY2tmb2N1c091dEZyb21Sb3codGFyZ2V0KTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnN0IGZvY3VzYWJsZTogTm9kZUxpc3QgPSB0aGlzLl9mb2N1c2FibGVDb250cm9scztcbiAgICAgICAgLy8gbGV0IGZvdW5kSW5Gb2N1c2FibGUgPSBmYWxzZTtcbiAgICAgICAgLy8gZm9jdXNhYmxlLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgLy8gICAgIGlmIChjID09PSB0YXJnZXQpIHtcbiAgICAgICAgLy8gICAgICAgICBmb3VuZEluRm9jdXNhYmxlID0gdHJ1ZTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSk7XG4gICAgICAgIC8vIGlmICghZm91bmRJbkZvY3VzYWJsZSkge1xuICAgICAgICAvLyAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJC5uZXh0KCdUQUInKTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3Jvd0NoZWNrKCk6IHZvaWQge1xuICAgICAgICAvLyBpZiAodGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybjtcbiAgICAgICAgLy8gfVxuICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbzogdGhpcy5tbywgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgICAgIGlmICh0aGlzLmNhcnRhYmxlUGFyYW1zKSB7XG4gICAgICAgICAgICBjb25zdCBjaG9pY2VMaXN0OiBDaG9pY2VEZWZbXSA9IHRoaXMuY2FydGFibGVQYXJhbXMuZm9ybVNldHRpbmc/LldvcmtmbG93Py5DaG9pY2VMaXN0O1xuICAgICAgICAgICAgaWYgKGNob2ljZUxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KHsgbW86IHRoaXMubW8sIGNob2ljZUxpc3QsIGFkZDogIXRoaXMuaXNDaGVja2VkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5vblJvd0NoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJC5uZXh0KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc3luY01vKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCBzeW5jV2l0aEZvcm1wYW5lbE1vID0gdGhpcy5tbztcbiAgICAgICAgY29uc3QgX2lzQ2hlY2tlZCA9IHRoaXMubW8uJElzQ2hlY2tlZDtcbiAgICAgICAgY29uc3QgZm9ybVBhbmVsQ3RybHJNbyA9IHRoaXMuZm9ybVBhbmVsQ3RybHIuTW87XG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1QYW5lbEN0cmxyTW8uJE9yaWdpbmFsVmFsdWVzKS5mb3JFYWNoKChjOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHN5bmNXaXRoRm9ybXBhbmVsTW9bY10gPSBmb3JtUGFuZWxDdHJsck1vW2NdO1xuICAgICAgICAgICAgaWYgKGZvcm1QYW5lbEN0cmxyTW9bYyArICckQ2FwdGlvbiddKSB7XG4gICAgICAgICAgICAgICAgc3luY1dpdGhGb3JtcGFuZWxNb1tjICsgJyRDYXB0aW9uJ10gPSBmb3JtUGFuZWxDdHJsck1vW2MgKyAnJENhcHRpb24nXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmb3JtUGFuZWxDdHJsck1vW2MgKyAnJEljb24nXSkge1xuICAgICAgICAgICAgICAgIHN5bmNXaXRoRm9ybXBhbmVsTW9bYyArICckSWNvbiddID0gZm9ybVBhbmVsQ3RybHJNb1tjICsgJyRJY29uJ107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBzeW5jV2l0aEZvcm1wYW5lbE1vWyckU3RhdGUnXSA9IGZvcm1QYW5lbEN0cmxyTW9bJyRTdGF0ZSddOyAvLyB0aGlzIGFkZCBiZWNhdXNlIGlmIHdlIGVkaXQgdW5jaGFuZ2VkIG1vIGl0IGRvZXMgbm90IHJlZmxlY3QgdG8gbW8gb2YgdWx2LlxuICAgICAgICB0aGlzLm1vID0geyAuLi5zeW5jV2l0aEZvcm1wYW5lbE1vIH07XG4gICAgICAgIHRoaXMubW8uJElzQ2hlY2tlZCA9IF9pc0NoZWNrZWQ7XG4gICAgICAgIHJldHVybiBmcm9tKFByb21pc2UucmVzb2x2ZSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3JhaXNlRm9ybVBhbmVsVmFsdWVDaGFuZ2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZS5lbWl0KHRoaXMubW8pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfaGFuZGxlQnJ1bGVTaG93TWVzc2FnZUFjdGlvbihhY3Rpb246IEJydWxlQWN0aW9uTWVzc2FnZSk6IHZvaWQge1xuICAgICAgICBhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb25IdG1sID0gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGFjdGlvbi5NZXNzYWdlRXhwcmVzc2lvbik7XG4gICAgICAgIHRoaXMuYnJ1bGVBY3Rpb25NZXNzYWdlID0gYWN0aW9uO1xuICAgICAgICAvLyBpZiAoYWN0aW9uLk1lc3NhZ2VUeXBlID09PSBCYXJzYUFwaS5Db21tb24uRW51bXMuU2hvd01lc3NhZ2VSdWxlQWN0aW9uX1R5cGUuSW5mb3JtYXRpb24pIHtcbiAgICAgICAgLy8gICAgIGlmIChhY3Rpb24uRXNjYXBlQ2hhcmFjdGVycykgVWwuTXNnQm94LkluZm8oYWN0aW9uLk1lc3NhZ2VFeHByZXNzaW9uLCBkb1JldHVybik7XG4gICAgICAgIC8vICAgICBlbHNlIFVsLk1zZ0JveC5JbmZvX1Nob3dIdG1sKGFjdGlvbi5NZXNzYWdlRXhwcmVzc2lvbiwgZG9SZXR1cm4pO1xuICAgICAgICAvLyB9IGVsc2UgaWYgKGFjdGlvbi5NZXNzYWdlVHlwZSA9PT0gQmFyc2FBcGkuQ29tbW9uLkVudW1zLlNob3dNZXNzYWdlUnVsZUFjdGlvbl9UeXBlLkVycm9yKSB7XG4gICAgICAgIC8vICAgICB2YXIgZG9SZXR1cm4wID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyAgICAgICAgIHRoaXMuX2Zvcm1QYW5lbC5SZWZvY3VzQ3VycmVudEZpZWxkKCk7XG4gICAgICAgIC8vICAgICAgICAgZG9SZXR1cm4obmV3IENvbW1vbi5TaWxlbnRFeGNlcHRpb24oKSk7XG4gICAgICAgIC8vICAgICB9O1xuICAgICAgICAvLyAgICAgaWYgKGFjdGlvbi5Fc2NhcGVDaGFyYWN0ZXJzKSBVbC5Nc2dCb3guRXJyb3IoYWN0aW9uLk1lc3NhZ2VFeHByZXNzaW9uLCBkb1JldHVybjAuYmluZCh0aGlzKSk7XG4gICAgICAgIC8vICAgICBlbHNlIFVsLk1zZ0JveC5FcnJvcl9TaG93SHRtbChhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24sIGRvUmV0dXJuMC5iaW5kKHRoaXMpKTtcbiAgICAgICAgLy8gfSBlbHNlIGlmIChhY3Rpb24uTWVzc2FnZVR5cGUgPT09IEJhcnNhQXBpLkNvbW1vbi5FbnVtcy5TaG93TWVzc2FnZVJ1bGVBY3Rpb25fVHlwZS5Pa0NhbmNlbCkge1xuICAgICAgICAvLyAgICAgVWwuTXNnQm94LkNvbmZpcm1ZZXNOb19TYWZlKHRydWUsIGFjdGlvbi5NZXNzYWdlRXhwcmVzc2lvbiwgQkJCLlNlbGVjdCwgYWN0aW9uLkVzY2FwZUNoYXJhY3RlcnMsIGRvUmV0dXJuKTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUZvcm1QYW5lbEN0cmxyKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCB0eXBlRGVmSWQ6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJscikge1xuICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsciA9IGNyZWF0ZUdyaWRFZGl0b3JGb3JtUGFuZWwoXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtU2V0dGluZyxcbiAgICAgICAgICAgICAgICB7IC4uLm1vIH0sXG4gICAgICAgICAgICAgICAgdHlwZURlZklkLFxuICAgICAgICAgICAgICAgIHRoaXMuZXh0cmFSZWxhdGlvbixcbiAgICAgICAgICAgICAgICB0aGlzLmluUm93XG4gICAgICAgICAgICAgICAgLy8gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LlNldHRpbmcsICdFeHRyYS5SZWxhdGlvbicpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuSW5saW5lRWRpdEluUmVwb3J0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsci5vbih7XG4gICAgICAgICAgICBicnVsZVNob3dNZXNzYWdlQWN0aW9uOiB0aGlzLl9oYW5kbGVCcnVsZVNob3dNZXNzYWdlQWN0aW9uLmJpbmQodGhpcyksXG4gICAgICAgICAgICB2YWx1ZUNoYW5nZTogdGhpcy5faGFuZGxlVmFsdWVDaGFuZ2UuYmluZCh0aGlzKVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtUGFuZWxDdHJscjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2xvYWRBbmRDcmVhdGVGb3JtUGFuZWxDdHJscigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9ybVNldHRpbmdEYXRhID0gdGhpcy5mb3JtU2V0dGluZy5EYXRhO1xuICAgICAgICBjb25zdCBmb3JtTW8gPSB7XG4gICAgICAgICAgICAuLi50aGlzLm1vLFxuICAgICAgICAgICAgJEZpZWxkRGljdDogZm9ybVNldHRpbmdEYXRhLk1vLiRGaWVsZERpY3QsXG4gICAgICAgICAgICAkVHlwZURlZklkOiBmb3JtU2V0dGluZ0RhdGEuTW8uJFR5cGVEZWZJZCxcbiAgICAgICAgICAgICRPcmlnaW5hbFZhbHVlczoge31cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuX2Zvcm1QYW5lbExvYWRlZCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsci5TZXRWYWx1ZShmb3JtTW8pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY3JlYXRlRm9ybVBhbmVsQ3RybHIoZm9ybU1vLCB0aGlzLnR5cGVEZWZJZCk7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbExvYWRlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGZvcm1QYW5lbEN0cmxyID0gdGhpcy5mb3JtUGFuZWxDdHJscjtcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsci5VbHZNb0RhdGFMaXN0Q291bnQgPSB0aGlzLm1vRGF0YUxpc3RDb3VudCAtIDE7XG4gICAgICAgIGZvcm1QYW5lbEN0cmxyLkxvYWRBbmRDcmVhdGUobnVsbCwgZmFsc2UsIGZhbHNlLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21Gb3JtUGFuZWxVaSA9IGZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbDtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudE1vID0gdGhpcy5fcGFyZW50Rm9ybVBhbmVsU2VydmljZSA/IHRoaXMuX3BhcmVudEZvcm1QYW5lbFNlcnZpY2UubW8gOiBudWxsO1xuICAgICAgICAgICAgaWYgKHRoaXMuZXh0cmFSZWxhdGlvbiAmJiBwYXJlbnRNbyAmJiB0aGlzLmV4dHJhUmVsYXRpb24uUmVsYXRpb25UeXBlID09PSAnQ29tcG9zaXRpb24nKSB7XG4gICAgICAgICAgICAgICAgZm9ybVBhbmVsQ3RybHIuTW8uU2V0RlZhbHVlKHRoaXMuZXh0cmFSZWxhdGlvbi5QYXJlbnRGZE5hbWUsIHBhcmVudE1vKTtcbiAgICAgICAgICAgICAgICAvLyBuZXdGb3JtU2V0dGluZ3MuRGF0YS5Nb1tyZWxhdGlvbi5QYXJlbnRGZE5hbWVdID0gcGFyZW50TW8uR2V0Q2hhbmdlZE9iamVjdCgpO1xuICAgICAgICAgICAgICAgIC8vIG5ld0Zvcm1TZXR0aW5ncy5EYXRhLk1vW3JlbGF0aW9uLlBhcmVudEZkTmFtZV0uJFN0YXRlID0gcGFyZW50TW8uJFN0YXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VzdG9tRm9ybVBhbmVsVWkuUmVmcmVzaCA9ICgpID0+IHt9O1xuICAgICAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0ID0gZm9ybVBhbmVsQ3RybHIuQWRhcHRlci5Db250cm9sO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yZXNldFNhdmluZ1N0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2F2ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFNhdmluZ1N0YXRlKGVycik6IHZvaWQge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQgPSB0cnVlO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2lubGluZUVkaXRTYXZlRm9ybVBhbmVsKHJlYXNvbik6IFByb21pc2U8eyByZWFzb246IFJlYXNvblRvU2F2ZTsgc3VjY2VlZDogYm9vbGVhbjsgc2F2ZWQ6IGJvb2xlYW4gfT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx7IHJlYXNvbjogUmVhc29uVG9TYXZlOyBzdWNjZWVkOiBib29sZWFuOyBzYXZlZDogYm9vbGVhbiB9PigocmVzb2x2ZSwgXykgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZvcm1QYW5lbEN0cmxyLklzTW9DaGFuZ2VkKCkpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiBzdGF0ZSBvZiBtbyBpcyBuZXcgb3IgbW9kaWRmaWVkIHRoZW4gaXQgbmVlZHMgdG8gdXBkYXRlXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7IHJlYXNvbiwgc3VjY2VlZDogdHJ1ZSwgc2F2ZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZm9ybVBhbmVsQ3RybHJNbyA9IHRoaXMuZm9ybVBhbmVsQ3RybHIuTW87XG4gICAgICAgICAgICBkZWxldGUgZm9ybVBhbmVsQ3RybHJNby5qc29uO1xuICAgICAgICAgICAgLy8gdGhpcy5zYXZpbmcgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLm1vLiRJbmxpbmVNb0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFNhdmUuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgIHRoaXMuYnJ1bGVBY3Rpb25NZXNzYWdlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuU2F2ZShmYWxzZSwgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsci5TZXRJc0NoYW5nZWQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldFNhdmluZ1N0YXRlKGVycik7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7IHJlYXNvbiwgc3VjY2VlZDogdHJ1ZSwgc2F2ZWQ6IHRydWUgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuaW50ZXJmYWNlIEJydWxlQWN0aW9uTWVzc2FnZSB7XG4gICAgTWVzc2FnZVR5cGU6IG51bWJlcjtcbiAgICBFc2NhcGVDaGFyYWN0ZXJzOiBib29sZWFuO1xuICAgIE1lc3NhZ2VFeHByZXNzaW9uOiBzdHJpbmc7XG4gICAgTWVzc2FnZUV4cHJlc3Npb25IdG1sOiBTYWZlSHRtbDtcbn1cbiJdfQ==
|
|
438
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12aWV3LWl0ZW0tcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2R5bmFtaWMtY29tcG9uZW50L2Jhc2Utdmlldy1pdGVtLXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxFQUVKLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBHLE9BQU8sRUFBc0QsUUFBUSxFQUFhLE1BQU0scUJBQXFCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQVEzRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQXNCO0lBMERsRSxZQUNjLEdBQWUsRUFDZixhQUEyQixFQUMzQixJQUF1QixFQUN2QixnQkFBbUMsRUFDWCx1QkFBeUMsRUFDN0MsaUJBQW1DLEVBQzNDLGVBQStCO1FBRXJELEtBQUssRUFBRSxDQUFDO1FBUkUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDWCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQWtCO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBaEN6RCxhQUFRLEdBQUcs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OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs0Q0FoRUosRUFBRTtzQkFBVixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFTyxtQkFBbUI7c0JBQS9CLEtBQUs7Z0JBS08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBTU8sb0JBQW9CO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTa2lwU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZyb20sIHRhcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgUmVwb3J0Vmlld0NvbHVtbiwgRm9ybVNldHRpbmcsIEJhcnNhQXBpLCBDaG9pY2VEZWYgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzJztcbmltcG9ydCB7IFByZXZlbnREZWZhdWxFdmVudCwgY3JlYXRlR3JpZEVkaXRvckZvcm1QYW5lbCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlLCBVbHZNYWluU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEJhc2VWaWV3UHJvcHNDb21wb25lbnQgfSBmcm9tICcuL2Jhc2Utdmlldy1wcm9wcyc7XG5pbXBvcnQgeyBNb1JlcG9ydFZhbHVlUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbnR5cGUgUmVhc29uVG9TYXZlID0gJ1RBQicgfCAnQ1RSTCtFTlRFUicgfCAnQ0hFQ0tfQ0hBTkdFRCcgfCAnRVNDJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1iYXNlLXZpZXctaXRlbS1wcm9wcycsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZpZXdQcm9wc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBtbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0Q291bnQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGxhc3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNDaGVja2VkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTmV3SW5saW5lTW86IGJvb2xlYW47XG4gICAgQElucHV0KCkgZXh0cmFSZWxhdGlvbjogYW55O1xuICAgIEBJbnB1dCgpIGhpZGVPcGVuSWNvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpbkRpYWxvZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0luZGljYXRvcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dJbmRpY2F0b3JDb2xvcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2V0IHNlcmlhbGl6ZWRSZWxhdGVkTW8odmFsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2VyaWFsaXplZFJlbGF0ZWRNbyA9IHZhbDtcbiAgICAgICAgdGhpcy5fdXBkYXRlQ2FydGFibGVNbyh2YWwpO1xuICAgICAgICB0aGlzLl9jcmVhdGVDYXJ0YWJsZVBhcmFtcygpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgY2FydGFibGVUZW1wbGF0ZSh2YWw6IEZvcm1TZXR0aW5nKSB7XG4gICAgICAgIHRoaXMuX2NhcnRhYmxlVGVtcGxhdGUgPSB2YWw7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUNhcnRhYmxlUGFyYW1zKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBjYXJ0YWJsZU1vKHZhbDogTWV0YW9iamVjdERhdGFNb2RlbCkge1xuICAgICAgICB0aGlzLl9jYXJ0YWJsZU1vID0gdmFsO1xuICAgICAgICB0aGlzLl91cGRhdGVDYXJ0YWJsZU1vKHRoaXMuX3NlcmlhbGl6ZWRSZWxhdGVkTW8pO1xuXG4gICAgICAgIHRoaXMuX2NyZWF0ZUNhcnRhYmxlUGFyYW1zKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBjYXJ0YWJsZVdvcmtmbG93RGF0YSh2YWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jYXJ0YWJsZVdvcmtmbG93RGF0YSA9IHZhbDtcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2FydGFibGVQYXJhbXMoKTtcbiAgICB9XG4gICAgaGFzRXJyb3IgPSBmYWxzZTtcbiAgICBfZm9jdXNUb0ZpcnN0RWlkdGFibGVDb2x1bW4gPSBmYWxzZTtcbiAgICBfbGFzdEVkaXRhYmxlQ29sdW1uSW5kZXg6IG51bWJlcjtcbiAgICBpbmxpbmVFZGl0SW5SZXBvcnQgPSB0cnVlO1xuICAgIGxheW91dCQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBmb3JtUGFuZWxDdHJscjogYW55O1xuICAgIHNhdmluZzogYm9vbGVhbjtcbiAgICBzYXZlZDogYm9vbGVhbjtcbiAgICBpblJvdyA9IHRydWU7XG4gICAgaGFzQ2FydGFibGVUZW1wbGF0ZSA9IGZhbHNlO1xuICAgIGNhcnRhYmxlUGFyYW1zOiB7XG4gICAgICAgIGZvcm1TZXR0aW5nOiBGb3JtU2V0dGluZztcbiAgICAgICAgbW9JZDogc3RyaW5nO1xuICAgICAgICB0eXBlRGVmSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgdmlld0lkOiBhbnk7XG4gICAgICAgIGluRGlhbG9nOiBib29sZWFuO1xuICAgIH07XG4gICAgYnJ1bGVBY3Rpb25NZXNzYWdlOiBCcnVsZUFjdGlvbk1lc3NhZ2UgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9zYXZlRWRpdGVkTW8kID0gbmV3IFN1YmplY3Q8UmVhc29uVG9TYXZlPigpO1xuICAgIHByaXZhdGUgX2Zvcm1wYW5lbFZhbHVlQ2hhbmdlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX2Zvcm1QYW5lbExvYWRlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9jYXJ0YWJsZU1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIHByaXZhdGUgX2NhcnRhYmxlVGVtcGxhdGU6IEZvcm1TZXR0aW5nO1xuICAgIHByaXZhdGUgX2NhcnRhYmxlV29ya2Zsb3dEYXRhOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfc2VyaWFsaXplZFJlbGF0ZWRNbzogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfcmVwb3J0VmFsdWVQaXBlOiBNb1JlcG9ydFZhbHVlUGlwZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHJvdGVjdGVkIF9wYXJlbnRGb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBfZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fc2F2ZUVkaXRlZE1vJFxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChyZWFzb246IFJlYXNvblRvU2F2ZSkgPT4gdGhpcy5faW5saW5lRWRpdFNhdmVGb3JtUGFuZWwocmVhc29uKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycikpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXM6IHsgcmVhc29uOiBSZWFzb25Ub1NhdmU7IHN1Y2NlZWQ6IGJvb2xlYW47IHNhdmVkOiBib29sZWFuIH0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLnNhdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1wYW5lbFZhbHVlQ2hhbmdlZCQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZXMucmVhc29uID09PSAnVEFCJyB8fCByZXMucmVhc29uID09PSAnQ1RSTCtFTlRFUicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQodGhpcy5tbyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMucmVhc29uID09PSAnRVNDJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZm9ybXBhbmVsVmFsdWVDaGFuZ2VkJFxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX3N5bmNNbygpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMubW8uJElubGluZU1vQ2hhbmdlZCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW8uJElubGluZU1vQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLm1vKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGdldCBfaGFzRm9ybVBhbmVsU2VydmljZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UgIT09IG51bGwgJiYgdGhpcy5mb3JtU2V0dGluZztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAodGhpcy5faGFzRm9ybVBhbmVsU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnZpZXckLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubGF5b3V0JDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGlzQ2hlY2tlZCwgaW5saW5lRWRpdE1vZGUgfSA9IGNoYW5nZXM7XG4gICAgICAgIGxldCBuZWVkVG9Mb2FkRm9ybSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5pbmxpbmVFZGl0TW9kZSkge1xuICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGVja2VkLmN1cnJlbnRWYWx1ZSAmJiBpc0NoZWNrZWQucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fbmVlZFRvU2F2ZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbmxpbmVFZGl0U2F2ZUZvcm1QYW5lbCgnQ0hFQ0tfQ0hBTkdFRCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc0NoZWNrZWQuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIG5lZWRUb0xvYWRGb3JtID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlubGluZUVkaXRNb2RlPy5jdXJyZW50VmFsdWUgJiYgIWlubGluZUVkaXRNb2RlPy5wcmV2aW91c1ZhbHVlICYmIHRoaXMuaXNDaGVja2VkKSB7XG4gICAgICAgICAgICBuZWVkVG9Mb2FkRm9ybSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoIWlubGluZUVkaXRNb2RlPy5jdXJyZW50VmFsdWUgJiYgaW5saW5lRWRpdE1vZGU/LnByZXZpb3VzVmFsdWUgJiYgdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NhdmVFZGl0ZWRNbyQubmV4dCgnRVNDJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5lZWRUb0xvYWRGb3JtKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkQW5kQ3JlYXRlRm9ybVBhbmVsQ3RybHIoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5tbyAmJiAhY2hhbmdlcy5tby5maXJzdENoYW5nZSAmJiB0aGlzLmlubGluZUVkaXRNb2RlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZm9ybVBhbmVsTG9hZGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsci5TZXRWYWx1ZShjaGFuZ2VzLm1vLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgKG1vICYmICFtby5maXJzdENoYW5nZSAmJiB0aGlzLl9oYXNGb3JtUGFuZWxTZXJ2aWNlICYmIHRoaXMuaXNDaGVja2VkICYmIHRoaXMuaW5saW5lRWRpdE1vZGUpIHtcbiAgICAgICAgLy8gICAgIC8vdGhpcy5mb3JtUGFuZWxDdHJsci5TZXRWYWx1ZShjaGFuZ2VzLm1vLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIGlmICh0aGlzLmZvcm1QYW5lbEN0cmxyKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLnVuKCdicnVsZVNob3dNZXNzYWdlQWN0aW9uJywgdGhpcy5faGFuZGxlQnJ1bGVTaG93TWVzc2FnZUFjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgT25DYXJ0YWJsZUZvcm1DbGljayhlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUm93Q2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jvd0NoZWNrKCk7XG4gICAgfVxuXG4gICAgb25Sb3dDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3dDbGljay5lbWl0KHsgbW86IHRoaXMubW8sIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cbiAgICBvbkNvbHVtbkNoYW5nZVRvRWRpdE1vZGUoY29sdW1uRWw6IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZXMgPSBjb2x1bW5FbC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICAgYGJ1dHRvbixidXR0b246bm90KFtkaXNhYmxlZF0pLFtocmVmXSxpbnB1dDpub3QoW2Rpc2FibGVkXSksaW5wdXQsXG4gICAgICAgICAgICAgICAgc2VsZWN0LHNlbGVjdDpub3QoW2Rpc2FibGVkXSksdGV4dGFyZWEsdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKWBcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbGFzdEVkaXRhYmxlQ29sdW1uSW5kZXggPSBpbmRleDtcbiAgICAgICAgaWYgKCFmb2N1c2FibGVzLmxlbmd0aCB8fCB0aGlzLl9mb2N1c1RvRmlyc3RFaWR0YWJsZUNvbHVtbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ZvY3VzVG9GaXJzdEVpZHRhYmxlQ29sdW1uID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgbGFzdEZvY3VzYWJsZSA9IGZvY3VzYWJsZXNbMF07XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgKGxhc3RGb2N1c2FibGUgYXMgSFRNTEVsZW1lbnQpPy5mb2N1cygpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG4gICAgb25UYWJLZXlEb3duKGUsIGluZGV4KTogdm9pZCB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5fbGFzdEVkaXRhYmxlQ29sdW1uSW5kZXgpIHtcbiAgICAgICAgICAgIFByZXZlbnREZWZhdWxFdmVudChlKTtcbiAgICAgICAgICAgIHRoaXMuX3NhdmVFZGl0ZWRNbyQubmV4dCgnVEFCJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25FZGl0Rm9ybVBhbmVsU2F2ZShlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NhdmVFZGl0ZWRNbyQubmV4dCgnQ1RSTCtFTlRFUicpO1xuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxDYW5jZWwoZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zYXZlRWRpdGVkTW8kLm5leHQoJ0VTQycpO1xuICAgIH1cbiAgICBvblVsdkNvbW1hbmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudWx2Q29tbWFuZC5lbWl0KHsgbW86IHRoaXMubW8sIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cbiAgICBvbkFjdGlvbihjb21tYW5kQm9keTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uLmVtaXQoY29tbWFuZEJvZHkpO1xuICAgIH1cbiAgICBvbkV4cGFuZENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZENsaWNrLmVtaXQodGhpcy5tbyk7XG4gICAgfVxuICAgIG9uRHluYW1pY0NvbXBvbmVudEV2ZW50cyhlOiB7IHRpdGxlOiBzdHJpbmc7IGRhdGE/OiBhbnkgfSk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGUudGl0bGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3Jvd0NoZWNrJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uUm93Q2hlY2soKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3Jvd0NsaWNrJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uUm93Q2xpY2soKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3VsdkNvbW1hbmQnOlxuICAgICAgICAgICAgICAgIHRoaXMub25VbHZDb21tYW5kKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNhcnRhYmxlRm9ybUNsb3NlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJ0YWJsZUZvcm1DbG9zZWQuZW1pdCh7IG1vOiB0aGlzLm1vLCBpbmRleDogdGhpcy5pbmRleCB9KTtcbiAgICB9XG4gICAgX3RyYWNrQnlDb2x1bW4oaW5kZXg6IG51bWJlciwgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5OYW1lfSR7aW5kZXh9YDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF91cGRhdGVDYXJ0YWJsZU1vKHNlcmlhbGl6ZU1vOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHNlcmlhbGl6ZU1vICYmIHRoaXMuX2NhcnRhYmxlTW8pIHtcbiAgICAgICAgICAgIHNlcmlhbGl6ZU1vID0gYCR7c2VyaWFsaXplTW99YDtcbiAgICAgICAgICAgIGNvbnN0IG1vID0gQmFyc2FBcGkuRXh0LmRlY29kZShzZXJpYWxpemVNbyk7XG4gICAgICAgICAgICB0aGlzLl9jYXJ0YWJsZU1vID0geyAuLi50aGlzLl9jYXJ0YWJsZU1vLCAuLi5tbyB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY3JlYXRlQ2FydGFibGVQYXJhbXMoKTogdm9pZCB7XG4gICAgICAgIGxldCBjYXJ0YWJsZVRlbXBsYXRlID0gdGhpcy5fY2FydGFibGVUZW1wbGF0ZTtcbiAgICAgICAgY29uc3QgY2FydGFibGVNbyA9IHRoaXMuX2NhcnRhYmxlTW87XG4gICAgICAgIGNvbnN0IGNhcnRhYmxlV29ya2Zsb3dEYXRhID0gdGhpcy5fY2FydGFibGVXb3JrZmxvd0RhdGE7XG4gICAgICAgIGlmICh0aGlzLmhhc0NhcnRhYmxlVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIC8vIFRPRE8gdXBkYXRlIGNhcnRhYmxlIG1vO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGUgJiZcbiAgICAgICAgICAgIGNhcnRhYmxlTW8gJiZcbiAgICAgICAgICAgIHR5cGVvZiBjYXJ0YWJsZVdvcmtmbG93RGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgIHRoaXMuX3NlcmlhbGl6ZWRSZWxhdGVkTW9cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjYXJ0YWJsZVRlbXBsYXRlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjYXJ0YWJsZVRlbXBsYXRlKSk7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gY2FydGFibGVUZW1wbGF0ZS5WaWV3O1xuICAgICAgICAgICAgY2FydGFibGVUZW1wbGF0ZS5EYXRhID0geyBNbzogeyAuLi5jYXJ0YWJsZU1vIH0gfTtcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGUuV29ya2Zsb3cgPSBjYXJ0YWJsZVdvcmtmbG93RGF0YSA9PT0gJycgPyBudWxsIDogSlNPTi5wYXJzZShjYXJ0YWJsZVdvcmtmbG93RGF0YSk7XG4gICAgICAgICAgICBpZiAoIXZpZXcuRXh0cmFKc29uUHJvcCkge1xuICAgICAgICAgICAgICAgIHZpZXcuRXh0cmFKc29uUHJvcCA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmlldy5FeHRyYUpzb25Qcm9wLklzU2ltcGxlID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5jYXJ0YWJsZVBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICBmb3JtU2V0dGluZzogY2FydGFibGVUZW1wbGF0ZSxcbiAgICAgICAgICAgICAgICBtb0lkOiBjYXJ0YWJsZU1vLklkLFxuICAgICAgICAgICAgICAgIHR5cGVEZWZJZDogY2FydGFibGVNby4kVHlwZURlZklkLFxuICAgICAgICAgICAgICAgIHZpZXdJZDogdmlldy5UeXBlVmlld0lkLFxuICAgICAgICAgICAgICAgIGluRGlhbG9nOiBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuaGFzQ2FydGFibGVUZW1wbGF0ZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9uZWVkVG9TYXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBpZiAoIXRoaXMuaXNDaGVja2VkKSB7XG4gICAgICAgIC8vICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gY29uc3QgaXNDaGlsZE5vZGUgPSAodGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZS50YXJnZXQpO1xuICAgICAgICAvLyBpZiAoaXNDaGlsZE5vZGUpIHtcbiAgICAgICAgLy8gICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgLy8gfVxuICAgICAgICBjb25zdCB0ID0gdGhpcy5pbmxpbmVFZGl0TW9kZSAmJiB0aGlzLl9oYXNGb3JtUGFuZWxTZXJ2aWNlO1xuICAgICAgICBpZiAoIXQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1QYW5lbEN0cmxyICYmIHRoaXMuZm9ybVBhbmVsQ3RybHIuSXNNb0NoYW5nZWQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2NoZWNrZm9jdXNPdXRGcm9tUm93KHRhcmdldCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zdCBmb2N1c2FibGU6IE5vZGVMaXN0ID0gdGhpcy5fZm9jdXNhYmxlQ29udHJvbHM7XG4gICAgICAgIC8vIGxldCBmb3VuZEluRm9jdXNhYmxlID0gZmFsc2U7XG4gICAgICAgIC8vIGZvY3VzYWJsZS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgIC8vICAgICBpZiAoYyA9PT0gdGFyZ2V0KSB7XG4gICAgICAgIC8vICAgICAgICAgZm91bmRJbkZvY3VzYWJsZSA9IHRydWU7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH0pO1xuICAgICAgICAvLyBpZiAoIWZvdW5kSW5Gb2N1c2FibGUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMuX3NhdmVFZGl0ZWRNbyQubmV4dCgnVEFCJyk7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yb3dDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKHRoaXMuaXNDaGVja2VkKSB7XG4gICAgICAgIC8vICAgICByZXR1cm47XG4gICAgICAgIC8vIH1cbiAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KHsgbW86IHRoaXMubW8sIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgICAgICBpZiAodGhpcy5jYXJ0YWJsZVBhcmFtcykge1xuICAgICAgICAgICAgY29uc3QgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW10gPSB0aGlzLmNhcnRhYmxlUGFyYW1zLmZvcm1TZXR0aW5nPy5Xb3JrZmxvdz8uQ2hvaWNlTGlzdDtcbiAgICAgICAgICAgIGlmIChjaG9pY2VMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMud29ya2Zsb3dTaGFyZUJ1dHRvbnMuZW1pdCh7IG1vOiB0aGlzLm1vLCBjaG9pY2VMaXN0LCBhZGQ6ICF0aGlzLmlzQ2hlY2tlZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBfaGFuZGxlVmFsdWVDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjaygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2Zvcm1wYW5lbFZhbHVlQ2hhbmdlZCQubmV4dCgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3N5bmNNbygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgc3luY1dpdGhGb3JtcGFuZWxNbyA9IHRoaXMubW87XG4gICAgICAgIGNvbnN0IF9pc0NoZWNrZWQgPSB0aGlzLm1vLiRJc0NoZWNrZWQ7XG4gICAgICAgIGNvbnN0IGZvcm1QYW5lbEN0cmxyTW8gPSB0aGlzLmZvcm1QYW5lbEN0cmxyLk1vO1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtUGFuZWxDdHJsck1vLiRPcmlnaW5hbFZhbHVlcykuZm9yRWFjaCgoYzogYW55KSA9PiB7XG4gICAgICAgICAgICBzeW5jV2l0aEZvcm1wYW5lbE1vW2NdID0gZm9ybVBhbmVsQ3RybHJNb1tjXTtcbiAgICAgICAgICAgIGlmIChmb3JtUGFuZWxDdHJsck1vW2MgKyAnJENhcHRpb24nXSkge1xuICAgICAgICAgICAgICAgIHN5bmNXaXRoRm9ybXBhbmVsTW9bYyArICckQ2FwdGlvbiddID0gZm9ybVBhbmVsQ3RybHJNb1tjICsgJyRDYXB0aW9uJ107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZm9ybVBhbmVsQ3RybHJNb1tjICsgJyRJY29uJ10pIHtcbiAgICAgICAgICAgICAgICBzeW5jV2l0aEZvcm1wYW5lbE1vW2MgKyAnJEljb24nXSA9IGZvcm1QYW5lbEN0cmxyTW9bYyArICckSWNvbiddO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc3luY1dpdGhGb3JtcGFuZWxNb1snJE9yaWdpbmFsVmFsdWVzJ10gPSBmb3JtUGFuZWxDdHJsck1vWyckT3JpZ2luYWxWYWx1ZXMnXTtcbiAgICAgICAgc3luY1dpdGhGb3JtcGFuZWxNb1snJFN0YXRlJ10gPSBmb3JtUGFuZWxDdHJsck1vWyckU3RhdGUnXTsgLy8gdGhpcyBhZGQgYmVjYXVzZSBpZiB3ZSBlZGl0IHVuY2hhbmdlZCBtbyBpdCBkb2VzIG5vdCByZWZsZWN0IHRvIG1vIG9mIHVsdi5cbiAgICAgICAgdGhpcy5tbyA9IHsgLi4uc3luY1dpdGhGb3JtcGFuZWxNbyB9O1xuICAgICAgICB0aGlzLm1vLiRJc0NoZWNrZWQgPSBfaXNDaGVja2VkO1xuICAgICAgICByZXR1cm4gZnJvbShQcm9taXNlLnJlc29sdmUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yYWlzZUZvcm1QYW5lbFZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLm1vKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2hhbmRsZUJydWxlU2hvd01lc3NhZ2VBY3Rpb24oYWN0aW9uOiBCcnVsZUFjdGlvbk1lc3NhZ2UpOiB2b2lkIHtcbiAgICAgICAgYWN0aW9uLk1lc3NhZ2VFeHByZXNzaW9uSHRtbCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24pO1xuICAgICAgICB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA9IGFjdGlvbjtcbiAgICAgICAgLy8gaWYgKGFjdGlvbi5NZXNzYWdlVHlwZSA9PT0gQmFyc2FBcGkuQ29tbW9uLkVudW1zLlNob3dNZXNzYWdlUnVsZUFjdGlvbl9UeXBlLkluZm9ybWF0aW9uKSB7XG4gICAgICAgIC8vICAgICBpZiAoYWN0aW9uLkVzY2FwZUNoYXJhY3RlcnMpIFVsLk1zZ0JveC5JbmZvKGFjdGlvbi5NZXNzYWdlRXhwcmVzc2lvbiwgZG9SZXR1cm4pO1xuICAgICAgICAvLyAgICAgZWxzZSBVbC5Nc2dCb3guSW5mb19TaG93SHRtbChhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24sIGRvUmV0dXJuKTtcbiAgICAgICAgLy8gfSBlbHNlIGlmIChhY3Rpb24uTWVzc2FnZVR5cGUgPT09IEJhcnNhQXBpLkNvbW1vbi5FbnVtcy5TaG93TWVzc2FnZVJ1bGVBY3Rpb25fVHlwZS5FcnJvcikge1xuICAgICAgICAvLyAgICAgdmFyIGRvUmV0dXJuMCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gICAgICAgICB0aGlzLl9mb3JtUGFuZWwuUmVmb2N1c0N1cnJlbnRGaWVsZCgpO1xuICAgICAgICAvLyAgICAgICAgIGRvUmV0dXJuKG5ldyBDb21tb24uU2lsZW50RXhjZXB0aW9uKCkpO1xuICAgICAgICAvLyAgICAgfTtcbiAgICAgICAgLy8gICAgIGlmIChhY3Rpb24uRXNjYXBlQ2hhcmFjdGVycykgVWwuTXNnQm94LkVycm9yKGFjdGlvbi5NZXNzYWdlRXhwcmVzc2lvbiwgZG9SZXR1cm4wLmJpbmQodGhpcykpO1xuICAgICAgICAvLyAgICAgZWxzZSBVbC5Nc2dCb3guRXJyb3JfU2hvd0h0bWwoYWN0aW9uLk1lc3NhZ2VFeHByZXNzaW9uLCBkb1JldHVybjAuYmluZCh0aGlzKSk7XG4gICAgICAgIC8vIH0gZWxzZSBpZiAoYWN0aW9uLk1lc3NhZ2VUeXBlID09PSBCYXJzYUFwaS5Db21tb24uRW51bXMuU2hvd01lc3NhZ2VSdWxlQWN0aW9uX1R5cGUuT2tDYW5jZWwpIHtcbiAgICAgICAgLy8gICAgIFVsLk1zZ0JveC5Db25maXJtWWVzTm9fU2FmZSh0cnVlLCBhY3Rpb24uTWVzc2FnZUV4cHJlc3Npb24sIEJCQi5TZWxlY3QsIGFjdGlvbi5Fc2NhcGVDaGFyYWN0ZXJzLCBkb1JldHVybik7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jcmVhdGVGb3JtUGFuZWxDdHJscihtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgdHlwZURlZklkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybVBhbmVsQ3RybHIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIgPSBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsKFxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVNldHRpbmcsXG4gICAgICAgICAgICAgICAgeyAuLi5tbyB9LFxuICAgICAgICAgICAgICAgIHR5cGVEZWZJZCxcbiAgICAgICAgICAgICAgICB0aGlzLmV4dHJhUmVsYXRpb24sXG4gICAgICAgICAgICAgICAgdGhpcy5pblJvd1xuICAgICAgICAgICAgICAgIC8vIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dC5TZXR0aW5nLCAnRXh0cmEuUmVsYXRpb24nKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLklubGluZUVkaXRJblJlcG9ydCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIub24oe1xuICAgICAgICAgICAgYnJ1bGVTaG93TWVzc2FnZUFjdGlvbjogdGhpcy5faGFuZGxlQnJ1bGVTaG93TWVzc2FnZUFjdGlvbi5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgdmFsdWVDaGFuZ2U6IHRoaXMuX2hhbmRsZVZhbHVlQ2hhbmdlLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9sb2FkQW5kQ3JlYXRlRm9ybVBhbmVsQ3RybHIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1TZXR0aW5nRGF0YSA9IHRoaXMuZm9ybVNldHRpbmcuRGF0YTtcbiAgICAgICAgY29uc3QgZm9ybU1vID0ge1xuICAgICAgICAgICAgLi4udGhpcy5tbyxcbiAgICAgICAgICAgICRGaWVsZERpY3Q6IGZvcm1TZXR0aW5nRGF0YS5Nby4kRmllbGREaWN0LFxuICAgICAgICAgICAgJFR5cGVEZWZJZDogZm9ybVNldHRpbmdEYXRhLk1vLiRUeXBlRGVmSWQsXG4gICAgICAgICAgICAkT3JpZ2luYWxWYWx1ZXM6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLl9mb3JtUGFuZWxMb2FkZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuU2V0VmFsdWUoZm9ybU1vKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NyZWF0ZUZvcm1QYW5lbEN0cmxyKGZvcm1NbywgdGhpcy50eXBlRGVmSWQpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxMb2FkZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuVWx2TW9EYXRhTGlzdENvdW50ID0gdGhpcy5tb0RhdGFMaXN0Q291bnQgLSAxO1xuICAgICAgICBmb3JtUGFuZWxDdHJsci5Mb2FkQW5kQ3JlYXRlKG51bGwsIGZhbHNlLCBmYWxzZSwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tRm9ybVBhbmVsVWkgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRNbyA9IHRoaXMuX3BhcmVudEZvcm1QYW5lbFNlcnZpY2UgPyB0aGlzLl9wYXJlbnRGb3JtUGFuZWxTZXJ2aWNlLm1vIDogbnVsbDtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4dHJhUmVsYXRpb24gJiYgcGFyZW50TW8gJiYgdGhpcy5leHRyYVJlbGF0aW9uLlJlbGF0aW9uVHlwZSA9PT0gJ0NvbXBvc2l0aW9uJykge1xuICAgICAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLk1vLlNldEZWYWx1ZSh0aGlzLmV4dHJhUmVsYXRpb24uUGFyZW50RmROYW1lLCBwYXJlbnRNbyk7XG4gICAgICAgICAgICAgICAgLy8gbmV3Rm9ybVNldHRpbmdzLkRhdGEuTW9bcmVsYXRpb24uUGFyZW50RmROYW1lXSA9IHBhcmVudE1vLkdldENoYW5nZWRPYmplY3QoKTtcbiAgICAgICAgICAgICAgICAvLyBuZXdGb3JtU2V0dGluZ3MuRGF0YS5Nb1tyZWxhdGlvbi5QYXJlbnRGZE5hbWVdLiRTdGF0ZSA9IHBhcmVudE1vLiRTdGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1c3RvbUZvcm1QYW5lbFVpLlJlZnJlc2ggPSAoKSA9PiB7fTtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY29udGV4dCA9IGZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmVzZXRTYXZpbmdTdGF0ZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5icnVsZUFjdGlvbk1lc3NhZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLnNhdmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRTYXZpbmdTdGF0ZShlcnIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pbmxpbmVFZGl0U2F2ZUZvcm1QYW5lbChyZWFzb24pOiBQcm9taXNlPHsgcmVhc29uOiBSZWFzb25Ub1NhdmU7IHN1Y2NlZWQ6IGJvb2xlYW47IHNhdmVkOiBib29sZWFuIH0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8eyByZWFzb246IFJlYXNvblRvU2F2ZTsgc3VjY2VlZDogYm9vbGVhbjsgc2F2ZWQ6IGJvb2xlYW4gfT4oKHJlc29sdmUsIF8pID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJsci5Jc01vQ2hhbmdlZCgpKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgc3RhdGUgb2YgbW8gaXMgbmV3IG9yIG1vZGlkZmllZCB0aGVuIGl0IG5lZWRzIHRvIHVwZGF0ZVxuICAgICAgICAgICAgICAgIHJlc29sdmUoeyByZWFzb24sIHN1Y2NlZWQ6IHRydWUsIHNhdmVkOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYW5lbEN0cmxyTW8gPSB0aGlzLmZvcm1QYW5lbEN0cmxyLk1vO1xuICAgICAgICAgICAgZGVsZXRlIGZvcm1QYW5lbEN0cmxyTW8uanNvbjtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2aW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5tby4kSW5saW5lTW9DaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxTYXZlLmVtaXQodGhpcy5tbyk7XG4gICAgICAgICAgICB0aGlzLmJydWxlQWN0aW9uTWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLlNhdmUoZmFsc2UsIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIuU2V0SXNDaGFuZ2VkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRTYXZpbmdTdGF0ZShlcnIpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoeyByZWFzb24sIHN1Y2NlZWQ6IHRydWUsIHNhdmVkOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmludGVyZmFjZSBCcnVsZUFjdGlvbk1lc3NhZ2Uge1xuICAgIE1lc3NhZ2VUeXBlOiBudW1iZXI7XG4gICAgRXNjYXBlQ2hhcmFjdGVyczogYm9vbGVhbjtcbiAgICBNZXNzYWdlRXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIE1lc3NhZ2VFeHByZXNzaW9uSHRtbDogU2FmZUh0bWw7XG59XG4iXX0=
|
|
@@ -7104,6 +7104,9 @@ class NumberBaseComponent extends FieldBaseComponent {
|
|
|
7104
7104
|
}
|
|
7105
7105
|
}
|
|
7106
7106
|
}
|
|
7107
|
+
else if (this.inputElement) {
|
|
7108
|
+
this.inputElement.value = '';
|
|
7109
|
+
}
|
|
7107
7110
|
this.value = newVal;
|
|
7108
7111
|
this.formmatedValue.emit((_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.value);
|
|
7109
7112
|
this.valueChange.emit(this.value);
|
|
@@ -9002,6 +9005,7 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
9002
9005
|
syncWithFormpanelMo[c + '$Icon'] = formPanelCtrlrMo[c + '$Icon'];
|
|
9003
9006
|
}
|
|
9004
9007
|
});
|
|
9008
|
+
syncWithFormpanelMo['$OriginalValues'] = formPanelCtrlrMo['$OriginalValues'];
|
|
9005
9009
|
syncWithFormpanelMo['$State'] = formPanelCtrlrMo['$State']; // this add because if we edit unchanged mo it does not reflect to mo of ulv.
|
|
9006
9010
|
this.mo = Object.assign({}, syncWithFormpanelMo);
|
|
9007
9011
|
this.mo.$IsChecked = _isChecked;
|