@hmcts/ccd-case-ui-toolkit 5.0.7-angular11-upgrade → 5.0.8-angular11-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 (305) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +21811 -14307
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +2 -2
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-editor/case-create/case-create.component.js +94 -0
  6. package/esm2015/lib/shared/components/case-editor/case-create/index.js +2 -0
  7. package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +113 -0
  8. package/esm2015/lib/shared/components/case-editor/case-edit/index.js +2 -0
  9. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +131 -0
  10. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/index.js +2 -0
  11. package/esm2015/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.js +146 -0
  12. package/esm2015/lib/shared/components/case-editor/case-edit-form/index.js +2 -0
  13. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page-text.enum.js +11 -0
  14. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +654 -0
  15. package/esm2015/lib/shared/components/case-editor/case-edit-page/index.js +2 -0
  16. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +759 -0
  17. package/esm2015/lib/shared/components/case-editor/case-edit-submit/index.js +2 -0
  18. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +185 -0
  19. package/esm2015/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.js +89 -0
  20. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +72 -0
  21. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +157 -0
  22. package/esm2015/lib/shared/components/case-editor/case-event-completion/index.js +4 -0
  23. package/esm2015/lib/shared/components/case-editor/case-progress/case-progress.component.js +85 -0
  24. package/esm2015/lib/shared/components/case-editor/case-progress/index.js +2 -0
  25. package/esm2015/lib/shared/components/case-editor/domain/event-completion-params.model.js +2 -0
  26. package/esm2015/lib/shared/components/case-editor/domain/event-completion-portal-types.model.js +6 -0
  27. package/esm2015/lib/shared/components/case-editor/editor.routing.js +31 -0
  28. package/esm2015/lib/shared/components/case-editor/index.js +13 -0
  29. package/esm2015/lib/shared/components/case-editor/services/case-edit-wizard.guard.js +92 -0
  30. package/esm2015/lib/shared/components/case-editor/services/convert-href-to-router.service.js +41 -0
  31. package/esm2015/lib/shared/components/case-editor/services/event-completion-state-machine.service.js +162 -0
  32. package/esm2015/lib/shared/components/case-editor/services/event-trigger.service.js +20 -0
  33. package/esm2015/lib/shared/components/case-editor/services/index.js +12 -0
  34. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +50 -0
  35. package/esm2015/lib/shared/components/case-editor/services/wizard-factory.service.js +7 -0
  36. package/esm2015/lib/shared/components/case-history/case-history.component.js +264 -0
  37. package/esm2015/lib/shared/components/case-history/case-history.module.js +52 -0
  38. package/esm2015/lib/shared/components/case-history/domain/case-history.model.js +28 -0
  39. package/esm2015/lib/shared/components/case-history/index.js +3 -0
  40. package/esm2015/lib/shared/components/case-history/services/case-history.service.js +40 -0
  41. package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +118 -0
  42. package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +46 -0
  43. package/esm2015/lib/shared/components/case-timeline/index.js +3 -0
  44. package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +195 -0
  45. package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/index.js +2 -0
  46. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +307 -0
  47. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/index.js +2 -0
  48. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/models/case-challenged-access-request.enum.js +20 -0
  49. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/models/index.js +2 -0
  50. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +64 -0
  51. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/index.js +2 -0
  52. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +120 -0
  53. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/index.js +2 -0
  54. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +545 -0
  55. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/index.js +2 -0
  56. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +63 -0
  57. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/index.js +2 -0
  58. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +258 -0
  59. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/index.js +2 -0
  60. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/models/case-review-specific-access-request.enum.js +18 -0
  61. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/models/index.js +2 -0
  62. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +195 -0
  63. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/index.js +2 -0
  64. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/models/case-specific-access-request.enum.js +11 -0
  65. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/models/index.js +2 -0
  66. package/esm2015/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.js +60 -0
  67. package/esm2015/lib/shared/components/case-viewer/case-specific-access-success/index.js +2 -0
  68. package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +100 -0
  69. package/esm2015/lib/shared/components/case-viewer/case-view/index.js +2 -0
  70. package/esm2015/lib/shared/components/case-viewer/case-viewer.component.js +129 -0
  71. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +155 -0
  72. package/esm2015/lib/shared/components/case-viewer/index.js +14 -0
  73. package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +111 -0
  74. package/esm2015/lib/shared/components/case-viewer/printer/index.js +4 -0
  75. package/esm2015/lib/shared/components/case-viewer/printer/pipes/index.js +2 -0
  76. package/esm2015/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.js +60 -0
  77. package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +110 -0
  78. package/esm2015/lib/shared/components/case-viewer/services/event-trigger.resolver.js +64 -0
  79. package/esm2015/lib/shared/components/case-viewer/services/index.js +3 -0
  80. package/esm2015/lib/shared/components/case-viewer/viewer.routing.js +127 -0
  81. package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +108 -0
  82. package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +35 -0
  83. package/esm2015/lib/shared/components/event-trigger/index.js +3 -0
  84. package/esm2015/lib/shared/components/index.js +5 -5
  85. package/esm2015/lib/shared/components/palette/complex/index.js +1 -7
  86. package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +2 -2
  87. package/esm2015/lib/shared/components/palette/palette.module.js +16 -27
  88. package/esm2015/lib/shared/components/search-result/index.js +3 -0
  89. package/esm2015/lib/shared/components/search-result/search-result.component.js +845 -0
  90. package/esm2015/lib/shared/components/search-result/search-result.module.js +67 -0
  91. package/esm2015/lib/shared/domain/case-view/role-request.model.js +1 -1
  92. package/esm2015/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.js +29 -0
  93. package/esm2015/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.js +29 -0
  94. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +154 -0
  95. package/esm2015/lib/shared/pipes/complex/ccd-tab-fields.pipe.js +31 -0
  96. package/esm2015/lib/shared/pipes/complex/cdd-page-fields.pipe.js +39 -0
  97. package/esm2015/lib/shared/pipes/complex/fields-filter.pipe.js +103 -0
  98. package/esm2015/lib/shared/pipes/complex/index.js +7 -0
  99. package/esm2015/lib/shared/pipes/index.js +3 -2
  100. package/esm2015/lib/shared/pipes/pipes.module.js +26 -9
  101. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +19417 -12703
  102. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  103. package/lib/shared/components/case-editor/case-create/case-create.component.d.ts +33 -0
  104. package/lib/shared/components/case-editor/case-create/case-create.component.d.ts.map +1 -0
  105. package/lib/shared/components/case-editor/case-create/index.d.ts +2 -0
  106. package/lib/shared/components/case-editor/case-create/index.d.ts.map +1 -0
  107. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +50 -0
  108. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -0
  109. package/lib/shared/components/case-editor/case-edit/index.d.ts +2 -0
  110. package/lib/shared/components/case-editor/case-edit/index.d.ts.map +1 -0
  111. package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts +26 -0
  112. package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts.map +1 -0
  113. package/lib/shared/components/case-editor/case-edit-confirm/index.d.ts +2 -0
  114. package/lib/shared/components/case-editor/case-edit-confirm/index.d.ts.map +1 -0
  115. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +26 -0
  116. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts.map +1 -0
  117. package/lib/shared/components/case-editor/case-edit-form/index.d.ts +2 -0
  118. package/lib/shared/components/case-editor/case-edit-form/index.d.ts.map +1 -0
  119. package/lib/shared/components/case-editor/case-edit-page/case-edit-page-text.enum.d.ts +10 -0
  120. package/lib/shared/components/case-editor/case-edit-page/case-edit-page-text.enum.d.ts.map +1 -0
  121. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +100 -0
  122. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -0
  123. package/lib/shared/components/case-editor/case-edit-page/index.d.ts +2 -0
  124. package/lib/shared/components/case-editor/case-edit-page/index.d.ts.map +1 -0
  125. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +123 -0
  126. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -0
  127. package/lib/shared/components/case-editor/case-edit-submit/index.d.ts +2 -0
  128. package/lib/shared/components/case-editor/case-edit-submit/index.d.ts.map +1 -0
  129. package/lib/shared/components/case-editor/case-editor.module.d.ts +27 -0
  130. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -0
  131. package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts +31 -0
  132. package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts.map +1 -0
  133. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts +11 -0
  134. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -0
  135. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts +32 -0
  136. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -0
  137. package/lib/shared/components/case-editor/case-event-completion/index.d.ts +4 -0
  138. package/lib/shared/components/case-editor/case-event-completion/index.d.ts.map +1 -0
  139. package/lib/shared/components/case-editor/case-progress/case-progress.component.d.ts +30 -0
  140. package/lib/shared/components/case-editor/case-progress/case-progress.component.d.ts.map +1 -0
  141. package/lib/shared/components/case-editor/case-progress/index.d.ts +2 -0
  142. package/lib/shared/components/case-editor/case-progress/index.d.ts.map +1 -0
  143. package/lib/shared/components/case-editor/domain/event-completion-params.model.d.ts +7 -0
  144. package/lib/shared/components/case-editor/domain/event-completion-params.model.d.ts.map +1 -0
  145. package/lib/shared/components/case-editor/domain/event-completion-portal-types.model.d.ts +5 -0
  146. package/lib/shared/components/case-editor/domain/event-completion-portal-types.model.d.ts.map +1 -0
  147. package/lib/shared/components/case-editor/editor.routing.d.ts +3 -0
  148. package/lib/shared/components/case-editor/editor.routing.d.ts.map +1 -0
  149. package/lib/shared/components/case-editor/index.d.ts +13 -0
  150. package/lib/shared/components/case-editor/index.d.ts.map +1 -0
  151. package/lib/shared/components/case-editor/services/case-edit-wizard.guard.d.ts +23 -0
  152. package/lib/shared/components/case-editor/services/case-edit-wizard.guard.d.ts.map +1 -0
  153. package/lib/shared/components/case-editor/services/convert-href-to-router.service.d.ts +14 -0
  154. package/lib/shared/components/case-editor/services/convert-href-to-router.service.d.ts.map +1 -0
  155. package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts +33 -0
  156. package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts.map +1 -0
  157. package/lib/shared/components/case-editor/services/event-trigger.service.d.ts +10 -0
  158. package/lib/shared/components/case-editor/services/event-trigger.service.d.ts.map +1 -0
  159. package/lib/shared/components/case-editor/services/index.d.ts +12 -0
  160. package/lib/shared/components/case-editor/services/index.d.ts.map +1 -0
  161. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +17 -0
  162. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -0
  163. package/lib/shared/components/case-editor/services/wizard-factory.service.d.ts +6 -0
  164. package/lib/shared/components/case-editor/services/wizard-factory.service.d.ts.map +1 -0
  165. package/lib/shared/components/case-history/case-history.component.d.ts +33 -0
  166. package/lib/shared/components/case-history/case-history.component.d.ts.map +1 -0
  167. package/lib/shared/components/case-history/case-history.module.d.ts +14 -0
  168. package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -0
  169. package/lib/shared/components/case-history/domain/case-history.model.d.ts +16 -0
  170. package/lib/shared/components/case-history/domain/case-history.model.d.ts.map +1 -0
  171. package/lib/shared/components/case-history/index.d.ts +3 -0
  172. package/lib/shared/components/case-history/index.d.ts.map +1 -0
  173. package/lib/shared/components/case-history/services/case-history.service.d.ts +17 -0
  174. package/lib/shared/components/case-history/services/case-history.service.d.ts.map +1 -0
  175. package/lib/shared/components/case-timeline/case-timeline.component.d.ts +27 -0
  176. package/lib/shared/components/case-timeline/case-timeline.component.d.ts.map +1 -0
  177. package/lib/shared/components/case-timeline/case-timeline.module.d.ts +13 -0
  178. package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -0
  179. package/lib/shared/components/case-timeline/index.d.ts +3 -0
  180. package/lib/shared/components/case-timeline/index.d.ts.map +1 -0
  181. package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts +19 -0
  182. package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts.map +1 -0
  183. package/lib/shared/components/case-viewer/case-basic-access-view/index.d.ts +2 -0
  184. package/lib/shared/components/case-viewer/case-basic-access-view/index.d.ts.map +1 -0
  185. package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts +40 -0
  186. package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts.map +1 -0
  187. package/lib/shared/components/case-viewer/case-challenged-access-request/index.d.ts +2 -0
  188. package/lib/shared/components/case-viewer/case-challenged-access-request/index.d.ts.map +1 -0
  189. package/lib/shared/components/case-viewer/case-challenged-access-request/models/case-challenged-access-request.enum.d.ts +17 -0
  190. package/lib/shared/components/case-viewer/case-challenged-access-request/models/case-challenged-access-request.enum.d.ts.map +1 -0
  191. package/lib/shared/components/case-viewer/case-challenged-access-request/models/index.d.ts +2 -0
  192. package/lib/shared/components/case-viewer/case-challenged-access-request/models/index.d.ts.map +1 -0
  193. package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts +12 -0
  194. package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts.map +1 -0
  195. package/lib/shared/components/case-viewer/case-challenged-access-success/index.d.ts +2 -0
  196. package/lib/shared/components/case-viewer/case-challenged-access-success/index.d.ts.map +1 -0
  197. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +41 -0
  198. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -0
  199. package/lib/shared/components/case-viewer/case-event-trigger/index.d.ts +2 -0
  200. package/lib/shared/components/case-viewer/case-event-trigger/index.d.ts.map +1 -0
  201. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +90 -0
  202. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -0
  203. package/lib/shared/components/case-viewer/case-full-access-view/index.d.ts +2 -0
  204. package/lib/shared/components/case-viewer/case-full-access-view/index.d.ts.map +1 -0
  205. package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts +14 -0
  206. package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts.map +1 -0
  207. package/lib/shared/components/case-viewer/case-review-specific-access-reject/index.d.ts +2 -0
  208. package/lib/shared/components/case-viewer/case-review-specific-access-reject/index.d.ts.map +1 -0
  209. package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts +49 -0
  210. package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts.map +1 -0
  211. package/lib/shared/components/case-viewer/case-review-specific-access-request/index.d.ts +2 -0
  212. package/lib/shared/components/case-viewer/case-review-specific-access-request/index.d.ts.map +1 -0
  213. package/lib/shared/components/case-viewer/case-review-specific-access-request/models/case-review-specific-access-request.enum.d.ts +15 -0
  214. package/lib/shared/components/case-viewer/case-review-specific-access-request/models/case-review-specific-access-request.enum.d.ts.map +1 -0
  215. package/lib/shared/components/case-viewer/case-review-specific-access-request/models/index.d.ts +2 -0
  216. package/lib/shared/components/case-viewer/case-review-specific-access-request/models/index.d.ts.map +1 -0
  217. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts +33 -0
  218. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts.map +1 -0
  219. package/lib/shared/components/case-viewer/case-specific-access-request/index.d.ts +2 -0
  220. package/lib/shared/components/case-viewer/case-specific-access-request/index.d.ts.map +1 -0
  221. package/lib/shared/components/case-viewer/case-specific-access-request/models/case-specific-access-request.enum.d.ts +9 -0
  222. package/lib/shared/components/case-viewer/case-specific-access-request/models/case-specific-access-request.enum.d.ts.map +1 -0
  223. package/lib/shared/components/case-viewer/case-specific-access-request/models/index.d.ts +2 -0
  224. package/lib/shared/components/case-viewer/case-specific-access-request/models/index.d.ts.map +1 -0
  225. package/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.d.ts +12 -0
  226. package/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.d.ts.map +1 -0
  227. package/lib/shared/components/case-viewer/case-specific-access-success/index.d.ts +2 -0
  228. package/lib/shared/components/case-viewer/case-specific-access-success/index.d.ts.map +1 -0
  229. package/lib/shared/components/case-viewer/case-view/case-view.component.d.ts +32 -0
  230. package/lib/shared/components/case-viewer/case-view/case-view.component.d.ts.map +1 -0
  231. package/lib/shared/components/case-viewer/case-view/index.d.ts +2 -0
  232. package/lib/shared/components/case-viewer/case-view/index.d.ts.map +1 -0
  233. package/lib/shared/components/case-viewer/case-viewer.component.d.ts +32 -0
  234. package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -0
  235. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +36 -0
  236. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -0
  237. package/lib/shared/components/case-viewer/index.d.ts +14 -0
  238. package/lib/shared/components/case-viewer/index.d.ts.map +1 -0
  239. package/lib/shared/components/case-viewer/printer/case-printer.component.d.ts +24 -0
  240. package/lib/shared/components/case-viewer/printer/case-printer.component.d.ts.map +1 -0
  241. package/lib/shared/components/case-viewer/printer/index.d.ts +4 -0
  242. package/lib/shared/components/case-viewer/printer/index.d.ts.map +1 -0
  243. package/lib/shared/components/case-viewer/printer/pipes/index.d.ts +2 -0
  244. package/lib/shared/components/case-viewer/printer/pipes/index.d.ts.map +1 -0
  245. package/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.d.ts +24 -0
  246. package/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.d.ts.map +1 -0
  247. package/lib/shared/components/case-viewer/services/case.resolver.d.ts +29 -0
  248. package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -0
  249. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts +26 -0
  250. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -0
  251. package/lib/shared/components/case-viewer/services/index.d.ts +3 -0
  252. package/lib/shared/components/case-viewer/services/index.d.ts.map +1 -0
  253. package/lib/shared/components/case-viewer/viewer.routing.d.ts +3 -0
  254. package/lib/shared/components/case-viewer/viewer.routing.d.ts.map +1 -0
  255. package/lib/shared/components/event-trigger/event-trigger.component.d.ts +24 -0
  256. package/lib/shared/components/event-trigger/event-trigger.component.d.ts.map +1 -0
  257. package/lib/shared/components/event-trigger/event-trigger.module.d.ts +11 -0
  258. package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -0
  259. package/lib/shared/components/event-trigger/index.d.ts +3 -0
  260. package/lib/shared/components/event-trigger/index.d.ts.map +1 -0
  261. package/lib/shared/components/index.d.ts +4 -0
  262. package/lib/shared/components/index.d.ts.map +1 -1
  263. package/lib/shared/components/palette/complex/index.d.ts +0 -6
  264. package/lib/shared/components/palette/complex/index.d.ts.map +1 -1
  265. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts.map +1 -1
  266. package/lib/shared/components/palette/palette.module.d.ts +87 -93
  267. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  268. package/lib/shared/components/search-result/index.d.ts +3 -0
  269. package/lib/shared/components/search-result/index.d.ts.map +1 -0
  270. package/lib/shared/components/search-result/search-result.component.d.ts +111 -0
  271. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -0
  272. package/lib/shared/components/search-result/search-result.module.d.ts +16 -0
  273. package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -0
  274. package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
  275. package/lib/shared/{components/palette → pipes}/complex/ccd-collection-table-value-case-fields.pipe.d.ts +1 -1
  276. package/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.d.ts.map +1 -0
  277. package/lib/shared/{components/palette → pipes}/complex/ccd-cyapage-label-filter.pipe.d.ts +1 -1
  278. package/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.d.ts.map +1 -0
  279. package/lib/shared/{components/palette → pipes}/complex/ccd-read-fields-filter.pipe.d.ts +1 -1
  280. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -0
  281. package/lib/shared/{components/palette → pipes}/complex/ccd-tab-fields.pipe.d.ts +2 -2
  282. package/lib/shared/pipes/complex/ccd-tab-fields.pipe.d.ts.map +1 -0
  283. package/lib/shared/{components/palette → pipes}/complex/cdd-page-fields.pipe.d.ts +2 -2
  284. package/lib/shared/pipes/complex/cdd-page-fields.pipe.d.ts.map +1 -0
  285. package/lib/shared/{components/palette → pipes}/complex/fields-filter.pipe.d.ts +1 -1
  286. package/lib/shared/pipes/complex/fields-filter.pipe.d.ts.map +1 -0
  287. package/lib/shared/pipes/complex/index.d.ts +7 -0
  288. package/lib/shared/pipes/complex/index.d.ts.map +1 -0
  289. package/lib/shared/pipes/index.d.ts +2 -1
  290. package/lib/shared/pipes/index.d.ts.map +1 -1
  291. package/lib/shared/pipes/pipes.module.d.ts +7 -2
  292. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  293. package/package.json +1 -1
  294. package/esm2015/lib/shared/components/palette/complex/ccd-collection-table-value-case-fields.pipe.js +0 -29
  295. package/esm2015/lib/shared/components/palette/complex/ccd-cyapage-label-filter.pipe.js +0 -29
  296. package/esm2015/lib/shared/components/palette/complex/ccd-read-fields-filter.pipe.js +0 -154
  297. package/esm2015/lib/shared/components/palette/complex/ccd-tab-fields.pipe.js +0 -31
  298. package/esm2015/lib/shared/components/palette/complex/cdd-page-fields.pipe.js +0 -39
  299. package/esm2015/lib/shared/components/palette/complex/fields-filter.pipe.js +0 -103
  300. package/lib/shared/components/palette/complex/ccd-collection-table-value-case-fields.pipe.d.ts.map +0 -1
  301. package/lib/shared/components/palette/complex/ccd-cyapage-label-filter.pipe.d.ts.map +0 -1
  302. package/lib/shared/components/palette/complex/ccd-read-fields-filter.pipe.d.ts.map +0 -1
  303. package/lib/shared/components/palette/complex/ccd-tab-fields.pipe.d.ts.map +0 -1
  304. package/lib/shared/components/palette/complex/cdd-page-fields.pipe.d.ts.map +0 -1
  305. package/lib/shared/components/palette/complex/fields-filter.pipe.d.ts.map +0 -1
@@ -0,0 +1,545 @@
1
+ import { Location } from '@angular/common';
2
+ import { Component, Input, NgZone, ViewChild } from '@angular/core';
3
+ import { FormControl, FormGroup } from '@angular/forms';
4
+ import { MatDialog } from '@angular/material/dialog';
5
+ import { MatTabGroup } from '@angular/material/tabs';
6
+ import { ActivatedRoute, Router } from '@angular/router';
7
+ import { plainToClass } from 'class-transformer';
8
+ import { Subject } from 'rxjs';
9
+ import { initDialog } from '../../../components/helpers/init-dialog-helper';
10
+ import { ShowCondition } from '../../../directives/conditional-show/domain/conditional-show.model';
11
+ import { DisplayMode } from '../../../domain/activity/activity.model';
12
+ import { CaseViewTrigger } from '../../../domain/case-view/case-view-trigger.model';
13
+ import { CaseView } from '../../../domain/case-view/case-view.model';
14
+ import { CaseField } from '../../../domain/definition/case-field.model';
15
+ import { Draft, DRAFT_QUERY_PARAM } from '../../../domain/draft.model';
16
+ import { ActivityPollingService } from '../../../services/activity/activity.polling.service';
17
+ import { AlertService } from '../../../services/alert/alert.service';
18
+ import { DraftService } from '../../../services/draft/draft.service';
19
+ import { ErrorNotifierService } from '../../../services/error/error-notifier.service';
20
+ import { NavigationNotifierService } from '../../../services/navigation/navigation-notifier.service';
21
+ import { NavigationOrigin } from '../../../services/navigation/navigation-origin.model';
22
+ import { OrderService } from '../../../services/order/order.service';
23
+ import { ConvertHrefToRouterService } from '../../case-editor/services/convert-href-to-router.service';
24
+ import { DeleteOrCancelDialogComponent } from '../../dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component';
25
+ import * as i0 from "@angular/core";
26
+ import * as i1 from "@angular/router";
27
+ import * as i2 from "../../../services/navigation/navigation-notifier.service";
28
+ import * as i3 from "../../../services/order/order.service";
29
+ import * as i4 from "../../../services/activity/activity.polling.service";
30
+ import * as i5 from "@angular/material/dialog";
31
+ import * as i6 from "../../../services/alert/alert.service";
32
+ import * as i7 from "../../../services/draft/draft.service";
33
+ import * as i8 from "../../../services/error/error-notifier.service";
34
+ import * as i9 from "../../case-editor/services/convert-href-to-router.service";
35
+ import * as i10 from "@angular/common";
36
+ import * as i11 from "../../error/callback-errors.component";
37
+ import * as i12 from "../../activity/activity.component";
38
+ import * as i13 from "../../case-header/case-header.component";
39
+ import * as i14 from "../../event-trigger/event-trigger.component";
40
+ import * as i15 from "@angular/material/tabs";
41
+ import * as i16 from "../../../directives/substitutor/label-substitutor.directive";
42
+ import * as i17 from "../../palette/base-field/field-read.component";
43
+ import * as i18 from "../../../pipes/complex/ccd-read-fields-filter.pipe";
44
+ import * as i19 from "../../../pipes/complex/ccd-tab-fields.pipe";
45
+ import * as i20 from "../../palette/utils/is-compound.pipe";
46
+ const _c0 = ["tabGroup"];
47
+ function CaseFullAccessViewComponent_div_0_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "div", 10);
49
+ i0.ɵɵelementStart(1, "h1", 11);
50
+ i0.ɵɵtext(2, " Something went wrong ");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementStart(3, "div", 12);
53
+ i0.ɵɵelementStart(4, "p");
54
+ i0.ɵɵtext(5, "We're working to fix the problem. Try again shortly.");
55
+ i0.ɵɵelementEnd();
56
+ i0.ɵɵelementStart(6, "p");
57
+ i0.ɵɵelementStart(7, "a", 13);
58
+ i0.ɵɵtext(8, "Contact us");
59
+ i0.ɵɵelementEnd();
60
+ i0.ɵɵtext(9, " if you're still having problems.");
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵelementEnd();
63
+ i0.ɵɵelementEnd();
64
+ } }
65
+ function CaseFullAccessViewComponent_div_1_ul_5_li_1_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "li");
67
+ i0.ɵɵtext(1);
68
+ i0.ɵɵelementEnd();
69
+ } if (rf & 2) {
70
+ const fieldError_r7 = ctx.$implicit;
71
+ i0.ɵɵadvance(1);
72
+ i0.ɵɵtextInterpolate1(" ", fieldError_r7.message, " ");
73
+ } }
74
+ function CaseFullAccessViewComponent_div_1_ul_5_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelementStart(0, "ul", 16);
76
+ i0.ɵɵtemplate(1, CaseFullAccessViewComponent_div_1_ul_5_li_1_Template, 2, 1, "li", 17);
77
+ i0.ɵɵelementEnd();
78
+ } if (rf & 2) {
79
+ const ctx_r5 = i0.ɵɵnextContext(2);
80
+ i0.ɵɵadvance(1);
81
+ i0.ɵɵproperty("ngForOf", ctx_r5.error.details.field_errors);
82
+ } }
83
+ function CaseFullAccessViewComponent_div_1_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "div", 10);
85
+ i0.ɵɵelementStart(1, "h2", 14);
86
+ i0.ɵɵtext(2, " The callback data failed validation ");
87
+ i0.ɵɵelementEnd();
88
+ i0.ɵɵelementStart(3, "p");
89
+ i0.ɵɵtext(4);
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵtemplate(5, CaseFullAccessViewComponent_div_1_ul_5_Template, 2, 1, "ul", 15);
92
+ i0.ɵɵelementEnd();
93
+ } if (rf & 2) {
94
+ const ctx_r1 = i0.ɵɵnextContext();
95
+ i0.ɵɵadvance(4);
96
+ i0.ɵɵtextInterpolate(ctx_r1.error.message);
97
+ i0.ɵɵadvance(1);
98
+ i0.ɵɵproperty("ngIf", ctx_r1.error.details == null ? null : ctx_r1.error.details.field_errors);
99
+ } }
100
+ function CaseFullAccessViewComponent_div_7_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelementStart(0, "div", 18);
102
+ i0.ɵɵelementStart(1, "a", 19);
103
+ i0.ɵɵtext(2, "Print");
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵelementEnd();
106
+ } }
107
+ function CaseFullAccessViewComponent_div_8_Template(rf, ctx) { if (rf & 1) {
108
+ const _r9 = i0.ɵɵgetCurrentView();
109
+ i0.ɵɵelementStart(0, "div", 4);
110
+ i0.ɵɵelementStart(1, "ccd-event-trigger", 20);
111
+ i0.ɵɵlistener("onTriggerChange", function CaseFullAccessViewComponent_div_8_Template_ccd_event_trigger_onTriggerChange_1_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.clearErrorsAndWarnings(); })("onTriggerSubmit", function CaseFullAccessViewComponent_div_8_Template_ccd_event_trigger_onTriggerSubmit_1_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.applyTrigger($event); });
112
+ i0.ɵɵelementEnd();
113
+ i0.ɵɵelementEnd();
114
+ } if (rf & 2) {
115
+ const ctx_r3 = i0.ɵɵnextContext();
116
+ i0.ɵɵadvance(1);
117
+ i0.ɵɵproperty("isDisabled", ctx_r3.isTriggerButtonDisabled())("triggers", ctx_r3.caseDetails.triggers)("triggerText", ctx_r3.triggerText);
118
+ } }
119
+ function CaseFullAccessViewComponent_ng_container_11_mat_tab_3_Template(rf, ctx) { if (rf & 1) {
120
+ i0.ɵɵelement(0, "mat-tab", 24);
121
+ } if (rf & 2) {
122
+ const tab_r16 = ctx.$implicit;
123
+ i0.ɵɵproperty("id", tab_r16.id)("label", tab_r16.label);
124
+ } }
125
+ function CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_ng_container_2_tr_4_Template(rf, ctx) { if (rf & 1) {
126
+ i0.ɵɵelementStart(0, "tr");
127
+ i0.ɵɵelementStart(1, "th");
128
+ i0.ɵɵelementStart(2, "div", 31);
129
+ i0.ɵɵtext(3);
130
+ i0.ɵɵelementEnd();
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementStart(4, "td");
133
+ i0.ɵɵelementStart(5, "span", 32);
134
+ i0.ɵɵelement(6, "ccd-field-read", 33);
135
+ i0.ɵɵelementEnd();
136
+ i0.ɵɵelementEnd();
137
+ i0.ɵɵelementEnd();
138
+ } if (rf & 2) {
139
+ const field_r21 = i0.ɵɵnextContext().$implicit;
140
+ const ctx_r22 = i0.ɵɵnextContext(4);
141
+ i0.ɵɵadvance(3);
142
+ i0.ɵɵtextInterpolate(field_r21.label);
143
+ i0.ɵɵadvance(3);
144
+ i0.ɵɵproperty("topLevelFormGroup", ctx_r22.formGroup.controls["data"])("caseField", field_r21)("caseReference", ctx_r22.caseDetails.case_id)("markdownUseHrefAsRouterLink", ctx_r22.markdownUseHrefAsRouterLink);
145
+ } }
146
+ function CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_ng_container_2_tr_5_Template(rf, ctx) { if (rf & 1) {
147
+ i0.ɵɵelementStart(0, "tr", 34);
148
+ i0.ɵɵelementStart(1, "th");
149
+ i0.ɵɵelementStart(2, "span", 32);
150
+ i0.ɵɵelement(3, "ccd-field-read", 33);
151
+ i0.ɵɵelementEnd();
152
+ i0.ɵɵelementEnd();
153
+ i0.ɵɵelementEnd();
154
+ } if (rf & 2) {
155
+ const field_r21 = i0.ɵɵnextContext().$implicit;
156
+ const ctx_r23 = i0.ɵɵnextContext(4);
157
+ i0.ɵɵadvance(3);
158
+ i0.ɵɵproperty("topLevelFormGroup", ctx_r23.formGroup.controls["data"])("caseField", field_r21)("caseReference", ctx_r23.caseDetails.case_id)("markdownUseHrefAsRouterLink", ctx_r23.markdownUseHrefAsRouterLink);
159
+ } }
160
+ function CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
161
+ i0.ɵɵelementContainerStart(0);
162
+ i0.ɵɵelementStart(1, "div", 27);
163
+ i0.ɵɵelementContainerStart(2, 28);
164
+ i0.ɵɵpipe(3, "ccdIsCompound");
165
+ i0.ɵɵtemplate(4, CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_ng_container_2_tr_4_Template, 7, 5, "tr", 29);
166
+ i0.ɵɵtemplate(5, CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_ng_container_2_tr_5_Template, 4, 4, "tr", 30);
167
+ i0.ɵɵelementContainerEnd();
168
+ i0.ɵɵelementEnd();
169
+ i0.ɵɵelementContainerEnd();
170
+ } if (rf & 2) {
171
+ const field_r21 = ctx.$implicit;
172
+ const ctx_r20 = i0.ɵɵnextContext(4);
173
+ i0.ɵɵadvance(1);
174
+ i0.ɵɵproperty("caseField", field_r21)("contextFields", ctx_r20.caseFields)("hidden", field_r21.hidden);
175
+ i0.ɵɵadvance(1);
176
+ i0.ɵɵproperty("ngSwitch", !i0.ɵɵpipeBind1(3, 6, field_r21));
177
+ i0.ɵɵadvance(2);
178
+ i0.ɵɵproperty("ngSwitchCase", true);
179
+ i0.ɵɵadvance(1);
180
+ i0.ɵɵproperty("ngSwitchCase", false);
181
+ } }
182
+ const _c1 = function (a0, a4) { return [a0, false, undefined, true, a4]; };
183
+ function CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelementStart(0, "table", 26);
185
+ i0.ɵɵelementStart(1, "tbody");
186
+ i0.ɵɵtemplate(2, CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_ng_container_2_Template, 6, 8, "ng-container", 17);
187
+ i0.ɵɵpipe(3, "ccdReadFieldsFilter");
188
+ i0.ɵɵpipe(4, "ccdTabFields");
189
+ i0.ɵɵelementEnd();
190
+ i0.ɵɵelementEnd();
191
+ } if (rf & 2) {
192
+ const tab_r17 = i0.ɵɵnextContext().$implicit;
193
+ const ctx_r19 = i0.ɵɵnextContext(2);
194
+ i0.ɵɵclassMap(tab_r17.id);
195
+ i0.ɵɵadvance(2);
196
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(3, 3, i0.ɵɵpureFunction2(11, _c1, i0.ɵɵpipeBind1(4, 9, tab_r17), ctx_r19.formGroup.controls["data"])));
197
+ } }
198
+ function CaseFullAccessViewComponent_ng_container_11_mat_tab_4_Template(rf, ctx) { if (rf & 1) {
199
+ i0.ɵɵelementStart(0, "mat-tab", 24);
200
+ i0.ɵɵtemplate(1, CaseFullAccessViewComponent_ng_container_11_mat_tab_4_ng_template_1_Template, 5, 14, "ng-template", 25);
201
+ i0.ɵɵelementEnd();
202
+ } if (rf & 2) {
203
+ const tab_r17 = ctx.$implicit;
204
+ i0.ɵɵproperty("id", tab_r17.id)("label", tab_r17.label);
205
+ } }
206
+ function CaseFullAccessViewComponent_ng_container_11_mat_tab_5_Template(rf, ctx) { if (rf & 1) {
207
+ i0.ɵɵelement(0, "mat-tab", 24);
208
+ } if (rf & 2) {
209
+ const tab_r27 = ctx.$implicit;
210
+ i0.ɵɵproperty("id", tab_r27.id)("label", tab_r27.label);
211
+ } }
212
+ function CaseFullAccessViewComponent_ng_container_11_router_outlet_6_Template(rf, ctx) { if (rf & 1) {
213
+ i0.ɵɵelement(0, "router-outlet");
214
+ } }
215
+ function CaseFullAccessViewComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
216
+ const _r29 = i0.ɵɵgetCurrentView();
217
+ i0.ɵɵelementContainerStart(0);
218
+ i0.ɵɵelementStart(1, "mat-tab-group", 21, 22);
219
+ i0.ɵɵlistener("selectedTabChange", function CaseFullAccessViewComponent_ng_container_11_Template_mat_tab_group_selectedTabChange_1_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(); return ctx_r28.tabChanged($event); });
220
+ i0.ɵɵtemplate(3, CaseFullAccessViewComponent_ng_container_11_mat_tab_3_Template, 1, 2, "mat-tab", 23);
221
+ i0.ɵɵtemplate(4, CaseFullAccessViewComponent_ng_container_11_mat_tab_4_Template, 2, 2, "mat-tab", 23);
222
+ i0.ɵɵtemplate(5, CaseFullAccessViewComponent_ng_container_11_mat_tab_5_Template, 1, 2, "mat-tab", 23);
223
+ i0.ɵɵelementEnd();
224
+ i0.ɵɵtemplate(6, CaseFullAccessViewComponent_ng_container_11_router_outlet_6_Template, 1, 0, "router-outlet", 9);
225
+ i0.ɵɵelementContainerEnd();
226
+ } if (rf & 2) {
227
+ const ctx_r4 = i0.ɵɵnextContext();
228
+ i0.ɵɵadvance(1);
229
+ i0.ɵɵproperty("disableRipple", true);
230
+ i0.ɵɵadvance(2);
231
+ i0.ɵɵproperty("ngForOf", ctx_r4.prependedTabs);
232
+ i0.ɵɵadvance(1);
233
+ i0.ɵɵproperty("ngForOf", ctx_r4.sortedTabs);
234
+ i0.ɵɵadvance(1);
235
+ i0.ɵɵproperty("ngForOf", ctx_r4.appendedTabs);
236
+ i0.ɵɵadvance(1);
237
+ i0.ɵɵproperty("ngIf", ctx_r4.prependedTabs && ctx_r4.prependedTabs.length || ctx_r4.appendedTabs && ctx_r4.appendedTabs.length);
238
+ } }
239
+ export class CaseFullAccessViewComponent {
240
+ constructor(ngZone, route, router, navigationNotifierService, orderService, activityPollingService, dialog, alertService, draftService, errorNotifierService, convertHrefToRouterService, location) {
241
+ this.ngZone = ngZone;
242
+ this.route = route;
243
+ this.router = router;
244
+ this.navigationNotifierService = navigationNotifierService;
245
+ this.orderService = orderService;
246
+ this.activityPollingService = activityPollingService;
247
+ this.dialog = dialog;
248
+ this.alertService = alertService;
249
+ this.draftService = draftService;
250
+ this.errorNotifierService = errorNotifierService;
251
+ this.convertHrefToRouterService = convertHrefToRouterService;
252
+ this.location = location;
253
+ this.hasPrint = true;
254
+ this.hasEventSelector = true;
255
+ this.prependedTabs = [];
256
+ this.appendedTabs = [];
257
+ this.BANNER = DisplayMode.BANNER;
258
+ this.triggerTextStart = CaseFullAccessViewComponent.TRIGGER_TEXT_START;
259
+ this.triggerTextIgnoreWarnings = CaseFullAccessViewComponent.TRIGGER_TEXT_CONTINUE;
260
+ this.triggerText = CaseFullAccessViewComponent.TRIGGER_TEXT_START;
261
+ this.ignoreWarning = false;
262
+ this.callbackErrorsSubject = new Subject();
263
+ }
264
+ ngOnInit() {
265
+ this.dialogConfig = initDialog();
266
+ this.init();
267
+ this.callbackErrorsSubject.subscribe(errorEvent => {
268
+ this.error = errorEvent;
269
+ });
270
+ this.errorSubscription = this.errorNotifierService.error.subscribe(error => {
271
+ if (error && error.status !== 401 && error.status !== 403) {
272
+ this.error = error;
273
+ this.callbackErrorsSubject.next(this.error);
274
+ }
275
+ });
276
+ this.markdownUseHrefAsRouterLink = true;
277
+ this.subscription = this.convertHrefToRouterService.getHrefMarkdownLinkContent().subscribe((hrefMarkdownLinkContent) => {
278
+ // do not convert router with initial default value; convert to router only on updated link content
279
+ if (hrefMarkdownLinkContent !== 'Default') {
280
+ this.convertHrefToRouterService.callAngularRouter(hrefMarkdownLinkContent);
281
+ }
282
+ });
283
+ }
284
+ isPrintEnabled() {
285
+ return this.caseDetails.case_type.printEnabled;
286
+ }
287
+ ngOnDestroy() {
288
+ if (this.activitySubscription && this.activityPollingService.isEnabled) {
289
+ this.activitySubscription.unsubscribe();
290
+ }
291
+ if (this.callbackErrorsSubject) {
292
+ this.callbackErrorsSubject.unsubscribe();
293
+ }
294
+ if (!this.route.snapshot.data.case && this.caseSubscription) {
295
+ this.caseSubscription.unsubscribe();
296
+ }
297
+ if (this.errorSubscription) {
298
+ this.errorSubscription.unsubscribe();
299
+ }
300
+ if (this.subscription) {
301
+ this.subscription.unsubscribe();
302
+ }
303
+ }
304
+ postViewActivity() {
305
+ return this.activityPollingService.postViewActivity(this.caseDetails.case_id);
306
+ }
307
+ clearErrorsAndWarnings() {
308
+ this.resetErrors();
309
+ this.ignoreWarning = false;
310
+ this.triggerText = CaseFullAccessViewComponent.TRIGGER_TEXT_START;
311
+ }
312
+ applyTrigger(trigger) {
313
+ this.error = null;
314
+ const theQueryParams = {};
315
+ if (this.ignoreWarning) {
316
+ theQueryParams['ignoreWarning'] = this.ignoreWarning;
317
+ }
318
+ // we may need to take care of different triggers in the future
319
+ if (trigger.id === CaseViewTrigger.DELETE) {
320
+ const dialogRef = this.dialog.open(DeleteOrCancelDialogComponent, this.dialogConfig);
321
+ dialogRef.afterClosed().subscribe(result => {
322
+ if (result === 'Delete') {
323
+ this.draftService.deleteDraft(this.caseDetails.case_id)
324
+ .subscribe(_ => {
325
+ this.navigationNotifierService.announceNavigation({ action: NavigationOrigin.DRAFT_DELETED });
326
+ }, _ => {
327
+ this.navigationNotifierService.announceNavigation({ action: NavigationOrigin.ERROR_DELETING_DRAFT });
328
+ });
329
+ }
330
+ });
331
+ }
332
+ else if (this.isDraft() && trigger.id !== CaseViewTrigger.DELETE) {
333
+ theQueryParams[DRAFT_QUERY_PARAM] = this.caseDetails.case_id;
334
+ theQueryParams[CaseFullAccessViewComponent.ORIGIN_QUERY_PARAM] = 'viewDraft';
335
+ this.navigationNotifierService.announceNavigation({
336
+ action: NavigationOrigin.DRAFT_RESUMED,
337
+ jid: this.caseDetails.case_type.jurisdiction.id,
338
+ ctid: this.caseDetails.case_type.id,
339
+ etid: trigger.id,
340
+ queryParams: theQueryParams
341
+ });
342
+ }
343
+ else {
344
+ this.navigationNotifierService.announceNavigation({
345
+ action: NavigationOrigin.EVENT_TRIGGERED,
346
+ queryParams: theQueryParams,
347
+ etid: trigger.id,
348
+ relativeTo: this.route
349
+ });
350
+ }
351
+ }
352
+ hasTabsPresent() {
353
+ return this.sortedTabs.length > 0 || this.prependedTabs.length > 0 || this.appendedTabs.length > 0;
354
+ }
355
+ callbackErrorsNotify(callbackErrorsContext) {
356
+ this.ignoreWarning = callbackErrorsContext.ignore_warning;
357
+ this.triggerText = callbackErrorsContext.trigger_text;
358
+ }
359
+ isDraft() {
360
+ return Draft.isDraft(this.caseDetails.case_id);
361
+ }
362
+ isTriggerButtonDisabled() {
363
+ return (this.error
364
+ && this.error.callbackErrors
365
+ && this.error.callbackErrors.length)
366
+ || (this.error
367
+ && this.error.details
368
+ && this.error.details.field_errors
369
+ && this.error.details.field_errors.length);
370
+ }
371
+ ngAfterViewInit() {
372
+ let matTab;
373
+ const url = this.location.path(true);
374
+ let hashValue = url.substring(url.indexOf('#') + 1);
375
+ if (!url.includes('#')) {
376
+ const paths = url.split('/');
377
+ // lastPath can be /caseId, or the tabs /tasks, /hearings etc.
378
+ const lastPath = decodeURIComponent(paths[paths.length - 1]);
379
+ let foundTab = null;
380
+ const additionalTabs = [...this.prependedTabs, ...this.appendedTabs];
381
+ if (additionalTabs && additionalTabs.length) {
382
+ foundTab = additionalTabs.find((caseTab) => caseTab.id.toLowerCase() === lastPath.toLowerCase());
383
+ }
384
+ // found tasks or hearing tab
385
+ if (foundTab) {
386
+ this.router.navigate(['cases', 'case-details', this.caseDetails.case_id, foundTab.id]).then(() => {
387
+ matTab = this.tabGroup._tabs.find((x) => x.textLabel === foundTab.label);
388
+ this.tabGroup.selectedIndex = matTab.position;
389
+ });
390
+ // last path is caseId
391
+ }
392
+ else {
393
+ // sort with the order of CCD predefined tabs
394
+ this.caseDetails.tabs.sort((aTab, bTab) => aTab.order > bTab.order ? 1 : (bTab.order > aTab.order ? -1 : 0));
395
+ // preselect the 1st order of CCD predefined tabs
396
+ const preSelectTab = this.caseDetails.tabs[0];
397
+ this.router.navigate(['cases', 'case-details', this.caseDetails.case_id]).then(() => {
398
+ matTab = this.tabGroup._tabs.find((x) => x.textLabel === preSelectTab.label);
399
+ this.tabGroup.selectedIndex = matTab.position;
400
+ });
401
+ }
402
+ }
403
+ else {
404
+ const regExp = new RegExp(CaseFullAccessViewComponent.UNICODE_SPACE, 'g');
405
+ hashValue = hashValue.replace(regExp, CaseFullAccessViewComponent.EMPTY_SPACE);
406
+ matTab = this.tabGroup._tabs.find((x) => x.textLabel.replace(CaseFullAccessViewComponent.EMPTY_SPACE, '').toLowerCase() ===
407
+ hashValue.replace(CaseFullAccessViewComponent.EMPTY_SPACE, '').toLowerCase());
408
+ if (matTab && matTab.position) {
409
+ this.tabGroup.selectedIndex = matTab.position;
410
+ }
411
+ }
412
+ }
413
+ tabChanged(tabChangeEvent) {
414
+ const tab = tabChangeEvent.tab['_viewContainerRef'];
415
+ const id = tab.element.nativeElement.id;
416
+ const tabsLengthBeforeAppended = this.prependedTabs.length + this.caseDetails.tabs.length;
417
+ if ((tabChangeEvent.index <= 1 && this.prependedTabs.length) ||
418
+ (tabChangeEvent.index >= tabsLengthBeforeAppended && this.appendedTabs.length)) {
419
+ this.router.navigate([id], { relativeTo: this.route });
420
+ }
421
+ else {
422
+ const label = tabChangeEvent.tab.textLabel;
423
+ this.router.navigate(['cases', 'case-details', this.caseDetails.case_id]).then(() => {
424
+ window.location.hash = label;
425
+ });
426
+ }
427
+ }
428
+ init() {
429
+ // Clone and sort tabs array
430
+ this.sortedTabs = this.orderService.sort(this.caseDetails.tabs);
431
+ this.caseFields = this.getTabFields();
432
+ this.sortedTabs = this.sortTabFieldsAndFilterTabs(this.sortedTabs);
433
+ this.formGroup = this.buildFormGroup(this.caseFields);
434
+ if (this.activityPollingService.isEnabled) {
435
+ this.ngZone.runOutsideAngular(() => {
436
+ this.activitySubscription = this.postViewActivity().subscribe((_resolved) => {
437
+ // console.log('Posted VIEW activity and result is: ' + JSON.stringify(_resolved));
438
+ });
439
+ });
440
+ }
441
+ if (this.caseDetails.triggers && this.error) {
442
+ this.resetErrors();
443
+ }
444
+ }
445
+ sortTabFieldsAndFilterTabs(tabs) {
446
+ return tabs
447
+ .map(tab => Object.assign({}, tab, { fields: this.orderService.sort(tab.fields) }))
448
+ .filter(tab => ShowCondition.getInstance(tab.show_condition).matchByContextFields(this.caseFields));
449
+ }
450
+ getTabFields() {
451
+ const caseDataFields = this.sortedTabs.reduce((acc, tab) => {
452
+ return acc.concat(plainToClass(CaseField, tab.fields));
453
+ }, []);
454
+ return caseDataFields.concat(this.caseDetails.metadataFields);
455
+ }
456
+ /**
457
+ * For EUI-3825:
458
+ * Builds a FormGroup from all the CaseFields contained within the view.
459
+ * This FormGroup is necessary for evaluation the show/hide conditions of
460
+ * fields that are dependent on a field only available on a DIFFERENT tab.
461
+ */
462
+ buildFormGroup(caseFields) {
463
+ let value = {};
464
+ if (caseFields) {
465
+ caseFields.forEach(caseField => {
466
+ value = Object.assign(Object.assign({}, value), { [caseField.id]: caseField.value });
467
+ });
468
+ }
469
+ return new FormGroup({ data: new FormControl(value) });
470
+ }
471
+ resetErrors() {
472
+ this.error = null;
473
+ this.callbackErrorsSubject.next(null);
474
+ this.alertService.clear();
475
+ }
476
+ }
477
+ CaseFullAccessViewComponent.ORIGIN_QUERY_PARAM = 'origin';
478
+ CaseFullAccessViewComponent.TRIGGER_TEXT_START = 'Go';
479
+ CaseFullAccessViewComponent.TRIGGER_TEXT_CONTINUE = 'Ignore Warning and Go';
480
+ CaseFullAccessViewComponent.UNICODE_SPACE = '%20';
481
+ CaseFullAccessViewComponent.EMPTY_SPACE = ' ';
482
+ CaseFullAccessViewComponent.ɵfac = function CaseFullAccessViewComponent_Factory(t) { return new (t || CaseFullAccessViewComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.NavigationNotifierService), i0.ɵɵdirectiveInject(i3.OrderService), i0.ɵɵdirectiveInject(i4.ActivityPollingService), i0.ɵɵdirectiveInject(i5.MatDialog), i0.ɵɵdirectiveInject(i6.AlertService), i0.ɵɵdirectiveInject(i7.DraftService), i0.ɵɵdirectiveInject(i8.ErrorNotifierService), i0.ɵɵdirectiveInject(i9.ConvertHrefToRouterService), i0.ɵɵdirectiveInject(i10.Location)); };
483
+ CaseFullAccessViewComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFullAccessViewComponent, selectors: [["ccd-case-full-access-view"]], viewQuery: function CaseFullAccessViewComponent_Query(rf, ctx) { if (rf & 1) {
484
+ i0.ɵɵviewQuery(_c0, 1);
485
+ } if (rf & 2) {
486
+ let _t;
487
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
488
+ } }, inputs: { hasPrint: "hasPrint", hasEventSelector: "hasEventSelector", caseDetails: "caseDetails", prependedTabs: "prependedTabs", appendedTabs: "appendedTabs" }, decls: 12, vars: 11, consts: [["class", "error-summary", "role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 4, "ngIf"], [3, "triggerTextContinue", "triggerTextIgnore", "callbackErrorsSubject", "callbackErrorsContext"], [3, "caseId", "displayMode"], [1, "grid-row"], [1, "column-one-half"], [3, "caseDetails"], ["class", "case-viewer-controls", 4, "ngIf"], ["class", "column-one-half", 4, "ngIf"], [1, "column-full"], [4, "ngIf"], ["role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 1, "error-summary"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h1", "error-summary-heading"], ["id", "edit-case-event_error-summary-body", 1, "govuk-error-summary__body"], ["href", "get-help", "target", "_blank"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h2", "error-summary-heading"], ["class", "error-summary-list", 4, "ngIf"], [1, "error-summary-list"], [4, "ngFor", "ngForOf"], [1, "case-viewer-controls"], ["id", "case-viewer-control-print", "routerLink", "print", 1, "button", "button-secondary"], [3, "isDisabled", "triggers", "triggerText", "onTriggerChange", "onTriggerSubmit"], ["animationDuration", "0ms", 3, "disableRipple", "selectedTabChange"], ["tabGroup", ""], [3, "id", "label", 4, "ngFor", "ngForOf"], [3, "id", "label"], ["matTabContent", ""], ["aria-describedby", "case viewer table"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "hidden"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "compound-field", 4, "ngSwitchCase"], [1, "case-viewer-label", "text-16"], [1, "text-16"], [3, "topLevelFormGroup", "caseField", "caseReference", "markdownUseHrefAsRouterLink"], [1, "compound-field"]], template: function CaseFullAccessViewComponent_Template(rf, ctx) { if (rf & 1) {
489
+ i0.ɵɵtemplate(0, CaseFullAccessViewComponent_div_0_Template, 10, 0, "div", 0);
490
+ i0.ɵɵtemplate(1, CaseFullAccessViewComponent_div_1_Template, 6, 2, "div", 0);
491
+ i0.ɵɵelementStart(2, "ccd-callback-errors", 1);
492
+ i0.ɵɵlistener("callbackErrorsContext", function CaseFullAccessViewComponent_Template_ccd_callback_errors_callbackErrorsContext_2_listener($event) { return ctx.callbackErrorsNotify($event); });
493
+ i0.ɵɵelementEnd();
494
+ i0.ɵɵelement(3, "ccd-activity", 2);
495
+ i0.ɵɵelementStart(4, "div", 3);
496
+ i0.ɵɵelementStart(5, "div", 4);
497
+ i0.ɵɵelement(6, "ccd-case-header", 5);
498
+ i0.ɵɵtemplate(7, CaseFullAccessViewComponent_div_7_Template, 3, 0, "div", 6);
499
+ i0.ɵɵelementEnd();
500
+ i0.ɵɵtemplate(8, CaseFullAccessViewComponent_div_8_Template, 2, 3, "div", 7);
501
+ i0.ɵɵelementEnd();
502
+ i0.ɵɵelementStart(9, "div", 3);
503
+ i0.ɵɵelementStart(10, "div", 8);
504
+ i0.ɵɵtemplate(11, CaseFullAccessViewComponent_ng_container_11_Template, 7, 5, "ng-container", 9);
505
+ i0.ɵɵelementEnd();
506
+ i0.ɵɵelementEnd();
507
+ } if (rf & 2) {
508
+ i0.ɵɵproperty("ngIf", ctx.error && !(ctx.error.callbackErrors || ctx.error.callbackWarnings || ctx.error.details));
509
+ i0.ɵɵadvance(1);
510
+ i0.ɵɵproperty("ngIf", ctx.error && ctx.error.details);
511
+ i0.ɵɵadvance(1);
512
+ i0.ɵɵproperty("triggerTextContinue", ctx.triggerTextStart)("triggerTextIgnore", ctx.triggerTextIgnoreWarnings)("callbackErrorsSubject", ctx.callbackErrorsSubject);
513
+ i0.ɵɵadvance(1);
514
+ i0.ɵɵproperty("caseId", ctx.caseDetails.case_id)("displayMode", ctx.BANNER);
515
+ i0.ɵɵadvance(3);
516
+ i0.ɵɵproperty("caseDetails", ctx.caseDetails);
517
+ i0.ɵɵadvance(1);
518
+ i0.ɵɵproperty("ngIf", ctx.hasPrint && !ctx.isDraft() && ctx.isPrintEnabled());
519
+ i0.ɵɵadvance(1);
520
+ i0.ɵɵproperty("ngIf", ctx.hasEventSelector);
521
+ i0.ɵɵadvance(3);
522
+ i0.ɵɵproperty("ngIf", ctx.hasTabsPresent());
523
+ } }, directives: [i10.NgIf, i11.CallbackErrorsComponent, i12.ActivityComponent, i13.CaseHeaderComponent, i10.NgForOf, i1.RouterLinkWithHref, i14.EventTriggerComponent, i15.MatTabGroup, i15.MatTab, i15.MatTabContent, i16.LabelSubstitutorDirective, i10.NgSwitch, i10.NgSwitchCase, i17.FieldReadComponent, i1.RouterOutlet], pipes: [i18.ReadFieldsFilterPipe, i19.CcdTabFieldsPipe, i20.IsCompoundPipe], styles: ["th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:0}.case-viewer-controls[_ngcontent-%COMP%]{margin-top:47px;margin-bottom:20px}ccd-case-header[_ngcontent-%COMP%]{float:left;margin-right:10px}ccd-event-trigger[_ngcontent-%COMP%]{float:right}.case-viewer-label[_ngcontent-%COMP%]{min-width:300px;white-space:normal}.markdown[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:0}"] });
524
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
525
+ type: Component,
526
+ args: [{
527
+ selector: 'ccd-case-full-access-view',
528
+ templateUrl: './case-full-access-view.component.html',
529
+ styleUrls: ['./case-full-access-view.component.scss']
530
+ }]
531
+ }], function () { return [{ type: i0.NgZone }, { type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.NavigationNotifierService }, { type: i3.OrderService }, { type: i4.ActivityPollingService }, { type: i5.MatDialog }, { type: i6.AlertService }, { type: i7.DraftService }, { type: i8.ErrorNotifierService }, { type: i9.ConvertHrefToRouterService }, { type: i10.Location }]; }, { hasPrint: [{
532
+ type: Input
533
+ }], hasEventSelector: [{
534
+ type: Input
535
+ }], caseDetails: [{
536
+ type: Input
537
+ }], prependedTabs: [{
538
+ type: Input
539
+ }], appendedTabs: [{
540
+ type: Input
541
+ }], tabGroup: [{
542
+ type: ViewChild,
543
+ args: ['tabGroup', { static: false }]
544
+ }] }); })();
545
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcvY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcvY2FzZS1mdWxsLWFjY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQXFCLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQVUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbkcsT0FB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b3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0VGFiQ2hhbmdlRXZlbnQsIE1hdFRhYkdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbml0RGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9oZWxwZXJzL2luaXQtZGlhbG9nLWhlbHBlcic7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IEFjdGl2aXR5LCBEaXNwbGF5TW9kZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9hY3Rpdml0eS9hY3Rpdml0eS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVGFiIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldy9jYXNlLXRhYi5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVmlld1RyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vY2FzZS12aWV3L2Nhc2Utdmlldy10cmlnZ2VyLm1vZGVsJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldy9jYXNlLXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBEcmFmdCwgRFJBRlRfUVVFUllfUEFSQU0gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZHJhZnQubW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZpdHlQb2xsaW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FjdGl2aXR5L2FjdGl2aXR5LnBvbGxpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RyYWZ0L2RyYWZ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lcnJvci9lcnJvci1ub3RpZmllci5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24tbm90aWZpZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uT3JpZ2luIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLW9yaWdpbi5tb2RlbCc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmRlci9vcmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnZlcnRIcmVmVG9Sb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY29udmVydC1ocmVmLXRvLXJvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERlbGV0ZU9yQ2FuY2VsRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9kZWxldGUtb3ItY2FuY2VsLWRpYWxvZy9kZWxldGUtb3ItY2FuY2VsLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsbGJhY2tFcnJvcnNDb250ZXh0IH0gZnJvbSAnLi4vLi4vZXJyb3IvZG9tYWluL2Vycm9yLWNvbnRleHQnO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZnVsbC1hY2Nlc3MtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLWZ1bGwtYWNjZXNzLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT1JJR0lOX1FVRVJZX1BBUkFNID0gJ29yaWdpbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFJJR0dFUl9URVhUX1NUQVJUID0gJ0dvJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUUklHR0VSX1RFWFRfQ09OVElOVUUgPSAnSWdub3JlIFdhcm5pbmcgYW5kIEdvJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVTklDT0RFX1NQQUNFID0gJyUyMCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRU1QVFlfU1BBQ0UgPSAnICc7XG5cbiAgQElucHV0KCkgcHVibGljIGhhc1ByaW50ID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGhhc0V2ZW50U2VsZWN0b3IgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBASW5wdXQoKSBwdWJsaWMgcHJlcGVuZGVkVGFiczogQ2FzZVRhYltdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlbmRlZFRhYnM6IENhc2VUYWJbXSA9IFtdO1xuXG4gIHB1YmxpYyBCQU5ORVIgPSBEaXNwbGF5TW9kZS5CQU5ORVI7XG4gIHB1YmxpYyBzb3J0ZWRUYWJzOiBDYXNlVGFiW107XG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXTtcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgZXJyb3I6IGFueTtcbiAgcHVibGljIHRyaWdnZXJUZXh0U3RhcnQgPSBDYXNlRnVsbEFjY2Vzc1ZpZXdDb21wb25lbnQuVFJJR0dFUl9URVhUX1NUQVJUO1xuICBwdWJsaWMgdHJpZ2dlclRleHRJZ25vcmVXYXJuaW5ncyA9IENhc2VGdWxsQWNjZXNzVmlld0NvbXBvbmVudC5UUklHR0VSX1RFWFRfQ09OVElOVUU7XG4gIHB1YmxpYyB0cmlnZ2VyVGV4dDogc3RyaW5nID0gQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LlRSSUdHRVJfVEVYVF9TVEFSVDtcbiAgcHVibGljIGlnbm9yZVdhcm5pbmcgPSBmYWxzZTtcbiAgcHVibGljIGFjdGl2aXR5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjYXNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBlcnJvclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWc7XG4gIHB1YmxpYyBtYXJrZG93blVzZUhyZWZBc1JvdXRlckxpbms6IGJvb2xlYW47XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgY2FsbGJhY2tFcnJvcnNTdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICBAVmlld0NoaWxkKCd0YWJHcm91cCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2U6IE5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5UG9sbGluZ1NlcnZpY2U6IEFjdGl2aXR5UG9sbGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJhZnRTZXJ2aWNlOiBEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvck5vdGlmaWVyU2VydmljZTogRXJyb3JOb3RpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb252ZXJ0SHJlZlRvUm91dGVyU2VydmljZTogQ29udmVydEhyZWZUb1JvdXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb25cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaWFsb2dDb25maWcgPSBpbml0RGlhbG9nKCk7XG5cbiAgICB0aGlzLmluaXQoKTtcblxuICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0LnN1YnNjcmliZShlcnJvckV2ZW50ID0+IHtcbiAgICAgIHRoaXMuZXJyb3IgPSBlcnJvckV2ZW50O1xuICAgIH0pO1xuICAgIHRoaXMuZXJyb3JTdWJzY3JpcHRpb24gPSB0aGlzLmVycm9yTm90aWZpZXJTZXJ2aWNlLmVycm9yLnN1YnNjcmliZShlcnJvciA9PiB7XG4gICAgICBpZiAoZXJyb3IgJiYgZXJyb3Iuc3RhdHVzICE9PSA0MDEgJiYgZXJyb3Iuc3RhdHVzICE9PSA0MDMpIHtcbiAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yO1xuICAgICAgICB0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdC5uZXh0KHRoaXMuZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rID0gdHJ1ZTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jb252ZXJ0SHJlZlRvUm91dGVyU2VydmljZS5nZXRIcmVmTWFya2Rvd25MaW5rQ29udGVudCgpLnN1YnNjcmliZSgoaHJlZk1hcmtkb3duTGlua0NvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgLy8gZG8gbm90IGNvbnZlcnQgcm91dGVyIHdpdGggaW5pdGlhbCBkZWZhdWx0IHZhbHVlOyBjb252ZXJ0IHRvIHJvdXRlciBvbmx5IG9uIHVwZGF0ZWQgbGluayBjb250ZW50XG4gICAgICBpZiAoaHJlZk1hcmtkb3duTGlua0NvbnRlbnQgIT09ICdEZWZhdWx0Jykge1xuICAgICAgICB0aGlzLmNvbnZlcnRIcmVmVG9Sb3V0ZXJTZXJ2aWNlLmNhbGxBbmd1bGFyUm91dGVyKGhyZWZNYXJrZG93bkxpbmtDb250ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1ByaW50RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUucHJpbnRFbmFibGVkO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uICYmIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0KSB7XG4gICAgICB0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlICYmIHRoaXMuY2FzZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmVycm9yU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmVycm9yU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcG9zdFZpZXdBY3Rpdml0eSgpOiBPYnNlcnZhYmxlPEFjdGl2aXR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLnBvc3RWaWV3QWN0aXZpdHkodGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckVycm9yc0FuZFdhcm5pbmdzKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRFcnJvcnMoKTtcbiAgICB0aGlzLmlnbm9yZVdhcm5pbmcgPSBmYWxzZTtcbiAgICB0aGlzLnRyaWdnZXJUZXh0ID0gQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LlRSSUdHRVJfVEVYVF9TVEFSVDtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseVRyaWdnZXIodHJpZ2dlcjogQ2FzZVZpZXdUcmlnZ2VyKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvciA9IG51bGw7XG5cbiAgICBjb25zdCB0aGVRdWVyeVBhcmFtczogUGFyYW1zID0ge307XG5cbiAgICBpZiAodGhpcy5pZ25vcmVXYXJuaW5nKSB7XG4gICAgICB0aGVRdWVyeVBhcmFtc1snaWdub3JlV2FybmluZyddID0gdGhpcy5pZ25vcmVXYXJuaW5nO1xuICAgIH1cblxuICAgIC8vIHdlIG1heSBuZWVkIHRvIHRha2UgY2FyZSBvZiBkaWZmZXJlbnQgdHJpZ2dlcnMgaW4gdGhlIGZ1dHVyZVxuICAgIGlmICh0cmlnZ2VyLmlkID09PSBDYXNlVmlld1RyaWdnZXIuREVMRVRFKSB7XG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERlbGV0ZU9yQ2FuY2VsRGlhbG9nQ29tcG9uZW50LCB0aGlzLmRpYWxvZ0NvbmZpZyk7XG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ0RlbGV0ZScpIHtcbiAgICAgICAgICB0aGlzLmRyYWZ0U2VydmljZS5kZWxldGVEcmFmdCh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UuYW5ub3VuY2VOYXZpZ2F0aW9uKHthY3Rpb246IE5hdmlnYXRpb25PcmlnaW4uRFJBRlRfREVMRVRFRH0pO1xuICAgICAgICAgICAgfSwgXyA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZS5hbm5vdW5jZU5hdmlnYXRpb24oe2FjdGlvbjogTmF2aWdhdGlvbk9yaWdpbi5FUlJPUl9ERUxFVElOR19EUkFGVH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0RyYWZ0KCkgJiYgdHJpZ2dlci5pZCAhPT0gQ2FzZVZpZXdUcmlnZ2VyLkRFTEVURSkge1xuICAgICAgdGhlUXVlcnlQYXJhbXNbRFJBRlRfUVVFUllfUEFSQU1dID0gdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkO1xuICAgICAgdGhlUXVlcnlQYXJhbXNbQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50Lk9SSUdJTl9RVUVSWV9QQVJBTV0gPSAndmlld0RyYWZ0JztcbiAgICAgIHRoaXMubmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZS5hbm5vdW5jZU5hdmlnYXRpb24oXG4gICAgICAgIHtcbiAgICAgICAgICBhY3Rpb246IE5hdmlnYXRpb25PcmlnaW4uRFJBRlRfUkVTVU1FRCxcbiAgICAgICAgICBqaWQ6IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5pZCxcbiAgICAgICAgICBjdGlkOiB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5pZCxcbiAgICAgICAgICBldGlkOiB0cmlnZ2VyLmlkLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGVRdWVyeVBhcmFtc1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlLmFubm91bmNlTmF2aWdhdGlvbihcbiAgICAgICAge1xuICAgICAgICAgIGFjdGlvbjogTmF2aWdhdGlvbk9yaWdpbi5FVkVOVF9UUklHR0VSRUQsXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHRoZVF1ZXJ5UGFyYW1zLFxuICAgICAgICAgIGV0aWQ6IHRyaWdnZXIuaWQsXG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFzVGFic1ByZXNlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc29ydGVkVGFicy5sZW5ndGggPiAwIHx8IHRoaXMucHJlcGVuZGVkVGFicy5sZW5ndGggPiAwIHx8IHRoaXMuYXBwZW5kZWRUYWJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgY2FsbGJhY2tFcnJvcnNOb3RpZnkoY2FsbGJhY2tFcnJvcnNDb250ZXh0OiBDYWxsYmFja0Vycm9yc0NvbnRleHQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZVdhcm5pbmcgPSBjYWxsYmFja0Vycm9yc0NvbnRleHQuaWdub3JlX3dhcm5pbmc7XG4gICAgdGhpcy50cmlnZ2VyVGV4dCA9IGNhbGxiYWNrRXJyb3JzQ29udGV4dC50cmlnZ2VyX3RleHQ7XG4gIH1cblxuICBwdWJsaWMgaXNEcmFmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRHJhZnQuaXNEcmFmdCh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQpO1xuICB9XG5cbiAgcHVibGljIGlzVHJpZ2dlckJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5lcnJvclxuICAgICAgJiYgdGhpcy5lcnJvci5jYWxsYmFja0Vycm9yc1xuICAgICAgJiYgdGhpcy5lcnJvci5jYWxsYmFja0Vycm9ycy5sZW5ndGgpXG4gICAgICB8fCAodGhpcy5lcnJvclxuICAgICAgICAmJiB0aGlzLmVycm9yLmRldGFpbHNcbiAgICAgICAgJiYgdGhpcy5lcnJvci5kZXRhaWxzLmZpZWxkX2Vycm9yc1xuICAgICAgICAmJiB0aGlzLmVycm9yLmRldGFpbHMuZmllbGRfZXJyb3JzLmxlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBtYXRUYWI7XG4gICAgY29uc3QgdXJsID0gdGhpcy5sb2NhdGlvbi5wYXRoKHRydWUpO1xuICAgIGxldCBoYXNoVmFsdWUgPSB1cmwuc3Vic3RyaW5nKHVybC5pbmRleE9mKCcjJykgKyAxKTtcbiAgICBpZiAoIXVybC5pbmNsdWRlcygnIycpKSB7XG4gICAgICBjb25zdCBwYXRocyA9IHVybC5zcGxpdCgnLycpO1xuICAgICAgLy8gbGFzdFBhdGggY2FuIGJlIC9jYXNlSWQsIG9yIHRoZSB0YWJzIC90YXNrcywgL2hlYXJpbmdzIGV0Yy5cbiAgICAgIGNvbnN0IGxhc3RQYXRoID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhdGhzW3BhdGhzLmxlbmd0aCAtIDFdKTtcbiAgICAgIGxldCBmb3VuZFRhYjogQ2FzZVRhYiA9IG51bGw7XG4gICAgICBjb25zdCBhZGRpdGlvbmFsVGFicyA9IFsuLi50aGlzLnByZXBlbmRlZFRhYnMsIC4uLnRoaXMuYXBwZW5kZWRUYWJzXTtcbiAgICAgIGlmIChhZGRpdGlvbmFsVGFicyAmJiBhZGRpdGlvbmFsVGFicy5sZW5ndGgpIHtcbiAgICAgICAgZm91bmRUYWIgPSAgYWRkaXRpb25hbFRhYnMuZmluZCgoY2FzZVRhYjogQ2FzZVRhYikgPT4gY2FzZVRhYi5pZC50b0xvd2VyQ2FzZSgpID09PSBsYXN0UGF0aC50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH1cbiAgICAgIC8vIGZvdW5kIHRhc2tzIG9yIGhlYXJpbmcgdGFiXG4gICAgICBpZiAoZm91bmRUYWIpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQsIGZvdW5kVGFiLmlkXSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgbWF0VGFiID0gdGhpcy50YWJHcm91cC5fdGFicy5maW5kKCh4KSA9PiB4LnRleHRMYWJlbCA9PT0gZm91bmRUYWIubGFiZWwpO1xuICAgICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IG1hdFRhYi5wb3NpdGlvbjtcbiAgICAgICAgfSk7XG4gICAgICAvLyBsYXN0IHBhdGggaXMgY2FzZUlkXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzb3J0IHdpdGggdGhlIG9yZGVyIG9mIENDRCBwcmVkZWZpbmVkIHRhYnNcbiAgICAgICAgdGhpcy5jYXNlRGV0YWlscy50YWJzLnNvcnQoKGFUYWIsIGJUYWIpID0+IGFUYWIub3JkZXIgPiBiVGFiLm9yZGVyID8gMSA6IChiVGFiLm9yZGVyID4gYVRhYi5vcmRlciA/IC0xIDogMCkpO1xuICAgICAgICAvLyBwcmVzZWxlY3QgdGhlIDFzdCBvcmRlciBvZiBDQ0QgcHJlZGVmaW5lZCB0YWJzXG4gICAgICAgIGNvbnN0IHByZVNlbGVjdFRhYjogQ2FzZVRhYiA9IHRoaXMuY2FzZURldGFpbHMudGFic1swXTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWRdKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBtYXRUYWIgPSB0aGlzLnRhYkdyb3VwLl90YWJzLmZpbmQoKHgpID0+IHgudGV4dExhYmVsID09PSBwcmVTZWxlY3RUYWIubGFiZWwpO1xuICAgICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IG1hdFRhYi5wb3NpdGlvbjtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LlVOSUNPREVfU1BBQ0UsICdnJyk7XG4gICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZShyZWdFeHAsIENhc2VGdWxsQWNjZXNzVmlld0NvbXBvbmVudC5FTVBUWV9TUEFDRSk7XG4gICAgICBtYXRUYWIgPSB0aGlzLnRhYkdyb3VwLl90YWJzLmZpbmQoKHgpID0+XG4gICAgICAgIHgudGV4dExhYmVsLnJlcGxhY2UoQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LkVNUFRZX1NQQUNFLCAnJykudG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaFZhbHVlLnJlcGxhY2UoQ2FzZUZ1bGxBY2Nlc3NWaWV3Q29tcG9uZW50LkVNUFRZX1NQQUNFLCAnJykudG9Mb3dlckNhc2UoKSk7XG4gICAgICBpZiAobWF0VGFiICYmIG1hdFRhYi5wb3NpdGlvbikge1xuICAgICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSBtYXRUYWIucG9zaXRpb247XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRhYkNoYW5nZWQodGFiQ2hhbmdlRXZlbnQ6IE1hdFRhYkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFiID0gdGFiQ2hhbmdlRXZlbnQudGFiWydfdmlld0NvbnRhaW5lclJlZiddIGFzIFZpZXdDb250YWluZXJSZWY7XG4gICAgY29uc3QgaWQgPSAodGFiLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuaWQ7XG4gICAgY29uc3QgdGFic0xlbmd0aEJlZm9yZUFwcGVuZGVkID0gdGhpcy5wcmVwZW5kZWRUYWJzLmxlbmd0aCArIHRoaXMuY2FzZURldGFpbHMudGFicy5sZW5ndGg7XG4gICAgaWYgKCh0YWJDaGFuZ2VFdmVudC5pbmRleCA8PSAxICYmIHRoaXMucHJlcGVuZGVkVGFicy5sZW5ndGgpIHx8XG4gICAgICAodGFiQ2hhbmdlRXZlbnQuaW5kZXggPj0gdGFic0xlbmd0aEJlZm9yZUFwcGVuZGVkICYmIHRoaXMuYXBwZW5kZWRUYWJzLmxlbmd0aCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpZF0sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gdGFiQ2hhbmdlRXZlbnQudGFiLnRleHRMYWJlbDtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkXSkudGhlbigoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gbGFiZWw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2xvbmUgYW5kIHNvcnQgdGFicyBhcnJheVxuICAgIHRoaXMuc29ydGVkVGFicyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQodGhpcy5jYXNlRGV0YWlscy50YWJzKTtcbiAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLmdldFRhYkZpZWxkcygpO1xuICAgIHRoaXMuc29ydGVkVGFicyA9IHRoaXMuc29ydFRhYkZpZWxkc0FuZEZpbHRlclRhYnModGhpcy5zb3J0ZWRUYWJzKTtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuYnVpbGRGb3JtR3JvdXAodGhpcy5jYXNlRmllbGRzKTtcblxuICAgIGlmICh0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UuaXNFbmFibGVkKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gPSB0aGlzLnBvc3RWaWV3QWN0aXZpdHkoKS5zdWJzY3JpYmUoKF9yZXNvbHZlZCkgPT4ge1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdQb3N0ZWQgVklFVyBhY3Rpdml0eSBhbmQgcmVzdWx0IGlzOiAnICsgSlNPTi5zdHJpbmdpZnkoX3Jlc29sdmVkKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2FzZURldGFpbHMudHJpZ2dlcnMgJiYgdGhpcy5lcnJvcikge1xuICAgICAgdGhpcy5yZXNldEVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydFRhYkZpZWxkc0FuZEZpbHRlclRhYnModGFiczogQ2FzZVRhYltdKTogQ2FzZVRhYltdIHtcbiAgICByZXR1cm4gdGFic1xuICAgICAgLm1hcCh0YWIgPT4gT2JqZWN0LmFzc2lnbih7fSwgdGFiLCB7ZmllbGRzOiB0aGlzLm9yZGVyU2VydmljZS5zb3J0KHRhYi5maWVsZHMpfSkpXG4gICAgICAuZmlsdGVyKHRhYiA9PiBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKHRhYi5zaG93X2NvbmRpdGlvbikubWF0Y2hCeUNvbnRleHRGaWVsZHModGhpcy5jYXNlRmllbGRzKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYkZpZWxkcygpOiBDYXNlRmllbGRbXSB7XG4gICAgY29uc3QgY2FzZURhdGFGaWVsZHMgPSB0aGlzLnNvcnRlZFRhYnMucmVkdWNlKChhY2MsIHRhYikgPT4ge1xuICAgICAgcmV0dXJuIGFjYy5jb25jYXQocGxhaW5Ub0NsYXNzKENhc2VGaWVsZCwgdGFiLmZpZWxkcykpO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBjYXNlRGF0YUZpZWxkcy5jb25jYXQodGhpcy5jYXNlRGV0YWlscy5tZXRhZGF0YUZpZWxkcyk7XG4gIH1cblxuICAvKipcbiAgICogRm9yIEVVSS0zODI1OlxuICAgKiBCdWlsZHMgYSBGb3JtR3JvdXAgZnJvbSBhbGwgdGhlIENhc2VGaWVsZHMgY29udGFpbmVkIHdpdGhpbiB0aGUgdmlldy5cbiAgICogVGhpcyBGb3JtR3JvdXAgaXMgbmVjZXNzYXJ5IGZvciBldmFsdWF0aW9uIHRoZSBzaG93L2hpZGUgY29uZGl0aW9ucyBvZlxuICAgKiBmaWVsZHMgdGhhdCBhcmUgZGVwZW5kZW50IG9uIGEgZmllbGQgb25seSBhdmFpbGFibGUgb24gYSBESUZGRVJFTlQgdGFiLlxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEZvcm1Hcm91cChjYXNlRmllbGRzOiBDYXNlRmllbGRbXSk6IEZvcm1Hcm91cCB7XG4gICAgbGV0IHZhbHVlOiBvYmplY3QgPSB7fTtcbiAgICBpZiAoY2FzZUZpZWxkcykge1xuICAgICAgY2FzZUZpZWxkcy5mb3JFYWNoKGNhc2VGaWVsZCA9PiB7XG4gICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgIC4uLnZhbHVlLFxuICAgICAgICAgIFtjYXNlRmllbGQuaWRdOiBjYXNlRmllbGQudmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7ZGF0YTogbmV3IEZvcm1Db250cm9sKHZhbHVlKX0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEVycm9ycygpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhbGxiYWNrRXJyb3JzU3ViamVjdC5uZXh0KG51bGwpO1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxufVxuIiwiPCEtLSBHZW5lcmljIGVycm9yIGhlYWRpbmcgYW5kIGVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIG9ubHkgaWYgdGhlcmUgYXJlIG5vIHNwZWNpZmljIGNhbGxiYWNrIGVycm9ycyBvciB3YXJuaW5ncywgb3Igbm8gZXJyb3IgZGV0YWlscyAtLT5cbjxkaXYgKm5nSWY9XCJlcnJvciAmJiAhKGVycm9yLmNhbGxiYWNrRXJyb3JzIHx8IGVycm9yLmNhbGxiYWNrV2FybmluZ3MgfHwgZXJyb3IuZGV0YWlscylcIiBjbGFzcz1cImVycm9yLXN1bW1hcnlcIlxuICAgICAgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgPGgxIGNsYXNzPVwiaGVhZGluZy1oMSBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImVkaXQtY2FzZS1ldmVudF9lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIj5cbiAgICBTb21ldGhpbmcgd2VudCB3cm9uZ1xuICA8L2gxPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiIGlkPVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktYm9keVwiPlxuICAgIDxwPldlJ3JlIHdvcmtpbmcgdG8gZml4IHRoZSBwcm9ibGVtLiBUcnkgYWdhaW4gc2hvcnRseS48L3A+XG4gICAgPHA+PGEgaHJlZj1cImdldC1oZWxwXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Q29udGFjdCB1czwvYT4gaWYgeW91J3JlIHN0aWxsIGhhdmluZyBwcm9ibGVtcy48L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIENhbGxiYWNrIGVycm9yIGhlYWRpbmcgYW5kIGVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIGlmIHRoZXJlIGFyZSBzcGVjaWZpYyBlcnJvciBkZXRhaWxzIC0tPlxuPGRpdiAqbmdJZj1cImVycm9yICYmIGVycm9yLmRldGFpbHNcIiBjbGFzcz1cImVycm9yLXN1bW1hcnlcIiByb2xlPVwiZ3JvdXBcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZWRpdC1jYXNlLWV2ZW50X2Vycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMiBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImVkaXQtY2FzZS1ldmVudF9lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIj5cbiAgICBUaGUgY2FsbGJhY2sgZGF0YSBmYWlsZWQgdmFsaWRhdGlvblxuICA8L2gyPlxuICA8cD57e2Vycm9yLm1lc3NhZ2V9fTwvcD5cbiAgPHVsICpuZ0lmPVwiZXJyb3IuZGV0YWlscz8uZmllbGRfZXJyb3JzXCIgY2xhc3M9XCJlcnJvci1zdW1tYXJ5LWxpc3RcIj5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGZpZWxkRXJyb3Igb2YgZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnNcIj5cbiAgICAgIHt7ZmllbGRFcnJvci5tZXNzYWdlfX1cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG48Y2NkLWNhbGxiYWNrLWVycm9yc1xuICBbdHJpZ2dlclRleHRDb250aW51ZV09XCJ0cmlnZ2VyVGV4dFN0YXJ0XCJcbiAgW3RyaWdnZXJUZXh0SWdub3JlXT1cInRyaWdnZXJUZXh0SWdub3JlV2FybmluZ3NcIlxuICBbY2FsbGJhY2tFcnJvcnNTdWJqZWN0XT1cImNhbGxiYWNrRXJyb3JzU3ViamVjdFwiXG4gIChjYWxsYmFja0Vycm9yc0NvbnRleHQpPVwiY2FsbGJhY2tFcnJvcnNOb3RpZnkoJGV2ZW50KVwiPlxuPC9jY2QtY2FsbGJhY2stZXJyb3JzPlxuPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cImNhc2VEZXRhaWxzLmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiQkFOTkVSXCI+PC9jY2QtYWN0aXZpdHk+XG48ZGl2IGNsYXNzPVwiZ3JpZC1yb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbi1vbmUtaGFsZlwiPlxuICAgIDxjY2QtY2FzZS1oZWFkZXIgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCI+PC9jY2QtY2FzZS1oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImNhc2Utdmlld2VyLWNvbnRyb2xzXCIgKm5nSWY9XCJoYXNQcmludCAmJiAhaXNEcmFmdCgpICYmIGlzUHJpbnRFbmFibGVkKClcIj5cbiAgICAgIDxhIGlkPVwiY2FzZS12aWV3ZXItY29udHJvbC1wcmludFwiIHJvdXRlckxpbms9XCJwcmludFwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIj5QcmludDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJoYXNFdmVudFNlbGVjdG9yXCIgY2xhc3M9XCJjb2x1bW4tb25lLWhhbGZcIj5cbiAgICA8Y2NkLWV2ZW50LXRyaWdnZXIgW2lzRGlzYWJsZWRdPVwiaXNUcmlnZ2VyQnV0dG9uRGlzYWJsZWQoKVwiIFt0cmlnZ2Vyc109XCJjYXNlRGV0YWlscy50cmlnZ2Vyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHJpZ2dlclRleHRdPVwidHJpZ2dlclRleHRcIiAob25UcmlnZ2VyQ2hhbmdlKT1cImNsZWFyRXJyb3JzQW5kV2FybmluZ3MoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAob25UcmlnZ2VyU3VibWl0KT1cImFwcGx5VHJpZ2dlcigkZXZlbnQpXCI+PC9jY2QtZXZlbnQtdHJpZ2dlcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1uLWZ1bGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzVGFic1ByZXNlbnQoKVwiPlxuICAgICAgPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIGFuaW1hdGlvbkR1cmF0aW9uPVwiMG1zXCIgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cInRhYkNoYW5nZWQoJGV2ZW50KVwiIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIj5cbiAgICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBwcmVwZW5kZWRUYWJzXCIgW2lkXT1cInRhYi5pZFwiIFtsYWJlbF09XCJ0YWIubGFiZWxcIj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIHNvcnRlZFRhYnM7IGxldCBjdXJJZHg9aW5kZXhcIiBbaWRdPVwidGFiLmlkXCIgW2xhYmVsXT1cInRhYi5sYWJlbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgPHRhYmxlIFtjbGFzc109XCJ0YWIuaWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY2FzZSB2aWV3ZXIgdGFibGVcIj5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiB0YWIgfCBjY2RUYWJGaWVsZHMgfCBjY2RSZWFkRmllbGRzRmlsdGVyOmZhbHNlIDp1bmRlZmluZWQgOnRydWUgOiBmb3JtR3JvdXAuY29udHJvbHNbJ2RhdGEnXVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCIhKGZpZWxkIHwgY2NkSXNDb21wb3VuZClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2Utdmlld2VyLWxhYmVsIHRleHQtMTZcIj57e2ZpZWxkLmxhYmVsfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW3RvcExldmVsRm9ybUdyb3VwXT1cImZvcm1Hcm91cC5jb250cm9sc1snZGF0YSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjYXNlUmVmZXJlbmNlXT1cImNhc2VEZXRhaWxzLmNhc2VfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rXT1cIm1hcmtkb3duVXNlSHJlZkFzUm91dGVyTGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIiBjbGFzcz1cImNvbXBvdW5kLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwiZm9ybUdyb3VwLmNvbnRyb2xzWydkYXRhJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2Nhc2VSZWZlcmVuY2VdPVwiY2FzZURldGFpbHMuY2FzZV9pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFttYXJrZG93blVzZUhyZWZBc1JvdXRlckxpbmtdPVwibWFya2Rvd25Vc2VIcmVmQXNSb3V0ZXJMaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIGFwcGVuZGVkVGFic1wiIFtpZF09XCJ0YWIuaWRcIiBbbGFiZWxdPVwidGFiLmxhYmVsXCI+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgIDxyb3V0ZXItb3V0bGV0ICpuZ0lmPVwiKHByZXBlbmRlZFRhYnMgJiYgcHJlcGVuZGVkVGFicy5sZW5ndGgpIHx8IChhcHBlbmRlZFRhYnMgJiYgYXBwZW5kZWRUYWJzLmxlbmd0aClcIj48L3JvdXRlci1vdXRsZXQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './case-full-access-view.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS12aWV3ZXIvY2FzZS1mdWxsLWFjY2Vzcy12aWV3L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtZnVsbC1hY2Nlc3Mtdmlldy5jb21wb25lbnQnO1xuIl19