@hmcts/ccd-case-ui-toolkit 7.2.23-multiple-followup → 7.2.23-srt-rc2

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 (131) hide show
  1. package/esm2022/lib/app.config.mjs +1 -2
  2. package/esm2022/lib/components/form/date-input/date-input.component.mjs +56 -19
  3. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +3 -3
  4. package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +1 -1
  5. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +6 -2
  6. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +9 -5
  7. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +9 -5
  8. package/esm2022/lib/shared/components/case-header/case-header.component.mjs +5 -5
  9. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +9 -4
  10. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +16 -3
  11. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +20 -13
  12. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +13 -9
  13. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +4 -2
  14. package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +9 -5
  15. package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +9 -5
  16. package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +9 -5
  17. package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +9 -5
  18. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +3 -3
  19. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +6 -6
  20. package/esm2022/lib/shared/components/palette/collection/read-collection-field.component.mjs +13 -10
  21. package/esm2022/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +8 -8
  22. package/esm2022/lib/shared/components/palette/date/read-date-field.component.mjs +4 -4
  23. package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +41 -10
  24. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +2 -2
  25. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +7 -7
  26. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +7 -7
  27. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +2 -2
  28. package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +3 -3
  29. package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +3 -3
  30. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +21 -25
  31. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +21 -25
  32. package/esm2022/lib/shared/components/palette/palette.module.mjs +12 -3
  33. package/esm2022/lib/shared/components/palette/query-management/components/close-query/close-query.component.mjs +3 -3
  34. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +26 -15
  35. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +6 -2
  36. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +50 -180
  37. package/esm2022/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.mjs +22 -18
  38. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +2 -2
  39. package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +2 -2
  40. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +59 -6
  41. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +44 -11
  42. package/esm2022/lib/shared/components/palette/query-management/constants/query-management.constants.mjs +7 -0
  43. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +32 -14
  44. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +4 -4
  45. package/esm2022/lib/shared/components/palette/query-management/services/index.mjs +2 -1
  46. package/esm2022/lib/shared/components/palette/query-management/services/query-management.service.mjs +179 -0
  47. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +5 -5
  48. package/esm2022/lib/shared/components/palette/utils/field-label.pipe.mjs +11 -3
  49. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +1 -1
  50. package/esm2022/lib/shared/directives/index.mjs +2 -1
  51. package/esm2022/lib/shared/directives/welsh-translated-markdown/index.mjs +3 -0
  52. package/esm2022/lib/shared/directives/welsh-translated-markdown/welsh-translated-markdown.directive.mjs +104 -0
  53. package/esm2022/lib/shared/directives/welsh-translated-markdown/welsh-translated-markdown.module.mjs +21 -0
  54. package/esm2022/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +2 -3
  55. package/esm2022/lib/shared/services/draft/draft.service.mjs +2 -2
  56. package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +38 -3
  57. package/esm2022/lib/shared/services/form/form-value.service.mjs +24 -1
  58. package/esm2022/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +7 -8
  59. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +1287 -818
  60. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  61. package/lib/app.config.d.ts +0 -1
  62. package/lib/app.config.d.ts.map +1 -1
  63. package/lib/components/form/date-input/date-input.component.d.ts +4 -0
  64. package/lib/components/form/date-input/date-input.component.d.ts.map +1 -1
  65. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts.map +1 -1
  66. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  67. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts +2 -0
  68. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
  69. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts +2 -0
  70. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
  71. package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts +2 -0
  72. package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts.map +1 -1
  73. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +1 -0
  74. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  75. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  76. package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts +2 -0
  77. package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts.map +1 -1
  78. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
  79. package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts +2 -0
  80. package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts.map +1 -1
  81. package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts +2 -0
  82. package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts.map +1 -1
  83. package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts +2 -0
  84. package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts.map +1 -1
  85. package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts +2 -0
  86. package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts.map +1 -1
  87. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +2 -2
  88. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  89. package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
  90. package/lib/shared/components/palette/collection/read-collection-field.component.d.ts +3 -1
  91. package/lib/shared/components/palette/collection/read-collection-field.component.d.ts.map +1 -1
  92. package/lib/shared/components/palette/date/read-date-field.component.d.ts.map +1 -1
  93. package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts +2 -0
  94. package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts.map +1 -1
  95. package/lib/shared/components/palette/palette.module.d.ts +18 -17
  96. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  97. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +2 -0
  98. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -1
  99. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +15 -13
  100. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  101. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts +2 -0
  102. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts.map +1 -1
  103. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +24 -3
  104. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -1
  105. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +12 -3
  106. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -1
  107. package/lib/shared/components/palette/query-management/constants/query-management.constants.d.ts +7 -0
  108. package/lib/shared/components/palette/query-management/constants/query-management.constants.d.ts.map +1 -0
  109. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
  110. package/lib/shared/components/palette/query-management/services/index.d.ts +1 -0
  111. package/lib/shared/components/palette/query-management/services/index.d.ts.map +1 -1
  112. package/lib/shared/components/palette/query-management/services/query-management.service.d.ts +21 -0
  113. package/lib/shared/components/palette/query-management/services/query-management.service.d.ts.map +1 -0
  114. package/lib/shared/components/palette/utils/field-label.pipe.d.ts +1 -0
  115. package/lib/shared/components/palette/utils/field-label.pipe.d.ts.map +1 -1
  116. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
  117. package/lib/shared/directives/index.d.ts +1 -0
  118. package/lib/shared/directives/index.d.ts.map +1 -1
  119. package/lib/shared/directives/welsh-translated-markdown/index.d.ts +3 -0
  120. package/lib/shared/directives/welsh-translated-markdown/index.d.ts.map +1 -0
  121. package/lib/shared/directives/welsh-translated-markdown/welsh-translated-markdown.directive.d.ts +76 -0
  122. package/lib/shared/directives/welsh-translated-markdown/welsh-translated-markdown.directive.d.ts.map +1 -0
  123. package/lib/shared/directives/welsh-translated-markdown/welsh-translated-markdown.module.d.ts +8 -0
  124. package/lib/shared/directives/welsh-translated-markdown/welsh-translated-markdown.module.d.ts.map +1 -0
  125. package/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.d.ts.map +1 -1
  126. package/lib/shared/services/form/field-type-sanitiser.d.ts +5 -0
  127. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  128. package/lib/shared/services/form/form-value.service.d.ts +1 -0
  129. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  130. package/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.d.ts.map +1 -1
  131. package/package.json +1 -1
@@ -102,6 +102,8 @@ export class QualifyingQuestionOptionsComponent {
102
102
  questionSelected = new EventEmitter();
103
103
  qualifyingQuestionsErrorMessage = QualifyingQuestionsErrorMessage;
104
104
  caseId;
105
+ jurisdiction;
106
+ caseType;
105
107
  constructor(route, router, qualifyingQuestionService) {
106
108
  this.route = route;
107
109
  this.router = router;
@@ -109,6 +111,8 @@ export class QualifyingQuestionOptionsComponent {
109
111
  }
110
112
  ngOnInit() {
111
113
  this.caseId = this.route.snapshot.params.cid;
114
+ this.jurisdiction = this.route.snapshot.params.jurisdiction;
115
+ this.caseType = this.route.snapshot.params.caseType;
112
116
  // Check if there's already a selected qualifying question from the service
113
117
  const savedSelection = this.qualifyingQuestionService.getQualifyingQuestionSelection();
114
118
  if (savedSelection) {
@@ -116,7 +120,7 @@ export class QualifyingQuestionOptionsComponent {
116
120
  }
117
121
  }
118
122
  click() {
119
- this.router.navigate(['cases', 'case-details', this.caseId], { fragment: 'Queries' });
123
+ this.router.navigate(['cases', 'case-details', this.jurisdiction, this.caseType, this.caseId], { fragment: 'Queries' });
120
124
  }
121
125
  get displayError() {
122
126
  return this.qualifyingQuestionsControl.touched && this.qualifyingQuestionsControl.hasError('required');
@@ -142,4 +146,4 @@ export class QualifyingQuestionOptionsComponent {
142
146
  type: Output
143
147
  }] }); })();
144
148
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QualifyingQuestionOptionsComponent, { className: "QualifyingQuestionOptionsComponent", filePath: "lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.ts", lineNumber: 13 }); })();
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMvcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMvcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNNeEQsNkJBQW1DO0lBRS9CLEFBREYsNEJBQStCLGNBQ087SUFBQSxZQUE4Qjs7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QUNJLGdCQUFnQjtrQkFBekIsTUFBTTs7a0ZBSEksa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvbnNFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBRdWFsaWZ5aW5nUXVlc3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXF1YWxpZnlpbmctcXVlc3Rpb24tb3B0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFF1YWxpZnlpbmdRdWVzdGlvbk9wdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgcXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2w6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBwdWJsaWMgcXVhbGlmeWluZ1F1ZXN0aW9ucyQ6IE9ic2VydmFibGU8UXVhbGlmeWluZ1F1ZXN0aW9uW10+O1xuICBAT3V0cHV0KCkgcXVlc3Rpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UXVhbGlmeWluZ1F1ZXN0aW9uPigpO1xuXG4gIHB1YmxpYyBxdWFsaWZ5aW5nUXVlc3Rpb25zRXJyb3JNZXNzYWdlID0gUXVhbGlmeWluZ1F1ZXN0aW9uc0Vycm9yTWVzc2FnZTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlOiBRdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5jaWQ7XG5cbiAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFscmVhZHkgYSBzZWxlY3RlZCBxdWFsaWZ5aW5nIHF1ZXN0aW9uIGZyb20gdGhlIHNlcnZpY2VcbiAgICBjb25zdCBzYXZlZFNlbGVjdGlvbiA9IHRoaXMucXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZS5nZXRRdWFsaWZ5aW5nUXVlc3Rpb25TZWxlY3Rpb24oKTtcbiAgICBpZiAoc2F2ZWRTZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMucXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2wuc2V0VmFsdWUoc2F2ZWRTZWxlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2Nhc2VzJywgJ2Nhc2UtZGV0YWlscycsIHRoaXMuY2FzZUlkXSwgeyBmcmFnbWVudDogJ1F1ZXJpZXMnIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2wudG91Y2hlZCAmJiB0aGlzLnF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHF1YWxpZnlpbmdRdWVzdGlvbjogUXVhbGlmeWluZ1F1ZXN0aW9uKSB7XG4gICAgdGhpcy5xdWVzdGlvblNlbGVjdGVkLmVtaXQocXVhbGlmeWluZ1F1ZXN0aW9uKTtcbiAgfVxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2xcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbY2xhc3MuZ292dWstZm9ybS1ncm91cC0tZXJyb3JdPVwiZGlzcGxheUVycm9yXCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgICAgPGgxIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7eyAnUmFpc2UgYSBuZXcgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbSBnb3Z1ay0hLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAge3sgJ1doYXQgZG8geW91IG5lZWQgaGVscCB0byBkbz8nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2gyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUVycm9yXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0Vycm9yOicgfCBycHhUcmFuc2xhdGUgfX0gPC9zcGFuPnt7XG4gICAgICAgICAgcXVhbGlmeWluZ1F1ZXN0aW9uc0Vycm9yTWVzc2FnZS5TRUxFQ1RfQU5fT1BUSU9OIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcXVhbGlmeWluZ1F1ZXN0aW9uIG9mIHF1YWxpZnlpbmdRdWVzdGlvbnMkIHwgYXN5bmM7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGFzdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInFtLXF1YWxpZnlpbmctcXVlc3Rpb25fX2RpdmlkZXJcIj57eyAnSWYgeW91ciBpc3N1ZSBpcyBub3QgY292ZXJlZCBieSB0aGUgb3B0aW9ucyBhYm92ZSwgcmFpc2UgYSBxdWVyeTonIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIFxuICAgICAgICAgICAgICBpZD1cInt7cXVhbGlmeWluZ1F1ZXN0aW9uLm5hbWV9fVwiIFxuICAgICAgICAgICAgICBuYW1lPVwicXVhbGlmeWluZ1F1ZXN0aW9uT3B0aW9uXCJcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW2Zvcm1Db250cm9sXT1cInF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sXCIgXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJxdWFsaWZ5aW5nUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKHF1YWxpZnlpbmdRdWVzdGlvbilcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBbZm9yXT1cInF1YWxpZnlpbmdRdWVzdGlvbi5uYW1lXCI+e3sgcXVhbGlmeWluZ1F1ZXN0aW9uLm5hbWUgfFxuICAgICAgICAgICAgICBycHhUcmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMvcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMvcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNNeEQsNkJBQW1DO0lBRS9CLEFBREYsNEJBQStCLGNBQ087SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTztJQUFBLFlBRTNFOztJQUFBLGlCQUFJOzs7O0lBRmtDLGVBQThCO0lBQTlCLDhEQUE4QjtJQUFPLGVBRTNFO0lBRjJFLDZHQUUzRTs7O0lBS0UsNkJBQTZCO0lBQzNCLCtCQUE2QztJQUFBLFlBQXdGOztJQUFBLGlCQUFNOzs7SUFBOUYsZUFBd0Y7SUFBeEYsK0dBQXdGOzs7O0lBRnpJLDZCQUFpRztJQUMvRixvSUFBNkI7SUFJM0IsQUFERiwrQkFBZ0MsZ0JBTXFCO0lBQWpELGlRQUFVLCtDQUFxQyxLQUFDO0lBTGxELGlCQUttRDtJQUNuRCxpQ0FBK0U7SUFBQSxZQUM5RDs7SUFDbkIsQUFEbUIsaUJBQVEsRUFDckI7Ozs7OztJQVpTLGNBQVk7SUFBWixnQ0FBWTtJQUt2QixlQUFnQztJQUFoQywwREFBZ0M7SUFHaEMsQUFEYSwrREFBMEMsZ0NBQzNCO0lBRWlCLGNBQStCO0lBQS9CLGdEQUErQjtJQUFDLGNBQzlEO0lBRDhELHNFQUM5RDs7O0lBaEM3Qiw2QkFBaUQ7SUFJekMsQUFERixBQURGLEFBREYsOEJBQTZFLGtCQUMxQyxnQkFDa0MsWUFDM0I7SUFDbEMsWUFDRjs7SUFDRixBQURFLGlCQUFLLEVBQ0U7SUFDVCw2QkFBa0Q7SUFDaEQsWUFDRjs7SUFBQSxpQkFBSztJQUVMLHNIQUFtQztJQU9uQywrQkFBcUQ7SUFDbkQsc0hBQWlHOztJQWlCdkcsQUFERSxBQURFLGlCQUFNLEVBQ0csRUFDUDs7OztJQXBDd0IsY0FBOEM7SUFBOUMsOERBQThDO0lBSXBFLGVBQ0Y7SUFERSwwRUFDRjtJQUdBLGVBQ0Y7SUFERSxxRkFDRjtJQUVlLGVBQWtCO0lBQWxCLDBDQUFrQjtJQVFjLGVBQWlDO0lBQWpDLDZFQUFpQzs7QURSdEYsTUFBTSxPQUFPLGtDQUFrQztJQVcxQjtJQUNBO0lBQ0E7SUFaSCwwQkFBMEIsQ0FBYztJQUN4QyxvQkFBb0IsQ0FBbUM7SUFDN0QsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFFN0QsK0JBQStCLEdBQUcsK0JBQStCLENBQUM7SUFDbEUsTUFBTSxDQUFTO0lBQ2YsWUFBWSxDQUFTO0lBQ3JCLFFBQVEsQ0FBUztJQUV4QixZQUNtQixLQUFxQixFQUNyQixNQUFjLEVBQ2QseUJBQW9EO1FBRnBELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO0lBQ3ZFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFFcEQsMkVBQTJFO1FBQzNFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3ZGLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzFILENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVNLGlCQUFpQixDQUFDLGtCQUFzQztRQUM3RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDakQsQ0FBQzs0SEF0Q1Usa0NBQWtDOzZEQUFsQyxrQ0FBa0M7WUNaL0MsdUdBQWlEOztZQUFsQyxxREFBZ0M7OztpRkRZbEMsa0NBQWtDO2NBSjlDLFNBQVM7MkJBQ0UsaUNBQWlDOzRHQUkzQiwwQkFBMEI7a0JBQXpDLEtBQUs7WUFDVSxvQkFBb0I7a0JBQW5DLEtBQUs7WUFDSSxnQkFBZ0I7a0JBQXpCLE1BQU07O2tGQUhJLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRdWFsaWZ5aW5nUXVlc3Rpb25zRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgUXVhbGlmeWluZ1F1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBRdWFsaWZ5aW5nUXVlc3Rpb25PcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIHF1YWxpZnlpbmdRdWVzdGlvbnMkOiBPYnNlcnZhYmxlPFF1YWxpZnlpbmdRdWVzdGlvbltdPjtcbiAgQE91dHB1dCgpIHF1ZXN0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFF1YWxpZnlpbmdRdWVzdGlvbj4oKTtcblxuICBwdWJsaWMgcXVhbGlmeWluZ1F1ZXN0aW9uc0Vycm9yTWVzc2FnZSA9IFF1YWxpZnlpbmdRdWVzdGlvbnNFcnJvck1lc3NhZ2U7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZTogUXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuY2lkO1xuICAgIHRoaXMuanVyaXNkaWN0aW9uID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuY2FzZVR5cGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5jYXNlVHlwZTtcblxuICAgIC8vIENoZWNrIGlmIHRoZXJlJ3MgYWxyZWFkeSBhIHNlbGVjdGVkIHF1YWxpZnlpbmcgcXVlc3Rpb24gZnJvbSB0aGUgc2VydmljZVxuICAgIGNvbnN0IHNhdmVkU2VsZWN0aW9uID0gdGhpcy5xdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlLmdldFF1YWxpZnlpbmdRdWVzdGlvblNlbGVjdGlvbigpO1xuICAgIGlmIChzYXZlZFNlbGVjdGlvbikge1xuICAgICAgdGhpcy5xdWFsaWZ5aW5nUXVlc3Rpb25zQ29udHJvbC5zZXRWYWx1ZShzYXZlZFNlbGVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5qdXJpc2RpY3Rpb24sIHRoaXMuY2FzZVR5cGUsIHRoaXMuY2FzZUlkXSwgeyBmcmFnbWVudDogJ1F1ZXJpZXMnIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2wudG91Y2hlZCAmJiB0aGlzLnF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHF1YWxpZnlpbmdRdWVzdGlvbjogUXVhbGlmeWluZ1F1ZXN0aW9uKSB7XG4gICAgdGhpcy5xdWVzdGlvblNlbGVjdGVkLmVtaXQocXVhbGlmeWluZ1F1ZXN0aW9uKTtcbiAgfVxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2xcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbY2xhc3MuZ292dWstZm9ybS1ncm91cC0tZXJyb3JdPVwiZGlzcGxheUVycm9yXCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgICAgPGgxIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7eyAnUmFpc2UgYSBuZXcgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbSBnb3Z1ay0hLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAge3sgJ1doYXQgZG8geW91IG5lZWQgaGVscCB0byBkbz8nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2gyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUVycm9yXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0Vycm9yOicgfCBycHhUcmFuc2xhdGUgfX0gPC9zcGFuPnt7XG4gICAgICAgICAgcXVhbGlmeWluZ1F1ZXN0aW9uc0Vycm9yTWVzc2FnZS5TRUxFQ1RfQU5fT1BUSU9OIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcXVhbGlmeWluZ1F1ZXN0aW9uIG9mIHF1YWxpZnlpbmdRdWVzdGlvbnMkIHwgYXN5bmM7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGFzdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInFtLXF1YWxpZnlpbmctcXVlc3Rpb25fX2RpdmlkZXJcIj57eyAnSWYgeW91ciBpc3N1ZSBpcyBub3QgY292ZXJlZCBieSB0aGUgb3B0aW9ucyBhYm92ZSwgcmFpc2UgYSBxdWVyeTonIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIFxuICAgICAgICAgICAgICBpZD1cInt7cXVhbGlmeWluZ1F1ZXN0aW9uLm5hbWV9fVwiIFxuICAgICAgICAgICAgICBuYW1lPVwicXVhbGlmeWluZ1F1ZXN0aW9uT3B0aW9uXCJcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW2Zvcm1Db250cm9sXT1cInF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sXCIgXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJxdWFsaWZ5aW5nUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKHF1YWxpZnlpbmdRdWVzdGlvbilcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBbZm9yXT1cInF1YWxpZnlpbmdRdWVzdGlvbi5uYW1lXCI+e3sgcXVhbGlmeWluZ1F1ZXN0aW9uLm5hbWUgfFxuICAgICAgICAgICAgICBycHhUcmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=