tnx-shared 5.3.432 → 5.3.433
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/bundles/tnx-shared.umd.js +1 -1
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.js +2 -2
- package/fesm2015/tnx-shared.js +1 -1
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/tnx-shared.metadata.json +1 -1
|
@@ -248,7 +248,7 @@ export class EntityPickerDataComponent extends DataListBase {
|
|
|
248
248
|
EntityPickerDataComponent.decorators = [
|
|
249
249
|
{ type: Component, args: [{
|
|
250
250
|
selector: 'app-entity-picker-data',
|
|
251
|
-
template: "<div class=\"entity-picker-data-body\"\n [class.has-left-filter]=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <div class=\"left-filter-panel\" *ngIf=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <ng-container *ngTemplateOutlet=\"control.templateFilterHeader; context: filterHeaderContext\"></ng-container>\n </div>\n <crud-list class=\"entity-picker-data-list\" #crudList [templates]=\"templates\" [menuButtons]=\"getMenuButtons\"\n
|
|
251
|
+
template: "<div class=\"entity-picker-data-body\"\n [class.has-left-filter]=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <div class=\"left-filter-panel\" *ngIf=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <ng-container *ngTemplateOutlet=\"control.templateFilterHeader; context: filterHeaderContext\"></ng-container>\n </div>\n <crud-list class=\"entity-picker-data-list\" #crudList [templates]=\"templates\" [menuButtons]=\"getMenuButtons\"\n [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\" [showScrollHorizontal]=\"true\"\n (onContentInit)=\"onContentInit.emit($event)\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\"\n (onRowSelect)=\"handleRowSelect($event)\" (onEdit)=\"_edit($event)\" (onView)=\"_view($event)\"\n (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\" (onReloaded)=\"_unmarkLoading()\">\n <ng-template #customTitle>\n <h1 [innerHTML]=\"dom.bypassSecurityTrustHtml(control.titleUnPicked)\"></h1>\n <ng-container\n *ngTemplateOutlet=\"control.templateAboveUnpickedList; context: filterHeaderContext\"></ng-container>\n </ng-template> \n\n <ng-template #toolbar let-crudList=\"crudList\" let-selectedItems=\"selectedItems\">\n <div style=\"display: flex\">\n <button\n *ngIf=\"(isSingleSelection || model.total <= 0) && !model.dataSource.length && setting.hiddenAdvanceSearch\"\n pButton style=\"visibility: hidden\"></button>\n <button *ngIf=\"!isSingleSelection && model.total > 0\" type=\"button\" pButton pRipple\n label=\"L\u1EA5y t\u1EA5t c\u1EA3 ({{model.total}})\" icon=\"pi pi-angle-double-right\"\n class=\"p-button-text p-button-success\" [disabled]=\"model.loading\" (click)=\"pickAll()\"></button>\n <button *ngIf=\"!isSingleSelection && selectedItems.length > 0\" type=\"button\" pButton pRipple\n label=\"L\u1EA5y m\u1EE5c \u0111\u00E3 ch\u1ECDn ({{selectedItems.length}})\" icon=\"pi pi-angle-right\"\n class=\"p-button-text p-button-success\" [disabled]=\"model.loading\"\n (click)=\"pickSelected(selectedItems)\"></button>\n <button *ngIf=\"datasourceFieldFilter.length\" type=\"button\" pButton pRipple\n label=\"T\u00ECm ki\u1EBFm nhi\u1EC1u ng\u01B0\u1EDDi d\u00F9ng\" icon=\"pi pi-search\" class=\"p-button-text p-button-primary\"\n [disabled]=\"model.loading\" (click)=\"handleAdvansearch()\"></button>\n <button *ngIf=\"datasourceFieldFilter.length && searchData\" type=\"button\" pButton pRipple\n label=\"X\u00F3a danh s\u00E1ch t\u00ECm ki\u1EBFm\" pTooltip=\"X\u00F3a t\u1EA5t c\u1EA3 ng\u01B0\u1EDDi d\u00F9ng \u1EDF Danh s\u00E1ch t\u00ECm ki\u1EBFm\"\n icon=\"pi pi-times\" class=\"p-button-text p-button-primary\" [disabled]=\"model.loading\"\n (click)=\"handleSearch(null)\"></button>\n <div class=\"header-search-box\" *ngIf=\"control.templateFilterHeader && !control.filterHeaderAsLeftPanel\">\n <ng-container *ngTemplateOutlet=\"control.templateFilterHeader; context: filterHeaderContext\">\n </ng-container>\n </div>\n </div>\n </ng-template>\n <ng-template let-crudList=\"crudList\" #function let-rowData=\"rowData\">\n <button pButton type=\"button\" class=\"link-or-action p-button-success p-button-text p-button-rounded\"\n icon=\"pi pi-check\" pTooltip=\"Ch\u1ECDn m\u1EE5c n\u00E0y\" tooltipPosition=\"top\" [disabled]=\"rowData.disabled\"\n (click)=\"pickEntity(rowData)\"></button>\n </ng-template>\n </crud-list>\n</div>\n\n\n<tn-dialog *ngIf=\"showFormAdvancedSearch\" #dialog [styleClass]=\"'address-form'\" [header]=\"'T\u00ECm ki\u1EBFm nhi\u1EC1u ng\u01B0\u1EDDi d\u00F9ng'\"\n [popupSize]=\"popupSizeSearchForm\" [maskClass]=\"setting.maskClass\" (onHide)=\"showFormAdvancedSearch = false\">\n <entity-picker-search-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [parentSetting]=\"setting\"\n [datasourceFieldFilter]=\"datasourceFieldFilter\" [lstDataNotExist]=\"lstDataNotExist\" [model]=\"formModel\"\n (onSearch)=\"handleSearch($event)\" (onCancel)=\"showFormAdvancedSearch = false;\">\n </entity-picker-search-form>\n</tn-dialog>",
|
|
252
252
|
providers: [ComponentContextService],
|
|
253
253
|
styles: ["::ng-deep app-entity-picker-data .custom-card{padding:.5em!important}::ng-deep app-entity-picker-data .header-search-box{padding:1rem 0}::ng-deep app-entity-picker-data .header-search-box p-dropdown .p-dropdown{min-width:300px}::ng-deep app-entity-picker-data .entity-picker-data-body{display:contents}::ng-deep app-entity-picker-data .entity-picker-data-body.has-left-filter{display:flex;align-items:stretch;gap:12px;height:72vh}::ng-deep app-entity-picker-data .entity-picker-data-body.has-left-filter .left-filter-panel{flex:0 0 320px;max-width:320px;border-right:1px solid #e5e7eb;padding-right:8px;overflow:hidden}::ng-deep app-entity-picker-data .entity-picker-data-body.has-left-filter .entity-picker-data-list{flex:1 1 auto;min-width:0;height:100%}"]
|
|
254
254
|
},] }
|
|
@@ -275,4 +275,4 @@ EntityPickerDataComponent.propDecorators = {
|
|
|
275
275
|
onPickSelected: [{ type: Output }],
|
|
276
276
|
children: [{ type: ContentChildren, args: [TemplateRef,] }]
|
|
277
277
|
};
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLWRhdGEvZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkosT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBbUIsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQVEzRixNQUFNLE9BQU8seUJBQTBCLFNB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LFlBQVksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakU7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBeFFKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyx3dElBQWtEO2dCQUVsRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzs7YUFDdkM7OztZQWxCa0QsUUFBUTtZQUVsRCxxQkFBcUI7WUFEckIsWUFBWTs7O3dCQW1CaEIsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7c0JBQ0wsS0FBSztvQ0FDTCxLQUFLOzRCQUlMLEtBQUs7Z0NBTUwsS0FBSztzQkFDTCxLQUFLOzBCQUVMLEtBQUs7NEJBRUwsTUFBTTswQkFDTixNQUFNO3FCQUNOLE1BQU07d0JBQ04sTUFBTTs2QkFDTixNQUFNO3VCQUVOLGVBQWUsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhTGlzdEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1saXN0LWJhc2UnO1xuaW1wb3J0IHsgQ29sdW1uU2NoZW1hQmFzZSwgQ3J1ZExpc3RTZXR0aW5nLCBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hLCBIZWlnaHRUeXBlLCBPcGVyYXRvciwgUG9wdXBTaXplIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XG5pbXBvcnQgeyBGaWx0ZXIsIEdyaWRJbmZvIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2dyaWQtaW5mbyc7XG5pbXBvcnQgeyBDb250cm9sVHJlZU5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jcnVkL2NydWQtZm9ybS9jcnVkLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyLCBTZWFyY2hEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9hZHZhbmNlLWRhdGEnO1xuaW1wb3J0IHsgYXBwZW5kRGVmYXVsdEZpbHRlciB9IGZyb20gJy4vLi4vLi4vLi4vLi4vLi4vdXRpbHMvY29tbW9uJztcbmltcG9ydCB7IENhbkJvSG9Tb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IERhdGFzb3VyY2VGaWx0ZXJDYW5CbyB9IGZyb20gJy4uLy4uLy4uLy4uL3VzZXItcGlja2VyL21vZGVscy91c2VyLXBpY2tlci1zZXR0aW5nJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZW50aXR5LXBpY2tlci1kYXRhJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbnRpdHktcGlja2VyLWRhdGEuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5UGlja2VyRGF0YUNvbXBvbmVudCBleHRlbmRzIERhdGFMaXN0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG4gICAgQElucHV0KCkgcGFyZW50U2V0dGluZzogQ3J1ZExpc3RTZXR0aW5nO1xuICAgIEBJbnB1dCgpIGFkdmFuY2VEYXRhOiBBZHZhbmNlRGF0YUVudGl0eVBpY2tlcjtcbiAgICBASW5wdXQoKSBjb250cm9sOiBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hO1xuICAgIEBJbnB1dCgpIGRhdGFzb3VyY2VGaWVsZEZpbHRlciA9IFtdO1xuICAgIF9zZWxlY3RlZFZhbHVlOiBhbnk7XG4gICAgX3ZhbHVlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpc1NpbmdsZVNlbGVjdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGZpbHRlcnM6IEZpbHRlcltdO1xuXG4gICAgQElucHV0KCkgY3VycmVudE5vZGU6IENvbnRyb2xUcmVlTm9kZTsgLy8gQ3VycmVudCBub2RlIGNobyBsw7pjIGNvbXBvbmVudCDEkWFuZyDhu58gdHJvbmcgZm9ybVxuXG4gICAgQE91dHB1dCgpIG9uQ29udGVudEluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBvblJvd1NlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uUGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uUGlja0FsbDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25QaWNrU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGVtcGxhdGU6IGFueSA9IHt9O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWYpIGNoaWxkcmVuOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvLyBDb250ZXh0IHRydXnhu4FuIHbDoG8gdGVtcGxhdGVGaWx0ZXJIZWFkZXIgxJHhu4MgdGVtcGxhdGUgZ+G7jWkgbmfGsOG7o2MgbOG6oWkgKG9uQ2hhbmdlL3JlbG9hZClcbiAgICBmaWx0ZXJIZWFkZXJDb250ZXh0OiBhbnkgPSB7XG4gICAgICAgICRpbXBsaWNpdDogdGhpcyxcbiAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB0aGlzLmhhbmRsZUZpbHRlckhlYWRlckNoYW5nZSh2YWx1ZSksXG4gICAgICAgIHJlbG9hZDogKCkgPT4gdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCksXG4gICAgfTtcblxuICAgIHNob3dGb3JtQWR2YW5jZWRTZWFyY2ggPSBmYWxzZTtcbiAgICBwb3B1cFNpemVTZWFyY2hGb3JtID0gbmV3IFBvcHVwU2l6ZSh7IHdpZHRoOiAxMDAwLCBoZWlnaHQ6IDcwMCB9KTtcbiAgICBzZWFyY2hEYXRhOiBTZWFyY2hEYXRhTW9kZWw7XG4gICAgc2NoZW1hRGF0YTogYW55ID0ge307XG4gICAgbHN0RGF0YU5vdEV4aXN0ID0gW107XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyBfZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkb206IERvbVNhbml0aXplclxuICAgICkge1xuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxvYWREZXRhaWxGcm9tUXVlcnlQYXJhbSA9IHRydWU7XG4gICAgICAgIHRoaXMucGx1c1VybCA9IHRoaXMuY29udHJvbC5wbHVzVXJsO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQXV0aG9yaXplQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlO1xuICAgICAgICB0aGlzLnNldHRpbmcucGFnZVNldHRpbmcucGFnZVNpemUgPSB0aGlzLmNvbnRyb2wucGFnZVNpemUgPz8gMzA7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5DaGVja2JveCA9ICF0aGlzLmNvbnRyb2wubXVsdGlwbGU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oZWlnaHRUeXBlID0gSGVpZ2h0VHlwZS5jdXN0b207XG4gICAgICAgIHRoaXMuc2V0dGluZy5zaG93RWRpdExpbmsgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNldHRpbmdLZXkgPSAnZW50aXR5UGlja2VyRGF0YSc7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5BZHZhbmNlU2VhcmNoID0gdGhpcy5wYXJlbnRTZXR0aW5nLmhpZGRlbkFkdmFuY2VTZWFyY2g7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5TZXR0aW5nV29ya2Zsb3cgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1Blcm1pc3Npb24gPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuV29ya2Zsb3dDb2x1bW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuV29ya2Zsb3dIaXN0b3J5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnRpdGxlID0gJ0Rhbmggc8OhY2ggY8OhYyBt4bulYyBjaMawYSBjaOG7jW4nO1xuICAgICAgICAvLyB0aGlzLnNldHRpbmcuY29scyA9IFsuLi50aGlzLnBhcmVudFNldHRpbmcuY29scy5tYXAocCA9PiAoeyAuLi5wIH0pKV07XG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2x1bW5TZXR0aW5nID0gdGhpcy5wYXJlbnRTZXR0aW5nLmNvbHVtblNldHRpbmc7XG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLnBhcmVudFNldHRpbmcuZmllbGRTZWFyY2hUZXh0O1xuICAgICAgICB0aGlzLnNldHRpbmcubXVsdGlwbGVDaGVja1doZW5DbGlja1JvdyA9ICF0aGlzLmlzU2luZ2xlU2VsZWN0aW9uO1xuICAgICAgICAvLyBUb2RvOiBIaWV1TkRcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5iYXNlU2VydmljZSBpbnN0YW5jZW9mIENhbkJvSG9Tb1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YXNvdXJjZUZpZWxkRmlsdGVyID0gRGF0YXNvdXJjZUZpbHRlckNhbkJvO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGF0YXNvdXJjZUZpZWxkRmlsdGVyPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YXNvdXJjZUZpZWxkRmlsdGVyID0gdGhpcy5jb250cm9sLmRhdGFzb3VyY2VGaWVsZEZpbHRlcjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRyb2wuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uLmlzRGlzcGxheSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbCA9IG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5jb2RlLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZTogY29sdW1uLm11bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjogY29sdW1uLm9wZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICBpc0FycmF5RmllbGQ6IGNvbHVtbi5pc0FycmF5RmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKSxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IGNvbHVtbi5kYXRhVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogY29sdW1uLm1kV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogY29sdW1uLnRleHRBbGlnbixcbiAgICAgICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IGNvbHVtbi5iYXNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogY29sdW1uLnZhbHVlRmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogY29sdW1uLmRpc3BsYXlGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRQbHVzOiBjb2x1bW4uZmllbGRQbHVzLFxuICAgICAgICAgICAgICAgICAgICBzb3J0RmllbGQ6IGNvbHVtbi5zb3J0RmllbGQsXG4gICAgICAgICAgICAgICAgICAgIHNvcnREaXI6IGNvbHVtbi5zb3J0RGlyLFxuICAgICAgICAgICAgICAgICAgICBzb3J0OiBjb2x1bW4uc29ydCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRGaWx0ZXI6IGNvbHVtbi5maWVsZEZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dGaWx0ZXI6IGNvbHVtbi5hbGxvd0ZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgbW9kaWZ5RmlsdGVyOiBjb2x1bW4ubW9kaWZ5RmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmlsdGVyczogY29sdW1uLmRlZmF1bHRGaWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZUZpbHRlcjogY29sdW1uLnRlbXBsYXRlRmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBmdW5jR2V0TGFiZWw6IGNvbHVtbi5mdW5jR2V0TGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIGZ1bmNTZXRWYWx1ZVJvdzogY29sdW1uLmZ1bmNTZXRWYWx1ZVJvdyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogY29sdW1uLmRhdGFTb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwQ29kZTogY29sdW1uLmdyb3VwQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgaXNPdmVycmlkZUZpbHRlcjogY29sdW1uLmlzT3ZlcnJpZGVGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiBjb2x1bW4ub3JkZXIsXG4gICAgICAgICAgICAgICAgICAgIGlzVHJlZTogY29sdW1uLmlzVHJlZSxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRUcmVlOiBjb2x1bW4uZmllbGRUcmVlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZVBhcmVudFJvb3Q6IGNvbHVtbi52YWx1ZVBhcmVudFJvb3QsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi5kYXRhVHlwZSA9PSAnY3VzdG9tJykge1xuICAgICAgICAgICAgICAgICAgICBuZXdDb2wuZGF0YVR5cGUgPSBjb2x1bW4uY29kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMucHVzaChuZXdDb2wpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBzZXRWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fc2VsZWN0ZWRWYWx1ZS5tYXAoaXRlbSA9PiBpdGVtW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3NlbGVjdGVkVmFsdWVbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlUm93U2VsZWN0KGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25Sb3dTZWxlY3QuZW1pdChldmVudC5kYXRhKTtcbiAgICB9XG5cbiAgICBwaWNrRW50aXR5KGRhdGEpIHtcbiAgICAgICAgdGhpcy5vblBpY2suZW1pdChkYXRhKTtcbiAgICB9XG5cbiAgICBhc3luYyBwaWNrQWxsKCkge1xuICAgICAgICBjb25zdCBsc3REYXRhID0gKGF3YWl0IHRoaXMuc2V0dGluZy5iYXNlU2VydmljZS5nZXREYXRhQ3VzdG9tUm91dGUodGhpcy5wbHVzVXJsLCB0aGlzLmN1cnJlbnRHcmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZmllbGRzUGlja2VkID8/IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCB0aGlzLmN1cnJlbnRHcmlkSW5mby5zb3J0cywgLTEpKS5kYXRhID8/IFtdO1xuICAgICAgICBpZiAobHN0RGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMub25QaWNrQWxsLmVtaXQobHN0RGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwaWNrU2VsZWN0ZWQoZGF0YSkge1xuICAgICAgICB0aGlzLm9uUGlja1NlbGVjdGVkLmVtaXQoZGF0YSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbW9kaWZ5R3JpZEluZm8oZ3JpZEluZm86IEdyaWRJbmZvKSB7XG4gICAgICAgIGdyaWRJbmZvLmZpZWxkcyA9IHRoaXMuYWR2YW5jZURhdGEuZmllbGRzO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGdyaWRJbmZvLmZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcih0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCwgT3BlcmF0b3Iubm90SW4sIHRoaXMuX3ZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLl92YWx1ZVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgKHRoaXMuX3ZhbHVlKSA9PSAnb2JqZWN0JylcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLl92YWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCA/PyAnaWQnXTtcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLm5vdEVxdWFsLCB2YWx1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGFwcGVuZERlZmF1bHRGaWx0ZXIoZ3JpZEluZm8uZmlsdGVycywgdGhpcy5jb250cm9sLmRlZmF1bHRGaWx0ZXJzKTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tb2RpZnlGaWx0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbG93ID0gYXdhaXQgdGhpcy5jb250cm9sLm1vZGlmeUZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLCB0aGlzLmN1cnJlbnROb2RlKTtcbiAgICAgICAgICAgIGlmIChhbGxvdyA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmZpbHRlcldoaWxlUHJvY2Vzcykge1xuICAgICAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZmlsdGVyV2hpbGVQcm9jZXNzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiAodGhpcy5zZXR0aW5nLmNvbHVtblNldHRpbmcuc29ydEZpZWxkKSB7XG4gICAgICAgIC8vICAgICBncmlkSW5mby5zb3J0cy5wdXNoKDxTb3J0PntcbiAgICAgICAgLy8gICAgICAgICBmaWVsZDogdGhpcy5zZXR0aW5nLmNvbHVtblNldHRpbmcuc29ydEZpZWxkLFxuICAgICAgICAvLyAgICAgICAgIGRpcjogdGhpcy5zZXR0aW5nLmNvbHVtblNldHRpbmcuc29ydERpciA/IDEgOiAtMVxuICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoRGF0YSAmJiBBcnJheS5pc0FycmF5KHRoaXMuc2VhcmNoRGF0YS5sc3REYXRhKSkge1xuICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuc2VhcmNoRGF0YS5maWVsZEZpbHRlciwgT3BlcmF0b3IuaW4sIHRoaXMuc2VhcmNoRGF0YS5sc3REYXRhKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBiZWZvcmVSZW5kZXJEYXRhU291cmNlKGRhdGEpIHtcbiAgICAgICAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5fZHJvcGRvd252YWx1ZSA9IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5iZWZvcmVSZW5kZXJEYXRhU291cmNlVW5QaWNrZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29udHJvbC5iZWZvcmVSZW5kZXJEYXRhU291cmNlVW5QaWNrZWQoZGF0YSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgYXN5bmMgYWZ0ZXJHZXREYXRhKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YVVuUGlja2VkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhVW5QaWNrZWQodGhpcy5tb2RlbC5kYXRhU291cmNlLCB0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZWFyY2hEYXRhICYmIHRoaXMuc2hvd0Zvcm1BZHZhbmNlZFNlYXJjaFxuICAgICAgICAgICAgJiYgdGhpcy5tb2RlbC5kYXRhU291cmNlLmxlbmd0aCAhPSB0aGlzLnNlYXJjaERhdGEubHN0RGF0YS5sZW5ndGhcbiAgICAgICAgICAgICYmIHRoaXMubW9kZWwudG90YWwgPCB0aGlzLnNlYXJjaERhdGEubHN0RGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckNoZWNrRXhpc3QgPSBbdGhpcy5uZXdGaWx0ZXIodGhpcy5zZWFyY2hEYXRhLmZpZWxkRmlsdGVyLCBPcGVyYXRvci5pbiwgdGhpcy5zZWFyY2hEYXRhLmxzdERhdGEpXTtcbiAgICAgICAgICAgIGNvbnN0IGxzdERhdGFDaGVja0V4aXN0ID0gKGF3YWl0IHRoaXMuc2V0dGluZy5iYXNlU2VydmljZS5nZXRBbGxXaXRoSWdub3JlKGZpbHRlckNoZWNrRXhpc3QsIHRoaXMuc2VhcmNoRGF0YS5maWVsZEZpbHRlcikpLmRhdGE7XG5cbiAgICAgICAgICAgIHRoaXMubHN0RGF0YU5vdEV4aXN0ID0gdGhpcy5zZWFyY2hEYXRhLmxzdERhdGEuZmlsdGVyKHAgPT4gIWxzdERhdGFDaGVja0V4aXN0LnNvbWUoYyA9PiBjW3RoaXMuc2VhcmNoRGF0YS5maWVsZEZpbHRlcl0gPT0gcCkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93Rm9ybUFkdmFuY2VkU2VhcmNoID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjYW5jZWwoKSB7XG4gICAgfVxuXG4gICAgb25VbnNlbGVjdFBpY2tlclVzZXIoJGV2ZW50KSB7XG4gICAgfVxuXG4gICAgb25TZWxlY3RQaWNrZXJVc2VyKCRldmVudCkge1xuICAgIH1cblxuICAgIG9uVG9wYmFyU2VhcmNoQ2xpY2soKSB7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXIoZXZ0KSB7XG4gICAgfVxuXG4gICAgaGFuZGxlQWR2YW5zZWFyY2goKSB7XG4gICAgICAgIHRoaXMuc2hvd0Zvcm1BZHZhbmNlZFNlYXJjaCA9IHRydWU7XG4gICAgfVxuICAgIGhhbmRsZVNlYXJjaChtb2RlbCkge1xuICAgICAgICB0aGlzLnNlYXJjaERhdGEgPSBtb2RlbDtcbiAgICAgICAgdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsdGVySGVhZGVyQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2codmFsdWUpO1xuICAgICAgICAvLyBOaOG6rW4gc+G7sSBraeG7h24gb25DaGFuZ2UgdOG7qyB0ZW1wbGF0ZUZpbHRlckhlYWRlciwgbeG6t2MgxJHhu4tuaCBs4buNYyBs4bqhaSBsxrDhu5tpXG4gICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5kVGVtcGxhdGUodGVtcGxhdGVOYW1lOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbW1vblNlcnZpY2UuZmluZFRlbXBsYXRlRnJvbUxpc3QodGhpcy5jaGlsZHJlbiwgdGVtcGxhdGVOYW1lKVxuICAgICAgICAgICAgPz8gdGhpcy5fY29tbW9uU2VydmljZS5maW5kVGVtcGxhdGVGcm9tTGlzdCh0aGlzLnRlbXBsYXRlcywgdGVtcGxhdGVOYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVGVtcGxhdGUodGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudGVtcGxhdGVbdGVtcGxhdGVOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlW3RlbXBsYXRlTmFtZV0gPSB0aGlzLmZpbmRUZW1wbGF0ZSh0ZW1wbGF0ZU5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlW3RlbXBsYXRlTmFtZV0gIT0gbnVsbDtcbiAgICB9XG4gICAgcHVibGljIGdldFRlbXBsYXRlKHRlbXBsYXRlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLnRlbXBsYXRlW3RlbXBsYXRlTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVt0ZW1wbGF0ZU5hbWVdID0gdGhpcy5maW5kVGVtcGxhdGUodGVtcGxhdGVOYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVt0ZW1wbGF0ZU5hbWVdO1xuICAgIH1cbn1cblxuIl19
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLWRhdGEvZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkosT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBbUIsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQVEzRixNQUFNLE9BQU8seUJBQTBCLFNB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LFlBQVksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakU7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBeFFKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyx5aEpBQWtEO2dCQUVsRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzs7YUFDdkM7OztZQWxCa0QsUUFBUTtZQUVsRCxxQkFBcUI7WUFEckIsWUFBWTs7O3dCQW1CaEIsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7c0JBQ0wsS0FBSztvQ0FDTCxLQUFLOzRCQUlMLEtBQUs7Z0NBTUwsS0FBSztzQkFDTCxLQUFLOzBCQUVMLEtBQUs7NEJBRUwsTUFBTTswQkFDTixNQUFNO3FCQUNOLE1BQU07d0JBQ04sTUFBTTs2QkFDTixNQUFNO3VCQUVOLGVBQWUsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhTGlzdEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1saXN0LWJhc2UnO1xuaW1wb3J0IHsgQ29sdW1uU2NoZW1hQmFzZSwgQ3J1ZExpc3RTZXR0aW5nLCBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hLCBIZWlnaHRUeXBlLCBPcGVyYXRvciwgUG9wdXBTaXplIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XG5pbXBvcnQgeyBGaWx0ZXIsIEdyaWRJbmZvIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2dyaWQtaW5mbyc7XG5pbXBvcnQgeyBDb250cm9sVHJlZU5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jcnVkL2NydWQtZm9ybS9jcnVkLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyLCBTZWFyY2hEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9hZHZhbmNlLWRhdGEnO1xuaW1wb3J0IHsgYXBwZW5kRGVmYXVsdEZpbHRlciB9IGZyb20gJy4vLi4vLi4vLi4vLi4vLi4vdXRpbHMvY29tbW9uJztcbmltcG9ydCB7IENhbkJvSG9Tb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IERhdGFzb3VyY2VGaWx0ZXJDYW5CbyB9IGZyb20gJy4uLy4uLy4uLy4uL3VzZXItcGlja2VyL21vZGVscy91c2VyLXBpY2tlci1zZXR0aW5nJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZW50aXR5LXBpY2tlci1kYXRhJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbnRpdHktcGlja2VyLWRhdGEuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5UGlja2VyRGF0YUNvbXBvbmVudCBleHRlbmRzIERhdGFMaXN0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG4gICAgQElucHV0KCkgcGFyZW50U2V0dGluZzogQ3J1ZExpc3RTZXR0aW5nO1xuICAgIEBJbnB1dCgpIGFkdmFuY2VEYXRhOiBBZHZhbmNlRGF0YUVudGl0eVBpY2tlcjtcbiAgICBASW5wdXQoKSBjb250cm9sOiBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hO1xuICAgIEBJbnB1dCgpIGRhdGFzb3VyY2VGaWVsZEZpbHRlciA9IFtdO1xuICAgIF9zZWxlY3RlZFZhbHVlOiBhbnk7XG4gICAgX3ZhbHVlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpc1NpbmdsZVNlbGVjdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGZpbHRlcnM6IEZpbHRlcltdO1xuXG4gICAgQElucHV0KCkgY3VycmVudE5vZGU6IENvbnRyb2xUcmVlTm9kZTsgLy8gQ3VycmVudCBub2RlIGNobyBsw7pjIGNvbXBvbmVudCDEkWFuZyDhu58gdHJvbmcgZm9ybVxuXG4gICAgQE91dHB1dCgpIG9uQ29udGVudEluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBvblJvd1NlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uUGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uUGlja0FsbDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25QaWNrU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGVtcGxhdGU6IGFueSA9IHt9O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWYpIGNoaWxkcmVuOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvLyBDb250ZXh0IHRydXnhu4FuIHbDoG8gdGVtcGxhdGVGaWx0ZXJIZWFkZXIgxJHhu4MgdGVtcGxhdGUgZ+G7jWkgbmfGsOG7o2MgbOG6oWkgKG9uQ2hhbmdlL3JlbG9hZClcbiAgICBmaWx0ZXJIZWFkZXJDb250ZXh0OiBhbnkgPSB7XG4gICAgICAgICRpbXBsaWNpdDogdGhpcyxcbiAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB0aGlzLmhhbmRsZUZpbHRlckhlYWRlckNoYW5nZSh2YWx1ZSksXG4gICAgICAgIHJlbG9hZDogKCkgPT4gdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCksXG4gICAgfTtcblxuICAgIHNob3dGb3JtQWR2YW5jZWRTZWFyY2ggPSBmYWxzZTtcbiAgICBwb3B1cFNpemVTZWFyY2hGb3JtID0gbmV3IFBvcHVwU2l6ZSh7IHdpZHRoOiAxMDAwLCBoZWlnaHQ6IDcwMCB9KTtcbiAgICBzZWFyY2hEYXRhOiBTZWFyY2hEYXRhTW9kZWw7XG4gICAgc2NoZW1hRGF0YTogYW55ID0ge307XG4gICAgbHN0RGF0YU5vdEV4aXN0ID0gW107XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyBfZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkb206IERvbVNhbml0aXplclxuICAgICkge1xuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxvYWREZXRhaWxGcm9tUXVlcnlQYXJhbSA9IHRydWU7XG4gICAgICAgIHRoaXMucGx1c1VybCA9IHRoaXMuY29udHJvbC5wbHVzVXJsO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQXV0aG9yaXplQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlO1xuICAgICAgICB0aGlzLnNldHRpbmcucGFnZVNldHRpbmcucGFnZVNpemUgPSB0aGlzLmNvbnRyb2wucGFnZVNpemUgPz8gMzA7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5DaGVja2JveCA9ICF0aGlzLmNvbnRyb2wubXVsdGlwbGU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oZWlnaHRUeXBlID0gSGVpZ2h0VHlwZS5jdXN0b207XG4gICAgICAgIHRoaXMuc2V0dGluZy5zaG93RWRpdExpbmsgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNldHRpbmdLZXkgPSAnZW50aXR5UGlja2VyRGF0YSc7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5BZHZhbmNlU2VhcmNoID0gdGhpcy5wYXJlbnRTZXR0aW5nLmhpZGRlbkFkdmFuY2VTZWFyY2g7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5TZXR0aW5nV29ya2Zsb3cgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1Blcm1pc3Npb24gPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuV29ya2Zsb3dDb2x1bW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuV29ya2Zsb3dIaXN0b3J5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnRpdGxlID0gJ0Rhbmggc8OhY2ggY8OhYyBt4bulYyBjaMawYSBjaOG7jW4nO1xuICAgICAgICAvLyB0aGlzLnNldHRpbmcuY29scyA9IFsuLi50aGlzLnBhcmVudFNldHRpbmcuY29scy5tYXAocCA9PiAoeyAuLi5wIH0pKV07XG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2x1bW5TZXR0aW5nID0gdGhpcy5wYXJlbnRTZXR0aW5nLmNvbHVtblNldHRpbmc7XG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLnBhcmVudFNldHRpbmcuZmllbGRTZWFyY2hUZXh0O1xuICAgICAgICB0aGlzLnNldHRpbmcubXVsdGlwbGVDaGVja1doZW5DbGlja1JvdyA9ICF0aGlzLmlzU2luZ2xlU2VsZWN0aW9uO1xuICAgICAgICAvLyBUb2RvOiBIaWV1TkRcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5iYXNlU2VydmljZSBpbnN0YW5jZW9mIENhbkJvSG9Tb1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YXNvdXJjZUZpZWxkRmlsdGVyID0gRGF0YXNvdXJjZUZpbHRlckNhbkJvO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZGF0YXNvdXJjZUZpZWxkRmlsdGVyPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YXNvdXJjZUZpZWxkRmlsdGVyID0gdGhpcy5jb250cm9sLmRhdGFzb3VyY2VGaWVsZEZpbHRlcjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRyb2wuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uLmlzRGlzcGxheSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbCA9IG5ldyBDb2x1bW5TY2hlbWFCYXNlKHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5jb2RlLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZTogY29sdW1uLm11bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjogY29sdW1uLm9wZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICBpc0FycmF5RmllbGQ6IGNvbHVtbi5pc0FycmF5RmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKSxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IGNvbHVtbi5kYXRhVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogY29sdW1uLm1kV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogY29sdW1uLnRleHRBbGlnbixcbiAgICAgICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IGNvbHVtbi5iYXNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogY29sdW1uLnZhbHVlRmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogY29sdW1uLmRpc3BsYXlGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRQbHVzOiBjb2x1bW4uZmllbGRQbHVzLFxuICAgICAgICAgICAgICAgICAgICBzb3J0RmllbGQ6IGNvbHVtbi5zb3J0RmllbGQsXG4gICAgICAgICAgICAgICAgICAgIHNvcnREaXI6IGNvbHVtbi5zb3J0RGlyLFxuICAgICAgICAgICAgICAgICAgICBzb3J0OiBjb2x1bW4uc29ydCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRGaWx0ZXI6IGNvbHVtbi5maWVsZEZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dGaWx0ZXI6IGNvbHVtbi5hbGxvd0ZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgbW9kaWZ5RmlsdGVyOiBjb2x1bW4ubW9kaWZ5RmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmlsdGVyczogY29sdW1uLmRlZmF1bHRGaWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZUZpbHRlcjogY29sdW1uLnRlbXBsYXRlRmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBmdW5jR2V0TGFiZWw6IGNvbHVtbi5mdW5jR2V0TGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIGZ1bmNTZXRWYWx1ZVJvdzogY29sdW1uLmZ1bmNTZXRWYWx1ZVJvdyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogY29sdW1uLmRhdGFTb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwQ29kZTogY29sdW1uLmdyb3VwQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgaXNPdmVycmlkZUZpbHRlcjogY29sdW1uLmlzT3ZlcnJpZGVGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiBjb2x1bW4ub3JkZXIsXG4gICAgICAgICAgICAgICAgICAgIGlzVHJlZTogY29sdW1uLmlzVHJlZSxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRUcmVlOiBjb2x1bW4uZmllbGRUcmVlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZVBhcmVudFJvb3Q6IGNvbHVtbi52YWx1ZVBhcmVudFJvb3QsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi5kYXRhVHlwZSA9PSAnY3VzdG9tJykge1xuICAgICAgICAgICAgICAgICAgICBuZXdDb2wuZGF0YVR5cGUgPSBjb2x1bW4uY29kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMucHVzaChuZXdDb2wpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBzZXRWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fc2VsZWN0ZWRWYWx1ZS5tYXAoaXRlbSA9PiBpdGVtW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3NlbGVjdGVkVmFsdWVbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlUm93U2VsZWN0KGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25Sb3dTZWxlY3QuZW1pdChldmVudC5kYXRhKTtcbiAgICB9XG5cbiAgICBwaWNrRW50aXR5KGRhdGEpIHtcbiAgICAgICAgdGhpcy5vblBpY2suZW1pdChkYXRhKTtcbiAgICB9XG5cbiAgICBhc3luYyBwaWNrQWxsKCkge1xuICAgICAgICBjb25zdCBsc3REYXRhID0gKGF3YWl0IHRoaXMuc2V0dGluZy5iYXNlU2VydmljZS5nZXREYXRhQ3VzdG9tUm91dGUodGhpcy5wbHVzVXJsLCB0aGlzLmN1cnJlbnRHcmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZmllbGRzUGlja2VkID8/IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCB0aGlzLmN1cnJlbnRHcmlkSW5mby5zb3J0cywgLTEpKS5kYXRhID8/IFtdO1xuICAgICAgICBpZiAobHN0RGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMub25QaWNrQWxsLmVtaXQobHN0RGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwaWNrU2VsZWN0ZWQoZGF0YSkge1xuICAgICAgICB0aGlzLm9uUGlja1NlbGVjdGVkLmVtaXQoZGF0YSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbW9kaWZ5R3JpZEluZm8oZ3JpZEluZm86IEdyaWRJbmZvKSB7XG4gICAgICAgIGdyaWRJbmZvLmZpZWxkcyA9IHRoaXMuYWR2YW5jZURhdGEuZmllbGRzO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGdyaWRJbmZvLmZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcih0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCwgT3BlcmF0b3Iubm90SW4sIHRoaXMuX3ZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLl92YWx1ZVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgKHRoaXMuX3ZhbHVlKSA9PSAnb2JqZWN0JylcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLl92YWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCA/PyAnaWQnXTtcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLm5vdEVxdWFsLCB2YWx1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGFwcGVuZERlZmF1bHRGaWx0ZXIoZ3JpZEluZm8uZmlsdGVycywgdGhpcy5jb250cm9sLmRlZmF1bHRGaWx0ZXJzKTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tb2RpZnlGaWx0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbG93ID0gYXdhaXQgdGhpcy5jb250cm9sLm1vZGlmeUZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLCB0aGlzLmN1cnJlbnROb2RlKTtcbiAgICAgICAgICAgIGlmIChhbGxvdyA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmZpbHRlcldoaWxlUHJvY2Vzcykge1xuICAgICAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZmlsdGVyV2hpbGVQcm9jZXNzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiAodGhpcy5zZXR0aW5nLmNvbHVtblNldHRpbmcuc29ydEZpZWxkKSB7XG4gICAgICAgIC8vICAgICBncmlkSW5mby5zb3J0cy5wdXNoKDxTb3J0PntcbiAgICAgICAgLy8gICAgICAgICBmaWVsZDogdGhpcy5zZXR0aW5nLmNvbHVtblNldHRpbmcuc29ydEZpZWxkLFxuICAgICAgICAvLyAgICAgICAgIGRpcjogdGhpcy5zZXR0aW5nLmNvbHVtblNldHRpbmcuc29ydERpciA/IDEgOiAtMVxuICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoRGF0YSAmJiBBcnJheS5pc0FycmF5KHRoaXMuc2VhcmNoRGF0YS5sc3REYXRhKSkge1xuICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuc2VhcmNoRGF0YS5maWVsZEZpbHRlciwgT3BlcmF0b3IuaW4sIHRoaXMuc2VhcmNoRGF0YS5sc3REYXRhKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBiZWZvcmVSZW5kZXJEYXRhU291cmNlKGRhdGEpIHtcbiAgICAgICAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5fZHJvcGRvd252YWx1ZSA9IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5iZWZvcmVSZW5kZXJEYXRhU291cmNlVW5QaWNrZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29udHJvbC5iZWZvcmVSZW5kZXJEYXRhU291cmNlVW5QaWNrZWQoZGF0YSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgYXN5bmMgYWZ0ZXJHZXREYXRhKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YVVuUGlja2VkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhVW5QaWNrZWQodGhpcy5tb2RlbC5kYXRhU291cmNlLCB0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZWFyY2hEYXRhICYmIHRoaXMuc2hvd0Zvcm1BZHZhbmNlZFNlYXJjaFxuICAgICAgICAgICAgJiYgdGhpcy5tb2RlbC5kYXRhU291cmNlLmxlbmd0aCAhPSB0aGlzLnNlYXJjaERhdGEubHN0RGF0YS5sZW5ndGhcbiAgICAgICAgICAgICYmIHRoaXMubW9kZWwudG90YWwgPCB0aGlzLnNlYXJjaERhdGEubHN0RGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckNoZWNrRXhpc3QgPSBbdGhpcy5uZXdGaWx0ZXIodGhpcy5zZWFyY2hEYXRhLmZpZWxkRmlsdGVyLCBPcGVyYXRvci5pbiwgdGhpcy5zZWFyY2hEYXRhLmxzdERhdGEpXTtcbiAgICAgICAgICAgIGNvbnN0IGxzdERhdGFDaGVja0V4aXN0ID0gKGF3YWl0IHRoaXMuc2V0dGluZy5iYXNlU2VydmljZS5nZXRBbGxXaXRoSWdub3JlKGZpbHRlckNoZWNrRXhpc3QsIHRoaXMuc2VhcmNoRGF0YS5maWVsZEZpbHRlcikpLmRhdGE7XG5cbiAgICAgICAgICAgIHRoaXMubHN0RGF0YU5vdEV4aXN0ID0gdGhpcy5zZWFyY2hEYXRhLmxzdERhdGEuZmlsdGVyKHAgPT4gIWxzdERhdGFDaGVja0V4aXN0LnNvbWUoYyA9PiBjW3RoaXMuc2VhcmNoRGF0YS5maWVsZEZpbHRlcl0gPT0gcCkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93Rm9ybUFkdmFuY2VkU2VhcmNoID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjYW5jZWwoKSB7XG4gICAgfVxuXG4gICAgb25VbnNlbGVjdFBpY2tlclVzZXIoJGV2ZW50KSB7XG4gICAgfVxuXG4gICAgb25TZWxlY3RQaWNrZXJVc2VyKCRldmVudCkge1xuICAgIH1cblxuICAgIG9uVG9wYmFyU2VhcmNoQ2xpY2soKSB7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXIoZXZ0KSB7XG4gICAgfVxuXG4gICAgaGFuZGxlQWR2YW5zZWFyY2goKSB7XG4gICAgICAgIHRoaXMuc2hvd0Zvcm1BZHZhbmNlZFNlYXJjaCA9IHRydWU7XG4gICAgfVxuICAgIGhhbmRsZVNlYXJjaChtb2RlbCkge1xuICAgICAgICB0aGlzLnNlYXJjaERhdGEgPSBtb2RlbDtcbiAgICAgICAgdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsdGVySGVhZGVyQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2codmFsdWUpO1xuICAgICAgICAvLyBOaOG6rW4gc+G7sSBraeG7h24gb25DaGFuZ2UgdOG7qyB0ZW1wbGF0ZUZpbHRlckhlYWRlciwgbeG6t2MgxJHhu4tuaCBs4buNYyBs4bqhaSBsxrDhu5tpXG4gICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5kVGVtcGxhdGUodGVtcGxhdGVOYW1lOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbW1vblNlcnZpY2UuZmluZFRlbXBsYXRlRnJvbUxpc3QodGhpcy5jaGlsZHJlbiwgdGVtcGxhdGVOYW1lKVxuICAgICAgICAgICAgPz8gdGhpcy5fY29tbW9uU2VydmljZS5maW5kVGVtcGxhdGVGcm9tTGlzdCh0aGlzLnRlbXBsYXRlcywgdGVtcGxhdGVOYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVGVtcGxhdGUodGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudGVtcGxhdGVbdGVtcGxhdGVOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlW3RlbXBsYXRlTmFtZV0gPSB0aGlzLmZpbmRUZW1wbGF0ZSh0ZW1wbGF0ZU5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlW3RlbXBsYXRlTmFtZV0gIT0gbnVsbDtcbiAgICB9XG4gICAgcHVibGljIGdldFRlbXBsYXRlKHRlbXBsYXRlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLnRlbXBsYXRlW3RlbXBsYXRlTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVt0ZW1wbGF0ZU5hbWVdID0gdGhpcy5maW5kVGVtcGxhdGUodGVtcGxhdGVOYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVt0ZW1wbGF0ZU5hbWVdO1xuICAgIH1cbn1cblxuIl19
|
package/fesm2015/tnx-shared.js
CHANGED
|
@@ -41103,7 +41103,7 @@ class EntityPickerDataComponent extends DataListBase {
|
|
|
41103
41103
|
EntityPickerDataComponent.decorators = [
|
|
41104
41104
|
{ type: Component, args: [{
|
|
41105
41105
|
selector: 'app-entity-picker-data',
|
|
41106
|
-
template: "<div class=\"entity-picker-data-body\"\n [class.has-left-filter]=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <div class=\"left-filter-panel\" *ngIf=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <ng-container *ngTemplateOutlet=\"control.templateFilterHeader; context: filterHeaderContext\"></ng-container>\n </div>\n <crud-list class=\"entity-picker-data-list\" #crudList [templates]=\"templates\" [menuButtons]=\"getMenuButtons\"\n
|
|
41106
|
+
template: "<div class=\"entity-picker-data-body\"\n [class.has-left-filter]=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <div class=\"left-filter-panel\" *ngIf=\"control.filterHeaderAsLeftPanel && control.templateFilterHeader\">\n <ng-container *ngTemplateOutlet=\"control.templateFilterHeader; context: filterHeaderContext\"></ng-container>\n </div>\n <crud-list class=\"entity-picker-data-list\" #crudList [templates]=\"templates\" [menuButtons]=\"getMenuButtons\"\n [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\" [showScrollHorizontal]=\"true\"\n (onContentInit)=\"onContentInit.emit($event)\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\"\n (onRowSelect)=\"handleRowSelect($event)\" (onEdit)=\"_edit($event)\" (onView)=\"_view($event)\"\n (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\" (onReloaded)=\"_unmarkLoading()\">\n <ng-template #customTitle>\n <h1 [innerHTML]=\"dom.bypassSecurityTrustHtml(control.titleUnPicked)\"></h1>\n <ng-container\n *ngTemplateOutlet=\"control.templateAboveUnpickedList; context: filterHeaderContext\"></ng-container>\n </ng-template> \n\n <ng-template #toolbar let-crudList=\"crudList\" let-selectedItems=\"selectedItems\">\n <div style=\"display: flex\">\n <button\n *ngIf=\"(isSingleSelection || model.total <= 0) && !model.dataSource.length && setting.hiddenAdvanceSearch\"\n pButton style=\"visibility: hidden\"></button>\n <button *ngIf=\"!isSingleSelection && model.total > 0\" type=\"button\" pButton pRipple\n label=\"L\u1EA5y t\u1EA5t c\u1EA3 ({{model.total}})\" icon=\"pi pi-angle-double-right\"\n class=\"p-button-text p-button-success\" [disabled]=\"model.loading\" (click)=\"pickAll()\"></button>\n <button *ngIf=\"!isSingleSelection && selectedItems.length > 0\" type=\"button\" pButton pRipple\n label=\"L\u1EA5y m\u1EE5c \u0111\u00E3 ch\u1ECDn ({{selectedItems.length}})\" icon=\"pi pi-angle-right\"\n class=\"p-button-text p-button-success\" [disabled]=\"model.loading\"\n (click)=\"pickSelected(selectedItems)\"></button>\n <button *ngIf=\"datasourceFieldFilter.length\" type=\"button\" pButton pRipple\n label=\"T\u00ECm ki\u1EBFm nhi\u1EC1u ng\u01B0\u1EDDi d\u00F9ng\" icon=\"pi pi-search\" class=\"p-button-text p-button-primary\"\n [disabled]=\"model.loading\" (click)=\"handleAdvansearch()\"></button>\n <button *ngIf=\"datasourceFieldFilter.length && searchData\" type=\"button\" pButton pRipple\n label=\"X\u00F3a danh s\u00E1ch t\u00ECm ki\u1EBFm\" pTooltip=\"X\u00F3a t\u1EA5t c\u1EA3 ng\u01B0\u1EDDi d\u00F9ng \u1EDF Danh s\u00E1ch t\u00ECm ki\u1EBFm\"\n icon=\"pi pi-times\" class=\"p-button-text p-button-primary\" [disabled]=\"model.loading\"\n (click)=\"handleSearch(null)\"></button>\n <div class=\"header-search-box\" *ngIf=\"control.templateFilterHeader && !control.filterHeaderAsLeftPanel\">\n <ng-container *ngTemplateOutlet=\"control.templateFilterHeader; context: filterHeaderContext\">\n </ng-container>\n </div>\n </div>\n </ng-template>\n <ng-template let-crudList=\"crudList\" #function let-rowData=\"rowData\">\n <button pButton type=\"button\" class=\"link-or-action p-button-success p-button-text p-button-rounded\"\n icon=\"pi pi-check\" pTooltip=\"Ch\u1ECDn m\u1EE5c n\u00E0y\" tooltipPosition=\"top\" [disabled]=\"rowData.disabled\"\n (click)=\"pickEntity(rowData)\"></button>\n </ng-template>\n </crud-list>\n</div>\n\n\n<tn-dialog *ngIf=\"showFormAdvancedSearch\" #dialog [styleClass]=\"'address-form'\" [header]=\"'T\u00ECm ki\u1EBFm nhi\u1EC1u ng\u01B0\u1EDDi d\u00F9ng'\"\n [popupSize]=\"popupSizeSearchForm\" [maskClass]=\"setting.maskClass\" (onHide)=\"showFormAdvancedSearch = false\">\n <entity-picker-search-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [parentSetting]=\"setting\"\n [datasourceFieldFilter]=\"datasourceFieldFilter\" [lstDataNotExist]=\"lstDataNotExist\" [model]=\"formModel\"\n (onSearch)=\"handleSearch($event)\" (onCancel)=\"showFormAdvancedSearch = false;\">\n </entity-picker-search-form>\n</tn-dialog>",
|
|
41107
41107
|
providers: [ComponentContextService],
|
|
41108
41108
|
styles: ["::ng-deep app-entity-picker-data .custom-card{padding:.5em!important}::ng-deep app-entity-picker-data .header-search-box{padding:1rem 0}::ng-deep app-entity-picker-data .header-search-box p-dropdown .p-dropdown{min-width:300px}::ng-deep app-entity-picker-data .entity-picker-data-body{display:contents}::ng-deep app-entity-picker-data .entity-picker-data-body.has-left-filter{display:flex;align-items:stretch;gap:12px;height:72vh}::ng-deep app-entity-picker-data .entity-picker-data-body.has-left-filter .left-filter-panel{flex:0 0 320px;max-width:320px;border-right:1px solid #e5e7eb;padding-right:8px;overflow:hidden}::ng-deep app-entity-picker-data .entity-picker-data-body.has-left-filter .entity-picker-data-list{flex:1 1 auto;min-width:0;height:100%}"]
|
|
41109
41109
|
},] }
|