@hmcts/ccd-case-ui-toolkit 6.11.0-case-file-view-move-document → 6.11.0-rc1

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 (350) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +2751 -2037
  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/app.config.js +1 -1
  6. package/esm2015/lib/components/form/date-input/date-input.component.js +8 -8
  7. package/esm2015/lib/components/header/header-bar/header-bar.component.js +2 -3
  8. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.module.js +1 -1
  9. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +5 -8
  10. package/esm2015/lib/shared/commons/case-edit-data/case-edit-validation.model.js +1 -1
  11. package/esm2015/lib/shared/components/activity/activity.component.js +5 -5
  12. package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +272 -13
  13. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +3 -3
  14. package/esm2015/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.js +80 -0
  15. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +220 -196
  16. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +162 -411
  17. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +20 -17
  18. package/esm2015/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.js +2 -1
  19. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +3 -3
  20. package/esm2015/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.js +2 -1
  21. package/esm2015/lib/shared/components/case-editor/domain/wizard-page-field.model.js +1 -1
  22. package/esm2015/lib/shared/components/case-editor/domain/wizard-page.model.js +2 -1
  23. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +11 -22
  24. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +2 -2
  25. package/esm2015/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.js +12 -12
  26. package/esm2015/lib/shared/components/case-editor/services/work-allocation.service.js +1 -1
  27. package/esm2015/lib/shared/components/case-history/domain/case-history.model.js +2 -1
  28. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +5 -5
  29. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +3 -5
  30. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +71 -41
  31. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +4 -4
  32. package/esm2015/lib/shared/components/case-viewer/case-viewer.component.js +36 -18
  33. package/esm2015/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.js +3 -3
  34. package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +2 -2
  35. package/esm2015/lib/shared/components/error/callback-errors.component.js +5 -10
  36. package/esm2015/lib/shared/components/error/domain/error-context.js +1 -1
  37. package/esm2015/lib/shared/components/event-start/event-guard/event-start.guard.js +2 -2
  38. package/esm2015/lib/shared/components/pagination/pagination.component.js +10 -10
  39. package/esm2015/lib/shared/components/palette/address/address-option.model.js +4 -7
  40. package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +4 -4
  41. package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +1 -1
  42. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +2 -2
  43. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +3 -3
  44. package/esm2015/lib/shared/components/palette/base-field/payment-field.component.js +4 -1
  45. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +88 -52
  46. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +1 -1
  47. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.js +1 -1
  48. 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
  49. package/esm2015/lib/shared/components/palette/case-file-view/index.js +1 -2
  50. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +22 -17
  51. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +2 -2
  52. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +30 -19
  53. package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +1 -1
  54. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +35 -24
  55. package/esm2015/lib/shared/components/palette/collection/collection-create-checker.service.js +5 -5
  56. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +19 -8
  57. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +4 -3
  58. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +2 -2
  59. package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +10 -3
  60. package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +1 -1
  61. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/index.js +3 -0
  62. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.js +47 -0
  63. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.js +153 -0
  64. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +5 -7
  65. package/esm2015/lib/shared/components/palette/index.js +2 -1
  66. package/esm2015/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.js +45 -22
  67. package/esm2015/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.js +2 -4
  68. package/esm2015/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.js +31 -9
  69. package/esm2015/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.js +152 -77
  70. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +21 -19
  71. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +32 -8
  72. package/esm2015/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.js +2 -4
  73. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +1 -1
  74. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases.model.js +4 -1
  75. package/esm2015/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.js +3 -1
  76. package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +3 -5
  77. package/esm2015/lib/shared/components/palette/linked-cases/services/linked-cases.service.js +5 -6
  78. package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +43 -90
  79. package/esm2015/lib/shared/components/palette/order-summary/fee.model.js +2 -1
  80. package/esm2015/lib/shared/components/palette/order-summary/order-summary.model.js +1 -1
  81. package/esm2015/lib/shared/components/palette/palette.module.js +35 -11
  82. package/esm2015/lib/shared/components/palette/palette.service.js +5 -3
  83. package/esm2015/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.js +3 -3
  84. package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +2 -2
  85. package/esm2015/lib/shared/components/palette/utils/date.pipe.js +4 -4
  86. package/esm2015/lib/shared/components/palette/waystopay/waystopay-field.component.js +4 -4
  87. package/esm2015/lib/shared/components/palette/yes-no/yes-no.service.js +3 -1
  88. package/esm2015/lib/shared/components/search-filters/domain/search-input.model.js +1 -1
  89. package/esm2015/lib/shared/components/search-filters/search-filters.component.js +2 -2
  90. package/esm2015/lib/shared/components/search-result/search-result.component.js +14 -18
  91. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +3 -3
  92. package/esm2015/lib/shared/directives/conditional-show/conditional-show-form.directive.js +2 -2
  93. package/esm2015/lib/shared/directives/conditional-show/domain/conditional-show.model.js +104 -200
  94. package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +197 -0
  95. package/esm2015/lib/shared/directives/conditional-show/services/condition.peg.js +103 -0
  96. package/esm2015/lib/shared/domain/addresses/address.model.js +2 -1
  97. package/esm2015/lib/shared/domain/case-details.model.js +2 -1
  98. package/esm2015/lib/shared/domain/case-edit/case-edit.model.js +2 -0
  99. package/esm2015/lib/shared/domain/case-edit/index.js +2 -0
  100. package/esm2015/lib/shared/domain/case-event-data.model.js +2 -1
  101. package/esm2015/lib/shared/domain/case-file-view/case-file-view-category.model.js +1 -1
  102. package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +2 -1
  103. package/esm2015/lib/shared/domain/case-file-view/categories-and-documents.model.js +1 -1
  104. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +2 -1
  105. package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +2 -1
  106. package/esm2015/lib/shared/domain/case-flag/hmcts-service-detail.model.js +2 -1
  107. package/esm2015/lib/shared/domain/case-view/case-event-trigger.model.js +2 -1
  108. package/esm2015/lib/shared/domain/case-view/case-tab.model.js +2 -1
  109. package/esm2015/lib/shared/domain/case-view/case-view-event.model.js +2 -1
  110. package/esm2015/lib/shared/domain/case-view/case-view.model.js +2 -1
  111. package/esm2015/lib/shared/domain/case-view/role-assignment-response.model.js +1 -1
  112. package/esm2015/lib/shared/domain/case-view/role-request.model.js +1 -1
  113. package/esm2015/lib/shared/domain/definition/case-event.model.js +1 -1
  114. package/esm2015/lib/shared/domain/definition/case-field.model.js +7 -3
  115. package/esm2015/lib/shared/domain/definition/case-type.model.js +2 -1
  116. package/esm2015/lib/shared/domain/definition/event-case-field.model.js +2 -1
  117. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  118. package/esm2015/lib/shared/domain/definition/field-type.model.js +2 -1
  119. package/esm2015/lib/shared/domain/document/document-data.model.js +2 -1
  120. package/esm2015/lib/shared/domain/index.js +2 -1
  121. package/esm2015/lib/shared/domain/organisation/organisation-converter.js +8 -8
  122. package/esm2015/lib/shared/domain/pagination-metadata.model.js +1 -1
  123. package/esm2015/lib/shared/domain/search/field.model.js +1 -1
  124. package/esm2015/lib/shared/domain/search/search-result-view-column.model.js +1 -1
  125. package/esm2015/lib/shared/domain/search/search-result-view-item.model.js +2 -1
  126. package/esm2015/lib/shared/domain/search/search-result-view.model.js +2 -1
  127. package/esm2015/lib/shared/domain/user/user-info.model.js +1 -1
  128. package/esm2015/lib/shared/domain/workbasket/workbasket-input.model.js +1 -8
  129. package/esm2015/lib/shared/fixture/case-field-builder.js +13 -13
  130. package/esm2015/lib/shared/fixture/shared.test.fixture.js +27 -27
  131. package/esm2015/lib/shared/pipes/complex/{cdd-page-fields.pipe.js → ccd-page-fields.pipe.js} +3 -3
  132. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +14 -11
  133. package/esm2015/lib/shared/pipes/complex/index.js +2 -2
  134. package/esm2015/lib/shared/pipes/index.js +2 -1
  135. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.js +28 -0
  136. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/index.js +2 -0
  137. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +10 -5
  138. package/esm2015/lib/shared/pipes/pipes.module.js +8 -4
  139. package/esm2015/lib/shared/services/activity/activity.polling.service.js +2 -2
  140. package/esm2015/lib/shared/services/activity/activity.service.js +9 -18
  141. package/esm2015/lib/shared/services/addresses/address-parser.js +5 -5
  142. package/esm2015/lib/shared/services/case-fields/format-translator.service.js +2 -2
  143. package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +26 -5
  144. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +2 -2
  145. package/esm2015/lib/shared/services/definitions/definitions.service.js +3 -8
  146. package/esm2015/lib/shared/services/fields/fields.purger.js +15 -15
  147. package/esm2015/lib/shared/services/fields/fields.utils.js +12 -4
  148. package/esm2015/lib/shared/services/form/field-type-sanitiser.js +17 -1
  149. package/esm2015/lib/shared/services/form/form-value.service.js +1 -2
  150. package/esm2015/lib/shared/services/loading/loading.service.js +2 -7
  151. package/esm2015/lib/shared/services/search/search.service.js +5 -10
  152. package/esm2015/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.js +5 -5
  153. package/esm2015/lib/shared/services/window/window.service.js +1 -1
  154. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +2807 -2100
  155. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  156. package/lib/app.config.d.ts +2 -0
  157. package/lib/app.config.d.ts.map +1 -1
  158. package/lib/components/header/header-bar/header-bar.component.d.ts.map +1 -1
  159. package/lib/shared/commons/case-edit-data/case-edit-data.module.d.ts.map +1 -1
  160. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +3 -5
  161. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  162. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts.map +1 -1
  163. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +65 -10
  164. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  165. package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts +0 -1
  166. package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts.map +1 -1
  167. package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts +8 -0
  168. package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts.map +1 -0
  169. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +12 -9
  170. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  171. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +6 -56
  172. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  173. package/lib/shared/components/case-editor/case-editor.module.d.ts +14 -13
  174. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  175. package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts.map +1 -1
  176. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts +2 -2
  177. 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
  178. package/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.d.ts.map +1 -1
  179. package/lib/shared/components/case-editor/domain/wizard-page-field.model.d.ts.map +1 -1
  180. package/lib/shared/components/case-editor/domain/wizard-page.model.d.ts.map +1 -1
  181. package/lib/shared/components/case-editor/services/cases.service.d.ts +1 -3
  182. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  183. package/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.d.ts.map +1 -1
  184. package/lib/shared/components/case-editor/services/work-allocation.service.d.ts.map +1 -1
  185. package/lib/shared/components/case-history/domain/case-history.model.d.ts.map +1 -1
  186. package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts.map +1 -1
  187. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  188. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +7 -2
  189. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  190. package/lib/shared/components/case-viewer/case-viewer.component.d.ts +6 -3
  191. package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -1
  192. package/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.d.ts.map +1 -1
  193. package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
  194. package/lib/shared/components/error/callback-errors.component.d.ts +2 -3
  195. package/lib/shared/components/error/callback-errors.component.d.ts.map +1 -1
  196. package/lib/shared/components/error/domain/error-context.d.ts +2 -2
  197. package/lib/shared/components/error/domain/error-context.d.ts.map +1 -1
  198. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +1 -1
  199. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  200. package/lib/shared/components/pagination/pagination.component.d.ts +3 -3
  201. package/lib/shared/components/palette/address/address-option.model.d.ts.map +1 -1
  202. package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
  203. package/lib/shared/components/palette/base-field/payment-field.component.d.ts +1 -0
  204. package/lib/shared/components/palette/base-field/payment-field.component.d.ts.map +1 -1
  205. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +14 -10
  206. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
  207. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +4 -1
  208. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  209. package/lib/shared/components/palette/case-file-view/index.d.ts +0 -1
  210. package/lib/shared/components/palette/case-file-view/index.d.ts.map +1 -1
  211. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  212. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +3 -1
  213. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  214. package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
  215. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +2 -0
  216. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  217. package/lib/shared/components/palette/collection/collection-create-checker.service.d.ts.map +1 -1
  218. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +1 -0
  219. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  220. package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts +1 -1
  221. package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
  222. package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts.map +1 -1
  223. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts +3 -0
  224. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts.map +1 -0
  225. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts +9 -0
  226. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  227. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts +17 -0
  228. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  229. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts +1 -1
  230. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts.map +1 -1
  231. package/lib/shared/components/palette/index.d.ts +1 -0
  232. package/lib/shared/components/palette/index.d.ts.map +1 -1
  233. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts +10 -9
  234. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts.map +1 -1
  235. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
  236. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +4 -0
  237. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  238. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +4 -4
  239. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -1
  240. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +2 -0
  241. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -1
  242. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
  243. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +0 -4
  244. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -1
  245. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts +6 -3
  246. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts.map +1 -1
  247. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts +3 -1
  248. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts.map +1 -1
  249. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -1
  250. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
  251. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +0 -4
  252. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  253. package/lib/shared/components/palette/order-summary/fee.model.d.ts.map +1 -1
  254. package/lib/shared/components/palette/order-summary/order-summary.model.d.ts.map +1 -1
  255. package/lib/shared/components/palette/palette.module.d.ts +60 -59
  256. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  257. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  258. package/lib/shared/components/palette/text-area/write-text-area-field.component.d.ts.map +1 -1
  259. package/lib/shared/components/palette/utils/date.pipe.d.ts.map +1 -1
  260. package/lib/shared/components/palette/yes-no/yes-no.service.d.ts.map +1 -1
  261. package/lib/shared/components/search-filters/domain/search-input.model.d.ts.map +1 -1
  262. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -1
  263. package/lib/shared/directives/conditional-show/domain/conditional-show.model.d.ts +13 -30
  264. package/lib/shared/directives/conditional-show/domain/conditional-show.model.d.ts.map +1 -1
  265. package/lib/shared/directives/conditional-show/services/condition-parser.service.d.ts +30 -0
  266. package/lib/shared/directives/conditional-show/services/condition-parser.service.d.ts.map +1 -0
  267. package/lib/shared/directives/conditional-show/services/condition.peg.d.ts +3 -0
  268. package/lib/shared/directives/conditional-show/services/condition.peg.d.ts.map +1 -0
  269. package/lib/shared/domain/addresses/address.model.d.ts.map +1 -1
  270. package/lib/shared/domain/case-details.model.d.ts.map +1 -1
  271. package/lib/shared/domain/case-edit/case-edit.model.d.ts +26 -0
  272. package/lib/shared/domain/case-edit/case-edit.model.d.ts.map +1 -0
  273. package/lib/shared/domain/case-edit/index.d.ts +2 -0
  274. package/lib/shared/domain/case-edit/index.d.ts.map +1 -0
  275. package/lib/shared/domain/case-event-data.model.d.ts.map +1 -1
  276. package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts.map +1 -1
  277. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -0
  278. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
  279. package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts.map +1 -1
  280. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -1
  281. package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
  282. package/lib/shared/domain/case-flag/hmcts-service-detail.model.d.ts.map +1 -1
  283. package/lib/shared/domain/case-view/case-event-trigger.model.d.ts.map +1 -1
  284. package/lib/shared/domain/case-view/case-tab.model.d.ts.map +1 -1
  285. package/lib/shared/domain/case-view/case-view-event.model.d.ts.map +1 -1
  286. package/lib/shared/domain/case-view/case-view.model.d.ts.map +1 -1
  287. package/lib/shared/domain/case-view/role-assignment-response.model.d.ts +1 -2
  288. package/lib/shared/domain/case-view/role-assignment-response.model.d.ts.map +1 -1
  289. package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
  290. package/lib/shared/domain/definition/case-event.model.d.ts.map +1 -1
  291. package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
  292. package/lib/shared/domain/definition/case-type.model.d.ts.map +1 -1
  293. package/lib/shared/domain/definition/event-case-field.model.d.ts.map +1 -1
  294. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  295. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  296. package/lib/shared/domain/definition/field-type.model.d.ts.map +1 -1
  297. package/lib/shared/domain/document/document-data.model.d.ts.map +1 -1
  298. package/lib/shared/domain/index.d.ts +1 -0
  299. package/lib/shared/domain/index.d.ts.map +1 -1
  300. package/lib/shared/domain/organisation/organisation-converter.d.ts.map +1 -1
  301. package/lib/shared/domain/pagination-metadata.model.d.ts +2 -2
  302. package/lib/shared/domain/pagination-metadata.model.d.ts.map +1 -1
  303. package/lib/shared/domain/search/field.model.d.ts.map +1 -1
  304. package/lib/shared/domain/search/search-result-view-column.model.d.ts.map +1 -1
  305. package/lib/shared/domain/search/search-result-view-item.model.d.ts.map +1 -1
  306. package/lib/shared/domain/search/search-result-view.model.d.ts.map +1 -1
  307. package/lib/shared/domain/user/user-info.model.d.ts.map +1 -1
  308. package/lib/shared/domain/workbasket/workbasket-input.model.d.ts +0 -1
  309. package/lib/shared/domain/workbasket/workbasket-input.model.d.ts.map +1 -1
  310. package/lib/shared/fixture/case-field-builder.d.ts +6 -6
  311. package/lib/shared/fixture/case-field-builder.d.ts.map +1 -1
  312. package/lib/shared/fixture/shared.test.fixture.d.ts +6 -6
  313. package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
  314. package/lib/shared/pipes/complex/{cdd-page-fields.pipe.d.ts → ccd-page-fields.pipe.d.ts} +1 -1
  315. package/lib/shared/pipes/complex/ccd-page-fields.pipe.d.ts.map +1 -0
  316. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  317. package/lib/shared/pipes/complex/index.d.ts +1 -1
  318. package/lib/shared/pipes/index.d.ts +1 -0
  319. package/lib/shared/pipes/index.d.ts.map +1 -1
  320. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts +12 -0
  321. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts.map +1 -0
  322. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts +2 -0
  323. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts.map +1 -0
  324. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +2 -1
  325. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -1
  326. package/lib/shared/pipes/pipes.module.d.ts +4 -3
  327. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  328. package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
  329. package/lib/shared/services/activity/activity.service.d.ts.map +1 -1
  330. package/lib/shared/services/addresses/address-parser.d.ts.map +1 -1
  331. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +14 -3
  332. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
  333. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
  334. package/lib/shared/services/definitions/definitions.service.d.ts.map +1 -1
  335. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  336. package/lib/shared/services/fields/fields.utils.d.ts +2 -1
  337. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  338. package/lib/shared/services/form/field-type-sanitiser.d.ts +2 -0
  339. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  340. package/lib/shared/services/loading/loading.service.d.ts +1 -4
  341. package/lib/shared/services/loading/loading.service.d.ts.map +1 -1
  342. package/lib/shared/services/search/search.service.d.ts +0 -2
  343. package/lib/shared/services/search/search.service.d.ts.map +1 -1
  344. package/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.d.ts.map +1 -1
  345. package/lib/shared/services/window/window.service.d.ts.map +1 -1
  346. package/package.json +2 -2
  347. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +0 -85
  348. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts +0 -8
  349. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +0 -1
  350. package/lib/shared/pipes/complex/cdd-page-fields.pipe.d.ts.map +0 -1
@@ -41,6 +41,7 @@ export class LinkedCasesService {
41
41
  };
42
42
  }
43
43
  mapResponse(esSearchCasesResponse) {
44
+ var _a;
44
45
  const caseInfo = this.caseFieldValue.find(item => item.value && item.value.CaseReference === esSearchCasesResponse.case_id);
45
46
  return caseInfo && {
46
47
  caseReference: esSearchCasesResponse.case_id,
@@ -48,8 +49,7 @@ export class LinkedCasesService {
48
49
  caseType: this.mapLookupIDToValueFromJurisdictions('CASE_TYPE', esSearchCasesResponse.case_fields['[CASE_TYPE]']),
49
50
  service: this.mapLookupIDToValueFromJurisdictions('JURISDICTION', esSearchCasesResponse.case_fields['[JURISDICTION]']),
50
51
  state: this.mapLookupIDToValueFromJurisdictions('STATE', esSearchCasesResponse.case_fields['[STATE]']),
51
- reasons: caseInfo.value && caseInfo.value.ReasonForLink &&
52
- caseInfo.value.ReasonForLink.map(reason => reason.value && reason.value.Reason),
52
+ reasons: (_a = caseInfo === null || caseInfo === void 0 ? void 0 : caseInfo.value) === null || _a === void 0 ? void 0 : _a.ReasonForLink
53
53
  };
54
54
  }
55
55
  searchCasesByCaseIds(searchCasesResponse) {
@@ -71,7 +71,7 @@ export class LinkedCasesService {
71
71
  casesResponse.push(this.mapResponse(result));
72
72
  });
73
73
  });
74
- const caseLinks = casesResponse.map(item => {
74
+ this.linkedCases = casesResponse.map(item => {
75
75
  return {
76
76
  caseReference: item.caseReference,
77
77
  caseName: item.caseName,
@@ -80,12 +80,11 @@ export class LinkedCasesService {
80
80
  unlink: false,
81
81
  reasons: item.reasons && item.reasons.map(reason => {
82
82
  return {
83
- reasonCode: reason
83
+ Reason: reason
84
84
  };
85
85
  }),
86
86
  };
87
87
  });
88
- this.linkedCases = caseLinks;
89
88
  this.serverLinkedApiError = null;
90
89
  }, err => {
91
90
  this.serverLinkedApiError = {
@@ -131,4 +130,4 @@ LinkedCasesService.ɵprov = i0.ɵɵdefineInjectable({ token: LinkedCasesService,
131
130
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesService, [{
132
131
  type: Injectable
133
132
  }], function () { return [{ type: i1.JurisdictionService }, { type: i1.SearchService }]; }, null); })();
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQTZCLG1CQUF3QyxFQUN4QyxhQUE0QjtRQUQ1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBakJsRCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJbEMsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGdCQUFXLEdBQWUsRUFBRSxDQUFDO1FBQzdCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDBCQUFxQixHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0JBQVcsR0FBb0MsSUFBSSxDQUFDO1FBQ3BELHlCQUFvQixHQUFvQyxJQUFJLENBQUM7UUFDN0QsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQiwrQkFBMEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVB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QUFPLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQztZQUNsRDtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLG1CQUE2QjtRQUM5QyxJQUFJLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLHVCQUF1QixDQUFDLENBQUM7WUFDbEcsSUFBSSwwQkFBMEIsRUFBRTtnQkFDOUIsUUFBUSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQzthQUM3QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7QUF0SXVCLHlDQUFzQixHQUFHLG1CQUFtQixDQUFDO29GQUYxRCxrQkFBa0I7MERBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSwgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgRVNRdWVyeVR5cGUsIExpbmtSZWFzb24gfSBmcm9tICcuLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBwdWJsaWMgY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSBmYWxzZTtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBpbml0aWFsQ2FzZUxpbmtzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlZGl0TW9kZSA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uc1Jlc3BvbnNlOiBKdXJpc2RpY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VydmVySnVyaXNkaWN0aW9uRXJyb3I6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXJ2ZXJFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZUp1cmlzZGljdGlvbklEID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRKdXJpc2RpY3Rpb25zKCkuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb25zKSA9PiB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSA9IGp1cmlzZGljdGlvbnM7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLnNlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSA9IChhcnJPYmosIGtleSkgPT4ge1xuICAgIHJldHVybiBhcnJPYmoucmVkdWNlKChydiwgeCkgPT4ge1xuICAgICAgKHJ2W3gudmFsdWVba2V5XV0gPSBydlt4LnZhbHVlW2tleV1dIHx8IFtdKS5wdXNoKHgudmFsdWVbJ0Nhc2VSZWZlcmVuY2UnXSk7XG4gICAgICByZXR1cm4gcnY7XG4gICAgfSwge30pO1xuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RFbGFzdGljU2VhcmNoUXVlcnkoY2FzZUlkczogYW55W10sIHNpemU6IG51bWJlcik6IEVTUXVlcnlUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGNhc2VJZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IGFueSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHMuY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhULFxuICAgICAgY2FzZVR5cGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW0NBU0VfVFlQRV0nXSksXG4gICAgICBzZXJ2aWNlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdKVVJJU0RJQ1RJT04nLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tKVVJJU0RJQ1RJT05dJ10pLFxuICAgICAgc3RhdGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbU1RBVEVdJ10pLFxuICAgICAgcmVhc29uczogY2FzZUluZm8udmFsdWUgJiYgY2FzZUluZm8udmFsdWUuUmVhc29uRm9yTGluayAmJlxuICAgICAgICBjYXNlSW5mby52YWx1ZS5SZWFzb25Gb3JMaW5rLm1hcChyZWFzb24gPT4gcmVhc29uLnZhbHVlICYmIHJlYXNvbi52YWx1ZS5SZWFzb24pLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IFtdO1xuICAgIGNvbnN0IGxpbmtlZENhc2VJZHMgPSB0aGlzLmdyb3VwTGlua2VkQ2FzZXNCeUNhc2VUeXBlKHRoaXMuY2FzZUZpZWxkVmFsdWUsICdDYXNlVHlwZScpO1xuICAgIE9iamVjdC5rZXlzKGxpbmtlZENhc2VJZHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGVzUXVlcnkgPSB0aGlzLmNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShsaW5rZWRDYXNlSWRzW2tleV0sIDEwMCk7XG4gICAgICBjb25zdCBxdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hDYXNlc0J5SWRzKGtleSwgZXNRdWVyeSwgU2VhcmNoU2VydmljZS5WSUVXX1dPUktCQVNLRVQpO1xuICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHF1ZXJ5KTtcbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICAgICAgc2VhcmNoQ2FzZXMuZm9yRWFjaChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgcmVzcG9uc2UucmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgY2FzZXNSZXNwb25zZS5wdXNoKHRoaXMubWFwUmVzcG9uc2UocmVzdWx0KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNhc2VMaW5rcyA9IGNhc2VzUmVzcG9uc2UubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjYXNlUmVmZXJlbmNlOiBpdGVtLmNhc2VSZWZlcmVuY2UsXG4gICAgICAgICAgICBjYXNlTmFtZTogaXRlbS5jYXNlTmFtZSxcbiAgICAgICAgICAgIGNhc2VTZXJ2aWNlOiBpdGVtLnNlcnZpY2UsXG4gICAgICAgICAgICBjYXNlVHlwZTogaXRlbS5jYXNlVHlwZSxcbiAgICAgICAgICAgIHVubGluazogZmFsc2UsXG4gICAgICAgICAgICByZWFzb25zOiBpdGVtLnJlYXNvbnMgJiYgaXRlbS5yZWFzb25zLm1hcChyZWFzb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlYXNvbkNvZGU6IHJlYXNvblxuICAgICAgICAgICAgICB9IGFzIExpbmtSZWFzb247XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9IGFzIENhc2VMaW5rO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IG51bGw7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IHtcbiAgICAgICAgICBpZDogJ2JhY2tlbmRFcnJvcicsIG1lc3NhZ2U6ICdTb21lIGNhc2UgaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50J1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKGZpZWxkTmFtZSwgZmllbGRWYWx1ZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRKdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSAmJlxuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25zUmVzcG9uc2UuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRDYXNlVHlwZSA9IHNlbGVjdGVkSnVyaXNkaWN0aW9uICYmIHNlbGVjdGVkSnVyaXNkaWN0aW9uLmNhc2VUeXBlcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQpO1xuICAgIGNvbnN0IHN0YXRlID0gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLnN0YXRlcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gZmllbGRWYWx1ZSk7XG4gICAgc3dpdGNoIChmaWVsZE5hbWUpIHtcbiAgICAgIGNhc2UgJ0pVUklTRElDVElPTic6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZEp1cmlzZGljdGlvbiAmJiBzZWxlY3RlZEp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbjtcbiAgICAgIGNhc2UgJ0NBU0VfVFlQRSc6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUubmFtZTtcbiAgICAgIGNhc2UgJ0NBU0VfVFlQRV9ERVNDUklQVElPTic6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUuZGVzY3JpcHRpb247XG4gICAgICBjYXNlICdTVEFURSc6XG4gICAgICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5uYW1lIHx8IGZpZWxkVmFsdWU7XG4gICAgICBjYXNlICdTVEFURV9ERVNDUklQVElPTic6XG4gICAgICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5kZXNjcmlwdGlvbiB8fCBmaWVsZFZhbHVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENhc2VOYW1lKHNlYXJjaENhc2VzUmVzcG9uc2U6IENhc2VWaWV3KTogc3RyaW5nIHtcbiAgICBsZXQgY2FzZU5hbWUgPSBMaW5rZWRDYXNlc1NlcnZpY2UuQ0FTRV9OQU1FX01JU1NJTkdfVEVYVDtcbiAgICBjb25zdCB0YWJzID0gc2VhcmNoQ2FzZXNSZXNwb25zZS50YWJzLmZpbHRlcih0YWIgPT4ge1xuICAgICAgY29uc3QgY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQgPSB0YWIuZmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQuaWQgPT09ICdjYXNlTmFtZUhtY3RzSW50ZXJuYWwnKTtcbiAgICAgIGlmIChjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZCkge1xuICAgICAgICBjYXNlTmFtZSA9IGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkLnZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjYXNlTmFtZTtcbiAgfVxufVxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQTZCLG1CQUF3QyxFQUN4QyxhQUE0QjtRQUQ1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBakJsRCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJbEMsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGdCQUFXLEdBQWUsRUFBRSxDQUFDO1FBQzdCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDBCQUFxQixHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0JBQVcsR0FBb0MsSUFBSSxDQUFDO1FBQ3BELHlCQUFvQixHQUFvQyxJQUFJLENBQUM7UUFDN0QsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQiwrQkFBMEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVB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ekQsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xHLElBQUksMEJBQTBCLEVBQUU7Z0JBQzlCLFFBQVEsR0FBRywwQkFBMEIsQ0FBQyxLQUFLLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7O0FBcEl1Qix5Q0FBc0IsR0FBRyxtQkFBbUIsQ0FBQztvRkFEMUQsa0JBQWtCOzBEQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCO3VGQUFsQixrQkFBa0I7Y0FEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vanVyaXNkaWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UsIFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBMb3ZSZWZEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIEVTUXVlcnlUeXBlLCBMaW5rUmVhc29uIH0gZnJvbSAnLi4vZG9tYWluJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzU2VydmljZSB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfTkFNRV9NSVNTSU5HX1RFWFQgPSAnQ2FzZSBuYW1lIG1pc3NpbmcnO1xuXG4gIHB1YmxpYyBjYXNlRmllbGRWYWx1ZSA9IFtdO1xuICBwdWJsaWMgaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGlua0Nhc2VSZWFzb25zOiBMb3ZSZWZEYXRhTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGluaXRpYWxDYXNlTGlua3M6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGVkaXRNb2RlID0gZmFsc2U7XG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25zUmVzcG9uc2U6IEp1cmlzZGljdGlvbltdID0gW107XG4gIHB1YmxpYyBzZXJ2ZXJKdXJpc2RpY3Rpb25FcnJvcjogYm9vbGVhbjtcbiAgcHVibGljIHNlcnZlckVycm9yOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9ID0gbnVsbDtcbiAgcHVibGljIHNlcnZlckxpbmtlZEFwaUVycm9yOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9ID0gbnVsbDtcbiAgcHVibGljIGlzU2VydmVyUmVhc29uQ29kZUVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBjYXNlSnVyaXNkaWN0aW9uSUQgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkganVyaXNkaWN0aW9uU2VydmljZTogSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlKSB7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmdldEp1cmlzZGljdGlvbnMoKS5zdWJzY3JpYmUoKGp1cmlzZGljdGlvbnMpID0+IHtcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlID0ganVyaXNkaWN0aW9ucztcbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIHRoaXMuc2VydmVySnVyaXNkaWN0aW9uRXJyb3IgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdyb3VwTGlua2VkQ2FzZXNCeUNhc2VUeXBlID0gKGFyck9iaiwga2V5KSA9PiB7XG4gICAgcmV0dXJuIGFyck9iai5yZWR1Y2UoKHJ2LCB4KSA9PiB7XG4gICAgICAocnZbeC52YWx1ZVtrZXldXSA9IHJ2W3gudmFsdWVba2V5XV0gfHwgW10pLnB1c2goeC52YWx1ZVsnQ2FzZVJlZmVyZW5jZSddKTtcbiAgICAgIHJldHVybiBydjtcbiAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0RWxhc3RpY1NlYXJjaFF1ZXJ5KGNhc2VJZHM6IGFueVtdLCBzaXplOiBudW1iZXIpOiBFU1F1ZXJ5VHlwZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5OiB7XG4gICAgICAgIHRlcm1zOiB7XG4gICAgICAgICAgcmVmZXJlbmNlOiBjYXNlSWRzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNpemUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBtYXBSZXNwb25zZShlc1NlYXJjaENhc2VzUmVzcG9uc2UpOiBhbnkge1xuICAgIGNvbnN0IGNhc2VJbmZvID0gdGhpcy5jYXNlRmllbGRWYWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgPT09IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkKTtcbiAgICByZXR1cm4gY2FzZUluZm8gJiYge1xuICAgICAgY2FzZVJlZmVyZW5jZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQsXG4gICAgICBjYXNlTmFtZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzLmNhc2VOYW1lSG1jdHNJbnRlcm5hbCB8fCBMaW5rZWRDYXNlc1NlcnZpY2UuQ0FTRV9OQU1FX01JU1NJTkdfVEVYVCxcbiAgICAgIGNhc2VUeXBlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdDQVNFX1RZUEUnLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tDQVNFX1RZUEVdJ10pLFxuICAgICAgc2VydmljZTogdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnSlVSSVNESUNUSU9OJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbSlVSSVNESUNUSU9OXSddKSxcbiAgICAgIHN0YXRlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdTVEFURScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW1NUQVRFXSddKSxcbiAgICAgIHJlYXNvbnM6IGNhc2VJbmZvPy52YWx1ZT8uUmVhc29uRm9yTGlua1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IFtdO1xuICAgIGNvbnN0IGxpbmtlZENhc2VJZHMgPSB0aGlzLmdyb3VwTGlua2VkQ2FzZXNCeUNhc2VUeXBlKHRoaXMuY2FzZUZpZWxkVmFsdWUsICdDYXNlVHlwZScpO1xuICAgIE9iamVjdC5rZXlzKGxpbmtlZENhc2VJZHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGVzUXVlcnkgPSB0aGlzLmNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShsaW5rZWRDYXNlSWRzW2tleV0sIDEwMCk7XG4gICAgICBjb25zdCBxdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hDYXNlc0J5SWRzKGtleSwgZXNRdWVyeSwgU2VhcmNoU2VydmljZS5WSUVXX1dPUktCQVNLRVQpO1xuICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHF1ZXJ5KTtcbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICAgICAgc2VhcmNoQ2FzZXMuZm9yRWFjaChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgcmVzcG9uc2UucmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgY2FzZXNSZXNwb25zZS5wdXNoKHRoaXMubWFwUmVzcG9uc2UocmVzdWx0KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXMgPSBjYXNlc1Jlc3BvbnNlLm1hcChpdGVtID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2FzZVJlZmVyZW5jZTogaXRlbS5jYXNlUmVmZXJlbmNlLFxuICAgICAgICAgICAgY2FzZU5hbWU6IGl0ZW0uY2FzZU5hbWUsXG4gICAgICAgICAgICBjYXNlU2VydmljZTogaXRlbS5zZXJ2aWNlLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGl0ZW0uY2FzZVR5cGUsXG4gICAgICAgICAgICB1bmxpbms6IGZhbHNlLFxuICAgICAgICAgICAgcmVhc29uczogaXRlbS5yZWFzb25zICYmIGl0ZW0ucmVhc29ucy5tYXAocmVhc29uID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBSZWFzb246IHJlYXNvblxuICAgICAgICAgICAgICB9IGFzIExpbmtSZWFzb247XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9IGFzIENhc2VMaW5rO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IG51bGw7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IHtcbiAgICAgICAgICBpZDogJ2JhY2tlbmRFcnJvcicsIG1lc3NhZ2U6ICdTb21lIGNhc2UgaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50J1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKGZpZWxkTmFtZSwgZmllbGRWYWx1ZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRKdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSAmJlxuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25zUmVzcG9uc2UuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRDYXNlVHlwZSA9IHNlbGVjdGVkSnVyaXNkaWN0aW9uICYmIHNlbGVjdGVkSnVyaXNkaWN0aW9uLmNhc2VUeXBlcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQpO1xuICAgIGNvbnN0IHN0YXRlID0gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLnN0YXRlcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gZmllbGRWYWx1ZSk7XG4gICAgc3dpdGNoIChmaWVsZE5hbWUpIHtcbiAgICAgIGNhc2UgJ0pVUklTRElDVElPTic6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZEp1cmlzZGljdGlvbiAmJiBzZWxlY3RlZEp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbjtcbiAgICAgIGNhc2UgJ0NBU0VfVFlQRSc6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUubmFtZTtcbiAgICAgIGNhc2UgJ0NBU0VfVFlQRV9ERVNDUklQVElPTic6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUuZGVzY3JpcHRpb247XG4gICAgICBjYXNlICdTVEFURSc6XG4gICAgICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5uYW1lIHx8IGZpZWxkVmFsdWU7XG4gICAgICBjYXNlICdTVEFURV9ERVNDUklQVElPTic6XG4gICAgICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5kZXNjcmlwdGlvbiB8fCBmaWVsZFZhbHVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENhc2VOYW1lKHNlYXJjaENhc2VzUmVzcG9uc2U6IENhc2VWaWV3KTogc3RyaW5nIHtcbiAgICBsZXQgY2FzZU5hbWUgPSBMaW5rZWRDYXNlc1NlcnZpY2UuQ0FTRV9OQU1FX01JU1NJTkdfVEVYVDtcbiAgICBjb25zdCB0YWJzID0gc2VhcmNoQ2FzZXNSZXNwb25zZS50YWJzLmZpbHRlcih0YWIgPT4ge1xuICAgICAgY29uc3QgY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQgPSB0YWIuZmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQuaWQgPT09ICdjYXNlTmFtZUhtY3RzSW50ZXJuYWwnKTtcbiAgICAgIGlmIChjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZCkge1xuICAgICAgICBjYXNlTmFtZSA9IGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkLnZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjYXNlTmFtZTtcbiAgfVxufVxuIl19
@@ -5,7 +5,7 @@ import { CaseEditDataService } from '../../../commons/case-edit-data';
5
5
  import { CommonDataService } from '../../../services/common-data-service/common-data-service';
6
6
  import { CasesService } from '../../case-editor/services/cases.service';
7
7
  import { AbstractFieldWriteComponent } from '../base-field';
8
- import { LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesPages } from './enums';
8
+ import { LinkedCasesEventTriggers, LinkedCasesPages } from './enums';
9
9
  import { LinkedCasesService } from './services';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "../../../../app.config";
@@ -13,72 +13,43 @@ import * as i2 from "../../../services/common-data-service/common-data-service";
13
13
  import * as i3 from "../../case-editor/services/cases.service";
14
14
  import * as i4 from "./services";
15
15
  import * as i5 from "../../../commons/case-edit-data";
16
- function WriteLinkedCasesFieldComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
17
- const _r9 = i0.ɵɵgetCurrentView();
18
- i0.ɵɵelementStart(0, "div", 7);
19
- i0.ɵɵelementStart(1, "ul", 8);
20
- i0.ɵɵelementStart(2, "li");
21
- i0.ɵɵelementStart(3, "a", 9);
22
- i0.ɵɵlistener("click", function WriteLinkedCasesFieldComponent_div_0_div_3_Template_a_click_3_listener() { i0.ɵɵrestoreView(_r9); const errorMessage_r7 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.navigateToErrorElement(errorMessage_r7.fieldId); });
23
- i0.ɵɵtext(4);
24
- i0.ɵɵelementEnd();
25
- i0.ɵɵelementEnd();
26
- i0.ɵɵelementEnd();
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- const errorMessage_r7 = ctx.$implicit;
30
- i0.ɵɵadvance(4);
31
- i0.ɵɵtextInterpolate(errorMessage_r7.description);
32
- } }
33
- function WriteLinkedCasesFieldComponent_div_0_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelementStart(0, "div", 4);
35
- i0.ɵɵelementStart(1, "h2", 5);
36
- i0.ɵɵtext(2, " There is a problem ");
37
- i0.ɵɵelementEnd();
38
- i0.ɵɵtemplate(3, WriteLinkedCasesFieldComponent_div_0_div_3_Template, 5, 1, "div", 6);
16
+ function WriteLinkedCasesFieldComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
17
+ const _r6 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementContainerStart(0);
19
+ i0.ɵɵelementStart(1, "ccd-linked-cases-before-you-start", 3);
20
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_2_Template_ccd_linked_cases_before_you_start_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.onLinkedCasesStateEmitted($event); });
39
21
  i0.ɵɵelementEnd();
40
- } if (rf & 2) {
41
- const ctx_r0 = i0.ɵɵnextContext();
42
- i0.ɵɵadvance(3);
43
- i0.ɵɵproperty("ngForOf", ctx_r0.errorMessages);
22
+ i0.ɵɵelementContainerEnd();
44
23
  } }
45
24
  function WriteLinkedCasesFieldComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
46
- const _r11 = i0.ɵɵgetCurrentView();
25
+ const _r8 = i0.ɵɵgetCurrentView();
47
26
  i0.ɵɵelementContainerStart(0);
48
- i0.ɵɵelementStart(1, "ccd-linked-cases-before-you-start", 10);
49
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_3_Template_ccd_linked_cases_before_you_start_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.onLinkedCasesStateEmitted($event); });
27
+ i0.ɵɵelementStart(1, "ccd-no-linked-cases", 3);
28
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_3_Template_ccd_no_linked_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.onLinkedCasesStateEmitted($event); });
50
29
  i0.ɵɵelementEnd();
51
30
  i0.ɵɵelementContainerEnd();
52
31
  } }
53
32
  function WriteLinkedCasesFieldComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
54
- const _r13 = i0.ɵɵgetCurrentView();
33
+ const _r10 = i0.ɵɵgetCurrentView();
55
34
  i0.ɵɵelementContainerStart(0);
56
- i0.ɵɵelementStart(1, "ccd-no-linked-cases", 10);
57
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_4_Template_ccd_no_linked_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return ctx_r12.onLinkedCasesStateEmitted($event); });
35
+ i0.ɵɵelementStart(1, "ccd-link-cases", 3);
36
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_4_Template_ccd_link_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.onLinkedCasesStateEmitted($event); });
58
37
  i0.ɵɵelementEnd();
59
38
  i0.ɵɵelementContainerEnd();
60
39
  } }
61
40
  function WriteLinkedCasesFieldComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
62
- const _r15 = i0.ɵɵgetCurrentView();
41
+ const _r12 = i0.ɵɵgetCurrentView();
63
42
  i0.ɵɵelementContainerStart(0);
64
- i0.ɵɵelementStart(1, "ccd-link-cases", 10);
65
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_5_Template_ccd_link_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return ctx_r14.onLinkedCasesStateEmitted($event); });
43
+ i0.ɵɵelementStart(1, "ccd-unlink-cases", 3);
44
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_5_Template_ccd_unlink_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.onLinkedCasesStateEmitted($event); });
66
45
  i0.ɵɵelementEnd();
67
46
  i0.ɵɵelementContainerEnd();
68
47
  } }
69
48
  function WriteLinkedCasesFieldComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
70
- const _r17 = i0.ɵɵgetCurrentView();
49
+ const _r14 = i0.ɵɵgetCurrentView();
71
50
  i0.ɵɵelementContainerStart(0);
72
- i0.ɵɵelementStart(1, "ccd-unlink-cases", 10);
73
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_6_Template_ccd_unlink_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.onLinkedCasesStateEmitted($event); });
74
- i0.ɵɵelementEnd();
75
- i0.ɵɵelementContainerEnd();
76
- } }
77
- function WriteLinkedCasesFieldComponent_ng_container_7_Template(rf, ctx) { if (rf & 1) {
78
- const _r19 = i0.ɵɵgetCurrentView();
79
- i0.ɵɵelementContainerStart(0);
80
- i0.ɵɵelementStart(1, "ccd-linked-cases-check-your-answers", 10);
81
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_7_Template_ccd_linked_cases_check_your_answers_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(); return ctx_r18.onLinkedCasesStateEmitted($event); });
51
+ i0.ɵɵelementStart(1, "ccd-linked-cases-check-your-answers", 3);
52
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_6_Template_ccd_linked_cases_check_your_answers_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.onLinkedCasesStateEmitted($event); });
82
53
  i0.ɵɵelementEnd();
83
54
  i0.ɵɵelementContainerEnd();
84
55
  } }
@@ -93,9 +64,11 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
93
64
  this.linkedCasesPages = LinkedCasesPages;
94
65
  this.linkedCasesEventTriggers = LinkedCasesEventTriggers;
95
66
  this.linkedCases = [];
96
- this.errorMessages = [];
97
67
  }
98
68
  ngOnInit() {
69
+ // This is required to enable Continue button validation
70
+ // Continue button should be enabled only at check your answers page
71
+ this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(false);
99
72
  // Clear validation errors
100
73
  this.caseEditDataService.clearFormValidationErrors();
101
74
  // Get linked case reasons from ref data
@@ -131,11 +104,10 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
131
104
  }
132
105
  }
133
106
  onLinkedCasesStateEmitted(linkedCasesState) {
134
- this.errorMessages = [];
107
+ // Clear validation errors
135
108
  this.caseEditDataService.clearFormValidationErrors();
136
109
  if (linkedCasesState.navigateToNextPage) {
137
110
  this.linkedCasesPage = this.getNextPage(linkedCasesState);
138
- this.setContinueButtonValidationErrorMessage();
139
111
  this.proceedToNextPage();
140
112
  }
141
113
  else {
@@ -147,34 +119,30 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
147
119
  }
148
120
  }
149
121
  getLinkedCaseReasons() {
150
- const reasonCodeAPIurl = this.appConfig.getRDCommonDataApiUrl() + '/lov/categories/CaseLinkingReasonCode';
122
+ const reasonCodeAPIurl = `${this.appConfig.getRDCommonDataApiUrl()}/lov/categories/CaseLinkingReasonCode`;
151
123
  this.commonDataService.getRefData(reasonCodeAPIurl).subscribe({
152
124
  next: reasons => {
153
- this.linkedCasesService.linkCaseReasons = reasons.list_of_values.sort((a, b) => (a.value_en > b.value_en) ? 1 : -1);
125
+ // Sort in ascending order
126
+ const linkCaseReasons = reasons.list_of_values.sort((a, b) => (a.value_en > b.value_en) ? 1 : -1);
127
+ // Move Other option to the end of the list
128
+ this.linkedCasesService.linkCaseReasons = linkCaseReasons === null || linkCaseReasons === void 0 ? void 0 : linkCaseReasons.filter(reason => reason.value_en !== 'Other');
129
+ this.linkedCasesService.linkCaseReasons.push(linkCaseReasons === null || linkCaseReasons === void 0 ? void 0 : linkCaseReasons.find(reason => reason.value_en === 'Other'));
154
130
  }
155
131
  });
156
132
  }
157
- setContinueButtonValidationErrorMessage() {
158
- const errorMessage = this.linkedCasesService.isLinkedCasesEventTrigger
159
- ? LinkedCasesErrorMessages.LinkCasesNavigationError
160
- : LinkedCasesErrorMessages.UnlinkCasesNavigationError;
161
- const buttonId = this.linkedCasesService.linkedCases.length === 0
162
- ? 'back-button'
163
- : 'next-button';
164
- this.caseEditDataService.setCaseLinkError({
165
- componentId: buttonId,
166
- errorMessage
167
- });
168
- }
169
133
  proceedToNextPage() {
170
134
  if (this.isAtFinalPage()) {
171
135
  // Continue button event must be allowed in final page
172
- this.caseEditDataService.clearCaseLinkError();
136
+ this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(true);
173
137
  // Trigger validation to clear the "notAtFinalPage" error if now at the final state
174
138
  this.formGroup.updateValueAndValidity();
175
139
  // update form value
176
140
  this.submitLinkedCases();
177
141
  }
142
+ else {
143
+ // Continue button event must not be allowed if not in final page
144
+ this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(false);
145
+ }
178
146
  }
179
147
  submitLinkedCases() {
180
148
  if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
@@ -201,8 +169,7 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
201
169
  getLinkedCases() {
202
170
  this.casesService.getCaseViewV2(this.linkedCasesService.caseId).subscribe((caseView) => {
203
171
  const caseViewFiltered = caseView.tabs.filter(tab => {
204
- const linkField = tab.fields.some(({ field_type }) => field_type && field_type.collection_field_type && field_type.collection_field_type.id === 'CaseLink');
205
- return linkField;
172
+ return tab.fields.some(({ field_type }) => field_type && field_type.collection_field_type && field_type.collection_field_type.id === 'CaseLink');
206
173
  });
207
174
  if (caseViewFiltered) {
208
175
  const caseLinkFieldValue = caseViewFiltered.map(filtered => { var _a; return ((_a = filtered.fields) === null || _a === void 0 ? void 0 : _a.length) > 0 && filtered.fields.filter(field => field.id === 'caseLinks')[0].value; });
@@ -215,35 +182,21 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
215
182
  && !this.linkedCasesService.serverLinkedApiError)
216
183
  ? LinkedCasesPages.BEFORE_YOU_START
217
184
  : LinkedCasesPages.NO_LINKED_CASES;
218
- // Initialise the error to be displayed when clicked on Continue button
219
- this.setContinueButtonValidationErrorMessage();
220
185
  });
221
186
  }
222
- navigateToErrorElement(elementId) {
223
- if (elementId) {
224
- const htmlElement = document.getElementById(elementId);
225
- if (htmlElement) {
226
- htmlElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
227
- htmlElement.focus();
228
- }
229
- }
230
- }
231
187
  }
232
188
  WriteLinkedCasesFieldComponent.ɵfac = function WriteLinkedCasesFieldComponent_Factory(t) { return new (t || WriteLinkedCasesFieldComponent)(i0.ɵɵdirectiveInject(i1.AbstractAppConfig), i0.ɵɵdirectiveInject(i2.CommonDataService), i0.ɵɵdirectiveInject(i3.CasesService), i0.ɵɵdirectiveInject(i4.LinkedCasesService), i0.ɵɵdirectiveInject(i5.CaseEditDataService)); };
233
- WriteLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCasesFieldComponent, selectors: [["ccd-write-linked-cases-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 8, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], [1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesFieldComponent_Template(rf, ctx) { if (rf & 1) {
234
- i0.ɵɵtemplate(0, WriteLinkedCasesFieldComponent_div_0_Template, 4, 1, "div", 0);
189
+ WriteLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCasesFieldComponent, selectors: [["ccd-write-linked-cases-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 7, consts: [[1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesFieldComponent_Template(rf, ctx) { if (rf & 1) {
190
+ i0.ɵɵelementStart(0, "div", 0);
235
191
  i0.ɵɵelementStart(1, "div", 1);
236
- i0.ɵɵelementStart(2, "div", 2);
237
- i0.ɵɵtemplate(3, WriteLinkedCasesFieldComponent_ng_container_3_Template, 2, 0, "ng-container", 3);
238
- i0.ɵɵtemplate(4, WriteLinkedCasesFieldComponent_ng_container_4_Template, 2, 0, "ng-container", 3);
239
- i0.ɵɵtemplate(5, WriteLinkedCasesFieldComponent_ng_container_5_Template, 2, 0, "ng-container", 3);
240
- i0.ɵɵtemplate(6, WriteLinkedCasesFieldComponent_ng_container_6_Template, 2, 0, "ng-container", 3);
241
- i0.ɵɵtemplate(7, WriteLinkedCasesFieldComponent_ng_container_7_Template, 2, 0, "ng-container", 3);
192
+ i0.ɵɵtemplate(2, WriteLinkedCasesFieldComponent_ng_container_2_Template, 2, 0, "ng-container", 2);
193
+ i0.ɵɵtemplate(3, WriteLinkedCasesFieldComponent_ng_container_3_Template, 2, 0, "ng-container", 2);
194
+ i0.ɵɵtemplate(4, WriteLinkedCasesFieldComponent_ng_container_4_Template, 2, 0, "ng-container", 2);
195
+ i0.ɵɵtemplate(5, WriteLinkedCasesFieldComponent_ng_container_5_Template, 2, 0, "ng-container", 2);
196
+ i0.ɵɵtemplate(6, WriteLinkedCasesFieldComponent_ng_container_6_Template, 2, 0, "ng-container", 2);
242
197
  i0.ɵɵelementEnd();
243
198
  i0.ɵɵelementEnd();
244
199
  } if (rf & 2) {
245
- i0.ɵɵproperty("ngIf", ctx.errorMessages.length > 0);
246
- i0.ɵɵadvance(1);
247
200
  i0.ɵɵproperty("formGroup", ctx.formGroup);
248
201
  i0.ɵɵadvance(1);
249
202
  i0.ɵɵproperty("ngSwitch", ctx.linkedCasesPage);
@@ -265,4 +218,4 @@ WriteLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinke
265
218
  templateUrl: './write-linked-cases-field.component.html'
266
219
  }]
267
220
  }], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.CommonDataService }, { type: i3.CasesService }, { type: i4.LinkedCasesService }, { type: i5.CaseEditDataService }]; }, null); })();
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3dyaXRlLWxpbmtlZC1jYXNlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7O0lDTjlDLDhCQUFrRjtJQUNoRiw2QkFBaUQ7SUFDL0MsMEJBQUk7SUFDRiw0QkFBbUY7SUFBaEYsOFFBQXNEO0lBQTBCLFlBQTRC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QUNILENBQUM7OzRHQXhLVSw4QkFBOEI7bUVBQTlCLDhCQUE4QjtRQ2hCM0MsK0VBV007UUFDTiw4QkFBd0U7UUFDdEUsOEJBQTJEO1FBQ3pELGlHQUdlO1FBQ2YsaUdBR2U7UUFDZixpR0FHZTtRQUNmLGlHQUdlO1FBQ2YsaUdBR2U7UUFDakIsaUJBQU07UUFDUixpQkFBTTs7UUFuQ0EsbURBQThCO1FBWVksZUFBdUI7UUFBdkIseUNBQXVCO1FBQ3ZDLGVBQTRCO1FBQTVCLDhDQUE0QjtRQUN6QyxlQUErQztRQUEvQyxvRUFBK0M7UUFJL0MsZUFBOEM7UUFBOUMsbUVBQThDO1FBSTlDLGVBQXdDO1FBQXhDLDZEQUF3QztRQUl4QyxlQUEwQztRQUExQywrREFBMEM7UUFJMUMsZUFBaUQ7UUFBakQsc0VBQWlEOzt1RkRkdkQsOEJBQThCO2NBSjFDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxXQUFXLEVBQUUsMkNBQTJDO2FBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZUVkaXREYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBDb21tb25EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycywgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1saW5rZWQtY2FzZXMtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHB1YmxpYyBjYXNlRWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZTogbnVtYmVyO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNQYWdlcyA9IExpbmtlZENhc2VzUGFnZXM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnMgPSBMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25EYXRhU2VydmljZTogQ29tbW9uRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUVkaXREYXRhU2VydmljZTogQ2FzZUVkaXREYXRhU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuICAgIC8vIEdldCBsaW5rZWQgY2FzZSByZWFzb25zIGZyb20gcmVmIGRhdGFcbiAgICB0aGlzLmdldExpbmtlZENhc2VSZWFzb25zKCk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZURldGFpbHMkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBjYXNlRGV0YWlscyA9PiB0aGlzLmluaXRpYWxpc2VDYXNlRGV0YWlscyhjYXNlRGV0YWlscylcbiAgICB9KTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZUV2ZW50VHJpZ2dlck5hbWUkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBuYW1lID0+IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSAobmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVMpXG4gICAgfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNhc2VFZGl0Rm9ybSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGVkaXRGb3JtID0+IHRoaXMuY2FzZUVkaXRGb3JtID0gZWRpdEZvcm1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXNlQ2FzZURldGFpbHMoY2FzZURldGFpbHM6IENhc2VWaWV3KTogdm9pZCB7XG4gICAgaWYgKGNhc2VEZXRhaWxzKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkID0gY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuXG4gICAgaWYgKGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb05leHRQYWdlKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMuZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZSk7XG4gICAgICB0aGlzLnNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpO1xuICAgICAgdGhpcy5wcm9jZWVkVG9OZXh0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzICYmIGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmZvckVhY2goKGVycm9yTWVzc2FnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuYWRkRm9ybVZhbGlkYXRpb25FcnJvcih7IGlkOiBlcnJvck1lc3NhZ2UuZmllbGRJZCwgbWVzc2FnZTogZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlUmVhc29ucygpOiB2b2lkIHtcbiAgICBjb25zdCByZWFzb25Db2RlQVBJdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0UkRDb21tb25EYXRhQXBpVXJsKCkgKyAnL2xvdi9jYXRlZ29yaWVzL0Nhc2VMaW5raW5nUmVhc29uQ29kZSc7XG4gICAgICB0aGlzLmNvbW1vbkRhdGFTZXJ2aWNlLmdldFJlZkRhdGEocmVhc29uQ29kZUFQSXVybCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVhc29ucyA9PiB7XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua0Nhc2VSZWFzb25zID0gcmVhc29ucy5saXN0X29mX3ZhbHVlcy5zb3J0KChhLCBiKSA9PiAoYS52YWx1ZV9lbiA+IGIudmFsdWVfZW4pID8gMSA6IC0xKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyXG4gICAgICAgID8gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkxpbmtDYXNlc05hdmlnYXRpb25FcnJvclxuICAgICAgICA6IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5VbmxpbmtDYXNlc05hdmlnYXRpb25FcnJvcjtcblxuICAgIGNvbnN0IGJ1dHRvbklkID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMubGVuZ3RoID09PSAwXG4gICAgICA/ICdiYWNrLWJ1dHRvbidcbiAgICAgIDogJ25leHQtYnV0dG9uJztcblxuICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5zZXRDYXNlTGlua0Vycm9yKHtcbiAgICAgICAgY29tcG9uZW50SWQ6IGJ1dHRvbklkLFxuICAgICAgICBlcnJvck1lc3NhZ2VcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZWVkVG9OZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0F0RmluYWxQYWdlKCkpIHtcbiAgICAgIC8vIENvbnRpbnVlIGJ1dHRvbiBldmVudCBtdXN0IGJlIGFsbG93ZWQgaW4gZmluYWwgcGFnZVxuICAgICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNsZWFyQ2FzZUxpbmtFcnJvcigpO1xuICAgICAgLy8gVHJpZ2dlciB2YWxpZGF0aW9uIHRvIGNsZWFyIHRoZSBcIm5vdEF0RmluYWxQYWdlXCIgZXJyb3IgaWYgbm93IGF0IHRoZSBmaW5hbCBzdGF0ZVxuICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgLy8gdXBkYXRlIGZvcm0gdmFsdWVcbiAgICAgIHRoaXMuc3VibWl0TGlua2VkQ2FzZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VibWl0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyKSB7XG4gICAgICBjb25zdCB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZpbHRlcihpdGVtID0+IGl0ZW0udW5saW5rKS5tYXAoaXRlbSA9PiBpdGVtLmNhc2VSZWZlcmVuY2UpO1xuICAgICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZTtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKGl0ZW0gPT4gdW5saW5rZWRDYXNlUmVmZXJlbmVJZHMuaW5kZXhPZihpdGVtLmlkKSA9PT0gLTEpO1xuICAgIH1cbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5jYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZTtcbiAgICAodGhpcy5jYXNlRWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBhbnkpID0gbmV3IEZvcm1Hcm91cCh7Y2FzZUxpbmtzOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW10pfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLnNldENhc2VFZGl0Rm9ybSh0aGlzLmNhc2VFZGl0Rm9ybSk7XG4gIH1cblxuICBwdWJsaWMgaXNBdEZpbmFsUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IHRoaXMubGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZTogTGlua2VkQ2FzZXNTdGF0ZSk6IG51bWJlciB7XG4gICAgaWYgKCh0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUKSB8fFxuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZS5jdXJyZW50TGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyAmJiBsaW5rZWRDYXNlc1N0YXRlLm5hdmlnYXRlVG9QcmV2aW91c1BhZ2UpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcbiAgICAgICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5MSU5LX0NBU0VcbiAgICAgICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRTtcbiAgICB9XG4gICAgcmV0dXJuIExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkKS5zdWJzY3JpYmUoKGNhc2VWaWV3OiBDYXNlVmlldykgPT4ge1xuICAgICAgY29uc3QgY2FzZVZpZXdGaWx0ZXJlZCA9IGNhc2VWaWV3LnRhYnMuZmlsdGVyKHRhYiA9PiB7XG4gICAgICAgIGNvbnN0IGxpbmtGaWVsZCA9IHRhYi5maWVsZHMuc29tZShcbiAgICAgICAgICAoe2ZpZWxkX3R5cGV9KSA9PiBmaWVsZF90eXBlICYmIGZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlICYmIGZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkID09PSAnQ2FzZUxpbmsnXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBsaW5rRmllbGQ7XG4gICAgICB9KTtcbiAgICAgIGlmIChjYXNlVmlld0ZpbHRlcmVkKSB7XG4gICAgICAgIGNvbnN0IGNhc2VMaW5rRmllbGRWYWx1ZSA9IGNhc2VWaWV3RmlsdGVyZWQubWFwKGZpbHRlcmVkID0+XG4gICAgICAgICAgZmlsdGVyZWQuZmllbGRzPy5sZW5ndGggPiAwICYmIGZpbHRlcmVkLmZpZWxkcy5maWx0ZXIoZmllbGQgPT4gZmllbGQuaWQgPT09ICdjYXNlTGlua3MnKVswXS52YWx1ZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSA9IGNhc2VMaW5rRmllbGRWYWx1ZS5sZW5ndGggPyBjYXNlTGlua0ZpZWxkVmFsdWVbMF0gOiBbXTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk7XG4gICAgICB9XG4gICAgICAvLyBJbml0aWFsaXNlIHRoZSBmaXJzdCBwYWdlIHRvIGRpc3BsYXlcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNQYWdlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlICYmIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnNlcnZlckxpbmtlZEFwaUVycm9yKVxuICAgICAgICA/IExpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVFxuICAgICAgICA6IExpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTO1xuICAgICAgLy8gSW5pdGlhbGlzZSB0aGUgZXJyb3IgdG8gYmUgZGlzcGxheWVkIHdoZW4gY2xpY2tlZCBvbiBDb250aW51ZSBidXR0b25cbiAgICAgIHRoaXMuc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb0Vycm9yRWxlbWVudChlbGVtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50SWQpIHtcbiAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTtcbiAgICAgIGlmIChodG1sRWxlbWVudCkge1xuICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xuICAgICAgICBodG1sRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBFcnJvciBtZXNzYWdlIHN1bW1hcnkgLS0+XG48ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiIHJvbGU9XCJhbGVydFwiIHRhYmluZGV4PVwiLTFcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWVycm9yLXN1bW1hcnlcIj5cbiAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGVcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICBUaGVyZSBpcyBhIHByb2JsZW1cbiAgPC9oMj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgZXJyb3JNZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgIDxsaT5cbiAgICAgICAgPGEgKGNsaWNrKT1cIm5hdmlnYXRlVG9FcnJvckVsZW1lbnQoZXJyb3JNZXNzYWdlLmZpZWxkSWQpXCIgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+e3tlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb259fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0yXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdTd2l0Y2hdPVwibGlua2VkQ2FzZXNQYWdlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUXCI+XG4gICAgICA8Y2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0XG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtYmVmb3JlLXlvdS1zdGFydD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLk5PX0xJTktFRF9DQVNFU1wiPlxuICAgICAgPGNjZC1uby1saW5rZWQtY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLW5vLWxpbmtlZC1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC1saW5rLWNhc2VzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuVU5MSU5LX0NBU0VcIj5cbiAgICAgIDxjY2QtdW5saW5rLWNhc2VzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC11bmxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlNcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWNoZWNrLXlvdXItYW5zd2Vyc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtbGlua2VkLWNhc2VzLWNoZWNrLXlvdXItYW5zd2Vycz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3dyaXRlLWxpbmtlZC1jYXNlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUE0Qix3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7OztJQ1Q1Qyw2QkFBZ0U7SUFDOUQsNERBQ2dFO0lBQTlELHFTQUE2RDtJQUFDLGlCQUFvQztJQUN0RywwQkFBZTs7OztJQUNmLDZCQUErRDtJQUM3RCw4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QUFrQixDQUFDLDJCQUEyQixFQUFFLENBQUM7YUFDdkQ7WUFDRCx1Q0FBdUM7WUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCO2dCQUN0RCxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQzt1QkFDdkYsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25FLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7Z0JBQ25DLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs0R0FuSlUsOEJBQThCO21FQUE5Qiw4QkFBOEI7UUNqQjNDLDhCQUF3RTtRQUN0RSw4QkFBMkQ7UUFDekQsaUdBR2U7UUFDZixpR0FHZTtRQUNmLGlHQUdlO1FBQ2YsaUdBR2U7UUFDZixpR0FHZTtRQUNqQixpQkFBTTtRQUNSLGlCQUFNOztRQXZCMEMseUNBQXVCO1FBQ3ZDLGVBQTRCO1FBQTVCLDhDQUE0QjtRQUN6QyxlQUErQztRQUEvQyxvRUFBK0M7UUFJL0MsZUFBOEM7UUFBOUMsbUVBQThDO1FBSTlDLGVBQXdDO1FBQXhDLDZEQUF3QztRQUl4QyxlQUEwQztRQUExQywrREFBMEM7UUFJMUMsZUFBaUQ7UUFBakQsc0VBQWlEOzt1RkREdkQsOEJBQThCO2NBSjFDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxXQUFXLEVBQUUsMkNBQTJDO2FBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZUVkaXREYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBDb21tb25EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycywgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1saW5rZWQtY2FzZXMtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgY2FzZUVkaXRGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBsaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZXMgPSBMaW5rZWRDYXNlc1BhZ2VzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzID0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25EYXRhU2VydmljZTogQ29tbW9uRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUVkaXREYXRhU2VydmljZTogQ2FzZUVkaXREYXRhU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVGhpcyBpcyByZXF1aXJlZCB0byBlbmFibGUgQ29udGludWUgYnV0dG9uIHZhbGlkYXRpb25cbiAgICAvLyBDb250aW51ZSBidXR0b24gc2hvdWxkIGJlIGVuYWJsZWQgb25seSBhdCBjaGVjayB5b3VyIGFuc3dlcnMgcGFnZVxuICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5zZXRMaW5rZWRDYXNlc0pvdXJuZXlBdEZpbmFsU3RlcChmYWxzZSk7XG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuICAgIC8vIEdldCBsaW5rZWQgY2FzZSByZWFzb25zIGZyb20gcmVmIGRhdGFcbiAgICB0aGlzLmdldExpbmtlZENhc2VSZWFzb25zKCk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZURldGFpbHMkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBjYXNlRGV0YWlscyA9PiB0aGlzLmluaXRpYWxpc2VDYXNlRGV0YWlscyhjYXNlRGV0YWlscylcbiAgICB9KTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZUV2ZW50VHJpZ2dlck5hbWUkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBuYW1lID0+IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSAobmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVMpXG4gICAgfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNhc2VFZGl0Rm9ybSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGVkaXRGb3JtID0+IHRoaXMuY2FzZUVkaXRGb3JtID0gZWRpdEZvcm1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXNlQ2FzZURldGFpbHMoY2FzZURldGFpbHM6IENhc2VWaWV3KTogdm9pZCB7XG4gICAgaWYgKGNhc2VEZXRhaWxzKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkID0gY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiB2b2lkIHtcbiAgICAvLyBDbGVhciB2YWxpZGF0aW9uIGVycm9yc1xuICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5jbGVhckZvcm1WYWxpZGF0aW9uRXJyb3JzKCk7XG5cbiAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5uYXZpZ2F0ZVRvTmV4dFBhZ2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNQYWdlID0gdGhpcy5nZXROZXh0UGFnZShsaW5rZWRDYXNlc1N0YXRlKTtcbiAgICAgIHRoaXMucHJvY2VlZFRvTmV4dFBhZ2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcyAmJiBsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMubGVuZ3RoKSB7XG4gICAgICAgIGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcy5mb3JFYWNoKChlcnJvck1lc3NhZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmFkZEZvcm1WYWxpZGF0aW9uRXJyb3IoeyBpZDogZXJyb3JNZXNzYWdlLmZpZWxkSWQsIG1lc3NhZ2U6IGVycm9yTWVzc2FnZS5kZXNjcmlwdGlvbn0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZVJlYXNvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgcmVhc29uQ29kZUFQSXVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldFJEQ29tbW9uRGF0YUFwaVVybCgpfS9sb3YvY2F0ZWdvcmllcy9DYXNlTGlua2luZ1JlYXNvbkNvZGVgO1xuICAgICAgdGhpcy5jb21tb25EYXRhU2VydmljZS5nZXRSZWZEYXRhKHJlYXNvbkNvZGVBUEl1cmwpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IHJlYXNvbnMgPT4ge1xuICAgICAgICAgIC8vIFNvcnQgaW4gYXNjZW5kaW5nIG9yZGVyXG4gICAgICAgICAgY29uc3QgbGlua0Nhc2VSZWFzb25zID0gcmVhc29ucy5saXN0X29mX3ZhbHVlcy5zb3J0KChhLCBiKSA9PiAoYS52YWx1ZV9lbiA+IGIudmFsdWVfZW4pID8gMSA6IC0xKTtcbiAgICAgICAgICAvLyBNb3ZlIE90aGVyIG9wdGlvbiB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua0Nhc2VSZWFzb25zID0gbGlua0Nhc2VSZWFzb25zPy5maWx0ZXIocmVhc29uID0+IHJlYXNvbi52YWx1ZV9lbiAhPT0gJ090aGVyJyk7XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua0Nhc2VSZWFzb25zLnB1c2gobGlua0Nhc2VSZWFzb25zPy5maW5kKHJlYXNvbiA9PiByZWFzb24udmFsdWVfZW4gPT09ICdPdGhlcicpKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHByb2NlZWRUb05leHRQYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQXRGaW5hbFBhZ2UoKSkge1xuICAgICAgLy8gQ29udGludWUgYnV0dG9uIGV2ZW50IG11c3QgYmUgYWxsb3dlZCBpbiBmaW5hbCBwYWdlXG4gICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2Uuc2V0TGlua2VkQ2FzZXNKb3VybmV5QXRGaW5hbFN0ZXAodHJ1ZSk7XG4gICAgICAvLyBUcmlnZ2VyIHZhbGlkYXRpb24gdG8gY2xlYXIgdGhlIFwibm90QXRGaW5hbFBhZ2VcIiBlcnJvciBpZiBub3cgYXQgdGhlIGZpbmFsIHN0YXRlXG4gICAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAvLyB1cGRhdGUgZm9ybSB2YWx1ZVxuICAgICAgdGhpcy5zdWJtaXRMaW5rZWRDYXNlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDb250aW51ZSBidXR0b24gZXZlbnQgbXVzdCBub3QgYmUgYWxsb3dlZCBpZiBub3QgaW4gZmluYWwgcGFnZVxuICAgICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLnNldExpbmtlZENhc2VzSm91cm5leUF0RmluYWxTdGVwKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VibWl0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyKSB7XG4gICAgICBjb25zdCB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZpbHRlcihpdGVtID0+IGl0ZW0udW5saW5rKS5tYXAoaXRlbSA9PiBpdGVtLmNhc2VSZWZlcmVuY2UpO1xuICAgICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZTtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKGl0ZW0gPT4gdW5saW5rZWRDYXNlUmVmZXJlbmVJZHMuaW5kZXhPZihpdGVtLmlkKSA9PT0gLTEpO1xuICAgIH1cbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5jYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZTtcbiAgICAodGhpcy5jYXNlRWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBhbnkpID0gbmV3IEZvcm1Hcm91cCh7Y2FzZUxpbmtzOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW10pfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLnNldENhc2VFZGl0Rm9ybSh0aGlzLmNhc2VFZGl0Rm9ybSk7XG4gIH1cblxuICBwdWJsaWMgaXNBdEZpbmFsUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IHRoaXMubGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZTogTGlua2VkQ2FzZXNTdGF0ZSk6IG51bWJlciB7XG4gICAgaWYgKCh0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUKSB8fFxuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZS5jdXJyZW50TGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyAmJiBsaW5rZWRDYXNlc1N0YXRlLm5hdmlnYXRlVG9QcmV2aW91c1BhZ2UpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcbiAgICAgICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5MSU5LX0NBU0VcbiAgICAgICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRTtcbiAgICB9XG4gICAgcmV0dXJuIExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkKS5zdWJzY3JpYmUoKGNhc2VWaWV3OiBDYXNlVmlldykgPT4ge1xuICAgICAgY29uc3QgY2FzZVZpZXdGaWx0ZXJlZCA9IGNhc2VWaWV3LnRhYnMuZmlsdGVyKHRhYiA9PiB7XG4gICAgICAgIHJldHVybiB0YWIuZmllbGRzLnNvbWUoXG4gICAgICAgICAgKHtmaWVsZF90eXBlfSkgPT4gZmllbGRfdHlwZSAmJiBmaWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSAmJiBmaWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCA9PT0gJ0Nhc2VMaW5rJ1xuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICBpZiAoY2FzZVZpZXdGaWx0ZXJlZCkge1xuICAgICAgICBjb25zdCBjYXNlTGlua0ZpZWxkVmFsdWUgPSBjYXNlVmlld0ZpbHRlcmVkLm1hcChmaWx0ZXJlZCA9PlxuICAgICAgICAgIGZpbHRlcmVkLmZpZWxkcz8ubGVuZ3RoID4gMCAmJiBmaWx0ZXJlZC5maWVsZHMuZmlsdGVyKGZpZWxkID0+IGZpZWxkLmlkID09PSAnY2FzZUxpbmtzJylbMF0udmFsdWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBjYXNlTGlua0ZpZWxkVmFsdWUubGVuZ3RoID8gY2FzZUxpbmtGaWVsZFZhbHVlWzBdIDogW107XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpO1xuICAgICAgfVxuICAgICAgLy8gSW5pdGlhbGlzZSB0aGUgZmlyc3QgcGFnZSB0byBkaXNwbGF5XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICYmICF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zZXJ2ZXJMaW5rZWRBcGlFcnJvcilcbiAgICAgICAgPyBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcbiAgICAgICAgOiBMaW5rZWRDYXNlc1BhZ2VzLk5PX0xJTktFRF9DQVNFUztcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZ292dWstIS1tYXJnaW4tYm90dG9tLTJcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ1N3aXRjaF09XCJsaW5rZWRDYXNlc1BhZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnRcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTXCI+XG4gICAgICA8Y2NkLW5vLWxpbmtlZC1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2Qtbm8tbGlua2VkLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXCI+XG4gICAgICA8Y2NkLWxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC11bmxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLXVubGluay1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSU1wiPlxuICAgICAgPGNjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,3 +1,4 @@
1
+ // tslint:disable:variable-name
1
2
  export class Fee {
2
3
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvb3JkZXItc3VtbWFyeS9mZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEdBQUc7Q0FLZiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGZWUge1xuICAgIHB1YmxpYyBGZWVDb2RlOiBzdHJpbmc7XG4gICAgcHVibGljIEZlZUFtb3VudDogc3RyaW5nO1xuICAgIHB1YmxpYyBGZWVEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBwdWJsaWMgRmVlVmVyc2lvbjogc3RyaW5nO1xufVxuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvb3JkZXItc3VtbWFyeS9mZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE1BQU0sT0FBTyxHQUFHO0NBS2YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTp2YXJpYWJsZS1uYW1lXG5leHBvcnQgY2xhc3MgRmVlIHtcbiAgcHVibGljIEZlZUNvZGU6IHN0cmluZztcbiAgcHVibGljIEZlZUFtb3VudDogc3RyaW5nO1xuICBwdWJsaWMgRmVlRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHB1YmxpYyBGZWVWZXJzaW9uOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class OrderSummary {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3VtbWFyeS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL29yZGVyLXN1bW1hcnkvb3JkZXItc3VtbWFyeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sWUFBWTtDQUl4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlZVZhbHVlIH0gZnJvbSAnLi9mZWUtdmFsdWUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgT3JkZXJTdW1tYXJ5IHtcbiAgICBwdWJsaWMgUGF5bWVudFJlZmVyZW5jZTogc3RyaW5nO1xuICAgIHB1YmxpYyBGZWVzOiBGZWVWYWx1ZVtdO1xuICAgIHB1YmxpYyBQYXltZW50VG90YWw6IHN0cmluZztcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3VtbWFyeS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL29yZGVyLXN1bW1hcnkvb3JkZXItc3VtbWFyeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sWUFBWTtDQUl4QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOnZhcmlhYmxlLW5hbWVcbmltcG9ydCB7IEZlZVZhbHVlIH0gZnJvbSAnLi9mZWUtdmFsdWUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgT3JkZXJTdW1tYXJ5IHtcbiAgcHVibGljIFBheW1lbnRSZWZlcmVuY2U6IHN0cmluZztcbiAgcHVibGljIEZlZXM6IEZlZVZhbHVlW107XG4gIHB1YmxpYyBQYXltZW50VG90YWw6IHN0cmluZztcbn1cbiJdfQ==