@hmcts/ccd-case-ui-toolkit 6.13.11-activity-tracker → 6.13.11-welsh-release

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 (291) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +6411 -5353
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -11
  6. package/esm2015/lib/components/banners/alert/alert.component.js +7 -5
  7. package/esm2015/lib/components/banners/alert/alert.module.js +12 -4
  8. package/esm2015/lib/components/banners/index.js +1 -2
  9. package/esm2015/lib/components/banners/notification-banner/index.js +1 -2
  10. package/esm2015/lib/components/body/index.js +1 -2
  11. package/esm2015/lib/components/footer/footer.component.js +55 -30
  12. package/esm2015/lib/components/footer/footers.module.js +12 -4
  13. package/esm2015/lib/components/footer/index.js +1 -2
  14. package/esm2015/lib/components/form/date-input/date-input.component.js +56 -37
  15. package/esm2015/lib/components/form/form.module.js +8 -4
  16. package/esm2015/lib/components/form/index.js +1 -2
  17. package/esm2015/lib/components/header/header-bar/header-bar.component.js +32 -19
  18. package/esm2015/lib/components/header/headers.module.js +6 -4
  19. package/esm2015/lib/components/header/navigation/navigation-item.component.js +9 -7
  20. package/esm2015/lib/components/header/phase/phase.component.js +20 -9
  21. package/esm2015/lib/components/tabs/tabs.component.js +8 -5
  22. package/esm2015/lib/components/tabs/tabs.module.js +6 -2
  23. package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +14 -11
  24. package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +12 -9
  25. package/esm2015/lib/shared/components/activity/activity.component.js +155 -0
  26. package/esm2015/lib/shared/components/activity/activity.module.js +17 -13
  27. package/esm2015/lib/shared/components/activity/index.js +2 -2
  28. package/esm2015/lib/shared/components/case-editor/case-create/case-create.component.js +2 -2
  29. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +29 -25
  30. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +76 -48
  31. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +179 -131
  32. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +30 -26
  33. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +51 -26
  34. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +51 -28
  35. package/esm2015/lib/shared/components/case-editor/case-progress/case-progress.component.js +2 -2
  36. package/esm2015/lib/shared/components/case-editor/services/case-edit-wizard.guard.js +3 -2
  37. package/esm2015/lib/shared/components/case-editor/services/work-allocation.service.js +2 -2
  38. package/esm2015/lib/shared/components/case-history/case-history.component.js +89 -63
  39. package/esm2015/lib/shared/components/case-history/case-history.module.js +18 -14
  40. package/esm2015/lib/shared/components/case-list/case-list.component.js +56 -49
  41. package/esm2015/lib/shared/components/case-list/case-list.module.js +8 -4
  42. package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +11 -7
  43. package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +9 -6
  44. package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +12 -8
  45. package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +106 -61
  46. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +89 -69
  47. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +45 -23
  48. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +27 -32
  49. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +103 -95
  50. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +32 -20
  51. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +107 -79
  52. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +79 -49
  53. package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
  54. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +38 -30
  55. package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +36 -22
  56. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +63 -40
  57. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +6 -2
  58. package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +28 -14
  59. package/esm2015/lib/shared/components/dialogs/dialogs.module.js +6 -2
  60. package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +28 -14
  61. package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +28 -14
  62. package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +28 -14
  63. package/esm2015/lib/shared/components/error/callback-errors.component.js +34 -23
  64. package/esm2015/lib/shared/components/error/errors.module.js +6 -2
  65. package/esm2015/lib/shared/components/error-message/error-message.component.js +14 -11
  66. package/esm2015/lib/shared/components/error-message/error-message.module.js +8 -4
  67. package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +39 -20
  68. package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +34 -18
  69. package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +34 -19
  70. package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +50 -25
  71. package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +39 -20
  72. package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +34 -18
  73. package/esm2015/lib/shared/components/event-start/event-start.module.js +8 -4
  74. package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +27 -17
  75. package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +6 -2
  76. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +7 -5
  77. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.module.js +6 -2
  78. package/esm2015/lib/shared/components/pagination/pagination.component.js +84 -67
  79. package/esm2015/lib/shared/components/pagination/pagination.module.js +8 -4
  80. package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +50 -31
  81. package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +10 -8
  82. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +6 -2
  83. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +2 -2
  84. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +31 -25
  85. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +6 -1
  86. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +18 -12
  87. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +16 -12
  88. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +57 -33
  89. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +50 -46
  90. package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +7 -6
  91. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +22 -20
  92. package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +5 -4
  93. package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +16 -12
  94. package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +29 -17
  95. package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +31 -25
  96. package/esm2015/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.js +9 -7
  97. package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +32 -20
  98. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/index.js +3 -0
  99. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.js +47 -0
  100. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.js +153 -0
  101. package/esm2015/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.js +9 -7
  102. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +30 -22
  103. package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +16 -12
  104. package/esm2015/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.js +9 -7
  105. package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +19 -14
  106. package/esm2015/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.js +9 -7
  107. package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +20 -15
  108. package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +87 -65
  109. package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +60 -46
  110. package/esm2015/lib/shared/components/palette/index.js +2 -1
  111. package/esm2015/lib/shared/components/palette/label/label-field.component.js +24 -5
  112. package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +16 -12
  113. package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +15 -11
  114. package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +19 -14
  115. package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +16 -12
  116. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +43 -25
  117. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +7 -6
  118. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +41 -29
  119. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +48 -35
  120. package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +88 -50
  121. package/esm2015/lib/shared/components/palette/palette.module.js +91 -59
  122. package/esm2015/lib/shared/components/palette/palette.service.js +4 -1
  123. package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +16 -12
  124. package/esm2015/lib/shared/components/palette/text/read-text-field.component.js +7 -5
  125. package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +16 -12
  126. package/esm2015/lib/shared/components/palette/text-area/read-text-area-field.component.js +7 -5
  127. package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +16 -12
  128. package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +7 -5
  129. package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +20 -15
  130. package/esm2015/lib/shared/components/search-filters/search-filters.component.js +60 -35
  131. package/esm2015/lib/shared/components/search-filters/search-filters.module.js +14 -10
  132. package/esm2015/lib/shared/components/search-result/search-result.component.js +149 -129
  133. package/esm2015/lib/shared/components/search-result/search-result.module.js +16 -13
  134. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +90 -52
  135. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +13 -9
  136. package/esm2015/lib/shared/domain/activity/activity.model.js +1 -1
  137. package/esm2015/lib/shared/domain/activity/index.js +1 -4
  138. package/esm2015/lib/shared/domain/alert/alert-status-params.model.js +2 -0
  139. package/esm2015/lib/shared/domain/definition/case-field.model.js +6 -3
  140. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  141. package/esm2015/lib/shared/domain/search/index.js +1 -2
  142. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +14 -11
  143. package/esm2015/lib/shared/services/activity/activity.polling.service.js +10 -25
  144. package/esm2015/lib/shared/services/activity/activity.service.js +21 -47
  145. package/esm2015/lib/shared/services/activity/index.js +1 -2
  146. package/esm2015/lib/shared/services/alert/alert.service.js +28 -8
  147. package/esm2015/lib/shared/services/form/field-type-sanitiser.js +16 -1
  148. package/esm2015/lib/shared/services/request/request.options.builder.js +7 -1
  149. package/esm2015/lib/shared/services/window/window.service.js +1 -1
  150. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +6785 -5741
  151. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  152. package/lib/app.config.d.ts +0 -10
  153. package/lib/app.config.d.ts.map +1 -1
  154. package/lib/components/banners/alert/alert.module.d.ts +2 -1
  155. package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
  156. package/lib/components/banners/index.d.ts +0 -1
  157. package/lib/components/banners/index.d.ts.map +1 -1
  158. package/lib/components/banners/notification-banner/index.d.ts +0 -1
  159. package/lib/components/banners/notification-banner/index.d.ts.map +1 -1
  160. package/lib/components/body/index.d.ts +0 -1
  161. package/lib/components/body/index.d.ts.map +1 -1
  162. package/lib/components/footer/footers.module.d.ts +2 -1
  163. package/lib/components/footer/footers.module.d.ts.map +1 -1
  164. package/lib/components/footer/index.d.ts +0 -1
  165. package/lib/components/footer/index.d.ts.map +1 -1
  166. package/lib/components/form/form.module.d.ts +2 -1
  167. package/lib/components/form/form.module.d.ts.map +1 -1
  168. package/lib/components/form/index.d.ts +0 -1
  169. package/lib/components/form/index.d.ts.map +1 -1
  170. package/lib/components/header/headers.module.d.ts +2 -1
  171. package/lib/components/header/headers.module.d.ts.map +1 -1
  172. package/lib/components/tabs/tabs.component.d.ts.map +1 -1
  173. package/lib/components/tabs/tabs.module.d.ts +2 -1
  174. package/lib/components/tabs/tabs.module.d.ts.map +1 -1
  175. package/lib/shared/components/activity/activity.component.d.ts +32 -0
  176. package/lib/shared/components/activity/activity.component.d.ts.map +1 -0
  177. package/lib/shared/components/activity/activity.module.d.ts +5 -4
  178. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  179. package/lib/shared/components/activity/index.d.ts +1 -1
  180. package/lib/shared/components/activity/index.d.ts.map +1 -1
  181. package/lib/shared/components/case-editor/case-editor.module.d.ts +3 -2
  182. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  183. package/lib/shared/components/case-editor/services/case-edit-wizard.guard.d.ts.map +1 -1
  184. package/lib/shared/components/case-history/case-history.module.d.ts +2 -1
  185. package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -1
  186. package/lib/shared/components/case-list/case-list.module.d.ts +2 -1
  187. package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -1
  188. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +2 -1
  189. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -1
  190. package/lib/shared/components/case-timeline/case-timeline.module.d.ts +2 -1
  191. package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -1
  192. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +4 -5
  193. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  194. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -7
  195. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  196. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +6 -4
  197. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  198. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +2 -1
  199. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -1
  200. package/lib/shared/components/dialogs/dialogs.module.d.ts +2 -1
  201. package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
  202. package/lib/shared/components/error/errors.module.d.ts +2 -1
  203. package/lib/shared/components/error/errors.module.d.ts.map +1 -1
  204. package/lib/shared/components/error-message/error-message.module.d.ts +2 -1
  205. package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -1
  206. package/lib/shared/components/event-start/event-start.module.d.ts +2 -1
  207. package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -1
  208. package/lib/shared/components/event-trigger/event-trigger.module.d.ts +2 -1
  209. package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -1
  210. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts +2 -1
  211. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts.map +1 -1
  212. package/lib/shared/components/pagination/pagination.module.d.ts +2 -1
  213. package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
  214. package/lib/shared/components/palette/base-field/field-read.component.d.ts +1 -0
  215. package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
  216. package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
  217. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  218. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +1 -0
  219. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  220. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts +3 -0
  221. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts.map +1 -0
  222. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts +9 -0
  223. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  224. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts +17 -0
  225. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  226. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts +1 -1
  227. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts.map +1 -1
  228. package/lib/shared/components/palette/index.d.ts +1 -0
  229. package/lib/shared/components/palette/index.d.ts.map +1 -1
  230. package/lib/shared/components/palette/label/label-field.component.d.ts +2 -1
  231. package/lib/shared/components/palette/label/label-field.component.d.ts.map +1 -1
  232. package/lib/shared/components/palette/palette.module.d.ts +60 -57
  233. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  234. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  235. package/lib/shared/components/search-filters/search-filters.module.d.ts +2 -1
  236. package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
  237. package/lib/shared/components/search-result/search-result.component.d.ts +6 -9
  238. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
  239. package/lib/shared/components/search-result/search-result.module.d.ts +3 -2
  240. package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -1
  241. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +2 -1
  242. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
  243. package/lib/shared/domain/activity/activity.model.d.ts +0 -1
  244. package/lib/shared/domain/activity/activity.model.d.ts.map +1 -1
  245. package/lib/shared/domain/activity/index.d.ts +0 -3
  246. package/lib/shared/domain/activity/index.d.ts.map +1 -1
  247. package/lib/shared/domain/alert/alert-status-params.model.d.ts +6 -0
  248. package/lib/shared/domain/alert/alert-status-params.model.d.ts.map +1 -0
  249. package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
  250. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  251. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  252. package/lib/shared/domain/search/index.d.ts +0 -1
  253. package/lib/shared/domain/search/index.d.ts.map +1 -1
  254. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  255. package/lib/shared/services/activity/activity.polling.service.d.ts +5 -6
  256. package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
  257. package/lib/shared/services/activity/activity.service.d.ts +5 -14
  258. package/lib/shared/services/activity/activity.service.d.ts.map +1 -1
  259. package/lib/shared/services/activity/index.d.ts +0 -1
  260. package/lib/shared/services/activity/index.d.ts.map +1 -1
  261. package/lib/shared/services/alert/alert.service.d.ts +8 -4
  262. package/lib/shared/services/alert/alert.service.d.ts.map +1 -1
  263. package/lib/shared/services/form/field-type-sanitiser.d.ts +2 -0
  264. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  265. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  266. package/lib/shared/services/window/window.service.d.ts.map +1 -1
  267. package/package.json +1 -1
  268. package/esm2015/lib/shared/components/activity/case-activity.component.js +0 -174
  269. package/esm2015/lib/shared/domain/activity/case-activity-info.model.js +0 -3
  270. package/esm2015/lib/shared/domain/activity/case-activity.model.js +0 -3
  271. package/esm2015/lib/shared/domain/activity/user.model.js +0 -3
  272. package/esm2015/lib/shared/domain/search/sorting/index.js +0 -4
  273. package/esm2015/lib/shared/domain/user/index.js +0 -3
  274. package/esm2015/lib/shared/services/activity/activity-socket.service.js +0 -91
  275. package/esm2015/lib/shared/services/activity/utils/index.js +0 -117
  276. package/lib/shared/components/activity/case-activity.component.d.ts +0 -32
  277. package/lib/shared/components/activity/case-activity.component.d.ts.map +0 -1
  278. package/lib/shared/domain/activity/case-activity-info.model.d.ts +0 -9
  279. package/lib/shared/domain/activity/case-activity-info.model.d.ts.map +0 -1
  280. package/lib/shared/domain/activity/case-activity.model.d.ts +0 -5
  281. package/lib/shared/domain/activity/case-activity.model.d.ts.map +0 -1
  282. package/lib/shared/domain/activity/user.model.d.ts +0 -6
  283. package/lib/shared/domain/activity/user.model.d.ts.map +0 -1
  284. package/lib/shared/domain/search/sorting/index.d.ts +0 -4
  285. package/lib/shared/domain/search/sorting/index.d.ts.map +0 -1
  286. package/lib/shared/domain/user/index.d.ts +0 -3
  287. package/lib/shared/domain/user/index.d.ts.map +0 -1
  288. package/lib/shared/services/activity/activity-socket.service.d.ts +0 -33
  289. package/lib/shared/services/activity/activity-socket.service.d.ts.map +0 -1
  290. package/lib/shared/services/activity/utils/index.d.ts +0 -40
  291. package/lib/shared/services/activity/utils/index.d.ts.map +0 -1
@@ -1,10 +1,9 @@
1
1
  import { Component, NgZone } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { of } from 'rxjs';
4
- import { distinctUntilChanged, filter } from 'rxjs/operators';
4
+ import { DisplayMode } from '../../../domain';
5
5
  import { CaseReferencePipe } from '../../../pipes';
6
- import { ActivityPollingService, ActivityService, ActivitySocketService, AlertService, EventStatusService, FieldsUtils, } from '../../../services';
7
- import { MODES } from '../../../services/activity/utils/index';
6
+ import { ActivityPollingService, AlertService, EventStatusService, FieldsUtils } from '../../../services';
8
7
  import { CaseNotifier, CasesService } from '../../case-editor';
9
8
  import * as i0 from "@angular/core";
10
9
  import * as i1 from "../../case-editor";
@@ -14,7 +13,7 @@ import * as i4 from "../../../pipes";
14
13
  function CaseEventTriggerComponent_div_0_Template(rf, ctx) { if (rf & 1) {
15
14
  const _r2 = i0.ɵɵgetCurrentView();
16
15
  i0.ɵɵelementStart(0, "div", 1);
17
- i0.ɵɵelement(1, "ccd-case-activity", 2);
16
+ i0.ɵɵelement(1, "ccd-activity", 2);
18
17
  i0.ɵɵelementStart(2, "ccd-case-edit", 3);
19
18
  i0.ɵɵlistener("cancelled", function CaseEventTriggerComponent_div_0_Template_ccd_case_edit_cancelled_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return ctx_r1.cancel(); })("submitted", function CaseEventTriggerComponent_div_0_Template_ccd_case_edit_submitted_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.submitted($event); });
20
19
  i0.ɵɵelementEnd();
@@ -22,12 +21,12 @@ function CaseEventTriggerComponent_div_0_Template(rf, ctx) { if (rf & 1) {
22
21
  } if (rf & 2) {
23
22
  const ctx_r0 = i0.ɵɵnextContext();
24
23
  i0.ɵɵadvance(1);
25
- i0.ɵɵproperty("caseId", ctx_r0.caseDetails.case_id)("iconOnly", false);
24
+ i0.ɵɵproperty("caseId", ctx_r0.caseDetails.case_id)("displayMode", ctx_r0.BANNER);
26
25
  i0.ɵɵadvance(1);
27
26
  i0.ɵɵproperty("caseDetails", ctx_r0.caseDetails)("submit", ctx_r0.submit())("validate", ctx_r0.validate())("eventTrigger", ctx_r0.eventTrigger);
28
27
  } }
29
28
  export class CaseEventTriggerComponent {
30
- constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityService, activityPollingService, activitySocketService) {
29
+ constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityPollingService) {
31
30
  this.ngZone = ngZone;
32
31
  this.casesService = casesService;
33
32
  this.caseNotifier = caseNotifier;
@@ -35,9 +34,8 @@ export class CaseEventTriggerComponent {
35
34
  this.alertService = alertService;
36
35
  this.route = route;
37
36
  this.caseReferencePipe = caseReferencePipe;
38
- this.activityService = activityService;
39
37
  this.activityPollingService = activityPollingService;
40
- this.activitySocketService = activitySocketService;
38
+ this.BANNER = DisplayMode.BANNER;
41
39
  }
42
40
  ngOnInit() {
43
41
  if (this.route.snapshot.data.case) {
@@ -49,24 +47,13 @@ export class CaseEventTriggerComponent {
49
47
  });
50
48
  }
51
49
  this.eventTrigger = this.route.snapshot.data.eventTrigger;
52
- this.activityService.modeSubject
53
- .pipe(filter(mode => !!mode))
54
- .pipe(distinctUntilChanged())
55
- .subscribe(mode => {
56
- if (ActivitySocketService.SOCKET_MODES.indexOf(mode) > -1) {
57
- this.activitySocketService.connected
58
- .subscribe(connected => {
59
- if (connected) {
60
- this.activitySocketService.editCase(this.caseDetails.case_id);
61
- }
62
- });
63
- }
64
- else if (mode === MODES.polling) {
65
- this.ngZone.runOutsideAngular(() => {
66
- this.activitySubscription = this.postEditActivity().subscribe((_resolved) => { });
50
+ if (this.activityPollingService.isEnabled) {
51
+ this.ngZone.runOutsideAngular(() => {
52
+ this.activitySubscription = this.postEditActivity().subscribe((_resolved) => {
53
+ // console.log('Posted EDIT activity and result is: ' + JSON.stringify(_resolved));
67
54
  });
68
- }
69
- });
55
+ });
56
+ }
70
57
  this.route.parent.url.subscribe(path => {
71
58
  this.parentUrl = `/${path.join('/')}`;
72
59
  });
@@ -113,12 +100,20 @@ export class CaseEventTriggerComponent {
113
100
  .navigate([this.parentUrl])
114
101
  .then(() => {
115
102
  const caseReference = this.caseReferencePipe.transform(this.caseDetails.case_id.toString());
103
+ const replacements = { CASEREFERENCE: caseReference, NAME: this.eventTrigger.name };
116
104
  if (EventStatusService.isIncomplete(eventStatus)) {
117
- this.alertService.warning(`Case #${caseReference} has been updated with event: ${this.eventTrigger.name} `
118
- + `but the callback service cannot be completed`);
105
+ this.alertService.warning({
106
+ phrase: `Case #%CASEREFERENCE% has been updated with event: %NAME%
107
+ but the callback service cannot be completed`,
108
+ replacements
109
+ });
119
110
  }
120
111
  else {
121
- this.alertService.success(`Case #${caseReference} has been updated with event: ${this.eventTrigger.name}`, true);
112
+ this.alertService.success({
113
+ phrase: 'Case #%CASEREFERENCE% has been updated with event: %NAME%',
114
+ replacements,
115
+ preserve: true
116
+ });
122
117
  }
123
118
  });
124
119
  }
@@ -136,8 +131,8 @@ export class CaseEventTriggerComponent {
136
131
  return !!(this.eventTrigger && this.caseDetails);
137
132
  }
138
133
  }
139
- CaseEventTriggerComponent.ɵfac = function CaseEventTriggerComponent_Factory(t) { return new (t || CaseEventTriggerComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.CasesService), i0.ɵɵdirectiveInject(i1.CaseNotifier), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.AlertService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i4.CaseReferencePipe), i0.ɵɵdirectiveInject(i3.ActivityService), i0.ɵɵdirectiveInject(i3.ActivityPollingService), i0.ɵɵdirectiveInject(i3.ActivitySocketService)); };
140
- CaseEventTriggerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEventTriggerComponent, selectors: [["ccd-case-event-trigger"]], decls: 1, vars: 1, consts: [["class", "screen-990", 4, "ngIf"], [1, "screen-990"], [3, "caseId", "iconOnly"], [3, "caseDetails", "submit", "validate", "eventTrigger", "cancelled", "submitted"]], template: function CaseEventTriggerComponent_Template(rf, ctx) { if (rf & 1) {
134
+ CaseEventTriggerComponent.ɵfac = function CaseEventTriggerComponent_Factory(t) { return new (t || CaseEventTriggerComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.CasesService), i0.ɵɵdirectiveInject(i1.CaseNotifier), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.AlertService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i4.CaseReferencePipe), i0.ɵɵdirectiveInject(i3.ActivityPollingService)); };
135
+ CaseEventTriggerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEventTriggerComponent, selectors: [["ccd-case-event-trigger"]], decls: 1, vars: 1, consts: [["class", "screen-990", 4, "ngIf"], [1, "screen-990"], [3, "caseId", "displayMode"], [3, "caseDetails", "submit", "validate", "eventTrigger", "cancelled", "submitted"]], template: function CaseEventTriggerComponent_Template(rf, ctx) { if (rf & 1) {
141
136
  i0.ɵɵtemplate(0, CaseEventTriggerComponent_div_0_Template, 3, 6, "div", 0);
142
137
  } if (rf & 2) {
143
138
  i0.ɵɵproperty("ngIf", ctx.isDataLoaded());
@@ -148,5 +143,5 @@ CaseEventTriggerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEventTrigge
148
143
  selector: 'ccd-case-event-trigger',
149
144
  templateUrl: './case-event-trigger.html'
150
145
  }]
151
- }], function () { return [{ type: i0.NgZone }, { type: i1.CasesService }, { type: i1.CaseNotifier }, { type: i2.Router }, { type: i3.AlertService }, { type: i2.ActivatedRoute }, { type: i4.CaseReferencePipe }, { type: i3.ActivityService }, { type: i3.ActivityPollingService }, { type: i3.ActivitySocketService }]; }, null); })();
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsV0FBVyxHQUNaLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0lDaEIvRCw4QkFBK0M7SUFDN0MsdUNBQXlGO0lBQ3pGLHdDQUsrQztJQURoQyx3TUFBc0IsME1BQUE7SUFDVSxpQkFBZ0I7SUFDakUsaUJBQU07OztJQVBlLGVBQThCO0lBQTlCLG1EQUE4QixtQkFBQTtJQUNsQyxlQUEyQjtJQUEzQixnREFBMkIsMkJBQUEsK0JBQUEscUNBQUE7O0FEb0I1QyxNQUFNLE9BQU8seUJBQXlCO0lBT3BDLFlBQ21CLE1BQWMsRUFDZCxZQUEwQixFQUMxQixZQUEwQixFQUMxQixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLHNCQUE4QyxFQUM5QyxxQkFBNEM7UUFUNUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFFL0QsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xEO2FBQU07WUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN6RSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVzthQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTO3FCQUNqQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3JCLElBQUksU0FBUyxFQUFFO3dCQUNiLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDL0Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTSxJQUFJLElBQUksS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtvQkFDakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BGLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUU7WUFDdEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sQ0FBQyxpQkFBZ0MsRUFBRSxFQUFFLENBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sQ0FBQyxpQkFBZ0MsRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUMxRCw4R0FBOEc7WUFDOUcsZ0hBQWdIO1lBQ2hILGdDQUFnQztZQUNoQyxJQUFJLHFCQUFnQyxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3pCLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7b0JBQ3ZDLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTt3QkFDZCxxQkFBcUIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUNyRyxpRUFBaUU7d0JBQ2pFLElBQUkscUJBQXFCLEVBQUU7NEJBQ3pCLE1BQU07eUJBQ1A7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUVELE9BQU8scUJBQXFCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7Z0JBQzdGLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUNWLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0YsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFVO1FBQ3pCLE1BQU0sV0FBVyxHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTTthQUNSLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVGLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLGFBQWEsaUNBQWlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHO3NCQUN0Ryw4Q0FBOEMsQ0FBQyxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsYUFBYSxpQ0FBaUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNsSDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xGLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O2tHQXpIVSx5QkFBeUI7OERBQXpCLHlCQUF5QjtRQ3RCdEMsMEVBUU07O1FBUkEseUNBQW9COzt1RkRzQmIseUJBQXlCO2NBSnJDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUsMkJBQTJCO2FBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgQWN0aXZpdHksIENhc2VFdmVudERhdGEsIENhc2VFdmVudFRyaWdnZXIsIENhc2VGaWVsZCwgQ2FzZVZpZXcgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLFxuICBBY3Rpdml0eVNlcnZpY2UsXG4gIEFjdGl2aXR5U29ja2V0U2VydmljZSxcbiAgQWxlcnRTZXJ2aWNlLFxuICBFdmVudFN0YXR1c1NlcnZpY2UsXG4gIEZpZWxkc1V0aWxzLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNT0RFUyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FjdGl2aXR5L3V0aWxzL2luZGV4JztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1ldmVudC10cmlnZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZXZlbnQtdHJpZ2dlci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDYXNlRXZlbnRUcmlnZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZXZlbnRUcmlnZ2VyOiBDYXNlRXZlbnRUcmlnZ2VyO1xuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgYWN0aXZpdHlTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHBhcmVudFVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VSZWZlcmVuY2VQaXBlOiBDYXNlUmVmZXJlbmNlUGlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlQb2xsaW5nU2VydmljZTogQWN0aXZpdHlQb2xsaW5nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5U29ja2V0U2VydmljZTogQWN0aXZpdHlTb2NrZXRTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnN1YnNjcmliZShjYXNlRGV0YWlscyA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5ldmVudFRyaWdnZXIgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZXZlbnRUcmlnZ2VyO1xuICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLm1vZGVTdWJqZWN0XG4gICAgICAucGlwZShmaWx0ZXIobW9kZSA9PiAhIW1vZGUpKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUobW9kZSA9PiB7XG4gICAgICAgIGlmIChBY3Rpdml0eVNvY2tldFNlcnZpY2UuU09DS0VUX01PREVTLmluZGV4T2YobW9kZSkgPiAtMSkge1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlTb2NrZXRTZXJ2aWNlLmNvbm5lY3RlZFxuICAgICAgICAgICAgLnN1YnNjcmliZShjb25uZWN0ZWQgPT4ge1xuICAgICAgICAgICAgICBpZiAoY29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpdml0eVNvY2tldFNlcnZpY2UuZWRpdENhc2UodGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gTU9ERVMucG9sbGluZykge1xuICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gPSB0aGlzLnBvc3RFZGl0QWN0aXZpdHkoKS5zdWJzY3JpYmUoKF9yZXNvbHZlZCkgPT4geyB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgdGhpcy5yb3V0ZS5wYXJlbnQudXJsLnN1YnNjcmliZShwYXRoID0+IHtcbiAgICAgIHRoaXMucGFyZW50VXJsID0gYC8ke3BhdGguam9pbignLycpfWA7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gJiYgdGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlICYmIHRoaXMuY2FzZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvc3RFZGl0QWN0aXZpdHkoKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5wb3N0RWRpdEFjdGl2aXR5KHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSkgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gKHNhbml0aXplZEVkaXRGb3JtOiBDYXNlRXZlbnREYXRhKSA9PlxuICAgICAgdGhpcy5jYXNlc1NlcnZpY2UuY3JlYXRlRXZlbnQodGhpcy5jYXNlRGV0YWlscywgc2FuaXRpemVkRWRpdEZvcm0pO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIEJ5cGFzcyB2YWxpZGF0aW9uIGlmIHRoZSBDYXNlRXZlbnREYXRhIGRhdGEgb2JqZWN0IGNvbnRhaW5zIGEgRmxhZ0xhdW5jaGVyIGZpZWxkOyB0aGlzIGZpZWxkIHR5cGUgY2Fubm90IGJlXG4gICAgICAvLyB2YWxpZGF0ZWQgbGlrZSByZWd1bGFyIGZpZWxkcy4gTmVlZCB0byBtYXRjaCB0aGlzIGZpZWxkIGlkIGFnYWluc3QgdGhhdCBvZiB0aGUgZGVmaW5lZCBGbGFnTGF1bmNoZXIgQ2FzZUZpZWxkXG4gICAgICAvLyAoaWYgaXQgZXhpc3RzIG9uIGFueSBDYXNlVGFiKVxuICAgICAgbGV0IGZsYWdMYXVuY2hlckNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICAgICAgaWYgKHRoaXMuY2FzZURldGFpbHMudGFicykge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYiBvZiB0aGlzLmNhc2VEZXRhaWxzLnRhYnMpIHtcbiAgICAgICAgICBpZiAodGFiLmZpZWxkcykge1xuICAgICAgICAgICAgZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGNhc2VGaWVsZCA9PiBGaWVsZHNVdGlscy5pc0ZsYWdMYXVuY2hlckNhc2VGaWVsZChjYXNlRmllbGQpKTtcbiAgICAgICAgICAgIC8vIFN0b3Agc2VhcmNoaW5nIGZvciBhIEZsYWdMYXVuY2hlciBmaWVsZCBhcyBzb29uIGFzIGl0IGlzIGZvdW5kXG4gICAgICAgICAgICBpZiAoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkICYmIHNhbml0aXplZEVkaXRGb3JtLmRhdGEuaGFzT3duUHJvcGVydHkoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkLmlkKVxuICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgIDogdGhpcy5jYXNlc1NlcnZpY2UudmFsaWRhdGVDYXNlKHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkLCBzYW5pdGl6ZWRFZGl0Rm9ybSwgcGFnZUlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VibWl0dGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFN0YXR1czogc3RyaW5nID0gZXZlbnRbJ3N0YXR1cyddO1xuICAgIHRoaXMucm91dGVyXG4gICAgICAubmF2aWdhdGUoW3RoaXMucGFyZW50VXJsXSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZVJlZmVyZW5jZSA9IHRoaXMuY2FzZVJlZmVyZW5jZVBpcGUudHJhbnNmb3JtKHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZC50b1N0cmluZygpKTtcbiAgICAgICAgaWYgKEV2ZW50U3RhdHVzU2VydmljZS5pc0luY29tcGxldGUoZXZlbnRTdGF0dXMpKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2FybmluZyhgQ2FzZSAjJHtjYXNlUmVmZXJlbmNlfSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggZXZlbnQ6ICR7dGhpcy5ldmVudFRyaWdnZXIubmFtZX0gYFxuICAgICAgICAgICAgKyBgYnV0IHRoZSBjYWxsYmFjayBzZXJ2aWNlIGNhbm5vdCBiZSBjb21wbGV0ZWRgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGBDYXNlICMke2Nhc2VSZWZlcmVuY2V9IGhhcyBiZWVuIHVwZGF0ZWQgd2l0aCBldmVudDogJHt0aGlzLmV2ZW50VHJpZ2dlci5uYW1lfWAsIHRydWUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKCdsaW5rQ2FzZXMnKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWRdKS50aGVuKCgpID0+IHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSAnTGlua2VkIGNhc2VzJztcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucGFyZW50VXJsXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGF0YUxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5ldmVudFRyaWdnZXIgJiYgdGhpcy5jYXNlRGV0YWlscyk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0RhdGFMb2FkZWQoKVwiIGNsYXNzPVwic2NyZWVuLTk5MFwiPlxuICA8Y2NkLWNhc2UtYWN0aXZpdHkgW2Nhc2VJZF09XCJjYXNlRGV0YWlscy5jYXNlX2lkXCIgW2ljb25Pbmx5XT1cImZhbHNlXCI+PC9jY2QtY2FzZS1hY3Rpdml0eT5cbiAgPGNjZC1jYXNlLWVkaXQgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgW3N1Ym1pdF09XCJzdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgIFt2YWxpZGF0ZV09XCJ2YWxpZGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgW2V2ZW50VHJpZ2dlcl09XCJldmVudFRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAoY2FuY2VsbGVkKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgICAgKHN1Ym1pdHRlZCk9XCJzdWJtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWNhc2UtZWRpdD5cbjwvZGl2PlxuIl19
146
+ }], function () { return [{ type: i0.NgZone }, { type: i1.CasesService }, { type: i1.CaseNotifier }, { type: i2.Router }, { type: i3.AlertService }, { type: i2.ActivatedRoute }, { type: i4.CaseReferencePipe }, { type: i3.ActivityPollingService }]; }, null); })();
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQWtFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNQL0QsOEJBQStDO0lBQzdDLGtDQUFtRjtJQUNuRix3Q0FLK0M7SUFEaEMsd01BQXNCLDBNQUFBO0lBQ1UsaUJBQWdCO0lBQ2pFLGlCQUFNOzs7SUFQVSxlQUE4QjtJQUE5QixtREFBOEIsOEJBQUE7SUFDN0IsZUFBMkI7SUFBM0IsZ0RBQTJCLDJCQUFB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RSx3QkFBd0I7Z0JBQ2xDLFdBQVcsRUFBRSwyQkFBMkI7YUFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEFjdGl2aXR5LCBDYXNlRXZlbnREYXRhLCBDYXNlRXZlbnRUcmlnZ2VyLCBDYXNlRmllbGQsIENhc2VWaWV3LCBEaXNwbGF5TW9kZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlUmVmZXJlbmNlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IEFjdGl2aXR5UG9sbGluZ1NlcnZpY2UsIEFsZXJ0U2VydmljZSwgRXZlbnRTdGF0dXNTZXJ2aWNlLCBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1ldmVudC10cmlnZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZXZlbnQtdHJpZ2dlci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDYXNlRXZlbnRUcmlnZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgQkFOTkVSID0gRGlzcGxheU1vZGUuQkFOTkVSO1xuICBwdWJsaWMgZXZlbnRUcmlnZ2VyOiBDYXNlRXZlbnRUcmlnZ2VyO1xuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgYWN0aXZpdHlTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHBhcmVudFVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VSZWZlcmVuY2VQaXBlOiBDYXNlUmVmZXJlbmNlUGlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5UG9sbGluZ1NlcnZpY2U6IEFjdGl2aXR5UG9sbGluZ1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKGNhc2VEZXRhaWxzID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50VHJpZ2dlciA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5ldmVudFRyaWdnZXI7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gPSB0aGlzLnBvc3RFZGl0QWN0aXZpdHkoKS5zdWJzY3JpYmUoKF9yZXNvbHZlZCkgPT4ge1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdQb3N0ZWQgRURJVCBhY3Rpdml0eSBhbmQgcmVzdWx0IGlzOiAnICsgSlNPTi5zdHJpbmdpZnkoX3Jlc29sdmVkKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMucm91dGUucGFyZW50LnVybC5zdWJzY3JpYmUocGF0aCA9PiB7XG4gICAgICB0aGlzLnBhcmVudFVybCA9IGAvJHtwYXRoLmpvaW4oJy8nKX1gO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uICYmIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSAmJiB0aGlzLmNhc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwb3N0RWRpdEFjdGl2aXR5KCk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UucG9zdEVkaXRBY3Rpdml0eSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQpO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEpID0+IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSkgPT5cbiAgICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZUV2ZW50KHRoaXMuY2FzZURldGFpbHMsIHNhbml0aXplZEVkaXRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBCeXBhc3MgdmFsaWRhdGlvbiBpZiB0aGUgQ2FzZUV2ZW50RGF0YSBkYXRhIG9iamVjdCBjb250YWlucyBhIEZsYWdMYXVuY2hlciBmaWVsZDsgdGhpcyBmaWVsZCB0eXBlIGNhbm5vdCBiZVxuICAgICAgLy8gdmFsaWRhdGVkIGxpa2UgcmVndWxhciBmaWVsZHMuIE5lZWQgdG8gbWF0Y2ggdGhpcyBmaWVsZCBpZCBhZ2FpbnN0IHRoYXQgb2YgdGhlIGRlZmluZWQgRmxhZ0xhdW5jaGVyIENhc2VGaWVsZFxuICAgICAgLy8gKGlmIGl0IGV4aXN0cyBvbiBhbnkgQ2FzZVRhYilcbiAgICAgIGxldCBmbGFnTGF1bmNoZXJDYXNlRmllbGQ6IENhc2VGaWVsZDtcbiAgICAgIGlmICh0aGlzLmNhc2VEZXRhaWxzLnRhYnMpIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWIgb2YgdGhpcy5jYXNlRGV0YWlscy50YWJzKSB7XG4gICAgICAgICAgaWYgKHRhYi5maWVsZHMpIHtcbiAgICAgICAgICAgIGZsYWdMYXVuY2hlckNhc2VGaWVsZCA9IHRhYi5maWVsZHMuZmluZChjYXNlRmllbGQgPT4gRmllbGRzVXRpbHMuaXNGbGFnTGF1bmNoZXJDYXNlRmllbGQoY2FzZUZpZWxkKSk7XG4gICAgICAgICAgICAvLyBTdG9wIHNlYXJjaGluZyBmb3IgYSBGbGFnTGF1bmNoZXIgZmllbGQgYXMgc29vbiBhcyBpdCBpcyBmb3VuZFxuICAgICAgICAgICAgaWYgKGZsYWdMYXVuY2hlckNhc2VGaWVsZCkge1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZsYWdMYXVuY2hlckNhc2VGaWVsZCAmJiBzYW5pdGl6ZWRFZGl0Rm9ybS5kYXRhLmhhc093blByb3BlcnR5KGZsYWdMYXVuY2hlckNhc2VGaWVsZC5pZClcbiAgICAgICAgPyBvZihudWxsKVxuICAgICAgICA6IHRoaXMuY2FzZXNTZXJ2aWNlLnZhbGlkYXRlQ2FzZSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5pZCwgc2FuaXRpemVkRWRpdEZvcm0sIHBhZ2VJZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN1Ym1pdHRlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRTdGF0dXM6IHN0cmluZyA9IGV2ZW50WydzdGF0dXMnXTtcbiAgICB0aGlzLnJvdXRlclxuICAgICAgLm5hdmlnYXRlKFt0aGlzLnBhcmVudFVybF0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VSZWZlcmVuY2UgPSB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQudG9TdHJpbmcoKSk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VtZW50cyA9IHsgQ0FTRVJFRkVSRU5DRTogY2FzZVJlZmVyZW5jZSwgTkFNRTogdGhpcy5ldmVudFRyaWdnZXIubmFtZSB9O1xuICAgICAgICBpZiAoRXZlbnRTdGF0dXNTZXJ2aWNlLmlzSW5jb21wbGV0ZShldmVudFN0YXR1cykpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuaW5nKHtcbiAgICAgICAgICAgIHBocmFzZTogYENhc2UgIyVDQVNFUkVGRVJFTkNFJSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggZXZlbnQ6ICVOQU1FJVxuICAgICAgICAgICAgYnV0IHRoZSBjYWxsYmFjayBzZXJ2aWNlIGNhbm5vdCBiZSBjb21wbGV0ZWRgLFxuICAgICAgICAgICAgcmVwbGFjZW1lbnRzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2Vzcyh7XG4gICAgICAgICAgICBwaHJhc2U6ICdDYXNlICMlQ0FTRVJFRkVSRU5DRSUgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIGV2ZW50OiAlTkFNRSUnLFxuICAgICAgICAgICAgcmVwbGFjZW1lbnRzLFxuICAgICAgICAgICAgcHJlc2VydmU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsICYmIHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnbGlua0Nhc2VzJykpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkXSkudGhlbigoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gJ0xpbmtlZCBjYXNlcyc7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnBhcmVudFVybF0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0RhdGFMb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMuZXZlbnRUcmlnZ2VyICYmIHRoaXMuY2FzZURldGFpbHMpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNEYXRhTG9hZGVkKClcIiBjbGFzcz1cInNjcmVlbi05OTBcIj5cbiAgPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cImNhc2VEZXRhaWxzLmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiQkFOTkVSXCI+PC9jY2QtYWN0aXZpdHk+XG4gIDxjY2QtY2FzZS1lZGl0IFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiXG4gICAgICAgICAgICAgICAgIFtzdWJtaXRdPVwic3VibWl0KClcIlxuICAgICAgICAgICAgICAgICBbdmFsaWRhdGVdPVwidmFsaWRhdGUoKVwiXG4gICAgICAgICAgICAgICAgIFtldmVudFRyaWdnZXJdPVwiZXZlbnRUcmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgKGNhbmNlbGxlZCk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgIChzdWJtaXR0ZWQpPVwic3VibWl0dGVkKCRldmVudClcIj48L2NjZC1jYXNlLWVkaXQ+XG48L2Rpdj5cbiJdfQ==