tnx-shared 5.1.141 → 5.1.145

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.
Files changed (65) hide show
  1. package/bundles/tnx-shared.umd.js +1001 -264
  2. package/bundles/tnx-shared.umd.js.map +1 -1
  3. package/bundles/tnx-shared.umd.min.js +1 -1
  4. package/bundles/tnx-shared.umd.min.js.map +1 -1
  5. package/classes/base/data-list-base.d.ts.map +1 -1
  6. package/classes/form-schema.d.ts +4 -0
  7. package/classes/form-schema.d.ts.map +1 -1
  8. package/components/common-app-component/app-topbar-v1/app-topbar-v1.component.d.ts.map +1 -1
  9. package/components/common-app-component/app-topbar-v2/app-topbar-v2.component.d.ts +78 -0
  10. package/components/common-app-component/app-topbar-v2/app-topbar-v2.component.d.ts.map +1 -0
  11. package/components/common-app-component/app-topbar-v2/app-topbar-v2.component.ngfactory.d.ts.map +1 -0
  12. package/components/common-app-component/app-topbar-v2/app-topbar-v2.component.scss.shim.ngstyle.d.ts.map +1 -0
  13. package/components/crud/crud-list/crud-list.component.d.ts +1 -1
  14. package/components/crud/crud-list/crud-list.component.d.ts.map +1 -1
  15. package/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.d.ts.map +1 -1
  16. package/components/entity-picker/entity-picker.component.d.ts.map +1 -1
  17. package/components/splash-component/splash-component-v1/splash-component-v1.component.d.ts.map +1 -1
  18. package/components/splash-component/splash-component-v2/splash-component-v2.component.d.ts +41 -0
  19. package/components/splash-component/splash-component-v2/splash-component-v2.component.d.ts.map +1 -0
  20. package/components/splash-component/splash-component-v2/splash-component-v2.component.ngfactory.d.ts.map +1 -0
  21. package/components/splash-component/splash-component-v2/splash-component-v2.component.scss.shim.ngstyle.d.ts.map +1 -0
  22. package/components/splash-component/splash-component.component.d.ts +2 -1
  23. package/components/splash-component/splash-component.component.d.ts.map +1 -1
  24. package/components/statemachines/utils/utils.d.ts +1 -1
  25. package/components/statemachines/utils/utils.d.ts.map +1 -1
  26. package/components/user-picker/user-picker.component.d.ts.map +1 -1
  27. package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts +1 -0
  28. package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts.map +1 -1
  29. package/components/workflow/services/workflow-settings.service.d.ts.map +1 -1
  30. package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts +2 -2
  31. package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts.map +1 -1
  32. package/esm2015/classes/base/data-list-base.js +6 -3
  33. package/esm2015/classes/form-schema.js +2 -1
  34. package/esm2015/components/chat/chat-box/chat-box.component.js +1 -1
  35. package/esm2015/components/chat/chat-send-message-box/chat-send-message-box.component.js +1 -1
  36. package/esm2015/components/common-app-component/app-topbar-v1/app-topbar-v1.component.js +3 -3
  37. package/esm2015/components/common-app-component/app-topbar-v2/app-topbar-v2.component.js +412 -0
  38. package/esm2015/components/common-app-component/app.topbar.component.js +2 -2
  39. package/esm2015/components/crud/crud-list/crud-list.component.js +21 -10
  40. package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.js +3 -2
  41. package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.js +3 -2
  42. package/esm2015/components/entity-picker/entity-picker.component.js +9 -4
  43. package/esm2015/components/query-builders/query-builder-rule/query-builder-rule.component.js +1 -1
  44. package/esm2015/components/splash-component/splash-component-v1/splash-component-v1.component.js +4 -4
  45. package/esm2015/components/splash-component/splash-component-v2/splash-component-v2.component.js +194 -0
  46. package/esm2015/components/splash-component/splash-component.component.js +3 -2
  47. package/esm2015/components/statemachines/utils/utils.js +5 -3
  48. package/esm2015/components/user-picker/user-picker.component.js +7 -3
  49. package/esm2015/components/workflow/process-workflow-target/process-workflow-target.component.js +27 -2
  50. package/esm2015/components/workflow/services/workflow-settings.service.js +2 -1
  51. package/esm2015/components/workflow/workflow-history-new/workflow-history-new.component.js +87 -77
  52. package/esm2015/services/user.service.js +6 -1
  53. package/esm2015/tnx-shared.js +124 -122
  54. package/esm2015/tnx-shared.module.js +5 -1
  55. package/fesm2015/tnx-shared.js +759 -107
  56. package/fesm2015/tnx-shared.js.map +1 -1
  57. package/package.json +2 -2
  58. package/services/user.service.d.ts +1 -0
  59. package/services/user.service.d.ts.map +1 -1
  60. package/tnx-shared.d.ts +123 -121
  61. package/tnx-shared.d.ts.map +1 -1
  62. package/tnx-shared.metadata.json +1 -1
  63. package/tnx-shared.module.d.ts +3 -1
  64. package/tnx-shared.module.d.ts.map +1 -1
  65. package/tnx-shared.module.ngfactory.d.ts.map +1 -1
@@ -25,10 +25,11 @@ export class EntityPickerDataComponent extends DataListBase {
25
25
  this._triggerProcessData();
26
26
  }
27
27
  ngOnInit() {
28
+ var _a;
28
29
  this.loadDetailFromQueryParam = true;
29
30
  this.plusUrl = this.control.plusUrl;
30
31
  this.setting.baseService = this.control.baseService;
31
- this.setting.pageSetting.pageSize = 30;
32
+ this.setting.pageSetting.pageSize = (_a = this.control.pageSize) !== null && _a !== void 0 ? _a : 30;
32
33
  this.setting.hiddenCheckbox = !this.control.multiple;
33
34
  this.setting.heightType = HeightType.custom;
34
35
  this.setting.showEditLink = false;
@@ -149,4 +150,4 @@ EntityPickerDataComponent.propDecorators = {
149
150
  onPickAll: [{ type: Output }],
150
151
  onPickSelected: [{ type: Output }]
151
152
  };
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLWRhdGEvZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBUXBFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxZQUFZO0lBb0J2RCxZQUNJLFNBQW1CLEVBQ1QsaUJBQW1DLEVBQ3RDLHNCQUE2QztRQUVwRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFIUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ3RDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFaL0Msc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLGtCQUFhLEdBQXNCLElBQUks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QUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBTTtJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBTTtJQUN6QixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBRztJQUNmLENBQUM7OztZQXpJSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsc29EQUFrRDtnQkFFbEQsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O2FBQ3ZDOzs7WUFmaUMsUUFBUTtZQUNqQyxnQkFBZ0I7WUFDaEIscUJBQXFCOzs7NEJBZXpCLEtBQUs7MEJBQ0wsS0FBSztzQkFDTCxLQUFLOzRCQUdMLEtBQUs7Z0NBS0wsS0FBSztzQkFDTCxLQUFLOzRCQUVMLE1BQU07MEJBQ04sTUFBTTtxQkFDTixNQUFNO3dCQUNOLE1BQU07NkJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFMaXN0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWxpc3QtYmFzZSc7XHJcbmltcG9ydCB7IENydWRMaXN0U2V0dGluZywgRW50aXR5UGlja2VyQ29udHJvbFNjaGVtYSwgSGVpZ2h0VHlwZSwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgRmlsdGVyLCBHcmlkSW5mbywgU29ydCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9ncmlkLWluZm8nO1xyXG5pbXBvcnQgeyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2FkdmFuY2UtZGF0YSc7XHJcbmltcG9ydCB7IGFwcGVuZERlZmF1bHRGaWx0ZXIgfSBmcm9tICcuLy4uLy4uLy4uLy4uLy4uL3V0aWxzL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWVudGl0eS1waWNrZXItZGF0YScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2VudGl0eS1waWNrZXItZGF0YS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlQaWNrZXJEYXRhQ29tcG9uZW50IGV4dGVuZHMgRGF0YUxpc3RCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIHBhcmVudFNldHRpbmc6IENydWRMaXN0U2V0dGluZztcclxuICAgIEBJbnB1dCgpIGFkdmFuY2VEYXRhOiBBZHZhbmNlRGF0YUVudGl0eVBpY2tlcjtcclxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWE7XHJcbiAgICBfc2VsZWN0ZWRWYWx1ZTogYW55O1xyXG4gICAgX3ZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWUoKTtcclxuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpIGlzU2luZ2xlU2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBmaWx0ZXJzOiBGaWx0ZXJbXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25Db250ZW50SW5pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25Sb3dTZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uUGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25QaWNrQWxsOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uUGlja1NlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBfZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubG9hZERldGFpbEZyb21RdWVyeVBhcmFtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcclxuICAgICAgICB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UgPSB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnBhZ2VTZXR0aW5nLnBhZ2VTaXplID0gMzA7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkNoZWNrYm94ID0gIXRoaXMuY29udHJvbC5tdWx0aXBsZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGVpZ2h0VHlwZSA9IEhlaWdodFR5cGUuY3VzdG9tO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zaG93RWRpdExpbmsgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuc2V0dGluZ0tleSA9ICdlbnRpdHlQaWNrZXJEYXRhJztcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQWR2YW5jZVNlYXJjaCA9IHRoaXMucGFyZW50U2V0dGluZy5oaWRkZW5BZHZhbmNlU2VhcmNoO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5TZXR0aW5nV29ya2Zsb3cgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5TZXR0aW5nUGVybWlzc2lvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnRpdGxlID0gJ0Rhbmggc8OhY2ggY8OhYyBt4bulYyBjaMawYSBjaOG7jW4nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gWy4uLnRoaXMucGFyZW50U2V0dGluZy5jb2xzLm1hcChwID0+ICh7IC4uLnAgfSkpXTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuY29sdW1uU2V0dGluZyA9IHRoaXMucGFyZW50U2V0dGluZy5jb2x1bW5TZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLnBhcmVudFNldHRpbmcuZmllbGRTZWFyY2hUZXh0O1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5tdWx0aXBsZUNoZWNrV2hlbkNsaWNrUm93ID0gIXRoaXMuaXNTaW5nbGVTZWxlY3Rpb247XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRWYWx1ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRWYWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fc2VsZWN0ZWRWYWx1ZS5tYXAoaXRlbSA9PiBpdGVtW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3NlbGVjdGVkVmFsdWVbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVJvd1NlbGVjdChldmVudCkge1xyXG4gICAgICAgIHRoaXMub25Sb3dTZWxlY3QuZW1pdChldmVudC5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwaWNrRW50aXR5KGRhdGEpIHtcclxuICAgICAgICB0aGlzLm9uUGljay5lbWl0KGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHBpY2tBbGwoKSB7XHJcbiAgICAgICAgdGhpcy5vblBpY2tBbGwuZW1pdCh0aGlzLm1vZGVsLmRhdGFTb3VyY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHBpY2tTZWxlY3RlZChkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5vblBpY2tTZWxlY3RlZC5lbWl0KGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG1vZGlmeUdyaWRJbmZvKGdyaWRJbmZvOiBHcmlkSW5mbykge1xyXG4gICAgICAgIGdyaWRJbmZvLmZpZWxkcyA9IHRoaXMuYWR2YW5jZURhdGEuZmllbGRzO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3ZhbHVlICYmIHRoaXMuX3ZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGdyaWRJbmZvLmZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcih0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCwgT3BlcmF0b3Iubm90SW4sIHRoaXMuX3ZhbHVlKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl92YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5ub3RFcXVhbCwgdGhpcy5fdmFsdWUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCBhcHBlbmREZWZhdWx0RmlsdGVyKGdyaWRJbmZvLmZpbHRlcnMsIHRoaXMuY29udHJvbC5kZWZhdWx0RmlsdGVycyk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tb2RpZnlGaWx0ZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgYWxsb3cgPSBhd2FpdCB0aGlzLmNvbnRyb2wubW9kaWZ5RmlsdGVyKGdyaWRJbmZvLmZpbHRlcnMsIHRoaXMpO1xyXG4gICAgICAgICAgICBpZiAoYWxsb3cgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZmlsdGVyV2hpbGVQcm9jZXNzKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwcGVuZERlZmF1bHRGaWx0ZXIoZ3JpZEluZm8uZmlsdGVycywgdGhpcy5jb250cm9sLmZpbHRlcldoaWxlUHJvY2Vzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmcuY29sdW1uU2V0dGluZy5zb3J0RmllbGQpIHtcclxuICAgICAgICAgICAgZ3JpZEluZm8uc29ydHMucHVzaCg8U29ydD57XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5zZXR0aW5nLmNvbHVtblNldHRpbmcuc29ydEZpZWxkLFxyXG4gICAgICAgICAgICAgICAgZGlyOiB0aGlzLnNldHRpbmcuY29sdW1uU2V0dGluZy5zb3J0RGlyID8gMSA6IC0xXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBiZWZvcmVSZW5kZXJEYXRhU291cmNlKGRhdGEpIHtcclxuICAgICAgICBkYXRhLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uX2Ryb3Bkb3dudmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZnRlckdldERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5hZnRlckdldERhdGFVblBpY2tlZCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhVW5QaWNrZWQodGhpcy5tb2RlbC5kYXRhU291cmNlLCB0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uVW5zZWxlY3RQaWNrZXJVc2VyKCRldmVudCkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0UGlja2VyVXNlcigkZXZlbnQpIHtcclxuICAgIH1cclxuXHJcbiAgICBvblRvcGJhclNlYXJjaENsaWNrKCkge1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyRmlsdGVyKGV2dCkge1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1kaWFsb2cvY29tcG9uZW50cy9lbnRpdHktcGlja2VyLWRhdGEvZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBUXBFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxZQUFZO0lBc0J2RCxZQUNJLFNBQW1CLEVBQ1QsaUJBQW1DLEVBQ3RDLHNCQUE2QztRQUVwRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFIUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ3RDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFaL0Msc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLGtCQUFhLEdBQXNCLElBQUks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O1FBQ0wsQ0FBQztLQUFBO0lBRUQsTUFBTTtJQUNOLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFNO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFNO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFHO0lBQ2YsQ0FBQzs7O1lBM0lKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxzb0RBQWtEO2dCQUVsRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzs7YUFDdkM7OztZQWZpQyxRQUFRO1lBQ2pDLGdCQUFnQjtZQUNoQixxQkFBcUI7Ozs0QkFlekIsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7NEJBSUwsS0FBSztnQ0FNTCxLQUFLO3NCQUNMLEtBQUs7NEJBRUwsTUFBTTswQkFDTixNQUFNO3FCQUNOLE1BQU07d0JBQ04sTUFBTTs2QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YUxpc3RCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2xhc3Nlcy9iYXNlL2RhdGEtbGlzdC1iYXNlJztcclxuaW1wb3J0IHsgQ3J1ZExpc3RTZXR0aW5nLCBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hLCBIZWlnaHRUeXBlLCBPcGVyYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBGaWx0ZXIsIEdyaWRJbmZvLCBTb3J0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2dyaWQtaW5mbyc7XHJcbmltcG9ydCB7IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYWR2YW5jZS1kYXRhJztcclxuaW1wb3J0IHsgYXBwZW5kRGVmYXVsdEZpbHRlciB9IGZyb20gJy4vLi4vLi4vLi4vLi4vLi4vdXRpbHMvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtZW50aXR5LXBpY2tlci1kYXRhJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktcGlja2VyLWRhdGEuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LXBpY2tlci1kYXRhLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudGl0eVBpY2tlckRhdGFDb21wb25lbnQgZXh0ZW5kcyBEYXRhTGlzdEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgcGFyZW50U2V0dGluZzogQ3J1ZExpc3RTZXR0aW5nO1xyXG4gICAgQElucHV0KCkgYWR2YW5jZURhdGE6IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogRW50aXR5UGlja2VyQ29udHJvbFNjaGVtYTtcclxuICAgIF9zZWxlY3RlZFZhbHVlOiBhbnk7XHJcbiAgICBfdmFsdWU6IGFueTtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWUoKTtcclxuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBpc1NpbmdsZVNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZmlsdGVyczogRmlsdGVyW107XHJcblxyXG4gICAgQE91dHB1dCgpIG9uQ29udGVudEluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uUm93U2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBvblBpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uUGlja0FsbDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBvblBpY2tTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgX2RldmljZURldGVjdG9yU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmxvYWREZXRhaWxGcm9tUXVlcnlQYXJhbSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5wbHVzVXJsID0gdGhpcy5jb250cm9sLnBsdXNVcmw7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5wYWdlU2V0dGluZy5wYWdlU2l6ZSA9IHRoaXMuY29udHJvbC5wYWdlU2l6ZSA/PyAzMDtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQ2hlY2tib3ggPSAhdGhpcy5jb250cm9sLm11bHRpcGxlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oZWlnaHRUeXBlID0gSGVpZ2h0VHlwZS5jdXN0b207XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNob3dFZGl0TGluayA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zZXR0aW5nS2V5ID0gJ2VudGl0eVBpY2tlckRhdGEnO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5BZHZhbmNlU2VhcmNoID0gdGhpcy5wYXJlbnRTZXR0aW5nLmhpZGRlbkFkdmFuY2VTZWFyY2g7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdXb3JrZmxvdyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdQZXJtaXNzaW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcudGl0bGUgPSAnRGFuaCBzw6FjaCBjw6FjIG3hu6VjIGNoxrBhIGNo4buNbic7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMgPSBbLi4udGhpcy5wYXJlbnRTZXR0aW5nLmNvbHMubWFwKHAgPT4gKHsgLi4ucCB9KSldO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2x1bW5TZXR0aW5nID0gdGhpcy5wYXJlbnRTZXR0aW5nLmNvbHVtblNldHRpbmc7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmZpZWxkU2VhcmNoVGV4dCA9IHRoaXMucGFyZW50U2V0dGluZy5maWVsZFNlYXJjaFRleHQ7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLm11bHRpcGxlQ2hlY2tXaGVuQ2xpY2tSb3cgPSAhdGhpcy5pc1NpbmdsZVNlbGVjdGlvbjtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFZhbHVlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9zZWxlY3RlZFZhbHVlLm1hcChpdGVtID0+IGl0ZW1bdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fc2VsZWN0ZWRWYWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlUm93U2VsZWN0KGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5vblJvd1NlbGVjdC5lbWl0KGV2ZW50LmRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHBpY2tFbnRpdHkoZGF0YSkge1xyXG4gICAgICAgIHRoaXMub25QaWNrLmVtaXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcGlja0FsbCgpIHtcclxuICAgICAgICB0aGlzLm9uUGlja0FsbC5lbWl0KHRoaXMubW9kZWwuZGF0YVNvdXJjZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcGlja1NlbGVjdGVkKGRhdGEpIHtcclxuICAgICAgICB0aGlzLm9uUGlja1NlbGVjdGVkLmVtaXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbW9kaWZ5R3JpZEluZm8oZ3JpZEluZm86IEdyaWRJbmZvKSB7XHJcbiAgICAgICAgZ3JpZEluZm8uZmllbGRzID0gdGhpcy5hZHZhbmNlRGF0YS5maWVsZHM7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5ub3RJbiwgdGhpcy5fdmFsdWUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3ZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLm5vdEVxdWFsLCB0aGlzLl92YWx1ZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IGFwcGVuZERlZmF1bHRGaWx0ZXIoZ3JpZEluZm8uZmlsdGVycywgdGhpcy5jb250cm9sLmRlZmF1bHRGaWx0ZXJzKTtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLm1vZGlmeUZpbHRlcikge1xyXG4gICAgICAgICAgICBjb25zdCBhbGxvdyA9IGF3YWl0IHRoaXMuY29udHJvbC5tb2RpZnlGaWx0ZXIoZ3JpZEluZm8uZmlsdGVycywgdGhpcyk7XHJcbiAgICAgICAgICAgIGlmIChhbGxvdyA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5maWx0ZXJXaGlsZVByb2Nlc3MpIHtcclxuICAgICAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZmlsdGVyV2hpbGVQcm9jZXNzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZy5jb2x1bW5TZXR0aW5nLnNvcnRGaWVsZCkge1xyXG4gICAgICAgICAgICBncmlkSW5mby5zb3J0cy5wdXNoKDxTb3J0PntcclxuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLnNldHRpbmcuY29sdW1uU2V0dGluZy5zb3J0RmllbGQsXHJcbiAgICAgICAgICAgICAgICBkaXI6IHRoaXMuc2V0dGluZy5jb2x1bW5TZXR0aW5nLnNvcnREaXIgPyAxIDogLTFcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGJlZm9yZVJlbmRlckRhdGFTb3VyY2UoZGF0YSkge1xyXG4gICAgICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgICAgaXRlbS5fZHJvcGRvd252YWx1ZSA9IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGFmdGVyR2V0RGF0YSgpIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YVVuUGlja2VkKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29udHJvbC5hZnRlckdldERhdGFVblBpY2tlZCh0aGlzLm1vZGVsLmRhdGFTb3VyY2UsIHRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWwoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgb25VbnNlbGVjdFBpY2tlclVzZXIoJGV2ZW50KSB7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3RQaWNrZXJVc2VyKCRldmVudCkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uVG9wYmFyU2VhcmNoQ2xpY2soKSB7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJGaWx0ZXIoZXZ0KSB7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -21,10 +21,11 @@ export class EntityPickerSelectedComponent extends DataListBase {
21
21
  this._triggerProcessData();
22
22
  }
23
23
  ngOnInit() {
24
+ var _a;
24
25
  this.loadDetailFromQueryParam = true;
25
26
  this.plusUrl = this.control.plusUrl;
26
27
  this.setting.baseService = this.control.baseService;
27
- this.setting.pageSetting.pageSize = 30;
28
+ this.setting.pageSetting.pageSize = (_a = this.control.pageSize) !== null && _a !== void 0 ? _a : 30;
28
29
  this.setting.hiddenCheckbox = !this.control.multiple;
29
30
  this.setting.heightType = HeightType.custom;
30
31
  this.setting.showEditLink = false;
@@ -130,4 +131,4 @@ EntityPickerSelectedComponent.propDecorators = {
130
131
  onUnPickAll: [{ type: Output }],
131
132
  onUnPickSelected: [{ type: Output }]
132
133
  };
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci1zZWxlY3RlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItZGlhbG9nL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci1zZWxlY3RlZC9lbnRpdHktcGlja2VyLXNlbGVjdGVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBU3RFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxZQUFZO0lBaUIzRCxZQUNjLGlCQUFtQyxFQUM3QyxTQUFtQjtRQUVuQixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFIUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBTnZDLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELGdCQUFXLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQscUJBQWdCLEdB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TUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3RFO1FBQ0wsQ0FBQztLQUFBO0lBRUQsTUFBTTtJQUNOLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFNO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFNO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFHO0lBQ2YsQ0FBQzs7O1lBN0hKLFNBQVMsU0FBQztnQkFDUCwrQ0FBK0M7Z0JBQy9DLFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLDJxREFBc0Q7Z0JBRXRELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUN2Qzs7O1lBZFEsZ0JBQWdCO1lBRFMsUUFBUTs7OzRCQWlCckMsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7NEJBR0wsS0FBSzs0QkFNTCxNQUFNO3VCQUNOLE1BQU07MEJBQ04sTUFBTTsrQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBhcHBlbmREZWZhdWx0RmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YUxpc3RCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2xhc3Nlcy9iYXNlL2RhdGEtbGlzdC1iYXNlJztcclxuaW1wb3J0IHsgQ3J1ZExpc3RTZXR0aW5nLCBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hLCBIZWlnaHRUeXBlLCBPcGVyYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBHcmlkSW5mbyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9ncmlkLWluZm8nO1xyXG5pbXBvcnQgeyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2FkdmFuY2UtZGF0YSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ2FwcC1lbnRpdHktcGlja2VyLXNlbGVjdGVkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktcGlja2VyLXNlbGVjdGVkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2VudGl0eS1waWNrZXItc2VsZWN0ZWQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0NvbXBvbmVudENvbnRleHRTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50aXR5UGlja2VyU2VsZWN0ZWRDb21wb25lbnQgZXh0ZW5kcyBEYXRhTGlzdEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgcGFyZW50U2V0dGluZzogQ3J1ZExpc3RTZXR0aW5nO1xyXG4gICAgQElucHV0KCkgYWR2YW5jZURhdGE6IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogRW50aXR5UGlja2VyQ29udHJvbFNjaGVtYTtcclxuICAgIF9zZWxlY3RlZFZhbHVlOiBhbnk7XHJcbiAgICBfdmFsdWU6IGFueTtcclxuICAgIEBJbnB1dCgpIHNldCBzZWxlY3RlZFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSBvbkNvbnRlbnRJbml0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBvblVuUGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25VblBpY2tBbGw6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25VblBpY2tTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9pbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubG9hZERldGFpbEZyb21RdWVyeVBhcmFtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcclxuICAgICAgICB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UgPSB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnBhZ2VTZXR0aW5nLnBhZ2VTaXplID0gMzA7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkNoZWNrYm94ID0gIXRoaXMuY29udHJvbC5tdWx0aXBsZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGVpZ2h0VHlwZSA9IEhlaWdodFR5cGUuY3VzdG9tO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zaG93RWRpdExpbmsgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuc2V0dGluZ0tleSA9ICdlbnRpdHlQaWNrZXJTZWxlY3RlZCc7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkFkdmFuY2VTZWFyY2ggPSB0aGlzLnBhcmVudFNldHRpbmcuaGlkZGVuQWR2YW5jZVNlYXJjaDtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1dvcmtmbG93ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1Blcm1pc3Npb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy50aXRsZSA9ICdEYW5oIHPDoWNoIGPDoWMgbeG7pWMgxJHDoyBjaOG7jW4nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gWy4uLnRoaXMucGFyZW50U2V0dGluZy5jb2xzLm1hcChwID0+ICh7IC4uLnAgfSkpXTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuY29sdW1uU2V0dGluZyA9IHRoaXMucGFyZW50U2V0dGluZy5jb2x1bW5TZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLnBhcmVudFNldHRpbmcuZmllbGRTZWFyY2hUZXh0O1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VmFsdWUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkVmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3NlbGVjdGVkVmFsdWUubWFwKGl0ZW0gPT4gaXRlbVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9zZWxlY3RlZFZhbHVlW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBtb2RpZnlHcmlkSW5mbyhncmlkSW5mbzogR3JpZEluZm8pIHtcclxuICAgICAgICBncmlkSW5mby5maWVsZHMgPSB0aGlzLmFkdmFuY2VEYXRhLmZpZWxkcztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT0gbnVsbCAmJiB0aGlzLl92YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmluLCB0aGlzLl92YWx1ZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5pbiwgdGhpcy5fdmFsdWUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZGVmYXVsdEZpbHRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHVuUGlja0VudGl0eShkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5vblVuUGljay5lbWl0KGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHVuUGlja0FsbCgpIHtcclxuICAgICAgICB0aGlzLm9uVW5QaWNrQWxsLmVtaXQodGhpcy5tb2RlbC5kYXRhU291cmNlKTtcclxuICAgIH1cclxuXHJcbiAgICB1blBpY2tTZWxlY3RlZChkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5vblVuUGlja1NlbGVjdGVkLmVtaXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgYmVmb3JlUmVuZGVyRGF0YVNvdXJjZShkYXRhKSB7XHJcbiAgICAgICAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpdGVtLl9kcm9wZG93bnZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlRmllbGQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgYWZ0ZXJHZXREYXRhKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhUGlja2VkKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29udHJvbC5hZnRlckdldERhdGFQaWNrZWQodGhpcy5tb2RlbC5kYXRhU291cmNlLCB0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uVW5zZWxlY3RQaWNrZXJVc2VyKCRldmVudCkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0UGlja2VyVXNlcigkZXZlbnQpIHtcclxuICAgIH1cclxuXHJcbiAgICBvblRvcGJhclNlYXJjaENsaWNrKCkge1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyRmlsdGVyKGV2dCkge1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci1zZWxlY3RlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXItZGlhbG9nL2NvbXBvbmVudHMvZW50aXR5LXBpY2tlci1zZWxlY3RlZC9lbnRpdHktcGlja2VyLXNlbGVjdGVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBU3RFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxZQUFZO0lBaUIzRCxZQUNjLGlCQUFtQyxFQUM3QyxTQUFtQjtRQUVuQixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFIUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBTnZDLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELGdCQUFXLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQscUJBQWdCLEdB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QUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO2dCQUNqQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdEU7UUFDTCxDQUFDO0tBQUE7SUFFRCxNQUFNO0lBQ04sQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQU07SUFDM0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQU07SUFDekIsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQUc7SUFDZixDQUFDOzs7WUE3SEosU0FBUyxTQUFDO2dCQUNQLCtDQUErQztnQkFDL0MsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsMnFEQUFzRDtnQkFFdEQsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O2FBQ3ZDOzs7WUFkUSxnQkFBZ0I7WUFEUyxRQUFROzs7NEJBaUJyQyxLQUFLOzBCQUNMLEtBQUs7c0JBQ0wsS0FBSzs0QkFHTCxLQUFLOzRCQU1MLE1BQU07dUJBQ04sTUFBTTswQkFDTixNQUFNOytCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGFwcGVuZERlZmF1bHRGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscy9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhTGlzdEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1saXN0LWJhc2UnO1xyXG5pbXBvcnQgeyBDcnVkTGlzdFNldHRpbmcsIEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWEsIEhlaWdodFR5cGUsIE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IEdyaWRJbmZvIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2dyaWQtaW5mbyc7XHJcbmltcG9ydCB7IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYWR2YW5jZS1kYXRhJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnYXBwLWVudGl0eS1waWNrZXItc2VsZWN0ZWQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1waWNrZXItc2VsZWN0ZWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LXBpY2tlci1zZWxlY3RlZC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlQaWNrZXJTZWxlY3RlZENvbXBvbmVudCBleHRlbmRzIERhdGFMaXN0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBwYXJlbnRTZXR0aW5nOiBDcnVkTGlzdFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBhZHZhbmNlRGF0YTogQWR2YW5jZURhdGFFbnRpdHlQaWNrZXI7XHJcbiAgICBASW5wdXQoKSBjb250cm9sOiBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hO1xyXG4gICAgX3NlbGVjdGVkVmFsdWU6IGFueTtcclxuICAgIF92YWx1ZTogYW55O1xyXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGVkVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpIG9uQ29udGVudEluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uVW5QaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBvblVuUGlja0FsbDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBvblVuUGlja1NlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRGV0YWlsRnJvbVF1ZXJ5UGFyYW0gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucGx1c1VybCA9IHRoaXMuY29udHJvbC5wbHVzVXJsO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSA9IHRoaXMuY29udHJvbC5iYXNlU2VydmljZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcucGFnZVNldHRpbmcucGFnZVNpemUgPSB0aGlzLmNvbnRyb2wucGFnZVNpemUgPz8gMzA7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkNoZWNrYm94ID0gIXRoaXMuY29udHJvbC5tdWx0aXBsZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGVpZ2h0VHlwZSA9IEhlaWdodFR5cGUuY3VzdG9tO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zaG93RWRpdExpbmsgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuc2V0dGluZ0tleSA9ICdlbnRpdHlQaWNrZXJTZWxlY3RlZCc7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkFkdmFuY2VTZWFyY2ggPSB0aGlzLnBhcmVudFNldHRpbmcuaGlkZGVuQWR2YW5jZVNlYXJjaDtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1dvcmtmbG93ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1Blcm1pc3Npb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy50aXRsZSA9ICdEYW5oIHPDoWNoIGPDoWMgbeG7pWMgxJHDoyBjaOG7jW4nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gWy4uLnRoaXMucGFyZW50U2V0dGluZy5jb2xzLm1hcChwID0+ICh7IC4uLnAgfSkpXTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuY29sdW1uU2V0dGluZyA9IHRoaXMucGFyZW50U2V0dGluZy5jb2x1bW5TZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLnBhcmVudFNldHRpbmcuZmllbGRTZWFyY2hUZXh0O1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VmFsdWUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkVmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3NlbGVjdGVkVmFsdWUubWFwKGl0ZW0gPT4gaXRlbVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9zZWxlY3RlZFZhbHVlW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBtb2RpZnlHcmlkSW5mbyhncmlkSW5mbzogR3JpZEluZm8pIHtcclxuICAgICAgICBncmlkSW5mby5maWVsZHMgPSB0aGlzLmFkdmFuY2VEYXRhLmZpZWxkcztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT0gbnVsbCAmJiB0aGlzLl92YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmluLCB0aGlzLl92YWx1ZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5pbiwgdGhpcy5fdmFsdWUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZGVmYXVsdEZpbHRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHVuUGlja0VudGl0eShkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5vblVuUGljay5lbWl0KGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHVuUGlja0FsbCgpIHtcclxuICAgICAgICB0aGlzLm9uVW5QaWNrQWxsLmVtaXQodGhpcy5tb2RlbC5kYXRhU291cmNlKTtcclxuICAgIH1cclxuXHJcbiAgICB1blBpY2tTZWxlY3RlZChkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5vblVuUGlja1NlbGVjdGVkLmVtaXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgYmVmb3JlUmVuZGVyRGF0YVNvdXJjZShkYXRhKSB7XHJcbiAgICAgICAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpdGVtLl9kcm9wZG93bnZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlRmllbGQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgYWZ0ZXJHZXREYXRhKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhUGlja2VkKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29udHJvbC5hZnRlckdldERhdGFQaWNrZWQodGhpcy5tb2RlbC5kYXRhU291cmNlLCB0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uVW5zZWxlY3RQaWNrZXJVc2VyKCRldmVudCkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0UGlja2VyVXNlcigkZXZlbnQpIHtcclxuICAgIH1cclxuXHJcbiAgICBvblRvcGJhclNlYXJjaENsaWNrKCkge1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyRmlsdGVyKGV2dCkge1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -36,6 +36,9 @@ export class EntityPickerComponent extends DataListBase {
36
36
  if (this.control.useDefaultPluslUrlInList) {
37
37
  this.plusUrl = this.control.plusUrl;
38
38
  }
39
+ if (this.control.pageSize) {
40
+ this.setting.pageSetting.pageSize = this.control.pageSize;
41
+ }
39
42
  this.setting.cols = [];
40
43
  this.setting.title = '';
41
44
  this.setting.baseService = this.control.baseService;
@@ -102,8 +105,9 @@ export class EntityPickerComponent extends DataListBase {
102
105
  }
103
106
  afterGetData() {
104
107
  return __awaiter(this, void 0, void 0, function* () {
105
- if (this.control.afterGetData)
108
+ if (this.control.afterGetData) {
106
109
  yield this.control.afterGetData(this.model.dataSource, this);
110
+ }
107
111
  });
108
112
  }
109
113
  // Lấy union của: selectedField, fieldPlus, display fields có trong table.
@@ -156,8 +160,9 @@ export class EntityPickerComponent extends DataListBase {
156
160
  }
157
161
  handleHide(data) {
158
162
  this.showDetailForm = false;
159
- if (this.dirty)
163
+ if (this.dirty) {
160
164
  this._triggerProcessData();
165
+ }
161
166
  }
162
167
  onClickSubmitButton(evt, entityPickerBox) {
163
168
  if (this.control.multiple) {
@@ -182,7 +187,7 @@ export class EntityPickerComponent extends DataListBase {
182
187
  if (obj instanceof Array) {
183
188
  // this.selectedValue = obj;
184
189
  this.selectedValue = obj.map(x => {
185
- var temp = {
190
+ const temp = {
186
191
  _dropdownvalue: this.control.valueField,
187
192
  };
188
193
  temp[this.control.valueField] = x;
@@ -241,4 +246,4 @@ EntityPickerComponent.propDecorators = {
241
246
  onUnSelect: [{ type: Output, args: ['onUnSelect',] }],
242
247
  onChanged: [{ type: Output, args: ['onChanged',] }]
243
248
  };
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWdCekQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUF3Qm5ELFlBQ1ksb0JBQXlDLEVBQ3pDLGFBQTJCLEVBQ3pCLFlBQXlCLEVBQ3pCLGlC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O3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNkO29CQUNELHVCQUF1QjtvQkFDdkIscUJBQXFCO2lCQUN4Qjs7YUFDSjs7O1lBbkJRLG1CQUFtQjtZQVBuQixZQUFZO1lBUVosV0FBVztZQVBYLGdCQUFnQjtZQUhxQixRQUFROzs7c0JBaUNqRCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUVMLE1BQU0sU0FBQyxVQUFVO3lCQUNqQixNQUFNLFNBQUMsWUFBWTt3QkFDbkIsTUFBTSxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFMaXN0QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWxpc3QtYmFzZSc7XHJcbmltcG9ydCB7IEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWEsIEhlaWdodFR5cGUsIE9wZXJhdG9yLCBQb3B1cFNpemUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgR3JpZEluZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1pbmZvJztcclxuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50aXR5LW1ldGFkYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnRpdHlQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50aXR5LXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciB9IGZyb20gJy4vbW9kZWwvYWR2YW5jZS1kYXRhJztcclxuaW1wb3J0IHsgRW50aXR5UGlja2VyQm94Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktcGlja2VyLWJveC9lbnRpdHktcGlja2VyLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBhcHBlbmREZWZhdWx0RmlsdGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdlbnRpdHktcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2VudGl0eS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVudGl0eVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBDb21wb25lbnRDb250ZXh0U2VydmljZSxcclxuICAgICAgICBFbnRpdHlNZXRhZGF0YVNlcnZpY2VcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudGl0eVBpY2tlckNvbXBvbmVudCBleHRlbmRzIERhdGFMaXN0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uO1xyXG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbjtcclxuXHJcbiAgICBASW5wdXQoKSBjb250cm9sOiBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBjaGlsZHJlbjogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xyXG5cclxuICAgIEBPdXRwdXQoJ29uU2VsZWN0Jykgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCdvblVuU2VsZWN0Jykgb25VblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoJ29uQ2hhbmdlZCcpIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gICAgcG9wdXBTaXplOiBQb3B1cFNpemUgPSBuZXcgUG9wdXBTaXplKHtcclxuICAgICAgICB3aWR0aDogMTEwMCxcclxuICAgICAgICBoZWlnaHQ6IDkwMCxcclxuICAgICAgICBtYXhpbWl6ZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBzZWxlY3RlZEVudGl0eVBpY2tlckJveFJvd0RhdGE6IGFueTtcclxuICAgIHNlbGVjdGVkVmFsdWU6IGFueTtcclxuICAgIGFkdmFuY2VEYXRhOiBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciA9IG5ldyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlcigpO1xyXG4gICAgZGlydHkgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9lbnRpdHlQaWNrZXJTZXJ2aWNlOiBFbnRpdHlQaWNrZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubG9hZERldGFpbEZyb21RdWVyeVBhcmFtID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLnVzZURlZmF1bHRQbHVzbFVybEluTGlzdCkge1xyXG4gICAgICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMgPSBbXTtcclxuICAgICAgICB0aGlzLnNldHRpbmcudGl0bGUgPSAnJztcclxuICAgICAgICB0aGlzLnNldHRpbmcuYmFzZVNlcnZpY2UgPSB0aGlzLmNvbnRyb2wuYmFzZVNlcnZpY2U7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhlaWdodFR5cGUgPSBIZWlnaHRUeXBlLmR5bmFtaWM7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmZpeEhlaWdodFR5cGVJbkRpYWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5DaGVja2JveCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNldHRpbmdLZXkgPSAnZW50aXR5UGlja2VyJztcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1dvcmtmbG93ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuU2V0dGluZ1Blcm1pc3Npb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLmNvbnRyb2wuZmllbGRTZWFyY2hUZXh0O1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbHVtbi5pc0Rpc3BsYXkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uZGF0YVR5cGUgPT0gJ2N1c3RvbScpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmcuY29scy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5jb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogY29sdW1uLmNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IGNvbHVtbi5iYXNlU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogY29sdW1uLnZhbHVlRmllbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogY29sdW1uLmRpc3BsYXlGaWVsZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRQbHVzOiBjb2x1bW4uZmllbGRQbHVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0RmllbGQ6IGNvbHVtbi5zb3J0RmllbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnREaXI6IGNvbHVtbi5zb3J0RGlyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmdW5jR2V0TGFiZWw6IGNvbHVtbi5mdW5jR2V0TGFiZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IGNvbHVtbi5kYXRhU291cmNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cENvZGU6IGNvbHVtbi5ncm91cENvZGVcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZy5jb2xzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uY29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChjb2x1bW4ubGFiZWwpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFkdmFuY2VEYXRhLmZpZWxkcyA9IHRoaXMuZ2V0RmllbGRzKCk7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RFbnRpdHkoKSB7XHJcbiAgICAgICAgdGhpcy5zaG93RGV0YWlsRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG1vZGlmeUdyaWRJbmZvKGdyaWRJbmZvOiBHcmlkSW5mbykge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSA9PSBudWxsIHx8IHRoaXMuc2VsZWN0ZWRWYWx1ZS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZ3JpZEluZm8uZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLCBPcGVyYXRvci5pbiwgdGhpcy5zZWxlY3RlZFZhbHVlLm1hcCh4ID0+IHhbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGdyaWRJbmZvLmZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcih0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCwgT3BlcmF0b3IuZXF1YWwsIHRoaXMuc2VsZWN0ZWRWYWx1ZVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC51c2VEZWZhdWx0RmlsdGVySW5MaXN0ICYmIHRoaXMuY29udHJvbC5kZWZhdWx0RmlsdGVycykge1xyXG4gICAgICAgICAgICBhd2FpdCBhcHBlbmREZWZhdWx0RmlsdGVyKGdyaWRJbmZvLmZpbHRlcnMsIHRoaXMuY29udHJvbC5kZWZhdWx0RmlsdGVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGFmdGVyR2V0RGF0YSgpIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YSlcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YSh0aGlzLm1vZGVsLmRhdGFTb3VyY2UsIHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEzhuqV5IHVuaW9uIGPhu6dhOiBzZWxlY3RlZEZpZWxkLCBmaWVsZFBsdXMsIGRpc3BsYXkgZmllbGRzIGPDsyB0cm9uZyB0YWJsZS5cclxuICAgIGdldEZpZWxkcygpIHtcclxuICAgICAgICBjb25zdCBhcnJGaWVsZDogc3RyaW5nW10gPSBbJ2lkJ107XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkICYmIHRoaXMuY29udHJvbC52YWx1ZUZpZWxkICE9ICdpZCcpIHtcclxuICAgICAgICAgICAgYXJyRmllbGQucHVzaCh0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmZpZWxkUGx1cykge1xyXG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKC4uLnRoaXMuY29udHJvbC5maWVsZFBsdXMuc3BsaXQoJywnKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBhcnJEaXNwbGF5RmllbGQgPSB0aGlzLmNvbnRyb2wuY29sdW1ucy5maWx0ZXIoeCA9PiB4LmlzRGlzcGxheSA9PSB0cnVlICYmICF4Lm5vdEluRmllbGRzICYmIHguZGF0YVR5cGUgIT0gJ2N1c3RvbScpXHJcbiAgICAgICAgICAgIC5tYXAoeCA9PiB4LmNvZGUpO1xyXG5cclxuICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmFkZERpc3RpbmN0KGFyckRpc3BsYXlGaWVsZCwgYXJyRmllbGQpO1xyXG4gICAgICAgIHJldHVybiBhcnJGaWVsZC50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVVuUGlja0VudGl0eShkYXRhKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkVmFsdWUuZmlsdGVyKHggPT4geFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0gIT0gZGF0YVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuXHJcbiAgICAgICAgLy8gZGF0YSBlbWl0IHBo4bqjaSBnaeG7kW5nIHbhu5tpIGjDoG0gaGFuZGxlVW5TZWxlY3RFbnRpdHlcclxuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdCh7XHJcbiAgICAgICAgICAgIGl0ZW1zOiBbZGF0YV0sXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5maXJlQ2hhbmdlRXZlbnQoKTtcclxuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFbnRpdHlQaWNrZXJCb3hSb3dTZWxlY3QoaXRlbSkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVudGl0eVBpY2tlckJveFJvd0RhdGEgPSBpdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVNlbGVjdEVudGl0eShldnQpIHtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVVblNlbGVjdEVudGl0eShldnQpIHtcclxuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUNoYW5nZUVudGl0eShldnQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBldnQudmFsdWU7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xyXG4gICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUhpZGUoZGF0YSkge1xyXG4gICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5kaXJ0eSlcclxuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGlja1N1Ym1pdEJ1dHRvbihldnQsIGVudGl0eVBpY2tlckJveDogRW50aXR5UGlja2VyQm94Q29tcG9uZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUhpZGUoZXZ0KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhKSB7XHJcbiAgICAgICAgICAgIGVudGl0eVBpY2tlckJveCAmJiBlbnRpdHlQaWNrZXJCb3guaGFuZGxlUGljayh0aGlzLnNlbGVjdGVkRW50aXR5UGlja2VyQm94Um93RGF0YSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlsRm9ybSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaXJlQ2hhbmdlRXZlbnQoKSB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBbXTtcclxuICAgICAgICAgICAgaWYgKG9iaikge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlID0gb2JqO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9iai5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ZW1wID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Ryb3Bkb3dudmFsdWU6IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0gPSB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGVtcDtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKG9iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gb2JqO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWdCekQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUF3Qm5ELFlBQ1ksb0JBQXlDLEVBQ3pDLGFBQTJCLEVBQ3pCLFlBQXlCLEVBQ3pCLGlC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LGdCQUFnQixDQUFFLFVBQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7OztZQS9QSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLDZrRUFBNkM7Z0JBRTdDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtvQkFDRCx1QkFBdUI7b0JBQ3ZCLHFCQUFxQjtpQkFDeEI7O2FBQ0o7OztZQW5CUSxtQkFBbUI7WUFQbkIsWUFBWTtZQVFaLFdBQVc7WUFQWCxnQkFBZ0I7WUFUckIsUUFBUTs7O3NCQXVDUCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUVMLE1BQU0sU0FBQyxVQUFVO3lCQUNqQixNQUFNLFNBQUMsWUFBWTt3QkFDbkIsTUFBTSxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIEluamVjdG9yLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFMaXN0QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWxpc3QtYmFzZSc7XHJcbmltcG9ydCB7IEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWEsIEhlaWdodFR5cGUsIE9wZXJhdG9yLCBQb3B1cFNpemUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuaW1wb3J0IHsgR3JpZEluZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1pbmZvJztcclxuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50aXR5LW1ldGFkYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnRpdHlQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50aXR5LXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciB9IGZyb20gJy4vbW9kZWwvYWR2YW5jZS1kYXRhJztcclxuaW1wb3J0IHsgRW50aXR5UGlja2VyQm94Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktcGlja2VyLWJveC9lbnRpdHktcGlja2VyLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBhcHBlbmREZWZhdWx0RmlsdGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdlbnRpdHktcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2VudGl0eS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVudGl0eVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBDb21wb25lbnRDb250ZXh0U2VydmljZSxcclxuICAgICAgICBFbnRpdHlNZXRhZGF0YVNlcnZpY2VcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudGl0eVBpY2tlckNvbXBvbmVudCBleHRlbmRzIERhdGFMaXN0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uO1xyXG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbjtcclxuXHJcbiAgICBASW5wdXQoKSBjb250cm9sOiBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBjaGlsZHJlbjogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xyXG5cclxuICAgIEBPdXRwdXQoJ29uU2VsZWN0Jykgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCdvblVuU2VsZWN0Jykgb25VblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoJ29uQ2hhbmdlZCcpIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gICAgcG9wdXBTaXplOiBQb3B1cFNpemUgPSBuZXcgUG9wdXBTaXplKHtcclxuICAgICAgICB3aWR0aDogMTEwMCxcclxuICAgICAgICBoZWlnaHQ6IDkwMCxcclxuICAgICAgICBtYXhpbWl6ZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBzZWxlY3RlZEVudGl0eVBpY2tlckJveFJvd0RhdGE6IGFueTtcclxuICAgIHNlbGVjdGVkVmFsdWU6IGFueTtcclxuICAgIGFkdmFuY2VEYXRhOiBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciA9IG5ldyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlcigpO1xyXG4gICAgZGlydHkgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9lbnRpdHlQaWNrZXJTZXJ2aWNlOiBFbnRpdHlQaWNrZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubG9hZERldGFpbEZyb21RdWVyeVBhcmFtID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLnVzZURlZmF1bHRQbHVzbFVybEluTGlzdCkge1xyXG4gICAgICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5wYWdlU2l6ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmcucGFnZVNldHRpbmcucGFnZVNpemUgPSB0aGlzLmNvbnRyb2wucGFnZVNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0dGluZy5jb2xzID0gW107XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLnRpdGxlID0gJyc7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlID0gdGhpcy5jb250cm9sLmJhc2VTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5oZWlnaHRUeXBlID0gSGVpZ2h0VHlwZS5keW5hbWljO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5maXhIZWlnaHRUeXBlSW5EaWFsb2cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuaGlkZGVuQ2hlY2tib3ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZy5zZXR0aW5nS2V5ID0gJ2VudGl0eVBpY2tlcic7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdXb3JrZmxvdyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdQZXJtaXNzaW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHRpbmcuZmllbGRTZWFyY2hUZXh0ID0gdGhpcy5jb250cm9sLmZpZWxkU2VhcmNoVGV4dDtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb2x1bW4uaXNEaXNwbGF5KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmRhdGFUeXBlID09ICdjdXN0b20nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uY29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IGNvbHVtbi5jb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGNvbHVtbi5sYWJlbCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VTZXJ2aWNlOiBjb2x1bW4uYmFzZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6IGNvbHVtbi52YWx1ZUZpZWxkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6IGNvbHVtbi5kaXNwbGF5RmllbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkUGx1czogY29sdW1uLmZpZWxkUGx1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc29ydEZpZWxkOiBjb2x1bW4uc29ydEZpZWxkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0RGlyOiBjb2x1bW4uc29ydERpcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnVuY0dldExhYmVsOiBjb2x1bW4uZnVuY0dldExhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlOiBjb2x1bW4uZGF0YVNvdXJjZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBDb2RlOiBjb2x1bW4uZ3JvdXBDb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmcuY29scy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uY29sdW1uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hZHZhbmNlRGF0YS5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpO1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0RW50aXR5KCkge1xyXG4gICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBtb2RpZnlHcmlkSW5mbyhncmlkSW5mbzogR3JpZEluZm8pIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgPT0gbnVsbCB8fCB0aGlzLnNlbGVjdGVkVmFsdWUubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGdyaWRJbmZvLmZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcih0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCwgT3BlcmF0b3IuaW4sIHRoaXMuc2VsZWN0ZWRWYWx1ZS5tYXAoeCA9PiB4W3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnNlbGVjdGVkVmFsdWVbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudXNlRGVmYXVsdEZpbHRlckluTGlzdCAmJiB0aGlzLmNvbnRyb2wuZGVmYXVsdEZpbHRlcnMpIHtcclxuICAgICAgICAgICAgYXdhaXQgYXBwZW5kRGVmYXVsdEZpbHRlcihncmlkSW5mby5maWx0ZXJzLCB0aGlzLmNvbnRyb2wuZGVmYXVsdEZpbHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZnRlckdldERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5hZnRlckdldERhdGEpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb250cm9sLmFmdGVyR2V0RGF0YSh0aGlzLm1vZGVsLmRhdGFTb3VyY2UsIHRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBM4bqleSB1bmlvbiBj4bunYTogc2VsZWN0ZWRGaWVsZCwgZmllbGRQbHVzLCBkaXNwbGF5IGZpZWxkcyBjw7MgdHJvbmcgdGFibGUuXHJcbiAgICBnZXRGaWVsZHMoKSB7XHJcbiAgICAgICAgY29uc3QgYXJyRmllbGQ6IHN0cmluZ1tdID0gWydpZCddO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAmJiB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAhPSAnaWQnKSB7XHJcbiAgICAgICAgICAgIGFyckZpZWxkLnB1c2godGhpcy5jb250cm9sLnZhbHVlRmllbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5maWVsZFBsdXMpIHtcclxuICAgICAgICAgICAgYXJyRmllbGQucHVzaCguLi50aGlzLmNvbnRyb2wuZmllbGRQbHVzLnNwbGl0KCcsJykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgYXJyRGlzcGxheUZpZWxkID0gdGhpcy5jb250cm9sLmNvbHVtbnMuZmlsdGVyKHggPT4geC5pc0Rpc3BsYXkgPT0gdHJ1ZSAmJiAheC5ub3RJbkZpZWxkcyAmJiB4LmRhdGFUeXBlICE9ICdjdXN0b20nKVxyXG4gICAgICAgICAgICAubWFwKHggPT4geC5jb2RlKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZS5hZGREaXN0aW5jdChhcnJEaXNwbGF5RmllbGQsIGFyckZpZWxkKTtcclxuICAgICAgICByZXR1cm4gYXJyRmllbGQudG9TdHJpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVVblBpY2tFbnRpdHkoZGF0YSkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlLmZpbHRlcih4ID0+IHhbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdICE9IGRhdGFbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuXHJcbiAgICAgICAgLy8gZGF0YSBlbWl0IHBo4bqjaSBnaeG7kW5nIHbhu5tpIGjDoG0gaGFuZGxlVW5TZWxlY3RFbnRpdHlcclxuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdCh7XHJcbiAgICAgICAgICAgIGl0ZW1zOiBbZGF0YV0sXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5maXJlQ2hhbmdlRXZlbnQoKTtcclxuICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFbnRpdHlQaWNrZXJCb3hSb3dTZWxlY3QoaXRlbSkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVudGl0eVBpY2tlckJveFJvd0RhdGEgPSBpdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVNlbGVjdEVudGl0eShldnQpIHtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZXZ0KTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVVblNlbGVjdEVudGl0eShldnQpIHtcclxuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUNoYW5nZUVudGl0eShldnQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBldnQudmFsdWU7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xyXG4gICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUhpZGUoZGF0YSkge1xyXG4gICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5kaXJ0eSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGlja1N1Ym1pdEJ1dHRvbihldnQsIGVudGl0eVBpY2tlckJveDogRW50aXR5UGlja2VyQm94Q29tcG9uZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUhpZGUoZXZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5zZWxlY3RlZEVudGl0eVBpY2tlckJveFJvd0RhdGEpIHtcclxuICAgICAgICAgICAgZW50aXR5UGlja2VyQm94ICYmIGVudGl0eVBpY2tlckJveC5oYW5kbGVQaWNrKHRoaXMuc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmlyZUNoYW5nZUV2ZW50KCkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFZhbHVlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gW107XHJcbiAgICAgICAgICAgIGlmIChvYmopIHtcclxuICAgICAgICAgICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9iajtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvYmoubWFwKHggPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1wID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Ryb3Bkb3dudmFsdWU6IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0gPSB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGVtcDtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKG9iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gb2JqO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -151,7 +151,7 @@ QueryBuilderRuleComponent.decorators = [
151
151
  { type: Component, args: [{
152
152
  selector: 'query-builder-rule',
153
153
  template: "<div class=\"tn__group-or-rule-container rule-container\">\r\n <div class=\"tn__group-or-rule rule\">\r\n <div class=\"tn__rule-body\">\r\n <ng-container *ngIf=\"templateFieldPicker\">\r\n <div class=\"tn__rule-field\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templateFieldPicker; context: {$implicit: query, handleChangedField: setDatasourceOperators}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!templateFieldPicker\">\r\n <ng-container *ngTemplateOutlet=\"fieldPicker; context: {$implicit: query}\"></ng-container>\r\n </ng-container>\r\n <div class=\"tn__rule-operator\">\r\n <p-dropdown appendTo=\"body\" [options]=\"operators\" optionLabel=\"ten\" optionValue=\"id\"\r\n placeholder=\"Ch\u1ECDn to\u00E1n t\u1EED\" [(ngModel)]=\"query.compareType\" (onChange)=\"handleChangeOperator()\">\r\n </p-dropdown>\r\n </div>\r\n <div *ngIf=\"!changingControl\" class=\"tn__rule-value\">\r\n <ng-container *ngIf=\"control\">\r\n <ng-container [ngSwitch]=\"controlType\">\r\n <ng-container *ngSwitchCase=\"'textbox'\">\r\n <ng-template\r\n *ngTemplateOutlet=\"textBoxValue; context: {$implicit: query, _disabled: false}\">\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'custom'\">\r\n <ng-template\r\n *ngTemplateOutlet=\"textBoxValue; context: {$implicit: query, _disabled: disabled}\">\r\n </ng-template>\r\n </ng-container>\r\n <!-- <p-multiSelect *ngSwitchCase=\"'dropdown'\" [placeholder]=\"control.placeholder\"\r\n [appendTo]=\"'body'\" [options]=\"control.dataSource\" [disabled]=\"disabled\" optionLabel=\"ten\"\r\n optionValue=\"id\" [(ngModel)]=\"query.value\">\r\n </p-multiSelect> -->\r\n <dropdown *ngSwitchCase=\"'dropdown'\" [control]=\"control\" [dataSource]=\"control.dataSource\"\r\n [itemSelectedStyleClass]=\"'min'\" [(value)]=\"query.value\">\r\n </dropdown>\r\n <div *ngSwitchCase=\"'datetime'\" class=\"datetime-value-container\">\r\n <p-checkbox [binary]=\"true\" [label]=\"'T\u00F9y bi\u1EBFn'\" [(ngModel)]=\"custom\"></p-checkbox>\r\n <datetime-picker *ngIf=\"!custom\" [disabled]=\"disabled\" [(ngModel)]=\"query.value\">\r\n </datetime-picker>\r\n <input *ngIf=\"custom\" pInputText placeholder=\"VD: [now] + 1d - 2h + 3m - 4s\"\r\n [(ngModel)]=\"query.value\" />\r\n </div>\r\n\r\n <tn-mask *ngSwitchCase=\"'number'\" [disabled]=\"disabled\" [maskType]=\"control.maskType\"\r\n [placeholder]=\"control.placeholder\" [(ngModel)]=\"query.value\">\r\n </tn-mask>\r\n <user-picker *ngSwitchCase=\"'user'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\" [multiple]=\"control.multiple\">\r\n </user-picker>\r\n <cocautochuc-picker-list *ngSwitchCase=\"'cocautochuc'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </cocautochuc-picker-list>\r\n <autocomplete-picker *ngSwitchCase=\"'role'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <autocomplete-picker *ngSwitchCase=\"'groupuser'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <autocomplete-picker *ngSwitchCase=\"'chucVu'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <autocomplete-picker *ngSwitchCase=\"'autocomplete-picker'\" [control]=\"control\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <app-autocomplete-datasource *ngSwitchCase=\"'autocomplete'\" [control]=\"control\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"query.value\" [suggestions]=\"control.dataSource\">\r\n </app-autocomplete-datasource>\r\n <ng-container *ngSwitchDefault>\r\n <input type=\"text\" pInputText placeholder=\"Gi\u00E1 tr\u1ECB\" [disabled]=\"true\" />\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!control\">\r\n <input type=\"text\" pInputText placeholder=\"Gi\u00E1 tr\u1ECB\" [disabled]=\"true\" />\r\n </ng-container>\r\n </div>\r\n <after-view-checked *ngIf=\"changingControl\" (loaded)=\"handleLoaded()\"></after-view-checked>\r\n </div>\r\n <div class=\"tn__rule-action\">\r\n <button type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-button-text p-button-rounded p-button-danger\"\r\n pTooltip=\"X\u00F3a\" tooltipPosition=\"top\" (click)=\"removeGroup()\"></button>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #fieldPicker let-query>\r\n <ng-container *ngIf=\"controlType == 'custom'\">\r\n <input type=\"text\" [class]=\"'tn__rule-field'\" pInputText placeholder=\"Tr\u01B0\u1EDDng d\u1EEF li\u1EC7u\"\r\n [(ngModel)]=\"query.fieldValue\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"controlType != 'custom'\">\r\n <p-dropdown [appendTo]=\"'body'\" [options]=\"dataSourceFields\" [class]=\"'tn__rule-field'\" optionLabel=\"ten\"\r\n optionValue=\"id\" placeholder=\"Ch\u1ECDn tr\u01B0\u1EDDng d\u1EEF li\u1EC7u\" [(ngModel)]=\"query.field\"\r\n (onChange)=\"handleChangeField($event)\">\r\n </p-dropdown>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #textBoxValue let-query>\r\n <input [disabled]=\"disabled\" type=\"text\" pInputText placeholder=\"Gi\u00E1 tr\u1ECB\" [(ngModel)]=\"query.value\" />\r\n</ng-template>",
154
- styles: ["::ng-deep query-builder-rule .tn__rule-body{display:flex;width:calc(100% - 34px)}::ng-deep query-builder-rule .tn__rule-body>*{margin-right:5px}::ng-deep query-builder-rule .tn__rule-body>:last-child{margin-right:0}::ng-deep query-builder-rule .tn__rule-field{height:26px}::ng-deep query-builder-rule .tn__rule-value{min-height:26px}::ng-deep query-builder-rule .tn__rule-field,::ng-deep query-builder-rule .tn__rule-value{flex:0 0 calc(50% - 80px);width:calc(50% - 80px)}::ng-deep query-builder-rule .tn__rule-field .p-autocomplete,::ng-deep query-builder-rule .tn__rule-field .p-calendar,::ng-deep query-builder-rule .tn__rule-field.p-dropdown,::ng-deep query-builder-rule .tn__rule-field .p-dropdown,::ng-deep query-builder-rule .tn__rule-field .p-inputtext,::ng-deep query-builder-rule .tn__rule-field .p-multiselect,::ng-deep query-builder-rule .tn__rule-field tn-mask .p-inputgroup,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete,::ng-deep query-builder-rule .tn__rule-value .p-calendar,::ng-deep query-builder-rule .tn__rule-value.p-dropdown,::ng-deep query-builder-rule .tn__rule-value .p-dropdown,::ng-deep query-builder-rule .tn__rule-value .p-inputtext,::ng-deep query-builder-rule .tn__rule-value .p-multiselect,::ng-deep query-builder-rule .tn__rule-value tn-mask .p-inputgroup{height:100%;width:100%}::ng-deep query-builder-rule .tn__rule-field .custom-autocomplete-button,::ng-deep query-builder-rule .tn__rule-field .p-inputtext,::ng-deep query-builder-rule .tn__rule-value .custom-autocomplete-button,::ng-deep query-builder-rule .tn__rule-value .p-inputtext{min-height:26px;padding:2px 12px}::ng-deep query-builder-rule .tn__rule-field .tn-dropdown,::ng-deep query-builder-rule .tn__rule-field .tn-dropdown.p-multiselect.p-component,::ng-deep query-builder-rule .tn__rule-value .tn-dropdown,::ng-deep query-builder-rule .tn__rule-value .tn-dropdown.p-multiselect.p-component{min-height:26px}::ng-deep query-builder-rule .tn__rule-field .tn-autocomplete .p-autocomplete-dropdown,::ng-deep query-builder-rule .tn__rule-value .tn-autocomplete .p-autocomplete-dropdown{height:26px;width:26px}::ng-deep query-builder-rule .tn__rule-field .p-calendar .p-button.p-button-icon-only,::ng-deep query-builder-rule .tn__rule-value .p-calendar .p-button.p-button-icon-only{padding:2px 12px}::ng-deep query-builder-rule .tn__rule-field .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token,::ng-deep query-builder-rule .tn__rule-field .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-token,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-token{font-size:.9rem;margin:1px 2px;padding:0 .5rem}::ng-deep query-builder-rule .tn__rule-operator{flex:0 0 145px;height:26px;width:145px}::ng-deep query-builder-rule .tn__rule-operator .p-dropdown{height:100%;width:100%}::ng-deep query-builder-rule .tn__rule-operator .p-dropdown .p-inputtext{padding:2px 12px}::ng-deep query-builder-rule .tn__rule-action{flex:0 0 auto;white-space:nowrap}::ng-deep query-builder-rule .tn__rule-action button{height:26px!important;margin-left:2px!important;margin-right:6px!important;width:26px!important}::ng-deep query-builder-rule .datetime-value-container{align-items:center;display:flex}::ng-deep query-builder-rule .datetime-value-container p-checkbox{flex:0 0 auto;margin-right:5px}@media (max-width:640px){::ng-deep query-builder-rule .tn__rule-body{flex-direction:column;padding-right:5px}::ng-deep query-builder-rule .tn__rule-body>*{margin-bottom:5px;margin-right:0}::ng-deep query-builder-rule .tn__rule-field,::ng-deep query-builder-rule .tn__rule-operator,::ng-deep query-builder-rule .tn__rule-value{flex:1 1 auto;width:100%}}"]
154
+ styles: ["::ng-deep query-builder-rule .tn__rule-body{align-items:center;display:flex;width:calc(100% - 34px)}::ng-deep query-builder-rule .tn__rule-body>*{margin-right:5px}::ng-deep query-builder-rule .tn__rule-body>:last-child{margin-right:0}::ng-deep query-builder-rule .tn__rule-field{height:26px}::ng-deep query-builder-rule .tn__rule-value{min-height:26px}::ng-deep query-builder-rule .tn__rule-field,::ng-deep query-builder-rule .tn__rule-value{flex:0 0 calc(50% - 80px);width:calc(50% - 80px)}::ng-deep query-builder-rule .tn__rule-field .p-autocomplete,::ng-deep query-builder-rule .tn__rule-field .p-calendar,::ng-deep query-builder-rule .tn__rule-field.p-dropdown,::ng-deep query-builder-rule .tn__rule-field .p-dropdown,::ng-deep query-builder-rule .tn__rule-field .p-inputtext,::ng-deep query-builder-rule .tn__rule-field .p-multiselect,::ng-deep query-builder-rule .tn__rule-field tn-mask .p-inputgroup,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete,::ng-deep query-builder-rule .tn__rule-value .p-calendar,::ng-deep query-builder-rule .tn__rule-value.p-dropdown,::ng-deep query-builder-rule .tn__rule-value .p-dropdown,::ng-deep query-builder-rule .tn__rule-value .p-inputtext,::ng-deep query-builder-rule .tn__rule-value .p-multiselect,::ng-deep query-builder-rule .tn__rule-value tn-mask .p-inputgroup{height:100%;width:100%}::ng-deep query-builder-rule .tn__rule-field .custom-autocomplete-button,::ng-deep query-builder-rule .tn__rule-field .p-inputtext,::ng-deep query-builder-rule .tn__rule-value .custom-autocomplete-button,::ng-deep query-builder-rule .tn__rule-value .p-inputtext{min-height:26px;padding:2px 12px}::ng-deep query-builder-rule .tn__rule-field .tn-dropdown,::ng-deep query-builder-rule .tn__rule-field .tn-dropdown.p-multiselect.p-component,::ng-deep query-builder-rule .tn__rule-value .tn-dropdown,::ng-deep query-builder-rule .tn__rule-value .tn-dropdown.p-multiselect.p-component{min-height:26px}::ng-deep query-builder-rule .tn__rule-field .tn-autocomplete .p-autocomplete-dropdown,::ng-deep query-builder-rule .tn__rule-value .tn-autocomplete .p-autocomplete-dropdown{height:26px;width:26px}::ng-deep query-builder-rule .tn__rule-field .p-calendar .p-button.p-button-icon-only,::ng-deep query-builder-rule .tn__rule-value .p-calendar .p-button.p-button-icon-only{padding:2px 12px}::ng-deep query-builder-rule .tn__rule-field .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token,::ng-deep query-builder-rule .tn__rule-field .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-token,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-token{font-size:.9rem;margin:1px 2px;padding:0 .5rem}::ng-deep query-builder-rule .tn__rule-operator{flex:0 0 145px;height:26px;width:145px}::ng-deep query-builder-rule .tn__rule-operator .p-dropdown{height:100%;width:100%}::ng-deep query-builder-rule .tn__rule-operator .p-dropdown .p-inputtext{padding:2px 12px}::ng-deep query-builder-rule .tn__rule-action{flex:0 0 auto;white-space:nowrap}::ng-deep query-builder-rule .tn__rule-action button{height:26px!important;margin-left:2px!important;margin-right:6px!important;width:26px!important}::ng-deep query-builder-rule .datetime-value-container{align-items:center;display:flex}::ng-deep query-builder-rule .datetime-value-container p-checkbox{flex:0 0 auto;margin-right:5px}@media (max-width:640px){::ng-deep query-builder-rule .tn__rule-body{flex-direction:column;padding-right:5px}::ng-deep query-builder-rule .tn__rule-body>*{margin-bottom:5px;margin-right:0}::ng-deep query-builder-rule .tn__rule-field,::ng-deep query-builder-rule .tn__rule-operator,::ng-deep query-builder-rule .tn__rule-value{flex:1 1 auto;width:100%}}"]
155
155
  },] }
156
156
  ];
157
157
  QueryBuilderRuleComponent.ctorParameters = () => [];
@@ -175,10 +175,10 @@ export class SplashComponentV1Component extends ComponentBase {
175
175
  }
176
176
  SplashComponentV1Component.decorators = [
177
177
  { type: Component, args: [{
178
- selector: 'app-splash-component-v1',
179
- template: "<div *ngIf=\"!loaded\" class=\"loader\">\r\n</div>\r\n<div class=\"modules\" *ngIf=\"loaded\">\r\n <div class=\"welcome-user\">\r\n <div class=\"profile-image\">\r\n <img class=\"custom-avatar\" src-fallback=\"{{defaultAvatar}}\" src=\"{{getCurrentUserAvatar()}}\" />\r\n </div>\r\n\r\n <div class=\"wrp-login\">\r\n <h2>Xin ch\u00E0o!</h2>\r\n <b>{{currentUser.fullName}}</b>\r\n <!-- <div *ngIf=\"currentUser\" class=\"login\">\r\n <a (click)=\"goToPersonal()\"><i class=\"fas fa-user\"></i>Trang c\u00E1 nh\u00E2n</a>\r\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng xu\u1EA5t</a>\r\n </div>\r\n <div *ngIf=\"!currentUser\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"login()\"><i\r\n class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng nh\u1EADp</a></div> -->\r\n <div *ngIf=\"!underconstruction\" class=\"login\">\r\n <a (click)=\"goToPersonal()\"><i class=\"far fa-folder-open\"></i>Trang c\u00E1 nh\u00E2n</a>\r\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\r\n xu\u1EA5t</a>\r\n </div>\r\n <div *ngIf=\"underconstruction\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"logout()\"><i\r\n class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng xu\u1EA5t</a></div>\r\n </div>\r\n\r\n <div class=\"clock-wrapper\">\r\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\r\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\r\n </div>\r\n </div>\r\n\r\n <div class=\"module-icons\">\r\n <div class=\"img-title\">\r\n <img src=\"{{environment.appMetadata.main.logo}}\" alt=\"{{environment.appMetadata.main.owner}}\">\r\n <div class=\"title\">\r\n <h2>{{environment.appMetadata.main.title}}</h2>\r\n <h1>{{environment.appMetadata.main.owner}}</h1>\r\n </div>\r\n </div>\r\n\r\n <div class=\"div1111-wrapper\">\r\n <tn-custom-scrollbar *ngIf=\"!isOnMobile\">\r\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\r\n </tn-custom-scrollbar>\r\n\r\n <ng-container *ngIf=\"isOnMobile\">\r\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"underconstruction\" class=\"underconstruction\">\r\n <div *ngIf=\"environment.constructionText\">{{environment.constructionText}}</div>\r\n <div *ngIf=\"!environment.constructionText\">H\u1EC6 TH\u1ED0NG \u0110ANG B\u1EA2O TR\u00CC</div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #appSwitcher>\r\n <div class=\"div1111\">\r\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\r\n <!-- Layout welcome c\u1EE7a DHGT -->\r\n <span>\r\n <a class=\"bg-switcher\" (click)=\"switchApp(item)\">\r\n <i class=\"{{item.icon}} app-switcher-item-icon\"></i>\r\n <span>{{ item.title | translate}}</span>\r\n </a>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</ng-template>",
178
+ selector: 'splash-component-v1',
179
+ template: "<div *ngIf=\"!loaded\" class=\"wrp-loader\">\r\n <div class=\"loader\"></div>\r\n</div>\r\n<div *ngIf=\"loaded\" class=\"modules-v1\">\r\n <div class=\"welcome-user\">\r\n <div class=\"profile-image\">\r\n <img class=\"custom-avatar\" [src-fallback]=\"defaultAvatar\" [src]=\"getCurrentUserAvatar()\" />\r\n </div>\r\n\r\n <div class=\"wrp-login\">\r\n <h2>Xin ch\u00E0o!</h2>\r\n <b>{{currentUser.fullName}}</b>\r\n <div *ngIf=\"currentUser\" class=\"login\">\r\n <a (click)=\"goToPersonal()\"><i class=\"far fa-folder-open\"></i>Trang c\u00E1 nh\u00E2n</a>\r\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\r\n xu\u1EA5t</a>\r\n </div>\r\n <div *ngIf=\"!currentUser\" class=\"login\"><a style=\"background: #fabc01;\" (click)=\"login()\"><i\r\n class=\"fas fa-sign-out-alt\"></i>\u0110\u0103ng nh\u1EADp</a></div>\r\n </div>\r\n\r\n <div class=\"clock-wrapper\">\r\n <h1 class=\"clock\">{{currentDate | date:'HH:mm:ss'}}</h1>\r\n <h4 class=\"data-time\">{{getNgayTrongTuan()}}, ng\u00E0y {{currentDate | date:'dd/MM/yyyy'}}</h4>\r\n </div>\r\n </div>\r\n\r\n <div class=\"module-icons\">\r\n <div class=\"img-title\">\r\n <img class=\"tn-custom-logo\" [src]=\"environment.appMetadata.main.logo\"\r\n [alt]=\"environment.appMetadata.main.owner\">\r\n <div class=\"title\">\r\n <h2>{{environment.appMetadata.main.title}}</h2>\r\n <h1>{{environment.appMetadata.main.owner}}</h1>\r\n </div>\r\n </div>\r\n\r\n <div class=\"div1111-wrapper\">\r\n <tn-custom-scrollbar *ngIf=\"!isOnMobile\">\r\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\r\n </tn-custom-scrollbar>\r\n\r\n <ng-container *ngIf=\"isOnMobile\">\r\n <ng-container *ngTemplateOutlet=\"appSwitcher\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #appSwitcher>\r\n <div class=\"div1111\">\r\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\r\n <span>\r\n <a class=\"bg-switcher\" (click)=\"switchApp(item)\">\r\n <i class=\"{{item.icon}} app-switcher-item-icon\"></i>\r\n <span>{{ item.title | translate}}</span>\r\n </a>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</ng-template>",
180
180
  providers: [ComponentContextService],
181
- styles: ["body{background-color:#fff}.modules{align-items:center;background-image:url(/assets/images/background-splash.png);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:100}.modules div>span{border-radius:5px;box-shadow:1px 2px 9px 1px #dadada;display:inline-block;height:120px;margin:10px;min-width:100px;white-space:normal;width:120px}.modules div>span>a{border-radius:5px;cursor:pointer;font-weight:700;height:100%;position:relative}.modules div>span>a,.modules div>span>a>span{color:#fff;display:inline-block;text-align:center;text-decoration:unset;width:100%}.modules div>span>a>span{bottom:10px;left:0;position:absolute}.modules div>span.implementing{background-color:#fff;box-shadow:none}.modules div>span>a>i{font-size:3.5em;left:0;position:absolute;top:20px;width:100%}@-webkit-keyframes in{0%{-webkit-transform:rotateY(0deg)}to{-webkit-transform:rotateY(1turn)}}@-webkit-keyframes out{0%{-webkit-transform:rotateY(1turn)}to{-webkit-transform:rotateY(0deg)}}::ng-deep .flexcolumn{max-width:calc(100vh - 20px)}.div1111-wrapper{height:420px;margin:0 auto;max-width:700px;overflow:auto}.div1111-wrapper .div1111{display:flex;flex-wrap:wrap;white-space:nowrap;width:100%}.div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.div1111-wrapper .div1111 .bg-switcher:hover{background:#facb01;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.module-icons{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(249,244,244,.9215686274509803);color:#666;display:flex;flex-direction:column;justify-content:space-evenly;text-align:center;width:65%}.module-icons h2{color:#271756;font-size:25px;margin-bottom:15px;margin-top:15px}.module-icons h1{color:#2f70ac;font-size:35px;margin-bottom:0;margin-top:0}.welcome-user{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(47,112,172,.9215686274509803);display:flex;flex-direction:column;text-align:center;width:35%}.welcome-user .wrp-login{color:#fff;margin:20px auto auto}.welcome-user .wrp-login h2{font-size:20px;font-weight:500;margin-bottom:5px;margin-top:0}.welcome-user .wrp-login b{display:block;font-size:25px;text-transform:uppercase}.welcome-user .wrp-login .login{-ms-grid-columns:(minmax(100px,1fr))[2];display:-ms-grid;display:grid;grid-gap:10px;grid-template-columns:repeat(2,minmax(100px,1fr));margin-top:30px}.welcome-user .wrp-login .login a{background:#fff;border-radius:5px;color:#5d5d5d;cursor:pointer;display:inline-block;padding:6px}.welcome-user .wrp-login .login a i{margin-right:10px}.welcome-user .profile-image{margin:auto auto 0}.welcome-user .profile-image img{-o-object-fit:contain;background:#fff;border-radius:50%;box-shadow:1px 1px 11px 6px #2a659b;height:200px;object-fit:contain;width:200px}.welcome-user .clock-wrapper{color:#fff;margin-bottom:auto;margin-top:auto;text-align:center}.welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.welcome-user .clock-wrapper h1{font-size:40px;margin-bottom:0}.loader{-webkit-animation:load4 1.3s linear infinite;animation:load4 1.3s linear infinite;border-radius:50%;color:#607d8b;font-size:8px;height:1em;left:50%;position:absolute;text-indent:-9999em;top:50%;transform:translate(-50%,-50%);width:1em}@-webkit-keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}.underconstruction{color:red;font-size:4em;font-weight:700;text-transform:uppercase}@media (max-width:1368px){.clock{font-size:1.5em;margin:0 20px}.data-time{font-size:1em;margin:10px 0 20px}}@media (max-width:768px){.modules{flex-direction:column}.welcome-user{align-items:center;flex-direction:row;height:270px;padding-bottom:87px;width:100%}.welcome-user .profile-image{margin-bottom:auto}.welcome-user .profile-image img{height:150px;width:150px}.welcome-user .wrp-login{margin-top:auto}.welcome-user .wrp-login .login{margin-top:20px}.welcome-user .clock-wrapper{padding-right:15px}.module-icons{height:calc(100% - 270px);width:100%}.module-icons .img-title{background-image:url(/assets/images/logo.png);background-position:50%;background-repeat:no-repeat;margin-top:-200px;z-index:9}.module-icons .img-title img{display:none}.module-icons .img-title .title{background:hsla(0,0%,100%,.9019607843137255);box-shadow:1px 4px 9px 2px #67a0d4;height:100%;margin-left:20px;margin-right:20px;padding:20px 10px}.module-icons .img-title .title h2{font-size:30px}.module-icons .img-title .title h1{font-size:34px}}@media (max-width:640px){.welcome-user{display:block;padding-top:20px}.welcome-user .wrp-login{float:right;padding:0 20px 0 0;width:50%}.welcome-user .wrp-login h2{font-size:14px;margin-bottom:3px}.welcome-user .wrp-login b{font-size:14px}.welcome-user .wrp-login .login{display:flex;flex-direction:column;margin-top:10px;padding:0 15px;text-align:left}.welcome-user .wrp-login .login a{font-size:14px}.welcome-user .profile-image{float:left;width:50%}.welcome-user .profile-image img{display:block;height:130px;margin-left:35px;width:130px}.welcome-user .clock-wrapper{clear:both;padding-right:0;padding-top:10px}.welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.welcome-user .clock-wrapper h1{font-size:1.3em}.module-icons .img-title{background-size:80px 80px;margin-top:-8.1em}.module-icons .img-title .title h1{font-size:16px}.module-icons .img-title .title h2{font-size:16px;margin-top:0}.module-icons .div1111-wrapper{height:360px;margin-top:0;max-width:360px}.module-icons .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.module-icons div>span{height:100px;width:100px}.module-icons div>span>a>i{font-size:2.5em;top:10px}}@media (max-width:375px){.module-icons{height:calc(100% - 250px)}.module-icons .img-title{background-size:60px 60px}.module-icons .img-title .title{padding:10px}.module-icons .img-title .title h2{margin-bottom:10px}.module-icons .img-title .title h1,.module-icons .img-title .title h2{font-size:14px}.welcome-user{height:250px}}@media (max-width:360px){.module-icons .img-title .title{margin-left:10px;margin-right:10px}.module-icons .img-title{margin-top:-2em}}@media (max-height:810px){.module-icons .img-title{margin-top:-6.7em}}@media (max-height:745px){.module-icons .img-title{margin-top:-4.7em}}@media (max-height:675px){.module-icons .img-title{margin-top:-2.6em}}"]
181
+ styles: ["body{background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.wrp-loader{display:inline-block;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:101}.wrp-loader .loader{-webkit-animation:load4 1.3s linear infinite;animation:load4 1.3s linear infinite;border:2px solid #bcdbf5;border-radius:50%;border-top-color:#3192e1;color:#607d8b;display:block;font-size:10px;height:10px;width:10px}.modules-v1{align-items:center;background-image:url(/assets/images/background-splash.png);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:100}.modules-v1 div>span{border-radius:5px;box-shadow:1px 2px 9px 1px #dadada;display:inline-block;height:120px;margin:10px;min-width:100px;white-space:normal;width:120px}.modules-v1 div>span>a{border-radius:5px;cursor:pointer;display:inline-block;display:flex;flex-direction:column;font-weight:700;height:100%;justify-content:space-evenly;position:relative}.modules-v1 div>span>a,.modules-v1 div>span>a>span{color:#fff;text-align:center;text-decoration:unset;width:100%}.modules-v1 div>span>a>span{display:inline-block;line-height:1.2}.modules-v1 div>span>a>i{font-size:3.5em;width:100%}.modules-v1 .div1111-wrapper{height:420px;margin:0 auto;max-width:700px;overflow:auto}.modules-v1 .div1111-wrapper .div1111{display:flex;flex-wrap:wrap;white-space:nowrap;width:100%}.modules-v1 .div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover{background:#fabc01;box-shadow:1px 2px 9px 1px rgba(39,23,86,.5215686274509804)}.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.modules-v1 .div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.modules-v1 .module-icons{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(249,244,244,.9215686274509803);color:#666;display:flex;flex-direction:column;justify-content:space-evenly;text-align:center;width:65%}.modules-v1 .module-icons h2{color:#271756;font-size:25px;margin-bottom:15px;margin-top:15px}.modules-v1 .module-icons h1{color:#2f70ac;font-size:35px;margin-bottom:0;margin-top:0}.modules-v1 .welcome-user{-ms-grid-row-align:stretch;align-self:stretch;background-color:rgba(47,112,172,.9215686274509803);display:flex;flex-direction:column;text-align:center;width:35%}.modules-v1 .welcome-user .wrp-login{align-items:center;color:#fff;display:flex;flex-direction:column;margin:20px auto auto}.modules-v1 .welcome-user .wrp-login h2{font-size:20px;font-weight:500;margin-bottom:5px;margin-top:0}.modules-v1 .welcome-user .wrp-login b{display:block;font-size:25px;text-transform:uppercase}.modules-v1 .welcome-user .wrp-login .login{-ms-grid-columns:(150px)[2];display:-ms-grid;display:grid;grid-gap:10px;grid-template-columns:repeat(2,150px);margin-top:30px}.modules-v1 .welcome-user .wrp-login .login a{background:#fff;border-radius:5px;color:#5d5d5d;cursor:pointer;display:inline-block;padding:6px}.modules-v1 .welcome-user .wrp-login .login a i{margin-right:10px}.modules-v1 .welcome-user .profile-image{margin:auto auto 0}.modules-v1 .welcome-user .profile-image img{-o-object-fit:contain;background:#fff;border-radius:50%;box-shadow:1px 1px 11px 6px #2a659b;height:200px;object-fit:contain;width:200px}.modules-v1 .welcome-user .clock-wrapper{color:#fff;margin-bottom:auto;margin-top:auto;text-align:center}.modules-v1 .welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.modules-v1 .welcome-user .clock-wrapper h1{font-size:40px;margin-bottom:0}.modules-v1 .underconstruction{color:red;font-size:4em;font-weight:700;text-transform:uppercase}@media (max-width:1368px){.modules-v1 .clock{font-size:1.5em;margin:0 20px}.modules-v1 .data-time{font-size:1em;margin:10px 0 20px}}@media (max-width:1100px){.modules-v1 .div1111-wrapper .div1111{-ms-grid-columns:(minmax(120px,1fr))[4];display:-ms-grid;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (max-width:991px){.modules-v1 .welcome-user .wrp-login .login{-ms-grid-columns:1fr;grid-template-columns:1fr}}@media (max-width:768px){.modules-v1{flex-direction:column}.modules-v1 .welcome-user{align-items:center;flex-direction:row;height:270px;padding-bottom:87px;width:100%}.modules-v1 .welcome-user .profile-image{margin-bottom:auto}.modules-v1 .welcome-user .profile-image img{height:150px;width:150px}.modules-v1 .welcome-user .wrp-login{margin-top:auto}.modules-v1 .welcome-user .wrp-login .login{margin-top:20px}.modules-v1 .welcome-user .clock-wrapper{padding-right:15px}.modules-v1 .module-icons{height:calc(100% - 270px);width:100%}.modules-v1 .module-icons .img-title{background-image:url(/assets/images/logo.png);background-position:50%;background-repeat:no-repeat;z-index:9}.modules-v1 .module-icons .img-title img{display:none}.modules-v1 .module-icons .img-title .title{background:hsla(0,0%,100%,.9019607843137255);box-shadow:1px 4px 9px 2px #67a0d4;left:20px;padding:20px 10px;position:absolute;right:20px;top:200px;width:calc(100% - 40px)}.modules-v1 .module-icons .img-title .title h2{font-size:30px}.modules-v1 .module-icons .img-title .title h1{font-size:34px}}@media (max-width:640px){.modules-v1 .welcome-user{display:block;padding-top:20px}.modules-v1 .welcome-user .wrp-login{float:right;padding:0 20px 0 0;width:50%}.modules-v1 .welcome-user .wrp-login h2{font-size:14px;margin-bottom:3px}.modules-v1 .welcome-user .wrp-login b{font-size:14px}.modules-v1 .welcome-user .wrp-login .login{display:flex;flex-direction:column;margin-top:10px;padding:0 15px;text-align:left}.modules-v1 .welcome-user .wrp-login .login a{font-size:14px}.modules-v1 .welcome-user .profile-image{float:left;width:50%}.modules-v1 .welcome-user .profile-image img{display:block;height:130px;margin-left:35px;width:130px}.modules-v1 .welcome-user .clock-wrapper{clear:both;padding-right:0;padding-top:10px}.modules-v1 .welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.modules-v1 .welcome-user .clock-wrapper h1{font-size:1.3em}.modules-v1 .module-icons .img-title{background-size:80px 80px}.modules-v1 .module-icons .img-title .title{top:230px}.modules-v1 .module-icons .img-title .title h1{font-size:16px}.modules-v1 .module-icons .img-title .title h2{font-size:16px;margin-top:0}.modules-v1 .module-icons .div1111-wrapper{height:360px;margin-top:0}.modules-v1 .module-icons .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.modules-v1 .module-icons div>span{height:100px;width:100px}.modules-v1 .module-icons div>span>a>i{font-size:2.5em;top:10px}}@media (max-width:425px){.modules-v1 .module-icons .img-title .title{top:225px}.modules-v1 .module-icons .div1111-wrapper .div1111{-ms-grid-columns:(minmax(120px,1fr))[3];display:-ms-grid;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width:375px){.modules-v1 .module-icons{height:calc(100% - 250px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{padding:10px;top:220px}.modules-v1 .module-icons .img-title .title h2{margin-bottom:10px}.modules-v1 .module-icons .img-title .title h1,.modules-v1 .module-icons .img-title .title h2{font-size:14px}.modules-v1 .welcome-user{height:250px}}@media (max-width:360px){.modules-v1 .module-icons{height:calc(100% - 240px)}.modules-v1 .module-icons .img-title{background-size:60px 60px}.modules-v1 .module-icons .img-title .title{left:10px;right:10px;top:205px;width:calc(100% - 20px)}.modules-v1 .welcome-user{height:240px}.modules-v1 .welcome-user .clock-wrapper{padding-top:0}}@-webkit-keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}"]
182
182
  },] }
183
183
  ];
184
184
  SplashComponentV1Component.ctorParameters = () => [
@@ -191,4 +191,4 @@ SplashComponentV1Component.ctorParameters = () => [
191
191
  { type: AuthenService },
192
192
  { type: GlobalService }
193
193
  ];
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zcGxhc2gtY29tcG9uZW50L3NwbGFzaC1jb21wb25lbnQtdjEvc3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVE3RCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsYUFBYTtJQWEzRCxZQUNFLFFBQWtCLEVBQ1Ysb0JBQXlDLEVBQ3pDLGtCQUFxQyxFQUNyQyxzQkFBNkMsRUFDN0MsWUFBeUIsRUFDekIsT0FBZSxFQUNmLGNBQTZCLEVBQzdCLGNBQTZCO1FBRXJDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQVJSLHlCQUFvQixHQUFw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QyxNQUFNLEVBQUU7WUFDakYsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLGdCQUFnQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxXQUFXLENBQUM7U0FDM0Y7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFHRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDekMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs7WUF4TEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLHlwR0FBbUQ7Z0JBRW5ELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUNyQzs7O1lBakJtQixRQUFRO1lBUW5CLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFQakIscUJBQXFCO1lBUXJCLFdBQVc7WUFUWCxNQUFNO1lBS04sYUFBYTtZQUNiLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XHJcbmltcG9ydCB7IENvbUN0eENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRleHQuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBBdXRoZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ2xvYmFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2R1bGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zcGxhc2gtY29tcG9uZW50LXYxJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0NvbXBvbmVudENvbnRleHRTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BsYXNoQ29tcG9uZW50VjFDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRlZmF1bHRBdmF0YXIgPSAnJztcclxuICBlbnZpcm9ubWVudDogYW55O1xyXG4gIGFwcFN3aXRjaGVySXRlbXMgPSBbXTtcclxuICBjdXJyZW50VXNlcjogYW55O1xyXG4gIGxvYWRlZCA9IGZhbHNlO1xyXG4gIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICBzaG93RGVmYXVsdFNldHRpbmcgPSBmYWxzZTtcclxuICBmaWxlQXBpID0gJyc7XHJcbiAgaXNPbk1vYmlsZSA9IGZhbHNlO1xyXG5cclxuICB1bmRlcmNvbnN0cnVjdGlvbjogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX21vZHVsZUNvbmZpZ1NlcnZpY2U6IE1vZHVsZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kZXZpY2VEZXRlY3RvclNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfYXV0aGVuU2VydmljZTogQXV0aGVuU2VydmljZSxcclxuICAgIHByaXZhdGUgX2dsb2JhbFNlcnZpY2U6IEdsb2JhbFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIHRoaXMucm9vdENvbnRleHQuZmlyZUV2ZW50KCdNQUlOX0NPTlRFTlRfT05MWScsIHRydWUpO1xyXG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQ7XHJcbiAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4uZGVmYXVsdE1hbGVBdmF0YXI7XHJcbiAgICB0aGlzLmZpbGVBcGkgPSB0aGlzLmVudmlyb25tZW50LmFwaURvbWFpbi5maWxlRW5kcG9pbnQ7XHJcbiAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgfSwgMTAwMCk7XHJcblxyXG4gICAgaWYgKHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEgJiYgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YSAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnNob3dEZWZhdWx0U2V0dGluZyAhPSBudWxsICYmIHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuc2hvd0RlZmF1bHRTZXR0aW5nICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnNob3dEZWZhdWx0U2V0dGluZyA9IHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuc2hvd0RlZmF1bHRTZXR0aW5nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5zaG93RGVmYXVsdFNldHRpbmcgIT0gbnVsbCAmJiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4uc2hvd0RlZmF1bHRTZXR0aW5nICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLnNob3dEZWZhdWx0U2V0dGluZztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dEZWZhdWx0U2V0dGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29uZmlnIGZvciBhdXRoZW50aWNhdGlvblxyXG4gICAgdGhpcy5fZ2xvYmFsU2VydmljZS5zZXRIZWFkZXJTdGF0ZShmYWxzZSk7XHJcbiAgICB0aGlzLl9nbG9iYWxTZXJ2aWNlLnNldE1lbnVTdGF0ZShmYWxzZSk7XHJcblxyXG4gICAgdGhpcy51bmRlcmNvbnN0cnVjdGlvbiA9IHRoaXMuZW52aXJvbm1lbnQudW5kZXJjb25zdHJ1Y3Rpb247XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLl9kZXZpY2VEZXRlY3RvclNlcnZpY2UuaXNNb2JpbGUoKSkge1xyXG4gICAgICB0aGlzLmlzT25Nb2JpbGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIpIHtcclxuICAgICAgaWYgKHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlci5nZW5kZXIgPT0gMCkge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEF2YXRhciA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5kZWZhdWx0RmVtYWxlQXZhdGFyO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEF2YXRhciA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5kZWZhdWx0TWFsZUF2YXRhcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm9vdENvbnRleHQucmVwbGF5U3Vic2NyaWJlKENvbUN0eENvbnN0YW50cy5ST09ULlVTRVJfTE9BREVELCBycyA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudFVzZXIgPSB0aGlzLl91c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpO1xyXG4gICAgICB0aGlzLmxvYWRBcHBNZXRhZGF0YSgpO1xyXG4gICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5yb290TW9kZWwuYWxsb3dBbm9ueW1vdXMpIHtcclxuICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmxvYWRBcHBNZXRhZGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEFwcE1ldGFkYXRhKCkge1xyXG4gICAgY29uc3QgcHJtc0FwcFN3aWNoZXJJdGVtID0gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCBhcnIgPSBbXTtcclxuICAgICAgZm9yIChjb25zdCBpbmQgaW4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5hcHBTd2l0Y2hlcikge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmFwcFN3aXRjaGVyW2luZF07XHJcbiAgICAgICAgY29uc3QgY2xpZW50SWQgPSB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuY2xpZW50SWQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnJvb3RNb2RlbC5hbGxvd0Fub255bW91cyAmJiBlbGVtZW50LmFsbG93QW5vbnltb3VzKSB7XHJcbiAgICAgICAgICBhcnIucHVzaChlbGVtZW50KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFVzZXIpIHtcclxuICAgICAgICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmlzQXV0aG9yaXplZChlbGVtZW50LmNvZGUsIGAke2VsZW1lbnQuY29kZX0uTU9EVUxFLiR7ZWxlbWVudC5jb2RlfWAudG9VcHBlckNhc2UoKSwgdHJ1ZSk7XHJcbiAgICAgICAgICBpZiAoaXNBdXRob3JpemVkKSB7XHJcbiAgICAgICAgICAgIGFyci5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmVzb2x2ZShhcnIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHJtc0FwcFN3aWNoZXJJdGVtLnRoZW4ocnMgPT4ge1xyXG4gICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMubGVuZ3RoID0gMDtcclxuICAgICAgaWYgKHJzKSB7XHJcbiAgICAgICAgKDxhbnk+cnMpLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC52aXNpYmxlKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50VXNlcikgeyAvLyBhbGxvdyBhbm9ueW1vdXNcclxuICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50VXNlci5tYU5ndW9pSG9jICYmIHRoaXMuY3VycmVudFVzZXIuaXNzdXBlcnVzZXIudG9Mb3dlckNhc2UoKSAhPSAndHJ1ZScpIHtcclxuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNvZGUudG9Mb3dlckNhc2UoKSA9PSAnc3YnIHx8IGVsZW1lbnQuY29kZS50b0xvd2VyQ2FzZSgpID09ICd1c2VyJykge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBTd2l0Y2hlckl0ZW1zLnB1c2goZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoQXBwKGl0ZW0pIHtcclxuICAgIHRoaXMubG9hZGVkID0gZmFsc2U7XHJcbiAgICBpZiAoaXRlbS50YXJnZXQgPT0gJ19ibGFuaycpIHtcclxuICAgICAgaWYgKCFpdGVtLmRlZmF1bHRSZWRpcmVjdCkge1xyXG4gICAgICAgIGl0ZW0uZGVmYXVsdFJlZGlyZWN0ID0gJyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIE5hbU5IIHRpcCB0cmljayBjaG8gbW90IHNvIG1heSBiaSBsb2kgaXRlbS51cmwgPSAnbWFpbicgLT4gcmVkaXJlY3Qgc2FpIGtoaSBjbGljayB2YW8gY2FjIHBoYW4gaGVcclxuICAgICAgaWYgKGl0ZW0udXJsID09IGl0ZW0uZGVmYXVsdFJlZGlyZWN0KSB7XHJcbiAgICAgICAgaXRlbS51cmwgPSAnLycgKyBpdGVtLmNvZGUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IGxpbmsgPSBgJHtpdGVtLnVybH0vJHtpdGVtLmRlZmF1bHRSZWRpcmVjdH1gO1xyXG4gICAgICBpZiAoIWxpbmsuc3RhcnRzV2l0aCgnLycpICYmICFsaW5rLnN0YXJ0c1dpdGgoJ2h0dHAnKSkgeyBsaW5rID0gJy8nICsgbGluazsgfVxyXG4gICAgICB0b3AubG9jYXRpb24uaHJlZiA9IGxpbms7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoaXRlbS5kZWZhdWx0UmVkaXJlY3QgIT0gJycgJiYgIXRoaXMucm9vdENvbnRleHQuZGF0YS5mbGFncy5tZW51VG9wT3Blbm5pbmcpIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybChpdGVtLmRlZmF1bHRSZWRpcmVjdCk7XHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YSA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuYXBwU3dpdGNoZXIuZmluZCh4ID0+IHguY29kZSA9PSBpdGVtLmNvZGUpO1xyXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhICYmIHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuc2hvd0RlZmF1bHRTZXR0aW5nICE9IHVuZGVmaW5lZCAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnNob3dEZWZhdWx0U2V0dGluZyAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dEZWZhdWx0U2V0dGluZyA9IHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuc2hvd0RlZmF1bHRTZXR0aW5nICYmIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5fYXV0aGVuU2VydmljZS5sb2dvdXQoKTtcclxuICB9XHJcblxyXG4gIGdvVG9QZXJzb25hbCgpIHtcclxuICAgIGNvbnN0IHVzZXJNZW51ID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5hcHBTd2l0Y2hlci5maW5kKHggPT4geC5jb2RlID09ICdVU0VSJyk7XHJcbiAgICB0aGlzLnN3aXRjaEFwcCh1c2VyTWVudSk7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW50VXNlckF2YXRhcigpIHtcclxuICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIgJiYgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRVc2VyLmF2YXRhcikge1xyXG4gICAgICByZXR1cm4gYCR7dGhpcy5maWxlQXBpfS9maWxlL3B1YmxpYy8ke3RoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlci5hdmF0YXJ9L0Rvd25sb2FkYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRBdmF0YXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkYXlzSW5XZWVrID0gWydDaOG7pyBuaOG6rXQnLCAnVGjhu6kgMicsICdUaOG7qSAzJywgJ1Ro4bupIDQnLCAnVGjhu6kgNScsICdUaOG7qSA2JywgJ1Ro4bupIDcnXTtcclxuICBnZXROZ2F5VHJvbmdUdWFuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF5c0luV2Vla1t0aGlzLmN1cnJlbnREYXRlLmdldERheSgpXTtcclxuICB9XHJcblxyXG4gIHNob3dQcm9maWxlUGFnZSgpIHtcclxuICAgIGlmICh0aGlzLl91c2VyU2VydmljZS5pc1NpbmhWaWVuQWNjb3VudCgpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB0aGlzLl9nbG9iYWxTZXJ2aWNlLnNldEhlYWRlclN0YXRlKHRydWUpO1xyXG4gICAgdGhpcy5fZ2xvYmFsU2VydmljZS5zZXRNZW51U3RhdGUodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBsb2dpbigpIHtcclxuICAgIHRoaXMucm9vdENvbnRleHQuZmlyZUV2ZW50KCdMT0dJTicpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zcGxhc2gtY29tcG9uZW50L3NwbGFzaC1jb21wb25lbnQtdjEvc3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVE3RCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsYUFBYTtJQWF6RCxZQUNJLFFBQWtCLEVBQ1Ysb0JBQXlDLEVBQ3pDLGtCQUFxQyxFQUNyQyxzQkFBNkMsRUFDN0MsWUFBeUIsRUFDekIsT0FBZSxFQUNmLGNBQTZCLEVBQzdCLGNBQTZCO1FBRXJDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQVJSLHlCQUFvQixHQUFw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QUMsTUFBTSxFQUFFO1lBQy9FLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sV0FBVyxDQUFDO1NBQzdGO2FBQ0k7WUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBR0QsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7WUFsTUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLDhwRkFBbUQ7Z0JBRW5ELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUN2Qzs7O1lBakJtQixRQUFRO1lBUW5CLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFQakIscUJBQXFCO1lBUXJCLFdBQVc7WUFUWCxNQUFNO1lBS04sYUFBYTtZQUNiLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XHJcbmltcG9ydCB7IENvbUN0eENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRleHQuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBBdXRoZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ2xvYmFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2R1bGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc3BsYXNoLWNvbXBvbmVudC12MScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsYXNoLWNvbXBvbmVudC12MS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zcGxhc2gtY29tcG9uZW50LXYxLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtDb21wb25lbnRDb250ZXh0U2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGFzaENvbXBvbmVudFYxQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIGRlZmF1bHRBdmF0YXIgPSAnJztcclxuICAgIGVudmlyb25tZW50OiBhbnk7XHJcbiAgICBhcHBTd2l0Y2hlckl0ZW1zID0gW107XHJcbiAgICBjdXJyZW50VXNlcjogYW55O1xyXG4gICAgbG9hZGVkID0gZmFsc2U7XHJcbiAgICBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBzaG93RGVmYXVsdFNldHRpbmcgPSBmYWxzZTtcclxuICAgIGZpbGVBcGkgPSAnJztcclxuICAgIGlzT25Nb2JpbGUgPSBmYWxzZTtcclxuXHJcbiAgICB1bmRlcmNvbnN0cnVjdGlvbjogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIF9tb2R1bGVDb25maWdTZXJ2aWNlOiBNb2R1bGVDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3Blcm1pc3Npb25TZXJ2aWNlOiBQZXJtaXNzaW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9kZXZpY2VEZXRlY3RvclNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXV0aGVuU2VydmljZTogQXV0aGVuU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9nbG9iYWxTZXJ2aWNlOiBHbG9iYWxTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5maXJlRXZlbnQoJ01BSU5fQ09OVEVOVF9PTkxZJywgdHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQ7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLmRlZmF1bHRNYWxlQXZhdGFyO1xyXG4gICAgICAgIHRoaXMuZmlsZUFwaSA9IHRoaXMuZW52aXJvbm1lbnQuYXBpRG9tYWluLmZpbGVFbmRwb2ludDtcclxuICAgICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIH0sIDEwMDApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YSAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhICYmIHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuc2hvd0RlZmF1bHRTZXR0aW5nICE9IG51bGwgJiYgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmcgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nID0gdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLnNob3dEZWZhdWx0U2V0dGluZyAhPSBudWxsICYmIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5zaG93RGVmYXVsdFNldHRpbmcgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dEZWZhdWx0U2V0dGluZyA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5zaG93RGVmYXVsdFNldHRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dEZWZhdWx0U2V0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb25maWcgZm9yIGF1dGhlbnRpY2F0aW9uXHJcbiAgICAgICAgdGhpcy5fZ2xvYmFsU2VydmljZS5zZXRIZWFkZXJTdGF0ZShmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5fZ2xvYmFsU2VydmljZS5zZXRNZW51U3RhdGUoZmFsc2UpO1xyXG5cclxuICAgICAgICB0aGlzLnVuZGVyY29uc3RydWN0aW9uID0gdGhpcy5lbnZpcm9ubWVudC51bmRlcmNvbnN0cnVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5pc09uTW9iaWxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlci5nZW5kZXIgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLmRlZmF1bHRGZW1hbGVBdmF0YXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4uZGVmYXVsdE1hbGVBdmF0YXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucm9vdENvbnRleHQucmVwbGF5U3Vic2NyaWJlKENvbUN0eENvbnN0YW50cy5ST09ULlVTRVJfTE9BREVELCBycyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFVzZXIgPSB0aGlzLl91c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRBcHBNZXRhZGF0YSgpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnJvb3RNb2RlbC5hbGxvd0Fub255bW91cykge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZEFwcE1ldGFkYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxvYWRBcHBNZXRhZGF0YSgpIHtcclxuICAgICAgICBjb25zdCBwcm1zQXBwU3dpY2hlckl0ZW0gPSBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFyciA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGluZCBpbiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmFwcFN3aXRjaGVyKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5hcHBTd2l0Y2hlcltpbmRdO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2xpZW50SWQgPSB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuY2xpZW50SWQ7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucm9vdE1vZGVsLmFsbG93QW5vbnltb3VzICYmIGVsZW1lbnQuYWxsb3dBbm9ueW1vdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuY3VycmVudFVzZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0F1dGhvcml6ZWQgPSBhd2FpdCB0aGlzLl9wZXJtaXNzaW9uU2VydmljZS5pc0F1dGhvcml6ZWQoZWxlbWVudC5jb2RlLCBgJHtlbGVtZW50LmNvZGV9Lk1PRFVMRS4ke2VsZW1lbnQuY29kZX1gLnRvVXBwZXJDYXNlKCksIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0F1dGhvcml6ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXNvbHZlKGFycik7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHBybXNBcHBTd2ljaGVySXRlbS50aGVuKHJzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hcHBTd2l0Y2hlckl0ZW1zLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIGlmIChycykge1xyXG4gICAgICAgICAgICAgICAgKDxhbnk+cnMpLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQudmlzaWJsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY3VycmVudFVzZXIpIHsgLy8gYWxsb3cgYW5vbnltb3VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRVc2VyLm1hTmd1b2lIb2MgJiYgdGhpcy5jdXJyZW50VXNlci5pc3N1cGVydXNlci50b0xvd2VyQ2FzZSgpICE9ICd0cnVlJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNvZGUudG9Mb3dlckNhc2UoKSA9PSAnc3YnIHx8IGVsZW1lbnQuY29kZS50b0xvd2VyQ2FzZSgpID09ICd1c2VyJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN3aXRjaGVySXRlbXMucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoQXBwKGl0ZW0pIHtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChpdGVtLnRhcmdldCA9PSAnX2JsYW5rJykge1xyXG4gICAgICAgICAgICBpZiAoIWl0ZW0uZGVmYXVsdFJlZGlyZWN0KSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtLmRlZmF1bHRSZWRpcmVjdCA9ICcnO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBOYW1OSCB0aXAgdHJpY2sgY2hvIG1vdCBzbyBtYXkgYmkgbG9pIGl0ZW0udXJsID0gJ21haW4nIC0+IHJlZGlyZWN0IHNhaSBraGkgY2xpY2sgdmFvIGNhYyBwaGFuIGhlXHJcbiAgICAgICAgICAgIGlmIChpdGVtLnVybCA9PSBpdGVtLmRlZmF1bHRSZWRpcmVjdCkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS51cmwgPSAnLycgKyBpdGVtLmNvZGUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IGxpbmsgPSBgJHtpdGVtLnVybH0vJHtpdGVtLmRlZmF1bHRSZWRpcmVjdH1gO1xyXG4gICAgICAgICAgICBpZiAoIWxpbmsuc3RhcnRzV2l0aCgnLycpICYmICFsaW5rLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xyXG4gICAgICAgICAgICAgICAgbGluayA9ICcvJyArIGxpbms7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdG9wLmxvY2F0aW9uLmhyZWYgPSBsaW5rO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uZGVmYXVsdFJlZGlyZWN0ICE9ICcnICYmICF0aGlzLnJvb3RDb250ZXh0LmRhdGEuZmxhZ3MubWVudVRvcE9wZW5uaW5nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybChpdGVtLmRlZmF1bHRSZWRpcmVjdCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5hcHBTd2l0Y2hlci5maW5kKHggPT4geC5jb2RlID09IGl0ZW0uY29kZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YSAmJiB0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnNob3dEZWZhdWx0U2V0dGluZyAhPSB1bmRlZmluZWQgJiYgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmcgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0RlZmF1bHRTZXR0aW5nID0gdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5zaG93RGVmYXVsdFNldHRpbmcgJiYgdGhpcy5zaG93RGVmYXVsdFNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMuX2F1dGhlblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ29Ub1BlcnNvbmFsKCkge1xyXG4gICAgICAgIGNvbnN0IHVzZXJNZW51ID0gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5hcHBTd2l0Y2hlci5maW5kKHggPT4geC5jb2RlID09ICdVU0VSJyk7XHJcbiAgICAgICAgdGhpcy5zd2l0Y2hBcHAodXNlck1lbnUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEN1cnJlbnRVc2VyQXZhdGFyKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRhdGEuY3VycmVudFVzZXIgJiYgdGhpcy5yb290Q29udGV4dC5kYXRhLmN1cnJlbnRVc2VyLmF2YXRhcikge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWxlQXBpfS9maWxlL3B1YmxpYy8ke3RoaXMucm9vdENvbnRleHQuZGF0YS5jdXJyZW50VXNlci5hdmF0YXJ9L0Rvd25sb2FkYDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRBdmF0YXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRheXNJbldlZWsgPSBbJ0No4bunIG5o4bqtdCcsICdUaOG7qSAyJywgJ1Ro4bupIDMnLCAnVGjhu6kgNCcsICdUaOG7qSA1JywgJ1Ro4bupIDYnLCAnVGjhu6kgNyddO1xyXG4gICAgZ2V0TmdheVRyb25nVHVhbigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXlzSW5XZWVrW3RoaXMuY3VycmVudERhdGUuZ2V0RGF5KCldO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dQcm9maWxlUGFnZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fdXNlclNlcnZpY2UuaXNTaW5oVmllbkFjY291bnQoKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLl9nbG9iYWxTZXJ2aWNlLnNldEhlYWRlclN0YXRlKHRydWUpO1xyXG4gICAgICAgIHRoaXMuX2dsb2JhbFNlcnZpY2Uuc2V0TWVudVN0YXRlKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvZ2luKCkge1xyXG4gICAgICAgIHRoaXMucm9vdENvbnRleHQuZmlyZUV2ZW50KCdMT0dJTicpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=