@smartbit4all/ng-client 3.3.39 → 3.3.40
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/smart-component-layout/smart-component-layout.component.mjs +4 -3
- package/fesm2015/smartbit4all-ng-client.mjs +3 -2
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +3 -2
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-3.3.40.tgz +0 -0
- package/smartbit4all-ng-client-3.3.39.tgz +0 -0
|
@@ -15,6 +15,7 @@ export class SmartComponentLayoutComponent {
|
|
|
15
15
|
constructor(layoutService) {
|
|
16
16
|
this.layoutService = layoutService;
|
|
17
17
|
this._destroy$ = new Subject();
|
|
18
|
+
this.toolbarId = 'not_initialized_yet';
|
|
18
19
|
}
|
|
19
20
|
ngAfterViewInit() {
|
|
20
21
|
if (this.smartFormList?.first) {
|
|
@@ -181,10 +182,10 @@ export class SmartComponentLayoutComponent {
|
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
SmartComponentLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponentLayoutComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
184
|
-
SmartComponentLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout" }, viewQueries: [{ propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar
|
|
185
|
+
SmartComponentLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout" }, viewQueries: [{ propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar #toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], components: [{ type: i2.ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout"] }, { type: i3.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: i4.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }, { type: i5.SmartTreeComponent, selector: "smart-tree", inputs: ["treeStyle", "treeService"] }, { type: i6.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
185
186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponentLayoutComponent, decorators: [{
|
|
186
187
|
type: Component,
|
|
187
|
-
args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar
|
|
188
|
+
args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar #toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
|
|
188
189
|
}], ctorParameters: function () { return [{ type: i1.SmartformLayoutDefinitionService }]; }, propDecorators: { smartComponentLayout: [{
|
|
189
190
|
type: Input
|
|
190
191
|
}], smartFormList: [{
|
|
@@ -203,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
203
204
|
type: ViewChildren,
|
|
204
205
|
args: [SmartComponentLayoutComponent]
|
|
205
206
|
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQU9MLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFrQyxNQUFNLE9BQU8sQ0FBQztBQUMzRixPQUFPLEVBRUwsd0JBQXdCLEdBR3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUNMLGdCQUFnQixFQUdoQixjQUFjLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUloQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBUTFDLE1BQU0sT0FBTyw2QkFBNkI7SUFtQ3hDLFlBQW9CLGFBQStDO1FBQS9DLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQWxDekQsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBa0NtQixDQUFDO0lBRXZFLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPO2FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMs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LElBQUksQ0FBQyxvQkFBb0IsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTztJQUNULENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDakUsQ0FBQzs7MEhBMU9VLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLHdjQWdDMUIsNkJBQTZCLHFFQ3BFN0MsNGlDQXlCQSwwT0RXYSw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSx3QkFBd0I7dUhBT3pCLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsTUFBTTtnQkFNcEIsYUFBYTtzQkFEWixZQUFZO3VCQUFDLE1BQU07Z0JBTXBCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxRQUFRO2dCQU10QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsU0FBUztnQkFXdkIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDaGlsZHJlbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgQ29tcG9uZW50V2lkZ2V0VHlwZSwgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQge1xyXG4gIFNtYXJ0Rm9ybSxcclxuICBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24sXHJcbiAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gIFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlLFxyXG59IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQge1xyXG4gIEdyaWRVaUFjdGlvblR5cGUsXHJcbiAgU21hcnRHcmlkLFxyXG4gIFNtYXJ0R3JpZENvbXBvbmVudCxcclxuICBTbWFydExheW91dERlZixcclxufSBmcm9tICcuLi9zbWFydC1ncmlkL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXIsIFNtYXJ0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9zbWFydC10cmVlL3Byb2plY3RzJztcclxuaW1wb3J0IHsgRXhwYW5kYWJsZVNlY3Rpb24gfSBmcm9tICcuLi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3Byb2plY3RzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc21hcnQtY29tcG9uZW50LWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgcHJvdGVjdGVkIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIEBJbnB1dCgpIHNtYXJ0Q29tcG9uZW50TGF5b3V0PzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xyXG5cclxuICB1dWlkPzogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdmb3JtJylcclxuICBzbWFydEZvcm1MaXN0ITogUXVlcnlMaXN0PFNtYXJ0Zm9ybUNvbXBvbmVudD47XHJcbiAgc21hcnRGb3JtQ29tcG9uZW50PzogU21hcnRmb3JtQ29tcG9uZW50O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignZ3JpZCcpXHJcbiAgc21hcnRHcmlkTGlzdCE6IFF1ZXJ5TGlzdDxTbWFydEdyaWRDb21wb25lbnQ+O1xyXG4gIHNtYXJ0R3JpZENvbXBvbmVudD86IFNtYXJ0R3JpZENvbXBvbmVudDtcclxuICBzbWFydEdyaWQ/OiBTbWFydEdyaWQ7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZpbHRlcicpXHJcbiAgc21hcnRGaWx0ZXJMaXN0ITogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQ29tcG9uZW50PjtcclxuICBzbWFydEZpbHRlckNvbXBvbmVudD86IFNtYXJ0RmlsdGVyQ29tcG9uZW50O1xyXG4gIHNtYXJ0RmlsdGVyPzogU21hcnRGaWx0ZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ3Rvb2xiYXInKVxyXG4gIHRvb2xiYXJMaXN0ITogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD47XHJcbiAgdG9vbGJhcj86IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudDtcclxuICB0b29sYmFySWQ/OiBzdHJpbmc7XHJcblxyXG4gIHBhcmVudD86IGFueTsgLy9TbWFydENvbXBvbmVudDxhbnk+XHJcbiAgdHJlZVNlcnZpY2U/OiBTbWFydHRyZWVHZW5lcmljU2VydmljZTtcclxuXHJcbiAgZXhwYW5kYWJsZVNlY3Rpb24/OiBFeHBhbmRhYmxlU2VjdGlvbjxTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24+O1xyXG5cclxuICBAVmlld0NoaWxkcmVuKFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KVxyXG4gIGNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8U21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheW91dFNlcnZpY2U6IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldEZvcm1Db21wb25lbnQodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybUxpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Rm9ybUNvbXBvbmVudChsaXN0LmZpcnN0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRHcmlkQ29tcG9uZW50KHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydEdyaWRMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnNldEdyaWRDb21wb25lbnQobGlzdC5maXJzdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc21hcnRGaWx0ZXJMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCA9IGxpc3QuZmlyc3Q7XHJcbiAgICAgICAgICB0aGlzLmJpbmRGaWx0ZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnRvb2xiYXJMaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldFRvb2xiYXJDb21wb25lbnQodGhpcy50b29sYmFyTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b29sYmFyTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dCkge1xyXG4gICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0ID0gY2hhbmdlc1snc21hcnRDb21wb25lbnRMYXlvdXQnXS5jdXJyZW50VmFsdWU7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQpIHtcclxuICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVcCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyZW50ID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ucGFyZW50Q29tcG9uZW50IGFzIGFueTtcclxuICAgIHRoaXMudXVpZCA9IHRoaXMucGFyZW50LnV1aWQ7XHJcbiAgICB0aGlzLnRyZWVTZXJ2aWNlID0gdGhpcy5wYXJlbnQuc21hcnRUcmVlU2VydmljZTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZXhwYW5kYWJsZSkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9uKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IENvbXBvbmVudFR5cGUuRk9STSkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8udHlwZSA9PT0gQ29tcG9uZW50VHlwZS5XSURHRVQpIHtcclxuICAgICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLkdSSUQpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdEdyaWQoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5GSUxURVIpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdEZpbHRlcigpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLlRSRUUpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdFRyZWUoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5UT09MQkFSKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUb29sYmFyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHR5cGUoKTogdHlwZW9mIENvbXBvbmVudFR5cGUge1xyXG4gICAgcmV0dXJuIENvbXBvbmVudFR5cGU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RFeHBhbmRhYmxlU2VjdGlvbigpOiB2b2lkIHtcclxuICAgIGxldCBkYXRhOiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24gPSB7IC4uLnRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQhIH07XHJcbiAgICBkYXRhLmV4cGFuZGFibGUgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmV4cGFuZGFibGVTZWN0aW9uID0ge1xyXG4gICAgICB0aXRsZTogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZXhwYW5kYWJsZVNlY3Rpb25MYWJlbCA/PyAnJyxcclxuICAgICAgZGF0YSxcclxuICAgICAgaW5wdXROYW1lOiAnc21hcnRDb21wb25lbnRMYXlvdXQnLFxyXG4gICAgICBjdXN0b21Db21wb25lbnQ6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEZvcm0oKTogdm9pZCB7XHJcbiAgICBjb25zdCB3aWRnZXRzID0gdGhpcy5sYXlvdXRTZXJ2aWNlLnJlbmRlcih7XHJcbiAgICAgIGxheW91dERlZmluaXRpb25zOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5mb3JtLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zbWFydEZvcm0gPSB7XHJcbiAgICAgIGRpcmVjdGlvbjogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTCxcclxuICAgICAgY29tcG9uZW50TW9kZWw6IHRoaXMucGFyZW50Py5tb2RlbCxcclxuICAgICAgd2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5iaW5kRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9ybUNvbXBvbmVudChjb21wOiBTbWFydGZvcm1Db21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5zbWFydEZvcm1Db21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydEZvcm1Db21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiaW5kRm9ybSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNtYXJ0Rm9ybSAmJiB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnBhcmVudD8uYWRkRm9ybShcclxuICAgICAgICAvLyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZvcm1cclxuICAgICAgICBgZm9ybV8ke3RoaXMubWFrZWlkKDUpfWAsXHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm0sXHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm1Db21wb25lbnRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1ha2VpZChsZW5ndGg6IG51bWJlcikge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgY29uc3QgY2hhcmFjdGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XHJcbiAgICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XHJcbiAgICBsZXQgY291bnRlciA9IDA7XHJcbiAgICB3aGlsZSAoY291bnRlciA8IGxlbmd0aCkge1xyXG4gICAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xyXG4gICAgICBjb3VudGVyICs9IDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0R3JpZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc21hcnRHcmlkID0ge1xyXG4gICAgICBncmlkSWRlbnRpZmllcjogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyISxcclxuICAgICAgZ3JpZE1vZGVsOiB7XHJcbiAgICAgICAgcGFnZToge30sXHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByb3dVaUFjdGlvblR5cGU6IEdyaWRVaUFjdGlvblR5cGUuUE9QVVBfTUVOVSxcclxuICAgICAgfSxcclxuICAgICAgbGF5b3V0RGVmOiBTbWFydExheW91dERlZi5UQUJMRSxcclxuICAgICAgcGFnaW5hdG9yOiB0cnVlLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmJpbmRHcmlkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRHcmlkQ29tcG9uZW50KGNvbXA6IFNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCA9IGNvbXA7XHJcbiAgICAgIHRoaXMuYmluZEdyaWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJpbmRHcmlkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc21hcnRHcmlkICYmIHRoaXMuc21hcnRHcmlkQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnRHcmlkID0gdGhpcy5wYXJlbnQ/LmFkZEdyaWQoXHJcbiAgICAgICAgdGhpcy5zbWFydEdyaWQsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmYWxzZSxcclxuICAgICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VG9vbGJhckNvbXBvbmVudChjb21wOiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQpIHtcclxuICAgIHRoaXMudG9vbGJhciA9IGNvbXA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0RmlsdGVyID0gKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQhLnBhcmVudENvbXBvbmVudCBhcyBhbnkpLmFkZEZpbHRlcihcclxuICAgICAgYGZpbHRlcl8ke3RoaXMubWFrZWlkKDUpfWAsXHJcbiAgICAgIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uZmlsdGVyRXhwcmVzc2lvbkZpZWxkTGlzdCxcclxuICAgICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5maWx0ZXJUeXBlLFxyXG4gICAgICB0aGlzLnNtYXJ0RmlsdGVyQ29tcG9uZW50XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYmluZEZpbHRlcigpOiB2b2lkIHtcclxuICAgIC8vIFRPRE9cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdFRyZWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmVudC5zZXRVcERlZmF1bHRUcmVlKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcik7XHJcbiAgICB0aGlzLnRyZWVTZXJ2aWNlPy5pbml0aWFsaXplKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RUb29sYmFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sYmFySWQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJzbWFydENvbXBvbmVudExheW91dD8uZXhwYW5kYWJsZTsgdGhlbiBleHBhbmRhYmxlOyBlbHNlIG5vcm1hbFwiPiA8L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZXhwYW5kYWJsZT5cclxuICA8c21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uXHJcbiAgICAqbmdJZj1cImV4cGFuZGFibGVTZWN0aW9uXCJcclxuICAgIFtkYXRhXT1cImV4cGFuZGFibGVTZWN0aW9uXCJcclxuICA+PC9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI25vcm1hbD5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cInNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSB0eXBlKCkuQ09OVEFJTkVSXCJcclxuICAgIFtuZ0NsYXNzXT1cInNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb24gPz8gJ3ZlcnRpY2FsJ1wiXHJcbiAgPlxyXG4gICAgPHNtYXJ0LWNvbXBvbmVudC1sYXlvdXRcclxuICAgICAgKm5nRm9yPVwibGV0IGxheW91dCBvZiBzbWFydENvbXBvbmVudExheW91dD8uY29tcG9uZW50c1wiXHJcbiAgICAgIFtzbWFydENvbXBvbmVudExheW91dF09XCJsYXlvdXRcIlxyXG4gICAgPjwvc21hcnQtY29tcG9uZW50LWxheW91dD5cclxuICA8L2Rpdj5cclxuICA8c21hcnRmb3JtICNmb3JtIFtzbWFydEZvcm1dPVwic21hcnRGb3JtXCI+PC9zbWFydGZvcm0+XHJcbiAgPHNtYXJ0LWdyaWQgI2dyaWQgW3NtYXJ0R3JpZF09XCJzbWFydEdyaWRcIiBbdXVpZF09XCJ1dWlkIVwiPjwvc21hcnQtZ3JpZD5cclxuICA8IS0tIDxzbWFydC1maWx0ZXIgI2ZpbHRlciBbZmlsdGVyXT1cInNtYXJ0RmlsdGVyXCI+PC9zbWFydC1maWx0ZXI+IC0tPlxyXG4gIDxzbWFydC10cmVlICpuZ0lmPVwidHJlZVNlcnZpY2VcIiBbdHJlZVNlcnZpY2VdPVwidHJlZVNlcnZpY2UhXCI+PC9zbWFydC10cmVlPlxyXG4gIDxzbWFydC11aS1hY3Rpb24tdG9vbGJhciAqbmdJZj1cInRvb2xiYXJJZFwiICN0b29sYmFyIFtpZF09XCJ0b29sYmFySWRcIj48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQU9MLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFrQyxNQUFNLE9BQU8sQ0FBQztBQUMzRixPQUFPLEVBRUwsd0JBQXdCLEdBR3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUNMLGdCQUFnQixFQUdoQixjQUFjLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUloQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBUTFDLE1BQU0sT0FBTyw2QkFBNkI7SUFtQ3hDLFlBQW9CLGFBQStDO1FBQS9DLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQWxDekQsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBd0JuRCxjQUFTLEdBQVkscUJBQXFCLENBQUM7SUFVMkIsQ0FBQztJQUV2RSxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRTtZQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsT0FB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b0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU87SUFDVCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO0lBQ2pFLENBQUM7OzBIQTFPVSw2QkFBNkI7OEdBQTdCLDZCQUE2Qix3Y0FnQzFCLDZCQUE2QixxRUNwRTdDLHdoQ0F5QkEsME9EV2EsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0Usd0JBQXdCO3VIQU96QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixZQUFZO3VCQUFDLE1BQU07Z0JBTXBCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxNQUFNO2dCQU1wQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsUUFBUTtnQkFNdEIsV0FBVztzQkFEVixZQUFZO3VCQUFDLFNBQVM7Z0JBV3ZCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIENvbXBvbmVudFdpZGdldFR5cGUsIFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiB9IGZyb20gJy4vYXBpJztcclxuaW1wb3J0IHtcclxuICBTbWFydEZvcm0sXHJcbiAgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLFxyXG4gIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zbWFydC1mb3JtL3Byb2plY3RzJztcclxuaW1wb3J0IHtcclxuICBHcmlkVWlBY3Rpb25UeXBlLFxyXG4gIFNtYXJ0R3JpZCxcclxuICBTbWFydEdyaWRDb21wb25lbnQsXHJcbiAgU21hcnRMYXlvdXREZWYsXHJcbn0gZnJvbSAnLi4vc21hcnQtZ3JpZC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyLCBTbWFydEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdHJlZS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IEV4cGFuZGFibGVTZWN0aW9uIH0gZnJvbSAnLi4vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIHByb3RlY3RlZCBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBASW5wdXQoKSBzbWFydENvbXBvbmVudExheW91dD86IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbjtcclxuXHJcbiAgdXVpZD86IHN0cmluZztcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignZm9ybScpXHJcbiAgc21hcnRGb3JtTGlzdCE6IFF1ZXJ5TGlzdDxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG4gIHNtYXJ0Rm9ybUNvbXBvbmVudD86IFNtYXJ0Zm9ybUNvbXBvbmVudDtcclxuICBzbWFydEZvcm0/OiBTbWFydEZvcm07XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2dyaWQnKVxyXG4gIHNtYXJ0R3JpZExpc3QhOiBRdWVyeUxpc3Q8U21hcnRHcmlkQ29tcG9uZW50PjtcclxuICBzbWFydEdyaWRDb21wb25lbnQ/OiBTbWFydEdyaWRDb21wb25lbnQ7XHJcbiAgc21hcnRHcmlkPzogU21hcnRHcmlkO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdmaWx0ZXInKVxyXG4gIHNtYXJ0RmlsdGVyTGlzdCE6IFF1ZXJ5TGlzdDxTbWFydEZpbHRlckNvbXBvbmVudD47XHJcbiAgc21hcnRGaWx0ZXJDb21wb25lbnQ/OiBTbWFydEZpbHRlckNvbXBvbmVudDtcclxuICBzbWFydEZpbHRlcj86IFNtYXJ0RmlsdGVyO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCd0b29sYmFyJylcclxuICB0b29sYmFyTGlzdCE6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+O1xyXG4gIHRvb2xiYXI/OiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ7XHJcbiAgdG9vbGJhcklkPzogc3RyaW5nID0gJ25vdF9pbml0aWFsaXplZF95ZXQnO1xyXG5cclxuICBwYXJlbnQ/OiBhbnk7IC8vU21hcnRDb21wb25lbnQ8YW55PlxyXG4gIHRyZWVTZXJ2aWNlPzogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2U7XHJcblxyXG4gIGV4cGFuZGFibGVTZWN0aW9uPzogRXhwYW5kYWJsZVNlY3Rpb248U21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uPjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudClcclxuICBjb21wb25lbnRzITogUXVlcnlMaXN0PFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc21hcnRGb3JtTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRGb3JtQ29tcG9uZW50KHRoaXMuc21hcnRGb3JtTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydEZvcm1MaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0Zm9ybUNvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnNldEZvcm1Db21wb25lbnQobGlzdC5maXJzdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0R3JpZExpc3Q/LmZpcnN0KSB7XHJcbiAgICAgIHRoaXMuc2V0R3JpZENvbXBvbmVudCh0aGlzLnNtYXJ0R3JpZExpc3Q/LmZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMuc21hcnRHcmlkTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxTbWFydEdyaWRDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRHcmlkQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0RmlsdGVyTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxTbWFydEZpbHRlckNvbXBvbmVudD4pID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnQgPSBsaXN0LmZpcnN0O1xyXG4gICAgICAgICAgdGhpcy5iaW5kRmlsdGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy50b29sYmFyTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KHRoaXMudG9vbGJhckxpc3Q/LmZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMudG9vbGJhckxpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0VG9vbGJhckNvbXBvbmVudChsaXN0LmZpcnN0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQpIHtcclxuICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dCA9IGNoYW5nZXNbJ3NtYXJ0Q29tcG9uZW50TGF5b3V0J10uY3VycmVudFZhbHVlO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0KSB7XHJcbiAgICAgIHRoaXMuc2V0VXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmVudCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnBhcmVudENvbXBvbmVudCBhcyBhbnk7XHJcbiAgICB0aGlzLnV1aWQgPSB0aGlzLnBhcmVudC51dWlkO1xyXG4gICAgdGhpcy50cmVlU2VydmljZSA9IHRoaXMucGFyZW50LnNtYXJ0VHJlZVNlcnZpY2U7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGUpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RFeHBhbmRhYmxlU2VjdGlvbigpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSBDb21wb25lbnRUeXBlLkZPUk0pIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IENvbXBvbmVudFR5cGUuV0lER0VUKSB7XHJcbiAgICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5HUklEKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RHcmlkKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuRklMVEVSKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RGaWx0ZXIoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5UUkVFKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUcmVlKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuVE9PTEJBUikge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0VG9vbGJhcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0eXBlKCk6IHR5cGVvZiBDb21wb25lbnRUeXBlIHtcclxuICAgIHJldHVybiBDb21wb25lbnRUeXBlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0RXhwYW5kYWJsZVNlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBsZXQgZGF0YTogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uID0geyAuLi50aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0ISB9O1xyXG4gICAgZGF0YS5leHBhbmRhYmxlID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5leHBhbmRhYmxlU2VjdGlvbiA9IHtcclxuICAgICAgdGl0bGU6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGVTZWN0aW9uTGFiZWwgPz8gJycsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGlucHV0TmFtZTogJ3NtYXJ0Q29tcG9uZW50TGF5b3V0JyxcclxuICAgICAgY3VzdG9tQ29tcG9uZW50OiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgd2lkZ2V0cyA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZm9ybSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc21hcnRGb3JtID0ge1xyXG4gICAgICBkaXJlY3Rpb246IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0wsXHJcbiAgICAgIGNvbXBvbmVudE1vZGVsOiB0aGlzLnBhcmVudD8ubW9kZWwsXHJcbiAgICAgIHdpZGdldHMsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuYmluZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1Db21wb25lbnQoY29tcDogU21hcnRmb3JtQ29tcG9uZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuc21hcnRGb3JtQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50ID0gY29tcDtcclxuICAgICAgdGhpcy5iaW5kRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmluZEZvcm0oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm0gJiYgdGhpcy5zbWFydEZvcm1Db21wb25lbnQpIHtcclxuICAgICAgdGhpcy5wYXJlbnQ/LmFkZEZvcm0oXHJcbiAgICAgICAgLy8gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmb3JtXHJcbiAgICAgICAgYGZvcm1fJHt0aGlzLm1ha2VpZCg1KX1gLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYWtlaWQobGVuZ3RoOiBudW1iZXIpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IGNoYXJhY3RlcnMubGVuZ3RoO1xyXG4gICAgbGV0IGNvdW50ZXIgPSAwO1xyXG4gICAgd2hpbGUgKGNvdW50ZXIgPCBsZW5ndGgpIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcclxuICAgICAgY291bnRlciArPSAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEdyaWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHtcclxuICAgICAgZ3JpZElkZW50aWZpZXI6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllciEsXHJcbiAgICAgIGdyaWRNb2RlbDoge1xyXG4gICAgICAgIHBhZ2U6IHt9LFxyXG4gICAgICB9LFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheW91dERlZjogU21hcnRMYXlvdXREZWYuVEFCTEUsXHJcbiAgICAgIHBhZ2luYXRvcjogdHJ1ZSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5iaW5kR3JpZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0R3JpZENvbXBvbmVudChjb21wOiBTbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5zbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydEdyaWRDb21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRHcmlkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiaW5kR3JpZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNtYXJ0R3JpZCAmJiB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0R3JpZCA9IHRoaXMucGFyZW50Py5hZGRHcmlkKFxyXG4gICAgICAgIHRoaXMuc21hcnRHcmlkLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHJvd1VpQWN0aW9uVHlwZTogR3JpZFVpQWN0aW9uVHlwZS5QT1BVUF9NRU5VLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmFsc2UsXHJcbiAgICAgICAgdGhpcy5zbWFydEdyaWRDb21wb25lbnRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRvb2xiYXJDb21wb25lbnQoY29tcDogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50KSB7XHJcbiAgICB0aGlzLnRvb2xiYXIgPSBjb21wO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0RmlsdGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydEZpbHRlciA9ICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0IS5wYXJlbnRDb21wb25lbnQgYXMgYW55KS5hZGRGaWx0ZXIoXHJcbiAgICAgIGBmaWx0ZXJfJHt0aGlzLm1ha2VpZCg1KX1gLFxyXG4gICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmZpbHRlckV4cHJlc3Npb25GaWVsZExpc3QsXHJcbiAgICAgIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uZmlsdGVyVHlwZSxcclxuICAgICAgdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJpbmRGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICAvLyBUT0RPXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RUcmVlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJlbnQuc2V0VXBEZWZhdWx0VHJlZSh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXIpO1xyXG4gICAgdGhpcy50cmVlU2VydmljZT8uaW5pdGlhbGl6ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VG9vbGJhcigpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbGJhcklkID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGU7IHRoZW4gZXhwYW5kYWJsZTsgZWxzZSBub3JtYWxcIj4gPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2V4cGFuZGFibGU+XHJcbiAgPHNtYXJ0LWV4cGFuZGFibGUtc2VjdGlvblxyXG4gICAgKm5nSWY9XCJleHBhbmRhYmxlU2VjdGlvblwiXHJcbiAgICBbZGF0YV09XCJleHBhbmRhYmxlU2VjdGlvblwiXHJcbiAgPjwvc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub3JtYWw+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJzbWFydENvbXBvbmVudExheW91dD8udHlwZSA9PT0gdHlwZSgpLkNPTlRBSU5FUlwiXHJcbiAgICBbbmdDbGFzc109XCJzbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uID8/ICd2ZXJ0aWNhbCdcIlxyXG4gID5cclxuICAgIDxzbWFydC1jb21wb25lbnQtbGF5b3V0XHJcbiAgICAgICpuZ0Zvcj1cImxldCBsYXlvdXQgb2Ygc21hcnRDb21wb25lbnRMYXlvdXQ/LmNvbXBvbmVudHNcIlxyXG4gICAgICBbc21hcnRDb21wb25lbnRMYXlvdXRdPVwibGF5b3V0XCJcclxuICAgID48L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQ+XHJcbiAgPC9kaXY+XHJcbiAgPHNtYXJ0Zm9ybSAjZm9ybSBbc21hcnRGb3JtXT1cInNtYXJ0Rm9ybVwiPjwvc21hcnRmb3JtPlxyXG4gIDxzbWFydC1ncmlkICNncmlkIFtzbWFydEdyaWRdPVwic21hcnRHcmlkXCIgW3V1aWRdPVwidXVpZCFcIj48L3NtYXJ0LWdyaWQ+XHJcbiAgPCEtLSA8c21hcnQtZmlsdGVyICNmaWx0ZXIgW2ZpbHRlcl09XCJzbWFydEZpbHRlclwiPjwvc21hcnQtZmlsdGVyPiAtLT5cclxuICA8c21hcnQtdHJlZSAqbmdJZj1cInRyZWVTZXJ2aWNlXCIgW3RyZWVTZXJ2aWNlXT1cInRyZWVTZXJ2aWNlIVwiPjwvc21hcnQtdHJlZT5cclxuICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgI3Rvb2xiYXIgW2lkXT1cInRvb2xiYXJJZFwiPjwvc21hcnQtdWktYWN0aW9uLXRvb2xiYXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -13036,6 +13036,7 @@ class SmartComponentLayoutComponent {
|
|
|
13036
13036
|
constructor(layoutService) {
|
|
13037
13037
|
this.layoutService = layoutService;
|
|
13038
13038
|
this._destroy$ = new Subject();
|
|
13039
|
+
this.toolbarId = 'not_initialized_yet';
|
|
13039
13040
|
}
|
|
13040
13041
|
ngAfterViewInit() {
|
|
13041
13042
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -13212,10 +13213,10 @@ class SmartComponentLayoutComponent {
|
|
|
13212
13213
|
}
|
|
13213
13214
|
}
|
|
13214
13215
|
SmartComponentLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponentLayoutComponent, deps: [{ token: SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13215
|
-
SmartComponentLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout" }, viewQueries: [{ propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar
|
|
13216
|
+
SmartComponentLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout" }, viewQueries: [{ propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar #toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], components: [{ type: ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout"] }, { type: SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }, { type: SmartTreeComponent, selector: "smart-tree", inputs: ["treeStyle", "treeService"] }, { type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
13216
13217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartComponentLayoutComponent, decorators: [{
|
|
13217
13218
|
type: Component,
|
|
13218
|
-
args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar
|
|
13219
|
+
args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar #toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
|
|
13219
13220
|
}], ctorParameters: function () { return [{ type: SmartformLayoutDefinitionService }]; }, propDecorators: { smartComponentLayout: [{
|
|
13220
13221
|
type: Input
|
|
13221
13222
|
}], smartFormList: [{
|