@hmcts/ccd-case-ui-toolkit 6.19.4 → 6.19.5-case-flags-v2-reasonable-adjustments

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 (252) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +3933 -1481
  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/shared/components/case-editor/case-edit/case-edit.component.js +1 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +1 -1
  7. package/esm2015/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.js +1 -1
  8. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +2 -11
  9. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.js +7 -0
  10. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +166 -116
  11. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +8 -5
  12. package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +19 -0
  13. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +5 -10
  14. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +7 -2
  15. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +5 -2
  16. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +3 -3
  17. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +1 -1
  18. package/esm2015/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.js +16 -7
  19. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +260 -44
  20. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +144 -73
  21. package/esm2015/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.js +181 -0
  22. package/esm2015/lib/shared/components/palette/case-flag/components/index.js +4 -1
  23. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +38 -73
  24. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +6 -0
  25. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +133 -101
  26. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +16 -8
  27. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +198 -115
  28. package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.js +292 -0
  29. package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +299 -101
  30. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag-state.model.js +1 -1
  31. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  32. package/esm2015/lib/shared/components/palette/case-flag/domain/language.model.js +1 -1
  33. package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.js +2 -1
  34. package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.js +3 -2
  35. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.js +12 -0
  36. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.js +9 -0
  37. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.js +12 -0
  38. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +3 -2
  39. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.js +11 -3
  40. package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.js +6 -0
  41. package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.js +6 -0
  42. package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +9 -2
  43. package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.js +3 -2
  44. package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.js +4 -1
  45. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.js +6 -0
  46. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.js +6 -0
  47. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.js +5 -1
  48. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +3 -2
  49. package/esm2015/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.js +8 -4
  50. package/esm2015/lib/shared/components/palette/case-flag/index.js +2 -1
  51. package/esm2015/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.js +41 -0
  52. package/esm2015/lib/shared/components/palette/case-flag/pipes/index.js +5 -0
  53. package/esm2015/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.js +41 -0
  54. package/esm2015/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.js +109 -0
  55. package/esm2015/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.js +77 -0
  56. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +121 -50
  57. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +234 -130
  58. package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +20 -43
  59. package/esm2015/lib/shared/components/palette/index.js +2 -1
  60. package/esm2015/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.js +16 -1
  61. package/esm2015/lib/shared/components/palette/palette.module.js +69 -32
  62. package/esm2015/lib/shared/components/palette/palette.service.js +5 -2
  63. package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +1 -1
  64. package/esm2015/lib/shared/components/palette/query-management/__mocks__/index.js +112 -0
  65. package/esm2015/lib/shared/components/palette/query-management/components/index.js +4 -0
  66. package/esm2015/lib/shared/components/palette/query-management/components/query-create/query-create.component.js +18 -0
  67. package/esm2015/lib/shared/components/palette/query-management/components/query-detail/query-detail.component.js +18 -0
  68. package/esm2015/lib/shared/components/palette/query-management/components/query-list/query-list.component.js +185 -0
  69. package/esm2015/lib/shared/components/palette/query-management/domain/index.js +7 -0
  70. package/esm2015/lib/shared/components/palette/query-management/domain/party-messages/party-message.model.js +2 -0
  71. package/esm2015/lib/shared/components/palette/query-management/domain/party-messages/party-messages-group.model.js +2 -0
  72. package/esm2015/lib/shared/components/palette/query-management/domain/query-list/query-list-data/query-list-data.model.js +18 -0
  73. package/esm2015/lib/shared/components/palette/query-management/domain/query-list/query-list-item/query-list-item.model.js +35 -0
  74. package/esm2015/lib/shared/components/palette/query-management/domain/query-list/query-list-response-status.enum.js +6 -0
  75. package/esm2015/lib/shared/components/palette/query-management/domain/query-list-column/query-list-column.model.js +2 -0
  76. package/esm2015/lib/shared/components/palette/query-management/index.js +6 -0
  77. package/esm2015/lib/shared/components/palette/query-management/read-query-management-field.component.js +53 -0
  78. package/esm2015/lib/shared/components/palette/query-management/utils/query-management.utils.js +12 -0
  79. package/esm2015/lib/shared/components/palette/query-management/write-query-management-field.component.js +20 -0
  80. package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +7 -5
  81. package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +5 -4
  82. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +12 -1
  83. package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +17 -2
  84. package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +3 -1
  85. package/esm2015/lib/shared/fixture/shared.test.fixture.js +2 -1
  86. package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +16 -0
  87. package/esm2015/lib/shared/pipes/generic/index.js +2 -0
  88. package/esm2015/lib/shared/pipes/index.js +3 -2
  89. package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
  90. package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +10 -4
  91. package/esm2015/lib/shared/services/fields/fields.utils.js +15 -1
  92. package/esm2015/lib/shared/services/request/request.options.builder.js +7 -1
  93. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +3436 -1246
  94. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  95. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  96. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts +6 -0
  97. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts.map +1 -0
  98. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -1
  99. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  100. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  101. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +11 -0
  102. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -0
  103. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  104. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -0
  105. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  106. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -4
  107. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  108. package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +1 -1
  109. package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts.map +1 -1
  110. package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
  111. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +2 -1
  112. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  113. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +23 -8
  114. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
  115. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +2 -1
  116. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
  117. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +28 -0
  118. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -0
  119. package/lib/shared/components/palette/case-flag/components/index.d.ts +3 -0
  120. package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
  121. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +4 -8
  122. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  123. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +5 -0
  124. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +1 -0
  125. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +10 -8
  126. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  127. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -1
  128. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  129. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +12 -8
  130. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  131. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +27 -0
  132. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -0
  133. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +20 -9
  134. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  135. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +1 -10
  136. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
  137. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +6 -0
  138. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  139. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +1 -0
  140. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
  141. package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts +1 -0
  142. package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts.map +1 -1
  143. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +2 -1
  144. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts.map +1 -1
  145. package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts +11 -0
  146. package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts.map +1 -0
  147. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +8 -0
  148. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +1 -0
  149. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +11 -0
  150. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +1 -0
  151. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +2 -1
  152. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
  153. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +11 -3
  154. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
  155. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +5 -0
  156. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +1 -0
  157. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +5 -0
  158. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +1 -0
  159. package/lib/shared/components/palette/case-flag/enums/index.d.ts +8 -1
  160. package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
  161. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +2 -1
  162. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
  163. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +3 -0
  164. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
  165. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +5 -0
  166. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +1 -0
  167. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +5 -0
  168. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +1 -0
  169. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +5 -1
  170. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
  171. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +3 -2
  172. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
  173. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +7 -3
  174. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
  175. package/lib/shared/components/palette/case-flag/index.d.ts +1 -0
  176. package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
  177. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +19 -0
  178. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +1 -0
  179. package/lib/shared/components/palette/case-flag/pipes/index.d.ts +5 -0
  180. package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +1 -0
  181. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +18 -0
  182. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +1 -0
  183. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +25 -0
  184. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +1 -0
  185. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +21 -0
  186. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +1 -0
  187. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +11 -8
  188. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  189. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +23 -24
  190. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  191. package/lib/shared/components/palette/document/write-document-field.component.d.ts +4 -8
  192. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  193. package/lib/shared/components/palette/index.d.ts +1 -0
  194. package/lib/shared/components/palette/index.d.ts.map +1 -1
  195. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts +5 -3
  196. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts.map +1 -1
  197. package/lib/shared/components/palette/palette.module.d.ts +129 -118
  198. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  199. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  200. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +3 -0
  201. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +1 -0
  202. package/lib/shared/components/palette/query-management/components/index.d.ts +4 -0
  203. package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -0
  204. package/lib/shared/components/palette/query-management/components/query-create/query-create.component.d.ts +9 -0
  205. package/lib/shared/components/palette/query-management/components/query-create/query-create.component.d.ts.map +1 -0
  206. package/lib/shared/components/palette/query-management/components/query-detail/query-detail.component.d.ts +9 -0
  207. package/lib/shared/components/palette/query-management/components/query-detail/query-detail.component.d.ts.map +1 -0
  208. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +16 -0
  209. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +1 -0
  210. package/lib/shared/components/palette/query-management/domain/index.d.ts +7 -0
  211. package/lib/shared/components/palette/query-management/domain/index.d.ts.map +1 -0
  212. package/lib/shared/components/palette/query-management/domain/party-messages/party-message.model.d.ts +14 -0
  213. package/lib/shared/components/palette/query-management/domain/party-messages/party-message.model.d.ts.map +1 -0
  214. package/lib/shared/components/palette/query-management/domain/party-messages/party-messages-group.model.d.ts +7 -0
  215. package/lib/shared/components/palette/query-management/domain/party-messages/party-messages-group.model.d.ts.map +1 -0
  216. package/lib/shared/components/palette/query-management/domain/query-list/query-list-data/query-list-data.model.d.ts +10 -0
  217. package/lib/shared/components/palette/query-management/domain/query-list/query-list-data/query-list-data.model.d.ts.map +1 -0
  218. package/lib/shared/components/palette/query-management/domain/query-list/query-list-item/query-list-item.model.d.ts +21 -0
  219. package/lib/shared/components/palette/query-management/domain/query-list/query-list-item/query-list-item.model.d.ts.map +1 -0
  220. package/lib/shared/components/palette/query-management/domain/query-list/query-list-response-status.enum.d.ts +5 -0
  221. package/lib/shared/components/palette/query-management/domain/query-list/query-list-response-status.enum.d.ts.map +1 -0
  222. package/lib/shared/components/palette/query-management/domain/query-list-column/query-list-column.model.d.ts +7 -0
  223. package/lib/shared/components/palette/query-management/domain/query-list-column/query-list-column.model.d.ts.map +1 -0
  224. package/lib/shared/components/palette/query-management/index.d.ts +6 -0
  225. package/lib/shared/components/palette/query-management/index.d.ts.map +1 -0
  226. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +14 -0
  227. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -0
  228. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +7 -0
  229. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -0
  230. package/lib/shared/components/palette/query-management/write-query-management-field.component.d.ts +10 -0
  231. package/lib/shared/components/palette/query-management/write-query-management-field.component.d.ts.map +1 -0
  232. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +1 -1
  233. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -1
  234. package/lib/shared/domain/case-flag/flag-type.model.d.ts +6 -1
  235. package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
  236. package/lib/shared/domain/definition/display-context-enum.model.d.ts +3 -1
  237. package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
  238. package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
  239. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +8 -0
  240. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +1 -0
  241. package/lib/shared/pipes/generic/index.d.ts +2 -0
  242. package/lib/shared/pipes/generic/index.d.ts.map +1 -0
  243. package/lib/shared/pipes/index.d.ts +2 -1
  244. package/lib/shared/pipes/index.d.ts.map +1 -1
  245. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  246. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  247. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +3 -2
  248. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
  249. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  250. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  251. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  252. package/package.json +1 -1
@@ -1,192 +1,390 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { CaseFlagFieldState, CaseFlagStatus, CaseFlagWizardStepTitle, UpdateFlagErrorMessage, UpdateFlagStep } from '../../enums';
3
+ import { RpxTranslationService } from 'rpx-xui-translation';
4
+ import { CaseFlagDisplayContextParameter, CaseFlagFieldState, CaseFlagFormFields, CaseFlagStatus, CaseFlagWizardStepTitle, UpdateFlagErrorMessage, UpdateFlagStep } from '../../enums';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- function UpdateFlagComponent_div_8_Template(rf, ctx) { if (rf & 1) {
8
- i0.ɵɵelementStart(0, "div", 16);
9
- i0.ɵɵelementStart(1, "span", 17);
10
- i0.ɵɵtext(2, "Error:");
11
- i0.ɵɵelementEnd();
12
- i0.ɵɵtext(3);
6
+ import * as i1 from "rpx-xui-translation";
7
+ function UpdateFlagComponent_div_7_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "div", 8);
9
+ i0.ɵɵtext(1);
10
+ i0.ɵɵpipe(2, "updateFlagTitleDisplay");
13
11
  i0.ɵɵelementEnd();
14
12
  } if (rf & 2) {
15
13
  const ctx_r0 = i0.ɵɵnextContext();
16
- i0.ɵɵadvance(3);
17
- i0.ɵɵtextInterpolate1(" ", ctx_r0.updateFlagNotEnteredErrorMessage, " ");
14
+ i0.ɵɵadvance(1);
15
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.selectedFlag == null ? null : ctx_r0.selectedFlag.flagDetailDisplay == null ? null : ctx_r0.selectedFlag.flagDetailDisplay.flagDetail), " ");
18
16
  } }
19
- function UpdateFlagComponent_div_9_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelementStart(0, "div", 18);
21
- i0.ɵɵelementStart(1, "span", 17);
22
- i0.ɵɵtext(2, "Error:");
17
+ function UpdateFlagComponent_div_16_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "div", 17);
19
+ i0.ɵɵelementStart(1, "span", 18);
20
+ i0.ɵɵtext(2);
21
+ i0.ɵɵpipe(3, "rpxTranslate");
23
22
  i0.ɵɵelementEnd();
24
- i0.ɵɵtext(3);
23
+ i0.ɵɵtext(4);
24
+ i0.ɵɵpipe(5, "rpxTranslate");
25
25
  i0.ɵɵelementEnd();
26
26
  } if (rf & 2) {
27
27
  const ctx_r1 = i0.ɵɵnextContext();
28
+ i0.ɵɵadvance(2);
29
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
30
+ i0.ɵɵadvance(2);
31
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.updateFlagNotEnteredErrorMessage), " ");
32
+ } }
33
+ function UpdateFlagComponent_div_17_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementStart(0, "div", 19);
35
+ i0.ɵɵelementStart(1, "span", 18);
36
+ i0.ɵɵtext(2);
37
+ i0.ɵɵpipe(3, "rpxTranslate");
38
+ i0.ɵɵelementEnd();
39
+ i0.ɵɵtext(4);
40
+ i0.ɵɵpipe(5, "rpxTranslate");
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const ctx_r2 = i0.ɵɵnextContext();
44
+ i0.ɵɵadvance(2);
45
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
46
+ i0.ɵɵadvance(2);
47
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r2.updateFlagCharLimitErrorMessage), " ");
48
+ } }
49
+ function UpdateFlagComponent_div_23_div_8_Template(rf, ctx) { if (rf & 1) {
50
+ i0.ɵɵelementStart(0, "div", 31);
51
+ i0.ɵɵelement(1, "input", 32);
52
+ i0.ɵɵelementStart(2, "label", 33);
53
+ i0.ɵɵtext(3);
54
+ i0.ɵɵpipe(4, "rpxTranslate");
55
+ i0.ɵɵelementEnd();
56
+ i0.ɵɵelementEnd();
57
+ } if (rf & 2) {
58
+ const status_r8 = ctx.$implicit;
59
+ const ctx_r5 = i0.ɵɵnextContext(2);
60
+ i0.ɵɵadvance(1);
61
+ i0.ɵɵproperty("id", ctx_r5.caseFlagFormFields.STATUS + "_" + status_r8)("name", ctx_r5.caseFlagFormFields.STATUS)("formControlName", ctx_r5.caseFlagFormFields.STATUS)("value", status_r8);
62
+ i0.ɵɵadvance(1);
63
+ i0.ɵɵproperty("for", ctx_r5.caseFlagFormFields.STATUS + "_" + status_r8);
64
+ i0.ɵɵadvance(1);
65
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, ctx_r5.caseFlagStatusEnum[status_r8]), " ");
66
+ } }
67
+ function UpdateFlagComponent_div_23_div_12_Template(rf, ctx) { if (rf & 1) {
68
+ i0.ɵɵelementStart(0, "div", 34);
69
+ i0.ɵɵelementStart(1, "span", 18);
70
+ i0.ɵɵtext(2);
71
+ i0.ɵɵpipe(3, "rpxTranslate");
72
+ i0.ɵɵelementEnd();
73
+ i0.ɵɵtext(4);
74
+ i0.ɵɵpipe(5, "rpxTranslate");
75
+ i0.ɵɵelementEnd();
76
+ } if (rf & 2) {
77
+ const ctx_r6 = i0.ɵɵnextContext(2);
78
+ i0.ɵɵadvance(2);
79
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
80
+ i0.ɵɵadvance(2);
81
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r6.statusReasonNotEnteredErrorMessage), " ");
82
+ } }
83
+ function UpdateFlagComponent_div_23_div_13_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "div", 35);
85
+ i0.ɵɵelementStart(1, "span", 18);
86
+ i0.ɵɵtext(2);
87
+ i0.ɵɵpipe(3, "rpxTranslate");
88
+ i0.ɵɵelementEnd();
89
+ i0.ɵɵtext(4);
90
+ i0.ɵɵpipe(5, "rpxTranslate");
91
+ i0.ɵɵelementEnd();
92
+ } if (rf & 2) {
93
+ const ctx_r7 = i0.ɵɵnextContext(2);
94
+ i0.ɵɵadvance(2);
95
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
96
+ i0.ɵɵadvance(2);
97
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r7.statusReasonCharLimitErrorMessage), " ");
98
+ } }
99
+ function UpdateFlagComponent_div_23_Template(rf, ctx) { if (rf & 1) {
100
+ i0.ɵɵelementStart(0, "div", 20);
101
+ i0.ɵɵelementStart(1, "fieldset", 21);
102
+ i0.ɵɵelementStart(2, "legend", 22);
103
+ i0.ɵɵelementStart(3, "h1", 23);
104
+ i0.ɵɵtext(4);
105
+ i0.ɵɵpipe(5, "rpxTranslate");
106
+ i0.ɵɵpipe(6, "rpxTranslate");
107
+ i0.ɵɵelementEnd();
108
+ i0.ɵɵelementEnd();
109
+ i0.ɵɵelementStart(7, "div", 24);
110
+ i0.ɵɵtemplate(8, UpdateFlagComponent_div_23_div_8_Template, 5, 8, "div", 25);
111
+ i0.ɵɵelementEnd();
112
+ i0.ɵɵelementEnd();
113
+ i0.ɵɵelementStart(9, "div", 26);
114
+ i0.ɵɵtext(10);
115
+ i0.ɵɵpipe(11, "rpxTranslate");
116
+ i0.ɵɵelementEnd();
117
+ i0.ɵɵtemplate(12, UpdateFlagComponent_div_23_div_12_Template, 6, 6, "div", 27);
118
+ i0.ɵɵtemplate(13, UpdateFlagComponent_div_23_div_13_Template, 6, 6, "div", 28);
119
+ i0.ɵɵelementStart(14, "textarea", 29);
120
+ i0.ɵɵtext(15, " ");
121
+ i0.ɵɵelementEnd();
122
+ i0.ɵɵelementStart(16, "div", 30);
123
+ i0.ɵɵtext(17);
124
+ i0.ɵɵpipe(18, "rpxTranslate");
125
+ i0.ɵɵelementEnd();
126
+ i0.ɵɵelementEnd();
127
+ } if (rf & 2) {
128
+ const ctx_r3 = i0.ɵɵnextContext();
129
+ i0.ɵɵadvance(4);
130
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(5, 11, ctx_r3.updateFlagTitle), " ", i0.ɵɵpipeBind1(6, 13, "status"), " ");
131
+ i0.ɵɵadvance(3);
132
+ i0.ɵɵproperty("id", ctx_r3.caseFlagFormFields.STATUS);
133
+ i0.ɵɵadvance(1);
134
+ i0.ɵɵproperty("ngForOf", ctx_r3.validStatusProgressions);
135
+ i0.ɵɵadvance(2);
136
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 15, ctx_r3.updateFlagStepEnum.STATUS_HINT_TEXT), " ");
137
+ i0.ɵɵadvance(2);
138
+ i0.ɵɵproperty("ngIf", ctx_r3.statusReasonNotEnteredErrorMessage);
139
+ i0.ɵɵadvance(1);
140
+ i0.ɵɵproperty("ngIf", ctx_r3.statusReasonCharLimitErrorMessage);
141
+ i0.ɵɵadvance(1);
142
+ i0.ɵɵproperty("id", ctx_r3.caseFlagFormFields.STATUS_CHANGE_REASON)("name", ctx_r3.caseFlagFormFields.STATUS_CHANGE_REASON)("formControlName", ctx_r3.caseFlagFormFields.STATUS_CHANGE_REASON);
28
143
  i0.ɵɵadvance(3);
29
- i0.ɵɵtextInterpolate1(" ", ctx_r1.updateFlagCharLimitErrorMessage, " ");
144
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 17, ctx_r3.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
30
145
  } }
31
- function UpdateFlagComponent_button_22_Template(rf, ctx) { if (rf & 1) {
32
- const _r4 = i0.ɵɵgetCurrentView();
33
- i0.ɵɵelementStart(0, "button", 19);
34
- i0.ɵɵlistener("click", function UpdateFlagComponent_button_22_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.onChangeStatus(); });
35
- i0.ɵɵtext(1, " Make inactive ");
146
+ function UpdateFlagComponent_div_24_Template(rf, ctx) { if (rf & 1) {
147
+ i0.ɵɵelementStart(0, "div", 36);
148
+ i0.ɵɵelementStart(1, "div", 37);
149
+ i0.ɵɵelementStart(2, "div", 38);
150
+ i0.ɵɵelement(3, "input", 39);
151
+ i0.ɵɵelementStart(4, "label", 40);
152
+ i0.ɵɵtext(5);
153
+ i0.ɵɵpipe(6, "rpxTranslate");
36
154
  i0.ɵɵelementEnd();
155
+ i0.ɵɵelementEnd();
156
+ i0.ɵɵelementEnd();
157
+ i0.ɵɵelementEnd();
158
+ } if (rf & 2) {
159
+ const ctx_r4 = i0.ɵɵnextContext();
160
+ i0.ɵɵadvance(3);
161
+ i0.ɵɵproperty("formControlName", ctx_r4.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("id", ctx_r4.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("name", ctx_r4.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
162
+ i0.ɵɵadvance(1);
163
+ i0.ɵɵproperty("for", ctx_r4.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
164
+ i0.ɵɵadvance(1);
165
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 5, "I need to add a translation"), " ");
37
166
  } }
38
167
  const _c0 = function (a0) { return { "form-group-error": a0 }; };
39
- const _c1 = function (a0) { return { "govuk-tag--grey": a0 }; };
40
168
  export class UpdateFlagComponent {
41
- constructor() {
169
+ constructor(rpxTranslationService) {
170
+ this.rpxTranslationService = rpxTranslationService;
42
171
  this.caseFlagStateEmitter = new EventEmitter();
43
172
  this.updateFlagTitle = '';
44
173
  this.errorMessages = [];
45
174
  this.updateFlagNotEnteredErrorMessage = null;
46
175
  this.updateFlagCharLimitErrorMessage = null;
47
- this.updateFlagControlName = 'flagComments';
48
- this.commentsMaxCharLimit = 200;
176
+ this.statusReasonNotEnteredErrorMessage = null;
177
+ this.statusReasonCharLimitErrorMessage = null;
178
+ this.updateFlagStepEnum = UpdateFlagStep;
179
+ this.caseFlagStatusEnum = CaseFlagStatus;
180
+ this.caseFlagFormFields = CaseFlagFormFields;
181
+ this.textMaxCharLimit = 200;
182
+ this.selectedManageCaseLocation = 'selectedManageCaseLocation';
183
+ this.caseFlagDisplayContextParameter = CaseFlagDisplayContextParameter;
49
184
  }
50
185
  ngOnInit() {
51
- this.updateFlagHint = UpdateFlagStep.HINT_TEXT;
52
- this.updateFlagCharLimitInfo = UpdateFlagStep.CHARACTER_LIMIT_INFO;
53
- this.formGroup.addControl(this.updateFlagControlName, new FormControl(''));
54
- if (this.selectedFlag && this.selectedFlag.flagDetailDisplay && this.selectedFlag.flagDetailDisplay.flagDetail) {
55
- const flagDetail = this.selectedFlag.flagDetailDisplay.flagDetail;
56
- // Populate flag comments text area with existing comments
57
- this.formGroup.get(this.updateFlagControlName).setValue(flagDetail.flagComment);
58
- if (flagDetail.name) {
59
- this.updateFlagTitle =
60
- `${CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE} "${flagDetail.name}${flagDetail.subTypeValue
61
- ? `, ${flagDetail.subTypeValue}"`
62
- : '"'}`;
186
+ var _a, _b;
187
+ this.selectedFlag = this.formGroup.get(this.selectedManageCaseLocation).value;
188
+ if ((_b = (_a = this.selectedFlag) === null || _a === void 0 ? void 0 : _a.flagDetailDisplay) === null || _b === void 0 ? void 0 : _b.flagDetail) {
189
+ this.flagDetail = this.selectedFlag.flagDetailDisplay.flagDetail;
190
+ const currentFlagStatusKey = Object.keys(CaseFlagStatus).find(key => CaseFlagStatus[key] === this.flagDetail.status);
191
+ // Populate flag comments text area with existing comments; use the comments appropriate for the selected language,
192
+ // falling back on their alternate counterpart if none are available. Comments are to be populated one time only -
193
+ // when the user first visits the page - even if they switch language subsequently
194
+ let existingComments;
195
+ if (this.rpxTranslationService.language === 'cy') {
196
+ existingComments = this.flagDetail.flagComment_cy || this.flagDetail.flagComment;
197
+ }
198
+ else {
199
+ existingComments = this.flagDetail.flagComment || this.flagDetail.flagComment_cy;
63
200
  }
201
+ this.formGroup.addControl(CaseFlagFormFields.COMMENTS, new FormControl(existingComments));
202
+ this.formGroup.addControl(CaseFlagFormFields.STATUS, new FormControl(currentFlagStatusKey));
203
+ this.formGroup.addControl(CaseFlagFormFields.STATUS_CHANGE_REASON, new FormControl(''));
204
+ this.formGroup.addControl(CaseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED, new FormControl(false));
205
+ this.updateFlagTitle = this.setUpdateCaseFlagTitle(this.flagDetail);
206
+ // Set the valid status options for display, based on current status of the selected flag. "Active" flags can
207
+ // remain "Active" or move to "Inactive" only; "Requested" flags can remain "Requested" or move to "Active",
208
+ // "Inactive", or "Not approved". No other status progressions are valid
209
+ if (currentFlagStatusKey) {
210
+ switch (currentFlagStatusKey) {
211
+ case 'ACTIVE':
212
+ this.validStatusProgressions = Object.keys(CaseFlagStatus).filter(key => !['REQUESTED', 'NOT_APPROVED'].includes(key));
213
+ break;
214
+ case 'REQUESTED':
215
+ this.validStatusProgressions = Object.keys(CaseFlagStatus);
216
+ break;
217
+ default:
218
+ this.validStatusProgressions = [];
219
+ }
220
+ }
221
+ }
222
+ }
223
+ setUpdateCaseFlagTitle(flagDetail) {
224
+ switch (this.displayContextParameter) {
225
+ case CaseFlagDisplayContextParameter.UPDATE:
226
+ if (flagDetail === null || flagDetail === void 0 ? void 0 : flagDetail.name) {
227
+ const subTypeValue = flagDetail.subTypeValue ? `, ${flagDetail.subTypeValue}` : '';
228
+ return `${CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE} "${flagDetail.name}${subTypeValue}"`;
229
+ }
230
+ return `${CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE}`;
231
+ case CaseFlagDisplayContextParameter.UPDATE_EXTERNAL:
232
+ return CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE_EXTERNAL;
233
+ default:
234
+ return CaseFlagWizardStepTitle.NONE;
64
235
  }
65
236
  }
66
237
  onNext() {
67
- // Validate flag comments entry
238
+ // Validate flag comments and status reason entry
68
239
  this.validateTextEntry();
69
- // If validation has passed, update the flag details with the comments entered
70
- if (this.errorMessages.length === 0) {
71
- this.selectedFlag.flagDetailDisplay.flagDetail = Object.assign(Object.assign({}, this.selectedFlag.flagDetailDisplay.flagDetail), { flagComment: this.formGroup.get(this.updateFlagControlName).value });
72
- }
73
240
  // Return case flag field state, error messages, and selected flag detail to the parent. The selected flag must be
74
241
  // re-emitted because the parent component repopulates this on handling this EventEmitter
75
242
  this.caseFlagStateEmitter.emit({
76
243
  currentCaseFlagFieldState: CaseFlagFieldState.FLAG_UPDATE,
77
244
  errorMessages: this.errorMessages,
78
- selectedFlag: this.selectedFlag
245
+ selectedFlag: this.selectedFlag,
79
246
  });
80
- }
81
- onChangeStatus() {
82
- this.selectedFlag.flagDetailDisplay.flagDetail = Object.assign(Object.assign({}, this.selectedFlag.flagDetailDisplay.flagDetail), { status: this.selectedFlag.flagDetailDisplay.flagDetail.status === CaseFlagStatus.ACTIVE
83
- ? CaseFlagStatus.INACTIVE
84
- : this.selectedFlag.flagDetailDisplay.flagDetail.status });
247
+ window.scrollTo(0, 0);
85
248
  }
86
249
  validateTextEntry() {
87
250
  this.updateFlagNotEnteredErrorMessage = null;
88
251
  this.updateFlagCharLimitErrorMessage = null;
252
+ this.statusReasonNotEnteredErrorMessage = null;
253
+ this.statusReasonCharLimitErrorMessage = null;
89
254
  this.errorMessages = [];
90
- const comment = this.formGroup.get(this.updateFlagControlName).value;
91
- if (!comment) {
92
- this.updateFlagNotEnteredErrorMessage = UpdateFlagErrorMessage.FLAG_COMMENTS_NOT_ENTERED;
255
+ // Validation should fail if the flag has an existing comment and it has been deleted on screen; conversely, if there
256
+ // is no existing comment then one is not required for validation to pass
257
+ const comment = this.formGroup.get(CaseFlagFormFields.COMMENTS).value;
258
+ if (!comment && (this.flagDetail.flagComment || this.flagDetail.flagComment_cy)) {
259
+ this.updateFlagNotEnteredErrorMessage = this.getUpdateFlagNotEnteredErrorMessage();
93
260
  this.errorMessages.push({
94
261
  title: '',
95
- description: UpdateFlagErrorMessage.FLAG_COMMENTS_NOT_ENTERED,
96
- fieldId: this.updateFlagControlName
262
+ description: this.updateFlagNotEnteredErrorMessage,
263
+ fieldId: CaseFlagFormFields.COMMENTS
97
264
  });
98
265
  }
99
- if (comment && comment.length > this.commentsMaxCharLimit) {
266
+ if (comment && comment.length > this.textMaxCharLimit) {
100
267
  this.updateFlagCharLimitErrorMessage = UpdateFlagErrorMessage.FLAG_COMMENTS_CHAR_LIMIT_EXCEEDED;
101
268
  this.errorMessages.push({
102
269
  title: '',
103
270
  description: UpdateFlagErrorMessage.FLAG_COMMENTS_CHAR_LIMIT_EXCEEDED,
104
- fieldId: this.updateFlagControlName
271
+ fieldId: CaseFlagFormFields.COMMENTS
272
+ });
273
+ }
274
+ const statusReason = this.formGroup.get(CaseFlagFormFields.STATUS_CHANGE_REASON).value;
275
+ const flagStatusNotApprovedKey = Object.keys(CaseFlagStatus).find(key => CaseFlagStatus[key] === CaseFlagStatus.NOT_APPROVED);
276
+ if (this.formGroup.get(CaseFlagFormFields.STATUS).value === flagStatusNotApprovedKey && !statusReason) {
277
+ this.statusReasonNotEnteredErrorMessage = UpdateFlagErrorMessage.STATUS_REASON_NOT_ENTERED;
278
+ this.errorMessages.push({
279
+ title: '',
280
+ description: UpdateFlagErrorMessage.STATUS_REASON_NOT_ENTERED,
281
+ fieldId: CaseFlagFormFields.STATUS_CHANGE_REASON
282
+ });
283
+ }
284
+ if (statusReason && statusReason.length > this.textMaxCharLimit) {
285
+ this.statusReasonCharLimitErrorMessage = UpdateFlagErrorMessage.STATUS_REASON_CHAR_LIMIT_EXCEEDED;
286
+ this.errorMessages.push({
287
+ title: '',
288
+ description: UpdateFlagErrorMessage.STATUS_REASON_CHAR_LIMIT_EXCEEDED,
289
+ fieldId: CaseFlagFormFields.STATUS_CHANGE_REASON
105
290
  });
106
291
  }
107
292
  }
293
+ getUpdateFlagNotEnteredErrorMessage() {
294
+ switch (this.displayContextParameter) {
295
+ case CaseFlagDisplayContextParameter.UPDATE:
296
+ return UpdateFlagErrorMessage.FLAG_COMMENTS_NOT_ENTERED;
297
+ case CaseFlagDisplayContextParameter.UPDATE_EXTERNAL:
298
+ return UpdateFlagErrorMessage.FLAG_COMMENTS_NOT_ENTERED_EXTERNAL;
299
+ default:
300
+ return UpdateFlagErrorMessage.NONE;
301
+ }
302
+ }
108
303
  }
109
- UpdateFlagComponent.ɵfac = function UpdateFlagComponent_Factory(t) { return new (t || UpdateFlagComponent)(); };
110
- UpdateFlagComponent.ɵcmp = i0.ɵɵdefineComponent({ type: UpdateFlagComponent, selectors: [["ccd-update-flag"]], inputs: { formGroup: "formGroup", selectedFlag: "selectedFlag" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 26, vars: 18, consts: [[1, "form-group", 3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--l", 3, "for"], ["id", "update-flag-hint", 1, "govuk-hint"], ["id", "update-flag-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-hint update-flag-char-limit-info update-flag-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-grid-row"], [1, "govuk-grid-column-one-half"], [1, "govuk-tag", 3, "ngClass"], ["class", "button button-secondary", "type", "button", 3, "click", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["id", "update-flag-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "update-flag-char-limit-error", 1, "govuk-error-message"], ["type", "button", 1, "button", "button-secondary", 3, "click"]], template: function UpdateFlagComponent_Template(rf, ctx) { if (rf & 1) {
111
- i0.ɵɵelementStart(0, "div", 0);
304
+ UpdateFlagComponent.ɵfac = function UpdateFlagComponent_Factory(t) { return new (t || UpdateFlagComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
305
+ UpdateFlagComponent.ɵcmp = i0.ɵɵdefineComponent({ type: UpdateFlagComponent, selectors: [["ccd-update-flag"]], inputs: { formGroup: "formGroup", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 29, vars: 31, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper", "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--l"], ["id", "update-flag-hint", "class", "govuk-hint", 4, "ngIf"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "update-flag-hint", 1, "govuk-hint"], ["id", "update-flag-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-hint update-flag-char-limit-info update-flag-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "flag-status-container", "class", "govuk-!-margin-bottom-4", 4, "ngIf"], ["class", "govuk-!-margin-bottom-6", 4, "ngIf"], [1, "govuk-button-group"], ["id", "updateFlagNextButton", "type", "button", 1, "govuk-button", 3, "click"], ["id", "update-flag-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "update-flag-char-limit-error", 1, "govuk-error-message"], ["id", "flag-status-container", 1, "govuk-!-margin-bottom-4"], ["aria-describedby", "update-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--s"], ["id", "update-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4", 3, "id"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "update-flag-status-hint", 1, "govuk-hint"], ["id", "update-flag-status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "formControlName", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "update-flag-status-reason-not-entered-error-message", 1, "govuk-error-message"], ["id", "update-flag-status-reason-char-limit-error", 1, "govuk-error-message"], [1, "govuk-!-margin-bottom-6"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "formControlName", "id", "name"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"]], template: function UpdateFlagComponent_Template(rf, ctx) { if (rf & 1) {
306
+ i0.ɵɵelementContainerStart(0, 0);
112
307
  i0.ɵɵelementStart(1, "div", 1);
113
308
  i0.ɵɵelementStart(2, "div", 2);
114
309
  i0.ɵɵelementStart(3, "h1", 3);
115
310
  i0.ɵɵelementStart(4, "label", 4);
116
311
  i0.ɵɵtext(5);
312
+ i0.ɵɵpipe(6, "rpxTranslate");
117
313
  i0.ɵɵelementEnd();
118
314
  i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(6, "div", 5);
120
- i0.ɵɵtext(7);
121
- i0.ɵɵelementEnd();
122
- i0.ɵɵtemplate(8, UpdateFlagComponent_div_8_Template, 4, 1, "div", 6);
123
- i0.ɵɵtemplate(9, UpdateFlagComponent_div_9_Template, 4, 1, "div", 7);
124
- i0.ɵɵelementStart(10, "textarea", 8);
125
- i0.ɵɵtext(11, " ");
126
- i0.ɵɵelementEnd();
127
- i0.ɵɵelementStart(12, "div", 9);
128
- i0.ɵɵtext(13);
129
- i0.ɵɵelementEnd();
315
+ i0.ɵɵtemplate(7, UpdateFlagComponent_div_7_Template, 3, 3, "div", 5);
316
+ i0.ɵɵelementStart(8, "div", 6);
317
+ i0.ɵɵelementStart(9, "label", 7);
318
+ i0.ɵɵtext(10);
319
+ i0.ɵɵpipe(11, "rpxTranslate");
320
+ i0.ɵɵpipe(12, "rpxTranslate");
130
321
  i0.ɵɵelementEnd();
322
+ i0.ɵɵelementStart(13, "div", 8);
323
+ i0.ɵɵtext(14);
324
+ i0.ɵɵpipe(15, "rpxTranslate");
131
325
  i0.ɵɵelementEnd();
132
- i0.ɵɵelementStart(14, "div", 10);
133
- i0.ɵɵelementStart(15, "div", 11);
134
- i0.ɵɵelementStart(16, "p");
135
- i0.ɵɵtext(17, "Flag status: ");
136
- i0.ɵɵelementStart(18, "span");
137
- i0.ɵɵelementStart(19, "strong", 12);
138
- i0.ɵɵtext(20);
326
+ i0.ɵɵtemplate(16, UpdateFlagComponent_div_16_Template, 6, 6, "div", 9);
327
+ i0.ɵɵtemplate(17, UpdateFlagComponent_div_17_Template, 6, 6, "div", 10);
328
+ i0.ɵɵelementStart(18, "textarea", 11);
329
+ i0.ɵɵtext(19, " ");
139
330
  i0.ɵɵelementEnd();
331
+ i0.ɵɵelementStart(20, "div", 12);
332
+ i0.ɵɵtext(21);
333
+ i0.ɵɵpipe(22, "rpxTranslate");
140
334
  i0.ɵɵelementEnd();
141
335
  i0.ɵɵelementEnd();
336
+ i0.ɵɵtemplate(23, UpdateFlagComponent_div_23_Template, 19, 19, "div", 13);
337
+ i0.ɵɵtemplate(24, UpdateFlagComponent_div_24_Template, 7, 7, "div", 14);
142
338
  i0.ɵɵelementEnd();
143
- i0.ɵɵelementStart(21, "div", 11);
144
- i0.ɵɵtemplate(22, UpdateFlagComponent_button_22_Template, 2, 0, "button", 13);
145
- i0.ɵɵelementEnd();
146
- i0.ɵɵelementEnd();
147
- i0.ɵɵelementStart(23, "div", 14);
148
- i0.ɵɵelementStart(24, "button", 15);
149
- i0.ɵɵlistener("click", function UpdateFlagComponent_Template_button_click_24_listener() { return ctx.onNext(); });
150
- i0.ɵɵtext(25, "Next");
151
339
  i0.ɵɵelementEnd();
340
+ i0.ɵɵelementContainerEnd();
341
+ i0.ɵɵelementStart(25, "div", 15);
342
+ i0.ɵɵelementStart(26, "button", 16);
343
+ i0.ɵɵlistener("click", function UpdateFlagComponent_Template_button_click_26_listener() { return ctx.onNext(); });
344
+ i0.ɵɵtext(27);
345
+ i0.ɵɵpipe(28, "rpxTranslate");
152
346
  i0.ɵɵelementEnd();
153
347
  i0.ɵɵelementEnd();
154
348
  } if (rf & 2) {
155
349
  i0.ɵɵproperty("formGroup", ctx.formGroup);
156
350
  i0.ɵɵadvance(2);
157
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c0, ctx.errorMessages.length > 0));
351
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(29, _c0, ctx.errorMessages.length > 0));
352
+ i0.ɵɵadvance(3);
353
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 17, ctx.updateFlagTitle), " ");
158
354
  i0.ɵɵadvance(2);
159
- i0.ɵɵproperty("for", ctx.updateFlagControlName);
160
- i0.ɵɵadvance(1);
161
- i0.ɵɵtextInterpolate1(" ", ctx.updateFlagTitle, " ");
355
+ i0.ɵɵproperty("ngIf", ctx.displayContextParameter === ctx.caseFlagDisplayContextParameter.UPDATE_EXTERNAL);
162
356
  i0.ɵɵadvance(2);
163
- i0.ɵɵtextInterpolate1(" ", ctx.updateFlagHint, " ");
357
+ i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS);
164
358
  i0.ɵɵadvance(1);
359
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(11, 19, ctx.updateFlagTitle), " ", i0.ɵɵpipeBind1(12, 21, "comments"), " ");
360
+ i0.ɵɵadvance(4);
361
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 23, ctx.updateFlagStepEnum.COMMENT_HINT_TEXT), " ");
362
+ i0.ɵɵadvance(2);
165
363
  i0.ɵɵproperty("ngIf", ctx.updateFlagNotEnteredErrorMessage);
166
364
  i0.ɵɵadvance(1);
167
365
  i0.ɵɵproperty("ngIf", ctx.updateFlagCharLimitErrorMessage);
168
366
  i0.ɵɵadvance(1);
169
- i0.ɵɵproperty("id", ctx.updateFlagControlName)("name", ctx.updateFlagControlName)("formControlName", ctx.updateFlagControlName);
367
+ i0.ɵɵproperty("id", ctx.caseFlagFormFields.COMMENTS)("name", ctx.caseFlagFormFields.COMMENTS)("formControlName", ctx.caseFlagFormFields.COMMENTS);
170
368
  i0.ɵɵadvance(3);
171
- i0.ɵɵtextInterpolate1(" ", ctx.updateFlagCharLimitInfo, " ");
172
- i0.ɵɵadvance(6);
173
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c1, ctx.selectedFlag.flagDetailDisplay.flagDetail.status === "Inactive"));
174
- i0.ɵɵadvance(1);
175
- i0.ɵɵtextInterpolate1(" ", ctx.selectedFlag.flagDetailDisplay.flagDetail.status, " ");
369
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(22, 25, ctx.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
176
370
  i0.ɵɵadvance(2);
177
- i0.ɵɵproperty("ngIf", ctx.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
178
- } }, directives: [i1.NgControlStatusGroup, i1.FormGroupDirective, i2.NgClass, i2.NgIf, i1.DefaultValueAccessor, i1.NgControlStatus, i1.FormControlName], encapsulation: 2 });
371
+ i0.ɵɵproperty("ngIf", ctx.displayContextParameter === ctx.caseFlagDisplayContextParameter.UPDATE);
372
+ i0.ɵɵadvance(1);
373
+ i0.ɵɵproperty("ngIf", ctx.displayContextParameter === ctx.caseFlagDisplayContextParameter.UPDATE);
374
+ i0.ɵɵadvance(3);
375
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(28, 27, "Next"), " ");
376
+ } }, encapsulation: 2 });
179
377
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UpdateFlagComponent, [{
180
378
  type: Component,
181
379
  args: [{
182
380
  selector: 'ccd-update-flag',
183
381
  templateUrl: './update-flag.component.html'
184
382
  }]
185
- }], null, { formGroup: [{
383
+ }], function () { return [{ type: i1.RpxTranslationService }]; }, { formGroup: [{
186
384
  type: Input
187
- }], selectedFlag: [{
385
+ }], displayContextParameter: [{
188
386
  type: Input
189
387
  }], caseFlagStateEmitter: [{
190
388
  type: Output
191
389
  }] }); })();
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztJQ001SCwrQkFDMkM7SUFDekMsZ0NBQW9DO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU07OztJQUQ4QyxlQUNwRDtJQURvRCx3RUFDcEQ7OztJQUNBLCtCQUMwQztJQUN4QyxnQ0FBb0M7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBTTs7O0lBRDhDLGVBQ3BEO0lBRG9ELHVFQUNwRDs7OztJQXFCQSxrQ0FBdUo7SUFBakcsK0xBQTBCO0lBQzlFLCtCQUNGO0lBQUEsaUJBQVM7Ozs7QUQ5QmYsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztR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UUFDdEMsMEJBQUc7UUFBQSw4QkFDRDtRQUFBLDZCQUFNO1FBQ0osbUNBQTJIO1FBQ3pILGFBQ0Y7UUFBQSxpQkFBUztRQUNYLGlCQUFPO1FBQ1QsaUJBQUk7UUFDTixpQkFBTTtRQUNOLGdDQUF3QztRQUN0Qyw2RUFFUztRQUNYLGlCQUFNO1FBQ1IsaUJBQU07UUFDTixnQ0FBZ0M7UUFDOUIsbUNBQXVFO1FBQW5CLGlHQUFTLFlBQVEsSUFBQztRQUFDLHFCQUFJO1FBQUEsaUJBQVM7UUFDdEYsaUJBQU07UUFDUixpQkFBTTs7UUE5Q2tCLHlDQUF1QjtRQUViLGVBQTBEO1FBQTFELG1GQUEwRDtRQUNaLGVBQTZCO1FBQTdCLCtDQUE2QjtRQUNuRyxlQUNGO1FBREUsb0RBQ0Y7UUFHQSxlQUNGO1FBREUsbURBQ0Y7UUFFRyxlQUFzQztRQUF0QywyREFBc0M7UUFJdEMsZUFBcUM7UUFBckMsMERBQXFDO1FBR1AsZUFBNEI7UUFBNUIsOENBQTRCLG1DQUFBLDhDQUFBO1FBSzNELGVBQ0Y7UUFERSw0REFDRjtRQU84QixlQUFnRztRQUFoRywwSEFBZ0c7UUFDeEgsZUFDRjtRQURFLHFGQUNGO1FBSzhFLGVBQW1FO1FBQW5FLHdGQUFtRTs7dUZENUI5SSxtQkFBbUI7Y0FKL0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFdBQVcsRUFBRSw4QkFBOEI7YUFDNUM7Z0JBR2lCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBRVcsb0JBQW9CO2tCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlLCBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdTdGF0dXMsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLCBVcGRhdGVGbGFnU3RlcCB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXVwZGF0ZS1mbGFnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwZGF0ZS1mbGFnLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVcGRhdGVGbGFnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEZsYWc6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGg7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyB1cGRhdGVGbGFnVGl0bGUgPSAnJztcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyB1cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyB1cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdIaW50OiBVcGRhdGVGbGFnU3RlcDtcbiAgcHVibGljIHVwZGF0ZUZsYWdDaGFyTGltaXRJbmZvOiBVcGRhdGVGbGFnU3RlcDtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0ZUZsYWdDb250cm9sTmFtZSA9ICdmbGFnQ29tbWVudHMnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1lbnRzTWF4Q2hhckxpbWl0ID0gMjAwO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdIaW50ID0gVXBkYXRlRmxhZ1N0ZXAuSElOVF9URVhUIDtcbiAgICB0aGlzLnVwZGF0ZUZsYWdDaGFyTGltaXRJbmZvID0gVXBkYXRlRmxhZ1N0ZXAuQ0hBUkFDVEVSX0xJTUlUX0lORk87XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWcgJiYgdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkgJiYgdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCkge1xuICAgICAgY29uc3QgZmxhZ0RldGFpbCA9IHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWw7XG4gICAgICAvLyBQb3B1bGF0ZSBmbGFnIGNvbW1lbnRzIHRleHQgYXJlYSB3aXRoIGV4aXN0aW5nIGNvbW1lbnRzXG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWUpLnNldFZhbHVlKGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQpO1xuICAgICAgaWYgKGZsYWdEZXRhaWwubmFtZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZsYWdUaXRsZSA9XG4gICAgICAgICAgYCR7Q2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEV9IFwiJHtmbGFnRGV0YWlsLm5hbWV9JHtmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZVxuICAgICAgICAgICAgPyBgLCAke2ZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlfVwiYFxuICAgICAgICAgICAgOiAnXCInfWA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSBmbGFnIGNvbW1lbnRzIGVudHJ5XG4gICAgdGhpcy52YWxpZGF0ZVRleHRFbnRyeSgpO1xuICAgIC8vIElmIHZhbGlkYXRpb24gaGFzIHBhc3NlZCwgdXBkYXRlIHRoZSBmbGFnIGRldGFpbHMgd2l0aCB0aGUgY29tbWVudHMgZW50ZXJlZFxuICAgIGlmICh0aGlzLmVycm9yTWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsID0ge1xuICAgICAgICAuLi50aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLCBmbGFnQ29tbWVudDogdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMudXBkYXRlRmxhZ0NvbnRyb2xOYW1lKS52YWx1ZVxuICAgICAgfTtcbiAgICB9XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBzZWxlY3RlZCBmbGFnIGRldGFpbCB0byB0aGUgcGFyZW50LiBUaGUgc2VsZWN0ZWQgZmxhZyBtdXN0IGJlXG4gICAgLy8gcmUtZW1pdHRlZCBiZWNhdXNlIHRoZSBwYXJlbnQgY29tcG9uZW50IHJlcG9wdWxhdGVzIHRoaXMgb24gaGFuZGxpbmcgdGhpcyBFdmVudEVtaXR0ZXJcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLnNlbGVjdGVkRmxhZ1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlU3RhdHVzKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwgPSB7XG4gICAgICAuLi50aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLFxuICAgICAgc3RhdHVzOiB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLnN0YXR1cyA9PT0gQ2FzZUZsYWdTdGF0dXMuQUNUSVZFXG4gICAgICAgID8gQ2FzZUZsYWdTdGF0dXMuSU5BQ1RJVkVcbiAgICAgICAgOiB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLnN0YXR1c1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVGV4dEVudHJ5KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRmxhZ05vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMudXBkYXRlRmxhZ0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgY29uc3QgY29tbWVudCA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZSkudmFsdWU7XG4gICAgaWYgKCFjb21tZW50KSB7XG4gICAgICB0aGlzLnVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX05PVF9FTlRFUkVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfTk9UX0VOVEVSRUQsXG4gICAgICAgIGZpZWxkSWQ6IHRoaXMudXBkYXRlRmxhZ0NvbnRyb2xOYW1lXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNvbW1lbnQgJiYgY29tbWVudC5sZW5ndGggPiB0aGlzLmNvbW1lbnRzTWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLnVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IHRoaXMudXBkYXRlRmxhZ0NvbnRyb2xOYW1lXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tYXhsZW5ndGg9XCIyMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj48bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbFwiIFtmb3JdPVwidXBkYXRlRmxhZ0NvbnRyb2xOYW1lXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnVGl0bGV9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9oMT5cbiAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgIHt7dXBkYXRlRmxhZ0hpbnR9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctbm90LWVudGVyZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwidXBkYXRlRmxhZ05vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7dXBkYXRlRmxhZ05vdEVudGVyZWRFcnJvck1lc3NhZ2V9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwidXBkYXRlRmxhZ0NoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3t1cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIiBbaWRdPVwidXBkYXRlRmxhZ0NvbnRyb2xOYW1lXCJcbiAgICAgICAgW25hbWVdPVwidXBkYXRlRmxhZ0NvbnRyb2xOYW1lXCIgW2Zvcm1Db250cm9sTmFtZV09XCJ1cGRhdGVGbGFnQ29udHJvbE5hbWVcIiByb3dzPVwiNVwiXG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJ1cGRhdGUtZmxhZy1oaW50IHVwZGF0ZS1mbGFnLWNoYXItbGltaXQtaW5mbyB1cGRhdGUtZmxhZy1jaGFyLWxpbWl0LWVycm9yXCI+XG4gICAgICA8L3RleHRhcmVhPlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAge3t1cGRhdGVGbGFnQ2hhckxpbWl0SW5mb319XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZlwiPlxuICAgICAgPHA+RmxhZyBzdGF0dXM6XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay10YWdcIiBbbmdDbGFzc109XCJ7J2dvdnVrLXRhZy0tZ3JleSc6IHNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLnN0YXR1cyA9PT0gJ0luYWN0aXZlJ31cIj5cbiAgICAgICAgICAgIHt7c2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzfX1cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZlwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkNoYW5nZVN0YXR1cygpXCIgKm5nSWY9XCJzZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09ICdBY3RpdmUnXCI+XG4gICAgICAgIE1ha2UgaW5hY3RpdmVcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+TmV4dDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
390
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzVELE9BQU8sRUFDTCwrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2YsTUFBTSxhQUFhLENBQUM7Ozs7SUNMZiw4QkFDc0Y7SUFDcEYsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosZUFDRjtJQURFLG1NQUNGOzs7SUFTRSwrQkFDK0M7SUFDN0MsZ0NBQW9DO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLDhGQUN6RTs7O0lBQ0EsK0JBQzhDO0lBQzVDLGdDQUFv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Z0NBQWdDO1FBQzlCLG1DQUF3RjtRQUFuQixpR0FBUyxZQUFRLElBQUM7UUFDckYsYUFDRjs7UUFBQSxpQkFBUztRQUNYLGlCQUFNOztRQXhHUSx5Q0FBdUI7UUFFSCxlQUEwRDtRQUExRCxtRkFBMEQ7UUFHbEYsZUFDRjtRQURFLDJFQUNGO1FBR0MsZUFBaUY7UUFBakYsMEdBQWlGO1FBS3hDLGVBQW1DO1FBQW5DLHFEQUFtQztRQUMzRSxlQUNGO1FBREUscUhBQ0Y7UUFFRSxlQUNGO1FBREUsaUdBQ0Y7UUFFTyxlQUFzQztRQUF0QywyREFBc0M7UUFJdEMsZUFBcUM7UUFBckMsMERBQXFDO1FBR1gsZUFBa0M7UUFBbEMsb0RBQWtDLHlDQUFBLG9EQUFBO1FBS2pFLGVBQ0Y7UUFERSxvR0FDRjtRQUlDLGVBQXdFO1FBQXhFLGlHQUF3RTtRQTRDeEUsZUFBd0U7UUFBeEUsaUdBQXdFO1FBb0I3RSxlQUNGO1FBREUsK0RBQ0Y7O3VGRHBGVyxtQkFBbUI7Y0FKL0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFdBQVcsRUFBRSw4QkFBOEI7YUFDNUM7d0VBRWlCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSx1QkFBdUI7a0JBQXRDLEtBQUs7WUFFVyxvQkFBb0I7a0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUnB4VHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAncnB4LXh1aS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLFxuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnRm9ybUZpZWxkcyxcbiAgQ2FzZUZsYWdTdGF0dXMsXG4gIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLFxuICBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLFxuICBVcGRhdGVGbGFnU3RlcFxufSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC11cGRhdGUtZmxhZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUtZmxhZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlRmxhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZsYWc6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGg7XG4gIHB1YmxpYyB1cGRhdGVGbGFnVGl0bGUgPSAnJztcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyB1cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyB1cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdTdGVwRW51bSA9IFVwZGF0ZUZsYWdTdGVwO1xuICBwdWJsaWMgdmFsaWRTdGF0dXNQcm9ncmVzc2lvbnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FzZUZsYWdTdGF0dXNFbnVtID0gQ2FzZUZsYWdTdGF0dXM7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlRmxhZ0Zvcm1GaWVsZHMgPSBDYXNlRmxhZ0Zvcm1GaWVsZHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dE1heENoYXJMaW1pdCA9IDIwMDtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbiA9ICdzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbic7XG4gIHByaXZhdGUgZmxhZ0RldGFpbDogRmxhZ0RldGFpbDtcbiAgcHVibGljIGNhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25TZXJ2aWNlOiBScHhUcmFuc2xhdGlvblNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZyA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uKS52YWx1ZSBhcyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZz8uZmxhZ0RldGFpbERpc3BsYXk/LmZsYWdEZXRhaWwpIHtcbiAgICAgIHRoaXMuZmxhZ0RldGFpbCA9IHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWw7XG4gICAgICBjb25zdCBjdXJyZW50RmxhZ1N0YXR1c0tleSA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maW5kKGtleSA9PiBDYXNlRmxhZ1N0YXR1c1trZXldID09PSB0aGlzLmZsYWdEZXRhaWwuc3RhdHVzKTtcblxuICAgICAgLy8gUG9wdWxhdGUgZmxhZyBjb21tZW50cyB0ZXh0IGFyZWEgd2l0aCBleGlzdGluZyBjb21tZW50czsgdXNlIHRoZSBjb21tZW50cyBhcHByb3ByaWF0ZSBmb3IgdGhlIHNlbGVjdGVkIGxhbmd1YWdlLFxuICAgICAgLy8gZmFsbGluZyBiYWNrIG9uIHRoZWlyIGFsdGVybmF0ZSBjb3VudGVycGFydCBpZiBub25lIGFyZSBhdmFpbGFibGUuIENvbW1lbnRzIGFyZSB0byBiZSBwb3B1bGF0ZWQgb25lIHRpbWUgb25seSAtXG4gICAgICAvLyB3aGVuIHRoZSB1c2VyIGZpcnN0IHZpc2l0cyB0aGUgcGFnZSAtIGV2ZW4gaWYgdGhleSBzd2l0Y2ggbGFuZ3VhZ2Ugc3Vic2VxdWVudGx5XG4gICAgICBsZXQgZXhpc3RpbmdDb21tZW50czogc3RyaW5nO1xuICAgICAgaWYgKHRoaXMucnB4VHJhbnNsYXRpb25TZXJ2aWNlLmxhbmd1YWdlID09PSAnY3knKSB7XG4gICAgICAgIGV4aXN0aW5nQ29tbWVudHMgPSB0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3kgfHwgdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhpc3RpbmdDb21tZW50cyA9IHRoaXMuZmxhZ0RldGFpbC5mbGFnQ29tbWVudCB8fCB0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3k7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UUywgbmV3IEZvcm1Db250cm9sKGV4aXN0aW5nQ29tbWVudHMpKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVUywgbmV3IEZvcm1Db250cm9sKGN1cnJlbnRGbGFnU3RhdHVzS2V5KSk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTiwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5JU19XRUxTSF9UUkFOU0xBVElPTl9ORUVERUQsIG5ldyBGb3JtQ29udHJvbChmYWxzZSkpO1xuXG4gICAgICB0aGlzLnVwZGF0ZUZsYWdUaXRsZSA9IHRoaXMuc2V0VXBkYXRlQ2FzZUZsYWdUaXRsZSh0aGlzLmZsYWdEZXRhaWwpO1xuXG4gICAgICAvLyBTZXQgdGhlIHZhbGlkIHN0YXR1cyBvcHRpb25zIGZvciBkaXNwbGF5LCBiYXNlZCBvbiBjdXJyZW50IHN0YXR1cyBvZiB0aGUgc2VsZWN0ZWQgZmxhZy4gXCJBY3RpdmVcIiBmbGFncyBjYW5cbiAgICAgIC8vIHJlbWFpbiBcIkFjdGl2ZVwiIG9yIG1vdmUgdG8gXCJJbmFjdGl2ZVwiIG9ubHk7IFwiUmVxdWVzdGVkXCIgZmxhZ3MgY2FuIHJlbWFpbiBcIlJlcXVlc3RlZFwiIG9yIG1vdmUgdG8gXCJBY3RpdmVcIixcbiAgICAgIC8vIFwiSW5hY3RpdmVcIiwgb3IgXCJOb3QgYXBwcm92ZWRcIi4gTm8gb3RoZXIgc3RhdHVzIHByb2dyZXNzaW9ucyBhcmUgdmFsaWRcbiAgICAgIGlmIChjdXJyZW50RmxhZ1N0YXR1c0tleSkge1xuICAgICAgICBzd2l0Y2ggKGN1cnJlbnRGbGFnU3RhdHVzS2V5KSB7XG4gICAgICAgICAgY2FzZSAnQUNUSVZFJzpcbiAgICAgICAgICAgIHRoaXMudmFsaWRTdGF0dXNQcm9ncmVzc2lvbnMgPSBPYmplY3Qua2V5cyhDYXNlRmxhZ1N0YXR1cykuZmlsdGVyKGtleSA9PiAhWydSRVFVRVNURUQnLCAnTk9UX0FQUFJPVkVEJ10uaW5jbHVkZXMoa2V5KSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdSRVFVRVNURUQnOlxuICAgICAgICAgICAgdGhpcy52YWxpZFN0YXR1c1Byb2dyZXNzaW9ucyA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aGlzLnZhbGlkU3RhdHVzUHJvZ3Jlc3Npb25zID0gW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXBkYXRlQ2FzZUZsYWdUaXRsZShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICAgIGlmIChmbGFnRGV0YWlsPy5uYW1lKSB7XG4gICAgICAgICAgY29uc3Qgc3ViVHlwZVZhbHVlID0gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWUgPyBgLCAke2ZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlfWAgOiAnJ1xuICAgICAgICAgIHJldHVybiBgJHtDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5VUERBVEVfRkxBR19USVRMRX0gXCIke2ZsYWdEZXRhaWwubmFtZX0ke3N1YlR5cGVWYWx1ZX1cImA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke0Nhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlVQREFURV9GTEFHX1RJVExFfWA7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEVfRVhURVJOQUw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuTk9ORTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgY29tbWVudHMgYW5kIHN0YXR1cyByZWFzb24gZW50cnlcbiAgICB0aGlzLnZhbGlkYXRlVGV4dEVudHJ5KCk7XG5cbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCBlcnJvciBtZXNzYWdlcywgYW5kIHNlbGVjdGVkIGZsYWcgZGV0YWlsIHRvIHRoZSBwYXJlbnQuIFRoZSBzZWxlY3RlZCBmbGFnIG11c3QgYmVcbiAgICAvLyByZS1lbWl0dGVkIGJlY2F1c2UgdGhlIHBhcmVudCBjb21wb25lbnQgcmVwb3B1bGF0ZXMgdGhpcyBvbiBoYW5kbGluZyB0aGlzIEV2ZW50RW1pdHRlclxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBzZWxlY3RlZEZsYWc6IHRoaXMuc2VsZWN0ZWRGbGFnLFxuICAgIH0pO1xuXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLnVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIC8vIFZhbGlkYXRpb24gc2hvdWxkIGZhaWwgaWYgdGhlIGZsYWcgaGFzIGFuIGV4aXN0aW5nIGNvbW1lbnQgYW5kIGl0IGhhcyBiZWVuIGRlbGV0ZWQgb24gc2NyZWVuOyBjb252ZXJzZWx5LCBpZiB0aGVyZVxuICAgIC8vIGlzIG5vIGV4aXN0aW5nIGNvbW1lbnQgdGhlbiBvbmUgaXMgbm90IHJlcXVpcmVkIGZvciB2YWxpZGF0aW9uIHRvIHBhc3NcbiAgICBjb25zdCBjb21tZW50ID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UUykudmFsdWU7XG4gICAgaWYgKCFjb21tZW50ICYmICh0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQgfHwgdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5KSkge1xuICAgICAgdGhpcy51cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0VXBkYXRlRmxhZ05vdEVudGVyZWRFcnJvck1lc3NhZ2UoKTtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy51cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZSxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29tbWVudCAmJiBjb21tZW50Lmxlbmd0aCA+IHRoaXMudGV4dE1heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy51cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiBDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXR1c1JlYXNvbiA9IHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT04pLnZhbHVlO1xuICAgIGNvbnN0IGZsYWdTdGF0dXNOb3RBcHByb3ZlZEtleSA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maW5kKGtleSA9PiBDYXNlRmxhZ1N0YXR1c1trZXldID09PSBDYXNlRmxhZ1N0YXR1cy5OT1RfQVBQUk9WRUQpO1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVUykudmFsdWUgPT09IGZsYWdTdGF0dXNOb3RBcHByb3ZlZEtleSAmJiAhc3RhdHVzUmVhc29uKSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzUmVhc29uICYmIHN0YXR1c1JlYXNvbi5sZW5ndGggPiB0aGlzLnRleHRNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMuc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiBDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT05cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VXBkYXRlRmxhZ05vdEVudGVyZWRFcnJvck1lc3NhZ2UoKTogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZSB7XG4gICAgc3dpdGNoKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICAgIHJldHVybiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfTk9UX0VOVEVSRUQ7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMOlxuICAgICAgICByZXR1cm4gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX05PVF9FTlRFUkVEX0VYVEVSTkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuTk9ORTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tYXhsZW5ndGg9XCIyMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLWxcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2gxPlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBjYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTFwiPlxuICAgICAgICB7e3NlbGVjdGVkRmxhZz8uZmxhZ0RldGFpbERpc3BsYXk/LmZsYWdEZXRhaWwgfCB1cGRhdGVGbGFnVGl0bGVEaXNwbGF5fX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLXNcIiBbZm9yXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiPlxuICAgICAgICAgIHt7dXBkYXRlRmxhZ1RpdGxlIHwgcnB4VHJhbnNsYXRlfX0ge3snY29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdTdGVwRW51bS5DT01NRU5UX0hJTlRfVEVYVCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctbm90LWVudGVyZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwidXBkYXRlRmxhZ05vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3t1cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwidXBkYXRlRmxhZ0NoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e3VwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIiBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCIgcm93cz1cIjVcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cInVwZGF0ZS1mbGFnLWhpbnQgdXBkYXRlLWZsYWctY2hhci1saW1pdC1pbmZvIHVwZGF0ZS1mbGFnLWNoYXItbGltaXQtZXJyb3JcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdTdGVwRW51bS5DSEFSQUNURVJfTElNSVRfSU5GTyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXN0YXR1cy1jb250YWluZXJcIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCJcbiAgICAgICAgKm5nSWY9XCJkaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gY2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVcIj5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwidXBkYXRlLWZsYWctc3RhdHVzLWhlYWRpbmdcIj5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zXCI+XG4gICAgICAgICAgICA8aDEgaWQ9XCJ1cGRhdGUtZmxhZy1zdGF0dXMtaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICAgICAge3t1cGRhdGVGbGFnVGl0bGUgfCBycHhUcmFuc2xhdGV9fSB7eydzdGF0dXMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBzdGF0dXMgb2YgdmFsaWRTdGF0dXNQcm9ncmVzc2lvbnNcIj5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVMgKyAnXycgKyBzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInN0YXR1c1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgW2Zvcl09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTICsgJ18nICsgc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAge3tjYXNlRmxhZ1N0YXR1c0VudW1bc3RhdHVzXSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cblxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdTdGVwRW51bS5TVEFUVVNfSElOVF9URVhUIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1zdGF0dXMtcmVhc29uLW5vdC1lbnRlcmVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgICAqbmdJZj1cInN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1zdGF0dXMtcmVhc29uLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgICAqbmdJZj1cInN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e3N0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlwiXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlwiXG4gICAgICAgICAgICAgICAgICByb3dzPVwiNVwiPlxuICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uQ0hBUkFDVEVSX0xJTUlUX0lORk8gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBjYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVEXCJcbiAgICAgICAgICAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiXG4gICAgICAgICAgICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiPlxuICAgICAgICAgICAgICB7eydJIG5lZWQgdG8gYWRkIGEgdHJhbnNsYXRpb24nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgPGJ1dHRvbiBpZD1cInVwZGF0ZUZsYWdOZXh0QnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+XG4gICAge3snTmV4dCcgfCBycHhUcmFuc2xhdGV9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2RvbWFpbi9jYXNlLWZsYWctc3RhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoLCBGbGFnUGF0aCwgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4vY2FzZS1mbGFnLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXNlRmxhZ1N0YXRlIHtcbiAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogbnVtYmVyO1xuICBzZWxlY3RlZEZsYWdzTG9jYXRpb24/OiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoO1xuICBpc1BhcmVudEZsYWdUeXBlPzogYm9vbGVhbjtcbiAgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW107XG4gIGZsYWdOYW1lPzogc3RyaW5nO1xuICBmbGFnUGF0aD86IEZsYWdQYXRoW107XG4gIGhlYXJpbmdSZWxldmFudEZsYWc/OiBib29sZWFuO1xuICBmbGFnQ29kZT86IHN0cmluZztcbiAgbGlzdE9mVmFsdWVzPzogeyBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W107XG4gIHNlbGVjdGVkRmxhZz86IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGg7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2RvbWFpbi9jYXNlLWZsYWctc3RhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi9jYXNlLWZsYWcubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhc2VGbGFnU3RhdGUge1xuICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBudW1iZXI7XG4gIGlzUGFyZW50RmxhZ1R5cGU/OiBib29sZWFuO1xuICBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXTtcbiAgc2VsZWN0ZWRGbGFnPzogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aDtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2RvbWFpbi9jYXNlLWZsYWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ1BhdGgge1xuICBpZD86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFnRGV0YWlsIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgc3ViVHlwZVZhbHVlPzogc3RyaW5nO1xuICBzdWJUeXBlS2V5Pzogc3RyaW5nO1xuICBvdGhlckRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBmbGFnQ29tbWVudD86IHN0cmluZztcbiAgZGF0ZVRpbWVNb2RpZmllZD86IERhdGUgfCBzdHJpbmc7XG4gIGRhdGVUaW1lQ3JlYXRlZDogRGF0ZSB8IHN0cmluZztcbiAgcGF0aDogRmxhZ1BhdGhbXTtcbiAgaGVhcmluZ1JlbGV2YW50OiBib29sZWFuIHwgc3RyaW5nO1xuICBmbGFnQ29kZTogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFncyB7XG4gIC8vIFRoZSBmbGFnc0Nhc2VGaWVsZElkIHByb3BlcnR5IGNvdWxkIGJlIHJlbW92ZWQgaW4gZnV0dXJlLCBnaXZlbiB0aGF0IHRoZSBmdWxsIHBhdGggaXMgbm93IGF2YWlsYWJsZSB0aHJvdWdoIHRoZVxuICAvLyBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIGludGVyZmFjZVxuICBmbGFnc0Nhc2VGaWVsZElkPzogc3RyaW5nO1xuICBwYXJ0eU5hbWU/OiBzdHJpbmc7XG4gIHJvbGVPbkNhc2U/OiBzdHJpbmc7XG4gIGRldGFpbHM/OiBGbGFnRGV0YWlsW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ0RldGFpbERpc3BsYXkge1xuICBwYXJ0eU5hbWU6IHN0cmluZztcbiAgZmxhZ0RldGFpbDogRmxhZ0RldGFpbDtcbiAgLy8gVGhlIGZsYWdzQ2FzZUZpZWxkSWQgcHJvcGVydHkgY291bGQgYmUgcmVtb3ZlZCBpbiBmdXR1cmUsIGdpdmVuIHRoYXQgdGhlIGZ1bGwgcGF0aCBpcyBub3cgYXZhaWxhYmxlIHRocm91Z2ggdGhlXG4gIC8vIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggaW50ZXJmYWNlXG4gIGZsYWdzQ2FzZUZpZWxkSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGludGVyZmFjZSBmb3IgRmxhZ3MgdGhhdCBhZGRzIHRoZSBwYXRoIHRvIHRoZSBjb3JyZXNwb25kaW5nIEZvcm1Hcm91cCwgYW5kIHRoZSBDYXNlRmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIHtcbiAgZmxhZ3M6IEZsYWdzO1xuICBwYXRoVG9GbGFnc0Zvcm1Hcm91cDogc3RyaW5nO1xuICBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGludGVyZmFjZSBmb3IgRmxhZ0RldGFpbERpc3BsYXkgdGhhdCBhZGRzIHRoZSBwYXRoIHRvIHRoZSBjb3JyZXNwb25kaW5nIEZvcm1Hcm91cCwgYW5kIHRoZSBDYXNlRmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoIHtcbiAgZmxhZ0RldGFpbERpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5O1xuICBwYXRoVG9GbGFnc0Zvcm1Hcm91cDogc3RyaW5nO1xuICBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbiAgcm9sZU9uQ2FzZT86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2RvbWFpbi9jYXNlLWZsYWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ1BhdGgge1xuICBpZD86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFnRGV0YWlsIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgbmFtZV9jeT86IHN0cmluZztcbiAgc3ViVHlwZVZhbHVlPzogc3RyaW5nO1xuICBzdWJUeXBlVmFsdWVfY3k/OiBzdHJpbmc7XG4gIHN1YlR5cGVLZXk/OiBzdHJpbmc7XG4gIG90aGVyRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG90aGVyRGVzY3JpcHRpb25fY3k/OiBzdHJpbmc7XG4gIGZsYWdDb21tZW50Pzogc3RyaW5nO1xuICBmbGFnQ29tbWVudF9jeT86IHN0cmluZztcbiAgZmxhZ1VwZGF0ZUNvbW1lbnQ/OiBzdHJpbmc7XG4gIGRhdGVUaW1lTW9kaWZpZWQ/OiBEYXRlIHwgc3RyaW5nO1xuICBkYXRlVGltZUNyZWF0ZWQ6IERhdGUgfCBzdHJpbmc7XG4gIHBhdGg6IEZsYWdQYXRoW107XG4gIGhlYXJpbmdSZWxldmFudDogYm9vbGVhbiB8IHN0cmluZztcbiAgZmxhZ0NvZGU6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIGF2YWlsYWJsZUV4dGVybmFsbHk/OiBib29sZWFuIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsYWdzIHtcbiAgLy8gVGhlIGZsYWdzQ2FzZUZpZWxkSWQgcHJvcGVydHkgY291bGQgYmUgcmVtb3ZlZCBpbiBmdXR1cmUsIGdpdmVuIHRoYXQgdGhlIGZ1bGwgcGF0aCBpcyBub3cgYXZhaWxhYmxlIHRocm91Z2ggdGhlXG4gIC8vIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggaW50ZXJmYWNlXG4gIGZsYWdzQ2FzZUZpZWxkSWQ/OiBzdHJpbmc7XG4gIHBhcnR5TmFtZT86IHN0cmluZztcbiAgcm9sZU9uQ2FzZT86IHN0cmluZztcbiAgZGV0YWlscz86IEZsYWdEZXRhaWxbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFnRGV0YWlsRGlzcGxheSB7XG4gIHBhcnR5TmFtZTogc3RyaW5nO1xuICBmbGFnRGV0YWlsOiBGbGFnRGV0YWlsO1xuICAvLyBUaGUgZmxhZ3NDYXNlRmllbGRJZCBwcm9wZXJ0eSBjb3VsZCBiZSByZW1vdmVkIGluIGZ1dHVyZSwgZ2l2ZW4gdGhhdCB0aGUgZnVsbCBwYXRoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGVcbiAgLy8gRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCBpbnRlcmZhY2VcbiAgZmxhZ3NDYXNlRmllbGRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgaW50ZXJmYWNlIGZvciBGbGFncyB0aGF0IGFkZHMgdGhlIHBhdGggdG8gdGhlIGNvcnJlc3BvbmRpbmcgRm9ybUdyb3VwLCBhbmQgdGhlIENhc2VGaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGgge1xuICBmbGFnczogRmxhZ3M7XG4gIHBhdGhUb0ZsYWdzRm9ybUdyb3VwOiBzdHJpbmc7XG4gIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgaW50ZXJmYWNlIGZvciBGbGFnRGV0YWlsRGlzcGxheSB0aGF0IGFkZHMgdGhlIHBhdGggdG8gdGhlIGNvcnJlc3BvbmRpbmcgRm9ybUdyb3VwLCBhbmQgdGhlIENhc2VGaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgge1xuICBmbGFnRGV0YWlsRGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXk7XG4gIHBhdGhUb0ZsYWdzRm9ybUdyb3VwOiBzdHJpbmc7XG4gIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICByb2xlT25DYXNlPzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbn1cbiJdfQ==