vcomply-workflow-engine 3.5.3 → 3.5.4
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/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +897 -0
- package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +204 -0
- package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +1569 -0
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +774 -0
- package/esm2022/lib/configurations.mjs +6 -0
- package/esm2022/lib/confirmation-alert/confirmation-alert.component.mjs +28 -0
- package/esm2022/lib/constants/link-responsibility.constants.mjs +9 -0
- package/esm2022/lib/constants/time.constants.mjs +3 -0
- package/esm2022/lib/create-documents/create-documents.component.mjs +145 -0
- package/esm2022/lib/formgroup/cs-checkbox/cs-checkbox.component.mjs +36 -0
- package/esm2022/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/formgroup/cs-radio/cs-radio.component.mjs +34 -0
- package/esm2022/lib/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/formgroup/cs-select/cs-select.component.mjs +95 -0
- package/esm2022/lib/formgroup/cs-switch/cs-switch.component.mjs +31 -0
- package/esm2022/lib/formgroup/formgroup.module.mjs +56 -0
- package/esm2022/lib/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/formgroup/select/cs-option/cs-option.component.mjs +42 -0
- package/esm2022/lib/formgroup/select/cs-select/cs-select.component.mjs +106 -0
- package/esm2022/lib/formgroup/select/select.module.mjs +21 -0
- package/esm2022/lib/formgroup/select/select.service.mjs +48 -0
- package/esm2022/lib/interfaces/categoryList.mjs +2 -0
- package/esm2022/lib/interfaces/confirmation-alert.mjs +2 -0
- package/esm2022/lib/interfaces/issue-data.mjs +2 -0
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +1212 -0
- package/esm2022/lib/more-option/more-option.component.mjs +790 -0
- package/esm2022/lib/pipes/data-type.pipe.mjs +16 -0
- package/esm2022/lib/pipes/dom-sanitizer.pipe.mjs +24 -0
- package/esm2022/lib/pipes/filter.pipe.mjs +24 -0
- package/esm2022/lib/pipes/is-read-more.pipe.mjs +21 -0
- package/esm2022/lib/pipes/list-mapper.pipe.mjs +21 -0
- package/esm2022/lib/pipes/pipes.module.mjs +67 -0
- package/esm2022/lib/pipes/search.pipe.mjs +37 -0
- package/esm2022/lib/pipes/space-breaker.pipe.mjs +21 -0
- package/esm2022/lib/pipes/uncategorized-filter.pipe.mjs +21 -0
- package/esm2022/lib/pipes/user-filter.pipe.mjs +30 -0
- package/esm2022/lib/services/bulk-upload.service.mjs +44 -0
- package/esm2022/lib/services/common.service.mjs +41 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +265 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +73 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.mjs +347 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.mjs +124 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/build.module.mjs +111 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.mjs +74 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.mjs +18 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.mjs +179 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/error.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/question.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +104 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.mjs +101 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/move/move.component.mjs +103 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.mjs +27 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.mjs +49 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview.module.mjs +152 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.mjs +19 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.mjs +252 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.mjs +163 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.mjs +118 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +97 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +493 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment.module.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/editor.service.mjs +635 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/result-criteria.service.mjs +48 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/validator.service.mjs +546 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +207 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.service.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-preview/assessment-preview.module.mjs +113 -0
- package/esm2022/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/date-time/date-time.component.mjs +53 -0
- package/esm2022/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/device/device.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/page-header/page-header.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/pipes/get-section-order.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +62 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/section-details/section-details.component.mjs +20 -0
- package/esm2022/lib/sharedComponents/assessment-preview/select-question/select-question.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/welcome/welcome.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category.model.mjs +2 -0
- package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +72 -0
- package/esm2022/lib/sharedComponents/bulk-view/bulk-view.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +84 -0
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +166 -0
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +92 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +315 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.mjs +25 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +149 -0
- package/esm2022/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.mjs +48 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +77 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/directive/autofocus.directive.mjs +22 -0
- package/esm2022/lib/sharedComponents/directive/conditional-focus.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/directive/drag-drop.directive.mjs +52 -0
- package/esm2022/lib/sharedComponents/directive/input-trim.directive.mjs +21 -0
- package/esm2022/lib/sharedComponents/directive/scroll-in-view.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +184 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.component.mjs +122 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.module.mjs +20 -0
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +308 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.mjs +38 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +429 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.mjs +43 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +95 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +297 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +218 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +303 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +152 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.mjs +21 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +199 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.mjs +12 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +223 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +170 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +189 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +214 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +253 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +133 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +200 -0
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +573 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +300 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +216 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.mjs +29 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +296 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.mjs +110 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +227 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +212 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +259 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +472 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/program-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/restapi.service.mjs +149 -0
- package/esm2022/lib/sharedComponents/link-program/tooltip-validation.pipe.mjs +28 -0
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +221 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +176 -0
- package/esm2022/lib/sharedComponents/pipes/array-filter.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/filterPipe.mjs +30 -0
- package/esm2022/lib/sharedComponents/pipes/rcTreeToolTip.pipe.mjs +26 -0
- package/esm2022/lib/sharedComponents/pipes/short-merge.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/pipes/spaceTrim.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/within-data.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +88 -0
- package/esm2022/lib/sharedComponents/program-listing/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +739 -0
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +82 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/rc-list.module.mjs +40 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +125 -0
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +81 -0
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +44 -0
- package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +102 -0
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/v-loader/loader/loader.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/v-loader.module.mjs +19 -0
- package/esm2022/lib/ui-kit/action-dialog/action-dialog.module.mjs +21 -0
- package/esm2022/lib/ui-kit/action-dialog/active/active.component.mjs +32 -0
- package/esm2022/lib/ui-kit/action-dialog/deactivate/deactivate.component.mjs +33 -0
- package/esm2022/lib/ui-kit/action-dialog/delete/delete.component.mjs +26 -0
- package/esm2022/lib/ui-kit/action-dialog/duplicate/duplicate.component.mjs +28 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.module.mjs +22 -0
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +3 -0
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +14 -0
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +88 -0
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +58 -0
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
- package/esm2022/lib/ui-kit/directive/directive.module.mjs +24 -0
- package/esm2022/lib/ui-kit/directive/stop-propagation.directive.mjs +20 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader.module.mjs +22 -0
- package/esm2022/lib/ui-kit/format-html.pipe.mjs +20 -0
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +31 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +100 -0
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +32 -0
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +60 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.module.mjs +18 -0
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +45 -0
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +116 -0
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-event.directive.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-longpress.directive.mjs +44 -0
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +138 -0
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +97 -0
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +23 -0
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +15 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.component.mjs +109 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.directive.mjs +34 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.module.mjs +31 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.service.mjs +14 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.component.mjs +51 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -0
- package/esm2022/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +220 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +156 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +831 -0
- package/esm2022/lib/workflow/grc-object/grc-object.module.mjs +64 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +95 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.mjs +110 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +118 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes.component.mjs +100 -0
- package/esm2022/lib/workflow/shared/components/attributes/date-picker/date-picker.component.mjs +116 -0
- package/esm2022/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +216 -0
- package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +119 -0
- package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +198 -0
- package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +202 -0
- package/esm2022/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +191 -0
- package/esm2022/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +86 -0
- package/esm2022/lib/workflow/shared/components/list-popup/list-popup.component.mjs +209 -0
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +411 -0
- package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +241 -0
- package/esm2022/lib/workflow/shared/components/table-card/table-card.component.mjs +32 -0
- package/esm2022/lib/workflow/shared/components/text-field/text-field.component.mjs +143 -0
- package/esm2022/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs +56 -0
- package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +11 -0
- package/esm2022/lib/workflow/shared/constants/field-text.constant.mjs +17 -0
- package/esm2022/lib/workflow/shared/constants/grcObject.constant.mjs +88 -0
- package/esm2022/lib/workflow/shared/constants/link-responsibility.constant.mjs +19 -0
- package/esm2022/lib/workflow/shared/constants/message.contstant.mjs +5 -0
- package/esm2022/lib/workflow/shared/constants/pagination-limits.constant.mjs +6 -0
- package/esm2022/lib/workflow/shared/constants/svg-link.constant.mjs +4 -0
- package/esm2022/lib/workflow/shared/constants/validation-message.constant.mjs +8 -0
- package/esm2022/lib/workflow/shared/interfaces/add-grc.mjs +2 -0
- package/esm2022/lib/workflow/shared/services/grc.service.mjs +310 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.mjs +30 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.mjs +48 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.mjs +24 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +32 -0
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +668 -0
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +254 -0
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +3913 -0
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +734 -0
- package/esm2022/lib/workflow-engine.module.mjs +467 -0
- package/esm2022/lib/workflow-engine.service.mjs +14 -0
- package/esm2022/lib/workflow-interfaces/create-policy-form.mjs +2 -0
- package/esm2022/lib/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +1875 -0
- package/esm2022/lib/workflow-program/constants.mjs +51 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +292 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.mjs +22 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-program/create-program-ui/checkbox/checkbox.component.mjs +39 -0
- package/esm2022/lib/workflow-program/create-program-ui/create-program-ui.module.mjs +194 -0
- package/esm2022/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/custom-field/custom-field.component.mjs +82 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +267 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +26 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +68 -0
- package/esm2022/lib/workflow-program/create-program-ui/directives/input-trim.directive.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/file-pill/file-pill.component.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +106 -0
- package/esm2022/lib/workflow-program/create-program-ui/form-field/form-field.component.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +166 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/filter.pipe.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/pager.pipe.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.mjs +17 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +240 -0
- package/esm2022/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +434 -0
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +1550 -0
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +1642 -0
- package/esm2022/lib/workflow-services/add-risk.service.mjs +150 -0
- package/esm2022/lib/workflow-services/assessment.service.mjs +117 -0
- package/esm2022/lib/workflow-services/auth.service.mjs +229 -0
- package/esm2022/lib/workflow-services/frequency.service.mjs +173 -0
- package/esm2022/lib/workflow-services/log-issue.service.mjs +360 -0
- package/esm2022/lib/workflow-services/policy.service.mjs +163 -0
- package/esm2022/lib/workflow-services/programs.service.mjs +319 -0
- package/esm2022/lib/workflow-services/responsibility.service.mjs +293 -0
- package/esm2022/lib/workflow-services/token-decoder.service.mjs +38 -0
- package/esm2022/lib/workflow-services/ui-kit.service.mjs +17 -0
- package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +26 -0
- package/esm2022/public-api.mjs +8 -0
- package/esm2022/vcomply-workflow-engine.mjs +5 -0
- package/fesm2022/vcomply-workflow-engine.mjs +44351 -0
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -0
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +1 -1
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
- package/lib/confirmation-alert/confirmation-alert.component.d.ts +1 -1
- package/lib/create-documents/create-documents.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/formgroup/select/cs-option/cs-option.component.d.ts +1 -1
- package/lib/formgroup/select/cs-select/cs-select.component.d.ts +1 -1
- package/lib/log-an-issue/log-an-issue.component.d.ts +7 -3
- package/lib/more-option/more-option.component.d.ts +1 -1
- package/lib/services/common.service.d.ts +14 -0
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +7 -3
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/section-details/section-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +1 -1
- package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -1
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -1
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +6 -2
- package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +1 -1
- package/lib/sharedComponents/directive/autofocus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/drag-drop.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/input-trim.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +1 -1
- package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -1
- package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +10 -4
- package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +9 -5
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +10 -5
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -1
- package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -1
- package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +1 -1
- package/lib/sharedComponents/list-loader/list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/no-data/no-data.component.d.ts +1 -1
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -1
- package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -1
- package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -1
- package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -1
- package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +1 -1
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -1
- package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -1
- package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +1 -1
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/active/active.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +1 -1
- package/lib/ui-kit/click-outside/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/dialog/dialog-injector.d.ts +2 -2
- package/lib/ui-kit/dialog/dialog.component.d.ts +6 -4
- package/lib/ui-kit/dialog/dialog.service.d.ts +3 -3
- package/lib/ui-kit/dialog/insertion.directive.d.ts +1 -1
- package/lib/ui-kit/directive/stop-propagation.directive.d.ts +1 -1
- package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/ui-kit/line-loader/line-loader.component.d.ts +1 -1
- package/lib/ui-kit/no-data/no-data.component.d.ts +1 -1
- package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover-event.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover-longpress.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover.directive.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +1 -1
- package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +1 -1
- package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +1 -1
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/date-picker/date-picker.component.d.ts +1 -1
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -1
- package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/table-card/table-card.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field/text-field.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field-icon/text-field-icon.component.d.ts +1 -1
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -1
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -1
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -1
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -1
- package/lib/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-policy/workflow-policy.component.d.ts +7 -3
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -1
- package/lib/workflow-program/workflow-program.component.d.ts +1 -1
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/lib/workflow-services/auth.service.d.ts +0 -1
- package/lib/workflow-services/log-issue.service.d.ts +1 -0
- package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -1
- package/package.json +5 -12
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../workflow-services/responsibility.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "../no-data/no-data.component";
|
|
8
|
+
import * as i4 from "../v-loader/loader-inline/loader-inline.component";
|
|
9
|
+
import * as i5 from "../../ui-kit/pagination/pagination/pagination.component";
|
|
10
|
+
import * as i6 from "../floating-bar/floating-bar.component";
|
|
11
|
+
import * as i7 from "./framework-list-table/framework-list-table.component";
|
|
12
|
+
import * as i8 from "./framework-responsibility-table/framework-responsibility-table.component";
|
|
13
|
+
export class FrameworkListComponent {
|
|
14
|
+
constructor(responsibilityService) {
|
|
15
|
+
this.responsibilityService = responsibilityService;
|
|
16
|
+
this.breadCrumb = [];
|
|
17
|
+
this.search = '';
|
|
18
|
+
this.showParent = true;
|
|
19
|
+
this.showChild = false;
|
|
20
|
+
this.parentData = {};
|
|
21
|
+
this.entrustFramework = new EventEmitter();
|
|
22
|
+
this.closeFramework = new EventEmitter();
|
|
23
|
+
this.assignControl = new EventEmitter();
|
|
24
|
+
this.headerText = 'Select From a Framework';
|
|
25
|
+
this.workflowPage = ['FRAMEWORK', 'CATEGORY', 'RESPONSIBILITY'];
|
|
26
|
+
this.subCategoriesList = {
|
|
27
|
+
from: 1,
|
|
28
|
+
to: 0,
|
|
29
|
+
currentPage: 1,
|
|
30
|
+
totalPages: 0,
|
|
31
|
+
totalRecords: 0,
|
|
32
|
+
data: [],
|
|
33
|
+
};
|
|
34
|
+
this.responsibilitiesList = {
|
|
35
|
+
from: 1,
|
|
36
|
+
to: 0,
|
|
37
|
+
currentPage: 1,
|
|
38
|
+
totalPages: 0,
|
|
39
|
+
totalRecords: 0,
|
|
40
|
+
data: [],
|
|
41
|
+
};
|
|
42
|
+
this.searchText = {
|
|
43
|
+
frameWork: '',
|
|
44
|
+
category: '',
|
|
45
|
+
responsibility: '',
|
|
46
|
+
};
|
|
47
|
+
this.selectedValues = {
|
|
48
|
+
framework: {},
|
|
49
|
+
categories: {},
|
|
50
|
+
responsibilities: {}
|
|
51
|
+
};
|
|
52
|
+
this.submissionLoader = false;
|
|
53
|
+
this.currentCategory = {};
|
|
54
|
+
this.policy = {};
|
|
55
|
+
this.loader = false;
|
|
56
|
+
this.unsubscribe = new Subject();
|
|
57
|
+
//program
|
|
58
|
+
this.subList = false;
|
|
59
|
+
this.selectedCategories = [];
|
|
60
|
+
this.frameworkData = {
|
|
61
|
+
data: [],
|
|
62
|
+
from: 0,
|
|
63
|
+
to: 0,
|
|
64
|
+
totalPages: 0,
|
|
65
|
+
totalRecords: 0,
|
|
66
|
+
currentPage: 1,
|
|
67
|
+
};
|
|
68
|
+
this.frameworkCount = {
|
|
69
|
+
regulations: 0,
|
|
70
|
+
standards: 0,
|
|
71
|
+
internalControls: 0,
|
|
72
|
+
others: 0
|
|
73
|
+
};
|
|
74
|
+
this.frameTypeObject = {
|
|
75
|
+
regulations: 1,
|
|
76
|
+
standards: 2,
|
|
77
|
+
internalControls: 3,
|
|
78
|
+
others: 0,
|
|
79
|
+
};
|
|
80
|
+
this.placeholderText = {
|
|
81
|
+
framework: 'Search Frameworks',
|
|
82
|
+
categories: 'Search Categories',
|
|
83
|
+
responsibilities: 'Search Responsibilities'
|
|
84
|
+
};
|
|
85
|
+
this.controlsList = [];
|
|
86
|
+
this.displayConfirmationMessage = false;
|
|
87
|
+
this.activeTab = 'regulations';
|
|
88
|
+
this.currentList = 'framework';
|
|
89
|
+
this.floatingBarDisplayKeys = {
|
|
90
|
+
framework: 'name',
|
|
91
|
+
categories: 'name',
|
|
92
|
+
responsibilities: 'name',
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
ngOnChanges(changes) {
|
|
96
|
+
if (this.previousSelectedValues) {
|
|
97
|
+
this.selectedValues = {
|
|
98
|
+
framework: this.previousSelectedValues.framework ?? {},
|
|
99
|
+
categories: this.previousSelectedValues.categories ?? {},
|
|
100
|
+
responsibilities: this.previousSelectedValues.responsibilities ?? {},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
ngOnInit() {
|
|
105
|
+
this.getFrameworksCount();
|
|
106
|
+
this.getFrameworksList();
|
|
107
|
+
}
|
|
108
|
+
expandCategory(category) {
|
|
109
|
+
if (category.category_name) {
|
|
110
|
+
this.breadCrumb = [];
|
|
111
|
+
category.category_name.forEach((categoryItem, index) => {
|
|
112
|
+
let obj;
|
|
113
|
+
if (index == category.category_name.length - 1) {
|
|
114
|
+
obj = {
|
|
115
|
+
itemName: categoryItem,
|
|
116
|
+
itemId: category._id
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
obj = {
|
|
121
|
+
itemName: categoryItem,
|
|
122
|
+
itemId: category.parent_cat_obj_ids[index]
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
this.breadCrumb.push(obj);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
entrustFrameworkDetails(report) {
|
|
130
|
+
this.entrustFramework.emit(report);
|
|
131
|
+
}
|
|
132
|
+
close() {
|
|
133
|
+
this.closeFramework.emit();
|
|
134
|
+
}
|
|
135
|
+
getFrameworksCount(data) {
|
|
136
|
+
let params = new HttpParams();
|
|
137
|
+
if (data?.search || this.searchText.frameWork) {
|
|
138
|
+
params = params.append('search', this.searchText.frameWork);
|
|
139
|
+
}
|
|
140
|
+
this.responsibilityService.getFrameWorkCount(params).pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
141
|
+
next: (res) => {
|
|
142
|
+
this.frameworkCount = {
|
|
143
|
+
regulations: res.regulations ?? 0,
|
|
144
|
+
standards: res.standards ?? 0,
|
|
145
|
+
internalControls: res.internalControls ?? 0,
|
|
146
|
+
others: res.others ?? 0
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
error: (err) => {
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
getFrameworksList(data) {
|
|
154
|
+
this.loader = true;
|
|
155
|
+
let params = new HttpParams();
|
|
156
|
+
params = params.append('type', this.frameTypeObject[this.activeTab]);
|
|
157
|
+
if (data?.search || this.searchText.frameWork) {
|
|
158
|
+
params = params.append('search', this.searchText.frameWork);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
params = params.append('page', this.frameworkData.currentPage);
|
|
162
|
+
}
|
|
163
|
+
this.responsibilityService.getFrameWorkList(params).pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
164
|
+
next: (res) => {
|
|
165
|
+
this.frameworkData.data = res.data;
|
|
166
|
+
this.frameworkData.from = res.items_from;
|
|
167
|
+
this.frameworkData.to = res.items_to;
|
|
168
|
+
this.frameworkData.totalPages = res.total_pages;
|
|
169
|
+
this.frameworkData.totalRecords = res.total_items;
|
|
170
|
+
this.loader = false;
|
|
171
|
+
},
|
|
172
|
+
error: (err) => {
|
|
173
|
+
this.loader = false;
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
getSubCategories(id, data) {
|
|
178
|
+
this.loader = true;
|
|
179
|
+
let params = new HttpParams();
|
|
180
|
+
if (data?.search || this.searchText.category) {
|
|
181
|
+
params = params.append('search', this.searchText.category);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
params = params.append('page', this.subCategoriesList.currentPage);
|
|
185
|
+
}
|
|
186
|
+
this.responsibilityService.getFrameworkSubCategories(id, params).pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
187
|
+
next: (res) => {
|
|
188
|
+
this.subCategoriesList.from = res.items_from ?? 1;
|
|
189
|
+
this.subCategoriesList.to = res.items_to ?? 0;
|
|
190
|
+
this.subCategoriesList.totalPages = res.total_pages ?? 0;
|
|
191
|
+
this.subCategoriesList.totalRecords = res.total_items ?? 0;
|
|
192
|
+
this.subCategoriesList.data = res.data ?? [];
|
|
193
|
+
this.loader = false;
|
|
194
|
+
},
|
|
195
|
+
error: (err) => {
|
|
196
|
+
this.loader = false;
|
|
197
|
+
},
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
changeTab(type) {
|
|
201
|
+
this.activeTab = type;
|
|
202
|
+
this.frameworkData.currentPage = 1;
|
|
203
|
+
this.searchText.frameWork = '';
|
|
204
|
+
this.searchfield.nativeElement.value = '';
|
|
205
|
+
this.getFrameworksList();
|
|
206
|
+
}
|
|
207
|
+
getResponsibilities(id, data) {
|
|
208
|
+
this.loader = true;
|
|
209
|
+
let params = new HttpParams();
|
|
210
|
+
if (data?.search || this.searchText.responsibility) {
|
|
211
|
+
params = params.append('search', this.searchText.responsibility);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
params = params.append('page', this.responsibilitiesList.currentPage);
|
|
215
|
+
}
|
|
216
|
+
this.responsibilityService.getFrameworkControls(id, params).pipe(takeUntil(this.unsubscribe)).subscribe({
|
|
217
|
+
next: (res) => {
|
|
218
|
+
this.controlsList = res;
|
|
219
|
+
this.responsibilitiesList.from = res.items_from ?? 1;
|
|
220
|
+
this.responsibilitiesList.to = res.items_to ?? 0;
|
|
221
|
+
this.responsibilitiesList.totalPages = res.total_pages ?? 0;
|
|
222
|
+
this.responsibilitiesList.totalRecords = res.total_items ?? 0;
|
|
223
|
+
this.responsibilitiesList.data = res.data ?? res;
|
|
224
|
+
this.loader = false;
|
|
225
|
+
},
|
|
226
|
+
error: (err) => {
|
|
227
|
+
this.loader = false;
|
|
228
|
+
},
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
changePage(event, type) {
|
|
232
|
+
switch (type) {
|
|
233
|
+
case 'frameworks':
|
|
234
|
+
this.frameworkData.currentPage = event;
|
|
235
|
+
this.getFrameworksList();
|
|
236
|
+
break;
|
|
237
|
+
case 'categories':
|
|
238
|
+
this.subCategoriesList.currentPage = event;
|
|
239
|
+
this.getSubCategories(this.selectedValues.framework._id);
|
|
240
|
+
break;
|
|
241
|
+
case 'responsibilities':
|
|
242
|
+
this.responsibilitiesList.currentPage = event;
|
|
243
|
+
if (this.selectedValues?.framework?.parent_list_details?.length == 0 && this.selectedValues?.framework?.child_list_details.length == 0 && this.selectedValues?.framework?.totalControls > 0) {
|
|
244
|
+
this.getResponsibilities(this.selectedValues.framework._id);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
this.getResponsibilities(this.selectedValues.categories._id);
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
searchBy(event, type) {
|
|
253
|
+
this.resetPagination();
|
|
254
|
+
switch (type) {
|
|
255
|
+
case 'framework':
|
|
256
|
+
if (this.searchText.frameWork != event) {
|
|
257
|
+
this.searchText.frameWork = event;
|
|
258
|
+
this.getFrameworksList({ search: true });
|
|
259
|
+
this.getFrameworksCount({ search: true });
|
|
260
|
+
}
|
|
261
|
+
break;
|
|
262
|
+
case 'categories':
|
|
263
|
+
if (this.searchText.category != event) {
|
|
264
|
+
this.searchText.category = event;
|
|
265
|
+
this.getSubCategories(this.selectedValues.framework._id, { search: true });
|
|
266
|
+
}
|
|
267
|
+
break;
|
|
268
|
+
case 'responsibilities':
|
|
269
|
+
if (this.searchText.responsibility != event) {
|
|
270
|
+
this.searchText.responsibility = event;
|
|
271
|
+
if (this.selectedValues?.framework?.parent_list_details?.length == 0 && this.selectedValues?.framework?.child_list_details.length == 0 && this.selectedValues?.framework?.totalControls > 0) {
|
|
272
|
+
this.getResponsibilities(this.selectedValues.framework._id);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
this.getSubCategories(this.selectedValues.categories._id);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
selectFramework(data) {
|
|
282
|
+
switch (this.currentList) {
|
|
283
|
+
case 'framework':
|
|
284
|
+
this.selectedValues.framework = data;
|
|
285
|
+
this.selectedValues.categories = {};
|
|
286
|
+
this.selectedValues.responsibilities = {};
|
|
287
|
+
break;
|
|
288
|
+
case 'categories':
|
|
289
|
+
this.selectedValues.categories = data;
|
|
290
|
+
this.selectedValues.responsibilities = {};
|
|
291
|
+
break;
|
|
292
|
+
case 'responsibilities':
|
|
293
|
+
this.selectedValues.responsibilities = data;
|
|
294
|
+
break;
|
|
295
|
+
default:
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
save() {
|
|
300
|
+
this.resetPagination();
|
|
301
|
+
switch (this.currentList) {
|
|
302
|
+
case 'framework':
|
|
303
|
+
if (this.workflowPage?.length === 1 && this.workflowPage.includes('FRAMEWORK')) {
|
|
304
|
+
const frameworkDetails = this.selectedValues.framework;
|
|
305
|
+
this.assignControl.emit({ name: frameworkDetails?.name, _id: frameworkDetails?._id, type: frameworkDetails?.framework_type, id: frameworkDetails?.id, description: frameworkDetails?.description ?? '' });
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
if (this.selectedValues?.framework?.parent_list_details?.length == 0 && this.selectedValues?.framework?.child_list_details.length == 0 && this.selectedValues?.framework?.totalControls > 0) {
|
|
309
|
+
this.currentList = 'responsibilities';
|
|
310
|
+
this.getResponsibilities(this.selectedValues.framework._id);
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
this.currentList = 'categories';
|
|
314
|
+
this.getSubCategories(this.selectedValues.framework._id);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
break;
|
|
318
|
+
case 'categories':
|
|
319
|
+
this.currentList = 'responsibilities';
|
|
320
|
+
this.getResponsibilities(this.selectedValues.categories._id);
|
|
321
|
+
break;
|
|
322
|
+
case 'responsibilities':
|
|
323
|
+
this.assignSelectedControl(this.selectedValues.responsibilities);
|
|
324
|
+
break;
|
|
325
|
+
default:
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
goBack() {
|
|
330
|
+
this.resetPagination();
|
|
331
|
+
switch (this.currentList) {
|
|
332
|
+
case 'framework':
|
|
333
|
+
this.closeFramework.emit();
|
|
334
|
+
break;
|
|
335
|
+
case 'categories':
|
|
336
|
+
this.currentList = 'framework';
|
|
337
|
+
break;
|
|
338
|
+
case 'responsibilities':
|
|
339
|
+
if (this.selectedValues?.framework?.parent_list_details?.length == 0 && this.selectedValues?.framework?.child_list_details.length == 0 && this.selectedValues?.framework?.totalControls > 0) {
|
|
340
|
+
this.currentList = 'framework';
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
this.currentList = 'categories';
|
|
344
|
+
}
|
|
345
|
+
break;
|
|
346
|
+
default:
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
resetPagination() {
|
|
351
|
+
this.frameworkData.currentPage = 1;
|
|
352
|
+
this.subCategoriesList.currentPage = 1;
|
|
353
|
+
this.responsibilitiesList.currentPage = 1;
|
|
354
|
+
}
|
|
355
|
+
remove() {
|
|
356
|
+
switch (this.currentList) {
|
|
357
|
+
case 'framework':
|
|
358
|
+
this.selectedValues.framework = {};
|
|
359
|
+
this.selectedValues.categories = {};
|
|
360
|
+
this.selectedValues.responsibilities = {};
|
|
361
|
+
break;
|
|
362
|
+
case 'categories':
|
|
363
|
+
this.selectedValues.categories = {};
|
|
364
|
+
this.selectedValues.responsibilities = {};
|
|
365
|
+
break;
|
|
366
|
+
case 'responsibilities':
|
|
367
|
+
this.selectedValues.responsibilities = {};
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
saveChanges(type) {
|
|
372
|
+
switch (type) {
|
|
373
|
+
case 'programs':
|
|
374
|
+
this.currentList = 'categories';
|
|
375
|
+
this.selectedValues.categories = [];
|
|
376
|
+
this.selectedValues.responsibilities = [];
|
|
377
|
+
this.getSubCategories();
|
|
378
|
+
break;
|
|
379
|
+
case 'categories':
|
|
380
|
+
this.currentList = 'responsibilities';
|
|
381
|
+
this.selectedValues.responsibilities = [];
|
|
382
|
+
this.getResponsibilities();
|
|
383
|
+
break;
|
|
384
|
+
case 'responsibilities':
|
|
385
|
+
// this.submitprogramIntegration();
|
|
386
|
+
break;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
assignSelectedControl(data) {
|
|
390
|
+
let selectedFrameworkData = this.selectedValues;
|
|
391
|
+
this.assignControl.emit({ data, selectedFrameworkData });
|
|
392
|
+
}
|
|
393
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrameworkListComponent, deps: [{ token: i1.ResponsibilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
394
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrameworkListComponent, selector: "app-framework-list", inputs: { previousSelectedValues: "previousSelectedValues", headerText: "headerText", workflowPage: "workflowPage", policy: "policy", frameWorkList: "frameWorkList", selectedFrameWork: "selectedFrameWork", selectedCategories: "selectedCategories" }, outputs: { entrustFramework: "entrustFramework", closeFramework: "closeFramework", assignControl: "assignControl" }, viewQueries: [{ propertyName: "tableComponent", first: true, predicate: ["parentTable"], descendants: true }, { propertyName: "searchfield", first: true, predicate: ["searchField"], descendants: true }, { propertyName: "searchCategory", first: true, predicate: ["searchCategory"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- <p>framework-list works!</p> -->\r\n<div class=\"framework-list\">\r\n <div class=\"framework-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div *ngIf=\"currentList=='framework'\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\"> {{headerText}}</div>\r\n <div *ngIf=\"currentList=='categories'\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\"> {{headerText}} >\r\n {{selectedValues?.framework?.name}}</div>\r\n\r\n <div *ngIf=\"currentList=='responsibilities'\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <i class=\"icons\" (click)=\"goBack()\"></i> {{selectedValues?.framework?.name}}</div>\r\n\r\n <!-- <div *ngIf=\"breadCrumb.length>0\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <i class=\"icons\" *ngIf=\"breadCrumb?.length > 0\" (click)=\"getCategoryDetailsById()\"></i>\r\n <ng-container *ngFor=\"let item of breadCrumb; let i = index\">\r\n <span class=\"arrow\">{{(i>0)?'>':''}}</span>\r\n <span\r\n [class.link]=\"tableComponent.currentEntity || (!(tableComponent.currentEntity) && i !== breadCrumb?.length -1)\"\r\n (click)=\"getCategoryDetailsById(item.itemId)\" [appTooltip]=\"item.itemName\" placement=\"bottom\"\r\n delay=\"0\">{{item.itemName}}\r\n </span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"tableComponent.currentEntity\"> <span class=\"arrow\">></span>\r\n {{breadCrumb[breadCrumb?.length - 1].itemName}}\r\n <span> for {{tableComponent.currentEntity}}</span>\r\n </ng-container>\r\n </div> -->\r\n </div>\r\n <div class=\"framework-list-body\">\r\n <div class=\"filter-card-row\" *ngIf=\"currentList=='framework'\">\r\n <!--this section will not appear on child part -->\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'regulations'\" (click)=\"changeTab('regulations')\">\r\n <div class=\"left\">\r\n <label>Regulations</label>\r\n </div>\r\n\r\n <span class=\"counter\">{{frameworkCount.regulations}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'standards'\" (click)=\"changeTab('standards')\">\r\n <div class=\"left\">\r\n <label>Standards</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.standards}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'internalControls'\"\r\n (click)=\"changeTab('internalControls')\">\r\n <div class=\"left\">\r\n <label>Internal Controls</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.internalControls}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'others'\" (click)=\"changeTab('others')\">\r\n <div class=\"left\">\r\n <label>Others</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.others}}</span>\r\n </div>\r\n </div>\r\n <div class=\"framework-list-search\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" #searchField [placeholder]=\"placeholderText[currentList]\"\r\n (keyup.enter)=\"searchBy($event.target.value,currentList)\" />\r\n </div>\r\n <!-- <app-workflow-pagination></app-workflow-pagination> -->\r\n <app-pagination *ngIf=\"currentList=='framework' && frameworkData.totalPages > 1\" [start]=\"frameworkData.from\"\r\n [end]=\"frameworkData.to\" [total]=\"frameworkData.totalRecords\" [pageCount]=\"frameworkData.totalPages\"\r\n [currentPage]=\"frameworkData.currentPage\" (selectedPage)=\"changePage($event,'frameworks')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='categories' && subCategoriesList.totalPages > 1\"\r\n [start]=\"subCategoriesList.from\" [end]=\"subCategoriesList.to\" [total]=\"subCategoriesList.totalRecords\"\r\n [pageCount]=\"subCategoriesList.totalPages\" [currentPage]=\"subCategoriesList.currentPage\"\r\n (selectedPage)=\"changePage($event,'categories')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='responsibilities' && responsibilitiesList.totalPages > 1\"\r\n [start]=\"responsibilitiesList.from\" [end]=\"responsibilitiesList.to\"\r\n [total]=\"responsibilitiesList.totalRecords\" [pageCount]=\"responsibilitiesList.totalPages\"\r\n [currentPage]=\"responsibilitiesList.currentPage\" (selectedPage)=\"changePage($event,'responsibilities')\">\r\n </app-pagination>\r\n <!-- For parent -->\r\n <!-- <div class=\"framework-list-pagination\">\r\n <app-workflow-pagination></app-workflow-pagination>\r\n </div> -->\r\n <!-- [class.no-card]=\"breadCrumb.length>0\" -->\r\n <div class=\"framework-list-table vx-mb-4\" [class.no-card]=\"currentList=='categories' || currentList=='responsibilities'\">\r\n <app-framework-list-table *ngIf=\"currentList=='framework'\" [listLoader]=\"loader\"\r\n [frameworkType]=\"'framework'\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworksList]=\"frameworkData\">\r\n </app-framework-list-table>\r\n <app-framework-list-table *ngIf=\"currentList=='categories'\" [listLoader]=\"loader\"\r\n [frameworksList]=\"subCategoriesList\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworkType]=\"'subFramework'\">\r\n </app-framework-list-table>\r\n <app-framework-responsibility-table *ngIf=\"currentList=='responsibilities'\" [listLoader]=\"loader\"\r\n [currentSelectedControl]=\"selectedValues[currentList]\" [controlsList]=\"responsibilitiesList\"\r\n (selectedControl)=\"selectFramework($event)\" (assignControl)=\"assignSelectedControl($event)\">\r\n </app-framework-responsibility-table>\r\n <app-no-data *ngIf=\"frameworkData?.data?.length==0 && currentList=='framework' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"subCategoriesList?.data?.length==0 && currentList=='categories' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"responsibilitiesList?.data?.length==0 && currentList=='responsibilities' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <!-- old table list -->\r\n <!-- <app-parent-table #parentTable *ngIf=\"showParent\" [search]=\"search\"\r\n (expandCategory)=\"expandCategory($event)\" [tableList]=\"categoryList[activeTab].list\"\r\n (entrustFramework)=\"entrustFrameworkDetails($event)\">\r\n </app-parent-table> -->\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"(selectedValues[currentList]?.name)?[selectedValues[currentList]]:[]\" [displayElementKey]=\"floatingBarDisplayKeys[currentList]\" [isDisabled]=\"!selectedValues[currentList]?.name\" (closeEvent)=\"save()\" (closeList)=\"goBack()\" (deleteEvent)=\"remove()\"></app-floating-bar>\r\n </div>\r\n <!-- [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0\" -->\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .framework-list{position:fixed;inset:0 500px 0 0}::ng-deep .framework-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .framework-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .framework-list-search{position:relative}::ng-deep .framework-list-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .framework-list-search input:focus{border-color:#1e5dd3}::ng-deep .framework-list-search i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .framework-list app-workflow-pagination .pagination-sec{padding-top:0!important}::ng-deep .framework-list-body{padding:32px;height:calc(100vh - 94px)}::ng-deep .framework-list-body .filter-card{display:flex;align-items:center;box-shadow:0 0 2px #00000029;border-radius:2px;height:55px;padding:12px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .framework-list-body .filter-card.active{box-shadow:0 3px 12px #1e5dd326}::ng-deep .framework-list-body .filter-card.active .counter{background:#f1f1f1;color:#161b2f}::ng-deep .framework-list-body .filter-card label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%;pointer-events:none}::ng-deep .framework-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .framework-list-body .filter-card span.counter{display:flex;height:32px;min-width:32px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:600;justify-content:center;align-items:center;padding:0 5px;line-height:32px}::ng-deep .framework-list-body .filter-card .left{display:flex;flex-wrap:wrap}::ng-deep .framework-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .framework-list-body .filter-card-row{display:flex;padding-bottom:8px}::ng-deep .framework-list-table{position:relative;height:calc(100% - 120px);overflow:hidden;overflow-y:auto}::ng-deep .framework-list-table app-parent-table{height:calc(100vh - 260px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;display:block;padding-right:8px;margin-right:-8px}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .framework-list-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table.no-card{height:calc(100vh - 252px)}::ng-deep .framework-list-table:before{background:#fff;position:absolute;top:0;right:-8px;height:32px;width:8px;content:\"\"}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i4.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i5.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: i6.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i7.FrameworkListTableComponent, selector: "app-framework-list-table", inputs: ["frameworksList", "frameworkType", "currentFramework", "listLoader"], outputs: ["selectedFramework"] }, { kind: "component", type: i8.FrameworkResponsibilityTableComponent, selector: "app-framework-responsibility-table", inputs: ["controlsList", "currentSelectedControl", "listLoader"], outputs: ["selectedControl", "assignControl"] }] }); }
|
|
395
|
+
}
|
|
396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrameworkListComponent, decorators: [{
|
|
397
|
+
type: Component,
|
|
398
|
+
args: [{ selector: 'app-framework-list', template: "<!-- <p>framework-list works!</p> -->\r\n<div class=\"framework-list\">\r\n <div class=\"framework-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div *ngIf=\"currentList=='framework'\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\"> {{headerText}}</div>\r\n <div *ngIf=\"currentList=='categories'\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\"> {{headerText}} >\r\n {{selectedValues?.framework?.name}}</div>\r\n\r\n <div *ngIf=\"currentList=='responsibilities'\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <i class=\"icons\" (click)=\"goBack()\"></i> {{selectedValues?.framework?.name}}</div>\r\n\r\n <!-- <div *ngIf=\"breadCrumb.length>0\" class=\"framework-list-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <i class=\"icons\" *ngIf=\"breadCrumb?.length > 0\" (click)=\"getCategoryDetailsById()\"></i>\r\n <ng-container *ngFor=\"let item of breadCrumb; let i = index\">\r\n <span class=\"arrow\">{{(i>0)?'>':''}}</span>\r\n <span\r\n [class.link]=\"tableComponent.currentEntity || (!(tableComponent.currentEntity) && i !== breadCrumb?.length -1)\"\r\n (click)=\"getCategoryDetailsById(item.itemId)\" [appTooltip]=\"item.itemName\" placement=\"bottom\"\r\n delay=\"0\">{{item.itemName}}\r\n </span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"tableComponent.currentEntity\"> <span class=\"arrow\">></span>\r\n {{breadCrumb[breadCrumb?.length - 1].itemName}}\r\n <span> for {{tableComponent.currentEntity}}</span>\r\n </ng-container>\r\n </div> -->\r\n </div>\r\n <div class=\"framework-list-body\">\r\n <div class=\"filter-card-row\" *ngIf=\"currentList=='framework'\">\r\n <!--this section will not appear on child part -->\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'regulations'\" (click)=\"changeTab('regulations')\">\r\n <div class=\"left\">\r\n <label>Regulations</label>\r\n </div>\r\n\r\n <span class=\"counter\">{{frameworkCount.regulations}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'standards'\" (click)=\"changeTab('standards')\">\r\n <div class=\"left\">\r\n <label>Standards</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.standards}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'internalControls'\"\r\n (click)=\"changeTab('internalControls')\">\r\n <div class=\"left\">\r\n <label>Internal Controls</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.internalControls}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'others'\" (click)=\"changeTab('others')\">\r\n <div class=\"left\">\r\n <label>Others</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.others}}</span>\r\n </div>\r\n </div>\r\n <div class=\"framework-list-search\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" #searchField [placeholder]=\"placeholderText[currentList]\"\r\n (keyup.enter)=\"searchBy($event.target.value,currentList)\" />\r\n </div>\r\n <!-- <app-workflow-pagination></app-workflow-pagination> -->\r\n <app-pagination *ngIf=\"currentList=='framework' && frameworkData.totalPages > 1\" [start]=\"frameworkData.from\"\r\n [end]=\"frameworkData.to\" [total]=\"frameworkData.totalRecords\" [pageCount]=\"frameworkData.totalPages\"\r\n [currentPage]=\"frameworkData.currentPage\" (selectedPage)=\"changePage($event,'frameworks')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='categories' && subCategoriesList.totalPages > 1\"\r\n [start]=\"subCategoriesList.from\" [end]=\"subCategoriesList.to\" [total]=\"subCategoriesList.totalRecords\"\r\n [pageCount]=\"subCategoriesList.totalPages\" [currentPage]=\"subCategoriesList.currentPage\"\r\n (selectedPage)=\"changePage($event,'categories')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='responsibilities' && responsibilitiesList.totalPages > 1\"\r\n [start]=\"responsibilitiesList.from\" [end]=\"responsibilitiesList.to\"\r\n [total]=\"responsibilitiesList.totalRecords\" [pageCount]=\"responsibilitiesList.totalPages\"\r\n [currentPage]=\"responsibilitiesList.currentPage\" (selectedPage)=\"changePage($event,'responsibilities')\">\r\n </app-pagination>\r\n <!-- For parent -->\r\n <!-- <div class=\"framework-list-pagination\">\r\n <app-workflow-pagination></app-workflow-pagination>\r\n </div> -->\r\n <!-- [class.no-card]=\"breadCrumb.length>0\" -->\r\n <div class=\"framework-list-table vx-mb-4\" [class.no-card]=\"currentList=='categories' || currentList=='responsibilities'\">\r\n <app-framework-list-table *ngIf=\"currentList=='framework'\" [listLoader]=\"loader\"\r\n [frameworkType]=\"'framework'\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworksList]=\"frameworkData\">\r\n </app-framework-list-table>\r\n <app-framework-list-table *ngIf=\"currentList=='categories'\" [listLoader]=\"loader\"\r\n [frameworksList]=\"subCategoriesList\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworkType]=\"'subFramework'\">\r\n </app-framework-list-table>\r\n <app-framework-responsibility-table *ngIf=\"currentList=='responsibilities'\" [listLoader]=\"loader\"\r\n [currentSelectedControl]=\"selectedValues[currentList]\" [controlsList]=\"responsibilitiesList\"\r\n (selectedControl)=\"selectFramework($event)\" (assignControl)=\"assignSelectedControl($event)\">\r\n </app-framework-responsibility-table>\r\n <app-no-data *ngIf=\"frameworkData?.data?.length==0 && currentList=='framework' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"subCategoriesList?.data?.length==0 && currentList=='categories' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"responsibilitiesList?.data?.length==0 && currentList=='responsibilities' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <!-- old table list -->\r\n <!-- <app-parent-table #parentTable *ngIf=\"showParent\" [search]=\"search\"\r\n (expandCategory)=\"expandCategory($event)\" [tableList]=\"categoryList[activeTab].list\"\r\n (entrustFramework)=\"entrustFrameworkDetails($event)\">\r\n </app-parent-table> -->\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"(selectedValues[currentList]?.name)?[selectedValues[currentList]]:[]\" [displayElementKey]=\"floatingBarDisplayKeys[currentList]\" [isDisabled]=\"!selectedValues[currentList]?.name\" (closeEvent)=\"save()\" (closeList)=\"goBack()\" (deleteEvent)=\"remove()\"></app-floating-bar>\r\n </div>\r\n <!-- [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0\" -->\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .framework-list{position:fixed;inset:0 500px 0 0}::ng-deep .framework-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .framework-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .framework-list-search{position:relative}::ng-deep .framework-list-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .framework-list-search input:focus{border-color:#1e5dd3}::ng-deep .framework-list-search i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .framework-list app-workflow-pagination .pagination-sec{padding-top:0!important}::ng-deep .framework-list-body{padding:32px;height:calc(100vh - 94px)}::ng-deep .framework-list-body .filter-card{display:flex;align-items:center;box-shadow:0 0 2px #00000029;border-radius:2px;height:55px;padding:12px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .framework-list-body .filter-card.active{box-shadow:0 3px 12px #1e5dd326}::ng-deep .framework-list-body .filter-card.active .counter{background:#f1f1f1;color:#161b2f}::ng-deep .framework-list-body .filter-card label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%;pointer-events:none}::ng-deep .framework-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .framework-list-body .filter-card span.counter{display:flex;height:32px;min-width:32px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:600;justify-content:center;align-items:center;padding:0 5px;line-height:32px}::ng-deep .framework-list-body .filter-card .left{display:flex;flex-wrap:wrap}::ng-deep .framework-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .framework-list-body .filter-card-row{display:flex;padding-bottom:8px}::ng-deep .framework-list-table{position:relative;height:calc(100% - 120px);overflow:hidden;overflow-y:auto}::ng-deep .framework-list-table app-parent-table{height:calc(100vh - 260px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;display:block;padding-right:8px;margin-right:-8px}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .framework-list-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table.no-card{height:calc(100vh - 252px)}::ng-deep .framework-list-table:before{background:#fff;position:absolute;top:0;right:-8px;height:32px;width:8px;content:\"\"}\n"] }]
|
|
399
|
+
}], ctorParameters: function () { return [{ type: i1.ResponsibilityService }]; }, propDecorators: { tableComponent: [{
|
|
400
|
+
type: ViewChild,
|
|
401
|
+
args: ['parentTable']
|
|
402
|
+
}], entrustFramework: [{
|
|
403
|
+
type: Output
|
|
404
|
+
}], closeFramework: [{
|
|
405
|
+
type: Output
|
|
406
|
+
}], assignControl: [{
|
|
407
|
+
type: Output
|
|
408
|
+
}], previousSelectedValues: [{
|
|
409
|
+
type: Input
|
|
410
|
+
}], headerText: [{
|
|
411
|
+
type: Input
|
|
412
|
+
}], workflowPage: [{
|
|
413
|
+
type: Input
|
|
414
|
+
}], policy: [{
|
|
415
|
+
type: Input
|
|
416
|
+
}], frameWorkList: [{
|
|
417
|
+
type: Input
|
|
418
|
+
}], selectedFrameWork: [{
|
|
419
|
+
type: Input
|
|
420
|
+
}], selectedCategories: [{
|
|
421
|
+
type: Input
|
|
422
|
+
}], searchfield: [{
|
|
423
|
+
type: ViewChild,
|
|
424
|
+
args: ['searchField']
|
|
425
|
+
}], searchCategory: [{
|
|
426
|
+
type: ViewChild,
|
|
427
|
+
args: ['searchCategory']
|
|
428
|
+
}] } });
|
|
429
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmFtZXdvcmstbGlzdC9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyYW1ld29yay1saXN0L2ZyYW1ld29yay1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBVTFDLE1BQU0sT0FBTyxzQkFBc0I7SUFxR2pDLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBcEdoRSxlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZUFBVSxHQUFXLEVBQUUsQ0FBQTtRQUViLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVwQyxlQUFVLEdBQVcseUJBQXlCLENBQUM7UUFDL0MsaUJBQVksR0FBa0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbkYsc0JBQWlCLEdBQUc7WUFDbEIsSUFBSSxFQUFFLENBQUM7WUFDUCxFQUFFLEVBQUUsQ0FBQztZQUNMLFdBQVcsRUFBRSxDQUFDO1lBQ2QsVUFBVSxFQUFFLENBQUM7WUFDYixZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUNGLHlCQUFvQixHQUFHO1lBQ3JCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7UUFFRixlQUFVLEdBQUc7WUFDWCxTQUFTLEVBQUUsRUFBRTtZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQTtRQUVELG1CQUFjLEdBQW1CO1lBQy9CLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUFFLEVBQUU7WUFDZCxnQkFBZ0IsRUFBRSxFQUFFO1NBQ3JCLENBQUE7UUFHRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFFakIsV0FBTSxHQUFRLEVBQUUsQ0FBQTtRQUl6QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTVCLFNBQVM7UUFDVCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSVAsdUJBQWtCLEdBQVUsRUFBRSxDQUFDO1FBSXhDLGtCQUFhLEdBQUc7WUFDZCxJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxVQUFVLEVBQUUsQ0FBQztZQUNiLFlBQVksRUFBRSxDQUFDO1lBQ2YsV0FBVyxFQUFFLENBQUM7U0FFZixDQUFBO1FBQ0QsbUJBQWMsR0FBRztZQUNmLFdBQVcsRUFBRSxDQUFDO1lBQ2QsU0FBUyxFQUFFLENBQUM7WUFDWixnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQTtRQUNELG9CQUFlLEdBQUc7WUFDaEIsV0FBVyxFQUFFLENBQUM7WUFDZCxTQUFTLEVBQUUsQ0FBQztZQUNaLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFBO1FBQ0Qsb0JBQWUsR0FBRztZQUNoQixTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsZ0JBQWdCLEVBQUUseUJBQXlCO1NBQzVDLENBQUE7UUFDRCxpQkFBWSxHQUFVLEVBQUUsQ0FBQTtRQUN4QiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFFbkMsY0FBUyxHQUFnRSxhQUFhLENBQUE7UUFFdEYsZ0JBQVcsR0FBb0QsV0FBVyxDQUFDO1FBQzNFLDJCQUFzQixHQUFHO1lBQ3ZCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLGdCQUFnQixFQUFFLE1BQU07U0FDekIsQ0FBQTtJQUdtRSxDQUFDO0lBRXJFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHO2dCQUNwQixTQUFTLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsSUFBSSxFQUFFO2dCQUN0RCxVQUFVLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsSUFBSSxFQUFFO2dCQUN4RCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLElBQUksRUFBRTthQUNyRSxDQUFBO1NBQ0Y7SUFDSCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxjQUFjLENBQUMsUUFBYTtRQUMxQixJQUFJLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDckIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFpQixFQUFFLEtBQVUsRUFBRSxFQUFFO2dCQUMvRCxJQUFJLEdBQUcsQ0FBQztnQkFDUixJQUFJLEtBQUssSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzlDLEdBQUcsR0FBRzt3QkFDSixRQUFRLEVBQUUsWUFBWTt3QkFDdEIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHO3FCQUNyQixDQUFBO2lCQUNGO3FCQUFNO29CQUNMLEdBQUcsR0FBRzt3QkFDSixRQUFRLEVBQUUsWUFBWTt3QkFDdEIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7cUJBQzNDLENBQUE7aUJBQ0Y7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUVILENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUFXO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTdCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFVO1FBQzNCLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO1lBQzdDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9GLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUVqQixJQUFJLENBQUMsY0FBYyxHQUFHO29CQUNwQixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDO29CQUNqQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDO29CQUM3QixnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLElBQUksQ0FBQztvQkFDM0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQztpQkFDeEIsQ0FBQTtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNwQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGlCQUFpQixDQUFDLElBQVU7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7WUFDN0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDN0Q7YUFBTTtZQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlGLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBUSxFQUFFLElBQVU7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDNUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNHLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsU0FBUyxDQUFDLElBQWlFO1FBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBUSxFQUFFLElBQVU7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUU7WUFDbEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RHLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztnQkFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVLEVBQUUsSUFBc0Q7UUFDM0UsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssWUFBWTtnQkFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUN4RCxNQUFNO1lBQ1IsS0FBSyxrQkFBa0I7Z0JBQ3JCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUM5QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxhQUFhLEdBQUcsQ0FBQyxFQUFFO29CQUMzTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzdEO3FCQUFNO29CQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDOUQ7Z0JBQ0QsTUFBTTtTQUNUO0lBRUgsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFVLEVBQUUsSUFBcUQ7UUFDeEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxXQUFXO2dCQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLElBQUksS0FBSyxFQUFFO29CQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO29CQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtpQkFFMUM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssWUFBWTtnQkFDZixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRTtvQkFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO29CQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7aUJBQzNFO2dCQUNELE1BQU07WUFDUixLQUFLLGtCQUFrQjtnQkFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsSUFBSSxLQUFLLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztvQkFDdkMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsYUFBYSxHQUFHLENBQUMsRUFBRTt3QkFDM0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUM3RDt5QkFBTTt3QkFDTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQzNEO2lCQUNGO2dCQUNELE1BQU07U0FFVDtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUztRQUN2QixRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsS0FBSyxXQUFXO2dCQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztnQkFFMUMsTUFBTTtZQUNSLEtBQUssWUFBWTtnQkFDZixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO2dCQUMxQyxNQUFNO1lBQ1IsS0FBSyxrQkFBa0I7Z0JBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUM1QyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0lBR0gsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hCLEtBQUssV0FBVztnQkFDZCxJQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDN0UsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztvQkFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQztpQkFDeE07cUJBQU07b0JBQ0wsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsYUFBYSxHQUFHLENBQUMsRUFBRTt3QkFDM0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQzt3QkFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUU3RDt5QkFBTTt3QkFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQzt3QkFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUM1RDtpQkFDRjtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0QsTUFBTTtZQUNSLEtBQUssa0JBQWtCO2dCQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNqRSxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUdELE1BQU07UUFDSixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hCLEtBQUssV0FBVztnQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO2dCQUMvQixNQUFNO1lBQ1IsS0FBSyxrQkFBa0I7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLGFBQWEsR0FBRyxDQUFDLEVBQUU7b0JBQzNMLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO2lCQUMvQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztpQkFDakM7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNO1FBQ0osUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hCLEtBQUssV0FBVztnQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7Z0JBQzFDLE1BQU07WUFDUixLQUFLLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztnQkFDMUMsTUFBTTtZQUNSLEtBQUssa0JBQWtCO2dCQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztnQkFDMUMsTUFBTTtTQUNUO0lBRUgsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFxRTtRQUMvRSxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssVUFBVTtnQkFDYixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxrQkFBa0I7Z0JBQ3JCLG1DQUFtQztnQkFDbkMsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQVM7UUFDN0IsSUFBSSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDOytHQWhhVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw2dUJDWm5DLG0yUUFvSEE7OzRGRHhHYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzRHQVVKLGNBQWM7c0JBQXZDLFNBQVM7dUJBQUMsYUFBYTtnQkFDZCxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBa0NHLE1BQU07c0JBQWQsS0FBSztnQkFTRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ29CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDSyxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRJZHMsIFNlbGVjdGVkVmFsdWVzIH0gZnJvbSAnLi9mcmFtZXdvcmstaW50ZWdyYXRpb24taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFBhcmVudFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wYXJlbnQtdGFibGUvcGFyZW50LXRhYmxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmFtZXdvcmstbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyYW1ld29yay1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmFtZXdvcmtMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIGJyZWFkQ3J1bWI6IGFueVtdID0gW107XHJcbiAgc2VhcmNoID0gJyc7XHJcbiAgc2hvd1BhcmVudCA9IHRydWU7XHJcbiAgc2hvd0NoaWxkID0gZmFsc2U7XHJcbiAgcGFyZW50RGF0YTogb2JqZWN0ID0ge31cclxuICBAVmlld0NoaWxkKCdwYXJlbnRUYWJsZScpIHRhYmxlQ29tcG9uZW50ITogUGFyZW50VGFibGVDb21wb25lbnQ7XHJcbiAgQE91dHB1dCgpIGVudHJ1c3RGcmFtZXdvcmsgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJhbWV3b3JrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhc3NpZ25Db250cm9sID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMhOiBhbnk7XHJcbiAgQElucHV0KCkgaGVhZGVyVGV4dDogc3RyaW5nID0gJ1NlbGVjdCBGcm9tIGEgRnJhbWV3b3JrJztcclxuICBASW5wdXQoKSB3b3JrZmxvd1BhZ2U6IEFycmF5PHN0cmluZz4gPSBbJ0ZSQU1FV09SSycsICdDQVRFR09SWScsICdSRVNQT05TSUJJTElUWSddO1xyXG4gIHN1YkNhdGVnb3JpZXNMaXN0ID0ge1xyXG4gICAgZnJvbTogMSxcclxuICAgIHRvOiAwLFxyXG4gICAgY3VycmVudFBhZ2U6IDEsXHJcbiAgICB0b3RhbFBhZ2VzOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuICByZXNwb25zaWJpbGl0aWVzTGlzdCA9IHtcclxuICAgIGZyb206IDEsXHJcbiAgICB0bzogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGRhdGE6IFtdLFxyXG4gIH07XHJcblxyXG4gIHNlYXJjaFRleHQgPSB7XHJcbiAgICBmcmFtZVdvcms6ICcnLFxyXG4gICAgY2F0ZWdvcnk6ICcnLFxyXG4gICAgcmVzcG9uc2liaWxpdHk6ICcnLFxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRWYWx1ZXM6IFNlbGVjdGVkVmFsdWVzID0ge1xyXG4gICAgZnJhbWV3b3JrOiB7fSxcclxuICAgIGNhdGVnb3JpZXM6IHt9LFxyXG4gICAgcmVzcG9uc2liaWxpdGllczoge31cclxuICB9XHJcblxyXG5cclxuICBzdWJtaXNzaW9uTG9hZGVyID0gZmFsc2U7XHJcbiAgY3VycmVudENhdGVnb3J5OiBhbnkgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgcG9saWN5OiBhbnkgPSB7fVxyXG4gIC8vIEBPdXRwdXQoKSBjaGFuZ2VUYWIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGN1cnJlbnRCdXNpbmVzc0N5Y2xlITogYW55O1xyXG4gIGxvYWRlciA9IGZhbHNlO1xyXG4gIHVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgLy9wcm9ncmFtXHJcbiAgc3ViTGlzdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZyYW1lV29ya0xpc3Q6IGFueTtcclxuICAvLyBASW5wdXQoKSBhbGxQcm9ncmFtczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBzZWxlY3RlZEZyYW1lV29yayE6IGFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3JpZXM6IGFueVtdID0gW107XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGQnKSBzZWFyY2hmaWVsZCE6IGFueTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hDYXRlZ29yeScpIHNlYXJjaENhdGVnb3J5ITogYW55O1xyXG5cclxuICBmcmFtZXdvcmtEYXRhID0ge1xyXG4gICAgZGF0YTogW10sXHJcbiAgICBmcm9tOiAwLFxyXG4gICAgdG86IDAsXHJcbiAgICB0b3RhbFBhZ2VzOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgY3VycmVudFBhZ2U6IDEsXHJcblxyXG4gIH1cclxuICBmcmFtZXdvcmtDb3VudCA9IHtcclxuICAgIHJlZ3VsYXRpb25zOiAwLFxyXG4gICAgc3RhbmRhcmRzOiAwLFxyXG4gICAgaW50ZXJuYWxDb250cm9sczogMCxcclxuICAgIG90aGVyczogMFxyXG4gIH1cclxuICBmcmFtZVR5cGVPYmplY3QgPSB7XHJcbiAgICByZWd1bGF0aW9uczogMSxcclxuICAgIHN0YW5kYXJkczogMixcclxuICAgIGludGVybmFsQ29udHJvbHM6IDMsXHJcbiAgICBvdGhlcnM6IDAsXHJcbiAgfVxyXG4gIHBsYWNlaG9sZGVyVGV4dCA9IHtcclxuICAgIGZyYW1ld29yazogJ1NlYXJjaCBGcmFtZXdvcmtzJyxcclxuICAgIGNhdGVnb3JpZXM6ICdTZWFyY2ggQ2F0ZWdvcmllcycsXHJcbiAgICByZXNwb25zaWJpbGl0aWVzOiAnU2VhcmNoIFJlc3BvbnNpYmlsaXRpZXMnXHJcbiAgfVxyXG4gIGNvbnRyb2xzTGlzdDogYW55W10gPSBbXVxyXG4gIGRpc3BsYXlDb25maXJtYXRpb25NZXNzYWdlID0gZmFsc2U7XHJcblxyXG4gIGFjdGl2ZVRhYjogJ3JlZ3VsYXRpb25zJyB8ICdzdGFuZGFyZHMnIHwgJ2ludGVybmFsQ29udHJvbHMnIHwgJ290aGVycycgPSAncmVndWxhdGlvbnMnXHJcblxyXG4gIGN1cnJlbnRMaXN0OiAnZnJhbWV3b3JrJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJyA9ICdmcmFtZXdvcmsnO1xyXG4gIGZsb2F0aW5nQmFyRGlzcGxheUtleXMgPSB7XHJcbiAgICBmcmFtZXdvcms6ICduYW1lJyxcclxuICAgIGNhdGVnb3JpZXM6ICduYW1lJyxcclxuICAgIHJlc3BvbnNpYmlsaXRpZXM6ICduYW1lJyxcclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0ge1xyXG4gICAgICAgIGZyYW1ld29yazogdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzLmZyYW1ld29yayA/PyB7fSxcclxuICAgICAgICBjYXRlZ29yaWVzOiB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcyA/PyB7fSxcclxuICAgICAgICByZXNwb25zaWJpbGl0aWVzOiB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA/PyB7fSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0NvdW50KCk7XHJcbiAgICB0aGlzLmdldEZyYW1ld29ya3NMaXN0KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZXhwYW5kQ2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgaWYgKGNhdGVnb3J5LmNhdGVnb3J5X25hbWUpIHtcclxuICAgICAgdGhpcy5icmVhZENydW1iID0gW107XHJcbiAgICAgIGNhdGVnb3J5LmNhdGVnb3J5X25hbWUuZm9yRWFjaCgoY2F0ZWdvcnlJdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgb2JqO1xyXG4gICAgICAgIGlmIChpbmRleCA9PSBjYXRlZ29yeS5jYXRlZ29yeV9uYW1lLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgIG9iaiA9IHtcclxuICAgICAgICAgICAgaXRlbU5hbWU6IGNhdGVnb3J5SXRlbSxcclxuICAgICAgICAgICAgaXRlbUlkOiBjYXRlZ29yeS5faWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JqID0ge1xyXG4gICAgICAgICAgICBpdGVtTmFtZTogY2F0ZWdvcnlJdGVtLFxyXG4gICAgICAgICAgICBpdGVtSWQ6IGNhdGVnb3J5LnBhcmVudF9jYXRfb2JqX2lkc1tpbmRleF1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5icmVhZENydW1iLnB1c2gob2JqKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZW50cnVzdEZyYW1ld29ya0RldGFpbHMocmVwb3J0OiBhbnkpIHtcclxuICAgIHRoaXMuZW50cnVzdEZyYW1ld29yay5lbWl0KHJlcG9ydCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUZyYW1ld29yay5lbWl0KCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0RnJhbWV3b3Jrc0NvdW50KGRhdGE/OiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKGRhdGE/LnNlYXJjaCB8fCB0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmspO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWVXb3JrQ291bnQocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcblxyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrQ291bnQgPSB7XHJcbiAgICAgICAgICByZWd1bGF0aW9uczogcmVzLnJlZ3VsYXRpb25zID8/IDAsXHJcbiAgICAgICAgICBzdGFuZGFyZHM6IHJlcy5zdGFuZGFyZHMgPz8gMCxcclxuICAgICAgICAgIGludGVybmFsQ29udHJvbHM6IHJlcy5pbnRlcm5hbENvbnRyb2xzID8/IDAsXHJcbiAgICAgICAgICBvdGhlcnM6IHJlcy5vdGhlcnMgPz8gMFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEZyYW1ld29ya3NMaXN0KGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgndHlwZScsIHRoaXMuZnJhbWVUeXBlT2JqZWN0W3RoaXMuYWN0aXZlVGFiXSk7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmspIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldEZyYW1lV29ya0xpc3QocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtEYXRhLmRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEuZnJvbSA9IHJlcy5pdGVtc19mcm9tO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS50byA9IHJlcy5pdGVtc190bztcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcztcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdWJDYXRlZ29yaWVzKGlkPzogYW55LCBkYXRhPzogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5jYXRlZ29yeSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRGcmFtZXdvcmtTdWJDYXRlZ29yaWVzKGlkLCBwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmZyb20gPSByZXMuaXRlbXNfZnJvbSA/PyAxO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG8gPSByZXMuaXRlbXNfdG8gPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUGFnZXMgPSByZXMudG90YWxfcGFnZXMgPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbF9pdGVtcyA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuZGF0YSA9IHJlcy5kYXRhID8/IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNoYW5nZVRhYih0eXBlOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxDb250cm9scycgfCAnb3RoZXJzJykge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0eXBlO1xyXG4gICAgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmsgPSAnJztcclxuICAgIHRoaXMuc2VhcmNoZmllbGQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdGllcyhpZD86IGFueSwgZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzZWFyY2gnLCB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZScsIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWV3b3JrQ29udHJvbHMoaWQsIHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udHJvbHNMaXN0ID0gcmVzO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuZnJvbSA9IHJlcy5pdGVtc19mcm9tID8/IDE7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50byA9IHJlcy5pdGVtc190byA/PyAwO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcyA/PyAwO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5kYXRhID0gcmVzLmRhdGEgPz8gcmVzO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBhbnksIHR5cGU6ICdmcmFtZXdvcmtzJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJykge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2ZyYW1ld29ya3MnOlxyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0xpc3QoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5wYXJlbnRfbGlzdF9kZXRhaWxzPy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LmNoaWxkX2xpc3RfZGV0YWlscy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnRvdGFsQ29udHJvbHMgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5mcmFtZXdvcmsuX2lkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcy5faWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHNlYXJjaEJ5KGV2ZW50OiBhbnksIHR5cGU6ICdmcmFtZXdvcmsnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICB0aGlzLnJlc2V0UGFnaW5hdGlvbigpO1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2ZyYW1ld29yayc6XHJcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmsgIT0gZXZlbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmsgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0xpc3QoeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0NvdW50KHsgc2VhcmNoOiB0cnVlIH0pXHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGV4dC5jYXRlZ29yeSAhPSBldmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5ID0gZXZlbnQ7XHJcbiAgICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3JpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5mcmFtZXdvcmsuX2lkLCB7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSAhPSBldmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5ID0gZXZlbnQ7XHJcbiAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5wYXJlbnRfbGlzdF9kZXRhaWxzPy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LmNoaWxkX2xpc3RfZGV0YWlscy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnRvdGFsQ29udHJvbHMgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcy5faWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RGcmFtZXdvcmsoZGF0YTogYW55KSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yayA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBkYXRhO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gZGF0YTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5yZXNldFBhZ2luYXRpb24oKTtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50TGlzdCkge1xyXG4gICAgICBjYXNlICdmcmFtZXdvcmsnOlxyXG4gICAgICAgIGlmKHRoaXMud29ya2Zsb3dQYWdlPy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3JrZmxvd1BhZ2UuaW5jbHVkZXMoJ0ZSQU1FV09SSycpKSB7XHJcbiAgICAgICAgICBjb25zdCBmcmFtZXdvcmtEZXRhaWxzID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5mcmFtZXdvcms7XHJcbiAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRyb2wuZW1pdCh7bmFtZTogZnJhbWV3b3JrRGV0YWlscz8ubmFtZSwgX2lkOiBmcmFtZXdvcmtEZXRhaWxzPy5faWQsIHR5cGU6ZnJhbWV3b3JrRGV0YWlscz8uZnJhbWV3b3JrX3R5cGUsIGlkOiBmcmFtZXdvcmtEZXRhaWxzPy5pZCwgZGVzY3JpcHRpb246IGZyYW1ld29ya0RldGFpbHM/LmRlc2NyaXB0aW9uID8/ICcnfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnBhcmVudF9saXN0X2RldGFpbHM/Lmxlbmd0aCA9PSAwICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8uY2hpbGRfbGlzdF9kZXRhaWxzLmxlbmd0aCA9PSAwICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8udG90YWxDb250cm9scyA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCk7XHJcblxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ2NhdGVnb3JpZXMnO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzLl9pZCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMuYXNzaWduU2VsZWN0ZWRDb250cm9sKHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZ29CYWNrKCkge1xyXG4gICAgdGhpcy5yZXNldFBhZ2luYXRpb24oKTtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50TGlzdCkge1xyXG4gICAgICBjYXNlICdmcmFtZXdvcmsnOlxyXG4gICAgICAgIHRoaXMuY2xvc2VGcmFtZXdvcmsuZW1pdCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ2ZyYW1ld29yayc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnBhcmVudF9saXN0X2RldGFpbHM/Lmxlbmd0aCA9PSAwICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8uY2hpbGRfbGlzdF9kZXRhaWxzLmxlbmd0aCA9PSAwICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8udG90YWxDb250cm9scyA+IDApIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnZnJhbWV3b3JrJ1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ2NhdGVnb3JpZXMnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXRQYWdpbmF0aW9uKCkge1xyXG4gICAgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5jdXJyZW50UGFnZSA9IDE7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yayA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcyA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA9IHt9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSB7fTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgc2F2ZUNoYW5nZXModHlwZTogJ3Byb2dyYW1zJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJyB8ICdwcm9ncmFtc09ubHknKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAncHJvZ3JhbXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnY2F0ZWdvcmllcyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAncmVzcG9uc2liaWxpdGllcyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIC8vIHRoaXMuc3VibWl0cHJvZ3JhbUludGVncmF0aW9uKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3NpZ25TZWxlY3RlZENvbnRyb2woZGF0YTogYW55KSB7XHJcbiAgICBsZXQgc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gdGhpcy5zZWxlY3RlZFZhbHVlcztcclxuICAgIHRoaXMuYXNzaWduQ29udHJvbC5lbWl0KHsgZGF0YSwgc2VsZWN0ZWRGcmFtZXdvcmtEYXRhIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSA8cD5mcmFtZXdvcmstbGlzdCB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJhbWV3b3JrLWxpc3RcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50TGlzdD09J2ZyYW1ld29yaydcIiBjbGFzcz1cImZyYW1ld29yay1saXN0LXRpdGxlIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj4ge3toZWFkZXJUZXh0fX08L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudExpc3Q9PSdjYXRlZ29yaWVzJ1wiIGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtdGl0bGUgdngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPiAge3toZWFkZXJUZXh0fX0gPlxyXG4gICAgICAgICAgICB7e3NlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/Lm5hbWV9fTwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJ1wiIGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtdGl0bGUgdngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgIChjbGljayk9XCJnb0JhY2soKVwiPiYjeGU5MWQ7PC9pPiB7e3NlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/Lm5hbWV9fTwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImJyZWFkQ3J1bWIubGVuZ3RoPjBcIiBjbGFzcz1cImZyYW1ld29yay1saXN0LXRpdGxlIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiYnJlYWRDcnVtYj8ubGVuZ3RoID4gMFwiIChjbGljayk9XCJnZXRDYXRlZ29yeURldGFpbHNCeUlkKClcIj4mI3hlOTFkOzwvaT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZENydW1iOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93XCI+e3soaT4wKT8nPic6Jyd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmxpbmtdPVwidGFibGVDb21wb25lbnQuY3VycmVudEVudGl0eSB8fCAoISh0YWJsZUNvbXBvbmVudC5jdXJyZW50RW50aXR5KSAmJiBpICE9PSBicmVhZENydW1iPy5sZW5ndGggLTEpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0Q2F0ZWdvcnlEZXRhaWxzQnlJZChpdGVtLml0ZW1JZClcIiBbYXBwVG9vbHRpcF09XCJpdGVtLml0ZW1OYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIj57e2l0ZW0uaXRlbU5hbWV9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJsZUNvbXBvbmVudC5jdXJyZW50RW50aXR5XCI+IDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3ticmVhZENydW1iW2JyZWFkQ3J1bWI/Lmxlbmd0aCAtIDFdLml0ZW1OYW1lfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuPiZuYnNwO2ZvciB7e3RhYmxlQ29tcG9uZW50LmN1cnJlbnRFbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZC1yb3dcIiAqbmdJZj1cImN1cnJlbnRMaXN0PT0nZnJhbWV3b3JrJ1wiPlxyXG4gICAgICAgICAgICA8IS0tdGhpcyBzZWN0aW9uIHdpbGwgbm90IGFwcGVhciBvbiBjaGlsZCBwYXJ0IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAncmVndWxhdGlvbnMnXCIgKGNsaWNrKT1cImNoYW5nZVRhYigncmVndWxhdGlvbnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+UmVndWxhdGlvbnM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3VudGVyXCI+e3tmcmFtZXdvcmtDb3VudC5yZWd1bGF0aW9uc319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ3N0YW5kYXJkcydcIiAoY2xpY2spPVwiY2hhbmdlVGFiKCdzdGFuZGFyZHMnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+U3RhbmRhcmRzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3VudGVyXCI+e3tmcmFtZXdvcmtDb3VudC5zdGFuZGFyZHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09ICdpbnRlcm5hbENvbnRyb2xzJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlVGFiKCdpbnRlcm5hbENvbnRyb2xzJylcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkludGVybmFsIENvbnRyb2xzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3VudGVyXCI+e3tmcmFtZXdvcmtDb3VudC5pbnRlcm5hbENvbnRyb2xzfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnb3RoZXJzJ1wiIChjbGljayk9XCJjaGFuZ2VUYWIoJ290aGVycycpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5PdGhlcnM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2ZyYW1ld29ya0NvdW50Lm90aGVyc319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnJhbWV3b3JrLWxpc3Qtc2VhcmNoXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgI3NlYXJjaEZpZWxkIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclRleHRbY3VycmVudExpc3RdXCJcclxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZWFyY2hCeSgkZXZlbnQudGFyZ2V0LnZhbHVlLGN1cnJlbnRMaXN0KVwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSA8YXBwLXdvcmtmbG93LXBhZ2luYXRpb24+PC9hcHAtd29ya2Zsb3ctcGFnaW5hdGlvbj4gLS0+XHJcbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwiY3VycmVudExpc3Q9PSdmcmFtZXdvcmsnICYmIGZyYW1ld29ya0RhdGEudG90YWxQYWdlcyA+IDFcIiBbc3RhcnRdPVwiZnJhbWV3b3JrRGF0YS5mcm9tXCJcclxuICAgICAgICAgICAgW2VuZF09XCJmcmFtZXdvcmtEYXRhLnRvXCIgW3RvdGFsXT1cImZyYW1ld29ya0RhdGEudG90YWxSZWNvcmRzXCIgW3BhZ2VDb3VudF09XCJmcmFtZXdvcmtEYXRhLnRvdGFsUGFnZXNcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwiZnJhbWV3b3JrRGF0YS5jdXJyZW50UGFnZVwiIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQsJ2ZyYW1ld29ya3MnKVwiPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwiY3VycmVudExpc3Q9PSdjYXRlZ29yaWVzJyAmJiBzdWJDYXRlZ29yaWVzTGlzdC50b3RhbFBhZ2VzID4gMVwiXHJcbiAgICAgICAgICAgIFtzdGFydF09XCJzdWJDYXRlZ29yaWVzTGlzdC5mcm9tXCIgW2VuZF09XCJzdWJDYXRlZ29yaWVzTGlzdC50b1wiIFt0b3RhbF09XCJzdWJDYXRlZ29yaWVzTGlzdC50b3RhbFJlY29yZHNcIlxyXG4gICAgICAgICAgICBbcGFnZUNvdW50XT1cInN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUGFnZXNcIiBbY3VycmVudFBhZ2VdPVwic3ViQ2F0ZWdvcmllc0xpc3QuY3VycmVudFBhZ2VcIlxyXG4gICAgICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50LCdjYXRlZ29yaWVzJylcIj48L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDxhcHAtcGFnaW5hdGlvbiAqbmdJZj1cImN1cnJlbnRMaXN0PT0ncmVzcG9uc2liaWxpdGllcycgJiYgcmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxQYWdlcyA+IDFcIlxyXG4gICAgICAgICAgICBbc3RhcnRdPVwicmVzcG9uc2liaWxpdGllc0xpc3QuZnJvbVwiIFtlbmRdPVwicmVzcG9uc2liaWxpdGllc0xpc3QudG9cIlxyXG4gICAgICAgICAgICBbdG90YWxdPVwicmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxSZWNvcmRzXCIgW3BhZ2VDb3VudF09XCJyZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFBhZ2VzXCJcclxuICAgICAgICAgICAgW2N1cnJlbnRQYWdlXT1cInJlc3BvbnNpYmlsaXRpZXNMaXN0LmN1cnJlbnRQYWdlXCIgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudCwncmVzcG9uc2liaWxpdGllcycpXCI+XHJcbiAgICAgICAgPC9hcHAtcGFnaW5hdGlvbj5cclxuICAgICAgICA8IS0tIEZvciBwYXJlbnQgLS0+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtcGFnaW5hdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC13b3JrZmxvdy1wYWdpbmF0aW9uPjwvYXBwLXdvcmtmbG93LXBhZ2luYXRpb24+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8IS0tIFtjbGFzcy5uby1jYXJkXT1cImJyZWFkQ3J1bWIubGVuZ3RoPjBcIiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtdGFibGUgdngtbWItNFwiIFtjbGFzcy5uby1jYXJkXT1cImN1cnJlbnRMaXN0PT0nY2F0ZWdvcmllcycgfHwgY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJ1wiPlxyXG4gICAgICAgICAgICA8YXBwLWZyYW1ld29yay1saXN0LXRhYmxlICpuZ0lmPVwiY3VycmVudExpc3Q9PSdmcmFtZXdvcmsnXCIgW2xpc3RMb2FkZXJdPVwibG9hZGVyXCJcclxuICAgICAgICAgICAgICAgIFtmcmFtZXdvcmtUeXBlXT1cIidmcmFtZXdvcmsnXCIgKHNlbGVjdGVkRnJhbWV3b3JrKT1cInNlbGVjdEZyYW1ld29yaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtjdXJyZW50RnJhbWV3b3JrXT1cInNlbGVjdGVkVmFsdWVzW2N1cnJlbnRMaXN0XVwiIFtmcmFtZXdvcmtzTGlzdF09XCJmcmFtZXdvcmtEYXRhXCI+XHJcbiAgICAgICAgICAgIDwvYXBwLWZyYW1ld29yay1saXN0LXRhYmxlPlxyXG4gICAgICAgICAgICA8YXBwLWZyYW1ld29yay1saXN0LXRhYmxlICpuZ0lmPVwiY3VycmVudExpc3Q9PSdjYXRlZ29yaWVzJ1wiIFtsaXN0TG9hZGVyXT1cImxvYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbZnJhbWV3b3Jrc0xpc3RdPVwic3ViQ2F0ZWdvcmllc0xpc3RcIiAoc2VsZWN0ZWRGcmFtZXdvcmspPVwic2VsZWN0RnJhbWV3b3JrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRGcmFtZXdvcmtdPVwic2VsZWN0ZWRWYWx1ZXNbY3VycmVudExpc3RdXCIgW2ZyYW1ld29ya1R5cGVdPVwiJ3N1YkZyYW1ld29yaydcIj5cclxuICAgICAgICAgICAgPC9hcHAtZnJhbWV3b3JrLWxpc3QtdGFibGU+XHJcbiAgICAgICAgICAgIDxhcHAtZnJhbWV3b3JrLXJlc3BvbnNpYmlsaXR5LXRhYmxlICpuZ0lmPVwiY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJ1wiIFtsaXN0TG9hZGVyXT1cImxvYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbY3VycmVudFNlbGVjdGVkQ29udHJvbF09XCJzZWxlY3RlZFZhbHVlc1tjdXJyZW50TGlzdF1cIiBbY29udHJvbHNMaXN0XT1cInJlc3BvbnNpYmlsaXRpZXNMaXN0XCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZENvbnRyb2wpPVwic2VsZWN0RnJhbWV3b3JrKCRldmVudClcIiAoYXNzaWduQ29udHJvbCk9XCJhc3NpZ25TZWxlY3RlZENvbnRyb2woJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2FwcC1mcmFtZXdvcmstcmVzcG9uc2liaWxpdHktdGFibGU+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cImZyYW1ld29ya0RhdGE/LmRhdGE/Lmxlbmd0aD09MCAmJiBjdXJyZW50TGlzdD09J2ZyYW1ld29yaycgJiYgIWxvYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwic3ViQ2F0ZWdvcmllc0xpc3Q/LmRhdGE/Lmxlbmd0aD09MCAmJiBjdXJyZW50TGlzdD09J2NhdGVnb3JpZXMnICYmICFsb2FkZXJcIlxyXG4gICAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1wiXHJcbiAgICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInJlc3BvbnNpYmlsaXRpZXNMaXN0Py5kYXRhPy5sZW5ndGg9PTAgJiYgY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJyAmJiAhbG9hZGVyXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgICAgICA8IS0tIG9sZCB0YWJsZSBsaXN0IC0tPlxyXG4gICAgICAgICAgICA8IS0tIDxhcHAtcGFyZW50LXRhYmxlICNwYXJlbnRUYWJsZSAqbmdJZj1cInNob3dQYXJlbnRcIiBbc2VhcmNoXT1cInNlYXJjaFwiXHJcbiAgICAgICAgICAgICAgICAoZXhwYW5kQ2F0ZWdvcnkpPVwiZXhwYW5kQ2F0ZWdvcnkoJGV2ZW50KVwiIFt0YWJsZUxpc3RdPVwiY2F0ZWdvcnlMaXN0W2FjdGl2ZVRhYl0ubGlzdFwiXHJcbiAgICAgICAgICAgICAgICAoZW50cnVzdEZyYW1ld29yayk9XCJlbnRydXN0RnJhbWV3b3JrRGV0YWlscygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwvYXBwLXBhcmVudC10YWJsZT4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxhcHAtZmxvYXRpbmctYmFyIFtzZWxlY3RlZERhdGFdPVwiKHNlbGVjdGVkVmFsdWVzW2N1cnJlbnRMaXN0XT8ubmFtZSk/W3NlbGVjdGVkVmFsdWVzW2N1cnJlbnRMaXN0XV06W11cIiBbZGlzcGxheUVsZW1lbnRLZXldPVwiZmxvYXRpbmdCYXJEaXNwbGF5S2V5c1tjdXJyZW50TGlzdF1cIiBbaXNEaXNhYmxlZF09XCIhc2VsZWN0ZWRWYWx1ZXNbY3VycmVudExpc3RdPy5uYW1lXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgKGNsb3NlTGlzdCk9XCJnb0JhY2soKVwiIChkZWxldGVFdmVudCk9XCJyZW1vdmUoKVwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBbc2luZ3VsYXJUZXh0XT1cIidVc2VyIHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidVc2VycyBzZWxlY3RlZCdcIiAoY2xvc2VFdmVudCk9XCJzYXZlKHNlbGVjdGVkSWRzKVwiXHJcbiAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIiAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiXHJcbiAgICBbaXNEaXNhYmxlZF09XCIoZ3JvdXBzTGlzdD8ubGVuZ3RoICsgdXNlcnNMaXN0Py5sZW5ndGgpID09PSAwIHx8IHNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA9PT0gMFwiIC0tPlxyXG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cclxuPC9kaXY+XHJcbiJdfQ==
|