tnx-shared 5.3.428 → 5.3.430

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 (32) hide show
  1. package/bundles/tnx-shared.umd.js +434 -256
  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/component-base-with-button.d.ts +2 -0
  6. package/classes/base/component-base-with-button.d.ts.map +1 -1
  7. package/classes/base/data-form-base.d.ts +32 -0
  8. package/classes/base/data-form-base.d.ts.map +1 -1
  9. package/classes/base/list-component-base.d.ts.map +1 -1
  10. package/classes/form-schema.d.ts +2 -0
  11. package/classes/form-schema.d.ts.map +1 -1
  12. package/components/crud/crud-form/crud-form.component.d.ts +1 -1
  13. package/components/crud/crud-form/crud-form.component.d.ts.map +1 -1
  14. package/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.d.ts +8 -0
  15. package/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.d.ts.map +1 -1
  16. package/components/file-upload/file-upload.component.d.ts.map +1 -1
  17. package/components/service-file-upload/service-file-upload.component.d.ts.map +1 -1
  18. package/components/user-picker/user-picker-box/user-picker-box.component.d.ts.map +1 -1
  19. package/esm2015/classes/base/component-base-with-button.js +6 -1
  20. package/esm2015/classes/base/data-form-base.js +150 -20
  21. package/esm2015/classes/base/list-component-base.js +2 -1
  22. package/esm2015/classes/form-schema.js +1 -1
  23. package/esm2015/components/crud/crud-form/crud-form.component.js +1 -1
  24. package/esm2015/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.js +35 -5
  25. package/esm2015/components/file-upload/file-upload.component.js +1 -2
  26. package/esm2015/components/service-file-upload/service-file-upload.component.js +1 -2
  27. package/esm2015/components/tn-dialog/tn-dialog.component.js +2 -2
  28. package/esm2015/components/user-picker/user-picker-box/user-picker-box.component.js +4 -1
  29. package/fesm2015/tnx-shared.js +349 -183
  30. package/fesm2015/tnx-shared.js.map +1 -1
  31. package/package.json +2 -2
  32. package/tnx-shared.metadata.json +1 -1
@@ -54,6 +54,9 @@ export class UserPickerBoxComponent extends ComponentBase {
54
54
  }
55
55
  }
56
56
  ngOnInit() {
57
+ if (this.controlSetting.templateFilterHeader) {
58
+ this.control.templateFilterHeader = this.controlSetting.templateFilterHeader;
59
+ }
57
60
  this.control.plusUrl = 'ForUserPicker';
58
61
  this.control.filterWhileProcess = [
59
62
  this.newFilter('userType', Operator.equal, this.controlSetting.userType)
@@ -219,4 +222,4 @@ UserPickerBoxComponent.propDecorators = {
219
222
  onUnSelect: [{ type: Output }],
220
223
  onDone: [{ type: Output }]
221
224
  };
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1waWNrZXItYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcGlja2VyL3VzZXItcGlja2VyLWJveC91c2VyLXBpY2tlci1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxlQUFlLEVBQ2YseUJBQXlCLEVBQ3pCLFFBQVEsRUFDUix1QkFBdUIsRUFDdkIsUUFBUSxFQUNYLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQVE5RSxNQUFNLE9B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S0FBSzs4QkFFTCxTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzBCQUU5QyxNQUFNO3dCQUNOLE1BQU07dUJBQ04sTUFBTTt5QkFDTixNQUFNO3FCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtLCBUcmVlTm9kZSB9IGZyb20gJ3RuLWN1c3RvbS1wcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9iYXNlL2NvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7XG4gICAgQ3J1ZExpc3RTZXR0aW5nLFxuICAgIEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWEsXG4gICAgT3BlcmF0b3IsXG4gICAgVXNlclBpY2tlckNvbnRyb2xTY2hlbWEsXG4gICAgVXNlclR5cGVcbn0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ3JpZC1pbmZvJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmdhbml6YXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyVjVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXNlci12NS5zZXJ2aWNlJztcbmltcG9ydCB7IGFwcGVuZERlZmF1bHRGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgRW50aXR5UGlja2VyQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZW50aXR5LXBpY2tlci9lbnRpdHktcGlja2VyLWJveC9lbnRpdHktcGlja2VyLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWR2YW5jZURhdGFFbnRpdHlQaWNrZXIgfSBmcm9tICcuLi8uLi9lbnRpdHktcGlja2VyL21vZGVsL2FkdmFuY2UtZGF0YSc7XG5pbXBvcnQgeyBDb0NhdVRvQ2h1Y1Rlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXRlc3QvY29jYXV0b2NodWMtdGVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFzb3VyY2VGaWVsZEZpbHRlciB9IGZyb20gJy4uL21vZGVscy91c2VyLXBpY2tlci1zZXR0aW5nJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2R1bGUtY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VzZXItcGlja2VyLWJveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItcGlja2VyLWJveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdXNlci1waWNrZXItYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyUGlja2VyQm94Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGVuYWJsZUNhY2hpbmcgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGNvbnRyb2xTZXR0aW5nOiBVc2VyUGlja2VyQ29udHJvbFNjaGVtYTtcblxuICAgIEBJbnB1dCgpIHBhcmVudFNldHRpbmc6IENydWRMaXN0U2V0dGluZztcbiAgICBASW5wdXQoKSBhZHZhbmNlRGF0YTogQWR2YW5jZURhdGFFbnRpdHlQaWNrZXI7XG4gICAgQElucHV0KCkgY29udHJvbDogRW50aXR5UGlja2VyQ29udHJvbFNjaGVtYTtcbiAgICBASW5wdXQoKSB3aWR0aCA9IDExNzA7XG4gICAgQElucHV0KCkgaGVpZ2h0ID0gOTAwO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU7XG4gICAgQElucHV0KCkgcmVhZE9ubHlWYWx1ZXM6IHN0cmluZ1tdO1xuXG4gICAgQFZpZXdDaGlsZCgnZW50aXR5UGlja2VyQm94JywgeyBzdGF0aWM6IGZhbHNlIH0pIGVudGl0eVBpY2tlckJveDogRW50aXR5UGlja2VyQm94Q29tcG9uZW50O1xuXG4gICAgQE91dHB1dCgpIG9uUm93U2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBvblVuU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25Eb25lOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHJlYWRvbmx5IFNUT1JBR0VfS0VZX1VTRVJfUElDS0VSX05BTUUgPSAndXNlcl9waWNrZXJfc3RvcmFnZV9uYW1lJztcbiAgICByZWFkb25seSBTVE9SQUdFX0tFWV9VU0VSX1BJQ0tFUl9JRF9VU0VSID0gJ3VzZXJfcGlja2VyX3N0b3JhZ2VfaWRfdXNlcic7XG4gICAgcmVhZG9ubHkgU1RPUkFHRV9LRVlfVVNFUl9QSUNLRVJfU0VBUkNIX0tFWSA9ICd1c2VyX3BpY2tlcl9zdG9yYWdlX3NlYXJjaF9rZXknO1xuICAgIHJlYWRvbmx5IFNUT1JBR0VfS0VZX1VTRVJfUElDS0VSX05PREVfU0VMRUNURUQgPSAndXNlcl9waWNrZXJfc3RvcmFnZV9ub2RlJztcbiAgICByZWFkb25seSB1c2VyVHlwZSA9IFVzZXJUeXBlO1xuXG4gICAgcm9vdFRyZWVOb2RlOiBUcmVlTm9kZVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJycsXG4gICAgICAgICAgICBkYXRhOiAnLTEnLFxuICAgICAgICAgICAgZXhwYW5kZWRJY29uOiAncGkgcGktZm9sZGVyLW9wZW4nLFxuICAgICAgICAgICAgY29sbGFwc2VkSWNvbjogJ3BpIHBpLWZvbGRlcicsXG4gICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgfV07XG5cbiAgICBpc0ZpcnN0TG9hZCA9IHRydWU7XG4gICAgcm9vdEZpbHRlcjogYW55ID0ge307XG5cbiAgICBzZWxlY3RlZFRyZWVOb2RlOiBhbnk7XG4gICAgdHJlZUxvYWRpbmcgPSBmYWxzZTtcbiAgICBzZWxlY3RlZE5vZGVEYXRhOiBhbnk7XG4gICAgZGF0YXNvdXJjZUZpZWxkRmlsdGVyID0gRGF0YXNvdXJjZUZpZWxkRmlsdGVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCBfdXNlclY1U2VydmljZTogVXNlclY1U2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9vcmdhbml6YXRpb25TZXJ2aWNlOiBPcmdhbml6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX2NvQ2F1VG9DaHVjU2VydmljZTogQ29DYXVUb0NodWNUZXN0U2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9tb2R1bGVDb25maWdTZXJ2aWNlOiBNb2R1bGVDb25maWdTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBfZW52aXJvbm1lbnQgPSBfbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5lbnZpcm9ubWVudDtcbiAgICAgICAgaWYgKF9lbnZpcm9ubWVudC5jYXVIaW5oTmdoaWVwVnU/LmRhdGFzb3VyY2VGaWVsZEZpbHRlckNhbkJvPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFzb3VyY2VGaWVsZEZpbHRlciA9IF9lbnZpcm9ubWVudC5jYXVIaW5oTmdoaWVwVnU/LmRhdGFzb3VyY2VGaWVsZEZpbHRlckNhbkJvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5wbHVzVXJsID0gJ0ZvclVzZXJQaWNrZXInO1xuICAgICAgICB0aGlzLmNvbnRyb2wuZmlsdGVyV2hpbGVQcm9jZXNzID0gW1xuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ3VzZXJUeXBlJywgT3BlcmF0b3IuZXF1YWwsIHRoaXMuY29udHJvbFNldHRpbmcudXNlclR5cGUpXG4gICAgICAgIF07XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xTZXR0aW5nLnVzZXJUeXBlID09IHRoaXMudXNlclR5cGUuQ2FuQm8pIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFRyZWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVNlbGVjdChldmVudCkge1xuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNhbmNlbERpYWxvZyhldmVudCkge1xuICAgIH1cblxuICAgIG9uTm9kZUV4cGFuZChldmVudCkge1xuXG4gICAgfVxuXG4gICAgYXN5bmMgbm9kZVNlbGVjdChldmVudCkge1xuICAgICAgICBsZXQgdGFyZ2V0ID0gZXZlbnQub3JpZ2luYWxFdmVudC50YXJnZXQ7XG4gICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjdXN0b20tbm9kZScpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZURhdGEgPSB0YXJnZXQuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmN1c3RvbS1ub2RlJyk7XG4gICAgICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVEYXRhID0gdGFyZ2V0LmlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVEYXRhID0gZXZlbnQubm9kZS5kYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuU1RPUkFHRV9LRVlfVVNFUl9QSUNLRVJfTk9ERV9TRUxFQ1RFRCwgdGhpcy5zZWxlY3RlZE5vZGVEYXRhKTtcbiAgICAgICAgdGhpcy5yb290RmlsdGVyLnBhcmVudElkID0gbmV3IEZpbHRlcih7XG4gICAgICAgICAgICBmaWVsZDogJ2lkUGF0aE9yZ2FuaXphdGlvbicsXG4gICAgICAgICAgICBvcGVyYXRvcjogT3BlcmF0b3IuY29udGFpbixcbiAgICAgICAgICAgIHZhbHVlOiBgOyR7dGhpcy5zZWxlY3RlZE5vZGVEYXRhfTtgXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRyb2wuZmlsdGVyV2hpbGVQcm9jZXNzID0gW1xuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ2lkRG9uVmknLCBPcGVyYXRvci5lcXVhbCwgdGhpcy5zZWxlY3RlZE5vZGVEYXRhKVxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuZW50aXR5UGlja2VyQm94LmRhdGFDb21wb25lbnQuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgICAgICAvLyB0aGlzLmVudGl0eVBpY2tlckJveC5zZWxlY3RlZENvbXBvbmVudC5fdHJpZ2dlclByb2Nlc3NEYXRhKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdFRyZWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xTZXR0aW5nLmxhenlMb2FkT3JnYW5pemF0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBycyA9IGF3YWl0IHRoaXMuX29yZ2FuaXphdGlvblNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uQnlQYXJlbnRJZCh0aGlzLl9jb21tb25TZXJ2aWNlLmd1aWRFbXB0eSgpKTtcbiAgICAgICAgICAgIHRoaXMucm9vdFRyZWVOb2RlID0gcnMuZGF0YTtcbiAgICAgICAgICAgIHRoaXMubG9hZFRyZWUodGhpcy5yb290VHJlZU5vZGVbMF0sIHRydWUpO1xuXG4gICAgICAgICAgICAvLyBjb25zdCBycyA9IGF3YWl0IHRoaXMuX2NvQ2F1VG9DaHVjU2VydmljZS5nZXRCeVBhcmVudElkKHRoaXMuX2NvbW1vblNlcnZpY2UuZ3VpZEVtcHR5KCkpO1xuICAgICAgICAgICAgLy8gdGhpcy5yb290VHJlZU5vZGUgPSBycy5kYXRhO1xuICAgICAgICAgICAgLy8gdGhpcy5sb2FkVHJlZSh0aGlzLnJvb3RUcmVlTm9kZVswXSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRUcmVlKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZFRyZWUoZXZlbnQ6IGFueSwgaXNSb290Pykge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sU2V0dGluZy5sYXp5TG9hZE9yZ2FuaXphdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fb3JnYW5pemF0aW9uU2VydmljZS5nZXRPcmdhbml6YXRpb25CeVBhcmVudElkKGV2ZW50LmRhdGEpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuY2hpbGRyZW4gPSByZXN1bHQuZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmNoaWxkcmVuICYmIGV2ZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQubGVhZiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiByZXN1bHQuZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFyIGl0ZW0gPSByZXN1bHQuZGF0YVtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPT09IDApXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgaXRlbS5sZWFmID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBpdGVtLmxlYWYgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGM/cCBuaD90IEFQSVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRhdGFba2V5XS5sZWFmID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy50cmVlTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNSb290KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX29yZ2FuaXphdGlvblNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uVHJlZSh0aGlzLmNvbnRyb2xTZXR0aW5nLnBhcmVudE9yZ0NvZGUpLnRoZW4oYXN5bmMgcmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RUcmVlTm9kZSA9IHJlc3VsdC5kYXRhO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdFRyZWVOb2RlWzBdLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnRyZWVMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xTZXR0aW5nLnBhcmVudE9yZ0NvZGUpIHtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvb3RGaWx0ZXIucGFyZW50SWQgPSBuZXcgRmlsdGVyKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaWRQYXRoT3JnYW5pemF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBPcGVyYXRvci5jb250YWluLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGA7JHt0aGlzLnJvb3RUcmVlTm9kZVswXS5kYXRhfTtgXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRmlyc3RMb2FkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBtb2RpZnlGaWx0ZXIoZmlsdGVycykge1xuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLnJvb3RGaWx0ZXIpLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5yb290RmlsdGVyW2l0ZW1dKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IGFwcGVuZERlZmF1bHRGaWx0ZXIoZmlsdGVycywgdGhpcy5jb250cm9sU2V0dGluZy5kZWZhdWx0RmlsdGVycyk7XG4gICAgfVxuXG4gICAgc2VsZWN0VXNlcih1c2VyKSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdXNlci5lbWFpbCA/IGAke3VzZXIuZnVsbE5hbWVOZXd9ICgke3VzZXIuZW1haWx9KWAgOiBgJHt1c2VyLmZ1bGxOYW1lTmV3fWA7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVXNlciA9IDxTZWxlY3RJdGVtPntcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdGl0bGU6IGxhYmVsLFxuICAgICAgICAgICAgdmFsdWU6IHVzZXIuaW5zdGFuY2VJZFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChzZWxlY3RlZFVzZXIpO1xuICAgIH1cblxuICAgIGhhbmRsZVJvd1NlbGVjdChldnQpIHtcbiAgICAgICAgdGhpcy5vblJvd1NlbGVjdC5lbWl0KGV2dCk7XG4gICAgfVxuXG4gICAgaGFuZGxlU2VsZWN0RW50aXR5KGV2dCkge1xuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZXZ0KTtcbiAgICB9XG5cbiAgICBoYW5kbGVVblNlbGVjdEVudGl0eShldnQpIHtcbiAgICAgICAgdGhpcy5vblVuU2VsZWN0LmVtaXQoZXZ0KTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2VkRW50aXR5KGRhdGEpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQuZW1pdChkYXRhKTtcbiAgICB9XG5cbiAgICBoYW5kbGVEb25lKGV2dCkge1xuICAgICAgICB0aGlzLm9uRG9uZS5lbWl0KGV2dCk7XG4gICAgfVxufVxuIl19
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1waWNrZXItYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcGlja2VyL3VzZXItcGlja2VyLWJveC91c2VyLXBpY2tlci1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxlQUFlLEVBQ2YseUJBQXlCLEVBQ3pCLFFBQVEsRUFDUix1QkFBdUIsRUFDdkIsUUFBUSxFQUNYLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQVE5RSxNQUFNLE9B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O3VCQVN2QixLQUFLO3VCQUNMLEtBQUs7NEJBQ0wsS0FBSzs2QkFDTCxLQUFLOzRCQUVMLEtBQUs7MEJBQ0wsS0FBSztzQkFDTCxLQUFLO29CQUNMLEtBQUs7cUJBQ0wsS0FBSzs0QkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBRUwsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTswQkFFOUMsTUFBTTt3QkFDTixNQUFNO3VCQUNOLE1BQU07eUJBQ04sTUFBTTtxQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSwgVHJlZU5vZGUgfSBmcm9tICd0bi1jdXN0b20tcHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1xuICAgIENydWRMaXN0U2V0dGluZyxcbiAgICBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hLFxuICAgIE9wZXJhdG9yLFxuICAgIFVzZXJQaWNrZXJDb250cm9sU2NoZW1hLFxuICAgIFVzZXJUeXBlXG59IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dyaWQtaW5mbyc7XG5pbXBvcnQgeyBPcmdhbml6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnYW5pemF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclY1U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXItdjUuc2VydmljZSc7XG5pbXBvcnQgeyBhcHBlbmREZWZhdWx0RmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29tbW9uJztcbmltcG9ydCB7IEVudGl0eVBpY2tlckJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VudGl0eS1waWNrZXIvZW50aXR5LXBpY2tlci1ib3gvZW50aXR5LXBpY2tlci1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyIH0gZnJvbSAnLi4vLi4vZW50aXR5LXBpY2tlci9tb2RlbC9hZHZhbmNlLWRhdGEnO1xuaW1wb3J0IHsgQ29DYXVUb0NodWNUZXN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2V0ZXN0L2NvY2F1dG9jaHVjLXRlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhc291cmNlRmllbGRGaWx0ZXIgfSBmcm9tICcuLi9tb2RlbHMvdXNlci1waWNrZXItc2V0dGluZyc7XG5pbXBvcnQgeyBNb2R1bGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1c2VyLXBpY2tlci1ib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLXBpY2tlci1ib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VzZXItcGlja2VyLWJveC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW0NvbXBvbmVudENvbnRleHRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclBpY2tlckJveENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBlbmFibGVDYWNoaW5nID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBjb250cm9sU2V0dGluZzogVXNlclBpY2tlckNvbnRyb2xTY2hlbWE7XG5cbiAgICBASW5wdXQoKSBwYXJlbnRTZXR0aW5nOiBDcnVkTGlzdFNldHRpbmc7XG4gICAgQElucHV0KCkgYWR2YW5jZURhdGE6IEFkdmFuY2VEYXRhRW50aXR5UGlja2VyO1xuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWE7XG4gICAgQElucHV0KCkgd2lkdGggPSAxMTcwO1xuICAgIEBJbnB1dCgpIGhlaWdodCA9IDkwMDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlO1xuICAgIEBJbnB1dCgpIHJlYWRPbmx5VmFsdWVzOiBzdHJpbmdbXTtcblxuICAgIEBWaWV3Q2hpbGQoJ2VudGl0eVBpY2tlckJveCcsIHsgc3RhdGljOiBmYWxzZSB9KSBlbnRpdHlQaWNrZXJCb3g6IEVudGl0eVBpY2tlckJveENvbXBvbmVudDtcblxuICAgIEBPdXRwdXQoKSBvblJvd1NlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25VblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uRG9uZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICByZWFkb25seSBTVE9SQUdFX0tFWV9VU0VSX1BJQ0tFUl9OQU1FID0gJ3VzZXJfcGlja2VyX3N0b3JhZ2VfbmFtZSc7XG4gICAgcmVhZG9ubHkgU1RPUkFHRV9LRVlfVVNFUl9QSUNLRVJfSURfVVNFUiA9ICd1c2VyX3BpY2tlcl9zdG9yYWdlX2lkX3VzZXInO1xuICAgIHJlYWRvbmx5IFNUT1JBR0VfS0VZX1VTRVJfUElDS0VSX1NFQVJDSF9LRVkgPSAndXNlcl9waWNrZXJfc3RvcmFnZV9zZWFyY2hfa2V5JztcbiAgICByZWFkb25seSBTVE9SQUdFX0tFWV9VU0VSX1BJQ0tFUl9OT0RFX1NFTEVDVEVEID0gJ3VzZXJfcGlja2VyX3N0b3JhZ2Vfbm9kZSc7XG4gICAgcmVhZG9ubHkgdXNlclR5cGUgPSBVc2VyVHlwZTtcblxuICAgIHJvb3RUcmVlTm9kZTogVHJlZU5vZGVbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICAgICAgZGF0YTogJy0xJyxcbiAgICAgICAgICAgIGV4cGFuZGVkSWNvbjogJ3BpIHBpLWZvbGRlci1vcGVuJyxcbiAgICAgICAgICAgIGNvbGxhcHNlZEljb246ICdwaSBwaS1mb2xkZXInLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICAgIH1dO1xuXG4gICAgaXNGaXJzdExvYWQgPSB0cnVlO1xuICAgIHJvb3RGaWx0ZXI6IGFueSA9IHt9O1xuXG4gICAgc2VsZWN0ZWRUcmVlTm9kZTogYW55O1xuICAgIHRyZWVMb2FkaW5nID0gZmFsc2U7XG4gICAgc2VsZWN0ZWROb2RlRGF0YTogYW55O1xuICAgIGRhdGFzb3VyY2VGaWVsZEZpbHRlciA9IERhdGFzb3VyY2VGaWVsZEZpbHRlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgX3VzZXJWNVNlcnZpY2U6IFVzZXJWNVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfb3JnYW5pemF0aW9uU2VydmljZTogT3JnYW5pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9jb0NhdVRvQ2h1Y1NlcnZpY2U6IENvQ2F1VG9DaHVjVGVzdFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX2luamVjdG9yKTtcbiAgICAgICAgY29uc3QgX2Vudmlyb25tZW50ID0gX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQ7XG4gICAgICAgIGlmIChfZW52aXJvbm1lbnQuY2F1SGluaE5naGllcFZ1Py5kYXRhc291cmNlRmllbGRGaWx0ZXJDYW5Cbz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhc291cmNlRmllbGRGaWx0ZXIgPSBfZW52aXJvbm1lbnQuY2F1SGluaE5naGllcFZ1Py5kYXRhc291cmNlRmllbGRGaWx0ZXJDYW5CbztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sU2V0dGluZy50ZW1wbGF0ZUZpbHRlckhlYWRlcikge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLnRlbXBsYXRlRmlsdGVySGVhZGVyID0gdGhpcy5jb250cm9sU2V0dGluZy50ZW1wbGF0ZUZpbHRlckhlYWRlcjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRyb2wucGx1c1VybCA9ICdGb3JVc2VyUGlja2VyJztcbiAgICAgICAgdGhpcy5jb250cm9sLmZpbHRlcldoaWxlUHJvY2VzcyA9IFtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCd1c2VyVHlwZScsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLmNvbnRyb2xTZXR0aW5nLnVzZXJUeXBlKVxuICAgICAgICBdO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sU2V0dGluZy51c2VyVHlwZSA9PSB0aGlzLnVzZXJUeXBlLkNhbkJvKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRUcmVlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVTZWxlY3QoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBoYW5kbGVDYW5jZWxEaWFsb2coZXZlbnQpIHtcbiAgICB9XG5cbiAgICBvbk5vZGVFeHBhbmQoZXZlbnQpIHtcblxuICAgIH1cblxuICAgIGFzeW5jIG5vZGVTZWxlY3QoZXZlbnQpIHtcbiAgICAgICAgbGV0IHRhcmdldCA9IGV2ZW50Lm9yaWdpbmFsRXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAodGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnY3VzdG9tLW5vZGUnKSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVEYXRhID0gdGFyZ2V0LmlkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoJy5jdXN0b20tbm9kZScpO1xuICAgICAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlRGF0YSA9IHRhcmdldC5pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlRGF0YSA9IGV2ZW50Lm5vZGUuZGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLlNUT1JBR0VfS0VZX1VTRVJfUElDS0VSX05PREVfU0VMRUNURUQsIHRoaXMuc2VsZWN0ZWROb2RlRGF0YSk7XG4gICAgICAgIHRoaXMucm9vdEZpbHRlci5wYXJlbnRJZCA9IG5ldyBGaWx0ZXIoe1xuICAgICAgICAgICAgZmllbGQ6ICdpZFBhdGhPcmdhbml6YXRpb24nLFxuICAgICAgICAgICAgb3BlcmF0b3I6IE9wZXJhdG9yLmNvbnRhaW4sXG4gICAgICAgICAgICB2YWx1ZTogYDske3RoaXMuc2VsZWN0ZWROb2RlRGF0YX07YFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250cm9sLmZpbHRlcldoaWxlUHJvY2VzcyA9IFtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdpZERvblZpJywgT3BlcmF0b3IuZXF1YWwsIHRoaXMuc2VsZWN0ZWROb2RlRGF0YSlcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmVudGl0eVBpY2tlckJveC5kYXRhQ29tcG9uZW50Ll90cmlnZ2VyUHJvY2Vzc0RhdGEoKTtcbiAgICAgICAgLy8gdGhpcy5lbnRpdHlQaWNrZXJCb3guc2VsZWN0ZWRDb21wb25lbnQuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXRUcmVlKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sU2V0dGluZy5sYXp5TG9hZE9yZ2FuaXphdGlvbikge1xuICAgICAgICAgICAgY29uc3QgcnMgPSBhd2FpdCB0aGlzLl9vcmdhbml6YXRpb25TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkJ5UGFyZW50SWQodGhpcy5fY29tbW9uU2VydmljZS5ndWlkRW1wdHkoKSk7XG4gICAgICAgICAgICB0aGlzLnJvb3RUcmVlTm9kZSA9IHJzLmRhdGE7XG4gICAgICAgICAgICB0aGlzLmxvYWRUcmVlKHRoaXMucm9vdFRyZWVOb2RlWzBdLCB0cnVlKTtcblxuICAgICAgICAgICAgLy8gY29uc3QgcnMgPSBhd2FpdCB0aGlzLl9jb0NhdVRvQ2h1Y1NlcnZpY2UuZ2V0QnlQYXJlbnRJZCh0aGlzLl9jb21tb25TZXJ2aWNlLmd1aWRFbXB0eSgpKTtcbiAgICAgICAgICAgIC8vIHRoaXMucm9vdFRyZWVOb2RlID0gcnMuZGF0YTtcbiAgICAgICAgICAgIC8vIHRoaXMubG9hZFRyZWUodGhpcy5yb290VHJlZU5vZGVbMF0sIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2FkVHJlZShudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRUcmVlKGV2ZW50OiBhbnksIGlzUm9vdD8pIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbFNldHRpbmcubGF6eUxvYWRPcmdhbml6YXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX29yZ2FuaXphdGlvblNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uQnlQYXJlbnRJZChldmVudC5kYXRhKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LmNoaWxkcmVuID0gcmVzdWx0LmRhdGE7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5jaGlsZHJlbiAmJiBldmVudC5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmxlYWYgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcmVzdWx0LmRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciBpdGVtID0gcmVzdWx0LmRhdGFba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGl0ZW0ubGVhZiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgaXRlbS5sZWFmID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBjP3Agbmg/dCBBUElcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5kYXRhW2tleV0ubGVhZiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudHJlZUxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzUm9vdCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9vcmdhbml6YXRpb25TZXJ2aWNlLmdldE9yZ2FuaXphdGlvblRyZWUodGhpcy5jb250cm9sU2V0dGluZy5wYXJlbnRPcmdDb2RlKS50aGVuKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb290VHJlZU5vZGUgPSByZXN1bHQuZGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RUcmVlTm9kZVswXS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy50cmVlTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sU2V0dGluZy5wYXJlbnRPcmdDb2RlKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb290RmlsdGVyLnBhcmVudElkID0gbmV3IEZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkUGF0aE9yZ2FuaXphdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjogT3BlcmF0b3IuY29udGFpbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBgOyR7dGhpcy5yb290VHJlZU5vZGVbMF0uZGF0YX07YFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgbW9kaWZ5RmlsdGVyKGZpbHRlcnMpIHtcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5yb290RmlsdGVyKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgZmlsdGVycy5wdXNoKHRoaXMucm9vdEZpbHRlcltpdGVtXSk7XG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBhcHBlbmREZWZhdWx0RmlsdGVyKGZpbHRlcnMsIHRoaXMuY29udHJvbFNldHRpbmcuZGVmYXVsdEZpbHRlcnMpO1xuICAgIH1cblxuICAgIHNlbGVjdFVzZXIodXNlcikge1xuICAgICAgICBjb25zdCBsYWJlbCA9IHVzZXIuZW1haWwgPyBgJHt1c2VyLmZ1bGxOYW1lTmV3fSAoJHt1c2VyLmVtYWlsfSlgIDogYCR7dXNlci5mdWxsTmFtZU5ld31gO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFVzZXIgPSA8U2VsZWN0SXRlbT57XG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHRpdGxlOiBsYWJlbCxcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyLmluc3RhbmNlSWRcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoc2VsZWN0ZWRVc2VyKTtcbiAgICB9XG5cbiAgICBoYW5kbGVSb3dTZWxlY3QoZXZ0KSB7XG4gICAgICAgIHRoaXMub25Sb3dTZWxlY3QuZW1pdChldnQpO1xuICAgIH1cblxuICAgIGhhbmRsZVNlbGVjdEVudGl0eShldnQpIHtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5lbWl0KGV2dCk7XG4gICAgfVxuXG4gICAgaGFuZGxlVW5TZWxlY3RFbnRpdHkoZXZ0KSB7XG4gICAgICAgIHRoaXMub25VblNlbGVjdC5lbWl0KGV2dCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2hhbmdlZEVudGl0eShkYXRhKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoZGF0YSk7XG4gICAgfVxuXG4gICAgaGFuZGxlRG9uZShldnQpIHtcbiAgICAgICAgdGhpcy5vbkRvbmUuZW1pdChldnQpO1xuICAgIH1cbn1cbiJdfQ==