@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,10 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { CaseFlagFieldState, CaseFlagWizardStepTitle, SelectFlagErrorMessage } from '../../enums';
3
+ import { CaseFlagDisplayContextParameter, CaseFlagFieldState, CaseFlagStatus, CaseFlagWizardStepTitle, SelectFlagErrorMessage } from '../../enums';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "rpx-xui-translation";
8
5
  function ManageCaseFlagsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
9
6
  i0.ɵɵelementStart(0, "div", 9);
10
7
  i0.ɵɵelementStart(1, "span", 10);
@@ -25,6 +22,7 @@ function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
25
22
  i0.ɵɵelementStart(0, "div", 11);
26
23
  i0.ɵɵelement(1, "input", 12);
27
24
  i0.ɵɵelement(2, "label", 13);
25
+ i0.ɵɵpipe(3, "manageCaseFlagsLabelDisplay");
28
26
  i0.ɵɵelementEnd();
29
27
  } if (rf & 2) {
30
28
  const flagDisplay_r3 = ctx.$implicit;
@@ -35,7 +33,7 @@ function ManageCaseFlagsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
35
33
  i0.ɵɵproperty("name", ctx_r1.selectedControlName)("value", flagDisplay_r3)("formControlName", ctx_r1.selectedControlName);
36
34
  i0.ɵɵadvance(1);
37
35
  i0.ɵɵpropertyInterpolate1("for", "flag-selection-", i_r4, "");
38
- i0.ɵɵproperty("innerHtml", flagDisplay_r3.label, i0.ɵɵsanitizeHtml);
36
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(3, 6, flagDisplay_r3), i0.ɵɵsanitizeHtml);
39
37
  } }
40
38
  function ManageCaseFlagsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
41
39
  const _r6 = i0.ɵɵgetCurrentView();
@@ -58,23 +56,29 @@ export class ManageCaseFlagsComponent {
58
56
  this.manageCaseFlagSelectedErrorMessage = null;
59
57
  this.noFlagsError = false;
60
58
  this.selectedControlName = 'selectedManageCaseLocation';
59
+ this.excludedFlagStatuses = [CaseFlagStatus.INACTIVE, CaseFlagStatus.NOT_APPROVED];
61
60
  }
62
61
  ngOnInit() {
63
- this.manageCaseFlagTitle = CaseFlagWizardStepTitle.MANAGE_CASE_FLAGS;
62
+ this.manageCaseFlagTitle = this.setManageCaseFlagTitle(this.displayContextParameter);
64
63
  // Map flags instances to objects for display
64
+ /* istanbul ignore else */
65
65
  if (this.flagsData) {
66
66
  this.flagsDisplayData = this.flagsData.reduce((displayData, flagsInstance) => {
67
+ /* istanbul ignore else */
67
68
  if (flagsInstance.flags.details && flagsInstance.flags.details.length > 0) {
68
69
  displayData = [
69
70
  ...displayData,
70
- ...flagsInstance.flags.details.map(detail => this.mapFlagDetailForDisplay(detail, flagsInstance))
71
+ ...flagsInstance.flags.details.map(detail => {
72
+ // Only map flags instances where the status is neither "Inactive" nor "Not approved"
73
+ // This will result in some undefined mappings, which need to be filtered out after the reduce operation
74
+ if (!this.excludedFlagStatuses.includes(detail.status)) {
75
+ return this.mapFlagDetailForDisplay(detail, flagsInstance);
76
+ }
77
+ })
71
78
  ];
72
79
  }
73
80
  return displayData;
74
- }, []);
75
- this.flagsDisplayData.forEach(flagDisplayData => {
76
- flagDisplayData.label = this.processLabel(flagDisplayData);
77
- });
81
+ }, []).filter(flagDetailDisplay => !!flagDetailDisplay);
78
82
  }
79
83
  // Add a FormControl for the selected case flag if there is at least one flags instance remaining after mapping
80
84
  if (this.flagsDisplayData && this.flagsDisplayData.length > 0) {
@@ -98,59 +102,6 @@ export class ManageCaseFlagsComponent {
98
102
  roleOnCase: flagsInstance.flags.roleOnCase
99
103
  };
100
104
  }
101
- processLabel(flagDisplay) {
102
- const flagDetail = flagDisplay.flagDetailDisplay.flagDetail;
103
- const partyName = this.getPartyName(flagDisplay);
104
- const flagName = this.getFlagName(flagDetail);
105
- const flagDescription = this.getFlagDescription(flagDetail);
106
- const roleOnCase = this.getRoleOnCase(flagDisplay);
107
- const flagComment = this.getFlagComments(flagDetail);
108
- return flagName === flagDescription
109
- ? `${partyName}${roleOnCase} - <span class="flag-name-and-description">${flagDescription}</span>${flagComment}`
110
- : `${partyName}${roleOnCase} - <span class="flag-name-and-description">${flagName}, ${flagDescription}</span>${flagComment}`;
111
- }
112
- getPartyName(flagDisplay) {
113
- if (flagDisplay.pathToFlagsFormGroup && flagDisplay.pathToFlagsFormGroup === ManageCaseFlagsComponent.CASE_LEVEL_CASE_FLAGS_FIELD_ID) {
114
- return 'Case level';
115
- }
116
- if (flagDisplay.flagDetailDisplay.partyName) {
117
- return `${flagDisplay.flagDetailDisplay.partyName}`;
118
- }
119
- return '';
120
- }
121
- getFlagName(flagDetail) {
122
- if (flagDetail && flagDetail.path && flagDetail.path.length > 1) {
123
- return flagDetail.path[1].value;
124
- }
125
- if (flagDetail.subTypeKey && flagDetail.subTypeValue) {
126
- return flagDetail.subTypeValue;
127
- }
128
- return flagDetail.name;
129
- }
130
- getFlagDescription(flagDetail) {
131
- if (flagDetail && flagDetail.name) {
132
- if (flagDetail.name === 'Other' && flagDetail.otherDescription) {
133
- return flagDetail.otherDescription;
134
- }
135
- if (flagDetail.subTypeKey && flagDetail.subTypeValue) {
136
- return flagDetail.subTypeValue;
137
- }
138
- return flagDetail.name;
139
- }
140
- return '';
141
- }
142
- getRoleOnCase(flagDisplay) {
143
- if (flagDisplay && flagDisplay.roleOnCase) {
144
- return ` (${flagDisplay.roleOnCase})`;
145
- }
146
- return '';
147
- }
148
- getFlagComments(flagDetail) {
149
- if (flagDetail.flagComment) {
150
- return ` (${flagDetail.flagComment})`;
151
- }
152
- return '';
153
- }
154
105
  onNext() {
155
106
  // Validate flag selection
156
107
  this.validateSelection();
@@ -162,15 +113,28 @@ export class ManageCaseFlagsComponent {
162
113
  ? this.formGroup.get(this.selectedControlName).value
163
114
  : null
164
115
  });
116
+ window.scrollTo(0, 0);
117
+ }
118
+ setManageCaseFlagTitle(displayContextParameter) {
119
+ switch (displayContextParameter) {
120
+ case CaseFlagDisplayContextParameter.UPDATE:
121
+ return CaseFlagWizardStepTitle.MANAGE_CASE_FLAGS;
122
+ case CaseFlagDisplayContextParameter.UPDATE_EXTERNAL:
123
+ return CaseFlagWizardStepTitle.MANAGE_SUPPORT;
124
+ default:
125
+ return CaseFlagWizardStepTitle.NONE;
126
+ }
165
127
  }
166
128
  validateSelection() {
167
129
  this.manageCaseFlagSelectedErrorMessage = null;
168
130
  this.errorMessages = [];
169
131
  if (!this.formGroup.get(this.selectedControlName).value) {
170
- this.manageCaseFlagSelectedErrorMessage = SelectFlagErrorMessage.FLAG_NOT_SELECTED;
132
+ const errorMessage = this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE_EXTERNAL ?
133
+ SelectFlagErrorMessage.MANAGE_SUPPORT_FLAG_NOT_SELECTED : SelectFlagErrorMessage.MANAGE_CASE_FLAGS_FLAG_NOT_SELECTED;
134
+ this.manageCaseFlagSelectedErrorMessage = errorMessage;
171
135
  this.errorMessages.push({
172
136
  title: '',
173
- description: SelectFlagErrorMessage.FLAG_NOT_SELECTED,
137
+ description: errorMessage,
174
138
  fieldId: 'conditional-radios-list'
175
139
  });
176
140
  }
@@ -187,10 +151,9 @@ export class ManageCaseFlagsComponent {
187
151
  });
188
152
  }
189
153
  }
190
- ManageCaseFlagsComponent.CASE_LEVEL_CASE_FLAGS_FIELD_ID = 'caseFlags';
191
154
  ManageCaseFlagsComponent.ɵfac = function ManageCaseFlagsComponent_Factory(t) { return new (t || ManageCaseFlagsComponent)(); };
192
- ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
193
- i0.ɵɵelementStart(0, "div", 0);
155
+ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsComponent, selectors: [["ccd-manage-case-flags"]], inputs: { formGroup: "formGroup", flagsData: "flagsData", caseTitle: "caseTitle", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 11, vars: 10, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "manage-case-flag-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "manage-case-flag-heading", 1, "govuk-fieldset__heading"], ["id", "manage-case-flag-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "manage-case-flag-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for", "innerHtml"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function ManageCaseFlagsComponent_Template(rf, ctx) { if (rf & 1) {
156
+ i0.ɵɵelementContainerStart(0, 0);
194
157
  i0.ɵɵelementStart(1, "div", 1);
195
158
  i0.ɵɵelementStart(2, "fieldset", 2);
196
159
  i0.ɵɵelementStart(3, "legend", 3);
@@ -201,12 +164,12 @@ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsC
201
164
  i0.ɵɵelementEnd();
202
165
  i0.ɵɵtemplate(7, ManageCaseFlagsComponent_div_7_Template, 6, 6, "div", 5);
203
166
  i0.ɵɵelementStart(8, "div", 6);
204
- i0.ɵɵtemplate(9, ManageCaseFlagsComponent_div_9_Template, 3, 6, "div", 7);
167
+ i0.ɵɵtemplate(9, ManageCaseFlagsComponent_div_9_Template, 4, 8, "div", 7);
205
168
  i0.ɵɵelementEnd();
206
169
  i0.ɵɵelementEnd();
207
170
  i0.ɵɵelementEnd();
171
+ i0.ɵɵelementContainerEnd();
208
172
  i0.ɵɵtemplate(10, ManageCaseFlagsComponent_div_10_Template, 4, 3, "div", 8);
209
- i0.ɵɵelementEnd();
210
173
  } if (rf & 2) {
211
174
  i0.ɵɵproperty("formGroup", ctx.formGroup);
212
175
  i0.ɵɵadvance(1);
@@ -219,7 +182,7 @@ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsC
219
182
  i0.ɵɵproperty("ngForOf", ctx.flagsDisplayData);
220
183
  i0.ɵɵadvance(1);
221
184
  i0.ɵɵproperty("ngIf", !ctx.noFlagsError);
222
- } }, directives: [i1.NgControlStatusGroup, i1.FormGroupDirective, i2.NgClass, i2.NgIf, i2.NgForOf, i1.RadioControlValueAccessor, i1.DefaultValueAccessor, i1.NgControlStatus, i1.FormControlName], pipes: [i3.RpxTranslatePipe], styles: [".flag-name-and-description{font-weight:700}"], encapsulation: 2 });
185
+ } }, styles: [".flag-name-and-description{font-weight:700}"], encapsulation: 2 });
223
186
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ManageCaseFlagsComponent, [{
224
187
  type: Component,
225
188
  args: [{
@@ -234,7 +197,9 @@ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsC
234
197
  type: Input
235
198
  }], caseTitle: [{
236
199
  type: Input
200
+ }], displayContextParameter: [{
201
+ type: Input
237
202
  }], caseFlagStateEmitter: [{
238
203
  type: Output
239
204
  }] }); })();
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDSTVGLDhCQUM2QztJQUMzQyxnQ0FBb0M7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7SUFEeUUsZ0dBQ3pFOzs7SUFFRSwrQkFBeUY7SUFDdkYsNEJBQzhFO0lBQzlFLDRCQUFrSDtJQUNwSCxpQkFBTTs7Ozs7SUFIK0IsZUFBeUI7SUFBekIsNERBQXlCO0lBQUMsaURBQTRCLHlCQUFBLCtDQUFBO0lBRTFDLGVBQTBCO0lBQTFCLDZEQUEwQjtJQUFD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QkFBVztRQUNiLGlCQUFNO1FBQ04sMkVBRU07UUFDUixpQkFBTTs7UUF4QmtCLHlDQUF1QjtRQUNmLGVBQTBEO1FBQTFELGtGQUEwRDtRQUloRixlQUNGO1FBREUsOEVBQ0Y7UUFHQyxlQUF3QztRQUF4Qyw2REFBd0M7UUFJZSxlQUFxQjtRQUFyQiw4Q0FBcUI7UUFRbEQsZUFBbUI7UUFBbkIsd0NBQW1COzt1RkRUekMsd0JBQXdCO2NBTnBDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxXQUFXLEVBQUUsb0NBQW9DO2dCQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDakQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Z0JBS2lCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNXLG9CQUFvQjtrQkFBcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWwsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgsIEZsYWdzLCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1tYW5hZ2UtY2FzZS1mbGFncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY2FzZS1mbGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX0xFVkVMX0NBU0VfRkxBR1NfRklFTERfSUQgPSAnY2FzZUZsYWdzJztcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmbGFnc0RhdGE6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGhbXTtcbiAgQElucHV0KCkgcHVibGljIGNhc2VUaXRsZTogc3RyaW5nO1xuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIG1hbmFnZUNhc2VGbGFnVGl0bGU6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIG1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2U6IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgZmxhZ3NEaXNwbGF5RGF0YTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBwdWJsaWMgZmxhZ3M6IEZsYWdzO1xuICBwdWJsaWMgbm9GbGFnc0Vycm9yID0gZmFsc2U7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZENvbnRyb2xOYW1lID0gJ3NlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uJztcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1RpdGxlID0gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuTUFOQUdFX0NBU0VfRkxBR1M7XG5cbiAgICAvLyBNYXAgZmxhZ3MgaW5zdGFuY2VzIHRvIG9iamVjdHMgZm9yIGRpc3BsYXlcbiAgICBpZiAodGhpcy5mbGFnc0RhdGEpIHtcbiAgICAgIHRoaXMuZmxhZ3NEaXNwbGF5RGF0YSA9IHRoaXMuZmxhZ3NEYXRhLnJlZHVjZSgoZGlzcGxheURhdGEsIGZsYWdzSW5zdGFuY2UpID0+IHtcbiAgICAgICAgaWYgKGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscyAmJiBmbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRpc3BsYXlEYXRhID0gW1xuICAgICAgICAgICAgLi4uZGlzcGxheURhdGEsXG4gICAgICAgICAgICAuLi5mbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMubWFwKGRldGFpbCA9PlxuICAgICAgICAgICAgICB0aGlzLm1hcEZsYWdEZXRhaWxGb3JEaXNwbGF5KGRldGFpbCwgZmxhZ3NJbnN0YW5jZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5RGF0YTtcbiAgICAgIH0sIFtdKTtcblxuICAgICAgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhLmZvckVhY2goZmxhZ0Rpc3BsYXlEYXRhID0+IHtcbiAgICAgICAgZmxhZ0Rpc3BsYXlEYXRhLmxhYmVsID0gdGhpcy5wcm9jZXNzTGFiZWwoZmxhZ0Rpc3BsYXlEYXRhKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0ZWQgY2FzZSBmbGFnIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBmbGFncyBpbnN0YW5jZSByZW1haW5pbmcgYWZ0ZXIgbWFwcGluZ1xuICAgIGlmICh0aGlzLmZsYWdzRGlzcGxheURhdGEgJiYgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBmbGFncyBkaXNwbGF5IGRhdGEgbWVhbnMgdGhlcmUgYXJlIG5vIGZsYWdzIHRvIHNlbGVjdCBmcm9tLiBUaGUgdXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGEgZmxhZyB1cGRhdGUuXG4gICAgICAvLyAoV2lsbCBuZWVkIHRvIGJlIGV4dGVuZGVkIHRvIGNoZWNrIGZvciBjYXNlLWxldmVsIGZsYWdzIGluIGZ1dHVyZSlcbiAgICAgIHRoaXMub25Ob0ZsYWdzRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCwgZmxhZ3NJbnN0YW5jZTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgge1xuICAgIHJldHVybiB7XG4gICAgICBmbGFnRGV0YWlsRGlzcGxheToge1xuICAgICAgICBwYXJ0eU5hbWU6IGZsYWdzSW5zdGFuY2UuZmxhZ3MucGFydHlOYW1lLFxuICAgICAgICBmbGFnRGV0YWlsLFxuICAgICAgICBmbGFnc0Nhc2VGaWVsZElkOiBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZC5pZFxuICAgICAgfSxcbiAgICAgIHBhdGhUb0ZsYWdzRm9ybUdyb3VwOiBmbGFnc0luc3RhbmNlLnBhdGhUb0ZsYWdzRm9ybUdyb3VwLFxuICAgICAgY2FzZUZpZWxkOiBmbGFnc0luc3RhbmNlLmNhc2VGaWVsZCxcbiAgICAgIHJvbGVPbkNhc2U6IGZsYWdzSW5zdGFuY2UuZmxhZ3Mucm9sZU9uQ2FzZVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0xhYmVsKGZsYWdEaXNwbGF5OiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoKTogc3RyaW5nIHtcbiAgICBjb25zdCBmbGFnRGV0YWlsID0gZmxhZ0Rpc3BsYXkuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICBjb25zdCBwYXJ0eU5hbWUgPSB0aGlzLmdldFBhcnR5TmFtZShmbGFnRGlzcGxheSk7XG4gICAgY29uc3QgZmxhZ05hbWUgPSB0aGlzLmdldEZsYWdOYW1lKGZsYWdEZXRhaWwpO1xuICAgIGNvbnN0IGZsYWdEZXNjcmlwdGlvbiA9IHRoaXMuZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWwpO1xuICAgIGNvbnN0IHJvbGVPbkNhc2UgPSB0aGlzLmdldFJvbGVPbkNhc2UoZmxhZ0Rpc3BsYXkpO1xuICAgIGNvbnN0IGZsYWdDb21tZW50ID0gdGhpcy5nZXRGbGFnQ29tbWVudHMoZmxhZ0RldGFpbCk7XG5cbiAgICByZXR1cm4gZmxhZ05hbWUgPT09IGZsYWdEZXNjcmlwdGlvblxuICAgICAgPyBgJHtwYXJ0eU5hbWV9JHtyb2xlT25DYXNlfSAtIDxzcGFuIGNsYXNzPVwiZmxhZy1uYW1lLWFuZC1kZXNjcmlwdGlvblwiPiR7ZmxhZ0Rlc2NyaXB0aW9ufTwvc3Bhbj4ke2ZsYWdDb21tZW50fWBcbiAgICAgIDogYCR7cGFydHlOYW1lfSR7cm9sZU9uQ2FzZX0gLSA8c3BhbiBjbGFzcz1cImZsYWctbmFtZS1hbmQtZGVzY3JpcHRpb25cIj4ke2ZsYWdOYW1lfSwgJHtmbGFnRGVzY3JpcHRpb259PC9zcGFuPiR7ZmxhZ0NvbW1lbnR9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYXJ0eU5hbWUoZmxhZ0Rpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGlzcGxheS5wYXRoVG9GbGFnc0Zvcm1Hcm91cCAmJiBmbGFnRGlzcGxheS5wYXRoVG9GbGFnc0Zvcm1Hcm91cCA9PT0gTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50LkNBU0VfTEVWRUxfQ0FTRV9GTEFHU19GSUVMRF9JRCkge1xuICAgICAgcmV0dXJuICdDYXNlIGxldmVsJztcbiAgICB9XG4gICAgaWYgKGZsYWdEaXNwbGF5LmZsYWdEZXRhaWxEaXNwbGF5LnBhcnR5TmFtZSkge1xuICAgICAgcmV0dXJuIGAke2ZsYWdEaXNwbGF5LmZsYWdEZXRhaWxEaXNwbGF5LnBhcnR5TmFtZX1gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmxhZ05hbWUoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEZXRhaWwgJiYgZmxhZ0RldGFpbC5wYXRoICYmIGZsYWdEZXRhaWwucGF0aC5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gZmxhZ0RldGFpbC5wYXRoWzFdLnZhbHVlO1xuICAgIH1cbiAgICBpZiAoZmxhZ0RldGFpbC5zdWJUeXBlS2V5ICYmIGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlKSB7XG4gICAgICByZXR1cm4gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBmbGFnRGV0YWlsLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGV0YWlsICYmIGZsYWdEZXRhaWwubmFtZSkge1xuICAgICAgaWYgKGZsYWdEZXRhaWwubmFtZSA9PT0gJ090aGVyJyAmJiBmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbjtcbiAgICAgIH1cbiAgICAgIGlmIChmbGFnRGV0YWlsLnN1YlR5cGVLZXkgJiYgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZsYWdEZXRhaWwubmFtZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGdldFJvbGVPbkNhc2UoZmxhZ0Rpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGlzcGxheSAmJiBmbGFnRGlzcGxheS5yb2xlT25DYXNlKSB7XG4gICAgICByZXR1cm4gYCAoJHtmbGFnRGlzcGxheS5yb2xlT25DYXNlfSlgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmxhZ0NvbW1lbnRzKGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGV0YWlsLmZsYWdDb21tZW50KSB7XG4gICAgICByZXR1cm4gYCAoJHtmbGFnRGV0YWlsLmZsYWdDb21tZW50fSlgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgc2VsZWN0aW9uXG4gICAgdGhpcy52YWxpZGF0ZVNlbGVjdGlvbigpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgZmxhZyBzZWxlY3Rpb24gdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIHNlbGVjdGVkRmxhZzogdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWVcbiAgICAgICAgPyB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZSBhcyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoXG4gICAgICAgIDogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWUpIHtcbiAgICAgIHRoaXMubWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuRkxBR19OT1RfU0VMRUNURUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuRkxBR19OT1RfU0VMRUNURUQsXG4gICAgICAgIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCdcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ob0ZsYWdzRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLm5vRmxhZ3NFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTk9fRkxBR1MsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCd9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBpZD1cIm1hbmFnZS1jYXNlLWZsYWctaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7e21hbmFnZUNhc2VGbGFnVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2gxPlxuICAgICAgPC9sZWdlbmQ+XG4gICAgICA8ZGl2IGlkPVwibWFuYWdlLWNhc2UtZmxhZy1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwibWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3ttYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ0Rpc3BsYXkgb2YgZmxhZ3NEaXNwbGF5RGF0YTsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW25hbWVdPVwic2VsZWN0ZWRDb250cm9sTmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZmxhZ0Rpc3BsYXlcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInNlbGVjdGVkQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW2lubmVySHRtbF09XCJmbGFnRGlzcGxheS5sYWJlbFwiPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIiAqbmdJZj1cIiFub0ZsYWdzRXJyb3JcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztJQ0k3SSw4QkFDNkM7SUFDM0MsZ0NBQW9DO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLGdHQUN6RTs7O0lBRUUsK0JBQXlGO0lBQ3ZGLDRCQUM4RTtJQUM5RSw0QkFBMEk7O0lBQzVJLGlCQUFNOzs7OztJQUgrQixlQUF5QjtJQUF6Qiw0REFBeUI7SUFBQyxpREFBNEIseUJBQUEsK0NBQUE7SUFFMUMsZUFB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QkFBdUI7Z0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7Z0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2dCQUNqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0QztnQkFFaUIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBQ1csb0JBQW9CO2tCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCwgRmxhZ3MsIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlciwgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1N0YXR1cywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1tYW5hZ2UtY2FzZS1mbGFncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY2FzZS1mbGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ3NEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdUaXRsZTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZTogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnc0Rpc3BsYXlEYXRhOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoW107XG4gIHB1YmxpYyBmbGFnczogRmxhZ3M7XG4gIHB1YmxpYyBub0ZsYWdzRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkQ29udHJvbE5hbWUgPSAnc2VsZWN0ZWRNYW5hZ2VDYXNlTG9jYXRpb24nO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVkRmxhZ1N0YXR1c2VzOiBDYXNlRmxhZ1N0YXR1c1tdID0gW0Nhc2VGbGFnU3RhdHVzLklOQUNUSVZFLCBDYXNlRmxhZ1N0YXR1cy5OT1RfQVBQUk9WRURdO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnVGl0bGUgPSB0aGlzLnNldE1hbmFnZUNhc2VGbGFnVGl0bGUodGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcik7XG5cbiAgICAvLyBNYXAgZmxhZ3MgaW5zdGFuY2VzIHRvIG9iamVjdHMgZm9yIGRpc3BsYXlcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmZsYWdzRGF0YSkge1xuICAgICAgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhID0gdGhpcy5mbGFnc0RhdGEucmVkdWNlKChkaXNwbGF5RGF0YSwgZmxhZ3NJbnN0YW5jZSkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzICYmIGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGlzcGxheURhdGEgPSBbXG4gICAgICAgICAgICAuLi5kaXNwbGF5RGF0YSxcbiAgICAgICAgICAgIC4uLmZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5tYXAoZGV0YWlsID0+IHtcbiAgICAgICAgICAgICAgLy8gT25seSBtYXAgZmxhZ3MgaW5zdGFuY2VzIHdoZXJlIHRoZSBzdGF0dXMgaXMgbmVpdGhlciBcIkluYWN0aXZlXCIgbm9yIFwiTm90IGFwcHJvdmVkXCJcbiAgICAgICAgICAgICAgLy8gVGhpcyB3aWxsIHJlc3VsdCBpbiBzb21lIHVuZGVmaW5lZCBtYXBwaW5ncywgd2hpY2ggbmVlZCB0byBiZSBmaWx0ZXJlZCBvdXQgYWZ0ZXIgdGhlIHJlZHVjZSBvcGVyYXRpb25cbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmV4Y2x1ZGVkRmxhZ1N0YXR1c2VzLmluY2x1ZGVzKGRldGFpbC5zdGF0dXMgYXMgQ2FzZUZsYWdTdGF0dXMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZGV0YWlsLCBmbGFnc0luc3RhbmNlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5RGF0YTtcbiAgICAgIH0sIFtdKS5maWx0ZXIoZmxhZ0RldGFpbERpc3BsYXkgPT4gISFmbGFnRGV0YWlsRGlzcGxheSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGEgRm9ybUNvbnRyb2wgZm9yIHRoZSBzZWxlY3RlZCBjYXNlIGZsYWcgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGZsYWdzIGluc3RhbmNlIHJlbWFpbmluZyBhZnRlciBtYXBwaW5nXG4gICAgaWYgKHRoaXMuZmxhZ3NEaXNwbGF5RGF0YSAmJiB0aGlzLmZsYWdzRGlzcGxheURhdGEubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGZsYWdzIGRpc3BsYXkgZGF0YSBtZWFucyB0aGVyZSBhcmUgbm8gZmxhZ3MgdG8gc2VsZWN0IGZyb20uIFRoZSB1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggYSBmbGFnIHVwZGF0ZS5cbiAgICAgIC8vIChXaWxsIG5lZWQgdG8gYmUgZXh0ZW5kZWQgdG8gY2hlY2sgZm9yIGNhc2UtbGV2ZWwgZmxhZ3MgaW4gZnV0dXJlKVxuICAgICAgdGhpcy5vbk5vRmxhZ3NFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBGbGFnRGV0YWlsRm9yRGlzcGxheShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsLCBmbGFnc0luc3RhbmNlOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoKTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZsYWdEZXRhaWxEaXNwbGF5OiB7XG4gICAgICAgIHBhcnR5TmFtZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5wYXJ0eU5hbWUsXG4gICAgICAgIGZsYWdEZXRhaWwsXG4gICAgICAgIGZsYWdzQ2FzZUZpZWxkSWQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLmlkXG4gICAgICB9LFxuICAgICAgcGF0aFRvRmxhZ3NGb3JtR3JvdXA6IGZsYWdzSW5zdGFuY2UucGF0aFRvRmxhZ3NGb3JtR3JvdXAsXG4gICAgICBjYXNlRmllbGQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLFxuICAgICAgcm9sZU9uQ2FzZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5yb2xlT25DYXNlXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBzZWxlY3Rpb25cbiAgICB0aGlzLnZhbGlkYXRlU2VsZWN0aW9uKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBmbGFnIHNlbGVjdGlvbiB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZVxuICAgICAgICA/IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlIGFzIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGhcbiAgICAgICAgOiBudWxsXG4gICAgfSk7XG5cbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFuYWdlQ2FzZUZsYWdUaXRsZShkaXNwbGF5Q29udGV4dFBhcmFtZXRlcjogc3RyaW5nKTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUge1xuICAgIHN3aXRjaCAoZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfQ0FTRV9GTEFHUztcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfU1VQUE9SVDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTCA/XG4gICAgICAgIFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTUFOQUdFX1NVUFBPUlRfRkxBR19OT1RfU0VMRUNURUQgOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLk1BTkFHRV9DQVNFX0ZMQUdTX0ZMQUdfTk9UX1NFTEVDVEVEO1xuICAgICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCdcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ob0ZsYWdzRXJyb3IoKTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLm5vRmxhZ3NFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IFNlbGVjdEZsYWdFcnJvck1lc3NhZ2UuTk9fRkxBR1MsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCd9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBpZD1cIm1hbmFnZS1jYXNlLWZsYWctaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7e21hbmFnZUNhc2VGbGFnVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2gxPlxuICAgICAgPC9sZWdlbmQ+XG4gICAgICA8ZGl2IGlkPVwibWFuYWdlLWNhc2UtZmxhZy1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwibWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3ttYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ0Rpc3BsYXkgb2YgZmxhZ3NEaXNwbGF5RGF0YTsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW25hbWVdPVwic2VsZWN0ZWRDb250cm9sTmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZmxhZ0Rpc3BsYXlcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInNlbGVjdGVkQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctc2VsZWN0aW9uLXt7aX19XCIgW2lubmVySHRtbF09XCJmbGFnRGlzcGxheSB8IG1hbmFnZUNhc2VGbGFnc0xhYmVsRGlzcGxheVwiPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiICpuZ0lmPVwiIW5vRmxhZ3NFcnJvclwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,6 @@
1
+ export var SearchLanguageInterpreterControlNames;
2
+ (function (SearchLanguageInterpreterControlNames) {
3
+ SearchLanguageInterpreterControlNames["LANGUAGE_SEARCH_TERM"] = "languageSearchTerm";
4
+ SearchLanguageInterpreterControlNames["MANUAL_LANGUAGE_ENTRY"] = "manualLanguageEntry";
5
+ })(SearchLanguageInterpreterControlNames || (SearchLanguageInterpreterControlNames = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLWNvbnRyb2wtbmFtZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItY29udHJvbC1uYW1lcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFDQUdYO0FBSEQsV0FBWSxxQ0FBcUM7SUFDL0Msb0ZBQTJDLENBQUE7SUFDM0Msc0ZBQTZDLENBQUE7QUFDL0MsQ0FBQyxFQUhXLHFDQUFxQyxLQUFyQyxxQ0FBcUMsUUFHaEQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzIHtcbiAgTEFOR1VBR0VfU0VBUkNIX1RFUk0gPSAnbGFuZ3VhZ2VTZWFyY2hUZXJtJyxcbiAgTUFOVUFMX0xBTkdVQUdFX0VOVFJZID0gJ21hbnVhbExhbmd1YWdlRW50cnknXG59XG4iXX0=