@hmcts/ccd-case-ui-toolkit 6.10.7-case-flags-create-change-links → 6.10.7-cfv-move-document-handle-error

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 (76) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +810 -986
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +1 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +31 -41
  7. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +3 -6
  8. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +60 -26
  9. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +76 -29
  10. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +2 -1
  11. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.js +1 -1
  12. package/esm2015/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.js +3 -5
  13. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +20 -70
  14. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +8 -16
  15. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +18 -18
  16. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +5 -9
  17. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +92 -119
  18. package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +64 -106
  19. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag-state.model.js +1 -1
  20. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +1 -2
  21. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +3 -4
  22. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +14 -30
  23. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +68 -55
  24. package/esm2015/lib/shared/components/palette/palette.module.js +3 -3
  25. package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +1 -16
  26. package/esm2015/lib/shared/pipes/index.js +1 -2
  27. package/esm2015/lib/shared/pipes/pipes.module.js +5 -9
  28. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +574 -708
  29. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  30. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  31. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  32. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -1
  33. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +2 -0
  34. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
  35. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +4 -1
  36. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  37. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +0 -1
  38. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  39. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +3 -6
  40. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
  41. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +3 -3
  42. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  43. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  44. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +3 -4
  45. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  46. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +5 -7
  47. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  48. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +10 -1
  49. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
  50. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +1 -2
  51. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
  52. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +2 -3
  53. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
  54. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +2 -5
  55. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  56. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +22 -14
  57. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  58. package/lib/shared/domain/case-flag/flag-type.model.d.ts +0 -1
  59. package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
  60. package/lib/shared/pipes/index.d.ts +0 -1
  61. package/lib/shared/pipes/index.d.ts.map +1 -1
  62. package/lib/shared/pipes/pipes.module.d.ts +2 -3
  63. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +0 -17
  66. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +0 -6
  67. package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +0 -16
  68. package/esm2015/lib/shared/pipes/generic/index.js +0 -2
  69. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +0 -9
  70. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +0 -1
  71. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +0 -5
  72. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +0 -1
  73. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +0 -8
  74. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +0 -1
  75. package/lib/shared/pipes/generic/index.d.ts +0 -2
  76. package/lib/shared/pipes/generic/index.d.ts.map +0 -1
@@ -98,14 +98,7 @@ export class SelectFlagLocationComponent {
98
98
  }
99
99
  // Add a FormControl for the selected flag location if there is at least one flags instance remaining after filtering
100
100
  if (this.filteredFlagsData && this.filteredFlagsData.length > 0) {
101
- const formControl = this.formGroup.get(this.selectedLocationControlName);
102
- if (!formControl) {
103
- this.formGroup.addControl(this.selectedLocationControlName, new FormControl(null));
104
- }
105
- else {
106
- // Needs to be setValue as they have different object references -- we use the pathToFlagsFormGroup key
107
- formControl.setValue(this.filteredFlagsData.find(item => item.pathToFlagsFormGroup === formControl.value.pathToFlagsFormGroup));
108
- }
101
+ this.formGroup.addControl(this.selectedLocationControlName, new FormControl(null));
109
102
  }
110
103
  else {
111
104
  // No filtered flags instances mean there are no parties to select from. The case has not been configured properly
@@ -122,6 +115,9 @@ export class SelectFlagLocationComponent {
122
115
  this.caseFlagStateEmitter.emit({
123
116
  currentCaseFlagFieldState: CaseFlagFieldState.FLAG_LOCATION,
124
117
  errorMessages: this.errorMessages,
118
+ selectedFlagsLocation: this.formGroup.get(this.selectedLocationControlName).value
119
+ ? this.formGroup.get(this.selectedLocationControlName).value
120
+ : null
125
121
  });
126
122
  }
127
123
  validateSelection() {
@@ -189,4 +185,4 @@ SelectFlagLocationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagLoc
189
185
  }], caseFlagStateEmitter: [{
190
186
  type: Output
191
187
  }] }); })();
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctbG9jYXRpb24vc2VsZWN0LWZsYWctbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctbG9jYXRpb24vc2VsZWN0LWZsYWctbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7SUNJcEcsOEJBQzhDO0lBQzVDLGdDQUFvQztJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0QsMkVBQ3BEOzs7SUFRUSw2QkFBcUQ7SUFDbkQsWUFDRjtJQUFBLDBCQUFlOzs7SUFEYixlQUNGO0lBREUsb0VBQ0Y7OztJQUpGLDZCQUFvRDtJQUNsRCxZQUNBO0lBQUEsb0hBRWU7SUFDakIsMEJBQWU7OztJQUpiLGVBQ0E7SUFEQSxpRUFDQTtJQUFlLGVBQW9DO0lBQXBDLHdEQUFvQzs7O0lB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QUFzQjtRQUF0QiwrQ0FBc0I7UUFrQnJELGVBQTJCO1FBQTNCLGdEQUEyQjs7dUZEckJqRCwyQkFBMkI7Y0FKdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFdBQVcsRUFBRSx1Q0FBdUM7YUFDckQ7Z0JBRWlCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBRVcsb0JBQW9CO2tCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlLCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdMb2NhdGlvbkVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlbGVjdC1mbGFnLWxvY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1mbGFnLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGbGFnTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnc0RhdGE6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGhbXTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIGZsYWdMb2NhdGlvblRpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBmbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZTogU2VsZWN0RmxhZ0xvY2F0aW9uRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIGZpbHRlcmVkRmxhZ3NEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoW107XG4gIHB1YmxpYyBjYXNlRmxhZ3NDb25maWdFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRMb2NhdGlvbkNvbnRyb2xOYW1lID0gJ3NlbGVjdGVkTG9jYXRpb24nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FzZUxldmVsRmxhZ0xhYmVsID0gJ0Nhc2UgbGV2ZWwnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQgPSAnY2FzZUZsYWdzJztcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnTG9jYXRpb25UaXRsZSA9IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFTEVDVF9GTEFHX0xPQ0FUSU9OO1xuXG4gICAgLy8gRmlsdGVyIG91dCBhbnkgZmxhZ3MgaW5zdGFuY2VzIHRoYXQgZG9uJ3QgaGF2ZSBhIHBhcnR5IG5hbWUsIHVubGVzcyB0aGUgaW5zdGFuY2UgaXMgZm9yIGNhc2UtbGV2ZWwgZmxhZ3MgKHRoaXNcbiAgICAvLyBpcyBleHBlY3RlZCBub3QgdG8gaGF2ZSBhIHBhcnR5IG5hbWUpXG4gICAgaWYgKHRoaXMuZmxhZ3NEYXRhKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkRmxhZ3NEYXRhID1cbiAgICAgICAgdGhpcy5mbGFnc0RhdGEuZmlsdGVyKGYgPT4gZi5mbGFncy5wYXJ0eU5hbWUgIT0gbnVsbCB8fCBmLnBhdGhUb0ZsYWdzRm9ybUdyb3VwID09PSB0aGlzLmNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQpO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0ZWQgZmxhZyBsb2NhdGlvbiBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmxhZ3MgaW5zdGFuY2UgcmVtYWluaW5nIGFmdGVyIGZpbHRlcmluZ1xuICAgIGlmICh0aGlzLmZpbHRlcmVkRmxhZ3NEYXRhICYmIHRoaXMuZmlsdGVyZWRGbGFnc0RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZExvY2F0aW9uQ29udHJvbE5hbWUpO1xuICAgICAgaWYgKCFmb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbkNvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTmVlZHMgdG8gYmUgc2V0VmFsdWUgYXMgdGhleSBoYXZlIGRpZmZlcmVudCBvYmplY3QgcmVmZXJlbmNlcyAtLSB3ZSB1c2UgdGhlIHBhdGhUb0ZsYWdzRm9ybUdyb3VwIGtleVxuICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICB0aGlzLmZpbHRlcmVkRmxhZ3NEYXRhLmZpbmQoaXRlbSA9PiBpdGVtLnBhdGhUb0ZsYWdzRm9ybUdyb3VwID09PSBmb3JtQ29udHJvbC52YWx1ZS5wYXRoVG9GbGFnc0Zvcm1Hcm91cClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm8gZmlsdGVyZWQgZmxhZ3MgaW5zdGFuY2VzIG1lYW4gdGhlcmUgYXJlIG5vIHBhcnRpZXMgdG8gc2VsZWN0IGZyb20uIFRoZSBjYXNlIGhhcyBub3QgYmVlbiBjb25maWd1cmVkIHByb3Blcmx5XG4gICAgICAvLyBmb3IgY2FzZSBmbGFncyBhbmQgdGhlIHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uLiAoV2lsbCBuZWVkIHRvIGJlIGV4dGVuZGVkIHRvIGNoZWNrIGZvciBjYXNlLWxldmVsXG4gICAgICAvLyBmbGFncyBpbiBmdXR1cmUpXG4gICAgICB0aGlzLm9uQ2FzZUZsYWdzQ29uZmlnRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgbG9jYXRpb24gc2VsZWN0aW9uXG4gICAgdGhpcy52YWxpZGF0ZVNlbGVjdGlvbigpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgc2VsZWN0ZWQgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCBpbnN0YW5jZSAoaS5lLiBmbGFnIGxvY2F0aW9uKSB0b1xuICAgIC8vIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTE9DQVRJT04sXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ0xvY2F0aW9uTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRMb2NhdGlvbkNvbnRyb2xOYW1lKS52YWx1ZSkge1xuICAgICAgdGhpcy5mbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdMb2NhdGlvbkVycm9yTWVzc2FnZS5GTEFHX0xPQ0FUSU9OX05PVF9TRUxFQ1RFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0RmxhZ0xvY2F0aW9uRXJyb3JNZXNzYWdlLkZMQUdfTE9DQVRJT05fTk9UX1NFTEVDVEVELFxuICAgICAgICBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uQ2FzZUZsYWdzQ29uZmlnRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLmNhc2VGbGFnc0NvbmZpZ0Vycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaChcbiAgICAgIHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBTZWxlY3RGbGFnTG9jYXRpb25FcnJvck1lc3NhZ2UuRkxBR1NfTk9UX0NPTkZJR1VSRUQsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCd9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSwgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cImZsYWctbG9jYXRpb24taGVhZGluZ1wiPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbFwiPlxuICAgICAgICA8aDEgaWQ9XCJmbGFnLWxvY2F0aW9uLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3tmbGFnTG9jYXRpb25UaXRsZX19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLWxvY2F0aW9uLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJmbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tmbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IGZsYWdzSW5zdGFuY2Ugb2YgZmlsdGVyZWRGbGFnc0RhdGE7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLWxvY2F0aW9uLXt7aX19XCIgW25hbWVdPVwic2VsZWN0ZWRMb2NhdGlvbkNvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJmbGFnc0luc3RhbmNlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJzZWxlY3RlZExvY2F0aW9uQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctbG9jYXRpb24te3tpfX1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmbGFnc0luc3RhbmNlLmZsYWdzLnBhcnR5TmFtZVwiPlxuICAgICAgICAgICAgICB7e2ZsYWdzSW5zdGFuY2UuZmxhZ3MucGFydHlOYW1lfX1cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZsYWdzSW5zdGFuY2UuZmxhZ3Mucm9sZU9uQ2FzZVwiPlxuICAgICAgICAgICAgICAgICh7e2ZsYWdzSW5zdGFuY2UuZmxhZ3Mucm9sZU9uQ2FzZX19KVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmbGFnc0luc3RhbmNlLmZsYWdzLnBhcnR5TmFtZVwiPlxuICAgICAgICAgICAgICB7e2Nhc2VMZXZlbEZsYWdMYWJlbH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhY2FzZUZsYWdzQ29uZmlnRXJyb3JcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPk5leHQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctbG9jYXRpb24vc2VsZWN0LWZsYWctbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctbG9jYXRpb24vc2VsZWN0LWZsYWctbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7SUNJcEcsOEJBQzhDO0lBQzVDLGdDQUFvQztJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0QsMkVBQ3BEOzs7SUFRUSw2QkFBcUQ7SUFDbkQsWUFDRjtJQUFBLDBCQUFlOzs7SUFEYixlQUNGO0lBREUsb0VBQ0Y7OztJQUpGLDZCQUFvRDtJQUNsRCxZQUNBO0lBQUEsb0hBRWU7SUFDakIsMEJBQWU7OztJQUpiLGVBQ0E7SUFEQSxpRUFDQTtJQUFlLGVBQW9DO0lBQXBDLHdEQUFvQzs7O0lB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O2dCQUNwQyxXQUFXLEVBQUUsdUNBQXVDO2FBQ3JEO2dCQUdpQixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUVXLG9CQUFvQjtrQkFBcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnTG9jYXRpb25FcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWxlY3QtZmxhZy1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmxhZy1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmxhZ0xvY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnc0RhdGE6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGhbXTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIGZsYWdMb2NhdGlvblRpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBmbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZTogU2VsZWN0RmxhZ0xvY2F0aW9uRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIGZpbHRlcmVkRmxhZ3NEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoW107XG4gIHB1YmxpYyBjYXNlRmxhZ3NDb25maWdFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRMb2NhdGlvbkNvbnRyb2xOYW1lID0gJ3NlbGVjdGVkTG9jYXRpb24nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FzZUxldmVsRmxhZ0xhYmVsID0gJ0Nhc2UgbGV2ZWwnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQgPSAnY2FzZUZsYWdzJztcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnTG9jYXRpb25UaXRsZSA9IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFTEVDVF9GTEFHX0xPQ0FUSU9OO1xuXG4gICAgLy8gRmlsdGVyIG91dCBhbnkgZmxhZ3MgaW5zdGFuY2VzIHRoYXQgZG9uJ3QgaGF2ZSBhIHBhcnR5IG5hbWUsIHVubGVzcyB0aGUgaW5zdGFuY2UgaXMgZm9yIGNhc2UtbGV2ZWwgZmxhZ3MgKHRoaXNcbiAgICAvLyBpcyBleHBlY3RlZCBub3QgdG8gaGF2ZSBhIHBhcnR5IG5hbWUpXG4gICAgaWYgKHRoaXMuZmxhZ3NEYXRhKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkRmxhZ3NEYXRhID1cbiAgICAgICAgdGhpcy5mbGFnc0RhdGEuZmlsdGVyKGYgPT4gZi5mbGFncy5wYXJ0eU5hbWUgIT0gbnVsbCB8fCBmLnBhdGhUb0ZsYWdzRm9ybUdyb3VwID09PSB0aGlzLmNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQpO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0ZWQgZmxhZyBsb2NhdGlvbiBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmxhZ3MgaW5zdGFuY2UgcmVtYWluaW5nIGFmdGVyIGZpbHRlcmluZ1xuICAgIGlmICh0aGlzLmZpbHRlcmVkRmxhZ3NEYXRhICYmIHRoaXMuZmlsdGVyZWRGbGFnc0RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnNlbGVjdGVkTG9jYXRpb25Db250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm8gZmlsdGVyZWQgZmxhZ3MgaW5zdGFuY2VzIG1lYW4gdGhlcmUgYXJlIG5vIHBhcnRpZXMgdG8gc2VsZWN0IGZyb20uIFRoZSBjYXNlIGhhcyBub3QgYmVlbiBjb25maWd1cmVkIHByb3Blcmx5XG4gICAgICAvLyBmb3IgY2FzZSBmbGFncyBhbmQgdGhlIHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uLiAoV2lsbCBuZWVkIHRvIGJlIGV4dGVuZGVkIHRvIGNoZWNrIGZvciBjYXNlLWxldmVsXG4gICAgICAvLyBmbGFncyBpbiBmdXR1cmUpXG4gICAgICB0aGlzLm9uQ2FzZUZsYWdzQ29uZmlnRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgbG9jYXRpb24gc2VsZWN0aW9uXG4gICAgdGhpcy52YWxpZGF0ZVNlbGVjdGlvbigpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgc2VsZWN0ZWQgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCBpbnN0YW5jZSAoaS5lLiBmbGFnIGxvY2F0aW9uKSB0b1xuICAgIC8vIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTE9DQVRJT04sXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBzZWxlY3RlZEZsYWdzTG9jYXRpb246IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkTG9jYXRpb25Db250cm9sTmFtZSkudmFsdWVcbiAgICAgICAgPyB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZExvY2F0aW9uQ29udHJvbE5hbWUpLnZhbHVlIGFzIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGhcbiAgICAgICAgOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ0xvY2F0aW9uTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRMb2NhdGlvbkNvbnRyb2xOYW1lKS52YWx1ZSkge1xuICAgICAgdGhpcy5mbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdMb2NhdGlvbkVycm9yTWVzc2FnZS5GTEFHX0xPQ0FUSU9OX05PVF9TRUxFQ1RFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0RmxhZ0xvY2F0aW9uRXJyb3JNZXNzYWdlLkZMQUdfTE9DQVRJT05fTk9UX1NFTEVDVEVELFxuICAgICAgICBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uQ2FzZUZsYWdzQ29uZmlnRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLmNhc2VGbGFnc0NvbmZpZ0Vycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaChcbiAgICAgIHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBTZWxlY3RGbGFnTG9jYXRpb25FcnJvck1lc3NhZ2UuRkxBR1NfTk9UX0NPTkZJR1VSRUQsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCd9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSwgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cImZsYWctbG9jYXRpb24taGVhZGluZ1wiPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbFwiPlxuICAgICAgICA8aDEgaWQ9XCJmbGFnLWxvY2F0aW9uLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3tmbGFnTG9jYXRpb25UaXRsZX19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLWxvY2F0aW9uLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJmbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tmbGFnTG9jYXRpb25Ob3RTZWxlY3RlZEVycm9yTWVzc2FnZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IGZsYWdzSW5zdGFuY2Ugb2YgZmlsdGVyZWRGbGFnc0RhdGE7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLWxvY2F0aW9uLXt7aX19XCIgW25hbWVdPVwic2VsZWN0ZWRMb2NhdGlvbkNvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJmbGFnc0luc3RhbmNlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJzZWxlY3RlZExvY2F0aW9uQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctbG9jYXRpb24te3tpfX1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmbGFnc0luc3RhbmNlLmZsYWdzLnBhcnR5TmFtZVwiPlxuICAgICAgICAgICAgICB7e2ZsYWdzSW5zdGFuY2UuZmxhZ3MucGFydHlOYW1lfX1cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZsYWdzSW5zdGFuY2UuZmxhZ3Mucm9sZU9uQ2FzZVwiPlxuICAgICAgICAgICAgICAgICh7e2ZsYWdzSW5zdGFuY2UuZmxhZ3Mucm9sZU9uQ2FzZX19KVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmbGFnc0luc3RhbmNlLmZsYWdzLnBhcnR5TmFtZVwiPlxuICAgICAgICAgICAgICB7e2Nhc2VMZXZlbEZsYWdMYWJlbH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhY2FzZUZsYWdzQ29uZmlnRXJyb3JcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPk5leHQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,122 +1,89 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { switchMap } from 'rxjs/operators';
4
- import { FlagType } from '../../../../../domain/case-flag';
5
4
  import { CaseFlagRefdataService } from '../../../../../services';
6
5
  import { RefdataCaseFlagType } from '../../../../../services/case-flag/refdata-case-flag-type.enum';
7
6
  import { CaseFlagFieldState, CaseFlagWizardStepTitle, SelectFlagTypeErrorMessage } from '../../enums';
8
- import { SearchLanguageInterpreterControlNames } from '../search-language-interpreter/search-language-interpreter-control-names.enum';
9
7
  import * as i0 from "@angular/core";
10
8
  import * as i1 from "../../../../../services";
11
- import * as i2 from "@angular/common";
12
- import * as i3 from "@angular/forms";
13
- function SelectFlagTypeComponent_div_0_div_6_Template(rf, ctx) { if (rf & 1) {
14
- i0.ɵɵelementStart(0, "div", 11);
15
- i0.ɵɵelementStart(1, "span", 12);
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@angular/common";
11
+ function SelectFlagTypeComponent_div_6_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "div", 10);
13
+ i0.ɵɵelementStart(1, "span", 11);
16
14
  i0.ɵɵtext(2, "Error:");
17
15
  i0.ɵɵelementEnd();
18
16
  i0.ɵɵtext(3);
19
17
  i0.ɵɵelementEnd();
20
18
  } if (rf & 2) {
21
- const ctx_r1 = i0.ɵɵnextContext(2);
19
+ const ctx_r0 = i0.ɵɵnextContext();
22
20
  i0.ɵɵadvance(3);
23
- i0.ɵɵtextInterpolate1(" ", ctx_r1.flagTypeNotSelectedErrorMessage, " ");
21
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.flagTypeNotSelectedErrorMessage, " ");
24
22
  } }
25
- function SelectFlagTypeComponent_div_0_div_8_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementStart(0, "div", 13);
27
- i0.ɵɵelement(1, "input", 14);
28
- i0.ɵɵelementStart(2, "label", 15);
23
+ function SelectFlagTypeComponent_div_8_Template(rf, ctx) { if (rf & 1) {
24
+ const _r7 = i0.ɵɵgetCurrentView();
25
+ i0.ɵɵelementStart(0, "div", 12);
26
+ i0.ɵɵelementStart(1, "input", 13);
27
+ i0.ɵɵlistener("change", function SelectFlagTypeComponent_div_8_Template_input_change_1_listener() { i0.ɵɵrestoreView(_r7); const flagType_r4 = ctx.$implicit; const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.onFlagTypeChanged(flagType_r4); });
28
+ i0.ɵɵelementEnd();
29
+ i0.ɵɵelementStart(2, "label", 14);
29
30
  i0.ɵɵtext(3);
30
31
  i0.ɵɵelementEnd();
31
32
  i0.ɵɵelementEnd();
32
33
  } if (rf & 2) {
33
- const flagType_r5 = ctx.$implicit;
34
- const i_r6 = ctx.index;
35
- const ctx_r2 = i0.ɵɵnextContext(2);
34
+ const flagType_r4 = ctx.$implicit;
35
+ const i_r5 = ctx.index;
36
+ const ctx_r1 = i0.ɵɵnextContext();
36
37
  i0.ɵɵadvance(1);
37
- i0.ɵɵpropertyInterpolate1("id", "flag-type-", i_r6, "");
38
- i0.ɵɵproperty("name", ctx_r2.flagTypeControlName)("value", flagType_r5)("formControlName", ctx_r2.flagTypeControlName);
38
+ i0.ɵɵpropertyInterpolate1("id", "flag-type-", i_r5, "");
39
+ i0.ɵɵproperty("name", ctx_r1.flagTypeControlName)("value", flagType_r4.flagCode === "CATGRY" ? flagType_r4.flagCode + i_r5 : flagType_r4.flagCode)("formControlName", ctx_r1.flagTypeControlName);
39
40
  i0.ɵɵadvance(1);
40
- i0.ɵɵpropertyInterpolate1("for", "flag-type-", i_r6, "");
41
+ i0.ɵɵpropertyInterpolate1("for", "flag-type-", i_r5, "");
41
42
  i0.ɵɵadvance(1);
42
- i0.ɵɵtextInterpolate(flagType_r5.name);
43
+ i0.ɵɵtextInterpolate(flagType_r4.name);
43
44
  } }
44
- function SelectFlagTypeComponent_div_0_div_9_div_4_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵelementStart(0, "div", 20);
46
- i0.ɵɵelementStart(1, "span", 12);
45
+ function SelectFlagTypeComponent_div_9_div_4_Template(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵelementStart(0, "div", 19);
47
+ i0.ɵɵelementStart(1, "span", 11);
47
48
  i0.ɵɵtext(2, "Error:");
48
49
  i0.ɵɵelementEnd();
49
50
  i0.ɵɵtext(3);
50
51
  i0.ɵɵelementEnd();
51
52
  } if (rf & 2) {
52
- const ctx_r7 = i0.ɵɵnextContext(3);
53
+ const ctx_r8 = i0.ɵɵnextContext(2);
53
54
  i0.ɵɵadvance(3);
54
- i0.ɵɵtextInterpolate1(" ", ctx_r7.flagTypeErrorMessage, " ");
55
+ i0.ɵɵtextInterpolate1(" ", ctx_r8.flagTypeErrorMessage, " ");
55
56
  } }
56
57
  const _c0 = function (a0) { return { "form-group-error": a0 }; };
57
58
  const _c1 = function (a0) { return { "govuk-input--error": a0 }; };
58
- function SelectFlagTypeComponent_div_0_div_9_Template(rf, ctx) { if (rf & 1) {
59
- i0.ɵɵelementStart(0, "div", 16);
60
- i0.ɵɵelementStart(1, "div", 2);
61
- i0.ɵɵelementStart(2, "label", 17);
59
+ function SelectFlagTypeComponent_div_9_Template(rf, ctx) { if (rf & 1) {
60
+ i0.ɵɵelementStart(0, "div", 15);
61
+ i0.ɵɵelementStart(1, "div", 1);
62
+ i0.ɵɵelementStart(2, "label", 16);
62
63
  i0.ɵɵtext(3, "Enter a flag type");
63
64
  i0.ɵɵelementEnd();
64
- i0.ɵɵtemplate(4, SelectFlagTypeComponent_div_0_div_9_div_4_Template, 4, 1, "div", 18);
65
- i0.ɵɵelement(5, "input", 19);
65
+ i0.ɵɵtemplate(4, SelectFlagTypeComponent_div_9_div_4_Template, 4, 1, "div", 17);
66
+ i0.ɵɵelement(5, "input", 18);
66
67
  i0.ɵɵelementEnd();
67
68
  i0.ɵɵelementEnd();
68
69
  } if (rf & 2) {
69
- const ctx_r3 = i0.ɵɵnextContext(2);
70
+ const ctx_r2 = i0.ɵɵnextContext();
70
71
  i0.ɵɵadvance(1);
71
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0, ctx_r3.flagTypeErrorMessage.length > 0));
72
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0, ctx_r2.flagTypeErrorMessage.length > 0));
72
73
  i0.ɵɵadvance(3);
73
- i0.ɵɵproperty("ngIf", ctx_r3.flagTypeErrorMessage.length > 0);
74
+ i0.ɵɵproperty("ngIf", ctx_r2.flagTypeErrorMessage.length > 0);
74
75
  i0.ɵɵadvance(1);
75
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1, ctx_r3.flagTypeErrorMessage.length > 0))("name", ctx_r3.descriptionControlName)("formControlName", ctx_r3.descriptionControlName);
76
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1, ctx_r2.flagTypeErrorMessage.length > 0))("name", ctx_r2.descriptionControlName)("formControlName", ctx_r2.descriptionControlName);
76
77
  } }
77
- function SelectFlagTypeComponent_div_0_div_10_Template(rf, ctx) { if (rf & 1) {
78
- const _r9 = i0.ɵɵgetCurrentView();
79
- i0.ɵɵelementStart(0, "div", 21);
80
- i0.ɵɵelementStart(1, "button", 22);
81
- i0.ɵɵlistener("click", function SelectFlagTypeComponent_div_0_div_10_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.onNext(); });
78
+ function SelectFlagTypeComponent_div_10_Template(rf, ctx) { if (rf & 1) {
79
+ const _r10 = i0.ɵɵgetCurrentView();
80
+ i0.ɵɵelementStart(0, "div", 20);
81
+ i0.ɵɵelementStart(1, "button", 21);
82
+ i0.ɵɵlistener("click", function SelectFlagTypeComponent_div_10_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.onNext(); });
82
83
  i0.ɵɵtext(2, "Next");
83
84
  i0.ɵɵelementEnd();
84
85
  i0.ɵɵelementEnd();
85
86
  } }
86
- function SelectFlagTypeComponent_div_0_Template(rf, ctx) { if (rf & 1) {
87
- i0.ɵɵelementStart(0, "div", 1);
88
- i0.ɵɵelementStart(1, "div", 2);
89
- i0.ɵɵelementStart(2, "fieldset", 3);
90
- i0.ɵɵelementStart(3, "legend", 4);
91
- i0.ɵɵelementStart(4, "h1", 5);
92
- i0.ɵɵtext(5);
93
- i0.ɵɵelementEnd();
94
- i0.ɵɵelementEnd();
95
- i0.ɵɵtemplate(6, SelectFlagTypeComponent_div_0_div_6_Template, 4, 1, "div", 6);
96
- i0.ɵɵelementStart(7, "div", 7);
97
- i0.ɵɵtemplate(8, SelectFlagTypeComponent_div_0_div_8_Template, 4, 6, "div", 8);
98
- i0.ɵɵtemplate(9, SelectFlagTypeComponent_div_0_div_9_Template, 6, 9, "div", 9);
99
- i0.ɵɵelementEnd();
100
- i0.ɵɵelementEnd();
101
- i0.ɵɵelementEnd();
102
- i0.ɵɵtemplate(10, SelectFlagTypeComponent_div_0_div_10_Template, 3, 0, "div", 10);
103
- i0.ɵɵelementEnd();
104
- } if (rf & 2) {
105
- const ctx_r0 = i0.ɵɵnextContext();
106
- i0.ɵɵproperty("formGroup", ctx_r0.formGroup);
107
- i0.ɵɵadvance(1);
108
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx_r0.flagTypeNotSelectedErrorMessage.length > 0));
109
- i0.ɵɵadvance(4);
110
- i0.ɵɵtextInterpolate1(" ", ctx_r0.caseFlagWizardStepTitle.SELECT_CASE_FLAG, " ");
111
- i0.ɵɵadvance(1);
112
- i0.ɵɵproperty("ngIf", ctx_r0.flagTypeNotSelectedErrorMessage.length > 0);
113
- i0.ɵɵadvance(2);
114
- i0.ɵɵproperty("ngForOf", ctx_r0.flagTypes);
115
- i0.ɵɵadvance(1);
116
- i0.ɵɵproperty("ngIf", ctx_r0.otherFlagTypeSelected);
117
- i0.ɵɵadvance(1);
118
- i0.ɵɵproperty("ngIf", !ctx_r0.refdataError);
119
- } }
120
87
  export class SelectFlagTypeComponent {
121
88
  constructor(caseFlagRefdataService) {
122
89
  this.caseFlagRefdataService = caseFlagRefdataService;
@@ -124,6 +91,7 @@ export class SelectFlagTypeComponent {
124
91
  this.flagCommentsOptionalEmitter = new EventEmitter();
125
92
  this.flagTypeNotSelectedErrorMessage = '';
126
93
  this.flagTypeErrorMessage = '';
94
+ this.otherFlagTypeSelected = false;
127
95
  this.refdataError = false;
128
96
  this.flagTypeControlName = 'flagType';
129
97
  this.descriptionControlName = 'otherFlagTypeDescription';
@@ -135,38 +103,15 @@ export class SelectFlagTypeComponent {
135
103
  get caseFlagWizardStepTitle() {
136
104
  return CaseFlagWizardStepTitle;
137
105
  }
138
- get selectedFlagType() {
139
- var _a;
140
- return (_a = this.formGroup.get(this.flagTypeControlName)) === null || _a === void 0 ? void 0 : _a.value;
141
- }
142
- get otherFlagTypeSelected() {
143
- var _a, _b;
144
- return ((_b = (_a = this.formGroup.get(this.flagTypeControlName)) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.flagCode) === this.otherFlagTypeCode;
145
- }
146
106
  ngOnInit() {
147
107
  this.flagTypes = [];
108
+ this.formGroup.addControl(this.flagTypeControlName, new FormControl(''));
109
+ this.formGroup.addControl(this.descriptionControlName, new FormControl(''));
148
110
  const flagType = this.formGroup['caseField']
149
111
  && this.formGroup['caseField'].id
150
112
  && this.formGroup['caseField'].id === this.caseLevelCaseFlagsFieldId
151
113
  ? RefdataCaseFlagType.CASE
152
114
  : RefdataCaseFlagType.PARTY;
153
- if (!this.formGroup.get(this.flagTypeControlName)) {
154
- this.formGroup.addControl(this.flagTypeControlName, new FormControl(''));
155
- }
156
- if (!this.formGroup.get(this.descriptionControlName)) {
157
- this.formGroup.addControl(this.descriptionControlName, new FormControl(''));
158
- }
159
- // Should clear descriptionControlName if flagTypeControlName is changed
160
- this.flagTypeControlChangesSubscription = this.formGroup.get(this.flagTypeControlName).valueChanges
161
- .subscribe(value => {
162
- this.formGroup.get(this.descriptionControlName).setValue('');
163
- this.cachedPath = [];
164
- // required to clear language interpreter
165
- this.formGroup.patchValue({
166
- [SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM]: '',
167
- [SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY]: ''
168
- });
169
- });
170
115
  // HMCTS service code for a given jurisdiction is required to retrieve the relevant list of flag types
171
116
  this.flagRefdata$ = this.caseFlagRefdataService.getHmctsServiceDetails(this.jurisdiction)
172
117
  .pipe(
@@ -179,16 +124,6 @@ export class SelectFlagTypeComponent {
179
124
  next: flagTypes => {
180
125
  // First (and only) object in the returned array should be the top-level "Party" flag type
181
126
  this.flagTypes = flagTypes[0].childFlags;
182
- const formControl = this.formGroup.get(this.flagTypeControlName);
183
- if (formControl === null || formControl === void 0 ? void 0 : formControl.value) {
184
- // Cache Path based on existing flagCode -- needed for nested choices
185
- const [foundFlagType, path] = FlagType.searchPathByFlagTypeObject(formControl.value, this.flagTypes);
186
- this.cachedPath = [
187
- ...path,
188
- foundFlagType
189
- ];
190
- formControl.setValue(this.cachedPath[0], { emitEvent: false });
191
- }
192
127
  },
193
128
  error: error => {
194
129
  this.onRefdataError(error);
@@ -196,14 +131,16 @@ export class SelectFlagTypeComponent {
196
131
  });
197
132
  }
198
133
  ngOnDestroy() {
199
- var _a;
200
134
  if (this.flagRefdata$) {
201
135
  this.flagRefdata$.unsubscribe();
202
136
  }
203
- (_a = this.flagTypeControlChangesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
137
+ }
138
+ onFlagTypeChanged(flagType) {
139
+ this.selectedFlagType = flagType;
140
+ // Display description textbox if 'Other' flag type is selected
141
+ this.otherFlagTypeSelected = this.selectedFlagType.flagCode === this.otherFlagTypeCode;
204
142
  }
205
143
  onNext() {
206
- var _a, _b;
207
144
  // Validate form
208
145
  this.validateForm();
209
146
  // Return case flag field state, whether the selected flag type (if any) is a parent or not, error messages,
@@ -212,6 +149,14 @@ export class SelectFlagTypeComponent {
212
149
  currentCaseFlagFieldState: CaseFlagFieldState.FLAG_TYPE,
213
150
  isParentFlagType: this.selectedFlagType ? this.selectedFlagType.isParent : null,
214
151
  errorMessages: this.errorMessages,
152
+ flagName: this.selectedFlagType ? this.selectedFlagType.name : null,
153
+ flagPath: this.selectedFlagType ? this.selectedFlagType.Path.map(pathValue => Object.assign({ id: null, value: pathValue })) : null,
154
+ hearingRelevantFlag: this.selectedFlagType ? this.selectedFlagType.hearingRelevant : null,
155
+ flagCode: this.selectedFlagType ? this.selectedFlagType.flagCode : null,
156
+ // Include the "list of values" (if any); currently applicable to language flag types
157
+ listOfValues: this.selectedFlagType && this.selectedFlagType.listOfValues && this.selectedFlagType.listOfValues.length > 0
158
+ ? this.selectedFlagType.listOfValues
159
+ : null
215
160
  });
216
161
  // Emit "flag comments optional" event if the user selects a flag type where comments are not mandatory
217
162
  if (this.selectedFlagType && !this.selectedFlagType.flagComment) {
@@ -220,8 +165,8 @@ export class SelectFlagTypeComponent {
220
165
  // If the selected flag type is a parent, load the list of child flag types and reset the current selection
221
166
  if (this.selectedFlagType && this.selectedFlagType.isParent) {
222
167
  this.flagTypes = this.selectedFlagType.childFlags;
223
- (_a = this.cachedPath) === null || _a === void 0 ? void 0 : _a.shift();
224
- this.formGroup.get(this.flagTypeControlName).setValue(((_b = this.cachedPath) === null || _b === void 0 ? void 0 : _b.length) ? this.cachedPath[0] : null, { emitEvent: false });
168
+ this.formGroup.get(this.flagTypeControlName).setValue('');
169
+ this.selectedFlagType = null;
225
170
  }
226
171
  }
227
172
  validateForm() {
@@ -254,11 +199,39 @@ export class SelectFlagTypeComponent {
254
199
  }
255
200
  }
256
201
  SelectFlagTypeComponent.ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(i1.CaseFlagRefdataService)); };
257
- SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls: 1, vars: 1, consts: [["class", "form-group", 3, "formGroup", 4, "ngIf"], [1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading"], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
258
- i0.ɵɵtemplate(0, SelectFlagTypeComponent_div_0_Template, 11, 9, "div", 0);
202
+ SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls: 11, vars: 9, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading"], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName", "change"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
203
+ i0.ɵɵelementStart(0, "div", 0);
204
+ i0.ɵɵelementStart(1, "div", 1);
205
+ i0.ɵɵelementStart(2, "fieldset", 2);
206
+ i0.ɵɵelementStart(3, "legend", 3);
207
+ i0.ɵɵelementStart(4, "h1", 4);
208
+ i0.ɵɵtext(5);
209
+ i0.ɵɵelementEnd();
210
+ i0.ɵɵelementEnd();
211
+ i0.ɵɵtemplate(6, SelectFlagTypeComponent_div_6_Template, 4, 1, "div", 5);
212
+ i0.ɵɵelementStart(7, "div", 6);
213
+ i0.ɵɵtemplate(8, SelectFlagTypeComponent_div_8_Template, 4, 6, "div", 7);
214
+ i0.ɵɵtemplate(9, SelectFlagTypeComponent_div_9_Template, 6, 9, "div", 8);
215
+ i0.ɵɵelementEnd();
216
+ i0.ɵɵelementEnd();
217
+ i0.ɵɵelementEnd();
218
+ i0.ɵɵtemplate(10, SelectFlagTypeComponent_div_10_Template, 3, 0, "div", 9);
219
+ i0.ɵɵelementEnd();
259
220
  } if (rf & 2) {
260
- i0.ɵɵproperty("ngIf", ctx.flagTypes == null ? null : ctx.flagTypes.length);
261
- } }, directives: [i2.NgIf, i3.NgControlStatusGroup, i3.FormGroupDirective, i2.NgClass, i2.NgForOf, i3.RadioControlValueAccessor, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlName], styles: [".hidden[_ngcontent-%COMP%]{display:none}.validation-error[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:#d4351c}"] });
221
+ i0.ɵɵproperty("formGroup", ctx.formGroup);
222
+ i0.ɵɵadvance(1);
223
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx.flagTypeNotSelectedErrorMessage.length > 0));
224
+ i0.ɵɵadvance(4);
225
+ i0.ɵɵtextInterpolate1(" ", ctx.caseFlagWizardStepTitle.SELECT_CASE_FLAG, " ");
226
+ i0.ɵɵadvance(1);
227
+ i0.ɵɵproperty("ngIf", ctx.flagTypeNotSelectedErrorMessage.length > 0);
228
+ i0.ɵɵadvance(2);
229
+ i0.ɵɵproperty("ngForOf", ctx.flagTypes);
230
+ i0.ɵɵadvance(1);
231
+ i0.ɵɵproperty("ngIf", ctx.otherFlagTypeSelected);
232
+ i0.ɵɵadvance(1);
233
+ i0.ɵɵproperty("ngIf", !ctx.refdataError);
234
+ } }, directives: [i2.NgControlStatusGroup, i2.FormGroupDirective, i3.NgClass, i3.NgIf, i3.NgForOf, i2.RadioControlValueAccessor, i2.DefaultValueAccessor, i2.NgControlStatus, i2.FormControlName], styles: [".hidden[_ngcontent-%COMP%]{display:none}.validation-error[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:#d4351c}"] });
262
235
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectFlagTypeComponent, [{
263
236
  type: Component,
264
237
  args: [{
@@ -275,4 +248,4 @@ SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeCom
275
248
  }], flagCommentsOptionalEmitter: [{
276
249
  type: Output
277
250
  }] }); })();
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUVwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEcsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7Ozs7OztJQ0ZoSSwrQkFDcUQ7SUFDbkQsZ0NBQW9DO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU07OztJQUQ4QyxlQUNwRDtJQURvRCx1RUFDcEQ7OztJQUVFLCtCQUErRTtJQUk3RSw0QkFFMkM7SUFDM0MsaUNBQXFFO0lBQUEsWUFBaUI7SUFBQSxpQkFBUTtJQUNoRyxpQkFBTTs7Ozs7SUFKK0IsZUFBb0I7SUFBcEIsdURBQW9CO0lBQUMsaURBQTRCLHNCQUFBLCtDQUFBO0lBR3JDLGVBQXFCO0lBQXJCLHdEQUFxQjtJQUFDLGVBQWlCO0lBQWpCLHNDQUFpQjs7O0lBS3BGLCtCQUFzRztJQUNwRyxnQ0FBb0M7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBTTs7O0lBRDhDLGVBQ3BEO0lBRG9ELDREQUNwRDs7Ozs7SUFMSiwrQkFBK0Y7SUFDN0YsOEJBQWdHO0lBQzlGLGlDQUE2RDtJQUFBLGlDQUFpQjtJQUFBLGlCQUFRO0lBQ3RGLHFGQUVNO0lBQ04sNEJBRzhDO0lBQ2hELGlCQUFNO0lBQ1IsaUJBQU07OztJQVYwQixlQUFpRTtJQUFqRSw0RkFBaUU7SUFFOUIsZUFBcUM7SUFBckMsNkRBQXFDO0lBSWxHLGVBQW1FO0lBQW5FLDRGQUFtRSx1Q0FBQSxrREFBQTs7OztJQVEvRSwrQkFBc0Q7SUFDcEQsa0NBQXVFO0lBQW5CLCtMQUFrQjtJQUFDLG9CQUFJO0lBQUEsaUJBQVM7SUFDdEYsaUJBQU07OztJQXZDUiw4QkFBMEU7SUFDeEUsOEJBQTJHO0lBQ3pHLG1DQUFzRTtJQUNwRSxpQ0FBaUU7SUFDL0QsNkJBQTJEO0lBQ3pELFlBQ0Y7SUFBQSxpQkFBSztJQUNQLGlCQUFTO0lBQ1QsOEVBR007SUFDTiw4QkFBNEc7SUFDMUcsOEVBUU07SUFDTiw4RUFXTTtJQUNSLGlCQUFNO0lBQ1IsaUJBQVc7SUFDYixpQkFBTTtJQUNOLGlGQUVNO0lBQ1IsaUJBQU07OztJQXhDNEMsNENBQXVCO0lBQ3pDLGVBQTRFO0lBQTVFLHVHQUE0RTtJQUlsRyxlQUNGO0lBREUsZ0ZBQ0Y7SUFHQyxlQUFnRDtJQUFoRCx3RUFBZ0Q7SUFJSSxlQUFjO0lBQWQsMENBQWM7SUFTM0IsZUFBMkI7SUFBM0IsbURBQTJCO0lBZXhDLGVBQW1CO0lBQW5CLDJDQUFtQjs7QURwQnRELE1BQU0sT0FBTyx1QkFBdUI7SUF3Q2xDLFlBQTZCLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBaENwRSx5QkFBb0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFHdEYsZ0NBQTJCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJcEUsb0NBQStCLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUUxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdaLHdCQUFtQixHQUFHLFVBQVUsQ0FBQztRQUNqQywyQkFBc0IsR0FBRywwQkFBMEIsQ0FBQztRQUduRCxrQ0FBNkIsR0FBRyxFQUFFLENBQUM7UUFDcEQsMERBQTBEO1FBQ3pDLHNCQUFpQixHQUFHLFFBQVEsQ0FBQztRQUM5Qiw4QkFBeUIsR0FBRyxXQUFXLENBQUM7SUFZdUIsQ0FBQztJQVZoRixJQUFXLHVCQUF1QjtRQUNoQyxPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFXLGdCQUFnQjs7UUFDekIsYUFBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMENBQUUsS0FBSyxDQUFDO0lBQzdELENBQUM7SUFDRCxJQUFXLHFCQUFxQjs7UUFDOUIsT0FBTyxhQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywwQ0FBRSxLQUFLLDBDQUFFLFFBQVEsTUFBSyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEcsQ0FBQztJQUlNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztlQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7ZUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLHlCQUF5QjtZQUNwRSxDQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBSTtZQUMxQixDQUFDLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM3RTtRQUVELHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBWTthQUNoRyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBRXJCLHlDQUF5QztZQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztnQkFDeEIsQ0FBQyxxQ0FBcUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hFLENBQUMscUNBQXFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFO2FBQ2xFLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FDRixDQUFDO1FBRUYsc0dBQXNHO1FBQ3RHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDdEYsSUFBSTtRQUNILDBHQUEwRztRQUMxRyw0RkFBNEY7UUFDNUYsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkcsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUU7Z0JBQ2hCLDBGQUEwRjtnQkFDMUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUV6QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDakUsSUFBSSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsS0FBSyxFQUFFO29CQUN0QixxRUFBcUU7b0JBQ3JFLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxLQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDakgsSUFBSSxDQUFDLFVBQVUsR0FBRzt3QkFDaEIsR0FBRyxJQUFJO3dCQUNQLGFBQWE7cUJBQ2QsQ0FBQztvQkFDRixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztpQkFDaEU7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXOztRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztRQUNELE1BQUEsSUFBSSxDQUFDLGtDQUFrQywwQ0FBRSxXQUFXLEdBQUc7SUFDekQsQ0FBQztJQUVNLE1BQU07O1FBQ1gsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQiw0R0FBNEc7UUFDNUcsaUdBQWlHO1FBQ2pHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDN0IseUJBQXlCLEVBQUUsa0JBQWtCLENBQUMsU0FBUztZQUN2RCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDL0UsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBRWxDLENBQUMsQ0FBQztRQUNILHVHQUF1RztRQUN2RyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7WUFDL0QsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QztRQUVELDJHQUEyRztRQUMzRyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO1lBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztZQUNsRCxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLEtBQUssR0FBRztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ2xJO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLCtCQUErQixHQUFHLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLCtCQUErQixHQUFHLDBCQUEwQixDQUFDLHNCQUFzQixDQUFDO1lBQ3pGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRywwQkFBMEIsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBQyxDQUFDLENBQUM7U0FDL0k7UUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN2RixJQUFJLENBQUMsd0JBQXdCLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDN0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLDBCQUEwQixDQUFDLHFCQUFxQixFQUFFLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFDLENBQUMsQ0FBQzthQUNsSjtZQUNELElBQUksd0JBQXdCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtnQkFDeEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDLHdCQUF3QixDQUFDO2dCQUNoRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEdBQUcsMEJBQTBCLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUMsQ0FBQyxDQUFDO2FBQ3JKO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVU7UUFDL0IsbUdBQW1HO1FBQ25HLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUMsQ0FBQyxDQUFDO1FBQ3JHLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNqSSxDQUFDOzs4RkFsS1UsdUJBQXVCOzREQUF2Qix1QkFBdUI7UUNqQnBDLHlFQXdDTTs7UUF4Q0EsMEVBQXVCOzt1RkRpQmhCLHVCQUF1QjtjQUxuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsV0FBVyxFQUFFLG1DQUFtQztnQkFDaEQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7YUFDakQ7eUVBR1EsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLG9CQUFvQjtrQkFEMUIsTUFBTTtZQUlBLDJCQUEyQjtrQkFEakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgUmVmZGF0YUNhc2VGbGFnVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9yZWZkYXRhLWNhc2UtZmxhZy10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMgfSBmcm9tICcuLi9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIvc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLWNvbnRyb2wtbmFtZXMuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWxlY3QtZmxhZy10eXBlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmxhZ1R5cGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMganVyaXNkaWN0aW9uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmxhZ0NvbW1lbnRzT3B0aW9uYWxFbWl0dGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgZmxhZ1R5cGVzOiBGbGFnVHlwZVtdO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW107XG4gIHB1YmxpYyBmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBmbGFnVHlwZUVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1JlZmRhdGEkOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyByZWZkYXRhRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGNhY2hlZFBhdGg6IEZsYWdUeXBlW107XG5cbiAgcHVibGljIHJlYWRvbmx5IGZsYWdUeXBlQ29udHJvbE5hbWUgPSAnZmxhZ1R5cGUnO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb25Db250cm9sTmFtZSA9ICdvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24nO1xuICBwdWJsaWMgZmxhZ1R5cGVDb250cm9sQ2hhbmdlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUgPSA4MDtcbiAgLy8gQ29kZSBmb3IgXCJPdGhlclwiIGZsYWcgdHlwZSBhcyBkZWZpbmVkIGluIFJlZmVyZW5jZSBEYXRhXG4gIHByaXZhdGUgcmVhZG9ubHkgb3RoZXJGbGFnVHlwZUNvZGUgPSAnT1QwMDAxJztcbiAgcHVibGljIHJlYWRvbmx5IGNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQgPSAnY2FzZUZsYWdzJztcblxuICBwdWJsaWMgZ2V0IGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlKCk6IHR5cGVvZiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSB7XG4gICAgcmV0dXJuIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICB9XG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRGbGFnVHlwZSgpOiBGbGFnVHlwZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5mbGFnVHlwZUNvbnRyb2xOYW1lKT8udmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBvdGhlckZsYWdUeXBlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZsYWdUeXBlQ29udHJvbE5hbWUpPy52YWx1ZT8uZmxhZ0NvZGUgPT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNhc2VGbGFnUmVmZGF0YVNlcnZpY2U6IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdUeXBlcyA9IFtdO1xuICAgIGNvbnN0IGZsYWdUeXBlID0gdGhpcy5mb3JtR3JvdXBbJ2Nhc2VGaWVsZCddXG4gICAgICAmJiB0aGlzLmZvcm1Hcm91cFsnY2FzZUZpZWxkJ10uaWRcbiAgICAgICYmIHRoaXMuZm9ybUdyb3VwWydjYXNlRmllbGQnXS5pZCA9PT0gdGhpcy5jYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkXG4gICAgICA/IFJlZmRhdGFDYXNlRmxhZ1R5cGUuQ0FTRVxuICAgICAgOiBSZWZkYXRhQ2FzZUZsYWdUeXBlLlBBUlRZO1xuXG4gICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5mbGFnVHlwZUNvbnRyb2xOYW1lKSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLmZsYWdUeXBlQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmRlc2NyaXB0aW9uQ29udHJvbE5hbWUpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuZGVzY3JpcHRpb25Db250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgfVxuXG4gICAgLy8gU2hvdWxkIGNsZWFyIGRlc2NyaXB0aW9uQ29udHJvbE5hbWUgaWYgZmxhZ1R5cGVDb250cm9sTmFtZSBpcyBjaGFuZ2VkXG4gICAgdGhpcy5mbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmxhZ1R5cGVDb250cm9sTmFtZSkudmFsdWVDaGFuZ2VzXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZGVzY3JpcHRpb25Db250cm9sTmFtZSkuc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLmNhY2hlZFBhdGggPSBbXTtcblxuICAgICAgICAvLyByZXF1aXJlZCB0byBjbGVhciBsYW5ndWFnZSBpbnRlcnByZXRlclxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBbU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTV06ICcnLFxuICAgICAgICAgIFtTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWV06ICcnXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBITUNUUyBzZXJ2aWNlIGNvZGUgZm9yIGEgZ2l2ZW4ganVyaXNkaWN0aW9uIGlzIHJlcXVpcmVkIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXNcbiAgICB0aGlzLmZsYWdSZWZkYXRhJCA9IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzKHRoaXMuanVyaXNkaWN0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIFVzZSBzd2l0Y2hNYXAgdG8gcmV0dXJuIGFuIGlubmVyIE9ic2VydmFibGUgb2YgdGhlIGZsYWcgdHlwZXMgZGF0YSwgaGF2aW5nIHJlY2VpdmVkIHRoZSBzZXJ2aWNlIGRldGFpbHNcbiAgICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgICAgc3dpdGNoTWFwKHNlcnZpY2VEZXRhaWxzID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldENhc2VGbGFnc1JlZmRhdGEoc2VydmljZURldGFpbHNbMF0uc2VydmljZV9jb2RlLCBmbGFnVHlwZSk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IGZsYWdUeXBlcyA9PiB7XG4gICAgICAgICAgLy8gRmlyc3QgKGFuZCBvbmx5KSBvYmplY3QgaW4gdGhlIHJldHVybmVkIGFycmF5IHNob3VsZCBiZSB0aGUgdG9wLWxldmVsIFwiUGFydHlcIiBmbGFnIHR5cGVcbiAgICAgICAgICB0aGlzLmZsYWdUeXBlcyA9IGZsYWdUeXBlc1swXS5jaGlsZEZsYWdzO1xuXG4gICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5mbGFnVHlwZUNvbnRyb2xOYW1lKTtcbiAgICAgICAgICBpZiAoZm9ybUNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICAgICAgICAvLyBDYWNoZSBQYXRoIGJhc2VkIG9uIGV4aXN0aW5nIGZsYWdDb2RlIC0tIG5lZWRlZCBmb3IgbmVzdGVkIGNob2ljZXNcbiAgICAgICAgICAgIGNvbnN0IFtmb3VuZEZsYWdUeXBlLCBwYXRoXSA9IEZsYWdUeXBlLnNlYXJjaFBhdGhCeUZsYWdUeXBlT2JqZWN0KGZvcm1Db250cm9sLnZhbHVlIGFzIEZsYWdUeXBlLCB0aGlzLmZsYWdUeXBlcyk7XG4gICAgICAgICAgICB0aGlzLmNhY2hlZFBhdGggPSBbXG4gICAgICAgICAgICAgIC4uLnBhdGgsXG4gICAgICAgICAgICAgIGZvdW5kRmxhZ1R5cGVcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNhY2hlZFBhdGhbMF0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5vblJlZmRhdGFFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsYWdSZWZkYXRhJCkge1xuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5mbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSBmb3JtXG4gICAgdGhpcy52YWxpZGF0ZUZvcm0oKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCB3aGV0aGVyIHRoZSBzZWxlY3RlZCBmbGFnIHR5cGUgKGlmIGFueSkgaXMgYSBwYXJlbnQgb3Igbm90LCBlcnJvciBtZXNzYWdlcyxcbiAgICAvLyBmbGFnIG5hbWUsIHBhdGgsIGhlYXJpbmcgcmVsZXZhbnQgaW5kaWNhdG9yLCBjb2RlLCBhbmQgXCJsaXN0IG9mIHZhbHVlc1wiIChpZiBhbnkpIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSxcbiAgICAgIGlzUGFyZW50RmxhZ1R5cGU6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5pc1BhcmVudCA6IG51bGwsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICAvLyBJbmNsdWRlIHRoZSBcImxpc3Qgb2YgdmFsdWVzXCIgKGlmIGFueSk7IGN1cnJlbnRseSBhcHBsaWNhYmxlIHRvIGxhbmd1YWdlIGZsYWcgdHlwZXNcbiAgICB9KTtcbiAgICAvLyBFbWl0IFwiZmxhZyBjb21tZW50cyBvcHRpb25hbFwiIGV2ZW50IGlmIHRoZSB1c2VyIHNlbGVjdHMgYSBmbGFnIHR5cGUgd2hlcmUgY29tbWVudHMgYXJlIG5vdCBtYW5kYXRvcnlcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmICF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuZmxhZ0NvbW1lbnQpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzT3B0aW9uYWxFbWl0dGVyLmVtaXQobnVsbCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHNlbGVjdGVkIGZsYWcgdHlwZSBpcyBhIHBhcmVudCwgbG9hZCB0aGUgbGlzdCBvZiBjaGlsZCBmbGFnIHR5cGVzIGFuZCByZXNldCB0aGUgY3VycmVudCBzZWxlY3Rpb25cbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5pc1BhcmVudCkge1xuICAgICAgdGhpcy5mbGFnVHlwZXMgPSB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuY2hpbGRGbGFncztcbiAgICAgIHRoaXMuY2FjaGVkUGF0aD8uc2hpZnQoKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZsYWdUeXBlQ29udHJvbE5hbWUpLnNldFZhbHVlKHRoaXMuY2FjaGVkUGF0aD8ubGVuZ3RoID8gdGhpcy5jYWNoZWRQYXRoWzBdIDogbnVsbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcblxuICAgIGlmICghdGhpcy5zZWxlY3RlZEZsYWdUeXBlKSB7XG4gICAgICB0aGlzLmZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX1NFTEVDVEVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURUR9YCwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J30pO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdGhlckZsYWdUeXBlU2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbiA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmRlc2NyaXB0aW9uQ29udHJvbE5hbWUpLnZhbHVlO1xuICAgICAgaWYgKCFvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRH1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJ30pO1xuICAgICAgfVxuICAgICAgaWYgKG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbi5sZW5ndGggPiB0aGlzLm1heENoYXJhY3RlcnNGb3JPdGhlckZsYWdUeXBlKSB7XG4gICAgICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBgJHtTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUR9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbid9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uUmVmZGF0YUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBTZXQgZXJyb3IgZmxhZyBvbiBjb21wb25lbnQgdG8gcmVtb3ZlIHRoZSBcIk5leHRcIiBidXR0b24gKHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uKVxuICAgIHRoaXMucmVmZGF0YUVycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7dGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J30pO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoeyBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLCBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJmbGFnVHlwZXM/Lmxlbmd0aFwiIGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cImZsYWctdHlwZS1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBpZD1cImZsYWctdHlwZS1oZWFkaW5nXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPlxuICAgICAgICAgIHt7Y2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuU0VMRUNUX0NBU0VfRkxBR319XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXR5cGUtbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ1R5cGUgb2YgZmxhZ1R5cGVzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPCEtLSBBbGwgcGFyZW50IGZsYWcgdHlwZXMgaGF2ZSB0aGUgc2FtZSBmbGFnQ29kZSBvZiBcIkNBVEdSWVwiLCBzbyBlYWNoIHJhZGlvIGJ1dHRvbiB2YWx1ZSBuZWVkcyB0byBiZSBtYWRlXG4gICAgICAgICAgICB1bmlxdWUgYnkgYXBwZW5kaW5nIHRoZSBpbmRleCAtIHJhZGlvIGJ1dHRvbnMgc2hvdWxkbid0IHNoYXJlIHRoZSBzYW1lIHZhbHVlLlxuICAgICAgICAgICAgSXQgaXMgT0sgdG8gYW1lbmQgZmxhZ0NvZGUgdGhpcyB3YXkgYmVjYXVzZSBwYXJlbnQgZmxhZyB0eXBlcyBjYW5ub3QgYmUgc2VsZWN0ZWQgYXMgYSBmaW5hbCB2YWx1ZSAtLT5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXR5cGUte3tpfX1cIiBbbmFtZV09XCJmbGFnVHlwZUNvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJmbGFnVHlwZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZsYWdUeXBlQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctdHlwZS17e2l9fVwiPnt7ZmxhZ1R5cGUubmFtZX19PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgKm5nSWY9XCJvdGhlckZsYWdUeXBlU2VsZWN0ZWRcIiBpZD1cImNvbmRpdGlvbmFsLWZsYWdUeXBlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb25cIj5FbnRlciBhIGZsYWcgdHlwZTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiZmxhZy10eXBlLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7ZmxhZ1R5cGVFcnJvck1lc3NhZ2V9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS1oYWxmXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiXG4gICAgICAgICAgICAgIGlkPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCIgW25hbWVdPVwiZGVzY3JpcHRpb25Db250cm9sTmFtZVwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJkZXNjcmlwdGlvbkNvbnRyb2xOYW1lXCIvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhcmVmZGF0YUVycm9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDRGhHLCtCQUNxRDtJQUNuRCxnQ0FBb0M7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBTTs7O0lBRDhDLGVBQ3BEO0lBRG9ELHVFQUNwRDs7OztJQUVFLCtCQUErRTtJQUk3RSxpQ0FFa0Y7SUFBeEMsaVBBQXNDO0lB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QkFBdUI7Y0FMbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFdBQVcsRUFBRSxtQ0FBbUM7Z0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2FBQ2pEO3lFQUlRLFNBQVM7a0JBRGYsS0FBSztZQUlDLFlBQVk7a0JBRGxCLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLE1BQU07WUFJQSwyQkFBMkI7a0JBRGpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGbGFnVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZsYWcnO1xuaW1wb3J0IHsgQ2FzZUZsYWdSZWZkYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFJlZmRhdGFDYXNlRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jYXNlLWZsYWcvcmVmZGF0YS1jYXNlLWZsYWctdHlwZS5lbnVtJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSwgU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWxlY3QtZmxhZy10eXBlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmxhZ1R5cGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBmbGFnVHlwZXM6IEZsYWdUeXBlW107XG4gIHB1YmxpYyBzZWxlY3RlZEZsYWdUeXBlOiBGbGFnVHlwZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xuICBwdWJsaWMgZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdSZWZkYXRhJDogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgb3RoZXJGbGFnVHlwZVNlbGVjdGVkID0gZmFsc2U7XG4gIHB1YmxpYyByZWZkYXRhRXJyb3IgPSBmYWxzZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZmxhZ1R5cGVDb250cm9sTmFtZSA9ICdmbGFnVHlwZSc7XG4gIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdGlvbkNvbnRyb2xOYW1lID0gJ290aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbic7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUgPSA4MDtcbiAgLy8gQ29kZSBmb3IgXCJPdGhlclwiIGZsYWcgdHlwZSBhcyBkZWZpbmVkIGluIFJlZmVyZW5jZSBEYXRhXG4gIHByaXZhdGUgcmVhZG9ubHkgb3RoZXJGbGFnVHlwZUNvZGUgPSAnT1QwMDAxJztcbiAgcHVibGljIHJlYWRvbmx5IGNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQgPSAnY2FzZUZsYWdzJztcblxuICBwdWJsaWMgZ2V0IGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlKCk6IHR5cGVvZiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSB7XG4gICAgcmV0dXJuIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNhc2VGbGFnUmVmZGF0YVNlcnZpY2U6IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdUeXBlcyA9IFtdO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5mbGFnVHlwZUNvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuZGVzY3JpcHRpb25Db250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG5cbiAgICBjb25zdCBmbGFnVHlwZSA9IHRoaXMuZm9ybUdyb3VwWydjYXNlRmllbGQnXVxuICAgICAgJiYgdGhpcy5mb3JtR3JvdXBbJ2Nhc2VGaWVsZCddLmlkXG4gICAgICAmJiB0aGlzLmZvcm1Hcm91cFsnY2FzZUZpZWxkJ10uaWQgPT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZFxuICAgICAgPyBSZWZkYXRhQ2FzZUZsYWdUeXBlLkNBU0VcbiAgICAgIDogUmVmZGF0YUNhc2VGbGFnVHlwZS5QQVJUWTtcblxuICAgIC8vIEhNQ1RTIHNlcnZpY2UgY29kZSBmb3IgYSBnaXZlbiBqdXJpc2RpY3Rpb24gaXMgcmVxdWlyZWQgdG8gcmV0cmlldmUgdGhlIHJlbGV2YW50IGxpc3Qgb2YgZmxhZyB0eXBlc1xuICAgIHRoaXMuZmxhZ1JlZmRhdGEkID0gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHModGhpcy5qdXJpc2RpY3Rpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gVXNlIHN3aXRjaE1hcCB0byByZXR1cm4gYW4gaW5uZXIgT2JzZXJ2YWJsZSBvZiB0aGUgZmxhZyB0eXBlcyBkYXRhLCBoYXZpbmcgcmVjZWl2ZWQgdGhlIHNlcnZpY2UgZGV0YWlsc1xuICAgICAgICAvLyBpbmNsdWRpbmcgc2VydmljZV9jb2RlLiBUaGlzIGF2b2lkcyBoYXZpbmcgbmVzdGVkIGBzdWJzY3JpYmVgcywgd2hpY2ggaXMgYW4gYW50aS1wYXR0ZXJuIVxuICAgICAgICBzd2l0Y2hNYXAoc2VydmljZURldGFpbHMgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0Q2FzZUZsYWdzUmVmZGF0YShzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUsIGZsYWdUeXBlKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiBmbGFnVHlwZXMgPT4ge1xuICAgICAgICAgIC8vIEZpcnN0IChhbmQgb25seSkgb2JqZWN0IGluIHRoZSByZXR1cm5lZCBhcnJheSBzaG91bGQgYmUgdGhlIHRvcC1sZXZlbCBcIlBhcnR5XCIgZmxhZyB0eXBlXG4gICAgICAgICAgdGhpcy5mbGFnVHlwZXMgPSBmbGFnVHlwZXNbMF0uY2hpbGRGbGFncztcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLm9uUmVmZGF0YUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmxhZ1JlZmRhdGEkKSB7XG4gICAgICB0aGlzLmZsYWdSZWZkYXRhJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkZsYWdUeXBlQ2hhbmdlZChmbGFnVHlwZTogRmxhZ1R5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPSBmbGFnVHlwZTtcbiAgICAvLyBEaXNwbGF5IGRlc2NyaXB0aW9uIHRleHRib3ggaWYgJ090aGVyJyBmbGFnIHR5cGUgaXMgc2VsZWN0ZWRcbiAgICB0aGlzLm90aGVyRmxhZ1R5cGVTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5mbGFnQ29kZSA9PT0gdGhpcy5vdGhlckZsYWdUeXBlQ29kZTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZm9ybVxuICAgIHRoaXMudmFsaWRhdGVGb3JtKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgd2hldGhlciB0aGUgc2VsZWN0ZWQgZmxhZyB0eXBlIChpZiBhbnkpIGlzIGEgcGFyZW50IG9yIG5vdCwgZXJyb3IgbWVzc2FnZXMsXG4gICAgLy8gZmxhZyBuYW1lLCBwYXRoLCBoZWFyaW5nIHJlbGV2YW50IGluZGljYXRvciwgY29kZSwgYW5kIFwibGlzdCBvZiB2YWx1ZXNcIiAoaWYgYW55KSB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1RZUEUsXG4gICAgICBpc1BhcmVudEZsYWdUeXBlOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuaXNQYXJlbnQgOiBudWxsLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgZmxhZ05hbWU6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5uYW1lIDogbnVsbCxcbiAgICAgIGZsYWdQYXRoOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuUGF0aC5tYXAocGF0aFZhbHVlID0+IE9iamVjdC5hc3NpZ24oeyBpZDogbnVsbCwgdmFsdWU6IHBhdGhWYWx1ZSB9KSkgOiBudWxsLFxuICAgICAgaGVhcmluZ1JlbGV2YW50RmxhZzogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmhlYXJpbmdSZWxldmFudCA6IG51bGwsXG4gICAgICBmbGFnQ29kZTogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmZsYWdDb2RlIDogbnVsbCxcbiAgICAgIC8vIEluY2x1ZGUgdGhlIFwibGlzdCBvZiB2YWx1ZXNcIiAoaWYgYW55KTsgY3VycmVudGx5IGFwcGxpY2FibGUgdG8gbGFuZ3VhZ2UgZmxhZyB0eXBlc1xuICAgICAgbGlzdE9mVmFsdWVzOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmxpc3RPZlZhbHVlcyAmJiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUubGlzdE9mVmFsdWVzLmxlbmd0aCA+IDBcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUubGlzdE9mVmFsdWVzXG4gICAgICAgIDogbnVsbFxuICAgIH0pO1xuICAgIC8vIEVtaXQgXCJmbGFnIGNvbW1lbnRzIG9wdGlvbmFsXCIgZXZlbnQgaWYgdGhlIHVzZXIgc2VsZWN0cyBhIGZsYWcgdHlwZSB3aGVyZSBjb21tZW50cyBhcmUgbm90IG1hbmRhdG9yeVxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgIXRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5mbGFnQ29tbWVudCkge1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXIuZW1pdChudWxsKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIHNlbGVjdGVkIGZsYWcgdHlwZSBpcyBhIHBhcmVudCwgbG9hZCB0aGUgbGlzdCBvZiBjaGlsZCBmbGFnIHR5cGVzIGFuZCByZXNldCB0aGUgY3VycmVudCBzZWxlY3Rpb25cbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5pc1BhcmVudCkge1xuICAgICAgdGhpcy5mbGFnVHlwZXMgPSB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuY2hpbGRGbGFncztcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZsYWdUeXBlQ29udHJvbE5hbWUpLnNldFZhbHVlKCcnKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUpIHtcbiAgICAgIHRoaXMuZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7dGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7U2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9TRUxFQ1RFRH1gLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm90aGVyRmxhZ1R5cGVTZWxlY3RlZCkge1xuICAgICAgY29uc3Qgb3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZGVzY3JpcHRpb25Db250cm9sTmFtZSkudmFsdWU7XG4gICAgICBpZiAoIW90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLmZsYWdUeXBlRXJyb3JNZXNzYWdlID0gU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7dGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7U2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEfWAsIGZpZWxkSWQ6ICdvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb24nfSk7XG4gICAgICB9XG4gICAgICBpZiAob3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uLmxlbmd0aCA+IHRoaXMubWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUpIHtcbiAgICAgICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9MSU1JVF9FWENFRURFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9MSU1JVF9FWENFRURFRH1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJ30pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25SZWZkYXRhRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIC8vIFNldCBlcnJvciBmbGFnIG9uIGNvbXBvbmVudCB0byByZW1vdmUgdGhlIFwiTmV4dFwiIGJ1dHRvbiAodXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGZsYWcgY3JlYXRpb24pXG4gICAgdGhpcy5yZWZkYXRhRXJyb3IgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBlcnJvci5tZXNzYWdlLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnfSk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7IGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1RZUEUsIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIj5cbiAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJmbGFnLXR5cGUtaGVhZGluZ1wiPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbFwiPlxuICAgICAgICA8aDEgaWQ9XCJmbGFnLXR5cGUtaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7e2Nhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFTEVDVF9DQVNFX0ZMQUd9fVxuICAgICAgICA8L2gxPlxuICAgICAgPC9sZWdlbmQ+XG4gICAgICA8ZGl2IGlkPVwiZmxhZy10eXBlLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7ZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IGZsYWdUeXBlIG9mIGZsYWdUeXBlczsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgIDwhLS0gQWxsIHBhcmVudCBmbGFnIHR5cGVzIGhhdmUgdGhlIHNhbWUgZmxhZ0NvZGUgb2YgXCJDQVRHUllcIiwgc28gZWFjaCByYWRpbyBidXR0b24gdmFsdWUgbmVlZHMgdG8gYmUgbWFkZVxuICAgICAgICAgICAgdW5pcXVlIGJ5IGFwcGVuZGluZyB0aGUgaW5kZXggLSByYWRpbyBidXR0b25zIHNob3VsZG4ndCBzaGFyZSB0aGUgc2FtZSB2YWx1ZS5cbiAgICAgICAgICAgIEl0IGlzIE9LIHRvIGFtZW5kIGZsYWdDb2RlIHRoaXMgd2F5IGJlY2F1c2UgcGFyZW50IGZsYWcgdHlwZXMgY2Fubm90IGJlIHNlbGVjdGVkIGFzIGEgZmluYWwgdmFsdWUgLS0+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy10eXBlLXt7aX19XCIgW25hbWVdPVwiZmxhZ1R5cGVDb250cm9sTmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZmxhZ1R5cGUuZmxhZ0NvZGUgPT09ICdDQVRHUlknID8gZmxhZ1R5cGUuZmxhZ0NvZGUgKyBpIDogZmxhZ1R5cGUuZmxhZ0NvZGVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmbGFnVHlwZUNvbnRyb2xOYW1lXCIgKGNoYW5nZSk9XCJvbkZsYWdUeXBlQ2hhbmdlZChmbGFnVHlwZSlcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctdHlwZS17e2l9fVwiPnt7ZmxhZ1R5cGUubmFtZX19PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgKm5nSWY9XCJvdGhlckZsYWdUeXBlU2VsZWN0ZWRcIiBpZD1cImNvbmRpdGlvbmFsLWZsYWdUeXBlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb25cIj5FbnRlciBhIGZsYWcgdHlwZTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiZmxhZy10eXBlLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7ZmxhZ1R5cGVFcnJvck1lc3NhZ2V9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS1oYWxmXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiXG4gICAgICAgICAgICAgIGlkPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCIgW25hbWVdPVwiZGVzY3JpcHRpb25Db250cm9sTmFtZVwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJkZXNjcmlwdGlvbkNvbnRyb2xOYW1lXCIvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhcmVmZGF0YUVycm9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=