@hmcts/ccd-case-ui-toolkit 7.0.5 → 7.0.6-case-flags-v2-1-release
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +58 -28
- package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +2 -2
- package/esm2020/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +2 -2
- package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +5 -11
- package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.mjs +7 -0
- package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +165 -124
- package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +17 -22
- package/esm2020/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +2 -3
- package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +2 -2
- package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +5 -15
- package/esm2020/lib/shared/components/case-editor/services/case-flag-state.service.mjs +19 -0
- package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +6 -1
- package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +6 -25
- package/esm2020/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +4 -17
- package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +40 -15
- package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +8 -5
- package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +19 -20
- package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +70 -31
- package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +249 -46
- package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +140 -71
- package/esm2020/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +165 -0
- package/esm2020/lib/shared/components/palette/case-flag/components/index.mjs +4 -1
- package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +73 -78
- package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.mjs +6 -0
- package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +133 -99
- package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +22 -9
- package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +213 -112
- package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +267 -0
- package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +439 -104
- package/esm2020/lib/shared/components/palette/case-flag/domain/case-flag-state.model.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-flag/domain/language.model.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.mjs +2 -1
- package/esm2020/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.mjs +3 -1
- package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.mjs +12 -0
- package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.mjs +15 -0
- package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.mjs +13 -0
- package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.mjs +3 -2
- package/esm2020/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.mjs +11 -3
- package/esm2020/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.mjs +6 -0
- package/esm2020/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.mjs +6 -0
- package/esm2020/lib/shared/components/palette/case-flag/enums/index.mjs +9 -2
- package/esm2020/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.mjs +3 -2
- package/esm2020/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.mjs +4 -1
- package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.mjs +6 -0
- package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.mjs +6 -0
- package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.mjs +5 -1
- package/esm2020/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.mjs +7 -2
- package/esm2020/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.mjs +10 -7
- package/esm2020/lib/shared/components/palette/case-flag/index.mjs +2 -1
- package/esm2020/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +41 -0
- package/esm2020/lib/shared/components/palette/case-flag/pipes/index.mjs +5 -0
- package/esm2020/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +41 -0
- package/esm2020/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +109 -0
- package/esm2020/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +77 -0
- package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +156 -57
- package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +385 -172
- package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +49 -54
- package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +12 -14
- package/esm2020/lib/shared/components/palette/complex/sort-order.mjs +7 -0
- package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +5 -6
- package/esm2020/lib/shared/components/palette/date/write-date-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker-utils.mjs +3 -3
- package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +36 -25
- package/esm2020/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/email/write-email-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +9 -7
- package/esm2020/lib/shared/components/palette/index.mjs +3 -1
- package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +25 -12
- package/esm2020/lib/shared/components/palette/markdown/index.mjs +2 -1
- package/esm2020/lib/shared/components/palette/markdown/markdown-component.module.mjs +40 -0
- package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +9 -7
- package/esm2020/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/number/write-number-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/palette.module.mjs +148 -49
- package/esm2020/lib/shared/components/palette/palette.service.mjs +4 -2
- package/esm2020/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/query-management/__mocks__/index.mjs +210 -0
- package/esm2020/lib/shared/components/palette/query-management/components/index.mjs +13 -0
- package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +42 -0
- package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +144 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +64 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +60 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +281 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +327 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +22 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +164 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +74 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +107 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +201 -0
- package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +101 -0
- package/esm2020/lib/shared/components/palette/query-management/enums/index.mjs +6 -0
- package/esm2020/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.mjs +5 -0
- package/esm2020/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +6 -0
- package/esm2020/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.mjs +10 -0
- package/esm2020/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.mjs +6 -0
- package/esm2020/lib/shared/components/palette/query-management/index.mjs +7 -0
- package/esm2020/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +2 -0
- package/esm2020/lib/shared/components/palette/query-management/models/index.mjs +8 -0
- package/esm2020/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.mjs +2 -0
- package/esm2020/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.mjs +2 -0
- package/esm2020/lib/shared/components/palette/query-management/models/query-create-context.enum.mjs +9 -0
- package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.mjs +2 -0
- package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +21 -0
- package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +38 -0
- package/esm2020/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +121 -0
- package/esm2020/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +22 -0
- package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +8 -10
- package/esm2020/lib/shared/components/palette/utils/field-label.pipe.mjs +14 -7
- package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +16 -9
- package/esm2020/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +10 -5
- package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +12 -13
- package/esm2020/lib/shared/domain/case-flag/flag-type.model.mjs +16 -2
- package/esm2020/lib/shared/domain/case-view/case-view-event-ids.enum.mjs +6 -0
- package/esm2020/lib/shared/domain/case-view/case-view-trigger.model.mjs +1 -2
- package/esm2020/lib/shared/domain/case-view/service-org-response.model.mjs +2 -0
- package/esm2020/lib/shared/domain/definition/display-context-enum.model.mjs +3 -1
- package/esm2020/lib/shared/domain/http/http-error.model.mjs +2 -8
- package/esm2020/lib/shared/fixture/shared.test.fixture.mjs +2 -1
- package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +4 -3
- package/esm2020/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +16 -0
- package/esm2020/lib/shared/pipes/generic/index.mjs +2 -0
- package/esm2020/lib/shared/pipes/index.mjs +3 -2
- package/esm2020/lib/shared/pipes/pipes.module.mjs +9 -5
- package/esm2020/lib/shared/services/case-flag/case-flag-refdata.service.mjs +9 -3
- package/esm2020/lib/shared/services/common-data-service/common-data-service.mjs +7 -1
- package/esm2020/lib/shared/services/fields/fields.purger.mjs +16 -6
- package/esm2020/lib/shared/services/fields/fields.utils.mjs +22 -4
- package/esm2020/lib/shared/services/form/form-value.service.mjs +23 -17
- package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +2 -1
- package/esm2020/lib/shared/services/request/request.options.builder.mjs +7 -1
- package/esm2020/lib/shared/services/utils/retry/retry.service.mjs +1 -2
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +8851 -4312
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +9850 -5730
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +5 -2
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts +6 -0
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts.map +1 -0
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts +17 -20
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +11 -0
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -0
- package/lib/shared/components/case-editor/services/cases.service.d.ts +1 -0
- package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +6 -2
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -4
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +6 -2
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +25 -8
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +28 -0
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/components/index.d.ts +3 -0
- package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +4 -8
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +10 -8
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +16 -9
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- 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
- 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
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +26 -11
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +1 -10
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +12 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +3 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts +11 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +14 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +12 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +11 -3
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/index.d.ts +8 -1
- package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +3 -0
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +5 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +7 -2
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +7 -4
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/index.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +19 -0
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +18 -0
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +25 -0
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +21 -0
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +12 -8
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +52 -27
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +3 -2
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/read-complex-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/sort-order.d.ts +6 -0
- package/lib/shared/components/palette/complex/sort-order.d.ts.map +1 -0
- package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/index.d.ts +2 -0
- package/lib/shared/components/palette/index.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +6 -3
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/index.d.ts +1 -0
- package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +13 -0
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +1 -0
- package/lib/shared/components/palette/palette.module.d.ts +140 -118
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +11 -0
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/index.d.ts +13 -0
- package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +8 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +22 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +11 -0
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +10 -0
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +30 -0
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +16 -0
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +9 -0
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +18 -0
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +20 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +20 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +11 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +21 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/index.d.ts +6 -0
- package/lib/shared/components/palette/query-management/enums/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts +4 -0
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +5 -0
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +9 -0
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts +5 -0
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/index.d.ts +7 -0
- package/lib/shared/components/palette/query-management/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +27 -0
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/index.d.ts +8 -0
- package/lib/shared/components/palette/query-management/models/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +5 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts +6 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts +8 -0
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +7 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +10 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +22 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +18 -0
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +12 -0
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -0
- package/lib/shared/components/palette/utils/field-label.pipe.d.ts +3 -0
- package/lib/shared/components/palette/utils/field-label.pipe.d.ts.map +1 -1
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts +8 -5
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
- package/lib/shared/components/palette/yes-no/read-yes-no-field.component.d.ts.map +1 -1
- package/lib/shared/domain/case-flag/flag-type.model.d.ts +6 -1
- package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +5 -0
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +1 -0
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +0 -1
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/service-org-response.model.d.ts +14 -0
- package/lib/shared/domain/case-view/service-org-response.model.d.ts.map +1 -0
- package/lib/shared/domain/definition/display-context-enum.model.d.ts +3 -1
- package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
- package/lib/shared/domain/http/http-error.model.d.ts +0 -1
- package/lib/shared/domain/http/http-error.model.d.ts.map +1 -1
- package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
- package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +8 -0
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +1 -0
- package/lib/shared/pipes/generic/index.d.ts +2 -0
- package/lib/shared/pipes/generic/index.d.ts.map +1 -0
- package/lib/shared/pipes/index.d.ts +2 -1
- package/lib/shared/pipes/index.d.ts.map +1 -1
- package/lib/shared/pipes/pipes.module.d.ts +3 -2
- package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +3 -2
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
- package/lib/shared/services/common-data-service/common-data-service.d.ts +2 -0
- package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.utils.d.ts +1 -0
- package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
- package/lib/shared/services/form/form-value.service.d.ts +1 -1
- package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
- package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,175 +1,510 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import {
|
|
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 "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
i0.ɵɵ
|
|
9
|
-
i0.ɵɵ
|
|
10
|
-
i0.ɵɵelementEnd();
|
|
11
|
-
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", 17);
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵpipe(2, "updateFlagTitleDisplay");
|
|
12
11
|
i0.ɵɵelementEnd();
|
|
13
12
|
} if (rf & 2) {
|
|
14
13
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
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), " ");
|
|
16
|
+
} }
|
|
17
|
+
function UpdateFlagComponent_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵelementStart(0, "div", 18);
|
|
19
|
+
i0.ɵɵtext(1);
|
|
20
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
} if (rf & 2) {
|
|
23
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
24
|
+
i0.ɵɵadvance(1);
|
|
25
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r1.updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL), " ");
|
|
26
|
+
} }
|
|
27
|
+
function UpdateFlagComponent_ng_container_15_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "span", 26);
|
|
29
|
+
i0.ɵɵtext(2, "!");
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
i0.ɵɵelementStart(3, "strong", 27)(4, "span", 28);
|
|
32
|
+
i0.ɵɵtext(5);
|
|
33
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
i0.ɵɵtext(7);
|
|
36
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
37
|
+
i0.ɵɵelementEnd()();
|
|
38
|
+
} if (rf & 2) {
|
|
39
|
+
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
40
|
+
i0.ɵɵadvance(5);
|
|
41
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 2, "Warning"));
|
|
42
|
+
i0.ɵɵadvance(2);
|
|
43
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 4, ctx_r10.updateFlagStepEnum.WARNING_TEXT), " ");
|
|
44
|
+
} }
|
|
45
|
+
function UpdateFlagComponent_ng_container_15_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵelementStart(0, "div", 29)(1, "span", 30);
|
|
47
|
+
i0.ɵɵtext(2);
|
|
48
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
i0.ɵɵtext(4);
|
|
51
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
52
|
+
i0.ɵɵelementEnd();
|
|
53
|
+
} if (rf & 2) {
|
|
54
|
+
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
55
|
+
i0.ɵɵadvance(2);
|
|
56
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
57
|
+
i0.ɵɵadvance(2);
|
|
58
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r11.commentsNotEnteredErrorMessage), " ");
|
|
59
|
+
} }
|
|
60
|
+
function UpdateFlagComponent_ng_container_15_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "span", 30);
|
|
62
|
+
i0.ɵɵtext(2);
|
|
63
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
64
|
+
i0.ɵɵelementEnd();
|
|
65
|
+
i0.ɵɵtext(4);
|
|
66
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
} if (rf & 2) {
|
|
69
|
+
const ctx_r12 = i0.ɵɵnextContext(2);
|
|
70
|
+
i0.ɵɵadvance(2);
|
|
71
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
72
|
+
i0.ɵɵadvance(2);
|
|
73
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r12.commentsCharLimitErrorMessage), " ");
|
|
74
|
+
} }
|
|
75
|
+
function UpdateFlagComponent_ng_container_15_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementContainerStart(0);
|
|
77
|
+
i0.ɵɵelementStart(1, "div", 19);
|
|
78
|
+
i0.ɵɵtext(2);
|
|
79
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
80
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
81
|
+
i0.ɵɵelementEnd();
|
|
82
|
+
i0.ɵɵtemplate(5, UpdateFlagComponent_ng_container_15_div_5_Template, 9, 6, "div", 20);
|
|
83
|
+
i0.ɵɵtemplate(6, UpdateFlagComponent_ng_container_15_div_6_Template, 6, 6, "div", 21);
|
|
84
|
+
i0.ɵɵtemplate(7, UpdateFlagComponent_ng_container_15_div_7_Template, 6, 6, "div", 22);
|
|
85
|
+
i0.ɵɵelementStart(8, "textarea", 23);
|
|
86
|
+
i0.ɵɵtext(9, " ");
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
i0.ɵɵelementStart(10, "div", 24);
|
|
89
|
+
i0.ɵɵtext(11);
|
|
90
|
+
i0.ɵɵpipe(12, "rpxTranslate");
|
|
91
|
+
i0.ɵɵelementEnd();
|
|
92
|
+
i0.ɵɵelementContainerEnd();
|
|
93
|
+
} if (rf & 2) {
|
|
94
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
95
|
+
i0.ɵɵadvance(2);
|
|
96
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.internalUserUpdate ? i0.ɵɵpipeBind1(3, 8, ctx_r2.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL) : i0.ɵɵpipeBind1(4, 10, ctx_r2.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1), " ");
|
|
15
97
|
i0.ɵɵadvance(3);
|
|
16
|
-
i0.ɵɵ
|
|
98
|
+
i0.ɵɵproperty("ngIf", ctx_r2.internalUser2Point1EnabledUpdate && ctx_r2.externallyVisibleFlag);
|
|
99
|
+
i0.ɵɵadvance(1);
|
|
100
|
+
i0.ɵɵproperty("ngIf", ctx_r2.commentsNotEnteredErrorMessage);
|
|
101
|
+
i0.ɵɵadvance(1);
|
|
102
|
+
i0.ɵɵproperty("ngIf", ctx_r2.commentsCharLimitErrorMessage);
|
|
103
|
+
i0.ɵɵadvance(1);
|
|
104
|
+
i0.ɵɵproperty("id", ctx_r2.caseFlagFormFields.COMMENTS)("name", ctx_r2.caseFlagFormFields.COMMENTS)("formControlName", ctx_r2.caseFlagFormFields.COMMENTS);
|
|
105
|
+
i0.ɵɵadvance(3);
|
|
106
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 12, ctx_r2.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
|
|
107
|
+
} }
|
|
108
|
+
function UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
+
i0.ɵɵelementContainer(0);
|
|
110
|
+
} }
|
|
111
|
+
function UpdateFlagComponent_ng_template_16_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
112
|
+
i0.ɵɵelementContainerStart(0);
|
|
113
|
+
i0.ɵɵtemplate(1, UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 33);
|
|
114
|
+
i0.ɵɵelementContainerEnd();
|
|
115
|
+
} if (rf & 2) {
|
|
116
|
+
i0.ɵɵnextContext(2);
|
|
117
|
+
const _r5 = i0.ɵɵreference(19);
|
|
118
|
+
i0.ɵɵadvance(1);
|
|
119
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r5);
|
|
120
|
+
} }
|
|
121
|
+
function UpdateFlagComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
|
|
122
|
+
i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_16_ng_container_0_Template, 2, 1, "ng-container", 32);
|
|
123
|
+
} if (rf & 2) {
|
|
124
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
125
|
+
i0.ɵɵproperty("ngIf", ctx_r4.externalUserUpdate);
|
|
126
|
+
} }
|
|
127
|
+
function UpdateFlagComponent_ng_template_18_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
128
|
+
i0.ɵɵelementStart(0, "div", 38)(1, "span", 30);
|
|
129
|
+
i0.ɵɵtext(2);
|
|
130
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
131
|
+
i0.ɵɵelementEnd();
|
|
132
|
+
i0.ɵɵtext(4);
|
|
133
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
134
|
+
i0.ɵɵelementEnd();
|
|
135
|
+
} if (rf & 2) {
|
|
136
|
+
const ctx_r15 = i0.ɵɵnextContext(2);
|
|
137
|
+
i0.ɵɵadvance(2);
|
|
138
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
139
|
+
i0.ɵɵadvance(2);
|
|
140
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r15.statusReasonNotEnteredErrorMessage), " ");
|
|
141
|
+
} }
|
|
142
|
+
function UpdateFlagComponent_ng_template_18_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
+
i0.ɵɵelementStart(0, "div", 39)(1, "span", 30);
|
|
144
|
+
i0.ɵɵtext(2);
|
|
145
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
146
|
+
i0.ɵɵelementEnd();
|
|
147
|
+
i0.ɵɵtext(4);
|
|
148
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
149
|
+
i0.ɵɵelementEnd();
|
|
150
|
+
} if (rf & 2) {
|
|
151
|
+
const ctx_r16 = i0.ɵɵnextContext(2);
|
|
152
|
+
i0.ɵɵadvance(2);
|
|
153
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
154
|
+
i0.ɵɵadvance(2);
|
|
155
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r16.statusReasonCharLimitErrorMessage), " ");
|
|
17
156
|
} }
|
|
18
|
-
function
|
|
19
|
-
i0.ɵɵ
|
|
20
|
-
i0.ɵɵ
|
|
157
|
+
function UpdateFlagComponent_ng_template_18_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
+
i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_18_div_0_Template, 6, 6, "div", 34);
|
|
159
|
+
i0.ɵɵtemplate(1, UpdateFlagComponent_ng_template_18_div_1_Template, 6, 6, "div", 35);
|
|
160
|
+
i0.ɵɵelementStart(2, "textarea", 36);
|
|
161
|
+
i0.ɵɵtext(3, " ");
|
|
162
|
+
i0.ɵɵelementEnd();
|
|
163
|
+
i0.ɵɵelementStart(4, "div", 37);
|
|
164
|
+
i0.ɵɵtext(5);
|
|
165
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
21
166
|
i0.ɵɵelementEnd();
|
|
167
|
+
} if (rf & 2) {
|
|
168
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
169
|
+
i0.ɵɵproperty("ngIf", ctx_r6.statusReasonNotEnteredErrorMessage);
|
|
170
|
+
i0.ɵɵadvance(1);
|
|
171
|
+
i0.ɵɵproperty("ngIf", ctx_r6.statusReasonCharLimitErrorMessage);
|
|
172
|
+
i0.ɵɵadvance(1);
|
|
173
|
+
i0.ɵɵproperty("id", ctx_r6.caseFlagFormFields.STATUS_CHANGE_REASON)("name", ctx_r6.caseFlagFormFields.STATUS_CHANGE_REASON)("formControlName", ctx_r6.caseFlagFormFields.STATUS_CHANGE_REASON);
|
|
174
|
+
i0.ɵɵadvance(3);
|
|
175
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, ctx_r6.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
|
|
176
|
+
} }
|
|
177
|
+
function UpdateFlagComponent_div_20_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
178
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
179
|
+
i0.ɵɵelement(1, "input", 48);
|
|
180
|
+
i0.ɵɵelementStart(2, "label", 49);
|
|
22
181
|
i0.ɵɵtext(3);
|
|
182
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
183
|
+
i0.ɵɵelementEnd()();
|
|
184
|
+
} if (rf & 2) {
|
|
185
|
+
const status_r19 = ctx.$implicit;
|
|
186
|
+
const ctx_r17 = i0.ɵɵnextContext(2);
|
|
187
|
+
i0.ɵɵadvance(1);
|
|
188
|
+
i0.ɵɵproperty("id", ctx_r17.caseFlagFormFields.STATUS + "_" + status_r19)("name", ctx_r17.caseFlagFormFields.STATUS)("formControlName", ctx_r17.caseFlagFormFields.STATUS)("value", status_r19);
|
|
189
|
+
i0.ɵɵadvance(1);
|
|
190
|
+
i0.ɵɵproperty("for", ctx_r17.caseFlagFormFields.STATUS + "_" + status_r19);
|
|
191
|
+
i0.ɵɵadvance(1);
|
|
192
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, ctx_r17.caseFlagStatusEnum[status_r19]), " ");
|
|
193
|
+
} }
|
|
194
|
+
function UpdateFlagComponent_div_20_ng_container_12_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
+
i0.ɵɵelementContainer(0);
|
|
196
|
+
} }
|
|
197
|
+
function UpdateFlagComponent_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
198
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "fieldset", 41)(2, "legend", 42)(3, "h1", 43);
|
|
199
|
+
i0.ɵɵtext(4);
|
|
200
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
201
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
202
|
+
i0.ɵɵelementEnd()();
|
|
203
|
+
i0.ɵɵelementStart(7, "div", 44);
|
|
204
|
+
i0.ɵɵtemplate(8, UpdateFlagComponent_div_20_div_8_Template, 5, 8, "div", 45);
|
|
205
|
+
i0.ɵɵelementEnd()();
|
|
206
|
+
i0.ɵɵelementStart(9, "div", 46);
|
|
207
|
+
i0.ɵɵtext(10);
|
|
208
|
+
i0.ɵɵpipe(11, "rpxTranslate");
|
|
209
|
+
i0.ɵɵelementEnd();
|
|
210
|
+
i0.ɵɵtemplate(12, UpdateFlagComponent_div_20_ng_container_12_Template, 1, 0, "ng-container", 33);
|
|
23
211
|
i0.ɵɵelementEnd();
|
|
24
212
|
} if (rf & 2) {
|
|
25
|
-
const
|
|
213
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
214
|
+
const _r5 = i0.ɵɵreference(19);
|
|
215
|
+
i0.ɵɵadvance(4);
|
|
216
|
+
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(5, 6, ctx_r7.updateFlagTitle), " ", i0.ɵɵpipeBind1(6, 8, "status"), " ");
|
|
26
217
|
i0.ɵɵadvance(3);
|
|
27
|
-
i0.ɵɵ
|
|
218
|
+
i0.ɵɵproperty("id", ctx_r7.caseFlagFormFields.STATUS);
|
|
219
|
+
i0.ɵɵadvance(1);
|
|
220
|
+
i0.ɵɵproperty("ngForOf", ctx_r7.validStatusProgressions);
|
|
221
|
+
i0.ɵɵadvance(2);
|
|
222
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 10, ctx_r7.updateFlagStepEnum.STATUS_HINT_TEXT), " ");
|
|
223
|
+
i0.ɵɵadvance(2);
|
|
224
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r5);
|
|
28
225
|
} }
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
i0.ɵɵ
|
|
32
|
-
i0.ɵɵ
|
|
33
|
-
i0.ɵɵtext(
|
|
226
|
+
function UpdateFlagComponent_div_21_Template(rf, ctx) { if (rf & 1) {
|
|
227
|
+
i0.ɵɵelementStart(0, "div", 50)(1, "div", 51)(2, "div", 52);
|
|
228
|
+
i0.ɵɵelement(3, "input", 53);
|
|
229
|
+
i0.ɵɵelementStart(4, "label", 54);
|
|
230
|
+
i0.ɵɵtext(5);
|
|
231
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
232
|
+
i0.ɵɵelementEnd()()()();
|
|
233
|
+
} if (rf & 2) {
|
|
234
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
235
|
+
i0.ɵɵadvance(3);
|
|
236
|
+
i0.ɵɵproperty("formControlName", ctx_r8.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("id", ctx_r8.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("name", ctx_r8.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
|
|
237
|
+
i0.ɵɵadvance(1);
|
|
238
|
+
i0.ɵɵproperty("for", ctx_r8.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
|
|
239
|
+
i0.ɵɵadvance(1);
|
|
240
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 5, "I need to add a translation"), " ");
|
|
241
|
+
} }
|
|
242
|
+
function UpdateFlagComponent_div_22_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
243
|
+
const _r22 = i0.ɵɵgetCurrentView();
|
|
244
|
+
i0.ɵɵelementStart(0, "button", 59);
|
|
245
|
+
i0.ɵɵlistener("click", function UpdateFlagComponent_div_22_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.onMakeInactive()); });
|
|
246
|
+
i0.ɵɵtext(1);
|
|
247
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
34
248
|
i0.ɵɵelementEnd();
|
|
249
|
+
} if (rf & 2) {
|
|
250
|
+
i0.ɵɵadvance(1);
|
|
251
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "Make inactive"), " ");
|
|
35
252
|
} }
|
|
36
|
-
const _c0 = function (a0) { return { "
|
|
37
|
-
|
|
253
|
+
const _c0 = function (a0) { return { "govuk-tag--grey": a0 }; };
|
|
254
|
+
function UpdateFlagComponent_div_22_Template(rf, ctx) { if (rf & 1) {
|
|
255
|
+
i0.ɵɵelementStart(0, "div", 55)(1, "div", 56)(2, "p");
|
|
256
|
+
i0.ɵɵtext(3);
|
|
257
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
258
|
+
i0.ɵɵelementStart(5, "span")(6, "strong", 57);
|
|
259
|
+
i0.ɵɵtext(7);
|
|
260
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
261
|
+
i0.ɵɵelementEnd()()()();
|
|
262
|
+
i0.ɵɵelementStart(9, "div", 56);
|
|
263
|
+
i0.ɵɵtemplate(10, UpdateFlagComponent_div_22_button_10_Template, 3, 3, "button", 58);
|
|
264
|
+
i0.ɵɵelementEnd()();
|
|
265
|
+
} if (rf & 2) {
|
|
266
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
267
|
+
i0.ɵɵadvance(3);
|
|
268
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 4, "Flag status:"), " ");
|
|
269
|
+
i0.ɵɵadvance(3);
|
|
270
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Inactive"));
|
|
271
|
+
i0.ɵɵadvance(1);
|
|
272
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 6, ctx_r9.selectedFlag == null ? null : ctx_r9.selectedFlag.flagDetailDisplay == null ? null : ctx_r9.selectedFlag.flagDetailDisplay.flagDetail == null ? null : ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status), " ");
|
|
273
|
+
i0.ɵɵadvance(3);
|
|
274
|
+
i0.ɵɵproperty("ngIf", ctx_r9.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
|
|
275
|
+
} }
|
|
276
|
+
const _c1 = function (a0) { return { "form-group-error": a0 }; };
|
|
38
277
|
export class UpdateFlagComponent {
|
|
39
|
-
constructor() {
|
|
278
|
+
constructor(rpxTranslationService) {
|
|
279
|
+
this.rpxTranslationService = rpxTranslationService;
|
|
40
280
|
this.caseFlagStateEmitter = new EventEmitter();
|
|
41
281
|
this.updateFlagTitle = '';
|
|
42
282
|
this.errorMessages = [];
|
|
43
|
-
this.
|
|
44
|
-
this.
|
|
45
|
-
this.
|
|
46
|
-
this.
|
|
283
|
+
this.commentsNotEnteredErrorMessage = null;
|
|
284
|
+
this.commentsCharLimitErrorMessage = null;
|
|
285
|
+
this.statusReasonNotEnteredErrorMessage = null;
|
|
286
|
+
this.statusReasonCharLimitErrorMessage = null;
|
|
287
|
+
this.updateFlagStepEnum = UpdateFlagStep;
|
|
288
|
+
this.caseFlagStatusEnum = CaseFlagStatus;
|
|
289
|
+
this.caseFlagFormFields = CaseFlagFormFields;
|
|
290
|
+
this.textMaxCharLimit = 200;
|
|
291
|
+
this.selectedManageCaseLocation = 'selectedManageCaseLocation';
|
|
292
|
+
this.caseFlagDisplayContextParameter = CaseFlagDisplayContextParameter;
|
|
293
|
+
this.externalUserUpdate = false;
|
|
294
|
+
this.internalUserUpdate = false;
|
|
295
|
+
this.internalUser2Point1EnabledUpdate = false;
|
|
296
|
+
}
|
|
297
|
+
get externallyVisibleFlag() {
|
|
298
|
+
return this.selectedFlag.flagDetailDisplay.visibility?.toLowerCase() === 'external';
|
|
47
299
|
}
|
|
48
300
|
ngOnInit() {
|
|
49
|
-
this.
|
|
50
|
-
this.
|
|
51
|
-
this.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
this.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
301
|
+
// Set whether this is an external, internal, or internal Case Flags v2.1 enabled user update
|
|
302
|
+
this.externalUserUpdate = this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE_EXTERNAL;
|
|
303
|
+
this.internalUserUpdate = this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE;
|
|
304
|
+
this.internalUser2Point1EnabledUpdate = this.displayContextParameter === CaseFlagDisplayContextParameter.UPDATE_2_POINT_1;
|
|
305
|
+
this.selectedFlag = this.formGroup.get(this.selectedManageCaseLocation)?.value;
|
|
306
|
+
if (this.selectedFlag?.flagDetailDisplay?.flagDetail) {
|
|
307
|
+
this.flagDetail = this.selectedFlag.flagDetailDisplay.flagDetail;
|
|
308
|
+
// If present, use the *original* flag status, not the one in the flagDetail object, because the status could have
|
|
309
|
+
// been modified via a previous "Update Flag" journey through the UI but not persisted yet (thus not the *true* flag
|
|
310
|
+
// status). Otherwise, use the status from the flagDetail object (initially, the original flag status won't be
|
|
311
|
+
// present because it gets cached only on first update by WriteCaseFlagFieldComponent)
|
|
312
|
+
const currentFlagStatusKey = Object.keys(CaseFlagStatus).find((key) => CaseFlagStatus[key] === (this.selectedFlag.originalStatus || this.flagDetail.status));
|
|
313
|
+
// Populate flag comments text area with existing comments; use the comments appropriate for the selected language,
|
|
314
|
+
// falling back on their alternate counterpart if none are available. Comments are to be populated one time only -
|
|
315
|
+
// when the user first visits the page - even if they switch language subsequently
|
|
316
|
+
let existingComments;
|
|
317
|
+
if (this.rpxTranslationService.language === 'cy') {
|
|
318
|
+
existingComments = this.flagDetail.flagComment_cy || this.flagDetail.flagComment;
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
existingComments = this.flagDetail.flagComment || this.flagDetail.flagComment_cy;
|
|
322
|
+
}
|
|
323
|
+
this.formGroup.addControl(CaseFlagFormFields.COMMENTS, new FormControl(existingComments));
|
|
324
|
+
this.formGroup.addControl(CaseFlagFormFields.STATUS, new FormControl(currentFlagStatusKey));
|
|
325
|
+
// Populate status reason only if the user is not external
|
|
326
|
+
this.formGroup.addControl(CaseFlagFormFields.STATUS_CHANGE_REASON, new FormControl(this.externalUserUpdate ? '' : this.flagDetail.flagUpdateComment));
|
|
327
|
+
this.formGroup.addControl(CaseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED, new FormControl(false));
|
|
328
|
+
this.updateFlagTitle = this.setUpdateCaseFlagTitle(this.flagDetail);
|
|
329
|
+
// Set the valid status options for display, based on current status of the selected flag. "Active" flags can
|
|
330
|
+
// remain "Active" or move to "Inactive" only; "Requested" flags can remain "Requested" or move to "Active",
|
|
331
|
+
// "Inactive", or "Not approved". No other status progressions are valid
|
|
332
|
+
if (currentFlagStatusKey) {
|
|
333
|
+
switch (currentFlagStatusKey) {
|
|
334
|
+
case 'ACTIVE':
|
|
335
|
+
this.validStatusProgressions = Object.keys(CaseFlagStatus).filter((key) => !['REQUESTED', 'NOT_APPROVED'].includes(key));
|
|
336
|
+
break;
|
|
337
|
+
case 'REQUESTED':
|
|
338
|
+
this.validStatusProgressions = Object.keys(CaseFlagStatus);
|
|
339
|
+
break;
|
|
340
|
+
default:
|
|
341
|
+
this.validStatusProgressions = [];
|
|
342
|
+
}
|
|
61
343
|
}
|
|
62
344
|
}
|
|
63
345
|
}
|
|
346
|
+
setUpdateCaseFlagTitle(flagDetail) {
|
|
347
|
+
switch (this.displayContextParameter) {
|
|
348
|
+
case CaseFlagDisplayContextParameter.UPDATE:
|
|
349
|
+
case CaseFlagDisplayContextParameter.UPDATE_2_POINT_1:
|
|
350
|
+
if (flagDetail?.name) {
|
|
351
|
+
const subTypeValue = flagDetail.subTypeValue || flagDetail.subTypeValue_cy
|
|
352
|
+
? `, ${flagDetail.subTypeValue || flagDetail.subTypeValue_cy}`
|
|
353
|
+
: '';
|
|
354
|
+
const otherDescription = flagDetail.otherDescription || flagDetail.otherDescription_cy
|
|
355
|
+
? `, ${flagDetail.otherDescription || flagDetail.otherDescription_cy}`
|
|
356
|
+
: '';
|
|
357
|
+
return subTypeValue
|
|
358
|
+
? `${CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE} "${flagDetail.name}${subTypeValue}"`
|
|
359
|
+
: `${CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE} "${flagDetail.name}${otherDescription}"`;
|
|
360
|
+
}
|
|
361
|
+
return `${CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE}`;
|
|
362
|
+
case CaseFlagDisplayContextParameter.UPDATE_EXTERNAL:
|
|
363
|
+
return CaseFlagWizardStepTitle.UPDATE_FLAG_TITLE_EXTERNAL;
|
|
364
|
+
default:
|
|
365
|
+
return CaseFlagWizardStepTitle.NONE;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
64
368
|
onNext() {
|
|
65
|
-
// Validate flag comments entry
|
|
369
|
+
// Validate flag comments and status reason entry
|
|
66
370
|
this.validateTextEntry();
|
|
67
|
-
//
|
|
68
|
-
if (this.
|
|
69
|
-
this.
|
|
70
|
-
...this.selectedFlag.flagDetailDisplay.flagDetail, flagComment: this.formGroup.get(this.updateFlagControlName).value
|
|
71
|
-
};
|
|
371
|
+
// Set selected flag status to "Inactive" if update is by external user
|
|
372
|
+
if (this.externalUserUpdate) {
|
|
373
|
+
this.formGroup.get(CaseFlagFormFields.STATUS)?.setValue(Object.keys(CaseFlagStatus)[2]);
|
|
72
374
|
}
|
|
73
375
|
// Return case flag field state, error messages, and selected flag detail to the parent. The selected flag must be
|
|
74
376
|
// re-emitted because the parent component repopulates this on handling this EventEmitter
|
|
75
377
|
this.caseFlagStateEmitter.emit({
|
|
76
378
|
currentCaseFlagFieldState: CaseFlagFieldState.FLAG_UPDATE,
|
|
77
379
|
errorMessages: this.errorMessages,
|
|
78
|
-
selectedFlag: this.selectedFlag
|
|
380
|
+
selectedFlag: this.selectedFlag,
|
|
79
381
|
});
|
|
382
|
+
window.scrollTo(0, 0);
|
|
80
383
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
? CaseFlagStatus.INACTIVE
|
|
86
|
-
: this.selectedFlag.flagDetailDisplay.flagDetail.status
|
|
87
|
-
};
|
|
384
|
+
onMakeInactive() {
|
|
385
|
+
// Set selected flag status to "Inactive" on screen and in the FormGroup
|
|
386
|
+
this.selectedFlag.flagDetailDisplay.flagDetail.status = CaseFlagStatus.INACTIVE;
|
|
387
|
+
this.formGroup.get(CaseFlagFormFields.STATUS)?.setValue(Object.keys(CaseFlagStatus)[2]);
|
|
88
388
|
}
|
|
89
389
|
validateTextEntry() {
|
|
90
|
-
this.
|
|
91
|
-
this.
|
|
390
|
+
this.commentsNotEnteredErrorMessage = null;
|
|
391
|
+
this.commentsCharLimitErrorMessage = null;
|
|
392
|
+
this.statusReasonNotEnteredErrorMessage = null;
|
|
393
|
+
this.statusReasonCharLimitErrorMessage = null;
|
|
92
394
|
this.errorMessages = [];
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
395
|
+
// Validation should fail if the flag has an existing comment and it has been deleted on screen; conversely, if there
|
|
396
|
+
// is no existing comment then one is not required for validation to pass
|
|
397
|
+
const comment = this.formGroup.get(CaseFlagFormFields.COMMENTS)?.value;
|
|
398
|
+
if (!comment && (this.flagDetail.flagComment || this.flagDetail.flagComment_cy)) {
|
|
399
|
+
this.commentsNotEnteredErrorMessage = !this.displayContextParameter
|
|
400
|
+
? UpdateFlagErrorMessage.NONE
|
|
401
|
+
: UpdateFlagErrorMessage.FLAG_COMMENTS_NOT_ENTERED;
|
|
96
402
|
this.errorMessages.push({
|
|
97
403
|
title: '',
|
|
98
|
-
description:
|
|
99
|
-
fieldId:
|
|
404
|
+
description: this.commentsNotEnteredErrorMessage,
|
|
405
|
+
fieldId: CaseFlagFormFields.COMMENTS
|
|
100
406
|
});
|
|
101
407
|
}
|
|
102
|
-
if (comment && comment.length > this.
|
|
103
|
-
this.
|
|
408
|
+
if (comment && comment.length > this.textMaxCharLimit) {
|
|
409
|
+
this.commentsCharLimitErrorMessage = UpdateFlagErrorMessage.FLAG_COMMENTS_CHAR_LIMIT_EXCEEDED;
|
|
104
410
|
this.errorMessages.push({
|
|
105
411
|
title: '',
|
|
106
412
|
description: UpdateFlagErrorMessage.FLAG_COMMENTS_CHAR_LIMIT_EXCEEDED,
|
|
107
|
-
fieldId:
|
|
413
|
+
fieldId: CaseFlagFormFields.COMMENTS
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
const statusReason = this.formGroup.get(CaseFlagFormFields.STATUS_CHANGE_REASON)?.value;
|
|
417
|
+
const flagStatusNotApprovedKey = Object.keys(CaseFlagStatus).find((key) => CaseFlagStatus[key] === CaseFlagStatus.NOT_APPROVED);
|
|
418
|
+
// Status reason is mandatory if flag status is "Not approved" or user is external
|
|
419
|
+
if (this.formGroup.get(CaseFlagFormFields.STATUS)?.value === flagStatusNotApprovedKey && !statusReason) {
|
|
420
|
+
this.statusReasonNotEnteredErrorMessage = UpdateFlagErrorMessage.STATUS_REASON_NOT_ENTERED;
|
|
421
|
+
this.errorMessages.push({
|
|
422
|
+
title: '',
|
|
423
|
+
description: UpdateFlagErrorMessage.STATUS_REASON_NOT_ENTERED,
|
|
424
|
+
fieldId: CaseFlagFormFields.STATUS_CHANGE_REASON
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
if (this.externalUserUpdate && !statusReason) {
|
|
428
|
+
this.statusReasonNotEnteredErrorMessage = UpdateFlagErrorMessage.STATUS_REASON_NOT_ENTERED_EXTERNAL;
|
|
429
|
+
this.errorMessages.push({
|
|
430
|
+
title: '',
|
|
431
|
+
description: UpdateFlagErrorMessage.STATUS_REASON_NOT_ENTERED_EXTERNAL,
|
|
432
|
+
fieldId: CaseFlagFormFields.STATUS_CHANGE_REASON
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
if (statusReason && statusReason.length > this.textMaxCharLimit) {
|
|
436
|
+
this.statusReasonCharLimitErrorMessage = UpdateFlagErrorMessage.STATUS_REASON_CHAR_LIMIT_EXCEEDED;
|
|
437
|
+
this.errorMessages.push({
|
|
438
|
+
title: '',
|
|
439
|
+
description: UpdateFlagErrorMessage.STATUS_REASON_CHAR_LIMIT_EXCEEDED,
|
|
440
|
+
fieldId: CaseFlagFormFields.STATUS_CHANGE_REASON
|
|
108
441
|
});
|
|
109
442
|
}
|
|
110
443
|
}
|
|
111
444
|
}
|
|
112
|
-
UpdateFlagComponent.ɵfac = function UpdateFlagComponent_Factory(t) { return new (t || UpdateFlagComponent)(); };
|
|
113
|
-
UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagComponent, selectors: [["ccd-update-flag"]], inputs: { formGroup: "formGroup",
|
|
114
|
-
i0.ɵɵ
|
|
445
|
+
UpdateFlagComponent.ɵfac = function UpdateFlagComponent_Factory(t) { return new (t || UpdateFlagComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
|
|
446
|
+
UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagComponent, selectors: [["ccd-update-flag"]], inputs: { formGroup: "formGroup", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 27, vars: 25, 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--m"], ["id", "update-flag-hint-external", "class", "govuk-hint", 4, "ngIf"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "update-flag-comments-hint-external", "class", "govuk-hint", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["externalUser", ""], ["updateFlagStatusReason", ""], ["id", "flag-status-container-v2_1", "class", "govuk-!-margin-bottom-4", 4, "ngIf"], ["id", "translation-checkbox-container", "class", "govuk-!-margin-bottom-6", 4, "ngIf"], ["id", "flag-status-container-v1", "class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-button-group"], ["id", "updateFlagNextButton", "type", "button", 1, "govuk-button", 3, "click"], ["id", "update-flag-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "update-flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-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"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "update-flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "update-flag-comments-char-limit-error", 1, "govuk-error-message"], [4, "ngIf"], [4, "ngTemplateOutlet"], ["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", "aria-describedby", "update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error", 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"], ["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"], ["id", "flag-status-container-v2_1", 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"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "formControlName", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "translation-checkbox-container", 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"], ["id", "flag-status-container-v1", 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"], ["type", "button", 1, "button", "button-secondary", 3, "click"]], template: function UpdateFlagComponent_Template(rf, ctx) { if (rf & 1) {
|
|
447
|
+
i0.ɵɵelementContainerStart(0, 0);
|
|
448
|
+
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "h1", 3)(4, "label", 4);
|
|
115
449
|
i0.ɵɵtext(5);
|
|
450
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
116
451
|
i0.ɵɵelementEnd()();
|
|
117
|
-
i0.ɵɵ
|
|
118
|
-
i0.ɵɵ
|
|
452
|
+
i0.ɵɵtemplate(7, UpdateFlagComponent_div_7_Template, 3, 3, "div", 5);
|
|
453
|
+
i0.ɵɵelementStart(8, "div", 6)(9, "label", 7);
|
|
454
|
+
i0.ɵɵtext(10);
|
|
455
|
+
i0.ɵɵpipe(11, "rpxTranslate");
|
|
456
|
+
i0.ɵɵpipe(12, "rpxTranslate");
|
|
457
|
+
i0.ɵɵpipe(13, "rpxTranslate");
|
|
119
458
|
i0.ɵɵelementEnd();
|
|
120
|
-
i0.ɵɵtemplate(
|
|
121
|
-
i0.ɵɵtemplate(
|
|
122
|
-
i0.ɵɵ
|
|
123
|
-
i0.ɵɵtext(11, " ");
|
|
459
|
+
i0.ɵɵtemplate(14, UpdateFlagComponent_div_14_Template, 3, 3, "div", 8);
|
|
460
|
+
i0.ɵɵtemplate(15, UpdateFlagComponent_ng_container_15_Template, 13, 14, "ng-container", 9);
|
|
461
|
+
i0.ɵɵtemplate(16, UpdateFlagComponent_ng_template_16_Template, 1, 1, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor);
|
|
124
462
|
i0.ɵɵelementEnd();
|
|
125
|
-
i0.ɵɵ
|
|
126
|
-
i0.ɵɵ
|
|
127
|
-
i0.ɵɵ
|
|
128
|
-
i0.ɵɵ
|
|
129
|
-
i0.ɵɵtext(17, "Flag status: ");
|
|
130
|
-
i0.ɵɵelementStart(18, "span")(19, "strong", 12);
|
|
131
|
-
i0.ɵɵtext(20);
|
|
132
|
-
i0.ɵɵelementEnd()()()();
|
|
133
|
-
i0.ɵɵelementStart(21, "div", 11);
|
|
134
|
-
i0.ɵɵtemplate(22, UpdateFlagComponent_button_22_Template, 2, 0, "button", 13);
|
|
463
|
+
i0.ɵɵtemplate(18, UpdateFlagComponent_ng_template_18_Template, 7, 8, "ng-template", null, 11, i0.ɵɵtemplateRefExtractor);
|
|
464
|
+
i0.ɵɵtemplate(20, UpdateFlagComponent_div_20_Template, 13, 12, "div", 12);
|
|
465
|
+
i0.ɵɵtemplate(21, UpdateFlagComponent_div_21_Template, 7, 7, "div", 13);
|
|
466
|
+
i0.ɵɵtemplate(22, UpdateFlagComponent_div_22_Template, 11, 10, "div", 14);
|
|
135
467
|
i0.ɵɵelementEnd()();
|
|
136
|
-
i0.ɵɵ
|
|
468
|
+
i0.ɵɵelementContainerEnd();
|
|
469
|
+
i0.ɵɵelementStart(23, "div", 15)(24, "button", 16);
|
|
137
470
|
i0.ɵɵlistener("click", function UpdateFlagComponent_Template_button_click_24_listener() { return ctx.onNext(); });
|
|
138
|
-
i0.ɵɵtext(25
|
|
139
|
-
i0.ɵɵ
|
|
471
|
+
i0.ɵɵtext(25);
|
|
472
|
+
i0.ɵɵpipe(26, "rpxTranslate");
|
|
473
|
+
i0.ɵɵelementEnd()();
|
|
140
474
|
} if (rf & 2) {
|
|
475
|
+
const _r3 = i0.ɵɵreference(17);
|
|
141
476
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
142
477
|
i0.ɵɵadvance(2);
|
|
143
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
478
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c1, ctx.errorMessages.length > 0));
|
|
479
|
+
i0.ɵɵadvance(3);
|
|
480
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 13, ctx.updateFlagTitle), " ");
|
|
144
481
|
i0.ɵɵadvance(2);
|
|
145
|
-
i0.ɵɵproperty("
|
|
146
|
-
i0.ɵɵadvance(1);
|
|
147
|
-
i0.ɵɵtextInterpolate1(" ", ctx.updateFlagTitle, " ");
|
|
482
|
+
i0.ɵɵproperty("ngIf", ctx.externalUserUpdate);
|
|
148
483
|
i0.ɵɵadvance(2);
|
|
149
|
-
i0.ɵɵ
|
|
484
|
+
i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS);
|
|
150
485
|
i0.ɵɵadvance(1);
|
|
151
|
-
i0.ɵɵ
|
|
486
|
+
i0.ɵɵtextInterpolate1(" ", ctx.externalUserUpdate ? i0.ɵɵpipeBind1(11, 15, ctx.updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL) : i0.ɵɵpipeBind1(12, 17, ctx.updateFlagTitle) + i0.ɵɵpipeBind1(13, 19, " comments"), " ");
|
|
487
|
+
i0.ɵɵadvance(4);
|
|
488
|
+
i0.ɵɵproperty("ngIf", ctx.externalUserUpdate);
|
|
152
489
|
i0.ɵɵadvance(1);
|
|
153
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
490
|
+
i0.ɵɵproperty("ngIf", ctx.internalUserUpdate || ctx.internalUser2Point1EnabledUpdate || ctx.displayContextParameter === "")("ngIfElse", _r3);
|
|
491
|
+
i0.ɵɵadvance(5);
|
|
492
|
+
i0.ɵɵproperty("ngIf", ctx.internalUser2Point1EnabledUpdate);
|
|
154
493
|
i0.ɵɵadvance(1);
|
|
155
|
-
i0.ɵɵproperty("
|
|
156
|
-
i0.ɵɵadvance(3);
|
|
157
|
-
i0.ɵɵtextInterpolate1(" ", ctx.updateFlagCharLimitInfo, " ");
|
|
158
|
-
i0.ɵɵadvance(6);
|
|
159
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c1, ctx.selectedFlag.flagDetailDisplay.flagDetail.status === "Inactive"));
|
|
494
|
+
i0.ɵɵproperty("ngIf", ctx.internalUser2Point1EnabledUpdate);
|
|
160
495
|
i0.ɵɵadvance(1);
|
|
161
|
-
i0.ɵɵ
|
|
162
|
-
i0.ɵɵadvance(
|
|
163
|
-
i0.ɵɵ
|
|
164
|
-
} },
|
|
496
|
+
i0.ɵɵproperty("ngIf", ctx.internalUserUpdate);
|
|
497
|
+
i0.ɵɵadvance(3);
|
|
498
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(26, 21, "Next"), " ");
|
|
499
|
+
} }, encapsulation: 2 });
|
|
165
500
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UpdateFlagComponent, [{
|
|
166
501
|
type: Component,
|
|
167
|
-
args: [{ selector: 'ccd-update-flag', template: "<
|
|
168
|
-
}],
|
|
502
|
+
args: [{ selector: 'ccd-update-flag', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--m\">\n {{updateFlagTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"update-flag-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail | updateFlagTitleDisplay}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--s\" [for]=\"caseFlagFormFields.COMMENTS\">\n {{\n externalUserUpdate\n ? (updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL | rpxTranslate)\n : (updateFlagTitle | rpxTranslate) + (' comments' | rpxTranslate)\n }}\n </label>\n <div id=\"update-flag-comments-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL | rpxTranslate}}\n </div>\n <ng-container *ngIf=\"internalUserUpdate || internalUser2Point1EnabledUpdate || displayContextParameter === '';\n else externalUser\">\n <div id=\"update-flag-comments-hint\" class=\"govuk-hint\">\n {{\n internalUserUpdate\n ? (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL | rpxTranslate)\n : (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1 | rpxTranslate)\n }}\n </div>\n <div class=\"govuk-warning-text\" *ngIf=\"internalUser2Point1EnabledUpdate && externallyVisibleFlag\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{updateFlagStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"update-flag-comments-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"commentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-comments-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"commentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error\">\n </textarea>\n <div id=\"update-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-container>\n <ng-template #externalUser>\n <ng-container *ngIf=\"externalUserUpdate\">\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </ng-container>\n </ng-template>\n </div>\n\n <ng-template #updateFlagStatusReason>\n <div id=\"update-flag-status-reason-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-status-reason-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [name]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [formControlName]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error\">\n </textarea>\n <div id=\"update-flag-status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-template>\n\n <div id=\"flag-status-container-v2_1\" class=\"govuk-!-margin-bottom-4\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"update-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s\">\n <h1 id=\"update-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{updateFlagTitle | rpxTranslate}} {{'status' | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" [id]=\"caseFlagFormFields.STATUS\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of validStatusProgressions\">\n <input class=\"govuk-radios__input\" type=\"radio\"\n [id]=\"caseFlagFormFields.STATUS + '_' + status\"\n [name]=\"caseFlagFormFields.STATUS\"\n [formControlName]=\"caseFlagFormFields.STATUS\"\n [value]=\"status\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"caseFlagFormFields.STATUS + '_' + status\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n\n <div id=\"update-flag-status-hint\" class=\"govuk-hint\">\n {{updateFlagStepEnum.STATUS_HINT_TEXT | rpxTranslate}}\n </div>\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </div>\n\n <div id=\"translation-checkbox-container\" class=\"govuk-!-margin-bottom-6\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" type=\"checkbox\"\n [formControlName]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [id]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [name]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n <label class=\"govuk-label govuk-checkboxes__label\"\n [for]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n {{'I need to add a translation' | rpxTranslate}}\n </label>\n </div>\n </div>\n </div>\n\n <div id=\"flag-status-container-v1\" class=\"govuk-grid-row\" *ngIf=\"internalUserUpdate\">\n <div class=\"govuk-grid-column-one-half\">\n <p>{{'Flag status:' | rpxTranslate}}\n <span>\n <strong class=\"govuk-tag\" [ngClass]=\"{'govuk-tag--grey': selectedFlag.flagDetailDisplay.flagDetail.status === 'Inactive'}\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail?.status | rpxTranslate}}\n </strong>\n </span>\n </p>\n </div>\n <div class=\"govuk-grid-column-one-half\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"onMakeInactive()\" *ngIf=\"selectedFlag.flagDetailDisplay.flagDetail.status === 'Active'\">\n {{'Make inactive' | rpxTranslate}}\n </button>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button id=\"updateFlagNextButton\" class=\"govuk-button\" type=\"button\" (click)=\"onNext()\">\n {{'Next' | rpxTranslate}}\n </button>\n</div>\n" }]
|
|
503
|
+
}], function () { return [{ type: i1.RpxTranslationService }]; }, { formGroup: [{
|
|
169
504
|
type: Input
|
|
170
|
-
}],
|
|
505
|
+
}], displayContextParameter: [{
|
|
171
506
|
type: Input
|
|
172
507
|
}], caseFlagStateEmitter: [{
|
|
173
508
|
type: Output
|
|
174
509
|
}] }); })();
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztJQ001SCwrQkFDMkMsZUFBQTtJQUNMLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0Qsd0VBQ3BEOzs7SUFDQSwrQkFDMEMsZUFBQTtJQUNKLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0QsdUVBQ3BEOzs7O0lBcUJBLGtDQUF1SjtJQUFqRyxvS0FBUyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFDOUUsK0JBQ0Y7SUFBQSxpQkFBUzs7OztBRDlCZixNQUFNLE9BQU8sbUJBQW1CO0lB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O1FBRUYsYUFDRjtRQUFBLGlCQUFTLEVBQUEsRUFBQSxFQUFBO1FBSWYsZ0NBQXdDO1FBQ3RDLDZFQUVTO1FBQ1gsaUJBQU0sRUFBQTtRQUVSLGdDQUFnQyxrQkFBQTtRQUNzQixpR0FBUyxZQUFRLElBQUM7UUFBQyxxQkFBSTtRQUFBLGlCQUFTLEVBQUEsRUFBQTs7UUE1Q2hFLHlDQUF1QjtRQUViLGVBQTBEO1FBQTFELG1GQUEwRDtRQUNaLGVBQTZCO1FBQTdCLCtDQUE2QjtRQUNuRyxlQUNGO1FBREUsb0RBQ0Y7UUFHQSxlQUNGO1FBREUsbURBQ0Y7UUFFRyxlQUFzQztRQUF0QywyREFBc0M7UUFJdEMsZUFBcUM7UUFBckMsMERBQXFDO1FBR1AsZUFBNEI7UUFBNUIsOENBQTRCLG1DQUFBLDhDQUFBO1FBSzNELGVBQ0Y7UUFERSw0REFDRjtRQU84QixlQUFnRztRQUFoRywwSEFBZ0c7UUFDeEgsZUFDRjtRQURFLHFGQUNGO1FBSzhFLGVBQW1FO1FBQW5FLHdGQUFtRTs7dUZENUI5SSxtQkFBbUI7Y0FKL0IsU0FBUzsyQkFDRSxpQkFBaUI7Z0JBS1gsU0FBUztrQkFBeEIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFFVyxvQkFBb0I7a0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1N0YXR1cywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UsIFVwZGF0ZUZsYWdTdGVwIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtdXBkYXRlLWZsYWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZsYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkRmxhZzogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aDtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIHVwZGF0ZUZsYWdUaXRsZSA9ICcnO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIHVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgdXBkYXRlRmxhZ0hpbnQ6IFVwZGF0ZUZsYWdTdGVwO1xuICBwdWJsaWMgdXBkYXRlRmxhZ0NoYXJMaW1pdEluZm86IFVwZGF0ZUZsYWdTdGVwO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRlRmxhZ0NvbnRyb2xOYW1lID0gJ2ZsYWdDb21tZW50cyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudHNNYXhDaGFyTGltaXQgPSAyMDA7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRmxhZ0hpbnQgPSBVcGRhdGVGbGFnU3RlcC5ISU5UX1RFWFQ7XG4gICAgdGhpcy51cGRhdGVGbGFnQ2hhckxpbWl0SW5mbyA9IFVwZGF0ZUZsYWdTdGVwLkNIQVJBQ1RFUl9MSU1JVF9JTkZPO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnICYmIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5ICYmIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwpIHtcbiAgICAgIGNvbnN0IGZsYWdEZXRhaWwgPSB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsO1xuICAgICAgLy8gUG9wdWxhdGUgZmxhZyBjb21tZW50cyB0ZXh0IGFyZWEgd2l0aCBleGlzdGluZyBjb21tZW50c1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMudXBkYXRlRmxhZ0NvbnRyb2xOYW1lKS5zZXRWYWx1ZShmbGFnRGV0YWlsLmZsYWdDb21tZW50KTtcbiAgICAgIGlmIChmbGFnRGV0YWlsLm5hbWUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGbGFnVGl0bGUgPVxuICAgICAgICAgIGAke0Nhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlVQREFURV9GTEFHX1RJVExFfSBcIiR7ZmxhZ0RldGFpbC5uYW1lfSR7ZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWVcbiAgICAgICAgICAgID8gYCwgJHtmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZX1cImBcbiAgICAgICAgICAgIDogJ1wiJ31gO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBjb21tZW50cyBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVUZXh0RW50cnkoKTtcbiAgICAvLyBJZiB2YWxpZGF0aW9uIGhhcyBwYXNzZWQsIHVwZGF0ZSB0aGUgZmxhZyBkZXRhaWxzIHdpdGggdGhlIGNvbW1lbnRzIGVudGVyZWRcbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCA9IHtcbiAgICAgICAgLi4udGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCwgZmxhZ0NvbW1lbnQ6IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZSkudmFsdWVcbiAgICAgIH07XG4gICAgfVxuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgc2VsZWN0ZWQgZmxhZyBkZXRhaWwgdG8gdGhlIHBhcmVudC4gVGhlIHNlbGVjdGVkIGZsYWcgbXVzdCBiZVxuICAgIC8vIHJlLWVtaXR0ZWQgYmVjYXVzZSB0aGUgcGFyZW50IGNvbXBvbmVudCByZXBvcHVsYXRlcyB0aGlzIG9uIGhhbmRsaW5nIHRoaXMgRXZlbnRFbWl0dGVyXG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1VQREFURSxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIHNlbGVjdGVkRmxhZzogdGhpcy5zZWxlY3RlZEZsYWdcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZVN0YXR1cygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsID0ge1xuICAgICAgLi4udGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCxcbiAgICAgIHN0YXR1czogdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09IENhc2VGbGFnU3RhdHVzLkFDVElWRVxuICAgICAgICA/IENhc2VGbGFnU3RhdHVzLklOQUNUSVZFXG4gICAgICAgIDogdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLnVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWUpLnZhbHVlO1xuICAgIGlmICghY29tbWVudCkge1xuICAgICAgdGhpcy51cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX05PVF9FTlRFUkVELFxuICAgICAgICBmaWVsZElkOiB0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChjb21tZW50ICYmIGNvbW1lbnQubGVuZ3RoID4gdGhpcy5jb21tZW50c01heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy51cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiB0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbWF4bGVuZ3RoPVwiMjAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgICA8aDEgY2xhc3M9XCJnb3Z1ay1sYWJlbC13cmFwcGVyXCI+PGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLWxcIiBbZm9yXT1cInVwZGF0ZUZsYWdDb250cm9sTmFtZVwiPlxuICAgICAgICAgIHt7dXBkYXRlRmxhZ1RpdGxlfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvaDE+XG4gICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICB7e3VwZGF0ZUZsYWdIaW50fX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLW5vdC1lbnRlcmVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cInVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e3VwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cInVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7dXBkYXRlRmxhZ0NoYXJMaW1pdEVycm9yTWVzc2FnZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgW2lkXT1cInVwZGF0ZUZsYWdDb250cm9sTmFtZVwiXG4gICAgICAgIFtuYW1lXT1cInVwZGF0ZUZsYWdDb250cm9sTmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwidXBkYXRlRmxhZ0NvbnRyb2xOYW1lXCIgcm93cz1cIjVcIlxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwidXBkYXRlLWZsYWctaGludCB1cGRhdGUtZmxhZy1jaGFyLWxpbWl0LWluZm8gdXBkYXRlLWZsYWctY2hhci1saW1pdC1lcnJvclwiPlxuICAgICAgPC90ZXh0YXJlYT5cbiAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIHt7dXBkYXRlRmxhZ0NoYXJMaW1pdEluZm99fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGZcIj5cbiAgICAgIDxwPkZsYWcgc3RhdHVzOlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstdGFnXCIgW25nQ2xhc3NdPVwieydnb3Z1ay10YWctLWdyZXknOiBzZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09ICdJbmFjdGl2ZSd9XCI+XG4gICAgICAgICAgICB7e3NlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLnN0YXR1c319XG4gICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGZcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25DaGFuZ2VTdGF0dXMoKVwiICpuZ0lmPVwic2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID09PSAnQWN0aXZlJ1wiPlxuICAgICAgICBNYWtlIGluYWN0aXZlXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPk5leHQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
510
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzVELE9BQU8sRUFDTCwrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2YsTUFBTSxhQUFhLENBQUM7Ozs7SUNMZiwrQkFBa0Y7SUFDaEYsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosZUFDRjtJQURFLG1NQUNGOzs7SUFVRSwrQkFBMkY7SUFDekYsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosZUFDRjtJQURFLDJHQUNGOzs7SUFVRSwrQkFBa0csZUFBQTtJQUN0QyxpQkFBQztJQUFBLGlCQUFPO0lBQ2xFLGtDQUF5QyxlQUFBO0lBQ0ssWUFBNEI7O0lBQUEsaUJBQU87SUFDL0Us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QW9CO2tCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWwsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlcixcbiAgQ2FzZUZsYWdGaWVsZFN0YXRlLFxuICBDYXNlRmxhZ0Zvcm1GaWVsZHMsXG4gIENhc2VGbGFnU3RhdHVzLFxuICBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSxcbiAgVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZSxcbiAgVXBkYXRlRmxhZ1N0ZXBcbn0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtdXBkYXRlLWZsYWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZsYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5Q29udGV4dFBhcmFtZXRlcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgc2VsZWN0ZWRGbGFnOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoO1xuICBwdWJsaWMgdXBkYXRlRmxhZ1RpdGxlID0gJyc7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgY29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIGNvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdTdGVwRW51bSA9IFVwZGF0ZUZsYWdTdGVwO1xuICBwdWJsaWMgdmFsaWRTdGF0dXNQcm9ncmVzc2lvbnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FzZUZsYWdTdGF0dXNFbnVtID0gQ2FzZUZsYWdTdGF0dXM7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlRmxhZ0Zvcm1GaWVsZHMgPSBDYXNlRmxhZ0Zvcm1GaWVsZHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dE1heENoYXJMaW1pdCA9IDIwMDtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbiA9ICdzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbic7XG4gIHByaXZhdGUgZmxhZ0RldGFpbDogRmxhZ0RldGFpbDtcbiAgcHVibGljIGNhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyO1xuICBwdWJsaWMgZXh0ZXJuYWxVc2VyVXBkYXRlID0gZmFsc2U7XG4gIHB1YmxpYyBpbnRlcm5hbFVzZXJVcGRhdGUgPSBmYWxzZTtcbiAgcHVibGljIGludGVybmFsVXNlcjJQb2ludDFFbmFibGVkVXBkYXRlID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBleHRlcm5hbGx5VmlzaWJsZUZsYWcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LnZpc2liaWxpdHk/LnRvTG93ZXJDYXNlKCkgPT09ICdleHRlcm5hbCc7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJweFRyYW5zbGF0aW9uU2VydmljZTogUnB4VHJhbnNsYXRpb25TZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gU2V0IHdoZXRoZXIgdGhpcyBpcyBhbiBleHRlcm5hbCwgaW50ZXJuYWwsIG9yIGludGVybmFsIENhc2UgRmxhZ3MgdjIuMSBlbmFibGVkIHVzZXIgdXBkYXRlXG4gICAgdGhpcy5leHRlcm5hbFVzZXJVcGRhdGUgPSB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV9FWFRFUk5BTDtcbiAgICB0aGlzLmludGVybmFsVXNlclVwZGF0ZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFO1xuICAgIHRoaXMuaW50ZXJuYWxVc2VyMlBvaW50MUVuYWJsZWRVcGRhdGUgPSB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV8yX1BPSU5UXzE7XG4gICAgdGhpcy5zZWxlY3RlZEZsYWcgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbik/LnZhbHVlIGFzIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGg7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnPy5mbGFnRGV0YWlsRGlzcGxheT8uZmxhZ0RldGFpbCkge1xuICAgICAgdGhpcy5mbGFnRGV0YWlsID0gdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICAgIC8vIElmIHByZXNlbnQsIHVzZSB0aGUgKm9yaWdpbmFsKiBmbGFnIHN0YXR1cywgbm90IHRoZSBvbmUgaW4gdGhlIGZsYWdEZXRhaWwgb2JqZWN0LCBiZWNhdXNlIHRoZSBzdGF0dXMgY291bGQgaGF2ZVxuICAgICAgLy8gYmVlbiBtb2RpZmllZCB2aWEgYSBwcmV2aW91cyBcIlVwZGF0ZSBGbGFnXCIgam91cm5leSB0aHJvdWdoIHRoZSBVSSBidXQgbm90IHBlcnNpc3RlZCB5ZXQgKHRodXMgbm90IHRoZSAqdHJ1ZSogZmxhZ1xuICAgICAgLy8gc3RhdHVzKS4gT3RoZXJ3aXNlLCB1c2UgdGhlIHN0YXR1cyBmcm9tIHRoZSBmbGFnRGV0YWlsIG9iamVjdCAoaW5pdGlhbGx5LCB0aGUgb3JpZ2luYWwgZmxhZyBzdGF0dXMgd29uJ3QgYmVcbiAgICAgIC8vIHByZXNlbnQgYmVjYXVzZSBpdCBnZXRzIGNhY2hlZCBvbmx5IG9uIGZpcnN0IHVwZGF0ZSBieSBXcml0ZUNhc2VGbGFnRmllbGRDb21wb25lbnQpXG4gICAgICBjb25zdCBjdXJyZW50RmxhZ1N0YXR1c0tleSA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maW5kKFxuICAgICAgICAoa2V5KSA9PiBDYXNlRmxhZ1N0YXR1c1trZXldID09PSAodGhpcy5zZWxlY3RlZEZsYWcub3JpZ2luYWxTdGF0dXMgfHwgdGhpcy5mbGFnRGV0YWlsLnN0YXR1cykpO1xuXG4gICAgICAvLyBQb3B1bGF0ZSBmbGFnIGNvbW1lbnRzIHRleHQgYXJlYSB3aXRoIGV4aXN0aW5nIGNvbW1lbnRzOyB1c2UgdGhlIGNvbW1lbnRzIGFwcHJvcHJpYXRlIGZvciB0aGUgc2VsZWN0ZWQgbGFuZ3VhZ2UsXG4gICAgICAvLyBmYWxsaW5nIGJhY2sgb24gdGhlaXIgYWx0ZXJuYXRlIGNvdW50ZXJwYXJ0IGlmIG5vbmUgYXJlIGF2YWlsYWJsZS4gQ29tbWVudHMgYXJlIHRvIGJlIHBvcHVsYXRlZCBvbmUgdGltZSBvbmx5IC1cbiAgICAgIC8vIHdoZW4gdGhlIHVzZXIgZmlyc3QgdmlzaXRzIHRoZSBwYWdlIC0gZXZlbiBpZiB0aGV5IHN3aXRjaCBsYW5ndWFnZSBzdWJzZXF1ZW50bHlcbiAgICAgIGxldCBleGlzdGluZ0NvbW1lbnRzOiBzdHJpbmc7XG4gICAgICBpZiAodGhpcy5ycHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgPT09ICdjeScpIHtcbiAgICAgICAgZXhpc3RpbmdDb21tZW50cyA9IHRoaXMuZmxhZ0RldGFpbC5mbGFnQ29tbWVudF9jeSB8fCB0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NvbW1lbnRzID0gdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50IHx8IHRoaXMuZmxhZ0RldGFpbC5mbGFnQ29tbWVudF9jeTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTLCBuZXcgRm9ybUNvbnRyb2woZXhpc3RpbmdDb21tZW50cykpO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTLCBuZXcgRm9ybUNvbnRyb2woY3VycmVudEZsYWdTdGF0dXNLZXkpKTtcbiAgICAgIC8vIFBvcHVsYXRlIHN0YXR1cyByZWFzb24gb25seSBpZiB0aGUgdXNlciBpcyBub3QgZXh0ZXJuYWxcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OLCBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgIHRoaXMuZXh0ZXJuYWxVc2VyVXBkYXRlID8gJycgOiB0aGlzLmZsYWdEZXRhaWwuZmxhZ1VwZGF0ZUNvbW1lbnQpKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRCwgbmV3IEZvcm1Db250cm9sKGZhbHNlKSk7XG5cbiAgICAgIHRoaXMudXBkYXRlRmxhZ1RpdGxlID0gdGhpcy5zZXRVcGRhdGVDYXNlRmxhZ1RpdGxlKHRoaXMuZmxhZ0RldGFpbCk7XG5cbiAgICAgIC8vIFNldCB0aGUgdmFsaWQgc3RhdHVzIG9wdGlvbnMgZm9yIGRpc3BsYXksIGJhc2VkIG9uIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBzZWxlY3RlZCBmbGFnLiBcIkFjdGl2ZVwiIGZsYWdzIGNhblxuICAgICAgLy8gcmVtYWluIFwiQWN0aXZlXCIgb3IgbW92ZSB0byBcIkluYWN0aXZlXCIgb25seTsgXCJSZXF1ZXN0ZWRcIiBmbGFncyBjYW4gcmVtYWluIFwiUmVxdWVzdGVkXCIgb3IgbW92ZSB0byBcIkFjdGl2ZVwiLFxuICAgICAgLy8gXCJJbmFjdGl2ZVwiLCBvciBcIk5vdCBhcHByb3ZlZFwiLiBObyBvdGhlciBzdGF0dXMgcHJvZ3Jlc3Npb25zIGFyZSB2YWxpZFxuICAgICAgaWYgKGN1cnJlbnRGbGFnU3RhdHVzS2V5KSB7XG4gICAgICAgIHN3aXRjaCAoY3VycmVudEZsYWdTdGF0dXNLZXkpIHtcbiAgICAgICAgICBjYXNlICdBQ1RJVkUnOlxuICAgICAgICAgICAgdGhpcy52YWxpZFN0YXR1c1Byb2dyZXNzaW9ucyA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maWx0ZXIoKGtleSkgPT4gIVsnUkVRVUVTVEVEJywgJ05PVF9BUFBST1ZFRCddLmluY2x1ZGVzKGtleSkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnUkVRVUVTVEVEJzpcbiAgICAgICAgICAgIHRoaXMudmFsaWRTdGF0dXNQcm9ncmVzc2lvbnMgPSBPYmplY3Qua2V5cyhDYXNlRmxhZ1N0YXR1cyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhpcy52YWxpZFN0YXR1c1Byb2dyZXNzaW9ucyA9IFtdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFVwZGF0ZUNhc2VGbGFnVGl0bGUoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyKSB7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV8yX1BPSU5UXzE6XG4gICAgICAgIGlmIChmbGFnRGV0YWlsPy5uYW1lKSB7XG4gICAgICAgICAgY29uc3Qgc3ViVHlwZVZhbHVlID0gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWUgfHwgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWVfY3lcbiAgICAgICAgICAgID8gYCwgJHtmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSB8fCBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZV9jeX1gXG4gICAgICAgICAgICA6ICcnO1xuICAgICAgICAgIGNvbnN0IG90aGVyRGVzY3JpcHRpb24gPSBmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb24gfHwgZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5XG4gICAgICAgICAgICA/IGAsICR7ZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uIHx8IGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbl9jeX1gXG4gICAgICAgICAgICA6ICcnO1xuICAgICAgICAgIHJldHVybiBzdWJUeXBlVmFsdWVcbiAgICAgICAgICAgID8gYCR7Q2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEV9IFwiJHtmbGFnRGV0YWlsLm5hbWV9JHtzdWJUeXBlVmFsdWV9XCJgXG4gICAgICAgICAgICA6IGAke0Nhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlVQREFURV9GTEFHX1RJVExFfSBcIiR7ZmxhZ0RldGFpbC5uYW1lfSR7b3RoZXJEZXNjcmlwdGlvbn1cImA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke0Nhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlVQREFURV9GTEFHX1RJVExFfWA7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEVfRVhURVJOQUw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuTk9ORTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgY29tbWVudHMgYW5kIHN0YXR1cyByZWFzb24gZW50cnlcbiAgICB0aGlzLnZhbGlkYXRlVGV4dEVudHJ5KCk7XG5cbiAgICAvLyBTZXQgc2VsZWN0ZWQgZmxhZyBzdGF0dXMgdG8gXCJJbmFjdGl2ZVwiIGlmIHVwZGF0ZSBpcyBieSBleHRlcm5hbCB1c2VyXG4gICAgaWYgKHRoaXMuZXh0ZXJuYWxVc2VyVXBkYXRlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVUyk/LnNldFZhbHVlKE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKVsyXSk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBzZWxlY3RlZCBmbGFnIGRldGFpbCB0byB0aGUgcGFyZW50LiBUaGUgc2VsZWN0ZWQgZmxhZyBtdXN0IGJlXG4gICAgLy8gcmUtZW1pdHRlZCBiZWNhdXNlIHRoZSBwYXJlbnQgY29tcG9uZW50IHJlcG9wdWxhdGVzIHRoaXMgb24gaGFuZGxpbmcgdGhpcyBFdmVudEVtaXR0ZXJcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLnNlbGVjdGVkRmxhZyxcbiAgICB9KTtcblxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1ha2VJbmFjdGl2ZSgpOiB2b2lkIHtcbiAgICAvLyBTZXQgc2VsZWN0ZWQgZmxhZyBzdGF0dXMgdG8gXCJJbmFjdGl2ZVwiIG9uIHNjcmVlbiBhbmQgaW4gdGhlIEZvcm1Hcm91cFxuICAgIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID0gQ2FzZUZsYWdTdGF0dXMuSU5BQ1RJVkU7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVMpPy5zZXRWYWx1ZShPYmplY3Qua2V5cyhDYXNlRmxhZ1N0YXR1cylbMl0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5jb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLnN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgLy8gVmFsaWRhdGlvbiBzaG91bGQgZmFpbCBpZiB0aGUgZmxhZyBoYXMgYW4gZXhpc3RpbmcgY29tbWVudCBhbmQgaXQgaGFzIGJlZW4gZGVsZXRlZCBvbiBzY3JlZW47IGNvbnZlcnNlbHksIGlmIHRoZXJlXG4gICAgLy8gaXMgbm8gZXhpc3RpbmcgY29tbWVudCB0aGVuIG9uZSBpcyBub3QgcmVxdWlyZWQgZm9yIHZhbGlkYXRpb24gdG8gcGFzc1xuICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTKT8udmFsdWU7XG4gICAgaWYgKCFjb21tZW50ICYmICh0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQgfHwgdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5KSkge1xuICAgICAgdGhpcy5jb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSAhdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlclxuICAgICAgICA/IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuTk9ORVxuICAgICAgICA6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGNvbW1lbnQgJiYgY29tbWVudC5sZW5ndGggPiB0aGlzLnRleHRNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMuY29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdHVzUmVhc29uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTik/LnZhbHVlO1xuICAgIGNvbnN0IGZsYWdTdGF0dXNOb3RBcHByb3ZlZEtleSA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maW5kKChrZXkpID0+IENhc2VGbGFnU3RhdHVzW2tleV0gPT09IENhc2VGbGFnU3RhdHVzLk5PVF9BUFBST1ZFRCk7XG4gICAgLy8gU3RhdHVzIHJlYXNvbiBpcyBtYW5kYXRvcnkgaWYgZmxhZyBzdGF0dXMgaXMgXCJOb3QgYXBwcm92ZWRcIiBvciB1c2VyIGlzIGV4dGVybmFsXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTKT8udmFsdWUgPT09IGZsYWdTdGF0dXNOb3RBcHByb3ZlZEtleSAmJiAhc3RhdHVzUmVhc29uKSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5leHRlcm5hbFVzZXJVcGRhdGUgJiYgIXN0YXR1c1JlYXNvbikge1xuICAgICAgdGhpcy5zdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX05PVF9FTlRFUkVEX0VYVEVSTkFMO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRURfRVhURVJOQUwsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXR1c1JlYXNvbiAmJiBzdGF0dXNSZWFzb24ubGVuZ3RoID4gdGhpcy50ZXh0TWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tYXhsZW5ndGg9XCIyMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLW1cIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2gxPlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWhpbnQtZXh0ZXJuYWxcIiBjbGFzcz1cImdvdnVrLWhpbnRcIiAqbmdJZj1cImV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgICAgICB7e3NlbGVjdGVkRmxhZz8uZmxhZ0RldGFpbERpc3BsYXk/LmZsYWdEZXRhaWwgfCB1cGRhdGVGbGFnVGl0bGVEaXNwbGF5fX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLXNcIiBbZm9yXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBleHRlcm5hbFVzZXJVcGRhdGVcbiAgICAgICAgICAgICAgPyAodXBkYXRlRmxhZ1N0ZXBFbnVtLkNPTU1FTlRfRklFTERfTEFCRUxfRVhURVJOQUwgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICAgIDogKHVwZGF0ZUZsYWdUaXRsZSB8IHJweFRyYW5zbGF0ZSkgKyAoJyBjb21tZW50cycgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWhpbnQtZXh0ZXJuYWxcIiBjbGFzcz1cImdvdnVrLWhpbnRcIiAqbmdJZj1cImV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgICAgICAgIHt7dXBkYXRlRmxhZ1N0ZXBFbnVtLkNPTU1FTlRfSElOVF9URVhUX0VYVEVSTkFMIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnRlcm5hbFVzZXJVcGRhdGUgfHwgaW50ZXJuYWxVc2VyMlBvaW50MUVuYWJsZWRVcGRhdGUgfHwgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09ICcnO1xuICAgICAgICAgIGVsc2UgZXh0ZXJuYWxVc2VyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIGludGVybmFsVXNlclVwZGF0ZVxuICAgICAgICAgICAgICAgID8gKHVwZGF0ZUZsYWdTdGVwRW51bS5DT01NRU5UX0hJTlRfVEVYVF9JTlRFUk5BTCB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICA6ICh1cGRhdGVGbGFnU3RlcEVudW0uQ09NTUVOVF9ISU5UX1RFWFRfSU5URVJOQUxfMl9QT0lOVF8xIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCIgKm5nSWY9XCJpbnRlcm5hbFVzZXIyUG9pbnQxRW5hYmxlZFVwZGF0ZSAmJiBleHRlcm5hbGx5VmlzaWJsZUZsYWdcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+ITwvc3Bhbj5cbiAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2Fzc2lzdGl2ZVwiPnt7J1dhcm5pbmcnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgIHt7dXBkYXRlRmxhZ1N0ZXBFbnVtLldBUk5JTkdfVEVYVCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY29tbWVudHMtbm90LWVudGVyZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tjb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1jb21tZW50cy1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7Y29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCJcbiAgICAgICAgICAgICAgICAgICAgcm93cz1cIjVcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwidXBkYXRlLWZsYWctY29tbWVudHMtaGludCB1cGRhdGUtZmxhZy1jb21tZW50cy1jaGFyLWxpbWl0LWluZm8gdXBkYXRlLWZsYWctY29tbWVudHMtY2hhci1saW1pdC1lcnJvclwiPlxuICAgICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgIHt7dXBkYXRlRmxhZ1N0ZXBFbnVtLkNIQVJBQ1RFUl9MSU1JVF9JTkZPIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZXh0ZXJuYWxVc2VyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJleHRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGRhdGVGbGFnU3RhdHVzUmVhc29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLXRlbXBsYXRlICN1cGRhdGVGbGFnU3RhdHVzUmVhc29uPlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7c3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgICAgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlwiXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT05cIlxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT05cIlxuICAgICAgICAgICAgICAgICAgcm93cz1cIjVcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWhpbnQtZXh0ZXJuYWwgdXBkYXRlLWZsYWctc3RhdHVzLWhpbnQgdXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWluZm9cbiAgICAgICAgICAgICAgICAgIHVwZGF0ZS1mbGFnLXN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1lcnJvclwiPlxuICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uQ0hBUkFDVEVSX0xJTUlUX0lORk8gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXN0YXR1cy1jb250YWluZXItdjJfMVwiIGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIiAqbmdJZj1cImludGVybmFsVXNlcjJQb2ludDFFbmFibGVkVXBkYXRlXCI+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cInVwZGF0ZS1mbGFnLXN0YXR1cy1oZWFkaW5nXCI+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tc1wiPlxuICAgICAgICAgICAgPGgxIGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAgICAgIHt7dXBkYXRlRmxhZ1RpdGxlIHwgcnB4VHJhbnNsYXRlfX0ge3snc3RhdHVzJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvbGVnZW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgc3RhdHVzIG9mIHZhbGlkU3RhdHVzUHJvZ3Jlc3Npb25zXCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTICsgJ18nICsgc3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNcIlxuICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVUyArICdfJyArIHN0YXR1c1wiPlxuICAgICAgICAgICAgICAgIHt7Y2FzZUZsYWdTdGF0dXNFbnVtW3N0YXR1c10gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG5cbiAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLXN0YXR1cy1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uU1RBVFVTX0hJTlRfVEVYVCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidXBkYXRlRmxhZ1N0YXR1c1JlYXNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgaWQ9XCJ0cmFuc2xhdGlvbi1jaGVja2JveC1jb250YWluZXJcIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS02XCIgKm5nSWY9XCJpbnRlcm5hbFVzZXIyUG9pbnQxRW5hYmxlZFVwZGF0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVEXCJcbiAgICAgICAgICAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiXG4gICAgICAgICAgICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiPlxuICAgICAgICAgICAgICB7eydJIG5lZWQgdG8gYWRkIGEgdHJhbnNsYXRpb24nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXN0YXR1cy1jb250YWluZXItdjFcIiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJpbnRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmXCI+XG4gICAgICAgICAgPHA+e3snRmxhZyBzdGF0dXM6JyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImdvdnVrLXRhZ1wiIFtuZ0NsYXNzXT1cInsnZ292dWstdGFnLS1ncmV5Jzogc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID09PSAnSW5hY3RpdmUnfVwiPlxuICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRGbGFnPy5mbGFnRGV0YWlsRGlzcGxheT8uZmxhZ0RldGFpbD8uc3RhdHVzIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk1ha2VJbmFjdGl2ZSgpXCIgKm5nSWY9XCJzZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09ICdBY3RpdmUnXCI+XG4gICAgICAgICAgICB7eydNYWtlIGluYWN0aXZlJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgPGJ1dHRvbiBpZD1cInVwZGF0ZUZsYWdOZXh0QnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+XG4gICAge3snTmV4dCcgfCBycHhUcmFuc2xhdGV9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|