@ieeesa-npm/presentation 0.30.7 → 0.31.1

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 (91) hide show
  1. package/esm2022/lib/assets/constants.json +2 -1
  2. package/esm2022/lib/components/accordion/accordion.component.mjs +2 -2
  3. package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +1 -1
  4. package/esm2022/lib/components/card/card.component.mjs +3 -3
  5. package/esm2022/lib/components/checkbox/checkbox.component.mjs +1 -1
  6. package/esm2022/lib/components/chips/chips.component.mjs +2 -2
  7. package/esm2022/lib/components/data-table/data-table.component.mjs +4 -3
  8. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +2 -2
  9. package/esm2022/lib/components/export-format-popover/export-format-popover.component.mjs +206 -0
  10. package/esm2022/lib/components/export-success-dialog/export-success-dialog.component.mjs +39 -0
  11. package/esm2022/lib/components/file-download/file-download.component.mjs +21 -12
  12. package/esm2022/lib/components/file-upload/file-upload.component.mjs +2 -2
  13. package/esm2022/lib/components/filter/filter.component.mjs +2 -2
  14. package/esm2022/lib/components/form-support-text/form-support-text.component.mjs +3 -2
  15. package/esm2022/lib/components/header/header.component.mjs +15 -10
  16. package/esm2022/lib/components/icon-button/icon-button.component.mjs +1 -1
  17. package/esm2022/lib/components/list/list.component.mjs +3 -2
  18. package/esm2022/lib/components/menu/menu.component.mjs +1 -1
  19. package/esm2022/lib/components/modal/modal.component.mjs +8 -6
  20. package/esm2022/lib/components/modal-confirmation/modal-confirmation.component.mjs +2 -2
  21. package/esm2022/lib/components/modal-info/modal-info.component.mjs +41 -0
  22. package/esm2022/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.mjs +1 -1
  23. package/esm2022/lib/components/notification/notification.component.mjs +3 -2
  24. package/esm2022/lib/components/policy-confirmation-dialog/policy-confirmation-dialog.component.mjs +58 -0
  25. package/esm2022/lib/components/select/select.component.mjs +1 -1
  26. package/esm2022/lib/components/tabs/tabs.component.mjs +1 -1
  27. package/esm2022/lib/components/tile/tile.component.mjs +2 -2
  28. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +1 -1
  29. package/esm2022/lib/directives/set-background/set-background.directive.mjs +4 -3
  30. package/esm2022/lib/models/card-button.model.mjs +1 -1
  31. package/esm2022/lib/models/export-format-popover.model.mjs +10 -0
  32. package/esm2022/lib/models/export-success-dialog.model.mjs +2 -0
  33. package/esm2022/lib/models/field-config.model.mjs +1 -1
  34. package/esm2022/lib/models/filters-options.model.mjs +1 -1
  35. package/esm2022/lib/models/list-item.model.mjs +1 -1
  36. package/esm2022/lib/models/policy-confirmation-dialog.model.mjs +2 -0
  37. package/esm2022/lib/pipes/safe.pipe.mjs +44 -0
  38. package/esm2022/lib/services/break-point-observer.service.mjs +36 -0
  39. package/esm2022/lib/services/file-upload.service.mjs +2 -2
  40. package/esm2022/public-api.mjs +12 -6
  41. package/fesm2022/ieeesa-npm-presentation.mjs +489 -79
  42. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  43. package/lib/components/accordion/accordion.component.d.ts +1 -1
  44. package/lib/components/autocomplete/autocomplete.component.d.ts +1 -1
  45. package/lib/components/card/card.component.d.ts +2 -2
  46. package/lib/components/checkbox/checkbox.component.d.ts +1 -2
  47. package/lib/components/chips/chips.component.d.ts +4 -9
  48. package/lib/components/data-table/data-table.component.d.ts +2 -3
  49. package/lib/components/dynamic-form/dynamic-form.component.d.ts +1 -3
  50. package/lib/components/export-format-popover/export-format-popover.component.d.ts +91 -0
  51. package/lib/components/export-success-dialog/export-success-dialog.component.d.ts +24 -0
  52. package/lib/components/file-download/file-download.component.d.ts +5 -4
  53. package/lib/components/file-upload/file-upload.component.d.ts +11 -12
  54. package/lib/components/filter/filter.component.d.ts +2 -4
  55. package/lib/components/header/header.component.d.ts +6 -6
  56. package/lib/components/icon-button/icon-button.component.d.ts +1 -1
  57. package/lib/components/list/list.component.d.ts +1 -1
  58. package/lib/components/menu/menu.component.d.ts +1 -1
  59. package/lib/components/modal/modal.component.d.ts +1 -1
  60. package/lib/components/modal-confirmation/modal-confirmation.component.d.ts +1 -2
  61. package/lib/components/modal-info/modal-info.component.d.ts +23 -0
  62. package/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.d.ts +1 -1
  63. package/lib/components/policy-confirmation-dialog/policy-confirmation-dialog.component.d.ts +36 -0
  64. package/lib/components/select/select.component.d.ts +1 -1
  65. package/lib/components/tabs/tabs.component.d.ts +1 -2
  66. package/lib/components/tile/tile.component.d.ts +1 -1
  67. package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +2 -2
  68. package/lib/directives/set-background/set-background.directive.d.ts +1 -1
  69. package/lib/models/card-button.model.d.ts +1 -1
  70. package/lib/models/export-format-popover.model.d.ts +15 -0
  71. package/lib/models/export-success-dialog.model.d.ts +8 -0
  72. package/lib/models/field-config.model.d.ts +1 -3
  73. package/lib/models/filters-options.model.d.ts +1 -1
  74. package/lib/models/list-item.model.d.ts +1 -1
  75. package/lib/models/policy-confirmation-dialog.model.d.ts +9 -0
  76. package/lib/pipes/safe.pipe.d.ts +16 -0
  77. package/lib/services/break-point-observer.service.d.ts +21 -0
  78. package/lib/services/file-upload.service.d.ts +1 -0
  79. package/package.json +1 -1
  80. package/public-api.d.ts +10 -5
  81. package/src/lib/assets/constants.json +2 -1
  82. package/esm2022/lib/models/align-type.model.mjs +0 -11
  83. package/esm2022/lib/models/checkbox-option.model.mjs +0 -2
  84. package/esm2022/lib/models/confirmation-modal-data.model.mjs +0 -2
  85. package/esm2022/lib/models/icon-button.model.mjs +0 -2
  86. package/esm2022/lib/models/select-option.model.mjs +0 -2
  87. package/lib/models/align-type.model.d.ts +0 -8
  88. package/lib/models/checkbox-option.model.d.ts +0 -8
  89. package/lib/models/confirmation-modal-data.model.d.ts +0 -11
  90. package/lib/models/icon-button.model.d.ts +0 -8
  91. package/lib/models/select-option.model.d.ts +0 -5
@@ -13,7 +13,7 @@ import { ReactiveFormsModule } from '@angular/forms';
13
13
  import { MatSelectModule } from '@angular/material/select';
14
14
  import { SelectComponent } from '../../components/select/select.component';
15
15
  import * as i0 from "@angular/core";
16
- import * as i1 from "@ieeesa-npm/utility";
16
+ import * as i1 from "../../services/break-point-observer.service";
17
17
  import * as i2 from "@angular/common";
18
18
  import * as i3 from "@angular/material/button";
19
19
  /**
@@ -299,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
299
299
  }], filterDropdownSearch: [{
300
300
  type: Output
301
301
  }] } });
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHTixpQkFBaUIsRUFDakIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxP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Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDaGVja2JveE9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgQ2hpcE9wdGlvbiwgRmlsdGVyT3B0aW9uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGlwLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZpbHRlcnNBbmRPcHRpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlcnMtb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wZW5lZFN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcGVuZWQtc3RhdGUubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIFByb3ZpZGVzIGFuIGltcGxlbWVudGF0aW9uIGZvciBncm91cCBvZiBmaWx0ZXIuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIEZpbHRlckNvbXBvbmVudFxyXG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtZmlsdGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIENoaXBzQ29tcG9uZW50LFxyXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIFNlbGVjdENvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBjb25zdGFudHM7XHJcbiAgYXJyb3c6IEljb25CdXR0b24gPSB0aGlzLmNvbnN0YW50cz8uY2hpcHM/Lmljb25zPy5hcnJvdztcclxuICBjaGVjazogSWNvbkJ1dHRvbiA9IHRoaXMuY29uc3RhbnRzPy5jaGlwcz8uaWNvbnM/LmNoZWNrO1xyXG4gIHJlbW92ZUljb246IEljb25CdXR0b24gPSB0aGlzLmNvbnN0YW50cz8uY2hpcHM/Lmljb25zPy5yZW1vdmU7XHJcbiAgaXNGaWx0ZXJPcGVuZWQgPSBmYWxzZTtcclxuICBzZWxlY3RlZENoZWNrYm94ZXMhOiBDaGVja2JveE9wdGlvbltdO1xyXG4gIG9uRmlsdGVyVG9nZ2xlID0gZmFsc2U7XHJcbiAgaXNGaWx0ZXJBY3RpdmUgPSBmYWxzZTtcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICBpc0FwcGx5QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gIGZpbHRlcnNBbmRPcHRpb25zID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIENoZWNrYm94T3B0aW9uW10+KCk7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHJlY3JlYXRlQ2hlY2tib3hPcHRpb25zQ29udHJvbCE6IENoZWNrYm94T3B0aW9uW107XHJcbiAgQFZpZXdDaGlsZChTZWxlY3RDb21wb25lbnQpIHNlbGVjdENvbXBvbmVudCE6IFNlbGVjdENvbXBvbmVudDtcclxuICBwcml2YXRlIGZpbHRlcmVkVHlwZU9wdGlvbnNJbmZvITogQ2hpcE9wdGlvbltdO1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRGaWx0ZXJPcHRpb25UeXBlOiBGaWx0ZXJPcHRpb25UeXBlID1cclxuICAgIEZpbHRlck9wdGlvblR5cGUuQ0hFQ0tCT1g7XHJcbiAgQElucHV0KCkgc2V0IGZpbHRlck9wdGlvblR5cGUob3B0aW9uVHlwZTogRmlsdGVyT3B0aW9uVHlwZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvblR5cGUgPSBvcHRpb25UeXBlO1xyXG4gIH1cclxuICBnZXQgZmlsdGVyT3B0aW9uVHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uVHlwZTtcclxuICB9XHJcbiAgb3B0aW9uc1R5cGUgPSBGaWx0ZXJPcHRpb25UeXBlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGFwcGxpZWRGaWx0ZXJPcHRpb25zKG9wdGlvbnM6IENoaXBPcHRpb25bXSkge1xyXG4gICAgdGhpcy5maWx0ZXJlZFR5cGVPcHRpb25zSW5mbyA9IG9wdGlvbnM7XHJcbiAgfVxyXG4gIGdldCBhcHBsaWVkRmlsdGVyT3B0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkVHlwZU9wdGlvbnNJbmZvO1xyXG4gIH1cclxuICBASW5wdXQoKSBmaWx0ZXJCdXR0b246IEljb25CdXR0b24gPSB0aGlzLmNvbnN0YW50cz8uZmlsdGVyPy5idXR0b25zWzBdO1xyXG4gIEBJbnB1dCgpIGZpbHRlcnMhOiBDaGlwT3B0aW9uW107XHJcbiAgQElucHV0KCkgY2FuU2hvd1NlbGVjdGlvbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdCE6IENoZWNrYm94T3B0aW9uW107XHJcbiAgc2VsZWN0ZWRGaWx0ZXJEcm9wRG93bkxpc3Q6IFNlbGVjdE9wdGlvbltdID0gW107XHJcbiAgZGVmYXVsdFNlbGVjdGVkRmlsdGVyRHJvcERvd25PcHRpb25zOiBTZWxlY3RPcHRpb25bXSA9IFtdO1xyXG4gIHNlbGVjdGVkRmlsdGVySWQhOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgcHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q6IENoZWNrYm94T3B0aW9uW10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3RlZEZpbHRlck9wdGlvbnMob3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSkge1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgdGhpcy5zZWxlY3RlZEZpbHRlcklkKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuc2V0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCwgb3B0aW9ucyk7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0ID0gb3B0aW9ucztcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMucHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QubGVuZ3RoICYmXHJcbiAgICAgICAgdGhpcy5wcmV2U2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdFswXS5uYW1lICE9PVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0Py5bMF0/Lm5hbWVcclxuICAgICAgKVxyXG4gICAgICAgIHRoaXMucmVjcmVhdGVDaGVja2JveE9wdGlvbnNDb250cm9sID0gb3B0aW9ucztcclxuICAgICAgdGhpcy5wcmV2U2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdCA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpbHRlck9wdGlvblR5cGUgPT09IHRoaXMub3B0aW9uc1R5cGUuRFJPUERPV04pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlckRyb3BEb3duTGlzdCA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdC5tYXAoXHJcbiAgICAgICAgKHNlbGVjdE9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IHtcclxuICAgICAgICAgIHJldHVybiB7IGlkOiBzZWxlY3RPcHRpb24uaWQsIG5hbWU6IHNlbGVjdE9wdGlvbi5uYW1lID8/ICcnIH07XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdDtcclxuICB9XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxDaGlwT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJlZE9wdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlcnNBbmRPcHRpb25zW10+KCk7XHJcbiAgQE91dHB1dCgpIHJlbW92ZUZpbHRlcmVkT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJEcm9wZG93blNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWZlcmVuY2U6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2VcclxuICAgICAgLmdldEJyZWFrcG9pbnQoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Lm1hdGNoZXM7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJCdXR0b24uZGlzYWJsZWQgPSAhdGhpcy5pc01vYmlsZVZpZXc7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBPbkZpbHRlclNlbGVjdGVkIHJlY2VpdmVzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgZnJvbSBjaGlwIGNvbXBvbmVudCwgZW1pdHMgdGhlIHNlbGVjdGVkIGZpbHRlciBhbmQgdG9nZ2xlIHRoZSBpc0ZpbHRlckJ5T3B0aW9uc1Zpc2libGUgc3RhdGUuXHJcbiAgICogQHBhcmFtIHtDaGlwT3B0aW9ufSB0eXBlXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsdGVyU2VsZWN0ZWQodHlwZTogQ2hpcE9wdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcklkID0gdHlwZS5pZDtcclxuICAgIGlmICh0eXBlLmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlci5lbWl0KHR5cGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZpbHRlck9wZW5lZCA9IHR5cGU/LmNoZWNrZWQ7XHJcbiAgICB0aGlzLmZpbHRlck9wdGlvblR5cGUgPSB0eXBlLm9wdGlvblR5cGUgPz8gdGhpcy5vcHRpb25zVHlwZS5DSEVDS0JPWDtcclxuICAgIHRoaXMub25GaWx0ZXJUb2dnbGUgPSBmYWxzZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25SZW1vdmFsT2ZGaWx0ZXJlZE9wdGlvbiBtZXRob2QgcmVjZWl2ZXMgcmVtb3ZlZCBjaGlwIGZyb20gY2hpcCBjb21wb25lbnQgYW5kIGVtaXRzIHRoZSBldmVudCB3aXRoIHJlbW92ZWQgY2hpcC5cclxuICAgKiBAcGFyYW0ge0NoaXBPcHRpb259IG9wdGlvblxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvblJlbW92YWxPZkZpbHRlcmVkT3B0aW9uKG9wdGlvbjogQ2hpcE9wdGlvbik6IHZvaWQge1xyXG4gICAgaWYgKG9wdGlvbj8ubmFtZSA9PT0gdGhpcy5jb25zdGFudHM/LmZpbHRlcj8ubGFiZWw/LmNsZWFyQWxsKSB7XHJcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMgPSBbXTtcclxuICAgICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5mb3JFYWNoKChvcHRpb25zOiBDaGVja2JveE9wdGlvbltdKSA9PiB7XHJcbiAgICAgICAgb3B0aW9ucz8uZm9yRWFjaCgob3B0aW9uOiBDaGVja2JveE9wdGlvbikgPT4gKG9wdGlvbi5jaGVja2VkID0gZmFsc2UpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyZWRPcHRpb24uZW1pdChbXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFwcGxpZWRGaWx0ZXJPcHRpb25zID0gdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgKHJlczogQ2hpcE9wdGlvbikgPT4gcmVzLmlkICE9PSBvcHRpb24uaWRcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucyA9XHJcbiAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucy5sZW5ndGggPT09IDEgPyBbXSA6IHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnM7XHJcbiAgICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnM/LmZvckVhY2goKGNoZWNrQm94T3B0aW9uOiBDaGVja2JveE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoZWNrQm94T3B0aW9uLmlkID09PSBvcHRpb24uaWQpIGNoZWNrQm94T3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyZWRPcHRpb24uZW1pdCh0aGlzLmdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICB9XHJcbiAgZ2V0TGlzdE9mU2VsZWN0ZWRDaGVja2JveGVzKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRGaWx0ZXJzQW5kT3B0aW9uczogRmlsdGVyc0FuZE9wdGlvbnNbXSA9IFtdO1xyXG4gICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IENoZWNrYm94T3B0aW9uW10sIGtleTogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zOiBDaGVja2JveE9wdGlvbltdID0gW107XHJcbiAgICAgICAgdmFsdWU/LmZvckVhY2goKG9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbi5jaGVja2VkKSBzZWxlY3RlZE9wdGlvbnMucHVzaChvcHRpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoKVxyXG4gICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJzQW5kT3B0aW9ucy5wdXNoKHsgW2tleV06IHNlbGVjdGVkT3B0aW9ucyB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIHJldHVybiBzZWxlY3RlZEZpbHRlcnNBbmRPcHRpb25zO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBPbkZpbHRlckFwcGx5IHRvZ2dsZXMgdGhlIGlzRmlsdGVyQnlPcHRpb25zVmlzaWJsZSBzdGF0ZSwgZW1pdHMgdGhlIHNlbGVjdGVkIGZpbHRlciBvcHRpb25zIGFuZCB0b2dnbGVzIHRoZSBmaWx0ZXIgc3RhdGVPXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsdGVyQXBwbHkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRmlsdGVyT3BlbmVkID0gIXRoaXMuaXNGaWx0ZXJPcGVuZWQ7XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5lbWl0KHRoaXMuZ2V0TGlzdE9mU2VsZWN0ZWRDaGVja2JveGVzKCkpO1xyXG4gICAgdGhpcy5vbkZpbHRlclRvZ2dsZSA9IHRydWU7XHJcbiAgICB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmZXJlbmNlLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2VsZWN0ZWRGaWx0ZXJPcHRpb25zIG1ldGhvZCBpcyBjYWxsZWQgZm9yIGV2ZXJ5IHNlbGVjdGlvbiBhbmQgZGVzZWxlY3Rpb24gb2YgZmlsdGVyIG9wdGlvbiBhbmQgc3RvcmVzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgb3B0aW9ucy5cclxuICAgKiBAcGFyYW0ge0ZpbHRlcnNBbmRPcHRpb25zW119IHZhbHVlc1xyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBzZWxlY3RlZEZpbHRlck9wdGlvbnNJbmZvKHZhbHVlczogQ2hlY2tib3hPcHRpb25bXSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2V0TGlzdE9mU2VsZWN0ZWRDaGVja2JveGVzKCkubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuaXNBcHBseUJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBpZiAodmFsdWVzICYmIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCkge1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLnNldCh0aGlzLnNlbGVjdGVkRmlsdGVySWQsIHZhbHVlcyk7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25GaWx0ZXJCeUljb25DbGljayBtZXRob2QgdG9nZ2xlcyB0aGUgaXNGaWx0ZXJBY3RpdmUgdmFsdWUuXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsdGVyQnlJY29uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gIXRoaXMuaXNGaWx0ZXJBY3RpdmU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE5nT25EZXN0cm95IHBlcmZvcm1zIG5lY2Vzc2FyeSBjbGVhbnVwIHRhc2tzLCBzdWNoIGFzIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbkRyb3Bkb3duU2VsZWN0aW9uQ2hhbmdlKCkgaXMgY2FsbGVkIGZvciBldmVyeSBkcm9wIGRvd24gc2VsZWN0aW9uIGNoYW5nZXMgYW5kIHNldHMgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdC5cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Ecm9wZG93blNlbGVjdGlvbkNoYW5nZShvcHRpb246IFNlbGVjdE9wdGlvbik6IHZvaWQge1xyXG4gICAgaWYgKG9wdGlvbiAmJiB0aGlzLnNlbGVjdGVkRmlsdGVySWQpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb246IENoZWNrYm94T3B0aW9uW10gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWQ6IG9wdGlvbi5pZCxcclxuICAgICAgICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxyXG4gICAgICAgICAgY2hlY2tlZDogdHJ1ZSxcclxuICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q/Lm1hcCgob3B0aW9uKSA9PiB7XHJcbiAgICAgICAgaWYgKG9wdGlvbi5pZCA9PT0gc2VsZWN0ZWRPcHRpb25bMF0uaWQpIHtcclxuICAgICAgICAgIG9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLnNldCh0aGlzLnNlbGVjdGVkRmlsdGVySWQsIHNlbGVjdGVkT3B0aW9uKTtcclxuICAgICAgdGhpcy5zZXRGaWx0ZXJTZWxlY3Rpb25Pbk9wdGlvbkNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKSBjYWxsZWQgb24gZXZlcnkgc2VsZWN0aW9uIGFuZCBkZXNlbGVjdGlvbiBvZiBmaWx0ZXIgb3B0aW9uIGFuZCBzZXRzIGNhblNob3dTZWxlY3Rpb24gZmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIHRpY2sgbWFyayBvZiBzZWxlY3RlZCBmaWx0ZXIgb3B0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBzZXRGaWx0ZXJTZWxlY3Rpb25Pbk9wdGlvbkNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhblNob3dTZWxlY3Rpb24pIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCBvcHRpb25zXSBvZiB0aGlzLmZpbHRlcnNBbmRPcHRpb25zKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyT3B0aW9uID0gdGhpcy5maWx0ZXJzLmZpbmQoKGNoaXBPcHRpb24pID0+IHtcclxuICAgICAgICAgIHJldHVybiBjaGlwT3B0aW9uLm5hbWUgPT09IGtleTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgICAgICBmaWx0ZXJPcHRpb24uY2FuU2hvd1NlbGVjdGlvbiA9IG9wdGlvbnMuc29tZShcclxuICAgICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmNoZWNrZWQgPT09IHRydWVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBmaWx0ZXJEcm9wZG93blNlYXJjaCBldmVudCB3aXRoIHRoZSBzZWFyY2hlZCB0ZXh0IHZhbHVlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hUZXh0XHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25TZWFyY2goc2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlckRyb3Bkb3duU2VhcmNoLmVtaXQoc2VhcmNoVGV4dCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZpbHRlckRyb3Bkb3duU2VhcmNoIGV2ZW50IHRvIHJlc2V0IHRoZSBkcm9wZG93biBvcHRpb25zIHRvIGRlZmF1bHQgd2hlbiB0aGUgZHJvcGRvd24gaXMgY2xvc2VkIGFuZCBzZXRzIHNlYXJjaCB0ZXJtIGVtcHR5LlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3BlbmVkU3RhdGV9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25PcGVuZWRDaGFuZ2UoZXZlbnQ6IFNlbGVjdE9wZW5lZFN0YXRlKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kZWZhdWx0U2VsZWN0ZWRGaWx0ZXJEcm9wRG93bk9wdGlvbnM/Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZEZpbHRlckRyb3BEb3duT3B0aW9ucyA9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlckRyb3BEb3duTGlzdDtcclxuICAgIH1cclxuICAgIGlmICghZXZlbnQ/Lm9wZW5lZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVyRHJvcERvd25MaXN0ID1cclxuICAgICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZEZpbHRlckRyb3BEb3duT3B0aW9ucztcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgIWV2ZW50Py5vcGVuZWQgJiZcclxuICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQ/LmZvcm1GaWVsZHM/LnRvQXJyYXkoKT8uWzBdPy5zZWFyY2hUZXJtXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuZm9ybUZpZWxkcy50b0FycmF5KClbMF0uc2VhcmNoVGVybSA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbHRlclwiICpuZ0lmPVwiZmlsdGVycyAmJiBmaWx0ZXJzLmxlbmd0aCA+IDBcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXNtLWNvbHVtbiBmbGV4LW1kLWNvbHVtbiBmbGV4LWxnLXJvdyBmbGV4LXhsLXJvd1wiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGllZWVzYS1pY29uLWJ1dHRvblxyXG4gICAgICAgIFtpY29uQnV0dG9uXT1cImZpbHRlckJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQnlJY29uQ2xpY2soKVwiXHJcbiAgICAgID48L2llZWVzYS1pY29uLWJ1dHRvbj5cclxuICAgICAgPHBcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1sYWJlbC1sZy1ib2xkLTE2IG0tMFwiXHJcbiAgICAgICAgKm5nSWY9XCIhaXNNb2JpbGVWaWV3IHx8IGlzRmlsdGVyQWN0aXZlXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGNvbnN0YW50cz8uZmlsdGVyPy5sYWJlbD8uZmlsdGVyQnkgfX1cclxuICAgICAgPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgICFpc01vYmlsZVZpZXdcclxuICAgICAgICAgID8gJ2QtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXInXHJcbiAgICAgICAgICA6ICdkLWZsZXggYWxpZ24tc2VsZi1zdHJldGNoIGZsZXgtd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIgcHQtc20tMiBwdC1tZC0yIHB0LTInXHJcbiAgICAgIFwiXHJcbiAgICAgICpuZ0lmPVwiIWlzTW9iaWxlVmlldyB8fCBpc0ZpbHRlckFjdGl2ZVwiXHJcbiAgICA+XHJcbiAgICAgIDxpZWVlc2EtY2hpcHNcclxuICAgICAgICBbY2hpcEdyb3VwXT1cImZpbHRlcnNcIlxyXG4gICAgICAgIFthcnJvd109XCJhcnJvd1wiXHJcbiAgICAgICAgW2NoZWNrXT1cImNoZWNrXCJcclxuICAgICAgICBbaGFzQ2hpcFRvZ2dsZWRdPVwib25GaWx0ZXJUb2dnbGVcIlxyXG4gICAgICAgIChzZWxlY3RlZENoaXApPVwib25GaWx0ZXJTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgPjwvaWVlZXNhLWNoaXBzPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc01vYmlsZVZpZXcgfHwgaXNGaWx0ZXJBY3RpdmVcIj5cclxuICAgIDxpZWVlc2EtY2hlY2tib3hcclxuICAgICAgW2NoZWNrYm94ZXNdPVwic2VsZWN0ZWRGaWx0ZXJPcHRpb25zXCJcclxuICAgICAgW3JlY3JlYXRlQ2hlY2tib3hPcHRpb25zQ29udHJvbF09XCJyZWNyZWF0ZUNoZWNrYm94T3B0aW9uc0NvbnRyb2xcIlxyXG4gICAgICAoY2hlY2tib3hPcHRpb25zQW5kU2VsZWN0aW9uKT1cInNlbGVjdGVkRmlsdGVyT3B0aW9uc0luZm8oJGV2ZW50KVwiXHJcbiAgICAgICpuZ0lmPVwiaXNGaWx0ZXJPcGVuZWQgJiYgZmlsdGVyT3B0aW9uVHlwZSA9PT0gb3B0aW9uc1R5cGUuQ0hFQ0tCT1hcIlxyXG4gICAgICBjbGFzcz1cImQtZmxleCBnYXAtMiBpZWVlc2EtZmlsdGVyX19maWx0ZXItb3B0aW9uc1wiXHJcbiAgICA+PC9pZWVlc2EtY2hlY2tib3g+XHJcbiAgICA8aWVlZXNhLXNlbGVjdFxyXG4gICAgICAqbmdJZj1cImlzRmlsdGVyT3BlbmVkICYmIGZpbHRlck9wdGlvblR5cGUgPT09IG9wdGlvbnNUeXBlLkRST1BET1dOXCJcclxuICAgICAgW2lzU29ydE5lZWRlZF09XCJmYWxzZVwiXHJcbiAgICAgIFtkcm9wZG93bk9wdGlvbnNdPVwic2VsZWN0ZWRGaWx0ZXJEcm9wRG93bkxpc3RcIlxyXG4gICAgICBbaXNMYWJlbEFsaWduZWRMZWZ0XT1cInRydWVcIlxyXG4gICAgICBbc2VsZWN0TGFiZWxdPVwiY29uc3RhbnRzPy52aWV3R3JvdXBzPy5maWx0ZXJCeUxhYmVsXCJcclxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIm9uRHJvcGRvd25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIChvcHRpb25TZWFyY2hlZCk9XCJvbkRyb3Bkb3duU2VhcmNoKCRldmVudClcIlxyXG4gICAgICAoZHJvcGRvd25PcGVuZWRDaGFuZ2UpPVwib25Ecm9wZG93bk9wZW5lZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgW2lzU2VhcmNoXT1cInRydWVcIlxyXG4gICAgPjwvaWVlZXNhLXNlbGVjdD5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImlzRmlsdGVyT3BlbmVkXCJcclxuICAgICAgY2xhc3M9XCJtYXQtdGVydGlhcnktYnV0dG9uIG0tMlwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0FwcGx5QnV0dG9uRGlzYWJsZWRcIlxyXG4gICAgICAoY2xpY2spPVwib25GaWx0ZXJBcHBseSgpXCJcclxuICAgID5cclxuICAgICAge3sgY29uc3RhbnRzPy5maWx0ZXI/LmxhYmVsPy5hcHBseUJ1dHRvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8aWVlZXNhLWNoaXBzXHJcbiAgICAgIFtjaGlwR3JvdXBdPVwiYXBwbGllZEZpbHRlck9wdGlvbnNcIlxyXG4gICAgICBbaXNWaWV3TW9yZU5lZWRlZF09XCJ0cnVlXCJcclxuICAgICAgKm5nSWY9XCJhcHBsaWVkRmlsdGVyT3B0aW9uc1wiXHJcbiAgICAgIFthcnJvd109XCJyZW1vdmVJY29uXCJcclxuICAgICAgKHNlbGVjdGVkQ2hpcCk9XCJvblJlbW92YWxPZkZpbHRlcmVkT3B0aW9uKCRldmVudClcIlxyXG4gICAgICBjbGFzcz1cImQtZmxleCBnYXAtMiBtdC0yXCJcclxuICAgICAgW2hhc1ZpZXdNb3JlRm9yRGVza3RvcF09XCJmYWxzZVwiXHJcbiAgICAgIFtoYXNWaWV3TW9yZUZvck1vYmlsZV09XCJ0cnVlXCJcclxuICAgID48L2llZWVzYS1jaGlwcz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHTixpQkFBaUIsRUFDakIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxP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Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYnJlYWstcG9pbnQtb2JzZXJ2ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDaGVja2JveE9wdGlvbiwgSWNvbkJ1dHRvbiwgU2VsZWN0T3B0aW9uIH0gZnJvbSAnQGllZWVzYS1ucG0vbW9kZWxzJztcclxuaW1wb3J0IHsgQ2hpcE9wdGlvbiwgRmlsdGVyT3B0aW9uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGlwLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZpbHRlcnNBbmRPcHRpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlcnMtb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcGVuZWRTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgZ3JvdXAgb2YgZmlsdGVyLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBGaWx0ZXJDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWZpbHRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBDaGlwc0NvbXBvbmVudCxcclxuICAgIENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBTZWxlY3RDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gY29uc3RhbnRzO1xyXG4gIGFycm93OiBJY29uQnV0dG9uID0gdGhpcy5jb25zdGFudHM/LmNoaXBzPy5pY29ucz8uYXJyb3c7XHJcbiAgY2hlY2s6IEljb25CdXR0b24gPSB0aGlzLmNvbnN0YW50cz8uY2hpcHM/Lmljb25zPy5jaGVjaztcclxuICByZW1vdmVJY29uOiBJY29uQnV0dG9uID0gdGhpcy5jb25zdGFudHM/LmNoaXBzPy5pY29ucz8ucmVtb3ZlO1xyXG4gIGlzRmlsdGVyT3BlbmVkID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRDaGVja2JveGVzITogQ2hlY2tib3hPcHRpb25bXTtcclxuICBvbkZpbHRlclRvZ2dsZSA9IGZhbHNlO1xyXG4gIGlzRmlsdGVyQWN0aXZlID0gZmFsc2U7XHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgaXNBcHBseUJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcclxuICBmaWx0ZXJzQW5kT3B0aW9ucyA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nLCBDaGVja2JveE9wdGlvbltdPigpO1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICByZWNyZWF0ZUNoZWNrYm94T3B0aW9uc0NvbnRyb2whOiBDaGVja2JveE9wdGlvbltdO1xyXG4gIEBWaWV3Q2hpbGQoU2VsZWN0Q29tcG9uZW50KSBzZWxlY3RDb21wb25lbnQhOiBTZWxlY3RDb21wb25lbnQ7XHJcbiAgcHJpdmF0ZSBmaWx0ZXJlZFR5cGVPcHRpb25zSW5mbyE6IENoaXBPcHRpb25bXTtcclxuICBwcml2YXRlIHNlbGVjdGVkRmlsdGVyT3B0aW9uVHlwZTogRmlsdGVyT3B0aW9uVHlwZSA9XHJcbiAgICBGaWx0ZXJPcHRpb25UeXBlLkNIRUNLQk9YO1xyXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXJPcHRpb25UeXBlKG9wdGlvblR5cGU6IEZpbHRlck9wdGlvblR5cGUpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25UeXBlID0gb3B0aW9uVHlwZTtcclxuICB9XHJcbiAgZ2V0IGZpbHRlck9wdGlvblR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvblR5cGU7XHJcbiAgfVxyXG4gIG9wdGlvbnNUeXBlID0gRmlsdGVyT3B0aW9uVHlwZTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBhcHBsaWVkRmlsdGVyT3B0aW9ucyhvcHRpb25zOiBDaGlwT3B0aW9uW10pIHtcclxuICAgIHRoaXMuZmlsdGVyZWRUeXBlT3B0aW9uc0luZm8gPSBvcHRpb25zO1xyXG4gIH1cclxuICBnZXQgYXBwbGllZEZpbHRlck9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZFR5cGVPcHRpb25zSW5mbztcclxuICB9XHJcbiAgQElucHV0KCkgZmlsdGVyQnV0dG9uOiBJY29uQnV0dG9uID0gdGhpcy5jb25zdGFudHM/LmZpbHRlcj8uYnV0dG9uc1swXTtcclxuICBASW5wdXQoKSBmaWx0ZXJzITogQ2hpcE9wdGlvbltdO1xyXG4gIEBJbnB1dCgpIGNhblNob3dTZWxlY3Rpb24gPSBmYWxzZTtcclxuICBwcml2YXRlIHNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QhOiBDaGVja2JveE9wdGlvbltdO1xyXG4gIHNlbGVjdGVkRmlsdGVyRHJvcERvd25MaXN0OiBTZWxlY3RPcHRpb25bXSA9IFtdO1xyXG4gIGRlZmF1bHRTZWxlY3RlZEZpbHRlckRyb3BEb3duT3B0aW9uczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBzZWxlY3RlZEZpbHRlcklkITogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIHByZXZTZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0OiBDaGVja2JveE9wdGlvbltdID0gW107XHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zKG9wdGlvbnM6IENoZWNrYm94T3B0aW9uW10pIHtcclxuICAgIGlmIChvcHRpb25zICYmIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCkge1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLnNldCh0aGlzLnNlbGVjdGVkRmlsdGVySWQsIG9wdGlvbnMpO1xyXG4gICAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdCA9IG9wdGlvbnM7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLnByZXZTZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0Lmxlbmd0aCAmJlxyXG4gICAgICAgIHRoaXMucHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3RbMF0ubmFtZSAhPT1cclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdD8uWzBdPy5uYW1lXHJcbiAgICAgIClcclxuICAgICAgICB0aGlzLnJlY3JlYXRlQ2hlY2tib3hPcHRpb25zQ29udHJvbCA9IG9wdGlvbnM7XHJcbiAgICAgIHRoaXMucHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QgPSB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5maWx0ZXJPcHRpb25UeXBlID09PSB0aGlzLm9wdGlvbnNUeXBlLkRST1BET1dOKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJEcm9wRG93bkxpc3QgPSB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QubWFwKFxyXG4gICAgICAgIChzZWxlY3RPcHRpb246IENoZWNrYm94T3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4geyBpZDogc2VsZWN0T3B0aW9uLmlkLCBuYW1lOiBzZWxlY3RPcHRpb24ubmFtZSA/PyAnJyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHNlbGVjdGVkRmlsdGVyT3B0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hpcE9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZmlsdGVyZWRPcHRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJzQW5kT3B0aW9uc1tdPigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVGaWx0ZXJlZE9wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsdGVyRHJvcGRvd25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmZXJlbmNlOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlXHJcbiAgICAgIC5nZXRCcmVha3BvaW50KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlVmlldyA9IHJlc3VsdC5tYXRjaGVzO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyQnV0dG9uLmRpc2FibGVkID0gIXRoaXMuaXNNb2JpbGVWaWV3O1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25GaWx0ZXJTZWxlY3RlZCByZWNlaXZlcyB0aGUgc2VsZWN0ZWQgZmlsdGVyIGZyb20gY2hpcCBjb21wb25lbnQsIGVtaXRzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgYW5kIHRvZ2dsZSB0aGUgaXNGaWx0ZXJCeU9wdGlvbnNWaXNpYmxlIHN0YXRlLlxyXG4gICAqIEBwYXJhbSB7Q2hpcE9wdGlvbn0gdHlwZVxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkZpbHRlclNlbGVjdGVkKHR5cGU6IENoaXBPcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCA9IHR5cGUuaWQ7XHJcbiAgICBpZiAodHlwZS5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXIuZW1pdCh0eXBlKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGaWx0ZXJPcGVuZWQgPSB0eXBlPy5jaGVja2VkO1xyXG4gICAgdGhpcy5maWx0ZXJPcHRpb25UeXBlID0gdHlwZS5vcHRpb25UeXBlID8/IHRoaXMub3B0aW9uc1R5cGUuQ0hFQ0tCT1g7XHJcbiAgICB0aGlzLm9uRmlsdGVyVG9nZ2xlID0gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE9uUmVtb3ZhbE9mRmlsdGVyZWRPcHRpb24gbWV0aG9kIHJlY2VpdmVzIHJlbW92ZWQgY2hpcCBmcm9tIGNoaXAgY29tcG9uZW50IGFuZCBlbWl0cyB0aGUgZXZlbnQgd2l0aCByZW1vdmVkIGNoaXAuXHJcbiAgICogQHBhcmFtIHtDaGlwT3B0aW9ufSBvcHRpb25cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25SZW1vdmFsT2ZGaWx0ZXJlZE9wdGlvbihvcHRpb246IENoaXBPcHRpb24pOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb24/Lm5hbWUgPT09IHRoaXMuY29uc3RhbnRzPy5maWx0ZXI/LmxhYmVsPy5jbGVhckFsbCkge1xyXG4gICAgICB0aGlzLmFwcGxpZWRGaWx0ZXJPcHRpb25zID0gW107XHJcbiAgICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnM/LmZvckVhY2goKG9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IChvcHRpb24uY2hlY2tlZCA9IGZhbHNlKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcmVkT3B0aW9uLmVtaXQoW10pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucyA9IHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgIChyZXM6IENoaXBPcHRpb24pID0+IHJlcy5pZCAhPT0gb3B0aW9uLmlkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMgPVxyXG4gICAgICAgIHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMubGVuZ3RoID09PSAxID8gW10gOiB0aGlzLmFwcGxpZWRGaWx0ZXJPcHRpb25zO1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLmZvckVhY2goKG9wdGlvbnM6IENoZWNrYm94T3B0aW9uW10pID0+IHtcclxuICAgICAgICBvcHRpb25zPy5mb3JFYWNoKChjaGVja0JveE9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IHtcclxuICAgICAgICAgIGlmIChjaGVja0JveE9wdGlvbi5pZCA9PT0gb3B0aW9uLmlkKSBjaGVja0JveE9wdGlvbi5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcmVkT3B0aW9uLmVtaXQodGhpcy5nZXRMaXN0T2ZTZWxlY3RlZENoZWNrYm94ZXMoKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCk7XHJcbiAgfVxyXG4gIGdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVyc0FuZE9wdGlvbnM6IEZpbHRlcnNBbmRPcHRpb25zW10gPSBbXTtcclxuICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuZm9yRWFjaChcclxuICAgICAgKHZhbHVlOiBDaGVja2JveE9wdGlvbltdLCBrZXk6IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgIHZhbHVlPy5mb3JFYWNoKChvcHRpb24pID0+IHtcclxuICAgICAgICAgIGlmIChvcHRpb24uY2hlY2tlZCkgc2VsZWN0ZWRPcHRpb25zLnB1c2gob3B0aW9uKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aClcclxuICAgICAgICAgIHNlbGVjdGVkRmlsdGVyc0FuZE9wdGlvbnMucHVzaCh7IFtrZXldOiBzZWxlY3RlZE9wdGlvbnMgfSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRGaWx0ZXJzQW5kT3B0aW9ucztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25GaWx0ZXJBcHBseSB0b2dnbGVzIHRoZSBpc0ZpbHRlckJ5T3B0aW9uc1Zpc2libGUgc3RhdGUsIGVtaXRzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgb3B0aW9ucyBhbmQgdG9nZ2xlcyB0aGUgZmlsdGVyIHN0YXRlT1xyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkZpbHRlckFwcGx5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpbHRlck9wZW5lZCA9ICF0aGlzLmlzRmlsdGVyT3BlbmVkO1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuZW1pdCh0aGlzLmdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpKTtcclxuICAgIHRoaXMub25GaWx0ZXJUb2dnbGUgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0FwcGx5QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZmVyZW5jZS5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdGVkRmlsdGVyT3B0aW9ucyBtZXRob2QgaXMgY2FsbGVkIGZvciBldmVyeSBzZWxlY3Rpb24gYW5kIGRlc2VsZWN0aW9uIG9mIGZpbHRlciBvcHRpb24gYW5kIHN0b3JlcyB0aGUgc2VsZWN0ZWQgZmlsdGVyIG9wdGlvbnMuXHJcbiAgICogQHBhcmFtIHtGaWx0ZXJzQW5kT3B0aW9uc1tdfSB2YWx1ZXNcclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zSW5mbyh2YWx1ZXM6IENoZWNrYm94T3B0aW9uW10pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhpcy5pc0FwcGx5QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgZWxzZSB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgaWYgKHZhbHVlcyAmJiB0aGlzLnNlbGVjdGVkRmlsdGVySWQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5zZXQodGhpcy5zZWxlY3RlZEZpbHRlcklkLCB2YWx1ZXMpO1xyXG4gICAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE9uRmlsdGVyQnlJY29uQ2xpY2sgbWV0aG9kIHRvZ2dsZXMgdGhlIGlzRmlsdGVyQWN0aXZlIHZhbHVlLlxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkZpbHRlckJ5SWNvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9ICF0aGlzLmlzRmlsdGVyQWN0aXZlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT25Ecm9wZG93blNlbGVjdGlvbkNoYW5nZSgpIGlzIGNhbGxlZCBmb3IgZXZlcnkgZHJvcCBkb3duIHNlbGVjdGlvbiBjaGFuZ2VzIGFuZCBzZXRzIHNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QuXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25TZWxlY3Rpb25DaGFuZ2Uob3B0aW9uOiBTZWxlY3RPcHRpb24pOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb24gJiYgdGhpcy5zZWxlY3RlZEZpbHRlcklkKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uOiBDaGVja2JveE9wdGlvbltdID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlkOiBvcHRpb24uaWQsXHJcbiAgICAgICAgICBuYW1lOiBvcHRpb24ubmFtZSxcclxuICAgICAgICAgIGNoZWNrZWQ6IHRydWUsXHJcbiAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0Py5tYXAoKG9wdGlvbikgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb24uaWQgPT09IHNlbGVjdGVkT3B0aW9uWzBdLmlkKSB7XHJcbiAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9wdGlvbi5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5pc0FwcGx5QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5zZXQodGhpcy5zZWxlY3RlZEZpbHRlcklkLCBzZWxlY3RlZE9wdGlvbik7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCkgY2FsbGVkIG9uIGV2ZXJ5IHNlbGVjdGlvbiBhbmQgZGVzZWxlY3Rpb24gb2YgZmlsdGVyIG9wdGlvbiBhbmQgc2V0cyBjYW5TaG93U2VsZWN0aW9uIGZsYWcgdG8gc2hvdyBvciBoaWRlIHRoZSB0aWNrIG1hcmsgb2Ygc2VsZWN0ZWQgZmlsdGVyIG9wdGlvbi5cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jYW5TaG93U2VsZWN0aW9uKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgb3B0aW9uc10gb2YgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlck9wdGlvbiA9IHRoaXMuZmlsdGVycy5maW5kKChjaGlwT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gY2hpcE9wdGlvbi5uYW1lID09PSBrZXk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKGZpbHRlck9wdGlvbikge1xyXG4gICAgICAgICAgZmlsdGVyT3B0aW9uLmNhblNob3dTZWxlY3Rpb24gPSBvcHRpb25zLnNvbWUoXHJcbiAgICAgICAgICAgIChvcHRpb24pID0+IG9wdGlvbi5jaGVja2VkID09PSB0cnVlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyB0aGUgZmlsdGVyRHJvcGRvd25TZWFyY2ggZXZlbnQgd2l0aCB0aGUgc2VhcmNoZWQgdGV4dCB2YWx1ZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoVGV4dFxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRyb3Bkb3duU2VhcmNoKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJEcm9wZG93blNlYXJjaC5lbWl0KHNlYXJjaFRleHQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyBmaWx0ZXJEcm9wZG93blNlYXJjaCBldmVudCB0byByZXNldCB0aGUgZHJvcGRvd24gb3B0aW9ucyB0byBkZWZhdWx0IHdoZW4gdGhlIGRyb3Bkb3duIGlzIGNsb3NlZCBhbmQgc2V0cyBzZWFyY2ggdGVybSBlbXB0eS5cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wZW5lZFN0YXRlfSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRyb3Bkb3duT3BlbmVkQ2hhbmdlKGV2ZW50OiBTZWxlY3RPcGVuZWRTdGF0ZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGVmYXVsdFNlbGVjdGVkRmlsdGVyRHJvcERvd25PcHRpb25zPy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRGaWx0ZXJEcm9wRG93bk9wdGlvbnMgPVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJEcm9wRG93bkxpc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAoIWV2ZW50Py5vcGVuZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlckRyb3BEb3duTGlzdCA9XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRGaWx0ZXJEcm9wRG93bk9wdGlvbnM7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgICFldmVudD8ub3BlbmVkICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Py5mb3JtRmllbGRzPy50b0FycmF5KCk/LlswXT8uc2VhcmNoVGVybVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LmZvcm1GaWVsZHMudG9BcnJheSgpWzBdLnNlYXJjaFRlcm0gPSAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1maWx0ZXJcIiAqbmdJZj1cImZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGggPiAwXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1zbS1jb2x1bW4gZmxleC1tZC1jb2x1bW4gZmxleC1sZy1yb3cgZmxleC14bC1yb3dcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxpZWVlc2EtaWNvbi1idXR0b25cclxuICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWx0ZXJCdXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJvbkZpbHRlckJ5SWNvbkNsaWNrKClcIlxyXG4gICAgICA+PC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgICAgIDxwXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtbGFiZWwtbGctYm9sZC0xNiBtLTBcIlxyXG4gICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlVmlldyB8fCBpc0ZpbHRlckFjdGl2ZVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBjb25zdGFudHM/LmZpbHRlcj8ubGFiZWw/LmZpbHRlckJ5IH19XHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICAhaXNNb2JpbGVWaWV3XHJcbiAgICAgICAgICA/ICdkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyJ1xyXG4gICAgICAgICAgOiAnZC1mbGV4IGFsaWduLXNlbGYtc3RyZXRjaCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtY2VudGVyIHB0LXNtLTIgcHQtbWQtMiBwdC0yJ1xyXG4gICAgICBcIlxyXG4gICAgICAqbmdJZj1cIiFpc01vYmlsZVZpZXcgfHwgaXNGaWx0ZXJBY3RpdmVcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLWNoaXBzXHJcbiAgICAgICAgW2NoaXBHcm91cF09XCJmaWx0ZXJzXCJcclxuICAgICAgICBbYXJyb3ddPVwiYXJyb3dcIlxyXG4gICAgICAgIFtjaGVja109XCJjaGVja1wiXHJcbiAgICAgICAgW2hhc0NoaXBUb2dnbGVkXT1cIm9uRmlsdGVyVG9nZ2xlXCJcclxuICAgICAgICAoc2VsZWN0ZWRDaGlwKT1cIm9uRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgID48L2llZWVzYS1jaGlwcz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVWaWV3IHx8IGlzRmlsdGVyQWN0aXZlXCI+XHJcbiAgICA8aWVlZXNhLWNoZWNrYm94XHJcbiAgICAgIFtjaGVja2JveGVzXT1cInNlbGVjdGVkRmlsdGVyT3B0aW9uc1wiXHJcbiAgICAgIFtyZWNyZWF0ZUNoZWNrYm94T3B0aW9uc0NvbnRyb2xdPVwicmVjcmVhdGVDaGVja2JveE9wdGlvbnNDb250cm9sXCJcclxuICAgICAgKGNoZWNrYm94T3B0aW9uc0FuZFNlbGVjdGlvbik9XCJzZWxlY3RlZEZpbHRlck9wdGlvbnNJbmZvKCRldmVudClcIlxyXG4gICAgICAqbmdJZj1cImlzRmlsdGVyT3BlbmVkICYmIGZpbHRlck9wdGlvblR5cGUgPT09IG9wdGlvbnNUeXBlLkNIRUNLQk9YXCJcclxuICAgICAgY2xhc3M9XCJkLWZsZXggZ2FwLTIgaWVlZXNhLWZpbHRlcl9fZmlsdGVyLW9wdGlvbnNcIlxyXG4gICAgPjwvaWVlZXNhLWNoZWNrYm94PlxyXG4gICAgPGllZWVzYS1zZWxlY3RcclxuICAgICAgKm5nSWY9XCJpc0ZpbHRlck9wZW5lZCAmJiBmaWx0ZXJPcHRpb25UeXBlID09PSBvcHRpb25zVHlwZS5EUk9QRE9XTlwiXHJcbiAgICAgIFtpc1NvcnROZWVkZWRdPVwiZmFsc2VcIlxyXG4gICAgICBbZHJvcGRvd25PcHRpb25zXT1cInNlbGVjdGVkRmlsdGVyRHJvcERvd25MaXN0XCJcclxuICAgICAgW2lzTGFiZWxBbGlnbmVkTGVmdF09XCJ0cnVlXCJcclxuICAgICAgW3NlbGVjdExhYmVsXT1cImNvbnN0YW50cz8udmlld0dyb3Vwcz8uZmlsdGVyQnlMYWJlbFwiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJvbkRyb3Bkb3duU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAob3B0aW9uU2VhcmNoZWQpPVwib25Ecm9wZG93blNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgKGRyb3Bkb3duT3BlbmVkQ2hhbmdlKT1cIm9uRHJvcGRvd25PcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFtpc1NlYXJjaF09XCJ0cnVlXCJcclxuICAgID48L2llZWVzYS1zZWxlY3Q+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKm5nSWY9XCJpc0ZpbHRlck9wZW5lZFwiXHJcbiAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBtLTJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNBcHBseUJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQXBwbHkoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGNvbnN0YW50cz8uZmlsdGVyPy5sYWJlbD8uYXBwbHlCdXR0b24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGllZWVzYS1jaGlwc1xyXG4gICAgICBbY2hpcEdyb3VwXT1cImFwcGxpZWRGaWx0ZXJPcHRpb25zXCJcclxuICAgICAgW2lzVmlld01vcmVOZWVkZWRdPVwidHJ1ZVwiXHJcbiAgICAgICpuZ0lmPVwiYXBwbGllZEZpbHRlck9wdGlvbnNcIlxyXG4gICAgICBbYXJyb3ddPVwicmVtb3ZlSWNvblwiXHJcbiAgICAgIChzZWxlY3RlZENoaXApPVwib25SZW1vdmFsT2ZGaWx0ZXJlZE9wdGlvbigkZXZlbnQpXCJcclxuICAgICAgY2xhc3M9XCJkLWZsZXggZ2FwLTIgbXQtMlwiXHJcbiAgICAgIFtoYXNWaWV3TW9yZUZvckRlc2t0b3BdPVwiZmFsc2VcIlxyXG4gICAgICBbaGFzVmlld01vcmVGb3JNb2JpbGVdPVwidHJ1ZVwiXHJcbiAgICA+PC9pZWVlc2EtY2hpcHM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output, forwardRef, } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { SafePipe, SafeType } from '@ieeesa-npm/utility';
3
+ import { SafePipe } from '../../pipes/safe.pipe';
4
+ import { SafeType } from '@ieeesa-npm/models';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  export class FormSupportTextComponent {
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
60
  }], supportTextLinkClick: [{
60
61
  type: Output
61
62
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFTekQsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyw2REFBNkQ7SUFDN0QsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUh6QyxhQUFRLEdBQVcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2Qix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUUzQixDQUFDO0lBQzdDOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsS0FBWTtRQUMvQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVE7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztnQkFDN0IsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUTthQUNoQyxDQUFDLENBQUM7O1lBQ0EsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtZQUNoRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtZQUNoRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6Q1Usd0JBQXdCO21HQUF4Qix3QkFBd0IscU1DdEJyQyx5dEJBa0JBLDg1UkRFWSxZQUFZLDRNQUFtQixRQUFROzs0RkFFdEMsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBR1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lHQUcxQyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgZm9yd2FyZFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTYWZlUGlwZSwgU2FmZVR5cGUgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgTGlua0V2ZW50RW1pdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gU2FmZVBpcGUpXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIHNhZmVUeXBlOiBzdHJpbmcgPSBTYWZlVHlwZS5IVE1MO1xyXG4gIEBPdXRwdXQoKSBzdXBwb3J0VGV4dExpbmtDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua0V2ZW50RW1pdFR5cGU+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHN1cHBvcnRUZXh0TGlua0NsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGZvcm0gc3VwcG9ydCB0ZXh0IGxpbmtcclxuICAgKiBQYXNzZXMgbGlua1R5cGUgaWYgYXZhaWxhYmxlXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25BbmNob3JFbGVtZW50Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5saW5rVHlwZSlcclxuICAgICAgdGhpcy5zdXBwb3J0VGV4dExpbmtDbGljay5lbWl0KHtcclxuICAgICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgICAgbGlua1R5cGU6IHRoaXMuY29uZmlnPy5saW5rVHlwZSxcclxuICAgICAgfSk7XHJcbiAgICBlbHNlIHRoaXMuc3VwcG9ydFRleHRMaW5rQ2xpY2suZW1pdCh7IGV2ZW50OiBldmVudCB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWRkcyBjbGljayBldmVudCB0byB0aGUgYW5jaG9yIHRhZ3MgdXNpbmcgcXVlcnlTZWxlY3RvckFsbFxyXG4gICAqIEBtZW1iZXJvZiBGb3JtU3VwcG9ydFRleHRDb21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbmNob3JUYWdzID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdhJyk7XHJcbiAgICBhbmNob3JUYWdzPy5mb3JFYWNoKChhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50KSA9PiB7XHJcbiAgICAgIGFuY2hvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25BbmNob3JFbGVtZW50Q2xpY2suYmluZCh0aGlzKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmVtb3ZpbmcgdGhlIGV2ZW50IGxpc3RlbmVycyBvbiBkZXN0cm95XHJcbiAgICogQG1lbWJlcm9mIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYW5jaG9yVGFncyA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvckFsbCgnYScpO1xyXG4gICAgYW5jaG9yVGFncz8uZm9yRWFjaCgoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkgPT4ge1xyXG4gICAgICBhbmNob3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQW5jaG9yRWxlbWVudENsaWNrKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8cFxyXG4gIGNsYXNzPVwicHQtMSBtLTAgaWVlZXNhLWJvZHktc20tMTQgaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0XCJcclxuICBbaWRdPVwiY29uZmlnPy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgKm5nSWY9XCJcclxuICAgIGNvbmZpZz8uc3VwcG9ydE1lc3NhZ2UgJiZcclxuICAgIGNvbmZpZz8uY29udHJvbE5hbWUgJiZcclxuICAgICgoZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnVudG91Y2hlZCAmJlxyXG4gICAgICAoZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnByaXN0aW5lIHx8XHJcbiAgICAgICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnZhbGlkKSkgfHxcclxuICAgICAgKGZvcm1Hcm91cC5jb250cm9sc1tjb25maWcuY29udHJvbE5hbWVdPy50b3VjaGVkICYmXHJcbiAgICAgICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnZhbGlkKSlcclxuICBcIlxyXG4gIFthdHRyLmFyaWEtaGlkZGVuXT1cIlxyXG4gICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnRvdWNoZWQgJiZcclxuICAgIGZvcm1Hcm91cC5jb250cm9sc1tjb25maWcuY29udHJvbE5hbWVdPy52YWxpZFxyXG4gIFwiXHJcbiAgW2lubmVySFRNTF09XCJjb25maWc/LnN1cHBvcnRNZXNzYWdlIHwgc2FmZSA6IHNhZmVUeXBlXCJcclxuPjwvcD5cclxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFTOUMsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyw2REFBNkQ7SUFDN0QsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUh6QyxhQUFRLEdBQVcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2Qix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUUzQixDQUFDO0lBQzdDOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsS0FBWTtRQUMvQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVE7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztnQkFDN0IsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUTthQUNoQyxDQUFDLENBQUM7O1lBQ0EsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtZQUNoRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtZQUNoRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6Q1Usd0JBQXdCO21HQUF4Qix3QkFBd0IscU1DdkJyQyx5dEJBa0JBLDg1UkRHWSxZQUFZLDRNQUFtQixRQUFROzs0RkFFdEMsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBR1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lHQUcxQyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgZm9yd2FyZFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTYWZlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3NhZmUucGlwZSc7XHJcbmltcG9ydCB7IFNhZmVUeXBlIH0gZnJvbSAnQGllZWVzYS1ucG0vbW9kZWxzJztcclxuaW1wb3J0IHsgTGlua0V2ZW50RW1pdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gU2FmZVBpcGUpXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIHNhZmVUeXBlOiBzdHJpbmcgPSBTYWZlVHlwZS5IVE1MO1xyXG4gIEBPdXRwdXQoKSBzdXBwb3J0VGV4dExpbmtDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua0V2ZW50RW1pdFR5cGU+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHN1cHBvcnRUZXh0TGlua0NsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGZvcm0gc3VwcG9ydCB0ZXh0IGxpbmtcclxuICAgKiBQYXNzZXMgbGlua1R5cGUgaWYgYXZhaWxhYmxlXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25BbmNob3JFbGVtZW50Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5saW5rVHlwZSlcclxuICAgICAgdGhpcy5zdXBwb3J0VGV4dExpbmtDbGljay5lbWl0KHtcclxuICAgICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgICAgbGlua1R5cGU6IHRoaXMuY29uZmlnPy5saW5rVHlwZSxcclxuICAgICAgfSk7XHJcbiAgICBlbHNlIHRoaXMuc3VwcG9ydFRleHRMaW5rQ2xpY2suZW1pdCh7IGV2ZW50OiBldmVudCB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWRkcyBjbGljayBldmVudCB0byB0aGUgYW5jaG9yIHRhZ3MgdXNpbmcgcXVlcnlTZWxlY3RvckFsbFxyXG4gICAqIEBtZW1iZXJvZiBGb3JtU3VwcG9ydFRleHRDb21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbmNob3JUYWdzID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdhJyk7XHJcbiAgICBhbmNob3JUYWdzPy5mb3JFYWNoKChhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50KSA9PiB7XHJcbiAgICAgIGFuY2hvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25BbmNob3JFbGVtZW50Q2xpY2suYmluZCh0aGlzKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmVtb3ZpbmcgdGhlIGV2ZW50IGxpc3RlbmVycyBvbiBkZXN0cm95XHJcbiAgICogQG1lbWJlcm9mIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYW5jaG9yVGFncyA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvckFsbCgnYScpO1xyXG4gICAgYW5jaG9yVGFncz8uZm9yRWFjaCgoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkgPT4ge1xyXG4gICAgICBhbmNob3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQW5jaG9yRWxlbWVudENsaWNrKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8cFxyXG4gIGNsYXNzPVwicHQtMSBtLTAgaWVlZXNhLWJvZHktc20tMTQgaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0XCJcclxuICBbaWRdPVwiY29uZmlnPy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgKm5nSWY9XCJcclxuICAgIGNvbmZpZz8uc3VwcG9ydE1lc3NhZ2UgJiZcclxuICAgIGNvbmZpZz8uY29udHJvbE5hbWUgJiZcclxuICAgICgoZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnVudG91Y2hlZCAmJlxyXG4gICAgICAoZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnByaXN0aW5lIHx8XHJcbiAgICAgICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnZhbGlkKSkgfHxcclxuICAgICAgKGZvcm1Hcm91cC5jb250cm9sc1tjb25maWcuY29udHJvbE5hbWVdPy50b3VjaGVkICYmXHJcbiAgICAgICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnZhbGlkKSlcclxuICBcIlxyXG4gIFthdHRyLmFyaWEtaGlkZGVuXT1cIlxyXG4gICAgZm9ybUdyb3VwLmNvbnRyb2xzW2NvbmZpZy5jb250cm9sTmFtZV0/LnRvdWNoZWQgJiZcclxuICAgIGZvcm1Hcm91cC5jb250cm9sc1tjb25maWcuY29udHJvbE5hbWVdPy52YWxpZFxyXG4gIFwiXHJcbiAgW2lubmVySFRNTF09XCJjb25maWc/LnN1cHBvcnRNZXNzYWdlIHwgc2FmZSA6IHNhZmVUeXBlXCJcclxuPjwvcD5cclxuIl19
@@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@ang
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as constants from '../../assets/constants.json';
4
4
  import { RouterModule } from '@angular/router';
5
+ import { AlertType } from '@ieeesa-npm/models';
5
6
  import { MatButtonModule } from '@angular/material/button';
6
7
  import { Subject, takeUntil } from 'rxjs';
7
8
  import { MatMenuModule } from '@angular/material/menu';
@@ -9,8 +10,8 @@ import { MenuComponent } from '../menu/menu.component';
9
10
  import { UserProfileMenu } from '../../models/profile-menu.model';
10
11
  import { ImagePreviewComponent } from '../image-preview/image-preview.component';
11
12
  import * as i0 from "@angular/core";
12
- import * as i1 from "@ieeesa-npm/utility";
13
- import * as i2 from "@ieeesa-npm/shared";
13
+ import * as i1 from "../../services/break-point-observer.service";
14
+ import * as i2 from "@ieeesa-npm/utility";
14
15
  import * as i3 from "../../services/file-upload.service";
15
16
  import * as i4 from "@angular/common";
16
17
  /**
@@ -45,16 +46,15 @@ export class HeaderComponent {
45
46
  // eslint-disable-next-line no-unused-vars
46
47
  authService,
47
48
  // eslint-disable-next-line no-unused-vars
48
- // eslint-disable-next-line no-unused-vars
49
49
  storageService,
50
50
  // eslint-disable-next-line no-unused-vars
51
- sharedService,
51
+ alertService,
52
52
  // eslint-disable-next-line no-unused-vars
53
53
  fileUploadService) {
54
54
  this.breakPointObserverService = breakPointObserverService;
55
55
  this.authService = authService;
56
56
  this.storageService = storageService;
57
- this.sharedService = sharedService;
57
+ this.alertService = alertService;
58
58
  this.fileUploadService = fileUploadService;
59
59
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
60
  this.screenTexts = constants;
@@ -95,8 +95,8 @@ export class HeaderComponent {
95
95
  }
96
96
  /**
97
97
  * Desktop event to navigate to logout page.
98
+ * Deletes the application specific and SSO related cookies.
98
99
  * @memberof HeaderComponent
99
- * It will deletes the application specific and SSO related cookies
100
100
  */
101
101
  logout() {
102
102
  this.authService?.deleteCookie(this.headerConfig?.cookieName);
@@ -140,7 +140,12 @@ export class HeaderComponent {
140
140
  },
141
141
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
142
  error: (error) => {
143
- this.sharedService.handleErrors(error, this.screenTexts?.header?.errors);
143
+ this.alertService?.showMessage({
144
+ status: 'custom',
145
+ message: error?.message || this.screenTexts?.header?.errors?.['2029'],
146
+ alertType: AlertType.ERROR,
147
+ isCloseNeeded: true,
148
+ });
144
149
  },
145
150
  });
146
151
  }
@@ -163,7 +168,7 @@ export class HeaderComponent {
163
168
  this.destroy$.next(true);
164
169
  this.destroy$.unsubscribe();
165
170
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.BreakpointObserverService }, { token: i1.AuthService }, { token: i1.StorageService }, { token: i2.SharedService }, { token: i3.FileUploadService }], target: i0.ɵɵFactoryTarget.Component }); }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.BreakpointObserverService }, { token: i2.AuthService }, { token: i2.StorageService }, { token: i2.AlertsService }, { token: i3.FileUploadService }], target: i0.ɵɵFactoryTarget.Component }); }
167
172
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "ieeesa-header", inputs: { headerConfig: "headerConfig", menuConfig: "menuConfig" }, outputs: { toggleNavMenuClick: "toggleNavMenuClick", profileMenuClick: "profileMenuClick" }, ngImport: i0, template: "<header\r\n class=\"ieeesa-header container-fluid d-flex align-items-center justify-content-between flex-wrap\"\r\n>\r\n <div class=\"order-0 order-sm-0\">\r\n <ieeesa-image-preview\r\n class=\"ieeesa-header__logo\"\r\n [imageUrl]=\"imageUrl\"\r\n [imageAltText]=\"imageAltText\"\r\n ></ieeesa-image-preview>\r\n </div>\r\n <div\r\n class=\"order-2 order-sm-1 ieeesa-header__heading-container flex-align-center justify-content-start justify-content-sm-center\"\r\n >\r\n <button\r\n type=\"button\"\r\n (click)=\"toggleNavMenu($event)\"\r\n *ngIf=\"headerConfig?.isSignedIn && isMobileView\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.hamburgerMenu\"\r\n class=\"ieeesa-text-button d-block d-sm-none\"\r\n >\r\n <i class=\"fa-solid fa-bars ieeesa-header__hamburger-menu\"></i>\r\n </button>\r\n <h2 class=\"ieeesa-header__heading ieeesa-title-inter-lg-bold-24\">\r\n {{ headerConfig.applicationName }}\r\n </h2>\r\n </div>\r\n <div\r\n class=\"order-1 order-sm-2 ieeesa-header__profile-container px-0 d-flex align-items-start align-items-sm-center justify-content-end\"\r\n >\r\n <a\r\n class=\"ieeesa-header__help-icon-link\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.helpLink\"\r\n href=\"{{ headerConfig.helpLink }}\"\r\n target=\"_blank\"\r\n >\r\n <i class=\"fa-regular fa-circle-question ieeesa-header__help-icon\"></i>\r\n </a>\r\n <p\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-name ieeesa-title-sm-16 m-0 d-none d-md-block\"\r\n >\r\n {{ headerConfig.userName }}\r\n </p>\r\n <div\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-profile-wrapper\"\r\n >\r\n <ng-container>\r\n <ieeesa-menu\r\n [button]=\"userProfileIconButton\"\r\n (menuItemClick)=\"onUserProfileMenuClick($event)\"\r\n [isMarginBottomZero]=\"true\"\r\n [menuItems]=\"menuItems\"\r\n ></ieeesa-menu>\r\n </ng-container>\r\n </div>\r\n <button\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-text-button ieeesa-header__sign-out ieeesa-label-md-14 d-none d-md-block\"\r\n (click)=\"logout()\"\r\n >\r\n {{ screenTexts?.header?.label?.signOut }}\r\n </button>\r\n </div>\r\n</header>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-header{position:fixed;top:0;left:0;right:0;z-index:999;background-color:#000;margin:0;padding:.625em 1.5em .625em 1.25em}.ieeesa-header__logo .ieeesa-image-preview__image{height:3.375em!important;object-fit:contain}.ieeesa-header__heading{color:#fff;margin-bottom:0}.ieeesa-header__help-icon-link{margin-right:26px}.ieeesa-header__help-icon,.ieeesa-header__user-profile-icon,.ieeesa-header__user-profile-button{width:24px;height:24px;color:#777a7e;font-size:1.5rem}.ieeesa-header__user-name{color:#fff!important;padding-right:8px}.ieeesa-header__sign-out{margin-left:14px;padding-left:12px;border-left:1px solid #63666a;height:1.5em}.ieeesa-header__user-profile-wrapper{position:relative}.ieeesa-header__user-profile-button{position:absolute;top:0;left:0}@media (max-width: 767px){.ieeesa-header__heading{margin-left:.5em;font-size:1.125rem}}@media (max-width: 576px){.ieeesa-header{padding:.75em 1.125em 1.125em .75em}.ieeesa-header__heading-container{padding-top:1.5em;width:100%}.ieeesa-header__profile-container{padding-top:1.25em}.ieeesa-header__hamburger-menu{color:#fff;display:inline-block;width:18px;height:12px;margin-left:.5em;object-fit:contain}}.ieeesa-header .ieeesa-menu__trigger{height:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: MenuComponent, selector: "ieeesa-menu", inputs: ["menuItems", "button", "defaultIconSize", "isMarginBottomZero"], outputs: ["menuToggleButtonElement", "menuItemClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: ImagePreviewComponent, selector: "ieeesa-image-preview", inputs: ["imageAltText", "imageUrl"] }], encapsulation: i0.ViewEncapsulation.None }); }
168
173
  }
169
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
@@ -176,7 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
176
181
  MatMenuModule,
177
182
  ImagePreviewComponent,
178
183
  ], encapsulation: ViewEncapsulation.None, template: "<header\r\n class=\"ieeesa-header container-fluid d-flex align-items-center justify-content-between flex-wrap\"\r\n>\r\n <div class=\"order-0 order-sm-0\">\r\n <ieeesa-image-preview\r\n class=\"ieeesa-header__logo\"\r\n [imageUrl]=\"imageUrl\"\r\n [imageAltText]=\"imageAltText\"\r\n ></ieeesa-image-preview>\r\n </div>\r\n <div\r\n class=\"order-2 order-sm-1 ieeesa-header__heading-container flex-align-center justify-content-start justify-content-sm-center\"\r\n >\r\n <button\r\n type=\"button\"\r\n (click)=\"toggleNavMenu($event)\"\r\n *ngIf=\"headerConfig?.isSignedIn && isMobileView\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.hamburgerMenu\"\r\n class=\"ieeesa-text-button d-block d-sm-none\"\r\n >\r\n <i class=\"fa-solid fa-bars ieeesa-header__hamburger-menu\"></i>\r\n </button>\r\n <h2 class=\"ieeesa-header__heading ieeesa-title-inter-lg-bold-24\">\r\n {{ headerConfig.applicationName }}\r\n </h2>\r\n </div>\r\n <div\r\n class=\"order-1 order-sm-2 ieeesa-header__profile-container px-0 d-flex align-items-start align-items-sm-center justify-content-end\"\r\n >\r\n <a\r\n class=\"ieeesa-header__help-icon-link\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.helpLink\"\r\n href=\"{{ headerConfig.helpLink }}\"\r\n target=\"_blank\"\r\n >\r\n <i class=\"fa-regular fa-circle-question ieeesa-header__help-icon\"></i>\r\n </a>\r\n <p\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-name ieeesa-title-sm-16 m-0 d-none d-md-block\"\r\n >\r\n {{ headerConfig.userName }}\r\n </p>\r\n <div\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-profile-wrapper\"\r\n >\r\n <ng-container>\r\n <ieeesa-menu\r\n [button]=\"userProfileIconButton\"\r\n (menuItemClick)=\"onUserProfileMenuClick($event)\"\r\n [isMarginBottomZero]=\"true\"\r\n [menuItems]=\"menuItems\"\r\n ></ieeesa-menu>\r\n </ng-container>\r\n </div>\r\n <button\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-text-button ieeesa-header__sign-out ieeesa-label-md-14 d-none d-md-block\"\r\n (click)=\"logout()\"\r\n >\r\n {{ screenTexts?.header?.label?.signOut }}\r\n </button>\r\n </div>\r\n</header>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-header{position:fixed;top:0;left:0;right:0;z-index:999;background-color:#000;margin:0;padding:.625em 1.5em .625em 1.25em}.ieeesa-header__logo .ieeesa-image-preview__image{height:3.375em!important;object-fit:contain}.ieeesa-header__heading{color:#fff;margin-bottom:0}.ieeesa-header__help-icon-link{margin-right:26px}.ieeesa-header__help-icon,.ieeesa-header__user-profile-icon,.ieeesa-header__user-profile-button{width:24px;height:24px;color:#777a7e;font-size:1.5rem}.ieeesa-header__user-name{color:#fff!important;padding-right:8px}.ieeesa-header__sign-out{margin-left:14px;padding-left:12px;border-left:1px solid #63666a;height:1.5em}.ieeesa-header__user-profile-wrapper{position:relative}.ieeesa-header__user-profile-button{position:absolute;top:0;left:0}@media (max-width: 767px){.ieeesa-header__heading{margin-left:.5em;font-size:1.125rem}}@media (max-width: 576px){.ieeesa-header{padding:.75em 1.125em 1.125em .75em}.ieeesa-header__heading-container{padding-top:1.5em;width:100%}.ieeesa-header__profile-container{padding-top:1.25em}.ieeesa-header__hamburger-menu{color:#fff;display:inline-block;width:18px;height:12px;margin-left:.5em;object-fit:contain}}.ieeesa-header .ieeesa-menu__trigger{height:auto!important}\n"] }]
179
- }], ctorParameters: function () { return [{ type: i1.BreakpointObserverService }, { type: i1.AuthService }, { type: i1.StorageService }, { type: i2.SharedService }, { type: i3.FileUploadService }]; }, propDecorators: { headerConfig: [{
184
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserverService }, { type: i2.AuthService }, { type: i2.StorageService }, { type: i2.AlertsService }, { type: i3.FileUploadService }]; }, propDecorators: { headerConfig: [{
180
185
  type: Input
181
186
  }], menuConfig: [{
182
187
  type: Input
@@ -185,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
185
190
  }], profileMenuClick: [{
186
191
  type: Output
187
192
  }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBR2pGOzs7R0FHRztBQWdCSCxNQUFNLE9BQU8sZUFBZTtJQVkxQjs7Ozs7T0FLRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQW1CO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JC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QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUM3QyxDQUFDLEVBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sR0FBRyxDQUFDLENBQ3BDLENBQUM7U0FDSDtJQUNILENBQUM7SUFDRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQWpLVSxlQUFlO21HQUFmLGVBQWUsME9DL0M1Qiw4MUVBaUVBLHUvVEQ3QkksWUFBWSxrSUFDWixZQUFZLDhCQUNaLGVBQWUsK0JBQ2YsYUFBYSx3TEFDYixhQUFhLCtCQUNiLHFCQUFxQjs7NEZBTVosZUFBZTtrQkFmM0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixxQkFBcUI7cUJBQ3RCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7bU9BcUJqQyxZQUFZO3NCQURmLEtBQUs7Z0JBU0YsVUFBVTtzQkFEYixLQUFLO2dCQVVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEhlYWRlckNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItY29uZmlnLm1vZGVsJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSxcclxuICBBdXRoU2VydmljZSxcclxuICBTdG9yYWdlU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclByb2ZpbGVNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb2ZpbGUtbWVudS5tb2RlbCc7XHJcbmltcG9ydCB7IEltYWdlUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlLXByZXZpZXcvaW1hZ2UtcHJldmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuLyoqXHJcbiAqIEltcGxlbWVudHMgJiBkaXNwbGF5cyBhcHBsaWNhdGlvbiBsb2dvLCB0aXRsZSwgc2lnbmVkIGluIHVzZXIgaW5mb3JtYXRpb24sIHNpZ24tb3V0IGxpbmssIGFuZCBoYW1idXJnZXIgbGluayBmb3IgbW9iaWxlIHZpZXcuXHJcbiAqIEBjbGFzcyBIZWFkZXJDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWhlYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNZW51Q29tcG9uZW50LFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIEltYWdlUHJldmlld0NvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBoZWFkZXJDb25maWdJbmZvITogSGVhZGVyQ29uZmlnO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2NyZWVuVGV4dHM6IGFueSA9IGNvbnN0YW50cztcclxuICBwcml2YXRlIHByb2ZpbGVNZW51T3B0aW9uczogTWVudVtdID1cclxuICAgIHRoaXMuc2NyZWVuVGV4dHM/LmhlYWRlcj8udXNlclByb2ZpbGVNZW51T3B0aW9ucztcclxuICBtZW51SXRlbXMhOiBNZW51W107XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzXHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgaW1hZ2VVcmwhOiBzdHJpbmc7XHJcbiAgbG9nbyE6IHN0cmluZztcclxuICBpbWFnZUFsdFRleHQhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSGVhZGVyQ29uZmlnIHJlcHJlc2VudHMgdGhlIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzIHJlcXVpcmVkIGZvciBoZWFkZXIgY29tcG9uZW50LlxyXG4gICAqIElucHV0IHByb3BlcnR5IG9mIHRoZSBjb21wb25lbnQgdG8gZ2V0IHRoZSBjb25maWd1cmFibGUgdmFsdWVzIHN1Y2ggYXMgbG9nbywgYXBwIHRpdGxlLCBzaWduZWQgaW4gdXNlciBuYW1lIGFuZCBsb2dvdXQgcmVkaXJlY3QgVVJMLlxyXG4gICAqIEB0eXBlIHtIZWFkZXJDb25maWd9XHJcbiAgICogQG1lbWJlcm9mIEhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGhlYWRlckNvbmZpZyh2YWx1ZTogSGVhZGVyQ29uZmlnKSB7XHJcbiAgICB0aGlzLmhlYWRlckNvbmZpZ0luZm8gPSB2YWx1ZTtcclxuICAgIHRoaXMuZ2V0SW1hZ2VVcmwoKTtcclxuICB9XHJcbiAgZ2V0IGhlYWRlckNvbmZpZygpOiBIZWFkZXJDb25maWcge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyQ29uZmlnSW5mbztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgbWVudUNvbmZpZyh2YWx1ZTogTWVudVtdKSB7XHJcbiAgICB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucyA9IHZhbHVlO1xyXG4gICAgdGhpcy5nZXRNZW51SXRlbXMoKTtcclxuICB9XHJcbiAgZ2V0IG1lbnVDb25maWcoKTogTWVudVtdIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucztcclxuICB9XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KCkgdG9nZ2xlTmF2TWVudUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgcHJvZmlsZU1lbnVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWVudT4oKTtcclxuICB1c2VyUHJvZmlsZUljb25CdXR0b246IEljb25CdXR0b24gPSB0aGlzLnNjcmVlblRleHRzPy5oZWFkZXI/LmJ1dHRvbnNbMF07XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgYnJlYWtQb2ludE9ic2VydmVyU2VydmljZTogQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2VcclxuICApIHtcclxuICAgIGJyZWFrUG9pbnRPYnNlcnZlclNlcnZpY2VcclxuICAgICAgLmdldEJyZWFrcG9pbnQoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Lm1hdGNoZXM7XHJcbiAgICAgICAgdGhpcy5nZXRNZW51SXRlbXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBhcHBCYXNlVXJsIGFuZCBnZXRzIHRoZSBsb2dvIGRvd25sb2FkIEFXUyBwcmUtc2lnbmVkIFVSTCBmcm9tIEFQSS5cclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0SW1hZ2VVcmwoKTtcclxuICAgIHRoaXMuaW1hZ2VBbHRUZXh0ID0gdGhpcy5zY3JlZW5UZXh0cz8uaGVhZGVyPy5hbHQ/LmxvZ287XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBsb2dvIGRvd25sb2FkIEFXUyBwcmUtc2lnbmVkIFVSTCBmcm9tIEFQSSB3aGVuIGlzTG9nb0Zyb21Bd3NTMyBpcyB0cnVlLlxyXG4gICAqL1xyXG4gIGdldEltYWdlVXJsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyQ29uZmlnSW5mbz8uYXBpQmFzZVVybClcclxuICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5zZXRBcGlCYXNlVXJsKHRoaXMuaGVhZGVyQ29uZmlnSW5mby5hcGlCYXNlVXJsKTtcclxuICAgIGlmICh0aGlzLmhlYWRlckNvbmZpZ0luZm8/LmlzTG9nb0Zyb21Bd3NTMykge1xyXG4gICAgICB0aGlzLmdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHModGhpcy5oZWFkZXJDb25maWdJbmZvPy5sb2dvVXJsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLmhlYWRlckNvbmZpZ0luZm8/LmxvZ29Vcmw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXNrdG9wIGV2ZW50IHRvIG5hdmlnYXRlIHRvIGxvZ291dCBwYWdlLlxyXG4gICAqIEBtZW1iZXJvZiBIZWFkZXJDb21wb25lbnRcclxuICAgKiBJdCB3aWxsIGRlbGV0ZXMgdGhlIGFwcGxpY2F0aW9uIHNwZWNpZmljIGFuZCBTU08gcmVsYXRlZCBjb29raWVzXHJcbiAgICovXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZT8uZGVsZXRlQ29va2llKHRoaXMuaGVhZGVyQ29uZmlnPy5jb29raWVOYW1lKTtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2U/LmNsZWFyU3RvcmFnZSgpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLmhlYWRlckNvbmZpZz8uc3NvU2lnbk91dFVybDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdG9nZ2xlTmF2TWVudUNsaWNrIGV2ZW50IG9uY2UgaGFtYnVyZ2VyIGljb24gaXMgY2xpY2tlZC5cclxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBIZWFkZXJDb21wb25lbnRcclxuICAgKi9cclxuICB0b2dnbGVOYXZNZW51KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2dnbGVOYXZNZW51Q2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIHByb2ZpbGUgbWVudSBpdGVtIGNsaWNrIGV2ZW50IGFuZCBjYWxscyB0aGUgbG9nb3V0XHJcbiAgICogbWV0aG9kIHdoZW4gU2lnbiBPdXQgYnV0dG9uIGlzIGNsaWNrZWQuLlxyXG4gICAqIEBwYXJhbSB7TWVudX0gbWVudVxyXG4gICAqIEBtZW1iZXJvZiBIZWFkZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvblVzZXJQcm9maWxlTWVudUNsaWNrKG1lbnU6IE1lbnUpOiB2b2lkIHtcclxuICAgIGlmIChtZW51Py5pZCA9PT0gVXNlclByb2ZpbGVNZW51LlNJR05fT1VUKSB7XHJcbiAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG1lbnU/LmlkID09PSBVc2VyUHJvZmlsZU1lbnUuVVNFUl9QUk9GSUxFKSB7XHJcbiAgICAgIHRoaXMucHJvZmlsZU1lbnVDbGljay5lbWl0KG1lbnUpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlLXNpZ25lZCBVUkwgZm9yIGRvd25sb2FkaW5nIHRoZSBsb2dvIGZyb20gQW1hem9uIFMzIGJ1Y2tldC5cclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJscyhmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICAgIC5nZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKFxyXG4gICAgICAgIGZpbGVOYW1lLFxyXG4gICAgICAgIHRoaXMuaGVhZGVyQ29uZmlnSW5mbz8uaXNQdWJsaWNBUEksXHJcbiAgICAgICAgdGhpcy5oZWFkZXJDb25maWdJbmZvPy5kb21haW5VcmxcclxuICAgICAgKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuaW1hZ2VVcmwgPSByZXNwb25zZT8uYm9keTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogRXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLnNjcmVlblRleHRzPy5oZWFkZXI/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vZGlmaWVzIHRoZSBtZW51IGl0ZW1zIGJhc2VkIG9uIG1vYmlsZSBvciBkZXNrdG9wLlxyXG4gICAqL1xyXG4gIGdldE1lbnVJdGVtcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzTW9iaWxlVmlldykge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IHRoaXMucHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucz8uc2xpY2UoXHJcbiAgICAgICAgMCxcclxuICAgICAgICB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucz8ubGVuZ3RoIC0gMVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBDbGVhbnMgdXAgcmVzb3VyY2VzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aGVhZGVyXHJcbiAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyIGNvbnRhaW5lci1mbHVpZCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtd3JhcFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwib3JkZXItMCBvcmRlci1zbS0wXCI+XHJcbiAgICA8aWVlZXNhLWltYWdlLXByZXZpZXdcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX19sb2dvXCJcclxuICAgICAgW2ltYWdlVXJsXT1cImltYWdlVXJsXCJcclxuICAgICAgW2ltYWdlQWx0VGV4dF09XCJpbWFnZUFsdFRleHRcIlxyXG4gICAgPjwvaWVlZXNhLWltYWdlLXByZXZpZXc+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJvcmRlci0yIG9yZGVyLXNtLTEgaWVlZXNhLWhlYWRlcl9faGVhZGluZy1jb250YWluZXIgZmxleC1hbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0IGp1c3RpZnktY29udGVudC1zbS1jZW50ZXJcIlxyXG4gID5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVOYXZNZW51KCRldmVudClcIlxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZz8uaXNTaWduZWRJbiAmJiBpc01vYmlsZVZpZXdcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNjcmVlblRleHRzPy5oZWFkZXI/LmFyaWFMYWJlbD8uaGFtYnVyZ2VyTWVudVwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXRleHQtYnV0dG9uIGQtYmxvY2sgZC1zbS1ub25lXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1iYXJzIGllZWVzYS1oZWFkZXJfX2hhbWJ1cmdlci1tZW51XCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8aDIgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX19oZWFkaW5nIGllZWVzYS10aXRsZS1pbnRlci1sZy1ib2xkLTI0XCI+XHJcbiAgICAgIHt7IGhlYWRlckNvbmZpZy5hcHBsaWNhdGlvbk5hbWUgfX1cclxuICAgIDwvaDI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJvcmRlci0xIG9yZGVyLXNtLTIgaWVlZXNhLWhlYWRlcl9fcHJvZmlsZS1jb250YWluZXIgcHgtMCBkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgYWxpZ24taXRlbXMtc20tY2VudGVyIGp1c3RpZnktY29udGVudC1lbmRcIlxyXG4gID5cclxuICAgIDxhXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9faGVscC1pY29uLWxpbmtcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNjcmVlblRleHRzPy5oZWFkZXI/LmFyaWFMYWJlbD8uaGVscExpbmtcIlxyXG4gICAgICBocmVmPVwie3sgaGVhZGVyQ29uZmlnLmhlbHBMaW5rIH19XCJcclxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbiBpZWVlc2EtaGVhZGVyX19oZWxwLWljb25cIj48L2k+XHJcbiAgICA8L2E+XHJcbiAgICA8cFxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZy5pc1NpZ25lZEluXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX191c2VyLW5hbWUgaWVlZXNhLXRpdGxlLXNtLTE2IG0tMCBkLW5vbmUgZC1tZC1ibG9ja1wiXHJcbiAgICA+XHJcbiAgICAgIHt7IGhlYWRlckNvbmZpZy51c2VyTmFtZSB9fVxyXG4gICAgPC9wPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZy5pc1NpZ25lZEluXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX191c2VyLXByb2ZpbGUtd3JhcHBlclwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgPGllZWVzYS1tZW51XHJcbiAgICAgICAgICBbYnV0dG9uXT1cInVzZXJQcm9maWxlSWNvbkJ1dHRvblwiXHJcbiAgICAgICAgICAobWVudUl0ZW1DbGljayk9XCJvblVzZXJQcm9maWxlTWVudUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgW2lzTWFyZ2luQm90dG9tWmVyb109XCJ0cnVlXCJcclxuICAgICAgICAgIFttZW51SXRlbXNdPVwibWVudUl0ZW1zXCJcclxuICAgICAgICA+PC9pZWVlc2EtbWVudT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJoZWFkZXJDb25maWcuaXNTaWduZWRJblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXRleHQtYnV0dG9uIGllZWVzYS1oZWFkZXJfX3NpZ24tb3V0IGllZWVzYS1sYWJlbC1tZC0xNCBkLW5vbmUgZC1tZC1ibG9ja1wiXHJcbiAgICAgIChjbGljayk9XCJsb2dvdXQoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IHNjcmVlblRleHRzPy5oZWFkZXI/LmxhYmVsPy5zaWduT3V0IH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9oZWFkZXI+XHJcbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTy9DLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7OztBQUVqRjs7O0dBR0c7QUFnQkgsTUFBTSxPQUFPLGVBQWU7SUFZMUI7Ozs7O09BS0c7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFtQjtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQ0ksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFNRCwwQ0FBMEM7SUFDMUM7SUFDRSwwQ0FBMEM7SUFDbEMseUJBQW9EO0lBQzVELDBDQUEwQztJQUNsQyxXQUF3QjtJQUNoQywwQ0FBMEM7SUFDbEMsY0FBOEI7SUFDdEMsMENBQTBDO0lBQ2xDLFlBQTJCO0lBQ25DLDBDQUEwQztJQUNsQyxpQkFBb0M7UUFScEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUVwRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUV4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFOUIsaUJBQVksR0FBWixZQUFZLENBQWU7UUFFM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWhEOUMsOERBQThEO1FBQzlELGdCQUFXLEdBQVEsU0FBUyxDQUFDO1FBQ3JCLHVCQUFrQixHQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQztRQUVuRCxrRUFBa0U7UUFDbEUsaUJBQVksR0FBRyxLQUFLLENBQUM7UUEwQnJCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUUxQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQy9DLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEQsMEJBQXFCLEdBQWUsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBY3ZFLHlCQUF5QjthQUN0QixhQUFhLEVBQUU7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFO1lBQzFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDbkU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztJQUMxRCxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQUMsSUFBVTtRQUMvQixJQUFJLElBQUksRUFBRSxFQUFFLEtBQUssZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUN6QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjthQUFNLElBQUksSUFBSSxFQUFFLEVBQUUsS0FBSyxlQUFlLENBQUMsWUFBWSxFQUFFO1lBQ3BELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsNEJBQTRCLENBQUMsUUFBZ0I7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQjthQUNuQiw0QkFBNEIsQ0FDM0IsUUFBUSxFQUNSLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQ2pDO2FBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDO1lBQ1QsOERBQThEO1lBQzlELElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDakMsQ0FBQztZQUNELDhEQUE4RDtZQUM5RCxLQUFLLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQzdCLE1BQU0sRUFBRSxRQUFRO29CQUNoQixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7b0JBQ3JFLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSztvQkFDMUIsYUFBYSxFQUFFLElBQUk7aUJBQ3BCLENBQUMsQ0FBQztZQUNMLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQzFDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQzdDLENBQUMsRUFDRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FDcEMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUNEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBbEtVLGVBQWU7bUdBQWYsZUFBZSwwT0MvQzVCLDgxRUFpRUEsdS9URDdCSSxZQUFZLGtJQUNaLFlBQVksOEJBQ1osZUFBZSwrQkFDZixhQUFhLHdMQUNiLGFBQWEsK0JBQ2IscUJBQXFCOzs0RkFNWixlQUFlO2tCQWYzQixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHFCQUFxQjtxQkFDdEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTttT0FxQmpDLFlBQVk7c0JBRGYsS0FBSztnQkFTRixVQUFVO3NCQURiLEtBQUs7Z0JBVUksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSGVhZGVyQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2JyZWFrLXBvaW50LW9ic2VydmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIEF1dGhTZXJ2aWNlLFxyXG4gIFN0b3JhZ2VTZXJ2aWNlLFxyXG4gIEFsZXJ0c1NlcnZpY2UsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7IEljb25CdXR0b24sIEFsZXJ0VHlwZSB9IGZyb20gJ0BpZWVlc2EtbnBtL21vZGVscyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51L21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVudSB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51Lm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclByb2ZpbGVNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb2ZpbGUtbWVudS5tb2RlbCc7XHJcbmltcG9ydCB7IEltYWdlUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlLXByZXZpZXcvaW1hZ2UtcHJldmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG4vKipcclxuICogSW1wbGVtZW50cyAmIGRpc3BsYXlzIGFwcGxpY2F0aW9uIGxvZ28sIHRpdGxlLCBzaWduZWQgaW4gdXNlciBpbmZvcm1hdGlvbiwgc2lnbi1vdXQgbGluaywgYW5kIGhhbWJ1cmdlciBsaW5rIGZvciBtb2JpbGUgdmlldy5cclxuICogQGNsYXNzIEhlYWRlckNvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtaGVhZGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1lbnVDb21wb25lbnQsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgSW1hZ2VQcmV2aWV3Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGhlYWRlckNvbmZpZ0luZm8hOiBIZWFkZXJDb25maWc7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzY3JlZW5UZXh0czogYW55ID0gY29uc3RhbnRzO1xyXG4gIHByaXZhdGUgcHJvZmlsZU1lbnVPcHRpb25zOiBNZW51W10gPVxyXG4gICAgdGhpcy5zY3JlZW5UZXh0cz8uaGVhZGVyPy51c2VyUHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gIG1lbnVJdGVtcyE6IE1lbnVbXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWluZmVycmFibGUtdHlwZXNcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICBpbWFnZVVybCE6IHN0cmluZztcclxuICBsb2dvITogc3RyaW5nO1xyXG4gIGltYWdlQWx0VGV4dCE6IHN0cmluZztcclxuICAvKipcclxuICAgKiBIZWFkZXJDb25maWcgcmVwcmVzZW50cyB0aGUgY29uZmlndXJhYmxlIHByb3BlcnRpZXMgcmVxdWlyZWQgZm9yIGhlYWRlciBjb21wb25lbnQuXHJcbiAgICogSW5wdXQgcHJvcGVydHkgb2YgdGhlIGNvbXBvbmVudCB0byBnZXQgdGhlIGNvbmZpZ3VyYWJsZSB2YWx1ZXMgc3VjaCBhcyBsb2dvLCBhcHAgdGl0bGUsIHNpZ25lZCBpbiB1c2VyIG5hbWUgYW5kIGxvZ291dCByZWRpcmVjdCBVUkwuXHJcbiAgICogQHR5cGUge0hlYWRlckNvbmZpZ31cclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaGVhZGVyQ29uZmlnKHZhbHVlOiBIZWFkZXJDb25maWcpIHtcclxuICAgIHRoaXMuaGVhZGVyQ29uZmlnSW5mbyA9IHZhbHVlO1xyXG4gICAgdGhpcy5nZXRJbWFnZVVybCgpO1xyXG4gIH1cclxuICBnZXQgaGVhZGVyQ29uZmlnKCk6IEhlYWRlckNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJDb25maWdJbmZvO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHNldCBtZW51Q29uZmlnKHZhbHVlOiBNZW51W10pIHtcclxuICAgIHRoaXMucHJvZmlsZU1lbnVPcHRpb25zID0gdmFsdWU7XHJcbiAgICB0aGlzLmdldE1lbnVJdGVtcygpO1xyXG4gIH1cclxuICBnZXQgbWVudUNvbmZpZygpOiBNZW51W10ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gIH1cclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSB0b2dnbGVOYXZNZW51Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBwcm9maWxlTWVudUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51PigpO1xyXG4gIHVzZXJQcm9maWxlSWNvbkJ1dHRvbjogSWNvbkJ1dHRvbiA9IHRoaXMuc2NyZWVuVGV4dHM/LmhlYWRlcj8uYnV0dG9uc1swXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBicmVha1BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICkge1xyXG4gICAgYnJlYWtQb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSByZXN1bHQubWF0Y2hlcztcclxuICAgICAgICB0aGlzLmdldE1lbnVJdGVtcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGFwcEJhc2VVcmwgYW5kIGdldHMgdGhlIGxvZ28gZG93bmxvYWQgQVdTIHByZS1zaWduZWQgVVJMIGZyb20gQVBJLlxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRJbWFnZVVybCgpO1xyXG4gICAgdGhpcy5pbWFnZUFsdFRleHQgPSB0aGlzLnNjcmVlblRleHRzPy5oZWFkZXI/LmFsdD8ubG9nbztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGxvZ28gZG93bmxvYWQgQVdTIHByZS1zaWduZWQgVVJMIGZyb20gQVBJIHdoZW4gaXNMb2dvRnJvbUF3c1MzIGlzIHRydWUuXHJcbiAgICovXHJcbiAgZ2V0SW1hZ2VVcmwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJDb25maWdJbmZvPy5hcGlCYXNlVXJsKVxyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnNldEFwaUJhc2VVcmwodGhpcy5oZWFkZXJDb25maWdJbmZvLmFwaUJhc2VVcmwpO1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyQ29uZmlnSW5mbz8uaXNMb2dvRnJvbUF3c1MzKSB7XHJcbiAgICAgIHRoaXMuZ2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJscyh0aGlzLmhlYWRlckNvbmZpZ0luZm8/LmxvZ29VcmwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbWFnZVVybCA9IHRoaXMuaGVhZGVyQ29uZmlnSW5mbz8ubG9nb1VybDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc2t0b3AgZXZlbnQgdG8gbmF2aWdhdGUgdG8gbG9nb3V0IHBhZ2UuXHJcbiAgICogRGVsZXRlcyB0aGUgYXBwbGljYXRpb24gc3BlY2lmaWMgYW5kIFNTTyByZWxhdGVkIGNvb2tpZXMuXHJcbiAgICogQG1lbWJlcm9mIEhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2U/LmRlbGV0ZUNvb2tpZSh0aGlzLmhlYWRlckNvbmZpZz8uY29va2llTmFtZSk7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlPy5jbGVhclN0b3JhZ2UoKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5oZWFkZXJDb25maWc/LnNzb1NpZ25PdXRVcmw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRvZ2dsZU5hdk1lbnVDbGljayBldmVudCBvbmNlIGhhbWJ1cmdlciBpY29uIGlzIGNsaWNrZWQuXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdG9nZ2xlTmF2TWVudShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudG9nZ2xlTmF2TWVudUNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBwcm9maWxlIG1lbnUgaXRlbSBjbGljayBldmVudCBhbmQgY2FsbHMgdGhlIGxvZ291dFxyXG4gICAqIG1ldGhvZCB3aGVuIFNpZ24gT3V0IGJ1dHRvbiBpcyBjbGlja2VkLi5cclxuICAgKiBAcGFyYW0ge01lbnV9IG1lbnVcclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Vc2VyUHJvZmlsZU1lbnVDbGljayhtZW51OiBNZW51KTogdm9pZCB7XHJcbiAgICBpZiAobWVudT8uaWQgPT09IFVzZXJQcm9maWxlTWVudS5TSUdOX09VVCkge1xyXG4gICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgfSBlbHNlIGlmIChtZW51Py5pZCA9PT0gVXNlclByb2ZpbGVNZW51LlVTRVJfUFJPRklMRSkge1xyXG4gICAgICB0aGlzLnByb2ZpbGVNZW51Q2xpY2suZW1pdChtZW51KTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHByZS1zaWduZWQgVVJMIGZvciBkb3dubG9hZGluZyB0aGUgbG9nbyBmcm9tIEFtYXpvbiBTMyBidWNrZXQuXHJcbiAgICogQG1lbWJlcm9mIEhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZVxyXG4gICAgICAuZ2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJscyhcclxuICAgICAgICBmaWxlTmFtZSxcclxuICAgICAgICB0aGlzLmhlYWRlckNvbmZpZ0luZm8/LmlzUHVibGljQVBJLFxyXG4gICAgICAgIHRoaXMuaGVhZGVyQ29uZmlnSW5mbz8uZG9tYWluVXJsXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmltYWdlVXJsID0gcmVzcG9uc2U/LmJvZHk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZT8uc2hvd01lc3NhZ2Uoe1xyXG4gICAgICAgICAgICBzdGF0dXM6ICdjdXN0b20nLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCB0aGlzLnNjcmVlblRleHRzPy5oZWFkZXI/LmVycm9ycz8uWycyMDI5J10sXHJcbiAgICAgICAgICAgIGFsZXJ0VHlwZTogQWxlcnRUeXBlLkVSUk9SLFxyXG4gICAgICAgICAgICBpc0Nsb3NlTmVlZGVkOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNb2RpZmllcyB0aGUgbWVudSBpdGVtcyBiYXNlZCBvbiBtb2JpbGUgb3IgZGVza3RvcC5cclxuICAgKi9cclxuICBnZXRNZW51SXRlbXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc01vYmlsZVZpZXcpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gdGhpcy5wcm9maWxlTWVudU9wdGlvbnM/LnNsaWNlKFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgdGhpcy5wcm9maWxlTWVudU9wdGlvbnM/Lmxlbmd0aCAtIDFcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xlYW5zIHVwIHJlc291cmNlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLlxyXG4gICAqIEBtZW1iZXJvZiBIZWFkZXJDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGhlYWRlclxyXG4gIGNsYXNzPVwiaWVlZXNhLWhlYWRlciBjb250YWluZXItZmx1aWQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmbGV4LXdyYXBcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIm9yZGVyLTAgb3JkZXItc20tMFwiPlxyXG4gICAgPGllZWVzYS1pbWFnZS1wcmV2aWV3XHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9fbG9nb1wiXHJcbiAgICAgIFtpbWFnZVVybF09XCJpbWFnZVVybFwiXHJcbiAgICAgIFtpbWFnZUFsdFRleHRdPVwiaW1hZ2VBbHRUZXh0XCJcclxuICAgID48L2llZWVzYS1pbWFnZS1wcmV2aWV3PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwib3JkZXItMiBvcmRlci1zbS0xIGllZWVzYS1oZWFkZXJfX2hlYWRpbmctY29udGFpbmVyIGZsZXgtYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1zdGFydCBqdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVyXCJcclxuICA+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwidG9nZ2xlTmF2TWVudSgkZXZlbnQpXCJcclxuICAgICAgKm5nSWY9XCJoZWFkZXJDb25maWc/LmlzU2lnbmVkSW4gJiYgaXNNb2JpbGVWaWV3XCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzY3JlZW5UZXh0cz8uaGVhZGVyPy5hcmlhTGFiZWw/LmhhbWJ1cmdlck1lbnVcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS10ZXh0LWJ1dHRvbiBkLWJsb2NrIGQtc20tbm9uZVwiXHJcbiAgICA+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtYmFycyBpZWVlc2EtaGVhZGVyX19oYW1idXJnZXItbWVudVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGgyIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9faGVhZGluZyBpZWVlc2EtdGl0bGUtaW50ZXItbGctYm9sZC0yNFwiPlxyXG4gICAgICB7eyBoZWFkZXJDb25maWcuYXBwbGljYXRpb25OYW1lIH19XHJcbiAgICA8L2gyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwib3JkZXItMSBvcmRlci1zbS0yIGllZWVzYS1oZWFkZXJfX3Byb2ZpbGUtY29udGFpbmVyIHB4LTAgZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGFsaWduLWl0ZW1zLXNtLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCJcclxuICA+XHJcbiAgICA8YVxyXG4gICAgICBjbGFzcz1cImllZWVzYS1oZWFkZXJfX2hlbHAtaWNvbi1saW5rXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzY3JlZW5UZXh0cz8uaGVhZGVyPy5hcmlhTGFiZWw/LmhlbHBMaW5rXCJcclxuICAgICAgaHJlZj1cInt7IGhlYWRlckNvbmZpZy5oZWxwTGluayB9fVwiXHJcbiAgICAgIHRhcmdldD1cIl9ibGFua1wiXHJcbiAgICA+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24gaWVlZXNhLWhlYWRlcl9faGVscC1pY29uXCI+PC9pPlxyXG4gICAgPC9hPlxyXG4gICAgPHBcclxuICAgICAgKm5nSWY9XCJoZWFkZXJDb25maWcuaXNTaWduZWRJblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9fdXNlci1uYW1lIGllZWVzYS10aXRsZS1zbS0xNiBtLTAgZC1ub25lIGQtbWQtYmxvY2tcIlxyXG4gICAgPlxyXG4gICAgICB7eyBoZWFkZXJDb25maWcudXNlck5hbWUgfX1cclxuICAgIDwvcD5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJoZWFkZXJDb25maWcuaXNTaWduZWRJblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9fdXNlci1wcm9maWxlLXdyYXBwZXJcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgIDxpZWVlc2EtbWVudVxyXG4gICAgICAgICAgW2J1dHRvbl09XCJ1c2VyUHJvZmlsZUljb25CdXR0b25cIlxyXG4gICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwib25Vc2VyUHJvZmlsZU1lbnVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgIFtpc01hcmdpbkJvdHRvbVplcm9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbbWVudUl0ZW1zXT1cIm1lbnVJdGVtc1wiXHJcbiAgICAgICAgPjwvaWVlZXNhLW1lbnU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiaGVhZGVyQ29uZmlnLmlzU2lnbmVkSW5cIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS10ZXh0LWJ1dHRvbiBpZWVlc2EtaGVhZGVyX19zaWduLW91dCBpZWVlc2EtbGFiZWwtbWQtMTQgZC1ub25lIGQtbWQtYmxvY2tcIlxyXG4gICAgICAoY2xpY2spPVwibG9nb3V0KClcIlxyXG4gICAgPlxyXG4gICAgICB7eyBzY3JlZW5UZXh0cz8uaGVhZGVyPy5sYWJlbD8uc2lnbk91dCB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvaGVhZGVyPlxyXG4iXX0=
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35
35
  }], iconButtonClick: [{
36
36
  type: Output
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUU3RDs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVVXLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQVM1RDtJQVJDOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FYVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixxTUN4QmhDLHd0QkF1QkEseTlSREpZLFlBQVksZ09BQUUsZ0JBQWdCOzs0RkFLN0IsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsaUJBRzFCLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uL21vZGVscy9pY29uLWJ1dHRvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHN2ZyBpY29uIGFzIGJ1dHRvbiBjb21wb25lbnQuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIEljb25CdXR0b25Db21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWljb24tYnV0dG9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWNvbkJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaWNvbkJ1dHRvbiE6IEljb25CdXR0b247XHJcbiAgQElucHV0KCkgaXNMYWJlbE5lZWRlZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpY29uQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEljb25CdXR0b24+KCk7XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIGNsaWNrZWQgaWNvbiBidXR0b24gaW5mb3JtYXRpb24uXHJcbiAgICogQHBhcmFtIHtFdmVudH0gSWNvbkJ1dHRvblxyXG4gICAqIEBtZW1iZXJvZiBJY29uQnV0dG9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DbGljayhldmVudDogSWNvbkJ1dHRvbikge1xyXG4gICAgdGhpcy5pY29uQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbiBib3JkZXItMCBpZWVlc2EtaWNvbi1idXR0b25fX3t7IGljb25CdXR0b24uaWQgfX1cIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiaWNvbkJ1dHRvbi5hcmlhTGFiZWxcIlxyXG4gIFttYXRUb29sdGlwXT1cImljb25CdXR0b24udG9vbFRpcFwiXHJcbiAgW2Rpc2FibGVkXT1cImljb25CdXR0b24uZGlzYWJsZWRcIlxyXG4gIChjbGljayk9XCJvbkNsaWNrKGljb25CdXR0b24pXCJcclxuPlxyXG4gIDxzdmdcclxuICAgIGNsYXNzPVwiaWVlZXNhLWljb24tYnV0dG9uX19zdmdcIlxyXG4gICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgIGljb25CdXR0b24uZGlzYWJsZWRcclxuICAgICAgICA/ICdpZWVlc2EtaWNvbi1idXR0b25fX2Rpc2FibGVkJ1xyXG4gICAgICAgIDogJ2llZWVzYS1pY29uLWJ1dHRvbl9fZW5hYmxlZCdcclxuICAgIFwiXHJcbiAgICAqbmdJZj1cImljb25CdXR0b24/Lmljb25VUkxcIlxyXG4gID5cclxuICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJpY29uQnV0dG9uLmljb25VUkxcIj48L3VzZT5cclxuICA8L3N2Zz5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGFiZWxOZWVkZWRcIj57e1xyXG4gICAgaWNvbkJ1dHRvbj8ubGFiZWxcclxuICB9fTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUU3RDs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVVXLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQVM1RDtJQVJDOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FYVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixxTUN4QmhDLHd0QkF1QkEseTlSREpZLFlBQVksZ09BQUUsZ0JBQWdCOzs0RkFLN0IsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsaUJBRzFCLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJ0BpZWVlc2EtbnBtL21vZGVscyc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHN2ZyBpY29uIGFzIGJ1dHRvbiBjb21wb25lbnQuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIEljb25CdXR0b25Db21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWljb24tYnV0dG9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWNvbkJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaWNvbkJ1dHRvbiE6IEljb25CdXR0b247XHJcbiAgQElucHV0KCkgaXNMYWJlbE5lZWRlZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpY29uQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEljb25CdXR0b24+KCk7XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIGNsaWNrZWQgaWNvbiBidXR0b24gaW5mb3JtYXRpb24uXHJcbiAgICogQHBhcmFtIHtFdmVudH0gSWNvbkJ1dHRvblxyXG4gICAqIEBtZW1iZXJvZiBJY29uQnV0dG9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DbGljayhldmVudDogSWNvbkJ1dHRvbikge1xyXG4gICAgdGhpcy5pY29uQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbiBib3JkZXItMCBpZWVlc2EtaWNvbi1idXR0b25fX3t7IGljb25CdXR0b24uaWQgfX1cIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiaWNvbkJ1dHRvbi5hcmlhTGFiZWxcIlxyXG4gIFttYXRUb29sdGlwXT1cImljb25CdXR0b24udG9vbFRpcFwiXHJcbiAgW2Rpc2FibGVkXT1cImljb25CdXR0b24uZGlzYWJsZWRcIlxyXG4gIChjbGljayk9XCJvbkNsaWNrKGljb25CdXR0b24pXCJcclxuPlxyXG4gIDxzdmdcclxuICAgIGNsYXNzPVwiaWVlZXNhLWljb24tYnV0dG9uX19zdmdcIlxyXG4gICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgIGljb25CdXR0b24uZGlzYWJsZWRcclxuICAgICAgICA/ICdpZWVlc2EtaWNvbi1idXR0b25fX2Rpc2FibGVkJ1xyXG4gICAgICAgIDogJ2llZWVzYS1pY29uLWJ1dHRvbl9fZW5hYmxlZCdcclxuICAgIFwiXHJcbiAgICAqbmdJZj1cImljb25CdXR0b24/Lmljb25VUkxcIlxyXG4gID5cclxuICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJpY29uQnV0dG9uLmljb25VUkxcIj48L3VzZT5cclxuICA8L3N2Zz5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbl9fbGFiZWxcIiAqbmdJZj1cImlzTGFiZWxOZWVkZWRcIj57e1xyXG4gICAgaWNvbkJ1dHRvbj8ubGFiZWxcclxuICB9fTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -5,7 +5,8 @@ import { MatButtonModule } from '@angular/material/button';
5
5
  import { MenuComponent } from '../menu/menu.component';
6
6
  import { IconButtonComponent } from '../icon-button/icon-button.component';
7
7
  import * as constants from '../../assets/constants.json';
8
- import { SafePipe, SafeType } from '@ieeesa-npm/utility';
8
+ import { SafePipe } from '../../pipes/safe.pipe';
9
+ import { SafeType } from '@ieeesa-npm/models';
9
10
  import { ObserveDomChangeDirective } from '../../directives/observe-dom-change/observe-dom-change.directive';
10
11
  import { FileDownloadComponent } from '../file-download/file-download.component';
11
12
  import { DragDropModule, moveItemInArray, } from '@angular/cdk/drag-drop';
@@ -195,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
195
196
  }], isReorderRequired: [{
196
197
  type: Input
197
198
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUU3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixPQUFPLEVBRUwsY0FBYyxFQUNkLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFtQmhDLE1BQU0sT0FBTyxhQUFhO0lBUXhCLElBQ0ksYUFBYSxDQUFDLFFBQW9CO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFC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ZUFBZTt3QkFDZixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGNBQWM7cUJBQ2YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTtpR0FLM0IscUJBQXFCO3NCQUE5QixNQUFNO2dCQUlHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUgsYUFBYTtzQkFEaEIsS0FBSztnQkFTRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBT0ksdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFLRSxXQUFXO3NCQUFuQixLQUFLO2dCQUtGLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFPSSxjQUFjO3NCQUF2QixNQUFNO2dCQUdILDJCQUEyQjtzQkFEOUIsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGZvcndhcmRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTGlzdEhlYWRlciwgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbGlzdC1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFNhZmVQaXBlLCBTYWZlVHlwZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2ZURvbUNoYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvb2JzZXJ2ZS1kb20tY2hhbmdlL29ic2VydmUtZG9tLWNoYW5nZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGaWxlRG93bmxvYWRBbmREZWxldGVDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS1kb3dubG9hZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWxlRG93bmxvYWRDb21wb25lbnQgfSBmcm9tICcuLi9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG93bmxvYWRBdHRhY2htZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Rvd25sb2FkLWZpbGUubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIENka0RyYWdEcm9wLFxyXG4gIERyYWdEcm9wTW9kdWxlLFxyXG4gIG1vdmVJdGVtSW5BcnJheSxcclxufSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtbGlzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWVudUNvbXBvbmVudCxcclxuICAgIEljb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBGaWxlRG93bmxvYWRDb21wb25lbnQsXHJcbiAgICBmb3J3YXJkUmVmKCgpID0+IFNhZmVQaXBlKSxcclxuICAgIE9ic2VydmVEb21DaGFuZ2VEaXJlY3RpdmUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGxpc3RJdGVtcyE6IExpc3RJdGVtW107XHJcbiAgbGlzdEhlYWRlciE6IExpc3RIZWFkZXI7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUFuZEFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWRNZW51OiBNZW51O1xyXG4gICAgc2VsZWN0ZWRJdGVtOiBMaXN0SXRlbTtcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSByZW9yZGVyZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbVtdPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGxpc3REYXRhSXRlbXMobGlzdEl0ZW06IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMubGlzdEl0ZW1zID0gbGlzdEl0ZW07XHJcbiAgICB0aGlzLmdldExpc3RJdGVtc1Bvc2l0aW9uQW5kTGV2ZWwodGhpcy5saXN0SXRlbXMsIDApO1xyXG4gIH1cclxuICBnZXQgbGlzdERhdGFJdGVtcygpOiBMaXN0SXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RJdGVtcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgbGlzdEhlYWRlckNvbmZpZyhsaXN0SGVhZGVyRGV0YWlsOiBMaXN0SGVhZGVyKSB7XHJcbiAgICB0aGlzLmxpc3RIZWFkZXIgPSBsaXN0SGVhZGVyRGV0YWlsO1xyXG4gIH1cclxuICBnZXQgbGlzdEhlYWRlckNvbmZpZygpOiBMaXN0SGVhZGVyIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RIZWFkZXI7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBoeXBlckxpbmtBbmRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGRvd25sb2FkU2VsZWN0ZWRGaWxlID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIEZpbGUgfCBEb3dubG9hZEF0dGFjaG1lbnRcclxuICA+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IGNvbnN0YW50cztcclxuICBASW5wdXQoKSBpbmRlbnRhdGlvbiA9IHRoaXMuY29uc3RhbnRzPy5saXN0Py5kZWZhdWx0SW5kZW50YXRpb247XHJcbiAgZHJhZ0FuZERyb3BJY29uVXJsID0gdGhpcy5jb25zdGFudHM/Lmxpc3Q/LmRyYWdBbmREcm9wSWNvblVybDtcclxuICBhZGRMaXN0QnV0dG9uITogSWNvbkJ1dHRvbjtcclxuICBzYWZlVHlwZTogc3RyaW5nID0gU2FmZVR5cGUuSFRNTDtcclxuICBASW5wdXQoKVxyXG4gIHNldCBhZGRMaXN0QnV0dG9uQ29uZmlnKGFkZExpc3RCdXR0b246IEljb25CdXR0b24pIHtcclxuICAgIHRoaXMuYWRkTGlzdEJ1dHRvbiA9IGFkZExpc3RCdXR0b247XHJcbiAgfVxyXG4gIGdldCBhZGRMaXN0QnV0dG9uQ29uZmlnKCk6IEljb25CdXR0b24ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkTGlzdEJ1dHRvbjtcclxuICB9XHJcbiAgQE91dHB1dCgpIGRvbUNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxNdXRhdGlvblJlY29yZD4oKTtcclxuICBwcml2YXRlIF9maWxlRG93bmxvYWRBbmREZWxldGVDb25maWchOiBGaWxlRG93bmxvYWRBbmREZWxldGVDb25maWc7XHJcbiAgQElucHV0KClcclxuICBzZXQgZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKHZhbHVlOiBGaWxlRG93bmxvYWRBbmREZWxldGVDb25maWcpIHtcclxuICAgIHRoaXMuX2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKCk6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gIH1cclxuICBASW5wdXQoKSBpc1Jlb3JkZXJSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cclxuICAvKipcclxuICAgKiBFbWl0cyBoeXBlckxpbmtBbmRCdXR0b25DbGljayBldmVudCBvbiBjbGljayBvZiBoeXBlciBsaW5rLlxyXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBvbkFuY2hvckVsZW1lbnRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIHRoZSBpbmRleCBwb3NpdGlvbi9udW1iZXIgYW5kIGl0ZW1MZXZlbCBmb3IgZWFjaCBsaXN0IGl0ZW0uXHJcbiAgICogQHBhcmFtIHtMaXN0SXRlbVtdfSBpdGVtc1xyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpdGVtTGV2ZWxcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3BhcmVudEluZGV4XVxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0TGlzdEl0ZW1zUG9zaXRpb25BbmRMZXZlbChcclxuICAgIGl0ZW1zOiBMaXN0SXRlbVtdLFxyXG4gICAgaXRlbUxldmVsOiBudW1iZXIsXHJcbiAgICBwYXJlbnRJbmRleD86IHN0cmluZ1xyXG4gICk6IHZvaWQge1xyXG4gICAgaXRlbXM/LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gcGFyZW50SW5kZXggPyBwYXJlbnRJbmRleC5zbGljZSgtMSkgPT09ICcuJyA/IGAke3BhcmVudEluZGV4fSR7aW5kZXggKyAxfWAgOiBgJHtwYXJlbnRJbmRleH0uJHtpbmRleCArIDF9YCA6IGAke2luZGV4ICsgMX0uYDtcclxuICAgICAgaXRlbS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG4gICAgICBpdGVtLml0ZW1MZXZlbCA9IGl0ZW1MZXZlbDtcclxuICAgICAgY29uc3QgcmVvcmRlcmVkUmFuayA9IGlzTmFOKCtwb3NpdGlvbi5zbGljZShwb3NpdGlvbi5sZW5ndGggLSAxKSlcclxuICAgICAgICA/ICtwb3NpdGlvbi5zbGljZSgwLCBwb3NpdGlvbj8ubGVuZ3RoIC0gMSlcclxuICAgICAgICA6ICtwb3NpdGlvbi5zbGljZShwb3NpdGlvbj8ubGFzdEluZGV4T2YoJy4nKSArIDEpO1xyXG4gICAgICBpdGVtLnJlb3JkZXJlZFJhbmsgPSByZW9yZGVyZWRSYW5rO1xyXG4gICAgICBpZiAoaXRlbS5zdWJJdGVtcylcclxuICAgICAgICB0aGlzLmdldExpc3RJdGVtc1Bvc2l0aW9uQW5kTGV2ZWwoXHJcbiAgICAgICAgICBpdGVtLnN1Ykl0ZW1zLFxyXG4gICAgICAgICAgaXRlbUxldmVsICsgMSxcclxuICAgICAgICAgIHBvc2l0aW9uXHJcbiAgICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyB0aGUgc2VsZWN0ZWQgbWVudSBhY3Rpb24gYW5kIHRoZSBpdGVtLlxyXG4gICAqIEBwYXJhbSB7TWVudX0gZXZlbnRcclxuICAgKiBAcGFyYW0ge0xpc3RJdGVtfSBpdGVtXHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBzZWxlY3RlZE1lbnVBY3Rpb24oZXZlbnQ6IE1lbnUsIGl0ZW06IExpc3RJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUFuZEFjdGlvbi5lbWl0KHtcclxuICAgICAgc2VsZWN0ZWRNZW51OiBldmVudCxcclxuICAgICAgc2VsZWN0ZWRJdGVtOiBpdGVtLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBsaXN0LlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gICAqIEBwYXJhbSB7TGlzdEl0ZW19IGl0ZW1cclxuICAgKiBAcmV0dXJuIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBMaXN0SXRlbSk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgaHlwZXJMaW5rQW5kQnV0dG9uQ2xpY2sgZXZlbnQgb24gY2xpY2sgb2YgYnV0dG9uLlxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DbGlja0FkZEl0ZW0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrLmVtaXQoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWRkcyBjbGljayBldmVudCB0byB0aGUgYW5jaG9yIHRhZ3Mgd2hlbmV2ZXIgZG9tIGNoYW5nZXMuXHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRvbUNoYW5nZShldmVudDogTXV0YXRpb25SZWNvcmQpIHtcclxuICAgIGNvbnN0IGFuY2hvclRhZ3MgPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoJ2EnKTtcclxuICAgIGFuY2hvclRhZ3M/LmZvckVhY2goKGFuY2hvcjogSFRNTEFuY2hvckVsZW1lbnQpID0+IHtcclxuICAgICAgYW5jaG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5vbkFuY2hvckVsZW1lbnRDbGljay5iaW5kKHRoaXMpKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kb21DaGFuZ2VFdmVudC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgZG93bmxvYWRTZWxlY3RlZEZpbGUgZXZlbnQuXHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBkb3dubG9hZEZpbGUoZmlsZTogRmlsZSB8IERvd25sb2FkQXR0YWNobWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb3dubG9hZFNlbGVjdGVkRmlsZS5lbWl0KGZpbGUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBUcmlnZ2VycyB3aGVuIHRoZSBpdGVtIGlzIGRyb3BwZWQuXHJcbiAgICogQHBhcmFtIHtDZGtEcmFnRHJvcH0gZXZlbnRcclxuICAgKiBAcGFyYW0ge0xpc3RJdGVtW119IGl0ZW1zXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IG5lc3RpbmdMZXZlbFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8YW55PiwgaXRlbXM6IExpc3RJdGVtW10sIG5lc3RpbmdMZXZlbDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQ/LnByZXZpb3VzQ29udGFpbmVyID09PSBldmVudD8uY29udGFpbmVyKSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheShpdGVtcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5jdXJyZW50SW5kZXggIT09IGV2ZW50LnByZXZpb3VzSW5kZXgpIHtcclxuICAgICAgdGhpcy5nZXRMaXN0SXRlbXNQb3NpdGlvbkFuZExldmVsKHRoaXMubGlzdEl0ZW1zLCBuZXN0aW5nTGV2ZWwpO1xyXG4gICAgICB0aGlzLnJlb3JkZXJlZExpc3QuZW1pdChpdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJlbW92aW5nIHRoZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdHJveS5cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYW5jaG9yVGFncyA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvckFsbCgnYScpO1xyXG4gICAgYW5jaG9yVGFncz8uZm9yRWFjaCgoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkgPT4ge1xyXG4gICAgICBhbmNob3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQW5jaG9yRWxlbWVudENsaWNrKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWVlZXNhLWxpc3QtY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPHAgKm5nSWY9XCJsaXN0SGVhZGVyPy50aXRsZVwiIGNsYXNzPVwiaWVlZXNhLXRpdGxlLWxnLTI0IG1iLTBcIj5cclxuICAgICAgICB7eyBsaXN0SGVhZGVyLnRpdGxlIH19XHJcbiAgICAgIDwvcD5cclxuICAgICAgPHBcclxuICAgICAgICAqbmdJZj1cImxpc3RIZWFkZXI/LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1ib2R5LW1kLTE0IGllZWVzYS1saXN0LWRlc2NyaXB0aW9uXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImxpc3RIZWFkZXIuZGVzY3JpcHRpb24gfCBzYWZlIDogc2FmZVR5cGVcIlxyXG4gICAgICAgIGllZWVzYU9ic2VydmVEb21DaGFuZ2VcclxuICAgICAgICAoZG9tQ2hhbmdlKT1cIm9uRG9tQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+PC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aWVlZXNhLWljb24tYnV0dG9uXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWFkZC1pY29uLWJ1dHRvblwiXHJcbiAgICAgICpuZ0lmPVwibGlzdEhlYWRlcj8uY2FuU2hvd0FkZExpc3RcIlxyXG4gICAgICBbaWNvbkJ1dHRvbl09XCJhZGRMaXN0QnV0dG9uXCJcclxuICAgICAgKGljb25CdXR0b25DbGljayk9XCJvbkNsaWNrQWRkSXRlbSgpXCJcclxuICAgICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAgYWRkTGlzdEJ1dHRvbj8uZGlzYWJsZWRcclxuICAgICAgICAgID8gJ2llZWVzYS1saXN0LWNvbnRhaW5lcl9fYWN0aW9ucy0tZGlzYWJsZWQnXHJcbiAgICAgICAgICA6ICcnXHJcbiAgICAgIFwiXHJcbiAgICA+PC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgIHJlY3Vyc2l2ZUxpc3Q7XHJcbiAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBsaXN0SXRlbXMsIGl0ZW1MZXZlbDogMCB9XHJcbiAgICBcIlxyXG4gID5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTGlzdCBsZXQtaXRlbXMgbGV0LWl0ZW1MZXZlbD1cIml0ZW1MZXZlbFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Jlb3JkZXJSZXF1aXJlZFwiPlxyXG4gICAgPG1hdC1saXN0XHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWxpc3QtaXRlbVwiXHJcbiAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgIGNka0Ryb3BMaXN0RGF0YT1cIml0ZW1zXCJcclxuICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgaXRlbXMsIGl0ZW1MZXZlbClcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtLWNvbnRhaW5lciBkLWZsZXhcIlxyXG4gICAgICAgICAgW3N0eWxlLm1hcmdpbkxlZnQucHhdPVwiaXRlbUxldmVsICogaW5kZW50YXRpb25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtbGlzdC1pdGVtXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAnaWVlZXNhLWxpc3QtaXRlbV9fcm9vdC1sZXZlbC1pdGVtJzogaXRlbUxldmVsID09PSAwLFxyXG4gICAgICAgICAgICAgICdpZWVlc2EtbGlzdC1pdGVtX19zdWJpdGVtJzogaXRlbUxldmVsID4gMFxyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgW2Nka0RyYWdEYXRhXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhZ2VuZGFJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtPy5zdWJJdGVtc1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIHJlY3Vyc2l2ZUxpc3Q7XHJcbiAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLnN1Ykl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgaXRlbUxldmVsOiBpdGVtTGV2ZWwgKyAxXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtbGlzdD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmVvcmRlclJlcXVpcmVkXCI+XHJcbiAgICA8bWF0LWxpc3QgY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW0tY29udGFpbmVyIGQtZmxleFwiXHJcbiAgICAgICAgICBbc3R5bGUubWFyZ2luTGVmdC5weF09XCJpdGVtTGV2ZWwgKiBpbmRlbnRhdGlvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1saXN0LWl0ZW1cclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICdpZWVlc2EtbGlzdC1pdGVtX19yb290LWxldmVsLWl0ZW0nOiBpdGVtTGV2ZWwgPT09IDAsXHJcbiAgICAgICAgICAgICAgJ2llZWVzYS1saXN0LWl0ZW1fX3N1Yml0ZW0nOiBpdGVtTGV2ZWwgPiAwXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhZ2VuZGFJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtPy5zdWJJdGVtc1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIHJlY3Vyc2l2ZUxpc3Q7XHJcbiAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLnN1Ykl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgaXRlbUxldmVsOiBpdGVtTGV2ZWwgKyAxXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtbGlzdD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNhZ2VuZGFJdGVtIGxldC1pdGVtPlxyXG4gIDxkaXYgY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtLWNoaWxkIGQtZmxleFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtX19pdGVtIGQtZmxleFwiPlxyXG4gICAgICA8c3ZnIGNsYXNzPVwiZHJhZy1pY29uXCIgKm5nSWY9XCJpc1Jlb3JkZXJSZXF1aXJlZFwiPlxyXG4gICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJkcmFnQW5kRHJvcEljb25VcmxcIj48L3VzZT5cclxuICAgICAgPC9zdmc+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibGlzdC1udW1iZXJcIj5cclxuICAgICAgICB7eyBpdGVtPy5wb3NpdGlvbiB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1uYW1lIGQtYmxvY2tcIj57eyBpdGVtPy50aXRsZSB9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW1fX2Rlc2MgZC1ibG9ja1wiICpuZ0lmPVwiaXRlbT8uZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgIHt7IGl0ZW0/LmRlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxpZWVlc2EtZmlsZS1kb3dubG9hZFxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtX19saXN0LWZpbGUtZG93bmxvYWRcIlxyXG4gICAgICAgICAgKm5nSWY9XCJpdGVtPy5hdHRhY2htZW50cz8ubGVuZ3RoXCJcclxuICAgICAgICAgIFtmaWxlRG93bmxvYWRBbmREZWxldGVDb25maWddPVwiZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnXCJcclxuICAgICAgICAgIFtkb3dubG9hZEZpbGVzXT1cIml0ZW0/LmF0dGFjaG1lbnRzXCJcclxuICAgICAgICAgIChkb3dubG9hZFNlbGVjdGVkRmlsZSk9XCJkb3dubG9hZEZpbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvaWVlZXNhLWZpbGUtZG93bmxvYWQ+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLW1lbnVfX2FjdGlvblwiPlxyXG4gICAgICA8aWVlZXNhLW1lbnVcclxuICAgICAgICAqbmdJZj1cIml0ZW0/LmFjdGlvbk1lbnVzXCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1tZW51X19pY29uXCJcclxuICAgICAgICBbYnV0dG9uXT1cIml0ZW0/LmFjdGlvbkljb25cIlxyXG4gICAgICAgIFttZW51SXRlbXNdPVwiaXRlbT8uYWN0aW9uTWVudXNcIlxyXG4gICAgICAgIChtZW51SXRlbUNsaWNrKT1cInNlbGVjdGVkTWVudUFjdGlvbigkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgPjwvaWVlZXNhLW1lbnU+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUU3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRixPQUFPLEVBRUwsY0FBYyxFQUNkLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFtQmhDLE1BQU0sT0FBTyxhQUFhO0lBUXhCLElBQ0ksYUFBYSxDQUFDLFFBQW9CO1FBQ3BDLElB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V0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGNBQWM7cUJBQ2YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTtpR0FLM0IscUJBQXFCO3NCQUE5QixNQUFNO2dCQUlHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUgsYUFBYTtzQkFEaEIsS0FBSztnQkFTRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBT0ksdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFLRSxXQUFXO3NCQUFuQixLQUFLO2dCQUtGLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFPSSxjQUFjO3NCQUF2QixNQUFNO2dCQUdILDJCQUEyQjtzQkFEOUIsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGZvcndhcmRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTGlzdEhlYWRlciwgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbGlzdC1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFNhZmVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvc2FmZS5waXBlJztcclxuaW1wb3J0IHsgU2FmZVR5cGUsIEljb25CdXR0b24gfSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZlRG9tQ2hhbmdlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9vYnNlcnZlLWRvbS1jaGFuZ2Uvb2JzZXJ2ZS1kb20tY2hhbmdlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWxlLWRvd25sb2FkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVEb3dubG9hZENvbXBvbmVudCB9IGZyb20gJy4uL2ZpbGUtZG93bmxvYWQvZmlsZS1kb3dubG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEb3dubG9hZEF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG93bmxvYWQtZmlsZS5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgQ2RrRHJhZ0Ryb3AsXHJcbiAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgbW92ZUl0ZW1JbkFycmF5LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNZW51Q29tcG9uZW50LFxyXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEZpbGVEb3dubG9hZENvbXBvbmVudCxcclxuICAgIGZvcndhcmRSZWYoKCkgPT4gU2FmZVBpcGUpLFxyXG4gICAgT2JzZXJ2ZURvbUNoYW5nZURpcmVjdGl2ZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgbGlzdEl0ZW1zITogTGlzdEl0ZW1bXTtcclxuICBsaXN0SGVhZGVyITogTGlzdEhlYWRlcjtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtQW5kQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWxlY3RlZE1lbnU6IE1lbnU7XHJcbiAgICBzZWxlY3RlZEl0ZW06IExpc3RJdGVtO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIHJlb3JkZXJlZExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RJdGVtW10+KCk7XHJcbiAgQElucHV0KClcclxuICBzZXQgbGlzdERhdGFJdGVtcyhsaXN0SXRlbTogTGlzdEl0ZW1bXSkge1xyXG4gICAgdGhpcy5saXN0SXRlbXMgPSBsaXN0SXRlbTtcclxuICAgIHRoaXMuZ2V0TGlzdEl0ZW1zUG9zaXRpb25BbmRMZXZlbCh0aGlzLmxpc3RJdGVtcywgMCk7XHJcbiAgfVxyXG4gIGdldCBsaXN0RGF0YUl0ZW1zKCk6IExpc3RJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubGlzdEl0ZW1zO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHNldCBsaXN0SGVhZGVyQ29uZmlnKGxpc3RIZWFkZXJEZXRhaWw6IExpc3RIZWFkZXIpIHtcclxuICAgIHRoaXMubGlzdEhlYWRlciA9IGxpc3RIZWFkZXJEZXRhaWw7XHJcbiAgfVxyXG4gIGdldCBsaXN0SGVhZGVyQ29uZmlnKCk6IExpc3RIZWFkZXIge1xyXG4gICAgcmV0dXJuIHRoaXMubGlzdEhlYWRlcjtcclxuICB9XHJcbiAgQE91dHB1dCgpIGh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZG93bmxvYWRTZWxlY3RlZEZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgRmlsZSB8IERvd25sb2FkQXR0YWNobWVudFxyXG4gID4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gY29uc3RhbnRzO1xyXG4gIEBJbnB1dCgpIGluZGVudGF0aW9uID0gdGhpcy5jb25zdGFudHM/Lmxpc3Q/LmRlZmF1bHRJbmRlbnRhdGlvbjtcclxuICBkcmFnQW5kRHJvcEljb25VcmwgPSB0aGlzLmNvbnN0YW50cz8ubGlzdD8uZHJhZ0FuZERyb3BJY29uVXJsO1xyXG4gIGFkZExpc3RCdXR0b24hOiBJY29uQnV0dG9uO1xyXG4gIHNhZmVUeXBlOiBzdHJpbmcgPSBTYWZlVHlwZS5IVE1MO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGFkZExpc3RCdXR0b25Db25maWcoYWRkTGlzdEJ1dHRvbjogSWNvbkJ1dHRvbikge1xyXG4gICAgdGhpcy5hZGRMaXN0QnV0dG9uID0gYWRkTGlzdEJ1dHRvbjtcclxuICB9XHJcbiAgZ2V0IGFkZExpc3RCdXR0b25Db25maWcoKTogSWNvbkJ1dHRvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRMaXN0QnV0dG9uO1xyXG4gIH1cclxuICBAT3V0cHV0KCkgZG9tQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE11dGF0aW9uUmVjb3JkPigpO1xyXG4gIHByaXZhdGUgX2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyE6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZztcclxuICBASW5wdXQoKVxyXG4gIHNldCBmaWxlRG93bmxvYWRBbmREZWxldGVDb25maWcodmFsdWU6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZykge1xyXG4gICAgdGhpcy5fZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBmaWxlRG93bmxvYWRBbmREZWxldGVDb25maWcoKTogRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnIHtcclxuICAgIHJldHVybiB0aGlzLl9maWxlRG93bmxvYWRBbmREZWxldGVDb25maWc7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGlzUmVvcmRlclJlcXVpcmVkID0gZmFsc2U7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGh5cGVyIGxpbmsuXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQW5jaG9yRWxlbWVudENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaHlwZXJMaW5rQW5kQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIGluZGV4IHBvc2l0aW9uL251bWJlciBhbmQgaXRlbUxldmVsIGZvciBlYWNoIGxpc3QgaXRlbS5cclxuICAgKiBAcGFyYW0ge0xpc3RJdGVtW119IGl0ZW1zXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGl0ZW1MZXZlbFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbcGFyZW50SW5kZXhdXHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRMaXN0SXRlbXNQb3NpdGlvbkFuZExldmVsKFxyXG4gICAgaXRlbXM6IExpc3RJdGVtW10sXHJcbiAgICBpdGVtTGV2ZWw6IG51bWJlcixcclxuICAgIHBhcmVudEluZGV4Pzogc3RyaW5nXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgcG9zaXRpb24gPSBwYXJlbnRJbmRleCA/IHBhcmVudEluZGV4LnNsaWNlKC0xKSA9PT0gJy4nID8gYCR7cGFyZW50SW5kZXh9JHtpbmRleCArIDF9YCA6IGAke3BhcmVudEluZGV4fS4ke2luZGV4ICsgMX1gIDogYCR7aW5kZXggKyAxfS5gO1xyXG4gICAgICBpdGVtLnBvc2l0aW9uID0gcG9zaXRpb247XHJcbiAgICAgIGl0ZW0uaXRlbUxldmVsID0gaXRlbUxldmVsO1xyXG4gICAgICBjb25zdCByZW9yZGVyZWRSYW5rID0gaXNOYU4oK3Bvc2l0aW9uLnNsaWNlKHBvc2l0aW9uLmxlbmd0aCAtIDEpKVxyXG4gICAgICAgID8gK3Bvc2l0aW9uLnNsaWNlKDAsIHBvc2l0aW9uPy5sZW5ndGggLSAxKVxyXG4gICAgICAgIDogK3Bvc2l0aW9uLnNsaWNlKHBvc2l0aW9uPy5sYXN0SW5kZXhPZignLicpICsgMSk7XHJcbiAgICAgIGl0ZW0ucmVvcmRlcmVkUmFuayA9IHJlb3JkZXJlZFJhbms7XHJcbiAgICAgIGlmIChpdGVtLnN1Ykl0ZW1zKVxyXG4gICAgICAgIHRoaXMuZ2V0TGlzdEl0ZW1zUG9zaXRpb25BbmRMZXZlbChcclxuICAgICAgICAgIGl0ZW0uc3ViSXRlbXMsXHJcbiAgICAgICAgICBpdGVtTGV2ZWwgKyAxLFxyXG4gICAgICAgICAgcG9zaXRpb25cclxuICAgICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBzZWxlY3RlZCBtZW51IGFjdGlvbiBhbmQgdGhlIGl0ZW0uXHJcbiAgICogQHBhcmFtIHtNZW51fSBldmVudFxyXG4gICAqIEBwYXJhbSB7TGlzdEl0ZW19IGl0ZW1cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHNlbGVjdGVkTWVudUFjdGlvbihldmVudDogTWVudSwgaXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtQW5kQWN0aW9uLmVtaXQoe1xyXG4gICAgICBzZWxlY3RlZE1lbnU6IGV2ZW50LFxyXG4gICAgICBzZWxlY3RlZEl0ZW06IGl0ZW0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGxpc3QuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtMaXN0SXRlbX0gaXRlbVxyXG4gICAqIEByZXR1cm4geyhudW1iZXIgfCBzdHJpbmcpfVxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IExpc3RJdGVtKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyBoeXBlckxpbmtBbmRCdXR0b25DbGljayBldmVudCBvbiBjbGljayBvZiBidXR0b24uXHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBvbkNsaWNrQWRkSXRlbSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaHlwZXJMaW5rQW5kQnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBBZGRzIGNsaWNrIGV2ZW50IHRvIHRoZSBhbmNob3IgdGFncyB3aGVuZXZlciBkb20gY2hhbmdlcy5cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRG9tQ2hhbmdlKGV2ZW50OiBNdXRhdGlvblJlY29yZCkge1xyXG4gICAgY29uc3QgYW5jaG9yVGFncyA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvckFsbCgnYScpO1xyXG4gICAgYW5jaG9yVGFncz8uZm9yRWFjaCgoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkgPT4ge1xyXG4gICAgICBhbmNob3IuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQW5jaG9yRWxlbWVudENsaWNrLmJpbmQodGhpcykpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRvbUNoYW5nZUV2ZW50LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyBkb3dubG9hZFNlbGVjdGVkRmlsZSBldmVudC5cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGRvd25sb2FkRmlsZShmaWxlOiBGaWxlIHwgRG93bmxvYWRBdHRhY2htZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmRvd25sb2FkU2VsZWN0ZWRGaWxlLmVtaXQoZmlsZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJzIHdoZW4gdGhlIGl0ZW0gaXMgZHJvcHBlZC5cclxuICAgKiBAcGFyYW0ge0Nka0RyYWdEcm9wfSBldmVudFxyXG4gICAqIEBwYXJhbSB7TGlzdEl0ZW1bXX0gaXRlbXNcclxuICAgKiBAcGFyYW0ge251bWJlcn0gbmVzdGluZ0xldmVsXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnk+LCBpdGVtczogTGlzdEl0ZW1bXSwgbmVzdGluZ0xldmVsOiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudD8ucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50Py5jb250YWluZXIpIHtcclxuICAgICAgbW92ZUl0ZW1JbkFycmF5KGl0ZW1zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LmN1cnJlbnRJbmRleCAhPT0gZXZlbnQucHJldmlvdXNJbmRleCkge1xyXG4gICAgICB0aGlzLmdldExpc3RJdGVtc1Bvc2l0aW9uQW5kTGV2ZWwodGhpcy5saXN0SXRlbXMsIG5lc3RpbmdMZXZlbCk7XHJcbiAgICAgIHRoaXMucmVvcmRlcmVkTGlzdC5lbWl0KGl0ZW1zKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmVtb3ZpbmcgdGhlIGV2ZW50IGxpc3RlbmVycyBvbiBkZXN0cm95LlxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbmNob3JUYWdzID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdhJyk7XHJcbiAgICBhbmNob3JUYWdzPy5mb3JFYWNoKChhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50KSA9PiB7XHJcbiAgICAgIGFuY2hvci5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25BbmNob3JFbGVtZW50Q2xpY2spO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZWVlc2EtbGlzdC1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8cCAqbmdJZj1cImxpc3RIZWFkZXI/LnRpdGxlXCIgY2xhc3M9XCJpZWVlc2EtdGl0bGUtbGctMjQgbWItMFwiPlxyXG4gICAgICAgIHt7IGxpc3RIZWFkZXIudGl0bGUgfX1cclxuICAgICAgPC9wPlxyXG4gICAgICA8cFxyXG4gICAgICAgICpuZ0lmPVwibGlzdEhlYWRlcj8uZGVzY3JpcHRpb25cIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLWJvZHktbWQtMTQgaWVlZXNhLWxpc3QtZGVzY3JpcHRpb25cIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwibGlzdEhlYWRlci5kZXNjcmlwdGlvbiB8IHNhZmUgOiBzYWZlVHlwZVwiXHJcbiAgICAgICAgaWVlZXNhT2JzZXJ2ZURvbUNoYW5nZVxyXG4gICAgICAgIChkb21DaGFuZ2UpPVwib25Eb21DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpZWVlc2EtaWNvbi1idXR0b25cclxuICAgICAgY2xhc3M9XCJpZWVlc2EtYWRkLWljb24tYnV0dG9uXCJcclxuICAgICAgKm5nSWY9XCJsaXN0SGVhZGVyPy5jYW5TaG93QWRkTGlzdFwiXHJcbiAgICAgIFtpY29uQnV0dG9uXT1cImFkZExpc3RCdXR0b25cIlxyXG4gICAgICAoaWNvbkJ1dHRvbkNsaWNrKT1cIm9uQ2xpY2tBZGRJdGVtKClcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBhZGRMaXN0QnV0dG9uPy5kaXNhYmxlZFxyXG4gICAgICAgICAgPyAnaWVlZXNhLWxpc3QtY29udGFpbmVyX19hY3Rpb25zLS1kaXNhYmxlZCdcclxuICAgICAgICAgIDogJydcclxuICAgICAgXCJcclxuICAgID48L2llZWVzYS1pY29uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgcmVjdXJzaXZlTGlzdDtcclxuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGxpc3RJdGVtcywgaXRlbUxldmVsOiAwIH1cclxuICAgIFwiXHJcbiAgPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNyZWN1cnNpdmVMaXN0IGxldC1pdGVtcyBsZXQtaXRlbUxldmVsPVwiaXRlbUxldmVsXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmVvcmRlclJlcXVpcmVkXCI+XHJcbiAgICA8bWF0LWxpc3RcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtXCJcclxuICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgY2RrRHJvcExpc3REYXRhPVwiaXRlbXNcIlxyXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCBpdGVtcywgaXRlbUxldmVsKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW0tY29udGFpbmVyIGQtZmxleFwiXHJcbiAgICAgICAgICBbc3R5bGUubWFyZ2luTGVmdC5weF09XCJpdGVtTGV2ZWwgKiBpbmRlbnRhdGlvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1saXN0LWl0ZW1cclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICdpZWVlc2EtbGlzdC1pdGVtX19yb290LWxldmVsLWl0ZW0nOiBpdGVtTGV2ZWwgPT09IDAsXHJcbiAgICAgICAgICAgICAgJ2llZWVzYS1saXN0LWl0ZW1fX3N1Yml0ZW0nOiBpdGVtTGV2ZWwgPiAwXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwiaXRlbVwiXHJcbiAgICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgICAgY2RrRHJhZ0xvY2tBeGlzPVwieVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImFnZW5kYUl0ZW07IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LnN1Ykl0ZW1zXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgcmVjdXJzaXZlTGlzdDtcclxuICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uc3ViSXRlbXMsXHJcbiAgICAgICAgICAgICAgICBpdGVtTGV2ZWw6IGl0ZW1MZXZlbCArIDFcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L21hdC1saXN0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNSZW9yZGVyUmVxdWlyZWRcIj5cclxuICAgIDxtYXQtbGlzdCBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW1cIj5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiaWVlZXNhLWxpc3QtaXRlbS1jb250YWluZXIgZC1mbGV4XCJcclxuICAgICAgICAgIFtzdHlsZS5tYXJnaW5MZWZ0LnB4XT1cIml0ZW1MZXZlbCAqIGluZGVudGF0aW9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbVxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgJ2llZWVzYS1saXN0LWl0ZW1fX3Jvb3QtbGV2ZWwtaXRlbSc6IGl0ZW1MZXZlbCA9PT0gMCxcclxuICAgICAgICAgICAgICAnaWVlZXNhLWxpc3QtaXRlbV9fc3ViaXRlbSc6IGl0ZW1MZXZlbCA+IDBcclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImFnZW5kYUl0ZW07IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LnN1Ykl0ZW1zXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgcmVjdXJzaXZlTGlzdDtcclxuICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uc3ViSXRlbXMsXHJcbiAgICAgICAgICAgICAgICBpdGVtTGV2ZWw6IGl0ZW1MZXZlbCArIDFcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L21hdC1saXN0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2FnZW5kYUl0ZW0gbGV0LWl0ZW0+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW0tY2hpbGQgZC1mbGV4XCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW1fX2l0ZW0gZC1mbGV4XCI+XHJcbiAgICAgIDxzdmcgY2xhc3M9XCJkcmFnLWljb25cIiAqbmdJZj1cImlzUmVvcmRlclJlcXVpcmVkXCI+XHJcbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImRyYWdBbmREcm9wSWNvblVybFwiPjwvdXNlPlxyXG4gICAgICA8L3N2Zz5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJsaXN0LW51bWJlclwiPlxyXG4gICAgICAgIHt7IGl0ZW0/LnBvc2l0aW9uIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLW5hbWUgZC1ibG9ja1wiPnt7IGl0ZW0/LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWxpc3QtaXRlbV9fZGVzYyBkLWJsb2NrXCIgKm5nSWY9XCJpdGVtPy5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAge3sgaXRlbT8uZGVzY3JpcHRpb24gfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGllZWVzYS1maWxlLWRvd25sb2FkXHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW1fX2xpc3QtZmlsZS1kb3dubG9hZFwiXHJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0/LmF0dGFjaG1lbnRzPy5sZW5ndGhcIlxyXG4gICAgICAgICAgW2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZ109XCJmaWxlRG93bmxvYWRBbmREZWxldGVDb25maWdcIlxyXG4gICAgICAgICAgW2Rvd25sb2FkRmlsZXNdPVwiaXRlbT8uYXR0YWNobWVudHNcIlxyXG4gICAgICAgICAgKGRvd25sb2FkU2VsZWN0ZWRGaWxlKT1cImRvd25sb2FkRmlsZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9pZWVlc2EtZmlsZS1kb3dubG9hZD5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtbWVudV9fYWN0aW9uXCI+XHJcbiAgICAgIDxpZWVlc2EtbWVudVxyXG4gICAgICAgICpuZ0lmPVwiaXRlbT8uYWN0aW9uTWVudXNcIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLW1lbnVfX2ljb25cIlxyXG4gICAgICAgIFtidXR0b25dPVwiaXRlbT8uYWN0aW9uSWNvblwiXHJcbiAgICAgICAgW21lbnVJdGVtc109XCJpdGVtPy5hY3Rpb25NZW51c1wiXHJcbiAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwic2VsZWN0ZWRNZW51QWN0aW9uKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICA+PC9pZWVlc2EtbWVudT5cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19