@hmcts/ccd-case-ui-toolkit 7.0.30 → 7.0.31-angular-upgrade

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 (1170) hide show
  1. package/esm2022/lib/app.config.mjs +93 -0
  2. package/esm2022/lib/components/banners/alert/alert-icon-class.pipe.mjs +25 -0
  3. package/esm2022/lib/components/banners/alert/alert.component.mjs +92 -0
  4. package/esm2022/lib/components/banners/alert/alert.module.mjs +32 -0
  5. package/esm2022/lib/components/banners/banners.module.mjs +32 -0
  6. package/esm2022/lib/components/banners/notification-banner/notification-banner.component.mjs +116 -0
  7. package/esm2022/lib/components/banners/notification-banner/notification-banner.module.mjs +19 -0
  8. package/esm2022/lib/components/body/body.component.mjs +21 -0
  9. package/esm2022/lib/components/body/body.module.mjs +20 -0
  10. package/esm2022/lib/components/footer/footer.component.mjs +109 -0
  11. package/esm2022/lib/components/footer/footers.module.mjs +25 -0
  12. package/esm2022/lib/components/form/date-input/date-input.component.mjs +341 -0
  13. package/esm2022/lib/components/form/form.module.mjs +29 -0
  14. package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +98 -0
  15. package/esm2022/lib/components/header/headers.module.mjs +25 -0
  16. package/esm2022/lib/components/header/navigation/navigation-item.component.mjs +45 -0
  17. package/esm2022/lib/components/header/navigation/navigation.component.mjs +26 -0
  18. package/esm2022/lib/components/header/phase/phase.component.mjs +49 -0
  19. package/esm2022/lib/components/tabs/tab.component.mjs +32 -0
  20. package/esm2022/lib/components/tabs/tabs.component.mjs +83 -0
  21. package/esm2022/lib/components/tabs/tabs.module.mjs +38 -0
  22. package/esm2022/lib/shared/commons/address-validation-constants.mjs +13 -0
  23. package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +19 -0
  24. package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +46 -0
  25. package/esm2022/lib/shared/commons/constants.mjs +13 -0
  26. package/esm2022/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +43 -0
  27. package/esm2022/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +36 -0
  28. package/esm2022/lib/shared/components/activity/activity.component.mjs +156 -0
  29. package/esm2022/lib/shared/components/activity/activity.module.mjs +55 -0
  30. package/esm2022/lib/shared/components/case-editor/case-access-utils/index.mjs +105 -0
  31. package/esm2022/lib/shared/components/case-editor/case-create/case-create.component.mjs +96 -0
  32. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +464 -0
  33. package/esm2022/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +130 -0
  34. package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +140 -0
  35. package/esm2022/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +70 -0
  36. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +804 -0
  37. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +555 -0
  38. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +213 -0
  39. package/esm2022/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +97 -0
  40. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +83 -0
  41. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +167 -0
  42. package/esm2022/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +85 -0
  43. package/esm2022/lib/shared/components/case-editor/domain/confirmation.model.mjs +25 -0
  44. package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +9 -0
  45. package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +7 -0
  46. package/esm2022/lib/shared/components/case-editor/domain/wizard-page.model.mjs +33 -0
  47. package/esm2022/lib/shared/components/case-editor/domain/wizard.model.mjs +55 -0
  48. package/esm2022/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +98 -0
  49. package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +19 -0
  50. package/esm2022/lib/shared/components/case-editor/services/case-worker.service.mjs +35 -0
  51. package/esm2022/lib/shared/components/case-editor/services/case.notifier.mjs +53 -0
  52. package/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +302 -0
  53. package/esm2022/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +42 -0
  54. package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +153 -0
  55. package/esm2022/lib/shared/components/case-editor/services/event-trigger.service.mjs +18 -0
  56. package/esm2022/lib/shared/components/case-editor/services/judicial-worker.service.mjs +35 -0
  57. package/esm2022/lib/shared/components/case-editor/services/page-validation.service.mjs +59 -0
  58. package/esm2022/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +40 -0
  59. package/esm2022/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +117 -0
  60. package/esm2022/lib/shared/components/case-editor/services/work-allocation.service.mjs +215 -0
  61. package/esm2022/lib/shared/components/case-header/case-header.component.mjs +64 -0
  62. package/esm2022/lib/shared/components/case-header/case-header.module.mjs +33 -0
  63. package/esm2022/lib/shared/components/case-history/case-history.component.mjs +252 -0
  64. package/esm2022/lib/shared/components/case-history/case-history.module.mjs +64 -0
  65. package/esm2022/lib/shared/components/case-history/domain/case-history.model.mjs +37 -0
  66. package/esm2022/lib/shared/components/case-history/services/case-history.service.mjs +43 -0
  67. package/esm2022/lib/shared/components/case-list/case-list.component.mjs +368 -0
  68. package/esm2022/lib/shared/components/case-list/case-list.module.mjs +47 -0
  69. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.component.mjs +57 -0
  70. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.module.mjs +64 -0
  71. package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +115 -0
  72. package/esm2022/lib/shared/components/case-timeline/case-timeline.module.mjs +52 -0
  73. package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +246 -0
  74. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +311 -0
  75. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +75 -0
  76. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +156 -0
  77. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +707 -0
  78. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +61 -0
  79. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +256 -0
  80. package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +211 -0
  81. package/esm2022/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +50 -0
  82. package/esm2022/lib/shared/components/case-viewer/case-view/case-view.component.mjs +107 -0
  83. package/esm2022/lib/shared/components/case-viewer/case-viewer.component.mjs +136 -0
  84. package/esm2022/lib/shared/components/case-viewer/case-viewer.module.mjs +191 -0
  85. package/esm2022/lib/shared/components/case-viewer/printer/case-printer.component.mjs +117 -0
  86. package/esm2022/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +61 -0
  87. package/esm2022/lib/shared/components/case-viewer/services/case.resolver.mjs +141 -0
  88. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +70 -0
  89. package/esm2022/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +11 -0
  90. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.component.mjs +289 -0
  91. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.module.mjs +44 -0
  92. package/esm2022/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +60 -0
  93. package/esm2022/lib/shared/components/dialogs/dialogs.module.mjs +51 -0
  94. package/esm2022/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +62 -0
  95. package/esm2022/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +60 -0
  96. package/esm2022/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +64 -0
  97. package/esm2022/lib/shared/components/error/callback-errors.component.mjs +146 -0
  98. package/esm2022/lib/shared/components/error/domain/error-context.mjs +5 -0
  99. package/esm2022/lib/shared/components/error/errors.module.mjs +33 -0
  100. package/esm2022/lib/shared/components/error-message/error-message.component.mjs +45 -0
  101. package/esm2022/lib/shared/components/error-message/error-message.module.mjs +41 -0
  102. package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +62 -0
  103. package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +56 -0
  104. package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +112 -0
  105. package/esm2022/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +70 -0
  106. package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +61 -0
  107. package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +56 -0
  108. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +97 -0
  109. package/esm2022/lib/shared/components/event-start/event-start.component.mjs +56 -0
  110. package/esm2022/lib/shared/components/event-start/event-start.module.mjs +71 -0
  111. package/esm2022/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +31 -0
  112. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +177 -0
  113. package/esm2022/lib/shared/components/event-trigger/event-trigger.component.mjs +117 -0
  114. package/esm2022/lib/shared/components/event-trigger/event-trigger.module.mjs +37 -0
  115. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.component.mjs +26 -0
  116. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.module.mjs +29 -0
  117. package/esm2022/lib/shared/components/pagination/pagination.component.mjs +260 -0
  118. package/esm2022/lib/shared/components/pagination/pagination.module.mjs +35 -0
  119. package/esm2022/lib/shared/components/palette/address/address-option.model.mjs +23 -0
  120. package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +286 -0
  121. package/esm2022/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +30 -0
  122. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +44 -0
  123. package/esm2022/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +84 -0
  124. package/esm2022/lib/shared/components/palette/base-field/field-read-label.component.mjs +85 -0
  125. package/esm2022/lib/shared/components/palette/base-field/field-read.component.mjs +90 -0
  126. package/esm2022/lib/shared/components/palette/base-field/field-write.component.mjs +78 -0
  127. package/esm2022/lib/shared/components/palette/base-field/payment-field.component.mjs +37 -0
  128. package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +181 -0
  129. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +50 -0
  130. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +51 -0
  131. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +358 -0
  132. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +158 -0
  133. package/esm2022/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +94 -0
  134. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +190 -0
  135. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +301 -0
  136. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +206 -0
  137. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +169 -0
  138. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +225 -0
  139. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +311 -0
  140. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +202 -0
  141. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +353 -0
  142. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +269 -0
  143. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +510 -0
  144. package/esm2022/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +43 -0
  145. package/esm2022/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +43 -0
  146. package/esm2022/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +111 -0
  147. package/esm2022/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +79 -0
  148. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +253 -0
  149. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +697 -0
  150. package/esm2022/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +33 -0
  151. package/esm2022/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +125 -0
  152. package/esm2022/lib/shared/components/palette/collection/collection-create-checker.service.mjs +42 -0
  153. package/esm2022/lib/shared/components/palette/collection/read-collection-field.component.mjs +78 -0
  154. package/esm2022/lib/shared/components/palette/collection/write-collection-field.component.mjs +447 -0
  155. package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +378 -0
  156. package/esm2022/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +51 -0
  157. package/esm2022/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +76 -0
  158. package/esm2022/lib/shared/components/palette/complex/read-complex-field.component.mjs +71 -0
  159. package/esm2022/lib/shared/components/palette/complex/write-complex-field.component.mjs +173 -0
  160. package/esm2022/lib/shared/components/palette/date/read-date-field.component.mjs +26 -0
  161. package/esm2022/lib/shared/components/palette/date/write-date-container-field.component.mjs +33 -0
  162. package/esm2022/lib/shared/components/palette/date/write-date-field.component.mjs +77 -0
  163. package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +312 -0
  164. package/esm2022/lib/shared/components/palette/document/document-url.pipe.mjs +25 -0
  165. package/esm2022/lib/shared/components/palette/document/file-upload-progress.guard.mjs +31 -0
  166. package/esm2022/lib/shared/components/palette/document/file-upload-state.service.mjs +17 -0
  167. package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +88 -0
  168. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +430 -0
  169. package/esm2022/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +18 -0
  170. package/esm2022/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +37 -0
  171. package/esm2022/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +124 -0
  172. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +44 -0
  173. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +146 -0
  174. package/esm2022/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +25 -0
  175. package/esm2022/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +43 -0
  176. package/esm2022/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +123 -0
  177. package/esm2022/lib/shared/components/palette/email/read-email-field.component.mjs +36 -0
  178. package/esm2022/lib/shared/components/palette/email/write-email-field.component.mjs +74 -0
  179. package/esm2022/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +23 -0
  180. package/esm2022/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +27 -0
  181. package/esm2022/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +107 -0
  182. package/esm2022/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +18 -0
  183. package/esm2022/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +27 -0
  184. package/esm2022/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +96 -0
  185. package/esm2022/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +17 -0
  186. package/esm2022/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +99 -0
  187. package/esm2022/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +224 -0
  188. package/esm2022/lib/shared/components/palette/history/event-log/event-log.component.mjs +72 -0
  189. package/esm2022/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +49 -0
  190. package/esm2022/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +253 -0
  191. package/esm2022/lib/shared/components/palette/label/label-field.component.mjs +50 -0
  192. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +111 -0
  193. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +191 -0
  194. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +543 -0
  195. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +213 -0
  196. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +287 -0
  197. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +69 -0
  198. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +209 -0
  199. package/esm2022/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +67 -0
  200. package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +168 -0
  201. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +138 -0
  202. package/esm2022/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +27 -0
  203. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +234 -0
  204. package/esm2022/lib/shared/components/palette/markdown/markdown-component.module.mjs +40 -0
  205. package/esm2022/lib/shared/components/palette/markdown/markdown.component.mjs +46 -0
  206. package/esm2022/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +128 -0
  207. package/esm2022/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +50 -0
  208. package/esm2022/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +79 -0
  209. package/esm2022/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +46 -0
  210. package/esm2022/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +126 -0
  211. package/esm2022/lib/shared/components/palette/number/read-number-field.component.mjs +25 -0
  212. package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +74 -0
  213. package/esm2022/lib/shared/components/palette/order-summary/fee-value.model.mjs +4 -0
  214. package/esm2022/lib/shared/components/palette/order-summary/fee.model.mjs +8 -0
  215. package/esm2022/lib/shared/components/palette/order-summary/order-summary.model.mjs +6 -0
  216. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +74 -0
  217. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +45 -0
  218. package/esm2022/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +45 -0
  219. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +88 -0
  220. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +92 -0
  221. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +52 -0
  222. package/esm2022/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +35 -0
  223. package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +397 -0
  224. package/esm2022/lib/shared/components/palette/palette.module.mjs +736 -0
  225. package/esm2022/lib/shared/components/palette/palette.service.mjs +153 -0
  226. package/esm2022/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +25 -0
  227. package/esm2022/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +23 -0
  228. package/esm2022/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +74 -0
  229. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +44 -0
  230. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +150 -0
  231. package/esm2022/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +67 -0
  232. package/esm2022/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +61 -0
  233. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +292 -0
  234. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +330 -0
  235. package/esm2022/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +24 -0
  236. package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +165 -0
  237. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +78 -0
  238. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +121 -0
  239. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +202 -0
  240. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +107 -0
  241. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +24 -0
  242. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +45 -0
  243. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +124 -0
  244. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +22 -0
  245. package/esm2022/lib/shared/components/palette/text/read-text-field.component.mjs +25 -0
  246. package/esm2022/lib/shared/components/palette/text/write-text-field.component.mjs +78 -0
  247. package/esm2022/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +25 -0
  248. package/esm2022/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +89 -0
  249. package/esm2022/lib/shared/components/palette/unsupported-field.component.mjs +18 -0
  250. package/esm2022/lib/shared/components/palette/utils/dash.pipe.mjs +16 -0
  251. package/esm2022/lib/shared/components/palette/utils/date.pipe.mjs +133 -0
  252. package/esm2022/lib/shared/components/palette/utils/field-label.pipe.mjs +30 -0
  253. package/esm2022/lib/shared/components/palette/utils/first-error.pipe.mjs +62 -0
  254. package/esm2022/lib/shared/components/palette/utils/is-compound.pipe.mjs +43 -0
  255. package/esm2022/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +22 -0
  256. package/esm2022/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +32 -0
  257. package/esm2022/lib/shared/components/palette/utils/is-read-only.pipe.mjs +22 -0
  258. package/esm2022/lib/shared/components/palette/utils/utils.module.mjs +71 -0
  259. package/esm2022/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +35 -0
  260. package/esm2022/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +37 -0
  261. package/esm2022/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +102 -0
  262. package/esm2022/lib/shared/components/palette/yes-no/yes-no.service.mjs +50 -0
  263. package/esm2022/lib/shared/components/search-filters/domain/search-input.model.mjs +15 -0
  264. package/esm2022/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +63 -0
  265. package/esm2022/lib/shared/components/search-filters/search-filters.component.mjs +341 -0
  266. package/esm2022/lib/shared/components/search-filters/search-filters.module.mjs +71 -0
  267. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +822 -0
  268. package/esm2022/lib/shared/components/search-result/search-result.module.mjs +82 -0
  269. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +497 -0
  270. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +67 -0
  271. package/esm2022/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +169 -0
  272. package/esm2022/lib/shared/directives/conditional-show/conditional-show.module.mjs +33 -0
  273. package/esm2022/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +201 -0
  274. package/esm2022/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +200 -0
  275. package/esm2022/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +17 -0
  276. package/esm2022/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +48 -0
  277. package/esm2022/lib/shared/directives/focus-element/focus-element.directive.mjs +38 -0
  278. package/esm2022/lib/shared/directives/focus-element/focus-element.module.mjs +21 -0
  279. package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +88 -0
  280. package/esm2022/lib/shared/directives/substitutor/label-substitutor.module.mjs +30 -0
  281. package/esm2022/lib/shared/directives/substitutor/services/placeholder.service.mjs +209 -0
  282. package/esm2022/lib/shared/domain/activity/activity.model.mjs +17 -0
  283. package/esm2022/lib/shared/domain/addresses/address.model.mjs +11 -0
  284. package/esm2022/lib/shared/domain/alert/alert.model.mjs +5 -0
  285. package/esm2022/lib/shared/domain/case-details.model.mjs +13 -0
  286. package/esm2022/lib/shared/domain/case-event-data.model.mjs +11 -0
  287. package/esm2022/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +8 -0
  288. package/esm2022/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +10 -0
  289. package/esm2022/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +10 -0
  290. package/esm2022/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +125 -0
  291. package/esm2022/lib/shared/domain/case-flag/flag-type.model.mjs +37 -0
  292. package/esm2022/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +18 -0
  293. package/esm2022/lib/shared/domain/case-view/case-event-trigger.model.mjs +34 -0
  294. package/esm2022/lib/shared/domain/case-view/case-print-document.model.mjs +6 -0
  295. package/esm2022/lib/shared/domain/case-view/case-tab.model.mjs +17 -0
  296. package/esm2022/lib/shared/domain/case-view/case-view-event.model.mjs +16 -0
  297. package/esm2022/lib/shared/domain/case-view/case-view-trigger.model.mjs +7 -0
  298. package/esm2022/lib/shared/domain/case-view/case-view.model.mjs +27 -0
  299. package/esm2022/lib/shared/domain/definition/access-control-list.model.mjs +8 -0
  300. package/esm2022/lib/shared/domain/definition/banner.model.mjs +8 -0
  301. package/esm2022/lib/shared/domain/definition/case-event.model.mjs +11 -0
  302. package/esm2022/lib/shared/domain/definition/case-field.model.mjs +216 -0
  303. package/esm2022/lib/shared/domain/definition/case-state.model.mjs +7 -0
  304. package/esm2022/lib/shared/domain/definition/case-type-lite.model.mjs +10 -0
  305. package/esm2022/lib/shared/domain/definition/case-type.model.mjs +20 -0
  306. package/esm2022/lib/shared/domain/definition/event-case-field.model.mjs +6 -0
  307. package/esm2022/lib/shared/domain/definition/field-type.model.mjs +30 -0
  308. package/esm2022/lib/shared/domain/definition/fixed-list-item.model.mjs +6 -0
  309. package/esm2022/lib/shared/domain/definition/jurisdiction.model.mjs +8 -0
  310. package/esm2022/lib/shared/domain/document/document-data.model.mjs +28 -0
  311. package/esm2022/lib/shared/domain/draft.model.mjs +16 -0
  312. package/esm2022/lib/shared/domain/http/http-error.model.mjs +49 -0
  313. package/esm2022/lib/shared/domain/organisation/organisation-converter.mjs +42 -0
  314. package/esm2022/lib/shared/domain/pagination-metadata.model.mjs +5 -0
  315. package/esm2022/lib/shared/domain/profile/profile.model.mjs +33 -0
  316. package/esm2022/lib/shared/domain/search/field.model.mjs +17 -0
  317. package/esm2022/lib/shared/domain/search/search-result-view-column.model.mjs +9 -0
  318. package/esm2022/lib/shared/domain/search/search-result-view-item.model.mjs +18 -0
  319. package/esm2022/lib/shared/domain/search/search-result-view.model.mjs +26 -0
  320. package/esm2022/lib/shared/domain/search/sorting/sort-parameters.mjs +9 -0
  321. package/esm2022/lib/shared/domain/workbasket/workbasket-input.model.mjs +11 -0
  322. package/esm2022/lib/shared/fixture/case-field-builder.mjs +67 -0
  323. package/esm2022/lib/shared/pipes/case-reference/case-reference.pipe.mjs +33 -0
  324. package/esm2022/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +31 -0
  325. package/esm2022/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +32 -0
  326. package/esm2022/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +27 -0
  327. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +39 -0
  328. package/esm2022/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +173 -0
  329. package/esm2022/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +31 -0
  330. package/esm2022/lib/shared/pipes/complex/fields-filter.pipe.mjs +105 -0
  331. package/esm2022/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +16 -0
  332. package/esm2022/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +28 -0
  333. package/esm2022/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +28 -0
  334. package/esm2022/lib/shared/pipes/pipes.module.mjs +64 -0
  335. package/esm2022/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +24 -0
  336. package/esm2022/lib/shared/services/activity/activity.polling.service.mjs +122 -0
  337. package/esm2022/lib/shared/services/activity/activity.service.mjs +85 -0
  338. package/esm2022/lib/shared/services/addresses/address-parser.mjs +76 -0
  339. package/esm2022/lib/shared/services/addresses/addresses.service.mjs +65 -0
  340. package/esm2022/lib/shared/services/alert/alert.service.mjs +157 -0
  341. package/esm2022/lib/shared/services/auth/auth.service.mjs +35 -0
  342. package/esm2022/lib/shared/services/banners/banners.service.mjs +35 -0
  343. package/esm2022/lib/shared/services/browser/browser.service.mjs +24 -0
  344. package/esm2022/lib/shared/services/case-fields/case-field.service.mjs +34 -0
  345. package/esm2022/lib/shared/services/case-fields/format-translator.service.mjs +242 -0
  346. package/esm2022/lib/shared/services/case-file-view/case-file-view.service.mjs +48 -0
  347. package/esm2022/lib/shared/services/case-flag/case-flag-refdata.service.mjs +104 -0
  348. package/esm2022/lib/shared/services/common-data-service/common-data-service.mjs +29 -0
  349. package/esm2022/lib/shared/services/definitions/definitions.module.mjs +19 -0
  350. package/esm2022/lib/shared/services/definitions/definitions.service.mjs +32 -0
  351. package/esm2022/lib/shared/services/document-management/document-management.service.mjs +114 -0
  352. package/esm2022/lib/shared/services/draft/draft.service.mjs +89 -0
  353. package/esm2022/lib/shared/services/error/error-notifier.service.mjs +16 -0
  354. package/esm2022/lib/shared/services/eventStatusService/event-status.service.mjs +21 -0
  355. package/esm2022/lib/shared/services/fields/fields.purger.mjs +305 -0
  356. package/esm2022/lib/shared/services/fields/fields.utils.mjs +615 -0
  357. package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +91 -0
  358. package/esm2022/lib/shared/services/form/form-error.service.mjs +46 -0
  359. package/esm2022/lib/shared/services/form/form-validators.service.mjs +56 -0
  360. package/esm2022/lib/shared/services/form/form-value.service.mjs +552 -0
  361. package/esm2022/lib/shared/services/http/http-error.service.mjs +67 -0
  362. package/esm2022/lib/shared/services/http/http.service.mjs +95 -0
  363. package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +36 -0
  364. package/esm2022/lib/shared/services/loading/loading.module.mjs +22 -0
  365. package/esm2022/lib/shared/services/loading/loading.service.mjs +35 -0
  366. package/esm2022/lib/shared/services/navigation/navigation-notifier.service.mjs +16 -0
  367. package/esm2022/lib/shared/services/order/order.service.mjs +37 -0
  368. package/esm2022/lib/shared/services/organisation/organisation.service.mjs +57 -0
  369. package/esm2022/lib/shared/services/profile/profile.notifier.mjs +17 -0
  370. package/esm2022/lib/shared/services/profile/profile.service.mjs +36 -0
  371. package/esm2022/lib/shared/services/request/request.options.builder.mjs +61 -0
  372. package/esm2022/lib/shared/services/router/router-helper.service.mjs +20 -0
  373. package/esm2022/lib/shared/services/search/search.service.mjs +96 -0
  374. package/esm2022/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +71 -0
  375. package/esm2022/lib/shared/services/session/session-storage.service.mjs +34 -0
  376. package/esm2022/lib/shared/services/utils/retry/retry.service.mjs +87 -0
  377. package/esm2022/lib/shared/services/window/window.service.mjs +40 -0
  378. package/esm2022/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +57 -0
  379. package/esm2022/lib/shared/test/test-route-snapshot-builder.mjs +38 -0
  380. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +36946 -0
  381. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -0
  382. package/lib/components/banners/alert/alert.component.d.ts +1 -1
  383. package/lib/components/banners/notification-banner/notification-banner.component.d.ts +1 -1
  384. package/lib/components/footer/footer.component.d.ts +1 -1
  385. package/lib/components/form/date-input/date-input.component.d.ts +1 -1
  386. package/lib/components/header/header-bar/header-bar.component.d.ts +1 -1
  387. package/lib/components/header/navigation/navigation-item.component.d.ts +1 -1
  388. package/lib/components/header/navigation/navigation.component.d.ts +1 -1
  389. package/lib/components/header/phase/phase.component.d.ts +1 -1
  390. package/lib/components/tabs/tab.component.d.ts +1 -1
  391. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts +1 -1
  392. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts.map +1 -1
  393. package/lib/shared/components/activity/activity-banner/activity-banner.component.d.ts +1 -1
  394. package/lib/shared/components/activity/activity-icon/activity-icon.component.d.ts +1 -1
  395. package/lib/shared/components/activity/activity.component.d.ts +1 -1
  396. package/lib/shared/components/case-editor/case-create/case-create.component.d.ts +1 -1
  397. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +1 -1
  398. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +1 -1
  399. package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts +1 -1
  400. package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts +1 -1
  401. package/lib/shared/components/case-editor/case-progress/case-progress.component.d.ts +1 -1
  402. package/lib/shared/components/case-header/case-header.component.d.ts +1 -1
  403. package/lib/shared/components/case-history/case-history.component.d.ts +1 -1
  404. package/lib/shared/components/case-list/case-list.component.d.ts +1 -1
  405. package/lib/shared/components/case-list-filters/case-list-filters.component.d.ts +1 -1
  406. package/lib/shared/components/case-timeline/case-timeline.component.d.ts +1 -1
  407. package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts +1 -1
  408. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -1
  409. package/lib/shared/components/case-viewer/case-view/case-view.component.d.ts +1 -1
  410. package/lib/shared/components/case-viewer/case-viewer.component.d.ts +1 -1
  411. package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +1 -1
  412. package/lib/shared/components/error/callback-errors.component.d.ts +1 -1
  413. package/lib/shared/components/error-message/error-message.component.d.ts +1 -1
  414. package/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.d.ts +1 -1
  415. package/lib/shared/components/event-start/components/task-conflict/task-conflict.component.d.ts +1 -1
  416. package/lib/shared/components/event-trigger/event-trigger.component.d.ts +1 -1
  417. package/lib/shared/components/loading-spinner/loading-spinner.component.d.ts +1 -1
  418. package/lib/shared/components/pagination/pagination.component.d.ts +1 -1
  419. package/lib/shared/components/palette/address/write-address-field.component.d.ts +1 -2
  420. package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
  421. package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts +1 -1
  422. package/lib/shared/components/palette/base-field/abstract-field-write.component.d.ts +1 -1
  423. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts +2 -2
  424. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  425. package/lib/shared/components/palette/base-field/field-read-label.component.d.ts +1 -1
  426. package/lib/shared/components/palette/base-field/field-read.component.d.ts +1 -1
  427. package/lib/shared/components/palette/base-field/field-write.component.d.ts +1 -1
  428. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts +1 -1
  429. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +1 -1
  430. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts.map +1 -1
  431. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +1 -1
  432. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +1 -1
  433. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +1 -1
  434. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +1 -1
  435. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +1 -1
  436. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +1 -1
  437. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +1 -1
  438. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +1 -1
  439. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +1 -1
  440. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +1 -1
  441. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +1 -1
  442. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +0 -1
  443. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  444. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -3
  445. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  446. package/lib/shared/components/palette/complex/read-complex-field-raw.component.d.ts +1 -1
  447. package/lib/shared/components/palette/complex/read-complex-field-table.component.d.ts +1 -1
  448. package/lib/shared/components/palette/complex/read-complex-field.component.d.ts +1 -1
  449. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts +1 -2
  450. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts.map +1 -1
  451. package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts +1 -1
  452. package/lib/shared/components/palette/history/event-log/event-log-details.component.d.ts +1 -1
  453. package/lib/shared/components/palette/history/event-log/event-log-table.component.d.ts +1 -1
  454. package/lib/shared/components/palette/history/event-log/event-log.component.d.ts +1 -1
  455. package/lib/shared/components/palette/label/label-field.component.d.ts +1 -1
  456. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +1 -1
  457. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +1 -1
  458. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +2 -2
  459. package/lib/shared/components/palette/markdown/markdown.component.d.ts +1 -1
  460. package/lib/shared/components/palette/money-gbp/money-gbp-input.component.d.ts +1 -1
  461. package/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.d.ts +1 -1
  462. package/lib/shared/components/palette/order-summary/read-order-summary-row.component.d.ts +1 -1
  463. package/lib/shared/components/palette/organisation/read-organisation-field-raw.component.d.ts +1 -1
  464. package/lib/shared/components/palette/organisation/read-organisation-field-table.component.d.ts +1 -1
  465. package/lib/shared/components/palette/organisation/read-organisation-field.component.d.ts +1 -1
  466. package/lib/shared/components/palette/organisation/write-organisation-complex-field.component.d.ts +1 -1
  467. package/lib/shared/components/palette/palette.module.d.ts +4 -5
  468. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  469. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +1 -1
  470. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +1 -1
  471. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +1 -1
  472. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +1 -1
  473. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +1 -1
  474. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +1 -1
  475. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +1 -1
  476. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +1 -1
  477. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +1 -1
  478. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +1 -1
  479. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +1 -1
  480. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +1 -1
  481. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -1
  482. package/lib/shared/components/search-filters/search-filters-wrapper.component.d.ts +1 -1
  483. package/lib/shared/components/search-filters/search-filters.component.d.ts +1 -1
  484. package/lib/shared/components/search-result/search-result.component.d.ts +1 -1
  485. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +1 -1
  486. package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts +1 -1
  487. package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts +1 -1
  488. package/lib/shared/domain/alert/alert-level.model.d.ts +1 -1
  489. package/lib/shared/domain/alert/alert-level.model.d.ts.map +1 -1
  490. package/lib/shared/domain/case-view/access-types.model.d.ts +1 -1
  491. package/lib/shared/domain/case-view/access-types.model.d.ts.map +1 -1
  492. package/lib/shared/domain/case-view/role-request.model.d.ts +4 -4
  493. package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
  494. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  495. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  496. package/lib/shared/domain/predicate.model.d.ts +1 -1
  497. package/lib/shared/domain/predicate.model.d.ts.map +1 -1
  498. package/lib/shared/pipes/complex/fields-filter.pipe.d.ts.map +1 -1
  499. package/lib/shared/services/order/order.service.d.ts +1 -1
  500. package/lib/shared/services/order/order.service.d.ts.map +1 -1
  501. package/lib/shared/services/request/request.options.builder.d.ts +1 -1
  502. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  503. package/package.json +6 -12
  504. package/esm2020/lib/app.config.mjs +0 -45
  505. package/esm2020/lib/components/banners/alert/alert-icon-class.pipe.mjs +0 -25
  506. package/esm2020/lib/components/banners/alert/alert.component.mjs +0 -95
  507. package/esm2020/lib/components/banners/alert/alert.module.mjs +0 -32
  508. package/esm2020/lib/components/banners/banners.module.mjs +0 -32
  509. package/esm2020/lib/components/banners/notification-banner/notification-banner.component.mjs +0 -120
  510. package/esm2020/lib/components/banners/notification-banner/notification-banner.module.mjs +0 -19
  511. package/esm2020/lib/components/body/body.component.mjs +0 -20
  512. package/esm2020/lib/components/body/body.module.mjs +0 -20
  513. package/esm2020/lib/components/footer/footer.component.mjs +0 -105
  514. package/esm2020/lib/components/footer/footers.module.mjs +0 -25
  515. package/esm2020/lib/components/form/date-input/date-input.component.mjs +0 -331
  516. package/esm2020/lib/components/form/form.module.mjs +0 -29
  517. package/esm2020/lib/components/header/header-bar/header-bar.component.mjs +0 -97
  518. package/esm2020/lib/components/header/headers.module.mjs +0 -25
  519. package/esm2020/lib/components/header/navigation/navigation-item.component.mjs +0 -41
  520. package/esm2020/lib/components/header/navigation/navigation.component.mjs +0 -24
  521. package/esm2020/lib/components/header/phase/phase.component.mjs +0 -45
  522. package/esm2020/lib/components/tabs/tab.component.mjs +0 -28
  523. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -79
  524. package/esm2020/lib/components/tabs/tabs.module.mjs +0 -38
  525. package/esm2020/lib/shared/commons/address-validation-constants.mjs +0 -13
  526. package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +0 -19
  527. package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +0 -47
  528. package/esm2020/lib/shared/commons/constants.mjs +0 -13
  529. package/esm2020/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +0 -39
  530. package/esm2020/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +0 -33
  531. package/esm2020/lib/shared/components/activity/activity.component.mjs +0 -151
  532. package/esm2020/lib/shared/components/activity/activity.module.mjs +0 -55
  533. package/esm2020/lib/shared/components/case-editor/case-access-utils/index.mjs +0 -105
  534. package/esm2020/lib/shared/components/case-editor/case-create/case-create.component.mjs +0 -87
  535. package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +0 -432
  536. package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +0 -125
  537. package/esm2020/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +0 -135
  538. package/esm2020/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +0 -69
  539. package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +0 -779
  540. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +0 -542
  541. package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +0 -213
  542. package/esm2020/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +0 -86
  543. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +0 -80
  544. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +0 -153
  545. package/esm2020/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +0 -77
  546. package/esm2020/lib/shared/components/case-editor/domain/confirmation.model.mjs +0 -21
  547. package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +0 -4
  548. package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +0 -3
  549. package/esm2020/lib/shared/components/case-editor/domain/wizard-page.model.mjs +0 -26
  550. package/esm2020/lib/shared/components/case-editor/domain/wizard.model.mjs +0 -54
  551. package/esm2020/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +0 -93
  552. package/esm2020/lib/shared/components/case-editor/services/case-flag-state.service.mjs +0 -19
  553. package/esm2020/lib/shared/components/case-editor/services/case-worker.service.mjs +0 -32
  554. package/esm2020/lib/shared/components/case-editor/services/case.notifier.mjs +0 -51
  555. package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +0 -294
  556. package/esm2020/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +0 -41
  557. package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +0 -143
  558. package/esm2020/lib/shared/components/case-editor/services/event-trigger.service.mjs +0 -20
  559. package/esm2020/lib/shared/components/case-editor/services/judicial-worker.service.mjs +0 -32
  560. package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +0 -58
  561. package/esm2020/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +0 -39
  562. package/esm2020/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +0 -117
  563. package/esm2020/lib/shared/components/case-editor/services/work-allocation.service.mjs +0 -209
  564. package/esm2020/lib/shared/components/case-header/case-header.component.mjs +0 -61
  565. package/esm2020/lib/shared/components/case-header/case-header.module.mjs +0 -33
  566. package/esm2020/lib/shared/components/case-history/case-history.component.mjs +0 -242
  567. package/esm2020/lib/shared/components/case-history/case-history.module.mjs +0 -64
  568. package/esm2020/lib/shared/components/case-history/domain/case-history.model.mjs +0 -29
  569. package/esm2020/lib/shared/components/case-history/services/case-history.service.mjs +0 -40
  570. package/esm2020/lib/shared/components/case-list/case-list.component.mjs +0 -362
  571. package/esm2020/lib/shared/components/case-list/case-list.module.mjs +0 -47
  572. package/esm2020/lib/shared/components/case-list-filters/case-list-filters.component.mjs +0 -52
  573. package/esm2020/lib/shared/components/case-list-filters/case-list-filters.module.mjs +0 -64
  574. package/esm2020/lib/shared/components/case-timeline/case-timeline.component.mjs +0 -109
  575. package/esm2020/lib/shared/components/case-timeline/case-timeline.module.mjs +0 -52
  576. package/esm2020/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +0 -247
  577. package/esm2020/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +0 -298
  578. package/esm2020/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +0 -72
  579. package/esm2020/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +0 -141
  580. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +0 -681
  581. package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +0 -58
  582. package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +0 -241
  583. package/esm2020/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +0 -199
  584. package/esm2020/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +0 -47
  585. package/esm2020/lib/shared/components/case-viewer/case-view/case-view.component.mjs +0 -98
  586. package/esm2020/lib/shared/components/case-viewer/case-viewer.component.mjs +0 -128
  587. package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +0 -191
  588. package/esm2020/lib/shared/components/case-viewer/printer/case-printer.component.mjs +0 -110
  589. package/esm2020/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +0 -60
  590. package/esm2020/lib/shared/components/case-viewer/services/case.resolver.mjs +0 -131
  591. package/esm2020/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +0 -64
  592. package/esm2020/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +0 -8
  593. package/esm2020/lib/shared/components/create-case-filters/create-case-filters.component.mjs +0 -275
  594. package/esm2020/lib/shared/components/create-case-filters/create-case-filters.module.mjs +0 -44
  595. package/esm2020/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +0 -57
  596. package/esm2020/lib/shared/components/dialogs/dialogs.module.mjs +0 -51
  597. package/esm2020/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +0 -59
  598. package/esm2020/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +0 -57
  599. package/esm2020/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +0 -61
  600. package/esm2020/lib/shared/components/error/callback-errors.component.mjs +0 -148
  601. package/esm2020/lib/shared/components/error/domain/error-context.mjs +0 -3
  602. package/esm2020/lib/shared/components/error/errors.module.mjs +0 -33
  603. package/esm2020/lib/shared/components/error-message/error-message.component.mjs +0 -43
  604. package/esm2020/lib/shared/components/error-message/error-message.module.mjs +0 -41
  605. package/esm2020/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +0 -59
  606. package/esm2020/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +0 -53
  607. package/esm2020/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +0 -104
  608. package/esm2020/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +0 -68
  609. package/esm2020/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +0 -58
  610. package/esm2020/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +0 -53
  611. package/esm2020/lib/shared/components/event-start/event-guard/event-start.guard.mjs +0 -94
  612. package/esm2020/lib/shared/components/event-start/event-start.component.mjs +0 -49
  613. package/esm2020/lib/shared/components/event-start/event-start.module.mjs +0 -71
  614. package/esm2020/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +0 -29
  615. package/esm2020/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +0 -168
  616. package/esm2020/lib/shared/components/event-trigger/event-trigger.component.mjs +0 -111
  617. package/esm2020/lib/shared/components/event-trigger/event-trigger.module.mjs +0 -37
  618. package/esm2020/lib/shared/components/loading-spinner/loading-spinner.component.mjs +0 -27
  619. package/esm2020/lib/shared/components/loading-spinner/loading-spinner.module.mjs +0 -29
  620. package/esm2020/lib/shared/components/pagination/pagination.component.mjs +0 -262
  621. package/esm2020/lib/shared/components/pagination/pagination.module.mjs +0 -35
  622. package/esm2020/lib/shared/components/palette/address/address-option.model.mjs +0 -21
  623. package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +0 -282
  624. package/esm2020/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +0 -31
  625. package/esm2020/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +0 -44
  626. package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +0 -83
  627. package/esm2020/lib/shared/components/palette/base-field/field-read-label.component.mjs +0 -86
  628. package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +0 -85
  629. package/esm2020/lib/shared/components/palette/base-field/field-write.component.mjs +0 -74
  630. package/esm2020/lib/shared/components/palette/base-field/payment-field.component.mjs +0 -35
  631. package/esm2020/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +0 -171
  632. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +0 -48
  633. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +0 -48
  634. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +0 -342
  635. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +0 -153
  636. package/esm2020/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +0 -94
  637. package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +0 -190
  638. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +0 -288
  639. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +0 -207
  640. package/esm2020/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +0 -165
  641. package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +0 -219
  642. package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +0 -306
  643. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +0 -200
  644. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +0 -343
  645. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +0 -267
  646. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +0 -510
  647. package/esm2020/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +0 -41
  648. package/esm2020/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +0 -41
  649. package/esm2020/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +0 -109
  650. package/esm2020/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +0 -77
  651. package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +0 -246
  652. package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +0 -686
  653. package/esm2020/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +0 -32
  654. package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +0 -122
  655. package/esm2020/lib/shared/components/palette/collection/collection-create-checker.service.mjs +0 -42
  656. package/esm2020/lib/shared/components/palette/collection/read-collection-field.component.mjs +0 -81
  657. package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +0 -443
  658. package/esm2020/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +0 -379
  659. package/esm2020/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +0 -53
  660. package/esm2020/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +0 -78
  661. package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +0 -75
  662. package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +0 -171
  663. package/esm2020/lib/shared/components/palette/date/read-date-field.component.mjs +0 -28
  664. package/esm2020/lib/shared/components/palette/date/write-date-container-field.component.mjs +0 -33
  665. package/esm2020/lib/shared/components/palette/date/write-date-field.component.mjs +0 -76
  666. package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +0 -309
  667. package/esm2020/lib/shared/components/palette/document/document-url.pipe.mjs +0 -24
  668. package/esm2020/lib/shared/components/palette/document/file-upload-progress.guard.mjs +0 -29
  669. package/esm2020/lib/shared/components/palette/document/file-upload-state.service.mjs +0 -16
  670. package/esm2020/lib/shared/components/palette/document/read-document-field.component.mjs +0 -81
  671. package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +0 -408
  672. package/esm2020/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +0 -18
  673. package/esm2020/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +0 -36
  674. package/esm2020/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +0 -124
  675. package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +0 -43
  676. package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +0 -145
  677. package/esm2020/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +0 -25
  678. package/esm2020/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +0 -42
  679. package/esm2020/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +0 -124
  680. package/esm2020/lib/shared/components/palette/email/read-email-field.component.mjs +0 -35
  681. package/esm2020/lib/shared/components/palette/email/write-email-field.component.mjs +0 -73
  682. package/esm2020/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +0 -23
  683. package/esm2020/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +0 -26
  684. package/esm2020/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +0 -106
  685. package/esm2020/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +0 -18
  686. package/esm2020/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +0 -26
  687. package/esm2020/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +0 -95
  688. package/esm2020/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +0 -16
  689. package/esm2020/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +0 -97
  690. package/esm2020/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +0 -225
  691. package/esm2020/lib/shared/components/palette/history/event-log/event-log.component.mjs +0 -72
  692. package/esm2020/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +0 -45
  693. package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +0 -242
  694. package/esm2020/lib/shared/components/palette/label/label-field.component.mjs +0 -50
  695. package/esm2020/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +0 -108
  696. package/esm2020/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +0 -189
  697. package/esm2020/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +0 -530
  698. package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +0 -204
  699. package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +0 -280
  700. package/esm2020/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +0 -66
  701. package/esm2020/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +0 -201
  702. package/esm2020/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +0 -22
  703. package/esm2020/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +0 -163
  704. package/esm2020/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +0 -132
  705. package/esm2020/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +0 -27
  706. package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +0 -229
  707. package/esm2020/lib/shared/components/palette/markdown/markdown-component.module.mjs +0 -40
  708. package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +0 -43
  709. package/esm2020/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +0 -123
  710. package/esm2020/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +0 -47
  711. package/esm2020/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +0 -78
  712. package/esm2020/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +0 -45
  713. package/esm2020/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +0 -126
  714. package/esm2020/lib/shared/components/palette/number/read-number-field.component.mjs +0 -24
  715. package/esm2020/lib/shared/components/palette/number/write-number-field.component.mjs +0 -73
  716. package/esm2020/lib/shared/components/palette/order-summary/fee-value.model.mjs +0 -3
  717. package/esm2020/lib/shared/components/palette/order-summary/fee.model.mjs +0 -4
  718. package/esm2020/lib/shared/components/palette/order-summary/order-summary.model.mjs +0 -3
  719. package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +0 -73
  720. package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +0 -43
  721. package/esm2020/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +0 -44
  722. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +0 -83
  723. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +0 -87
  724. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +0 -56
  725. package/esm2020/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +0 -33
  726. package/esm2020/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +0 -384
  727. package/esm2020/lib/shared/components/palette/palette.module.mjs +0 -738
  728. package/esm2020/lib/shared/components/palette/palette.service.mjs +0 -155
  729. package/esm2020/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +0 -24
  730. package/esm2020/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +0 -22
  731. package/esm2020/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +0 -73
  732. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +0 -42
  733. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +0 -144
  734. package/esm2020/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +0 -64
  735. package/esm2020/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +0 -60
  736. package/esm2020/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +0 -281
  737. package/esm2020/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +0 -327
  738. package/esm2020/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +0 -22
  739. package/esm2020/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +0 -164
  740. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +0 -74
  741. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +0 -107
  742. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +0 -201
  743. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +0 -101
  744. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +0 -21
  745. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +0 -38
  746. package/esm2020/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +0 -121
  747. package/esm2020/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +0 -22
  748. package/esm2020/lib/shared/components/palette/text/read-text-field.component.mjs +0 -24
  749. package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +0 -77
  750. package/esm2020/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +0 -24
  751. package/esm2020/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +0 -87
  752. package/esm2020/lib/shared/components/palette/unsupported-field.component.mjs +0 -17
  753. package/esm2020/lib/shared/components/palette/utils/dash.pipe.mjs +0 -16
  754. package/esm2020/lib/shared/components/palette/utils/date.pipe.mjs +0 -132
  755. package/esm2020/lib/shared/components/palette/utils/field-label.pipe.mjs +0 -29
  756. package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +0 -59
  757. package/esm2020/lib/shared/components/palette/utils/is-compound.pipe.mjs +0 -43
  758. package/esm2020/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +0 -21
  759. package/esm2020/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +0 -31
  760. package/esm2020/lib/shared/components/palette/utils/is-read-only.pipe.mjs +0 -21
  761. package/esm2020/lib/shared/components/palette/utils/utils.module.mjs +0 -71
  762. package/esm2020/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +0 -34
  763. package/esm2020/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +0 -34
  764. package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +0 -100
  765. package/esm2020/lib/shared/components/palette/yes-no/yes-no.service.mjs +0 -50
  766. package/esm2020/lib/shared/components/search-filters/domain/search-input.model.mjs +0 -10
  767. package/esm2020/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +0 -58
  768. package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +0 -326
  769. package/esm2020/lib/shared/components/search-filters/search-filters.module.mjs +0 -71
  770. package/esm2020/lib/shared/components/search-result/search-result.component.mjs +0 -815
  771. package/esm2020/lib/shared/components/search-result/search-result.module.mjs +0 -82
  772. package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +0 -479
  773. package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +0 -67
  774. package/esm2020/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +0 -164
  775. package/esm2020/lib/shared/directives/conditional-show/conditional-show.module.mjs +0 -33
  776. package/esm2020/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +0 -200
  777. package/esm2020/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +0 -200
  778. package/esm2020/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +0 -19
  779. package/esm2020/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +0 -47
  780. package/esm2020/lib/shared/directives/focus-element/focus-element.directive.mjs +0 -36
  781. package/esm2020/lib/shared/directives/focus-element/focus-element.module.mjs +0 -21
  782. package/esm2020/lib/shared/directives/substitutor/label-substitutor.directive.mjs +0 -82
  783. package/esm2020/lib/shared/directives/substitutor/label-substitutor.module.mjs +0 -30
  784. package/esm2020/lib/shared/directives/substitutor/services/placeholder.service.mjs +0 -200
  785. package/esm2020/lib/shared/domain/activity/activity.model.mjs +0 -10
  786. package/esm2020/lib/shared/domain/addresses/address.model.mjs +0 -13
  787. package/esm2020/lib/shared/domain/alert/alert.model.mjs +0 -3
  788. package/esm2020/lib/shared/domain/case-details.model.mjs +0 -4
  789. package/esm2020/lib/shared/domain/case-event-data.model.mjs +0 -4
  790. package/esm2020/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +0 -3
  791. package/esm2020/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +0 -4
  792. package/esm2020/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +0 -7
  793. package/esm2020/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +0 -117
  794. package/esm2020/lib/shared/domain/case-flag/flag-type.model.mjs +0 -28
  795. package/esm2020/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +0 -10
  796. package/esm2020/lib/shared/domain/case-view/case-event-trigger.model.mjs +0 -23
  797. package/esm2020/lib/shared/domain/case-view/case-print-document.model.mjs +0 -3
  798. package/esm2020/lib/shared/domain/case-view/case-tab.model.mjs +0 -12
  799. package/esm2020/lib/shared/domain/case-view/case-view-event.model.mjs +0 -4
  800. package/esm2020/lib/shared/domain/case-view/case-view-trigger.model.mjs +0 -3
  801. package/esm2020/lib/shared/domain/case-view/case-view.model.mjs +0 -17
  802. package/esm2020/lib/shared/domain/definition/access-control-list.model.mjs +0 -3
  803. package/esm2020/lib/shared/domain/definition/banner.model.mjs +0 -3
  804. package/esm2020/lib/shared/domain/definition/case-event.model.mjs +0 -3
  805. package/esm2020/lib/shared/domain/definition/case-field.model.mjs +0 -198
  806. package/esm2020/lib/shared/domain/definition/case-state.model.mjs +0 -3
  807. package/esm2020/lib/shared/domain/definition/case-type-lite.model.mjs +0 -5
  808. package/esm2020/lib/shared/domain/definition/case-type.model.mjs +0 -12
  809. package/esm2020/lib/shared/domain/definition/event-case-field.model.mjs +0 -4
  810. package/esm2020/lib/shared/domain/definition/field-type.model.mjs +0 -22
  811. package/esm2020/lib/shared/domain/definition/fixed-list-item.model.mjs +0 -3
  812. package/esm2020/lib/shared/domain/definition/jurisdiction.model.mjs +0 -3
  813. package/esm2020/lib/shared/domain/document/document-data.model.mjs +0 -14
  814. package/esm2020/lib/shared/domain/draft.model.mjs +0 -11
  815. package/esm2020/lib/shared/domain/http/http-error.model.mjs +0 -40
  816. package/esm2020/lib/shared/domain/organisation/organisation-converter.mjs +0 -42
  817. package/esm2020/lib/shared/domain/pagination-metadata.model.mjs +0 -3
  818. package/esm2020/lib/shared/domain/profile/profile.model.mjs +0 -29
  819. package/esm2020/lib/shared/domain/search/field.model.mjs +0 -11
  820. package/esm2020/lib/shared/domain/search/search-result-view-column.model.mjs +0 -3
  821. package/esm2020/lib/shared/domain/search/search-result-view-item.model.mjs +0 -12
  822. package/esm2020/lib/shared/domain/search/search-result-view.model.mjs +0 -23
  823. package/esm2020/lib/shared/domain/search/sorting/sort-parameters.mjs +0 -7
  824. package/esm2020/lib/shared/domain/workbasket/workbasket-input.model.mjs +0 -5
  825. package/esm2020/lib/shared/fixture/case-field-builder.mjs +0 -69
  826. package/esm2020/lib/shared/pipes/case-reference/case-reference.pipe.mjs +0 -33
  827. package/esm2020/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +0 -29
  828. package/esm2020/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +0 -32
  829. package/esm2020/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +0 -29
  830. package/esm2020/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +0 -39
  831. package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +0 -173
  832. package/esm2020/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +0 -31
  833. package/esm2020/lib/shared/pipes/complex/fields-filter.pipe.mjs +0 -105
  834. package/esm2020/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +0 -16
  835. package/esm2020/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +0 -27
  836. package/esm2020/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +0 -27
  837. package/esm2020/lib/shared/pipes/pipes.module.mjs +0 -64
  838. package/esm2020/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +0 -24
  839. package/esm2020/lib/shared/services/activity/activity.polling.service.mjs +0 -114
  840. package/esm2020/lib/shared/services/activity/activity.service.mjs +0 -82
  841. package/esm2020/lib/shared/services/addresses/address-parser.mjs +0 -76
  842. package/esm2020/lib/shared/services/addresses/addresses.service.mjs +0 -63
  843. package/esm2020/lib/shared/services/alert/alert.service.mjs +0 -142
  844. package/esm2020/lib/shared/services/auth/auth.service.mjs +0 -33
  845. package/esm2020/lib/shared/services/banners/banners.service.mjs +0 -33
  846. package/esm2020/lib/shared/services/browser/browser.service.mjs +0 -24
  847. package/esm2020/lib/shared/services/case-fields/case-field.service.mjs +0 -34
  848. package/esm2020/lib/shared/services/case-fields/format-translator.service.mjs +0 -242
  849. package/esm2020/lib/shared/services/case-file-view/case-file-view.service.mjs +0 -46
  850. package/esm2020/lib/shared/services/case-flag/case-flag-refdata.service.mjs +0 -102
  851. package/esm2020/lib/shared/services/common-data-service/common-data-service.mjs +0 -28
  852. package/esm2020/lib/shared/services/definitions/definitions.module.mjs +0 -19
  853. package/esm2020/lib/shared/services/definitions/definitions.service.mjs +0 -30
  854. package/esm2020/lib/shared/services/document-management/document-management.service.mjs +0 -112
  855. package/esm2020/lib/shared/services/draft/draft.service.mjs +0 -86
  856. package/esm2020/lib/shared/services/error/error-notifier.service.mjs +0 -18
  857. package/esm2020/lib/shared/services/eventStatusService/event-status.service.mjs +0 -21
  858. package/esm2020/lib/shared/services/fields/fields.purger.mjs +0 -304
  859. package/esm2020/lib/shared/services/fields/fields.utils.mjs +0 -615
  860. package/esm2020/lib/shared/services/form/field-type-sanitiser.mjs +0 -91
  861. package/esm2020/lib/shared/services/form/form-error.service.mjs +0 -46
  862. package/esm2020/lib/shared/services/form/form-validators.service.mjs +0 -56
  863. package/esm2020/lib/shared/services/form/form-value.service.mjs +0 -551
  864. package/esm2020/lib/shared/services/http/http-error.service.mjs +0 -65
  865. package/esm2020/lib/shared/services/http/http.service.mjs +0 -93
  866. package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +0 -34
  867. package/esm2020/lib/shared/services/loading/loading.module.mjs +0 -22
  868. package/esm2020/lib/shared/services/loading/loading.service.mjs +0 -37
  869. package/esm2020/lib/shared/services/navigation/navigation-notifier.service.mjs +0 -18
  870. package/esm2020/lib/shared/services/order/order.service.mjs +0 -39
  871. package/esm2020/lib/shared/services/organisation/organisation.service.mjs +0 -54
  872. package/esm2020/lib/shared/services/profile/profile.notifier.mjs +0 -19
  873. package/esm2020/lib/shared/services/profile/profile.service.mjs +0 -34
  874. package/esm2020/lib/shared/services/request/request.options.builder.mjs +0 -61
  875. package/esm2020/lib/shared/services/router/router-helper.service.mjs +0 -20
  876. package/esm2020/lib/shared/services/search/search.service.mjs +0 -89
  877. package/esm2020/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +0 -71
  878. package/esm2020/lib/shared/services/session/session-storage.service.mjs +0 -34
  879. package/esm2020/lib/shared/services/utils/retry/retry.service.mjs +0 -86
  880. package/esm2020/lib/shared/services/window/window.service.mjs +0 -40
  881. package/esm2020/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +0 -53
  882. package/esm2020/lib/shared/test/test-route-snapshot-builder.mjs +0 -40
  883. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +0 -38605
  884. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +0 -1
  885. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +0 -35647
  886. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +0 -1
  887. /package/{esm2020 → esm2022}/hmcts-ccd-case-ui-toolkit.mjs +0 -0
  888. /package/{esm2020 → esm2022}/lib/components/banners/alert/index.mjs +0 -0
  889. /package/{esm2020 → esm2022}/lib/components/banners/index.mjs +0 -0
  890. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/domain/index.mjs +0 -0
  891. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/domain/notification-banner-config.model.mjs +0 -0
  892. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/index.mjs +0 -0
  893. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/notification-banner-style.enum.mjs +0 -0
  894. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/enums/notification-banner-type.enum.mjs +0 -0
  895. /package/{esm2020 → esm2022}/lib/components/banners/notification-banner/index.mjs +0 -0
  896. /package/{esm2020 → esm2022}/lib/components/body/index.mjs +0 -0
  897. /package/{esm2020 → esm2022}/lib/components/footer/index.mjs +0 -0
  898. /package/{esm2020 → esm2022}/lib/components/form/date-input/index.mjs +0 -0
  899. /package/{esm2020 → esm2022}/lib/components/form/index.mjs +0 -0
  900. /package/{esm2020 → esm2022}/lib/components/header/header-bar/index.mjs +0 -0
  901. /package/{esm2020 → esm2022}/lib/components/header/index.mjs +0 -0
  902. /package/{esm2020 → esm2022}/lib/components/header/navigation/index.mjs +0 -0
  903. /package/{esm2020 → esm2022}/lib/components/header/phase/index.mjs +0 -0
  904. /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
  905. /package/{esm2020 → esm2022}/lib/components/tabs/index.mjs +0 -0
  906. /package/{esm2020 → esm2022}/lib/shared/commons/case-edit-data/case-edit-validation.model.mjs +0 -0
  907. /package/{esm2020 → esm2022}/lib/shared/commons/case-edit-data/index.mjs +0 -0
  908. /package/{esm2020 → esm2022}/lib/shared/components/activity/activity-banner/index.mjs +0 -0
  909. /package/{esm2020 → esm2022}/lib/shared/components/activity/activity-icon/index.mjs +0 -0
  910. /package/{esm2020 → esm2022}/lib/shared/components/activity/index.mjs +0 -0
  911. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-create/index.mjs +0 -0
  912. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit/index.mjs +0 -0
  913. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-confirm/index.mjs +0 -0
  914. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-form/index.mjs +0 -0
  915. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-page/index.mjs +0 -0
  916. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.mjs +0 -0
  917. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-edit-submit/index.mjs +0 -0
  918. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-event-completion/index.mjs +0 -0
  919. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/case-progress/index.mjs +0 -0
  920. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-params.model.mjs +0 -0
  921. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-portal-types.model.mjs +0 -0
  922. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-return-states.enum.model.mjs +0 -0
  923. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-state-machine-context.model.mjs +0 -0
  924. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/event-completion-states.enum.model.mjs +0 -0
  925. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/domain/index.mjs +0 -0
  926. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/editor.routing.mjs +0 -0
  927. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/index.mjs +0 -0
  928. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/services/index.mjs +0 -0
  929. /package/{esm2020 → esm2022}/lib/shared/components/case-editor/services/wizard-factory.service.mjs +0 -0
  930. /package/{esm2020 → esm2022}/lib/shared/components/case-header/index.mjs +0 -0
  931. /package/{esm2020 → esm2022}/lib/shared/components/case-history/index.mjs +0 -0
  932. /package/{esm2020 → esm2022}/lib/shared/components/case-list/index.mjs +0 -0
  933. /package/{esm2020 → esm2022}/lib/shared/components/case-list-filters/index.mjs +0 -0
  934. /package/{esm2020 → esm2022}/lib/shared/components/case-timeline/index.mjs +0 -0
  935. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-basic-access-view/index.mjs +0 -0
  936. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/index.mjs +0 -0
  937. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/models/case-challenged-access-request.enum.mjs +0 -0
  938. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-request/models/index.mjs +0 -0
  939. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-challenged-access-success/index.mjs +0 -0
  940. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-event-trigger/index.mjs +0 -0
  941. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-full-access-view/index.mjs +0 -0
  942. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-reject/index.mjs +0 -0
  943. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/index.mjs +0 -0
  944. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/models/case-review-specific-access-request.enum.mjs +0 -0
  945. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-review-specific-access-request/models/index.mjs +0 -0
  946. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/index.mjs +0 -0
  947. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/models/case-specific-access-request.enum.mjs +0 -0
  948. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-request/models/index.mjs +0 -0
  949. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-specific-access-success/index.mjs +0 -0
  950. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/case-view/index.mjs +0 -0
  951. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/index.mjs +0 -0
  952. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/printer/index.mjs +0 -0
  953. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/printer/pipes/index.mjs +0 -0
  954. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/services/index.mjs +0 -0
  955. /package/{esm2020 → esm2022}/lib/shared/components/case-viewer/viewer.routing.mjs +0 -0
  956. /package/{esm2020 → esm2022}/lib/shared/components/create-case-filters/index.mjs +0 -0
  957. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/delete-or-cancel-dialog/index.mjs +0 -0
  958. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/document-dialog/index.mjs +0 -0
  959. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/index.mjs +0 -0
  960. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/remove-dialog/index.mjs +0 -0
  961. /package/{esm2020 → esm2022}/lib/shared/components/dialogs/save-or-discard-dialog/index.mjs +0 -0
  962. /package/{esm2020 → esm2022}/lib/shared/components/error/domain/index.mjs +0 -0
  963. /package/{esm2020 → esm2022}/lib/shared/components/error/index.mjs +0 -0
  964. /package/{esm2020 → esm2022}/lib/shared/components/error-message/index.mjs +0 -0
  965. /package/{esm2020 → esm2022}/lib/shared/components/event-start/index.mjs +0 -0
  966. /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/event-start-state-machine-context.model.mjs +0 -0
  967. /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/event-start-states-enum.model.mjs +0 -0
  968. /package/{esm2020 → esm2022}/lib/shared/components/event-start/models/index.mjs +0 -0
  969. /package/{esm2020 → esm2022}/lib/shared/components/event-start/services/index.mjs +0 -0
  970. /package/{esm2020 → esm2022}/lib/shared/components/event-trigger/index.mjs +0 -0
  971. /package/{esm2020 → esm2022}/lib/shared/components/helpers/index.mjs +0 -0
  972. /package/{esm2020 → esm2022}/lib/shared/components/helpers/init-dialog-helper.mjs +0 -0
  973. /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
  974. /package/{esm2020 → esm2022}/lib/shared/components/loading-spinner/index.mjs +0 -0
  975. /package/{esm2020 → esm2022}/lib/shared/components/pagination/index.mjs +0 -0
  976. /package/{esm2020 → esm2022}/lib/shared/components/palette/address/index.mjs +0 -0
  977. /package/{esm2020 → esm2022}/lib/shared/components/palette/base-field/index.mjs +0 -0
  978. /package/{esm2020 → esm2022}/lib/shared/components/palette/base-field/palette-context.enum.mjs +0 -0
  979. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/index.mjs +0 -0
  980. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.mjs +0 -0
  981. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/components/shared/index.mjs +0 -0
  982. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/index.mjs +0 -0
  983. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +0 -0
  984. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/components/index.mjs +0 -0
  985. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.mjs +0 -0
  986. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/case-flag-state.model.mjs +0 -0
  987. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +0 -0
  988. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/index.mjs +0 -0
  989. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/domain/language.model.mjs +0 -0
  990. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.mjs +0 -0
  991. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.mjs +0 -0
  992. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.mjs +0 -0
  993. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.mjs +0 -0
  994. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.mjs +0 -0
  995. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.mjs +0 -0
  996. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-summary-list-display-mode.enum.mjs +0 -0
  997. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.mjs +0 -0
  998. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.mjs +0 -0
  999. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.mjs +0 -0
  1000. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/index.mjs +0 -0
  1001. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-error-message.enum.mjs +0 -0
  1002. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-step.enum.mjs +0 -0
  1003. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.mjs +0 -0
  1004. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-location-error-message.enum.mjs +0 -0
  1005. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.mjs +0 -0
  1006. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.mjs +0 -0
  1007. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.mjs +0 -0
  1008. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.mjs +0 -0
  1009. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.mjs +0 -0
  1010. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.mjs +0 -0
  1011. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/index.mjs +0 -0
  1012. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-flag/pipes/index.mjs +0 -0
  1013. /package/{esm2020 → esm2022}/lib/shared/components/palette/case-link/index.mjs +0 -0
  1014. /package/{esm2020 → esm2022}/lib/shared/components/palette/collection/index.mjs +0 -0
  1015. /package/{esm2020 → esm2022}/lib/shared/components/palette/complex/index.mjs +0 -0
  1016. /package/{esm2020 → esm2022}/lib/shared/components/palette/complex/sort-order.mjs +0 -0
  1017. /package/{esm2020 → esm2022}/lib/shared/components/palette/date/index.mjs +0 -0
  1018. /package/{esm2020 → esm2022}/lib/shared/components/palette/datetime-picker/datetime-picker-utils.mjs +0 -0
  1019. /package/{esm2020 → esm2022}/lib/shared/components/palette/datetime-picker/index.mjs +0 -0
  1020. /package/{esm2020 → esm2022}/lib/shared/components/palette/document/index.mjs +0 -0
  1021. /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-list/index.mjs +0 -0
  1022. /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-multi-select-list/index.mjs +0 -0
  1023. /package/{esm2020 → esm2022}/lib/shared/components/palette/dynamic-radio-list/index.mjs +0 -0
  1024. /package/{esm2020 → esm2022}/lib/shared/components/palette/email/index.mjs +0 -0
  1025. /package/{esm2020 → esm2022}/lib/shared/components/palette/fixed-list/index.mjs +0 -0
  1026. /package/{esm2020 → esm2022}/lib/shared/components/palette/fixed-radio-list/index.mjs +0 -0
  1027. /package/{esm2020 → esm2022}/lib/shared/components/palette/history/event-log/index.mjs +0 -0
  1028. /package/{esm2020 → esm2022}/lib/shared/components/palette/history/index.mjs +0 -0
  1029. /package/{esm2020 → esm2022}/lib/shared/components/palette/index.mjs +0 -0
  1030. /package/{esm2020 → esm2022}/lib/shared/components/palette/judicial-user/index.mjs +0 -0
  1031. /package/{esm2020 → esm2022}/lib/shared/components/palette/label/index.mjs +0 -0
  1032. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/components/index.mjs +0 -0
  1033. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/domain/index.mjs +0 -0
  1034. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.mjs +0 -0
  1035. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/enums/index.mjs +0 -0
  1036. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.mjs +0 -0
  1037. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/index.mjs +0 -0
  1038. /package/{esm2020 → esm2022}/lib/shared/components/palette/linked-cases/services/index.mjs +0 -0
  1039. /package/{esm2020 → esm2022}/lib/shared/components/palette/markdown/index.mjs +0 -0
  1040. /package/{esm2020 → esm2022}/lib/shared/components/palette/money-gbp/index.mjs +0 -0
  1041. /package/{esm2020 → esm2022}/lib/shared/components/palette/multi-select-list/index.mjs +0 -0
  1042. /package/{esm2020 → esm2022}/lib/shared/components/palette/number/index.mjs +0 -0
  1043. /package/{esm2020 → esm2022}/lib/shared/components/palette/order-summary/index.mjs +0 -0
  1044. /package/{esm2020 → esm2022}/lib/shared/components/palette/organisation/index.mjs +0 -0
  1045. /package/{esm2020 → esm2022}/lib/shared/components/palette/payment/index.mjs +0 -0
  1046. /package/{esm2020 → esm2022}/lib/shared/components/palette/phone-uk/index.mjs +0 -0
  1047. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/__mocks__/index.mjs +0 -0
  1048. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/components/index.mjs +0 -0
  1049. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/index.mjs +0 -0
  1050. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.mjs +0 -0
  1051. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +0 -0
  1052. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.mjs +0 -0
  1053. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.mjs +0 -0
  1054. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/index.mjs +0 -0
  1055. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +0 -0
  1056. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/index.mjs +0 -0
  1057. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.mjs +0 -0
  1058. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.mjs +0 -0
  1059. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/query-create-context.enum.mjs +0 -0
  1060. /package/{esm2020 → esm2022}/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.mjs +0 -0
  1061. /package/{esm2020 → esm2022}/lib/shared/components/palette/text/index.mjs +0 -0
  1062. /package/{esm2020 → esm2022}/lib/shared/components/palette/text-area/index.mjs +0 -0
  1063. /package/{esm2020 → esm2022}/lib/shared/components/palette/utils/index.mjs +0 -0
  1064. /package/{esm2020 → esm2022}/lib/shared/components/palette/waystopay/index.mjs +0 -0
  1065. /package/{esm2020 → esm2022}/lib/shared/components/palette/yes-no/index.mjs +0 -0
  1066. /package/{esm2020 → esm2022}/lib/shared/components/search-filters/domain/index.mjs +0 -0
  1067. /package/{esm2020 → esm2022}/lib/shared/components/search-filters/index.mjs +0 -0
  1068. /package/{esm2020 → esm2022}/lib/shared/components/search-result/index.mjs +0 -0
  1069. /package/{esm2020 → esm2022}/lib/shared/components/workbasket-filters/index.mjs +0 -0
  1070. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/domain/index.mjs +0 -0
  1071. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/index.mjs +0 -0
  1072. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/services/condition.peg.mjs +0 -0
  1073. /package/{esm2020 → esm2022}/lib/shared/directives/conditional-show/services/index.mjs +0 -0
  1074. /package/{esm2020 → esm2022}/lib/shared/directives/focus-element/index.mjs +0 -0
  1075. /package/{esm2020 → esm2022}/lib/shared/directives/index.mjs +0 -0
  1076. /package/{esm2020 → esm2022}/lib/shared/directives/substitutor/index.mjs +0 -0
  1077. /package/{esm2020 → esm2022}/lib/shared/directives/substitutor/services/index.mjs +0 -0
  1078. /package/{esm2020 → esm2022}/lib/shared/domain/activity/index.mjs +0 -0
  1079. /package/{esm2020 → esm2022}/lib/shared/domain/addresses/index.mjs +0 -0
  1080. /package/{esm2020 → esm2022}/lib/shared/domain/alert/alert-level.model.mjs +0 -0
  1081. /package/{esm2020 → esm2022}/lib/shared/domain/alert/alert-status-params.model.mjs +0 -0
  1082. /package/{esm2020 → esm2022}/lib/shared/domain/alert/index.mjs +0 -0
  1083. /package/{esm2020 → esm2022}/lib/shared/domain/case-edit/case-edit.model.mjs +0 -0
  1084. /package/{esm2020 → esm2022}/lib/shared/domain/case-edit/index.mjs +0 -0
  1085. /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.mjs +0 -0
  1086. /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.mjs +0 -0
  1087. /package/{esm2020 → esm2022}/lib/shared/domain/case-file-view/index.mjs +0 -0
  1088. /package/{esm2020 → esm2022}/lib/shared/domain/case-flag/index.mjs +0 -0
  1089. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/access-types.model.mjs +0 -0
  1090. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/case-view-event-ids.enum.mjs +0 -0
  1091. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/challenged-access-request.model.mjs +0 -0
  1092. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/index.mjs +0 -0
  1093. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/review-specific-access-request.model.mjs +0 -0
  1094. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/role-assignment-response.model.mjs +0 -0
  1095. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/role-request.model.mjs +0 -0
  1096. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/service-org-response.model.mjs +0 -0
  1097. /package/{esm2020 → esm2022}/lib/shared/domain/case-view/specific-access-request.model.mjs +0 -0
  1098. /package/{esm2020 → esm2022}/lib/shared/domain/definition/display-context-enum.model.mjs +0 -0
  1099. /package/{esm2020 → esm2022}/lib/shared/domain/definition/field-type-enum.model.mjs +0 -0
  1100. /package/{esm2020 → esm2022}/lib/shared/domain/definition/index.mjs +0 -0
  1101. /package/{esm2020 → esm2022}/lib/shared/domain/document/index.mjs +0 -0
  1102. /package/{esm2020 → esm2022}/lib/shared/domain/error-message.model.mjs +0 -0
  1103. /package/{esm2020 → esm2022}/lib/shared/domain/http/index.mjs +0 -0
  1104. /package/{esm2020 → esm2022}/lib/shared/domain/index.mjs +0 -0
  1105. /package/{esm2020 → esm2022}/lib/shared/domain/jurisdiction/index.mjs +0 -0
  1106. /package/{esm2020 → esm2022}/lib/shared/domain/jurisdiction/judicial-user.model.mjs +0 -0
  1107. /package/{esm2020 → esm2022}/lib/shared/domain/order/index.mjs +0 -0
  1108. /package/{esm2020 → esm2022}/lib/shared/domain/order/orderable.model.mjs +0 -0
  1109. /package/{esm2020 → esm2022}/lib/shared/domain/organisation/index.mjs +0 -0
  1110. /package/{esm2020 → esm2022}/lib/shared/domain/organisation/simple-organisation.model.mjs +0 -0
  1111. /package/{esm2020 → esm2022}/lib/shared/domain/predicate.model.mjs +0 -0
  1112. /package/{esm2020 → esm2022}/lib/shared/domain/profile/index.mjs +0 -0
  1113. /package/{esm2020 → esm2022}/lib/shared/domain/search/index.mjs +0 -0
  1114. /package/{esm2020 → esm2022}/lib/shared/domain/search/sorting/search-result-view-item-comparator.mjs +0 -0
  1115. /package/{esm2020 → esm2022}/lib/shared/domain/sort-order.enum.mjs +0 -0
  1116. /package/{esm2020 → esm2022}/lib/shared/domain/user/user-details.model.mjs +0 -0
  1117. /package/{esm2020 → esm2022}/lib/shared/domain/user/user-info.model.mjs +0 -0
  1118. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/Task.mjs +0 -0
  1119. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/TaskPayload.mjs +0 -0
  1120. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/case-worker.model.mjs +0 -0
  1121. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/index.mjs +0 -0
  1122. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/judicial-worker.model.mjs +0 -0
  1123. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/task-response.model.mjs +0 -0
  1124. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/task-search-parameter.model.mjs +0 -0
  1125. /package/{esm2020 → esm2022}/lib/shared/domain/work-allocation/wa-service-config.model.mjs +0 -0
  1126. /package/{esm2020 → esm2022}/lib/shared/domain/workbasket/index.mjs +0 -0
  1127. /package/{esm2020 → esm2022}/lib/shared/fixture/shared.test.fixture.mjs +0 -0
  1128. /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
  1129. /package/{esm2020 → esm2022}/lib/shared/pipes/case-reference/index.mjs +0 -0
  1130. /package/{esm2020 → esm2022}/lib/shared/pipes/case-title/index.mjs +0 -0
  1131. /package/{esm2020 → esm2022}/lib/shared/pipes/complex/index.mjs +0 -0
  1132. /package/{esm2020 → esm2022}/lib/shared/pipes/generic/index.mjs +0 -0
  1133. /package/{esm2020 → esm2022}/lib/shared/pipes/index.mjs +0 -0
  1134. /package/{esm2020 → esm2022}/lib/shared/pipes/link-cases-from-reason-code/index.mjs +0 -0
  1135. /package/{esm2020 → esm2022}/lib/shared/pipes/link-cases-reason-code/index.mjs +0 -0
  1136. /package/{esm2020 → esm2022}/lib/shared/services/activity/index.mjs +0 -0
  1137. /package/{esm2020 → esm2022}/lib/shared/services/addresses/address-type.enum.mjs +0 -0
  1138. /package/{esm2020 → esm2022}/lib/shared/services/addresses/index.mjs +0 -0
  1139. /package/{esm2020 → esm2022}/lib/shared/services/alert/index.mjs +0 -0
  1140. /package/{esm2020 → esm2022}/lib/shared/services/auth/index.mjs +0 -0
  1141. /package/{esm2020 → esm2022}/lib/shared/services/banners/index.mjs +0 -0
  1142. /package/{esm2020 → esm2022}/lib/shared/services/browser/index.mjs +0 -0
  1143. /package/{esm2020 → esm2022}/lib/shared/services/case-fields/index.mjs +0 -0
  1144. /package/{esm2020 → esm2022}/lib/shared/services/case-file-view/index.mjs +0 -0
  1145. /package/{esm2020 → esm2022}/lib/shared/services/case-flag/index.mjs +0 -0
  1146. /package/{esm2020 → esm2022}/lib/shared/services/case-flag/refdata-case-flag-type.enum.mjs +0 -0
  1147. /package/{esm2020 → esm2022}/lib/shared/services/definitions/index.mjs +0 -0
  1148. /package/{esm2020 → esm2022}/lib/shared/services/document-management/index.mjs +0 -0
  1149. /package/{esm2020 → esm2022}/lib/shared/services/draft/index.mjs +0 -0
  1150. /package/{esm2020 → esm2022}/lib/shared/services/error/index.mjs +0 -0
  1151. /package/{esm2020 → esm2022}/lib/shared/services/eventStatusService/index.mjs +0 -0
  1152. /package/{esm2020 → esm2022}/lib/shared/services/fields/index.mjs +0 -0
  1153. /package/{esm2020 → esm2022}/lib/shared/services/form/index.mjs +0 -0
  1154. /package/{esm2020 → esm2022}/lib/shared/services/http/index.mjs +0 -0
  1155. /package/{esm2020 → esm2022}/lib/shared/services/index.mjs +0 -0
  1156. /package/{esm2020 → esm2022}/lib/shared/services/jurisdiction/index.mjs +0 -0
  1157. /package/{esm2020 → esm2022}/lib/shared/services/loading/index.mjs +0 -0
  1158. /package/{esm2020 → esm2022}/lib/shared/services/navigation/index.mjs +0 -0
  1159. /package/{esm2020 → esm2022}/lib/shared/services/navigation/navigation-origin.model.mjs +0 -0
  1160. /package/{esm2020 → esm2022}/lib/shared/services/order/index.mjs +0 -0
  1161. /package/{esm2020 → esm2022}/lib/shared/services/organisation/index.mjs +0 -0
  1162. /package/{esm2020 → esm2022}/lib/shared/services/profile/index.mjs +0 -0
  1163. /package/{esm2020 → esm2022}/lib/shared/services/request/index.mjs +0 -0
  1164. /package/{esm2020 → esm2022}/lib/shared/services/router/index.mjs +0 -0
  1165. /package/{esm2020 → esm2022}/lib/shared/services/search/index.mjs +0 -0
  1166. /package/{esm2020 → esm2022}/lib/shared/services/session/index.mjs +0 -0
  1167. /package/{esm2020 → esm2022}/lib/shared/services/utils/retry/index.mjs +0 -0
  1168. /package/{esm2020 → esm2022}/lib/shared/services/window/index.mjs +0 -0
  1169. /package/{esm2020 → esm2022}/lib/shared/services/workbasket/index.mjs +0 -0
  1170. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,552 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FieldsUtils } from '../fields';
3
+ import { FieldTypeSanitiser } from './field-type-sanitiser';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./field-type-sanitiser";
6
+ export class FormValueService {
7
+ fieldTypeSanitiser;
8
+ /**
9
+ * Gets value of a field based on fieldKey which is a dot separated reference to value and collection index.
10
+ * There are two exceptions:
11
+ * 1) In case of a multiselect being identified as a leaf a '---LABEL' suffix is appended to the key and values of that key are returned
12
+ * form= { 'list': ['code1', 'code2'],
13
+ * 'list---LABEL': ['label1', 'label2'] },
14
+ * fieldKey=list,
15
+ * colIndex=0,
16
+ * value=label1, label2
17
+ * 2) In case of a collection of simple fields is identified as a leaf all values are joined seperated by a comma
18
+ * form= { 'collection': [{ 'value': 'value1' }, { 'value': 'value2' }] }
19
+ * fieldKey=collection
20
+ * colIndex=1
21
+ * value=value1, value2
22
+ *
23
+ * Other examples:
24
+ * 1) simple field reference: form={ 'PersonFirstName': 'John' }, fieldKey=PersonFirstName, value=John
25
+ * 2) complex field reference:
26
+ * form= { complex1': { 'simple11': 'value11', 'simple12': 'value12', 'complex2': { 'simple21': 'value21' } }},
27
+ * fieldKey=complex1.complex2.simple21
28
+ * colIndex=0,
29
+ * value=value21
30
+ * 3) complex field with collection field with complex field reference:
31
+ * form= { 'complex1': {
32
+ * 'collection1': [
33
+ * { 'value': {
34
+ * 'complex2': {
35
+ * 'simple1': 'value1',
36
+ * 'complex3': {
37
+ * 'complex4': {
38
+ * 'simple2': 'value12'
39
+ * }
40
+ * }
41
+ * }
42
+ * }
43
+ * },
44
+ * { 'value': {
45
+ * 'complex2': {
46
+ * 'simple1': 'value2',
47
+ * 'complex3': {
48
+ * 'complex4': {
49
+ * 'simple2': 'value21'
50
+ * }
51
+ * }
52
+ * }
53
+ * }
54
+ * },
55
+ * { 'value': {
56
+ * 'complex2': {
57
+ * 'simple1': 'value3',
58
+ * 'complex3': {
59
+ * 'complex4': {
60
+ * 'simple2': 'value31'
61
+ * }
62
+ * }
63
+ * }
64
+ * }
65
+ * }
66
+ * ]}}
67
+ * fieldKey=complex1.collection1.complex2.complex3.complex4.simple2
68
+ * colIndex=2,
69
+ * value=value21
70
+ * 4) collection of complex types
71
+ * form= { 'collection1': [
72
+ * { 'value': {'complex1': {
73
+ * 'simple1': 'value11',
74
+ * 'complex2': {
75
+ * 'complex3': {
76
+ * 'simple2': 'value12'
77
+ * }
78
+ * }
79
+ * }}
80
+ * },
81
+ * { 'value': {'complex1': {
82
+ * 'simple1': 'value21',
83
+ * 'complex2': {
84
+ * 'complex3': {
85
+ * 'simple2': 'value22'
86
+ * }
87
+ * }
88
+ * }}
89
+ * },
90
+ * { 'value': {'complex1': {
91
+ * 'simple1': 'value31',
92
+ * 'complex2': {
93
+ * 'complex3': {
94
+ * 'simple2': 'value32'
95
+ * }
96
+ * }
97
+ * }}
98
+ * }
99
+ * ]}
100
+ * fieldKey=collection1.complex1.complex2.complex3.simple2
101
+ * colIndex=2
102
+ * value=value32
103
+ *
104
+ * If key is pointing at a complex or collection leaf (not simple, collection of simple or multiselect types) then undefined is returned.
105
+ * Also no key referring a leaf that is contained within collection will contain index number. The index is passed as an argument to the
106
+ * method.
107
+ */
108
+ static getFieldValue(form, fieldKey, colIndex) {
109
+ const fieldIds = fieldKey.split('.');
110
+ const currentFieldId = fieldIds[0];
111
+ const currentForm = form[currentFieldId];
112
+ if (FieldsUtils.isMultiSelectValue(currentForm)) {
113
+ return form[currentFieldId + FieldsUtils.LABEL_SUFFIX].join(', ');
114
+ }
115
+ else if (FieldsUtils.isCollectionOfSimpleTypes(currentForm)) {
116
+ return currentForm.map(fieldValue => fieldValue['value']).join(', ');
117
+ }
118
+ else if (FieldsUtils.isCollection(currentForm)) {
119
+ return this.getFieldValue(currentForm[colIndex]['value'], fieldIds.slice(1).join('.'), colIndex);
120
+ }
121
+ else if (FieldsUtils.isNonEmptyObject(currentForm)) {
122
+ return this.getFieldValue(currentForm, fieldIds.slice(1).join('.'), colIndex);
123
+ }
124
+ else {
125
+ return currentForm;
126
+ }
127
+ }
128
+ /**
129
+ * A recursive method to remove anything with a `---LABEL` suffix.
130
+ * @param data The data to recurse through and remove MultiSelect labels.
131
+ */
132
+ static removeMultiSelectLabels(data) {
133
+ if (data && typeof data === 'object') {
134
+ if (Array.isArray(data)) {
135
+ for (const item of data) {
136
+ FormValueService.removeMultiSelectLabels(item);
137
+ }
138
+ }
139
+ else {
140
+ const keys = Object.keys(data);
141
+ for (const key of keys) {
142
+ // Have we found one a MultiSelect label?
143
+ if (key.indexOf(FieldsUtils.LABEL_SUFFIX) > 0) {
144
+ // If so, remove it.
145
+ delete data[key];
146
+ }
147
+ else {
148
+ FormValueService.removeMultiSelectLabels(data[key]);
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ static isReadOnly(field) {
155
+ return field.display_context ? field.display_context.toUpperCase() === 'READONLY' : false;
156
+ }
157
+ static isOptional(field) {
158
+ return field.display_context ? field.display_context.toUpperCase() === 'OPTIONAL' : false;
159
+ }
160
+ static isLabel(field) {
161
+ if (field.field_type) {
162
+ return field.field_type.type === 'Label';
163
+ }
164
+ else {
165
+ return false;
166
+ }
167
+ }
168
+ static isEmptyData(data) {
169
+ if (data) {
170
+ let allEmpty = true;
171
+ for (const prop of Object.keys(data)) {
172
+ const value = data[prop];
173
+ if (value) {
174
+ if (typeof (value) === 'object') {
175
+ allEmpty = allEmpty && this.isEmptyData(value);
176
+ }
177
+ else {
178
+ allEmpty = false;
179
+ }
180
+ }
181
+ }
182
+ return allEmpty;
183
+ }
184
+ return true;
185
+ }
186
+ /**
187
+ * Should we clear out optional, empty, complex objects?
188
+ * @param clearEmpty False property if we simply want to skip it.
189
+ * @param data The data to assess for "emptiness".
190
+ * @param field The CaseField that will tell us if this is optional.
191
+ */
192
+ static clearOptionalEmpty(clearEmpty, data, field) {
193
+ if (clearEmpty) {
194
+ return FormValueService.isOptional(field) && FormValueService.isEmptyData(data);
195
+ }
196
+ return false;
197
+ }
198
+ constructor(fieldTypeSanitiser) {
199
+ this.fieldTypeSanitiser = fieldTypeSanitiser;
200
+ }
201
+ sanitise(rawValue) {
202
+ return this.sanitiseObject(rawValue);
203
+ }
204
+ sanitiseCaseReference(reference) {
205
+ // strip non digits
206
+ const s = reference.replace(/[\D]/g, '');
207
+ if (s.length > 16) {
208
+ return s.substr(s.length - 16, 16);
209
+ }
210
+ return s;
211
+ }
212
+ filterCurrentPageFields(caseFields, editForm) {
213
+ const cloneForm = JSON.parse(JSON.stringify(editForm));
214
+ Object.keys(cloneForm['data']).forEach((key) => {
215
+ if (caseFields.findIndex((element) => element.id === key) < 0) {
216
+ delete cloneForm['data'][key];
217
+ }
218
+ });
219
+ return cloneForm;
220
+ }
221
+ sanitiseDynamicLists(caseFields, editForm) {
222
+ return this.fieldTypeSanitiser.sanitiseLists(caseFields, editForm.data);
223
+ }
224
+ sanitiseObject(rawObject) {
225
+ if (!rawObject) {
226
+ return rawObject;
227
+ }
228
+ let sanitisedObject = {};
229
+ const documentFieldKeys = ['document_url', 'document_binary_url', 'document_filename'];
230
+ for (const key in rawObject) {
231
+ // If the key is one of documentFieldKeys, it means the field is of Document type. If the value of any of these
232
+ // properties is null, the entire sanitised object to be returned should be null
233
+ if (documentFieldKeys.indexOf(key) > -1 && rawObject[key] === null) {
234
+ sanitisedObject = null;
235
+ break;
236
+ }
237
+ else if ('CaseReference' === key) {
238
+ sanitisedObject[key] = this.sanitiseValue(this.sanitiseCaseReference(String(rawObject[key])));
239
+ }
240
+ else {
241
+ sanitisedObject[key] = this.sanitiseValue(rawObject[key]);
242
+ if (Array.isArray(sanitisedObject[key])) {
243
+ // If the 'sanitised' array is empty, whereas the original array had 1 or more items
244
+ // delete the property from the sanatised object
245
+ if (sanitisedObject[key].length === 0 && rawObject[key].length > 0) {
246
+ delete sanitisedObject[key];
247
+ }
248
+ }
249
+ }
250
+ }
251
+ return sanitisedObject;
252
+ }
253
+ sanitiseArray(rawArray) {
254
+ if (!rawArray) {
255
+ return rawArray;
256
+ }
257
+ rawArray.forEach(item => {
258
+ if (item && item.hasOwnProperty('value')) {
259
+ item.value = this.sanitiseValue(item.value);
260
+ }
261
+ });
262
+ // Filter the array to ensure only truthy values are returned; double-bang operator returns the boolean true/false
263
+ // association of a value. In addition, if the array contains items with a "value" object property, return only
264
+ // those whose value object contains non-empty values, including for any descendant objects
265
+ return rawArray
266
+ .filter(item => !!item)
267
+ .filter(item => item.hasOwnProperty('value') ? FieldsUtils.containsNonEmptyValues(item.value) : true);
268
+ }
269
+ sanitiseValue(rawValue) {
270
+ if (Array.isArray(rawValue)) {
271
+ return this.sanitiseArray(rawValue);
272
+ }
273
+ switch (typeof rawValue) {
274
+ case 'object':
275
+ return this.sanitiseObject(rawValue);
276
+ case 'string':
277
+ return rawValue.trim();
278
+ case 'number':
279
+ return String(rawValue);
280
+ default:
281
+ return rawValue;
282
+ }
283
+ }
284
+ clearNonCaseFields(data, caseFields) {
285
+ for (const dataKey in data) {
286
+ if (!caseFields.find(cf => cf.id === dataKey)) {
287
+ delete data[dataKey];
288
+ }
289
+ }
290
+ }
291
+ // TODO refactor so that this and remove unnecessary fields have a common iterator that applies functions to each node visited
292
+ removeNullLabels(data, caseFields) {
293
+ if (data && caseFields && caseFields.length > 0) {
294
+ // check if there is any data at the top level of the form that's not in the caseFields
295
+ for (const field of caseFields) {
296
+ if (field.field_type) {
297
+ switch (field.field_type.type) {
298
+ case 'Label':
299
+ // Delete any labels that are null
300
+ if ((data[field.id] === null) || (data[field.id] === '')) {
301
+ delete data[field.id];
302
+ }
303
+ break;
304
+ case 'Complex':
305
+ // Recurse and remove anything unnecessary from within a complex field.
306
+ this.removeNullLabels(data[field.id], field.field_type.complex_fields);
307
+ break;
308
+ case 'Collection':
309
+ // Get hold of the collection.
310
+ const collection = data[field.id];
311
+ // Check if we actually have a collection to work with.
312
+ if (collection && Array.isArray(collection)) {
313
+ // If this is a collection of complex object, we need to iterate through
314
+ // and clear them out.
315
+ if (field.field_type.collection_field_type.type === 'Complex') {
316
+ // Iterate through the elements and remove any unnecessary fields within.
317
+ for (const item of collection) {
318
+ this.removeNullLabels(item, field.field_type.collection_field_type.complex_fields);
319
+ this.removeNullLabels(item.value, field.field_type.collection_field_type.complex_fields);
320
+ }
321
+ }
322
+ }
323
+ break;
324
+ default:
325
+ break;
326
+ }
327
+ }
328
+ }
329
+ }
330
+ }
331
+ // TODO refactor so that this and remove unnecessary fields have a common iterator that applies functions to each node visited
332
+ removeEmptyDocuments(data, caseFields) {
333
+ if (data && caseFields && caseFields.length > 0) {
334
+ // check if there is any data at the top level of the form that's not in the caseFields
335
+ for (const field of caseFields) {
336
+ if (field.field_type) {
337
+ switch (field.field_type.type) {
338
+ case 'Complex':
339
+ // Recurse and remove any empty documents from within a complex field.
340
+ this.removeEmptyDocuments(data[field.id], field.field_type.complex_fields);
341
+ break;
342
+ case 'Collection':
343
+ // Get hold of the collection.
344
+ const collection = data[field.id];
345
+ // Check if we actually have a collection to work with.
346
+ if (collection && Array.isArray(collection)) {
347
+ // If this is a collection of complex object, we need to iterate through
348
+ // and clear out empty documents
349
+ if (field.field_type.collection_field_type.type === 'Complex') {
350
+ // Iterate through the elements and remove any empty documents within.
351
+ for (const item of collection) {
352
+ this.removeEmptyDocuments(item, field.field_type.collection_field_type.complex_fields);
353
+ this.removeEmptyDocuments(item.value, field.field_type.collection_field_type.complex_fields);
354
+ }
355
+ }
356
+ }
357
+ break;
358
+ case 'Document':
359
+ // Ensure this is executed only if the Document field is NOT hidden and is empty of data; hidden Document
360
+ // fields are handled by the filterRawFormValues() function in CaseEditSubmit component
361
+ if (field.hidden !== true && FormValueService.isEmptyData(data[field.id])) {
362
+ delete data[field.id];
363
+ }
364
+ break;
365
+ default:
366
+ break;
367
+ }
368
+ }
369
+ }
370
+ }
371
+ }
372
+ /**
373
+ * Clear out unnecessary fields from a data object, based on an array of CaseFields.
374
+ * This method is recursive and will call itself if it encounters particular field types.
375
+ *
376
+ * @param data The object to be tidied up.
377
+ * @param caseFields The CaseFields that need to be cleaned up.
378
+ * @param clearEmpty Whether or not we should clear out empty, optional, complex objects.
379
+ * @param clearNonCase Whether or not we should clear out non-case fields at the top level.
380
+ */
381
+ removeUnnecessaryFields(data, caseFields, clearEmpty = false, clearNonCase = false, fromPreviousPage = false, currentPageCaseFields = []) {
382
+ if (data && caseFields && caseFields.length > 0) {
383
+ // check if there is any data at the top level of the form that's not in the caseFields
384
+ if (clearNonCase) {
385
+ this.clearNonCaseFields(data, caseFields);
386
+ }
387
+ for (const field of caseFields) {
388
+ if (!FormValueService.isLabel(field) && FormValueService.isReadOnly(field)) {
389
+ // Retain anything that is readonly and not a label.
390
+ continue;
391
+ }
392
+ if (field.hidden === true && field.display_context !== 'HIDDEN' && field.display_context !== 'HIDDEN_TEMP' && field.id !== 'caseLinks' && !field.retain_hidden_value) {
393
+ // Delete anything that is hidden (that is NOT readonly), and that
394
+ // hasn't had its display_context overridden to make it hidden.
395
+ delete data[field.id];
396
+ }
397
+ else if (field.field_type) {
398
+ switch (field.field_type.type) {
399
+ case 'Label':
400
+ // Delete any labels.
401
+ delete data[field.id];
402
+ break;
403
+ case 'Document':
404
+ if (FormValueService.isEmptyData(data[field.id])) {
405
+ delete data[field.id];
406
+ }
407
+ break;
408
+ case 'Complex':
409
+ this.removeUnnecessaryFields(data[field.id], field.field_type.complex_fields, clearEmpty);
410
+ // Also remove any optional complex objects that are completely empty.
411
+ // EUI-4244: Ritesh's fix, passing true instead of clearEmpty.
412
+ if (FormValueService.clearOptionalEmpty(true, data[field.id], field)) {
413
+ delete data[field.id];
414
+ }
415
+ if (data[field.id] && FormValueService.isEmptyData(data[field.id]) && fromPreviousPage
416
+ && currentPageCaseFields.findIndex((cField) => cField.id === field.id) === -1) {
417
+ delete data[field.id];
418
+ }
419
+ break;
420
+ case 'Collection':
421
+ // Check for valid collection data
422
+ this.removeInvalidCollectionData(data, field);
423
+ // Get hold of the collection.
424
+ const collection = data[field.id];
425
+ // Check if we actually have a collection to work with.
426
+ if (collection && Array.isArray(collection)) {
427
+ // If this is a collection of complex object, we need to iterate through
428
+ // and clear them out.
429
+ if (field.field_type.collection_field_type.type === 'Complex') {
430
+ // Iterate through the elements and remove any unnecessary fields within.
431
+ for (const item of collection) {
432
+ this.removeUnnecessaryFields(item, field.field_type.collection_field_type.complex_fields, clearEmpty);
433
+ this.removeUnnecessaryFields(item.value, field.field_type.collection_field_type.complex_fields, false);
434
+ }
435
+ }
436
+ }
437
+ break;
438
+ default:
439
+ break;
440
+ }
441
+ }
442
+ }
443
+ }
444
+ // Clear out any MultiSelect labels.
445
+ FormValueService.removeMultiSelectLabels(data);
446
+ }
447
+ removeInvalidCollectionData(data, field) {
448
+ if (data[field.id] && data[field.id].length > 0) {
449
+ for (const objCollection of data[field.id]) {
450
+ if (Object.keys(objCollection).length === 1 && Object.keys(objCollection).indexOf('id') > -1) {
451
+ data[field.id] = [];
452
+ }
453
+ }
454
+ }
455
+ }
456
+ /**
457
+ * Remove any empty collection fields where a value of greater than zero is specified in the field's {@link FieldType}
458
+ * `min` attribute.
459
+ *
460
+ * @param data The object tree of form values on which to perform the removal
461
+ * @param caseFields The list of underlying {@link CaseField} domain model objects for each field
462
+ */
463
+ removeEmptyCollectionsWithMinValidation(data, caseFields) {
464
+ if (data && caseFields && caseFields.length > 0) {
465
+ for (const field of caseFields) {
466
+ if (field.field_type.type === 'Collection' && typeof field.field_type.min === 'number' && field.field_type.min > 0 &&
467
+ data[field.id] && Array.isArray(data[field.id]) && data[field.id].length === 0) {
468
+ delete data[field.id];
469
+ }
470
+ }
471
+ }
472
+ }
473
+ /**
474
+ * Remove from the top level of the form data any case fields of a given type or types that are not intended to be
475
+ * persisted. This function is intended to remove "special" case field types from the data, such as FlagLauncher or
476
+ * ComponentLauncher fields.
477
+ *
478
+ * @param data The object tree of form values on which to perform the removal at the top level only
479
+ * @param caseFields The list of underlying {@link CaseField} domain model objects for each field
480
+ * @param types An array of one or more field types
481
+ */
482
+ removeCaseFieldsOfType(data, caseFields, types) {
483
+ if (data && caseFields && caseFields.length > 0 && types.length > 0) {
484
+ const caseFieldsToRemove = caseFields.filter(caseField => FieldsUtils.isCaseFieldOfType(caseField, types));
485
+ for (const caseField of caseFieldsToRemove) {
486
+ delete data[caseField.id];
487
+ }
488
+ }
489
+ }
490
+ /**
491
+ * Re-populate the form data from the values held in the case fields. This is necessary in order to pick up, for
492
+ * each `Flags` field, any flag details data not currently present.
493
+ *
494
+ * `Flags` fields may be contained in other `CaseField` instances, either as a sub-field of a Complex field, or
495
+ * fields in a collection (or sub-fields of Complex fields in a collection). Therefore, it is necessary to
496
+ * iterate through all `CaseField`s.
497
+ *
498
+ * @param data The object tree of form values on which to perform the data population
499
+ * @param caseFields The list of underlying {@link CaseField} domain model objects for each field
500
+ */
501
+ repopulateFormDataFromCaseFieldValues(data, caseFields) {
502
+ if (data && caseFields && caseFields.length > 0 &&
503
+ caseFields.findIndex(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher'])) > -1) {
504
+ // Ignore the FlagLauncher CaseField because it does not hold any values
505
+ caseFields.filter(caseField => !FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']))
506
+ .forEach(caseField => {
507
+ // Ensure that the data object is populated for all CaseField keys it contains, even if for a given
508
+ // CaseField key, the data object has a falsy value (hence the use of hasOwnProperty() for the check below)
509
+ // See https://tools.hmcts.net/jira/browse/EUI-7377
510
+ if (data.hasOwnProperty(caseField.id) && caseField.value) {
511
+ // Create new object for the CaseField ID within the data object, if necessary (i.e. if the current value
512
+ // is falsy); populate from the corresponding CaseField
513
+ if (!data[caseField.id]) {
514
+ data[caseField.id] = {};
515
+ Object.keys(caseField.value).forEach((key) => data[caseField.id][key] = caseField.value[key]);
516
+ }
517
+ else {
518
+ // Copy all values from the corresponding CaseField; this ensures all nested flag data (for example, a
519
+ // Flags field within a Complex field or a collection of Complex fields) is copied across
520
+ Object.keys(data[caseField.id]).forEach((key) => {
521
+ if (caseField.value.hasOwnProperty(key)) {
522
+ data[caseField.id][key] = caseField.value[key];
523
+ }
524
+ });
525
+ }
526
+ }
527
+ });
528
+ }
529
+ }
530
+ /**
531
+ * Populate the linked cases from the data held in its corresponding CaseField.
532
+ *
533
+ * @param data The object tree of form values on which to perform the data population
534
+ * @param caseFields The list of underlying {@link CaseField} domain model objects for each field
535
+ */
536
+ populateLinkedCasesDetailsFromCaseFields(data, caseFields) {
537
+ if (data && caseFields && caseFields.length > 0) {
538
+ caseFields.filter(caseField => !FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']))
539
+ .forEach(caseField => {
540
+ if (data.hasOwnProperty('caseLinks') && caseField.value) {
541
+ data[caseField.id] = caseField.value;
542
+ }
543
+ });
544
+ }
545
+ }
546
+ static ɵfac = function FormValueService_Factory(t) { return new (t || FormValueService)(i0.ɵɵinject(i1.FieldTypeSanitiser)); };
547
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormValueService, factory: FormValueService.ɵfac });
548
+ }
549
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormValueService, [{
550
+ type: Injectable
551
+ }], () => [{ type: i1.FieldTypeSanitiser }], null); })();
552
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWx1ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9mb3JtL2Zvcm0tdmFsdWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUc1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBOExFO0lBN0w3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUdHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVE7UUFDbEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksV0FBVyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEUsQ0FBQzthQUFNLElBQUksV0FBVyxDQUFDLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDOUQsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25HLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3JELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEYsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFTO1FBQzdDLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN4QixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUN4QixnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakQsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUN2Qix5Q0FBeUM7b0JBQ3pDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQzlDLG9CQUFvQjt3QkFDcEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ25CLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDdEQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFnQjtRQUN4QyxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUYsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVGLENBQUM7SUFFTyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWdCO1FBQ3JDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBWTtRQUNyQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7d0JBQ2hDLFFBQVEsR0FBRyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakQsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ25CLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsa0JBQWtCLENBQUMsVUFBbUIsRUFBRSxJQUFZLEVBQUUsS0FBZ0I7UUFDbkYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsWUFBNkIsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFDbkUsQ0FBQztJQUVNLFFBQVEsQ0FBQyxRQUFnQjtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFNBQWlCO1FBQzVDLG1CQUFtQjtRQUNuQixNQUFNLENBQUMsR0FBVyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxVQUF1QixFQUFFLFFBQWE7UUFDbkUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzlELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxVQUF1QixFQUFFLFFBQWE7UUFDaEUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxTQUFpQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN2RixLQUFLLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzVCLCtHQUErRztZQUMvRyxnRkFBZ0Y7WUFDaEYsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNuRSxlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsQ0FBQztpQkFBTSxJQUFJLGVBQWUsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDbkMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEcsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDeEMsb0ZBQW9GO29CQUNwRixnREFBZ0Q7b0JBQ2hELElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDbkUsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzlCLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFlO1FBQ25DLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxrSEFBa0g7UUFDbEgsK0dBQStHO1FBQy9HLDJGQUEyRjtRQUMzRixPQUFPLFFBQVE7YUFDWixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBYTtRQUNqQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELFFBQVEsT0FBTyxRQUFRLEVBQUUsQ0FBQztZQUN4QixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUI7Z0JBQ0UsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsVUFBdUI7UUFDN0QsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsOEhBQThIO0lBQ3ZILGdCQUFnQixDQUFDLElBQVksRUFBRSxVQUF1QjtRQUMzRCxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRCx1RkFBdUY7WUFDdkYsS0FBSyxNQUFNLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3JCLFFBQVEsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDOUIsS0FBSyxPQUFPOzRCQUNWLGtDQUFrQzs0QkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDeEIsQ0FBQzs0QkFDRCxNQUFNO3dCQUNSLEtBQUssU0FBUzs0QkFDWix1RUFBdUU7NEJBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7NEJBQ3ZFLE1BQU07d0JBQ1IsS0FBSyxZQUFZOzRCQUNmLDhCQUE4Qjs0QkFDOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDbEMsdURBQXVEOzRCQUN2RCxJQUFJLFVBQVUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0NBQzVDLHdFQUF3RTtnQ0FDeEUsc0JBQXNCO2dDQUN0QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO29DQUM5RCx5RUFBeUU7b0NBQ3pFLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7d0NBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQzt3Q0FDbkYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQ0FDM0YsQ0FBQztnQ0FDSCxDQUFDOzRCQUNILENBQUM7NEJBQ0QsTUFBTTt3QkFDUjs0QkFDRSxNQUFNO29CQUNWLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELDhIQUE4SDtJQUN2SCxvQkFBb0IsQ0FBQyxJQUFZLEVBQUUsVUFBdUI7UUFDL0QsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsdUZBQXVGO1lBQ3ZGLEtBQUssTUFBTSxLQUFLLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQy9CLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNyQixRQUFRLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQzlCLEtBQUssU0FBUzs0QkFDWixzRUFBc0U7NEJBQ3RFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7NEJBQzNFLE1BQU07d0JBQ1IsS0FBSyxZQUFZOzRCQUNmLDhCQUE4Qjs0QkFDOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDbEMsdURBQXVEOzRCQUN2RCxJQUFJLFVBQVUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0NBQzVDLHdFQUF3RTtnQ0FDeEUsZ0NBQWdDO2dDQUNoQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO29DQUM5RCxzRUFBc0U7b0NBQ3RFLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7d0NBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQzt3Q0FDdkYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQ0FDL0YsQ0FBQztnQ0FDSCxDQUFDOzRCQUNILENBQUM7NEJBQ0QsTUFBTTt3QkFDUixLQUFLLFVBQVU7NEJBQ2IseUdBQXlHOzRCQUN6Ryx1RkFBdUY7NEJBQ3ZGLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLElBQUksZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUMxRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3hCLENBQUM7NEJBQ0QsTUFBTTt3QkFDUjs0QkFDRSxNQUFNO29CQUNWLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNEOzs7Ozs7OztPQVFHO0lBQ0ksdUJBQXVCLENBQUMsSUFBWSxFQUFFLFVBQXVCLEVBQUUsVUFBVSxHQUFHLEtBQUssRUFBRSxZQUFZLEdBQUcsS0FBSyxFQUM1RyxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUscUJBQXFCLEdBQUcsRUFBRTtRQUNwRCxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRCx1RkFBdUY7WUFDdkYsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsS0FBSyxNQUFNLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDM0Usb0RBQW9EO29CQUNwRCxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsZUFBZSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsZUFBZSxLQUFLLGFBQWEsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLFdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUNySyxrRUFBa0U7b0JBQ2xFLCtEQUErRDtvQkFDL0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QixDQUFDO3FCQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUM1QixRQUFRLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQzlCLEtBQUssT0FBTzs0QkFDVixxQkFBcUI7NEJBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDdEIsTUFBTTt3QkFDUixLQUFLLFVBQVU7NEJBQ2IsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0NBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDeEIsQ0FBQzs0QkFDRCxNQUFNO3dCQUNSLEtBQUssU0FBUzs0QkFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQzs0QkFDMUYsc0VBQXNFOzRCQUN0RSw4REFBOEQ7NEJBQzlELElBQUksZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQ0FDckUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUN4QixDQUFDOzRCQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLGdCQUFnQjttQ0FDakYscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUNyRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3hCLENBQUM7NEJBQ0QsTUFBTTt3QkFDUixLQUFLLFlBQVk7NEJBQ2Ysa0NBQWtDOzRCQUNsQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOzRCQUM5Qyw4QkFBOEI7NEJBQzlCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ2xDLHVEQUF1RDs0QkFDdkQsSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dDQUM1Qyx3RUFBd0U7Z0NBQ3hFLHNCQUFzQjtnQ0FDdEIsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztvQ0FDOUQseUVBQXlFO29DQUN6RSxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO3dDQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO3dDQUN0RyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztvQ0FDekcsQ0FBQztnQ0FDSCxDQUFDOzRCQUNILENBQUM7NEJBQ0QsTUFBTTt3QkFDUjs0QkFDRSxNQUFNO29CQUNWLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsb0NBQW9DO1FBQ3BDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxJQUFZLEVBQUUsS0FBZ0I7UUFDL0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hELEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM3RixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVDQUF1QyxDQUFDLElBQVksRUFBRSxVQUF1QjtRQUNsRixJQUFJLElBQUksSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUMvQixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFlBQVksSUFBSSxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO29CQUNoSCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNqRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLHNCQUFzQixDQUFDLElBQVksRUFBRSxVQUF1QixFQUFFLEtBQXNCO1FBQ3pGLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzRyxLQUFLLE1BQU0sU0FBUyxJQUFJLGtCQUFrQixFQUFFLENBQUM7Z0JBQzNDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0kscUNBQXFDLENBQUMsSUFBWSxFQUFFLFVBQXVCO1FBQ2hGLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDN0MsVUFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyRyx3RUFBd0U7WUFDeEUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7aUJBQ3hGLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbkIsbUdBQW1HO2dCQUNuRywyR0FBMkc7Z0JBQzNHLG1EQUFtRDtnQkFDbkQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3pELHlHQUF5RztvQkFDekcsdURBQXVEO29CQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO3dCQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDaEcsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLHNHQUFzRzt3QkFDdEcseUZBQXlGO3dCQUN6RixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0QkFDOUMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dDQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ2pELENBQUM7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksd0NBQXdDLENBQUMsSUFBWSxFQUFFLFVBQXVCO1FBQ25GLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7aUJBQzdGLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUN2QyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQzswRUF4aUJVLGdCQUFnQjtnRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQjs7aUZBQWhCLGdCQUFnQjtjQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDYXNlRmllbGQsIEZpZWxkVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi9maWVsZHMnO1xuaW1wb3J0IHsgRmllbGRUeXBlU2FuaXRpc2VyIH0gZnJvbSAnLi9maWVsZC10eXBlLXNhbml0aXNlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtVmFsdWVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEdldHMgdmFsdWUgb2YgYSBmaWVsZCBiYXNlZCBvbiBmaWVsZEtleSB3aGljaCBpcyBhIGRvdCBzZXBhcmF0ZWQgcmVmZXJlbmNlIHRvIHZhbHVlIGFuZCBjb2xsZWN0aW9uIGluZGV4LlxuICAgKiBUaGVyZSBhcmUgdHdvIGV4Y2VwdGlvbnM6XG4gICAqIDEpIEluIGNhc2Ugb2YgYSBtdWx0aXNlbGVjdCBiZWluZyBpZGVudGlmaWVkIGFzIGEgbGVhZiBhICctLS1MQUJFTCcgc3VmZml4IGlzIGFwcGVuZGVkIHRvIHRoZSBrZXkgYW5kIHZhbHVlcyBvZiB0aGF0IGtleSBhcmUgcmV0dXJuZWRcbiAgICogICAgICBmb3JtPSB7ICdsaXN0JzogWydjb2RlMScsICdjb2RlMiddLFxuICAgKiAgICAgICAgICAgICAgJ2xpc3QtLS1MQUJFTCc6IFsnbGFiZWwxJywgJ2xhYmVsMiddIH0sXG4gICAqICAgICAgZmllbGRLZXk9bGlzdCxcbiAgICogICAgICBjb2xJbmRleD0wLFxuICAgKiAgICAgIHZhbHVlPWxhYmVsMSwgbGFiZWwyXG4gICAqIDIpIEluIGNhc2Ugb2YgYSBjb2xsZWN0aW9uIG9mIHNpbXBsZSBmaWVsZHMgaXMgaWRlbnRpZmllZCBhcyBhIGxlYWYgYWxsIHZhbHVlcyBhcmUgam9pbmVkIHNlcGVyYXRlZCBieSBhIGNvbW1hXG4gICAqICAgICAgZm9ybT0geyAnY29sbGVjdGlvbic6IFt7ICd2YWx1ZSc6ICd2YWx1ZTEnIH0sIHsgJ3ZhbHVlJzogJ3ZhbHVlMicgfV0gfVxuICAgKiAgICAgIGZpZWxkS2V5PWNvbGxlY3Rpb25cbiAgICogICAgICBjb2xJbmRleD0xXG4gICAqICAgICAgdmFsdWU9dmFsdWUxLCB2YWx1ZTJcbiAgICpcbiAgICogT3RoZXIgZXhhbXBsZXM6XG4gICAqIDEpIHNpbXBsZSBmaWVsZCByZWZlcmVuY2U6IGZvcm09eyAnUGVyc29uRmlyc3ROYW1lJzogJ0pvaG4nIH0sIGZpZWxkS2V5PVBlcnNvbkZpcnN0TmFtZSwgdmFsdWU9Sm9oblxuICAgKiAyKSBjb21wbGV4IGZpZWxkIHJlZmVyZW5jZTpcbiAgICogICAgICBmb3JtPSB7IGNvbXBsZXgxJzogeyAnc2ltcGxlMTEnOiAndmFsdWUxMScsICdzaW1wbGUxMic6ICd2YWx1ZTEyJywgJ2NvbXBsZXgyJzogeyAnc2ltcGxlMjEnOiAndmFsdWUyMScgfSB9fSxcbiAgICogICAgICBmaWVsZEtleT1jb21wbGV4MS5jb21wbGV4Mi5zaW1wbGUyMVxuICAgKiAgICAgIGNvbEluZGV4PTAsXG4gICAqICAgICAgdmFsdWU9dmFsdWUyMVxuICAgKiAzKSBjb21wbGV4IGZpZWxkIHdpdGggY29sbGVjdGlvbiBmaWVsZCB3aXRoIGNvbXBsZXggZmllbGQgcmVmZXJlbmNlOlxuICAgKiAgICAgIGZvcm09IHsgJ2NvbXBsZXgxJzoge1xuICAgKiAgICAgICAgICAgICAgICdjb2xsZWN0aW9uMSc6IFtcbiAgICogICAgICAgICAgICAgICB7ICd2YWx1ZSc6IHtcbiAgICogICAgICAgICAgICAgICAgICAgJ2NvbXBsZXgyJzoge1xuICAgKiAgICAgICAgICAgICAgICAgICAgICdzaW1wbGUxJzogJ3ZhbHVlMScsXG4gICAqICAgICAgICAgICAgICAgICAgICAgJ2NvbXBsZXgzJzoge1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBsZXg0Jzoge1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAnc2ltcGxlMic6ICd2YWx1ZTEyJ1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgKiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICogICAgICAgICAgICAgICAgICAgfVxuICAgKiAgICAgICAgICAgICAgICAgfVxuICAgKiAgICAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgICAgeyAndmFsdWUnOiB7XG4gICAqICAgICAgICAgICAgICAgICAgICdjb21wbGV4Mic6IHtcbiAgICogICAgICAgICAgICAgICAgICAgICAnc2ltcGxlMSc6ICd2YWx1ZTInLFxuICAgKiAgICAgICAgICAgICAgICAgICAgICdjb21wbGV4Myc6IHtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICdjb21wbGV4NCc6IHtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgJ3NpbXBsZTInOiAndmFsdWUyMSdcbiAgICogICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICogICAgICAgICAgICAgICAgICAgICB9XG4gICAqICAgICAgICAgICAgICAgICAgIH1cbiAgICogICAgICAgICAgICAgICAgIH1cbiAgICogICAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgICAgIHsgJ3ZhbHVlJzoge1xuICAgKiAgICAgICAgICAgICAgICAgICAnY29tcGxleDInOiB7XG4gICAqICAgICAgICAgICAgICAgICAgICAgJ3NpbXBsZTEnOiAndmFsdWUzJyxcbiAgICogICAgICAgICAgICAgICAgICAgICAnY29tcGxleDMnOiB7XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAnY29tcGxleDQnOiB7XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICdzaW1wbGUyJzogJ3ZhbHVlMzEnXG4gICAqICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAqICAgICAgICAgICAgICAgICAgICAgfVxuICAgKiAgICAgICAgICAgICAgICAgICB9XG4gICAqICAgICAgICAgICAgICAgICB9XG4gICAqICAgICAgICAgICAgICAgfVxuICAgKiAgICAgICAgICAgICBdfX1cbiAgICogICAgICBmaWVsZEtleT1jb21wbGV4MS5jb2xsZWN0aW9uMS5jb21wbGV4Mi5jb21wbGV4My5jb21wbGV4NC5zaW1wbGUyXG4gICAqICAgICAgY29sSW5kZXg9MixcbiAgICogICAgICB2YWx1ZT12YWx1ZTIxXG4gICAqIDQpIGNvbGxlY3Rpb24gb2YgY29tcGxleCB0eXBlc1xuICAgKiAgICAgIGZvcm09IHsgJ2NvbGxlY3Rpb24xJzogW1xuICAgKiAgICAgICAgICAgICAgIHsgJ3ZhbHVlJzogeydjb21wbGV4MSc6IHtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaW1wbGUxJzogJ3ZhbHVlMTEnLFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBsZXgyJzoge1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGxleDMnOiB7XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpbXBsZTInOiAndmFsdWUxMidcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgKiAgICAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgICAgeyAndmFsdWUnOiB7J2NvbXBsZXgxJzoge1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpbXBsZTEnOiAndmFsdWUyMScsXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGxleDInOiB7XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wbGV4Myc6IHtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2ltcGxlMic6ICd2YWx1ZTIyJ1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAqICAgICAgICAgICAgICAgfSxcbiAgICogICAgICAgICAgICAgICB7ICd2YWx1ZSc6IHsnY29tcGxleDEnOiB7XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2ltcGxlMSc6ICd2YWx1ZTMxJyxcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wbGV4Mic6IHtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBsZXgzJzoge1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaW1wbGUyJzogJ3ZhbHVlMzInXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgKiAgICAgICAgICAgICAgIH1cbiAgICogICAgICAgICAgICAgXX1cbiAgICogICAgICBmaWVsZEtleT1jb2xsZWN0aW9uMS5jb21wbGV4MS5jb21wbGV4Mi5jb21wbGV4My5zaW1wbGUyXG4gICAqICAgICAgY29sSW5kZXg9MlxuICAgKiAgICAgIHZhbHVlPXZhbHVlMzJcbiAgICpcbiAgICogSWYga2V5IGlzIHBvaW50aW5nIGF0IGEgY29tcGxleCBvciBjb2xsZWN0aW9uIGxlYWYgKG5vdCBzaW1wbGUsIGNvbGxlY3Rpb24gb2Ygc2ltcGxlIG9yIG11bHRpc2VsZWN0IHR5cGVzKSB0aGVuIHVuZGVmaW5lZCBpcyByZXR1cm5lZC5cbiAgICogQWxzbyBubyBrZXkgcmVmZXJyaW5nIGEgbGVhZiB0aGF0IGlzIGNvbnRhaW5lZCB3aXRoaW4gY29sbGVjdGlvbiB3aWxsIGNvbnRhaW4gaW5kZXggbnVtYmVyLiBUaGUgaW5kZXggaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZVxuICAgKiBtZXRob2QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldEZpZWxkVmFsdWUoZm9ybSwgZmllbGRLZXksIGNvbEluZGV4KSB7XG4gICAgY29uc3QgZmllbGRJZHMgPSBmaWVsZEtleS5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGN1cnJlbnRGaWVsZElkID0gZmllbGRJZHNbMF07XG4gICAgY29uc3QgY3VycmVudEZvcm0gPSBmb3JtW2N1cnJlbnRGaWVsZElkXTtcbiAgICBpZiAoRmllbGRzVXRpbHMuaXNNdWx0aVNlbGVjdFZhbHVlKGN1cnJlbnRGb3JtKSkge1xuICAgICAgcmV0dXJuIGZvcm1bY3VycmVudEZpZWxkSWQgKyBGaWVsZHNVdGlscy5MQUJFTF9TVUZGSVhdLmpvaW4oJywgJyk7XG4gICAgfSBlbHNlIGlmIChGaWVsZHNVdGlscy5pc0NvbGxlY3Rpb25PZlNpbXBsZVR5cGVzKGN1cnJlbnRGb3JtKSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRGb3JtLm1hcChmaWVsZFZhbHVlID0+IGZpZWxkVmFsdWVbJ3ZhbHVlJ10pLmpvaW4oJywgJyk7XG4gICAgfSBlbHNlIGlmIChGaWVsZHNVdGlscy5pc0NvbGxlY3Rpb24oY3VycmVudEZvcm0pKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRGaWVsZFZhbHVlKGN1cnJlbnRGb3JtW2NvbEluZGV4XVsndmFsdWUnXSwgZmllbGRJZHMuc2xpY2UoMSkuam9pbignLicpLCBjb2xJbmRleCk7XG4gICAgfSBlbHNlIGlmIChGaWVsZHNVdGlscy5pc05vbkVtcHR5T2JqZWN0KGN1cnJlbnRGb3JtKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRWYWx1ZShjdXJyZW50Rm9ybSwgZmllbGRJZHMuc2xpY2UoMSkuam9pbignLicpLCBjb2xJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjdXJyZW50Rm9ybTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQSByZWN1cnNpdmUgbWV0aG9kIHRvIHJlbW92ZSBhbnl0aGluZyB3aXRoIGEgYC0tLUxBQkVMYCBzdWZmaXguXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHJlY3Vyc2UgdGhyb3VnaCBhbmQgcmVtb3ZlIE11bHRpU2VsZWN0IGxhYmVscy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlTXVsdGlTZWxlY3RMYWJlbHMoZGF0YTogYW55KTogdm9pZCB7XG4gICAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgZGF0YSkge1xuICAgICAgICAgIEZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlTXVsdGlTZWxlY3RMYWJlbHMoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoZGF0YSk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgICAvLyBIYXZlIHdlIGZvdW5kIG9uZSBhIE11bHRpU2VsZWN0IGxhYmVsP1xuICAgICAgICAgIGlmIChrZXkuaW5kZXhPZihGaWVsZHNVdGlscy5MQUJFTF9TVUZGSVgpID4gMCkge1xuICAgICAgICAgICAgLy8gSWYgc28sIHJlbW92ZSBpdC5cbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhW2tleV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlTXVsdGlTZWxlY3RMYWJlbHMoZGF0YVtrZXldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc1JlYWRPbmx5KGZpZWxkOiBDYXNlRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmllbGQuZGlzcGxheV9jb250ZXh0ID8gZmllbGQuZGlzcGxheV9jb250ZXh0LnRvVXBwZXJDYXNlKCkgPT09ICdSRUFET05MWScgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzT3B0aW9uYWwoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZC5kaXNwbGF5X2NvbnRleHQgPyBmaWVsZC5kaXNwbGF5X2NvbnRleHQudG9VcHBlckNhc2UoKSA9PT0gJ09QVElPTkFMJyA6IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNMYWJlbChmaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBmaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdMYWJlbCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc0VtcHR5RGF0YShkYXRhOiBvYmplY3QpOiBib29sZWFuIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgbGV0IGFsbEVtcHR5ID0gdHJ1ZTtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBPYmplY3Qua2V5cyhkYXRhKSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGFbcHJvcF07XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGFsbEVtcHR5ID0gYWxsRW1wdHkgJiYgdGhpcy5pc0VtcHR5RGF0YSh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFsbEVtcHR5ID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYWxsRW1wdHk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3VsZCB3ZSBjbGVhciBvdXQgb3B0aW9uYWwsIGVtcHR5LCBjb21wbGV4IG9iamVjdHM/XG4gICAqIEBwYXJhbSBjbGVhckVtcHR5IEZhbHNlIHByb3BlcnR5IGlmIHdlIHNpbXBseSB3YW50IHRvIHNraXAgaXQuXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIGFzc2VzcyBmb3IgXCJlbXB0aW5lc3NcIi5cbiAgICogQHBhcmFtIGZpZWxkIFRoZSBDYXNlRmllbGQgdGhhdCB3aWxsIHRlbGwgdXMgaWYgdGhpcyBpcyBvcHRpb25hbC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGNsZWFyT3B0aW9uYWxFbXB0eShjbGVhckVtcHR5OiBib29sZWFuLCBkYXRhOiBvYmplY3QsIGZpZWxkOiBDYXNlRmllbGQpOiBib29sZWFuIHtcbiAgICBpZiAoY2xlYXJFbXB0eSkge1xuICAgICAgcmV0dXJuIEZvcm1WYWx1ZVNlcnZpY2UuaXNPcHRpb25hbChmaWVsZCkgJiYgRm9ybVZhbHVlU2VydmljZS5pc0VtcHR5RGF0YShkYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaWVsZFR5cGVTYW5pdGlzZXI6IEZpZWxkVHlwZVNhbml0aXNlcikge1xuICB9XG5cbiAgcHVibGljIHNhbml0aXNlKHJhd1ZhbHVlOiBvYmplY3QpOiBvYmplY3Qge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXNlT2JqZWN0KHJhd1ZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzYW5pdGlzZUNhc2VSZWZlcmVuY2UocmVmZXJlbmNlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIHN0cmlwIG5vbiBkaWdpdHNcbiAgICBjb25zdCBzOiBzdHJpbmcgPSByZWZlcmVuY2UucmVwbGFjZSgvW1xcRF0vZywgJycpO1xuICAgIGlmIChzLmxlbmd0aCA+IDE2KSB7XG4gICAgICByZXR1cm4gcy5zdWJzdHIocy5sZW5ndGggLSAxNiwgMTYpO1xuICAgIH1cbiAgICByZXR1cm4gcztcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJDdXJyZW50UGFnZUZpZWxkcyhjYXNlRmllbGRzOiBDYXNlRmllbGRbXSwgZWRpdEZvcm06IGFueSk6IGFueSB7XG4gICAgY29uc3QgY2xvbmVGb3JtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlZGl0Rm9ybSkpO1xuICAgIE9iamVjdC5rZXlzKGNsb25lRm9ybVsnZGF0YSddKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChjYXNlRmllbGRzLmZpbmRJbmRleCgoZWxlbWVudCkgPT4gZWxlbWVudC5pZCA9PT0ga2V5KSA8IDApIHtcbiAgICAgICAgZGVsZXRlIGNsb25lRm9ybVsnZGF0YSddW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNsb25lRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBzYW5pdGlzZUR5bmFtaWNMaXN0cyhjYXNlRmllbGRzOiBDYXNlRmllbGRbXSwgZWRpdEZvcm06IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRUeXBlU2FuaXRpc2VyLnNhbml0aXNlTGlzdHMoY2FzZUZpZWxkcywgZWRpdEZvcm0uZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIHNhbml0aXNlT2JqZWN0KHJhd09iamVjdDogb2JqZWN0KTogb2JqZWN0IHtcbiAgICBpZiAoIXJhd09iamVjdCkge1xuICAgICAgcmV0dXJuIHJhd09iamVjdDtcbiAgICB9XG5cbiAgICBsZXQgc2FuaXRpc2VkT2JqZWN0ID0ge307XG4gICAgY29uc3QgZG9jdW1lbnRGaWVsZEtleXMgPSBbJ2RvY3VtZW50X3VybCcsICdkb2N1bWVudF9iaW5hcnlfdXJsJywgJ2RvY3VtZW50X2ZpbGVuYW1lJ107XG4gICAgZm9yIChjb25zdCBrZXkgaW4gcmF3T2JqZWN0KSB7XG4gICAgICAvLyBJZiB0aGUga2V5IGlzIG9uZSBvZiBkb2N1bWVudEZpZWxkS2V5cywgaXQgbWVhbnMgdGhlIGZpZWxkIGlzIG9mIERvY3VtZW50IHR5cGUuIElmIHRoZSB2YWx1ZSBvZiBhbnkgb2YgdGhlc2VcbiAgICAgIC8vIHByb3BlcnRpZXMgaXMgbnVsbCwgdGhlIGVudGlyZSBzYW5pdGlzZWQgb2JqZWN0IHRvIGJlIHJldHVybmVkIHNob3VsZCBiZSBudWxsXG4gICAgICBpZiAoZG9jdW1lbnRGaWVsZEtleXMuaW5kZXhPZihrZXkpID4gLTEgJiYgcmF3T2JqZWN0W2tleV0gPT09IG51bGwpIHtcbiAgICAgICAgc2FuaXRpc2VkT2JqZWN0ID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IGVsc2UgaWYgKCdDYXNlUmVmZXJlbmNlJyA9PT0ga2V5KSB7XG4gICAgICAgIHNhbml0aXNlZE9iamVjdFtrZXldID0gdGhpcy5zYW5pdGlzZVZhbHVlKHRoaXMuc2FuaXRpc2VDYXNlUmVmZXJlbmNlKFN0cmluZyhyYXdPYmplY3Rba2V5XSkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNhbml0aXNlZE9iamVjdFtrZXldID0gdGhpcy5zYW5pdGlzZVZhbHVlKHJhd09iamVjdFtrZXldKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2FuaXRpc2VkT2JqZWN0W2tleV0pKSB7XG4gICAgICAgICAgLy8gSWYgdGhlICdzYW5pdGlzZWQnIGFycmF5IGlzIGVtcHR5LCB3aGVyZWFzIHRoZSBvcmlnaW5hbCBhcnJheSBoYWQgMSBvciBtb3JlIGl0ZW1zXG4gICAgICAgICAgLy8gZGVsZXRlIHRoZSBwcm9wZXJ0eSBmcm9tIHRoZSBzYW5hdGlzZWQgb2JqZWN0XG4gICAgICAgICAgaWYgKHNhbml0aXNlZE9iamVjdFtrZXldLmxlbmd0aCA9PT0gMCAmJiByYXdPYmplY3Rba2V5XS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBkZWxldGUgc2FuaXRpc2VkT2JqZWN0W2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzYW5pdGlzZWRPYmplY3Q7XG4gIH1cblxuICBwcml2YXRlIHNhbml0aXNlQXJyYXkocmF3QXJyYXk6IGFueVtdKTogYW55W10ge1xuICAgIGlmICghcmF3QXJyYXkpIHtcbiAgICAgIHJldHVybiByYXdBcnJheTtcbiAgICB9XG5cbiAgICByYXdBcnJheS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKGl0ZW0gJiYgaXRlbS5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgICBpdGVtLnZhbHVlID0gdGhpcy5zYW5pdGlzZVZhbHVlKGl0ZW0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gRmlsdGVyIHRoZSBhcnJheSB0byBlbnN1cmUgb25seSB0cnV0aHkgdmFsdWVzIGFyZSByZXR1cm5lZDsgZG91YmxlLWJhbmcgb3BlcmF0b3IgcmV0dXJucyB0aGUgYm9vbGVhbiB0cnVlL2ZhbHNlXG4gICAgLy8gYXNzb2NpYXRpb24gb2YgYSB2YWx1ZS4gSW4gYWRkaXRpb24sIGlmIHRoZSBhcnJheSBjb250YWlucyBpdGVtcyB3aXRoIGEgXCJ2YWx1ZVwiIG9iamVjdCBwcm9wZXJ0eSwgcmV0dXJuIG9ubHlcbiAgICAvLyB0aG9zZSB3aG9zZSB2YWx1ZSBvYmplY3QgY29udGFpbnMgbm9uLWVtcHR5IHZhbHVlcywgaW5jbHVkaW5nIGZvciBhbnkgZGVzY2VuZGFudCBvYmplY3RzXG4gICAgcmV0dXJuIHJhd0FycmF5XG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKVxuICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0uaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgPyBGaWVsZHNVdGlscy5jb250YWluc05vbkVtcHR5VmFsdWVzKGl0ZW0udmFsdWUpIDogdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNhbml0aXNlVmFsdWUocmF3VmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmF3VmFsdWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zYW5pdGlzZUFycmF5KHJhd1ZhbHVlKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGVvZiByYXdWYWx1ZSkge1xuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpc2VPYmplY3QocmF3VmFsdWUpO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIHJhd1ZhbHVlLnRyaW0oKTtcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHJldHVybiBTdHJpbmcocmF3VmFsdWUpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHJhd1ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhck5vbkNhc2VGaWVsZHMoZGF0YTogb2JqZWN0LCBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSkge1xuICAgIGZvciAoY29uc3QgZGF0YUtleSBpbiBkYXRhKSB7XG4gICAgICBpZiAoIWNhc2VGaWVsZHMuZmluZChjZiA9PiBjZi5pZCA9PT0gZGF0YUtleSkpIHtcbiAgICAgICAgZGVsZXRlIGRhdGFbZGF0YUtleV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVE9ETyByZWZhY3RvciBzbyB0aGF0IHRoaXMgYW5kIHJlbW92ZSB1bm5lY2Vzc2FyeSBmaWVsZHMgaGF2ZSBhIGNvbW1vbiBpdGVyYXRvciB0aGF0IGFwcGxpZXMgZnVuY3Rpb25zIHRvIGVhY2ggbm9kZSB2aXNpdGVkXG4gIHB1YmxpYyByZW1vdmVOdWxsTGFiZWxzKGRhdGE6IG9iamVjdCwgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10pIHtcbiAgICBpZiAoZGF0YSAmJiBjYXNlRmllbGRzICYmIGNhc2VGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgaXMgYW55IGRhdGEgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgZm9ybSB0aGF0J3Mgbm90IGluIHRoZSBjYXNlRmllbGRzXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGNhc2VGaWVsZHMpIHtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgICAgICBzd2l0Y2ggKGZpZWxkLmZpZWxkX3R5cGUudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnTGFiZWwnOlxuICAgICAgICAgICAgICAvLyBEZWxldGUgYW55IGxhYmVscyB0aGF0IGFyZSBudWxsXG4gICAgICAgICAgICAgIGlmICgoZGF0YVtmaWVsZC5pZF0gPT09IG51bGwpIHx8IChkYXRhW2ZpZWxkLmlkXSA9PT0gJycpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGRhdGFbZmllbGQuaWRdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQ29tcGxleCc6XG4gICAgICAgICAgICAgIC8vIFJlY3Vyc2UgYW5kIHJlbW92ZSBhbnl0aGluZyB1bm5lY2Vzc2FyeSBmcm9tIHdpdGhpbiBhIGNvbXBsZXggZmllbGQuXG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlTnVsbExhYmVscyhkYXRhW2ZpZWxkLmlkXSwgZmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQ29sbGVjdGlvbic6XG4gICAgICAgICAgICAgIC8vIEdldCBob2xkIG9mIHRoZSBjb2xsZWN0aW9uLlxuICAgICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gZGF0YVtmaWVsZC5pZF07XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlIGFjdHVhbGx5IGhhdmUgYSBjb2xsZWN0aW9uIHRvIHdvcmsgd2l0aC5cbiAgICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24gJiYgQXJyYXkuaXNBcnJheShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBjb2xsZWN0aW9uIG9mIGNvbXBsZXggb2JqZWN0LCB3ZSBuZWVkIHRvIGl0ZXJhdGUgdGhyb3VnaFxuICAgICAgICAgICAgICAgIC8vIGFuZCBjbGVhciB0aGVtIG91dC5cbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICAgICAgICAgICAgICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGVsZW1lbnRzIGFuZCByZW1vdmUgYW55IHVubmVjZXNzYXJ5IGZpZWxkcyB3aXRoaW4uXG4gICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY29sbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZU51bGxMYWJlbHMoaXRlbSwgZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZU51bGxMYWJlbHMoaXRlbS52YWx1ZSwgZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBUT0RPIHJlZmFjdG9yIHNvIHRoYXQgdGhpcyBhbmQgcmVtb3ZlIHVubmVjZXNzYXJ5IGZpZWxkcyBoYXZlIGEgY29tbW9uIGl0ZXJhdG9yIHRoYXQgYXBwbGllcyBmdW5jdGlvbnMgdG8gZWFjaCBub2RlIHZpc2l0ZWRcbiAgcHVibGljIHJlbW92ZUVtcHR5RG9jdW1lbnRzKGRhdGE6IG9iamVjdCwgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10pIHtcbiAgICBpZiAoZGF0YSAmJiBjYXNlRmllbGRzICYmIGNhc2VGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgaXMgYW55IGRhdGEgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgZm9ybSB0aGF0J3Mgbm90IGluIHRoZSBjYXNlRmllbGRzXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGNhc2VGaWVsZHMpIHtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgICAgICBzd2l0Y2ggKGZpZWxkLmZpZWxkX3R5cGUudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnQ29tcGxleCc6XG4gICAgICAgICAgICAgIC8vIFJlY3Vyc2UgYW5kIHJlbW92ZSBhbnkgZW1wdHkgZG9jdW1lbnRzIGZyb20gd2l0aGluIGEgY29tcGxleCBmaWVsZC5cbiAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFbXB0eURvY3VtZW50cyhkYXRhW2ZpZWxkLmlkXSwgZmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQ29sbGVjdGlvbic6XG4gICAgICAgICAgICAgIC8vIEdldCBob2xkIG9mIHRoZSBjb2xsZWN0aW9uLlxuICAgICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gZGF0YVtmaWVsZC5pZF07XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlIGFjdHVhbGx5IGhhdmUgYSBjb2xsZWN0aW9uIHRvIHdvcmsgd2l0aC5cbiAgICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24gJiYgQXJyYXkuaXNBcnJheShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBjb2xsZWN0aW9uIG9mIGNvbXBsZXggb2JqZWN0LCB3ZSBuZWVkIHRvIGl0ZXJhdGUgdGhyb3VnaFxuICAgICAgICAgICAgICAgIC8vIGFuZCBjbGVhciBvdXQgZW1wdHkgZG9jdW1lbnRzXG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgICAgICAgICAgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBlbGVtZW50cyBhbmQgcmVtb3ZlIGFueSBlbXB0eSBkb2N1bWVudHMgd2l0aGluLlxuICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFbXB0eURvY3VtZW50cyhpdGVtLCBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRW1wdHlEb2N1bWVudHMoaXRlbS52YWx1ZSwgZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0RvY3VtZW50JzpcbiAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoaXMgaXMgZXhlY3V0ZWQgb25seSBpZiB0aGUgRG9jdW1lbnQgZmllbGQgaXMgTk9UIGhpZGRlbiBhbmQgaXMgZW1wdHkgb2YgZGF0YTsgaGlkZGVuIERvY3VtZW50XG4gICAgICAgICAgICAgIC8vIGZpZWxkcyBhcmUgaGFuZGxlZCBieSB0aGUgZmlsdGVyUmF3Rm9ybVZhbHVlcygpIGZ1bmN0aW9uIGluIENhc2VFZGl0U3VibWl0IGNvbXBvbmVudFxuICAgICAgICAgICAgICBpZiAoZmllbGQuaGlkZGVuICE9PSB0cnVlICYmIEZvcm1WYWx1ZVNlcnZpY2UuaXNFbXB0eURhdGEoZGF0YVtmaWVsZC5pZF0pKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGRhdGFbZmllbGQuaWRdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBDbGVhciBvdXQgdW5uZWNlc3NhcnkgZmllbGRzIGZyb20gYSBkYXRhIG9iamVjdCwgYmFzZWQgb24gYW4gYXJyYXkgb2YgQ2FzZUZpZWxkcy5cbiAgICogVGhpcyBtZXRob2QgaXMgcmVjdXJzaXZlIGFuZCB3aWxsIGNhbGwgaXRzZWxmIGlmIGl0IGVuY291bnRlcnMgcGFydGljdWxhciBmaWVsZCB0eXBlcy5cbiAgICpcbiAgICogQHBhcmFtIGRhdGEgVGhlIG9iamVjdCB0byBiZSB0aWRpZWQgdXAuXG4gICAqIEBwYXJhbSBjYXNlRmllbGRzIFRoZSBDYXNlRmllbGRzIHRoYXQgbmVlZCB0byBiZSBjbGVhbmVkIHVwLlxuICAgKiBAcGFyYW0gY2xlYXJFbXB0eSBXaGV0aGVyIG9yIG5vdCB3ZSBzaG91bGQgY2xlYXIgb3V0IGVtcHR5LCBvcHRpb25hbCwgY29tcGxleCBvYmplY3RzLlxuICAgKiBAcGFyYW0gY2xlYXJOb25DYXNlIFdoZXRoZXIgb3Igbm90IHdlIHNob3VsZCBjbGVhciBvdXQgbm9uLWNhc2UgZmllbGRzIGF0IHRoZSB0b3AgbGV2ZWwuXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVW5uZWNlc3NhcnlGaWVsZHMoZGF0YTogb2JqZWN0LCBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSwgY2xlYXJFbXB0eSA9IGZhbHNlLCBjbGVhck5vbkNhc2UgPSBmYWxzZSxcbiAgICBmcm9tUHJldmlvdXNQYWdlID0gZmFsc2UsIGN1cnJlbnRQYWdlQ2FzZUZpZWxkcyA9IFtdKTogdm9pZCB7XG4gICAgaWYgKGRhdGEgJiYgY2FzZUZpZWxkcyAmJiBjYXNlRmllbGRzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGlzIGFueSBkYXRhIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIGZvcm0gdGhhdCdzIG5vdCBpbiB0aGUgY2FzZUZpZWxkc1xuICAgICAgaWYgKGNsZWFyTm9uQ2FzZSkge1xuICAgICAgICB0aGlzLmNsZWFyTm9uQ2FzZUZpZWxkcyhkYXRhLCBjYXNlRmllbGRzKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgY2FzZUZpZWxkcykge1xuICAgICAgICBpZiAoIUZvcm1WYWx1ZVNlcnZpY2UuaXNMYWJlbChmaWVsZCkgJiYgRm9ybVZhbHVlU2VydmljZS5pc1JlYWRPbmx5KGZpZWxkKSkge1xuICAgICAgICAgIC8vIFJldGFpbiBhbnl0aGluZyB0aGF0IGlzIHJlYWRvbmx5IGFuZCBub3QgYSBsYWJlbC5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGQuaGlkZGVuID09PSB0cnVlICYmIGZpZWxkLmRpc3BsYXlfY29udGV4dCAhPT0gJ0hJRERFTicgJiYgZmllbGQuZGlzcGxheV9jb250ZXh0ICE9PSAnSElEREVOX1RFTVAnICYmIGZpZWxkLmlkICE9PSAnY2FzZUxpbmtzJyAmJiAhZmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSkge1xuICAgICAgICAgIC8vIERlbGV0ZSBhbnl0aGluZyB0aGF0IGlzIGhpZGRlbiAodGhhdCBpcyBOT1QgcmVhZG9ubHkpLCBhbmQgdGhhdFxuICAgICAgICAgIC8vIGhhc24ndCBoYWQgaXRzIGRpc3BsYXlfY29udGV4dCBvdmVycmlkZGVuIHRvIG1ha2UgaXQgaGlkZGVuLlxuICAgICAgICAgIGRlbGV0ZSBkYXRhW2ZpZWxkLmlkXTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5maWVsZF90eXBlKSB7XG4gICAgICAgICAgc3dpdGNoIChmaWVsZC5maWVsZF90eXBlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0xhYmVsJzpcbiAgICAgICAgICAgICAgLy8gRGVsZXRlIGFueSBsYWJlbHMuXG4gICAgICAgICAgICAgIGRlbGV0ZSBkYXRhW2ZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdEb2N1bWVudCc6XG4gICAgICAgICAgICAgIGlmIChGb3JtVmFsdWVTZXJ2aWNlLmlzRW1wdHlEYXRhKGRhdGFbZmllbGQuaWRdKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBkYXRhW2ZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0NvbXBsZXgnOlxuICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVubmVjZXNzYXJ5RmllbGRzKGRhdGFbZmllbGQuaWRdLCBmaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzLCBjbGVhckVtcHR5KTtcbiAgICAgICAgICAgICAgLy8gQWxzbyByZW1vdmUgYW55IG9wdGlvbmFsIGNvbXBsZXggb2JqZWN0cyB0aGF0IGFyZSBjb21wbGV0ZWx5IGVtcHR5LlxuICAgICAgICAgICAgICAvLyBFVUktNDI0NDogUml0ZXNoJ3MgZml4LCBwYXNzaW5nIHRydWUgaW5zdGVhZCBvZiBjbGVhckVtcHR5LlxuICAgICAgICAgICAgICBpZiAoRm9ybVZhbHVlU2VydmljZS5jbGVhck9wdGlvbmFsRW1wdHkodHJ1ZSwgZGF0YVtmaWVsZC5pZF0sIGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBkYXRhW2ZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoZGF0YVtmaWVsZC5pZF0gJiYgRm9ybVZhbHVlU2VydmljZS5pc0VtcHR5RGF0YShkYXRhW2ZpZWxkLmlkXSkgJiYgZnJvbVByZXZpb3VzUGFnZVxuICAgICAgICAgICAgICAgICYmIGN1cnJlbnRQYWdlQ2FzZUZpZWxkcy5maW5kSW5kZXgoKGNGaWVsZDogYW55KSA9PiBjRmllbGQuaWQgPT09IGZpZWxkLmlkKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZGF0YVtmaWVsZC5pZF07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdDb2xsZWN0aW9uJzpcbiAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHZhbGlkIGNvbGxlY3Rpb24gZGF0YVxuICAgICAgICAgICAgICB0aGlzLnJlbW92ZUludmFsaWRDb2xsZWN0aW9uRGF0YShkYXRhLCBmaWVsZCk7XG4gICAgICAgICAgICAgIC8vIEdldCBob2xkIG9mIHRoZSBjb2xsZWN0aW9uLlxuICAgICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gZGF0YVtmaWVsZC5pZF07XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlIGFjdHVhbGx5IGhhdmUgYSBjb2xsZWN0aW9uIHRvIHdvcmsgd2l0aC5cbiAgICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24gJiYgQXJyYXkuaXNBcnJheShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBjb2xsZWN0aW9uIG9mIGNvbXBsZXggb2JqZWN0LCB3ZSBuZWVkIHRvIGl0ZXJhdGUgdGhyb3VnaFxuICAgICAgICAgICAgICAgIC8vIGFuZCBjbGVhciB0aGVtIG91dC5cbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICAgICAgICAgICAgICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGVsZW1lbnRzIGFuZCByZW1vdmUgYW55IHVubmVjZXNzYXJ5IGZpZWxkcyB3aXRoaW4uXG4gICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY29sbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVubmVjZXNzYXJ5RmllbGRzKGl0ZW0sIGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzLCBjbGVhckVtcHR5KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVVbm5lY2Vzc2FyeUZpZWxkcyhpdGVtLnZhbHVlLCBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIG91dCBhbnkgTXVsdGlTZWxlY3QgbGFiZWxzLlxuICAgIEZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlTXVsdGlTZWxlY3RMYWJlbHMoZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSW52YWxpZENvbGxlY3Rpb25EYXRhKGRhdGE6IG9iamVjdCwgZmllbGQ6IENhc2VGaWVsZCkge1xuICAgIGlmIChkYXRhW2ZpZWxkLmlkXSAmJiBkYXRhW2ZpZWxkLmlkXS5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IG9iakNvbGxlY3Rpb24gb2YgZGF0YVtmaWVsZC5pZF0pIHtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKG9iakNvbGxlY3Rpb24pLmxlbmd0aCA9PT0gMSAmJiBPYmplY3Qua2V5cyhvYmpDb2xsZWN0aW9uKS5pbmRleE9mKCdpZCcpID4gLTEpIHtcbiAgICAgICAgICBkYXRhW2ZpZWxkLmlkXSA9IFtdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbnkgZW1wdHkgY29sbGVjdGlvbiBmaWVsZHMgd2hlcmUgYSB2YWx1ZSBvZiBncmVhdGVyIHRoYW4gemVybyBpcyBzcGVjaWZpZWQgaW4gdGhlIGZpZWxkJ3Mge0BsaW5rIEZpZWxkVHlwZX1cbiAgICogYG1pbmAgYXR0cmlidXRlLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSBUaGUgb2JqZWN0IHRyZWUgb2YgZm9ybSB2YWx1ZXMgb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgcmVtb3ZhbFxuICAgKiBAcGFyYW0gY2FzZUZpZWxkcyBUaGUgbGlzdCBvZiB1bmRlcmx5aW5nIHtAbGluayBDYXNlRmllbGR9IGRvbWFpbiBtb2RlbCBvYmplY3RzIGZvciBlYWNoIGZpZWxkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlRW1wdHlDb2xsZWN0aW9uc1dpdGhNaW5WYWxpZGF0aW9uKGRhdGE6IG9iamVjdCwgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10pOiB2b2lkIHtcbiAgICBpZiAoZGF0YSAmJiBjYXNlRmllbGRzICYmIGNhc2VGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBjYXNlRmllbGRzKSB7XG4gICAgICAgIGlmIChmaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJyAmJiB0eXBlb2YgZmllbGQuZmllbGRfdHlwZS5taW4gPT09ICdudW1iZXInICYmIGZpZWxkLmZpZWxkX3R5cGUubWluID4gMCAmJlxuICAgICAgICAgIGRhdGFbZmllbGQuaWRdICYmIEFycmF5LmlzQXJyYXkoZGF0YVtmaWVsZC5pZF0pICYmIGRhdGFbZmllbGQuaWRdLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGRlbGV0ZSBkYXRhW2ZpZWxkLmlkXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZnJvbSB0aGUgdG9wIGxldmVsIG9mIHRoZSBmb3JtIGRhdGEgYW55IGNhc2UgZmllbGRzIG9mIGEgZ2l2ZW4gdHlwZSBvciB0eXBlcyB0aGF0IGFyZSBub3QgaW50ZW5kZWQgdG8gYmVcbiAgICogcGVyc2lzdGVkLiBUaGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIHRvIHJlbW92ZSBcInNwZWNpYWxcIiBjYXNlIGZpZWxkIHR5cGVzIGZyb20gdGhlIGRhdGEsIHN1Y2ggYXMgRmxhZ0xhdW5jaGVyIG9yXG4gICAqIENvbXBvbmVudExhdW5jaGVyIGZpZWxkcy5cbiAgICpcbiAgICogQHBhcmFtIGRhdGEgVGhlIG9iamVjdCB0cmVlIG9mIGZvcm0gdmFsdWVzIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIHJlbW92YWwgYXQgdGhlIHRvcCBsZXZlbCBvbmx5XG4gICAqIEBwYXJhbSBjYXNlRmllbGRzIFRoZSBsaXN0IG9mIHVuZGVybHlpbmcge0BsaW5rIENhc2VGaWVsZH0gZG9tYWluIG1vZGVsIG9iamVjdHMgZm9yIGVhY2ggZmllbGRcbiAgICogQHBhcmFtIHR5cGVzIEFuIGFycmF5IG9mIG9uZSBvciBtb3JlIGZpZWxkIHR5cGVzXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlQ2FzZUZpZWxkc09mVHlwZShkYXRhOiBvYmplY3QsIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdLCB0eXBlczogRmllbGRUeXBlRW51bVtdKTogdm9pZCB7XG4gICAgaWYgKGRhdGEgJiYgY2FzZUZpZWxkcyAmJiBjYXNlRmllbGRzLmxlbmd0aCA+IDAgJiYgdHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgY2FzZUZpZWxkc1RvUmVtb3ZlID0gY2FzZUZpZWxkcy5maWx0ZXIoY2FzZUZpZWxkID0+IEZpZWxkc1V0aWxzLmlzQ2FzZUZpZWxkT2ZUeXBlKGNhc2VGaWVsZCwgdHlwZXMpKTtcbiAgICAgIGZvciAoY29uc3QgY2FzZUZpZWxkIG9mIGNhc2VGaWVsZHNUb1JlbW92ZSkge1xuICAgICAgICBkZWxldGUgZGF0YVtjYXNlRmllbGQuaWRdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1wb3B1bGF0ZSB0aGUgZm9ybSBkYXRhIGZyb20gdGhlIHZhbHVlcyBoZWxkIGluIHRoZSBjYXNlIGZpZWxkcy4gVGhpcyBpcyBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gcGljayB1cCwgZm9yXG4gICAqIGVhY2ggYEZsYWdzYCBmaWVsZCwgYW55IGZsYWcgZGV0YWlscyBkYXRhIG5vdCBjdXJyZW50bHkgcHJlc2VudC5cbiAgICpcbiAgICogYEZsYWdzYCBmaWVsZHMgbWF5IGJlIGNvbnRhaW5lZCBpbiBvdGhlciBgQ2FzZUZpZWxkYCBpbnN0YW5jZXMsIGVpdGhlciBhcyBhIHN1Yi1maWVsZCBvZiBhIENvbXBsZXggZmllbGQsIG9yXG4gICAqIGZpZWxkcyBpbiBhIGNvbGxlY3Rpb24gKG9yIHN1Yi1maWVsZHMgb2YgQ29tcGxleCBmaWVsZHMgaW4gYSBjb2xsZWN0aW9uKS4gVGhlcmVmb3JlLCBpdCBpcyBuZWNlc3NhcnkgdG9cbiAgICogaXRlcmF0ZSB0aHJvdWdoIGFsbCBgQ2FzZUZpZWxkYHMuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBvYmplY3QgdHJlZSBvZiBmb3JtIHZhbHVlcyBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBkYXRhIHBvcHVsYXRpb25cbiAgICogQHBhcmFtIGNhc2VGaWVsZHMgVGhlIGxpc3Qgb2YgdW5kZXJseWluZyB7QGxpbmsgQ2FzZUZpZWxkfSBkb21haW4gbW9kZWwgb2JqZWN0cyBmb3IgZWFjaCBmaWVsZFxuICAgKi9cbiAgcHVibGljIHJlcG9wdWxhdGVGb3JtRGF0YUZyb21DYXNlRmllbGRWYWx1ZXMoZGF0YTogb2JqZWN0LCBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSk6IHZvaWQge1xuICAgIGlmIChkYXRhICYmIGNhc2VGaWVsZHMgJiYgY2FzZUZpZWxkcy5sZW5ndGggPiAwICYmXG4gICAgICBjYXNlRmllbGRzLmZpbmRJbmRleChjYXNlRmllbGQgPT4gRmllbGRzVXRpbHMuaXNDYXNlRmllbGRPZlR5cGUoY2FzZUZpZWxkLCBbJ0ZsYWdMYXVuY2hlciddKSkgPiAtMSkge1xuICAgICAgLy8gSWdub3JlIHRoZSBGbGFnTGF1bmNoZXIgQ2FzZUZpZWxkIGJlY2F1c2UgaXQgZG9lcyBub3QgaG9sZCBhbnkgdmFsdWVzXG4gICAgICBjYXNlRmllbGRzLmZpbHRlcihjYXNlRmllbGQgPT4gIUZpZWxkc1V0aWxzLmlzQ2FzZUZpZWxkT2ZUeXBlKGNhc2VGaWVsZCwgWydGbGFnTGF1bmNoZXInXSkpXG4gICAgICAgIC5mb3JFYWNoKGNhc2VGaWVsZCA9PiB7XG4gICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGRhdGEgb2JqZWN0IGlzIHBvcHVsYXRlZCBmb3IgYWxsIENhc2VGaWVsZCBrZXlzIGl0IGNvbnRhaW5zLCBldmVuIGlmIGZvciBhIGdpdmVuXG4gICAgICAgICAgLy8gQ2FzZUZpZWxkIGtleSwgdGhlIGRhdGEgb2JqZWN0IGhhcyBhIGZhbHN5IHZhbHVlIChoZW5jZSB0aGUgdXNlIG9mIGhhc093blByb3BlcnR5KCkgZm9yIHRoZSBjaGVjayBiZWxvdylcbiAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly90b29scy5obWN0cy5uZXQvamlyYS9icm93c2UvRVVJLTczNzdcbiAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShjYXNlRmllbGQuaWQpICYmIGNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgZm9yIHRoZSBDYXNlRmllbGQgSUQgd2l0aGluIHRoZSBkYXRhIG9iamVjdCwgaWYgbmVjZXNzYXJ5IChpLmUuIGlmIHRoZSBjdXJyZW50IHZhbHVlXG4gICAgICAgICAgICAvLyBpcyBmYWxzeSk7IHBvcHVsYXRlIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgQ2FzZUZpZWxkXG4gICAgICAgICAgICBpZiAoIWRhdGFbY2FzZUZpZWxkLmlkXSkge1xuICAgICAgICAgICAgICBkYXRhW2Nhc2VGaWVsZC5pZF0gPSB7fTtcbiAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY2FzZUZpZWxkLnZhbHVlKS5mb3JFYWNoKChrZXkpID0+IGRhdGFbY2FzZUZpZWxkLmlkXVtrZXldID0gY2FzZUZpZWxkLnZhbHVlW2tleV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gQ29weSBhbGwgdmFsdWVzIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgQ2FzZUZpZWxkOyB0aGlzIGVuc3VyZXMgYWxsIG5lc3RlZCBmbGFnIGRhdGEgKGZvciBleGFtcGxlLCBhXG4gICAgICAgICAgICAgIC8vIEZsYWdzIGZpZWxkIHdpdGhpbiBhIENvbXBsZXggZmllbGQgb3IgYSBjb2xsZWN0aW9uIG9mIENvbXBsZXggZmllbGRzKSBpcyBjb3BpZWQgYWNyb3NzXG4gICAgICAgICAgICAgIE9iamVjdC5rZXlzKGRhdGFbY2FzZUZpZWxkLmlkXSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNhc2VGaWVsZC52YWx1ZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICBkYXRhW2Nhc2VGaWVsZC5pZF1ba2V5XSA9IGNhc2VGaWVsZC52YWx1ZVtrZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUG9wdWxhdGUgdGhlIGxpbmtlZCBjYXNlcyBmcm9tIHRoZSBkYXRhIGhlbGQgaW4gaXRzIGNvcnJlc3BvbmRpbmcgQ2FzZUZpZWxkLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSBUaGUgb2JqZWN0IHRyZWUgb2YgZm9ybSB2YWx1ZXMgb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgZGF0YSBwb3B1bGF0aW9uXG4gICAqIEBwYXJhbSBjYXNlRmllbGRzIFRoZSBsaXN0IG9mIHVuZGVybHlpbmcge0BsaW5rIENhc2VGaWVsZH0gZG9tYWluIG1vZGVsIG9iamVjdHMgZm9yIGVhY2ggZmllbGRcbiAgICovXG4gIHB1YmxpYyBwb3B1bGF0ZUxpbmtlZENhc2VzRGV0YWlsc0Zyb21DYXNlRmllbGRzKGRhdGE6IG9iamVjdCwgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10pOiB2b2lkIHtcbiAgICBpZiAoZGF0YSAmJiBjYXNlRmllbGRzICYmIGNhc2VGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgY2FzZUZpZWxkcy5maWx0ZXIoY2FzZUZpZWxkID0+ICFGaWVsZHNVdGlscy5pc0Nhc2VGaWVsZE9mVHlwZShjYXNlRmllbGQsIFsnQ29tcG9uZW50TGF1bmNoZXInXSkpXG4gICAgICAgIC5mb3JFYWNoKGNhc2VGaWVsZCA9PiB7XG4gICAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoJ2Nhc2VMaW5rcycpICYmIGNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgICAgICAgZGF0YVtjYXNlRmllbGQuaWRdID0gY2FzZUZpZWxkLnZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=