@hmcts/ccd-case-ui-toolkit 5.0.32-angular11-upgrade → 5.0.33-angular11-updgrade-welsh-release-v3

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 (290) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +6619 -2859
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/components/banners/alert/alert.component.js +7 -5
  7. package/esm2015/lib/components/banners/alert/alert.module.js +12 -4
  8. package/esm2015/lib/components/footer/footer.component.js +55 -30
  9. package/esm2015/lib/components/footer/footers.module.js +12 -4
  10. package/esm2015/lib/components/form/date-input/date-input.component.js +56 -37
  11. package/esm2015/lib/components/form/form.module.js +8 -4
  12. package/esm2015/lib/components/header/header-bar/header-bar.component.js +32 -19
  13. package/esm2015/lib/components/header/headers.module.js +6 -4
  14. package/esm2015/lib/components/header/navigation/navigation-item.component.js +9 -7
  15. package/esm2015/lib/components/header/phase/phase.component.js +20 -9
  16. package/esm2015/lib/components/tabs/tabs.component.js +7 -5
  17. package/esm2015/lib/components/tabs/tabs.module.js +6 -2
  18. package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +12 -9
  19. package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +11 -8
  20. package/esm2015/lib/shared/components/activity/activity.component.js +15 -10
  21. package/esm2015/lib/shared/components/activity/activity.module.js +6 -2
  22. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +29 -25
  23. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +90 -58
  24. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +179 -131
  25. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +30 -26
  26. 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
  27. 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
  28. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +28 -1
  29. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +10 -2
  30. package/esm2015/lib/shared/components/case-history/case-history.component.js +89 -63
  31. package/esm2015/lib/shared/components/case-history/case-history.module.js +18 -14
  32. package/esm2015/lib/shared/components/case-list/case-list.component.js +56 -49
  33. package/esm2015/lib/shared/components/case-list/case-list.module.js +8 -4
  34. package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +11 -7
  35. package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +8 -5
  36. package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +12 -8
  37. package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +106 -61
  38. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +89 -69
  39. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +45 -23
  40. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +9 -2
  41. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +100 -67
  42. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +32 -20
  43. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +107 -79
  44. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +79 -49
  45. package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
  46. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +37 -27
  47. package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +36 -22
  48. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +63 -40
  49. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +6 -2
  50. package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +28 -14
  51. package/esm2015/lib/shared/components/dialogs/dialogs.module.js +6 -2
  52. package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +28 -14
  53. package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +28 -14
  54. package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +28 -14
  55. package/esm2015/lib/shared/components/error/callback-errors.component.js +34 -23
  56. package/esm2015/lib/shared/components/error/errors.module.js +6 -2
  57. package/esm2015/lib/shared/components/error-message/error-message.component.js +14 -11
  58. package/esm2015/lib/shared/components/error-message/error-message.module.js +8 -4
  59. package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +39 -20
  60. package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +34 -18
  61. package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +34 -19
  62. package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +50 -25
  63. package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +39 -20
  64. package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +34 -18
  65. package/esm2015/lib/shared/components/event-start/event-start.module.js +8 -4
  66. package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +27 -17
  67. package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +6 -2
  68. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +7 -5
  69. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.module.js +6 -2
  70. package/esm2015/lib/shared/components/pagination/pagination.component.js +84 -67
  71. package/esm2015/lib/shared/components/pagination/pagination.module.js +8 -4
  72. package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +50 -31
  73. package/esm2015/lib/shared/components/palette/base-field/abstract-form-field.component.js +4 -2
  74. package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +10 -8
  75. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +8 -14
  76. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +71 -41
  77. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  78. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +2 -3
  79. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +13 -9
  80. package/esm2015/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.js +125 -0
  81. package/esm2015/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.js +198 -0
  82. package/esm2015/lib/shared/components/palette/case-link/components/index.js +10 -0
  83. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +493 -0
  84. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.js +221 -0
  85. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.js +286 -0
  86. package/esm2015/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.js +76 -0
  87. package/esm2015/lib/shared/components/palette/case-link/components/read-linked-cases.component.js +178 -0
  88. package/esm2015/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.js +216 -0
  89. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +260 -0
  90. package/esm2015/lib/shared/components/palette/case-link/domain/index.js +3 -0
  91. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases-state.model.js +2 -0
  92. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases.model.js +19 -0
  93. package/esm2015/lib/shared/components/palette/case-link/enums/index.js +2 -0
  94. package/esm2015/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.js +33 -0
  95. package/esm2015/lib/shared/components/palette/case-link/index.js +4 -1
  96. package/esm2015/lib/shared/components/palette/case-link/read-case-link-field.component.js +28 -8
  97. package/esm2015/lib/shared/components/palette/case-link/services/index.js +2 -0
  98. package/esm2015/lib/shared/components/palette/case-link/services/jurisdiction.service.js +22 -0
  99. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +136 -0
  100. package/esm2015/lib/shared/components/palette/case-link/utils/validators.utils.js +27 -0
  101. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +82 -66
  102. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +45 -32
  103. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +50 -46
  104. package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +7 -6
  105. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +22 -20
  106. package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +5 -4
  107. package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +16 -12
  108. package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +29 -17
  109. package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +31 -25
  110. package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +22 -14
  111. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +26 -17
  112. package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +16 -12
  113. package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +16 -12
  114. package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +20 -15
  115. package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +87 -65
  116. package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +60 -46
  117. package/esm2015/lib/shared/components/palette/index.js +6 -2
  118. package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +16 -12
  119. package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +15 -11
  120. package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +19 -14
  121. package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +16 -12
  122. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +43 -25
  123. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +7 -6
  124. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +41 -29
  125. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +48 -35
  126. package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +88 -50
  127. package/esm2015/lib/shared/components/palette/palette.module.js +98 -42
  128. package/esm2015/lib/shared/components/palette/palette.service.js +10 -4
  129. package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +16 -12
  130. package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +16 -12
  131. package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +16 -12
  132. package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +20 -15
  133. package/esm2015/lib/shared/components/search-filters/search-filters.component.js +60 -35
  134. package/esm2015/lib/shared/components/search-filters/search-filters.module.js +14 -10
  135. package/esm2015/lib/shared/components/search-result/search-result.component.js +120 -89
  136. package/esm2015/lib/shared/components/search-result/search-result.module.js +16 -13
  137. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +64 -46
  138. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +13 -9
  139. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  140. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +5 -1
  141. package/esm2015/lib/shared/pipes/index.js +2 -1
  142. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +23 -0
  143. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  144. package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
  145. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +22 -0
  146. package/esm2015/lib/shared/services/fields/fields.purger.js +128 -112
  147. package/esm2015/lib/shared/services/fields/fields.utils.js +11 -2
  148. package/esm2015/lib/shared/services/form/form-value.service.js +9 -7
  149. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +1 -1
  150. package/esm2015/lib/shared/services/search/search.service.js +8 -1
  151. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +6029 -2592
  152. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  153. package/lib/app.config.d.ts +4 -0
  154. package/lib/app.config.d.ts.map +1 -1
  155. package/lib/components/banners/alert/alert.module.d.ts +2 -1
  156. package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
  157. package/lib/components/footer/footers.module.d.ts +2 -1
  158. package/lib/components/footer/footers.module.d.ts.map +1 -1
  159. package/lib/components/form/form.module.d.ts +2 -1
  160. package/lib/components/form/form.module.d.ts.map +1 -1
  161. package/lib/components/header/headers.module.d.ts +2 -1
  162. package/lib/components/header/headers.module.d.ts.map +1 -1
  163. package/lib/components/tabs/tabs.module.d.ts +2 -1
  164. package/lib/components/tabs/tabs.module.d.ts.map +1 -1
  165. package/lib/shared/components/activity/activity.module.d.ts +2 -1
  166. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  167. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -0
  168. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  169. package/lib/shared/components/case-editor/case-editor.module.d.ts +3 -2
  170. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  171. package/lib/shared/components/case-editor/services/cases.service.d.ts +7 -0
  172. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  173. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -0
  174. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  175. package/lib/shared/components/case-history/case-history.module.d.ts +2 -1
  176. package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -1
  177. package/lib/shared/components/case-list/case-list.module.d.ts +2 -1
  178. package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -1
  179. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +2 -1
  180. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -1
  181. package/lib/shared/components/case-timeline/case-timeline.module.d.ts +2 -1
  182. package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -1
  183. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  184. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -2
  185. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  186. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +6 -4
  187. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  188. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +2 -1
  189. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -1
  190. package/lib/shared/components/dialogs/dialogs.module.d.ts +2 -1
  191. package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
  192. package/lib/shared/components/error/errors.module.d.ts +2 -1
  193. package/lib/shared/components/error/errors.module.d.ts.map +1 -1
  194. package/lib/shared/components/error-message/error-message.module.d.ts +2 -1
  195. package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -1
  196. package/lib/shared/components/event-start/event-start.module.d.ts +2 -1
  197. package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -1
  198. package/lib/shared/components/event-trigger/event-trigger.module.d.ts +2 -1
  199. package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -1
  200. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts +2 -1
  201. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts.map +1 -1
  202. package/lib/shared/components/pagination/pagination.module.d.ts +2 -1
  203. package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
  204. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  205. package/lib/shared/components/palette/base-field/field-write.component.d.ts +2 -2
  206. package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
  207. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +11 -5
  208. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  209. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +2 -0
  210. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  211. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +0 -1
  212. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  213. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  214. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts +19 -0
  215. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  216. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  217. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  218. package/lib/shared/components/palette/case-link/components/index.d.ts +10 -0
  219. package/lib/shared/components/palette/case-link/components/index.d.ts.map +1 -0
  220. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +41 -0
  221. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +1 -0
  222. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts +42 -0
  223. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  224. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts +45 -0
  225. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  226. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts +12 -0
  227. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  228. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts +37 -0
  229. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts.map +1 -0
  230. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  231. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  232. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +45 -0
  233. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -0
  234. package/lib/shared/components/palette/case-link/domain/index.d.ts +3 -0
  235. package/lib/shared/components/palette/case-link/domain/index.d.ts.map +1 -0
  236. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts +12 -0
  237. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts.map +1 -0
  238. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts +65 -0
  239. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts.map +1 -0
  240. package/lib/shared/components/palette/case-link/enums/index.d.ts +2 -0
  241. package/lib/shared/components/palette/case-link/enums/index.d.ts.map +1 -0
  242. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts +29 -0
  243. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  244. package/lib/shared/components/palette/case-link/index.d.ts +3 -0
  245. package/lib/shared/components/palette/case-link/index.d.ts.map +1 -1
  246. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts +3 -0
  247. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts.map +1 -1
  248. package/lib/shared/components/palette/case-link/services/index.d.ts +2 -0
  249. package/lib/shared/components/palette/case-link/services/index.d.ts.map +1 -0
  250. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts +12 -0
  251. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts.map +1 -0
  252. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +51 -0
  253. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +1 -0
  254. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts +10 -0
  255. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts.map +1 -0
  256. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +14 -3
  257. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  258. package/lib/shared/components/palette/index.d.ts +5 -1
  259. package/lib/shared/components/palette/index.d.ts.map +1 -1
  260. package/lib/shared/components/palette/palette.module.d.ts +55 -45
  261. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  262. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  263. package/lib/shared/components/search-filters/search-filters.module.d.ts +2 -1
  264. package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
  265. package/lib/shared/components/search-result/search-result.module.d.ts +3 -2
  266. package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -1
  267. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +2 -1
  268. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
  269. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  270. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  271. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  272. package/lib/shared/pipes/index.d.ts +1 -0
  273. package/lib/shared/pipes/index.d.ts.map +1 -1
  274. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +11 -0
  275. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  276. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  277. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  278. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  279. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  280. package/lib/shared/services/common-data-service/common-data-service.d.ts +29 -0
  281. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -0
  282. package/lib/shared/services/fields/fields.purger.d.ts +19 -12
  283. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  284. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  285. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  286. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  287. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  288. package/lib/shared/services/search/search.service.d.ts +4 -0
  289. package/lib/shared/services/search/search.service.d.ts.map +1 -1
  290. package/package.json +1 -1
@@ -14,12 +14,13 @@ import * as i2 from "../../../services/form/form-validators.service";
14
14
  function WriteComplexFieldComponent_h2_3_Template(rf, ctx) { if (rf & 1) {
15
15
  i0.ɵɵelementStart(0, "h2", 3);
16
16
  i0.ɵɵtext(1);
17
- i0.ɵɵpipe(2, "ccdFieldLabel");
17
+ i0.ɵɵpipe(2, "rpxTranslate");
18
+ i0.ɵɵpipe(3, "ccdFieldLabel");
18
19
  i0.ɵɵelementEnd();
19
20
  } if (rf & 2) {
20
21
  const ctx_r0 = i0.ɵɵnextContext();
21
22
  i0.ɵɵadvance(1);
22
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.caseField));
23
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind1(3, 3, ctx_r0.caseField)));
23
24
  } }
24
25
  function WriteComplexFieldComponent_ng_container_4_ccd_field_read_2_Template(rf, ctx) { if (rf & 1) {
25
26
  i0.ɵɵelement(0, "ccd-field-read", 7);
@@ -147,7 +148,7 @@ WriteComplexFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteComplexFi
147
148
  i0.ɵɵelementStart(0, "div", 0);
148
149
  i0.ɵɵelementStart(1, "fieldset");
149
150
  i0.ɵɵelementStart(2, "legend");
150
- i0.ɵɵtemplate(3, WriteComplexFieldComponent_h2_3_Template, 3, 3, "h2", 1);
151
+ i0.ɵɵtemplate(3, WriteComplexFieldComponent_h2_3_Template, 4, 5, "h2", 1);
151
152
  i0.ɵɵelementEnd();
152
153
  i0.ɵɵtemplate(4, WriteComplexFieldComponent_ng_container_4_Template, 4, 5, "ng-container", 2);
153
154
  i0.ɵɵelementEnd();
@@ -175,4 +176,4 @@ WriteComplexFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteComplexFi
175
176
  }], ignoreMandatory: [{
176
177
  type: Input
177
178
  }] }); })();
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3dyaXRlLWNvbXBsZXgtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC93cml0ZS1jb21wbGV4LWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztJQ1QvQyw2QkFBMkM7SUFBQSxZQUE2Qjs7SUFBQSxpQkFBSzs7O0lBQWxDLGVBQTZCO0lBQTdCLDREQUE2Qjs7O0lBRTlFLG9DQU1pQjs7OztJ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QWdCOzt1RkRpQjFFLDBCQUEwQjtjQUx0QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtnQkFDeEMsV0FBVyxFQUFFLDRCQUE0QjtnQkFDekMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7YUFDL0M7cUdBR1EsVUFBVTtrQkFEaEIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQU1DLFdBQVc7a0JBRGpCLEtBQUs7WUFJQyxlQUFlO2tCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkc0ZpbHRlclBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9jb21wbGV4L2ZpZWxkcy1maWx0ZXIucGlwZSc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS9mb3JtLXZhbGlkYXRvcnMuc2VydmljZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJc0NvbXBvdW5kUGlwZSB9IGZyb20gJy4uL3V0aWxzL2lzLWNvbXBvdW5kLnBpcGUnO1xuXG5jb25zdCBBRERSRVNTX0ZJRUxEX1RZUEVTID0gWyAnQWRkcmVzc1VLJywgJ0FkZHJlc3NHbG9iYWxVSycsICdBZGRyZXNzR2xvYmFsJyBdO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtY29tcGxleC10eXBlLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWNvbXBsZXgtZmllbGQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlYWQtY29tcGxleC1maWVsZC10YWJsZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIGNvbXBsZXhHcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZW5kZXJMYWJlbCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlnbm9yZU1hbmRhdG9yeSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb21wbGV4RmllbGRzOiBDYXNlRmllbGRbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGlzQ29tcG91bmRQaXBlOiBJc0NvbXBvdW5kUGlwZSwgcHJpdmF0ZSByZWFkb25seSBmb3JtVmFsaWRhdG9yc1NlcnZpY2U6IEZvcm1WYWxpZGF0b3JzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBBcmUgd2UgaW5zaWRlIG9mIGEgY29sbGVjdGlvbj8gSWYgc28sIHRoZSBwYXJlbnQgaXMgdGhlIGNvbXBsZXhHcm91cCB3ZSB3YW50LlxuICAgIGlmICh0aGlzLmlzVG9wTGV2ZWxXaXRoaW5Db2xsZWN0aW9uKCkpIHtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwID0gdGhpcy5wYXJlbnQgYXMgRm9ybUdyb3VwO1xuICAgICAgRmllbGRzVXRpbHMuYWRkQ2FzZUZpZWxkQW5kQ29tcG9uZW50UmVmZXJlbmNlcyh0aGlzLmNvbXBsZXhHcm91cCwgdGhpcy5jYXNlRmllbGQsIHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbXBsZXhHcm91cCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKHRoaXMuY29tcGxleEdyb3VwLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICAgIC8vIEFkZCB2YWxpZGF0b3JzIGZvciB0aGUgY29tcGxleCBmaWVsZC5cbiAgICB0aGlzLmZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKHRoaXMuY2FzZUZpZWxkLCB0aGlzLmNvbXBsZXhHcm91cCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkcygpO1xuICAgIHRoaXMuY29tcGxleEdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRGaWVsZChjYXNlRmllbGQ6IENhc2VGaWVsZCk6IENhc2VGaWVsZCB7XG4gICAgbGV0IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuY29tcGxleEdyb3VwLmdldChjYXNlRmllbGQuaWQpO1xuICAgIGlmICghY29udHJvbCkge1xuICAgICAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChjYXNlRmllbGQudmFsdWUpO1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAuYWRkQ29udHJvbChjYXNlRmllbGQuaWQsIGNvbnRyb2wpO1xuICAgIH1cblxuICAgIC8vIEFkZCB2YWxpZGF0b3JzIGZvciBhZGRyZXNzZXMsIGlmIGFwcHJvcHJpYXRlLlxuICAgIGlmICh0aGlzLmlzQWRkcmVzc1VLKCkpIHtcbiAgICAgIGlmICh0aGlzLmFkZHJlc3NWYWxpZGF0b3JzUmVxdWlyZWQoY2FzZUZpZWxkKSkge1xuICAgICAgICB0aGlzLmZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKGNhc2VGaWVsZCwgY29udHJvbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEl0J3Mgbm90IGFuIGFkZHJlc3Mgc28gc2V0IGl0IHVwIGFjY29yZGluZyB0byBpdHMgb3duIGRpc3BsYXlfY29udGV4dC5cbiAgICAgIHRoaXMuZm9ybVZhbGlkYXRvcnNTZXJ2aWNlLmFkZFZhbGlkYXRvcnMoY2FzZUZpZWxkLCBjb250cm9sKTtcbiAgICB9XG5cbiAgICAvLyBGb3IgQWRkcmVzcy10eXBlIGZpZWxkcywgZW5zdXJlIHRoYXQgYWxsIHN1Yi1maWVsZHMgaW5oZXJpdCB0aGUgc2FtZSB2YWx1ZSBmb3IgcmV0YWluX2hpZGRlbl92YWx1ZSBhcyB0aGlzXG4gICAgLy8gcGFyZW50OyBhbHRob3VnaCBhZGRyZXNzIGZpZWxkcyB1c2UgdGhlIENvbXBsZXggdHlwZSwgZWFjaCBvZiB0aGVtIGlzIG1lYW50IHRvIGJlIHRyZWF0ZWQgYXMgb25lIGZpZWxkXG4gICAgaWYgKHRoaXMuaXNBZGRyZXNzVUsoKSAmJiB0aGlzLmNhc2VGaWVsZCkge1xuICAgICAgZm9yIChjb25zdCBhZGRyZXNzU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBhZGRyZXNzU3ViRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgRmllbGRzVXRpbHMuYWRkQ2FzZUZpZWxkQW5kQ29tcG9uZW50UmVmZXJlbmNlcyhjb250cm9sLCBjYXNlRmllbGQsIHRoaXMpO1xuICAgIHJldHVybiBjYXNlRmllbGQ7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRJZFByZWZpeChmaWVsZDogQ2FzZUZpZWxkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbXBvdW5kUGlwZS50cmFuc2Zvcm0oZmllbGQpID8gYCR7dGhpcy5pZFByZWZpeH0ke2ZpZWxkLmlkfV9gIDogYCR7dGhpcy5pZFByZWZpeH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRyZXNzVmFsaWRhdG9yc1JlcXVpcmVkKGNhc2VGaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTbWFsbEFkZHJlc3NMaW5lMShjYXNlRmllbGQpICYmIHRoaXMuaXNNYW5kYXRvcnkoY2FzZUZpZWxkKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTbWFsbEFkZHJlc3NMaW5lMShjYXNlRmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjYXNlRmllbGQuaWQgPT09ICdBZGRyZXNzTGluZTEnICYmIGNhc2VGaWVsZC5maWVsZF90eXBlLmlkID09PSAnVGV4dE1heDE1MCc7XG4gIH1cblxuICBwcml2YXRlIGlzTWFuZGF0b3J5KGNhc2VGaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChDb25zdGFudHMuTUFOREFUT1JZID09PSBjYXNlRmllbGQuZGlzcGxheV9jb250ZXh0IHx8ICF0aGlzLmlnbm9yZU1hbmRhdG9yeSk7XG4gIH1cblxuICBwcml2YXRlIGlzQWRkcmVzc1VLKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBRERSRVNTX0ZJRUxEX1RZUEVTLmluZGV4T2YodGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5pZCkgPiAtMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNUb3BMZXZlbFdpdGhpbkNvbGxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnRDYXNlRmllbGQ6IENhc2VGaWVsZCA9IHRoaXMucGFyZW50WydjYXNlRmllbGQnXTtcbiAgICAgIGlmIChwYXJlbnRDYXNlRmllbGQgJiYgcGFyZW50Q2FzZUZpZWxkLmlkID09PSB0aGlzLmNhc2VGaWVsZC5pZCkge1xuICAgICAgICBjb25zdCBwYXJlbnRDb21wb25lbnQgPSB0aGlzLnBhcmVudFsnY29tcG9uZW50J10gYXMgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQ7XG4gICAgICAgIGlmIChwYXJlbnRDb21wb25lbnQpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnRDb21wb25lbnRDYXNlRmllbGQgPSBwYXJlbnRDb21wb25lbnQuY2FzZUZpZWxkO1xuICAgICAgICAgIGlmIChwYXJlbnRDb21wb25lbnRDYXNlRmllbGQuZmllbGRfdHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudENvbXBvbmVudENhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZHNGaWx0ZXJQaXBlOiBGaWVsZHNGaWx0ZXJQaXBlID0gbmV3IEZpZWxkc0ZpbHRlclBpcGUoKTtcbiAgICB0aGlzLmNvbXBsZXhGaWVsZHMgPSBmaWVsZHNGaWx0ZXJQaXBlLnRyYW5zZm9ybSh0aGlzLmNhc2VGaWVsZCwgdHJ1ZSkubWFwKGZpZWxkID0+IHtcbiAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC5pZCkge1xuICAgICAgICBpZiAoIShmaWVsZCBpbnN0YW5jZW9mIENhc2VGaWVsZCkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5idWlsZEZpZWxkKHBsYWluVG9DbGFzc0Zyb21FeGlzdChuZXcgQ2FzZUZpZWxkKCksIGZpZWxkKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkRmllbGQoZmllbGQpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtpZF09XCJpZCgpXCI+XG4gIDxmaWVsZHNldD5cbiAgICA8bGVnZW5kPjxoMiAqbmdJZj1cInJlbmRlckxhYmVsXCIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+e3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX08L2gyPjwvbGVnZW5kPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkIHwgY2NkSXNSZWFkT25seVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb21wbGV4RmllbGRzXCI+XG4gICAgICA8Y2NkLWZpZWxkLXJlYWQgKm5nU3dpdGNoQ2FzZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImJ1aWxkRmllbGQoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3dpdGhMYWJlbF09XCJ0cnVlXCI+XG4gICAgICA8L2NjZC1maWVsZC1yZWFkPlxuICAgICAgPGNjZC1maWVsZC13cml0ZSAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICBjY2RMYWJlbFN1YnN0aXR1dG9yXG4gICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XT1cImNvbXBsZXhHcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpZFByZWZpeF09XCJidWlsZElkUHJlZml4KGZpZWxkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpc0luU2VhcmNoQmxvY2tdPVwiaXNJblNlYXJjaEJsb2NrXCI+XG4gICAgICA8L2NjZC1maWVsZC13cml0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9maWVsZHNldD5cbjwvZGl2PlxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3dyaXRlLWNvbXBsZXgtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC93cml0ZS1jb21wbGV4LWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztJQ1QvQyw2QkFBMkM7SUFBQSxZQUE4Qzs7O0lBQUEsaUJBQUs7OztJQUFuRCxlQUE4QztJQUE5QyxrRkFBOEM7OztJQUUvRixvQ0FNaUI7Ozs7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QUFnQjs7dUZEaUIxRSwwQkFBMEI7Y0FMdEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLFdBQVcsRUFBRSw0QkFBNEI7Z0JBQ3pDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2FBQy9DO3FHQUdRLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFNQyxXQUFXO2tCQURqQixLQUFLO1lBSUMsZUFBZTtrQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzRnJvbUV4aXN0IH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNGaWx0ZXJQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvY29tcGxleC9maWVsZHMtZmlsdGVyLnBpcGUnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXNDb21wb3VuZFBpcGUgfSBmcm9tICcuLi91dGlscy9pcy1jb21wb3VuZC5waXBlJztcblxuY29uc3QgQUREUkVTU19GSUVMRF9UWVBFUyA9IFsgJ0FkZHJlc3NVSycsICdBZGRyZXNzR2xvYmFsVUsnLCAnQWRkcmVzc0dsb2JhbCcgXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLWNvbXBsZXgtdHlwZS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1jb21wbGV4LWZpZWxkLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBjb21wbGV4R3JvdXA6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVuZGVyTGFiZWwgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZ25vcmVNYW5kYXRvcnkgPSBmYWxzZTtcblxuICBwdWJsaWMgY29tcGxleEZpZWxkczogQ2FzZUZpZWxkW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpc0NvbXBvdW5kUGlwZTogSXNDb21wb3VuZFBpcGUsIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbGlkYXRvcnNTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29tcGxleEdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQXJlIHdlIGluc2lkZSBvZiBhIGNvbGxlY3Rpb24/IElmIHNvLCB0aGUgcGFyZW50IGlzIHRoZSBjb21wbGV4R3JvdXAgd2Ugd2FudC5cbiAgICBpZiAodGhpcy5pc1RvcExldmVsV2l0aGluQ29sbGVjdGlvbigpKSB7XG4gICAgICB0aGlzLmNvbXBsZXhHcm91cCA9IHRoaXMucGFyZW50IGFzIEZvcm1Hcm91cDtcbiAgICAgIEZpZWxkc1V0aWxzLmFkZENhc2VGaWVsZEFuZENvbXBvbmVudFJlZmVyZW5jZXModGhpcy5jb21wbGV4R3JvdXAsIHRoaXMuY2FzZUZpZWxkLCB0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbCh0aGlzLmNvbXBsZXhHcm91cCwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICAgIH1cbiAgICAvLyBBZGQgdmFsaWRhdG9ycyBmb3IgdGhlIGNvbXBsZXggZmllbGQuXG4gICAgdGhpcy5mb3JtVmFsaWRhdG9yc1NlcnZpY2UuYWRkVmFsaWRhdG9ycyh0aGlzLmNhc2VGaWVsZCwgdGhpcy5jb21wbGV4R3JvdXApO1xuICAgIHRoaXMuc2V0dXBGaWVsZHMoKTtcbiAgICB0aGlzLmNvbXBsZXhHcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkRmllbGQoY2FzZUZpZWxkOiBDYXNlRmllbGQpOiBDYXNlRmllbGQge1xuICAgIGxldCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmNvbXBsZXhHcm91cC5nZXQoY2FzZUZpZWxkLmlkKTtcbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woY2FzZUZpZWxkLnZhbHVlKTtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwLmFkZENvbnRyb2woY2FzZUZpZWxkLmlkLCBjb250cm9sKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdmFsaWRhdG9ycyBmb3IgYWRkcmVzc2VzLCBpZiBhcHByb3ByaWF0ZS5cbiAgICBpZiAodGhpcy5pc0FkZHJlc3NVSygpKSB7XG4gICAgICBpZiAodGhpcy5hZGRyZXNzVmFsaWRhdG9yc1JlcXVpcmVkKGNhc2VGaWVsZCkpIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsaWRhdG9yc1NlcnZpY2UuYWRkVmFsaWRhdG9ycyhjYXNlRmllbGQsIGNvbnRyb2wpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJdCdzIG5vdCBhbiBhZGRyZXNzIHNvIHNldCBpdCB1cCBhY2NvcmRpbmcgdG8gaXRzIG93biBkaXNwbGF5X2NvbnRleHQuXG4gICAgICB0aGlzLmZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKGNhc2VGaWVsZCwgY29udHJvbCk7XG4gICAgfVxuXG4gICAgLy8gRm9yIEFkZHJlc3MtdHlwZSBmaWVsZHMsIGVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpc1xuICAgIC8vIHBhcmVudDsgYWx0aG91Z2ggYWRkcmVzcyBmaWVsZHMgdXNlIHRoZSBDb21wbGV4IHR5cGUsIGVhY2ggb2YgdGhlbSBpcyBtZWFudCB0byBiZSB0cmVhdGVkIGFzIG9uZSBmaWVsZFxuICAgIGlmICh0aGlzLmlzQWRkcmVzc1VLKCkgJiYgdGhpcy5jYXNlRmllbGQpIHtcbiAgICAgIGZvciAoY29uc3QgYWRkcmVzc1N1YkZpZWxkIG9mIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgICAgYWRkcmVzc1N1YkZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWUgPSB0aGlzLmNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEZpZWxkc1V0aWxzLmFkZENhc2VGaWVsZEFuZENvbXBvbmVudFJlZmVyZW5jZXMoY29udHJvbCwgY2FzZUZpZWxkLCB0aGlzKTtcbiAgICByZXR1cm4gY2FzZUZpZWxkO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkSWRQcmVmaXgoZmllbGQ6IENhc2VGaWVsZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNDb21wb3VuZFBpcGUudHJhbnNmb3JtKGZpZWxkKSA/IGAke3RoaXMuaWRQcmVmaXh9JHtmaWVsZC5pZH1fYCA6IGAke3RoaXMuaWRQcmVmaXh9YDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkcmVzc1ZhbGlkYXRvcnNSZXF1aXJlZChjYXNlRmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU21hbGxBZGRyZXNzTGluZTEoY2FzZUZpZWxkKSAmJiB0aGlzLmlzTWFuZGF0b3J5KGNhc2VGaWVsZCk7XG4gIH1cblxuICBwcml2YXRlIGlzU21hbGxBZGRyZXNzTGluZTEoY2FzZUZpZWxkOiBDYXNlRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2FzZUZpZWxkLmlkID09PSAnQWRkcmVzc0xpbmUxJyAmJiBjYXNlRmllbGQuZmllbGRfdHlwZS5pZCA9PT0gJ1RleHRNYXgxNTAnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc01hbmRhdG9yeShjYXNlRmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoQ29uc3RhbnRzLk1BTkRBVE9SWSA9PT0gY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCB8fCAhdGhpcy5pZ25vcmVNYW5kYXRvcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FkZHJlc3NVSygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQUREUkVTU19GSUVMRF9UWVBFUy5pbmRleE9mKHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuaWQpID4gLTE7XG4gIH1cblxuICBwcml2YXRlIGlzVG9wTGV2ZWxXaXRoaW5Db2xsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgY29uc3QgcGFyZW50Q2FzZUZpZWxkOiBDYXNlRmllbGQgPSB0aGlzLnBhcmVudFsnY2FzZUZpZWxkJ107XG4gICAgICBpZiAocGFyZW50Q2FzZUZpZWxkICYmIHBhcmVudENhc2VGaWVsZC5pZCA9PT0gdGhpcy5jYXNlRmllbGQuaWQpIHtcbiAgICAgICAgY29uc3QgcGFyZW50Q29tcG9uZW50ID0gdGhpcy5wYXJlbnRbJ2NvbXBvbmVudCddIGFzIEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50O1xuICAgICAgICBpZiAocGFyZW50Q29tcG9uZW50KSB7XG4gICAgICAgICAgY29uc3QgcGFyZW50Q29tcG9uZW50Q2FzZUZpZWxkID0gcGFyZW50Q29tcG9uZW50LmNhc2VGaWVsZDtcbiAgICAgICAgICBpZiAocGFyZW50Q29tcG9uZW50Q2FzZUZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnRDb21wb25lbnRDYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29sbGVjdGlvbic7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgZmllbGRzRmlsdGVyUGlwZTogRmllbGRzRmlsdGVyUGlwZSA9IG5ldyBGaWVsZHNGaWx0ZXJQaXBlKCk7XG4gICAgdGhpcy5jb21wbGV4RmllbGRzID0gZmllbGRzRmlsdGVyUGlwZS50cmFuc2Zvcm0odGhpcy5jYXNlRmllbGQsIHRydWUpLm1hcChmaWVsZCA9PiB7XG4gICAgICBpZiAoZmllbGQgJiYgZmllbGQuaWQpIHtcbiAgICAgICAgaWYgKCEoZmllbGQgaW5zdGFuY2VvZiBDYXNlRmllbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRGaWVsZChwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCBmaWVsZCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5idWlsZEZpZWxkKGZpZWxkKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbaWRdPVwiaWQoKVwiPlxuICA8ZmllbGRzZXQ+XG4gICAgPGxlZ2VuZD48aDIgKm5nSWY9XCJyZW5kZXJMYWJlbFwiIGNsYXNzPVwiaGVhZGluZy1oMlwiPnt7KGNhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwpIHwgcnB4VHJhbnNsYXRlfX08L2gyPjwvbGVnZW5kPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkIHwgY2NkSXNSZWFkT25seVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb21wbGV4RmllbGRzXCI+XG4gICAgICA8Y2NkLWZpZWxkLXJlYWQgKm5nU3dpdGNoQ2FzZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImJ1aWxkRmllbGQoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3dpdGhMYWJlbF09XCJ0cnVlXCI+XG4gICAgICA8L2NjZC1maWVsZC1yZWFkPlxuICAgICAgPGNjZC1maWVsZC13cml0ZSAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICBjY2RMYWJlbFN1YnN0aXR1dG9yXG4gICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XT1cImNvbXBsZXhHcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpZFByZWZpeF09XCJidWlsZElkUHJlZml4KGZpZWxkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpc0luU2VhcmNoQmxvY2tdPVwiaXNJblNlYXJjaEJsb2NrXCI+XG4gICAgICA8L2NjZC1maWVsZC13cml0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9maWVsZHNldD5cbjwvZGl2PlxuIl19
@@ -6,36 +6,40 @@ import * as i1 from "@angular/common";
6
6
  import * as i2 from "../../../../components/form/date-input/date-input.component";
7
7
  import * as i3 from "@angular/forms";
8
8
  import * as i4 from "../utils/is-mandatory.pipe";
9
- import * as i5 from "../utils/field-label.pipe";
10
- import * as i6 from "../utils/first-error.pipe";
9
+ import * as i5 from "rpx-xui-translation";
10
+ import * as i6 from "../utils/field-label.pipe";
11
+ import * as i7 from "../utils/first-error.pipe";
11
12
  function WriteDateFieldComponent_span_3_Template(rf, ctx) { if (rf & 1) {
12
13
  i0.ɵɵelementStart(0, "span", 5);
13
14
  i0.ɵɵtext(1);
14
- i0.ɵɵpipe(2, "ccdFieldLabel");
15
+ i0.ɵɵpipe(2, "rpxTranslate");
16
+ i0.ɵɵpipe(3, "ccdFieldLabel");
15
17
  i0.ɵɵelementEnd();
16
18
  } if (rf & 2) {
17
19
  const ctx_r0 = i0.ɵɵnextContext();
18
20
  i0.ɵɵadvance(1);
19
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.caseField));
21
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind1(3, 3, ctx_r0.caseField)));
20
22
  } }
21
23
  function WriteDateFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
22
24
  i0.ɵɵelementStart(0, "span", 6);
23
25
  i0.ɵɵtext(1);
26
+ i0.ɵɵpipe(2, "rpxTranslate");
24
27
  i0.ɵɵelementEnd();
25
28
  } if (rf & 2) {
26
29
  const ctx_r1 = i0.ɵɵnextContext();
27
30
  i0.ɵɵadvance(1);
28
- i0.ɵɵtextInterpolate(ctx_r1.caseField.hint_text);
31
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r1.caseField.hint_text));
29
32
  } }
30
33
  function WriteDateFieldComponent_span_5_Template(rf, ctx) { if (rf & 1) {
31
34
  i0.ɵɵelementStart(0, "span", 7);
32
35
  i0.ɵɵtext(1);
33
- i0.ɵɵpipe(2, "ccdFirstError");
36
+ i0.ɵɵpipe(2, "rpxTranslate");
37
+ i0.ɵɵpipe(3, "ccdFirstError");
34
38
  i0.ɵɵelementEnd();
35
39
  } if (rf & 2) {
36
40
  const ctx_r2 = i0.ɵɵnextContext();
37
41
  i0.ɵɵadvance(1);
38
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.dateControl.errors, ctx_r2.caseField.label));
42
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r2.dateControl.errors, ctx_r2.caseField.label)));
39
43
  } }
40
44
  const _c0 = function (a0) { return { "form-group-error": a0 }; };
41
45
  export class WriteDateFieldComponent extends AbstractFieldWriteComponent {
@@ -51,10 +55,10 @@ WriteDateFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDateFieldCom
51
55
  i0.ɵɵelementStart(0, "div", 0);
52
56
  i0.ɵɵelementStart(1, "fieldset");
53
57
  i0.ɵɵelementStart(2, "legend");
54
- i0.ɵɵtemplate(3, WriteDateFieldComponent_span_3_Template, 3, 3, "span", 1);
58
+ i0.ɵɵtemplate(3, WriteDateFieldComponent_span_3_Template, 4, 5, "span", 1);
55
59
  i0.ɵɵelementEnd();
56
- i0.ɵɵtemplate(4, WriteDateFieldComponent_span_4_Template, 2, 1, "span", 2);
57
- i0.ɵɵtemplate(5, WriteDateFieldComponent_span_5_Template, 3, 4, "span", 3);
60
+ i0.ɵɵtemplate(4, WriteDateFieldComponent_span_4_Template, 3, 3, "span", 2);
61
+ i0.ɵɵtemplate(5, WriteDateFieldComponent_span_5_Template, 4, 6, "span", 3);
58
62
  i0.ɵɵelement(6, "cut-date-input", 4);
59
63
  i0.ɵɵpipe(7, "ccdIsMandatory");
60
64
  i0.ɵɵelementEnd();
@@ -69,7 +73,7 @@ WriteDateFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteDateFieldCom
69
73
  i0.ɵɵproperty("ngIf", ctx.dateControl && ctx.dateControl.errors && (ctx.dateControl.dirty || ctx.dateControl.touched));
70
74
  i0.ɵɵadvance(1);
71
75
  i0.ɵɵproperty("id", ctx.id())("isDateTime", ctx.isDateTime())("mandatory", i0.ɵɵpipeBind1(7, 10, ctx.caseField))("isInvalid", ctx.dateControl.errors && (ctx.dateControl.dirty || ctx.dateControl.touched))("formControl", ctx.dateControl);
72
- } }, directives: [i1.NgClass, i1.NgIf, i2.DateInputComponent, i3.NgControlStatus, i3.FormControlDirective], pipes: [i4.IsMandatoryPipe, i5.FieldLabelPipe, i6.FirstErrorPipe], encapsulation: 2 });
76
+ } }, directives: [i1.NgClass, i1.NgIf, i2.DateInputComponent, i3.NgControlStatus, i3.FormControlDirective], pipes: [i4.IsMandatoryPipe, i5.RpxTranslatePipe, i6.FieldLabelPipe, i7.FirstErrorPipe], encapsulation: 2 });
73
77
  const ɵWriteDateFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(WriteDateFieldComponent);
74
78
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteDateFieldComponent, [{
75
79
  type: Component,
@@ -78,4 +82,4 @@ const ɵWriteDateFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedF
78
82
  templateUrl: './write-date-field.html'
79
83
  }]
80
84
  }], null, null); })();
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZGF0ZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9kYXRlL3dyaXRlLWRhdGUtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZGF0ZS93cml0ZS1kYXRlLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7OztJQ0VyRiwrQkFBaUQ7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTzs7O0lBQXJDLGVBQThCO0lBQTlCLDREQUE4Qjs7O0lBRWpGLCtCQUFvRDtJQUFBLFlBQXVCO0lBQUEsaUJBQU87OztJQUE5QixlQUF1QjtJQUF2QixnREFBdUI7OztJQUMzRSwrQkFBb0g7SUFBQSxZQUFzRDs7SUFBQSxpQkFBTzs7O0lBQTdELGVBQXNEO0lBQXRELDZGQUFzRDs7O0FEQzlLLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSwyQkFBMkI7SUFHL0QsUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFnQixDQUFDO0lBQ2hHLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDO0lBQ3JELENBQUM7OzhIQVRVLHVCQUF1Qjs0REFBdkIsdUJBQXVCO1FDUnBDLDhCQUFnSztRQUU5SixnQ0FBVTtRQUNSLDhCQUFRO1FBQ04sMEVBQXNGO1FBQ3hGLGlCQUFTO1FBQ1QsMEVBQWtGO1FBQ2xGLDBFQUFpTDtRQUNqTCxvQ0FJNkQ7O1FBRS9ELGlCQUFXO1FBQ2IsaUJBQU07O1FBZjRCLDZCQUFXLHlJQUFBO1FBSWIsZUFBcUI7UUFBckIsMENBQXFCO1FBRXhCLGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNyQixlQUFxRjtRQUFyRixzSEFBcUY7UUFDbEcsZUFBVztRQUFYLDZCQUFXLGdDQUFBLG1EQUFBLDJGQUFBLGdDQUFBOztvRkRBbEIsdUJBQXVCO3VGQUF2Qix1QkFBdUI7Y0FKbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFdBQVcsRUFBRSx5QkFBeUI7YUFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1kYXRlLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWRhdGUtZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVEYXRlRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZGF0ZUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGVDb250cm9sID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Db250cm9sKHRoaXMuY2FzZUZpZWxkLnZhbHVlKSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgaXNEYXRlVGltZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5pZCA9PT0gJ0RhdGVUaW1lJztcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBib3R0b20tMzBcIiBbaWRdPVwiaWQoKVwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGRhdGVDb250cm9sICYmICFkYXRlQ29udHJvbC52YWxpZCAmJiAoZGF0ZUNvbnRyb2wuZGlydHkgfHwgZGF0ZUNvbnRyb2wudG91Y2hlZCl9XCI+XG5cbiAgPGZpZWxkc2V0PlxuICAgIDxsZWdlbmQ+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2xlZ2VuZD5cbiAgICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZGF0ZUNvbnRyb2wgJiYgZGF0ZUNvbnRyb2wuZXJyb3JzICYmIChkYXRlQ29udHJvbC5kaXJ0eSB8fCBkYXRlQ29udHJvbC50b3VjaGVkKVwiPnt7ZGF0ZUNvbnRyb2wuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWx9fTwvc3Bhbj5cbiAgICA8Y3V0LWRhdGUtaW5wdXQgW2lkXT1cImlkKClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNEYXRlVGltZV09XCJpc0RhdGVUaW1lKClcIlxuICAgICAgICAgICAgICAgICAgICBbbWFuZGF0b3J5XT1cImNhc2VGaWVsZCB8IGNjZElzTWFuZGF0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgW2lzSW52YWxpZF09XCJkYXRlQ29udHJvbC5lcnJvcnMgJiYgKGRhdGVDb250cm9sLmRpcnR5IHx8IGRhdGVDb250cm9sLnRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRhdGVDb250cm9sXCI+PC9jdXQtZGF0ZS1pbnB1dD5cblxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZGF0ZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9kYXRlL3dyaXRlLWRhdGUtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZGF0ZS93cml0ZS1kYXRlLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7Ozs7SUNFckYsK0JBQWlEO0lBQUEsWUFBK0M7OztJQUFBLGlCQUFPOzs7SUFBdEQsZUFBK0M7SUFBL0Msa0ZBQStDOzs7SUFFbEcsK0JBQW9EO0lBQUEsWUFBc0M7O0lBQUEsaUJBQU87OztJQUE3QyxlQUFzQztJQUF0QyxzRUFBc0M7OztJQUMxRiwrQkFBb0g7SUFBQSxZQUF1RTs7O0lBQUEsaUJBQU87OztJQUE5RSxlQUF1RTtJQUF2RSxtSEFBdUU7OztBREMvTCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsMkJBQTJCO0lBRy9ELFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBZ0IsQ0FBQztJQUNoRyxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNyRCxDQUFDOzs4SEFUVSx1QkFBdUI7NERBQXZCLHVCQUF1QjtRQ1JwQyw4QkFBZ0s7UUFFOUosZ0NBQVU7UUFDUiw4QkFBUTtRQUNOLDBFQUF1RztRQUN6RyxpQkFBUztRQUNULDBFQUFpRztRQUNqRywwRUFBa007UUFDbE0sb0NBSTZEOztRQUUvRCxpQkFBVztRQUNiLGlCQUFNOztRQWY0Qiw2QkFBVyx5SUFBQTtRQUliLGVBQXFCO1FBQXJCLDBDQUFxQjtRQUV4QixlQUF5QjtRQUF6Qiw4Q0FBeUI7UUFDckIsZUFBcUY7UUFBckYsc0hBQXFGO1FBQ2xHLGVBQVc7UUFBWCw2QkFBVyxnQ0FBQSxtREFBQSwyRkFBQSxnQ0FBQTs7b0ZEQWxCLHVCQUF1Qjt1RkFBdkIsdUJBQXVCO2NBSm5DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxXQUFXLEVBQUUseUJBQXlCO2FBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtZGF0ZS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1kYXRlLWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlRGF0ZUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGRhdGVDb250cm9sOiBGb3JtQ29udHJvbDtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kYXRlQ29udHJvbCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgcHVibGljIGlzRGF0ZVRpbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuaWQgPT09ICdEYXRlVGltZSc7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgYm90dG9tLTMwXCIgW2lkXT1cImlkKClcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBkYXRlQ29udHJvbCAmJiAhZGF0ZUNvbnRyb2wudmFsaWQgJiYgKGRhdGVDb250cm9sLmRpcnR5IHx8IGRhdGVDb250cm9sLnRvdWNoZWQpfVwiPlxuXG4gIDxmaWVsZHNldD5cbiAgICA8bGVnZW5kPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIj57eyhjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsKSB8IHJweFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2xlZ2VuZD5cbiAgICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZGF0ZUNvbnRyb2wgJiYgZGF0ZUNvbnRyb2wuZXJyb3JzICYmIChkYXRlQ29udHJvbC5kaXJ0eSB8fCBkYXRlQ29udHJvbC50b3VjaGVkKVwiPnt7KGRhdGVDb250cm9sLmVycm9ycyB8IGNjZEZpcnN0RXJyb3I6Y2FzZUZpZWxkLmxhYmVsKSB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgIDxjdXQtZGF0ZS1pbnB1dCBbaWRdPVwiaWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc0RhdGVUaW1lXT1cImlzRGF0ZVRpbWUoKVwiXG4gICAgICAgICAgICAgICAgICAgIFttYW5kYXRvcnldPVwiY2FzZUZpZWxkIHwgY2NkSXNNYW5kYXRvcnlcIlxuICAgICAgICAgICAgICAgICAgICBbaXNJbnZhbGlkXT1cImRhdGVDb250cm9sLmVycm9ycyAmJiAoZGF0ZUNvbnRyb2wuZGlydHkgfHwgZGF0ZUNvbnRyb2wudG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZGF0ZUNvbnRyb2xcIj48L2N1dC1kYXRlLWlucHV0PlxuXG4gIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
@@ -13,48 +13,60 @@ import * as i3 from "@angular/forms";
13
13
  import * as i4 from "@angular-material-components/datetime-picker";
14
14
  import * as i5 from "@angular/material/datepicker";
15
15
  import * as i6 from "@angular/material/form-field";
16
- import * as i7 from "../utils/field-label.pipe";
17
- import * as i8 from "../utils/first-error.pipe";
16
+ import * as i7 from "rpx-xui-translation";
17
+ import * as i8 from "../utils/field-label.pipe";
18
+ import * as i9 from "../utils/first-error.pipe";
18
19
  const _c0 = ["picker"];
19
20
  const _c1 = ["input"];
20
21
  function DatetimePickerComponent_span_3_Template(rf, ctx) { if (rf & 1) {
21
22
  i0.ɵɵelementStart(0, "span", 10);
22
23
  i0.ɵɵtext(1);
23
- i0.ɵɵpipe(2, "ccdFieldLabel");
24
+ i0.ɵɵpipe(2, "rpxTranslate");
25
+ i0.ɵɵpipe(3, "ccdFieldLabel");
24
26
  i0.ɵɵelementEnd();
25
27
  } if (rf & 2) {
26
28
  const ctx_r0 = i0.ɵɵnextContext();
27
29
  i0.ɵɵadvance(1);
28
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.caseField));
30
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind1(3, 3, ctx_r0.caseField)));
29
31
  } }
30
32
  function DatetimePickerComponent_span_4_Template(rf, ctx) { if (rf & 1) {
31
33
  i0.ɵɵelementStart(0, "span", 11);
32
34
  i0.ɵɵtext(1);
35
+ i0.ɵɵpipe(2, "rpxTranslate");
33
36
  i0.ɵɵelementEnd();
34
37
  } if (rf & 2) {
35
38
  const ctx_r1 = i0.ɵɵnextContext();
36
39
  i0.ɵɵadvance(1);
37
- i0.ɵɵtextInterpolate(ctx_r1.caseField.hint_text);
40
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r1.caseField.hint_text));
38
41
  } }
39
42
  function DatetimePickerComponent_span_5_Template(rf, ctx) { if (rf & 1) {
40
43
  i0.ɵɵelementStart(0, "span", 12);
41
44
  i0.ɵɵtext(1);
42
- i0.ɵɵpipe(2, "ccdFirstError");
45
+ i0.ɵɵpipe(2, "rpxTranslate");
46
+ i0.ɵɵpipe(3, "ccdFirstError");
43
47
  i0.ɵɵelementEnd();
44
48
  } if (rf & 2) {
45
49
  const ctx_r2 = i0.ɵɵnextContext();
46
50
  i0.ɵɵadvance(1);
47
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.dateControl.errors, ctx_r2.caseField.label));
51
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, i0.ɵɵpipeBind2(3, 3, ctx_r2.dateControl.errors, ctx_r2.caseField.label)));
48
52
  } }
49
53
  function DatetimePickerComponent_span_6_Template(rf, ctx) { if (rf & 1) {
50
54
  i0.ɵɵelementStart(0, "span", 12);
51
- i0.ɵɵtext(1, "This date is older than the minimum date allowed");
55
+ i0.ɵɵtext(1);
56
+ i0.ɵɵpipe(2, "rpxTranslate");
52
57
  i0.ɵɵelementEnd();
58
+ } if (rf & 2) {
59
+ i0.ɵɵadvance(1);
60
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is older than the minimum date allowed"));
53
61
  } }
54
62
  function DatetimePickerComponent_span_7_Template(rf, ctx) { if (rf & 1) {
55
63
  i0.ɵɵelementStart(0, "span", 12);
56
- i0.ɵɵtext(1, "This date is later than the maximum date allowed");
64
+ i0.ɵɵtext(1);
65
+ i0.ɵɵpipe(2, "rpxTranslate");
57
66
  i0.ɵɵelementEnd();
67
+ } if (rf & 2) {
68
+ i0.ɵɵadvance(1);
69
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "This date is later than the maximum date allowed"));
58
70
  } }
59
71
  const _c2 = function (a0) { return { "form-group-error": a0 }; };
60
72
  export class DatetimePickerComponent extends AbstractFormFieldComponent {
@@ -234,11 +246,11 @@ DatetimePickerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: DatetimePickerCom
234
246
  i0.ɵɵelementStart(0, "div", 0);
235
247
  i0.ɵɵelementStart(1, "fieldset");
236
248
  i0.ɵɵelementStart(2, "legend");
237
- i0.ɵɵtemplate(3, DatetimePickerComponent_span_3_Template, 3, 3, "span", 1);
238
- i0.ɵɵtemplate(4, DatetimePickerComponent_span_4_Template, 2, 1, "span", 2);
239
- i0.ɵɵtemplate(5, DatetimePickerComponent_span_5_Template, 3, 4, "span", 3);
240
- i0.ɵɵtemplate(6, DatetimePickerComponent_span_6_Template, 2, 0, "span", 3);
241
- i0.ɵɵtemplate(7, DatetimePickerComponent_span_7_Template, 2, 0, "span", 3);
249
+ i0.ɵɵtemplate(3, DatetimePickerComponent_span_3_Template, 4, 5, "span", 1);
250
+ i0.ɵɵtemplate(4, DatetimePickerComponent_span_4_Template, 3, 3, "span", 2);
251
+ i0.ɵɵtemplate(5, DatetimePickerComponent_span_5_Template, 4, 6, "span", 3);
252
+ i0.ɵɵtemplate(6, DatetimePickerComponent_span_6_Template, 3, 3, "span", 3);
253
+ i0.ɵɵtemplate(7, DatetimePickerComponent_span_7_Template, 3, 3, "span", 3);
242
254
  i0.ɵɵelementEnd();
243
255
  i0.ɵɵelementStart(8, "div", 4);
244
256
  i0.ɵɵelementStart(9, "input", 5, 6);
@@ -265,13 +277,13 @@ DatetimePickerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: DatetimePickerCom
265
277
  i0.ɵɵadvance(1);
266
278
  i0.ɵɵproperty("ngIf", ctx.dateControl && ctx.dateControl.dirty && ctx.maxError);
267
279
  i0.ɵɵadvance(2);
268
- i0.ɵɵattributeInterpolate1("aria-label", "Please enter a date and time in the format ", ctx.dateTimeEntryFormat, "");
280
+ i0.ɵɵattributeInterpolate1("aria-label", "Please enter a date and time in the format | rpxTranslate ", ctx.dateTimeEntryFormat, "");
269
281
  i0.ɵɵproperty("min", ctx.minDate(ctx.caseField))("max", ctx.maxDate(ctx.caseField))("formControl", ctx.dateControl)("ngxMatDatetimePicker", _r6);
270
282
  i0.ɵɵadvance(2);
271
283
  i0.ɵɵproperty("for", _r6);
272
284
  i0.ɵɵadvance(1);
273
285
  i0.ɵɵproperty("color", ctx.color)("touchUi", ctx.touchUi)("hideTime", ctx.hideTime)("startView", ctx.startView)("stepHour", ctx.stepHour)("stepSecond", ctx.stepSecond)("stepMinute", ctx.stepMinute)("showSeconds", ctx.showSeconds)("showSpinners", ctx.showSpinners)("disableMinute", ctx.disableMinute)("enableMeridian", ctx.enableMeridian);
274
- } }, directives: [i2.NgClass, i2.NgIf, i3.DefaultValueAccessor, i4.NgxMatDatetimeInput, i3.NgControlStatus, i3.FormControlDirective, i5.MatDatepickerToggle, i6.MatSuffix, i4.NgxMatDatetimePicker], pipes: [i7.FieldLabelPipe, i8.FirstErrorPipe], styles: ["@charset \"UTF-8\";.datepicker-container{display:inline-block;position:relative;min-width:298px}.datepicker-container .govuk-input{height:35px;min-width:298px;width:auto;padding-right:40px;border:1px solid #000}.datepicker-container .govuk-input:focus{outline:1px solid #fd0;border:1px solid #000}.datepicker-container .govuk-input::-ms-clear{display:none}.datepicker-container .datepicker-wrapper-input{position:relative;display:inline-block;top:-20%;border:0}.datepicker-container .datepicker-wrapper-input:focus{border:0;outline:none}.datepicker-container .mat-icon-button{height:32px;width:32px}.datepicker-container .mat-icon-button:focus{outline:1px solid #fd0}.datepicker-container .mat-icon-button .mat-datepicker-toggle-default-icon{position:relative;top:-5px}.datepicker-container .mat-datepicker-toggle{position:absolute;right:0}.cdk-overlay-container .mat-datepicker-content{border:1px solid #000;border-radius:0;max-width:295px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table{width:calc(100% - 1px);table-layout:fixed}.cdk-overlay-container .mat-datepicker-content .mat-calendar-header{height:34px;border-bottom:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button{left:14%;min-width:125px;border-right:1px ridge #bfc1c3;border-left:1px ridge #bfc1c3;border-radius:0;top:-20px;width:200%}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button .mat-button-wrapper{text-align:center;font-weight:700}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button:focus{border:2px solid #000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button{left:-73%;top:-20px;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:after{border-left-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button{top:-20px;left:1%;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:after{border-right-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-button-wrapper{text-transform:capitalize!important}.cdk-overlay-container .mat-datepicker-content .mat-calendar{border-bottom:1px solid #000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider{padding:0;border-bottom:none}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider:after{height:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-content{padding:0}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header{color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header th.ng-star-inserted{font-weight:700;font-size:15px;padding-top:2%;padding-bottom:2%;-moz-column-width:20px;column-width:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th{visibility:hidden}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:after{visibility:visible;color:#000;position:relative;left:-15px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:first-of-type:after{content:\"MON\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(2):after{left:-12px;content:\"TUE\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(3):after{left:-18px;content:\"WED\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(4):after{left:-14px;content:\"THU\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(5):after{left:-10px;content:\"FRI\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(6):after{content:\"SAT\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(7):after{content:\"SUN\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-label{font-weight:700;font-size:large;color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-selected{border:none;background-color:transparent;color:#fff}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-today{border:none;box-shadow:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell{border:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #fd0;border:2px solid #000;outline-offset:1px;z-index:1}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table{border-collapse:separate;border-spacing:10px}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:2px solid #fd0}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table{border-collapse:separate;border-spacing:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table tr:first-of-type{visibility:collapse}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #fd0;border:2px solid #000;outline-offset:1px}.cdk-overlay-container .mat-datepicker-content .time-container{height:80px;padding-top:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table{margin-left:0!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tbody{position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon-button .mat-button-wrapper{width:auto;height:auto}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon-button:focus{outline:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child{position:absolute;left:49px;top:15px;z-index:2}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:first-child [aria-label=\"expand_less icon\"]{position:absolute;left:-2px;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(3) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:82px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(5) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:169px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:last-child [aria-label=\"expand_less icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(2) [aria-label=\"expand_less icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2){display:flex;padding:20px 0 20px 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field{width:50px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field:before{color:#000;content:\"Hours\";position:relative;top:-5px;left:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-child(3) .mat-form-field:before{color:#000;content:\"Minutes\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:last-child{text-align:left;left:-15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .mat-form-field-disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-of-type(5) .mat-form-field:before{color:#000;content:\"Seconds\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian{border-bottom:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button{height:30px;top:21px;border-radius:0;color:#000;border-color:#000;background-color:#dee0e2;display:flex;justify-content:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button .mat-button-wrapper{position:relative;top:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4){display:flex;padding:2rem 0 2rem 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td:last-child{text-align:left}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child{position:absolute;left:49px;top:40px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:first-child [aria-label=\"expand_more icon\"]{position:absolute;top:15px;left:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(3) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;left:82px!important;top:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(5) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;top:15px;left:169px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:last-child [aria-label=\"expand_more icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:last-child.ng-star-inserted [aria-label=\"expand_more icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr td{padding:0;border-bottom:0;position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .spacer{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon{visibility:hidden;display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-button-wrapper{display:block;width:15px;height:8px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-wrapper{padding-bottom:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field{width:auto;max-width:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_less icon\"].mat-icon-button .mat-button-wrapper:after{content:\" \u25B2\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_more icon\"].mat-icon-button .mat-button-wrapper:after{content:\"\u25BC\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex .mat-form-field-infix{border:1px solid #000;height:20px;width:37px;display:flex;justify-content:center;align-items:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-underline{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input{height:33px;width:37px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .actions{padding-bottom:20px;margin-top:20px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .actions .mat-button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px 0 #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:focus{outline:2px solid #fd0}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:hover{background-color:#006400}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-icon{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-button-wrapper:before{color:#fff;content:\"Confirm\";position:relative;font-size:15px;left:-3px}"], encapsulation: 2 });
286
+ } }, directives: [i2.NgClass, i2.NgIf, i3.DefaultValueAccessor, i4.NgxMatDatetimeInput, i3.NgControlStatus, i3.FormControlDirective, i5.MatDatepickerToggle, i6.MatSuffix, i4.NgxMatDatetimePicker], pipes: [i7.RpxTranslatePipe, i8.FieldLabelPipe, i9.FirstErrorPipe], styles: ["@charset \"UTF-8\";.datepicker-container{display:inline-block;position:relative;min-width:298px}.datepicker-container .govuk-input{height:35px;min-width:298px;width:auto;padding-right:40px;border:1px solid #000}.datepicker-container .govuk-input:focus{outline:1px solid #fd0;border:1px solid #000}.datepicker-container .govuk-input::-ms-clear{display:none}.datepicker-container .datepicker-wrapper-input{position:relative;display:inline-block;top:-20%;border:0}.datepicker-container .datepicker-wrapper-input:focus{border:0;outline:none}.datepicker-container .mat-icon-button{height:32px;width:32px}.datepicker-container .mat-icon-button:focus{outline:1px solid #fd0}.datepicker-container .mat-icon-button .mat-datepicker-toggle-default-icon{position:relative;top:-5px}.datepicker-container .mat-datepicker-toggle{position:absolute;right:0}.cdk-overlay-container .mat-datepicker-content{border:1px solid #000;border-radius:0;max-width:295px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table{width:calc(100% - 1px);table-layout:fixed}.cdk-overlay-container .mat-datepicker-content .mat-calendar-header{height:34px;border-bottom:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button{left:14%;min-width:125px;border-right:1px ridge #bfc1c3;border-left:1px ridge #bfc1c3;border-radius:0;top:-20px;width:200%}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button .mat-button-wrapper{text-align:center;font-weight:700}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button:focus{border:2px solid #000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button{left:-73%;top:-20px;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:after{border-left-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button{top:-20px;left:1%;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:after{border-right-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-button-wrapper{text-transform:capitalize!important}.cdk-overlay-container .mat-datepicker-content .mat-calendar{border-bottom:1px solid #000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider{padding:0;border-bottom:none}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider:after{height:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-content{padding:0}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header{color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header th.ng-star-inserted{font-weight:700;font-size:15px;padding-top:2%;padding-bottom:2%;-moz-column-width:20px;column-width:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th{visibility:hidden}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:after{visibility:visible;color:#000;position:relative;left:-15px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:first-of-type:after{content:\"MON\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(2):after{left:-12px;content:\"TUE\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(3):after{left:-18px;content:\"WED\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(4):after{left:-14px;content:\"THU\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(5):after{left:-10px;content:\"FRI\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(6):after{content:\"SAT\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:first-of-type th:nth-of-type(7):after{content:\"SUN\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-label{font-weight:700;font-size:large;color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-selected{border:none;background-color:transparent;color:#fff}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-today{border:none;box-shadow:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell{border:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #fd0;border:2px solid #000;outline-offset:1px;z-index:1}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table{border-collapse:separate;border-spacing:10px}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:2px solid #fd0}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table{border-collapse:separate;border-spacing:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table tr:first-of-type{visibility:collapse}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #fd0;border:2px solid #000;outline-offset:1px}.cdk-overlay-container .mat-datepicker-content .time-container{height:80px;padding-top:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table{margin-left:0!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tbody{position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon-button .mat-button-wrapper{width:auto;height:auto}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon-button:focus{outline:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child{position:absolute;left:49px;top:15px;z-index:2}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:first-child [aria-label=\"expand_less icon\"]{position:absolute;left:-2px;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(3) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:82px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(5) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:169px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:last-child [aria-label=\"expand_less icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(2) [aria-label=\"expand_less icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2){display:flex;padding:20px 0 20px 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field{width:50px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field:before{color:#000;content:\"Hours\";position:relative;top:-5px;left:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-child(3) .mat-form-field:before{color:#000;content:\"Minutes\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:last-child{text-align:left;left:-15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .mat-form-field-disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-of-type(5) .mat-form-field:before{color:#000;content:\"Seconds\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian{border-bottom:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button{height:30px;top:21px;border-radius:0;color:#000;border-color:#000;background-color:#dee0e2;display:flex;justify-content:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button .mat-button-wrapper{position:relative;top:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4){display:flex;padding:2rem 0 2rem 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td:last-child{text-align:left}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child{position:absolute;left:49px;top:40px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:first-child [aria-label=\"expand_more icon\"]{position:absolute;top:15px;left:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(3) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;left:82px!important;top:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(5) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;top:15px;left:169px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:last-child [aria-label=\"expand_more icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:last-child.ng-star-inserted [aria-label=\"expand_more icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr td{padding:0;border-bottom:0;position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .spacer{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon{visibility:hidden;display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-button-wrapper{display:block;width:15px;height:8px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-wrapper{padding-bottom:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field{width:auto;max-width:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_less icon\"].mat-icon-button .mat-button-wrapper:after{content:\" \u25B2\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_more icon\"].mat-icon-button .mat-button-wrapper:after{content:\"\u25BC\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex .mat-form-field-infix{border:1px solid #000;height:20px;width:37px;display:flex;justify-content:center;align-items:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-underline{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input{height:33px;width:37px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .actions{padding-bottom:20px;margin-top:20px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .actions .mat-button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px 0 #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:focus{outline:2px solid #fd0}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:hover{background-color:#006400}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-icon{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-button-wrapper:before{color:#fff;content:\"Confirm\";position:relative;font-size:15px;left:-3px}"], encapsulation: 2 });
275
287
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DatetimePickerComponent, [{
276
288
  type: Component,
277
289
  args: [{
@@ -297,4 +309,4 @@ DatetimePickerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: DatetimePickerCom
297
309
  }], dateControl: [{
298
310
  type: Input
299
311
  }] }); })();
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDckIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7O0lDWjFELGdDQUFpRDtJQUFBLFlBQThCOztJQUFBLGlCQUFPOzs7SUFBckMsZUFBOEI7SUFBOUIsNERBQThCOzs7SUFDL0Us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O2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLGtDQUFrQztnQkFDL0MsU0FBUyxFQUFFLENBQUMsa0NBQWtDLENBQUM7Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFO29CQUNsRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7b0JBQzdELEVBQUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtpQkFDN0U7YUFDRjs7c0JBaUNJLE1BQU07dUJBQUMsb0JBQW9CO3dCQVZpQixjQUFjO2tCQUE1RCxTQUFTO21CQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDUSxZQUFZO2tCQUF6RCxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFFckIsV0FBVztrQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5neE1hdERhdGVBZGFwdGVyLFxuICBOZ3hNYXREYXRlRm9ybWF0cyxcbiAgTmd4TWF0RGF0ZXRpbWVQaWNrZXIsXG4gIE5HWF9NQVRfREFURV9GT1JNQVRTXG59IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcbmltcG9ydCB7IE5neE1hdE1vbWVudEFkYXB0ZXIsIE5HWF9NQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9tb21lbnQtYWRhcHRlcic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudC9tb21lbnQnO1xuXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybWF0VHJhbnNsYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXNlLWZpZWxkcy9mb3JtYXQtdHJhbnNsYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDVVNUT01fTU9NRU5UX0ZPUk1BVFMgfSBmcm9tICcuL2RhdGV0aW1lLXBpY2tlci11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1kYXRldGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdYX01BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBDVVNUT01fTU9NRU5UX0ZPUk1BVFMgfSxcbiAgICB7IHByb3ZpZGU6IE5neE1hdERhdGVBZGFwdGVyLCB1c2VDbGFzczogTmd4TWF0TW9tZW50QWRhcHRlciB9LFxuICAgIHsgcHJvdmlkZTogTkdYX01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogdHJ1ZSB9IH1cbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIERhdGV0aW1lUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBzaG93U3Bpbm5lcnMgPSB0cnVlO1xuICBwdWJsaWMgc2hvd1NlY29uZHMgPSBmYWxzZTtcbiAgcHVibGljIHRvdWNoVWkgPSBmYWxzZTtcbiAgcHVibGljIGVuYWJsZU1lcmlkaWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzdGVwSG91ciA9IDE7XG4gIHB1YmxpYyBzdGVwTWludXRlID0gMTtcbiAgcHVibGljIHN0ZXBTZWNvbmQgPSAxO1xuICBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcbiAgcHVibGljIGRpc2FibGVNaW51dGUgPSB0cnVlO1xuICBwdWJsaWMgaGlkZVRpbWUgPSB0cnVlO1xuICBwdWJsaWMgaGlkZU1pbnV0ZXMgPSB0cnVlO1xuICBwdWJsaWMgc3RhcnRWaWV3ID0gJ21vbnRoJztcbiAgcHVibGljIHllYXJTZWxlY3Rpb24gPSBmYWxzZTtcbiAgcHVibGljIGNoZWNrVGltZSA9IHRydWU7XG4gIHB1YmxpYyBzdHJpbmdFZGl0ZWQgPSBmYWxzZTtcbiAgcHVibGljIG1pbkVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBtYXhFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgZGF0ZVRpbWVFbnRyeUZvcm1hdDogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ3BpY2tlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgZGF0ZXRpbWVQaWNrZXI6IE5neE1hdERhdGV0aW1lUGlja2VyPGFueT47XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQElucHV0KCkgcHVibGljIGRhdGVDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChuZXcgRGF0ZSgpKTtcblxuICBwcml2YXRlIG1pbmltdW1EYXRlID0gbmV3IERhdGUoJzAxLzAxLzE4MDAnKTtcbiAgcHJpdmF0ZSBtYXhpbXVtRGF0ZSA9IG51bGw7XG4gIHByaXZhdGUgbW9tZW50Rm9ybWF0ID0gJ1lZWVktTU0tRERUSEg6bW06c3MuU1NTJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZvcm1hdFRyYW5zbGF0aW9uU2VydmljZTogRm9ybWF0VHJhbnNsYXRvclNlcnZpY2UsXG4gICAgQEluamVjdChOR1hfTUFUX0RBVEVfRk9STUFUUykgcHJpdmF0ZSByZWFkb25seSBuZ3hNYXREYXRlRm9ybWF0czogTmd4TWF0RGF0ZUZvcm1hdHMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdCA9IHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLnNob3dPbmx5RGF0ZXModGhpcy5jYXNlRmllbGQuZGF0ZVRpbWVFbnRyeUZvcm1hdCk7XG4gICAgdGhpcy5jb25maWd1cmVEYXRlUGlja2VyKHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdCk7XG4gICAgLy8gc2V0IGRhdGUgY29udHJvbCBiYXNlZCBvbiBtYW5kYXRvcnkgZmllbGRcbiAgICB0aGlzLmRhdGVDb250cm9sID0gKHRoaXMuY2FzZUZpZWxkLmlzTWFuZGF0b3J5ID9cbiAgICAgIHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSlcbiAgICAgICA6IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSkpKSBhcyBGb3JtQ29udHJvbDtcbiAgICAvLyBpbiByZXNldHRpbmcgdGhlIGZvcm1hdCBqdXN0IGFmdGVyIHRoZSBwYWdlIGluaXRpYWxpc2VzLCB0aGUgaW5wdXQgY2FuIGJlIHJlZm9ybWF0dGVkXG4gICAgLy8gb3RoZXJ3aXNlIHRoZSBsYXN0IGZvcm1hdCBnaXZlbiB3aWxsIGJlIGhvdyB0aGUgdGV4dCBzaG93biB3aWxsIGJlIGRpc3BsYXllZFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuICAgICAgdGhpcy5mb3JtYXRWYWx1ZUFuZFNldEVycm9ycygpO1xuICAgIH0sIDEwMDApO1xuICAgIC8vIHdoZW4gdGhlIHN0YXR1cyBjaGFuZ2VzIGNoZWNrIHRoYXQgdGhlIG1heGltdW0vbWluaW11bSBkYXRlIGhhcyBub3QgYmVlbiBleGNlZWRlZFxuICAgIHRoaXMuZGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5taW5FcnJvciA9IHRoaXMuZGF0ZUNvbnRyb2wuaGFzRXJyb3IoJ21hdERhdGV0aW1lUGlja2VyTWluJyk7XG4gICAgICB0aGlzLm1heEVycm9yID0gdGhpcy5kYXRlQ29udHJvbC5oYXNFcnJvcignbWF0RGF0ZXRpbWVQaWNrZXJNYXgnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREYXRlVGltZUZvcm1hdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5neE1hdERhdGVGb3JtYXRzLnBhcnNlLmRhdGVJbnB1dCA9IHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdDtcbiAgICB0aGlzLm5neE1hdERhdGVGb3JtYXRzLmRpc3BsYXkuZGF0ZUlucHV0ID0gdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0O1xuICB9XG5cbiAgLypcbiAgV2hlbiB0aGUgdmFsdWUgY2hhbmdlcywgdXBkYXRlIHRoZSBmb3JtIGNvbnRyb2xcbiAgKi9cbiAgcHVibGljIHZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1hdFZhbHVlQW5kU2V0RXJyb3JzKCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNJbigpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGVUaW1lRm9ybWF0KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNPdXQoKTogdm9pZCB7XG4gICAgLy8gZm9jdXMgb3V0IG5lZWRlZCB0byBvYnRhaW4gZXJyb3JzIChyZWxldmFudCB0byBmb3JtYXR0aW5nKVxuICAgIHRoaXMuZm9ybWF0VmFsdWVBbmRTZXRFcnJvcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGVUaW1lRm9ybWF0KCk7XG4gIH1cblxuICBwdWJsaWMgbWluRGF0ZShjYXNlRmllbGQ6IENhc2VGaWVsZCk6IERhdGUge1xuICAgIC8vIHNldCBtaW5pbXVtIGRhdGVcbiAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWluIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5taW5pbXVtRGF0ZSA9IGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbiA/IG5ldyBEYXRlKGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbikgOiB0aGlzLm1pbmltdW1EYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5taW5pbXVtRGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBtYXhEYXRlKGNhc2VGaWVsZDogQ2FzZUZpZWxkKTogRGF0ZSB7XG4gICAgLy8gc2V0IG1heGltdW0gZGF0ZVxuICAgIGlmIChjYXNlRmllbGQuZmllbGRfdHlwZS5tYXggaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLm1heGltdW1EYXRlID0gY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4ID8gbmV3IERhdGUoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4KSA6IHRoaXMubWF4aW11bURhdGU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1heGltdW1EYXRlO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZURhdGVQaWNrZXIoZGF0ZVRpbWVQaWNrZXJGb3JtYXQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdEYXRlJykge1xuICAgICAgdGhpcy5oaWRlVGltZSA9IHRydWU7XG4gICAgICB0aGlzLmNoZWNrVGltZSA9IGZhbHNlO1xuICAgICAgdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0ID0gdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UucmVtb3ZlVGltZSh0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQpO1xuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnWVlZWS1NTS1ERCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2hlY2tUaW1lKSB7XG5cbiAgICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNTZWNvbmRzKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICB0aGlzLnNob3dTZWNvbmRzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5oaWRlTWludXRlcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVNaW51dGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlVGltZSA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmlzMjRIb3VyKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlTWVyaWRpYW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaGFzSG91cnMoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgIHRoaXMuaGlkZVRpbWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5pczI0SG91cihkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZU1lcmlkaWFuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNNaW51dGVzKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICB0aGlzLmhpZGVNaW51dGVzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzYWJsZU1pbnV0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhpZGVUaW1lID0gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaXMyNEhvdXIoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVNZXJpZGlhbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNEYXRlKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNOb0RheShkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgIHRoaXMuc3RhcnRWaWV3ID0gJ211bHRpLXllYXInO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNOb0RheUFuZE1vbnRoKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgdGhpcy5zdGFydFZpZXcgPSAnbXVsdGkteWVhcic7XG4gICAgICB0aGlzLnllYXJTZWxlY3Rpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB5ZWFyU2VsZWN0ZWQoZXZlbnQ6IE1vbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXJ0VmlldyA9PT0gJ211bHRpLXllYXInICYmIHRoaXMueWVhclNlbGVjdGlvbikge1xuICAgICAgdGhpcy5kYXRlQ29udHJvbC5wYXRjaFZhbHVlKGV2ZW50LnRvSVNPU3RyaW5nKCkpO1xuICAgICAgdGhpcy5kYXRldGltZVBpY2tlci5jbG9zZSgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbW9udGhTZWxlY3RlZChldmVudDogTW9tZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhcnRWaWV3ID09PSAnbXVsdGkteWVhcicpIHtcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wucGF0Y2hWYWx1ZShldmVudC50b0lTT1N0cmluZygpKTtcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wucGF0Y2hWYWx1ZShldmVudC50b0lTT1N0cmluZygpKTtcbiAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRWYWx1ZUFuZFNldEVycm9ycygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSkge1xuICAgICAgbGV0IGZvcm1WYWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICBmb3JtVmFsdWUgPSBtb21lbnQoZm9ybVZhbHVlLCB0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQpLmZvcm1hdCh0aGlzLm1vbWVudEZvcm1hdCk7XG4gICAgICBpZiAoZm9ybVZhbHVlICE9PSAnSW52YWxpZCBkYXRlJykge1xuICAgICAgICAvLyBpZiBub3QgaW52YWxpZCBzZXQgdGhlIHZhbHVlIGFzIHRoZSBmb3JtYXR0ZWQgdmFsdWVcbiAgICAgICAgdGhpcy5kYXRlQ29udHJvbC5zZXRWYWx1ZShmb3JtVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZW5zdXJlIHRoYXQgdGhlIGRhdGVwaWNrZXIgcGlja3MgdXAgdGhlIGludmFsaWQgZXJyb3JcbiAgICAgICAgY29uc3Qga2VlcEVycm9yVGV4dCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIHRoaXMuZGF0ZUNvbnRyb2wuc2V0VmFsdWUoa2VlcEVycm9yVGV4dCk7XG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBrZWVwRXJyb3JUZXh0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBlbnN1cmUgcmVxdWlyZWQgZXJyb3JzIGFyZSBwaWNrZWQgdXAgaWYgcmVsZXZhbnRcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgIGJvdHRvbS0zMFwiIFtpZF09XCJjYXNlRmllbGQuaWRcIlxuICAgICBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBkYXRlQ29udHJvbCAmJiAhZGF0ZUNvbnRyb2wudmFsaWQgJiYgZGF0ZUNvbnRyb2wuZGlydHl9XCI+XG4gIDxmaWVsZHNldD5cbiAgICA8bGVnZW5kPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIj57e2Nhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0ZUNvbnRyb2wgJiYgZGF0ZUNvbnRyb2wuZXJyb3JzICYmIGRhdGVDb250cm9sLmRpcnR5ICYmICEobWluRXJyb3IgfHwgbWF4RXJyb3IpXCI+e3tkYXRlQ29udHJvbC5lcnJvcnMgfCBjY2RGaXJzdEVycm9yOmNhc2VGaWVsZC5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0ZUNvbnRyb2wgJiYgZGF0ZUNvbnRyb2wuZGlydHkgJiYgbWluRXJyb3JcIj5UaGlzIGRhdGUgaXMgb2xkZXIgdGhhbiB0aGUgbWluaW11bSBkYXRlIGFsbG93ZWQ8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJkYXRlQ29udHJvbCAmJiBkYXRlQ29udHJvbC5kaXJ0eSAmJiBtYXhFcnJvclwiPlRoaXMgZGF0ZSBpcyBsYXRlciB0aGFuIHRoZSBtYXhpbXVtIGRhdGUgYWxsb3dlZDwvc3Bhbj5cbiAgICA8L2xlZ2VuZD5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0XCJcbiAgICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJQbGVhc2UgZW50ZXIgYSBkYXRlIGFuZCB0aW1lIGluIHRoZSBmb3JtYXQge3tkYXRlVGltZUVudHJ5Rm9ybWF0fX1cIlxuICAgICAgICAgICAgIFttaW5dPVwibWluRGF0ZShjYXNlRmllbGQpXCJcbiAgICAgICAgICAgICBbbWF4XT1cIm1heERhdGUoY2FzZUZpZWxkKVwiXG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRhdGVDb250cm9sXCJcbiAgICAgICAgICAgICBbbmd4TWF0RGF0ZXRpbWVQaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgICAgICAoZm9jdXNpbik9XCJmb2N1c0luKClcIlxuICAgICAgICAgICAgIChmb2N1c291dCk9XCJmb2N1c091dCgpXCJcbiAgICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQoKVwiXG4gICAgICAgICAgICAgbmctbW9kZWwtb3B0aW9ucz1cInt0aW1lem9uZTondXRjJ31cIlxuICAgICAgPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBpZD1cInBpY2tlck9wZW5lclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG5neC1tYXQtZGF0ZXRpbWUtcGlja2VyICNwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b3VjaFVpXT1cInRvdWNoVWlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlVGltZV09XCJoaWRlVGltZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0Vmlld109XCJzdGFydFZpZXdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwSG91cl09XCJzdGVwSG91clwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBTZWNvbmRdPVwic3RlcFNlY29uZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBNaW51dGVdPVwic3RlcE1pbnV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRzXT1cInNob3dTZWNvbmRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5uZXJzXT1cInNob3dTcGlubmVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVNaW51dGVdPVwiZGlzYWJsZU1pbnV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZU1lcmlkaWFuXT1cImVuYWJsZU1lcmlkaWFuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cInllYXJTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJtb250aFNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcGVuZWQpPVwidG9nZ2xlQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICA8L25neC1tYXQtZGF0ZXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDckIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ1oxRCxnQ0FBaUQ7SUFBQSxZQUErQzs7O0lBQUEsaUJBQU87OztJQUF0RCxlQUErQztJQUEvQyxrRkFBK0M7OztJQUNo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LDhCQUFBLGdDQUFBLGtDQUFBLG9DQUFBLHNDQUFBOzt1RkRFakMsdUJBQXVCO2NBWm5DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixXQUFXLEVBQUUsa0NBQWtDO2dCQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFNBQVMsRUFBRTtvQkFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7b0JBQ2xFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtvQkFDN0QsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO2lCQUM3RTthQUNGOztzQkFpQ0ksTUFBTTt1QkFBQyxvQkFBb0I7d0JBVmlCLGNBQWM7a0JBQTVELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNRLFlBQVk7a0JBQXpELFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUVyQixXQUFXO2tCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmd4TWF0RGF0ZUFkYXB0ZXIsXG4gIE5neE1hdERhdGVGb3JtYXRzLFxuICBOZ3hNYXREYXRldGltZVBpY2tlcixcbiAgTkdYX01BVF9EQVRFX0ZPUk1BVFNcbn0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgTmd4TWF0TW9tZW50QWRhcHRlciwgTkdYX01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL21vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50L21vbWVudCc7XG5cbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtYXRUcmFuc2xhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmllbGRzL2Zvcm1hdC10cmFuc2xhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IENVU1RPTV9NT01FTlRfRk9STUFUUyB9IGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWRhdGV0aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR1hfTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IENVU1RPTV9NT01FTlRfRk9STUFUUyB9LFxuICAgIHsgcHJvdmlkZTogTmd4TWF0RGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBOZ3hNYXRNb21lbnRBZGFwdGVyIH0sXG4gICAgeyBwcm92aWRlOiBOR1hfTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUywgdXNlVmFsdWU6IHsgdXNlVXRjOiB0cnVlIH0gfVxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHNob3dTcGlubmVycyA9IHRydWU7XG4gIHB1YmxpYyBzaG93U2Vjb25kcyA9IGZhbHNlO1xuICBwdWJsaWMgdG91Y2hVaSA9IGZhbHNlO1xuICBwdWJsaWMgZW5hYmxlTWVyaWRpYW4gPSBmYWxzZTtcbiAgcHVibGljIHN0ZXBIb3VyID0gMTtcbiAgcHVibGljIHN0ZXBNaW51dGUgPSAxO1xuICBwdWJsaWMgc3RlcFNlY29uZCA9IDE7XG4gIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBwdWJsaWMgZGlzYWJsZU1pbnV0ZSA9IHRydWU7XG4gIHB1YmxpYyBoaWRlVGltZSA9IHRydWU7XG4gIHB1YmxpYyBoaWRlTWludXRlcyA9IHRydWU7XG4gIHB1YmxpYyBzdGFydFZpZXcgPSAnbW9udGgnO1xuICBwdWJsaWMgeWVhclNlbGVjdGlvbiA9IGZhbHNlO1xuICBwdWJsaWMgY2hlY2tUaW1lID0gdHJ1ZTtcbiAgcHVibGljIHN0cmluZ0VkaXRlZCA9IGZhbHNlO1xuICBwdWJsaWMgbWluRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIG1heEVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBkYXRlVGltZUVudHJ5Rm9ybWF0OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgncGlja2VyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBkYXRldGltZVBpY2tlcjogTmd4TWF0RGF0ZXRpbWVQaWNrZXI8YW55PjtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKSBwdWJsaWMgZGF0ZUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKCkpO1xuXG4gIHByaXZhdGUgbWluaW11bURhdGUgPSBuZXcgRGF0ZSgnMDEvMDEvMTgwMCcpO1xuICBwcml2YXRlIG1heGltdW1EYXRlID0gbnVsbDtcbiAgcHJpdmF0ZSBtb21lbnRGb3JtYXQgPSAnWVlZWS1NTS1ERFRISDptbTpzcy5TU1MnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlOiBGb3JtYXRUcmFuc2xhdG9yU2VydmljZSxcbiAgICBASW5qZWN0KE5HWF9NQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIHJlYWRvbmx5IG5neE1hdERhdGVGb3JtYXRzOiBOZ3hNYXREYXRlRm9ybWF0cykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0ID0gdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2Uuc2hvd09ubHlEYXRlcyh0aGlzLmNhc2VGaWVsZC5kYXRlVGltZUVudHJ5Rm9ybWF0KTtcbiAgICB0aGlzLmNvbmZpZ3VyZURhdGVQaWNrZXIodGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0KTtcbiAgICAvLyBzZXQgZGF0ZSBjb250cm9sIGJhc2VkIG9uIG1hbmRhdG9yeSBmaWVsZFxuICAgIHRoaXMuZGF0ZUNvbnRyb2wgPSAodGhpcy5jYXNlRmllbGQuaXNNYW5kYXRvcnkgP1xuICAgICAgdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Db250cm9sKHRoaXMuY2FzZUZpZWxkLnZhbHVlIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKVxuICAgICAgIDogdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Db250cm9sKHRoaXMuY2FzZUZpZWxkLnZhbHVlKSkpIGFzIEZvcm1Db250cm9sO1xuICAgIC8vIGluIHJlc2V0dGluZyB0aGUgZm9ybWF0IGp1c3QgYWZ0ZXIgdGhlIHBhZ2UgaW5pdGlhbGlzZXMsIHRoZSBpbnB1dCBjYW4gYmUgcmVmb3JtYXR0ZWRcbiAgICAvLyBvdGhlcndpc2UgdGhlIGxhc3QgZm9ybWF0IGdpdmVuIHdpbGwgYmUgaG93IHRoZSB0ZXh0IHNob3duIHdpbGwgYmUgZGlzcGxheWVkXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldERhdGVUaW1lRm9ybWF0KCk7XG4gICAgICB0aGlzLmZvcm1hdFZhbHVlQW5kU2V0RXJyb3JzKCk7XG4gICAgfSwgMTAwMCk7XG4gICAgLy8gd2hlbiB0aGUgc3RhdHVzIGNoYW5nZXMgY2hlY2sgdGhhdCB0aGUgbWF4aW11bS9taW5pbXVtIGRhdGUgaGFzIG5vdCBiZWVuIGV4Y2VlZGVkXG4gICAgdGhpcy5kYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm1pbkVycm9yID0gdGhpcy5kYXRlQ29udHJvbC5oYXNFcnJvcignbWF0RGF0ZXRpbWVQaWNrZXJNaW4nKTtcbiAgICAgIHRoaXMubWF4RXJyb3IgPSB0aGlzLmRhdGVDb250cm9sLmhhc0Vycm9yKCdtYXREYXRldGltZVBpY2tlck1heCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldERhdGVUaW1lRm9ybWF0KCk6IHZvaWQge1xuICAgIHRoaXMubmd4TWF0RGF0ZUZvcm1hdHMucGFyc2UuZGF0ZUlucHV0ID0gdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0O1xuICAgIHRoaXMubmd4TWF0RGF0ZUZvcm1hdHMuZGlzcGxheS5kYXRlSW5wdXQgPSB0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQ7XG4gIH1cblxuICAvKlxuICBXaGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLCB1cGRhdGUgdGhlIGZvcm0gY29udHJvbFxuICAqL1xuICBwdWJsaWMgdmFsdWVDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybWF0VmFsdWVBbmRTZXRFcnJvcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0luKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGF0ZVRpbWVGb3JtYXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c091dCgpOiB2b2lkIHtcbiAgICAvLyBmb2N1cyBvdXQgbmVlZGVkIHRvIG9idGFpbiBlcnJvcnMgKHJlbGV2YW50IHRvIGZvcm1hdHRpbmcpXG4gICAgdGhpcy5mb3JtYXRWYWx1ZUFuZFNldEVycm9ycygpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGF0ZVRpbWVGb3JtYXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBtaW5EYXRlKGNhc2VGaWVsZDogQ2FzZUZpZWxkKTogRGF0ZSB7XG4gICAgLy8gc2V0IG1pbmltdW0gZGF0ZVxuICAgIGlmIChjYXNlRmllbGQuZmllbGRfdHlwZS5taW4gaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLm1pbmltdW1EYXRlID0gY2FzZUZpZWxkLmZpZWxkX3R5cGUubWluID8gbmV3IERhdGUoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWluKSA6IHRoaXMubWluaW11bURhdGU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1pbmltdW1EYXRlO1xuICB9XG5cbiAgcHVibGljIG1heERhdGUoY2FzZUZpZWxkOiBDYXNlRmllbGQpOiBEYXRlIHtcbiAgICAvLyBzZXQgbWF4aW11bSBkYXRlXG4gICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLm1heCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMubWF4aW11bURhdGUgPSBjYXNlRmllbGQuZmllbGRfdHlwZS5tYXggPyBuZXcgRGF0ZShjYXNlRmllbGQuZmllbGRfdHlwZS5tYXgpIDogdGhpcy5tYXhpbXVtRGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWF4aW11bURhdGU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlRGF0ZVBpY2tlcihkYXRlVGltZVBpY2tlckZvcm1hdDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0RhdGUnKSB7XG4gICAgICB0aGlzLmhpZGVUaW1lID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2hlY2tUaW1lID0gZmFsc2U7XG4gICAgICB0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQgPSB0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5yZW1vdmVUaW1lKHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdCk7XG4gICAgICB0aGlzLm1vbWVudEZvcm1hdCA9ICdZWVlZLU1NLUREJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jaGVja1RpbWUpIHtcblxuICAgICAgaWYgKHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmhhc1NlY29uZHMoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgIHRoaXMuc2hvd1NlY29uZHMgPSB0cnVlO1xuICAgICAgICB0aGlzLmhpZGVNaW51dGVzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzYWJsZU1pbnV0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhpZGVUaW1lID0gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaXMyNEhvdXIoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVNZXJpZGlhbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNIb3VycyhkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgICAgdGhpcy5oaWRlVGltZSA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmlzMjRIb3VyKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlTWVyaWRpYW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmhhc01pbnV0ZXMoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgIHRoaXMuaGlkZU1pbnV0ZXMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlTWludXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGlkZVRpbWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5pczI0SG91cihkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZU1lcmlkaWFuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmhhc0RhdGUoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmhhc05vRGF5KGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgdGhpcy5zdGFydFZpZXcgPSAnbXVsdGkteWVhcic7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmhhc05vRGF5QW5kTW9udGgoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICB0aGlzLnN0YXJ0VmlldyA9ICdtdWx0aS15ZWFyJztcbiAgICAgIHRoaXMueWVhclNlbGVjdGlvbiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHllYXJTZWxlY3RlZChldmVudDogTW9tZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhcnRWaWV3ID09PSAnbXVsdGkteWVhcicgJiYgdGhpcy55ZWFyU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmRhdGVDb250cm9sLnBhdGNoVmFsdWUoZXZlbnQudG9JU09TdHJpbmcoKSk7XG4gICAgICB0aGlzLmRhdGV0aW1lUGlja2VyLmNsb3NlKCk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtb250aFNlbGVjdGVkKGV2ZW50OiBNb21lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGFydFZpZXcgPT09ICdtdWx0aS15ZWFyJykge1xuICAgICAgdGhpcy5kYXRlQ29udHJvbC5wYXRjaFZhbHVlKGV2ZW50LnRvSVNPU3RyaW5nKCkpO1xuICAgICAgdGhpcy5kYXRlQ29udHJvbC5wYXRjaFZhbHVlKGV2ZW50LnRvSVNPU3RyaW5nKCkpO1xuICAgICAgdGhpcy5kYXRldGltZVBpY2tlci5jbG9zZSgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFZhbHVlQW5kU2V0RXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XG4gICAgICBsZXQgZm9ybVZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgIGZvcm1WYWx1ZSA9IG1vbWVudChmb3JtVmFsdWUsIHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdCkuZm9ybWF0KHRoaXMubW9tZW50Rm9ybWF0KTtcbiAgICAgIGlmIChmb3JtVmFsdWUgIT09ICdJbnZhbGlkIGRhdGUnKSB7XG4gICAgICAgIC8vIGlmIG5vdCBpbnZhbGlkIHNldCB0aGUgdmFsdWUgYXMgdGhlIGZvcm1hdHRlZCB2YWx1ZVxuICAgICAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbHVlKGZvcm1WYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlbnN1cmUgdGhhdCB0aGUgZGF0ZXBpY2tlciBwaWNrcyB1cCB0aGUgaW52YWxpZCBlcnJvclxuICAgICAgICBjb25zdCBrZWVwRXJyb3JUZXh0ID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5kYXRlQ29udHJvbC5zZXRWYWx1ZShrZWVwRXJyb3JUZXh0KTtcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IGtlZXBFcnJvclRleHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGVuc3VyZSByZXF1aXJlZCBlcnJvcnMgYXJlIHBpY2tlZCB1cCBpZiByZWxldmFudFxuICAgICAgdGhpcy5kYXRlQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cCAgYm90dG9tLTMwXCIgW2lkXT1cImNhc2VGaWVsZC5pZFwiXG4gICAgIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGRhdGVDb250cm9sICYmICFkYXRlQ29udHJvbC52YWxpZCAmJiBkYXRlQ29udHJvbC5kaXJ0eX1cIj5cbiAgPGZpZWxkc2V0PlxuICAgIDxsZWdlbmQ+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7KGNhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwpIHwgcnB4VHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIj57e2Nhc2VGaWVsZC5oaW50X3RleHQgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAqbmdJZj1cImRhdGVDb250cm9sICYmIGRhdGVDb250cm9sLmVycm9ycyAmJiBkYXRlQ29udHJvbC5kaXJ0eSAmJiAhKG1pbkVycm9yIHx8IG1heEVycm9yKVwiPnt7KGRhdGVDb250cm9sLmVycm9ycyB8IGNjZEZpcnN0RXJyb3I6Y2FzZUZpZWxkLmxhYmVsKSB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0ZUNvbnRyb2wgJiYgZGF0ZUNvbnRyb2wuZGlydHkgJiYgbWluRXJyb3JcIj57eydUaGlzIGRhdGUgaXMgb2xkZXIgdGhhbiB0aGUgbWluaW11bSBkYXRlIGFsbG93ZWQnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJkYXRlQ29udHJvbCAmJiBkYXRlQ29udHJvbC5kaXJ0eSAmJiBtYXhFcnJvclwiPnt7J1RoaXMgZGF0ZSBpcyBsYXRlciB0aGFuIHRoZSBtYXhpbXVtIGRhdGUgYWxsb3dlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2xlZ2VuZD5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0XCJcbiAgICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJQbGVhc2UgZW50ZXIgYSBkYXRlIGFuZCB0aW1lIGluIHRoZSBmb3JtYXQgfCBycHhUcmFuc2xhdGUge3tkYXRlVGltZUVudHJ5Rm9ybWF0fX1cIlxuICAgICAgICAgICAgIFttaW5dPVwibWluRGF0ZShjYXNlRmllbGQpXCJcbiAgICAgICAgICAgICBbbWF4XT1cIm1heERhdGUoY2FzZUZpZWxkKVwiXG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRhdGVDb250cm9sXCJcbiAgICAgICAgICAgICBbbmd4TWF0RGF0ZXRpbWVQaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgICAgICAoZm9jdXNpbik9XCJmb2N1c0luKClcIlxuICAgICAgICAgICAgIChmb2N1c291dCk9XCJmb2N1c091dCgpXCJcbiAgICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQoKVwiXG4gICAgICAgICAgICAgbmctbW9kZWwtb3B0aW9ucz1cInt0aW1lem9uZTondXRjJ31cIlxuICAgICAgPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBpZD1cInBpY2tlck9wZW5lclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG5neC1tYXQtZGF0ZXRpbWUtcGlja2VyICNwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b3VjaFVpXT1cInRvdWNoVWlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlVGltZV09XCJoaWRlVGltZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0Vmlld109XCJzdGFydFZpZXdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwSG91cl09XCJzdGVwSG91clwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBTZWNvbmRdPVwic3RlcFNlY29uZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBNaW51dGVdPVwic3RlcE1pbnV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRzXT1cInNob3dTZWNvbmRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5uZXJzXT1cInNob3dTcGlubmVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVNaW51dGVdPVwiZGlzYWJsZU1pbnV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZU1lcmlkaWFuXT1cImVuYWJsZU1lcmlkaWFuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cInllYXJTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJtb250aFNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcGVuZWQpPVwidG9nZ2xlQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICA8L25neC1tYXQtZGF0ZXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=