{"version":3,"sources":["webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/comments/classification-comments.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component.html","webpack:///src/formio-custom-components/src/lib/shared/utility/user.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/member-length-icon/member-length-icon.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-content/question-content.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog.ts","webpack:///src/app/shared/components/notifications/notification-options/notification-options.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/comments/classification-comments.component.html","webpack:///src/formio-custom-components/src/lib/shared/components/delete-dialog/delete-dialog.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.component.ts","webpack:///src/app/shared/components/not-found/not-found.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/status/classification-indicator-status.component.ts","webpack:///util.inspect (ignored)","webpack:///src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/masar-criterion-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/question-decision/masar-question-decision.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/sessions-tab/sessions-tab.component.html","webpack:///zlib (ignored)","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/map-wrapper/map-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/reject-reason-org-item/reject-reason-org-item.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/masar-total-statistic-preview.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/confirmation-dialog/confirmation-dialog.component.ts","webpack:///fs (ignored)","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/members-selector/members-selector.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/masar-decision-summary.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component.ts","webpack:///http (ignored)","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/category-card/category-card.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component.ts","webpack:///https (ignored)","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.wrapper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-key-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/control/assessment-control.component.html","webpack:///src/app/shared/material.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-resource-list/questions-resource-list.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-list/questions-list.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog.html","webpack:///url (ignored)","webpack:///src/app/shared/components/notifications/notifications-modal/notifications-modal.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/services/template-objects.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/services/criterions.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/formio-dialog/formio-dialog.component.ts","webpack:///src/app/shared/directives/has-role.directive.ts","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component.html","webpack:///crypto (ignored)","webpack:///src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-view-wrapper/table-view-wrapper.formio.ts","webpack:///src/app/shared/components/notifications/notifications-modal/notifications-modal.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tree/criterions-tree.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/total-statistic/total-statistic.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicator/indicator.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/question-preview/question-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/render-template.pipe.ts","webpack:///src/app/core/services/account.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/card-wrapper/card-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/masar-criteria-preview.component.html","webpack:///src/app/modules/requests/dashlet-filter.adapter.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/models/custom-options.ts","webpack:///src/app/shared/components/not-found/not-found.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/view-form/view-form.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/sessions-tab/sessions-tab.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/executive-plan.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tab/criterions-tab.component.html","webpack:///src/environments/environment.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/pipes/localized-date.pipe.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/question-item/question-item.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-by-key/form-by-key.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/shared/utility/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/copy-decision/copy-decision.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/question-preview/question-preview.component.html","webpack:///src/formio-custom-components/src/lib/shared/pipes/sort.pipe.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.formio.ts","webpack:///src/app/core/interceptors/license.interceptor.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/status/assessment-status.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/optional-inputs-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/base.component.ts","webpack:///src/app/shared/pipes/time-ago.pipe.ts","webpack:///src/formio-custom-components/src/lib/material.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/services/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/question-preview/masar-question-preview.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/base/base.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/visit-metadata.model.ts","webpack:///src/formio-custom-components/src/lib/custom-dynamic-components.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-view-wrapper/table-view-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/masar-criterion-decision.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/status/assessment-status.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-key-wrapper.formio.ts","webpack:///src/app/shared/components/page/page.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/executive-plan.component.ts","webpack:///src/app/core/helpers/translate-loader.helper.ts","webpack:///src/app/core/helpers/formio-enviroment.helper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-reviewer-filter/org-reviewer-filter.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/services/masar-criterions.service.ts","webpack:///src/app/shared/components/section/section.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/chart/chart.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/masar-executive-plan.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/models/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.wrapper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component.html","webpack:///src/app/shared/components/notifications/notification-item/notification-item.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/map-wrapper/map-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/stepper-wrapper/stepper-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/edit-template-dialog/edit-template-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/pipes/evaluation-score-message.pipe.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/time-ago.pipe.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/calculated-row-total.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/decision-summary.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/services/questions-store.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/stepper-wrapper/stepper-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component.ts","webpack:///src/app/modules/pages/pages.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/helpers/json.helper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/map-wrapper/geo-location.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog.html","webpack:///src/app/shared/components/request-feedback/request-feedback.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/formio-custom-component.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicator/indicator.component.ts","webpack:///src/app/core/guards/auth.guard.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog.ts","webpack:///src/app/core/services/title.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-list/questions-list.component.ts","webpack:///src/app/shared/components/section/section.component.ts","webpack:///src/app/shared/components/not-allowed/not-allowed.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/map-wrapper/map-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criterion-decision.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/pipe/css-class-display.pipe.ts","webpack:///src/app/core/services/logger.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/extra-form-dialog/extra-form-dialog.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component.html","webpack:///src/app/shared/shared.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/toast.helper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/hijri-date-wrapper/hijri-date.component.ts","webpack:///src/app/shared/components/not-allowed/not-allowed.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/masar-optional-inputs-preview.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicators-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-by-key/form-by-key.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/charts-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component.ts","webpack:///src/formio-custom-components/src/lib/shared/directives/safeHtml.directive.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/criteria-preview.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/question-decision/question-decision.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/question-decision/question-decision.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/masar-criteria-preview.component.ts","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/reject-reason-org-item/reject-reason-org-item.component.ts","webpack:///src/app/modules/formio-demo/formio-demo.component.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/display-time.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicators-wrappe.formio.ts","webpack:///src/formio-custom-components/src/lib/shared/directives/split-area.directive.ts","webpack:///src/app/app.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/formio-dialog/formio-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar.options.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/masar-criterion-preview.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-card/question-card.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/rating-wrapper/rating-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/executive-plan.model.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/shared/components/skeleton/skeleton.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/masar-criterion-decision.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-content/question-content.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/directive/allowed-summary-type.directive.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.component.ts","webpack:///src/app/shared/components/footer/footer.component.html","webpack:///src/app/shared/components/header/header.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/hijri-date-wrapper/hijri-date.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/shared/directives/count-up.directive.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/formio-pipes.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/control/assessment-control.component.ts","webpack:///src/app/modules/notifications/notifications.service.ts","webpack:///src/app/modules/requests/requests.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/masar-mistake-list.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/total-statistic-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/rating-wrapper/rating-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/decision-summary.component.ts","webpack:///src/app/core/guards/role.guard.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/stepper-wrapper/stepper-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component.html","webpack:///src/app/app.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/charts-wrapper.formio.ts","webpack:///src/app/modules/formio-demo/formio-demo.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/services/itimad-criterions.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-resource-list/questions-resource-list.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/add-edit-mistake/add-edit-mistake.dialog.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.formio.ts","webpack:///src/app/shared/components/footer/footer.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/pipes/display-order-pattern.pipe.ts","webpack:///src/app/core/helpers/initializer.helper.ts","webpack:///src/app/shared/components/header/header.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/masar-mistake-list.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/models/indicator.model.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/const/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/assessment-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/total-statistic/total-statistic.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/edit-template-dialog/edit-template-dialog.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/pdf-wrapper/pdf-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/members-selector/members-selector.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/add-edit-org-item/add-edit-org-item.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component.html","webpack:///src/app/core/helpers/external-service.helper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.wrapper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/question/indicator-question.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/team-members/team-members.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/pipes/members-length.pipe.ts","webpack:///src/formio-custom-components/src/lib/shared/observables/destroy.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/table-view-wrapper/table-view-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/card-wrapper/card-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/validators.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/total-statistic-preview.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/pdf-wrapper/pdf-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/helpers/sort.helper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/extra-form-dialog/extra-form-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/pdf-wrapper/pdf-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/question-decision/masar-question-decision.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/status/classification-indicator-status.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criterion-preview.component.html","webpack:///src/app/core/consts/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/hijri-date-wrapper/hijri-date-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/execute-visit-result.model.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tree/criterions-tree.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/category-card/category-card.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/optional-inputs-preview.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/base/index.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-reviewer-filter/org-reviewer-filter.component.html","webpack:///src/formio-custom-components/src/lib/shared/directives/display-external-actions.directive.ts","webpack:///src/app/core/services/config.service.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/get-value.pipe.ts","webpack:///node_modules/@ionic/core/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/criteria-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/visit-schedule/visit-schedule.component.html","webpack:///src/formio-custom-components/src/lib/shared/pipes/calculated-ratio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/services/custom-select.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/add-edit-org-item/add-edit-org-item.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/visit-schedule/visit-schedule.formio.ts","webpack:///src/app/shared/components/page/page.component.ts","webpack:///src/formio-custom-components/src/lib/shared/directives/split-handle.directive.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/question-item/question-item.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/pipe/evaluation-display.pipe.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterions-tree.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criterion-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/optional-inputs/optional-inputs.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/add-edit-mistake/add-edit-mistake.dialog.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/services/distribute.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/chart/chart.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/assessment-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/shared/utility/object.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/masar-criterions-tree.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/optional-inputs/optional-inputs.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/services/common-questions.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/execute-visit.model.ts","webpack:///src/formio-custom-components/src/lib/shared/components/delete-dialog/delete-dialog/delete-dialog.component.ts","webpack:///src/app/core/consts/config.const.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/shared/pipes/get-member-name.pipe.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog.ts","webpack:///src/app/modules/services-catalog/life-cycle-service.config.js","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/models/config.model.ts","webpack:///src/app/shared/components/notifications/notification-item/notification-item.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/masar-criterions-tree.component.html","webpack:///src/app/shared/components/base.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container-side.component.ts.QuestionsContainerSideComponent.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-wrapper.component.ts","webpack:///src/app/core/helpers/logger.helper.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/charts-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-key-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/assessment-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/shared/model/roles.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.formio.ts","webpack:///src/app/core/core.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/member-length-icon/member-length-icon.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicators-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/services/index.ts","webpack:///src/environments/environmentLoader.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/question-preview/masar-question-preview.component.ts","webpack:///src/app/shared/components/request-feedback/request-feedback.component.ts","webpack:///src/app/modules/dynamic-qr/dynamic-qr.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/directives/scroll-retainer.directive.ts","webpack:///src/app/core/services/session.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/copy.model.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component.ts","webpack:///src/app/shared/components/notifications/notification-options/notification-options.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/criteria-decision/masar-criteria-decision.component.html","webpack:///src/formio-custom-components/src/lib/shared/directives/split.directive.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/shared/components/skeleton/skeleton.component.ts.FormIOSkeletonComponent.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criteria-decision/criteria-decision.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criteria-decision/criteria-decision.component.ts","webpack:///src/app/core/services/switch-lang.service.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/summary-filter/summary-filter.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/rating-wrapper/rating-wrapper.formio.ts","webpack:///src/app/modules/dynamic-qr/dynamic-qr.component.html","webpack:///src/app/core/paginator-i18n.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/masar-executive-plan.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/criteria-decision/masar-criteria-decision.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criterion-decision.component.ts","webpack:///src/formio-custom-components/src/public-api.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/visit-schedule/models/options.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/calculated-row-ratio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterions-tree.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/copy-decision/copy-decision.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/masar-decision-summary.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/team-members/team-members.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/base.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/template-process.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/org-wrapper/view-form/view-form.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.formio.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/custom-select/index.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/status/indicator-status.component.html","webpack:///src/formio-custom-components/src/lib/shared/components/skeleton/skeleton.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/masar-optional-inputs-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/status/indicator-status.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/visit-schedule/visit-schedule.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tab/criterions-tab.component.ts","webpack:///src/app/modules/pages/pages.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/question/indicator-question.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/template-process.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-card/question-card.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/summary-filter/summary-filter.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/dialogs/confirmation-dialog/confirmation-dialog.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component.ts","webpack:///src/formio-custom-components/src/lib/shared/pipes/calculated-total.ts","webpack:///src/app/app.component.html","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/final-report-mistakes.model.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/masar-total-statistic-preview.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/users-sessions-dialog/users-sessions-dialog.component.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container-side.component.ts","webpack:///src/main.ts","webpack:///src/formio-custom-components/src/lib/custom-component/components/card-wrapper/card-wrapper.component.html","webpack:///src/app/modules/services-catalog/services.service.ts","webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/models/classification-indicators.model.ts"],"names":["ClassificationCommentsComponent","toastrService","resourceNameService","translateService","onClose","onHistoryUpdated","message","managersNotes","loading","hasMessageFromSameTask","deleteComment","limit","skip","totalRecords","lastScrollHeight","subs","s","push","data","formData","taskId","taskResource","loadData","messageElement","nativeElement","style","height","calcHeight","value","forEach","unsubscribe","emit","editing","updateComment","comment","questionSubmissionId","questionId","requestId","requestDetails","varRequestId","userName","currentUser_preferred_username","givenName","currentUser_name","email","currentUser_email","role","currentUser_roles","join","roleByTask","getRoleBytask","_id","fromMe","history","initHistoryMap","indicator","domainId","calls","addSubmission","customOptions","patchSubmission","indicatorResource","JSON","stringify","sub","subscribe","resetInput","created","scrollToBottom","setTimeout","focus","error","instant","item","event","stopPropagation","menuTrigger","closeMenu","index","formioComponent","removeCommentFromHistoryMap","deleteResourceData","splice","target","scrollTop","length","find","q","loadMore","submission","query","interpolate","managersNotesQuery","loadPage","newCommets","map","copyProps","reverse","concat","scrollToLastComment","some","container","$","lastCommentPosition","scrollHeight","scrollTo","behavior","top","indicatorId","has","set","Map","get","size","currentRoute","includes","numberOfLineBreaks","match","newHeight","pattern","type","name","_hasMasarRole","rolesArray","Object","values","replace","_getAccountRolesType","MASAR","ITIMAD","COMPONENT_OPTIONS","selector","title","registerOrgWrapperComponent","injector","id","AddEditExecutivePlanComponent","dialogRef","fb","datePipe","initForm","form","startDate","transform","Date","endDate","close","group","model","clause","disabled","viewOnly","required","responsibleName","responsiblePosition","NotificationOptionsComponent","popoverCtrl","dismiss","DeleteDialogModule","HtmlEditorWrapperComponent","valueChange","multipleModel","changeDirection","currentLang","onLangChange","lang","changes","isMultiple","notEmpty","filter","trim","htmlValue","notifyValue","dir","NotFoundComponent","location","back","ClassificationStatusComponent","indicatorStatus","MasarCriterionPreviewComponent","criterionsService","criterion$","decisionInputs$","currentTab","member","pipe","destroy$","_","registerTableTreeComponent","ConfirmationDialogComponent","dialogData","registerMasterDetailsResourceComponent","MasterDetailsResourceWrapperComponent","formloader","dialog","treeControl","node","childrens","hasChild","trackBy","deletedNodesObs$","dialogConfig","prop","isAdd","translatedName","fields","icon","color","isView","viewMode","parentId","isParentNode","resourceName","order","itemSetup","actions","children","checklistSelection","getLevel","level","treeSource","dataSource","items","sortedParentNodes","sort","a","b","resource","next","changed","console","log","source","selected","keys","fillData","parentNode","open","width","panelClass","afterClosed","result","fillSource","colorStyle","viewInTree","findInDataSourceAndUpdate","newItem","getTime","findInDataSourceAndFill","bindWith","findNode","createDialog","startedPoint","branchOfNods","field","ok","cancel","direction","restoreFocus","buttonText","rs","_openConfirmDialog","res","childNode","addDeletedNodesObs","deleteBulKNodes","isBulk","deletNodesFromUI","show","toastClass","closeButton","enableHtml","toastComponent","deepRemoveNode","checkRelatedEntityWhenDelete","getRemovedNode","clear","Array","removedNodes","action","relatedEntityWhenDelete","entity","components","searchComponents","root","key","component","evaluate","getValue","setValue","triggerRedraw","nestedForms","formComponent","subFormReady","then","subForm","formComponents","display","getPages","all","eachComponent","resources","temp","getFiledsValue","getChildrensValue","afterChangeValue","afterChange","c","fileds","entries","subProps","child","resourceData","setFieldsTranslations","currentNode","element","findAndFillSubData","array","parrentNode","isChild","store","translations","ar","en","NAMEAR","forms","common","NAMEEN","toggle","checkAllParentsSelection","parent","getParentNode","checkRootNodeSelection","currentLevel","dataNodes","startIndex","indexOf","i","nodeSelected","isSelected","descendants","getDescendants","descAllSelected","every","deselect","select","descendantsAllSelected","BottomSheetOverviewComponent","_bottomSheetRef","preventDefault","CategoryCardComponent","isSub","onOpenCategory","onOpenSubCategory","options","isLoading","isOpen","category","subCategoriresObjectForSelect","reset","categoryResource","subCategoryQuery","subCategorySelect","loadCustomByFilterdKey","recursiveSort","mappedItem","parentCategoryObject","ClassificationIndicatorComponent","formioLoader","domainQuery","questionQuery","isSummary","ready","domainsDecisions","orginalDomains","getIndicatorDomains","domains","state","domainIndex","expansion","decision","someNotComplete","UnComplete","status","Complete","prepareCalls","isSubDomainsValids","expanded","domain","domainResource","attachmentsFiles","notesAndRecommendations","isValid","formSettings","hide","questionIndex","score","indicatorScore","completionRate","indicatorCompletionRate","domainScore","domainCompletionRate","questions","question","indicatorObject","tempDomain","domainObject","isAll","isCached","questionResource","years","o","oInput","min","orginal","findIndex","fillDomainsDecisions","registerDistributeCommonQuestionsComponent","MaterialModule","ComponentModule","TemplateObjectsService","httpClient","formioAppConfig","PROCESS_HOST_URL","param","requestType","groupsDataMap","post","headers","responseType","caseId","gateway","PAGE_SIZE","CriterionsService","http","baseUrl","process$","questionResult$","decisionTaken$","hasMistake$","sendEvaluation$","sendToExecutiveSummary$","sendSummary$","results$","attachmentsFormKey","criterionId","loadCustomByKeyId","endpoints","assessmentResource","categories","numberOfApplicable","calculatedSavedScore","totalEvaluationCriteria","hasLink","linkNameAr","linkNameEn","hasLinkTooltip","tooltipAr","tooltipEn","hasNotes","notesNameAr","notesNameEn","hasNotesTooltip","notesTooltipAr","notesTooltipEn","hasAttachments","attachments","hasAttachmentsTooltip","attachmentsTooltipAr","attachmentsTooltipEn","attachment","hasTooltip","attachmentTooltipAr","attachmentTooltipEn","hasPledgeAndAcknowledgment","pledgeNameAr","pledgeNameEn","hasPledgeTooltip","pledgeTooltipAr","pledgeTooltipEn","evaluationItems","accreditationKey","eligibilityRequestId","process","visitKey","sessionId","url","visitMembers","params","page","Number","MAX_SAFE_INTEGER","criterionKey","criterion","FormioDialogComponent","loader","eventType","formKey","dir$","_closeAndEmitData","HasRoleDirective","viewContainerRef","templateRef","sessionService","isEnvRole","isVisible","stop$","roles","_roles","_userInRoles","isUserInRole","createEmbeddedView","CommentsHistoryWrapperComponent","formSubmitted","comments","_listenToLanguageChanges","maxHeight","autoFocus","AddEditSummaryComponent","summary","registerTableViewWrapperComponent","NotificationsModalComponent","modalController","notificationsService","hasToolbar","_itemHeight","_divider","_all","_title","compareDate","itemIndex","divider","today","itemDate","sendDate","isToday","getDate","getMonth","getFullYear","prevItem","isPrevToday","NextItemDate","getItemHeight","itemHeight","notifications","fetchNotifications","markAllAsRead","notification","deleteNotification","updateStatus","complete","pageSize","QuestionPreviewComponent","question$","attachmentFormKey","isLoadingResults","criterionType","getQuestion","submissionId","jsonString","toString","initAnswers","answers$","answerMaxScore","generalToolTip","answerTooltip","tooltip","from","registerEventTreeComponent","RenderTemplatePipe","sanitizer","template","html","language","i18next","translate","t","instance","utils","bypassSecurityTrustHtml","AccountService","loggerService","queryParams","endpoint","account","handleError","operation","hasOwnProperty","registerCardWrapperComponent","registerProccessRequirmentsComponent","DashletFilterAdapter","assign","requestDateAfter","requestDateBefore","statuses","services","activeTask","EVENTS","afterLoadItems","afterValueChange","onChange","onSearch","onAdd","onRemove","ViewFormDialog","orgService","getData","getByEndpoint","SessionsTabComponent","distributeService","selectedSession","itm","_getSessions","getSessionsByVisitKey","visitInfo","sessions","_checkIfSessionsIsValid","d","selectedIndex","updateSessionMembers","environment","production","enableLogger","cms","appConfig","frontOfficeSettings","formioEndpoint","formioId","formioSettings","keycloak","realm","clientId","disableLoginRedirectUri","formio","apiUrl","appUrl","tasks","anonymousTasks","camundaTask","myRequests","myBeneficiarySegments","caseActivity","caseActivityDetails","count","beneficiaryApi","deparments","servicesNew","filterStatuses","request","humanTask","socket","dataservice","eligibilityVerificationReportApi","requestFeedback","reportingservice","criterionInformations","finalCriterionInformations","executivePlan","customExecutivePlan","finalReportMistakes","finalReportResponses","masarCriteria","attachmentsId","beneficiary","branch_specialist","department_specialist","admin","serviceCatalogControl","showCarousel","showHasTask","showMostUsedService","showCatalog","pdftronLicenceKey","showFeedbackButton","showDashboardCounters","skipServiceDetailsPage","backToTop","taskRedirection","enableFormioHelpers","matomoConfig","enable","trackerUrl","appDomain","siteId","LocalizedDatePipe","defaultLocale","DEFAULT_LOCALE","defaultFormat","DEFAULT_DATE_FORMAT","onDestroy$","numOfHours","date","setTime","format","locale","actualFormat","actualLocale","e","warn","addHours","registerCalenderWrapperComponent","QuestionItemComponent","registerTemplateComponent","CriterionEvaluationComponent","formGroup","totalEvaluation","notes","subCriterions","subCriterionKey","subscribeValueChange","valueChanges","total","reduce","acc","currentValue","emitEvent","GroupedTableWrapperComponent","tableConfig","headerRows","colsKeys","tableData","saveControl","isNotesRequired","initView","rowId","editSubmission","row","bodyData","groupedDataOn","groupDataOn","deleteFromBody","extra","generatedKey","method","rv","x","tmep","wizard","pages","getFastPages","withoutFirstLoad","notifyChange","triggerChange","isRequired","cols","rows","rowGroup","initTableHeader","onSort","depth","findHeaderDepth","recursiveFillHeader","colSpan","rowSpan","editable","ratio","currentDepth","depthLoop","max","updateRowGroupMetaData","rowGroupMetadata","rowData","groupField","previousRowData","previousRowGroup","registerResourceAutocompleteWrapperComponent","SortPipe","propertyName","slice","registerClassificationIndicatorsComponent","LicenseInterceptor","alertController","create","backdropDismiss","buttons","text","cssClass","handler","alert","present","req","handle","err","onLicenseInvalid","AssessmentStatusComponent","OptionalInputsPreviewComponent","CustomSelectModule","GeneralReportComponent","criterions","BaseComponent","TimeAgoPipe","changeDetectorRef","ngZone","removeTimer","now","seconds","Math","round","abs","timeToUpdate","isNaN","getSecondsUntilUpdate","timer","runOutsideAngular","window","run","markForCheck","minutes","hours","days","months","clearTimeout","hr","day","ComponentBase","questionsService","questionsStore","description","confirmText","success","RolesEnum","CustomDynamicComponentsModule","ngModule","providers","provide","useValue","multi","registerFormKeyWrapperComponent","ExecutivePlanComponent","matDialog","itimadCriterionsService","decisionInput$","institutionEntries","InstitutionEntries","displayedColumns","decisionInput","plan","isViewOnly","visitId","visitMetaData","deleted","saveExecutivePlan","getExecutivePlan","updateResultData","createTranslateLoader","TranslateLoaderHelper","Error","main","getFormioEnvironment","OrgReviewerFilterComponent","onClear","gender","label","residencePlace","nationalities$","getCountries","localResidenceCity$","getLocalResidenceCity","languages$","getLanguages","generalSpecialty$","getGeneralSpecialty","initFilterForm","filtersForm","arabicName","englishName","mainEmail","nationality","residenceCountry","localResidenceCity","workDestination","delicateSpecialization","generalSpecialty","reviewerState","MasarCriterionsService","updatedCriterionKey$","updatedMainCriterion$","allCriterionEvaluated$","pathSegments","split","path","isFinal","criterionPath","reviewerId","finalCriterionInformationsPath","observe","response","totalItems","body","isCustom","memberId","criterionInformationsEndpoint","payload","put","recommendationId","ClassificationIndicatorsWrapperComponent","indicatorQuery","indicators","hideSummary","eval","hideQuestions","hideAttachments","hideNotesAndRecommendations","hideDecision","hideSaveDomain","hideComments","disableQuestions","disableAttachments","disableNotesAndRecommendations","disableDecision","disableComments","getIndicatorsResources","guid","disableClose","events","indicatorsData","mustUpdateValues","condition","searchAndUpdateComponent","afterChangeItem","visible","resultData","attachmentsForm","domainNotesAndRecommendationsFormKey","domainNotesAndRecommendationsForm","parse","CommentsHistoryDialogComponent","userService","comments$","translationsKey","tabStatusEnum","_columns","translated","columns","translationKey","_prepareColumns","_fetchData","isArray","showLoader","getToken","token","getUserData","userData","resourceKey","hasError","UIChartComponent","platformId","el","plugins","responsive","onDataSelect","isBrowser","_options","_data","val","reinit","initChart","initialized","chart","getElementsAtEventForMode","intersect","dataset","originalEvent","opts","maintainAspectRatio","toBase64Image","generateLegend","update","destroy","MasarExecutivePlanComponent","masarCriterionsService","changeData","registerHtmlEditorComponent","registerCustomSelectComponent","RedirectionButtonWrapperComponent","router","parentRoute","navigate","serviceId","varSubmissionId","targetFormKey","summaryResourceKey","isNotAssigned","minlength","maxlength","DistributeTeamMembersComponent","route","_defaultValue","valid","_value","visitInfoSub","visitInfo$","asObservable","Boolean","v","_getVisitInfo","projectKey","getVisitInfo","number","visitNumber","userRole$","getUserType","updateValue","registerMapComponent","EvaluationScoreMessagePipe","scoreCondition","scoreConditions","lessThan","greaterThan","DateToTimeAgoPipe","CalculatedRowTotalPipe","take","sum","QuestionsStoreService","_storeSub","questionsStore$","getQuestions","_values","cloneDeep","initStore","registerStepperComponent","ScheduleDialogComponent","hookType","dialogHook","hook","replacer","Set","dataType","reviver","GeoLocationService","observer","lastWatchPosition","navigator","geolocation","clearWatch","watchPosition","pos","enableHighAccuracy","lat","lng","Promise","resolve","reject","ajax","google","maps","GeocoderStatus","OK","results","formatted_address","MasarAddEditResponseComponent","responses","leaderDecisions","summaryId","rejected","registerUpdateFormValidation","controls","responseDecision","executeVisitType","FinalReportWithInstitutionEntries","leaderDecision","leaderDecisionform","updatesControl","removeAt","invalid","modelId","recommendationsSummaryId","plans","createResponsesWithExecutive","formModel","responseDecisionValue","saveRecommendationsSummaries","reasons","updates","summaryText","disableLeaderDecision","leaderRejectReason","reasonsControl","setValidators","clearValidators","updateValueAndValidity","addUpdate","getFinalReportResponses","updateform","orginalResponseDecisionValue","patchValue","agmCoreModule","forRoot","apiKey","libraries","FormioCustomComponentModule","IndicatorComponent","attachmentsInstance","NotComplete","Completed","updateIndicator","updateDomain","domainNumber","descriptionValue","indicatorDomainKey","answer","domainKey","domainsId","domainResult","mapDomains","dataResult","resultSubmissionId","recommendations","questIndex","addOrEdit","indicatorResult","obj","toPromise","AuthGuard","keycloakAngular","authenticated","routeConfig","localStorage","setItem","login","requiredRoles","granted","requiredRole","MasarAddEditExecutivePlanComponent","evidences","files","file","fileName","on","requiredResources","expectedOutputs","TitleService","pageTitle","setTitle","translatedTitle","updatedTitle","document","eventListeners","getTitle","QuestionsListComponent","questions$","edit","_visitInfo","SectionComponent","sectionCard","showContainer","hasPadding","TypeB","NoBack","titleClass","NotAllowedComponent","isFromDashboard","getItem","removeItem","keycloakService","logout","origin","MapWrapperComponent","geoLocationService","mapsAPILoader","cdr","zone","focusLocation","selectedLocation","load","searchElementRef","autocomplete","places","Autocomplete","addListener","place","getPlace","geometry","undefined","getCurrentLocation","zoom","iconUrl","mapClickListener","remove","zoomControl","buildCurrentLocationControl","selectLocation","latLng","resetSearch","currentLocationControl","locationButton","createElement","innerHTML","classList","add","ControlPosition","BOTTOM_RIGHT","addEventListener","isNotify","subscription","getPosition","coords","latitude","longitude","setCenter","getReverseGeocodingData","addressAr","addressEn","DistributeTeamMembersModule","CssClassDisplayPipe","resourceItem","optionClass","noop","LoggerService","appPrefix","checkDebugMode","bind","info","trace","debug","table","ExtraFormDialog","formControls","addToSubFormSubmission","onNoClick","updateBaseFormSubmission","SharedModule","showToast","isError","DEFAULT_TABLET_WIDTH","EditgridResourceWrapperComponent","filterFormData","formQuery","isEndpoint","evaluatedUrl","windowProperties","fullscreen","showColumns","currentItem","_editGridItems","filteredItems","formFilterKey","filterIsOpen","filterCols","isDesktopDevice","enableAdaptiveScreen","externalActions","deletedItemsId","selectedItems","enableSelected","getSelectedItems","editGridItems","checkEvaluated","viewType","config","modifyInDialog","searchable","getExternalActions","ids","selectedIds","isChecked","checked","newWidth","defaultFlipWidth","dispatchEvent","CustomEvent","bubbles","detail","rowSubmission","mode","gridItems","_currentForm","_form","makeRequest","ignoreCache","reload","script","checkTrigger","javascript","onFailure","errorMessage","showError","dispatchEventOnly","maxWidth","displayFormKey","closeActive","closeAll","modalDialog","saveResultObjectsOn","_dispatchEvent","enableExternalDelete","writeSubmissionOn","deleteByUrl","makeCalls","filterData","withoutUpdate","list","enablePagination","filters","dateKeys","formFilterComponent","comp","filterKey","properties","mappedKey","pref","prefix","operator","setDate","startOfDay","setUTCHours","endOfDay","endsWith","toISOString","compKey","dataTable","applyFilters","runScript","position","right","formId","col","filteredCols","sources","bindRecordsQuery","bindRecordsResource","requestTimestamp","evaluatedBindRecords","evaluatedBaseData","uniqBy","evaluated","translatable","checkConditions","first","loadByPage","eventName","details","componentKey","rw","HijriDateComponent","dateHelperService","minHijri","getTodayHijri","maxHijri","minGreg","getTodayGreg","maxGreg","hijriDate","year","month","todayHijri","toLocaleString","selectedDate","compineDate","disableConverter","convertDateToHijriAndGerg","calculateValue","redraw","buildBefore","gregorianToHijri","gregorian","hijri","registerResourceDropdownWrapperComponent","FormByKeyComponent","onSubmit","onFormLoad","onCustomEvent","onBeforeSubmit","enableFormSubmit","readOnly","disableFields","excludedFields","disableCurrentForms","ChartsWrapperComponent","chartData","chartLabels","subscriptions$","previousValue","addDelay","chartType","labels","fillPieChart","datasets","backgroundColor","hoverBackgroundColor","TooltipDialog","SafeHtmlPipe","QuestionDecisionComponent","formBuilder","decisionPreview","FinalReport","enableEdit","enabledCopy","isInstitutionEntries","isFinalReportWithInstitutionEntries","inputs","registerCopyEvaluation","controlName","attachmentsControl","isApply","notApply","isUpdate","editCriterionInformation","isFinalReport","createCriterionInformation","_updateForm","isFormDisabled","conditions","reviewerEvaluation","termsOfTheRulingWithEvidence","summaryOfRecommendations","summaryOfCommendations","summaryOfSuggestions","executiveSummary","validators","getCriterionInformation","currentMemberId","criterionInformation","MasarCriteriaPreviewComponent","getCategory","category$","webpackContext","webpackContextResolve","__webpack_require__","code","webpackContextKeys","module","exports","RejectReasonOrgItem","reason","FormioDemoComponent","formReady","isLoggedIn","etecData","snapshot","extraOptions","DisplayTimePipe","registerIndicatorsComponent","SplitAreaDirective","flex","AppComponent","viewportScroller","fullPage$","windowScrolled","_registerCustomComponents","registerCustomScript","registerMatmomScript","pageYOffset","elementId","scrollToAnchor","src","appendChild","configService","getFile","jsRaw","otherRaw","userId","getUsername","jsContent","append","otherContent","noscript","DEFAULT_OPTIONS","buttonIcons","prev","prevYear","nextYear","initialView","nowIndicator","themeSystem","selectable","selectMirror","dayMaxEvents","eventMinHeight","weekNumbers","navLinks","dayMaxEventRows","QuestionCardComponent","selectQuestion","rawResult","registerDynamicChartWrapperComponent","ExecutivePlan","FormIoSkeletonModule","MasarCriterionDecisionComponent","QuestionContentComponent","questionChanged","showForm","answerArray","linkPattern","orginalQuestion","linkValue","notesValue","pledgeValue","questionsResource","mapQuestion","processConfig","AllowedSummaryTypeDirective","renderer","decisionInputs","evaluatedSummaryType","setStyle","DistributeCommonQuestionsComponent","selectedQuestion","sideOpened","resourceQuestion","visit","questionKey","questionText","phase","createQuestion","pushToStore","updateQuestion","refreshStore","_showSuccessAlert","_confirmDialog","deleteQuestion","_showErrorAlert","removeFromStore","visitType","registerRedirectionButtonComponent","easeOutQuad","CountUpDirective","elementRef","count$","duration$","currentCount$","duration","startTime","elapsedTime","progress","displayCurrentCount","currentCount","setProperty","pipes","FormioPipesModule","AssessmentControlComponent","categoryHasChanged","subCategoryKey","loadSubCategores","subCategory","subCategoriresObject","openCategory","initProgressColor","selectDefaultQuestion","goTo","currentQuestion","questionsAssessmentObject","progressChanged","questionBeforeUpdate","updateCategories","optionalInputs","descriptionStandardResult","ceil","completedQuestions","allQuestions","percentage","categoryStat","calcCategoryStat","parseFloat","toFixed","calculatedScore","parentAllCategories","parentCompletedCategories","scoreResult","weight","questionsAssessment","loadQuestions","withResult","processConfigObject","questionsSelect","aInput","hasEvaluationItems","evaluationLevels","css","categoryLevelCount","levelNumber","NotificationsService","stompClient","subscriber","listenerObserver","alreadyConnectedOnce","_notifications","_notificationsCount","connect","connection","createConnection","getCount","doCountNew","connectedPromise","disconnect","unshift","withReset","observable","doGetNotifications","paged","sorted","toUpperCase","doMarkAllAsRead","onOpen","bool","doMarkAsRead","doMarkAsUnread","doDeleteNotification","resp","totalCount","notificationId","RequestsService","dashletFilterAdapter","adapt","isAnonymous","serviceKey","AddEditEventItem","button","MasarMistakeListComponent","mistake","editFinalReportMistakes","createFinalReportMistakes","deleteFinalReportMistakes","getFinalReportMistakes","NumberCounterWrapperComponent","counter","enableUserEntry","step","AddEditDialog","ngOnChanges","scroll","each","removeClass","parentRowSubmission","defaultValue","branches","loadResource","HooksEnum","ResourceAutocompleteWrapperComponent","evaluationDisplayPipe","filterControl","optionsList","displayAs","displayField","_prepareDir","_disableOrEnableCtrl","_updateFilteredList","initLabelHint","_runHookIfActive","OnInit","selectedItem","selectedValue","resetValue","OnValueChange","autocompleteTrigger","openPanel","disable","filteredOptions","filterValue","loadCustomByKeyExists","AfterLoadOptions","_hook","_getHook","active","_evaluate","execute","hooks","labelHint","TotalStatisticPreviewComponent","RatingWrapperComponent","rate","DecisionSummaryComponent","expandedFilter","finalReport","finalReportWithInstitutionEntries","hasResponse","enabledSummary","input","isRecommendations","finalReportResponseId","noteOrder","saveSummaries","getSummaries","RoleGuard","StepperWrapperComponent","cdRef","stepperMenu","messageInfo","activeStep","decisionsFormSubmission","decisionsFormReady","isRequirmentsFormReadOnly","historySummaryResourceKey","isNestedStepper","isFOView","isBOView","stepperData","stepperWrapper","stepper","loadSubStepper","activeStepIndex","currentForm","activeTab","getSubmissions","getStepperData","callback","subStepper","loadStepperData","elem","summarySubmissionId","updateRootIfExist","queryParamMap","parentTaskId","user_preferred_username","fullName","user_name","formSubmissionId","formSubmission","left","nestedStepperData","evnet","off","submitted","notifyCalculatedFileds","changeParentTabSubmittedFlag","decisionsSubmission","setSubmission","isSideItem","eventData","formKeys","effectedTab","callsWhenEffectedTab","effectedTabKeys","formsKeys","conditional","SAVE","checkFormValidation","SAVEDRAFT","onSaveData","checkValidity","onError","errors","saveDraft","isDataSaved","changeTabSubmittedFlag","op","changeTabColor","saveSummaryToHisotryResource","saveDecisionToHistoryResource","addOrEditSummary","historyItem","historySummaryId","historySummaryItem","isDecisionForm","decisionSubmission","isAllStepsSubmitted","detectChanges","moveToNextStep","onSelectStep","AppModule","registerChartsWrapperComponent","register","DynamicChartWrapperComponent","isReady","echartsOption","initEChart","ctx","getElementById","getContext","getChart","translateLabels","echarts","init","option","setOption","resize","ItimadCriterionsService","QuestionsResourceListComponent","addQuestion","_getResource","getResourceData","toLowerCase","mapResourceQuestionsAndUpdateByIsAdded","resourceQuestions","commonQuestions","faq","AddEditMistakeComponent","criterions$","getMainCriterionByVisitKey","mistakeLevels","mistakeLevel","suggestedSolution","registerCommentsHistoryWrapperComponent","FooterComponent","footerContent$","footerTemplate$","tpl","_prepareTemplate","p1","DisplayOrderPatternPipe","displayNumberBy","questionNumberPattern","initializer","session","platform","switchLangService","loadConfig","setupEssentials","loadUserProfileAtStartUp","initOptions","onLoad","checkLoginIframe","enableBearerInterceptor","bearerExcludedUrls","helper","decodedToken","decodeToken","changeLang","checkLicense","loadUserProfile","keycloakEvents$","OnTokenExpired","updateToken","OnAuthRefreshError","OnAuthRefreshSuccess","kc","getKeycloakInstance","HeaderComponent","logo","loggedIn","myDate","languages","selectedLang","_registerDelayPlugin","initModelsManagementResource","_prepareDates","isLogin","_getUserDataToken","DataToken","redirectUri","profile","userDetails","getTokenData","newDate","time","hour","hour12","todaysDataTime","DelayPlugin","priority","preRequest","requestArgs","header","Headers","registerPlugin","modelsManagementResource","getModelsManagement","initModelsManagement","getManageMenuData","menuItems","menus","internalPage","_appearance","appearance","isActive","generateMenuItem","IndicatorStatus","Indicator","IndicatorDomain","IndicatorQuestions","CRITERION_TYPE","AssessmentWrapperComponent","proccessResource","proccessSelect","categorySelect","_interpolateData","_getAssessmentsResources","openDialog","categoryAssessment","_getCategoryAssessment","_prepareCategoryConfig","TotalStatisticComponent","CustomSelectComponent","selectService","_config","_optionsSub","options$","_callHook","multiple","closeOnSelect","selectableGroup","selectableGroupAsModel","dispatchEvents","hideSelected","_prepareOptions","_prepareData","itemTemplate","groupTemplate","selectedTemplate","bindLabel","bindValue","bindGroup","groupBy","searchFn","_search","searchFields","term","_getDataFromUrl","_getDataFromRequest","requestData","_prepareRequest","onSuccess","_evaluateData","_interpolate","string","getFormConfig","hookData","EditTemplateDialog","documentTemplatesService","$event","blobData","objectUrl","URL","createObjectURL","href","download","click","revokeObjectURL","PDFWrapperComponent","primengConfig","ripple","clonedClassContainer","containerClassName","classContainer","getElementsByClassName","cloneNode","clonedIdContainer","containerIdName","idContainer","texts","querySelectorAll","font","wordSpacing","pdfOptions","save","ReviewingEvaluationWrapperComponent","_criterionsSub","prepareData","isInvalidTotalEvaluation","subCriterion","updateBindedComponent","evaluation","fromRange","to","toRange","CalenderWrapperComponent","_isOpTionsReadySub","isOpTionsReady$","customCalendarOptions","calendarEvents","_subscribeToLanguage","_prepareEvents","_triggerResize","calendarApi","fullCalendar","getApi","_goToDate","jumpToDate","_string","dataKey","gotoDate","_initCalendar","render","calendarOptions","curr","Event","view","dateType","customButtons","_canClear","_showAddButton","btn","dateButtons","_showDateTypeBtns","clearEvents","_clearAllEvents","addEvent","_canAdd","_openEventDialog","headerToolbar","center","locales","calendar","eventClick","args","_handleEventClick","eventResize","_handleEventResize","_handleSelect","navLinkDayClick","jsEvent","_handleDayClick","eventMouseEnter","_handleEventMouseEnter","eventMouseLeave","_handleEventMouseLeave","dateClick","_continue","moment","_handleDateClick","dayCellDidMount","eventContent","arg","ce","titleText","extendedProps","sessionType","isSessionRequired","requiredSession","childs","content","borderColor","timeText","_canDelete","_appendDeleteButton","onclick","_deleteEvent","querySelector","removeChild","_canEdit","_clearDayEvents","changeView","ev","redirect","_redirectEvent","canOpenDialog","_canView","redirectObj","external","relative","relativeTo","skipLocationChange","start","end","dateStr","calculatedSubmission","rootData","dialogForm","override","dialogCustomOptions","_addEvent","_updateEvent","_mapToEventObject","colors","Submit","_toUtcDate","startDay","startOf","endDay","endOf","inDay","isSame","isAfter","isBefore","_toLocalDate","className","emptyObj","local","OrgService","isMassar","customReviewersAvailable","customMasarReviewersAvailable","MembersSelectorComponent","cd","selectionChange","onTouch","onValidationChange","fn","isDisabled","control","members$","getSessionMembers","getCriterionMembers","matSelect","createExternalService","registerDistributeTeamMembersComponent","IndicatorQuestionComponent","registerNumberCounterComponent","TableTreeWrapperComponent","filterUpdate","filterKeyword","activeNode","activeParentNode","activeNodeData","checkIsMain","showMainBranch","fieldName","isMain","checkResources","parentApiKey","initFilterListener","filteredTreeSource","filterDataSource","checkMainBranch","clearActive","activeNodeState","checkOpenInDialog","comfirmed","accredited","notify","confirmedFieldName","findNodeByKey","hasRelated","removedId","deleteFromResource","keyword","recursiveFilterNode","f","n","branchesIds","branchesData","mainBranch","hasMainBransh","nameAr","nameEn","justInData","justIds","levelsIds","recursiveFillResourceLevel","fillDataResult","tableTreeLevels","apiRequests","fillFromApi","enableDefaultSelect","viewDialog","levelsIdsIndex","nodeApiData","allApisData","subNode","subNodeIndex","tempItems","tempItem","MembersLengthPipe","_item","members","Destroy","destroySubject$","TemplateWrapperComponent","templateObjectsService","templates","getTemplatesResources","evaluatedTemplate","editTemplate","base64","getRequestData","processHostUrl","flattenData","flatten","test","localizedFields","keyParts","uid","referenceNumber","creationDate","initByValue","encodeURI","evaluatedTemplateName","isTemplate","dailog","originalName","annotationEnabled","updateAfterOpen","baseValue","flattenedKey","newKey","traverseAndFlatten","flattenedObject","afterOpen","nameSegments","TableViewWrapperComponent","downloadPDF","conditionalField","translationsObj","showFOColumns","showBOColumns","queryField","queryOperator","sortParam","FilterFOColumns","showCustomFOColumns","exportColumns","HTML_Width","HTML_Height","canvas_image_width","canvas_image_height","top_left_margin","PDF_Width","PDF_Height","totalPDFPages","allowTaint","useCORS","scale","canvas","imgData","toDataURL","pdf","setLineHeightFactor","addImage","addPage","exportPDF","CardWrapperComponent","registerReviewingEvaluationComponent","EditGridRequiredValidator","EvidencesRequiredValidator","AnswerValidator","averageToPass","MasarAnswerValidator","subAnswers","evaluationsAnswerd","evaluationItem","MasarSubAnswerValidator","registerPDFWrapperComponent","SortHelper","p","MasarQuestionDecisionComponent","SessionDetails","allQuestionsAnswered","isSessionNotStarted","sessionChecked","sessionStarted","enabledCopyToExecutiveSummary","documents","evaluationJustifications","lastSubAnswers","evidencesValue","evidence","sa","getDocuments","selectedDocument","setControl","DistributeCommonQuestionsModule","registerHijriDateComponent","ExecuteVisitResult","CriterionsTreeComponent","changeCriterion","selectedNode","subCriteria","userRole","expand","DisplayExternalActionsDirective","appDisplayExternalActions","displayAction","ConfigService","formConfigService","storageCssKey","footerSub","smallLogo","userAvatar","filePath","defaultConfig$","cssVariable","cachedData","getUpdatedConfig","currentRevision","revisionsNumber","_validateCurrentRevisions","isSameVersion","getDefaultCachedData","getAppConfig","config$","changeFont","cssVars","_generateCssVars","_appendCssVarsToRoot","loadOverrideCss","footer","fontFamily","favicon","red","green","blue","parts","imagesKeys","_extendsOptions","excludesKeys","CSS","supports","_getCssColorVar","setAttribute","sheet","head","customFont","FontFace","loaded_face","fonts","getElementsByTagName","stylesheet","rel","customCss","GetValuePipe","optionValue","_default","getOptionValue","webpackAsyncContext","webpackAsyncContextKeys","CriteriaPreviewComponent","CalculatedRatioPipe","firstFiled","secondFiled","second","CustomSelectService","AddEditOrgItem","selectedPage","dataSource$","selectedRow","filterQuery","isFormio","profileResourceData","pageIndex","searchWithReset","getReviewers","registerVisitScheduleComponent","PageComponent","SplitHandleDirective","ref","getMouseEventPosition","movementX","y","movementY","mousedown$","mousemove$","mouseup$","drag","mousedown","mousemove","EvaluationDisplayPipe","evaluateString","CriterionPreviewComponent","AddEditEditgridContent","backToGrid","readConfigFrom","loadById","saveByData","saveAndContinue","saveResourceData","closeWithSubmission","submitForm","DistributeService","_visitMembersSubs","_prepareURLS","user_roles","getVisitInfoPath","skipCache","getMembersPath","getCriterionPath","getSessionsPath","updateSessionMembersPath","addCriterionMembersPath","deleteCriterionMembersPath","getSessionMemberPath","registerAssessmentComponent","removeEmpty","isObject","cleanedValue","isBoolean","isNumeric","isFunction","constructor","Function","resolveFieldData","len","MasarExecutiveSummaries","QUILL_MODULES_LITE","toolbar","indent","align","MasarCriterionsTreeComponent","quillModules","summaries","allCriterionEvaluated","executiveSummaryHTML","mistakeDisabled","showMemberDropdown","TEAM_LEADER","getTreeData","decisionTakenListener","hasMistakeListener","criterionKeyListener","registerCopyToExecutiveSummary","notesDecision","responseNotesDecision","selectedMember","reviewer","enableDecisionEdit","categoriesCompliance","isMasar","currentReviewerId","disableEntityResponse","getMyCriterionByVisitKey","getAllCriterionByVisitKey","getProccess","getExecutiveSummary","mainCriterionKeys","flatCriterion","extractChildren","prototype","apply","OptionalInputsComponent","changeCategory","defaultEditorValue","orginalCategory","optionalInput","mapCategory","isDescriptionStandardRequired","tempOptionalInputs","r","pledgeIsRequired","CommonQuestionsService","_prepareUrls","visits","questionsPath","postPath","deletePath","masarVisitPath","masarVisit","visitSessions","pahse","accreditationType","submissions","ExecuteVisitType","EvaluatedSummaryType","DeleteDialogComponent","DEFAULTS_IMAGES","sectionsIcon","CUSTOM_CSS","DEFAULT_FOOTER","DEFAULTS_COLORS","primary50","primary100","primary200","primary300","primary400","primary500","primary600","primary700","primary800","primary900","primaryA100","primaryA200","primaryA400","primaryA700","primaryContrast50","primaryContrast100","primaryContrast200","primaryContrast300","primaryContrast400","primaryContrast500","primaryContrast600","primaryContrast700","primaryContrast800","primaryContrast900","primaryContrastA100","primaryContrastA200","primaryContrastA400","primaryContrastA700","accent50","accent100","accent200","accent300","accent400","accent500","accent600","accent700","accent800","accent900","accentA100","accentA200","accentA400","accentA700","accentContrast50","accentContrast100","accentContrast200","accentContrast300","accentContrast400","accentContrast500","accentContrast600","accentContrast700","accentContrast800","accentContrast900","accentContrastA100","accentContrastA200","accentContrastA400","accentContrastA700","primaryColor","warningColor","accentColor","secondaryColor","successColor","accentColor200","redColor","accentColor50","DEFAULTS_THEM_OPTIONS","DEFAULT_CONFIG","GetMemberNamePipe","_dKey","AddEditResponseComponent","editFinalReportResponses","createFinalReportResponses","LifeCycleService","PUBLISHED","UNPUBLISHED","DRAFT","StatusConfig","ProcessConfig","ScoreConditionsConfig","messageAr","messageEn","CategoryConfig","sumScore","pledgeName","attachmentIsRequired","descriptionAr","descriptionEn","errorAr","errorEn","isScoreValid","originKey","categoryNumberPattern","sumQuestions","OptionalInputConfig","QuestionConfig","linkTooltipAr","linkTooltipEn","notesName","linkName","AnswerConfig","AttachmentsConfig","attachmentNameAr","attachmentNameEn","EvaluationItemsConfig","EvaluationLevelsConfig","arabicLabel","englishLabel","NotificationItemComponent","notificationAction","notificationContent","isArabic","notificationContents","showBackdrop","popover","onDidDismiss","updateNotification","servicesService","accountService","titleService","filterPipe","queryString","replaceState","protocol","host","pathname","str","encodeURIComponent","search","decodeURI","OrgWrapperComponent","baseHref","orgData","menuTopLeftPosition","showTakeDecisionMsg","hasRejectedDecision","decisionState","approve","hasDecision","decisionKey","takeDecision","decisionKeys","rejectReasonKey","rejectReasonKeys","cssDecisionKey","cssDecisionKeys","orgNodeConfig","initItems","dataItems","initValue","dataItem","cleanData","customValidationValid","maxItem","validateChildren","checkRejectedDecision","checkAllDecisions","nodes","findByKey","parentMaxItems","findParentMaxItem","relatedToParent","clientX","clientY","enabled","roleInSameParentCount","flat","findDataModel","matMenuTrigger","menuData","openMenu","deleteNode","showRejectReason","rejectKey","k","editDataItem","getSelectedIds","bindResult","addToParent","findLast","recursiveInitValue","nodeItem","childrenNodes","recursiveDeleteNode","dataModel","excludeEditId","dm","image","WZoom","minScale","maxScale","zoomOnClick","LOGGER","registerLogger","FormKeyWrapperComponent","RolesTypeEnum","MasarRolesEnum","registerExecuteVisitComponent","FormAuthConfig","CoreModule","MemberLengthIconComponent","IndicatorsWrapperComponent","hideNotes","hideRecommendations","disableNotes","disableRecommendations","updateBaseForm","checkCondition","indicatorsId","environmentLoader","xmlhttp","XMLHttpRequest","onload","responseText","send","MasarQuestionPreviewComponent","RequestFeedbackComponent","requestsService","feedbackSubmission","requestDetailsSubmission","feedbackId","getRequestAndFeedbackDetails","getRequest","requestDate","substr","checkRequestFeedback","ratingScale","feedbackFormKey","goToRequestDetails","afterSubmit","DynamicQrComponent","dataId","goBack","ScrollRetainerDirective","matTabGroup","matTabGroupEl","animationSub","EMPTY","orig","_handleClick","tab","tabHeader","minHeight","clientHeight","animationDone","SessionService","_userProfile","_licenseValid","getAccount","_userRoles","getUserRoles","_role","CopyModel","AddEditResourceDialog","maxValidator","nullValidator","minValidator","SELECT","addControl","loadCustomByKey","updateTranslation","getTranslations","resourceId","getParentKey","excludeTranslationsFromBody","formControl","pro","DocumentEditorSidebarComponent","toastr","clipboardService","selectField","labelKeyMap","listData","htmlAttributes","draggable","copy","messageClass","QuestionsContainerComponent","_isOpened","opened","SplitDirective","onDrag","delta","parentWidth","clientWidth","areas","area","subDelta","activatedValue","calculateSize","flexPerc","areaCur","areaPx","areaDiff","newAreaPx","registerGroupedTableComponent","CriteriaDecisionComponent","initFinalReportMistakesForm","finalReportMistakesForm","mistakeId","_updateFinalReportMistakesForm","complianceEvaluation","disabledInstitutionEntries","getCriterionInformationForMainCriterion","showInstitutionEntries","mistakes","initCategory","SwitchLangService","defaultLang","documentElement","getSelectedLang","setDefaultLang","use","fixDom","sourceString","SummaryFilterComponent","onCloseFilter","getMembersByVisitKey","getStickQuestionByVisitKey","memberArabicName","memberEnglishName","getCriterionInformationForAll","registerRatingWrapperComponent","PaginatorI18n","getRangeLabel","endIndex","translation","itemsPerPageLabel","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","MasarCriteriaDecisionComponent","allSubsEvaluated","criterionSummary","CriterionDecisionComponent","ComponentMode","CalculatedRowRatioPipe","firstFiledIndex","secondFiledIndex","CopyDecisionComponent","clicked","ExecuteVisitWrapperComponent","isMistakeDisabled","hideMistake","registerResultsListener","All","evaluatedMetaData","registerFormioListener","MasarDecisionSummaryComponent","enableEntityResponse","isLeaderDecision","mainCriterionListener","criterionKeys","getPaginatedSummaries","ProccessRequirmentsWrapperComponent","bootstrapClass","requirments","getRequirmentsResources","checkedCount","TeamMembersComponent","selectedMembers","selectedSourceList","_sourceSub","source$","selectedTargetList","_targetSub","target$","targetChanges","memberA","memberB","_initMembersList","_subscribeToTargetChanges","_watchMembersChanges","_addToTarget","_removeFromSource","_addTosSource","_removeFromTarget","sourceTeam","selectAll","targetTeam","firstChange","_resetSelected","cur","_checkIfNotSelected","it","newData","mbr","registerEditgridResourceComponent","m","routes","pathMatch","redirectTo","loadChildren","canActivate","AppRoutingModule","FormIOSkeletonComponent","shape","animation","radius","borderRadius","EventTreeWrapperComponent","showConfirmation","eventIndex","eventItemIndex","eventItemForm","dialogHeight","dialogWidth","addEventItem","MasarOptionalInputsPreviewComponent","StatusComponent","ResourceDropdownWrapperComponent","displayValue","isOpened","currentResourceLoading","randomId","registerCloseDroprown","disabledValueTranslation","loadSelected","resourceIndex","checkToLoadPage","selectedValueType","resourceQueryFilter","$trigger","filterkey","VisitScheduleComponent","_defaultEvents","_events","_store","_eventsSub","_visitName","_scheduleNameSub","events$","scheduleName$","visitScheduleName","CREATE","_mergeValuesWithDefaults","EDIT","_updateValues","_listenerToScheduleName","_updateEventsAndEmitValue","_prepareEditData","_generateDefaultEvents","listenerName","listener","defaultVisit","valueObj","_convertToObjById","_getDataFromResource","_convertToResourceObj","resData","defData","visitEndDate","visitStartDate","visitStyle","defaultVisits","visitDays","diff","idx","_generateDefaultsId","dateRange","_getVisitRange","sessionIndex","sessionNumber","CriterionsTabComponent","_initTree","getCriterionByVisitKey","_checkIfCriterionsIsValid","selectedCriterion","_prepareDataToServe","addCriterionMembers","deleteCriterionMembers","_mapMemberToModel","generatedId","PagesComponent","loadModelsManagementResource","checkResource","gridMenu","menu","menuItem","permissions","TemplateProcessComponent","cdref","showActions","hideSideMenu","processClose","saveTemplate","saveAsPDF","saveMerged","entityType","entityId","templateProcessorBaseUrl","fieldsDataObject","groupsDataObject","getCollaburaURL","wopiClientUrl","wopiSrc","wopiUrl","accessToken","submit","textData","actionName","mergeAndRenderToPDFBase64","documentData","backendProcessType","fieldsDataMap","emitClose","ngOnDestroy","ClassificationIndicatorQuestionComponent","dataChanged","isCommentsOpen","instanceForEdit","RegExp","resetResult","calcCompletionRate","prepareQuestion","prepareDomain","prepareIndicator","isSaved","questionScore","savedQuestion","domainCount","CalculatedTotalPipe","FinalReportMistakes","MasarTotalStatisticPreviewComponent","UsersSessionsDialogComponent","compareSessionWithFn","o1","o2","sessions$","prepareSessions","_prepareDataToSave","QuestionsContainerSideComponent","env","ServicesService","collection","populate","getCMSheaders","activeKey","activeVal","_o","getCollectionEntryById","getCollectionAllActive","getCollectionAll","jobTitle","city","employer","organization","salaryType","salaryNegotiation","salaryAmount","opportunityDetailsPanelColumnsExpectedSalaryinSar","applicationStartDate","applicationEndDate","education","educationLevel","vacancies","opportunityDetailsPanelColumnsPositionsCounts","requirements","qualifications","certificates","yearsOfExperience","requiredExperienceYears","branchId","_cityName","_cityId","isCurrentlyEmployed","currentlyWorking","educationAndMajor","specialization","major","educationalQualification","educationPlace","educationalOrganization","graduationYear","graduationScore","gpa","yearOfExperienceSameTitle","experienceYearsPosition","yearOfExperienceOtherTitles","otherExperienceYears","englishLevel","computerSkillsLevel","cv","linkedinProfile","linkedInProfile","candidate","opportunityId","_fullName","_mobile","_nationalId","_birthDate","sendParams","todayDate","sortBy","sortDirection","$or","findKeywordOn","$regex","webpackEmptyAsyncContext","ClassificationIndicator","domainsCount","ClassificationDomain","questionsCount","attachmentsValid","hasChange","ClassificationQuestion","ClassificationStatus","hasComments","ClassificationAttachments","ClassificationYears","ManagersNotes","substring","CompletionRate"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEAAA,se,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA,kT,EAAA,gN,GAIE,iU,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAS,sQ,GACP;AAAA;AAAA,sBAK2C,UAL3C;;AAGE;;;;;AAHF;AAAA,4P,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EACE,yL,GAMJ,kU,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAS,sQ,GACP;AAAA;AAAA,sBAK6C,UAL7C;;AAGE;;;;;AAHF;AAAA,0Q,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EACE,yL,GAA8B;AAAA;AAblC,6BAA+B,cAA/B;;AADF,wBACE,SADF;;AAIW;;AAAT,wBAAS,SAAT;;AACoB,4BAAuB,QAAvB,CAAuB,IAAvB;AAEhB,6BAAa,KAAb;;AADA,gKAA8B,UAA9B;;AAGA,6BAAqB,SAArB;AACA,6BAAqB,SAArB;;AALF,yBAAkB,SAAlB,EAEE,SAFF,EACE,SADF,EAIE,SAJF,EAKE,SALF;;AAOO;;AAAT,yBAAS,SAAT;;AACsB,6BAAuB,QAAvB,CAAuB,IAAvB;AAElB,8BAAa,KAAb;;AADA,iKAA8B,UAA9B;;AAGA,8BAAqB,SAArB;AACA,8BAAqB,SAArB;;AALF,yBAAoB,UAApB,EAEE,UAFF,EACE,UADF,EAIE,UAJF,EAKE,UALF;AAKuB,S,EAAA;AAlB3B;;AAAA;;AAAA;AAAA,S;AAAA;;;;;kBAGE,yL,GAAA;AAAA;;AAAA,8JAAuC,WAAvC;;AAHF,wBAGE,SAHF;AAGyC,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAsBaA,+B;AA8BT,iDAAoBC,aAApB,EACYC,mBADZ,EAEYC,gBAFZ,EAEgD;AAAA;;AAF5B,eAAAF,aAAA,GAAAA,aAAA;AACR,eAAAC,mBAAA,GAAAA,mBAAA;AACA,eAAAC,gBAAA,GAAAA,gBAAA;AA1BF,eAAAC,OAAA,GAAU,IAAI,0DAAJ,EAAV;AACA,eAAAC,gBAAA,GAAmB,IAAI,0DAAJ,EAAnB;AAIV,eAAAC,OAAA,GAAU,EAAV;AACA,eAAAC,aAAA,GAAiC,EAAjC;AACA,eAAAC,OAAA,GAAU,KAAV;AACA,eAAAC,sBAAA,GAAyB,KAAzB;AAEA,eAAAC,aAAA,GAAgB,KAAhB;AAEA,eAAAC,KAAA,GAAQ,EAAR;AACA,eAAAC,IAAA,GAAO,CAAP;AACA,eAAAC,YAAA,GAAe,CAAf;AACA,eAAAC,gBAAA,GAAmB,CAAnB;AAEQ,eAAAC,IAAA,GAAuB,EAAvB;AAUP;;;;eATD,aAAQC,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;eAE/C,eAAa;;;AACT,mBAAO,YAAKE,IAAL,CAAUC,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEC,MAApB,MAA0B,kBAAI,KAAKF,IAAL,CAAUC,QAAd,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEE,YAAxB,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAEH,IAAtC,MAA0C,IAA1C,IAA0C,aAA1C,GAA0C,MAA1C,GAA0C,GAAEE,MAAtE,CAAP;AACH;;;iBAMD,oBAAQ;AACJ,iBAAKE,QAAL;AACH;;;iBAED,sBAAa;AACT,iBAAKC,cAAL,CAAoBC,aAApB,CAAkCC,KAAlC,CAAwCC,MAAxC,GAAiD,KAAKC,UAAL,CAAgB,KAAKJ,cAAL,CAAoBC,aAApB,CAAkCI,KAAlD,IAA2D,IAA5G;AACH;;;iBAED,uBAAW;AACP,iBAAKb,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACH;;;iBAED,iBAAQ;AACJ,iBAAKX,OAAL,CAAa2B,IAAb;AACH;;;iBAED,gBAAO;AAAA;;;;AACH,gBAAI,CAAC,KAAKzB,OAAN,IAAiB,KAAKE,OAAtB,IAAkC,KAAKC,sBAAL,IAA+B,CAAC,KAAKuB,OAA3E,EAAqF;;AACrF,gBAAI,KAAKA,OAAT,EAAkB;AACd,mBAAKC,aAAL;AACA;AACH;;AAED,gBAAMC,OAAO,GAAG,IAAI,qFAAJ,EAAhB;AACAA,mBAAO,CAACC,oBAAR,GAA+B,KAAKC,UAApC;AACAF,mBAAO,CAACG,SAAR,GAAoB,YAAKnB,IAAL,CAAUC,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEkB,SAApB,MAA6B,kBAAI,KAAKnB,IAAL,CAAUC,QAAd,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEmB,cAAxB,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAEpB,IAAxC,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAEqB,YAA3E,CAApB;AACAL,mBAAO,CAACd,MAAR,GAAiB,KAAKA,MAAtB;AACAc,mBAAO,CAACM,QAAR,GAAmB,CAAH,KAAG,KAAKtB,IAAL,CAAUC,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEsB,8BAAvC;AACAP,mBAAO,CAACQ,SAAR,GAAoB,CAAH,KAAG,KAAKxB,IAAL,CAAUC,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEwB,gBAAxC;AACAT,mBAAO,CAACU,KAAR,GAAgB,CAAH,KAAG,KAAK1B,IAAL,CAAUC,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE0B,iBAApC;AACAX,mBAAO,CAACY,IAAR,GAAe,CAAH,WAAG,KAAK5B,IAAL,CAAUC,QAAb,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE4B,iBAApB,MAAqC,IAArC,IAAqC,aAArC,GAAqC,MAArC,GAAqC,GAAEC,IAAF,EAApD;AACAd,mBAAO,CAACe,UAAR,GAAqB,KAAKC,aAAL,EAArB;AACAhB,mBAAO,CAAC5B,OAAR,GAAkB,KAAKA,OAAvB;AACA,mBAAO4B,OAAO,CAACiB,GAAf;AACA,mBAAOjB,OAAO,CAACkB,MAAf;AAEA,gBAAMC,OAAO,GAAG,KAAKC,cAAL,CAAoB,KAAKC,SAAL,CAAeJ,GAAnC,EAAwC,KAAKK,QAA7C,EAAuD,KAAKpB,UAA5D,EAAwE,KAAKhB,MAA7E,CAAhB;AACA,gBAAMqC,KAAK,GAAG,CACV,KAAKvD,mBAAL,CAAyBwD,aAAzB,CAAuC,KAAKxC,IAAL,CAAUyC,aAAV,CAAwBpD,aAA/D,EAA8E;AAAEW,kBAAI,EAAEgB;AAAR,aAA9E,CADU,EAEV,KAAKhC,mBAAL,CACI0D,eADJ,CACoB,KAAK1C,IAAL,CAAUyC,aAAV,CAAwBE,iBAD5C,EAEQ,KAAKN,SAAL,CAAeJ,GAFvB,EAGQ,CAAC;AAEG,oBAAM,KAFT;AAGG,sBAAQ,eAHX;AAIG,uBAASW,IAAI,CAACC,SAAL,CAAeV,OAAf,EAAwB,6DAAxB;AAJZ,aAAD,CAHR,CAFU,CAAd;AAcA,iBAAK7C,OAAL,GAAe,IAAf;AACA,iBAAKwD,GAAL,GAAW,sDAASP,KAAT,EACNQ,SADM,CACI,UAAC/C,IAAD,EAAiB;AACxB,mBAAI,CAACZ,OAAL,GAAe,EAAf;;AACA,mBAAI,CAAC4D,UAAL;;AACAhC,qBAAO,CAACiB,GAAR,GAAcjC,IAAI,CAAC,CAAD,CAAJ,CAAQiC,GAAtB;AACAjB,qBAAO,CAACiC,OAAR,GAAkBjD,IAAI,CAAC,CAAD,CAAJ,CAAQiD,OAA1B;AACAjC,qBAAO,CAACkB,MAAR,GAAiB,IAAjB;;AACA,mBAAI,CAAC7C,aAAL,CAAmBU,IAAnB,CAAwBiB,OAAxB;;AACA,mBAAI,CAACzB,sBAAL,GAA8B,IAA9B;AACA,mBAAI,CAAC8C,SAAL,CAAeF,OAAf,GAAyBA,OAAzB;;AACA,mBAAI,CAAChD,gBAAL,CAAsB0B,IAAtB;;AAEA,mBAAI,CAACqC,cAAL;;AACA,mBAAI,CAAC5D,OAAL,GAAe,KAAf;AACA6D,wBAAU,CAAC,YAAM;AAAE,qBAAI,CAAC9C,cAAL,CAAoBC,aAApB,CAAkC8C,KAAlC;AAA4C,eAArD,CAAV;AACH,aAfM,EAeJ,UAAAC,KAAK,EAAI;AACR,mBAAI,CAAC/D,OAAL,GAAe,KAAf;AACA,8EAAU,KAAI,CAACP,aAAf,EACI,KAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CADJ,EAEI,KAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,cAA9B,CAFJ,EAGI,IAHJ;AAKH,aAtBM,CAAX;AAuBH;;;iBAED,cAAKC,IAAL,EAA0BC,KAA1B,EAAiC;AAC7BA,iBAAK,CAACC,eAAN;AACA,iBAAKC,WAAL,CAAiBC,SAAjB;AACA,iBAAK7C,OAAL,GAAe,wDAAWyC,IAAX,CAAf;AACA,iBAAKnE,OAAL,GAAe,KAAK0B,OAAL,CAAa1B,OAA5B;AACH;;;iBAED,iBAAOwE,KAAP,EAAsBL,IAAtB,EAA2CC,KAA3C,EAAkD;AAAA;;AAC9CA,iBAAK,CAACC,eAAN;AACA,iBAAKC,WAAL,CAAiBC,SAAjB;AACA,6DAA+B,KAAK3D,IAAL,CAAU6D,eAAzC,EAA0D,YAAM;AAC5D,kBAAM1B,OAAO,GAAG,MAAI,CAAC2B,2BAAL,CAAiC,MAAI,CAACzB,SAAL,CAAeJ,GAAhD,EAAqD,MAAI,CAACK,QAA1D,EAAoE,MAAI,CAACpB,UAAzE,CAAhB;;AACA,kBAAMqB,KAAK,GAAG,CACV,MAAI,CAACvD,mBAAL,CAAyB+E,kBAAzB,CAA4C,MAAI,CAAC/D,IAAL,CAAUyC,aAAV,CAAwBpD,aAApE,EAAmFkE,IAAI,CAACtB,GAAxF,CADU,EAEV,MAAI,CAACjD,mBAAL,CACI0D,eADJ,CACoB,MAAI,CAAC1C,IAAL,CAAUyC,aAAV,CAAwBE,iBAD5C,EAEQ,MAAI,CAACN,SAAL,CAAeJ,GAFvB,EAGQ,CAAC;AAEG,sBAAM,KAFT;AAGG,wBAAQ,eAHX;AAIG,yBAASW,IAAI,CAACC,SAAL,CAAeV,OAAf,EAAwB,6DAAxB;AAJZ,eAAD,CAHR,CAFU,CAAd;AAcA,oBAAI,CAAC7C,OAAL,GAAe,IAAf;AACA,oBAAI,CAACwD,GAAL,GAAW,sDAASP,KAAT,EACNQ,SADM,CACI,UAAC/C,IAAD,EAAiB;AACxB,sBAAI,CAACR,aAAL,GAAqB,IAArB;;AACA,sBAAI,CAACH,aAAL,CAAmB2E,MAAnB,CAA0BJ,KAA1B,EAAiC,CAAjC;;AACA,sBAAI,CAACvB,SAAL,CAAeF,OAAf,GAAyBA,OAAzB;AACA,sBAAI,CAAC5C,sBAAL,GAA8B,KAA9B;;AACA,sBAAI,CAACJ,gBAAL,CAAsB0B,IAAtB;;AACA,sBAAI,CAACvB,OAAL,GAAe,KAAf;AACA6D,0BAAU,CAAC,YAAM;AAAE,wBAAI,CAAC9C,cAAL,CAAoBC,aAApB,CAAkC8C,KAAlC;AAA4C,iBAArD,CAAV;AACH,eATM,EASJ,UAAAC,KAAK,EAAI;AACR,sBAAI,CAAC/D,OAAL,GAAe,KAAf;AACA,gFAAU,MAAI,CAACP,aAAf,EACI,MAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CADJ,EAEI,MAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,cAA9B,CAFJ,EAGI,IAHJ;AAKH,eAhBM,CAAX;AAiBH,aAlCD,EAkCG,IAlCH,EAkCS,kCAlCT;AAmCH;;;iBAED,kBAASE,KAAT,EAAgB;AACZ,gBAAI,CAAC,KAAKhE,aAAN,IAAuBgE,KAAK,CAACS,MAAN,CAAaC,SAAb,IAA0B,CAAjD,IAAsD,KAAK7E,aAAL,CAAmB8E,MAAnB,GAA4B,KAAKxE,YAA3F,EAAyG;AACrG,mBAAKD,IAAL,IAAa,EAAb;AACA,mBAAKU,QAAL,CAAc,IAAd;AACH;;AACD,iBAAKZ,aAAL,GAAqB,KAArB;AACH;;;iBAED,mBAAUoE,KAAV,EAAyB5C,OAAzB,EAA+C;AAC3C,mBAAOA,OAAO,CAACiB,GAAf;AACH;;;iBAEO,yBAAgB;AAAA;;AACpB,iBAAK3C,OAAL,GAAe,IAAf;AACA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CAAyB0D,eAAzB,CAAyC,KAAK1C,IAAL,CAAUyC,aAAV,CAAwBpD,aAAjE,EACP,KAAKyB,OAAL,CAAamB,GADN,EACW,CAAC;AAEf,oBAAM,KAFS;AAGf,sBAAQ,eAHO;AAIf,uBAAS,KAAKnB,OAAL,CAAa1B;AAJP,aAAD,CADX,EAMH2D,SANG,CAMO,UAAC/C,IAAD,EAAiB;AAC3B,oBAAI,CAACX,aAAL,CAAmB+E,IAAnB,CAAwB,UAAAC,CAAC;AAAA,uBAAIA,CAAC,CAACpC,GAAF,IAAS,MAAI,CAACnB,OAAL,CAAamB,GAA1B;AAAA,eAAzB,EAAwD7C,OAAxD,GAAkE,MAAI,CAACA,OAAvE;AACA,oBAAI,CAACA,OAAL,GAAe,EAAf;AACA,oBAAI,CAAC0B,OAAL,GAAe,IAAf;;AAEA,oBAAI,CAACoC,cAAL;;AACA,oBAAI,CAAC5D,OAAL,GAAe,KAAf;AACA6D,wBAAU,CAAC,YAAM;AAAE,sBAAI,CAAC9C,cAAL,CAAoBC,aAApB,CAAkC8C,KAAlC;AAA4C,eAArD,CAAV;AACH,aAdM,EAcJ,UAAAC,KAAK,EAAI;AACR,oBAAI,CAAC/D,OAAL,GAAe,KAAf;AACA,8EAAU,MAAI,CAACP,aAAf,EACI,MAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CADJ,EAEI,MAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,cAA9B,CAFJ,EAGI,IAHJ;AAKH,aArBM,CAAX;AAsBH;;;iBAEO,oBAAoC;AAAA;;AAAA,gBAA3BgB,QAA2B,uEAAP,KAAO;AACxC,iBAAKhF,OAAL,GAAe,IAAf;AACA,gBAAMiF,UAAU,GAAG,wDAAW,KAAKvE,IAAL,CAAUuE,UAArB,CAAnB;AACAA,sBAAU,CAACtD,oBAAX,GAAkC,KAAKC,UAAvC;AACA,gBAAMsD,KAAK,GAAG,+DAAUC,WAAV,CAAsB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwBiC,kBAA9C,EAAkE;AAAE1E,kBAAI,EAAEuE;AAAR,aAAlE,kCAAiH,KAAK7E,IAAtH,oBAAoI,KAAKD,KAAzI,CAAd;AACA,iBAAKqD,GAAL,GAAW,KAAK9D,mBAAL,CAAyB2F,QAAzB,CAAkC,KAAK3E,IAAL,CAAUyC,aAAV,CAAwBpD,aAA1D,EAAyEmF,KAAzE,EACNzB,SADM,CACI,UAAA/C,IAAI,EAAI;AACf,kBAAIsE,QAAJ,EAAc;AACV,oBAAMM,UAAU,GAAG5E,IAAI,CAACA,IAAL,CAAU6E,GAAV,CAAc,UAAAR,CAAC,EAAI;;;AAClCA,mBAAC,GAAG,MAAH,OAAG,CAAH,kBAAQA,CAAC,CAACrE,IAAV,CAAG,EAAW;AAAEiD,2BAAO,EAAEoB,CAAC,CAACpB,OAAb;AAAsBhB,uBAAG,EAAEoC,CAAC,CAACpC;AAA7B,mBAAX,CAAJ;AACA,sBAAM7C,OAAO,GAAG,IAAI,qFAAJ,EAAhB;;AACA,kFAAW0F,SAAX,CAAqBT,CAArB,EAAwBjF,OAAxB;;AACAA,yBAAO,CAAC8C,MAAR,GAAiB9C,OAAO,CAACsC,KAAR,KAAa,MAAI,MAAI,CAAC1B,IAAL,CAAUC,QAAd,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE0B,iBAArC,CAAjB;AACA,yBAAOvC,OAAP;AACH,iBANkB,CAAnB;AAOA,sBAAI,CAACC,aAAL,GAAqBuF,UAAU,CAACG,OAAX,GAAqBC,MAArB,CAA4B,MAAI,CAAC3F,aAAjC,CAArB;;AACA,sBAAI,CAAC4F,mBAAL;AACH,eAVD,MAUO;AACH,sBAAI,CAACtF,YAAL,GAAoBK,IAAI,CAACL,YAAzB;AACA,sBAAI,CAACN,aAAL,GAAqBW,IAAI,CAACA,IAAL,CAAU6E,GAAV,CAAc,UAAAR,CAAC,EAAI;;;AACpCA,mBAAC,GAAG,MAAH,OAAG,CAAH,kBAAQA,CAAC,CAACrE,IAAV,CAAG,EAAW;AAAEiD,2BAAO,EAAEoB,CAAC,CAACpB,OAAb;AAAsBhB,uBAAG,EAAEoC,CAAC,CAACpC;AAA7B,mBAAX,CAAJ;AACA,sBAAM7C,OAAO,GAAG,IAAI,qFAAJ,EAAhB;;AACA,kFAAW0F,SAAX,CAAqBT,CAArB,EAAwBjF,OAAxB;;AACAA,yBAAO,CAAC8C,MAAR,GAAiB9C,OAAO,CAACsC,KAAR,KAAa,MAAI,MAAI,CAAC1B,IAAL,CAAUC,QAAd,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE0B,iBAArC,CAAjB;AACA,yBAAOvC,OAAP;AACH,iBANoB,EAMlB2F,OANkB,EAArB;AAOA,sBAAI,CAACxF,sBAAL,GAA8B,MAAI,CAACF,aAAL,CAAmB6F,IAAnB,CAAwB,UAAAb,CAAC;AAAA,yBAAIA,CAAC,CAACnE,MAAF,IAAY,MAAI,CAACA,MAArB;AAAA,iBAAzB,CAA9B;;AACA,sBAAI,CAACgD,cAAL;AACH;;AACD,oBAAI,CAAC5D,OAAL,GAAe,KAAf;AACH,aAzBM,EAyBJ,UAAA+D,KAAK,EAAI;AACR,oBAAI,CAAC/D,OAAL,GAAe,KAAf;AACA,8EAAU,MAAI,CAACP,aAAf,EACI,MAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CADJ,EAEI,MAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,cAA9B,CAFJ,EAGI,IAHJ;AAKH,aAhCM,CAAX;AAiCH;;;iBAEO,+BAAsB;AAAA;;AAC1BH,sBAAU,CAAC,YAAM;AACb,kBAAMgC,SAAS,GAAGC,CAAC,CAAC,0BAAD,CAAD,CAA8B,CAA9B,CAAlB;AACA,kBAAMC,mBAAmB,GAAGF,SAAS,CAACG,YAAV,GAAyB,MAAI,CAAC1F,gBAA1D;AACA,oBAAI,CAACA,gBAAL,GAAwBuF,SAAS,CAACG,YAAlC;AACAH,uBAAS,CAACI,QAAV,CAAmB;AAAEC,wBAAQ,EAAE,QAAZ;AAAsBC,mBAAG,EAAEJ;AAA3B,eAAnB;AACH,aALS,CAAV;AAMH;;;iBAEO,0BAAiB;AAAA;;AACrBlC,sBAAU,CAAC,YAAM;AACb,kBAAMgC,SAAS,GAAGC,CAAC,CAAC,0BAAD,CAAD,CAA8B,CAA9B,CAAlB;AACA,oBAAI,CAACxF,gBAAL,GAAwBuF,SAAS,CAACG,YAAlC;AACAH,uBAAS,CAACI,QAAV,CAAmB;AAAEC,wBAAQ,EAAE,QAAZ;AAAsBC,mBAAG,EAAEN,SAAS,CAACG;AAArC,eAAnB;AACH,aAJS,CAAV;AAKH;;;iBAEO,wBAAeI,WAAf,EAAoCpD,QAApC,EAAsDpB,UAAtD,EAA0EhB,MAA1E,EAA0F;AAC9F,gBAAMmC,SAAS,GAAG,wDAAW,KAAKA,SAAhB,CAAlB;AACA,gBAAI,CAACA,SAAS,CAACF,OAAV,CAAkBwD,GAAlB,CAAsBD,WAAtB,CAAL,EACIrD,SAAS,CAACF,OAAV,CAAkByD,GAAlB,CAAsBF,WAAtB,EAAmC,IAAIG,GAAJ,EAAnC;AAEJ,gBAAI,CAACxD,SAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,EAAmCC,GAAnC,CAAuCrD,QAAvC,CAAL,EACID,SAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,EAAmCE,GAAnC,CAAuCtD,QAAvC,EAAiD,IAAIuD,GAAJ,EAAjD;AAEJ,gBAAI,CAACxD,SAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,EAAmCI,GAAnC,CAAuCxD,QAAvC,EAAiDqD,GAAjD,CAAqDzE,UAArD,CAAL,EACImB,SAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,EAAmCI,GAAnC,CAAuCxD,QAAvC,EAAiDsD,GAAjD,CAAqD1E,UAArD,EAAiEhB,MAAjE;AACJ,mBAAOmC,SAAS,CAACF,OAAjB;AACH;;;iBAEO,qCAA4BuD,WAA5B,EAAiDpD,QAAjD,EAAmEpB,UAAnE,EAAuF;AAC3F,gBAAMmB,SAAS,GAAG,wDAAW,KAAKA,SAAhB,CAAlB;AACAA,qBAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,EAAmCI,GAAnC,CAAuCxD,QAAvC,YAAwDpB,UAAxD;;AACA,gBAAI,CAACmB,SAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,EAAmCI,GAAnC,CAAuCxD,QAAvC,EAAiDyD,IAAtD,EAA4D;AACxD1D,uBAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,YAA0CpD,QAA1C;;AACA,kBAAI,CAACD,SAAS,CAACF,OAAV,CAAkB2D,GAAlB,CAAsBJ,WAAtB,EAAmCK,IAAxC,EAA8C;AAC1C1D,yBAAS,CAACF,OAAV,WAAyBuD,WAAzB;AACH;AACJ;;AACD,mBAAOrD,SAAS,CAACF,OAAjB;AACH;;;iBAEO,yBAAgB;;;AACpB,gBAAIJ,UAAU,GAAG,IAAjB;AACA,gBAAMiE,YAAY,GAAG,YAAKhG,IAAL,CAAUC,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE+F,YAApB,MAAgC,kBAAI,KAAKhG,IAAL,CAAUC,QAAd,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEmB,cAAxB,MAAsC,IAAtC,IAAsC,aAAtC,GAAsC,MAAtC,GAAsC,GAAEpB,IAAxC,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAEgG,YAA9E,CAArB;AACA,gBAAIA,YAAY,CAACC,QAAb,CAAsB,uCAAtB,KAAkED,YAAY,CAACC,QAAb,CAAsB,4DAAtB,CAAtE,EACIlE,UAAU,GAAG,0BAAb,CADJ,KAEK,IAAIiE,YAAY,CAACC,QAAb,CAAsB,wCAAtB,CAAJ,EACDlE,UAAU,GAAG,wBAAb,CADC,KAEA,IAAIiE,YAAY,CAACC,QAAb,CAAsB,yCAAtB,CAAJ,EACDlE,UAAU,GAAG,6BAAb,CADC,KAEA,IAAIiE,YAAY,CAACC,QAAb,CAAsB,4DAAtB,CAAJ,EACDlE,UAAU,GAAG,0BAAb,CADC,KAEA,IAAIiE,YAAY,CAACC,QAAb,CAAsB,6DAAtB,CAAJ,EACDlE,UAAU,GAAG,2BAAb;AACJ,mBAAOA,UAAP;AACH;;;iBAEO,oBAAWrB,KAAX,EAAkB;AACtB,gBAAIwF,kBAAkB,GAAG,CAACxF,KAAK,CAACyF,KAAN,CAAY,KAAZ,KAAsB,EAAvB,EAA2BhC,MAApD,CADsB,CAEtB;;AACA,gBAAIiC,SAAS,GAAG,KAAKF,kBAAkB,GAAG,EAA1B,GAA+B,EAA/B,GAAoC,CAApD;AACA,mBAAOE,SAAP;AACH;;;iBAEO,sBAAa;AACjB,iBAAK/F,cAAL,CAAoBC,aAApB,CAAkCC,KAAlC,CAAwCC,MAAxC,GAAiD,KAAKC,UAAL,CAAgB,EAAhB,IAAsB,IAAvE;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECnUG,yH,IAAmC,mF,GAAA,sQ,EAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;;AAAA;AAEnC,S;AAAA;;;uEAEI,yH,IAAkC,kF,GAAA,sQ,EAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAgF,S;AAAA;;;uEAClH,yH,IAA0B,kF,GAAA,sQ,EAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAgF,S;AAAA;;;uEAD1G,uH,GAAA;AAAA;AAAA,gB,GACA,uH,GAAA;AAAA;AAAA,gB,GAAiH,4E,IAAA;AAAA;AAD3G;;AAAN,wBAAM,SAAN;;AACM,6BAAmB,KAAnB,CAAmB,MAAnB;;AAAN,wBAAM,SAAN;AAAyB,S,EAAA,I;AAAA;;;uEAeT,iL,GAAA,4J,EAAA,yN,GAAoE,6E,GAAA,sQ,GAAkD,I,EAAA;AAAtH;;AAAA;;AAAoE;;AAAA;AAAkD,S;AAAA;;;uEACtH,iL,GAAA,4J,EAAA,yN,GAA+D,mF,GAAA,sQ,GAC/D,I,EAAA;AAAA;;AADA;;AAAA;;AAA+D;;AAAA;;AAAA;AAC/D,S;AAAA;;;uEACA,iL,GAAA,4J,EAAA,yN,GAA+D,mF,GAAA,sQ,GAC/D,I,EAAA;AAAA;;AADA;;AAAA;;AAA+D;;AAAA;;AAAA;AAC/D,S;AAAA;;;uEACA,iL,GAAA,4J,EAAA,yN,GAAmE,6E,GAAA,sQ,GAAwD,I,EAAA;AAA3H;;AAAA;;AAAmE;;AAAA;AAAwD,S;AAAA;;;uEAP/H,0H,IACI,iL,GAAA,4J,EAAA,yN,GAAW,iF,GAAA,sQ,GACX,uH,GAAA;AAAA;AAAA,gB,GACA,uH,GAAA;AAAA;AAAA,gB,GAEA,wH,GAAA;AAAA;AAAA,gB,GAEA,wH,GAAA;AAAA;AAAA,gB,GAAuI;AAAA;AAL5H,sDAAwD,OAAxD,CAAwD,MAAxD,CAAwD,OAAxD,CAAwD,SAAxD,CAAwD,IAAxD,EAAwD,MAAxD,CAAwD,QAAxD;;AAAX,wBAAW,SAAX;;AACW,sDAAmD,OAAnD,CAAmD,MAAnD,CAAmD,OAAnD,CAAmD,SAAnD,CAAmD,IAAnD,EAAmD,MAAnD,CAAmD,GAAnD;;AAAX,wBAAW,SAAX;;AAEW,sDAAmD,OAAnD,CAAmD,MAAnD,CAAmD,OAAnD,CAAmD,SAAnD,CAAmD,IAAnD,EAAmD,MAAnD,CAAmD,GAAnD;;AAAX,yBAAW,SAAX;;AAEW,sDAAuD,OAAvD,CAAuD,MAAvD,CAAuD,OAAvD,CAAuD,SAAvD,CAAuD,IAAvD,EAAuD,MAAvD,CAAuD,OAAvD;;AAAX,yBAAW,SAAX;AAAkE,S,EAAA;AANlE;;AAAA;;AAAW;;AAAA;AAAkD,S;AAAA;;;uEAJrE,8nC,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI,4H,GAAA,yK,GAAW,8E,GAAA,sQ,GACX;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA6K;;;;;AAA7K;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,6E,EAAA,yV,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA,gB,EAAA,gM,EAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA,mN,EAAA,uO,GACA,oH,GAAA;AAAA;AAAA,gB,GAQO;AAAA;AAXsE;AAAsB;;AAAvG,wBAAiF,UAAjF,EAAuG,UAAvG;;AAEqJ,4KAAA4F,OAAA;;AAAjJ,yBAAiJ,UAAjJ;;AAA6E;;AAA7E,yBAA6E,UAA7E;;AAAqC;;AAArB,+HAAAC,IAAA;;AAA6F;;AAA7G,yBAAqC,UAArC,EAAgB,UAAhB,EAA6G,UAA7G;;AACM,6HAA2F,OAA3F,CAA2F,OAA3F,CAA2F,SAA3F,CAA2F,IAA3F,EAA2F,OAA3F;;AAAN,yBAAM,UAAN;AAAiG,S,EAAA;AAHrG;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACe;;AAAA;;AAC6C,+HAAAC,IAAA;;AAAxD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0BAAwD,UAAxD;AAAsN,S;AAAA;;;uEAelN;AAAA;;AAAA;;;;;;;;;;;SAAA,E,qGAAA,E,yGAAA,C;;mBAA+D,0E,IAAgB;AAAnE,4BAAa,QAAb,CAAa,SAAb;;AAAZ,wBAAY,SAAZ;AAAyB,S,EAAA;AAAzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA+D;;AAAA;AAAgB,S;AAAA;;;uEAHvF,glC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI,4H,GAAA,2K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;AAAmE;;;;;AAAnE;AAAA,gO,GAAA,gO,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,gM,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,EAAA,2O,GACI,qH,GAAA;AAAA;AAAA,gB,GAA4F;AAH7C;;AAAvD,wBAAuD,UAAvD;;AAEuC;;AAAgC,6BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,SAAhC,CAAgC,aAAhC;;AAAnE,yBAAmC,UAAnC,EAAmE,UAAnE;;AAAoG;AAAxF;;AAAZ,yBAAoG,UAApG,EAAY,UAAZ;;AAC8B,0EAAoC,OAApC,CAAoC,OAApC,CAAoC,SAApC,CAAoC,UAApC;;AAA1B,yBAA0B,UAA1B;AAA8D,S,EAAA;AAHtE;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACe;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEa,S;AAAA;;;uEAGjB,wH,IAAsB,yF,IAAe,I,EAAA,I;AAAA;;;uEAxB7C,6I,IAEI,wH,GAAA;AAAA;AAAA,gB,GACI,uH,GAAA;AAAA;AAAA,gB,GAcA,wH,GAAA;AAAA;AAAA,gB,GAOA,wH,GAAA,8U,GAA2C;AAAA;AAtB1C,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,IAAtB;;AAAL,wBAAK,SAAL;;AACoB,6BAAqC,gBAArC,CAAqC,KAArC;;AAAhB,wBAAgB,SAAhB;;AAcgB,6BAAsC,gBAAtC,CAAsC,MAAtC;;AAAhB,wBAAgB,SAAhB;AAAsD,S,EAAA,I;AAAA;;;uEAiBlE;AAAA;AAAA,sBAAkN,UAAlN;;AAA0I;;;;;AAA1I;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GAAqK,0E,GAAA,sQ,GAAoC;AAAA;AAAjH,6BAAiC,aAAjC,CAAiC,OAAjC;AAAkC;;AAA1H,wBAAwF,SAAxF,EAA0H,SAA1H;AAAyI,S,EAAA;AAAzI;AAAA;;AAAA;;AAAA;;AAAqK;;AAAA;AAAoC,S;AAAA;;;uEAjDjN,gV,GAAA,8M,GACA,iJ,IACI,qM,GAAA,yW,GACI,uH,GAAA;AAAA;AAAA;AAAA,gB,GAGA,yH,IAMR;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;gcACI,kM,GAAA,kK,GACI,oJ,GAAA,+L,EAAA;AAAA;AAAA,gB,GACI,uH,GAAA;AAAA;AAAA,gB,GA+BR,sM,GAAA,kK,GACI;AAAA;AAAA,sBACwB,UADxB;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA,uX,GAAgD,2E,GAAA,sQ,GAEhD,wH,GAAA;AAAA;AAAA,gB,GAAkN;AAAA;;AA/CtN;;AACU;;AAAA;;AAAN,wBAAM,SAAN,EAAM,SAAN;;AASF,8BAA0B,aAA1B;;AAAN,yBAAM,UAAN;;AAEyB,8BAAgB,KAAhB,CAAgB,GAAhB;;AAAjB,yBAAiB,UAAjB;;AAC0B,8BAA4C,KAA5C,CAA4C,MAA5C;;AAAtB,yBAAsB,UAAtB;;AAkC6B,+BAAoB,KAApB,CAAoB,MAApB;;AAAjC,yBAAiC,UAAjC;AAAqD,S,EAAA;AA/CzD;;AAAA;;AAUJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEQ;;AAAA;;AAiCA;AAAA;;AAAA;;AAAA;;AAAgD;;AAAA;AACjC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AChDvB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEO,eAASC,aAAT,CAAuBC,UAAvB,EAAwC;AAC7C,eAAOA,UAAU,CAACvB,IAAX,CAAgB,UAACtD,IAAD;AAAA,iBACrB8E,MAAM,CAACC,MAAP,CAAc,2DAAd,EAA8BV,QAA9B,CAAuCrE,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEgF,OAAN,CAAc,OAAd,EAAuB,EAAvB,CAAvC,CADqB;AAAA,SAAhB,CAAP;AAGD;;AAEM,eAASC,oBAAT,CAA8BJ,UAA9B,EAA+C;AACpD,eAAOD,aAAa,CAACC,UAAD,CAAb,GAA4B,2DAAcK,KAA1C,GAAkD,2DAAcC,MAAvE;AACD;;;;;;;;;;;;;;;;;ACTD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEA,UAAMC,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,aAD8C;AAEpDW,gBAAQ,EAAE,aAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASC,2BAAT,CAAqCC,QAArC,EAAyD;AAC/D,wFAA8BJ,iBAA9B,EAAiD,0EAAjD,EAAsEI,QAAtE;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECMK,yH,IAAqB,6E,IAAG,I,EAAA,I;AAAA;;;uEAD1B,0H,IACE,2H,GAAA;AAAA;AAAA,gB,GAA+B,+E,GAAA,wD,GAEjC;AAFQ,6BAAc,QAAd,CAAc,KAAd;;AAAN,wBAAM,SAAN;AAAoB,S,EAAA;AAAW;;AAAA;AAEjC,S;AAAA;;;uEAJF,oa,GAAA,+L,EAAA;AAAA;AAAA,gB,EAAA,oP,GACE,wH,GAAA;AAAA;AAAA,gB,GAGQ;AAAA;AAJqB,6BAAW,IAAX;;AAA/B,wBAA+B,SAA/B;;AACS,6BAA8C,QAA9C;;AAAP,wBAAO,SAAP;AAAqD,S,EAAA;AADvD;;AAAA;;AAAA;AAKW,S;AAAA;;;4RApBb;AAAA;AAAA,sBASM,UATN;;AAEE;;;;;AACA;;;;;AAHF;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA,iO,GAOC,+E,IACuB,0gB,GAAA,2a,GAAU,4E,IAElC,2H,GAAA;AAAA;AAAA;AAAA,gB,GAWc;AAAA;AAfZ;;AANF,wBAME,SANF;;AAQwB;;AAItB;;AACA,6BAAkC,OAAlC;;AAHF,wBAEE,SAFF,EAGE,SAHF;AAGoC,S,EAAA;AAAA;AANnC;;AAAA;;AACuB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA0B,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECIlC,2I,IAAsF,+E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAEtF,S;AAAA;;;uEAWR;AAAA;AAAA,sBAEM,UAFN;;AAA2C;;;;;AAA3C;AAAA,sB,IACI,6I,IAA0B,I,EAAA,I;AAAA;;;uEAgBV,uH,IAAwD,+E,IAAA,I,EAAA;AAAA;;AAAA;AAExD,S;AAAA;;;uEAGA,uH,IAAwD,+E,IAAA,I,EAAA;AAAA;;AAAA;AAExD,S;AAAA;;;uEAMI,iK,GAAA;AAAA;AAAA,gB,GACkC;AAA9B,4BAAyB,OAAzB,CAAyB,OAAzB,CAAyB,SAAzB,CAAyB,OAAzB;;AADJ,wBACI,SADJ;AAC6B,S,EAAA,I;AAAA;;;uEAG7B,2I,IAAwD,+E,IAAA,I,EAAA;AAAA;;AAAA;AAExD,S;AAAA;;;uEAOJ,uH,IACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEI;;;;;AAFJ;AAAA,sB,GAAA,wV,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,2J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,kN,GAEwE;AAAA;;AADpE;;AAAmE,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AADvE,wBACI,SADJ,EACuE,SADvE;;AACI;;AACyB,8CAA0C,SAA1C,CAA0C,QAA1C;AAAzB,6BAAwB,OAAxB,CAAwB,OAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AAFJ,wBACI,UADJ,EAE6B,UAF7B,EAEI,UAFJ;AAE4B,S,EAAA;AAAA;;AAFR,oNAAAC,EAAA;;AAApB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAAoB,SAApB;AAEwE,S;AAAA;;;uEAnBhF,wH,IACI,uH,IAAI,+E,IAEA,0H,GAAA;AAAA;AAAA,gB,GAGA,uH,IACA,0H,GAAA;AAAA;AAAA,gB,GAIJ,uH,IACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC8C;;;;;AAD9C;AAAA,sB,GAAA,yV,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,2J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIJ,2H,GAAA;AAAA;AAAA,gB,GAIK;AAAA;AAjByC,4BAAoB,QAApB,CAAoB,SAApB,CAAoB,OAApB;;AAA1C,wBAA0C,SAA1C;;AAIM,6DAAmC,QAAnC,CAAmC,SAAnC,CAAmC,KAAnC;;AAAN,wBAAM,SAAN;;AAMI;;AAAiC;;AADrC,yBACI,UADJ,EACqC,UADrC;;AACI;;AACA,8CAA0C,SAA1C,CAA0C,QAA1C;AAD0C,6BAAwB,QAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AAD9C,yBACI,UADJ,EAEI,UAFJ,EAC8C,UAD9C;;AAIA,8BAAoE,cAApE,CAAoE,gBAApE;;AAAJ,yBAAI,UAAJ;AAAwE,S,EAAA;AAAA;AAfpE;;AAAA;;AAWkC;;AAAlC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAAkC,SAAlC;AAE+C,S;AAAA;;;uEA/BnE,0H,IACI,uH,IACA,oJ,IACI,4J,IACI,0I,IACI,yJ,IACA,uI,IAAgB,6E,GAAA,sQ,GAChB,0H,GAAA;AAAA;AAAA,gB,GAIJ,2I,IACI,0H,GAAA;AAAA;AAAA,gB,GAKJ,0H,GAAA;AAAA;AAAA,gB,GAwBR,wH,IAAM;AAAA;AAlCU,6BAAmD,cAAnD,CAAmD,gBAAnD;;AAAJ,yBAAI,SAAJ;;AAKI,6BAAmD,cAAnD,CAAmD,gBAAnD;;AAAJ,yBAAI,SAAJ;;AAKA,6BAA2D,SAA3D,CAA2D,eAA3D;;AAAJ,yBAAI,SAAJ;AAA+D,S,EAAA;AAX3C;;AAAA;AAAiC,S;AAAA;;;uEA0CzD;AAAA;AAAA,sBAUM,UAVN;;AACI;;;;;AADJ;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,GAGI;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGI;;;;;AAHJ;AAAA,sB,GAAA;AAAA;AAAA,gB,EAGiC,sQ,EAHjC,wV,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA,2J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIA,iL,GAAA;AAAA;AAAA,gB,EAAoD,sQ,GAA+E,gF,IAEnI;AAAA;AAP0B,6CAAiD,SAAjD,CAAiD,QAAjD;AAA1B,4BAAyB,QAAzB,CAAyB,SAAzB,CAAyB,OAAzB;;AAFJ,wBAE8B,SAF9B,EAEI,SAFJ;;AAMqC;;AAHjC,wBAGiC,UAHjC;;AAAkC;;AACc,wHAAA3G,KAAA;;AADhD,wBAAkC,UAAlC,EACgD,UADhD;;AAEI;;AAFJ,wBAEI,UAFJ;;AAAkC;;AAEC,8CAA0C,SAA1C,CAA0C,QAA1C;AAC/B,8BAA4B,SAA5B,CAA4B,KAA5B;;AAHJ,yBAAkC,UAAlC,EAEmC,UAFnC,EAGI,UAHJ;;AAIoD;;AAApD,yBAAoD,UAApD;AAAkI,S,EAAA;AAAA;;AAPhG;;AAAtC,wBAAsC,SAAtC;;AAIQ;;AADJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBACI,SADJ;;AAIO;;AAAP,yBAAO,UAAP;;AAAmI;;AAAA;AAEnI,S;AAAA;;;uEAZZ,yH,IACI,uH,IACA,oJ,IACI,2H,GAAA;AAAA;AAAA,gB,GAYJ,uH,IAAM;AAAA;AAZG,6BAAgC,YAAhC;;AAAL,wBAAK,SAAL;AAAqC,S,EAAA,I;AAAA;;;uEAkBrC,iK,GAAA;AAAA;AAAA,gB,GAC0C;AAAA;AAAtC,6BAAiC,SAAjC,CAAiC,WAAjC;;AADJ,wBACI,SADJ;AACqC,S,EAAA,I;AAAA;;;uEAWrC,2I,IACkB,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;uEAf5D,8I,IACI,mJ,IAAwD,6E,IACxD,2H,GAAA;AAAA;AAAA,gB,GAEA,iJ,IACI,wJ,IACI,sJ,IACI,+I,IAGR;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAE4B;;;;;AAF5B;AAAA,sB,GAAA,yV,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,+I,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIJ,2H,GAAA;AAAA;AAAA,gB,GAC+D;AAAA;AAbrB,6BAA4B,SAA5B,CAA4B,WAA5B;;AAA1C,wBAA0C,SAA1C;;AAQ4C,8BAAoC,SAApC,CAAoC,cAApC;;AAAxC,yBAAwC,UAAxC;;AACI,8BAAuB,YAAvB;;AADJ,yBACI,UADJ;;AACuE;AAA3C,8CAA0C,SAA1C,CAA0C,QAA1C;AACA,8BAAgC,SAAhC,CAAgC,SAAhC;;AAF5B,yBACuE,UADvE,EAC4B,UAD5B,EAE4B,UAF5B;;AAIE,gPAA4D,MAA5D,CAA4D,OAA5D;;AAAN,yBAAM,UAAN;AAAkE,S,EAAA;AAAA;AAb3D,6BAAgD,SAAhD,CAAgD,cAAhD;;AAAP,wBAAO,SAAP;;AAAwD;;AAAA;;AASpD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAE+D,S;AAAA;;;uEASnE,iK,GAAA;AAAA;AAAA,gB,GAC2C;AAAA;AAAvC,6BAAkC,SAAlC,CAAkC,YAAlC;;AADJ,wBACI,SADJ;AACsC,S,EAAA,I;AAAA;;;uEAJ1C,+I,IACI,uH,IACA,mJ,IAAyD,6E,IACzD,2H,GAAA;AAAA;AAAA,gB,GAEA,8I,IACI,sJ,IACA,6K,GAAA,iM,EAAA;AAAA;AAAA,gB,GACI,2I,IAKI;AAAA;AAAA,sBAGW,UAHX;;AAC0C;;;;;AAD1C;AAAA,0N,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAA+B;AAAA;AAAA,U,EAA/B;AAAA;AAAA,oE,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAGW;AAAA;AAbmB,6BAA6B,SAA7B,CAA6B,YAA7B;;AAA1C,wBAA0C,SAA1C;;AAI8C,6BAAW,IAAX;;AAA1C,yBAA0C,SAA1C;;AAOY,8BAAqC,SAArC,CAAqC,eAArC;;AADJ,yBACI,UADJ;;AAA+B;;AAE3B,8CAA0C,SAA1C,CAA0C,QAA1C;;AAFJ,yBAA+B,UAA/B,EAEI,UAFJ;;AAAU;AACgC,8BAAiC,SAAjC,CAAiC,UAAjC;;AAD1C,yBAAU,UAAV,EAC0C,UAD1C;AAC2E,S,EAAA;AAAA;AAZhF,6BAAiD,SAAjD,CAAiD,eAAjD;;AAAP,wBAAO,SAAP;;AAAyD;;AAAA;;AAKrD;;AAAA;;AACS;;AAAL,yBAAK,SAAL;;AAKI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEAQvB,0J,IACI,+J,IACA,0I,IAAmB,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+B,S;AAAA;;;uEAS1C,iK,GAAA;AAAA;AAAA,gB,GACkC;AAA9B,4BAAyB,OAAzB,CAAyB,MAAzB,CAAyB,OAAzB,CAAyB,SAAzB,CAAyB,OAAzB;;AADJ,wBACI,SADJ;AAC6B,S,EAAA,I;AAAA;;;uEANrC,0I,IACI,wH,IACI,qK,IAAwE,+E,GAAA,sQ,GAGxE,2H,GAAA;AAAA;AAAA,gB,GAGJ;AAAA;AAAA,sBAGS,UAHT;;AACwD;;;;;AADxD;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAA0C;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAAgD;AAAA;AAH5C,4BAAoB,OAApB,CAAoB,OAApB,CAAoB,SAApB,CAAoB,OAApB;;AAA1C,wBAA0C,SAA1C;;AAIA;;AADsC,yDAAgD,OAAhD,CAAgD,OAAhD,CAAgD,SAAhD,CAAgD,IAAhD;;AAEtC,6CAA0C,SAA1C,CAA0C,QAA1C;AAA2C,6CAA0C,SAA1C,CAA0C,QAA1C;AADZ;;AADnC,wBACI,SADJ,EAA0C,SAA1C,EAEI,SAFJ,EAE+C,SAF/C,EACmC,SADnC;AACuD,S,EAAA;AAAA;;AATpC;;AAAvB,wBAAuB,SAAvB;;AAE6B,4BAAkD,OAAlD,CAAkD,OAAlD,CAAkD,SAAlD,CAAkD,oBAAlD;;AAArB,wBAAqB,SAArB;;AAAwE;;AAAA;AAExE,S;AAAA;;;uEALZ,yH,IACI,2H,GAAA;AAAA;AAAA,gB,GAkBA,uH,IAAM;AAAA;AAlBD,6BAAiB,UAAjB;;AAAL,wBAAK,SAAL;AAAsB,S,EAAA,I;AAAA;;;uEAR9B,8I,IACI,uH,IACA,2H,GAAA;AAAA;AAAA,gB,GAKA,2H,GAAA;AAAA;AAAA,gB,GAoBe;AAAA;AAzBoB,6BAAmC,SAAnC,CAAmC,kBAAnC;;AAAnC,wBAAmC,SAAnC;;AAKc,6BAAyC,SAAzC,CAAyC,WAAzC;;AAAd,wBAAc,SAAd;AAAuD,S,EAAA,I;AAAA;;;uEAyBvD,yH,IACI,iK,IACA,0H,IAAO,6E,IACP,uH,IAAM,I,EAAA;AAAA;AADC;;AAAA;AAA0B,S;AAAA;;;uEAGrC,yI,IAAoD,2E,IAAC,I,EAAA,I;AAAA;;;uEAPzD,+I,IACI,uH,IACA,2H,GAAA;AAAA;AAAA,gB,GAKA,2H,GAAA;AAAA;AAAA,gB,GACA;AAAA;AAAA;;AAAA;;;;;;;;;;AACI;;;;;AADJ;AAAA,sB,GAAA,mR,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,sF,EAAA;AAAA;AAAA,yF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAE+C,gF,IAE/C,+J,IACQ;AAAA;AAXM,6BAA8B,SAA9B,CAA8B,aAA9B;;AAAd,wBAAc,SAAd;;AAKM,6BAAiC,SAAjC,CAAiC,gBAAjC;;AAAN,wBAAM,SAAN;;AAEuC,8BAAsC,SAAtC,CAAsC,gBAAtC;;AADvC,wBACuC,UADvC;;AAAoD;;AAEhD,8CAA0C,SAA1C,CAA0C,QAA1C;AADA,8BAAkC,SAAlC,CAAkC,WAAlC;;AADJ,yBAAoD,UAApD,EAEI,UAFJ,EACI,UADJ;AACsC,S,EAAA;AAAA;;AADf;;AAAvB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAAuB,SAAvB;;AAIO;;AAA8B,8BAAiC,SAAjC,CAAiC,UAAjC;;AAArC,yBAAO,UAAP,EAAqC,UAArC;AAAsE,S;AAAA;;;uEASlF,4I,IACI;AAAA;AAAA,sBAE+C,UAF/C;;AAAwD;;;;;AAAxD;AAAA,sB,IACmI,8E,GAAA,sQ,GAC7F,I,EAAA;AAAA;AAHrC;;AAAL,wBAAK,SAAL;;AAEQ,iMAA8H,aAA9H,CAA8H,OAA9H;;AADJ,wBACI,SADJ;;AACmI;;AAAA;AAC7F,S;AAAA;;;uEAjMlD,sL,IACI,gV,GAAA,8M,GACA,wH,IACI,yI,IACI,6I,IACI,kJ,IACI,yH,IAAM,6E,IACN,+I,IACA,0H,IAAM,8E,IAGV,wH,IACA,0H,GAAA;AAAA;AAAA,gB,GAIJ,+I,IAAsB,mF,IACN;AAAA;AAAA;;AAAA;;;;;;;;;;AAAkD;;;;;AACpC;;;;;AADd;AAAA,sB,GAAA,oR,EAAA;AAAA;AAAA,yF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GACuC,+E,IAC7C,0I,GAAA;AAAA;AAAA,gB,EACF;AAAA;AAAA,U,EADE;AAAA;AAAA,gB,EACF;AAAA;AAAA,U,GAA+D,8E,GAAA,sQ,GAK3E,0H,GAAA;AAAA;AAAA,gB,GAOJ;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C,4vBACI,2H,IAEI,0H,GAAA;AAAA;AAAA,gB,GA6CA,2H,GAAA;AAAA;AAAA,gB,GAkBA,yI,IACI,2H,GAAA;AAAA;AAAA,gB,GAkBA,2H,GAAA;AAAA;AAAA,gB,GAsBA,2H,GAAA;AAAA;AAAA,gB,GA8BA,2H,GAAA;AAAA;AAAA,gB,GAoBR,wH,IACA,2H,GAAA;AAAA;AAAA,gB,GAIM;AAAA;AAtLQ,6EAAiE,SAAjE,CAAiE,QAAjE;;AAAN,yBAAM,SAAN;;AAMI,8BAAqB,SAArB;AAD0D,8BAA+B,SAA/B,CAA+B,QAA/B;;AAAlD,yBACR,UADQ,EAAkD,UAAlD;;AAGR,sEAA8D,SAA9D;;AADE,yBACF,UADE;;AACF,sEAA8D,SAA9D;;AADE,yBACF,UADE;;AAMI,8BAAwB,SAAxB,CAAwB,OAAxB;;AAAlB,yBAAkB,UAAlB;;AAUkB,8BAAwC,cAAxC,CAAwC,kBAAxC;;AAAd,yBAAc,UAAd;;AA6Cc,+BAAyC,cAAzC,CAAyC,kBAAzC;;AAAd,yBAAc,UAAd;;AAmB0B,8BAAwB,SAAxB,CAAwB,OAAxB;;AAAtB,yBAAsB,UAAtB;;AAkBuB,8BAAyB,SAAzB,CAAyB,QAAzB;;AAAvB,yBAAuB,UAAvB;;AAsBuB,8BAA+B,SAA/B,CAA+B,cAA/B;;AAAvB,yBAAuB,UAAvB;;AA8BuB,8BAA2C,SAA3C,CAA2C,0BAA3C;;AAAvB,yBAAuB,UAAvB;;AAqBuB,+BAAiB,SAAjB;;AAA/B,yBAA+B,UAA/B;AAAgD,S,EAAA;AAAA;AAzLlC,6BAA4C,SAA5C,CAA4C,UAA5C;;AAAN,wBAAM,SAAN;;AACU;;AAAA;;AAEA;;AAAA;;AASyB;;AAAvB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yBAAuB,SAAvB;;AAEC;;AAAP,yBAAO,UAAP;;AAC6D;;AAAA;;AAY/E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAoKO,S;AAAA;;;;;aApMX,0H,GAAA;AAAA;AAAA,gB,GAqMM;AAAA;AArMkD,6BAAgB,SAAhB;;AAAxD,wBAAwD,SAAxD;AAAwE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAxE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAWa4G,6B;;;;;AAGX,+CACSC,SADT,EAEkCvH,IAFlC,EAGUwH,EAHV,EAIUC,QAJV,EAI4B;AAAA;;AAAA;;AAE1B;AALO,iBAAAF,SAAA,GAAAA,SAAA;AACyB,iBAAAvH,IAAA,GAAAA,IAAA;AACxB,iBAAAwH,EAAA,GAAAA,EAAA;AACA,iBAAAC,QAAA,GAAAA,QAAA;;AAGR,iBAAKC,QAAL;;AAH0B;AAI3B;;;;iBAED,gBAAO;AACL,gBAAM1H,IAAI,GAAG,KAAK2H,IAAL,CAAUjH,KAAvB;AACAV,gBAAI,CAAC4H,SAAL,GAAiB,KAAKH,QAAL,CAAcI,SAAd,CAAwB,IAAIC,IAAJ,CAAS9H,IAAI,CAAC4H,SAAd,CAAxB,EAAkD,YAAlD,CAAjB;AACA5H,gBAAI,CAAC+H,OAAL,GAAe,KAAKN,QAAL,CAAcI,SAAd,CAAwB,IAAIC,IAAJ,CAAS9H,IAAI,CAAC+H,OAAd,CAAxB,EAAgD,YAAhD,CAAf;AACA,iBAAKR,SAAL,CAAeS,KAAf,CAAqBhI,IAArB;AACD;;;iBAED,kBAAM;AACJ,iBAAKuH,SAAL,CAAeS,KAAf;AACD;;;iBAEO,oBAAW;AACjB,iBAAKL,IAAL,GAAY,KAAKH,EAAL,CAAQS,KAAR,CAAc;AACxBZ,gBAAE,EAAE,CAAC,KAAKrH,IAAL,CAAUkI,KAAV,CAAgBb,EAAhB,IAAsB,IAAvB,CADoB;AAExBc,oBAAM,EAAE,CAAC;AAAEzH,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBC,MAAhB,IAA0B,EAAnC;AAAuCC,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAA3D,eAAD,EAAwE,CAAC,0DAAWC,QAAZ,CAAxE,CAFgB;AAGxBV,uBAAS,EAAE,CAAC;AAAElH,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBN,SAAhB,IAA6B,EAAtC;AAA0CQ,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAA9D,eAAD,EAA2E,CAAC,0DAAWC,QAAZ,CAA3E,CAHa;AAIxBP,qBAAO,EAAE,CAAC;AAAErH,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBH,OAAhB,IAA2B,EAApC;AAAwCK,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAA5D,eAAD,EAAyE,CAAC,0DAAWC,QAAZ,CAAzE,CAJe;AAKxBC,6BAAe,EAAE,CAAC;AAAE7H,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBK,eAAhB,IAAmC,EAA5C;AAAgDH,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAApE,eAAD,EAAiF,CAAC,0DAAWC,QAAZ,CAAjF,CALO;AAMxBE,iCAAmB,EAAE,CAAC;AAAE9H,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBM,mBAAhB,IAAuC,EAAhD;AAAoDJ,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAAxE,eAAD,EAAqF,CAAC,0DAAWC,QAAZ,CAArF;AANG,aAAd,CAAZ;AAQD;;;;QAjCgD,6D;;;;;;;;;;;;;;;;;ACVnD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAEA;;;;;UAWaG,4B;AAEX,8CAAmBC,WAAnB,EAAmD;AAAA;;AAAhC,eAAAA,WAAA,GAAAA,WAAA;AAClB;;;;iBAED,mBAAS;AACP,iBAAKA,WAAL,CAAiBC,OAAjB,CAAyB,QAAzB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECpBC;AAAA;AAAA,sBAGkB,UAHlB;;AAC8D;;;;;AAC1D;;;;;AAAwC;;;;;AAF5C;AAAA,gQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAGkB;AAAA;AAHiB,6BAAyB,KAAzB,CAAyB,QAAzB;AAA0B,6BAAyB,WAAzB;AAA0B,6BAAwB,KAAxB,CAAwB,MAAxB;AACnD;AAAhC,6BAA+B,cAA/B;;AADJ,wBAAmC,SAAnC,EAA6D,SAA7D,EAAuF,SAAvF,EACoC,SADpC,EACI,SADJ;AACmC,S,EAAA,I;AAAA;;;uEAFvC,6J,GAAA,+L,EAAA;AAAA;AAAA,gB,GACI,+G,GAAA;AAAA;AAAA,gB,GAGkB;AAAA;AAJK,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA3B,wBAA2B,SAA3B;;AACqB,6BAAiB,UAAjB;;AAAjB,wBAAiB,SAAjB;AAAkC,S,EAAA;AADtC;;AAAA;AAKM,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECWc;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mBACuE,4E,IAAA;AAAnE;;AADJ,wBACI,SADJ;AACoC,S,EAAA;AADpC;AAAA;;AAAA;AACuE,S;AAAA;;;uEAR/E,0H,IACI,uJ,IACI,+I,IACA,4I,IACI,4I,IAAqB,6E,IACrB,yI,IAAkB,6E,GAAA,kY,GAEtB,iI,GAAA;AAAA;AAAA,gB,GAIA,8Z,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,6M,GACI;AAAA;AAAA;;AAAA;;;;;;;;;;AAAsB;;;;;AAAtB;AAAA,8N,GAAA,sa,GAAkD,6E,GAAA,sQ,GAE9C,2I,IAEJ;AAAA;AAAA;;AAAA;;;;;;;;;;AAAsB;;;;;AAAtB;AAAA,8N,GAAA,sa,GAAsD,6E,GAAA,sQ,GAElD,4I,IAA2B;AAAA;AAXQ,kGAAqD,QAArD;;AAA3C,yBAA2C,SAA3C;;AAIgC;;AAAhC,yBAAgC,SAAhC;AAAiD,S,EAAA;AAPxB;;AAAA;;AACH;;AAAA;;AAMtB;AAAA;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAkD;;AAAA;;AAIlD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAsD;;AAAA;AAElD,S;AAAA;;;uEAUA,0I,IAA2C,kF,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAC3B,S;AAAA;;;uEAL5B,6J,IACI,4I,IACI,6I,IAAsB,+E,IAElB,iI,GAAA;AAAA;AAAA,gB,GAGJ,4I,IAAqB,6E,IACrB,yI,IAAkB,6E,GAAA,kY,GAEtB,gJ,IAA8B;AANhB,4BAAuB,OAAvB,CAAuB,OAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAN,wBAAM,SAAN;AAA6B,S,EAAA;AAFX;;AAAA;;AAKD;;AAAA;;AACH;;AAAA;AAAgC,S;AAAA;;;uEAjClE,sJ,IACI,iI,GAAA;AAAA;AAAA;AAAA,gB,GAuBA,wI,IAac;AApCA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAgD,S,EAAA;AADuC,4BAAe,QAAf,CAAe,SAAf,CAAe,GAAf;;AAA3F,wBAA2F,SAA3F;AAA0G,S;AAAA;;;uEAyC9G,yI,IAKI;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA4C;;;;;AAAsB;;;;;AAAlE;AAAA,sB,GAAA,wV,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,kN,GAEA;AAAA;AAAA,sBAEM,UAFN;;AAAkB;;;;;AAAlB;AAAA,sB,IACI,oJ,IAAiC;AAAA;AAFjC,2EAA4D,QAA5D;AADwC,6BAAqB,QAArB;;AAA5C,wBACI,SADJ,EAA4C,SAA5C;AAAiE,S,EAAA;AAAA;;AALhE;;AAAL,wBAAK,SAAL;;AAKI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAC4E,S;AAAA;;;;;;;aAvDpF,wK,GAAA,+L,EAAA;AAAA;AAAA,gB,GACI,0I,IACI,wH,IAAK,6E,GAAA,sQ,GACL;AAAA;AAAA,sBAAqD,UAArD;;AAA+B;;;;;AAA/B;AAAA,sB,IAEJ,0I,IACA;AAAA;AAAA,sBAyCM,UAzCN;;AAAqC;;;;;AAArC;AAAA,sB,IAEI,iI,GAAA;AAAA;AAAA;AAAA,gB,GAyCJ,iI,GAAA;AAAA;AAAA,gB,GAUM;AAAA;AA3D2B,6BAAW,IAAX;;AAArC,wBAAqC,SAArC;;AAQa;AAAA,6BAAqE,UAArE;;AAAL,yBAAK,SAAL,EAAK,SAAL;;AA0CA,8BAAqC,KAArC,CAAqC,OAArC,CAAqC,eAArC;;AADJ,yBACI,SADJ;AACyC,S,EAAA;AAAA;;AAlD7C;;AAAA;;AAEa;;AAAA;;AAGJ;;AAAL,yBAAK,SAAL;AAAwC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACc5C;AAAA;;;AAAA;AAAA;AAAA;;UAAaC,kB;;;;;;;;;;;;;;;;;;;ACnBb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAWaC,0B;AAeT,4CAAoB5J,gBAApB,EAAwD;AAAA;;AAAA;;AAApC,eAAAA,gBAAA,GAAAA,gBAAA;AAZX,eAAAyB,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAMF,eAAAjJ,IAAA,GAAuB,EAAvB;AAER,eAAAqI,KAAA,GAAQ,EAAR;AACA,eAAAa,aAAA,GAA0C,EAA1C;AAGI,eAAKC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAA/C,IAAI,EAAI;AAC5D,kBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACH,WAFU,CAAX;AAGH;;;;eATD,aAAQrJ,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAU/C,qBAAYsJ,OAAZ,EAAoC;;;AAChC,gBAAI,KAAK3G,aAAT,EAAwB;AACpB,kBAAI,KAAKA,aAAL,CAAmB4G,UAAvB,EAAmC;AAC/B,qBAAKN,aAAL,GAAqB,CAAH,WAAG,KAAKrI,KAAR,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEiG,MAAZ,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE9B,GAAF,CAAM,UAAAR,CAAC,EAAI;AAAE,yBAAO;AAAE3D,yBAAK,EAAE2D;AAAT,mBAAP;AAAqB,iBAAlC,CAAvC;AACA,oBAAI,QAAC,KAAK0E,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE5E,MAArB,CAAJ,EAAiC,KAAK4E,aAAL,GAAqB,CAAC;AAAErI,uBAAK,EAAE;AAAT,iBAAD,CAArB;AACpC,eAHD,MAGO,IAAI,KAAKA,KAAT,EAAgB;AACnB,qBAAKwH,KAAL,GAAa,KAAKxH,KAAlB;AACH;AACJ;AACJ;;;iBAGD,uBAAc;;;AACV,gBAAI,KAAK+B,aAAL,CAAmB4G,UAAvB,EAAmC;AAC/B,kBAAMC,QAAQ,GAAG,KAAKP,aAAL,CACZQ,MADY,CACL,UAAAlF,CAAC;AAAA,uBAAI,CAAC,CAACA,CAAC,CAAC3D,KAAR;AAAA,eADI,EAEZmE,GAFY,CAER,UAAAR,CAAC;AAAA,uBAAIA,CAAC,CAAC3D,KAAN;AAAA,eAFO,CAAjB;;AAGA,kBAAI,KAAK4H,QAAL,KAAkB,CAAC,KAAKS,aAAL,CAAmB5E,MAApB,IAA8BmF,QAAQ,CAACnF,MAAT,IAAmB,KAAK4E,aAAL,CAAmB5E,MAAtF,CAAJ,EAAmG;AAC/F,qBAAKzD,KAAL,GAAa,IAAb;AACA,qBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;AACH;;AACD,mBAAKA,KAAL,GAAa;AAAEiG,sBAAM,EAAE2C;AAAV,eAAb;AACH,aAVD,MAUO;AACH,kBAAI,KAAKhB,QAAL,IAAiB,cAAC,KAAKJ,KAAN,MAAW,IAAX,IAAW,aAAX,GAAW,MAAX,GAAW,GAAEsB,IAAF,EAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAIrF,MAArB,CAArB,EAAkD;AAC9C,qBAAKzD,KAAL,GAAa,IAAb;AACA,qBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;AACH;;AACD,mBAAKA,KAAL,GAAa,KAAKwH,KAAlB;AACH;;AAED,iBAAKY,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACH;;;iBAED,sBAAa8C,KAAb,EAA+C;AAAA,gBAAtBI,KAAsB,uEAAN,IAAM;;AAC3C,gBAAI,KAAKnB,aAAL,CAAmB4G,UAAvB,EAAmC;AAC/B,mBAAKN,aAAL,CAAmBnF,KAAnB,EAA0BlD,KAA1B,GAAkC8C,KAAK,CAACiG,SAAxC;AACH,aAFD,MAEO;AACH,mBAAKvB,KAAL,GAAa1E,KAAK,CAACiG,SAAnB;AACH;;AACD,iBAAKC,WAAL;AACH;;;iBACD,kBAAS;AACL,iBAAKX,aAAL,CAAmBhJ,IAAnB,CAAwB;AAAEW,mBAAK,EAAE;AAAT,aAAxB;AACH;;;iBACD,mBAAUkD,KAAV,EAAyB;AACrB,iBAAKmF,aAAL,CAAmB/E,MAAnB,CAA0BJ,KAA1B,EAAiC,CAAjC;AACA,iBAAK8F,WAAL;AACH;;;iBACO,yBAAgBP,IAAhB,EAAsB;AAAA;;AAC1B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAAE,oBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AAA2C,aAApD,CAAV;AACH;;;iBACD,uBAAc;AACV,iBAAKtJ,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACH;;;;;;;;;;;;;;;;;;;;;ACzFL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUa+J,iB;;;;;AAGT,mCAAmBxC,QAAnB,EAAuC;AAAA;;AAAA;;AAAE,uCAAMA,QAAN;AAAtB,kBAAAA,QAAA,GAAAA,QAAA;AAAoB;AAAoB;;;;iBAE3D,kBAAM;AACF,iBAAKyC,QAAL,CAAcC,IAAd;AACH;;;;QAPkC,+E;;;;;;;;;;;;;;;;;ACTvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UASaC,6B,GANb;AAAA;;AAQI,aAAAC,eAAA,GAAkB,4FAAlB;AAEH,O;;;;;;;;;;;;;;;ACdD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECOQ,wgB,GAAA,wa,GAAU,2E,IACV,0I,IAAmB,6E,GAAA,wD,EAAA,wD,EAAA,wL,GAEjB;AAHF;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACmB;;AAAA;AAEjB,S;AAAA;;;uEALN,iU,GAAA,6R,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,kI,GAAA,kR,EAAA,iP,GAMA;AAAA;AAAA,sBAI4B,UAJ5B;;AAGE;;;;;AAHF;AAAA,sR,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAI4B,4E,IAAA;AAAA;;AAX9B;;AAQI,6CAAiC,SAAjC;AACA,4BAAmB,QAAnB,CAAmB,SAAnB;;AAFF,wBACE,SADF,EAEE,SAFF;AAEqB,S,EAAA,I;AAAA;;;uEAd3B,iK,IAIE,ub,GAAA,gN,EAAA,kc,EAAA;AAAA;AAAA,U,GACE,qI,GAAA;AAAA;AAAA,gB,EAAS,wD,GAeX,qW,GAAA;AAAA;AAAA,gB,GAAmE;AAfxD,yKAA2C,QAA3C,CAA2C,IAA3C;;AAAT,wBAAS,SAAT;;AAekB,4BAAyB,QAAzB,CAAyB,IAAzB;;AAApB,wBAAoB,SAApB;AAA6C,S,EAAA;AAhB7C;;AAAA;;AAAA;AAcgB,S;AAAA;;;oXAlBlB,qI,GAAA;AAAA;AAAA,gB,EAEE,wL,GAAA;AAAA;;AAAA,8JAAyC,YAAzC;;AAFF,wBAEE,SAFF;AAE2C,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD3C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUaC,8B;;;;;AAMX,gDAAoBC,iBAApB,EAA0D;AAAA;;AAAA;;AAAE;AAAxC,kBAAAA,iBAAA,GAAAA,iBAAA;AALpB,kBAAAC,UAAA,GAAa,QAAKD,iBAAL,CAAuBC,UAApC;AACA,kBAAAC,eAAA,GAAkB,QAAKF,iBAAL,CAAuBE,eAAzC;AACA,kBAAAC,UAAA,GAAa,CAAb;AACA,kBAAAC,MAAA,GAAsB,IAAtB;AAE0D;AAAY;;;;iBAEtE,oBAAW;AAAA;;AACT,iBAAKH,UAAL,CACGI,IADH,CACQ,uDAAU,KAAKC,QAAf,CADR,EAEGzH,SAFH,CAEa,UAAA0H,CAAC;AAAA,qBAAI,OAAI,CAACH,MAAL,GAAc,IAAlB;AAAA,aAFd;AAGD;;;;QAZiD,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECXpD,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAcrC,yH,IAKC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAKD,S;AAAA;;;uEAEE,yH,IAAkC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAElC,S;AAAA;;;uEACA,yH,IAA8C,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE9C,S;AAAA;;;uEALA,gI,GAAA;AAAA;AAAA,gB,GAGA,gI,GAAA;AAAA;AAAA,gB,GAEO,4E,IAAA;AAAA;AALD,6BAA2B,oBAA3B;;AAAN,wBAAM,SAAN;;AAGM,6BAAuC,OAAvC,CAAuC,MAAvC,CAAuC,OAAvC,CAAuC,IAAvC,CAAuC,oBAAvC;;AAAN,wBAAM,SAAN;AAA6C,S,EAAA,I;AAAA;;;uEAnBjD,wJ,IAIE,gI,GAAA;AAAA;AAAA;AAAA,gB,GAWA,uI,IAOc;AAAA;AAjBZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AAIG,S,EAAA,I;AAAA;;;uEATP,yH,IACE,gI,GAAA;AAAA;AAAA,gB,GAuBM,4E,IAAA;AAAA;AArBJ,wDAA8D,QAA9D,CAA8D,IAA9D,CAA8D,oBAA9D;;AAFF,wBAEE,SAFF;AAEgE,S,EAAA,I;AAAA;;;uEAyBhE,mK,IAOC,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEAaQ,uH,IAAkD,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMlD,S;AAAA;;;uEAGA,uH,IAAkD,+E,IAAA,I,EAAA;AAAA;;AAAA;AAElD,S;AAAA;;;uEAiBM,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EAGE,wD,EAAA,wD,EAAA,wL,GAKD,6E,IAED,4E,IAAA;AAVA;;AAGE;;AAHF,wBAGE,SAHF;AAOG,S,EAAA;AAPH;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAUW,S;AAAA;;;uEAGX,2I,IAMC,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMD,S;AAAA;;;uEAKF,uH,IAME;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;6aAIE;AADA;AADA,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAFF,wBAGE,SAHF,EAEE,SAFF;;AAGE;;AAHF,wBAGE,SAHF;AAGyB,S,EAAA;AAHzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIE,S;AAAA;;;uEArDR,0H,IAME,kS,GAAA;AAAA;AAAA,gB,EAAA,uM,EAAA,gO,GACE,uH,IAAI,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAMF,iI,GAAA;AAAA;AAAA,gB,GAYA,wH,IACA,iI,GAAA;AAAA;AAAA,gB,GAcF,wH,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8aAEF,iI,GAAA;AAAA;AAAA,gB,GAWK;AAAA;AAhDH,4BAAmB,QAAnB,CAAmB,KAAnB;;AAAJ,wBAAI,SAAJ;;AASM,iFAA8C,QAA9C,CAA8C,KAA9C,EAA8C,UAA9C;;AAFF,yBAEE,SAFF;;AAcE,kGAGC,QAHD,CAGC,SAHD,CAGC,MAHD,CAGC,qBAHD;;AADF,yBACE,UADF;;AAe6B;AAAT;;AAApB,yBAA6B,UAA7B,EAAoB,UAApB;;AAA6B;;AAA7B,yBAA6B,UAA7B;;AAGA,8BAGC,QAHD,CAGC,gBAHD;;AADF,yBACE,UADF;AAIG,S,EAAA;AAzCL;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACM;;AAAA;;AAkCF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAuD,S;AAAA;;;uEA7DnE,oJ,IACE,4J,IACE,0I,IACE,yJ,IACA,uI,IAAgB,6E,GAAA,sQ,GAChB,iI,GAAA;AAAA;AAAA,gB,GAQF,0I,IACE,iI,GAAA;AAAA;AAAA,gB,GAKF,0H,GAAA;AAAA;AAAA,gB,EAAA,uM,EAAA,iO,GACE,iI,GAAA;AAAA;AAAA,gB,GAwDe;AAAA;AAvEX,6BAA6C,QAA7C,CAA6C,gBAA7C;;AAAJ,wBAAI,SAAJ;;AASI,6BAA6C,QAA7C,CAA6C,gBAA7C;;AAAJ,yBAAI,SAAJ;;AAKY;;AAAd,yBAAc,SAAd;;AAEI,6BAGC,WAHD,CAGC,QAHD;;AADF,yBACE,SADF;AAIG,S,EAAA;AApBa;;AAAA;AAAmC,S;AAAA;;;uEA4H3C;AAAA;AAAA,sBAGgB,UAHhB;;AACE;;;;;AADF;AAAA,wO,GAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA,U,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAGgB,S;AAAA;;;uEAJlB,sM,GAAA,uR,GACE,iI,GAAA;AAAA;AAAA,gB,GAGgB;AAAA;AADd;;AAFF,wBAEE,SAFF;AAEsC,S,EAAA,I;AAAA;;;uEAQtC,uxB,GAAA,4lB,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA,gB,EAAA,kM,EAAA,oN,GAGgB;AAFd;;AADF,wBACE,UADF;AAC4B,S,EAAA;AAD5B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGgB,S;AAAA;;;uEARlB;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mcAKE,iI,GAAA;AAAA;AAAA,gB,GAGgB;AAAA;AALhB,4BAAqB,QAArB,CAAqB,SAArB;;AAHF,wBAGE,SAHF;;AAOI;;AAFF,wBAEE,SAFF;AAEsC,S,EAAA;AAPxC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AASK,S;AAAA;;;uEAGL,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAGJ,S;AAAA;;;uEAGN,oL,GAAA,iR,GACE;AAAA;AAAA,sBAIC,UAJD;;AAEE;;;;;AAFF;AAAA,sB,IAGG,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAmC,S;AAAA;;;uEAMxC,gO,GAAA,uR,GAKC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEAGF,yY,GAAA,+M,EAAA,4J,GAA4D,I,EAAA,I;AAAA;;;uEAC5D,+W,GAAA,mM,EAAA,sJ,GAGM,I,EAAA,I;AAAA;;;uEACN,uZ,GAAA,+M,EAAA,4J,GAMM,I,EAAA;AAAA;AALJ,qEAAoC,UAApC,CAAoC,KAApC,CAAoC,MAApC;;AADF,wBACE,SADF;AACsC,S;AAAA;;;uEAlEhD,0H,IAME,wJ,IACE,gK,GAAA,6J,GAAyC,+E,GAAA,sQ,GAIzC,gJ,IACE,0H,GAAA;AAAA;AAAA,gB,EAAA,uM,EAAA,iO,GACE,4Y,GAAA,uM,EAAA,4O,EAAA,mR,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,wM,GACE,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,oN,GACE,0H,GAAA,0N,EAAA,4N,GAMA,0H,GAAA,oN,EAAA,gN,GAWF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,oN,GACE,0H,GAAA,0N,EAAA,4N,GAOA,0H,GAAA,oN,EAAA,gN,GASF,0H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,oN,GACE,0H,GAAA,0N,EAAA,4N,GAUF,0H,GAAA;AAAA;AAAA,gB,EAAA,0N,GACA,0H,GAAA;AAAA;AAAA,gB,EAAA,8M,GAIA,0H,GAAA;AAAA;AAAA,gB,EAGE,yD,EAHF,0N,GAMM;AAAA;AA3DI;;AAAd,wBAAc,SAAd;;AACmB,6BAAiC,UAAjC,CAAiC,QAAjC;;AAAjB,yBAAiB,SAAjB;;AACgB;;AAAd,yBAAc,SAAd;;AAkBc;;AAAd,yBAAc,SAAd;;AAiBc;;AAAd,yBAAc,SAAd;;AAWmB,6BAAmC,iBAAnC;;AAAnB,yBAAmB,SAAnB;;AAGE,6BAA+C,iBAA/C;;AAFF,yBAEE,SAFF;;AAOE;;AAHF,yBAGE,SAHF;AAKG,S,EAAA;AA/DgC;;AAAA;;AAMrC;;AAAA;AA2DQ,S;AAAA;;;uEAzLlB,0H,IACE,iI,GAAA;AAAA;AAAA,gB,EAA4B,wL,GAgF5B,uH,IAEA;AAAA;AAAA,sBAoBoB,UApBpB;;AACE;;;;;AADF;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAcE,wJ,GAAA;AAAA;AAAA;AAAA,gB,EAEE;AAAA;AAAA,U,EAFF,8J,EAAA;AAAA;AAAA;AAAA,gB,EAEE;AAAA;AAAA,U,GACD,gF,GAAA,sQ,GAIH,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;45CAQF,iI,GAAA;AAAA;AAAA,gB,GAiFe,4E,IAAA;AAAA;;AAjMa,8JAAwB,SAAxB;;AAA5B,wBAA4B,SAA5B;;AAoFE,gDAA4D,8BAA5D;AACA;AAKA;;AARF,wBAEE,SAFF,EAGE,SAHF,EAQE,SARF;;AAeI;;AACA,4CAA+D,KAA/D,CAA+D,QAA/D,CAA+D,QAA/D,CAA+D,KAA/D;;AAFF,wBACE,SADF,EAEE,SAFF;;AAEE,6CAA+D,KAA/D,CAA+D,QAA/D,CAA+D,QAA/D,CAA+D,KAA/D;;AADA;;AADF,yBAEE,SAFF,EACE,SADF;;AAOc;;AAAhB,yBAAgB,UAAhB;;AAKI;;AAJF,yBAIE,UAJF;;AAAA;;AASA,qFAGC,cAHD,CAGC,kBAHD;;AADF,yBACE,UADF;AAIG,S,EAAA;AAjBA;;AAAA;;AAIH;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAKY,S;AAAA;;;uEAuFhB,+J,IACE;AAAA;AAAA,sBAQS,UART;;AAGE;;;;;AAHF;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GAMC,4E,GAAA,sQ,GAED;AAAA;AAHE,6BAAyB,KAAzB,CAAyB,OAAzB;AADA;;AAJF,wBAKE,SALF,EAIE,SAJF;AAIiB,S,EAAA;AAJjB;AAAA;;AAAA;;AAAA;;AAMC;;AAAA;AAED,S;AAAA;;;uEAhQR,0H,IACE,sH,IAAG,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAIH,yH,GAAA;AAAA;AAAA,gB,EAAK,wD,GACH,gI,GAAA;AAAA;AAAA,gB,EAAc,wL,GA2Bd;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;ocACE,gI,GAAA;AAAA;AAAA,gB,GAWA,wxB,GAAA,6lB,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA,gB,EAAA,kM,EAAA,qN,GAAyC,6E,GAAA,sQ,GAGzC,wH,IAEA,iI,GAAA;AAAA;AAAA,gB,GAqMA,iI,GAAA;AAAA;AAAA,gB,GAUM;AAAA;;AA5PL;;AAAL,wBAAK,SAAL;;AACgB,gKAAuC,WAAvC;;AAAd,yBAAc,SAAd;;AA2BM,8BAAkB,KAAlB;;AAAN,yBAAM,UAAN;;AAEI,yJAIC,QAJD,CAIC,IAJD,CAIC,OAJD;;AADF,yBACE,UADF;;AAWc;;AAAd,yBAAc,UAAd;;AAKc,+BAAqC,KAArC,CAAqC,QAArC,CAAqC,QAArC,CAAqC,KAArC;;AAAd,yBAAc,UAAd;;AAqMwC,+BAAuB,eAAvB;;AAAxC,yBAAwC,UAAxC;AAA+D,S,EAAA;AAtPhE;;AAAA;;AAgCD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAYE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAyC;;AAAA;AAEzC,S;AAAA;;;;;aAnDN,gI,GAAA;AAAA;AAAA,gB,GAIA,gI,GAAA;AAAA;AAAA,gB,EAAc,wL,GAA0D;AAAA;AAJ7C,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAIc,uLAA0D,UAA1D;;AAAd,wBAAc,SAAd;AAAwE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC0B5D,6X,GAAA;AAAA;AAAA,gB,GAC6D;AAA3D,yEAAiC,OAAjC,CAAiC,OAAjC,CAAiC,SAAjC,CAAiC,YAAjC;;AADF,wBACE,SADF;AACmC,S,EAAA,I;AAAA;;;uEAvBvC;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,wGAAA,E,4GAAA,C;;;;;;;;;aAIE,6K,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GAEE,0H,IACE,+K,IAC8B,kF,GAAA,sQ,GAE5B,gL,IACqB,uF,GAAA,sQ,GAIvB,gL,IACqB,uF,GAAA,yD,EAAA,yD,GAMvB,sH,GAAA;AAAA;AAAA,gB,GAC6D;AAAA;AArB/D,4BAAoB,QAApB,CAAoB,SAApB,CAAoB,EAApB;AADA,8FAA8C,QAA9C,CAA8C,SAA9C,CAA8C,EAA9C;;AADF,wBAEE,SAFF,EACE,UADF;;AAIO;;AAAL,wBAAK,UAAL;;AACE;;AADF,wBACE,UADF;;AAkB0B,sHAAqC,QAArC,CAAqC,SAArC,CAAqC,YAArC,CAAqC,MAArC;;AAAxB,yBAAwB,UAAxB;AAA6D,S,EAAA;AAtBjE;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQoC;;AAAA;;AAGP;;AAAA;;AAAA;;AAKF;;AAAA;;AAAA;AAGrB,S;AAAA;;;uEAUR;AAAA;AAAA,sBAM2C,UAN3C;;AAIE;;;;;AAJF;AAAA,wO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAM2C;AAAA;AALzC,6BAAuB,UAAvB;AACA,6BAAqB,SAArB;AAIA,6BAAqB,SAArB;AADA,6BAAqB,SAArB;AAFA,6BAAgD,gBAAhD,CAAgD,YAAhD;;AAHF,wBACE,SADF,EAEE,SAFF,EAME,SANF,EAKE,SALF,EAGE,SAHF;AAGkD,S,EAAA,I;AAAA;;;uEAxCxD,qL,IAEE,yI,IACE,yH,GAAA;AAAA;AAAA,gB,EAAK;AAAA;AAAA;AAAA,U,EAAL;AAAA;AAAA,gB,EAAK;AAAA;AAAA;AAAA,U,GACH;AAAA;AAAA;;AAAA;;;;;AAEE;;;;;AACA;;;;;AAHF;AAAA,wO,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GAIE,mH,GAAA;AAAA;AAAA;AAAA,gB,GA4BJ,yH,GAAA;AAAA;AAAA,gB,EAAK;AAAA;AAAA;AAAA,U,EAAL;AAAA;AAAA,gB,EAAK;AAAA;AAAA;AAAA,U,GACH,sH,GAAA;AAAA;AAAA,gB,GAM2C;AAAA;;AAxCxC,0DAA+D,SAA/D;;AAAL,wBAAK,SAAL;;AAAK,0DAA+D,SAA/D;;AAAL,wBAAK,SAAL;;AACsB;;AAApB,wBAAoB,UAApB;;AAEE,8BAAwB,WAAxB;;AAFF,yBAEE,UAFF;;AAImB;AAAA,8BAAgE,UAAhE;;AAAjB,yBAAiB,UAAjB,EAAiB,UAAjB;;AA4BC,4DAA+D,SAA/D;;AAAL,yBAAK,UAAL;;AAAK,4DAA+D,SAA/D;;AAAL,yBAAK,UAAL;;AACoB,8BAAuB,gBAAvB;;AAAlB,yBAAkB,UAAlB;AAAyC,S,EAAA;AAjCzC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AA8BqB,S;AAAA;;;uEAezB,iL,IACE,gJ,IACE,uH,IAAI,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;0RAnDhD,sH,GAAA;AAAA;AAAA;AAAA,gB,GAgDA,8H,IAMc;AAAA;AArDZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AAC6C,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD7C;;;;;;;;;;;;;;;;;ACCA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMtD,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,YAD6C;AAEnDW,gBAAQ,EAAE,YAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAASwD,0BAAT,CAAoCtD,QAApC,EAAwD;AAC7D,wFAA8BJ,iBAA9B,EAAiD,uFAAjD,EAA4EI,QAA5E;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECXG;AAAA;;AAAyG;;;;;AAAzG;AAAA,sB,GACI,sQ,GAAA,I,EAAA;AAAA;;AADJ,wBACI,SADJ;AACuD,S;AAAA;;;uEAF3D,qJ,IACI,qH,GAAA;AAAA;AAAA,gB,GAIA;AAAA;AAAA,sBAKU,UALV;;AACI;;;;;AADJ;AAAA,gM,GAAA,wS,EAAA,8S,EAAA,yW,EAAA,4S,EAAA,gP,EAAA,0S,EAAA,4S,EAAA,8S,EAAA;AAAA;AAAA,gB,EACyC;AAAA;AAAA,U,EADzC;AAAA;AAAA,gB,EACyC;AAAA;AAAA,U,EADzC,8S,EAAA,oN,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,uS,GAGI,6H,GAAA,wL,EAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GACa;AAAA;AARuC,qGAAgD,SAAhD;;AAAxD,wBAAwD,SAAxD;;AAKyC,4CAAsC,SAAtC;;AADzC,yBACyC,SADzC;;AACyC,4CAAsC,SAAtC;;AADzC,yBACyC,SADzC;;AAAwC,6BAAgC,cAAhC;AAA/B,6BAA8B,cAA9B,CAA8B,GAA9B;AAAgE,6BAAa,KAAb;AAAc;;AAAvF,yBAAwC,SAAxC,EAAS,SAAT,EAAyE,SAAzE,EAAuF,SAAvF;;AAGgB,6BAAiC,iBAAjC,CAAiC,GAAjC;AAAkC,6BAAmC,iBAAnC;AAAoC,8BAAmB,QAAnB;;AAAlF,yBAAY,SAAZ,EAA8C,SAA9C,EAAkF,UAAlF;AAAqG,S,EAAA;AAAA;AADrG;;AAFJ,wBAEI,SAFJ;AAEgG,S;AAAA;;;;;aAPpG,qH,GAAA;AAAA;AAAA,gB,GAWM;AAAA;AAXuB,6BAAqB,cAArB;;AAA7B,wBAA6B,SAA7B;AAAkD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECYhD;AAAA;AAAA,sBAGS,UAHT;;AAAiE;;;;;AAAjE;AAAA,sB,IAC2B,+E,GAAA,sQ,GAE3B,I,EAAA;AAAA;AAFC,8BAAyB,KAAzB,CAAyB,MAAzB;;AADD,wBACC,SADD;;AAC2B;;AAAA;AAE3B,S;AAAA;;;uEAfF,8J,GAAA,+L,EAAA;AAAA;AAAA,gB,GACC,0H,IAAO,6E,GAAA,sQ,GACP;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA+B;;;;;AAA/B;AAAA,sB,GAAA,wV,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAGA,wH,IAEA,6I,IACC;AAAA;AAAA,sBAES,UAFT;;AAA4C;;;;;AAA5C;AAAA,sB,IAA8D,gF,GAAA,sQ,GAI9D,qH,GAAA;AAAA;AAAA,gB,GAGS;AAAA;AAfgB,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA3B,wBAA2B,SAA3B;;AAGE;;AADD,wBACC,UADD;;AAA6F;AAApC,8BAA0B,KAA1B,CAA0B,QAA1B;AAA1B,8BAAyB,KAAzB,CAAyB,MAAzB;;AAA/B,yBAA6F,UAA7F,EAAyD,UAAzD,EAA+B,UAA/B;;AAU2C,+BAAsB,KAAtB,CAAsB,QAAtB;;AAA1C,yBAA0C,UAA1C;AAAgE,S,EAAA;AAAA;;AAZlE;;AAAA;;AACQ;;AAAA;;AACP;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKK;;AAAL,yBAAK,UAAL;;AAC+D;;AAAA;AAE9D,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECLM,yH,IAA+E,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE/E,S;AAAA;;;uEACsC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtC,S;AAAA;;;uEASA,yH,IAA0E,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE1E,S;AAAA;;;uEACiC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEjC,S;AAAA;;;uEAxBR,0H,IACE,yJ,IAAkC,6E,GAAA,sQ,GAClC,gX,GAAA,8M,EAAA,uM,GACE,ke,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uK,IACE,qI,GAAA;AAAA;AAAA;AAAA,gB,GAGA,0J,IAIA,6I,IAAqB,8E,GAAA,yD,GAGzB,yf,GAAA,4J,GAEA,me,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uK,IACE,qI,GAAA;AAAA;AAAA;AAAA,gB,GAGA,qJ,IAIA,6I,IAAqB,8E,IAGzB,yf,GAAA,4J,GAEA,me,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uK,IAAkD,gF,GAAA,sQ,GAGhD,6I,IAAqB,8E,GAAA,yD,GAGzB,yf,GAAA,4J,GAEA,me,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,wK,IAAkD,gF,GAAA,sQ,GAGhD,6I,IAAqB,0F,GAAA,yD,EAAA,sQ,EAAA,yD,EAAA,yD,EAAA,yD,EAAA,wL,GAEI;AAzCX;;AAAA;;AAAd,yBAAc,SAAd,EAAc,SAAd;;AAcc;;AAAA;;AAAd,yBAAc,UAAd,EAAc,UAAd;AAAyE,S,EAAA;AAAA;;AAlB7C;;AAAA;;AAEhC;;AAAA;;AAAA;;AAAA;;AASyB;;AAAA;;AAGzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAAA;;AASyB;;AAAA;;AAGzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAAA;;AACoD;;AAAA;;AAG3B;;AAAA;;AAGzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAAA;;AACoD;;AAAA;;AAG3B;;AAAA;;AAAA;;AAAA;AAEI,S;AAAA;;;+jBA9CjC,qI,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAA;AAAA;;AAAA,8JAAmC,SAAnC;;AAAd,wBAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECE7C;AAAA;AAAA,sBAGO,UAHP;;AAAQ;;;;;AAAR;AAAA,sB,IAAgG,oF,GAAA,sQ,EAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;;AAAA;AAGlG,S;AAAA;;;uEAEE;AAAA;AAAA,sBAGO,UAHP;;AAAQ;;;;;AAAR;AAAA,8N,GAAA;AAAA;AAAA,gB,GACA,mhB,GAAA,wa,GAAgC,6E,IAAiB,4E,GAAA,sQ,GAEnD;AAHgG;;AAA9F,wBAA8F,SAA9F;;AACA;AAAiD,S,EAAA;AADjD;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAiD;;AAAA;AAEnD,S;AAAA;;;uEATF,gJ,IACI,uI,GAAA;AAAA;AAAA,gB,GAKA,uI,GAAA;AAAA;AAAA,gB,GAGO;AAAA;AAR6C,6BAAY,KAAZ;;AAApD,wBAAoD,SAApD;;AAK+B,6BAAqC,mBAArC,CAAqC,QAArC;;AAA/B,wBAA+B,SAA/B;AAAoE,S,EAAA,I;AAAA;;;uEAgBxD,0I,GAAuB,wD,GAAA,I,EAAA;AAAA,uLAAkC,OAAlC,CAAkC,OAAlC,CAAkC,SAAlC,CAAkC,IAAlC;;AAAvB,wBAAuB,SAAvB;AAAyD,S;AAAA;;;uEAM7D;AAAA;AAAA,sBAYW,UAZX;;AAEE;;;;;AAFF;AAAA,sN,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAKE,sQ,EAAA,sQ,GAMC,2E,IACH,4E,IAAA;AAXE;;AADF,wBACE,SADF;;AAIE;;AACA,6UAIC,OAJD,CAIC,OAJD,CAIC,SAJD,CAIC,QAJD;;AALF,wBAIE,SAJF,EAKE,SALF;AASG,S,EAAA;AATH;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAYW,S;AAAA;;;uEAbb,yH,IACE,uI,GAAA;AAAA;AAAA,gB,GAYW,4E,IAAA;AATT;;AAHF,wBAGE,SAHF;AAG8B,S,EAAA,I;AAAA;;;uEAL1B,yH,IACN,uI,GAAA;AAAA;AAAA,gB,GAce;AAdD,4BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,SAAhC,CAAgC,OAAhC;;AAAd,wBAAc,SAAd;AAA8C,S,EAAA,I;AAAA;;;uEAiBxC;AAAA;AAAA,sBAEW,UAFX;;AAA4C;;;;;AAA5C;AAAA,sN,GAAA;AAAA;AAAA,gB,GAAwI,6E,IAExI;AAFU;;AAAV,wBAAU,SAAV;AAA2C,S,EAAA;AAA3C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEACX;AAAA;AAAA,sBACW,UADX;;AAA4C;;;;;AAA5C;AAAA,sN,GAAA;AAAA;AAAA,gB,GAA4I,8E,IAC5I;AADU;;AAAV,wBAAU,SAAV;AAA2C,S,EAAA;AAA3C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACW,S;AAAA;;;uEAjCvB;AAAA;;AAAA;;;;;;SAAA,E,IAAA,E,IAAA,C,k+BACI,uK,IACI,mJ,IACI,se,GAAA;AAAA;AAAA,gB,GAGA,0I,GAAM,yD,GACN,uI,GAAA;AAAA;AAAA,gB,GAGJ,6I,IACI,uI,GAAA;AAAA;AAAA,gB,GAiBA;AAAA;AAAA,sBAAgH,UAAhH;;AAA4C;;;;;AAA5C;AAAA,sN,GAAA;AAAA;AAAA,gB,GAA2F,iF,IAC3F,wI,GAAA;AAAA;AAAA,gB,GAGA,wI,GAAA;AAAA;AAAA,gB,GACW;AAAA;;AAjCvB;;AAGoB;;AAAR,wBAAQ,SAAR;;AAIM,6BAAgB,SAAhB;;AAAN,yBAAM,SAAN;;AAIM,8BAAiB,SAAjB;;AAAN,yBAAM,SAAN;;AAiBU;;AAAV,yBAAU,UAAV;;AACuE;;AAAvE,yBAAuE,UAAvE;;AAGuE;;AAAvE,yBAAuE,UAAvE;AAAqH,S,EAAA;AA7BrH;AAAA;;AAAA;;AAAA;;AAGM,iLAAkC,QAAlC,CAAkC,SAAlC,CAAkC,IAAlC;;AAAN,wBAAM,SAAN;;AAsBA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgH,S;AAAA;;;uEAoBhH,0I,GAAuB,wD,GAAA,I,EAAA;AAAA,uLAAkC,OAAlC,CAAkC,OAAlC,CAAkC,SAAlC,CAAkC,IAAlC;;AAAvB,wBAAuB,SAAvB;AAAyD,S;AAAA;;;uEAK7D;AAAA;AAAA,sBAYW,UAZX;;AACE;;;;;AADF;AAAA,sN,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAIE,sQ,EAAA,sQ,GAOC,2E,IACH,4E,IAAA;AAFE;;AAVF,wBAUE,SAVF;;AAGE;;AACA,6UAIC,OAJD,CAIC,OAJD,CAIC,SAJD,CAIC,QAJD;;AAJF,wBAGE,SAHF,EAIE,SAJF;AAQG,S,EAAA;AARH;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAYW,S;AAAA;;;uEAbb,yH,IACE,wI,GAAA;AAAA;AAAA,gB,GAYW,4E,IAAA;AAVT;;AAFF,wBAEE,SAFF;AAE8B,S,EAAA,I;AAAA;;;uEAJ1B,yH,IACN,wI,GAAA;AAAA;AAAA,gB,GAce;AAdD,4BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,SAAhC,CAAgC,OAAhC;;AAAd,wBAAc,SAAd;AAA8C,S,EAAA,I;AAAA;;;uEAkBxC;AAAA;AAAA,sBAEW,UAFX;;AAA4C;;;;;AAA5C;AAAA,sN,GAAA;AAAA;AAAA,gB,GAAwI,6E,IAExI;AAFU;;AAAV,wBAAU,SAAV;AAA2C,S,EAAA;AAA3C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEACX;AAAA;AAAA,sBACW,UADX;;AAA4C;;;;;AAA5C;AAAA,sN,GAAA;AAAA;AAAA,gB,GAA4I,8E,IAC5I;AADU;;AAAV,wBAAU,SAAV;AAA2C,S,EAAA;AAA3C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACW,S;AAAA;;;uEArCvB,oK,GAAA,uN,EAAA,yN,EAAA,gW,EAAA;AAAA;AAAA,U,EAAA,iN,EAAA;AAAA;AAAA,gB,EAAA,+N,GACI,uK,IACI,kK,IACI;AAAA;;AAAA;;;;;;SAAA,E,sGAAA,E,0GAAA,C,i3BACN,0hB,GAAA,ya,GAAsC,6E,IAMhC,2I,GAAM,yD,GACN,wI,GAAA;AAAA;AAAA,gB,GAEJ,6I,IACI,wI,GAAA;AAAA;AAAA,gB,GAkBA;AAAA;AAAA,sBAAgH,UAAhH;;AAAU;;;;;AAAV;AAAA,sN,GAAA;AAAA;AAAA,gB,GAA2F,iF,IAC3F,wI,GAAA;AAAA;AAAA,gB,GAGA,wI,GAAA;AAAA;AAAA,gB,GAIR,qJ,IACI,iI,GAAA,kT,EAAA,2N,GAA+C;AAAA;;AAzCvD;;AAAiE;;AAAjE,wBAAiE,SAAjE;;AAIM;;AAOY,8BAAgB,SAAhB;;AAAN,yBAAM,UAAN;;AAGM,+BAAiB,SAAjB;;AAAN,yBAAM,UAAN;;AAkByD;;AAAzD,yBAAyD,UAAzD;;AACuE;;AAAvE,yBAAuE,UAAvE;;AAGuE;;AAAvE,yBAAuE,UAAvE;AAAqH,S,EAAA;AAAA;AAjC7G,wCAAyC,QAAzC,CAAyC,SAAzC,CAAyC,IAAzC;AAAR;AAAA;;AAAA;;AAAA,yBAAQ,SAAR;;AACN;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAsC;;AAAA;;AAM1B,mLAAkC,QAAlC,CAAkC,SAAlC,CAAkC,IAAlC;;AAAN,yBAAM,UAAN;;AAsBA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQJ,yDAA0D,QAA1D,CAA0D,SAA1D;;AAAJ,yBAAI,UAAJ;AAA8D,S;AAAA;;;uEAhFtE,8Y,GAAA,mM,EAAA,iM,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GAGI,gI,GAAA,sN,EAAA,qN,GAqCA,iI,GAAA;AAAA;AAAA,gB,EAAA,qN,GA2CuB;AAAA;AAnFqE,6BAAW,IAAX;;AAAhG,wBAAgG,SAAhG;;AAAsB,6BAAyB,WAAzB;AAA8C,6BAA2B,YAA3B;AAApB,6BAAmB,QAAnB;;AAAhD,wBAAsB,SAAtB,EAAoE,SAApE,EAAgD,SAAhD;;AAwC0B,6BAA0C,SAA1C;;AAAtB,yBAAsB,SAAtB;AAAgE,S,EAAA;AAAA;AAvCpE,8BAAwB,SAAxB;;AADA;;AAAA,wBACA,SADA;AAoFW,S;AAAA;;;8RAjGX,gV,GAAA,8M,GACA,uI,GAAA;AAAA;AAAA,gB,GAYA,uI,GAAA;AAAA;AAAA,gB,GAoFW;AAAA;AAhGN,8BAAiB,SAAjB;;AAAL,wBAAK,SAAL;;AAYU,6BAAW,IAAX;;AAAV,wBAAU,SAAV;AAAqB,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZrB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOauD,2B,GAGZ,qCACkC3K,IADlC,EAESuH,SAFT,EAE6D;AAAA;;AAD3B,aAAAvH,IAAA,GAAAA,IAAA;AACzB,aAAAuH,SAAA,GAAAA,SAAA;;AAER,YAAIvH,IAAJ,EAAU;AACT,eAAK4K,UAAL,GAAkB5K,IAAlB;AACA;AACD,O;;;;;;;;;;;;;;;AClBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECAA,kJ,IACC,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAavC;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA8D,4E,GAAA,sQ,GAE9D;AAF6C,4BAAgB,QAAhB,CAAgB,SAAhB;;AAA7C,wBAA6C,SAA7C;AAA6D,S,EAAA;AAA7D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA8D;;AAAA;AAE9D,S;AAAA;;;uEAKF,mK,IAGC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEAND,kJ,IACC,+H,GAAA;AAAA;AAAA,gB,GAKM;AAAA;AAHL;;AAFD,wBAEC,SAFD;AAEsI,S,EAAA,I;AAAA;;;uEAMvI,oJ,IACC,0K,GAAA,6J,GACE,8E,GAAA,sQ,GAEF,klC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACC;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;sdAMY;AAAA;AAPG;;AAAhB,wBAAgB,UAAhB;;AAKE;AACA;;AALD,yBAIC,UAJD,EAKC,UALD;;AAKC;;AALD,yBAKC,UALD;AAK4G,S,EAAA;AAR3G;;AAAA;;AAEF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAMY,S;AAAA;;;uEASZ;AAAA;AAAA,sBAOS,UAPT;;AAGC;;;;;AAHD;AAAA,gO,GAAA,sX,EAAA;AAAA;AAAA,gB,EAEC,sQ,GAIA,ugB,GAAA,2a,GAAU,0E,IAAG,4E,IAAA;AAJb;;AAFD,wBAEC,SAFD;;AAMC;AAAwB,S,EAAA;AANzB;AAAA;;AAAA;;AAAA;;AAMC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAcxB;AAAA;AAAA,sBAMS,UANT;;AAEC;;;;;AAFD;AAAA,gO,GAAA,sX,GAKC,0hB,GAAA;AAAA;AAAA,gB,GAAuB,qF,IAAc;AAA3B;;AAAV,wBAAU,SAAV;AAAsB,S,EAAA;AALvB;AAAA;;AAAA;;AAAA;;AAKC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgD,S;AAAA;;;uEAflD,4I,IACC,klC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACC;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;sdAQD,gI,GAAA;AAAA;AAAA,gB,GAMS;AAAA;AAfO;;AAAhB,wBAAgB,UAAhB;;AAKE,6BAAuB,QAAvB,CAAuB,SAAvB;AACA;;AALD,yBAIC,UAJD,EAKC,UALD;;AAKC;;AALD,yBAKC,UALD;;AAWA;;AAHD,yBAGC,UAHD;AAGkG,S,EAAA;AAZlG;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAMY,S;AAAA;;;uEAvBhB,oJ,IACC,wL,IACC,0K,GAAA,6J,GACE,8E,GAAA,sQ,GAEF,+H,GAAA;AAAA;AAAA,gB,GASD,yH,GAAA;AAAA;AAAA,gB,EAAA,uM,EAAA,iO,GACC,+H,GAAA;AAAA;AAAA,gB,GAiBM;AAAA;AAvBL;;AAJD,wBAIC,SAJD;;AASa;;AAAd,wBAAc,SAAd;;AACqB,6BAA0D,gBAA1D;;AAApB,yBAAoB,SAApB;AAA8E,S,EAAA;AAZ5E;;AAAA;AACF,S;AAAA;;;uEAgCF,mJ,IAIC;AAAA;AAAA,sBAI4B,UAJ5B;;AAGC;;;;;AAHD;AAAA,0Q,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAI4B;AAAA;AAF3B,6BAAqC,iBAArC;AADA;;AADD,wBAEC,SAFD,EACC,SADD;AAC4G,S,EAAA,I;AAAA;;;uEAa5G;AAAA;AAAA,sBAQS,UART;;AAGC;;;;;AAHD;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GAMC,4E,GAAA,sQ,GAED;AAAA;AAHC,+HAA0F,cAA1F,CAA0F,MAA1F;AADA;;AAJD,wBAKC,SALD,EAIC,SAJD;AAIgB,S,EAAA;AAJhB;AAAA;;AAAA;;AAAA;;AAMC;;AAAA;AAED,S;AAAA;;;uEAfD,+K,IAIC;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,sX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAqC,4E,GAAA,sQ,GAGhF,gI,GAAA;AAAA;AAAA,gB,GAQS;AAAA;;AAXkC,4CAAoC,KAApC,CAAoC,QAApC;;AAA3C,wBAA2C,SAA3C;;AAA2C,4CAAoC,KAApC,CAAoC,QAApC;;AAA3C,wBAA2C,SAA3C;;AAIC,8BAAsB,KAAtB,CAAsB,QAAtB;;AADD,yBACC,SADD;AACuB,S,EAAA;AAJvB;AAAA;;AAAA;;AAAA;;AAAgF;;AAAA;AAEhF,S;AAAA;;;uEA9FH;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mcACC,oJ,GAAA;AAAA;AAAA,gB,EAAA,iM,GACC,mJ,IACC,0K,GAAA,8J,GACE,+E,GAAA,sQ,GAEF,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACC;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;;;;gdAIC,4H,GAAA;AAAA;AAAA,gB,GAMH,+H,GAAA;AAAA;AAAA,gB,GASA,+H,GAAA;AAAA;AAAA,gB,GAeA,+H,GAAA;AAAA;AAAA,gB,GAoCA,gI,GAAA;AAAA;AAAA,gB,GAWA,gI,GAAA;AAAA;AAAA,gB,GAgBM;AAAA;AAxGF,6BAAkB,KAAlB;;AAAN,wBAAM,SAAN;;AACM,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAL,wBAAK,SAAL;;AAKkB;;AAAhB,yBAAgB,UAAhB;;AAEE;AACA;;AAFD,yBACC,UADD,EAEC,UAFD;;AAEC;;AAFD,yBAEC,UAFD;;AAIa,8BAAgC,UAAhC;;AAAZ,yBAAY,UAAZ;;AAMwB,8BAA6B,sBAA7B;;AAA3B,yBAA2B,UAA3B;;AAS4B;;AAA5B,yBAA4B,UAA5B;;AAe4B;;AAA5B,yBAA4B,UAA5B;;AAsCC;;AAFD,yBAEC,UAFD;;AAaC;;AAFD,yBAEC,UAFD;AAEkI,S,EAAA;AA1FpI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAGI;;AAAA;;AAEF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAOa,S;AAAA;;;uEAsGZ;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAoE,4E,GAAA,sQ,GAEpE;AAFmD,4BAAgB,QAAhB,CAAgB,SAAhB;;AAAnD,wBAAmD,SAAnD;AAAmE,S,EAAA;AAAnE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAoE;;AAAA;AAEpE,S;AAAA;;;uEAMF,mK,IAGC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEACA,mK,IAGC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEAZD,kJ,IACC,gI,GAAA;AAAA;AAAA,gB,GAMA,gI,GAAA;AAAA;AAAA,gB,GAKM;AAAA;AATL;;AAFD,wBAEC,SAFD;;AAQC;;AAFD,wBAEC,SAFD;AAE6E,S,EAAA,I;AAAA;;;uEAM9E,oJ,IACC,0K,GAAA,6J,GACE,8E,GAAA,sQ,GAEF,klC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACC;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;65CAKY;AANG;;AAAhB,wBAAgB,UAAhB;;AAKE;;AAJD,yBAIC,UAJD;;AAAA;AAKY,S,EAAA;AARX;;AAAA;;AAEF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAKY,S;AAAA;;;uEAId,oJ,IAIC,0K,GAAA,6J,GACE,8E,GAAA,sQ,GAEF,klC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACC;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;65CAKY;AANG;;AAAhB,wBAAgB,UAAhB;;AAKE;;AAJD,yBAIC,UAJD;;AAAA;AAKY,S,EAAA;AARX;;AAAA;;AAEF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAKY,S;AAAA;;;uEAId,8K,IAIC;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,sX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAqC,4E,GAAA,sQ,GAEhF;AAAA;;AAF2C,4CAAoC,KAApC,CAAoC,QAApC;;AAA3C,wBAA2C,SAA3C;;AAA2C,4CAAoC,KAApC,CAAoC,QAApC;;AAA3C,wBAA2C,SAA3C;AAA+E,S,EAAA;AAA/E;AAAA;;AAAA;;AAAA;;AAAgF;;AAAA;AAEhF,S;AAAA;;;uEAOC;AAAA;AAAA,sBAQS,UART;;AAGC;;;;;AAHD;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GAMC,4E,GAAA,sQ,GAED;AAAA;AAHC,6BAAuC,mBAAvC,CAAuC,OAAvC;AADA;;AAJD,wBAKC,SALD,EAIC,SAJD;AAIgB,S,EAAA;AAJhB;AAAA;;AAAA;;AAAA;;AAMC;;AAAA;AAED,S;AAAA;;;uEAZD,+K,IACC;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,sX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAqC,4E,GAAA,sQ,GAGhF,gI,GAAA;AAAA;AAAA,gB,GAQS;AAAA;;AAXkC,4CAAoC,KAApC,CAAoC,QAApC;;AAA3C,wBAA2C,SAA3C;;AAA2C,4CAAoC,KAApC,CAAoC,QAApC;;AAA3C,wBAA2C,SAA3C;;AAIC,8BAA8B,sBAA9B;;AADD,yBACC,SADD;AAC+B,S,EAAA;AAJ/B;AAAA;;AAAA;;AAAA;;AAAgF;;AAAA;AAEhF,S;AAAA;;;uEAHD,gI,GAAA;AAAA;AAAA,gB,GAaM,4E,IAAA;AAAA;AAbiD,6BAAqB,KAArB,CAAqB,QAArB;;AAAvD,wBAAuD,SAAvD;AAA4E,S,EAAA,I;AAAA;;;uEAtE/E;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mcACC,oJ,GAAA;AAAA;AAAA,gB,EAAA,iM,GACC,mJ,IACC,0K,GAAA,8J,GACE,+E,GAAA,sQ,GAEF,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACC;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;kdACC,6H,GAAA;AAAA;AAAA,gB,GAOH,gI,GAAA;AAAA;AAAA,gB,GAeA,gI,GAAA;AAAA;AAAA,gB,GAcA,gI,GAAA;AAAA;AAAA,gB,GAiBA,gI,GAAA;AAAA;AAAA;AAAA,gB,GAQA,yI,IAec;AAAA;AApFV,6BAAgC,mBAAhC;;AAAN,wBAAM,SAAN;;AACM,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAL,wBAAK,SAAL;;AAKkB;;AAAhB,yBAAgB,UAAhB;;AACa;;AAAZ,yBAAY,UAAZ;;AAAA;;AACa,8BAAsC,gBAAtC;;AAAZ,yBAAY,UAAZ;;AAOwB,+BAA8B,sBAA9B;;AAA3B,yBAA2B,UAA3B;;AAe4B;;AAA5B,yBAA4B,UAA5B;;AAgBC;;AAFD,yBAEC,UAFD;;AAmBC;;AAAA;;AAFD,yBAEC,UAFD,EAEC,UAFD;AAEgI,S,EAAA;AA/DlI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAGI;;AAAA;;AAEF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIa,S;AAAA;;;uEA1HjB,+H,GAAA;AAAA;AAAA,gB,GAGA,+H,GAAA;AAAA;AAAA,gB,GA4GA,gI,GAAA;AAAA;AAAA,gB,GAsFO;AAAA;AArMoB,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAGyB,6BAAY,KAAZ;;AAAzB,wBAAyB,SAAzB;;AA4GuC,qDAA8C,mBAA9C;;AAAvC,wBAAuC,SAAvC;AAAqF,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC5GjF;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA+F,0E,GAAA,wD,EAAA,wL,GAE3F;AAAA;AAFgD,sEAA0C,QAA1C,CAA0C,SAA1C,CAA0C,EAA1C;;AAApD,wBAAoD,SAApD;AAA8F,S,EAAA;AAA9F;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA+F;;AAAA;AAE3F,S;AAAA;;;;;aALR,qjC,GAAA,utB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE,4H,GAAA,yK,GAAW,8E,GAAA,sQ,GACX;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;AAA8B;;;;;AAAsC;;;;;AAApE;AAAA,gO,GAAA,+N,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,qN,EAAA,yO,GACE,uH,GAAA;AAAA;AAAA,gB,EAAY,wL,GAAuC;AAAA;AADzC,8BAAiB,MAAjB;;AAAZ,yBAAY,UAAZ;;AAAA;;AACc,iKAAuC,SAAvC;;AAAZ,yBAAY,UAAZ;AAAmD,S,EAAA;AAHvD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIa,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMgH,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,yBAD6C;AAEnDW,gBAAQ,EAAE,yBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAAS2D,sCAAT,CAAgDzD,QAAhD,EAAoE;AACzE,wFAA8BJ,iBAA9B,EAAiD,gHAAjD,EAAwFI,QAAxF;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA8Ca0D,qC;AAuBZ,uDACS/L,aADT,EAESgM,UAFT,EAGS/L,mBAHT,EAISC,gBAJT,EAKS+L,MALT,EAK0B;AAAA;;AAAA;;AAJjB,eAAAjM,aAAA,GAAAA,aAAA;AACA,eAAAgM,UAAA,GAAAA,UAAA;AACA,eAAA/L,mBAAA,GAAAA,mBAAA;AACA,eAAAC,gBAAA,GAAAA,gBAAA;AACA,eAAA+L,MAAA,GAAAA,MAAA;AAxBA,eAAAtK,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAUV;;AACS,eAAAmC,WAAA,GAAc,IAAI,mEAAJ,CAA2B,UAACC,IAAD;AAAA,mBAAUA,IAAI,CAACC,SAAf;AAAA,WAA3B,CAAd;;AACA,eAAAC,QAAA,GAAW,UAACX,CAAD,EAAYS,IAAZ;AAAA,mBACnB,CAAC,CAACA,IAAI,CAACC,SAAP,IAAoBD,IAAI,CAACC,SAAL,CAAehH,MAAf,GAAwB,CADzB;AAAA,WAAX;;AAEA,eAAAkH,OAAA,GAAU,UAACZ,CAAD,EAAYS,IAAZ;AAAA,mBAA0BA,IAAI,CAAC7D,EAA/B;AAAA,WAAV;;AAET,eAAAiE,gBAAA,GAA2C,EAA3C;;AAoEA,eAAAC,YAAA,GAAe,UAACC,IAAD,EAAON,IAAP,EAAiB;;;AAC/B,mBAAO;AACNvB,iBAAG,EAAE,OAAI,CAACA,GADJ;AAEN8B,mBAAK,EAAED,IAAI,CAACC,KAFN;AAGNlF,kBAAI,EAAE,CAAF,KAAEiF,IAAI,CAACjF,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAa2E,IAAI,CAACQ,cAHlB;AAINC,oBAAM,EAAE,CAAF,KAAEH,IAAI,CAACG,MAAL,MAAW,IAAX,IAAW,aAAX,GAAW,EAAX,GAAe,wDAAWT,IAAI,CAACS,MAAhB,CAJjB;AAKNC,kBAAI,EAAE,CAAF,KAAEJ,IAAI,CAACI,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAaV,IAAI,CAACU,IALlB;AAMNC,mBAAK,EAAE,CAAF,KAAEL,IAAI,CAACK,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcX,IAAI,CAACW,KANpB;AAONC,oBAAM,EAAE,CAAF,KAAEN,IAAI,CAACO,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiB,KAPnB;AAQN/L,kBAAI,EAAE,OAAI,CAACA,IARL;AASNgM,sBAAQ,EAAE,CAAF,KAAER,IAAI,CAACQ,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiBd,IAAI,CAACc,QAT1B;AAUNC,0BAAY,EAAE,CAAF,KAAET,IAAI,CAACS,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,EAAjB,GAAqBf,IAAI,CAACe,YAVlC;AAWNC,0BAAY,EAAE,CAAF,KAAEV,IAAI,CAACU,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,EAAjB,GAAqBhB,IAAI,CAACgB,YAXlC;AAYNC,mBAAK,EAAE,CAAF,KAAEX,IAAI,CAACW,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcjB,IAAI,CAACiB;AAZpB,aAAP;AAcA,WAfD;;AAgBA,eAAAC,SAAA,GAAY,UAACZ,IAAD,EAAON,IAAP,EAAiB;;;AAC5B,mBAAO;AACN7D,gBAAE,EAAE,CAAF,KAAEmE,IAAI,CAACnE,EAAL,MAAO,IAAP,IAAO,aAAP,GAAO,EAAP,GAAW6D,IAAI,CAAC7D,EADd;AAENd,kBAAI,EAAE,CAAF,KAAEiF,IAAI,CAACjF,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAa2E,IAAI,CAACM,IAFlB;AAGNE,4BAAc,EAAE,CAAF,KAAEF,IAAI,CAACE,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,EAAnB,GAAuBR,IAAI,CAACQ,cAHtC;AAINC,oBAAM,EAAE,CAAF,KAAEH,IAAI,CAACG,MAAL,MAAW,IAAX,IAAW,aAAX,GAAW,EAAX,GAAeT,IAAI,CAACS,MAJtB;AAKNC,kBAAI,EAAE,CAAF,KAAEJ,IAAI,CAACI,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAaV,IAAI,CAACU,IALlB;AAMNC,mBAAK,EAAE,CAAF,KAAEL,IAAI,CAACK,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcX,IAAI,CAACW,KANpB;AAONQ,qBAAO,EAAE,CAAF,KAAEb,IAAI,CAACa,OAAL,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgBnB,IAAI,CAACmB,OAPxB;AAQNlB,uBAAS,EAAE,CAAF,KAAEK,IAAI,CAACc,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiBpB,IAAI,CAACC,SAR3B;AASNlJ,iBAAG,EAAE,CAAF,KAAEuJ,IAAI,CAACvJ,GAAL,MAAQ,IAAR,IAAQ,aAAR,GAAQ,EAAR,GAAYiJ,IAAI,CAACjJ,GAThB;AAUNgK,0BAAY,EAAE,CAAF,KAAET,IAAI,CAACS,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,EAAjB,GAAqBf,IAAI,CAACe,YAVlC;AAWND,sBAAQ,EAAE,CAAF,KAAER,IAAI,CAACQ,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiBd,IAAI,CAACc,QAX1B;AAYNE,0BAAY,EAAE,CAAF,KAAEV,IAAI,CAACU,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,EAAjB,GAAqBhB,IAAI,CAACgB,YAZlC;AAaNC,mBAAK,EAAE,CAAF,KAAEX,IAAI,CAACW,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcjB,IAAI,CAACiB;AAbpB,aAAP;AAeA,WAhBD;AAuiBA;;;AACA,eAAAI,kBAAA,GAAqB,IAAI,uEAAJ,CAAwB,IAAxB,CAArB;;AACA,eAAAC,QAAA,GAAW,UAACtB,IAAD;AAAA,mBAAeA,IAAI,CAACuB,KAApB;AAAA,WAAX;;AApnBC,eAAK1B,UAAL,CAAgBzL,OAAhB,GAA0B,KAA1B;AACA,eAAKoN,UAAL,GAAkB,IAAI,8EAAJ,EAAlB;AACA,eAAKC,UAAL,GAAkB,IAAI,oDAAJ,CAA2B,EAA3B,CAAlB;AACA,eAAKA,UAAL,CAAgB5J,SAAhB,CAA0B,UAAC6J,KAAD,EAAW;AACpC,mBAAI,CAACF,UAAL,CAAgB1M,IAAhB,GAAuB,IAAvB;AAEA,gBAAM6M,iBAAiB,GAAGD,KAAK,CAACE,IAAN,CAAW,UAAUC,CAAV,EAAaC,CAAb,EAAgB;AACpD,kBAAID,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB;AACtB,uBAAO,CAAC,CAAR;AACA,eAFD,MAEO,IAAIY,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB;AAC7B,uBAAO,CAAP;AACA,eAFM,MAEA;AACN,uBAAO,CAAP;AACA;AACD,aARyB,CAA1B;AAUAU,6BAAiB,CAAClM,OAAlB,CAA0B,UAACsM,QAAD,EAAmB;AAC5C,kBAAIA,QAAQ,CAAC9B,SAAb,EAAwB;AACvB8B,wBAAQ,CAAC9B,SAAT,CAAmB2B,IAAnB,CAAwB,UAAUC,CAAV,EAAaC,CAAb,EAAgB;AACvC,sBAAID,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB;AACtB,2BAAO,CAAC,CAAR;AACA,mBAFD,MAEO,IAAIY,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB;AAC7B,2BAAO,CAAP;AACA,mBAFM,MAEA;AACN,2BAAO,CAAP;AACA;AACD,iBARD;AASA;AACD,aAZD;AAcA,mBAAI,CAACO,UAAL,CAAgB1M,IAAhB,GAAuB6M,iBAAvB;AACA,WA5BD;AA6BA,eAAKF,UAAL,CAAgBO,IAAhB,CAAqB,EAArB;AACA,eAAKxD,WAAL;AACA,eAAKV,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,mBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,WAFU,CAAX;AAGA,eAAKrG,GAAL,GAAW,KAAKyJ,kBAAL,CAAwBY,OAAxB,CAAgCpK,SAAhC,CAA0C,UAAC/C,IAAD,EAAU;AAC9DoN,mBAAO,CAACC,GAAR,CAAYrN,IAAI,CAACsN,MAAL,CAAYC,QAAxB;AACA,WAFU,CAAX;AAIApK,oBAAU,CAAC,YAAM;AAChB,gBAAI,OAAI,CAACV,aAAT,EAAwB;AACvB,qBAAI,CAAC8D,IAAL,GAAYG,MAAM,CAAC8G,IAAP,CAAY,OAAI,CAAC/K,aAAjB,EAAgC,CAAhC,CAAZ;;AACA,kBAAI,OAAI,CAAC/B,KAAT,EAAgB;AACf,uBAAI,CAAC+M,QAAL;AACA;AACD;AACD,WAPS,CAAV;AAQA;;;;iBAEO,yBAAgBtE,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,qBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAoCD,sBAAasC,KAAb,EAA6BgB,KAA7B,EAA4D;AAAA;;AAAA,gBAAnBiB,UAAmB,uEAAN,IAAM;AAC3D,gBAAMnG,SAAS,GAAG,KAAKyD,MAAL,CAAY2C,IAAZ,CAAiB,iGAAjB,EAAwC;AACzDC,mBAAK,EAAE,gBADkD;AAEzDC,wBAAU,EAAE,yBAF6C;AAGzD7N,kBAAI,EAAE,MAAF,OAAE,CAAF,EAAE,EACF,KAAKuL,YAAL,CAAkB;AACpBE,qBAAK,EAAEA,KADa;AAEpBlF,oBAAI,EAAEG,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAFc;AAGpBd,sBAAM,EAAE,wDAAWc,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bd,MAAxC,CAHY;AAIpBC,oBAAI,EAAEa,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bb,IAJf;AAKpBC,qBAAK,EAAEY,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BZ,KALhB;AAMpB7L,oBAAI,EAAE,KAAKA,IANS;AAOpBgM,wBAAQ,EAAES,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BT,QAPnB;AAQpBC,4BAAY,EAAEyB,UAAU,GAAGA,UAAU,CAACzL,GAAd,GAAoB,IARxB;AASpBiK,4BAAY,EAAEO,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BP,YATvB;AAUpBC,qBAAK,EAAEM,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BN;AAVhB,eAAlB,CADE;AAHmD,aAAxC,CAAlB;AAmBA5E,qBAAS,CAACuG,WAAV,GAAwB/K,SAAxB,CAAkC,UAACgL,MAAD,EAAY;AAC7C,kBAAIA,MAAJ,EAAY;AACX,uBAAI,CAACC,UAAL,CAAgBD,MAAhB,EAAwBtB,KAAxB,EAA+BiB,UAA/B;AACA;AACD,aAJD;AAKA;;;iBAED,oBAAWxC,IAAX,EAAsB;AAAA;;AACrB,gBAAM3D,SAAS,GAAG,KAAKyD,MAAL,CAAY2C,IAAZ,CAAiB,iGAAjB,EAAwC;AACzDC,mBAAK,EAAE,KADkD;AAEzD5N,kBAAI,EAAE,MAAF,OAAE,CAAF,kBACA,KAAKuL,YAAL,CAAkB;AAAEE,qBAAK,EAAE;AAAT,eAAlB,EAAoCP,IAApC,CADA,CAAE,EACuC;AAC5CjJ,mBAAG,EAAEiJ,IAAI,CAACjJ,GADkC;AAE5CiK,4BAAY,EAAEhB,IAAI,CAACQ;AAFyB,eADvC;AAFmD,aAAxC,CAAlB;AASAnE,qBAAS,CAACuG,WAAV,GAAwB/K,SAAxB,CAAkC,UAACgL,MAAD,EAAY;AAC7C,kBAAIA,MAAJ,EAAY;AACX,oBAAME,UAAU,GAAGF,MAAM,CAAClC,KAAP,oBACNkC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAElC,KADF,oBAEhB,EAFH;AAGA,oBAAMD,IAAI,GAAGmC,MAAM,CAACnC,IAAP,wBACGmC,MAAM,CAACnC,IADV,wBAC0BqC,UAD1B,eAEV,EAFH;;AAGA,oBAAM1K,IAAI,GAAG,OAAI,CAAC6I,SAAL,CACZ;AACC7F,sBAAI,EACH,UACCqF,IAAI,IAAI,EADT,8BAEmBqC,UAFnB,gBAEkC,OAAI,CAAChP,gBAAL,CAAsBqE,OAAtB,wBACjB4H,IAAI,CAACQ,cADY,EAFlC,mBAKAqC,MAAM,CAACpC,MAAP,CACEpC,MADF,CACS,UAAClF,CAAD;AAAA,2BAAOA,CAAC,CAAC6J,UAAF,IAAgB7J,CAAC,CAAC3D,KAAzB;AAAA,mBADT,EAEEmE,GAFF,CAEM,UAACR,CAAD;AAAA,2BAAOA,CAAC,CAAC3D,KAAT;AAAA,mBAFN,EAGEoB,IAHF,CAGO,KAHP,CAPF;AAWC6J,wBAAM,EAAEoC,MAAM,CAACpC;AAXhB,iBADY,EAcZT,IAdY,CAAb;;AAgBA,uBAAI,CAACiD,yBAAL,CAA+B,OAAI,CAACxB,UAAL,CAAgBjM,KAA/C,EAAsD6C,IAAtD;;AACA,uBAAI,CAACoJ,UAAL,CAAgBO,IAAhB,oBAAyB,OAAI,CAACP,UAAL,CAAgBjM,KAAzC;;AACA,uBAAI,CAACgJ,WAAL;AACA;AACD,aA5BD;AA6BA;;;iBAED,oBAAWwB,IAAX,EAAsB;AACrB,iBAAKF,MAAL,CAAY2C,IAAZ,CAAiB,iGAAjB,EAAwC;AACvCC,mBAAK,EAAE,KADgC;AAEvC5N,kBAAI,EAAE,KAAKuL,YAAL,CAAkB;AAAEQ,wBAAQ,EAAE;AAAZ,eAAlB,EAAsCb,IAAtC;AAFiC,aAAxC;AAIA;;;iBAED,oBAAW6C,MAAX,EAAwBtB,KAAxB,EAAuD;AAAA,gBAAnBiB,UAAmB,uEAAN,IAAM;AACtD,gBAAMO,UAAU,GAAGF,MAAM,CAAClC,KAAP,oBACNkC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAElC,KADF,oBAEhB,EAFH;AAGA,gBAAMD,IAAI,GAAG,CAAAmC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEnC,IAAR,yBACGmC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEnC,IADX,wBAC2BqC,UAD3B,eAEV,EAFH;AAGA,gBAAMG,OAAO,GAAG,KAAKhC,SAAL,CACf;AACC/E,gBAAE,EAAE,IAAIS,IAAJ,GAAWuG,OAAX,EADL;AAEC9H,kBAAI,EACH,UACCqF,IAAI,IAAI,EADT,8BAEmBqC,UAFnB,gBAEkC,KAAKhP,gBAAL,CAAsBqE,OAAtB,wBACjBoD,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CADiB,EAFlC,oBAKAsB,MAAM,CAACpC,MAAP,CACEpC,MADF,CACS,UAAClF,CAAD;AAAA,uBAAOA,CAAC,CAAC6J,UAAF,IAAgB7J,CAAC,CAAC3D,KAAzB;AAAA,eADT,EAEEmE,GAFF,CAEM,UAACR,CAAD;AAAA,uBAAOA,CAAC,CAAC3D,KAAT;AAAA,eAFN,EAGEoB,IAHF,CAGO,KAHP,CARF;AAYC4J,4BAAc,EAAEhF,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAZjB;AAaCJ,qBAAO,EAAEI,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BJ,OAbvC;AAcCL,sBAAQ,EAAES,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BT,QAdxC;AAeCE,0BAAY,EAAEO,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BP,YAf5C;AAgBCI,sBAAQ,EAAE;AAhBX,aADe,EAmBfyB,MAnBe,CAAhB;;AAqBA,gBAAIL,UAAJ,EAAgB;AACf,mBAAKY,uBAAL,CAA6B,KAAK3B,UAAL,CAAgBjM,KAA7C,EAAoDgN,UAApD,EAAgEU,OAAhE;AACA,mBAAKzB,UAAL,CAAgBO,IAAhB,oBAAyB,KAAKP,UAAL,CAAgBjM,KAAzC;AACA,mBAAKgJ,WAAL;AACA,qBAAO0E,OAAP;AACA,aALD,MAKO;AACN,mBAAKzB,UAAL,CAAgBO,IAAhB,8BACI,KAAKP,UAAL,CAAgBjM,KADpB,I,kBAGK0N,O,CAHL;AAMA,mBAAK1E,WAAL;AACA,qBAAO0E,OAAP;AACA;AACD;;;iBAED,oBAAWV,UAAX,EAAuBa,QAAvB,EAAiC;AAChC,gBAAMrD,IAAI,GAAG,KAAKsD,QAAL,CAAc,KAAK/L,aAAnB,EAAkC8L,QAAlC,CAAb;AACA,iBAAKE,YAAL,CAAkB,IAAlB,EAAwBvD,IAAxB,EAA8BwC,UAA9B;AACA;;;iBAED,kBAASgB,YAAT,EAAuBH,QAAvB,EAAiC;AAAA;;AAChC,iBAAK,IAAIhL,IAAT,IAAiBmL,YAAjB,EAA+B;AAC9B,kBAAInL,IAAI,IAAIgL,QAAZ,EAAsB,OAAOG,YAAP,CAAtB,KACK;AACJ,oBAAMC,YAAY,GAAGD,YAAY,CAACnL,IAAD,CAAZ,CAAmB4H,SAAnB,CAA6B/G,IAA7B,CAAkC,UAACC,CAAD;AAAA,yBACtD,OAAI,CAACmK,QAAL,CAAcnK,CAAd,EAAiBkK,QAAjB,CADsD;AAAA,iBAAlC,CAArB;AAGA,oBAAII,YAAJ,EAAkB,OAAO,KAAKH,QAAL,CAAcG,YAAd,EAA4BJ,QAA5B,CAAP;AAClB;AACD;AACD;;;iBAED,iCAAwBG,YAAxB,EAAsChB,UAAtC,EAAkDU,OAAlD,EAA2D;AAAA;;AAC1DM,wBAAY,CAAC/N,OAAb,CAAqB,UAAC0D,CAAD,EAAO;AAC3B,kBAAIA,CAAC,CAACgD,EAAF,IAAQqG,UAAU,CAACrG,EAAvB,EAA2BhD,CAAC,CAAC8G,SAAF,CAAYpL,IAAZ,CAAiBqO,OAAjB,EAA3B,KACK,OAAI,CAACE,uBAAL,CAA6BjK,CAAC,CAAC8G,SAA/B,EAA0CuC,UAA1C,EAAsDU,OAAtD;AACL,aAHD;AAIA;;;iBAED,mCAA0BM,YAA1B,EAAwCnL,IAAxC,EAA8C;AAC7C,iBAAK,IAAIK,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG8K,YAAY,CAACvK,MAAzC,EAAiDP,KAAK,EAAtD,EAA0D;AACzD,kBAAI8K,YAAY,CAAC9K,KAAD,CAAZ,CAAoByD,EAApB,IAA0B9D,IAAI,CAAC8D,EAAnC,EAAuC;AACtCqH,4BAAY,CAAC9K,KAAD,CAAZ,GAAsB,MAAH,OAAG,CAAH,EAAG,EAAKL,IAAL,CAAtB;;AACA,oBAAImL,YAAY,CAAC9K,KAAD,CAAZ,CAAoBuI,KAAxB,EAA+B;AAC9B,sBAAMyC,KAAK,GAAGrL,IAAI,CAACoI,MAAL,CAAYpC,MAAZ,CAAmB,UAAClF,CAAD;AAAA,2BAAOA,CAAC,CAACkC,IAAF,KAAW,OAAlB;AAAA,mBAAnB,CAAd;AACAmI,8BAAY,CAAC9K,KAAD,CAAZ,CAAoBuI,KAApB,GAA4B,CAACyC,KAAK,CAAC,CAAD,CAAL,CAASlO,KAAtC;AACA;AACD,eAND,MAOC,KAAKyN,yBAAL,CAA+BO,YAAY,CAAC9K,KAAD,CAAZ,CAAoBuH,SAAnD,EAA8D5H,IAA9D;AACD;AACD;;;iBAEO,8BAGc;AAAA,gBAFrBnE,OAEqB,uEAFX,EAEW;AAAA,gBADrByP,EACqB,uEADR,IACQ;AAAA,gBAArBC,MAAqB,uEAAJ,IAAI;AAErB,mBAAO,KAAK9D,MAAL,CACL2C,IADK,CACA,sEADA,EAC6B;AAClCC,mBAAK,EAAE,kBAD2B;AAElCmB,uBAAS,EAAE,KAAKpF,GAFkB;AAGlCqF,0BAAY,EAAE,KAHoB;AAIlChP,kBAAI,EAAE;AACLZ,uBAAO,EAAEA,OADJ;AAEL6P,0BAAU,EAAE;AACXH,wBAAM,EACLA,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAAA,MAAA,GAAU,KAAK7P,gBAAL,CAAsBqE,OAAtB,CAA8B,qBAA9B,CAFA;AAGXuL,oBAAE,EAAEA,EAAE,SAAF,IAAAA,EAAE,WAAF,GAAAA,EAAA,GAAM,KAAK5P,gBAAL,CAAsBqE,OAAtB,CAA8B,kBAA9B;AAHC;AAFP;AAJ4B,aAD7B,EAcLwK,WAdK,GAeLvD,IAfK,CAgBL,kDAAK,CAAL,CAhBK,EAiBL,oDAAO,UAAC2E,EAAD;AAAA,qBAAQ,CAAC,CAACA,EAAV;AAAA,aAAP,CAjBK,CAAP;AAmBA;;;iBAED,oBAAWhE,IAAX,EAAiB;AAAA;;AAChB,iBAAKiE,kBAAL,CACC,KAAKxF,GAAL,IAAY,KAAZ,GACG,iCADH,GAEG,kCAHJ,EAIE5G,SAJF,CAIY,UAACqM,GAAD,EAAS;AACpB,kBAAIlE,IAAI,CAACC,SAAL,IAAkBD,IAAI,CAACC,SAAL,CAAehH,MAArC,EAA6C;AAC5C+G,oBAAI,CAACC,SAAL,CAAexK,OAAf,CAAuB,UAAC0O,SAAD,EAAe;AACrC,yBAAI,CAACC,kBAAL,CAAwBD,SAAxB;AACA,iBAFD;;AAGA,uBAAI,CAACE,eAAL,CAAqBrE,IAArB;AACA,eALD,MAKO;AACN,uBAAI,CAACnH,kBAAL,CAAwBmH,IAAxB;AACA;AACD,aAbD;AAcA;;;iBAED,4BAAmBA,IAAnB,EAA8B;AAC7B,iBAAKI,gBAAL,CAAsBvL,IAAtB,CACC,KAAKf,mBAAL,CAAyB+E,kBAAzB,CAA4CmH,IAAI,CAACgB,YAAjD,EAA+DhB,IAAI,CAACjJ,GAApE,CADD;AAGA;;;iBAED,yBAAgBiJ,IAAhB,EAA2B;AAAA;;AAC1B,iBAAKH,UAAL,CAAgBzL,OAAhB,GAA0B,IAA1B;AACA,qFAAa,KAAKgM,gBAAlB,GACEf,IADF,CAEE,iDAAI,UAAC6E,GAAD,EAAS;AACZ,kBAAIA,GAAJ,EAAS;AACR,uBAAI,CAACrL,kBAAL,CAAwBmH,IAAxB,EAA8B,IAA9B;AACA;AACD,aAJD,CAFF,EAOE,sDAAS,YAAM;AACd,qBAAI,CAACH,UAAL,CAAgBzL,OAAhB,GAA0B,KAA1B;AACA,aAFD,CAPF,EAUE,wDAAW,UAAC+D,KAAD,EAAW;AACrB,qBAAI,CAACiI,gBAAL,GAAwB,EAAxB;AACA,qBAAO,gDAAG,CAAH,CAAP;AACA,aAHD,CAVF,EAeEvI,SAfF;AAgBA;;;iBAED,4BAAmBmI,IAAnB,EAA8C;AAAA;;AAAA,gBAAhBsE,MAAgB,uEAAP,KAAO;AAC7C,iBAAKzE,UAAL,CAAgBzL,OAAhB,GAA0B,IAA1B;AACA,iBAAKN,mBAAL,CACE+E,kBADF,CACqBmH,IAAI,CAACgB,YAD1B,EACwChB,IAAI,CAACjJ,GAD7C,EAEEc,SAFF,CAGE,UAACqM,GAAD,EAAc;AACb,kBAAIA,GAAJ,EAAS;AACR,uBAAI,CAACK,gBAAL,CAAsBvE,IAAtB;;AACA,uBAAI,CAACnM,aAAL,CAAmB2Q,IAAnB,CACC,OAAI,CAACzQ,gBAAL,CAAsBqE,OAAtB,CAA8B,kBAA9B,CADD,EAEC,EAFD,EAGC;AACCqM,4BAAU,EAAE,oBADb;AAECC,6BAAW,EAAE,IAFd;AAGCC,4BAAU,EAAE,IAHb;AAICC,gCAAc,EAAE;AAJjB,iBAHD;AAUA;AACD,aAjBH,EAkBE;AAAA,qBAAO,OAAI,CAAC/E,UAAL,CAAgBzL,OAAhB,GAA0B,KAAjC;AAAA,aAlBF,EAmBE,YAAM;AACL,kBAAIkQ,MAAJ,EAAY;AACX,uBAAI,CAAClE,gBAAL,GAAwB,EAAxB;AACA;AACD,aAvBH;AAyBA;;;iBAED,0BAAiBJ,IAAjB,EAA4B;AAC3B,gBAAMlL,IAAI,GAAG,KAAK2M,UAAL,CAAgBjM,KAA7B;AACA,iBAAKiM,UAAL,CAAgBO,IAAhB,CAAqB,KAAK6C,cAAL,CAAoB,wDAAW/P,IAAX,CAApB,EAAsCkL,IAAtC,CAArB;AACA,iBAAK8E,4BAAL,CACC,KAAKC,cAAL,CAAoB,wDAAWjQ,IAAX,CAApB,EAAsCkL,IAAtC,CADD;AAGA,iBAAKqB,kBAAL,CAAwB2D,KAAxB;AACA,iBAAKxG,WAAL;AACA,iBAAKqB,UAAL,CAAgBzL,OAAhB,GAA0B,KAA1B;AACA;;;iBAED,wBAAeU,IAAf,EAA4BkL,IAA5B,EAA+C;AAAA;;AAC9C,gBAAM6C,MAAM,GAAG,EAAf;AACA/N,gBAAI,CAACW,OAAL,CAAa,UAAC4C,IAAD,EAAU;AACtB,kBAAIA,IAAI,CAAC4H,SAAL,IAAkB5H,IAAI,CAAC4H,SAAL,CAAehH,MAArC,EACCZ,IAAI,CAAC4H,SAAL,GAAiB,OAAI,CAAC4E,cAAL,CAAoBxM,IAAI,CAAC4H,SAAzB,EAAoCD,IAApC,CAAjB;;AACD,kBAAIA,IAAI,YAAYiF,KAApB,EAA2B;AAC1B,oBAAI,CAACjF,IAAI,CAAC9G,IAAL,CAAU,UAACC,CAAD;AAAA,yBAAOA,CAAC,CAACgD,EAAF,IAAQ9D,IAAI,CAAC8D,EAApB;AAAA,iBAAV,CAAL,EAAwC0G,MAAM,CAAChO,IAAP,CAAYwD,IAAZ;AACxC,eAFD,MAEO,IAAIA,IAAI,CAAC8D,EAAL,IAAW6D,IAAI,CAAC7D,EAApB,EAAwB0G,MAAM,CAAChO,IAAP,CAAYwD,IAAZ;AAC/B,aAND;AAOA,mBAAOwK,MAAP;AACA;;;iBAED,wBAAe/N,IAAf,EAA4BkL,IAA5B,EAAyE;AAAA;;AAAA,gBAA1BkF,YAA0B,uEAAJ,EAAI;AACxEpQ,gBAAI,CAACW,OAAL,CAAa,UAAC4C,IAAD,EAAU;AACtB,kBAAIA,IAAI,CAAC4H,SAAL,IAAkB5H,IAAI,CAAC4H,SAAL,CAAehH,MAArC,EACC,OAAI,CAAC8L,cAAL,CAAoB1M,IAAI,CAAC4H,SAAzB,EAAoCD,IAApC,EAA0CkF,YAA1C;AAED,kBAAI7M,IAAI,CAAC8D,EAAL,IAAW9D,IAAI,CAAC8D,EAAL,IAAW6D,IAAI,CAAC7D,EAA3B,IAAiC9D,IAAI,CAACoI,MAAtC,IAAgDpI,IAAI,CAACoI,MAAL,CAAYxH,MAAhE,EACCiM,YAAY,CAACrQ,IAAb,CAAkBwD,IAAI,CAACoI,MAAL,CAAY,CAAZ,EAAejL,KAAjC;AACD,aAND;AAQA,mBAAO0P,YAAP;AACA;;;iBAED,sBAAa;AAAA;;AACZ,6DACC,KAAKvM,eADN,EAEC,YAAM;AACL,kBAAM7D,IAAI,GAAG,OAAI,CAAC2M,UAAL,CAAgBjM,KAA7B;;AACA,qBAAI,CAACiM,UAAL,CAAgBO,IAAhB,CACC,OAAI,CAAC6C,cAAL,CACC,wDAAW/P,IAAX,CADD,EAEC,OAAI,CAACuM,kBAAL,CAAwBgB,QAFzB,CADD;;AAMA,qBAAI,CAACyC,4BAAL,CACC,OAAI,CAACC,cAAL,CACC,wDAAWjQ,IAAX,CADD,EAEC,OAAI,CAACuM,kBAAL,CAAwBgB,QAFzB,CADD;;AAMA,qBAAI,CAAChB,kBAAL,CAAwB2D,KAAxB;;AACA,qBAAI,CAACxG,WAAL;AACA,aAlBF,EAmBC,IAnBD,EAoBC,mCApBD,EAqBC,+CArBD;AAuBA;;;iBAED,mBAAUwB,IAAV,EAAgBmF,MAAhB,EAAwB;AACvB,mBAAO,CAAC,CAACnF,IAAI,CAACmB,OAAL,CAAajI,IAAb,CAAkB,UAACC,CAAD;AAAA,qBAAOA,CAAC,CAACkC,IAAF,IAAU8J,MAAjB;AAAA,aAAlB,CAAT;AACA;;;iBAEO,sCAA6BD,YAA7B,EAAkD;AAAA;;AACzD,gBAAI,KAAK3N,aAAL,CAAmB6N,uBAAvB,EAAgD;AAC/C,mBAAK7N,aAAL,CAAmB6N,uBAAnB,CAA2C3P,OAA3C,CAAmD,UAAC4P,MAAD,EAAY;AAC9D,oBAAMC,UAAU,GAAG,+CAAMC,gBAAN,CAClB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADR,EAElB;AAAEG,qBAAG,EAAEJ,MAAM,CAACI;AAAd,iBAFkB,CAAnB;AAIAH,0BAAU,CAAC7P,OAAX,CAAmB,UAACiQ,SAAD,EAAe;AACjC,sBAAM5Q,IAAI,GAAG,OAAI,CAAC6D,eAAL,CAAqBgN,QAArB,CAA8BN,MAAM,CAAC7P,KAArC,EAA4C;AACxDA,yBAAK,EAAEkQ,SAAS,CAACE,QAAV,EADiD;AAExDV,gCAAY,EAAEA;AAF0C,mBAA5C,CAAb;;AAIAQ,2BAAS,CAACG,QAAV,CAAmB/Q,IAAnB;AACA4Q,2BAAS,CAACI,aAAV;AACA,iBAPD;AASA,oBAAMC,WAAW,GAAG,+CAAMR,gBAAN,CACnB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADP,EAEnB;AAAElK,sBAAI,EAAE;AAAR,iBAFmB,CAApB;AAIA2K,2BAAW,CAACtQ,OAAZ,CAAoB,UAACuQ,aAAD,EAAmB;AACtCA,+BAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC5C,wBAAMC,cAAc,GACnBJ,aAAa,CAACN,SAAd,CAAwBW,OAAxB,IAAmC,QAAnC,GACGF,OAAO,CAACG,QAAR,CAAiB;AAAEC,yBAAG,EAAE;AAAP,qBAAjB,CADH,GAEGJ,OAAO,CAACb,UAHZ;AAIA,mEAAMkB,aAAN,CACCJ,cADD,EAEC,UAACV,SAAD,EAAe;AACd,0BAAIA,SAAS,CAACD,GAAV,IAAiBJ,MAAM,CAACI,GAA5B,EAAiC;AAChC,4BAAMjQ,KAAK,GAAG,OAAI,CAACmD,eAAL,CAAqBgN,QAArB,CAA8BN,MAAM,CAAC7P,KAArC,EAA4C;AACzDA,+BAAK,EAAEkQ,SAAS,CAACE,QAAV,EADkD;AAEzDV,sCAAY,EAAEA;AAF2C,yBAA5C,CAAd;;AAIAQ,iCAAS,CAACG,QAAV,CAAmBrQ,KAAnB;AACAkQ,iCAAS,CAACI,aAAV;AACA;AACD,qBAXF,EAYC,IAZD;AAcA,mBAnBD;AAoBA,iBArBD;AAsBA,eAxCD;AAyCA;AACD;;;iBAEO,uBAAc;AACrB,gBAAMW,SAAS,GAAG,EAAlB;;AADqB,uDAEF,KAAKhF,UAAL,CAAgBjM,KAFd;AAAA;;AAAA;AAErB,kEAA0C;AAAA,oBAA/BkR,IAA+B;AACzC,oBAAIrO,IAAI,GAAG,KAAKsO,cAAL,CAAoBD,IAApB,CAAX;AACA,qBAAKE,iBAAL,CAAuBvO,IAAvB,EAA6BqO,IAA7B;AACAD,yBAAS,CAAC5R,IAAV,CAAewD,IAAf;AACA;AANoB;AAAA;AAAA;AAAA;AAAA;;AAOrB,iBAAK7C,KAAL,GAAa;AAAEiR,uBAAS,EAATA;AAAF,aAAb;AACA,iBAAK7I,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA,iBAAKqR,gBAAL;AACA;;;iBAEO,4BAAmB;AAAA;;AAC1B,gBAAI,KAAKtP,aAAL,IAAsB,KAAKA,aAAL,CAAmBuP,WAA7C,EACC,KAAKvP,aAAL,CAAmBuP,WAAnB,CAA+BrR,OAA/B,CAAuC,UAAC4C,IAAD,EAAU;AAChD,kBAAMiN,UAAU,GAAG,+CAAMC,gBAAN,CAClB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADR,EAElB;AAAEG,mBAAG,EAAEpN,IAAI,CAACoN;AAAZ,eAFkB,CAAnB;AAIAH,wBAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzB,oBAAMvR,KAAK,GAAG,OAAI,CAACmD,eAAL,CAAqBY,WAArB,CAAiClB,IAAI,CAAC7C,KAAtC,EAA6C;AAC1DV,sBAAI,EAAE,OAAI,CAACA;AAD+C,iBAA7C,CAAd;;AAGAiS,iBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACA,eALD;AAOA,kBAAMuQ,WAAW,GAAG,+CAAMR,gBAAN,CACnB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADP,EAEnB;AAAElK,oBAAI,EAAE;AAAR,eAFmB,CAApB;AAIA2K,yBAAW,CAACtQ,OAAZ,CAAoB,UAACuQ,aAAD,EAAmB;AACtCA,6BAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC5C,iEAAMK,aAAN,CACCL,OAAO,CAACb,UADT,EAEC,UAACI,SAAD,EAAe;AACd,wBAAIA,SAAS,CAACD,GAAV,IAAiBpN,IAAI,CAACoN,GAA1B,EAA+B;AAC9B,0BAAMjQ,KAAK,GAAG,OAAI,CAACmD,eAAL,CAAqBY,WAArB,CAAiClB,IAAI,CAAC7C,KAAtC,EAA6C;AAC1DV,4BAAI,EAAE,OAAI,CAACA;AAD+C,uBAA7C,CAAd;;AAGA4Q,+BAAS,CAACG,QAAV,CAAmBrQ,KAAnB;AACA;AACD,mBATF,EAUC,IAVD;AAYA,iBAbD;AAcA,eAfD;AAgBA,aAhCD;AAiCD;;;iBAEO,wBAAewK,IAAf,EAAqB;AAC5B,gBAAI3H,IAAI,GAAG,EAAX;AACA,gBAAM2O,MAAM,GAAGhH,IAAI,CAACS,MAAL,CAAY9G,GAAZ,CAAgB,UAACR,CAAD,EAAO;AACrC,yCAAUA,CAAC,CAACkC,IAAZ,EAAmBlC,CAAC,CAAC3D,KAArB;AACA,aAFc,CAAf;AAGAwR,kBAAM,CAACvR,OAAP,CAAe,UAAC6K,IAAD,EAAU;AACxB,iDAA2B9E,MAAM,CAACyL,OAAP,CAAe3G,IAAf,CAA3B,qCAAiD;AAA5C;AAAA,oBAAOmF,GAAP;AAAA,oBAAYjQ,KAAZ;;AACJ6C,oBAAI,CAACoN,GAAD,CAAJ,GAAYjQ,KAAZ;AACA;AACD,aAJD;AAKA,mBAAO6C,IAAP;AACA;;;iBAEO,2BAAkBA,IAAlB,EAAwB2H,IAAxB,EAA8B;AAAA;;;;AACrC,gBAAMkH,QAAQ,GAAGlH,IAAI,CAACmB,OAAL,CACf9C,MADe,CACR,UAAClF,CAAD;AAAA,qBAAOA,CAAC,CAACkK,QAAT;AAAA,aADQ,EAEf1J,GAFe,CAEX,UAACR,CAAD;AAAA,qBAAOA,CAAC,CAACkK,QAAT;AAAA,aAFW,CAAjB;AAGA6D,oBAAQ,CAACzR,OAAT,CAAiB,UAACgQ,GAAD,EAAS;AACzBpN,kBAAI,CAACoN,GAAD,CAAJ,GAAY,EAAZ;AACA,aAFD;;AAGA,gBAAI,OAAAzF,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEC,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEhH,MAAjB,IAA0B,CAA9B,EAAiC;AAChC+G,kBAAI,CAACC,SAAL,CAAexK,OAAf,CAAuB,UAAC0D,CAAD,EAAO;AAC7B,oBAAMgO,KAAK,GAAG,OAAI,CAACR,cAAL,CAAoBxN,CAApB,CAAd;;AACA,oBAAIA,CAAC,CAAC8G,SAAF,CAAYhH,MAAZ,GAAqB,CAAzB,EAA4B,OAAI,CAAC2N,iBAAL,CAAuBO,KAAvB,EAA8BhO,CAA9B;AAC5B,oBAAId,IAAI,IAAIA,IAAI,CAACc,CAAC,CAACqH,cAAH,CAAhB,EAAoCnI,IAAI,CAACc,CAAC,CAACqH,cAAH,CAAJ,CAAuB3L,IAAvB,CAA4BsS,KAA5B;AACpC,eAJD;AAKA;AACD;;;iBAEO,oBAAW;AAAA;;AAClB,gBAAI,KAAK3R,KAAT,EAAgB;AACf,kBAAM4R,YAAY,GAAG,EAArB;;AACA,+CAAmB5L,MAAM,CAAC8G,IAAP,CAAY,KAAK9M,KAAjB,CAAnB,oCAA4C;AAAvC,oBAAM8K,IAAI,oBAAV;AACJ8G,4BAAY,CAACvS,IAAb,CAAkB,KAAKW,KAAL,CAAW8K,IAAX,CAAlB;AACA;;AAED8G,0BAAY,CAAC3R,OAAb,CAAqB,UAACX,IAAD,EAAU;AAC9B,oBAAMyM,KAAK,GAAG,OAAI,CAAChK,aAAnB;AACA,oBAAMc,IAAI,GAAG;AACZtB,qBAAG,EAAEjC,IAAI,CAACiC,GADE;AAEZkK,uBAAK,EAAEnM,IAAI,CAACA,IAAL,CAAUmM,KAFL;AAGZR,wBAAM,EAAE,wDAAWc,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bd,MAAxC,CAHI;AAIZC,sBAAI,EAAEa,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bb,IAJvB;AAKZC,uBAAK,EAAEY,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BZ,KALxB;AAMZV,2BAAS,EAAE;AANC,iBAAb;;AASA,uBAAI,CAACoH,qBAAL,CAA2BhP,IAAI,CAACoI,MAAhC,EAAwC3L,IAAxC,EAA8C,KAA9C;;AAEA,oBAAMwS,WAAW,GAAG,OAAI,CAACxE,UAAL,CAAgBzK,IAAhB,EAAsBkJ,KAAtB,CAApB;;AACAA,qBAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BJ,OAA7B,CACE9C,MADF,CACS,UAAClF,CAAD;AAAA,yBAAOA,CAAC,CAACkK,QAAT;AAAA,iBADT,EAEE5N,OAFF,CAEU,UAAC8R,OAAD,EAAa;AACrB,sBAAIzS,IAAI,CAACA,IAAL,CAAUyS,OAAO,CAAClE,QAAlB,CAAJ,EAAiC;AAChC,wBAAMrD,IAAI,GAAG,OAAI,CAACsD,QAAL,CAAc,OAAI,CAAC/L,aAAnB,EAAkCgQ,OAAO,CAAClE,QAA1C,CAAb;;AACA,2BAAI,CAACmE,kBAAL,CACC1S,IAAI,CAACA,IAAL,CAAUyS,OAAO,CAAClE,QAAlB,CADD,EAECrD,IAFD,EAGCsH,WAHD;AAKA;AACD,iBAXF;AAYA,eA1BD;AA2BA;AACD;;;iBAEO,4BAAmBG,KAAnB,EAA0BlG,KAA1B,EAAiCmG,WAAjC,EAA8C;AAAA;;AACrDD,iBAAK,CAAChS,OAAN,CAAc,UAACX,IAAD,EAAU;AACvB,kBAAMuD,IAAI,GAAG;AACZtB,mBAAG,EAAEjC,IAAI,CAACiC,GADE;AAEZkK,qBAAK,EAAEnM,IAAI,CAACmM,KAFA;AAGZF,4BAAY,EAAE2G,WAAW,GAAGA,WAAW,CAAC3Q,GAAf,GAAqB,IAHlC;AAIZ0J,sBAAM,EAAE,wDAAWc,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bd,MAAxC,CAJI;AAKZC,oBAAI,EAAEa,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bb,IALvB;AAMZC,qBAAK,EAAEY,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BZ,KANxB;AAOZV,yBAAS,EAAE;AAPC,eAAb;;AAUA,qBAAI,CAACoH,qBAAL,CAA2BhP,IAAI,CAACoI,MAAhC,EAAwC3L,IAAxC;;AAEA,kBAAMwS,WAAW,GAAG,OAAI,CAACxE,UAAL,CAAgBzK,IAAhB,EAAsBkJ,KAAtB,EAA6BmG,WAA7B,CAApB;;AACAnG,mBAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BJ,OAA7B,CACE9C,MADF,CACS,UAAClF,CAAD;AAAA,uBAAOA,CAAC,CAACkK,QAAT;AAAA,eADT,EAEE5N,OAFF,CAEU,UAAC8R,OAAD,EAAa;AACrB,oBAAIzS,IAAI,CAACyS,OAAO,CAAClE,QAAT,CAAR,EAA4B;AAC3B,sBAAMrD,IAAI,GAAG,OAAI,CAACsD,QAAL,CAAc,OAAI,CAAC/L,aAAnB,EAAkCgQ,OAAO,CAAClE,QAA1C,CAAb;;AACA,yBAAI,CAACmE,kBAAL,CAAwB1S,IAAI,CAACyS,OAAO,CAAClE,QAAT,CAA5B,EAAgDrD,IAAhD,EAAsDsH,WAAtD;AACA;AACD,eAPF;AAQA,aAtBD;AAuBA;;;iBAED,+BAAsB7G,MAAtB,EAA8BiD,KAA9B,EAAqD;AAAA;;AAAA,gBAAhBiE,OAAgB,uEAAN,IAAM;AACpD,iBAAK5T,gBAAL,CACE6G,GADF,CACM,KADN,EAEEyE,IAFF,CAGE,kDAAK,CAAL,CAHF,EAIE,iDAAI,UAACE,CAAD;AAAA,qBAAO,OAAI,CAACxL,gBAAL,CAAsB6T,KAAtB,CAA4BC,YAAnC;AAAA,aAAJ,CAJF,EAMEhQ,SANF,CAMY,iBAAgB;AAAA,kBAAbiQ,EAAa,SAAbA,EAAa;AAAA,kBAATC,EAAS,SAATA,EAAS;AAC1BtH,oBAAM,CAAChL,OAAP,CAAe,UAAC6K,IAAD,EAAU;;;AACxB,oBAAI,CAACqH,OAAL,EAAc;AACb,sBAAIjE,KAAK,CAAC5O,IAAN,CAAWwL,IAAI,CAACjF,IAAhB,CAAJ,EAA2BiF,IAAI,CAAC9K,KAAL,GAAakO,KAAK,CAAC5O,IAAN,CAAWwL,IAAI,CAACjF,IAAhB,CAAb;AAC3B,iBAFD,MAEO;AACN,sBAAIqI,KAAK,CAACpD,IAAI,CAACjF,IAAN,CAAT,EAAsBiF,IAAI,CAAC9K,KAAL,GAAakO,KAAK,CAACpD,IAAI,CAACjF,IAAN,CAAlB;AACtB,iBALuB,CAOxB;;;AACA,oBAAMoK,GAAG,GAAG,CAACkC,OAAD,GAAWjE,KAAK,CAAC5O,IAAN,CAAW2Q,GAAtB,GAA4B/B,KAAK,CAAC+B,GAA9C;;AACA,oBAAInF,IAAI,CAACjF,IAAL,CAAUN,QAAV,CAAmB,wDAAaiN,MAAhC,CAAJ,EAA6C;AAC5C1H,sBAAI,CAAC9K,KAAL,GAAa,aAAAsS,EAAE,SAAF,IAAAA,EAAE,WAAF,GAAE,MAAF,GAAAA,EAAE,CAAEG,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEC,MAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAGzC,GAAH,CAAjB,KAA4B,EAAzC;AACA,iBAFD,MAEO,IAAInF,IAAI,CAACjF,IAAL,CAAUN,QAAV,CAAmB,wDAAaoN,MAAhC,CAAJ,EAA6C;AACnD7H,sBAAI,CAAC9K,KAAL,GAAa,aAAAuS,EAAE,SAAF,IAAAA,EAAE,WAAF,GAAE,MAAF,GAAAA,EAAE,CAAEE,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEC,MAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAGzC,GAAH,CAAjB,KAA4B,EAAzC;AACA;AACD,eAdD;AAeA,aAtBF;AAuBA;;;iBAMD,qCAA4BzF,IAA5B,EAAqC;AACpC,iBAAKqB,kBAAL,CAAwB+G,MAAxB,CAA+BpI,IAA/B;AACA,iBAAKqI,wBAAL,CAA8BrI,IAA9B;AACA;;;iBAED,kCAAyBA,IAAzB,EAAkC;AACjC,gBAAIsI,MAAM,GAAe,KAAKC,aAAL,CAAmBvI,IAAnB,CAAzB;;AACA,mBAAOsI,MAAP,EAAe;AACd,mBAAKE,sBAAL,CAA4BF,MAA5B;AACAA,oBAAM,GAAG,KAAKC,aAAL,CAAmBD,MAAnB,CAAT;AACA;AACD;;;iBAED,uBAActI,IAAd,EAAuB;AACtB,gBAAMyI,YAAY,GAAG,KAAKnH,QAAL,CAActB,IAAd,CAArB;;AAEA,gBAAIyI,YAAY,GAAG,CAAnB,EAAsB;AACrB,qBAAO,IAAP;AACA;;AAED,gBAAI,CAAC,KAAK1I,WAAL,CAAiB2I,SAAtB,EAAiC;AACjC,gBAAMC,UAAU,GAAG,KAAK5I,WAAL,CAAiB2I,SAAjB,CAA2BE,OAA3B,CAAmC5I,IAAnC,IAA2C,CAA9D;;AAEA,iBAAK,IAAI6I,CAAC,GAAGF,UAAb,EAAyBE,CAAC,IAAI,CAA9B,EAAiCA,CAAC,EAAlC,EAAsC;AACrC,kBAAMvB,WAAW,GAAG,KAAKvH,WAAL,CAAiB2I,SAAjB,CAA2BG,CAA3B,CAApB;;AAEA,kBAAI,KAAKvH,QAAL,CAAcgG,WAAd,IAA6BmB,YAAjC,EAA+C;AAC9C,uBAAOnB,WAAP;AACA;AACD;;AACD,mBAAO,IAAP;AACA;;;iBAED,gCAAuBtH,IAAvB,EAAgC;AAAA;;AAC/B,gBAAM8I,YAAY,GAAG,KAAKzH,kBAAL,CAAwB0H,UAAxB,CAAmC/I,IAAnC,CAArB;AACA,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,gBAAMkJ,eAAe,GACpBF,WAAW,CAAC/P,MAAZ,GAAqB,CAArB,IACA+P,WAAW,CAACG,KAAZ,CAAkB,UAAChC,KAAD,EAAW;AAC5B,qBAAO,OAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAAP;AACA,aAFD,CAFD;;AAKA,gBAAI2B,YAAY,IAAI,CAACI,eAArB,EAAsC;AACrC,mBAAK7H,kBAAL,CAAwB+H,QAAxB,CAAiCpJ,IAAjC;AACA,aAFD,MAEO,IAAI,CAAC8I,YAAD,IAAiBI,eAArB,EAAsC;AAC5C,mBAAK7H,kBAAL,CAAwBgI,MAAxB,CAA+BrJ,IAA/B;AACA;AACD;;;iBAED,gCAAuBA,IAAvB,EAAgC;AAAA;;AAC/B,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,gBAAMkJ,eAAe,GACpBF,WAAW,CAAC/P,MAAZ,GAAqB,CAArB,IACA+P,WAAW,CAACG,KAAZ,CAAkB,UAAChC,KAAD,EAAW;AAC5B,qBAAO,OAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAAP;AACA,aAFD,CAFD,CAF+B,CAO/B;AACA;;AACA,mBAAO+B,eAAP;AACA;;;iBAED,sCAA6BlJ,IAA7B,EAAsC;AAAA;;AACrC,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,gBAAM6C,MAAM,GAAGmG,WAAW,CAAChP,IAAZ,CAAiB,UAACmN,KAAD;AAAA,qBAC/B,OAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAD+B;AAAA,aAAjB,CAAf;AAGA,mBAAOtE,MAAM,IAAI,CAAC,KAAKyG,sBAAL,CAA4BtJ,IAA5B,CAAlB;AACA;;;iBAED,iCAAwBA,IAAxB,EAAiC;AAAA;AAAA;AAAA;;AAChC,iBAAKqB,kBAAL,CAAwB+G,MAAxB,CAA+BpI,IAA/B;AACA,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,iBAAKqB,kBAAL,CAAwB0H,UAAxB,CAAmC/I,IAAnC,IACG,8BAAKqB,kBAAL,EAAwBgI,MAAxB,iDAAkCL,WAAlC,EADH,GAEG,+BAAK3H,kBAAL,EAAwB+H,QAAxB,kDAAoCJ,WAApC,EAFH,CAHgC,CAOhC;;AACAA,uBAAW,CAACvT,OAAZ,CAAoB,UAAC0R,KAAD;AAAA,qBAAW,OAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAAX;AAAA,aAApB;AACA,iBAAKkB,wBAAL,CAA8BrI,IAA9B;AACA;AAED;;;;iBAEA,uBAAc;AACb,gBAAI,KAAKpI,GAAT,EAAc,KAAKA,GAAL,CAASlC,WAAT;AACd,iBAAK0K,gBAAL,GAAwB,EAAxB;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECtxBA,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEASrC,sM,GAAA,qR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAE5D,oL,GAAA,+Q,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAsB,S;AAAA;;;uEANjD,0H,IACE,0H,GAAA,0K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,iN,GACE,wH,GAAA,wN,EAAA,yN,GAGA,wH,GAAA,mN,EAAA,6M,GAEK;AANO;;AAAd,wBAAc,SAAd;AAAwC,S,EAAA,I;AAAA;;;uEAWtC,sM,GAAA,qR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAE5D,oL,GAAA,+Q,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAiB,S;AAAA;;;uEAL1C,0H,GAAA,0K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,iN,GACE,wH,GAAA,wN,EAAA,0N,GAGA,wH,GAAA,mN,EAAA,8M,GAEK;AAAA;;AANO;;AAAd,wBAAc,SAAd;AAAuC,S,EAAA,I;AAAA;;;uEAWvC,sM,GAAA,qR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAwD,S;AAAA;;;uEAElE,oL,GAAA,+Q,GACE,yL,IAAkE,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAoB,S;AAAA;;;uEAetF,2H,IAA4B,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA8D,S;AAAA;;;uEAD5F,sM,GAAA,qR,GACE,gI,GAAA;AAAA;AAAA,gB,GAAmG;AAAA;AAA3F,6BAAmB,YAAnB;;AAAR,wBAAQ,SAAR;AAA2B,S,EAAA,I;AAAA;;;uEAG3B,qJ,IAAgF,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEhF,S;AAAA;;;uEAHF,oL,GAAA,+Q,GACE,gI,GAAA;AAAA;AAAA,gB,GAEM;AAAA;AAFwB,mHAAiD,YAAjD;;AAA9B,wBAA8B,SAA9B;AAA+E,S,EAAA,I;AAAA;;;uEAQ/E,2H,IAAiC,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAmD,S;AAAA;;;uEADtF,sM,GAAA,qR,GACE,gI,GAAA;AAAA;AAAA,gB,GAA6F;AAAA;AAArF,6BAAwB,iBAAxB;;AAAR,wBAAQ,SAAR;AAAgC,S,EAAA,I;AAAA;;;uEAGhC,4I,IAAqE,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAErE,S;AAAA;;;uEAHF,oL,GAAA,+Q,GACE,gI,GAAA;AAAA;AAAA,gB,GAEM;AAAA;AAFe,4GAA+C,iBAA/C;;AAArB,wBAAqB,SAArB;AAAoE,S,EAAA,I;AAAA;;;uEAOtE,sM,GAAA,qR,GACK,I,EAAA,I;AAAA;;;uEAGD,yH,IAEE;AAAA;AAAA,sBAGS,UAHT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA,sX,EAAA;AAAA;AAAA,gB,EACE,wQ,GACA,ugB,GAAA,2a,GAAU,0E,IAAG,4E,IAAA;AADb;;AADF,wBACE,SADF;;AAEE;AAAwB,S,EAAA;AAF1B;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAG5B,yH,IAEE;AAAA;AAAA,sBAGS,UAHT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA,sX,EAAA;AAAA;AAAA,gB,EACE,wQ,GACA,ugB,GAAA,2a,GAAU,kF,IAAW,4E,IAAA;AADrB;;AADF,wBACE,SADF;;AAEE;AAAgC,S,EAAA;AAFlC;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgC,S;AAAA;;;uEAbxC,8M,GAAA,+Q,GACE,+J,IACE,gI,GAAA;AAAA;AAAA,gB,GAOA,gI,GAAA;AAAA;AAAA,gB,GAMe;AAAA;AAZb,oNAA2I,QAA3I,CAA2I,SAA3I,CAA2I,qBAA3I;;AADF,wBACE,SADF;;AAQE,0OAAuI,YAAvI;;AADF,wBACE,SADF;AACyI,S,EAAA,I;AAAA;;;uEAW7I,gO,GAAA,qR,GAAsE,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtE,S;AAAA;;;uEAGF,yY,GAAA,6M,EAAA,2J,GAA4D,I,EAAA,I;AAAA;;;uEAC5D,+W,GAAA,iM,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,EAA5D,qJ,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,GAAA;AAAA,gFAAsC,QAAtC,CAAsC,SAAtC,CAAsC,QAAtC;;AAA5D,wBAA4D,SAA5D;;AAA4D,gFAAsC,QAAtC,CAAsC,SAAtC,CAAsC,QAAtC;;AAA5D,wBAA4D,SAA5D;AAAkG,S,EAAA,I;AAAA;;;uEAElG,uZ,GAAA,6M,EAAA,2J,GAEO,I,EAAA;AAFH,oHAAqC,OAArC,CAAqC,OAArC,CAAqC,IAArC,CAAqC,IAArC,CAAqC,MAArC;;AAAJ,wBAAI,SAAJ;AAAyC,S;AAAA;;;uEAK3C;AAAA;AAAA,sBAEgB,UAFhB;;AACE;;;;;AADF;AAAA,4O,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAEgB;AAAA;AAF8B,oEAAiC,OAAjC,CAAiC,OAAjC,CAAiC,IAAjC,CAAiC,UAAjC;AAAkC,6BAAqB,SAArB;;AAAhF,wBAA8C,SAA9C,EAAgF,SAAhF;AAAqG,S,EAAA,I;AAAA;;;uEArGvG,0H,IACE,2Y,GAAA,sM,EAAA,qM,EAAA,4O,EAAA,iR,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAEE,+H,GAAA;AAAA;AAAA;AAAA,gB,GAUA,2I,IAWA,2H,GAAA,0K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,iN,GACE,yH,GAAA,yN,EAAA,0N,GAGA,yH,GAAA,mN,EAAA,8M,GAcF,2H,GAAA,0K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,iN,GACE,yH,GAAA,yN,EAAA,0N,GAGA,yH,GAAA,mN,EAAA,8M,GAOF,2H,GAAA,0K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,iN,GACE,yH,GAAA,yN,EAAA,0N,GAGA,yH,GAAA,mN,EAAA,8M,GAOF,2H,GAAA,0K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,iN,GACE,yH,GAAA,yN,EAAA,0N,GAEA,yH,GAAA,mN,EAAA,8M,GAoBF,0H,GAAA,0K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,iN,GACE,yH,GAAA,yN,EAAA,0N,GAKF,yH,GAAA;AAAA;AAAA,gB,EAAA,uN,GACA,yH,GAAA;AAAA;AAAA,gB,EAAA,2M,GAEA,yH,GAAA;AAAA;AAAA,gB,EAAyD,yD,EAAzD,uN,GAKF,gI,GAAA;AAAA;AAAA,gB,GAEgB,4E,IAAA;AAAA;AAtGC,6DAA+B,QAA/B,CAA+B,IAA/B,CAA+B,IAA/B;;AAAjB,wBAAiB,SAAjB;;AAEgB;;AAAA;;AAAd,yBAAc,SAAd,EAAc,SAAd;;AAqBc;;AAAd,yBAAc,SAAd;;AAkBc;;AAAd,yBAAc,SAAd;;AAWc;;AAAd,yBAAc,SAAd;;AAWc;;AAAd,yBAAc,SAAd;;AAuBc;;AAAd,yBAAc,SAAd;;AAMmB,6BAAmC,iBAAnC;;AAAnB,yBAAmB,SAAnB;;AACY,8BAA+C,iBAA/C;;AAAZ,yBAAY,UAAZ;;AAEyD;;AAAzD,yBAAyD,UAAzD;;AAKa,8DAA8B,QAA9B,CAA8B,IAA9B,CAA8B,UAA9B;;AAAf,yBAAe,UAAf;AAA6C,S,EAAA;AApG7C;;AAAA;AAkGQ,S;AAAA;;;uEAzGZ,+I,IACE,+H,GAAA;AAAA;AAAA,gB,GAIA,0K,GAAA,6J,GAAmD,8E,GAAA,wQ,GACnD,+H,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAyC;AAAA;AAL5B,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAKc,8JAAyC,YAAzC;;AAAd,wBAAc,SAAd;AAAuD,S,EAAA;AAAA;;AADJ;;AAAA;AAAwB,S;AAAA;;;;;aAL7E,+H,GAAA;AAAA;AAAA,gB,EAAwB,wL,GAgHxB,uH,IAAM;AAAA;;AAhHkB,8JAA+C,eAA/C;;AAAxB,wBAAwB,SAAxB;AAAuE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCvE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOamJ,4B;AACZ,8CAAoBC,eAApB,EAAsF;AAAA;;AAAlE,eAAAA,eAAA,GAAAA,eAAA;AAAoE;;;;iBAExF,kBAASlR,KAAT,EAA0B;AACzB,iBAAKkR,eAAL,CAAqB/L,OAArB;;AACAnF,iBAAK,CAACmR,cAAN;AACA;;;;;;;;;;;;;;;;;;;ACdF;;;;;;;;;;;;;;;;;ACCA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAcaC,qB;AAkBT,uCAAoB5V,mBAApB,EAA8D;AAAA;;AAA1C,eAAAA,mBAAA,GAAAA,mBAAA;AAXX,eAAA6V,KAAA,GAAQ,KAAR;AACC,eAAAC,cAAA,GAAiB,IAAI,0DAAJ,EAAjB;AACA,eAAAC,iBAAA,GAAoB,IAAI,0DAAJ,EAApB;AAEV,eAAAC,OAAA,GAAiB,EAAjB;AACA,eAAAzH,QAAA,GAAW,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,EAAtB,CAAX;AACA,eAAA0H,SAAA,GAAY,KAAZ;AACA,eAAAC,MAAA,GAAS,KAAT;AAIiE;;;;iBAEjE,oBAAW,CACV;;;iBAED,uBAAc;;;AACV,uBAAKpS,GAAL,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAElC,WAAF,EAAR;AACH;;;iBAED,uBAAc;AACV,iBAAKkU,cAAL,CAAoBjU,IAApB;AACH;;;iBACD,yBAAgB8P,GAAhB,EAAqB;AACjB,iBAAKoE,iBAAL,CAAuBlU,IAAvB,CAA4B;AACxB8P,iBAAG,EAAHA,GADwB;AAExB6C,oBAAM,EAAE,KAAK2B;AAFW,aAA5B;AAIH;;;iBAED,qBAAYD,MAAZ,EAA6B;AAAA;;;;AACzB,iBAAKA,MAAL,GAAcA,MAAd;;AACA,gBAAIA,MAAM,IAAI,cAAC,KAAKC,QAAN,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEC,6BAAhB,MAA6C,IAA7C,IAA6C,aAA7C,GAA6C,MAA7C,GAA6C,GAAEjR,MAA/C,CAAd,EAAqE;AACjE,mBAAK8Q,SAAL,GAAiBC,MAAjB;AACA,mBAAKF,OAAL,GAAe,EAAf;AACA,mBAAKzH,QAAL,CAAc8H,KAAd;AAEA,kBAAMC,gBAAgB,GAAG,+CAAM7Q,WAAN,CAAkB,KAAKhC,aAAL,CAAmB6S,gBAArC,EAAuD;AAAEtV,oBAAI,EAAE,KAAKA;AAAb,eAAvD,CAAzB;AACA,kBAAMuV,gBAAgB,GAAG,+CAAM9Q,WAAN,CAAkB,KAAKhC,aAAL,CAAmB8S,gBAArC,EAAuD;AAAEvV,oBAAI,EAAE,KAAKA,IAAb;AAAmB2Q,mBAAG,EAAE,KAAKwE,QAAL,CAAcxE;AAAtC,eAAvD,CAAzB;AACA,kBAAM6E,iBAAiB,GAAG,+CAAM/Q,WAAN,CAAkB,KAAKhC,aAAL,CAAmB+S,iBAArC,EAAwD;AAAExV,oBAAI,EAAE,KAAKA,IAAb;AAAmB2Q,mBAAG,EAAE,KAAKwE,QAAL,CAAcxE;AAAtC,eAAxD,CAA1B;AAEA,mBAAK3R,mBAAL,CAAyByW,sBAAzB,CAAgDH,gBAAhD,YAAqEC,gBAArE,SAAwFC,iBAAxF,GACKzS,SADL,CACe,UAAC/C,IAAD,EAAiB;AACxB,uBAAI,CAACgV,OAAL,GAAe,gEAAWU,aAAX,CAAyB1V,IAAI,CAAC6E,GAAL,CAAyB,UAAAoN,CAAC,EAAI;AAClE,sBAAM1O,IAAI,GAAG,IAAI,mEAAJ,EAAb;AACA,sBAAMoS,UAAU,GAAG,MAAH,OAAG,CAAH;AAAK1T,uBAAG,EAAEgQ,CAAC,CAAChQ;AAAZ,mBAAG,EAAiBgQ,CAAC,CAACjS,IAAnB,CAAnB;;AACA,kFAAW8E,SAAX,CAAqB6Q,UAArB,EAAiCpS,IAAjC;;AACAA,sBAAI,CAACqS,oBAAL,GAA4B,OAAI,CAACT,QAAjC;AACA,yBAAO5R,IAAP;AACH,iBANuC,CAAzB,EAMX,KANW,CAAf;AAQA,uBAAI,CAAC4R,QAAL,CAAcC,6BAAd,GAA8C,OAAI,CAACJ,OAAnD;;AACA,uBAAI,CAACzH,QAAL,CAAcwD,QAAd,CAAuB,OAAI,CAACiE,OAA5B;;AACA,uBAAI,CAACC,SAAL,GAAiB,KAAjB;AACH,eAbL,EAcQ,UAAC5R,KAAD,EAAW;AACP,uBAAI,CAAC2R,OAAL,GAAe,EAAf;AACA5H,uBAAO,CAAC/J,KAAR,CAAcA,KAAd;;AACA,uBAAI,CAACkK,QAAL,CAAcwD,QAAd,CAAuB,OAAI,CAACiE,OAA5B;;AACA,uBAAI,CAACC,SAAL,GAAiB,KAAjB;AACH,eAnBT;AAqBH,aA9BD,MA8BO;AACH,mBAAKD,OAAL,GAAe,KAAKG,QAAL,CAAcC,6BAA7B;AACA,mBAAK7H,QAAL,CAAcwD,QAAd,CAAuB,KAAKiE,OAA5B;AACH;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UClEQa,gC;AAeT,kDAAoB7K,MAApB,EACY/L,gBADZ,EAEWsI,SAFX,EAGoCvH,IAHpC,EAIW8V,YAJX,EAKY/W,aALZ,EAMYC,mBANZ,EAMsD;AAAA;;AANlC,eAAAgM,MAAA,GAAAA,MAAA;AACR,eAAA/L,gBAAA,GAAAA,gBAAA;AACD,eAAAsI,SAAA,GAAAA,SAAA;AACyB,eAAAvH,IAAA,GAAAA,IAAA;AACzB,eAAA8V,YAAA,GAAAA,YAAA;AACC,eAAA/W,aAAA,GAAAA,aAAA;AACA,eAAAC,mBAAA,GAAAA,mBAAA;AAlBZ,eAAA+W,WAAA,GAAc,EAAd;AACA,eAAAC,aAAA,GAAgB,EAAhB;AACA,eAAAhM,eAAA,GAAkB,4FAAlB;AACA,eAAAiM,SAAA,GAAY,KAAZ;AACA,eAAAC,KAAA,GAAQ,KAAR;AAEA,eAAAC,gBAAA,GAA2C,EAA3C;AACA,eAAAC,cAAA,GAAyC,EAAzC;AAEQ,eAAAvW,IAAA,GAAuB,EAAvB;AAUJ,eAAKkW,WAAL,GAAmB,+DAAUtR,WAAV,CAAsB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwBsT,WAA9C,EAA2D;AAAE/V,gBAAI,EAAE,KAAKA,IAAL,CAAUuE,UAAlB;AAA8BlC,qBAAS,EAAE,KAAKrC,IAAL,CAAUqC;AAAnD,WAA3D,CAAnB;AACA,eAAKgU,mBAAL;AACA,eAAKJ,SAAL,GAAiB,KAAKjW,IAAL,CAAUiW,SAA3B;AACH;;;;eAZD,aAAQnW,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAc/C,uBAAc;AACV,iBAAKD,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACH;;;iBAED,oBAAWT,OAAX,EAA4B;AACxB,gBAAMmI,SAAS,GAAG,KAAKyD,MAAL,CAAY2C,IAAZ,CAAiB,yGAAjB,EAAgC;AAC9CC,mBAAK,EAAE,KADuC;AAE9C5N,kBAAI,EAAE;AACF2J,mBAAG,EAAE,KAAK3J,IAAL,CAAU2J,GADb;AAEFvK,uBAAO,EAAE,KAAKH,gBAAL,CAAsBqE,OAAtB,CAA8BlE,OAA9B;AAFP;AAFwC,aAAhC,CAAlB;AAOH;;;iBAED,iBAAK;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAKY,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,GAA8B,KAAKF,cAAnC;AACA,iBAAK7O,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAAL,CAAUqC,SAA/B;AACH;;;iBACD,uBAAckU,KAAd,EAAqB;AACjB,iBAAKT,YAAL,CAAkBxW,OAAlB,GAA4BiX,KAA5B;AACH;;;iBAEK,cAAKC,WAAL,EAA0BC,SAA1B,EAAwC;;;;;;;;;;AACpCpU,+B,GAAY,wDAAW,KAAKrC,IAAL,CAAUqC,SAArB,C;AAClBA,+BAAS,CAACiU,OAAV,CAAkBE,WAAlB,EAA+BE,QAA/B,GAA0C,KAAKP,gBAAL,CAAsBK,WAAtB,CAA1C;AACMG,qC,GAAkBtU,SAAS,CAACiU,OAAV,CAAkBpR,IAAlB,CAAuB,UAAAb,CAAC;AAAA,+BAAIA,CAAC,CAACqS,QAAF,IAAc,6FAAqBE,UAAvC;AAAA,uBAAxB,C;;AACxB,0BAAID,eAAJ,EAAqB;AACjBtU,iCAAS,CAACwU,MAAV,GAAmB,6FAAqBD,UAAxC;AACH,uBAFD,MAEO;AACGD,wCADH,GACqBtU,SAAS,CAACiU,OAAV,CAAkBjC,KAAlB,CAAwB,UAAAhQ,CAAC;AAAA,iCAAIA,CAAC,CAACqS,QAAF,IAAc,6FAAqBI,QAAvC;AAAA,yBAAzB,CADrB;AAEH,4BAAIH,gBAAJ,EAAqBtU,SAAS,CAACwU,MAAV,GAAmB,6FAAqBC,QAAxC;AACxB;;AAED,2BAAKhB,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,2BAAKwD,GAAL,GAAW,sDAAS,KAAKiU,YAAL,CAAkB1U,SAAS,CAACiU,OAAV,CAAkBE,WAAlB,CAAlB,EAAkDnU,SAAlD,CAAT,EACNU,SADM,CACI,UAAA/C,IAAI,EAAI;AACf,+BAAI,CAACA,IAAL,CAAUqC,SAAV,CAAoBwU,MAApB,GAA6BxU,SAAS,CAACwU,MAAvC;AACA,+BAAI,CAAC7W,IAAL,CAAUqC,SAAV,CAAoB2U,kBAApB,GAAyC,IAAzC;AACA,+BAAI,CAAChX,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,EAAyCE,QAAzC,GAAoD,OAAI,CAACP,gBAAL,CAAsBK,WAAtB,CAApD;AACA,+BAAI,CAACJ,cAAL,CAAoBI,WAApB,IAAmC,wDAAW,OAAI,CAACxW,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,CAAX,CAAnC;AACA,+BAAI,CAACV,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACAmX,iCAAS,CAACQ,QAAV,GAAqB,KAArB;AAEA,yFAAU,OAAI,CAAClY,aAAf,EACI,OAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,yBAA9B,CADJ,EAEI,OAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,iCAA9B,CAFJ,EAGI,KAHJ;AAKH,uBAdM,EAcJ,UAAAD,KAAK,EAAI;AACR,+BAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,yFAAU,OAAI,CAACP,aAAf,EACI,OAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CADJ,EAEI,OAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,cAA9B,CAFJ,EAGI,IAHJ;AAKH,uBArBM,CAAX;;;;;;;;;AAsBH;;;iBAEO,sBAAa4T,MAAb,EAA2C7U,SAA3C,EAA+E;AACnF,gBAAME,KAAK,GAAG,EAAd;AACAA,iBAAK,CAACxC,IAAN,CAAW,KAAKf,mBAAL,CACP0D,eADO,CACS,KAAK1C,IAAL,CAAUyC,aAAV,CAAwB0U,cADjC,EAEHD,MAAM,CAACjV,GAFJ,EAGH,CAAC;AAEG,oBAAM,KAFT;AAGG,sBAAQ,wBAHX;AAIG,uBAASiV,MAAM,CAACE,gBAAP,IAA2B;AAJvC,aAAD,EAMA;AAEI,oBAAM,KAFV;AAGI,sBAAQ,+BAHZ;AAII,uBAASF,MAAM,CAACG,uBAAP,IAAkC;AAJ/C,aANA,EAYA;AAEI,oBAAM,KAFV;AAGI,sBAAQ,gBAHZ;AAII,uBAASH,MAAM,CAACR,QAAP,IAAmB,CAAnB,GAAuBQ,MAAM,CAACR,QAA9B,GAAyC;AAJtD,aAZA,CAHG,CAAX;AAuBAnU,iBAAK,CAACxC,IAAN,CAAW,KAAKf,mBAAL,CACP0D,eADO,CACS,KAAK1C,IAAL,CAAUyC,aAAV,CAAwBE,iBADjC,EAEHN,SAAS,CAACJ,GAFP,EAGH,CAAC;AAEG,oBAAM,KAFT;AAGG,sBAAQ,cAHX;AAIG,uBAASI,SAAS,CAACwU,MAAV,IAAoB,CAApB,GAAwBxU,SAAS,CAACwU,MAAlC,GAA2C;AAJvD,aAAD,EAMA;AAEI,oBAAM,KAFV;AAGI,sBAAQ,0BAHZ;AAII,uBAASxU,SAAS,CAACiU,OAAV,CAAkBjC,KAAlB,CAAwB,UAAAhQ,CAAC;AAAA,uBAAIA,CAAC,CAACiT,OAAN;AAAA,eAAzB,KAA2C;AAJxD,aANA,CAHG,CAAX;AAiBA,mBAAO/U,KAAP;AACH;;;iBAED,kBAASgV,YAAT,EAAuB;AACnBpU,sBAAU,CAAC,YAAM;AACb,kBAAMwP,KAAK,GAAGvN,CAAC,CAAC,iDAAD,CAAf;;AACA,mBAAK,IAAIxB,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG+O,KAAK,CAACxO,MAAlC,EAA0CP,KAAK,EAA/C,EAAmD;AAC/CwB,iBAAC,CAACuN,KAAK,CAAC/O,KAAD,CAAN,CAAD,CAAgB4T,IAAhB;AACH;AACJ,aALS,EAKP,GALO,CAAV;AAMH;;;iBACD,6BAAoBhU,KAApB,EAA2BiU,aAA3B,EAAkDjB,WAAlD,EAAuE;AACnE,iBAAKxW,IAAL,CAAUqC,SAAV,CAAoBqV,KAApB,GAA4BlU,KAAK,CAACmU,cAAlC;AACA,iBAAK3X,IAAL,CAAUqC,SAAV,CAAoBuV,cAApB,GAAqCpU,KAAK,CAACqU,uBAA3C;AACA,iBAAK7X,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,EAAyCkB,KAAzC,GAAiDlU,KAAK,CAACsU,WAAvD;AACA,iBAAK9X,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,EAAyCoB,cAAzC,GAA0DpU,KAAK,CAACuU,oBAAhE;AACA,iBAAK/X,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,EAAyCwB,SAAzC,CAAmDP,aAAnD,IAAoEjU,KAAK,CAACyU,QAA1E;AACA,iBAAK7B,cAAL,CAAoBI,WAApB,IAAmC,KAAKxW,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,CAAnC;AACH;;;iBACD,wBAAeiB,aAAf,EAAsCjB,WAAtC,EAA2D;AAAA;;AACvD,iBAAKxW,IAAL,CAAUqC,SAAV,CAAoBF,OAApB,GAA8B,KAAKnC,IAAL,CAAUqC,SAAV,CAAoBF,OAAlD;AACA,iBAAKnC,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4B3V,OAA5B,CAAoC,UAAAuW,MAAM,EAAI;AAC1CA,oBAAM,CAACgB,eAAP,CAAuB/V,OAAvB,GAAiC,OAAI,CAACnC,IAAL,CAAUqC,SAAV,CAAoBF,OAArD;AACH,aAFD;AAGA,iBAAKiU,cAAL,CAAoBI,WAApB,EAAiC0B,eAAjC,GAAmD;AAC/CjW,iBAAG,EAAE,KAAKjC,IAAL,CAAUqC,SAAV,CAAoBJ,GADsB;AAE/CE,qBAAO,EAAE,KAAKnC,IAAL,CAAUqC,SAAV,CAAoBF;AAFkB,aAAnD;AAKA,gBAAMgW,UAAU,GAAG,IAAI,4FAAJ,EAAnB;AACAA,sBAAU,CAAClW,GAAX,GAAiB,KAAKmU,cAAL,CAAoBI,WAApB,EAAiCvU,GAAlD;AACAkW,sBAAU,CAACD,eAAX,GAA6B,KAAK9B,cAAL,CAAoBI,WAApB,EAAiC0B,eAA9D;AACA,iBAAK9B,cAAL,CAAoBI,WAApB,EAAiCwB,SAAjC,CAA2CP,aAA3C,EAA0DW,YAA1D,GAAyED,UAAzE;AACH;;;iBACD,yBAA6B;AAAA;;AAAA,gBAAfE,KAAe,uEAAP,KAAO;;AACzB,gBAAI,CAACA,KAAL,EAAY;AACR,mBAAKrY,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,GAA8B,KAAKtW,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4B/M,MAA5B,CAAmC,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAACqS,QAAF,IAAc,6FAAqBI,QAAvC;AAAA,eAApC,CAA9B;AACH;;AACD,iBAAK9W,IAAL,CAAUiW,SAAV,GAAsB,KAAtB;AACA,iBAAKC,KAAL,GAAa,KAAb;AACA/S,sBAAU,CAAC;AAAA,qBAAM,OAAI,CAAC+S,KAAL,GAAa,IAAnB;AAAA,aAAD,CAAV;AACH;;;iBAED,6BAAoBgB,MAApB,EAAkD;AAAA;;AAC9C,gBAAIA,MAAM,CAACoB,QAAX,EAAqB;AACrB,iBAAKxC,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAK0W,aAAL,GAAqB,+DAAUvR,WAAV,CAAsB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwBuT,aAA9C,EAA6D;AAAEhW,kBAAI,EAAE,KAAKA,IAAL,CAAUuE,UAAlB;AAA8B2S,oBAAM,EAAEA;AAAtC,aAA7D,CAArB;AACA,iBAAKpU,GAAL,GAAW,KAAK9D,mBAAL,CAAyByW,sBAAzB,CAAgD,KAAKzV,IAAL,CAAUyC,aAAV,CAAwB8V,gBAAxE,EAA0F,KAAKvC,aAA/F,EACNzL,IADM,CAEH,iDAAI,UAACvK,IAAD,EAAiB;AACjB,qBAAO,gEAAW0V,aAAX,CAAyB1V,IAAI,CAAC6E,GAAL,CAAS,UAAAR,CAAC,EAAI;AAAE,uBAAO,MAAP,OAAO,CAAP;AAASpC,qBAAG,EAAEoC,CAAC,CAACpC;AAAhB,iBAAO,EAAiBoC,CAAC,CAACrE,IAAnB,CAAP;AAAkC,eAAlD,CAAzB,EAA8E,KAA9E,EACF6E,GADE,CACE,UAAAR,CAAC,EAAI;;;AACN,oBAAI,QAACA,CAAC,CAAC+S,gBAAH,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEjT,MAArB,CAAJ,EAAiCE,CAAC,CAAC+S,gBAAF,GAAqB,EAArB;AACjC,oBAAM7T,IAAI,GAAG,IAAI,8FAAJ,EAAb;;AACA,gFAAWuB,SAAX,CAAqBT,CAArB,EAAwBd,IAAxB;;AAEA,oBAAM4U,UAAU,GAAG,IAAI,4FAAJ,EAAnB;AACAA,0BAAU,CAAClW,GAAX,GAAiBiV,MAAM,CAACjV,GAAxB;AACAkW,0BAAU,CAACD,eAAX,GAA6BhB,MAAM,CAACgB,eAApC;AACA3U,oBAAI,CAAC6U,YAAL,GAAoBD,UAApB;AAEA,oBAAI5U,IAAI,CAACiV,KAAT,EACIjV,IAAI,CAACiV,KAAL,GAAajV,IAAI,CAACiV,KAAL,CAAW3T,GAAX,CAAe,UAAA4T,CAAC,EAAI;AAC7B,sBAAMC,MAAM,GAAG,IAAI,2FAAJ,EAAf;;AACA,kFAAW5T,SAAX,CAAqB2T,CAArB,EAAwBC,MAAxB;;AACAA,wBAAM,CAAChY,KAAP,GAAegY,MAAM,CAAChY,KAAP,IAAgB,GAA/B;AACA,yBAAOgY,MAAP;AACH,iBALY,CAAb,CADJ,KAOK;AACDnV,sBAAI,CAACiV,KAAL,GAAa,EAAb;AACA,mBAACjV,IAAI,CAACmU,KAAN,GAAcnU,IAAI,CAACmU,KAAL,GAAanU,IAAI,CAACoV,GAAL,IAAY,CAAvC,GAA2C,IAA3C;AACH;AACDpV,oBAAI,CAACqV,OAAL,GAAe,wDAAWrV,IAAX,CAAf;AAEA,uBAAOA,IAAP;AACH,eAzBE,CAAP;AA0BH,aA3BD,CAFG,EA8BH,sDAAS;AAAA,qBAAM,OAAI,CAACuS,YAAL,CAAkBxW,OAAlB,GAA4B,KAAlC;AAAA,aAAT,CA9BG,EA+BNyD,SA/BM,CA+BI,UAAA/C,IAAI,EAAI;AACfkX,oBAAM,CAACc,SAAP,GAAmBhY,IAAnB;AACAkX,oBAAM,CAACoB,QAAP,GAAkB,IAAlB;;AAEA,kBAAM9B,WAAW,GAAG,OAAI,CAACJ,cAAL,CAAoByC,SAApB,CAA8B,UAAAxU,CAAC;AAAA,uBAAIA,CAAC,CAACpC,GAAF,IAASiV,MAAM,CAACjV,GAApB;AAAA,eAA/B,CAApB;;AACA,qBAAI,CAACmU,cAAL,CAAoBI,WAApB,IAAmC,wDAAWU,MAAX,CAAnC;AACA,qBAAI,CAAChB,KAAL,GAAa,IAAb;AACH,aAtCM,CAAX;AAuCH;;;iBAEO,+BAAsB;AAAA;;AAC1B,gBAAI,KAAKlW,IAAL,CAAUqC,SAAV,CAAoBiW,QAAxB,EAAkC;AAC9B,mBAAKQ,oBAAL;AACA,mBAAKhD,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,mBAAK4W,KAAL,GAAa,IAAb;AACA,mBAAKE,cAAL,GAAsB,wDAAW,KAAKpW,IAAL,CAAUqC,SAAV,CAAoBiU,OAA/B,CAAtB;AACA;AACH;;AAED,iBAAKR,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CAAyByW,sBAAzB,CAAgD,KAAKzV,IAAL,CAAUyC,aAAV,CAAwB0U,cAAxE,EAAwF,KAAKpB,WAA7F,EACNxL,IADM,CAEH,iDAAI,UAACvK,IAAD,EAAiB;AACjB,qBAAO,gEAAW0V,aAAX,CAAyB1V,IAAI,CAAC6E,GAAL,CAAS,UAAAR,CAAC,EAAI;AAAE,uBAAO,MAAP,OAAO,CAAP;AAASpC,qBAAG,EAAEoC,CAAC,CAACpC;AAAhB,iBAAO,EAAiBoC,CAAC,CAACrE,IAAnB,CAAP;AAAkC,eAAlD,CAAzB,EAA8E,KAA9E,EACF6E,GADE,CACE,UAAAR,CAAC,EAAI;;;AACN,oBAAI,QAACA,CAAC,CAAC+S,gBAAH,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEjT,MAArB,CAAJ,EAAiCE,CAAC,CAAC+S,gBAAF,GAAqB,EAArB;AACjC,oBAAM7T,IAAI,GAAG,IAAI,4FAAJ,EAAb;;AACA,gFAAWuB,SAAX,CAAqBT,CAArB,EAAwBd,IAAxB;;AACAA,oBAAI,CAAC2U,eAAL,GAAuB;AACnBjW,qBAAG,EAAE,OAAI,CAACjC,IAAL,CAAUqC,SAAV,CAAoBJ,GADN;AAEnBE,yBAAO,EAAE,OAAI,CAACnC,IAAL,CAAUqC,SAAV,CAAoBF;AAFV,iBAAvB;AAIA,uBAAOoB,IAAP;AACH,eAVE,CAAP;AAWH,aAZD,CAFG,EAeH,sDAAS;AAAA,qBAAM,OAAI,CAACuS,YAAL,CAAkBxW,OAAlB,GAA4B,KAAlC;AAAA,aAAT,CAfG,EAgBNyD,SAhBM,CAgBI,UAAA/C,IAAI,EAAI;AACf,qBAAI,CAACA,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,GAA8BtW,IAA9B;;AACA,qBAAI,CAAC8Y,oBAAL;;AACA,qBAAI,CAAC1C,cAAL,GAAsB,wDAAW,OAAI,CAACpW,IAAL,CAAUqC,SAAV,CAAoBiU,OAA/B,CAAtB;AACA,qBAAI,CAACtW,IAAL,CAAUqC,SAAV,CAAoBiW,QAApB,GAA+B,IAA/B;AACA,qBAAI,CAACpC,KAAL,GAAa,IAAb;AACH,aAtBM,CAAX;AAuBH;;;iBAEO,gCAAuB;AAAA;;AAC3B,iBAAKlW,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4B3V,OAA5B,CAAoC,UAAAuW,MAAM,EAAI;AAC1C,qBAAI,CAACf,gBAAL,CAAsBpW,IAAtB,CAA2BmX,MAAM,CAACR,QAAlC;AACH,aAFD;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5RL;;;;;;;;;;;;;;;;;ACAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;ACCA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAQA,UAAM1P,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,uBAD6C;AAEnDW,gBAAQ,EAAE,uBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAAS6R,0CAAT,CAAoD3R,QAApD,EAAwE;AAC7E,wFACEJ,iBADF,EAEE,yGAFF,EAGEI,QAHF;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECpBG,yH,IACI;AAAA;AAAA,sBAC0F,UAD1F;;AAC0C;;;;;AAD1C;AAAA,8N,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAC0F;AAAA;AADzE,6BAAmB,QAAnB;AAAoB,6BAAyB,WAAzB;AAA0B,6BAAqB,SAArB;AAC3D,6BAAqC,iBAArC;;AADJ,wBAAiB,SAAjB,EAAqC,SAArC,EAA+D,SAA/D,EACI,SADJ;AACyC,S,EAAA,I;AAAA;;;;;aAHjD,yJ,IACI,yH,GAAA;AAAA;AAAA,gB,GAGe;AAAA;AAHD,6BAAiB,UAAjB;;AAAd,wBAAc,SAAd;AAA+B,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECG3B,uH,IACI;AAAA;AAAA,sBAAyC,UAAzC;;AAAG;;;;;AAAH;AAAA,sB,IAAwB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAa,S;AAAA;;;uEAQ7C,2I,IAA0F,+E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAE1F,S;AAAA;;;uEAKI,6I,IACI;AAAA;AAAA,sBAEoB,UAFpB;;AACyC;;;;;AADzC;AAAA,4O,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAGA,uH,IAAM;AAAA;AAHoE,6BAAkB,KAAlB,CAAkB,IAAlB;AAArC,6BAAoC,KAApC,CAAoC,aAApC;AACjC,6BAAoC,KAApC,CAAoC,aAApC;AADe,4BAAiB,QAAjB,CAAiB,SAAjB;AAC4D;;AAD/E,wBAA0E,SAA1E,EAAqC,SAArC,EACI,SADJ,EAAmB,SAAnB,EAC+E,SAD/E;AAC6F,S,EAAA,I;AAAA;;;uEAc7E;AAAA;AAAA,sBAGoB,UAHpB;;AAEI;;;;;AAFJ;AAAA,4O,GAAA,+L,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAGoB;AAAA;AAFhB,6BAAgB,KAAhB,CAAgB,GAAhB;;AADJ,wBACI,SADJ;;AACI,6BAAgB,KAAhB,CAAgB,GAAhB;AAAiB,kEAAmC,gBAAnC,CAAmC,GAAnC;AADgD,4BAAiB,QAAjB,CAAiB,SAAjB;;AAArE,wBACI,SADJ,EACqB,SADrB,EAAqE,SAArE;AAAsF,S,EAAA;AAAA;AAAnE,6BAAiD,aAAjD,CAAiD,OAAjD;;AAAnB;;AAAA,wBAAmB,SAAnB;AAGoB,S;AAAA;;;uEARhC,wH,IACI,qY,GAAA,+L,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAGI,qH,GAAA;AAAA;AAAA,gB,GAKc;AAAA;AANU;;AAF5B,wBAE4B,SAF5B;;AAAkE,6BAAoB,YAApB;AAC9D;AAAiB;AAAgB;AADzB,6BAAqD,KAArD,CAAqD,YAArD,CAAqD,yBAArD;AACkD;AAC1D;;AAFJ,wBAAkE,SAAlE,EACI,SADJ,EACqB,SADrB,EACqC,SADrC,EAAY,SAAZ,EAC8D,SAD9D,EAEI,SAFJ;;AAG0B;;AAAtB,wBAAsB,SAAtB;AAAsC,S,EAAA;AAH1C;;AAAA;AASa,S;AAAA;;;uEAMb;AAAA;AAAA,sBAG+D,UAH/D;;AAE+B;;;;;AAC3B;;;;;AAHJ;AAAA,gQ,GAAA,iL,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAG+D;AAAA;AAHjB,6BAAmC,gBAAnC;AAC1C,6BAAoC,KAApC,CAAoC,aAApC;AACA,6BAA0B,KAA1B,CAA0B,QAA1B;AADqC,6BAAoC,KAApC,CAAoC,aAApC;;AADzC,wBAA8C,SAA9C,EACI,SADJ,EAEI,SAFJ,EACyC,SADzC;AAC6E,S,EAAA,I;AAAA;;;uEApB7F,yH,IACI,wI,IACI,8I,IACI,4H,GAAA;AAAA;AAAA,gB,GAYA,uH,IAEJ,8I,IACI,uJ,IACI,4H,GAAA;AAAA;AAAA,gB,GAG+D;AAAA;AAnB9D,6BAAmD,KAAnD,CAAmD,YAAnD,CAAmD,yBAAnD;;AAAL,wBAAK,SAAL;;AAgB0B,6BAAuB,gBAAvB;;AAAtB,wBAAsB,SAAtB;AAA6C,S,EAAA,I;AAAA;;;uEAS7D,yH,IACI,uH,IACA,4W,GAAA;AAAA;AAAA;AAAA,gB,GACA,uH,IAAM;AAAA;AADe,6BAA8B,KAA9B,CAA8B,YAA9B;AAA+B,6BAA8B,KAA9B,CAA8B,aAA9B;;AAApD,wBAAqB,SAArB,EAAoD,SAApD;AAAkF,S,EAAA,I;AAAA;;;uEAItF;AAAA;AAAA,sBAGsB,UAHtB;;AAEI;;;;;AAFJ;AAAA,0P,GAAA,iL,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAGsB;AAAA;AAHiD,6BAAqC,KAArC,CAAqC,YAArC;AACH,6BAAyC,mBAAzC;AAAhE,6BAAoC,KAApC,CAAoC,aAApC;AAAqC,6BAA0B,KAA1B,CAA0B,QAA1B;;AADzC,wBAAuE,SAAvE,EACoE,SADpE,EACI,SADJ,EACyC,SADzC;AACmE,S,EAAA,I;AAAA;;;uEA/DvE,mK,GAAA,+L,EAAA;AAAA;AAAA,gB,GAGI,8I,IACI,4H,GAAA;AAAA;AAAA,gB,GAKJ,uI,IAAgB,+E,IAIhB,4H,GAAA;AAAA;AAAA,gB,GAIA,wH,IACA,wH,IACA,yI,IACI,4H,GAAA;AAAA;AAAA,gB,GAQJ,4H,GAAA;AAAA;AAAA,gB,GA4BA,4H,GAAA;AAAA;AAAA,gB,GAMA,4H,GAAA;AAAA;AAAA,gB,GAKA,wH,IACA,wH,IACA,6I,IACI;AAAA;AAAA,sBAES,UAFT;;AAA4C;;;;;AAA5C;AAAA,sB,IAAgG,gF,GAAA,wQ,GAEhG;AAAA;AAxEwB,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAhC,wBAAgC,SAAhC;;AAIY,6BAAkC,KAAlC,CAAkC,QAAlC;;AAAJ,wBAAI,SAAJ;;AASE,gEAAqE,KAArE,CAAqE,YAArE,CAAqE,YAArE;;AAAN,wBAAM,SAAN;;AAO0B,6BAA2D,KAA3D,CAA2D,YAA3D,CAA2D,oBAA3D;;AAAtB,yBAAsB,SAAtB;;AAQU,0EAA8E,KAA9E,CAA8E,YAA9E,CAA8E,WAA9E;;AAAd,yBAAc,SAAd;;AA4Bc;;AAAd,yBAAc,SAAd;;AAMqB,0HAAiD,KAAjD,CAAiD,YAAjD,CAAiD,cAAjD,CAAiD,MAAjD;;AAArB,yBAAqB,SAArB;AAAsE,S,EAAA;AAAA;;AA9D1E;;AAAA;;AASoB;;AAAA;;AA4DX;;AAAL,yBAAK,SAAL;;AACkE,8BAAiC,aAAjC,CAAiC,OAAjC;;AAA9D,yBAA8D,UAA9D;;AAAgG;;AAAA;AAEhG,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvER;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA+Ca4R,c;;;;AACF,qBAAAC,eAAA,GAAkB,CACrB,4EADqB,EAErB,4EAFqB,EAGrB,wEAHqB,EAIrB,uEAJqB,EAKrB,oFALqB,EAMrB,gFANqB,EAOrB,gFAPqB,EAQrB,uEARqB,EASrB,yEATqB,EAUrB,yEAVqB,EAWrB,oFAXqB,EAYrB,qEAZqB,EAarB,2EAbqB,EAcrB,2EAdqB,EAerB,qEAfqB,EAgBrB,8EAhBqB,EAiBrB,oEAjBqB,EAkBrB,2EAlBqB,EAmBrB,qEAnBqB,EAoBrB,8EApBqB,EAqBrB,qFArBqB,EAsBrB,sEAtBqB,EAuBrB,qEAvBqB,EAwBrB,4FAxBqB,EAyBrB,oFAzBqB,EA0BrB,wEA1BqB,EA2BrB,2EA3BqB,EA4BrB,8EA5BqB,EA6BrB,uEA7BqB,EA8BrB,qEA9BqB,EA+BrB,+EA/BqB,EAgCrB,0EAhCqB,EAiCrB,uEAjCqB,CAAlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECpCD,yH,IACE;AAAA;AAAA,sBAC0E,UAD1E;;AACE;;;;;AADF;AAAA,8N,GAAA;AAAA;AAAA,gB,GAC6B,0E,GAAA,sQ,GAAoC;AADpC;;AAA7B,wBAA6B,SAA7B;AAA4C,S,EAAA;AAA5C;AAAA;;AAAA;;AAAA;;AAC6B;;AAAA;AAAoC,S;AAAA;;;uEAVvE,2f,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAGE,2L,GAAA,yJ,GAEE,mJ,IAA4B,+E,IAG5B,gI,GAAA;AAAA;AAAA,gB,GAKF,2f,GAAA,6J,GAA2B;AAAA;AALnB,8DAA+C,QAA/C,CAA+C,SAA/C,CAA+C,MAA/C;;AAAN,yBAAM,SAAN;AAAqD,S,EAAA;AARzD;;AAAA;;AAAA;;AAAA;;AAKgC;;AAAA;;AAQ9B;;AAAA;;AAAA;;AAAA;;AAAA;AAA2B,S;AAAA;;;uEAd/B,gW,GAAA,uM,EAAA,8M,GACE,6H,GAAA;AAAA;AAAA;AAAA,gB,GAcgB;AAAA;AAbd;AAAA,6BAAgD,UAAhD;;AADF,wBACE,SADF,EACE,SADF;AACkD,S,EAAA,I;AAAA;;;uEALtD,yH,IAGE,gI,GAAA;AAAA;AAAA;AAAA,gB,GAiBW,4E,IAAA;AAjBD;;AAAA;;AAAV,wBAAU,SAAV,EAAU,SAAV;AAA8C,S,EAAA,I;AAAA;;;uEAwBhD,4J,IACE,sI,IACE,uH,IAAI,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;uEAM9C,yI,IACE,4a,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAIA,4a,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAGA,4a,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAGA,4a,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAGA,sY,GAAA;AAAA;AAAA,gB,GAAqD;AAZnD;AADe;AAEf;;AAFF,wBACE,SADF,EAAiB,SAAjB,EAEE,SAFF;;AAME;AAFe;AACf;;AADF,wBAEE,SAFF,EAAiB,SAAjB,EACE,SADF;;AAKE;AAFe;AACf;;AADF,wBAEE,SAFF,EAAiB,SAAjB,EACE,SADF;;AAIE;AADe;AAEf;;AAFF,wBACE,SADF,EAAiB,UAAjB,EAEE,UAFF;;AAGiB;;AAAjB,yBAAiB,UAAjB;AAAkC,S,EAAA,I;AAAA;;;uEAlDtC,2J,IACE,gI,GAAA;AAAA;AAAA;AAAA,gB,EAAc,yL,GA0BhB,oI,IAQA,sI,IAiBc;AAAA;;AAnDE;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAkE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC0B1D,0H,IACE,gK,IACE,qkB,GAAA;AAAA;AAAA;AAAA,gB,GAES,uF,IAEE,sF,GAAA,sQ,GAKb,gK,IACE,qkB,GAAA;AAAA;AAAA;AAAA,gB,GAES,8E,IAEE,uF,GAAA,sQ,EAAA,yD,GAGb;AAfI;AAFQ;;AAAV,wBAEE,SAFF,EAAU,SAAV;;AAYE;AAFQ;;AAAV,wBAEE,UAFF,EAAU,UAAV;AAA2C,S,EAAA;AAV3C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIW;;AAAA;;AAAA;;AAMX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIW;;AAAA;;AAAA;AAGb,S;AAAA;;;uEAKJ,0H,IACE;AAAA;AAAA,sBAIS,UAJT;;AAEE;;;;;AAFF;AAAA,8N,GAAA,oX,EAAA;AAAA;AAAA,gB,EACE,sQ,GAEA,6iB,GAAA;AAAA;AAAA,gB,GAA4C,2E,IAE9C;AAAA;AAAA,sBAIS,UAJT;;AAEE;;;;;AAFF;AAAA,8N,GAAA,oX,EAAA;AAAA;AAAA,gB,EACE,sQ,GAEA,8iB,GAAA;AAAA;AAAA,gB,GAA4C,6E,IAAM;AAPlD;;AADF,wBACE,SADF;;AAGY;;AAAV,wBAAU,SAAV;;AAGA;;AADF,yBACE,UADF;;AAGY;;AAAV,yBAAU,UAAV;AAA2C,S,EAAA;AAR7C;AAAA;;AAAA;;AAAA;;AAGE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEF;AAAA;;AAAA;;AAAA;;AAGE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA6D,S;AAAA;;;uEAxDrE;AAAA;AAAA,sBA6DgB,UA7DhB;;AAEE;;;;;AAFF;AAAA,gO,GAAA,ua,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAIE,4J,GAAA,0J,GACE,mJ,IAA4B,+E,IAK9B,4L,GAAA,2J,GAEE,4J,IAEE,iK,IACE,ikB,GAAA;AAAA;AAAA;AAAA,gB,GACS,wF,IAEE,gF,GAAA,yD,EAAA,sQ,GAKb,wH,GAAA;AAAA;AAAA,gB,GAwBF,wH,GAAA;AAAA;AAAA,gB,GAaF,2f,GAAA,6J,GAA2B;AAAA;AA5CnB;AADQ;;AAAV,yBACE,SADF,EAAU,UAAV;;AAQY,4EAA+B,QAA/B,CAA+B,SAA/B,CAA+B,QAA/B,CAA+B,MAA/B;;AAAd,yBAAc,UAAd;;AAwBI,gDAA8B,SAA9B;;AAAN,yBAAM,UAAN;AAAoC,S,EAAA;AA/CxC;;AAAA;;AAAA;;AAAA;;AAKgC;;AAAA;;AAUxB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGW;;AAAA;;AA0CjB;;AAAA;;AAAA;;AAAA;;AAAA;AAA2B,S;AAAA;;;uEA7D/B,kW,GAAA,yM,EAAA,+M,GACE,qH,GAAA;AAAA;AAAA;AAAA,gB,GA6DgB;AAAA;AA5Dd;AAAA,6BAAgD,UAAhD;;AADF,wBACE,SADF,EACE,SADF;AACkD,S,EAAA,I;AAAA;;;uEALtD,yH,IAGE,wH,GAAA;AAAA;AAAA;AAAA,gB,GAgEW,4E,IAAA;AAhED;;AAAA;;AAAV,wBAAU,SAAV,EAAU,SAAV;AAA8C,S,EAAA,I;AAAA;;;uEAwE9C,kO,IACE,sI,IACE,uH,IAAI,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;uEAM9C,wZ,GAAA;AAAA;AAAA;AAAA,gB,GAEA,wZ,GAAA;AAAA;AAAA;AAAA,gB,GAEA,wZ,GAAA;AAAA;AAAA;AAAA,gB,GAEA,wZ,GAAA;AAAA;AAAA;AAAA,gB,GAEA,sY,GAAA;AAAA;AAAA,gB,GAAqD;AAPnD;AADe;;AAAjB,wBACE,SADF,EAAiB,SAAjB;;AAGE;AADe;;AAAjB,wBACE,SADF,EAAiB,SAAjB;;AAGE;AADe;;AAAjB,wBACE,SADF,EAAiB,SAAjB;;AAGE;AADe;;AAAjB,wBACE,SADF,EAAiB,SAAjB;;AAEiB;;AAAjB,wBAAiB,SAAjB;AAAkC,S,EAAA,I;AAAA;;;4UA3FpC,wH,GAAA;AAAA;AAAA;AAAA,gB,EAAc,yL,GA0Ed,4H,IAQA,8H,IAUc;AAAA;;AA5FA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAmE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECiE7D;AAAA;AAAA,sBAES,UAFT;;AAA+C;;;;;AAA/C;AAAA,8N,GAAA;AAAA;AAAA;AAAA,gB,GAA0G,4E,GAAA,sQ,GAE1G;AAAA;AAFgF,6BAAyB,KAAzB,CAAyB,OAAzB;AAAhB;;AAAhE,wBAAgF,SAAhF,EAAgE,SAAhE;AAA+E,S,EAAA;AAA/E;AAAA;;AAAA;;AAAA;;AAA0G;;AAAA;AAE1G,S;AAAA;;;uEAnEN;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;+bACE,qJ,GAAA;AAAA;AAAA,gB,EAAA,+L,GACE,oJ,IACE,0K,GAAA,6J,GAAmD,gF,GAAA,sQ,GAGnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;o5CAIJ,+I,IACE,2K,GAAA,6J,GAAmD,gF,GAAA,sQ,GAGnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;s5CAKJ,yJ,IACE,2K,GAAA,6J,GAAmD,gF,GAAA,sQ,GAGnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA4C;;;;;AAA5C;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8F,EAAA,yV,EAAA;AAAA;AAAA,mK,EAAA;AAAA;AAAA,gB,EAAA,gM,EAAA,2O,EAAA;AAAA;AAAA,gB,EAAA,mN,EAAA,yO,GACA;AAAA;;AAAA;;;;;;SAAA,E,qHAAA,E,yHAAA,C;;;;aACA,kW,GAAA,yQ,EAAA,2Z,EAAA,8yB,GAIJ,qJ,IACE,2K,GAAA,6J,GAAmD,gF,GAAA,sQ,GAGnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;w5CAIJ,sJ,IACE,4K,GAAA,8J,GAAmD,iF,GAAA,sQ,GAGnD,olC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;w5CAIJ,mK,IACE,6J,GAAA,8J,GAAoC,iF,GAAA,sQ,GAGpC;AAAA;AAAA,sBAIS,UAJT;;AAGE;;;;;AAHF;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EACE;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAMJ,iL,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,sX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAqC,8E,GAAA,sQ,GAGhF,oI,GAAA;AAAA;AAAA,gB,GAES;AAAA;AAnET,6BAAkB,KAAlB;;AAAN,wBAAM,SAAN;;AACO,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAL,wBAAK,SAAL;;AAKoB;;AAAhB,yBAAgB,UAAhB;;AACmE;;AAAjE,yBAAiE,UAAjE;;AAAA;;AAQc;;AAAhB,yBAAgB,UAAhB;;AACkB;;AAAhB,yBAAgB,UAAhB;;AAAA;;AASc;;AAAhB,yBAAgB,WAAhB;;AACkB;;AAAhB,yBAAgB,WAAhB;;AAAuE;;AAAvE,yBAAuE,WAAvE;;AAAiG;;AAAjG,yBAAiG,WAAjG;;AACqC;;AAArC,yBAAqC,WAArC;;AASc;;AAAhB,yBAAgB,WAAhB;;AACmE;;AAAjE,0BAAiE,WAAjE;;AAAA;;AAQc;;AAAhB,0BAAgB,WAAhB;;AACmE;;AAAjE,0BAAiE,WAAjE;;AAAA;;AASqD,+BAA6B,kBAA7B;;AAArD,+DAAoD,YAApD;;AACqB,+BAA0B,KAA1B,CAA0B,QAA1B;AAA2B,+BAA0B,KAA1B,CAA0B,QAA1B;AAAhD;;AAFF,0BACuD,WADvD,EACE,WADF,EAEuB,WAFvB,EAEkD,WAFlD,EAEE,WAFF;;AAQ2C,gDAAoC,KAApC,CAAoC,QAApC;;AAA3C,0BAA2C,WAA3C;;AAA2C,gDAAoC,KAApC,CAAoC,QAApC;;AAA3C,0BAA2C,WAA3C;;AAGQ,gCAAsB,KAAtB,CAAsB,QAAtB;;AAAR,0BAAQ,WAAR;AAA8B,S,EAAA;AAAA;;AAjEpC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAEuD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAMiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAMiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKkC;;AAAA;;AAGrB;;AAAf,0BAAe,WAAf;;AAQA;AAAA;;AAAA;;AAAA;;AAAgF;;AAAA;AAEhF,S;AAAA;;;;;aAhEN,oI,GAAA;AAAA;AAAA,gB,GAsEO;AAAA;AAtEkB,6BAAY,KAAZ;;AAAzB,wBAAyB,SAAzB;AAAqC,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;ACArC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECME;AAAA;AAAA;;AAAA;;;;;;;;;;AAGC;;;;;AAHD;AAAA,sB,GAAA;AAAA;AAAA,gB,EAIC,wD,EAJD,0c,EAAA;AAAA;AAAA;AAAA,gB,EAKC,sQ,GAAwD;AADxD;;AAJD,wBAIC,SAJD;;AAAA;;AAKC;AACA;;AAND,wBAKC,SALD,EAMC,SAND;AAMkB,S,EAAA,I;AAAA;;;uEAZpB,+M,IAIC,2H,IAAQ,+E,GAAA,sQ,GACR,8I,IACC,6H,GAAA;AAAA;AAAA,gB,GAUA;AAAA;AAAA,sBAOU,UAPV;;AAIC;;;;;AAJD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAEC,sQ,EAFD;AAAA;AAAA,gB,GAOU;AAAA;AAfT,6BAAW,IAAX;;AAFD,wBAEC,SAFD;;AAaC;;AADA;;AAFD,wBAGC,SAHD,EAEC,SAFD;;AAKC;;AALD,yBAKC,SALD;AAKmB,S,EAAA;AAAA;;AAjBZ;;AAAA;AAAyB,S;AAAA;;;uEAmChC,qV,GAAA,mU,GAA8C,4E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE9C,S;AAAA;;;uEACA,wH,IACC;AAAA;AAAA;;AAAA;;;;;;;;;;AACC;;;;;AAGA;;;;;AAJD;AAAA,sQ,GAAA;AAAA;AAAA,gB,EAEC,wD,EAFD,0c,EAAA;AAAA;AAAA;AAAA;AAAA,U,GAMwB;AAJvB,iEAA6D,QAA7D,CAA6D,SAA7D,CAA6D,QAA7D;;AAFD,wBAEC,SAFD;;AAAA;;AAGC,4BAA6B,QAA7B,CAA6B,SAA7B;;AAHD,wBAGC,SAHD;AAG8B,S,EAAA,I;AAAA;;;uEA9CjC,6H,GAAA;AAAA;AAAA,gB,GA2BA,0K,IACC,+T,GAAA,4T,GACC,yJ,IAA4B,6E,GAAA,sQ,GAG9B,mX,GAAA,+T,GACC,0W,GAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAMC,mH,GAAA,iN,GAGA,0H,GAAA,+Q,GAWD;AAAA;AAAA,sBAMsB,UANtB;;AAA0C;;;;;AAA1C;AAAA,4O,GAAA,iM,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GACC,+Y,GAAA;AAAA;AAAA;AAAA,gB,EAEC,sQ,GAAgD;AAAA;AAtDlD,6BAAkB,WAAlB;;AAFD,wBAEC,SAFD;;AAmCE,6BAAwB,YAAxB;AAEA,6BAAuB,cAAvB;AADA,6BAAmB,QAAnB;;AAHD,yBAEC,SAFD,EAIC,SAJD,EAGC,SAHD;;AAoBqB;;AAArB,yBAAqB,SAArB;;AAA4E;;AAA5E,yBAA4E,UAA5E;;AAEE;;AACA;;AAFD,yBACC,UADD,EAEC,UAFD;AAEiD,S,EAAA;AAAA;AA7B1B;;AAAzB,wBAAyB,SAAzB;;AAE8B;;AAAA;;AAGjB;;AAAb,wBAAa,SAAb;;AAEE;;AADD,yBACC,SADD;;AAoBA;;AAAA;AAMsB,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDvB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAGaC,sB;AAGX,wCAAoBC,UAApB,EACUC,eADV,EAC4C;AAAA;;AADxB,eAAAD,UAAA,GAAAA,UAAA;AACV,eAAAC,eAAA,GAAAA,eAAA;AAHV,eAAAC,gBAAA,GAAmB,EAAnB;AAG+C;;;;iBAE/C,2BAAe;AACb,mBAAO,KAAKF,UAAL,CAAgBrT,GAAhB,CAAsD,KAAKuT,gBAAL,GAAwB,mBAA9E,CAAP;AACD,W,CACD;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iBAEA,mCAA0BC,KAA1B,EAAsCC,WAAtC,EAA2DpY,SAA3D,EAA4E;AAC1E,mBAAOmY,KAAK,CAACE,aAAb;AACA,mBAAO,KAAKL,UAAL,CAAgBM,IAAhB,WAAwB,KAAKJ,gBAA7B,EAAgD,0CAAhD,cAA8FE,WAA9F,cAA6GpY,SAA7G,GACLmY,KADK,EACE;AAAEI,qBAAO,EAAE,EAAX;AAAeC,0BAAY,EAAE;AAA7B,aADF,CAAP;AAED;;;iBAED,wBAAeC,MAAf,EAA+B;AAC7B,mBAAO,KAAKT,UAAL,CAAgBrT,GAAhB,WAA6B,KAAKsT,eAAL,CAA6BS,OAA1D,2DAAkHD,MAAlH,EAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECrED,yH,IACE,yI,IACE,mJ,IAAmH,I,EAAA;AAAA;;AADhH;;AAAL,wBAAK,SAAL;;AACO;;AAA8C,8IAAArZ,KAAA;;AAAnD,wBAAK,SAAL,EAAmD,SAAnD;AAA4G,S;AAAA;;;uEAK9G,0J,IACE,sJ,IAAgG,I,EAAA;AAAA;;AAD7F;;AAAgD;;AAArD,wBAAK,SAAL,EAAqD,SAArD;;AACU;;AAA+C,oHAAAA,KAAA;;AAAvD,wBAAQ,SAAR,EAAuD,SAAvD;AAAsF,S;AAAA;;;uEAV5F,qL,GAAA,+L,EAAA;AAAA;AAAA,gB,GACE,8U,GAAA,4M,GACA,8H,GAAA;AAAA;AAAA;AAAA,gB,GAMA,mI,IAIc;AAAA;AAZyC;;AAAzD,wBAAyD,SAAzD;;AAEgB;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAA8D,S,EAAA;AAFhE;;AAAA;AAAA,S;AAAA;;;;;;;mBAcM;AAAA;AAd6B,6BAAqB,cAArB;;AAAnC,wBAAmC,SAAnC;AAAwD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECQxC,yH,IAA8C,+E,GAAA,wD,EAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE9C,S;AAAA;;;uEAEI,yH,IAAM,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAA0E,S;AAAA;;;uEAPxF,6I,IACI,2J,IAEA,2H,GAAA;AAAA;AAAA;AAAA,gB,GAGA,+H,IAEc;AALR;;AAAA;;AAAN,wBAAM,SAAN,EAAM,SAAN;AAA6C,S,EAAA;AAF1C;;AAAsB;;AAAzB,wBAAG,SAAH,EAAyB,SAAzB;AAA6D,S;AAAA;;;uEAFrE,wI,IACI,2H,GAAA;AAAA;AAAA,gB,GASM;AAAA;AATgB,6BAA0C,eAA1C,CAA0C,MAA1C;;AAAtB,wBAAsB,SAAtB;AAAgE,S,EAAA,I;AAAA;;;uEAWpE,oJ,IACI,yH,IAAM,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAAwE,S;AAAA;;;uEAElF,2I,IAAyF,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAEzF,S;AAAA;;;uEApBR,2J,GAAA;AAAA;AAAA;AAAA,gB,EAA0D;AAAA;AAAA,U,EAA1D;AAAA;AAAA;AAAA,gB,EAA0D;AAAA;AAAA,U,GACtD,4I,IACI,uH,IAAI,6E,GAAA,sQ,GACJ,2H,GAAA;AAAA;AAAA,gB,GAYA,2H,GAAA;AAAA;AAAA,gB,GAGA,2H,GAAA;AAAA;AAAA,gB,GAEO;AAAA;AApBV;;AAAqD,4CAAuD,eAAvD,CAAuD,aAAvD;;AAA1D,wBAAK,SAAL,EAA0D,SAA1D;;AAA0D,4CAAuD,eAAvD,CAAuD,aAAvD;;AAArD;;AAAL,wBAA0D,SAA1D,EAAK,SAAL;;AAGyB,6BAAoC,eAApC,CAAoC,aAApC;;AAAjB,yBAAiB,SAAjB;;AAYK,8BAAqC,eAArC,CAAqC,aAArC;;AAAL,yBAAK,SAAL;;AAGoB,iEAAoE,eAApE,CAAoE,aAApE;;AAApB,yBAAoB,SAApB;AAAwF,S,EAAA;AAAA;;AAhBpF;;AAAA;AAAsD,S;AAAA;;;uEA2BtD;AAAA;AAAA,sBAEuF,UAFvF;;AAAsB;;;;;AAAtB;AAAA,sB,IACmC,mF,GAAA,sQ,EAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;;AAAA;AAC2C,S;AAAA;;;uEAHlF,gJ,IACI,2H,GAAA;AAAA;AAAA,gB,GAEuF;AAAA;AAFtB,6BAAY,KAAZ;;AAAjE,wBAAiE,SAAjE;AAA6E,S,EAAA,I;AAAA;;;uEAWjF,uH,IAAwB,I,EAAA,I;AAAA;;;uEACxB,uH,IAAwB,I,EAAA,I;AAAA;;;uEACxB,6J,IACI,mK,IACI,sJ,IACI,2K,IAGR;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AACI;;;;;AAAuD;;;;;AAD3D;AAAA,sB,GAAA,wV,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,kN,EAA0C,sQ,GAAoD;AAAA;AAAlE;AAC+B,6BAA2B,cAA3B;;AAD3D,wBAA4B,SAA5B,EAC2D,SAD3D;AACsF,S,EAAA;AAD5C;;AAA1C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAA0C,SAA1C;AACyF,S;AAAA;;;uEAmBrE;AAAA;AAAA,sBAIW,UAJX;;AAAU;;;;;AAAV;AAAA,sN,GAAA,wa,EAAA;AAAA;AAAA;AAAA,gB,EAEI,sQ,EAAA,sQ,GACmB,2E,IACvB,4E,IAAA;AAJA;;AACI;;AACA,6UAAkG,OAAlG,CAAkG,OAAlG,CAAkG,SAAlG,CAAkG,QAAlG;;AAFJ,wBACI,SADJ,EAEI,SAFJ;AAEsG,S,EAAA;AAFtG;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIW,S;AAAA;;;uEALf,yH,IACI,4H,GAAA;AAAA;AAAA,gB,GAIW,4E,IAAA;AAJuC;;AAAlD,wBAAkD,SAAlD;AAA8E,S,EAAA,I;AAAA;;;uEAFtF,yH,IACI,4H,GAAA;AAAA;AAAA,gB,GAMe;AAND,4BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,SAAhC,CAAgC,OAAhC;;AAAd,wBAAc,SAAd;AAA8C,S,EAAA,I;AAAA;;;uEASlD;AAAA;AAAA,sBAGW,UAHX;;AAAU;;;;;AAAV;AAAA,sN,GAAA,wa,GACwB,6E,IAExB;AAHA;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEACX;AAAA;AAAA,sBAEW,UAFX;;AAAU;;;;;AAAV;AAAA,sN,GAAA;AAAA;AAAA;AAAA,gB,EAC0B;AAAA;AAAA,U,EAD1B,wa,EAAA;AAAA;AAAA;AAAA,gB,EAC0B;AAAA;AAAA,U,GAA2C,8E,IACrE;AADI;;AAAsB,0CAA0C,OAA1C,CAA0C,OAA1C,CAA0C,SAA1C,CAA0C,MAA1C;;AAD1B,wBACI,SADJ,EAC0B,SAD1B;;AAAA;;AAC0B,0CAA0C,OAA1C,CAA0C,OAA1C,CAA0C,SAA1C,CAA0C,MAA1C;;AAAtB;;AADJ,wBAC0B,SAD1B,EACI,SADJ;AACyB,S,EAAA;AADzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEA7BvB;AAAA;;AAAA;;;;;;SAAA,E,IAAA,E,IAAA,C,k+BACI,uK,IACI,mJ,IACI,we,GAAA;AAAA;AAAA,gB,GAMA,gK,GAAwB,yD,GAG5B,6I,IACI,4H,GAAA;AAAA;AAAA,gB,GASA;AAAA;AAAA,sBAA8E,UAA9E;;AAAU;;;;;AAAV;AAAA,sN,GAAA,ya,GAAyD,iF,IACzD,4H,GAAA;AAAA;AAAA,gB,GAIA,4H,GAAA;AAAA;AAAA,gB,GAEW;AAAA;;AA7BvB;;AAGoB;;AAAR,wBAAQ,SAAR;;AAUM,8BAAiB,SAAjB;;AAAN,yBAAM,SAAN;;AASA;;AACqC;;AAArC,yBAAqC,UAArC;;AAIqC;;AAArC,yBAAqC,UAArC;AAAkF,S,EAAA;AAxBlF;AAAA;;AAAA;;AAAA;;AAMwB,iLAAkC,QAAlC,CAAkC,SAAlC,CAAkC,IAAlC;;AAAxB,wBAAwB,SAAxB;;AAaA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA8E,S;AAAA;;;uEA+BtE;AAAA;AAAA,sBAIW,UAJX;;AAAU;;;;;AAAV;AAAA,sN,GAAA,wa,EAAA;AAAA;AAAA;AAAA,gB,EAEI,sQ,EAAA,sQ,GACmB,2E,IACvB,4E,IAAA;AAJA;;AACI;;AACA,6UAAkG,OAAlG,CAAkG,OAAlG,CAAkG,SAAlG,CAAkG,QAAlG;;AAFJ,wBACI,SADJ,EAEI,SAFJ;AAEsG,S,EAAA;AAFtG;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIW,S;AAAA;;;uEALf,yH,IACI,4H,GAAA;AAAA;AAAA,gB,GAIW,4E,IAAA;AAJuC;;AAAlD,wBAAkD,SAAlD;AAA8E,S,EAAA,I;AAAA;;;uEAFtF,yH,IACI,4H,GAAA;AAAA;AAAA,gB,GAMe;AAND,4BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,SAAhC,CAAgC,OAAhC;;AAAd,wBAAc,SAAd;AAA8C,S,EAAA,I;AAAA;;;uEAUlD;AAAA;AAAA,sBAGW,UAHX;;AAAU;;;;;AAAV;AAAA,sN,GAAA,wa,GACwB,6E,IAExB;AAHA;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEACX;AAAA;AAAA,sBAEW,UAFX;;AAAU;;;;;AAAV;AAAA,sN,GAAA;AAAA;AAAA;AAAA,gB,EAC0B;AAAA;AAAA,U,EAD1B,wa,EAAA;AAAA;AAAA;AAAA,gB,EAC0B;AAAA;AAAA,U,GAA2C,8E,IACrE;AADI;;AAAsB,0CAA0C,OAA1C,CAA0C,OAA1C,CAA0C,SAA1C,CAA0C,MAA1C;;AAD1B,wBACI,SADJ,EAC0B,SAD1B;;AAAA;;AAC0B,0CAA0C,OAA1C,CAA0C,OAA1C,CAA0C,SAA1C,CAA0C,MAA1C;;AAAtB;;AADJ,wBAC0B,SAD1B,EACI,SADJ;AACyB,S,EAAA;AADzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEAlCvB,oK,GAAA,uN,EAAA,yN,EAAA,gW,EAAA;AAAA;AAAA,U,EAAA,iN,EAAA;AAAA;AAAA,gB,EAAA,+N,GACI,uK,IACI,iK,IACI;AAAA;;AAAA;;;;;;SAAA,E,uGAAA,E,2GAAA,C,o3BACI,0hB,GAAA,ya,GAAsC,6E,IAU1C,iK,GAAwB,yD,GAE5B,6I,IACI,4H,GAAA;AAAA;AAAA,gB,GAUA;AAAA;AAAA,sBAA8E,UAA9E;;AAAU;;;;;AAAV;AAAA,sN,GAAA,ya,GAAyD,iF,IACzD,4H,GAAA;AAAA;AAAA,gB,GAIA,4H,GAAA;AAAA;AAAA,gB,GAKR,qJ,IACI,iI,GAAA,kT,EAAA,2N,GAA+C;AAAA;;AAtCvD;;AAAgE;;AAAhE,wBAAgE,SAAhE;;AAIgB;;AAaE,+BAAiB,SAAjB;;AAAN,yBAAM,UAAN;;AAUA;;AACqC;;AAArC,yBAAqC,UAArC;;AAIqC;;AAArC,yBAAqC,UAArC;AAAkF,S,EAAA;AAAA;AA7B1E,wCAAyC,QAAzC,CAAyC,SAAzC,CAAyC,IAAzC;AAAR;AAAA;;AAAA;;AAAA,yBAAQ,SAAR;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAsC;;AAAA;;AAUlB,mLAAkC,QAAlC,CAAkC,SAAlC,CAAkC,IAAlC;;AAAxB,yBAAwB,UAAxB;;AAaA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAUJ,yDAA0D,QAA1D,CAA0D,SAA1D;;AAAJ,yBAAI,UAAJ;AAA8D,S;AAAA;;;uEAzEtE,2X,GAAA,mM,EAAA,iM,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GAEI,qH,GAAA,sN,EAAA,qN,GAkCA,qH,GAAA;AAAA;AAAA,gB,EAAA,qN,GAwCuB;AAAA;AA3EK,6BAAW,IAAX;;AADhC,wBACgC,SADhC;;AAAwD,6BAAiC,mBAAjC;AACpD,6BAA2B,YAA3B;AADsF,6BAAmB,QAAnB;;AAA1F,wBAAwD,SAAxD,EACI,SADJ,EAA0F,SAA1F;;AAoC0B,6BAAyC,SAAzC;;AAAtB,yBAAsB,SAAtB;AAA+D,S,EAAA;AApCnE;;AAAA;AA6EW,S;AAAA;;;uEASP;AAAA;AAAA,sBACkB,UADlB;;AAAgE;;;;;AAAhE;AAAA,sO,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACkB;AAAA;AADsB,6BAAuB,eAAvB;;AAAxC,wBAAwC,SAAxC;AAA+D,S,EAAA,I;AAAA;;;uEAPvE,0H,IACI,qM,GAAA,kP,GACI,wgB,GAAA,wa,GAAU,qF,IAEd,2L,GAAA;AAAA;AAAA;AAAA,gB,EACI;AAAA;AAAA,U,EADJ;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EACI;AAAA;AAAA,U,EADJ,2Q,GAGI,4H,GAAA;AAAA;AAAA,gB,GACkB;AAAA;;AANlB;;AAIA;;AADA,2CAAuD,iBAAvD,CAAuD,UAAvD;;AADJ,wBAEI,SAFJ,EACI,SADJ;;AAAK;AAA+B;AAAjB;;AAAnB,wBAAK,SAAL,EAAoC,SAApC,EAAmB,UAAnB;;AAAsD,+BAAoC,iBAApC,CAAoC,IAApC;;AAAtD,yBAAsD,UAAtD;;AACI,6CAAuD,iBAAvD,CAAuD,UAAvD;;AACA;;AAFJ,yBACI,UADJ,EAEI,UAFJ;;AAGqB,8BAAsB,eAAtB;;AAAjB,yBAAiB,UAAjB;AAAuC,S,EAAA;AAAA;AANtC,6BAAsC,iBAAtC,CAAsC,UAAtC;;AAAL,wBAAK,SAAL;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAmC,S;AAAA;;;0cArI/C,gV,GAAA,8M,GACA,2H,GAAA;AAAA;AAAA,gB,GAwBA,6N,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACI,uM,GAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAAA,2Q,GAGI,2H,GAAA;AAAA;AAAA,gB,GAWA,sJ,IACA,4H,GAAA;AAAA;AAAA,gB,GACA,4H,GAAA;AAAA;AAAA,gB,GACA,4H,GAAA;AAAA;AAAA,gB,GASA,4H,GAAA;AAAA;AAAA,gB,GA+EJ,4H,GAAA;AAAA;AAAA,gB,GAUe;AAAA;AA5IgB,6BAAsB,eAAtB;;AAAnC,wBAAmC,SAAnC;;AAwBK;;AAAL,wBAAK,SAAL;;AAA+B;;AAA/B,wBAA+B,SAA/B;;AAA+E;AAA3D;;AAApB,wBAA+E,SAA/E,EAAoB,SAApB;;AACS;;AAA+E;AAAxC;;AAA5C,yBAAK,SAAL,EAAoF,SAApF,EAA4C,SAA5C;;AACwC,6BAAsC,iBAAtC,CAAsC,UAAtC;AAApC,6BAAmC,iBAAnC,CAAmC,IAAnC;;AADJ,yBACwC,SADxC,EACI,SADJ;;AAGS,+BAAiB,SAAjB;;AAAL,yBAAK,UAAL;;AAYI,+BAAiB,SAAjB;;AAAJ,yBAAI,UAAJ;;AACI,+BAAiB,SAAjB;;AAAJ,yBAAI,UAAJ;;AACqC,8BAA8B,WAA9B,CAA8B,IAA9B,CAA8B,MAA9B;;AAArC,yBAAqC,UAArC;;AASU,yCAA6C,mBAA7C,CAA6C,IAA7C,CAA6C,MAA7C;;AAAV,yBAAU,UAAV;;AA+EU,+BAAuB,eAAvB;;AAAd,yBAAc,UAAd;AAAqC,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClIzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAYO,UAAMuZ,SAAS,GAAG,CAAlB;;UAEMC,iB;AAmBT,mCAAoB/a,mBAApB,EACYoa,eADZ,EAEYY,IAFZ,EAE8B;AAAA;;AAFV,eAAAhb,mBAAA,GAAAA,mBAAA;AACR,eAAAoa,eAAA,GAAAA,eAAA;AACA,eAAAY,IAAA,GAAAA,IAAA;AApBJ,eAAAC,OAAA,GAAU,KAAKb,eAAL,CAAqBS,OAA/B;AAER,eAAAK,QAAA,GAAW,IAAI,kDAAJ,CAA2B,CAA3B,CAAX;AACA,eAAA/P,UAAA,GAAa,IAAI,oDAAJ,CAAgC,IAAhC,CAAb;AACA,eAAAgQ,eAAA,GAAkB,IAAI,oDAAJ,CAA8B,IAA9B,CAAlB;AACA,eAAA/P,eAAA,GAAkB,IAAI,oDAAJ,CAAmC,IAAnC,CAAlB;AACA,eAAAgQ,cAAA,GAAiB,IAAI,oDAAJ,CAA0B,IAA1B,CAAjB;AACA,eAAAC,WAAA,GAAc,IAAI,oDAAJ,CAA6B,IAA7B,CAAd;AACA,eAAAC,eAAA,GAAkB,IAAI,oDAAJ,CAA+B,IAA/B,CAAlB;AACA,eAAAC,uBAAA,GAA0B,IAAI,oDAAJ,CAA+B,IAA/B,CAA1B;AACA,eAAAC,YAAA,GAAe,IAAI,oDAAJ,CAA+B,IAA/B,CAAf;AAEA,eAAAC,QAAA,GAAW,IAAI,oDAAJ,CAAwC,IAAI,qFAAJ,EAAxC,CAAX;AAEA,eAAAtH,KAAA,GAAQ;AACJuH,8BAAkB,EAAE;AADhB,WAAR;AAOC;;;;iBAED,qBAAYC,WAAZ,EAA+B;AAC3B,mBAAO,KAAK3b,mBAAL,CAAyB4b,iBAAzB,CAA2C,KAAKxB,eAAL,CAAqByB,SAArB,CAA+BC,kBAA/B,CAAkDC,UAA7F,EAAyGJ,WAAzG,EACFpQ,IADE,CAEC,iDAAI,UAACwD,MAAD,EAAiB;AACjB,kBAAMoH,QAAQ,mCACPpH,MAAM,CAAC/N,IADA,GACI;AACdiC,mBAAG,EAAE8L,MAAM,CAAC9L;AADE,eADJ,CAAd;AAIA,kBAAI8L,MAAM,CAAC/N,IAAP,CAAYgb,kBAAZ,GAAiC,CAArC,EACI7F,QAAQ,CAAC8F,oBAAT,GAAgClN,MAAM,CAAC/N,IAAP,CAAYkb,uBAAZ,GAAsCnN,MAAM,CAAC/N,IAAP,CAAYgb,kBAAlF;AACJ,qBAAO7F,QAAP;AACH,aARD,CAFD,CAAP;AAYH;;;iBACD,qBAAYwF,WAAZ,EAA+B;AAC3B,mBAAO,KAAK3b,mBAAL,CAAyB4b,iBAAzB,CAA2C,KAAKxB,eAAL,CAAqByB,SAArB,CAA+BC,kBAA/B,CAAkD9C,SAA7F,EAAwG2C,WAAxG,EACFpQ,IADE,CAEC,iDAAI,UAACwD,MAAD,EAAiB;;;AACjB,kBAAMkK,QAAQ,mCACPlK,MAAM,CAAC/N,IADA,GACI;AACdiC,mBAAG,EAAE8L,MAAM,CAAC9L;AADE,eADJ,CAAd;AAIAgW,sBAAQ,CAACkD,OAAT,GAAmB,CAAC,CAAClD,QAAQ,CAACmD,UAAX,IAAyB,CAAC,CAACnD,QAAQ,CAACoD,UAAvD;AACApD,sBAAQ,CAACqD,cAAT,GAA0B,CAAC,CAACrD,QAAQ,CAACsD,SAAX,IAAwB,CAAC,CAACtD,QAAQ,CAACuD,SAA7D;AAEAvD,sBAAQ,CAACwD,QAAT,GAAoB,CAAC,CAACxD,QAAQ,CAACyD,WAAX,IAA0B,CAAC,CAACzD,QAAQ,CAAC0D,WAAzD;AACA1D,sBAAQ,CAAC2D,eAAT,GAA2B,CAAC,CAAC3D,QAAQ,CAAC4D,cAAX,IAA6B,CAAC,CAAC5D,QAAQ,CAAC6D,cAAnE;AAEA7D,sBAAQ,CAAC8D,cAAT,GAA0B,CAAC,CAAC9D,QAAQ,CAAC+D,WAAT,CAAqB7X,MAAjD;AACA8T,sBAAQ,CAACgE,qBAAT,GAAiC,CAAC,CAAChE,QAAQ,CAACiE,oBAAX,IAAmC,CAAC,CAACjE,QAAQ,CAACkE,oBAA/E;AACA,oBAAAlE,QAAQ,CAAC+D,WAAT,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAErb,OAAF,CAAU,UAAAyb,UAAU;AAAA,uBAAIA,UAAU,CAACC,UAAX,GAAwB,CAAC,CAACD,UAAU,CAACE,mBAAb,IAAoC,CAAC,CAACF,UAAU,CAACG,mBAA7E;AAAA,eAApB,CAApB;AAEAtE,sBAAQ,CAACuE,0BAAT,GAAsC,CAAC,CAACvE,QAAQ,CAACwE,YAAX,IAA2B,CAAC,CAACxE,QAAQ,CAACyE,YAA5E;AACAzE,sBAAQ,CAAC0E,gBAAT,GAA4B,CAAC,CAAC1E,QAAQ,CAAC2E,eAAX,IAA8B,CAAC,CAAC3E,QAAQ,CAAC4E,eAArE;AAEA,oBAAA5E,QAAQ,CAAC6E,eAAT,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEnc,OAAF,CAAU,UAAA4C,IAAI,EAAI;AACtCA,oBAAI,CAAC8Y,UAAL,GAAkB,CAAC,CAAC9Y,IAAI,CAACgY,SAAP,IAAoB,CAAC,CAAChY,IAAI,CAACiY,SAA7C;AACAjY,oBAAI,CAACmU,KAAL,GAAa,CAACnU,IAAI,CAACmU,KAAnB;AACH,eAHuB,CAAxB;AAIA,qBAAOO,QAAP;AACH,aAvBD,CAFD,CAAP;AA2BH;;;iBACD,qBAAY8E,gBAAZ,EAAsCC,oBAAtC,EAAkE;AAAA;;AAC9D;AACA;AACA,gBAAMxY,KAAK,sBAAeuY,gBAAf,6BAAkDC,oBAAlD,CAAX;AACA,mBAAO,KAAKhe,mBAAL,CAAyByW,sBAAzB,CAAgD,KAAK2D,eAAL,CAAqByB,SAArB,CAA+BC,kBAA/B,CAAkDmC,OAAlG,EAA2GzY,KAA3G,EACF+F,IADE,CAEC,oDAAO,UAACvK,IAAD;AAAA,qBAAe,CAAC,CAACA,IAAI,CAACmE,MAAtB;AAAA,aAAP,CAFD,EAGC,iDAAI,UAAA4J,MAAM,EAAI;AACV,kBAAMkP,OAAO,mCACNlP,MAAM,CAAC,CAAD,CAAN,CAAU/N,IADJ,GACQ;AACjBiC,mBAAG,EAAE8L,MAAM,CAAC,CAAD,CAAN,CAAU9L;AADE,eADR,CAAb;AAIA,qBAAOgb,OAAP;AACH,aAND,CAHD,EAUC,iDAAI,UAACjd,IAAD;AAAA,qBAAe,OAAI,CAACka,QAAL,CAAchN,IAAd,CAAmBlN,IAAnB,CAAf;AAAA,aAAJ,CAVD,CAAP;AAYH,W,CAED;;;;iBACA,2BAAkBkd,QAAlB,EAAoCC,SAApC,EAA8D;AAC1D,gBAAMC,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+BwC,YAApD,mBAAyEH,QAAzE,sBAA6FC,SAA7F,CAAT;AACA,mBAAO,KAAKnD,IAAL,CAAUlU,GAAV,CAA6BsX,GAA7B,EAAkC;AACrCE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AAD6B,aAAlC,CAAP;AAMH,W,CAED;;;;iBACA,6BAAoBP,QAApB,EAAsCQ,YAAtC,EAA0D;AACtD,gBAAMN,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B8C,SAApD,SAAgED,YAAhE,oBAAsFR,QAAtF,aAAT;AACA,mBAAO,KAAKlD,IAAL,CAAUlU,GAAV,CAA6BsX,GAA7B,EAAkC;AACrCE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AAD6B,aAAlC,CAAP;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvHL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAaaG,qB;AAMZ,uCACQrW,SADR,EAEiCqD,UAFjC,EAGQiT,MAHR,EAIS5e,gBAJT,EAI2C;AAAA;;AAHnC,eAAAsI,SAAA,GAAAA,SAAA;AACyB,eAAAqD,UAAA,GAAAA,UAAA;AACzB,eAAAiT,MAAA,GAAAA,MAAA;AACC,eAAA5e,gBAAA,GAAAA,gBAAA;AATT,eAAA6e,SAAA,GAA6B,cAA7B;AAEA,eAAAC,OAAA,GAAU,EAAV;AASC,eAAKC,IAAL,GAAa,KAAK/e,gBAAL,CAAsBiK,YAAtB,CAAmEqB,IAAnE,CACZ,uDAAU;AACTpB,gBAAI,EAAE,KAAKlK,gBAAL,CAAsBgK;AADnB,WAAV,CADY,EAIZ,iDAAI,UAACE,IAAD;AAAA,mBAAWA,IAAI,CAACA,IAAL,IAAa,IAAb,GAAoB,KAApB,GAA4B,KAAvC;AAAA,WAAJ,CAJY,CAAb;AAMA;;;;iBAED,oBAAQ;;;AACP,iBAAK0U,MAAL,CAAYve,OAAZ,GAAsB,KAAtB;AACA,iBAAKye,OAAL,GAAe,CAAH,KAAG,KAAKnT,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEmT,OAAhC;AACA,iBAAKxZ,UAAL,GAAkB,CAAH,KAAG,KAAKqG,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAErG,UAAnC;AACA,iBAAKuZ,SAAL,GAAiB,CAAH,KAAG,KAAKlT,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEpH,KAAlC;AACA;;;iBAED,kBAAS;AACR,iBAAK+D,SAAL,CAAeS,KAAf;AACA;;;iBACD,qBAAYxE,KAAZ,EAAwB;;;AACvB,gBAAI,OAAAA,KAAK,CAACoN,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAED,GAAjB,KAAwB,QAA5B,EAAsC;AACrC,mBAAKpJ,SAAL,CAAeS,KAAf;AACA;;AAED,gBAAI,OAAAxE,KAAK,CAACoN,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAED,GAAjB,MAAyB,QAAzB,IAAqC,KAAKmN,SAAL,KAAmB,aAA5D,EAA2E;AAC1E,mBAAKG,iBAAL,CAAuBza,KAAK,CAACxD,IAA7B,EAAmC,KAAK8d,SAAxC;AACA;AACD;;;iBAED,sBAAata,KAAb,EAAyB;AACxB,gBAAI,KAAKsa,SAAL,KAAmB,cAAvB,EAAuC;AACtC,mBAAKG,iBAAL,CAAuBza,KAAK,CAACxD,IAA7B,EAAmC,KAAK8d,SAAxC;AACA;AACD;;;iBACD,gBAAOta,KAAP,EAAmB;AAClB,gBAAI,KAAKsa,SAAL,KAAmB,QAAvB,EAAiC;AAChC,mBAAKG,iBAAL,CAAuBza,KAAK,CAACe,UAA7B,EAAyC,KAAKuZ,SAA9C;AACA;AACD;;;iBAGO,2BAAkB9d,IAAlB,EAA6BwD,KAA7B,EAAqD;AAC5D,iBAAK+D,SAAL,CAAeS,KAAf,CAAqB;AACpBhI,kBAAI,EAAEA,IADc;AAEpBwD,mBAAK,EAAEA;AAFa,aAArB;AAIA;;;;;;;;;;;;;;;;;;;;;ACvEF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAae0a,gB;AAMT;;;;;;;;AAQA,kCACYC,gBADZ,EAEYC,WAFZ,EAGYC,cAHZ,EAG0C;AAAA;;AAF9B,eAAAF,gBAAA,GAAAA,gBAAA;AACA,eAAAC,WAAA,GAAAA,WAAA;AACA,eAAAC,cAAA,GAAAA,cAAA;AAhBZ,eAAApR,QAAA,GAAmB,EAAnB;AACA,eAAAqR,SAAA,GAAY,IAAZ;AACA,eAAAC,SAAA,GAAY,KAAZ;AACA,eAAAC,KAAA,GAAQ,IAAI,4CAAJ,EAAR;AAcI;;;;iBAEJ,oBAAW,CAAE;;;eAEb,aAAkDvR,QAAlD,EAAoE;AAChE,iBAAKA,QAAL,GAAgBA,QAAhB;AACH;;;eAED,aAAwCqR,SAAxC,EAA4D;AACxD,iBAAKA,SAAL,GAAiBA,SAAjB;AACH;;;eAED,aAAwBG,KAAxB,EAAyC;AACrC,gBAAMC,MAAM,GAAG,CAACD,KAAD,GAAS,EAAT,GAAeA,KAAK,CAAClV,MAAN,CAAa,UAAC3H,IAAD;AAAA,qBAAU,CAAC,CAACA,IAAZ;AAAA,aAAb,CAA9B;;AACA,gBAAM+c,YAAY,GAAG,KAAKN,cAAL,CAAoBO,YAApB,CACjBF,MADiB,EAEjB,KAAKzR,QAFY,EAGjB,KAAKqR,SAHY,CAArB;;AAKA,gBAAIK,YAAY,IAAI,CAACD,MAAM,CAACva,MAA5B,EAAoC;AAChC;AACA;AACA,kBAAI,CAAC,KAAKoa,SAAV,EAAqB;AACjB;AACA;AACA;AACA,qBAAKA,SAAL,GAAiB,IAAjB;AACA,qBAAKJ,gBAAL,CAAsBU,kBAAtB,CAAyC,KAAKT,WAA9C;AACH;AACJ,aAVD,MAUO;AACH;AACA;AACA;AACA,mBAAKG,SAAL,GAAiB,KAAjB;AACA,mBAAKJ,gBAAL,CAAsBjO,KAAtB;AACH;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECnEP,uY,GAAA,yJ,EAAA,8M,GACE;AAAA;AAAA,sBAGI,UAHJ;;AAAiD;;;;;AAAjD;AAAA,8N,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,6J,GAAA,yJ,GAAe,qF,IACf,8J,GAAA,0J,GAAe,uF,IAGjB;AAAA;AAAA,sBAGI,UAHJ;;AAAiD;;;;;AAAjD;AAAA,8N,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,8J,GAAA,0J,GAAe,qF,IACf,8J,GAAA,0J,GAAe,6F,IAGjB;AAAA;AAAA,sBAGI,UAHJ;;AAAiD;;;;;AAAjD;AAAA,8N,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,8J,GAAA,0J,GAAe,qF,IACf,8J,GAAA,0J,GAAe,iG,IAGjB;AAAA;AAAA,sBAGI,UAHJ;;AAAqD;;;;;AAArD;AAAA,8N,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,8J,GAAA,2J,GAAe,yF,IACf,8J,GAAA,2J,GAAe,gG,IAAsB,I,EAAA;AAjBvC;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAAA;;AAAA;AAGI,S;AAAA;;;;;;;;;;;;;;;;;;;;;ACnBN;;;;;;;;;;;;;;;;;ACAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAsBa4O,+B;;;;;AAaX,iDACU7f,gBADV,EAGS+L,MAHT,EAG0B;AAAA;;AAAA;;AAExB;AAJQ,kBAAA/L,gBAAA,GAAAA,gBAAA;AAED,kBAAA+L,MAAA,GAAAA,MAAA;AAXC,kBAAA+T,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AAEV,kBAAAC,QAAA,GAAgB,EAAhB;AAS0B;AAGzB;;;;iBAED,oBAAQ;AACN,iBAAKC,wBAAL;AACD;;;iBACO,oCAA2B;AAAA;;AAChC,iBAAKhgB,gBAAL,CAAsBiK,YAAtB,CACEqB,IADF,CAEG,uDAAU,KAAKC,QAAf,CAFH,EAGG,uDAAU;AAAErB,kBAAI,EAAE,KAAKlK,gBAAL,CAAsBgK;AAA9B,aAAV,CAHH,EAKElG,SALF,CAKY,UAAC/C,IAAD,EAAU;AACnB,qBAAI,CAAC2J,GAAL,GAAW,IAAX;AACAxG,wBAAU,CAAC,YAAM;AACf,uBAAI,CAACwG,GAAL,GAAW3J,IAAI,CAACmJ,IAAL,IAAa,IAAb,GAAoB,KAApB,GAA4B,KAAvC;AACD,eAFS,CAAV;AAGD,aAVF;AAWF;;;iBAED,sBAAa;AACX,iBAAK6B,MAAL,CAAY2C,IAAZ,CAAiB,yHAAjB,EAAiD;AAC/CC,mBAAK,EAAE,gBADwC;AAE/CmB,uBAAS,EAAE,KAAKpF,GAF+B;AAG/CuV,uBAAS,EAAE,MAHoC;AAI/CC,uBAAS,EAAE,KAJoC;AAK/CnQ,0BAAY,EAAE,KALiC;AAM/CnB,wBAAU,EAAE,CAAC,mBAAD,EAAsB,yBAAtB,CANmC;AAO/C7N,kBAAI,EAAE;AACJgV,uBAAO,EAAE,KAAKvS,aADV;AAEJ4F,wBAAQ,EAAE,KAAKA,QAFX;AAGJD,wBAAQ,EAAE,KAAKA,QAHX;AAIJpI,oBAAI,EAAE,KAAKA;AAJP;AAPyC,aAAjD;AAcD;;;;QApDO,mE;;;;;;;;;;;;;;;;;ACtBV;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UASaof,uB;;;;;AACX,yCACS7X,SADT,EAEkCvH,IAFlC,EAE2C;AAAA;;AAAA;;AAEzC;AAHO,kBAAAuH,SAAA,GAAAA,SAAA;AACyB,kBAAAvH,IAAA,GAAAA,IAAA;AAAS;AAG1C;;;;iBAED,gBAAO;AACL,iBAAKuH,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAAL,CAAUqf,OAA/B;AACD;;;iBACD,kBAAM;AACJ,iBAAK9X,SAAL,CAAeS,KAAf;AACD;;;;QAb0C,6D;;;;;;;;;;;;;;;;;ACT7C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMhB,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,oBAD8C;AAEpDW,gBAAQ,EAAE,oBAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASoY,iCAAT,CAA2ClY,QAA3C,EAA+D;AACrE,wFAA8BJ,iBAA9B,EAAiD,uFAAjD,EAA4EI,QAA5E;AACA;;;;;;;;;;;;;;;;;ACXD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAQA;;;;;UAWamY,2B;;;;;AA2CX,6CAAmBnY,QAAnB,EACUoY,eADV,EAEUC,oBAFV,EAGShY,QAHT,EAG6B;AAAA;;AAAA;;AAC3B,uCAAML,QAAN;AAJiB,kBAAAA,QAAA,GAAAA,QAAA;AACT,kBAAAoY,eAAA,GAAAA,eAAA;AACA,kBAAAC,oBAAA,GAAAA,oBAAA;AACD,kBAAAhY,QAAA,GAAAA,QAAA;AA7CA,kBAAAiY,UAAA,GAAa,IAAb;AAMT,kBAAAC,WAAA,GAAc,EAAd;AASA,kBAAAC,QAAA,GAAW,IAAX;AASA,kBAAAC,IAAA,GAAO,IAAP;AASA,kBAAAC,MAAA,GAAS,qBAAT;;AAgDA,kBAAAC,WAAA,GAAc,UAACxc,IAAD,EAAOyc,SAAP,EAAkBpT,KAAlB,EAA4B;AACxC,gBAAI,CAAC,QAAKqT,OAAV,EAAmB;AACjB,qBAAO,IAAP;AACD;;AACD,gBAAMC,KAAK,GAAG,IAAIpY,IAAJ,EAAd;AACA,gBAAMqY,QAAQ,GAAG,IAAIrY,IAAJ,CAASvE,IAAI,CAAC6c,QAAd,CAAjB;AACA,gBAAMC,OAAO,GAAGF,QAAQ,CAACG,OAAT,OAAuBJ,KAAK,CAACI,OAAN,EAAvB,IACdH,QAAQ,CAACI,QAAT,OAAwBL,KAAK,CAACK,QAAN,EADV,IAEdJ,QAAQ,CAACK,WAAT,OAA2BN,KAAK,CAACM,WAAN,EAF7B;AAGA,gBAAMC,QAAQ,GAAG7T,KAAK,CAACoT,SAAS,GAAG,CAAb,CAAtB;AACA,gBAAIU,WAAW,GAAG,CAAlB;;AACA,gBAAID,QAAJ,EAAc;AACZ,kBAAME,YAAY,GAAG,IAAI7Y,IAAJ,CAAS2Y,QAAQ,CAACL,QAAlB,CAArB;AACAM,yBAAW,GAAGC,YAAY,CAACL,OAAb,OAA2BJ,KAAK,CAACI,OAAN,EAA3B,IACZK,YAAY,CAACJ,QAAb,OAA4BL,KAAK,CAACK,QAAN,EADhB,IAEZI,YAAY,CAACH,WAAb,OAA+BN,KAAK,CAACM,WAAN,EAFnB,GAEyC,CAFzC,GAE6C,CAF3D;AAGD;;AACD,gBAAI,CAACH,OAAD,KAAaK,WAAW,KAAK,CAAhB,IAAqBA,WAAW,KAAK,CAAlD,CAAJ,EAA0D;AACxD,qBAAO,uBAAP;AACD;;AACD,gBAAIL,OAAO,KAAKK,WAAW,KAAK,CAAhB,IAAqBA,WAAW,KAAK,CAA1C,CAAX,EAAyD;AACvD,qBAAO,mBAAP;AACD;;AACD,mBAAO,IAAP;AACD,WAxBD;;AA0BA,kBAAAE,aAAA,GAAgB,YAAM;AACpB,mBAAO,QAAKC,UAAZ;AACD,WAFD;;AA9D6B;AAE5B;;;;eA7CD,eAAoB;AAClB,mBAAO,KAAKpB,oBAAL,CAA0BqB,aAAjC;AACD;;;eAGD,eAAc;AACZ,mBAAO,KAAKnB,WAAZ;AACD,W;eAED,aAAejf,KAAf,EAA8B;AAC5B,iBAAKif,WAAL,GAAmBjf,KAAnB;AACD;;;eAGD,eAAW;AACT,mBAAO,KAAKkf,QAAZ;AACD,W;eAED,aAAYlf,KAAZ,EAA4B;AAC1B,iBAAKkf,QAAL,GAAgBlf,KAAhB;AACD;;;eAGD,eAAO;AACL,mBAAO,KAAKmf,IAAZ;AACD,W;eAED,aAAQnf,KAAR,EAAwB;AACtB,iBAAKmf,IAAL,GAAYnf,KAAZ;AACD;;;eAGD,eAAS;AACP,mBAAO,KAAKof,MAAZ;AACD,W;eAED,aAAUpf,KAAV,EAAyB;AACvB,iBAAKof,MAAL,GAAcpf,KAAd;AACD;;;iBASD,oBAAW;AACT,gBAAI,CAAC,KAAK+e,oBAAL,CAA0BqB,aAA1B,CAAwC3c,MAA7C,EAAqD;AACnD,mBAAKsb,oBAAL,CAA0BsB,kBAA1B;AACD;AACF;;;iBAED,yBAAgB;AACd,iBAAKtB,oBAAL,CAA0BuB,aAA1B;AACD;;;iBAED,8BAAqBhhB,IAArB,EAA2B;AACzB,gBAAIA,IAAI,CAACihB,YAAT,EAAuB;AACrB,sBAAQjhB,IAAI,CAACqQ,MAAb;AACE,qBAAK,QAAL;AACE,uBAAKoP,oBAAL,CAA0ByB,kBAA1B,CAA6ClhB,IAAI,CAACihB,YAAlD;AACA;;AACF,qBAAK,QAAL;AACE,uBAAKxB,oBAAL,CAA0B0B,YAA1B,CAAuCnhB,IAAI,CAACihB,YAA5C;AACA;AANJ;AAQD;AACF;;;iBAED,iBAAQrd,KAAR,EAAeL,IAAf,EAAqB;AACnB,mBAAOA,IAAI,CAAC8D,EAAZ;AACD;;;iBAED,oBAAW9D,IAAX,EAAiB;AACf;AACA,iBAAKkc,oBAAL,CAA0B0B,YAA1B,CAAuC5d,IAAvC,EAA6C,IAA7C;AACD;AAgCD;;;;iBACA,mBAAUC,KAAV,EAAiB;AAAA;;AACf,iBAAKV,GAAL,GAAW,KAAK2c,oBAAL,CAA0BsB,kBAA1B,GAA+Che,SAA/C,CAAyD,UAAC/C,IAAD,EAAU;AAC5EwD,mBAAK,CAACS,MAAN,CAAamd,QAAb;;AACA,kBAAIphB,IAAI,CAAC4M,KAAL,CAAWzI,MAAX,KAAsB,CAAtB,IAA2BnE,IAAI,CAAC4M,KAAL,CAAWzI,MAAX,GAAoB,OAAI,CAACsb,oBAAL,CAA0B4B,QAA7E,EAAuF;AACrF7d,qBAAK,CAACS,MAAN,CAAamE,QAAb,GAAwB,IAAxB;AACD;AACF,aALU,CAAX;AAMD;;;iBAED,iBAAQ,CACN;AACD;;;;QA5H8C,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECd/C;AAAA;;AAAA;;;;;;SAAA,E,IAAA,E,IAAA,C;;;4SAOE,gI,GAAA;AAAA;AAAA;AAAA,gB,EAEE;AAAA;AAAA;AAAA,U,GAA0E;AAT9E;;AAIE;AACA;;AALF,wBAIE,SAJF,EAKE,SALF;;AASI;;AADA;;AADF,wBAEE,SAFF,EACE,SADF;AAC+B,S,EAAA;AAAA;AAL/B,wFAA6C,QAA7C,CAA6C,SAA7C,CAA6C,EAA7C;;AAHF,wBAGE,SAHF;AAG+C,S;AAAA;;;uEAU/C,+N,GAAA,qN,EAAA,uN,EAAA,8V,EAAA;AAAA;AAAA,U,EAAA,+M,EAAA;AAAA;AAAA;AAAA,gB,EAAA,6N,GAME,oK,IACE;AAAA;;AAAA;;;;;;SAAA,E,sGAAA,E,0GAAA,C,42BAKE,4hB,GAAA,4a,GAAsC,6E,IAIxC,iI,GAAA;AAAA;AAAA;AAAA,gB,EAEE;AAAA;AAAA;AAAA;AAAA,U,GAQJ,mK,IACE,iI,GAAA,gT,EAAA,yN,GAA+C;AAAA;;AA3BnD;;AAEE;AACA;;AAHF,wBAEE,SAFF,EAGE,SAHF;;AAYM;;AAMA,iGAIE,QAJF,CAIE,SAJF;;AADA;;AADF,yBAEE,UAFF,EACE,UADF;AAC+B,S,EAAA;AAAA;;AAbjC,uDAAmD,QAAnD,CAAmD,SAAnD;;AAJF,wBAIE,SAJF;;AAM6B,wFAA6C,QAA7C,CAA6C,SAA7C,CAA6C,EAA7C;;AAA3B,wBAA2B,SAA3B;;AAII,wCAAyD,QAAzD,CAAyD,SAAzD,CAAyD,oBAAzD;AAHF;AAAA;;AAAA;;AAAA,wBAGE,SAHF;;AAKE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAsC;;AAAA;;AAcrC,yDAAsD,QAAtD,CAAsD,SAAtD;;AAAL,yBAAK,UAAL;AAA2D,S;AAAA;;;uEAiB3D,+X,GAAA;AAAA;AAAA,gB,GAG0B;AADxB,yEAA8B,OAA9B,CAA8B,OAA9B,CAA8B,SAA9B,CAA8B,YAA9B;;AAFF,wBAEE,SAFF;AAEgC,S,EAAA,I;AAAA;;;uEAZlC;AAAA;AAAA,sBAcM,UAdN;;AACE;;;;;AADF;AAAA,sB,IAME,oK,IAAkD,mF,IAIlD,yH,GAAA;AAAA;AAAA,gB,GAG0B;AAFxB,qHAAkC,QAAlC,CAAkC,SAAlC,CAAkC,YAAlC,CAAkC,MAAlC;;AADF,wBACE,SADF;AACoC,S,EAAA;AAAA;AARpC,4BAAe,QAAf;;AAHF,wBAGE,SAHF;;AAMQ,4BAAwB,QAAxB,CAAwB,IAAxB;;AAAN,wBAAM,SAAN;;AAAkD;AAAA;;AAAA;AAE0B,S;AAAA;;;uEA5DhF,oY,GAAA,iM,EAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GAME,kH,GAAA,qN,EAAA,mN,GAaA,kH,GAAA;AAAA;AAAA,gB,EAAA,mN,GAgCF,+H,IAgBc;AAAA;AAlEZ,6BAAyB,WAAzB;AACA,6BAA2B,YAA3B;AACA,6BAAmB,QAAnB;;AAHF,wBACE,SADF,EAEE,SAFF,EAGE,SAHF;;AAoBI,6BAA0C,SAA1C;;AADF,wBACE,SADF;AAC4C,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECb9B,yH,IAA+E,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE/E,S;AAAA;;;uEACsC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtC,S;AAAA;;;uEAMA,yH,IAA0E,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE1E,S;AAAA;;;uEACiC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEjC,S;AAAA;;;sPAvBhB,sJ,IACI,4J,IACI,+I,IACI,uI,IAAgB,6E,GAAA,sQ,GAEpB,uH,IACI,uI,IACI,yH,GAAA;AAAA;AAAA;AAAA,gB,GAGA,8I,IAIJ,wI,IAAgB,8E,GAAA,yD,GAEpB,wH,IACI,wI,IACI,yH,GAAA;AAAA;AAAA;AAAA,gB,GAGA,yI,IAIJ,wH,IAAI,8E,IAER,wH,IACI,wI,IAAgB,8E,GAAA,sQ,GAChB,wH,IAAI,8E,GAAA,yD,GAER,wH,IACI,wI,IAAgB,8E,GAAA,sQ,GAChB,iJ,IACI,0H,IAAM,4F,GAAA,yD,EAAA,sQ,GAGN;AAAA;AA9Bc;;AAAA;;AAAd,yBAAc,SAAd,EAAc,SAAd;;AAWc;;AAAA;;AAAd,yBAAc,SAAd,EAAc,SAAd;AAAyE,S,EAAA;AAAA;;AAf7D;;AAAA;;AAWA;;AAAA;;AAWZ;;AAAA;;AAGY;;AAAA;;AACZ;;AAAA;;AAGY;;AAAA;;AAEN;;AAAA;;AAAA;;AAAA;AAGN,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC/BJ,yH,IACI,kU,GAAA;AAAA;AAAA,gB,EACI,sQ,EAAA,sQ,GAAA;AAAA;;AAAA,6VAAoH,KAApH,CAAoH,SAApH,CAAoH,GAApH;;AADJ,wBACI,SADJ;AACwH,S,EAAA,I;AAAA;;;uEAIxH,kU,GAAA;AAAA;AAAA,gB,EAAa,sQ,GAAA;AAAA;;AAAA,gLAA0D,KAA1D,CAA0D,SAA1D,CAA0D,GAA1D;;AAAb,wBAAa,SAAb;AAAuE,S,EAAA,I;AAAA;;;uEAmB/D,yH,IACI,sX,GAAA,+L,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA;AAAA,gB,GAGA,uH,IAAM;AAAA;AAHwC,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA9C,wBAA8C,SAA9C;;AAA8C,6BAAgB,KAAhB,CAAgB,GAAhB;AAAtB,4BAAqB,QAArB,CAAqB,SAArB;AACpB,iHAA0F,gBAA1F,CAA0F,SAA1F;;AADJ,wBAA8C,SAA9C,EAAwB,SAAxB,EACI,SADJ;AAC8F,S,EAAA;AAD9F;;AAAA;AAEyB,S;AAAA;;;uEALrC,yH,IACI,wH,IACI,oH,GAAA;AAAA;AAAA,gB,GAOJ,uH,IAAM;AAPY,4BAAyC,OAAzC,CAAyC,OAAzC,CAAyC,SAAzC,CAAyC,SAAzC;;AAAd,wBAAc,SAAd;AAAuD,S,EAAA,I;AAAA;;;uEAU/D,yH,IACI,yI,IACI,uH,IAAI,6E,GAAA,sQ,GACJ;AAAA;AAAA,sBAMS,UANT;;AAGI;;;;;AAHJ;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EACI;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAOR,uH,IAAM;AAAA;AARa,4BAAgB,OAAhB,CAAgB,OAAhB,CAAgB,SAAhB,CAAgB,EAAhB;AAEX,6BAA6C,KAA7C,CAA6C,SAA7C,CAA6C,kBAA7C;;AADA,wDAAiE,OAAjE,CAAiE,OAAjE,CAAiE,SAAjE,CAAiE,mBAAjE;;AAGA,4GAA4F,gBAA5F,CAA4F,SAA5F;AACA,4GAA4F,gBAA5F,CAA4F,SAA5F;AAH8C;;AAFlD,wBAAe,SAAf,EAEI,SAFJ,EACI,SADJ,EAII,SAJJ,EAKI,SALJ,EAEkD,SAFlD;AAEsE,S,EAAA;AAHlE;;AAAA;AAA0C,S;AAAA;;;uEAoB1C,iL,GAAA,uN,EAAA,6J,GAC0F,+E,GAAA,sQ,GAE1F,I,EAAA;AAHA;;AAAA;;AAC0F;;AAAA;AAE1F,S;AAAA;;;uEAXR,8I,IACI,mK,GAA+B,sQ,GAC/B,6K,GAAA,+L,EAAA;AAAA;AAAA,gB,GACI,4I,IACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAAqC;;;;;AAArC;AAAA,sB,GAAA,0V,EAAA;AAAA;AAAA,kF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,EAEI,sQ,GAER,oH,GAAA;AAAA;AAAA,gB,GAGY;AAAA;AAT0B,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA1C,wBAA0C,SAA1C;;AAGY,+DAAwD,KAAxD,CAAwD,SAAxD;AADiC,6BAA0B,OAA1B,CAA0B,OAA1B,CAA0B,SAA1B,CAA0B,KAA1B;;AAArC,yBACI,UADJ,EAAqC,UAArC;;AAKA,kHAAqF,OAArF,CAAqF,OAArF,CAAqF,SAArF,CAAqF,KAArF;;AADJ,yBACI,UADJ;AACyF,S,EAAA;AAR9D;;AAA/B,wBAA+B,SAA/B;;AACA;;AAAA;;AAIY;;AAFJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAEI,SAFJ;AAEkE,S;AAAA;;;uEAoBtE,iL,GAAA,uN,EAAA,6J,GACoG,+E,GAAA,sQ,GAEpG,I,EAAA;AAHA;;AAAA;;AACoG;;AAAA;AAEpG,S;AAAA;;;uEAdR,8J,IACI,kK,GACI,sQ,GAEJ,0K,IACI,4I,IACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAAqC;;;;;AAArC;AAAA,sB,GAAA,0V,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA,kF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,EAGI,sQ,GAER,qH,GAAA;AAAA;AAAA,gB,GAGY;AAAA;AAPJ,sEAA2D,gBAA3D,CAA2D,WAA3D;;AADJ,wBACI,UADJ;;AAEI,yEAAkE,KAAlE,CAAkE,SAAlE;AAFiC,6BAAoC,OAApC,CAAoC,OAApC,CAAoC,SAApC,CAAoC,eAApC;;AAArC,yBAEI,UAFJ,EAAqC,UAArC;;AAMA,kHAA+F,OAA/F,CAA+F,OAA/F,CAA+F,SAA/F,CAA+F,eAA/F;;AADJ,yBACI,UADJ;AACmG,S,EAAA;AAVnG;;AADJ,wBACI,SADJ;;AAQY;;AAHJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAGI,SAHJ;AAG8F,S;AAAA;;;uEAW9G,0H,IACI,0I,IACI,4I,IAAqB,6E,GAAA,sQ,GACrB,oJ,IACI,6I,IACI;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACI;;;;;AADJ;AAAA,sB,GAAA,0V,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GAIA,wI,IAAgB,8E,GAAA,sQ,GAEpB,8I,IACI;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACI;;;;;AADJ;AAAA,sB,GAAA,2V,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GAGA,wI,IAAgB,8E,GAAA,sQ,GAI5B,wH,IAAM;AAAA;;AAZU;;AAF8B,6BAAqC,gBAArC,CAAqC,WAArC;;AAAlC,wBAEI,SAFJ,EAAkC,SAAlC;;AAEI;;AACA,kEAA2D,KAA3D,CAA2D,SAA3D;AAFA,kDAA2C,OAA3C,CAA2C,OAA3C,CAA2C,KAA3C;;AADJ,yBAEI,UAFJ,EAGI,UAHJ,EACI,UADJ;;AAQgD;;AADd,8BAAmC,gBAAnC,CAAmC,SAAnC;;AAAlC,yBACgD,UADhD,EAAkC,UAAlC;;AACgD;;AAC5C,kEAA2D,KAA3D,CAA2D,SAA3D;AADA,kDAA2C,OAA3C,CAA2C,OAA3C,CAA2C,KAA3C;;AADJ,yBACgD,UADhD,EAEI,UAFJ,EACI,UADJ;AAC+C,S,EAAA;AAXlC;;AAAA;;AAGb;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIgB;;AAAA;;AAGhB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGgB;;AAAA;AAAkC,S;AAAA;;;uEAOlE,qJ,IAEI;AAAA;AAAA,sBAGS,UAHT;;AAA0C;;;;;AAA1C;AAAA,sB,IAC4H,+E,GAAA,sQ,GAE5H,I,EAAA;AAAA;AAFI,kKAAuH,OAAvH,CAAuH,OAAvH,CAAuH,SAAvH,CAAuH,KAAvH;;AADJ,wBACI,SADJ;;AAC4H;;AAAA;AAE5H,S;AAAA;;;uEAtGR,uf,GAAA,6tB,EAAA;AAAA;AAAA,U,EAAA,wJ,GACI;AAAA;;AAAA;;;;;;;;;;;SAAA,E,wHAAA,E,4HAAA,C,soBACI,8K,GAAA,0K,GACI,oJ,IACI,wH,IAAK,+E,IAAyB,gJ,IAA+B,+E,GAAA,sQ,GAE7D,iW,GAAA;AAAA;AAAA,gB,GAKZ,oH,IAAG,8E,GAAA,sQ,GACH,qH,IAEA,iH,GAAA;AAAA;AAAA,gB,GAYA,iH,GAAA;AAAA;AAAA,gB,GAaA,sH,IACI,oH,GAAA;AAAA;AAAA,gB,GAcA,wH,IACA,oH,GAAA;AAAA;AAAA,gB,GAkBJ,qH,IAEA,kH,GAAA;AAAA;AAAA,gB,GAsBA,kH,GAAA;AAAA;AAAA,gB,GAQA,qH,IAAM,4E,IAAA;AAAA;AAnG2C,6BAA0B,QAA1B,CAA0B,SAA1B,CAA0B,QAA1B;;AAArC,yBAAqC,UAArC;;AAQE,kEAAsD,KAAtD,CAAsD,SAAtD;;AAAd,yBAAc,UAAd;;AAYc,0FAAiE,MAAjE;;AAAd,yBAAc,UAAd;;AAc0B,8DAAkD,KAAlD,CAAkD,SAAlD;;AAAtB,yBAAsB,UAAtB;;AAesC,+BAAyC,KAAzC,CAAyC,OAAzC,CAAyC,mBAAzC;;AAAtC,yBAAsC,UAAtC;;AAoBU,+BAAkC,KAAlC,CAAkC,OAAlC,CAAkC,YAAlC;;AAAd,yBAAc,UAAd;;AAuBI,uMAAkL,gBAAlL,CAAkL,SAAlL;;AADJ,yBACI,UADJ;AACsL,S,EAAA;AAlG1L;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAGiB;;AAAA;;AAAwD;;AAAA;;AAOtE;;AAAA;AAAoD,S;AAAA;;;uEAwGvD,yH,IACI;AAAA;AAAA,sBAES,UAFT;;AAA0C;;;;;AAA1C;AAAA,sB,IAAwE,+E,GAAA,sQ,GAGxE;AAAA;AAAA,sBAES,UAFT;;AAA4C;;;;;AAA5C;AAAA,sB,IAAsE,+E,GAAA,sQ,GAEtE,I,EAAA;AALwE;;AAAA;;AAGF;;AAAA;AAEtE,S;AAAA;;;;;aAxIpB,+K,GAAA,+L,EAAA;AAAA;AAAA,gB,GACI,8U,GAAA,4M,GACA,uH,IACA,uH,IACA,+I,IACI,6J,IACI,oH,GAAA;AAAA;AAAA;AAAA,gB,GAKA,yH,IAIA,oH,GAAA;AAAA;AAAA,gB,GA4GA,wH,IACA,wH,IACA,6I,IACI;AAAA;AAAA,sBAES,UAFT;;AAA4C;;;;;AAA5C;AAAA,sB,IAA8D,gF,GAAA,sQ,GAI9D,qH,GAAA;AAAA;AAAA,gB,GAYZ,wH,IACA,wH,IAAM;AAAA;AA/I4B,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAtC,wBAAsC,SAAtC;;AAM0B;;AAAA;;AAAd,yBAAc,SAAd,EAAc,SAAd;;AASqB,6BAA0E,KAA1E,CAA0E,SAA1E,CAA0E,OAA1E;;AAArB,yBAAqB,SAArB;;AAmHkB,oDAAsD,KAAtD,CAAsD,OAAtD,CAAsD,cAAtD;;AAAd,yBAAc,SAAd;AAAoE,S,EAAA;AAAA;;AAlIpF;;AAAA;;AA6HiB;;AAAL,yBAAK,SAAL;;AACkE;;AAAA;AAE9D,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HhB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;UAWakZ,wB;;;;;AAOX,0CAAoBpX,iBAApB,EAA0D;AAAA;;AAAA;;AAAE;AAAxC,kBAAAA,iBAAA,GAAAA,iBAAA;AANpB,kBAAAgQ,QAAA,GAAW,QAAKhQ,iBAAL,CAAuBgQ,QAAlC;AACA,kBAAAqH,SAAA,GAAY,QAAKrX,iBAAL,CAAuBiQ,eAAnC;AAEA,kBAAAqH,iBAAA,GAAoB,QAAKtX,iBAAL,CAAuBiJ,KAAvB,CAA6BuH,kBAAjD;AACA,kBAAA+G,gBAAA,GAAmB,KAAnB;AAE0D;AAAY;;;;iBAEtE,oBAAQ;AAAA;;AACN,iBAAKA,gBAAL,GAAwB,IAAxB;AACA,iBAAKvX,iBAAL,CAAuBC,UAAvB,CACGI,IADH,CAEI,uDAAU,KAAKC,QAAf,CAFJ,EAGI,oDAAO,UAAAxK,IAAI;AAAA,qBAAIA,IAAI,CAAC0hB,aAAL,IAAsB,OAA1B;AAAA,aAAX,CAHJ,EAII,uDAAU,UAAA1hB,IAAI;AAAA,qBAAI,OAAI,CAACkK,iBAAL,CAAuByX,WAAvB,CAAmC3hB,IAAI,CAAC4hB,YAAxC,EACfrX,IADe,CACV,sDAAS,YAAM;AACnB,uBAAI,CAACkX,gBAAL,GAAwB,KAAxB;AACD,eAFK,CADU,CAAJ;AAAA,aAAd,CAJJ,EAQI1e,SARJ,CAQc,UAAA/C,IAAI,EAAI;;;AAClB,oBAAAA,IAAI,CAAC8c,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEnc,OAAF,CAAU,UAAA4C,IAAI,EAAI;AACpC,oBAAMse,UAAU,GAAGjf,IAAI,CAACC,SAAL,CAAeU,IAAf,CAAnB;AACAA,oBAAI,CAAC8D,EAAL,GAAU,yDAAOwa,UAAP,EAAmBC,QAAnB,EAAV;AACD,eAHmB,CAApB;;AAIA,qBAAI,CAAC5X,iBAAL,CAAuBiQ,eAAvB,CAAuCjN,IAAvC,CAA4ClN,IAA5C;AACD,aAdH;AAeA,iBAAK+hB,WAAL;AACD;;;iBAEO,uBAAc;AACpB,iBAAKC,QAAL,GAAgB,2DAAc,CAAC,KAAKT,SAAN,EAAiB,KAAKrX,iBAAL,CAAuBgQ,QAAxC,CAAd,EACb3P,IADa,CAEZ,iDAAI,iBAAyB;AAAA;AAAA,kBAAvB0N,QAAuB;AAAA,kBAAbgF,OAAa;;AAC3B,kBAAIA,OAAO,CAACgF,cAAZ,EAA4B;AAC1B,oBAAMC,cAAc,GAAGjK,QAAQ,CAACkK,aAAT,GAAyBlK,QAAQ,CAACkK,aAAT,CAAuB/d,IAAvB,CAA4B,UAAAC,CAAC;AAAA,yBAAI,CAACA,CAAC,CAACqT,KAAP;AAAA,iBAA7B,CAAzB,GAAsE;AAAE0K,yBAAO,EAAE;AAAX,iBAA7F;AACA,uBAAOjS,KAAK,CAACkS,IAAN,CAAW;AAAEle,wBAAM,EAAE8Y,OAAO,CAACgF;AAAlB,iBAAX,EAA+C,UAACxX,CAAD,EAAIsJ,CAAJ,EAAU;AAC9D,sBAAMoO,aAAa,GAAGD,cAAc,SAAd,IAAAA,cAAc,WAAd,GAAAA,cAAA,GAAkBjK,QAAQ,CAACkK,aAAT,CAAuB/d,IAAvB,CAA4B,UAAAC,CAAC;AAAA,2BAAIA,CAAC,CAACqT,KAAF,IAAW3D,CAAC,GAAG,CAAnB;AAAA,mBAA7B,CAAxC;AACA,yBAAO;AACLrT,yBAAK,YAAKqT,CAAC,GAAG,CAAT,CADA;AAELwH,6BAAS,EAAE4G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE5G,SAFrB;AAGLC,6BAAS,EAAE2G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE3G,SAHrB;AAILa,8BAAU,EAAE,CAAC,EAAC8F,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE5G,SAAhB,CAAD,IAA8B,CAAC,EAAC4G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE3G,SAAhB;AAJtC,mBAAP;AAMD,iBARM,CAAP;AASD;AACF,aAbD,CAFY,CAAhB;AAgBD;;;;QA9C2C,6D;;;;;;;;;;;;;;;;;ACX9C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMxU,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,YAD6C;AAEnDW,gBAAQ,EAAE,YAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAeO,eAASob,0BAAT,CAAoClb,QAApC,EAAwD;AAC7D,wFAA8BJ,iBAA9B,EAAiD,uFAAjD,EAA4EI,QAA5E;AACD;;;;;;;;;;;;;;;;;ACpBD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;UAMamb,kB;AACZ,oCAAoBC,SAApB,EAA6C;AAAA;;AAAzB,eAAAA,SAAA,GAAAA,SAAA;AAA2B;;;;iBAC/C,mBACCC,QADD,EAECziB,IAFD,EAGC6D,eAHD,EAGiC;AAEhC,gBAAI;AACH,kBAAM6e,IAAI,GAAG,+CAAMje,WAAN,CAAkBge,QAAlB,EAA4B;AACxCziB,oBAAI,EAAEA,IADkC;AAExC2iB,wBAAQ,EAAE9e,eAAe,CAAC+e,OAAhB,CAAwBD,QAFM;AAGxCE,yBAAS,EAAEhf,eAAe,CAACif,CAHa;AAIxCC,wBAAQ,EAAElf,eAJ8B;AAKxCmf,qBAAK,EAAE;AALiC,eAA5B,CAAb;AAQA,qBAAO,KAAKR,SAAL,CAAeS,uBAAf,CAAuCP,IAAvC,CAAP;AACA,aAVD,CAUE,OAAOrf,KAAP,EAAc;AACf,qBAAO,IAAP;AACA;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UASa6f,c;AAEX,gCAAoBlJ,IAApB,EACUmJ,aADV,EACwC;AAAA;;AADpB,eAAAnJ,IAAA,GAAAA,IAAA;AACV,eAAAmJ,aAAA,GAAAA,aAAA;AAAiC;;;;iBAE3C,sBAA2B;AAAA,gBAAhBC,WAAgB,uEAAF,EAAE;AACzB,gBAAMC,QAAQ,aAAM,yEAAYxJ,OAAlB,SAA4B,yEAAYgB,SAAZ,CAAsByI,OAAlD,CAAd;AACA,mBAAO,KAAKtJ,IAAL,CAAUlU,GAAV,CAAmBud,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,CACL,kEAAW,KAAKgZ,WAAL,CAAiB,YAAjB,EAA+B,EAA/B,CAAX,CADK,CAAP;AAGD,W,CAED;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;;;iBAEQ,uBAAiD;AAAA,gBAAlCC,SAAkC,uEAAtB,WAAsB;AAAA,gBAATzV,MAAS;AACvD,mBAAO,UAAC1K,KAAD,EAA+B;AAEpC;AACA+J,qBAAO,CAAC/J,KAAR,CAAcA,KAAd,EAHoC,CAGd;AAEtB;AACA;AAEA;;AACA0K,oBAAM,CAAC8I,MAAP,GAAgBxT,KAAK,CAACwT,MAAtB;;AACA,kBAAIxT,KAAK,CAACA,KAAN,CAAYogB,cAAZ,CAA2B,SAA3B,CAAJ,EAA2C;AACzC1V,sBAAM,CAAC3O,OAAP,GAAiBiE,KAAK,CAACA,KAAN,CAAYjE,OAA7B;AACA2O,sBAAM,CAACzH,IAAP,GAAcjD,KAAK,CAACA,KAAN,CAAYiD,IAA1B;AACD;;AAED,qBAAO,gDAAGyH,MAAH,CAAP;AACD,aAhBD;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEA,UAAM/G,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,cAD8C;AAEpDW,gBAAQ,EAAE,cAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASwc,4BAAT,CAAsCtc,QAAtC,EAA0D;AAChE,wFAA8BJ,iBAA9B,EAAiD,4EAAjD,EAAuEI,QAAvE;AACA;;;;;;;;;;;;;;;;;ACVD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMJ,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,sBAD6C;AAEnDW,gBAAQ,EAAE,sBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAeO,eAASyc,oCAAT,CAA8Cvc,QAA9C,EAAkE;AACvE,wFAA8BJ,iBAA9B,EAAiD,2GAAjD,EAAsFI,QAAtF;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECrBD,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAkB3C,4b,GAAA;AAAA;AAAA,gB,GAA+H;AAA1D,4BAAqB,OAArB,CAAqB,OAArB,CAAqB,IAArB;;AAArE,wBAAqE,SAArE;AAA0F,S,EAAA,I;AAAA;;;uEAhB5F,yH,IACE,uH,IAAI,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAOJ,sH,IAAG,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAQH,+H,GAAA;AAAA;AAAA,gB,GACA,wH,IACA,+b,GAAA;AAAA;AAAA,gB,GAA6F;AAF1D;;AAAnC,yBAAmC,SAAnC;;AAEmC,4BAAqB,QAArB,CAAqB,IAArB;;AAAnC,yBAAmC,SAAnC;AAAwD,S,EAAA;AAjBpD;;AAAA;;AAOD;;AAAA;AAMH,S;AAAA;;;sPAjBF,+H,GAAA;AAAA;AAAA,gB,GAGA,+H,GAAA;AAAA;AAAA,gB,EAAK,wL,GAAqC;AAAA;AAHf,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAGK,8JAAqC,UAArC;;AAAL,wBAAK,SAAL;AAA0C,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACD1C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAQawc,oB;AACT,sCAAoBnc,QAApB,EAA+Cob,SAA/C,EAA4E;AAAA;;AAAxD,eAAApb,QAAA,GAAAA,QAAA;AAA2B,eAAAob,SAAA,GAAAA,SAAA;AAC9C;;;;iBACD,eAAMtf,IAAN,EAAiB;AACb,gBAAMiB,KAAK,GAAGkC,MAAM,CAACmd,MAAP,CAAc,EAAd,EAAkB;AAC5BlB,sBAAQ,EAAE,KAAKE,SAAL,CAAe5Z,WADG;AAE5B,gDAAkC1F,IAAI,CAACugB,gBAFX;AAG5B,6CAA+BvgB,IAAI,CAACwgB,iBAHR;AAI5B,+BAAiBxgB,IAAI,CAACygB,QAJM;AAK5B,8BAAgBzgB,IAAI,CAAC0gB,QALO;AAM5B,mCAAqB1gB,IAAI,CAAC2gB,UANE;AAO5BpX,kBAAI,EAAEvJ,IAAI,CAACuJ,IAPiB;AAQ5ByQ,kBAAI,EAAEha,IAAI,CAACga,IARiB;AAS5BxX,kBAAI,EAAExC,IAAI,CAACwC;AATiB,aAAlB,CAAd;AAWAW,kBAAM,CAAC8G,IAAP,CAAYhJ,KAAZ,EAAmB7D,OAAnB,CAA2B,UAACgQ,GAAD;AAAA,qBAAS,CAACnM,KAAK,CAACmM,GAAD,CAAL,IAAc,IAAd,IAAsB,CAACnM,KAAK,CAACmM,GAAD,CAAL,CAAWxM,MAAZ,IAAsB,CAAC,sDAASK,KAAK,CAACmM,GAAD,CAAd,CAAvB,IAC3D,CAAC,uDAAUnM,KAAK,CAACmM,GAAD,CAAf,CADmC,KACT,OAAOnM,KAAK,CAACmM,GAAD,CADZ;AAAA,aAA3B;AAGA,mBAAQnM,KAAR;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBL;AAAA;;;AAAA;AAAA;AAAA;;AAAO,UAAM2f,MAAM,GAAG;AACrBC,sBAAc,EAAE,kBADK;AAErBC,wBAAgB,EAAE,oBAFG;AAGrBC,gBAAQ,EAAE,WAHW;AAIrBC,gBAAQ,EAAE,WAJW;AAKrBC,aAAK,EAAE,QALc;AAMrBC,gBAAQ,EAAE;AANW,OAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECXP,mJ,IACI,8I,IACI,2I,IACI,8I,IACI,8L,IACA,uH,IAAI,6E,GAAA,sQ,GACJ,sH,IAAG,6E,GAAA,sQ,GACH;AAAA;AAAA,sBAA4D,UAA5D;;AAAG;;;;;AAAH;AAAA,sB,IAAsB,8E,GAAA,sQ,GAAkC,I,EAAA;AAFpD;;AAAA;;AACD;;AAAA;;AACmB;;AAAA;AAAkC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACJxE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUaC,c;AAEZ,gCAAmBnd,SAAnB,EACiCvH,IADjC,EAES6d,MAFT,EAGS8G,UAHT,EAGiC;AAAA;;AAHd,eAAApd,SAAA,GAAAA,SAAA;AACc,eAAAvH,IAAA,GAAAA,IAAA;AACxB,eAAA6d,MAAA,GAAAA,MAAA;AACA,eAAA8G,UAAA,GAAAA,UAAA;AACR;;;;iBACD,oBAAQ;AACP,iBAAKC,OAAL;AACA;;;iBACD,uBAAW,CACV;;;iBAED,kBAAS;AACR,iBAAKrd,SAAL,CAAeS,KAAf;AACA;;;iBACO,mBAAU;AAAA;;AACjB,iBAAK6V,MAAL,CAAYve,OAAZ,GAAsB,IAAtB;AACA,iBAAKqlB,UAAL,CACEE,aADF,CACgB,KAAK7kB,IAAL,CAAUqjB,QAD1B,EAEE9Y,IAFF,CAGE,sDAAS;AAAA,qBAAM,OAAI,CAACsT,MAAL,CAAYve,OAAZ,GAAsB,KAA5B;AAAA,aAAT,CAHF,EAKEyD,SALF,CAKY,UAAC/C,IAAD,EAAU;AACpB,qBAAI,CAACA,IAAL,CAAUuE,UAAV,GAAuBvE,IAAvB;AACA,aAPF;AAQA;;;;;;;;;;;;;;;;;;;;;ACvCF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBa8kB,oB;;;;;AAYX,sCAAoBC,iBAApB,EAA0D;AAAA;;AAAA;;AACxD;AADkB,kBAAAA,iBAAA,GAAAA,iBAAA;AAXpB,kBAAAC,eAAA,GAA4B,IAA5B;AAKU,kBAAA1N,OAAA,GAAU,IAAI,0DAAJ,EAAV;AAMgD;AAEzD;;;;iBAND,mBAAUvD,CAAV,EAAqBkR,GAArB,EAAoC;;;AAClC,mBAAO,CAAP,KAAOA,GAAG,CAAC5d,EAAJ,MAAM,IAAN,IAAM,aAAN,GAAM,EAAN,GAAU0M,CAAjB;AACD;;;iBAMD,oBAAQ;AACN,iBAAKmR,YAAL;AACD;;;iBAEO,wBAAe;AAAA;;AACrB,iBAAKH,iBAAL,CACGI,qBADH,CACyB,KAAKC,SAAL,CAAezU,GADxC,EAEGpG,IAFH,CAEQ,uDAAU,KAAKC,QAAf,CAFR,EAGGzH,SAHH,CAGa,UAACqM,GAAD,EAAS;AAClB,qBAAI,CAACiW,QAAL,GAAgBjW,GAAhB;;AACA,qBAAI,CAACkI,OAAL,CAAazW,IAAb,CAAkB,OAAI,CAACykB,uBAAL,EAAlB;AACD,aANH;AAOD;;;iBAED,8BAAoB;AAAA;AAAA,gBAALje,EAAK;;AAClB,gBAAMzD,KAAK,GAAG,KAAKyhB,QAAL,CAAcxM,SAAd,CAAwB,UAAC0M,CAAD;AAAA,qBAAOA,CAAC,CAACle,EAAF,KAASA,EAAhB;AAAA,aAAxB,CAAd;AACA,iBAAKme,aAAL,GAAqB5hB,KAArB;AACA,iBAAKohB,eAAL,GAAuB,KAAKK,QAAL,CAAc,KAAKG,aAAnB,CAAvB;AACD;;;iBAED,uBAAchiB,KAAd,EAAgC;AAAA;;AAC9B,gBAAMxD,IAAI,GAAG,MAAH,OAAG,CAAH,kBACL,KAAKglB,eADA,CAAG,EACY;AACvB3H,0BAAY,EAAE7Z;AADS,aADZ,CAAb;AAKA,iBAAKuhB,iBAAL,CACGU,oBADH,CACwBzlB,IADxB,EAEGuK,IAFH,CAEQ,uDAAU,KAAKC,QAAf,CAFR,EAGGzH,SAHH,CAGa,UAACqM,GAAD,EAAS;AAClB,qBAAI,CAAC4V,eAAL,GAAuB5V,GAAvB;AACA,qBAAI,CAACiW,QAAL,CAAc,OAAI,CAACG,aAAnB,EAAkCnI,YAAlC,GAAiDjO,GAAG,CAACiO,YAArD;;AACA,qBAAI,CAAC/F,OAAL,CAAazW,IAAb,CAAkB,OAAI,CAACykB,uBAAL,EAAlB;AACD,aAPH;AAQD;;;iBAEO,mCAA0B;AAChC,mBAAO,KAAKD,QAAL,CAAchR,KAAd,CAAoB,UAACrU,IAAD,EAAU;AAAD;;AAAC,sBAAC,QAACA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEqd,YAAP,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAElZ,MAArB,CAAD;AAA4B,aAA1D,CAAP;AACD;;;;QAtDuC,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEClBtC,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAM3C,wH,IACE;AAAA;AAAA,sBAES,UAFT;;AAA0E;;;;;AAA1E;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EAAwB,wQ,GACtB,ugB,GAAA,2a,GAAU,0E,IAAG;AADS;;AAAxB,wBAAwB,SAAxB;;AACE;AAAwB,S,EAAA;AAD1B;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAO1B,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAiD,S;AAAA;;;uEAE3D,oL,GAAA,iR,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAiB,S;AAAA;;;uEAKxC,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAoD,S;AAAA;;;uEAE9D,oL,GAAA,iR,GACE,4I,IAAqB,6E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;AAAyC,S;AAAA;;;uEAKhE,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAE5D,oL,GAAA,iR,GACE,4I,IAAqB,6E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;AAAuC,S;AAAA;;;uEAK9D,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA0D,S;AAAA;;;uEAEpE,oL,GAAA,iR,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAA0B,S;AAAA;;;uEAKjD,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA8D,S;AAAA;;;uEAExE,oL,GAAA,iR,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAA8B,S;AAAA;;;uEAKrD,sM,GAAA,uR,GACK,I,EAAA,I;AAAA;;;uEAGD,yH,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EAA0C,wQ,GACxC,ugB,GAAA,2a,GAAU,2E,IAAI,4E,IAAA;AAD0B;;AAA1C,wBAA0C,SAA1C;;AACE;AAAyB,S,EAAA;AAD3B;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAyB,S;AAAA;;;uEAO3B,0H,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,GACE,ugB,GAAA,2a,GAAU,gF,IAEZ;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,GACE,0hB,GAAA;AAAA;AAAA,gB,GAAuB,qF,IAAc;AAHrC;;AAGU;;AAAV,wBAAU,UAAV;AAAsB,S,EAAA;AAJxB;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEF;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgD,S;AAAA;;;uEARpD;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,GACE,ugB,GAAA,2a,GAAU,iF,IAEZ,yH,GAAA;AAAA;AAAA,gB,GAOe,4E,IAAA;AAAA;;AATb;;AAEY,0HAAuF,mBAAvF;;AAAd,wBAAc,SAAd;AAAqG,S,EAAA;AAHrG;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA+B,S;AAAA;;;uEATvC,8M,GAAA,iR,GACE,+J,IACE,yH,GAAA;AAAA;AAAA;AAAA,gB,GAKA,kI,IAYc;AAjBA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAmD,S,EAAA,I;AAAA;;;uEAuBvD,gO,GAAA,uR,GAAsE,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtE,S;AAAA;;;uEAGF,yY,GAAA,+M,EAAA,4J,GAA4D,I,EAAA,I;AAAA;;;uEAC5D,+W,GAAA,mM,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,EAA5D,sJ,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,GAAA;AAAA,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;;AAA4D,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;AAAiG,S,EAAA,I;AAAA;;;uEAEjG,uZ,GAAA,+M,EAAA,4J,GAEW,I,EAAA;AAAA;AAFP,gEAA+B,WAA/B,CAA+B,MAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S;AAAA;;;uEAMvC,+J,IAEE;AAAA;AAAA,sBAGS,UAHT;;AAAqC;;;;;AAArC;AAAA,8N,GAAA;AAAA;AAAA;AAAA,gB,GACkC,4E,GAAA,wQ,GAElC;AAAA;AAFE,8BAA+B,WAA/B,CAA+B,MAA/B;AADmE;;AAArE,wBACE,SADF,EAAqE,SAArE;AAAoF,S,EAAA;AAApF;AAAA;;AAAA;;AAAA;;AACkC;;AAAA;AAElC,S;AAAA;;;uEA7GJ,gJ,IACE,iJ,IACE,wH,GAAA;AAAA;AAAA,gB,GAIA,wL,IACE,0K,GAAA,6J,GAAmD,8E,GAAA,wQ,GAEnD,wH,GAAA;AAAA;AAAA,gB,GAOF,6Y,GAAA,uM,EAAA,4O,EAAA,mR,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,wM,GACE,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,iH,GAAA,0N,EAAA,2N,GAGA,iH,GAAA,oN,EAAA,+M,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,iH,GAAA,0N,EAAA,4N,GAGA,iH,GAAA,oN,EAAA,gN,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,iH,GAAA,0N,EAAA,4N,GAGA,iH,GAAA,oN,EAAA,gN,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,kH,GAAA,0N,EAAA,4N,GAGA,kH,GAAA,oN,EAAA,gN,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,kH,GAAA,0N,EAAA,4N,GAGA,kH,GAAA,oN,EAAA,gN,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,kH,GAAA,0N,EAAA,4N,GAEA,kH,GAAA,oN,EAAA,gN,GAwBF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,kH,GAAA,2N,EAAA,4N,GAKF,kH,GAAA;AAAA;AAAA,gB,EAAA,yN,GACA,kH,GAAA;AAAA;AAAA,gB,EAAA,6M,GAEA,kH,GAAA;AAAA;AAAA,gB,EAAmD,0D,EAAnD,yN,GAMJ,yH,GAAA;AAAA;AAAA,gB,GAMM;AAAA;AA5GuB,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAOO,8FAAuF,mBAAvF;;AAAL,yBAAK,SAAL;;AAOe,6BAAyB,WAAzB;;AAAjB,yBAAiB,SAAjB;;AACgB;;AAAd,yBAAc,SAAd;;AASc;;AAAd,yBAAc,SAAd;;AASc;;AAAd,yBAAc,SAAd;;AASc;;AAAd,yBAAc,SAAd;;AASc;;AAAd,yBAAc,SAAd;;AASc;;AAAd,yBAAc,UAAd;;AA2Bc;;AAAd,0BAAc,UAAd;;AAMmB,8BAAmC,iBAAnC;;AAAnB,0BAAmB,UAAnB;;AACY,8BAA+C,iBAA/C;;AAAZ,0BAAY,UAAZ;;AAEmD;;AAAnD,0BAAmD,UAAnD;;AAOF,+FAAuF,mBAAvF;;AADF,0BACE,UADF;AACyF,S,EAAA;AAlGlC;;AAAA;;AASrD;;AAAA;AAqFQ,S;AAAA;;;;;aArGZ,wH,GAAA;AAAA;AAAA,gB,EAAuB,wL,GAAA;AAAA;;AAAA,8JAA+C,eAA/C;;AAAvB,wBAAuB,SAAvB;AAAsE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECUhE;AAAA;AAAA,sBAOmD,UAPnD;;AAIE;;;;;AAGA;;;;;AAPF;AAAA,sO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAOmD;AAAA;AANjD,6BAAuB,UAAvB;AACA,6BAAqB,SAArB;AAIA,6BAAqB,SAArB;AADA,6BAAqB,SAArB;AAFA,6BAAkD,kBAAlD,CAAkD,YAAlD;;AAHF,wBACE,SADF,EAEE,SAFF,EAME,SANF,EAKE,SALF,EAGE,SAHF;AAGoD,S,EAAA,I;AAAA;;;uEAb1D,uL,IAEE,yI,IACE,qI,GAAA;AAAA;AAAA;AAAA,gB,EAAc;AAAA;AAAA;AAAA,U,EAAd;AAAA;AAAA;AAAA,gB,EAAc;AAAA;AAAA;AAAA,U,GACZ;AAAA;AAAA,sBAGkD,UAHlD;;AAEE;;;;;AAFF;AAAA,wP,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAKF,wH,GAAA;AAAA;AAAA,gB,EAAK;AAAA;AAAA;AAAA,U,EAAL;AAAA;AAAA,gB,EAAK;AAAA;AAAA;AAAA,U,GACH,wH,GAAA;AAAA;AAAA,gB,GAOmD;AAAA;AAdhD;;AAAS,0DAA+D,SAA/D;;AAAd,wBAAK,SAAL,EAAc,SAAd;;AAAc,0DAA+D,SAA/D;;AAAT;;AAAL,wBAAc,SAAd,EAAK,SAAL;;AACuB,6BAAuB,UAAvB;AACnB,6BAAqB,SAArB;AAEA,6BAAyB,WAAzB;;AAHF,wBAAqB,SAArB,EACE,SADF,EAGE,SAHF;;AAKG,2DAA+D,SAA/D;;AAAL,yBAAK,SAAL;;AAAK,2DAA+D,SAA/D;;AAAL,yBAAK,SAAL;;AACoB,6BAAyB,kBAAzB;;AAAlB,yBAAkB,SAAlB;AAA2C,S,EAAA,I;AAAA;;;uEAa/C,mL,IACE,gJ,IACE,uH,IAAI,6E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;uEAzBhD,wH,GAAA;AAAA;AAAA;AAAA,gB,GAsBA,kI,IAMc;AAAA;AA3BZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AAC+C,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD/C;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;AACA;AACA;;;AAEO,UAAMuhB,WAAW,GAAG;AAC1BC,kBAAU,EAAE,KADc;AAE1BC,oBAAY,EAAE,IAFY;AAG1B/L,eAAO,EAAE,+BAHiB;AAI1BgM,WAAG,EAAE,2BAJqB;AAK1BC,iBAAS,EAAE;AACVzC,kBAAQ,EAAE,kCADA;AAEVhc,YAAE,EAAE,0BAFM;AAGV0e,6BAAmB,EAAE,wCAHX;AAIVC,wBAAc,EAAE,oCAJN;AAKVC,kBAAQ,EAAE,0BALA;AAMVC,wBAAc,EAAE;AANN,SALe;AAa1BC,gBAAQ,EAAE;AACT/I,aAAG,EAAE,6BADI;AAETgJ,eAAK,EAAE,MAFE;AAGTC,kBAAQ,EAAE,QAHD;AAITC,iCAAuB,EAAE;AAJhB,SAbgB;AAmB1BC,cAAM,EAAE;AACPC,gBAAM,EAAE,kCADD;AAEPC,gBAAM,EAAE;AAFD,SAnBkB;AAuB1B5L,iBAAS,EAAE;AACV6L,eAAK,EAAE,qCADG;AAEVC,wBAAc,EAAE,+CAFN;AAGVC,qBAAW,EAAE,8BAHH;AAIVC,oBAAU,EAAE,wCAJF;AAKVC,+BAAqB,EAAE,wDALb;AAMVC,sBAAY,EAAE,wDANJ;AAOVC,6BAAmB,EAAE,wCAPX;AAQVC,eAAK,EAAE,uCARG;AASVjD,kBAAQ,EAAE,yCATA;AAUVkD,wBAAc,EAAE,uCAVN;AAWVC,oBAAU,EAAE,uCAXF;AAYVlD,kBAAQ,EAAE,sCAZA;AAaVmD,qBAAW,EAAE,yCAbH;AAcVC,wBAAc,EAAE,4BAdN;AAeVC,iBAAO,EAAE,0BAfC;AAgBVhE,iBAAO,EAAE,cAhBC;AAiBViE,mBAAS,EAAE,8BAjBD;AAkBVzG,uBAAa,EAAE,oBAlBL;AAmBV0G,gBAAM,EAAE,mCAnBE;AAoBVC,qBAAW,EAAE,mBApBH;AAqBVC,0CAAgC,EAAE,oCArBxB;AAsBVC,yBAAe,EAAE,2CAtBP;AAuBVC,0BAAgB,EAAE,wBAvBR;AAwBVC,+BAAqB,EAAE,kDAxBb;AAyBVC,oCAA0B,EAAE,mDAzBlB;AA0BVnK,mBAAS,EAAE,kCA1BD;AA2BVN,sBAAY,EAAE,sCA3BJ;AA4BV0K,uBAAa,EAAE,wCA5BL;AA6BVC,6BAAmB,EAAE,2CA7BX;AA8BVC,6BAAmB,EAAE,6CA9BX;AA+BVC,8BAAoB,EAAE,kDA/BZ;AAgCVC,uBAAa,EAAE,uCAhCL;AAiCVrN,4BAAkB,EAAE;AACnBmC,mBAAO,EAAE,0BADU;AAEnBlC,sBAAU,EAAE,0BAFO;AAGnB/C,qBAAS,EAAE;AAHQ;AAjCV,SAvBe;AA8D1BxK,YAAI,EAAE;AACLwO,qBAAW,EAAE,eADR;AAELoM,uBAAa,EAAE;AAFV,SA9DoB;AAkE1B3J,aAAK,EAAE;AACN4J,qBAAW,EAAE,kBADP;AAENC,2BAAiB,EAAE,gCAFb;AAGNC,+BAAqB,EAAE,uCAHjB;AAINC,eAAK,EAAE;AAJD,SAlEmB;AAwE1BC,6BAAqB,EAAE;AACtBC,sBAAY,EAAE,KADQ;AAEtBC,qBAAW,EAAE,IAFS;AAGtBC,6BAAmB,EAAE,IAHC;AAItBC,qBAAW,EAAE;AAJS,SAxEG;AA8E1BC,yBAAiB,EAAE,EA9EO;AA+E1BC,0BAAkB,EAAE,IA/EM;AAgF1BC,6BAAqB,EAAE,IAhFG;AAiF1BC,8BAAsB,EAAE,KAjFE;AAkF1BC,iBAAS,EAAE,IAlFe;AAmF1BC,uBAAe,EAAE,IAnFS;AAoF1BC,2BAAmB,EAAE,KApFK;AAqF1BC,oBAAY,EAAC;AACZC,gBAAM,EAAE,KADI;AAEZC,oBAAU,EAAE,kBAFA;AAGZC,mBAAS,EAAE,eAHC;AAIZC,gBAAM,EAAE;AAJI;AArFa,OAApB;AA6FP;;;;;;;AAOA;;;;;;;;;;;;;;;;;ACxGA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAQaC,iB;AASZ,mCAAmBzqB,gBAAnB,EAAuD;AAAA;;AAAA;;AAApC,eAAAA,gBAAA,GAAAA,gBAAA;AALnB,eAAA0qB,aAAA,GAAwBD,iBAAiB,CAACE,cAA1C;AACA,eAAAC,aAAA,GAAwBH,iBAAiB,CAACI,mBAA1C;AAEQ,eAAAC,UAAA,GAAa,IAAI,4CAAJ,EAAb;AAGP,eAAKJ,aAAL,GAAqB1qB,gBAAgB,CAACgK,WAAtC;AACC,eAAKhK,gBAAL,CAAsBiK,YAAtB,CAAmEqB,IAAnE,CAAwE,uDAAU,KAAKwf,UAAf,CAAxE,EAAoGhnB,SAApG,CAA8G,UAACS,KAAD,EAAW;AACzH,mBAAI,CAACmmB,aAAL,GAAqBnmB,KAAK,CAAC2F,IAA3B;AACA,WAFA;AAGD;;;;iBAED,kBAAS6gB,UAAT,EAAqBC,IAArB,EAA2B;AAC1B,mBAAOA,IAAI,CAACC,OAAL,CAAaD,IAAI,CAAC5b,OAAL,KAAiB2b,UAAU,GAAG,EAAb,GAAkB,EAAlB,GAAuB,IAArD,CAAP;AACA;;;iBAED,mBAAUtpB,KAAV,EAAsBypB,MAAtB,EAAuCC,MAAvC,EAAsD;AACrD,gBAAI;AACH,kBAAMC,YAAY,GAAGF,MAAM,IAAI,KAAKN,aAApC;AACA,kBAAMS,YAAY,GAAGF,MAAM,IAAI,KAAKT,aAApC;AACA,kBAAMliB,QAAQ,GAAa,IAAI,wDAAJ,CAAa6iB,YAAb,CAA3B;AACA,qBAAO7iB,QAAQ,CAACI,SAAT,CAAoB,IAAIC,IAAJ,CAASpH,KAAT,CAApB,EAAqC2pB,YAArC,EAAmD,OAAnD,CAAP;AACA,aALD,CAKE,OAAOE,CAAP,EAAU;AACXnd,qBAAO,CAACod,IAAR,CAAaD,CAAb;AACA,qBAAO,KAAKE,QAAL,CAAc,CAAd,EAAiB,IAAI3iB,IAAJ,CAASpH,KAAT,CAAjB,CAAP;AACA;AACD;;;iBAED,uBAAc;AACb,iBAAKqpB,UAAL,CAAgB7c,IAAhB,CAAqB,IAArB;AACA,iBAAK6c,UAAL,CAAgB3I,QAAhB;AACA;;;;;;AAlCM,wBAAAwI,cAAA,GAAiB,OAAjB;AACA,wBAAAE,mBAAA,GAAsB,sBAAtB;;;;;;;;;;;;;;;;ACTR;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAM9iB,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,kBAD8C;AAEpDW,gBAAQ,EAAE,kBAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAeO,eAASwjB,gCAAT,CAA0CtjB,QAA1C,EAA8D;AACpE,wFAA8BJ,iBAA9B,EAAiD,oFAAjD,EAA2EI,QAA3E;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUaujB,qB;;;;;;;;;;;;QAA8B,mD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aChB3C,oJ,IACI;AAAA;AAAA,sBACiJ,UADjJ;;AAAsD;;;;;AAA8B;;;;;AAChF;;;;;AAA0B;;;;;AAAoC;;;;;AADlE;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GACiJ;AAAA;AADzI,6BAAmB,QAAnB;AAAoB,6BAAyB,WAAzB;AACgE,6BAAqB,SAArB;AAAsB,6BAAqB,SAArB;;AADlH,wBAAQ,SAAR,EAA4B,SAA5B,EAC4F,SAD5F,EACkH,SADlH;AACuI,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF3I;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAIA,UAAM3jB,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,UAD6C;AAEnDW,gBAAQ,EAAE,iBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAAS0jB,yBAAT,CAAmCxjB,QAAnC,EAAuD;AAC5D,wFAA8BJ,iBAA9B,EAAiD,oFAAjD,EAA2EI,QAA3E;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAmBayjB,4B;AA6BX,8CAAoBrjB,EAApB,EAAqC;AAAA;;AAAjB,eAAAA,EAAA,GAAAA,EAAA;AA3BV,eAAAsB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAwBV,eAAA0B,QAAA,GAAW,IAAI,4CAAJ,EAAX;AACA,eAAAsgB,SAAA,GAAuB,IAAvB;AAEuC;;;;eAxBvC,aAAmBpqB,KAAnB,EAAqC;AAAA;;AACnC,iBAAKid,SAAL,GAAiBjd,KAAjB;AACA,iBAAKoqB,SAAL,GAAiB,KAAKtjB,EAAL,CAAQS,KAAR,CAAc,MAAD,OAAC,CAAD;AAC5B8iB,6BAAe,EAAE,CACf;AAAErqB,qBAAK,EAAE,KAAKid,SAAL,CAAeoN,eAAxB;AAAyC3iB,wBAAQ,EAAE;AAAnD,eADe,EAEf,CAAC,0DAAWE,QAAZ,CAFe,CADW;AAK5B0iB,mBAAK,EAAE,CAAC;AAAEtqB,qBAAK,EAAE,KAAKid,SAAL,CAAeqN,KAAxB;AAA+B5iB,wBAAQ,EAAE,KAAKA;AAA9C,eAAD;AALqB,aAAC,EAM1B1B,MAAM,CAACmd,MAAP,OAAAnd,MAAM,GACP,EADO,4BAEJ,KAAKiX,SAAL,CAAesN,aAAf,CAA6BpmB,GAA7B,CAAiC,UAAC/B,GAAD;AAAA,yCACjCA,GAAG,CAACooB,eAD6B,EACX,CACrB;AAAExqB,qBAAK,EAAEoC,GAAG,CAACioB,eAAJ,IAAuB,CAAhC;AAAmC3iB,wBAAQ,EAAE,OAAI,CAACA;AAAlD,eADqB,EAErB,CAAC,0DAAWE,QAAZ,EAAsB,0DAAWqQ,GAAX,CAAe,CAAf,CAAtB,CAFqB,CADW;AAAA,aAAjC,CAFI,GANoB,CAAd,CAAjB;AAgBA,iBAAKwS,oBAAL;AACD;;;iBAOD,uBAAW;AACT,iBAAK3gB,QAAL,CAAc0C,IAAd;AACA,iBAAK1C,QAAL,CAAc4W,QAAd;AACD;;;iBAEO,gCAAuB;AAAA;;AAC7B,iBAAK0J,SAAL,CAAeM,YAAf,CAA4B7gB,IAA5B,CAAiC,uDAAU,KAAKC,QAAf,CAAjC,EAA2DzH,SAA3D,CAAqE,YAAM;AACzE,kBAAMsoB,KAAK,GAAW,OAAI,CAAC1N,SAAL,CAAesN,aAAf,CACnBpmB,GADmB,CACf,UAAC/B,GAAD,EAAS;AACZ,oBAAMuoB,KAAK,GAAG,OAAI,CAACP,SAAL,CAAehlB,GAAf,CAAmBhD,GAAG,CAACooB,eAAvB,EAAwCxqB,KAAtD;;AACAoC,mBAAG,CAACioB,eAAJ,GAAsBM,KAAtB;AACA,uBAAOA,KAAP;AACD,eALmB,EAMnBC,MANmB,CAMZ,UAACC,GAAD,EAAMC,YAAN;AAAA,uBAAuBD,GAAG,GAAGC,YAA7B;AAAA,eANY,EAM+B,CAN/B,CAAtB;;AAQA,qBAAI,CAACV,SAAL,CACGhlB,GADH,CACO,iBADP,EAEGiL,QAFH,CAEYsa,KAFZ,EAEmB;AAAEI,yBAAS,EAAE;AAAb,eAFnB;;AAGA,qBAAI,CAAC9N,SAAL,CAAeoN,eAAf,GAAiCM,KAAjC;AACA,qBAAI,CAAC1N,SAAL,CAAeqN,KAAf,GAAuB,OAAI,CAACF,SAAL,CAAehlB,GAAf,CAAmB,OAAnB,EAA4BpF,KAAnD;;AACA,qBAAI,CAACoI,WAAL,CAAiBjI,IAAjB,CAAsB,OAAI,CAAC8c,SAA3B;AACD,aAfD;AAgBD;;;;;;;;;;;;;;;;;;;;;ACvEH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAca+N,4B;AAuCT,8CAAoBzsB,gBAApB,EACYD,mBADZ,EAEY8W,YAFZ,EAEwC;AAAA;;AAAA;;AAFpB,eAAA7W,gBAAA,GAAAA,gBAAA;AACR,eAAAD,mBAAA,GAAAA,mBAAA;AACA,eAAA8W,YAAA,GAAAA,YAAA;AAtCH,eAAApV,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAMF,eAAAjJ,IAAA,GAAuB,EAAvB;AAGR,eAAA8rB,WAAA,GAAyE,EAAzE;AACA,eAAAC,UAAA,GAAa,EAAb;AACA,eAAAC,QAAA,GAA+F,EAA/F;AAEA,eAAAC,SAAA,GAAY,EAAZ;AAEA,eAAAC,WAAA,GAgBI,IAhBJ;AAiBA,eAAAf,KAAA,GAAQ,EAAR;AACA,eAAAgB,eAAA,GAAkB,IAAlB;AAKI,eAAKhjB,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAA/C,IAAI,EAAI;AAC5D,mBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACH,WAFU,CAAX;AAGH;;;;eAnCD,aAAQrJ,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAoC/C,oBAAW,CACP;AACA;AACA;AACA;AACA;AACH;;;iBACD,qBAAYsJ,OAAZ,EAAoC;AAChC,iBAAK0M,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;;AACA,gBAAI,KAAKmD,aAAT,EAAwB;AACpB,kBAAI,KAAKA,aAAL,CAAmBkpB,WAAnB,IAAkC,KAAKlpB,aAAL,CAAmBqpB,SAAzD,EAAoE;AAChE,qBAAKG,QAAL;AACH;AACJ;AACJ;;;iBAED,uBAAc;AAAA;;AACV,iBAAKnW,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,gBAAI,KAAKysB,WAAL,IAAoB,KAAKA,WAAL,CAAiBf,KAAzC,EAAgD,KAAKe,WAAL,CAAiBf,KAAjB,CAAuBtqB,KAAvB,GAA+B,KAAKsqB,KAApC;AAChD,iBAAKloB,GAAL,GAAW,KAAK9D,mBAAL,CAAyB4b,iBAAzB,CAA2C,KAAKmR,WAAL,CAAiB9e,QAAjB,CAA0B0D,GAArE,EAA0E,KAAKob,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAApG,EACN3hB,IADM,CACD,uDAAU,UAACvK,IAAD,EAAe;AAC3BA,kBAAI,CAACA,IAAL,CAAU,OAAI,CAAC+rB,WAAL,CAAiBf,KAAjB,CAAuBra,GAAjC,IAAwC,OAAI,CAACqa,KAA7C;AACA,qBAAO,OAAI,CAAChsB,mBAAL,CAAyBmtB,cAAzB,CAAwC,OAAI,CAACJ,WAAL,CAAiB9e,QAAjB,CAA0B0D,GAAlE,EAAuE,OAAI,CAACob,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAAjG,EAAwGlsB,IAAxG,CAAP;AACH,aAHK,CADC,EAIH+C,SAJG,CAIO,UAAAqpB,GAAG,EAAI;AACjB,qBAAI,CAACra,gBAAL,CAAsBqa,GAAtB;;AACA,qBAAI,CAACtW,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aAPM,EAOJ,UAAA+D,KAAK,EAAI;AACR,qBAAI,CAAC0O,gBAAL,CAAsB,IAAtB;;AACA,qBAAI,CAAC+D,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aAVM,CAAX;AAWH;;;iBAED,qBAAY;AAAA;;AACR,gBAAI,KAAKysB,WAAL,IAAoB,KAAKA,WAAL,CAAiBf,KAAzC,EAAgD,KAAKe,WAAL,CAAiBf,KAAjB,CAAuBtqB,KAAvB,GAA+B,KAAKsqB,KAApC;AAChD,gBAAIqB,QAAQ,GAAG,KAAKC,aAAL,CAAmB,KAAKR,SAAxB,EAAmC,KAAKC,WAAL,CAAiB9e,QAAjB,CAA0Bsf,WAA7D,EAA0E,KAAKR,WAAL,CAAiB9e,QAAjB,CAA0Buf,cAApG,CAAf;;AACA,gBAAI,KAAKT,WAAL,CAAiB9e,QAAjB,CAA0Bwf,KAA9B,EAAqC;AACjC,kBAAMA,KAAK,GAAG,+CAAM5b,QAAN,CAAe,KAAKkb,WAAL,CAAiB9e,QAAjB,CAA0Bwf,KAAzC,EAAgD;AAAEloB,0BAAU,EAAE,KAAKvE,IAAnB;AAAyB0sB,4BAAY,EAAE,KAAKX,WAAL,CAAiB9e,QAAjB,CAA0Byf,YAA1B,IAA0C,IAAjF;AAAuF1B,qBAAK,EAAE,KAAKA;AAAnG,eAAhD,CAAd;AACAqB,sBAAQ,GAAG,MAAH,OAAG,CAAH,kBAAQA,QAAR,CAAG,EAAkBI,KAAlB,CAAX;AACH;;AAED,iBAAK3W,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,gBAAIqtB,MAAM,GAAG,KAAK3tB,mBAAL,CAAyBwD,aAAzB,CAAuC,KAAKupB,WAAL,CAAiB9e,QAAjB,CAA0B0D,GAAjE,EAAsE;AAAE3Q,kBAAI,EAAEqsB;AAAR,aAAtE,CAAb;;AACA,gBAAI,KAAKN,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAA9B,EAAqC;AACjCS,oBAAM,GAAG,KAAK3tB,mBAAL,CAAyB4b,iBAAzB,CAA2C,KAAKmR,WAAL,CAAiB9e,QAAjB,CAA0B0D,GAArE,EAA0E,KAAKob,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAApG,EACJ3hB,IADI,CACC,uDAAU,UAACvK,IAAD,EAAe;AAC3BA,oBAAI,CAACA,IAAL,GAAY,MAAH,OAAG,CAAH,kBAAQA,IAAI,CAACA,IAAb,CAAG,EAAmBqsB,QAAnB,CAAZ;AACA,uBAAO,OAAI,CAACrtB,mBAAL,CAAyBmtB,cAAzB,CAAwC,OAAI,CAACJ,WAAL,CAAiB9e,QAAjB,CAA0B0D,GAAlE,EAAuE,OAAI,CAACob,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAAjG,EAAwGlsB,IAAxG,CAAP;AACH,eAHK,CADD,CAAT;AAKH;;AAED,iBAAK8C,GAAL,GAAW6pB,MAAM,CAAC5pB,SAAP,CAAiB,UAAAqpB,GAAG,EAAI;AAC/B,qBAAI,CAACL,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAA1B,GAAkCE,GAAG,CAACnqB,GAAtC;;AACA,qBAAI,CAAC8P,gBAAL,CAAsBqa,GAAtB;;AACA,qBAAI,CAACtW,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aAJU,EAIR,UAAA+D,KAAK,EAAI;AACR,qBAAI,CAAC0O,gBAAL,CAAsB,IAAtB;;AACA,qBAAI,CAAC+D,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aAPU,CAAX;AAQH;;;iBAEO,uBAAcqT,KAAd,EAA4BhC,GAA5B,EAAwE;AAAA,gBAA/B6b,cAA+B,uEAAJ,EAAI;AAC5E,mBAAO7Z,KAAK,CAAC2Y,MAAN,CAAa,UAAUsB,EAAV,EAAcC,CAAd,EAAiB;AACjC,kBAAMC,IAAI,GAAG,MAAH,OAAG,CAAH,EAAG,EAAKD,CAAL,CAAb;AACA,kBAAIL,cAAc,IAAIA,cAAc,CAACroB,MAArC,EACI,qCAA2BuC,MAAM,CAACyL,OAAP,CAAe2a,IAAf,CAA3B,wCAAiD;AAA5C;AAAA,oBAAOnc,IAAP;AAAA,oBAAYjQ,KAAZ;;AACD,oBAAI8rB,cAAc,CAACvmB,QAAf,CAAwB0K,IAAxB,CAAJ,EAAkC,OAAOmc,IAAI,CAACnc,IAAD,CAAX;AACrC;AAEL,eAACic,EAAE,CAACC,CAAC,CAAClc,GAAD,CAAF,CAAF,GAAaic,EAAE,CAACC,CAAC,CAAClc,GAAD,CAAF,CAAF,IAAc,EAA5B,EAAgC5Q,IAAhC,CAAqC+sB,IAArC;AACA,qBAAOF,EAAP;AACH,aATM,EASJ,EATI,CAAP;AAUH;;;iBAEO,0BAAiBR,GAAjB,EAAsB;AAAA;;AAC1B,gBAAI,KAAKL,WAAL,CAAiB/Z,WAArB,EACI,KAAK+Z,WAAL,CAAiB/Z,WAAjB,CAA6BrR,OAA7B,CAAqC,UAAA4C,IAAI,EAAI;AACzC,kBAAI;AACA,oBAAI,OAAI,CAACM,eAAL,CAAqB6M,IAArB,CAA0Bqc,MAA9B,EAAsC;AAClC,sBAAMC,KAAK,GAAG,OAAI,CAACnpB,eAAL,CAAqB6M,IAArB,CAA0Buc,YAA1B,CAAuC;AAAExb,uBAAG,EAAE,IAAP;AAAayb,oCAAgB,EAAE;AAA/B,mBAAvC,CAAd;;AACA,sBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,uBAAG,EAAEpN,IAAI,CAACoN;AAAZ,mBAA9B,CAAnB;AACAH,4BAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AACpB,wBAAI1O,IAAI,CAAC4pB,YAAT,EAAuBlb,CAAC,CAACmb,aAAF,GAAvB,KACK;AACD,0BAAM1sB,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAEA,6BAAK,EAAE,OAAI,CAACsqB,KAAd;AAAqBhrB,4BAAI,EAAE,OAAI,CAACA,IAAhC;AAAsC+iB,gCAAQ,EAAE,OAAI,CAAClf,eAArD;AAAsEqoB,6BAAK,EAAE,OAAI,CAACH,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAAvG;AAA8GE,2BAAG,EAAEA;AAAnH,uBAA3B,CAAd;AACAna,uBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACH;AACJ,mBAND;AAOH,iBAVD,MAUO;AACH,sBAAMuQ,WAAW,GAAG,+CAAMR,gBAAN,CAAuB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAElK,wBAAI,EAAE;AAAR,mBAA7D,CAApB;AACA2K,6BAAW,CAACtQ,OAAZ,CAAoB,UAAAuQ,aAAa,EAAI;AACjCA,iCAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AACzC,0BAAM2b,KAAK,GAAG3b,OAAO,CAAC4b,YAAR,CAAqB;AAAExb,2BAAG,EAAE,IAAP;AAAayb,wCAAgB,EAAE;AAA/B,uBAArB,CAAd;AACA,0BAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,2BAAG,EAAEpN,IAAI,CAACoN;AAAZ,uBAA9B,CAAnB;AACAH,gCAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AACpB,4BAAI1O,IAAI,CAAC4pB,YAAT,EAAuBlb,CAAC,CAACmb,aAAF,GAAvB,KACK;AACD,8BAAM1sB,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAEA,iCAAK,EAAE,OAAI,CAACsqB,KAAd;AAAqBhrB,gCAAI,EAAE,OAAI,CAACA,IAAhC;AAAsC+iB,oCAAQ,EAAE,OAAI,CAAClf,eAArD;AAAsEqoB,iCAAK,EAAE,OAAI,CAACH,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAAvG;AAA8GE,+BAAG,EAAEA;AAAnH,2BAA3B,CAAd;AACAna,2BAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACH;AACJ,uBAND;AAOH,qBAVD;AAWH,mBAZD;;AAcA,sBAAM8P,WAAU,GAAG,+CAAMC,gBAAN,CAAuB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAEG,uBAAG,EAAEpN,IAAI,CAACoN;AAAZ,mBAA7D,CAAnB;;AACAH,6BAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AAEpB,wBAAI1O,IAAI,CAAC4pB,YAAT,EAAuBlb,CAAC,CAACmb,aAAF,GAAvB,KACK;AACD,0BAAM1sB,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAEA,6BAAK,EAAE,OAAI,CAACsqB,KAAd;AAAqBhrB,4BAAI,EAAE,OAAI,CAACA,IAAhC;AAAsC+iB,gCAAQ,EAAE,OAAI,CAAClf,eAArD;AAAsEqoB,6BAAK,EAAE,OAAI,CAACH,WAAL,CAAiB9e,QAAjB,CAA0Bif,KAAvG;AAA8GE,2BAAG,EAAEA;AAAnH,uBAA3B,CAAd;AACAna,uBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACH;AACJ,mBAPD;AAQH;AACJ,eArCD,CAqCE,OAAO6pB,CAAP,EAAU;AACRnd,uBAAO,CAACC,GAAR,CAAYkd,CAAZ;AACH;AACJ,aAzCD;AA0CP;;;iBAEO,oBAAW;AAAA;;;;AACf,iBAAKuB,SAAL,GAAiB,EAAjB;AACA,iBAAKF,UAAL,GAAkB,EAAlB;AACA,iBAAKC,QAAL,GAAgB,EAAhB;AACA,iBAAKE,WAAL,GAAmB,IAAnB;AAEA,iBAAKA,WAAL,GAAmB,KAAKtpB,aAAL,CAAmBkpB,WAAnB,CAA+BI,WAAlD;AACA,gBAAI,CAAJ,WAAI,KAAKA,WAAT,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEf,KAAlB,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEtqB,KAA7B,EAAoC,KAAKsqB,KAAL,GAAa,KAAKe,WAAL,CAAiBf,KAAjB,CAAuBtqB,KAApC;AACpC,gBAAI,kBAAKqrB,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEf,KAAlB,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEqC,UAAzB,KAAuC,KAA3C,EAAkD,KAAKrB,eAAL,GAAuB,KAAvB;AAElD,iBAAKL,WAAL,CAAiB2B,IAAjB,GAAwB,KAAK7qB,aAAL,CAAmBkpB,WAAnB,CAA+B2B,IAAvD;AACA,iBAAK3B,WAAL,CAAiB4B,IAAjB,GAAwB,CAAH,KAAG,KAAK9qB,aAAL,CAAmBkpB,WAAnB,CAA+B4B,IAA/B,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,EAAnC,GAAuC,EAA/D;AACA,iBAAK5B,WAAL,CAAiB6B,QAAjB,GAA4B,KAAK/qB,aAAL,CAAmBkpB,WAAnB,CAA+B6B,QAA3D;AACA,iBAAK1B,SAAL,GAAiB,KAAKrpB,aAAL,CAAmBqpB,SAAnB,CAA6Bhf,IAA7B,CAAkC,UAACC,CAAD,EAAIC,CAAJ;AAAA,qBAAUD,CAAC,CAAC,OAAI,CAAC4e,WAAL,CAAiB6B,QAAlB,CAAD,IAAgCxgB,CAAC,CAAC,OAAI,CAAC2e,WAAL,CAAiB6B,QAAlB,CAAjC,GAA+D,CAA/D,GAAmE,CAAC,CAA9E;AAAA,aAAlC,CAAjB;AACA,iBAAKC,eAAL;AACA,iBAAKC,MAAL;AACH;;;iBAEO,2BAAkB;AAAA;;AACtB,gBAAMC,KAAK,GAAG,KAAKC,eAAL,EAAd;AACA,iBAAKhC,UAAL,GAAkBzb,KAAK,CAACkS,IAAN,CAAW;AAAEle,oBAAM,EAAEwpB;AAAV,aAAX,EAA8B,UAAApD,CAAC;AAAA,qBAAI,EAAJ;AAAA,aAA/B,CAAlB;AACA,iBAAKoB,WAAL,CAAiB2B,IAAjB,CAAsB3sB,OAAtB,CAA8B,UAAA4C,IAAI,EAAI;AAClC,qBAAI,CAACsqB,mBAAL,CAAyBtqB,IAAzB,EAA+BoqB,KAA/B,EAAsC,CAAtC;AACH,aAFD;AAGH;;;iBAEO,6BAAoBpqB,IAApB,EAAuCoqB,KAAvC,EAAsDlhB,KAAtD,EAAqE;AAAA;;AACzE,gBAAIlJ,IAAI,CAAC4H,SAAT,EAAoB;AAChB5H,kBAAI,CAACuqB,OAAL,GAAe,CAAf;AACAvqB,kBAAI,CAAC4H,SAAL,CAAexK,OAAf,CAAuB,UAAA0R,KAAK,EAAI;AAC5B9O,oBAAI,CAACuqB,OAAL,IAAgB,OAAI,CAACD,mBAAL,CAAyBxb,KAAzB,EAAgCsb,KAAhC,EAAuClhB,KAAK,GAAG,CAA/C,CAAhB;AACH,eAFD;AAGA,mBAAKmf,UAAL,CAAgBnf,KAAhB,EAAuB1M,IAAvB,CAA4BwD,IAA5B;AACA,qBAAOA,IAAI,CAACuqB,OAAZ;AACH,aAPD,MAOO;AACHvqB,kBAAI,CAACwqB,OAAL,GAAeJ,KAAK,GAAGlhB,KAAvB;AACAlJ,kBAAI,CAACuqB,OAAL,GAAe,CAAf;AACA,mBAAKlC,UAAL,CAAgBnf,KAAhB,EAAuB1M,IAAvB,CAA4BwD,IAA5B;AACA,mBAAKsoB,QAAL,CAAc9rB,IAAd,CAAmB;AAAE4Q,mBAAG,EAAEpN,IAAI,CAACoN,GAAZ;AAAiB,yBAAOpN,IAAI,SAA5B;AAAoC8nB,qBAAK,EAAE9nB,IAAI,CAAC8nB,KAAhD;AAAuD2C,wBAAQ,EAAEzqB,IAAI,CAACyqB,QAAtE;AAAgFC,qBAAK,EAAE1qB,IAAI,CAAC0qB;AAA5F,eAAnB;AACA,qBAAO1qB,IAAI,CAACuqB,OAAZ;AACH;AACJ;;;iBAEO,2BAAkB;AAAA;;AACtB,gBAAIH,KAAK,GAAG,CAAZ;AACA,iBAAKhC,WAAL,CAAiB2B,IAAjB,CAAsB3sB,OAAtB,CAA8B,UAAA4C,IAAI,EAAI;AAClC,kBAAM2qB,YAAY,GAAG,OAAI,CAACC,SAAL,CAAe,CAAf,EAAkB5qB,IAAlB,CAArB;;AACA,kBAAI2qB,YAAY,GAAGP,KAAnB,EACIA,KAAK,GAAGO,YAAR;AACP,aAJD;AAKA,mBAAOP,KAAP;AACH;;;iBAEO,mBAAUA,KAAV,EAAyBpqB,IAAzB,EAA6B;AAAA;;AACjC,gBAAIA,IAAI,CAAC4H,SAAT,EAAoB;AAChB,kBAAIijB,GAAG,GAAG,CAAV;AACA7qB,kBAAI,CAAC4H,SAAL,CAAexK,OAAf,CAAuB,UAAA0R,KAAK,EAAI;AAC5B,oBAAMtE,MAAM,GAAG,OAAI,CAACogB,SAAL,CAAeR,KAAK,GAAG,CAAvB,EAA0Btb,KAA1B,CAAf;;AACA,oBAAItE,MAAM,GAAGqgB,GAAb,EAAkBA,GAAG,GAAGrgB,MAAN;AACrB,eAHD;AAIA,qBAAOqgB,GAAP;AACH,aAPD,MAQK,OAAOT,KAAP;AACR;;;iBAGD,kBAAS;AAAE,iBAAKU,sBAAL;AAAgC;;;iBACnC,kCAAyB;AAC7B,iBAAKC,gBAAL,GAAwB,EAAxB;;AAEA,gBAAI,KAAKxC,SAAT,EAAoB;AAChB,mBAAK,IAAI/X,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK+X,SAAL,CAAe3nB,MAAnC,EAA2C4P,CAAC,EAA5C,EAAgD;AAC5C,oBAAIwa,OAAO,GAAG,KAAKzC,SAAL,CAAe/X,CAAf,CAAd;AACA,oBAAIya,UAAU,GAAGD,OAAO,CAAC,KAAK5C,WAAL,CAAiB6B,QAAlB,CAAxB;;AAEA,oBAAIzZ,CAAC,IAAI,CAAT,EAAY;AACR,uBAAKua,gBAAL,CAAsBE,UAAtB,IAAoC;AAAE5qB,yBAAK,EAAE,CAAT;AAAYmC,wBAAI,EAAE;AAAlB,mBAApC;AACH,iBAFD,MAGK;AACD,sBAAI0oB,eAAe,GAAG,KAAK3C,SAAL,CAAe/X,CAAC,GAAG,CAAnB,CAAtB;AACA,sBAAI2a,gBAAgB,GAAGD,eAAe,CAAC,KAAK9C,WAAL,CAAiB6B,QAAlB,CAAtC;AACA,sBAAIgB,UAAU,KAAKE,gBAAnB,EACI,KAAKJ,gBAAL,CAAsBE,UAAtB,EAAkCzoB,IAAlC,GADJ,KAGI,KAAKuoB,gBAAL,CAAsBE,UAAtB,IAAoC;AAAE5qB,yBAAK,EAAEmQ,CAAT;AAAYhO,wBAAI,EAAE;AAAlB,mBAApC;AACP;AACJ;AACJ;AACJ;;;iBAED,uBAAc;AACV,iBAAKrF,KAAL,GAAa;AAAEorB,uBAAS,EAAE,KAAKA;AAAlB,aAAb;AACA,iBAAKhjB,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACH;;;iBAEO,yBAAgByI,IAAhB,EAAsB;AAAA;;AAC1B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAAE,qBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AAA2C,aAApD,CAAV;AACH;;;iBACD,uBAAc;AACV,iBAAKtJ,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACH;;;;;;;;;;;;;;;;;;;;;AC3RL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECAA,wL,GAAA,sW,GAAqB,gF,IAGrB,mL,GAAA,gK,GACI;AAAA;AAAA,sBAAwF,UAAxF;;AAAmB;;;;;AAAnB;AAAA,8N,GAAA,oX,GAAyC,0E,GAAA,sQ,GAAsC;AAJnF;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAqB;;AAAA;;AAIjB;AAAA;;AAAA;;AAAA;;AAAyC;;AAAA;AAAsC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECDjF;AAAA;AAAA,sBAGS,UAHT;;AACE;;;;;AADF;AAAA,8N,GAAA,oX,EAAA;AAAA;AAAA,gB,EAA4C,wQ,EAAA,wQ,GAE1C,ugB,GAAA,2a,GAAU,mF,IAAY,4E,IAAA;AAAA;;AAFoB;;AAA5C,wBAA4C,SAA5C;;AAEE;AAAiC,S,EAAA;AAFnC;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAiC,S;AAAA;;;uEALrC,wL,GACE,2D,GAEA,uH,GAAA;AAAA;AAAA,gB,GAGS;AAAA;AAHD,6BAAmB,YAAnB;;AAAR,wBAAQ,SAAR;AAA2B,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMmH,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,+BAD8C;AAEpDW,gBAAQ,EAAE,+BAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASynB,4CAAT,CAAsDvnB,QAAtD,EAA0E;AAChF,wFAA8BJ,iBAA9B,EAAiD,6GAAjD,EAAuFI,QAAvF;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECVC,yI,IACE,yJ,IACE,sJ,GAAA;AAAA;AAAA,gB,EAA+B;AAAA;AAAA,U,EAA/B;AAAA;AAAA,gB,EAA+B;AAAA;AAAA,U,GAAyC,6E,GAAA,sQ,GAExE;AAAA;AAAA;;AAAA;;;;;AAAsE;;;;;AAC9C;;;;;AADxB;AAAA,kQ,GAAA,oL,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA,oF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAEY;AAAA;;AAJmB,2CAAwC,SAAxC;;AAA/B,wBAA+B,SAA/B;;AAA+B,2CAAwC,SAAxC;;AAA/B,wBAA+B,SAA/B;;AAE+B;AAAkB;AAAtC,8BAAmB,UAAnB;;AAAX,yBAA+B,UAA/B,EAAiD,UAAjD,EAAW,UAAX;;AAC0D,8BAAqB,SAArB;;AAD1D,yBAC0D,UAD1D;;AACE,8BAAqB,SAArB;AADoE,8BAA8B,iBAA9B;;AAAtE,yBACE,UADF,EAAsE,UAAtE;AAAoG,S,EAAA;AAAA;;AAF5B;;AAAA;;AAExE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEY,S;AAAA;;;uEAId;AAAA;AAAA,sBAQM,UARN;;AAAwE;;;;;AAAxE;AAAA,sB,IACE,mJ,IACE,wH,IACE,0I,IACA,sH,IAAG,6E,IAEL,+I,IAA+B,I,EAAA;AAAA;AAF1B;;AAAA;AAA2C,S;AAAA;;;uEAKpD,wJ,IACE,wJ,IACE,wH,IACE,0I,IACA,sH,IAAG,6E,IAEL,iJ,IACE;AAAA;AAAA,sBAAqF,UAArF;;AAA6C;;;;;AAA7C;AAAA,sB,IACA;AAAA;AAAA,sBAAwE,UAAxE;;AAAoC;;;;;AAApC;AAAA,sB,IAAwE,I,EAAA;AAAA;AAJrE;;AAAA;AAA0B,S;AAAA;;;uEAzBvC,8U,GAAA,4M,GACA,gK,GAAA,iM,EAAA;AAAA;AAAA,gB,GACE,0H,GAAA;AAAA;AAAA,gB,GASA,wI,IACE,0H,GAAA;AAAA;AAAA,gB,GASA,0H,GAAA;AAAA;AAAA,gB,GAWM;AAAA;AA/BoB,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA9B,wBAA8B,SAA9B;;AACmB,8BAAiB,SAAjB;;AAAjB,wBAAiB,SAAjB;;AAUmC,uDAAsC,SAAtC;;AAAjC,wBAAiC,SAAjC;;AASiC,6BAAyB,kBAAzB;;AAAjC,yBAAiC,SAAjC;AAA0D,S,EAAA;AApB9D;;AAAA;AAiCM,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEClCN,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAgCjC,uH,IAAkD,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMlD,S;AAAA;;;uEAGA,uH,IAAkD,+E,IAAA,I,EAAA;AAAA;;AAAA;AAElD,S;AAAA;;;uEAUE,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAA6E,6E,IAE/E,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC8E,S,EAAA;AAD9E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEAKb,uH,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA2C;;;;;AAA3C;AAAA,sB,GAAA,0V,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,oN,GAAsF;AAAlE,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAApB,wBAAoB,SAApB;;AAAoE;AAAzB,4BAAwB,OAAxB,CAAwB,OAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AAA3C,wBAAoE,SAApE,EAA2C,SAA3C;AAAmE,S,EAAA;AAAnE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAsF,S;AAAA;;;uEAhB1F,wH,IACE,uH,IAAI,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAMF,0H,GAAA;AAAA;AAAA,gB,GAKF,uH,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAoB;;;;;AAApB;AAAA,sB,GAAA,2V,EAAA,4Z,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GAEF,0H,GAAA;AAAA;AAAA,gB,GAEK;AAVoB,4BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAvB,wBAAuB,SAAvB;;AAMA;;AAA6C;AAAzB,6BAAwB,QAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AAApB,yBAA6C,SAA7C,EAAoB,UAApB;;AAEE,6BAA+C,OAA/C,CAA+C,MAA/C,CAA+C,MAA/C,CAA+C,OAA/C,CAA+C,IAA/C,CAA+C,gBAA/C;;AAAJ,yBAAI,UAAJ;AAAmD,S,EAAA;AAd/C;;AAAA;;AAYF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA+D,S;AAAA;;;uEAjCzE,0H,IACE,oJ,IACE,iK,IACE,0I,IACE,yJ,IACA,uI,IAAgB,6E,GAAA,wQ,GAChB,0H,GAAA;AAAA;AAAA,gB,GAQF,2I,IACE,0H,GAAA;AAAA;AAAA,gB,GAKF,0H,GAAA;AAAA;AAAA,gB,GAkBK;AAhCC,4BAA6C,OAA7C,CAA6C,MAA7C,CAA6C,OAA7C,CAA6C,IAA7C,CAA6C,gBAA7C;;AAAJ,wBAAI,SAAJ;;AASI,4BAA6C,OAA7C,CAA6C,MAA7C,CAA6C,OAA7C,CAA6C,IAA7C,CAA6C,gBAA7C;;AAAJ,yBAAI,SAAJ;;AAKE,4BAA6C,OAA7C,CAA6C,OAA7C,CAA6C,IAA7C,CAA6C,eAA7C;;AAAJ,yBAAI,SAAJ;AAAiD,S,EAAA;AAf/B;;AAAA;AAAiC,S;AAAA;;;uEA6CnD,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAA6E,6E,IAE/E,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC8E,S,EAAA;AAD9E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEATf,8I,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEoB;;;;;AAFpB;AAAA,sB,GAAA,0V,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,oN,GAGA,+H,GAAA,8J,GAAW,gF,IAET,2H,GAAA;AAAA;AAAA,gB,GAGW;AARqB;;AACY,wHAAA1G,KAAA;;AAD9C,wBAAkC,SAAlC,EAC8C,UAD9C;;AACqE;;AADrE,wBACqE,UADrE;;AAAkC;;AAEhC;AAAkB,6BAA4B,OAA5B,CAA4B,MAA5B,CAA4B,OAA5B,CAA4B,IAA5B,CAA4B,KAA5B;;AAFpB,wBAAkC,UAAlC,EAEE,UAFF,EAEoB,UAFpB;;AAKyB,6BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAvB,yBAAuB,UAAvB;AAA8C,S,EAAA;AAJ9C;;AADF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBACE,SADF;;AAGW;;AAAA;AAET,S;AAAA;;;uEAPN,oJ,IACE,2H,GAAA;AAAA;AAAA,gB,EAAK,wL,GAAA;AAAA;;AAAA,8JAAqC,SAArC;;AAAL,wBAAK,SAAL;AAA0C,S,EAAA,I;AAAA;;;uEAmBtC,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAAyF,6E,IAE3F,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC0F,S,EAAA;AAD1F;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEARjB,0H,IACE,uH,IACA,yL,IACE,wL,GAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,EADF,6J,EAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,GACA,2H,GAAA;AAAA;AAAA,gB,GAGW,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQb,mJ,GAAA,iM,EAAA;AAAA;AAAA,gB,GAAgB,gF,IAEhB;AAfW;;AACT,0CAAuD,OAAvD,CAAuD,OAAvD,CAAuD,IAAvD,CAAuD,cAAvD;;AADF,wBAAW,SAAX,EACE,SADF;;AACE,0CAAuD,OAAvD,CAAuD,OAAvD,CAAuD,IAAvD,CAAuD,cAAvD;;AADS;;AAAX,wBACE,SADF,EAAW,SAAX;;AAEyB,4BAA+B,OAA/B,CAA+B,OAA/B,CAA+B,IAA/B,CAA+B,cAA/B;;AAAvB,yBAAuB,SAAvB;;AAWI;;AAAN,yBAAM,SAAN;AAAe,S,EAAA;AARF;;AAAA;;AAQb;;AAAA;;AAAgB;;AAAA;AAEhB,S;AAAA;;;uEAQA,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAA2F,6E,IAE7F,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC4F,S,EAAA;AAD5F;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEAPf,yH,IACE,uH,IACA,wL,GAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,EADF,6J,EAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,GACA,2H,GAAA;AAAA;AAAA,gB,GAGW,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQb;AAAA;;AAAuC;;;;;AAAvC;AAAA,0N,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAU;AAAA;AAAA,U,EAAV;AAAA;AAAA,oE,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GACW;AAdA;;AACT,0CAAwD,OAAxD,CAAwD,OAAxD,CAAwD,IAAxD,CAAwD,eAAxD;;AADF,wBAAW,SAAX,EACE,SADF;;AACE,0CAAwD,OAAxD,CAAwD,OAAxD,CAAwD,IAAxD,CAAwD,eAAxD;;AADS;;AAAX,wBACE,SADF,EAAW,SAAX;;AAEyB,4BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,IAAhC,CAAgC,eAAhC;;AAAvB,wBAAuB,SAAvB;;AAWuE;;AAAzE,yBAAyE,UAAzE;;AAAU;;AAAwE;;AAAlF,yBAAU,UAAV,EAAkF,UAAlF;;AAAuC,6BAAiC,OAAjC,CAAiC,OAAjC,CAAiC,IAAjC,CAAiC,UAAjC;;AAAvC,yBAAuC,UAAvC;AAAwE,S,EAAA;AAR3D;;AAAA;;AAQb;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACW,S;AAAA;;;uEAKX,uL,GAAA,6J,GAAuG,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMvG,S;AAAA;;;uEAKI,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAAiG,6E,IAEnG,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AACkG,S,EAAA;AADlG;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEANf,0H,IACE,mL,GAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,EADF,6J,EAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,GACA,2H,GAAA;AAAA;AAAA,gB,GAGW,+E,GAAA,yD,EAAA,yD,EAAA,wL,GAQb,8T,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAe;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAGf,wH,IAAM;AAAA;AAhBK;;AACT,0CAAyD,QAAzD,CAAyD,SAAzD,CAAyD,oBAAzD;;AADF,wBAAW,SAAX,EACE,SADF;;AACE,0CAAyD,QAAzD,CAAyD,SAAzD,CAAyD,oBAAzD;;AADS;;AAAX,wBACE,SADF,EAAW,SAAX;;AAEyB,4BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAvB,wBAAuB,SAAvB;;AAW8D,6BAA6B,kBAA7B;;AAAjD,0DAAgD,QAAhD,CAAgD,SAAhD,CAAgD,IAAhD;;AACQ;AAAkB;AAAvC;;AADF,yBAAgE,SAAhE,EAAe,SAAf,EACuB,SADvB,EACyC,SADzC,EACE,UADF;AACsB,S,EAAA;AATT;;AAAA;AAMb,S;AAAA;;;uEAtBJ,uJ,IACE,uH,IACA,2H,GAAA;AAAA;AAAA,gB,GAQA,2H,GAAA;AAAA;AAAA,gB,GAkBe;AA1BiD,4BAAsC,OAAtC,CAAsC,OAAtC,CAAsC,IAAtC,CAAsC,qBAAtC;;AAAhE,wBAAgE,SAAhE;;AAQc,4BAAyC,OAAzC,CAAyC,OAAzC,CAAyC,IAAzC,CAAyC,WAAzC;;AAAd,wBAAc,SAAd;AAAuD,S,EAAA,I;AAAA;;;uEAuBvD,uL,GAAA,6J,GAAkG,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMlG,S;AAAA;;;uEARF,yH,IACE,uH,IACA,2H,GAAA;AAAA;AAAA,gB,GAQA;AAAA;;AAAwE;;;;;AAAxE;AAAA,wO,GAAA;AAAA;AAAA,gB,EAAc;AAAA;AAAA,U,EAAd;AAAA;AAAA,gB,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,EAAA;AAAA;AAAA,gB,EAAc;AAAA;AAAA,U,GAEZ,wI,GAAM,yD,EAAA,yD,EAAA,wL,GAAsF;AAV9B,4BAAiC,OAAjC,CAAiC,OAAjC,CAAiC,IAAjC,CAAiC,gBAAjC;;AAAhE,wBAAgE,SAAhE;;AAQc,2CAAyD,OAAzD,CAAyD,OAAzD,CAAyD,IAAzD,CAAyD,gBAAzD;;AAAd,wBAAc,UAAd;;AACE;;AADF,wBACE,UADF;;AACE;AADsE,6BAAkC,OAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,WAAlC;;AAAxE,wBACE,UADF,EAAwE,UAAxE;;AAAc,4CAAyD,OAAzD,CAAyD,OAAzD,CAAyD,IAAzD,CAAyD,gBAAzD;;AAAd,yBAAc,UAAd;AAAuE,S,EAAA;AAAvE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEQ;;AAAN,yBAAM,UAAN;AAA4F,S;AAAA;;;uEArKlG,yH,IACE,wH,GAAA;AAAA;AAAA,gB,EAAI;AAAA;AAAA,U,EAAJ;AAAA;AAAA,gB,EAAI;AAAA;AAAA,U,GACF,yH,IAAM,6E,GAAA,wD,GACN,+I,IAA+B,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQjC,uH,IAAG,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQH;AAAA;;AAAc;;;;;AAAd;AAAA,wO,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GAAuD,6E,GAAA,wQ,GAIvD,0H,GAAA;AAAA;AAAA,gB,GA2CA,2H,GAAA;AAAA;AAAA,gB,GAeA,2H,GAAA;AAAA;AAAA,gB,GAsBA,2H,GAAA;AAAA;AAAA,gB,GAmBA,2H,GAAA;AAAA;AAAA,gB,GA+BA,2H,GAAA;AAAA;AAAA,gB,GAcM;AAtKF,0CAAmD,QAAnD,CAAmD,IAAnD,CAAmD,UAAnD;;AAAJ,wBAAI,SAAJ;;AAAI,0CAAmD,QAAnD,CAAmD,IAAnD,CAAmD,UAAnD;;AAAJ,wBAAI,SAAJ;;AAkB8C;;AAA9C,yBAA8C,UAA9C;;AAA8C;AAAhC,6BAA+B,QAA/B,CAA+B,IAA/B,CAA+B,QAA/B;;AAAd,yBAA8C,UAA9C,EAAc,UAAd;;AAIc,6BAAkC,OAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,kBAAlC;;AAAd,yBAAc,UAAd;;AA2CK,8BAAmC,OAAnC,CAAmC,OAAnC,CAAmC,IAAnC,CAAmC,kBAAnC;;AAAL,yBAAK,UAAL;;AAec,6BAAwB,QAAxB,CAAwB,IAAxB,CAAwB,OAAxB;;AAAd,yBAAc,UAAd;;AAsBK,6BAAyB,QAAzB,CAAyB,IAAzB,CAAyB,QAAzB;;AAAL,yBAAK,UAAL;;AAmBK,6BAA+B,QAA/B,CAA+B,IAA/B,CAA+B,cAA/B;;AAAL,yBAAK,UAAL;;AA+BK,6BAA2C,QAA3C,CAA2C,IAA3C,CAA2C,0BAA3C;;AAAL,yBAAK,UAAL;AAAgD,S,EAAA;AAvJxC;;AAAA;;AACyB;;AAAA;;AAQ9B;;AAAA;;AAQH;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAuD;;AAAA;AAEvD,S;AAAA;;;uEAtBJ,yH,IACE,0H,GAAA;AAAA;AAAA,gB,EAAK,wL,GAAA,4E,IAAA;AAAA;;AAAA,8JAAqC,UAArC;;AAAL,wBAAK,SAAL;AAA0C,S,EAAA,I;AAAA;;;6YAJ5C,0H,GAAA;AAAA;AAAA,gB,GAGA,0H,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAmC;AAAA;AAHtB,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAGc,8JAAmC,SAAnC;;AAAd,wBAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEjD;AAAA;;;AAAA;AAAA;AAAA;;UAAakuB,Q;;;;;;;iBACZ,mBAAUjc,KAAV,EAAsD;AAAA,gBAA9Bkc,YAA8B,uEAAP,OAAO;;AACrD,gBAAI,CAAClc,KAAD,IAAUA,KAAK,CAACxO,MAAN,KAAiB,CAA3B,IAAgC,CAAC0qB,YAArC,EAAmD;AAClD,qBAAOlc,KAAP;AACA;;AAED,mBAAOA,KAAK,CAACmc,KAAN,GAAchiB,IAAd,CAAmB,UAACC,CAAD,EAAIC,CAAJ;AAAA,qBAAWD,CAAC,CAAC8hB,YAAD,CAAD,GAAkB7hB,CAAC,CAAC6hB,YAAD,CAAnB,GAAoC,CAApC,GAAwC,CAAC,CAApD;AAAA,aAAnB,CAAP;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAM7nB,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,mCAD6C;AAEnDW,gBAAQ,EAAE,mCAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAeO,eAAS6nB,yCAAT,CAAmD3nB,QAAnD,EAAuE;AAC5E,wFAA8BJ,iBAA9B,EAAiD,qHAAjD,EAA2FI,QAA3F;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCZY4nB,kB;AAET,oCAAoBC,eAApB,EAA8DpM,SAA9D,EAA2F;AAAA;;AAAvE,eAAAoM,eAAA,GAAAA,eAAA;AAA0C,eAAApM,SAAA,GAAAA,SAAA;AAE7D;;;;iBAEK,4BAAmB;;;;;;;;;AACR,6BAAM,KAAKoM,eAAL,CAAqBC,MAArB,CAA4B;AAC3C9vB,+BAAO,EAAE,KAAKyjB,SAAL,CAAevf,OAAf,CAAuB,iBAAvB,CADkC;AAE3C6rB,uCAAe,EAAE,KAF0B;AAG3CC,+BAAO,EAAE,CACL;AACIC,8BAAI,EAAE,KAAKxM,SAAL,CAAevf,OAAf,CAAuB,IAAvB,CADV;AAEI1B,8BAAI,EAAE,OAFV;AAGI0tB,kCAAQ,EAAE,WAHd;AAIIC,iCAAO,EAAE,mBAAM;AACX,mCAAI,CAACC,KAAL,GAAa,IAAb;AACH;AANL,yBADK;AAHkC,uBAA5B,CAAN;;;AAAb,2BAAKA,K;;AAcL,6BAAM,KAAKA,KAAL,CAAWC,OAAX,EAAN;;;;;;;;;AACH;;;iBACD,mBAAUC,GAAV,EAAiCxiB,IAAjC,EAAkD;AAAA;;AAC9C,mBAAOA,IAAI,CAACyiB,MAAL,CAAYD,GAAZ,EAAiBnlB,IAAjB,CACH,kEAAW,UAACqlB,GAAD,EAA4B;AACnC,kBAAIA,GAAG,CAAC/Y,MAAJ,KAAe,GAAf,IAAsB,CAAC,OAAI,CAAC2Y,KAA5B,IAAqC,CAACE,GAAG,CAACtS,GAAJ,CAAQnX,QAAR,CAAiB,OAAjB,CAA1C,EAAqE;AACjE,uBAAI,CAAC4pB,gBAAL;;AACA,uBAAO,wDAAWD,GAAX,CAAP;AAEH,eAJD,MAIO;AACH,uBAAO,wDAAWA,GAAX,CAAP;AACH;AACJ,aARD,CADG,CAAP;AAWH;;;;;;;;;;;;;;;;;;;;;ACnCL;AAAA;;;AAAA;AAAA;AAAA;;UAAaE,yB;;;;;;;;;;;;;;;;;;;ACPb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOaC,8B;AAIX,gDAAoB7lB,iBAApB,EAA0D;AAAA;;AAAtC,eAAAA,iBAAA,GAAAA,iBAAA;AAFpB,eAAAgQ,QAAA,GAAW,KAAKhQ,iBAAL,CAAuBgQ,QAAlC;AAE6D;;;;iBAE7D,oBAAW,CACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEChBH,8U,GAAA,4M,GACA,+J,GAAA,+L,EAAA;AAAA;AAAA,gB,EAA6B,wL,GAC5B;AAAA;AAAA,sBAES,UAFT;;AAAyD;;;;;AAAzD;AAAA,sB,IACC,wgB,GAAA,wa,GAAU,4E,IAEX;AAAA;AAAA,sBAQU,UARV;;AAKC;;;;;AACA;;;;;AACA;;;;;AAPD;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAQU;AAAA;;AAZkB,8JAAoB,KAApB;;AAA7B,wBAA6B,SAA7B;;AAEE;;AAGA,6BAAmB,QAAnB;AACA,6BAAyB,WAAzB;AACA,6BAAgC,WAAhC,CAAgC,QAAhC;AACA,8BAAgC,WAAhC,CAAgC,QAAhC;;AAJD,yBACC,SADD,EAEC,SAFD,EAGC,SAHD,EAIC,UAJD;AAIiC,S,EAAA;AARlC;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA0B,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACkB5B;AAAA;;;AAAA;AAAA;AAAA;;UAAa8V,kB;;;;;;;;;;;;;;;;;;;ACXb;AAAA;;;AAAA;AAAA;AAAA;;UAAaC,sB;AAPb;AAAA;;AAQW,eAAAC,UAAA,GAA0B,EAA1B;AAUV;;;;eARC,eAAkB;AAChB,mBACE,KAAKA,UAAL,CAAgB5E,MAAhB,CACE,UAACC,GAAD,EAAMC,YAAN;AAAA,qBAAuBD,GAAG,GAAGC,YAAY,CAACT,eAAnB,IAAsC,CAA7D;AAAA,aADF,EAEE,CAFF,KAGK,CAJP;AAMD;;;;;;;;;;;;;;;;;;;;;ACnBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAGaoF,a;AAGX,iCAAc;AAAA;;AAFd,eAAA3lB,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAEgB;;;;iBAEhB,uBAAW;AACT,iBAAKA,QAAL,CAAc0C,IAAd;AACA,iBAAK1C,QAAL,CAAc4W,QAAd;AACD;;;;;;;;;;;;;;;;;;;;;ACZH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAMagP,W;AAET,6BAAoBC,iBAApB,EAAkEC,MAAlE,EAA0FzN,SAA1F,EAAuH;AAAA;;AAAnG,eAAAwN,iBAAA,GAAAA,iBAAA;AAA8C,eAAAC,MAAA,GAAAA,MAAA;AAAwB,eAAAzN,SAAA,GAAAA,SAAA;AAAgC;;;;iBAC1H,mBAAUniB,KAAV,EAAyB;AAAA;;AACrB,iBAAK6vB,WAAL;AACA,gBAAMhL,CAAC,GAAG,IAAIzd,IAAJ,CAASpH,KAAT,CAAV;AACA,gBAAM8vB,GAAG,GAAG,IAAI1oB,IAAJ,EAAZ;AACA,gBAAM2oB,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAAS,CAACJ,GAAG,CAACniB,OAAJ,KAAgBkX,CAAC,CAAClX,OAAF,EAAjB,IAAgC,IAAzC,CAAX,CAAhB;AACA,gBAAMwiB,YAAY,GAAIrT,MAAM,CAACsT,KAAP,CAAaL,OAAb,CAAD,GAA0B,IAA1B,GAAiC,KAAKM,qBAAL,CAA2BN,OAA3B,IAAsC,IAA5F;AACA,iBAAKO,KAAL,GAAa,KAAKV,MAAL,CAAYW,iBAAZ,CAA8B,YAAM;AAC7C,kBAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,uBAAOA,MAAM,CAAC/tB,UAAP,CAAkB,YAAM;AAC3B,yBAAI,CAACmtB,MAAL,CAAYa,GAAZ,CAAgB;AAAA,2BAAM,OAAI,CAACd,iBAAL,CAAuBe,YAAvB,EAAN;AAAA,mBAAhB;AACH,iBAFM,EAEJP,YAFI,CAAP;AAGH;;AACD,qBAAO,IAAP;AACH,aAPY,CAAb;AAQA,gBAAMQ,OAAO,GAAGX,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASH,OAAO,GAAG,EAAnB,CAAX,CAAhB;AACA,gBAAMa,KAAK,GAAGZ,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASS,OAAO,GAAG,EAAnB,CAAX,CAAd;AACA,gBAAME,IAAI,GAAGb,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASU,KAAK,GAAG,EAAjB,CAAX,CAAb;AACA,gBAAME,MAAM,GAAGd,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASW,IAAI,GAAG,MAAhB,CAAX,CAAf;AACA,gBAAM/Y,KAAK,GAAGkY,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASW,IAAI,GAAG,GAAhB,CAAX,CAAd;;AACA,gBAAI/T,MAAM,CAACsT,KAAP,CAAaL,OAAb,CAAJ,EAA2B;AACvB,qBAAO,EAAP;AACH,aAFD,MAEO,IAAIA,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAK5N,SAAL,CAAevf,OAAf,CAAuB,mBAAvB,CAAP;AACH,aAFM,MAEA,IAAImtB,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAK5N,SAAL,CAAevf,OAAf,CAAuB,cAAvB,CAAP;AACH,aAFM,MAEA,IAAI+tB,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAKxO,SAAL,CAAevf,OAAf,CAAuB,aAAvB,EAAsC;AAAE+tB,uBAAO,EAAPA;AAAF,eAAtC,CAAP;AACH,aAFM,MAEA,IAAIA,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAKxO,SAAL,CAAevf,OAAf,CAAuB,aAAvB,CAAP;AACH,aAFM,MAEA,IAAIguB,KAAK,IAAI,EAAb,EAAiB;AACpB,qBAAO,KAAKzO,SAAL,CAAevf,OAAf,CAAuB,WAAvB,EAAoC;AAAEguB,qBAAK,EAALA;AAAF,eAApC,CAAP;AACH,aAFM,MAEA,IAAIA,KAAK,IAAI,EAAb,EAAiB;AACpB,qBAAO,KAAKzO,SAAL,CAAevf,OAAf,CAAuB,WAAvB,CAAP;AACH,aAFM,MAEA,IAAIiuB,IAAI,IAAI,EAAZ,EAAgB;AACnB,qBAAO,KAAK1O,SAAL,CAAevf,OAAf,CAAuB,UAAvB,EAAmC;AAAEiuB,oBAAI,EAAJA;AAAF,eAAnC,CAAP;AACH,aAFM,MAEA,IAAIA,IAAI,IAAI,EAAZ,EAAgB;AACnB,qBAAO,KAAK1O,SAAL,CAAevf,OAAf,CAAuB,aAAvB,CAAP;AACH,aAFM,MAEA,IAAIiuB,IAAI,IAAI,GAAZ,EAAiB;AACpB,qBAAO,KAAK1O,SAAL,CAAevf,OAAf,CAAuB,YAAvB,EAAqC;AAAEkuB,sBAAM,EAANA;AAAF,eAArC,CAAP;AACH,aAFM,MAEA,IAAID,IAAI,IAAI,GAAZ,EAAiB;AACpB,qBAAO,KAAK1O,SAAL,CAAevf,OAAf,CAAuB,YAAvB,CAAP;AACH,aAFM,MAEA;AAAE;AACL,qBAAO,KAAKuf,SAAL,CAAevf,OAAf,CAAuB,WAAvB,EAAoC;AAAEkV,qBAAK,EAALA;AAAF,eAApC,CAAP;AACH;AACJ;;;iBACD,uBAAW;AACP,iBAAK+X,WAAL;AACH;;;iBACO,uBAAc;AAClB,gBAAI,KAAKS,KAAT,EAAgB;AACZE,oBAAM,CAACO,YAAP,CAAoB,KAAKT,KAAzB;AACA,mBAAKA,KAAL,GAAa,IAAb;AACH;AACJ;;;iBACO,+BAAsBP,OAAtB,EAAuC;AAC3C,gBAAM9X,GAAG,GAAG,EAAZ;AACA,gBAAM+Y,EAAE,GAAG/Y,GAAG,GAAG,EAAjB;AACA,gBAAMgZ,GAAG,GAAGD,EAAE,GAAG,EAAjB;;AACA,gBAAIjB,OAAO,GAAG9X,GAAd,EAAmB;AAAE;AACjB,qBAAO,CAAP;AACH,aAFD,MAEO,IAAI8X,OAAO,GAAGiB,EAAd,EAAkB;AAAE;AACvB,qBAAO,EAAP;AACH,aAFM,MAEA,IAAIjB,OAAO,GAAGkB,GAAd,EAAmB;AAAE;AACxB,qBAAO,GAAP;AACH,aAFM,MAEA;AAAE;AACL,qBAAO,IAAP;AACH;AACJ;;;;;;;;;;;;;;;;;;;;;ACyCL;AAAA;;;AAAA;AAAA;AAAA;;UAAa3Y,c;;;;;;;;;;;;;;;;;;;ACrHb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECAA,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAgCjC,uH,IAAkD,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMlD,S;AAAA;;;uEAGA,uH,IAAkD,+E,IAAA,I,EAAA;AAAA;;AAAA;AAElD,S;AAAA;;;uEAUE,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAA6E,6E,IAE/E,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC8E,S,EAAA;AAD9E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEAKb,uH,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA2C;;;;;AAA3C;AAAA,sB,GAAA,0V,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,oN,GAAsF;AAAlE,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAApB,wBAAoB,SAApB;;AAAoE;AAAzB,4BAAwB,OAAxB,CAAwB,OAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AAA3C,wBAAoE,SAApE,EAA2C,SAA3C;AAAmE,S,EAAA;AAAnE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAsF,S;AAAA;;;uEAhB1F,wH,IACE,uH,IAAI,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAMF,+H,GAAA;AAAA;AAAA,gB,GAKF,uH,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAoB;;;;;AAApB;AAAA,sB,GAAA,2V,EAAA,4Z,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GAEF,+H,GAAA;AAAA;AAAA,gB,GAEK;AAVoB,4BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAvB,wBAAuB,SAAvB;;AAMA;;AAA6C;AAAzB,6BAAwB,QAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AAApB,yBAA6C,SAA7C,EAAoB,UAApB;;AAEE,6BAA+C,OAA/C,CAA+C,MAA/C,CAA+C,MAA/C,CAA+C,OAA/C,CAA+C,IAA/C,CAA+C,gBAA/C;;AAAJ,yBAAI,UAAJ;AAAmD,S,EAAA;AAd/C;;AAAA;;AAYF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA+D,S;AAAA;;;uEAjCzE,0H,IACE,oJ,IACE,iK,IACE,0I,IACE,yJ,IACA,uI,IAAgB,6E,GAAA,wQ,GAChB,+H,GAAA;AAAA;AAAA,gB,GAQF,2I,IACE,+H,GAAA;AAAA;AAAA,gB,GAKF,+H,GAAA;AAAA;AAAA,gB,GAkBK;AAhCC,4BAA6C,OAA7C,CAA6C,MAA7C,CAA6C,OAA7C,CAA6C,IAA7C,CAA6C,gBAA7C;;AAAJ,wBAAI,SAAJ;;AASI,4BAA6C,OAA7C,CAA6C,MAA7C,CAA6C,OAA7C,CAA6C,IAA7C,CAA6C,gBAA7C;;AAAJ,yBAAI,SAAJ;;AAKE,4BAA6C,OAA7C,CAA6C,OAA7C,CAA6C,IAA7C,CAA6C,eAA7C;;AAAJ,yBAAI,SAAJ;AAAiD,S,EAAA;AAf/B;;AAAA;AAAiC,S;AAAA;;;uEA6CnD,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAA6E,6E,IAE/E,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC8E,S,EAAA;AAD9E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEATf,8I,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEoB;;;;;AAFpB;AAAA,sB,GAAA,0V,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA,6J,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,oN,GAGA,+H,GAAA,8J,GAAW,gF,IAET,gI,GAAA;AAAA;AAAA,gB,GAGW;AARqB;;AACY,wHAAAtY,KAAA;;AAD9C,wBAAkC,SAAlC,EAC8C,UAD9C;;AACqE;;AADrE,wBACqE,UADrE;;AAAkC;;AAEhC;AAAkB,6BAA4B,OAA5B,CAA4B,MAA5B,CAA4B,OAA5B,CAA4B,IAA5B,CAA4B,KAA5B;;AAFpB,wBAAkC,UAAlC,EAEE,UAFF,EAEoB,UAFpB;;AAKyB,6BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAvB,yBAAuB,UAAvB;AAA8C,S,EAAA;AAJ9C;;AADF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBACE,SADF;;AAGW;;AAAA;AAET,S;AAAA;;;uEAPN,oJ,IACE,gI,GAAA;AAAA;AAAA,gB,EAAK,wL,GAAA;AAAA;;AAAA,8JAAqC,SAArC;;AAAL,wBAAK,SAAL;AAA0C,S,EAAA,I;AAAA;;;uEAmBtC,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAAyF,6E,IAE3F,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC0F,S,EAAA;AAD1F;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEARjB,0H,IACE,uH,IACA,yL,IACE,wL,GAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,EADF,6J,EAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,GACA,gI,GAAA;AAAA;AAAA,gB,GAGW,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQb,mJ,GAAA,iM,EAAA;AAAA;AAAA,gB,GAAgB,gF,IAEhB;AAfW;;AACT,0CAAuD,OAAvD,CAAuD,OAAvD,CAAuD,IAAvD,CAAuD,cAAvD;;AADF,wBAAW,SAAX,EACE,SADF;;AACE,0CAAuD,OAAvD,CAAuD,OAAvD,CAAuD,IAAvD,CAAuD,cAAvD;;AADS;;AAAX,wBACE,SADF,EAAW,SAAX;;AAEyB,4BAA+B,OAA/B,CAA+B,OAA/B,CAA+B,IAA/B,CAA+B,cAA/B;;AAAvB,yBAAuB,SAAvB;;AAWI;;AAAN,yBAAM,SAAN;AAAe,S,EAAA;AARF;;AAAA;;AAQb;;AAAA;;AAAgB;;AAAA;AAEhB,S;AAAA;;;uEAQA,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAA2F,6E,IAE7F,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC4F,S,EAAA;AAD5F;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEAPf,yH,IACE,uH,IACA,wL,GAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,EADF,6J,EAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,GACA,gI,GAAA;AAAA;AAAA,gB,GAGW,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQb;AAAA;;AAAuC;;;;;AAAvC;AAAA,0N,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAU;AAAA;AAAA,U,EAAV;AAAA;AAAA,oE,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GACW;AAdA;;AACT,0CAAwD,OAAxD,CAAwD,OAAxD,CAAwD,IAAxD,CAAwD,eAAxD;;AADF,wBAAW,SAAX,EACE,SADF;;AACE,0CAAwD,OAAxD,CAAwD,OAAxD,CAAwD,IAAxD,CAAwD,eAAxD;;AADS;;AAAX,wBACE,SADF,EAAW,SAAX;;AAEyB,4BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,IAAhC,CAAgC,eAAhC;;AAAvB,wBAAuB,SAAvB;;AAWuE;;AAAzE,yBAAyE,UAAzE;;AAAU;;AAAwE;;AAAlF,yBAAU,UAAV,EAAkF,UAAlF;;AAAuC,6BAAiC,OAAjC,CAAiC,OAAjC,CAAiC,IAAjC,CAAiC,UAAjC;;AAAvC,yBAAuC,UAAvC;AAAwE,S,EAAA;AAR3D;;AAAA;;AAQb;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACW,S;AAAA;;;uEAKX,uL,GAAA,6J,GAAuG,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMvG,S;AAAA;;;uEAKI,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAAiG,6E,IAEnG,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AACkG,S,EAAA;AADlG;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEANf,0H,IACE,mL,GAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,EADF,6J,EAAA;AAAA;AAAA;AAAA,gB,EACE;AAAA;AAAA,U,GACA,gI,GAAA;AAAA;AAAA,gB,GAGW,+E,GAAA,yD,EAAA,yD,EAAA,wL,GAQb,8T,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAe;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAGf,wH,IAAM;AAAA;AAhBK;;AACT,0CAAyD,QAAzD,CAAyD,SAAzD,CAAyD,oBAAzD;;AADF,wBAAW,SAAX,EACE,SADF;;AACE,0CAAyD,QAAzD,CAAyD,SAAzD,CAAyD,oBAAzD;;AADS;;AAAX,wBACE,SADF,EAAW,SAAX;;AAEyB,4BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAvB,wBAAuB,SAAvB;;AAW8D,6BAA6B,kBAA7B;;AAAjD,0DAAgD,QAAhD,CAAgD,SAAhD,CAAgD,IAAhD;;AACQ;AAAkB;AAAvC;;AADF,yBAAgE,SAAhE,EAAe,SAAf,EACuB,SADvB,EACyC,SADzC,EACE,UADF;AACsB,S,EAAA;AATT;;AAAA;AAMb,S;AAAA;;;uEAtBJ,uJ,IACE,uH,IACA,gI,GAAA;AAAA;AAAA,gB,GAQA,gI,GAAA;AAAA;AAAA,gB,GAkBe;AA1BiD,4BAAsC,OAAtC,CAAsC,OAAtC,CAAsC,IAAtC,CAAsC,qBAAtC;;AAAhE,wBAAgE,SAAhE;;AAQc,4BAAyC,OAAzC,CAAyC,OAAzC,CAAyC,IAAzC,CAAyC,WAAzC;;AAAd,wBAAc,SAAd;AAAuD,S,EAAA,I;AAAA;;;uEAuBvD,uL,GAAA,6J,GAAkG,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAAA,I,EAAA;AAAA;;AAAA;AAMlG,S;AAAA;;;uEARF,yH,IACE,uH,IACA,gI,GAAA;AAAA;AAAA,gB,GAQA;AAAA;;AAAwE;;;;;AAAxE;AAAA,wO,GAAA;AAAA;AAAA,gB,EAAc;AAAA;AAAA,U,EAAd;AAAA;AAAA,gB,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,EAAA;AAAA;AAAA,gB,EAAc;AAAA;AAAA,U,GAEZ,wI,GAAM,yD,EAAA,yD,EAAA,wL,GAAsF;AAV9B,4BAAiC,OAAjC,CAAiC,OAAjC,CAAiC,IAAjC,CAAiC,gBAAjC;;AAAhE,wBAAgE,SAAhE;;AAQc,2CAAyD,OAAzD,CAAyD,OAAzD,CAAyD,IAAzD,CAAyD,gBAAzD;;AAAd,wBAAc,UAAd;;AACE;;AADF,wBACE,UADF;;AACE;AADsE,6BAAkC,OAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,WAAlC;;AAAxE,wBACE,UADF,EAAwE,UAAxE;;AAAc,4CAAyD,OAAzD,CAAyD,OAAzD,CAAyD,IAAzD,CAAyD,gBAAzD;;AAAd,yBAAc,UAAd;AAAuE,S,EAAA;AAAvE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEQ;;AAAN,yBAAM,UAAN;AAA4F,S;AAAA;;;uEArKlG,yH,IACE,wH,GAAA;AAAA;AAAA,gB,EAAI;AAAA;AAAA,U,EAAJ;AAAA;AAAA,gB,EAAI;AAAA;AAAA,U,GACF,yH,IAAM,6E,GAAA,wD,GACN,+I,IAA+B,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQjC,uH,IAAG,gF,GAAA,yD,EAAA,yD,EAAA,wL,GAQH;AAAA;;AAAc;;;;;AAAd;AAAA,wO,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,qN,GAAuD,6E,GAAA,wQ,GAIvD,+H,GAAA;AAAA;AAAA,gB,GA2CA,gI,GAAA;AAAA;AAAA,gB,GAeA,gI,GAAA;AAAA;AAAA,gB,GAsBA,gI,GAAA;AAAA;AAAA,gB,GAmBA,gI,GAAA;AAAA;AAAA,gB,GA+BA,gI,GAAA;AAAA;AAAA,gB,GAcM;AAtKF,0CAAmD,QAAnD,CAAmD,IAAnD,CAAmD,UAAnD;;AAAJ,wBAAI,SAAJ;;AAAI,0CAAmD,QAAnD,CAAmD,IAAnD,CAAmD,UAAnD;;AAAJ,wBAAI,SAAJ;;AAkB8C;;AAA9C,yBAA8C,UAA9C;;AAA8C;AAAhC,6BAA+B,QAA/B,CAA+B,IAA/B,CAA+B,QAA/B;;AAAd,yBAA8C,UAA9C,EAAc,UAAd;;AAIc,6BAAkC,OAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,kBAAlC;;AAAd,yBAAc,UAAd;;AA2CK,8BAAmC,OAAnC,CAAmC,OAAnC,CAAmC,IAAnC,CAAmC,kBAAnC;;AAAL,yBAAK,UAAL;;AAec,6BAAwB,QAAxB,CAAwB,IAAxB,CAAwB,OAAxB;;AAAd,yBAAc,UAAd;;AAsBK,6BAAyB,QAAzB,CAAyB,IAAzB,CAAyB,QAAzB;;AAAL,yBAAK,UAAL;;AAmBK,6BAA+B,QAA/B,CAA+B,IAA/B,CAA+B,cAA/B;;AAAL,yBAAK,UAAL;;AA+BK,6BAA2C,QAA3C,CAA2C,IAA3C,CAA2C,0BAA3C;;AAAL,yBAAK,UAAL;AAAgD,S,EAAA;AAvJxC;;AAAA;;AACyB;;AAAA;;AAQ9B;;AAAA;;AAQH;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAuD;;AAAA;AAEvD,S;AAAA;;;uEAtBJ,yH,IACE,+H,GAAA;AAAA;AAAA,gB,EAAK,wL,GAAA,4E,IAAA;AAAA;;AAAA,8JAAqC,UAArC;;AAAL,wBAAK,SAAL;AAA0C,S,EAAA,I;AAAA;;;6YAJ5C,+H,GAAA;AAAA;AAAA,gB,GAGA,+H,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAmC;AAAA;AAHtB,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAGc,8JAAmC,SAAnC;;AAAd,wBAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACFjD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UASakxB,a;AAaX;;;AAGA,+BAAmBxqB,QAAnB,EAAuC;AAAA;;AAApB,eAAAA,QAAA,GAAAA,QAAA;AAXnB,eAAAoD,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAEA,eAAAvL,gBAAA,GAAmB,KAAKmI,QAAL,CAActB,GAAd,CAAkB,oEAAlB,CAAnB;AACA,eAAA/G,aAAA,GAAgB,KAAKqI,QAAL,CAActB,GAAd,CAAkB,wDAAlB,CAAhB;AACA,eAAAkF,MAAA,GAAoB,KAAK5D,QAAL,CAActB,GAAd,CAAkB,kEAAlB,CAApB;AAEA,eAAA+rB,gBAAA,GAAmB,KAAKzqB,QAAL,CAActB,GAAd,CAAkB,gEAAlB,CAAnB;AACA,eAAAgsB,cAAA,GAAiB,KAAK1qB,QAAL,CAActB,GAAd,CAAkB,+DAAlB,CAAjB;AAIyC;;;;iBAEzC,uBAAW;AACT,iBAAK0E,QAAL,CAAc0C,IAAd;AACA,iBAAK1C,QAAL,CAAc4W,QAAd;AACD;;;iBAES,0BAUF;AAAA,4FAAJ,EAAI;AAAA,oCATNla,KASM;AAAA,gBATNA,KASM,4BATE,KAAKjI,gBAAL,CAAsBqE,OAAtB,CAA8B,uBAA9B,CASF;AAAA,0CARNyuB,WAQM;AAAA,gBARNA,WAQM,kCARQ,KAAK9yB,gBAAL,CAAsBqE,OAAtB,CAA8B,6BAA9B,CAQR;AAAA,0CAPN0uB,WAOM;AAAA,gBAPNA,WAOM,kCAPQ,KAAK/yB,gBAAL,CAAsBqE,OAAtB,CAA8B,gBAA9B,CAOR;AAAA,wCANNyL,SAMM;AAAA,gBANNA,SAMM,gCANM,KAMN;;AACN,mBAAO,KAAK/D,MAAL,CAAY2C,IAAZ,CAAiB,gKAAjB,EAAwC;AAC7CC,mBAAK,EAAE,iBADsC;AAE7CmB,uBAAS,EAAEA,SAFkC;AAG7ClB,wBAAU,EAAE,cAHiC;AAI7C7N,kBAAI,EAAE;AACJkH,qBAAK,EAAEA,KADH;AAEJ6qB,2BAAW,EAAEA,WAFT;AAGJC,2BAAW,EAAEA;AAHT;AAJuC,aAAxC,CAAP;AAUD;;;iBAES,6BAMF;AAAA,4FAAJ,EAAI;AAAA,oCALN9qB,KAKM;AAAA,gBALNA,KAKM,4BALE,eAKF;AAAA,sCAJN9H,OAIM;AAAA,gBAJNA,OAIM,8BAJI,4BAIJ;;AACN,iBAAKL,aAAL,CAAmBkzB,OAAnB,CACE,KAAKhzB,gBAAL,CAAsBqE,OAAtB,CAA8BlE,OAA9B,CADF,EAEE,KAAKH,gBAAL,CAAsBqE,OAAtB,CAA8B4D,KAA9B,CAFF;AAID;;;iBAES,2BAMF;AAAA,6FAAJ,EAAI;AAAA,sCALNA,KAKM;AAAA,gBALNA,KAKM,6BALE,qBAKF;AAAA,wCAJN9H,OAIM;AAAA,gBAJNA,OAIM,+BAJI,sBAIJ;;AACN,iBAAKL,aAAL,CAAmBsE,KAAnB,CACE,KAAKpE,gBAAL,CAAsBqE,OAAtB,CAA8B4D,KAA9B,CADF,EAEE,KAAKjI,gBAAL,CAAsBqE,OAAtB,CAA8BlE,OAA9B,CAFF;AAID;;;;;;;;;;;;;;;;;;;;;AC3DH;AAAA;;;AAAA;AAAA;AAAA;;AAAA,UAAY8yB,SAAZ;;AAAA,iBAAYA,SAAZ,EAAqB;AACjB;AACA;AACA;AACH,OAJD,EAAYA,SAAS,KAATA,SAAS,MAArB;;;;;;;;;;;;;;;;;ACrBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAMaC,6B;;;;;;;iBACZ,wBAAsB3hB,UAAtB,EAAsC;AACrC,mBAAO;AACN4hB,sBAAQ,EAAED,6BADJ;AAENE,uBAAS,EAAE,CAAC;AAAEC,uBAAO,EAAE,0EAAX;AAAyCC,wBAAQ,EAAE/hB,UAAnD;AAA+DgiB,qBAAK,EAAE;AAAtE,eAAD;AAFL,aAAP;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECAC,wH,IACC,wJ,IACC,gK,IACA,wJ,IAED,8I,IAAuB,8E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAAuD,S;AAAA;;;uEAY5E,2T,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAES;AAAA;AAFuC,gEAAyC,cAAzC,CAAyC,cAAzC;AAC/C,6BAAyB,WAAzB;AAD0B;;AAA3B,wBAAgD,SAAhD,EACC,SADD,EAA2B,SAA3B;AAA+C,S,EAAA,I;AAAA;;;uEAa3C,uH,IACC,wH,GAAA;AAAA;AAAA,gB,EAAK;AAAA;AAAA,U,EAAL;AAAA;AAAA,gB,EAAK;AAAA;AAAA,U,GAAgD,+E,GAAA,sQ,GAErD;AAAA;;AAFK,2CAA+C,SAA/C;;AAAL,wBAAK,SAAL;;AAAK,2CAA+C,SAA/C;;AAAL,wBAAK,SAAL;AAAoD,S,EAAA;AAAA;;AAAC;;AAAA;AAErD,S;AAAA;;;uEAJF,uH,IACC,2H,GAAA;AAAA;AAAA,gB,GAIK;AAAA;AAJD,6BAA+B,YAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S,EAAA,I;AAAA;;;uEAc/B,yH,IAIC,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EACC,sQ,GAEA,0hB,GAAA,2a,GACyB,mF,IAAY;AAAA;AAFrC;;AADA,oOAAwD,OAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,OAAxD,CAAwD,SAAxD,CAAwD,GAAxD;;AADD,wBAEC,SAFD,EACC,SADD;;AAGC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACgD,S;AAAA;;;uEAKlD,yH,IAIC,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EACC,sQ,GAEA,8hB,GAAA,2a,GAC6B,6E,IAAM;AAAA;AAFnC;;AADA,2OAAwD,OAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,OAAxD,CAAwD,SAAxD,CAAwD,GAAxD;;AADD,wBAEC,SAFD,EACC,SADD;;AAGC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAC8C,S;AAAA;;;uEATjD,4H,GAAA;AAAA;AAAA;AAAA,gB,GAYe,4E,IAAA;AAAA;AAZD;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAGE,S,EAAA,I;AAAA;;;uEAYF,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EACC,sQ,GAEA,0hB,GAAA,2a,GAAkC,4E,IAAK;AAAA;AADvC;;AADA;;AADD,wBAEC,SAFD,EACC,SADD;;AAGC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAlCtD,yH,IACC,4H,GAAA;AAAA;AAAA;AAAA,gB,GAaA,qI,IAeA,kI,IAQc;AAAA;AApCA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAGE,S,EAAA,I;AAAA;;;uEAsCF,yH,IACC,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EACC,sQ,GAEA,0hB,GAAA,2a,GACyB,mF,IAAY;AAAA;AAFrC;;AADA,oOAAwD,OAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,OAAxD,CAAwD,SAAxD,CAAwD,GAAxD;;AADD,wBAEC,SAFD,EACC,SADD;;AAGC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACgD,S;AAAA;;;uEAKlD,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EACC,sQ,GAEA,0hB,GAAA,2a,GAAkC,4E,IAAK;AAAA;AADvC;;AADA;;AADD,wBAEC,SAFD,EACC,SADD;;AAGC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAhBtD,yH,IACC,4H,GAAA;AAAA;AAAA;AAAA,gB,GAUA,kI,IAQc;AAlBA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAkD,S,EAAA,I;AAAA;;;uEA5CpD,wH,IAEC,4H,GAAA;AAAA;AAAA,gB,GAyCA,4H,GAAA;AAAA;AAAA,gB,GAoBe;AA7DD;;AAAd,wBAAc,SAAd;;AAyCc;;AAAd,wBAAc,SAAd;AAA6C,S,EAAA,I;AAAA;;;uEAsB9C,wH,IACC,2J,GAAA;AAAA;AAAA;AAAA,gB,EACC;AAAA;AAAA,U,EADD;AAAA;AAAA;AAAA,gB,EACC;AAAA;AAAA,U,GAA8C,6E,GAAA,sQ,GAChB;AAAA;AAFzB;;AACL,2CAA6C,SAA7C;;AADD,wBAAM,SAAN,EACC,SADD;;AACC,2CAA6C,SAA7C;;AADK;;AAAN,wBACC,SADD,EAAM,SAAN;AAAmC,S,EAAA;AAAA;;AACY;;AAAA;AAChB,S;AAAA;;;uEAG/B,gK,GAAA;AAAA;AAAA;AAAA,gB,EAAwB;AAAA;AAAA,U,EAAxB;AAAA;AAAA;AAAA,gB,EAAwB;AAAA;AAAA,U,GAAwC;AAAA;AAA1D;;AAAkB,2CAAwC,SAAxC;;AAAxB,wBAAM,SAAN,EAAwB,SAAxB;;AAAwB,2CAAwC,SAAxC;;AAAlB;;AAAN,wBAAwB,SAAxB,EAAM,SAAN;AAAuB,S,EAAA;AACA,sEAA2B,OAA3B,CAA2B,MAA3B,CAA2B,OAA3B,CAA2B,SAA3B,CAA2B,GAA3B;;AADvB,wBACuB,SADvB;AACkD,S;AAAA;;;uEAFnD,wH,IACC,4H,GAAA;AAAA;AAAA,gB,GAEO;AADN,+DAAqB,OAArB,CAAqB,OAArB,CAAqB,SAArB,CAAqB,GAArB;;AADD,wBACC,SADD;AACsB,S,EAAA,I;AAAA;;;uEA1EzB,uH,IACC,wH,GAAA;AAAA;AAAA,gB,GACC,2H,GAAA;AAAA;AAAA,gB,GAiEA,4H,GAAA;AAAA;AAAA,gB,GAKA,4H,GAAA,8U,GAIM;AA3EF,4BAAqB,QAArB,CAAqB,SAArB,CAAqB,IAArB;;AAAL,wBAAK,SAAL;;AACM;;AAAL,wBAAK,SAAL;;AAiEK;;AAAL,wBAAK,SAAL;AAAkC,S,EAAA,I;AAAA;;;uEApErC,uH,IACC,2H,GAAA;AAAA;AAAA,gB,GA8EK;AAAA;AA9ED,6BAA+B,YAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S,EAAA,I;AAAA;;;uEAdvC,gM,IAEC,0W,GAAA,2L,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GACC,oH,GAAA;AAAA;AAAA,gB,GASA,oH,GAAA;AAAA;AAAA,gB,GAoFD,uH,IAAM;AAAA;AA9FO,6BAAsB,aAAtB;;AAAb,wBAAa,SAAb;;AACc;;AAAb,wBAAa,SAAb;;AASa;;AAAb,wBAAa,SAAb;AAA6B,S,EAAA,I;AAAA;;;uEA9CpC,4I,IAEC;AAAA;AAAA,sBAGS,UAHT;;AAAsB;;;;;AAAtB;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EACC,sQ,GACA,uhB,GAAA,2a,GAA+B,sF,IAGhC;AAAA;AAAA,sBAgIW,UAhIX;;AAAU;;;;;AAAV;AAAA,0N,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAmC;AAAA;AAAA,U,GAElC,wH,GAAA;AAAA;AAAA,gB,GAQA,qL,IACC,yI,IACC,wJ,IACC,+M,IAIF,yI,IACC,4I,IACC,2H,GAAA;AAAA;AAAA,gB,GAMF,yI,IACC,4I,IACC,2H,GAAA;AAAA;AAAA,gB,GAiGM;AAAA;AAhI4C;;AAArD;;AADD,wBACsD,SADtD,EACC,SADD;;AAEC;;AAIqB;AAAoB;AADwC;AACjF;AADS,8BAAwB,WAAxB;;AAAyB;;AAA4B;;AAA/D,wBACsB,SADtB,EAC0C,SAD1C,EAAkF,SAAlF,EACC,UADD,EAAU,UAAV,EAAmC,UAAnC,EAA+D,UAA/D;;AAEM,8BAAkB,WAAlB;;AAAL,yBAAK,UAAL;;AAiBW,8BAAkB,WAAlB;;AAAR,yBAAQ,UAAR;;AASC,kDAA2C,aAA3C,CAA2C,MAA3C;;AADD,yBACC,UADD;AAC4C,S,EAAA;AA/B/C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAyD,S;AAAA;;;uEA2IxD,uH,IACC,oJ,IAA6B,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE7B,S;AAAA;;;uEAJF,uH,IACC,4H,GAAA;AAAA;AAAA,gB,GAIK;AAAA;AAJD,6BAA+B,YAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S,EAAA,I;AAAA;;;uEAc/B,yH,IAEC,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EAAM,sQ,GAEL,0hB,GAAA,2a,GAAkC,mF,IAAY;AAAA;AAD9C;;AADK,oOAAwD,OAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,OAAxD,CAAwD,SAAxD,CAAwD,GAAxD;;AAAN,wBACC,SADD,EAAM,SAAN;;AAEC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAyD,S;AAAA;;;uEAK3D,yH,IAEC,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EAAM,sQ,GAEL,8hB,GAAA,2a,GAAsC,6E,IAAM;AAAA;AAD5C;;AADK,2OAAwD,OAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,OAAxD,CAAwD,SAAxD,CAAwD,GAAxD;;AAAN,wBACC,SADD,EAAM,SAAN;;AAEC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAuD,S;AAAA;;;uEAL1D,4H,GAAA;AAAA;AAAA;AAAA,gB,GAQe,4E,IAAA;AAAA;AAPd;;AAAA;;AADD,wBACC,SADD,EACC,SADD;AACiF,S,EAAA,I;AAAA;;;uEAUjF,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EAAM,sQ,GAEL,0hB,GAAA,2a,GAAkC,4E,IAAK;AAAA;AADvC;;AADK;;AAAN,wBACC,SADD,EAAM,SAAN;;AAEC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAzBtD,yH,IACC,4H,GAAA;AAAA;AAAA;AAAA,gB,GASA,qI,IAWA,kI,IAOc;AAAA;AA1Bb;;AAAA;;AADD,wBACC,SADD,EACC,SADD;AACiF,S,EAAA,I;AAAA;;;uEA+BjF,yH,IACC,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EAAM,sQ,GAEL,0hB,GAAA,2a,GAAkC,mF,IAAY;AAAA;AAD9C;;AADK,oOAAwD,OAAxD,CAAwD,MAAxD,CAAwD,MAAxD,CAAwD,OAAxD,CAAwD,SAAxD,CAAwD,GAAxD;;AAAN,wBACC,SADD,EAAM,SAAN;;AAEC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAyD,S;AAAA;;;uEAK3D,wH,IACC,yH,GAAA;AAAA;AAAA;AAAA,gB,EAAM,sQ,GAEL,0hB,GAAA,2a,GAAkC,4E,IAAK;AAAA;AADvC;;AADK;;AAAN,wBACC,SADD,EAAM,SAAN;;AAEC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAbtD,yH,IACC,4H,GAAA;AAAA;AAAA;AAAA,gB,GAQA,kI,IAOc;AAfA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAkD,S,EAAA,I;AAAA;;;uEAnCpD,wH,IAEC,4H,GAAA;AAAA;AAAA,gB,GAgCA,4H,GAAA;AAAA;AAAA,gB,GAiBe;AAjDD;;AAAd,wBAAc,SAAd;;AAgCc;;AAAd,wBAAc,SAAd;AAA6C,S,EAAA,I;AAAA;;;uEAmB9C,wH,IACC,qJ,IAA8B,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAAiD,S;AAAA;;;uEAK7E,yI,IAA6D,I,EAAA;AAAlC,oFAA2B,OAA3B,CAA2B,MAA3B,CAA2B,MAA3B,CAA2B,MAA3B,CAA2B,OAA3B,CAA2B,SAA3B,CAA2B,GAA3B;;AAA3B,wBAA2B,SAA3B;AAAsD,S;AAAA;;;uEAAtD,4H,GAAA;AAAA;AAAA,gB,GAA6D,4E,IAAA;AAAxD,6EAAqB,OAArB,CAAqB,MAArB,CAAqB,MAArB,CAAqB,OAArB,CAAqB,SAArB,CAAqB,GAArB;;AAAL,wBAAK,SAAL;AAA0B,S,EAAA,I;AAAA;;;uEAF5B,yH,IACC,wI,IAGA,yH,IAAM,mF,GAAA,oH,GAEL,uP,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gB,GAEyE;AADxE;AADsD;AAEtD;AAA+B;AAAkB;;AADzB;;AADzB,wBACC,SADD,EAAuD,SAAvD,EAEC,SAFD,EAEgC,SAFhC,EAEkD,SAFlD,EACyB,SADzB;AACsD,S,EAAA;AAHjD;;AAAA;AAEL,S;AAAA;;;uEAaD,0I,IAAgE,I,EAAA;AAApC,6EAA2B,OAA3B,CAA2B,MAA3B,CAA2B,MAA3B,CAA2B,OAA3B,CAA2B,SAA3B,CAA2B,GAA3B;;AAA5B,wBAA4B,SAA5B;AAAuD,S;AAAA;;;uEAGtD,yI,IAA6D,I,EAAA;AAAlC,oFAA2B,OAA3B,CAA2B,MAA3B,CAA2B,MAA3B,CAA2B,MAA3B,CAA2B,OAA3B,CAA2B,SAA3B,CAA2B,GAA3B;;AAA3B,wBAA2B,SAA3B;AAAsD,S;AAAA;;;uEAAtD,4H,GAAA;AAAA;AAAA,gB,GAA6D,4E,IAAA;AAAxD,6EAAqB,OAArB,CAAqB,MAArB,CAAqB,MAArB,CAAqB,OAArB,CAAqB,SAArB,CAAqB,GAArB;;AAAL,wBAAK,SAAL;AAA0B,S,EAAA,I;AAAA;;;uEAG3B,uP,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gB,GAG0C,4E,IAAA;AADzC;AADoD;AACF;AAClD;AAAkB;;AADM;;AAFzB,wBAEC,SAFD,EACqD,SADrD,EAEmD,SAFnD,EAGC,SAHD,EAGmB,SAHnB,EAEyB,SAFzB;AAEkD,S,EAAA,I;AAAA;;;uEARlD,4H,GAAA;AAAA;AAAA,gB,GAEA,oI,IAIA,4H,GAAA;AAAA;AAAA,gB,GAG0C,4E,IAAA;AATpC,sEAAqB,OAArB,CAAqB,MAArB,CAAqB,OAArB,CAAqB,SAArB,CAAqB,GAArB;;AAAN,wBAAM,SAAN;;AAMG;;AAAH,wBAAG,SAAH;AAAqD,S,EAAA,I;AAAA;;;uEA1BvD,wH,IACC,4H,GAAA;AAAA;AAAA;AAAA,gB,GAkBA,mI,IAWc;AA7BA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAgF,S,EAAA,I;AAAA;;;uEA3DnF,uH,IACC,wH,GAAA;AAAA;AAAA,gB,GACC,4H,GAAA;AAAA;AAAA,gB,GAqDA,4H,GAAA;AAAA;AAAA,gB,GAGA,4H,GAAA,8U,GA+BM;AAxFF,4BAAqB,QAArB,CAAqB,SAArB,CAAqB,IAArB;;AAAL,wBAAK,SAAL;;AACM;;AAAL,wBAAK,SAAL;;AAqDK;;AAAL,wBAAK,SAAL;AAAkC,S,EAAA,I;AAAA;;;uEAxDrC,uH,IACC,4H,GAAA;AAAA;AAAA,gB,GA2FK;AAAA;AA3FD,6BAA+B,YAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S,EAAA,I;AAAA;;;uEAbvC,mL,IACC,0W,GAAA,2L,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GACC,qH,GAAA;AAAA;AAAA,gB,GASA,qH,GAAA;AAAA;AAAA,gB,GA+Fc;AAAA;AAzGF,6BAAsB,aAAtB;;AAAb,wBAAa,SAAb;;AACc;;AAAb,wBAAa,SAAb;;AASa;;AAAb,wBAAa,SAAb;AAA6B,S,EAAA,I;AAAA;;;;;aAzJ/B,8U,GAAA,4M,GAEA,wI,IACC,2H,GAAA;AAAA;AAAA,gB,GA2ID,4H,GAAA;AAAA;AAAA,gB,GA4GM;AAAA;AAvPe,6BAAmB,YAAnB;;AAApB,wBAAoB,SAApB;;AA2IqD,iDAA2C,aAA3C,CAA2C,MAA3C;;AAAtD,wBAAsD,SAAtD;AAAiG,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC5I7F,yH,IACE,oZ,GAAA,grB,GAAA;AAAA;AAA4D,S,EAAA,I;AAAA;;;uEAE9D,sZ,GAAA,snB,GAAA;AAAA;AAA4E,S,EAAA,I;AAAA;;;uEALhF,kK,IACE,yH,GAAA;AAAA;AAAA,gB,GACE,iI,GAAA;AAAA;AAAA,gB,GAGA,iI,GAAA,gV,GAA4E;AAJhE,4BAAoC,QAApC,CAAoC,IAApC,CAAoC,aAApC;;AAAd,wBAAc,SAAd;;AACgB;;AAAd,wBAAc,SAAd;AAAqC,S,EAAA,I;AAAA;;;uEAFzC,iI,GAAA;AAAA;AAAA,gB,EAA2C,yL,GAAA;AAAA;;AAAA,8JAAuC,WAAvC;;AAA3C,wBAA2C,SAA3C;AAAkF,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECE1E,yH,IACI,iJ,IACI,yH,IAAM,6E,GAAA,sQ,GACN,2I,IAA0B,I,EAAA;AADpB;;AAAA;AAAmD,S;AAAA;;;uEAKjE,yH,IACI,8I,IACI,yH,IAAM,6E,GAAA,sQ,GACN,2I,IAA0B,I,EAAA;AADpB;;AAAA;AAAiD,S;AAAA;;;uEAXvE,sJ,IACI,4I,GAAA;AAAA;AAAA,gB,GACI,2H,GAAA;AAAA;AAAA,gB,GAOA,2H,GAAA;AAAA;AAAA,gB,GAKe;AAAA;AAbE,6BAAmB,OAAnB;;AAArB,wBAAqB,SAArB;;AACkB;;AAAd,wBAAc,SAAd;;AAOc;;AAAd,wBAAc,SAAd;AAA+B,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACRvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMxrB,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,kBAD6C;AAEnDW,gBAAQ,EAAE,kBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAeO,eAASurB,+BAAT,CAAyCrrB,QAAzC,EAA6D;AAClE,wFAA8BJ,iBAA9B,EAAiD,mFAAjD,EAA0EI,QAA1E;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECrBD,2I,IAA6C,I,EAAA,I;AAAA;;;uEAKzC;AAAA;AAAA,sBAOS,UAPT;;AAGC;;;;;AAHD;AAAA,sB,GAAA,+M,GAKC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEAEA,yK,IACC,uH,GAAA;AAAA;AAAA,gB,EACC;AAAA;AAAA;AAAA,U,EADD;AAAA;AAAA,gB,EACC;AAAA;AAAA;AAAA,U,GAIA,+E,IAED;AAAA;;AANC;;AADD,wBACC,SADD;;AACC;;AADD,wBACC,SADD;AAIG,S,EAAA;AAAA;AACF;;AAAA;AAED,S;AAAA;;;uEAGD,gd,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GACC,6J,GAAA,kK,GACC,yH,IAAM,6E,IAAqB;AAFY;;AAAzC,wBAAyC,SAAzC;AAAiD,S,EAAA;AAAA;AAAjD;AAAA;;AAAA;;AAEQ;;AAAA;AAAqB,S;AAAA;;;uEA1BjC,8I,IACC,qJ,IACC,+O,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA,4b,GACC,yI,GAAA;AAAA;AAAA,gB,GACC,+G,GAAA;AAAA;AAAA,gB,GASA,+G,GAAA;AAAA;AAAA,gB,GAWA,+G,GAAA;AAAA;AAAA,gB,EAMA,2D,GAAyB;AAAA;AA5BT;AAA0C;;AAA5D,wBAAkB,SAAlB,EAA4D,SAA5D;;AAAiC;;AAAjC,wBAAiC,SAAjC;;AACM;;AAAL,wBAAK,SAAL;;AAKE;;AAJD,wBAIC,SAJD;;AAS4C,6BAAiB,UAAjB;;AAA5C,yBAA4C,SAA5C;;AAWkD,6BAAuB,gBAAvB;;AAAlD,yBAAkD,SAAlD;AAAyE,S,EAAA,I;AAAA;;;uEAzB7E,+G,GAAA;AAAA;AAAA,gB,GACA,+G,GAAA;AAAA;AAAA,gB,GAkCM;AAAA;AAnCc,6BAAkB,WAAlB;;AAApB,wBAAoB,SAApB;;AACsB,8BAAmB,WAAnB;;AAAtB,wBAAsB,SAAtB;AAAyC,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAmBasrB,sB;;;;;AAgBX,wCAAoBC,SAApB,EACUzoB,iBADV,EAEU0oB,uBAFV,EAGU3zB,gBAHV,EAIUF,aAJV,EAIwC;AAAA;;AAAA;;AAAE;AAJtB,kBAAA4zB,SAAA,GAAAA,SAAA;AACV,kBAAAzoB,iBAAA,GAAAA,iBAAA;AACA,kBAAA0oB,uBAAA,GAAAA,uBAAA;AACA,kBAAA3zB,gBAAA,GAAAA,gBAAA;AACA,kBAAAF,aAAA,GAAAA,aAAA;AAlBV,kBAAA8zB,cAAA,GAAiB,QAAK3oB,iBAAL,CAAuBE,eAAxC;AACA,kBAAAqX,gBAAA,GAA4B,KAA5B;AACA,kBAAAqR,kBAAA,GAAqB,6EAAiBC,kBAAtC;AAEA,kBAAApmB,UAAA,GAA8B,EAA9B;AACA,kBAAAqmB,gBAAA,GAAmB,CACjB,QADiB,EAEjB,WAFiB,EAGjB,SAHiB,EAIjB,iBAJiB,EAKjB,qBALiB,EAMjB,SANiB,CAAnB;AAawC;AAAY;;;;iBAEpD,oBAAW;AACT,iBAAKpO,OAAL;AACD;;;iBAED,kBAASqO,aAAT,EAAsH;AAAA;;AAAA,gBAA/EC,IAA+E,uEAAzD,IAAyD;AAAA,gBAAnDC,UAAmD,uEAA7B,KAA6B;AAAA,gBAAtBvvB,KAAsB,uEAAN,IAAM;AACpH,gBAAM+F,GAAG,GAAG,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KAAhE;AACA,iBAAK0pB,SAAL,CAAehlB,IAAf,CAAoB,sHAApB,EAAmD;AACjDC,mBAAK,EAAE,gBAD0C;AAEjDmB,uBAAS,EAAEpF,GAFsC;AAGjDuV,uBAAS,EAAE,MAHsC;AAIjDC,uBAAS,EAAE,KAJsC;AAKjDnQ,0BAAY,EAAE,KALmC;AAMjDhP,kBAAI,EAAE;AACJqI,wBAAQ,EAAE8qB,UADN;AAEJjrB,qBAAK,EAAEgrB,IAAI,IAAI,IAAI,0EAAJ,EAFX;AAGJvpB,mBAAG,EAAEA;AAHD;AAN2C,aAAnD,EAYGmE,WAZH,GAaGvD,IAbH,CAcI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAdJ,EAeI,kDAAK,CAAL,CAfJ,EAiBG+C,SAjBH,CAiBa,UAACgL,MAAD,EAAiB;AAC1B,kBAAM7F,KAAK,mCACN6F,MADM,GACA;AACTqlB,uBAAO,EAAEH,aAAa,CAACI,aAAd,CAA4BD,OAD5B;AAETlW,wBAAQ,EAAE+V,aAAa,CAACI,aAAd,CAA4BnW,QAF7B;AAGToW,uBAAO,EAAE;AAHA,eADA,CAAX;;AAOA,kBAAIJ,IAAJ,EAAU;AACR,uBAAI,CAACvmB,UAAL,CAAgB/I,KAAhB,IAAyBsE,KAAzB;AACA,uBAAI,CAACyE,UAAL,sBAAsB,OAAI,CAACA,UAA3B;AACD,eAHD,MAIE,OAAI,CAACA,UAAL,gCAAsB,OAAI,CAACA,UAA3B,IAAuCzE,KAAvC;AACH,aA9BH;AA+BD;;;iBAED,cAAKtE,KAAL,EAAoB;AAClB,iBAAK+I,UAAL,CAAgB/I,KAAhB,EAAuB0vB,OAAvB,GAAiC,KAAjC;AACA,iBAAK3mB,UAAL,sBAAsB,KAAKA,UAA3B;AACD;;;iBACD,oBAAW/I,KAAX,EAA0B;AAAA;;AACxB,iBAAK+uB,SAAL,CAAehlB,IAAf,CAAoB,qEAApB,EAAiD;AAC/CoB,uBAAS,EAAE,KAAK9P,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KADhB;AAE/CjJ,kBAAI,EAAE;AACJZ,uBAAO,EAAE,+CADL;AAEJ6P,0BAAU,EAAE;AACVJ,oBAAE,EAAE,kBADM;AAEVC,wBAAM,EAAE;AAFE;AAFR,eAFyC;AAS/ClB,mBAAK,EAAE,MATwC;AAU/CC,wBAAU,EAAE;AAVmC,aAAjD,EAYGC,WAZH,GAaGvD,IAbH,CAaQ,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAbR,EAcG+C,SAdH,CAca,YAAM;AACf;AACA,qBAAI,CAAC4J,UAAL,CAAgB/I,KAAhB,EAAuB0vB,OAAvB,GAAiC,IAAjC;AACA,qBAAI,CAAC3mB,UAAL,sBAAsB,OAAI,CAACA,UAA3B;AACD,aAlBH;AAmBD;;;iBAED,gBAAOsmB,aAAP,EAAqC;AAAA;;AACnC,iBAAKxR,gBAAL,GAAwB,IAAxB;AACA,iBAAKmR,uBAAL,CAA6BW,iBAA7B,CAA+C,KAAK5mB,UAApD,EACGpC,IADH,CACQ,sDAAS;AAAA,qBAAM,OAAI,CAACkX,gBAAL,GAAwB,KAA9B;AAAA,aAAT,CADR,EAEG1e,SAFH,CAEa,UAAAmF,KAAK,EAAI;AAClB,qBAAI,CAAC0c,OAAL,GADkB,CAElB;;;AACA,8EAAU,OAAI,CAAC7lB,aAAf,EACE,OAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,kCAA9B,CADF,EAEE,OAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,0CAA9B,CAFF,EAGE,KAHF;AAKD,aAVH;AAWD;;;iBAEO,mBAAU;AAAA;;AAChB,iBAAKme,gBAAL,GAAwB,IAAxB;AACA,iBAAKmR,uBAAL,CAA6BY,gBAA7B,CAA8C,KAAKtpB,iBAAL,CAAuBE,eAAvB,CAAuC0G,QAAvC,GAAkDuiB,aAAlD,CAAgEnW,QAA9G,EACG3S,IADH,CAEI,uDAAU,KAAKC,QAAf,CAFJ,EAGI,sDAAS;AAAA,qBAAM,OAAI,CAACiX,gBAAL,GAAwB,KAA9B;AAAA,aAAT,CAHJ,EAKG1e,SALH,CAKa,UAAA/C,IAAI,EAAI;AACjB,qBAAI,CAAC2M,UAAL,GAAkB3M,IAAlB;;AACA,qBAAI,CAACyzB,gBAAL;AACD,aARH;AASD;;;iBACO,4BAAmB;AACzB,gBAAM/yB,KAAK,GAAG,KAAKwJ,iBAAL,CAAuBuQ,QAAvB,CAAgC3J,QAAhC,EAAd;AACApQ,iBAAK,CAACqnB,aAAN,GAAsB,KAAKpb,UAA3B;AACA,iBAAKzC,iBAAL,CAAuBuQ,QAAvB,CAAgCvN,IAAhC,CAAqCxM,KAArC;AACD;;;;QAtHyC,6D;;;;;;;;;;;;;;;;;AClB5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKO,eAASgzB,qBAAT,CAA+B1Z,IAA/B,EAAiD;AACpD,eAAO,IAAI,8EAAJ,CAAwBA,IAAxB,EAA8B,gBAA9B,EAAgD,OAAhD,CAAP;AACH;;UAEY2Z,qB;AACT,uCAAoB3Z,IAApB,EAAsC;AAAA;;AAAlB,eAAAA,IAAA,GAAAA,IAAA;AAAqB;;;;iBAEzC,wBAAe7Q,IAAf,EAA6B;AAAA;;AACzB,gBAAI;AACA,qBAAO,2DAAc,CACjB,KAAK6Q,IAAL,CAAUlU,GAAV,WACO,yEAAY+f,GADnB,gEAC4E1c,IAD5E,GACoF,EADpF,EACwFoB,IADxF,CAEQ,2DAAI,UAACvK,IAAD,EAA8B;AAC9B,oBAAIA,IAAI,IAAIA,IAAI,CAACmS,OAAL,CAAa,CAAb,CAAZ,EAA6B;AACzB,yBAAOnS,IAAP;AACH,iBAFD,MAEO;AACH,wBAAM,IAAI4zB,KAAJ,CAAU,wBAAV,CAAN;AACH;AACJ,eAND,CAFR,EASQ,kEAAW,UAAChE,GAAD,EAAS;AAChBxiB,uBAAO,CAACod,IAAR,CAAaoF,GAAb;AACA,uBAAO,OAAI,CAAC5V,IAAL,CAAUlU,GAAV,yBACcqD,IADd,YAELoB,IAFK,CAGH,2DAAI,UAAAvK,IAAI,EAAI;AACR,yBAAO;AAAEmS,2BAAO,EAAE,CAAC;AAAEY,kCAAY,EAAE/S;AAAhB,qBAAD;AAAX,mBAAP;AACH,iBAFD,CAHG,CAAP;AAOH,eATD,CATR,CADiB,EAoBjB,KAAKga,IAAL,CAAUlU,GAAV,WACO,yEAAY+f,GADnB,0DACsE1c,IADtE,GAC8E,EAD9E,EACkFoB,IADlF,CAEQ,2DAAI,UAAAvK,IAAI;AAAA,uBAAIA,IAAJ;AAAA,eAAR,CAFR,EAGQ,kEAAW,UAAC4vB,GAAD,EAAS;AAChB,uBAAO,kDAAK,CACR;AAAEzd,yBAAO,EAAE;AAAX,iBADQ,CAAL,CAAP;AAGH,eAJD,CAHR,CApBiB,CAAd,EA8BF5H,IA9BE,CA+BC,2DAAI,UAACvK,IAAD,EAAU;AACV,oBAAIA,IAAI,CAAC,CAAD,CAAJ,IAAWA,IAAI,CAAC,CAAD,CAAJ,CAAQmS,OAAR,CAAgB,CAAhB,CAAX,IAAiCnS,IAAI,CAAC,CAAD,CAArC,IAA4CA,IAAI,CAAC,CAAD,CAAJ,CAAQmS,OAAR,CAAgB,CAAhB,CAAhD,EAAoE;AAChE,sBAAM0hB,IAAI,GAAG7zB,IAAI,CAAC,CAAD,CAAJ,CAAQmS,OAAR,CAAgB,CAAhB,EAAmBY,YAAhC;AACA,sBAAMI,KAAK,GAAGnT,IAAI,CAAC,CAAD,CAAJ,CAAQmS,OAAR,CAAgB,CAAhB,EAAmBY,YAAjC;AACA,sBAAMA,YAAY,GAAG,MAAH,OAAG,CAAH,kBAAQ8gB,IAAR,CAAG,EAAS;AAAE1gB,yBAAK,EAAE,MAAF,OAAE,CAAF,kBAAO0gB,IAAI,CAAC1gB,KAAZ,CAAE,EAAe;AAAEC,4BAAM,EAAED;AAAV,qBAAf;AAAT,mBAAT,CAArB;AACA,yBAAOJ,YAAP;AACH,iBALD,MAKO,IAAI/S,IAAI,CAAC,CAAD,CAAJ,IAAWA,IAAI,CAAC,CAAD,CAAJ,CAAQmS,OAAR,CAAgB,CAAhB,CAAf,EAAmC;AACtC,yBAAOnS,IAAI,CAAC,CAAD,CAAJ,CAAQmS,OAAR,CAAgB,CAAhB,EAAmBY,YAA1B;AACH;AACJ,eATD,CA/BD,CAAP;AA0CH,aA3CD,CA2CE,OAAOwX,CAAP,EAAU;AACRnd,qBAAO,CAACod,IAAR,CAAaD,CAAb;AACH;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7DL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEO,eAASuJ,oBAAT,GAAgC;AACnC,eAAO,wEAAP;AACH;;;;;;;;;;;;;;;;;ACJD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAaaC,0B;AAqBX,4CAAoBvsB,EAApB,EACUmd,UADV,EACkC;AAAA;;AAAA;;AADd,eAAAnd,EAAA,GAAAA,EAAA;AACV,eAAAmd,UAAA,GAAAA,UAAA;AArBA,eAAAJ,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACA,eAAAyP,OAAA,GAAU,IAAI,0DAAJ,EAAV;AAEV,eAAAvS,gBAAA,GAAmB,IAAnB;AAEA,eAAAwS,MAAA,GAAS,CACP;AAAEvzB,iBAAK,EAAE,MAAT;AAAiBwzB,iBAAK,EAAE;AAAxB,WADO,EAEP;AAAExzB,iBAAK,EAAE,QAAT;AAAmBwzB,iBAAK,EAAE;AAA1B,WAFO,CAAT;AAKA,eAAAC,cAAA,GAAiB,CACf;AAAEzzB,iBAAK,EAAE,OAAT;AAAkBwzB,iBAAK,EAAE;AAAzB,WADe,EAEf;AAAExzB,iBAAK,EAAE,eAAT;AAA0BwzB,iBAAK,EAAE;AAAjC,WAFe,CAAjB;AAIA,eAAAE,cAAA,GAAwC,KAAKzP,UAAL,CAAgB0P,YAAhB,GACrC9pB,IADqC,CAChC,sDAAS;AAAA,mBAAM,OAAI,CAACkX,gBAAL,GAAwB,KAA9B;AAAA,WAAT,CADgC,CAAxC;AAEA,eAAA6S,mBAAA,GAAsD,KAAK3P,UAAL,CAAgB4P,qBAAhB,EAAtD;AACA,eAAAC,UAAA,GAAqC,KAAK7P,UAAL,CAAgB8P,YAAhB,EAArC;AACA,eAAAC,iBAAA,GAAoD,KAAK/P,UAAL,CAAgBgQ,mBAAhB,EAApD;AAGqC;;;;iBAErC,oBAAW;AACT,iBAAKC,cAAL;AACD;;;iBAED,kBAAS;AACP,gBAAMjuB,MAAM,GAAG,KAAKkuB,WAAL,CAAiBn0B,KAAhC;AACA,iBAAK6jB,QAAL,CAAc1jB,IAAd,CAAmB,MAAD,OAAC,CAAD,4KACZ8F,MAAM,CAACmuB,UAAP,GAAoB;AAAE,qCAAuBnuB,MAAM,CAACmuB;AAAhC,aAApB,GAAmE,EADvD,GAEZnuB,MAAM,CAACouB,WAAP,GAAqB;AAAE,sCAAwBpuB,MAAM,CAACouB;AAAjC,aAArB,GAAsE,EAF1D,GAGZpuB,MAAM,CAACquB,SAAP,GAAmB;AAAE,oCAAsBruB,MAAM,CAACquB;AAA/B,aAAnB,GAAgE,EAHpD,GAIZruB,MAAM,CAACstB,MAAP,GAAgB;AAAE,+BAAiBttB,MAAM,CAACstB;AAA1B,aAAhB,GAAqD,EAJzC,GAKZttB,MAAM,CAACsuB,WAAP,GAAqB;AAAE,oCAAsBtuB,MAAM,CAACsuB;AAA/B,aAArB,GAAoE,EALxD,GAMZtuB,MAAM,CAACuuB,gBAAP,GAA0B;AAAE,yCAA2BvuB,MAAM,CAACuuB;AAApC,aAA1B,GAAmF,EANvE,GAOZvuB,MAAM,CAACwtB,cAAP,GAAwB;AAAE,uCAAyBxtB,MAAM,CAACwtB;AAAlC,aAAxB,GAA6E,EAPjE,GAQZxtB,MAAM,CAACwuB,kBAAP,GAA4B;AAAE,sCAAwBxuB,MAAM,CAACwuB;AAAjC,aAA5B,GAAoF,EARxE,GASZxuB,MAAM,CAACyuB,eAAP,GAAyB;AAAE,0CAA4BzuB,MAAM,CAACyuB;AAArC,aAAzB,GAAkF,EATtE,GAUZzuB,MAAM,CAACgc,QAAP,GAAkB;AAAE,mCAAqBhc,MAAM,CAACgc;AAA9B,aAAlB,GAA6D,EAVjD,GAWZhc,MAAM,CAAC0uB,sBAAP,GAAgC;AAAE,iDAAmC1uB,MAAM,CAAC0uB;AAA5C,aAAhC,GAAuG,EAX3F,GAYZ1uB,MAAM,CAAC2uB,gBAAP,GAA0B;AAAE,yCAA2B3uB,MAAM,CAAC2uB;AAApC,aAA1B,GAAmF,EAZvE,CAAC,EAab3uB,MAAM,CAAC4uB,aAAP,GAAuB;AAAE,sCAAwB5uB,MAAM,CAAC4uB;AAAjC,aAAvB,GAA0E,EAb7D,CAAnB;AAeD;;;iBACD,iBAAQ;AACN,iBAAKV,WAAL,CAAiBxf,KAAjB;AACA,iBAAK2e,OAAL,CAAanzB,IAAb;AACD;;;iBAEO,0BAAc;AACpB,iBAAKg0B,WAAL,GAAmB,KAAKrtB,EAAL,CAAQS,KAAR,CAAc;AAC/B6sB,wBAAU,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CADmB;AAE/BC,yBAAW,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CAFkB;AAG/BC,uBAAS,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CAHoB;AAI/Bf,oBAAM,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CAJuB;AAK/BgB,yBAAW,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CALkB;AAM/BC,8BAAgB,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CANa;AAO/Bf,4BAAc,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CAPe;AAQ/BgB,gCAAkB,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CARW;AAS/BC,6BAAe,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CATc;AAU/BzS,sBAAQ,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CAVqB;AAW/B0S,oCAAsB,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CAXO;AAY/BC,8BAAgB,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,CAZa;AAa/BC,2BAAa,EAAE,IAAI,0DAAJ,CAAgB,EAAhB;AAbgB,aAAd,CAAnB;AAeD;;;;;;;;;;;;;;;;;;;;;AC/EH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAcaC,sB;AAOT,wCAAoBpc,eAApB,EACYY,IADZ,EAC8B;AAAA;;AADV,eAAAZ,eAAA,GAAAA,eAAA;AACR,eAAAY,IAAA,GAAAA,IAAA;AAPJ,eAAAC,OAAA,GAAU,KAAKb,eAAL,CAAqBS,OAA/B;AACR,eAAA4b,oBAAA,GAAuB,IAAI,oDAAJ,CAAyB,IAAzB,CAAvB;AACA,eAAAC,qBAAA,GAAwB,IAAI,oDAAJ,CAAyB,IAAzB,CAAxB;AAEA,eAAAC,sBAAA,GAAyB,IAAI,oDAAJ,CAA6B,IAA7B,CAAzB;AAIC;;;;eAED,eAAoB;AAChB,gBAAMC,YAAY,GAAG,KAAKxc,eAAL,CAAqByB,SAArB,CAA+B8C,SAA/B,CAAyCkY,KAAzC,CAA+C,MAA/C,CAArB;AACA,mBAAOD,YAAY,CAAC,CAAD,CAAZ,kBAAiCA,YAAY,CAAC,CAAD,CAApD;AACH;;;eACD,eAA0B;AACtB,gBAAME,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BoN,mBAA5C;AACA,gBAAM2N,YAAY,GAAGE,IAAI,CAACD,KAAL,CAAW,MAAX,CAArB;AACA,mBAAOD,YAAY,CAAC,CAAD,CAAZ,kBAAiCA,YAAY,CAAC,CAAD,CAApD;AACH;;;eACD,eAAqC;AACjC,gBAAMA,YAAY,GAAG,KAAKxc,eAAL,CAAqByB,SAArB,CAA+BiN,0BAA/B,CAA0D+N,KAA1D,CAAgE,SAAhE,CAArB;AACA,mBAAOD,YAAY,CAAC,CAAD,CAAZ,qBAAoCA,YAAY,CAAC,CAAD,CAAvD;AACH;;;eACD,eAA2B;AACvB,gBAAME,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BqN,oBAA5C;AACA,gBAAM0N,YAAY,GAAGE,IAAI,CAACD,KAAL,CAAW,SAAX,CAArB;AACA,mBAAOD,YAAY,CAAC,CAAD,CAAZ,qBAAoCA,YAAY,CAAC,CAAD,CAAvD;AACH;;;iBACO,yCAAwD;AAAA,gBAA1BG,OAA0B,uEAAP,KAAO;AAC5D,gBAAMD,IAAI,GAAGC,OAAO,GAChB,KAAK3c,eAAL,CAAqByB,SAArB,CAA+BiN,0BADf,GAEhB,KAAK1O,eAAL,CAAqByB,SAArB,CAA+BgN,qBAFnC;AAIA,gBAAM+N,YAAY,GAAGE,IAAI,CAACD,KAAL,CAAW,SAAX,CAArB;AACA,mBAAOD,YAAY,CAAC,CAAD,CAAZ,qBAAoCA,YAAY,CAAC,CAAD,CAAvD;AACH;;;iBAED,oCAA2B1Y,QAA3B,EAA0D;AAAA,gBAAb5W,IAAa,uEAAN,MAAM;AACtD,gBAAM8W,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+BsN,aAApD,CAAT;AACA,mBAAO,KAAKnO,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3BE,oBAAM,EAAE;AACJ,mCAAmBJ,QADf;AAEJ,wCAAwB5W,IAFpB;AAGJiX,oBAAI,EAAE,GAHF;AAIJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAJA;AADmB,aAAxB,CAAP;AAQH;;;iBAED,mCAA0BP,QAA1B,EAA0C;AACtC,gBAAME,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAK+b,aAA1B,mBAAgD9Y,QAAhD,aAAT;AACA,mBAAO,KAAKlD,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3BE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AADmB,aAAxB,EAKJlT,IALI,CAMH,iDAAI,UAAAvK,IAAI,EAAI;AACRA,kBAAI,CAACW,OAAL,CAAa,UAAA4C,IAAI,EAAI;AACjB,oBAAIA,IAAI,CAACyX,kBAAL,GAA0B,CAA9B,EACIzX,IAAI,CAAC0X,oBAAL,GAA4B1X,IAAI,CAAC2X,uBAAL,GAA+B3X,IAAI,CAACyX,kBAAhE;AACP,eAHD;AAIA,qBAAOhb,IAAP;AACH,aAND,CANG,CAAP;AAcH;;;iBAED,kCAAyBkd,QAAzB,EAA2C+Y,UAA3C,EAAqD;AACjD,gBAAM7Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAK+b,aAA1B,mBAAgD9Y,QAAhD,+BAA6E+Y,UAA7E,CAAT;AACA,mBAAO,KAAKjc,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3BE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AADmB,aAAxB,EAKJlT,IALI,CAMH,iDAAI,UAAAvK,IAAI,EAAI;AACRA,kBAAI,CAACW,OAAL,CAAa,UAAA4C,IAAI,EAAI;AACjB,oBAAIA,IAAI,CAACyX,kBAAL,GAA0B,CAA9B,EACIzX,IAAI,CAAC0X,oBAAL,GAA4B1X,IAAI,CAAC2X,uBAAL,GAA+B3X,IAAI,CAACyX,kBAAhE;AACP,eAHD;AAIA,qBAAOhb,IAAP;AACH,aAND,CANG,CAAP;AAcH,W,CAGD;;;;iBACA,oCAA2Bkd,QAA3B,EAA2C;AACvC,gBAAME,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B8C,SAApD,yBAA4ET,QAA5E,CAAT;AACA,mBAAO,KAAKlD,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,CAAP;AACH,W,CAED;;;;iBACA,8BAAqBF,QAArB,EAAqC;AACjC,gBAAME,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+BwC,YAApD,mBAAyEH,QAAzE,CAAT;AACA,mBAAO,KAAKlD,IAAL,CACFlU,GADE,CACOsX,GADP,EACY;AACXE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AADG,aADZ,CAAP;AAOH,W,CAED;;;;iBACA,uCAA8BH,MAA9B,EAAyC;AACrC,gBAAMF,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKic,8BAA1B,CAAT;AACA,mBAAO,KAAKlc,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3B+Y,qBAAO,EAAE,UADkB;AAE3B7Y,oBAAM,EAAEA;AAFmB,aAAxB,EAGJ/S,IAHI,CAIH,iDAAI,UAAC6rB,QAAD,EAAc;;;AACd,qBAAO;AACHC,0BAAU,EAAE7Y,MAAM,CAAC4Y,QAAQ,CAAC1c,OAAT,CAAiB5T,GAAjB,CAAqB,eAArB,CAAD,CADf;AAEH9F,oBAAI,EAAEo2B,QAAQ,CAACE,IAFZ;AAGHvwB,oBAAI,EAAE,CAAF,KAAEuX,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEvX,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgB,6DAHnB;AAIHwX,oBAAI,EAAE,CAAF,KAAED,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEC,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgB;AAJnB,eAAP;AAMH,aAPD,CAJG,CAAP;AAaH;;;iBACD,+BAAsBL,QAAtB,EAAwC5W,IAAxC,EAA+E;AAAA,gBAAzBiwB,QAAyB,uEAAL,KAAK;AAC3E;AACA,gBAAMnZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B+M,gBAApD,SAAuE2O,QAAQ,GAAG,KAAH,GAAW,EAA1F,mBAAqGjwB,IAArG,CAAT;AACA,mBAAO,KAAK0T,IAAL,CAAUlU,GAAV,CAAyBsX,GAAzB,EAA8B;AACjCE,oBAAM,EAAE;AACJ,mCAAmBJ,QADf;AAEJ,kCAAkB;AAFd,eADyB;AAKjCiZ,qBAAO,EAAE;AALwB,aAA9B,EAMJ5rB,IANI,CAOH,iDAAI,UAAC6rB,QAAD,EAAc;AACd,qBAAO;AACHC,0BAAU,EAAE7Y,MAAM,CAAC4Y,QAAQ,CAAC1c,OAAT,CAAiB5T,GAAjB,CAAqB,eAArB,CAAD,CADf;AAEH9F,oBAAI,EAAEo2B,QAAQ,CAACE,IAFZ;AAGHvwB,oBAAI,EAAE,6DAHH;AAIHwX,oBAAI,EAAE;AAJH,eAAP;AAMH,aAPD,CAPG,CAAP;AAgBH;;;iBAED,iDAAwCL,QAAxC,EAA0DQ,YAA1D,EAAgF8Y,QAAhF,EAA0H;AAAA,gBAAxBT,OAAwB,uEAAL,KAAK;AACtH,gBAAI3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,SAAmErY,YAAnE,oBAAyFR,QAAzF,CAAP;AACA,gBAAI,CAAC6Y,OAAL,EAAc3Y,GAAG,sBAAeoZ,QAAf,CAAH;AACd,mBAAO,KAAKxc,IAAL,CAAUlU,GAAV,CAAoCsX,GAApC,CAAP;AACH;;;iBAED,iCAAwBF,QAAxB,EAA0CQ,YAA1C,EAAgE8Y,QAAhE,EAA0G;AAAA,gBAAxBT,OAAwB,uEAAL,KAAK;AACtG,gBAAM3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,CAAT;AACA,gBAAMzY,MAAM,GAAQ;AAChB,iCAAmBJ,QADH;AAEhB,qCAAuBQ;AAFP,aAApB;AAIA,gBAAI,CAACqY,OAAL,EAAczY,MAAM,CAAC,iBAAD,CAAN,GAA4BkZ,QAA5B;AAEd,mBAAO,KAAKxc,IAAL,CAAUlU,GAAV,CAAsCsX,GAAtC,EAA2C;AAC9CE,oBAAM,EAAEA;AADsC,aAA3C,EAEJ/S,IAFI,CAEC,iDAAI,UAAAvK,IAAI;AAAA,qBAAIA,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAAC,CAAD,CAAlB,GAAwB,IAA5B;AAAA,aAAR,CAFD,CAAP;AAGH;;;iBAED,oCAA2B02B,OAA3B,EAAkF;AAAA,gBAAxBX,OAAwB,uEAAL,KAAK;AAC9E,gBAAM3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,CAAT;AACA,mBAAO,KAAK/b,IAAL,CAAUP,IAAV,CAAqC2D,GAArC,EAA0CsZ,OAA1C,CAAP;AACH;;;iBAED,kCAAyBA,OAAzB,EAAgF;AAAA,gBAAxBX,OAAwB,uEAAL,KAAK;AAC5E,gBAAM3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,CAAT;AACA,mBAAO,KAAK/b,IAAL,CAAU2c,GAAV,CAAoCvZ,GAApC,EAAyCsZ,OAAzC,CAAP;AACH;;;iBAED,sBAAaxZ,QAAb,EAA+B5W,IAA/B,EAAsE;AAAA,gBAAzBiwB,QAAyB,uEAAL,KAAK;AAClE;AACA,gBAAMnZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B+M,gBAApD,SAAuE2O,QAAQ,GAAG,KAAH,GAAW,EAA1F,mBAAqGjwB,IAArG,CAAT;AACA,mBAAO,KAAK0T,IAAL,CAAUlU,GAAV,CAAyBsX,GAAzB,EAA8B;AACjCE,oBAAM,EAAE;AACJ,mCAAmBJ,QADf;AAEJ,kCAAkB;AAFd,eADyB;AAKjCvD,0BAAY,EAAE;AALmB,aAA9B,CAAP;AAOH;;;iBAED,uBAAcrT,IAAd,EAA4BowB,OAA5B,EAA8C;AAC1C,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B+M,gBAApD,gBAA0EthB,IAA1E,CAAT;AACA,mBAAO,KAAK0T,IAAL,CAAUP,IAAV,CAA0B2D,GAA1B,EAA+BsZ,OAA/B,CAAP;AACH;;;iBAED,sCAA6BA,OAA7B,EAA6C;AACzC,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B+M,gBAApD,oCAAT;AACA,mBAAO,KAAK5N,IAAL,CAAU2c,GAAV,CAAuBvZ,GAAvB,EAA4BsZ,OAA5B,CAAP;AACH;;;iBAED,0BAAiBxZ,QAAjB,EAAmC0Z,gBAAnC,EAA2D;AACvD,gBAAMd,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BkN,aAA5C;AACA,gBAAM6N,YAAY,GAAGE,IAAI,CAACD,KAAL,CAAW,MAAX,CAArB;AACA,gBAAM9N,aAAa,GAAG6N,YAAY,CAAC,CAAD,CAAZ,qBAAoCA,YAAY,CAAC,CAAD,CAAtE;AAEA,gBAAMxY,GAAG,aAAM,KAAKnD,OAAX,SAAqB8N,aAArB,CAAT;AACA,mBAAO,KAAK/N,IAAL,CAAUlU,GAAV,CAA+BsX,GAA/B,EAAoC;AACvCE,oBAAM,EAAE,MAAF,OAAE,CAAF;AACF,mCAAmBJ;AADjB,iBAEE0Z,gBAAgB,GAAG;AAAE,2CAA2BA,gBAAgB,CAAC9U,QAAjB;AAA7B,eAAH,GAAgE,EAFlF,CAAE,EAEmF;AACvF,kCAAkB;AADqE,eAFnF;AAD+B,aAApC,CAAP;AAOH;;;iBAED,2BAAkB4U,OAAlB,EAA0C;AACtC,gBAAMZ,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BmN,mBAA5C;AACA,gBAAM4N,YAAY,GAAGE,IAAI,CAACD,KAAL,CAAW,SAAX,CAArB;AACA,gBAAM9N,aAAa,GAAG6N,YAAY,CAAC,CAAD,CAAZ,qBAAoCA,YAAY,CAAC,CAAD,CAAtE;AAEA,gBAAMxY,GAAG,aAAM,KAAKnD,OAAX,SAAqB8N,aAArB,CAAT;AACA,mBAAO,KAAK/N,IAAL,CAAUP,IAAV,CAAgC2D,GAAhC,EAAqCsZ,OAArC,CAAP;AACH;;;iBAED,gCAAuBxZ,QAAvB,EAAuC;AACnC,gBAAME,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,CAAT;AACA,mBAAO,KAAKjO,IAAL,CAAUlU,GAAV,CAAqCsX,GAArC,EAA0C;AAC7CE,oBAAM,EAAE;AACJ,mCAAmBJ;AADf;AADqC,aAA1C,CAAP;AAKH;;;iBAED,mCAA0BwZ,OAA1B,EAAsD;AAClD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,CAAT;AACA,mBAAO,KAAKjO,IAAL,CAAUP,IAAV,CAAoC2D,GAApC,EAAyCsZ,OAAzC,CAAP;AACH;;;iBAED,iCAAwBA,OAAxB,EAAoD;AAChD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,CAAT;AACA,mBAAO,KAAKjO,IAAL,CAAU2c,GAAV,CAAmCvZ,GAAnC,EAAwCsZ,OAAxC,CAAP;AACH;;;iBAED,mCAA0BrvB,EAA1B,EAAoC;AAChC,gBAAM+V,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,cAAiD5gB,EAAjD,CAAT;AACA,mBAAO,KAAK2S,IAAL,WAAsCoD,GAAtC,CAAP;AACH;;;iBAED,iCAAwB/V,EAAxB,EAAkC;AAC9B,gBAAM+V,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKiO,oBAA1B,SAAiD7gB,EAAjD,CAAT;AACA,mBAAO,KAAK2S,IAAL,CAAUlU,GAAV,CAAmCsX,GAAnC,CAAP;AACH;;;iBAED,oCAA2BsZ,OAA3B,EAAuD;AACnD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKiO,oBAA1B,CAAT;AACA,mBAAO,KAAKlO,IAAL,CAAUP,IAAV,CAAoC2D,GAApC,EAAyCsZ,OAAzC,CAAP;AACH;;;iBAED,kCAAyBA,OAAzB,EAAqD;AACjD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKiO,oBAA1B,CAAT;AACA,mBAAO,KAAKlO,IAAL,CAAU2c,GAAV,CAAmCvZ,GAAnC,EAAwCsZ,OAAxC,CAAP;AACH;;;iBAED,sBAAarvB,EAAb,EAAuB;AACnB,gBAAM+V,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAK+b,aAA1B,SAA0C3uB,EAA1C,eAAT;AACA,mBAAO,KAAK2S,IAAL,CAAUlU,GAAV,CAAqBsX,GAArB,CAAP;AACH;;;iBAED,sCAA6BsZ,OAA7B,EAA8D;AAC1D,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKiO,oBAA1B,0BAAT;AACA,mBAAO,KAAKlO,IAAL,CAAUP,IAAV,CAAoC2D,GAApC,EAAyCsZ,OAAzC,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECpRW,kJ,GAAA;AAAA;AAAA;AAAA,gB,EACI;AAAA;AAAA;AAAA,U,EADJ;AAAA;AAAA;AAAA,gB,EACI;AAAA;AAAA;AAAA,U,GACA,yH,IAAM,6E,IACN,8I,IAAuB,2E,IAAC;AAAA;AAHD,iDAAwC,WAAxC;;AACvB;;AADJ,wBAA2B,SAA3B,EACI,SADJ;;AACI;;AADuB,iDAAwC,WAAxC;;AAA3B,wBACI,SADJ,EAA2B,SAA3B;AAAmE,S,EAAA;AAAA;AAEzD;;AAAA;AAAgB,S;AAAA;;;uEAK9B,wO,GAAA;AAAA;AAAA;AAAA,gB,EAEI;AAAA;AAAA;AAAA,U,EAFJ;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAEI;AAAA;AAAA;AAAA,U,GACA,yI,GAAA;AAAA;AAAA,gB,EACI,2D,GAAyB;AAAA;AAJmC;;AAEhE;;AAFJ,wBAAoE,SAApE,EAEI,SAFJ;;AAAK;AAA0C;;AAA/C,wBAAK,SAAL,EAA+C,SAA/C;;AAAoB;;AAApB,wBAAoB,SAApB;;AAEI;;AAFgE;;AAApE,wBAEI,SAFJ,EAAoE,SAApE;;AAGS;;AAAL,wBAAK,SAAL;AAAiB,S,EAAA,I;AAAA;;;uEAdjC,iJ,IACI,yJ,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,GACI,4I,GAAA;AAAA;AAAA;AAAA,gB,EAAqB;AAAA;AAAA;AAAA;AAAA,U,EAArB;AAAA;AAAA;AAAA,gB,EAAqB;AAAA;AAAA;AAAA;AAAA,U,GACjB,wH,IACI,kH,GAAA;AAAA;AAAA,gB,GAOJ,kH,GAAA;AAAA;AAAA,gB,GAMM;AAAA;AAhBT;AAA4B;;AAAjC,wBAAK,SAAL,EAAiC,SAAjC;;AAAiC;AAA5B;;AAAL,wBAAiC,SAAjC,EAAK,SAAL;;AACS;;AAAgB,uEAA0E,OAA1E;;AAArB,wBAAK,SAAL,EAAqB,SAArB;;AAAqB,uEAA0E,OAA1E;;AAAhB;;AAAL,wBAAqB,SAArB,EAAK,SAAL;;AAE4E,6BAAoB,aAApB;;AAApE,yBAAoE,SAApE;;AAQA,6BAAqB,cAArB;;AADJ,yBACI,SADJ;AACyB,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBaG,wC;AA+CX,0DAAoB53B,gBAApB,EACUD,mBADV,EAEU2zB,SAFV,EAGU7c,YAHV,EAGsC;AAAA;;AAAA;;AAHlB,eAAA7W,gBAAA,GAAAA,gBAAA;AACV,eAAAD,mBAAA,GAAAA,mBAAA;AACA,eAAA2zB,SAAA,GAAAA,SAAA;AACA,eAAA7c,YAAA,GAAAA,YAAA;AA7CV,eAAApV,KAAA,GAAa,EAAb;AAGA,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAiBA,eAAAguB,cAAA;AACA,eAAAC,UAAA,GAAwC,EAAxC;AACA,eAAA/sB,eAAA,GAAkB,4FAAlB;AAiBQ,eAAAnK,IAAA,GAAuB,EAAvB;AAON,eAAKmJ,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAA/C,IAAI,EAAI;AAC9D,mBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACD,WAFU,CAAX;AAGD;;;;eAVD,aAAQrJ,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAW/C,qBAAYsJ,OAAZ,EAAoC;AAClC,gBAAI,KAAK3G,aAAL,IAAsB,KAAKA,aAAL,CAAmBE,iBAA7C,EAAgE;AAC9D,mBAAKm0B,cAAL,GAAsB,KAAKjzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBq0B,cAApD,EAAoE;AAAE92B,oBAAI,EAAE,KAAKA;AAAb,eAApE,CAAtB;AAEA,mBAAKg3B,WAAL,GAAmBC,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBu0B,WAApD,EAAiE;AAAEh3B,oBAAI,EAAE,KAAKA;AAAb,eAAjE,CAAD,CAAvB;AAEA,mBAAKk3B,aAAL,GAAqBD,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBy0B,aAApD,EAAmE;AAAEl3B,oBAAI,EAAE,KAAKA;AAAb,eAAnE,CAAD,CAAzB;AACA,mBAAKm3B,eAAL,GAAuBF,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB00B,eAApD,EAAqE;AAAEn3B,oBAAI,EAAE,KAAKA;AAAb,eAArE,CAAD,CAA3B;AACA,mBAAKo3B,2BAAL,GAAmCH,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB20B,2BAApD,EAAiF;AAAEp3B,oBAAI,EAAE,KAAKA;AAAb,eAAjF,CAAD,CAAvC;AACA,mBAAKq3B,YAAL,GAAoBJ,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB40B,YAApD,EAAkE;AAAEr3B,oBAAI,EAAE,KAAKA;AAAb,eAAlE,CAAD,CAAxB;AACA,mBAAKs3B,cAAL,GAAsBL,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB60B,cAApD,EAAoE;AAAEt3B,oBAAI,EAAE,KAAKA;AAAb,eAApE,CAAD,CAA1B;AACA,mBAAKu3B,YAAL,GAAoBN,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB80B,YAApD,EAAkE;AAAEv3B,oBAAI,EAAE,KAAKA;AAAb,eAAlE,CAAD,CAAxB;AAEA,mBAAKw3B,gBAAL,GAAwBP,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB+0B,gBAApD,EAAsE;AAAEx3B,oBAAI,EAAE,KAAKA;AAAb,eAAtE,CAAD,CAA5B;AACA,mBAAKy3B,kBAAL,GAA0BR,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBg1B,kBAApD,EAAwE;AAAEz3B,oBAAI,EAAE,KAAKA;AAAb,eAAxE,CAAD,CAA9B;AACA,mBAAK03B,8BAAL,GAAsCT,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBi1B,8BAApD,EAAoF;AAAE13B,oBAAI,EAAE,KAAKA;AAAb,eAApF,CAAD,CAA1C;AACA,mBAAK23B,eAAL,GAAuBV,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBk1B,eAApD,EAAqE;AAAE33B,oBAAI,EAAE,KAAKA;AAAb,eAArE,CAAD,CAA3B;AACA,mBAAK43B,eAAL,GAAuBX,IAAI,CAAC,KAAKpzB,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBm1B,eAApD,EAAqE;AAAE53B,oBAAI,EAAE,KAAKA;AAAb,eAArE,CAAD,CAA3B;AAEA,mBAAK63B,sBAAL;AACD;AACF;;;iBAED,uBAAc;AACZ,iBAAKh4B,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACD;;;iBAED,uBAAcwC,SAAd,EAAqE;AAAA;;AAAA,gBAAnB4T,SAAmB,uEAAP,KAAO;;;;AACnE,gBAAMjL,MAAM,GAAG,KAAK2nB,SAAL,CAAehlB,IAAf,CAAoB,8GAApB,EAAsD;AACnEtG,gBAAE,EAAE,+CAAMywB,IAAN,EAD+D;AAEnE93B,kBAAI,EAAE;AACJ2J,mBAAG,EAAE,KAAKA,GADN;AAEJpF,0BAAU,EAAE,KAAKvE,IAFb;AAGJqC,yBAAS,EAAE,wDAAWA,SAAX,CAHP;AAIJI,6BAAa,EAAE,KAAKA,aAJhB;AAKJ4F,wBAAQ,EAAE,KAAKA,QALX;AAMJ4N,yBAAS,EAAEA,SANP;AAOJhW,wBAAQ,EAAE,CAAF,WAAE,KAAK4D,eAAP,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE6M,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE1Q,IAPlC;AAQJ6D,+BAAe,EAAE,KAAKA,eARlB;AASJmR,uBAAO,EAAE;AACPkiB,+BAAa,EAAE,KAAKA,aADb;AAEPC,iCAAe,EAAE,KAAKA,eAFf;AAGPC,6CAA2B,EAAE,KAAKA,2BAH3B;AAIPC,8BAAY,EAAE,KAAKA,YAJZ;AAKPC,gCAAc,EAAE,KAAKA,cALd;AAMPC,8BAAY,EAAE,KAAKA,YANZ;AAOPC,kCAAgB,EAAE,KAAKA,gBAPhB;AAQPC,oCAAkB,EAAE,KAAKA,kBARlB;AASPC,gDAA8B,EAAE,KAAKA,8BAT9B;AAUPC,iCAAe,EAAE,KAAKA,eAVf;AAWPC,iCAAe,EAAE,KAAKA;AAXf;AATL,eAF6D;AAyBnEp3B,oBAAM,EAAE,OAzB2D;AA0BnEoN,mBAAK,EAAE,OA1B4D;AA2BnEC,wBAAU,EAAE,mBA3BuD;AA4BnEkqB,0BAAY,EAAE;AA5BqD,aAAtD,CAAf;AA8BA,gBAAMj1B,GAAG,GAAGkI,MAAM,CAAC8C,WAAP,GAAqB/K,SAArB,CAA+B,UAAAgL,MAAM,EAAI;;;AACnDjL,iBAAG,CAAClC,WAAJ;;AACA,kBAAImN,MAAJ,EAAY;AACV,uBAAI,CAACgpB,UAAL,CAAgB,OAAI,CAACA,UAAL,CAAgBle,SAAhB,CAA0B,UAAAxU,CAAC;AAAA,yBAAIA,CAAC,CAACpC,GAAF,IAAS8L,MAAM,CAAC9L,GAApB;AAAA,iBAA3B,CAAhB,IAAuE8L,MAAvE;;AACA,uBAAI,CAACrE,WAAL;AACD;;AACD,uCAAI,CAAC7F,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE6M,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEsnB,MAA5B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEn3B,IAAF,CAAO,0BAAP,CAAlC;AACD,aAPW,CAAZ;AAQD;;;iBAEO,uBAAc;AACpB,gBAAI,KAAKyH,QAAT,EAAmB;AACjB,kBAAI,KAAKyuB,UAAL,CAAgB7xB,IAAhB,CAAqB,UAAAb,CAAC;AAAA,uBAAI,CAACA,CAAC,CAACiT,OAAP;AAAA,eAAtB,CAAJ,EAA2C;AACzC,qBAAK5W,KAAL,GAAa,IAAb;AACA,qBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA,qBAAKqR,gBAAL;AACA;AACD;AACF;;AACD,iBAAKrR,KAAL,GAAa;AAAEu3B,4BAAc,EAAE,KAAKlB,UAAL,CAAgBlyB,GAAhB,CAAoB,UAAAR,CAAC;AAAA,uBAAIA,CAAC,CAACpC,GAAN;AAAA,eAArB;AAAlB,aAAb;AACA,iBAAK6G,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA,iBAAKqR,gBAAL;AACD;;;iBAEO,4BAAmB;AAAA;;AACzB,gBAAI,KAAKtP,aAAL,IAAsB,KAAKA,aAAL,CAAmBuP,WAA7C,EACE,KAAKvP,aAAL,CAAmBuP,WAAnB,CAA+BrR,OAA/B,CAAuC,UAAA4C,IAAI,EAAI;AAC7C,kBAAM20B,gBAAgB,GAAGjB,IAAI,CAAC,OAAI,CAACpzB,eAAL,CAAqBY,WAArB,CAAiClB,IAAI,CAAC40B,SAAtC,EAAiD;AAAEn4B,oBAAI,EAAE,OAAI,CAACA;AAAb,eAAjD,CAAD,CAA7B;;AACA,kBAAIk4B,gBAAJ,EAAsB;AACpB,oBAAI,OAAI,CAACr0B,eAAL,CAAqB6M,IAArB,CAA0Bqc,MAA9B,EAAsC;AACpC,sBAAMC,KAAK,GAAG,OAAI,CAACnpB,eAAL,CAAqB6M,IAArB,CAA0Buc,YAA1B,CAAuC;AAAExb,uBAAG,EAAE,IAAP;AAAayb,oCAAgB,EAAE;AAA/B,mBAAvC,CAAd;;AACA,yBAAI,CAACkL,wBAAL,CAA8BpL,KAA9B,EAAqCzpB,IAArC;AACD,iBAHD,MAGO;AACL,sBAAM0N,WAAW,GAAG,+CAAMR,gBAAN,CAAuB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAElK,wBAAI,EAAE,MAAR;AAAgB,yCAAqB;AAArC,mBAA7D,CAApB;AACA2K,6BAAW,CAACtQ,OAAZ,CAAoB,UAAAuQ,aAAa,EAAI;AACnCA,iCAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC3C,0BAAM2b,KAAK,GAAG3b,OAAO,CAAC4b,YAAR,CAAqB;AAAExb,2BAAG,EAAE,IAAP;AAAayb,wCAAgB,EAAE;AAA/B,uBAArB,CAAd;;AACA,6BAAI,CAACkL,wBAAL,CAA8BpL,KAA9B,EAAqCzpB,IAArC;AACD,qBAHD;AAID,mBALD;;AAOA,sBAAMiN,UAAU,GAAG,OAAI,CAAC4nB,wBAAL,CAA8B,OAAI,CAACv0B,eAAL,CAAqB6M,IAArB,CAA0BF,UAAxD,EAAoEjN,IAApE,CAAnB;;AACA,sBAAI,EAACiN,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAErM,MAAb,CAAJ,EAAyB;AACvB,wBAAM8M,YAAW,GAAG,+CAAMR,gBAAN,CAAuB,OAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAElK,0BAAI,EAAE;AAAR,qBAA7D,CAApB;;AACA2K,gCAAW,CAACtQ,OAAZ,CAAoB,UAAAuQ,aAAa,EAAI;AACnCA,mCAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC3C,+BAAI,CAAC+mB,wBAAL,CAA8B/mB,OAAO,CAACb,UAAtC,EAAkDjN,IAAlD;AACD,uBAFD;AAGD,qBAJD;AAKD;AACF;AACF;AACF,aA1BD;AA2BH;;;iBAEO,kCAAyB+N,cAAzB,EAAgD+mB,eAAhD,EAAoE;AAAA;;AAC1E,gBAAM7nB,UAAU,GAAG,+CAAMC,gBAAN,CAAuBa,cAAvB,EAAuC;AAAEX,iBAAG,EAAE0nB,eAAe,CAAC1nB;AAAvB,aAAvC,CAAnB;AACAH,sBAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AACtB,kBAAMvR,KAAK,GAAG,OAAI,CAACmD,eAAL,CAAqBY,WAArB,CAAiC4zB,eAAe,CAAC33B,KAAjD,EAAwD;AAAEV,oBAAI,EAAE,OAAI,CAACA,IAAb;AAAmB+2B,0BAAU,EAAE,OAAI,CAACA,UAApC;AAAgD/sB,+BAAe,EAAE,OAAI,CAACA;AAAtE,eAAxD,CAAd;;AACAiI,eAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACD,aAHD;AAIA,mBAAO8P,UAAP;AACD;;;iBAEO,yBAAgBrH,IAAhB,EAAsB;AAAA;;AAC5B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAAE,qBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AAA2C,aAApD,CAAV;AACD;;;iBAEO,kCAAyB;AAAA;;AAC/B,gBAAI,CAAC,KAAKtF,eAAL,CAAqBy0B,OAA1B,EAAmC;AACnC,iBAAKxiB,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AAEA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CAAyByW,sBAAzB,CAAgD,KAAKhT,aAAL,CAAmBE,iBAAnE,EAAsF,KAAKm0B,cAA3F,EAA2GvsB,IAA3G,CACT,iDAAI,UAACguB,UAAD,EAAuB;AACzB,qBAAO,gEAAW7iB,aAAX,CAAyB6iB,UAAU,CAAC1zB,GAAX,CAAe,UAAAR,CAAC,EAAI;AAAE,uBAAO,MAAP,OAAO,CAAP;AAASpC,qBAAG,EAAEoC,CAAC,CAACpC;AAAhB,iBAAO,EAAiBoC,CAAC,CAACrE,IAAnB,CAAP;AAAkC,eAAxD,CAAzB,EAAoF,KAApF,EAA2F6E,GAA3F,CAA+F,UAAAR,CAAC,EAAI;AACzG,oBAAMd,IAAI,GAAG,IAAI,+FAAJ,EAAb;;AACA,gFAAWuB,SAAX,CAAqBT,CAArB,EAAwBd,IAAxB;;AACAA,oBAAI,CAACmX,kBAAL,GAA0B,OAAI,CAACjY,aAAL,CAAmB+1B,eAA7C;AACAj1B,oBAAI,CAACk1B,oCAAL,GAA4C,OAAI,CAACh2B,aAAL,CAAmBi2B,iCAA/D;AACA,oBAAIr0B,CAAC,CAAClC,OAAN,EAAeoB,IAAI,CAACpB,OAAL,GAAeS,IAAI,CAAC+1B,KAAL,CAAWt0B,CAAC,CAAClC,OAAb,EAAsB,4DAAtB,CAAf;AACf,uBAAOoB,IAAP;AACD,eAPM,CAAP;AAQD,aATD,CADS,EAWRR,SAXQ,CAWE,UAAA/C,IAAI,EAAI;AACjB,kBAAIA,IAAI,IAAIA,IAAI,CAACmE,MAAjB,EAAyB;AACvB,uBAAI,CAAC4yB,UAAL,GAAkB/2B,IAAlB;;AACA,uBAAI,CAAC0J,WAAL;AACD;;AACD,qBAAI,CAACoM,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACD,aAjBQ,EAiBN,UAAA+D,KAAK,EAAI;AACV,qBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACD,aAnBQ,CAAX;AAoBD;;;;;;;;;;;;;;;;;;;;;AC7NH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA0Bas5B,8B;AAmBZ,gDACQrxB,SADR,EAEiCqD,UAFjC,EAGS5L,mBAHT,EAIS65B,WAJT,EAKS1S,QALT,EAKkC;AAAA;;AAJ1B,eAAA5e,SAAA,GAAAA,SAAA;AACyB,eAAAqD,UAAA,GAAAA,UAAA;AACxB,eAAA5L,mBAAA,GAAAA,mBAAA;AACA,eAAA65B,WAAA,GAAAA,WAAA;AACA,eAAA1S,QAAA,GAAAA,QAAA;AAlBT,eAAA2S,SAAA,GAA+C,gDAAG,EAAH,CAA/C;AAEA,eAAAC,eAAA,GAAkB,eAAlB;AACA,eAAAC,aAAA,GAAgB,0DAAhB;AAEA,eAAAC,QAAA,GAAiC,CAChC;AACCtoB,eAAG,EAAE,OADN;AAECujB,iBAAK,EAAE,OAFR;AAGCgF,sBAAU,EAAE;AAHb,WADgC,CAAjC;AAOA,eAAAC,OAAA,GAAgC,KAAKF,QAArC;AAOI;;;;iBAEJ,oBAAQ;;;AACP,iBAAKj5B,IAAL,GAAY,CAAH,KAAG,KAAK4K,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAE5K,IAA7B;AACA,iBAAKgV,OAAL,GAAe,CAAH,KAAG,KAAKpK,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEoK,OAAhC;AACA,iBAAK+jB,eAAL,GACC,kBAAKnuB,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEoK,OAAjB,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEokB,cAA1B,KAA4C,KAAKL,eADlD;;AAGA,iBAAKM,eAAL;;AACA,iBAAKC,UAAL;AACA;;;iBAED,kBAAS;AACR,iBAAK/xB,SAAL,CAAeS,KAAf;AACA;;;iBAEO,2BAAkB;;;AACzB,gBAAMixB,QAAQ,GAAG,CAAH,iBAAG,KAAKruB,UAAR,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEoK,OAApB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEmkB,OAA1B,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,EAAjC,GAAqC,EAAtD;;AACA,iBAAKA,OAAL,GACChpB,KAAK,CAACopB,OAAN,CAAcN,QAAd,KAA2BA,QAAQ,CAAC90B,MAApC,GAA6C80B,QAA7C,GAAwD,KAAKA,QAD9D;AAEA;;;iBAEO,sBAAa;AAAA;;AACpB,iBAAKO,UAAL,GAAkB,IAAlB;AACA,iBAAKV,SAAL,GAAiB,kDAAK,KAAK3S,QAAL,CAAcsT,QAAd,EAAL,EAA+BlvB,IAA/B,CAChB,uDAAU,UAACmvB,KAAD;AAAA,qBAAW,OAAI,CAACb,WAAL,CAAiBc,WAAjB,CAA6BD,KAA7B,CAAX;AAAA,aAAV,CADgB,EAEhB,uDAAU,UAACE,QAAD,EAAc;AACvB,kBAAMp1B,KAAK,GAAG,+DAAUC,WAAV,CAAsB,OAAI,CAACuQ,OAAL,CAAaxQ,KAAnC,EAA0C;AACvDxE,oBAAI,EAAE,MAAF,OAAE,CAAF,kBAAO,OAAI,CAACA,IAAZ,CAAE,EAAmB45B,QAAnB;AADiD,eAA1C,CAAd;AAGA,qBAAO,OAAI,CAAC56B,mBAAL,CAAyByW,sBAAzB,CACN,OAAI,CAACT,OAAL,CAAa6kB,WADP,EAENr1B,KAFM,CAAP;AAIA,aARD,CAFgB,EAWhB,wDAAW,UAACnB,KAAD,EAAW;AACrB+J,qBAAO,CAACC,GAAR,CAAYhK,KAAZ;AACA,qBAAI,CAACy2B,QAAL,GAAgB,IAAhB;AACA,qBAAO,gDAAG,EAAH,CAAP;AACA,aAJD,CAXgB,EAgBhB,sDAAS,YAAM;AACd,qBAAI,CAACN,UAAL,GAAkB,KAAlB;AACA,aAFD,CAhBgB,EAmBhB,iDAAI,UAACx5B,IAAD;AAAA,qBACHmQ,KAAK,CAACopB,OAAN,CAAcv5B,IAAd,KAAuB,CAAC,CAACA,IAAI,CAACmE,MAA9B,GACGnE,IAAI,CAAC6E,GAAL,CAAS,UAACtB,IAAD;AAAA,uBAAeA,IAAI,CAACvD,IAApB;AAAA,eAAT,CADH,GAEG,EAHA;AAAA,aAAJ,CAnBgB,CAAjB;AAyBA;;;;;;;;;;;;;;;;;;;;;AC3GF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA0Ba+5B,gB;AAuCZ,kCAC8BC,UAD9B,EAEQC,EAFR,EAEsB;AAAA;;AADQ,eAAAD,UAAA,GAAAA,UAAA;AACtB,eAAAC,EAAA,GAAAA,EAAA;AAtCC,eAAAC,OAAA,GAAiB,EAAjB;AAMA,eAAAC,UAAA,GAAsB,IAAtB;AAkBC,eAAAC,YAAA,GAAkC,IAAI,0DAAJ,EAAlC;AAEV,eAAAC,SAAA,GAAqB,KAArB;AAMA,eAAAC,QAAA,GAAgB,EAAhB;AAOI;;;;eA/BJ,eAAiB;AAChB,mBAAO,KAAKC,KAAZ;AACA,W;eACD,aAASC,GAAT,EAAmB;AAClB,iBAAKD,KAAL,GAAaC,GAAb;AACA,iBAAKC,MAAL;AACA;;;eAED,eAAoB;AACnB,mBAAO,KAAKH,QAAZ;AACA,W;eACD,aAAYE,GAAZ,EAAsB;AACrB,iBAAKF,QAAL,GAAgBE,GAAhB;AACA,iBAAKC,MAAL;AACA;;;iBAmBD,2BAAkB;AACjB,iBAAKC,SAAL;AACA,iBAAKC,WAAL,GAAmB,IAAnB;AACA;;;iBAED,uBAAcn3B,KAAd,EAAqB;AACpB,gBAAI,KAAKo3B,KAAT,EAAgB;AACf,kBAAMnoB,OAAO,GAAG,KAAKmoB,KAAL,CAAWC,yBAAX,CACfr3B,KADe,EAEf,SAFe,EAGf;AAAEs3B,yBAAS,EAAE;AAAb,eAHe,EAIf,KAJe,CAAhB;AAMA,kBAAMC,OAAO,GAAG,KAAKH,KAAL,CAAWC,yBAAX,CACfr3B,KADe,EAEf,SAFe,EAGf;AAAEs3B,yBAAS,EAAE;AAAb,eAHe,EAIf,KAJe,CAAhB;;AAOA,kBAAIroB,OAAO,IAAIA,OAAO,CAAC,CAAD,CAAlB,IAAyBsoB,OAA7B,EAAsC;AACrC,qBAAKX,YAAL,CAAkBv5B,IAAlB,CAAuB;AACtBm6B,+BAAa,EAAEx3B,KADO;AAEtBiP,yBAAO,EAAEA,OAAO,CAAC,CAAD,CAFM;AAGtBsoB,yBAAO,EAAEA;AAHa,iBAAvB;AAKA;AACD;AACD;;;iBAED,qBAAY;AACX,gBAAI,0EAAkB,KAAKf,UAAvB,CAAJ,EAAwC;AACvC,kBAAIiB,IAAI,GAAG,KAAKjmB,OAAL,IAAgB,EAA3B;AACAimB,kBAAI,CAACd,UAAL,GAAkB,KAAKA,UAAvB,CAFuC,CAIvC;;AACA,kBAAIc,IAAI,CAACd,UAAL,KAAoB,KAAK35B,MAAL,IAAe,KAAKoN,KAAxC,CAAJ,EAAoD;AACnDqtB,oBAAI,CAACC,mBAAL,GAA2B,KAA3B;AACA;;AAED,mBAAKN,KAAL,GAAa,IAAI,qDAAJ,CAAU,KAAKX,EAAL,CAAQ35B,aAAR,CAAsBgM,QAAtB,CAA+B,CAA/B,EAAkCA,QAAlC,CAA2C,CAA3C,CAAV,EAAyD;AACrEhG,oBAAI,EAAE,KAAKA,IAD0D;AAErEtG,oBAAI,EAAE,KAAKA,IAF0D;AAGrEgV,uBAAO,EAAE,KAAKA,OAHuD;AAIrEklB,uBAAO,EAAE,KAAKA;AAJuD,eAAzD,CAAb;AAMA;AACD;;;iBAED,qBAAY;AACX,mBAAO,KAAKD,EAAL,CAAQ35B,aAAR,CAAsBgM,QAAtB,CAA+B,CAA/B,EAAkCA,QAAlC,CAA2C,CAA3C,CAAP;AACA;;;iBAED,0BAAiB;AAChB,mBAAO,KAAKsuB,KAAL,CAAWO,aAAX,EAAP;AACA;;;iBAED,0BAAiB;AAChB,gBAAI,KAAKP,KAAT,EAAgB;AACf,qBAAO,KAAKA,KAAL,CAAWQ,cAAX,EAAP;AACA;AACD;;;iBAED,mBAAU;AACT,gBAAI,KAAKR,KAAT,EAAgB;AACf,mBAAKA,KAAL,CAAWS,MAAX;AACA;AACD;;;iBAED,kBAAS;AACR,gBAAI,KAAKT,KAAT,EAAgB;AACf,mBAAKA,KAAL,CAAWU,OAAX;AACA,mBAAKZ,SAAL;AACA;AACD;;;iBAED,uBAAc;AACb,gBAAI,KAAKE,KAAT,EAAgB;AACf,mBAAKA,KAAL,CAAWU,OAAX;AACA,mBAAKX,WAAL,GAAmB,KAAnB;AACA,mBAAKC,KAAL,GAAa,IAAb;AACA;AACD;;;;;;;;;;;;;;;;;;;;;ACxJF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBaW,2B;;;;;AAiBX,6CAAoB5I,SAApB,EACUzoB,iBADV,EAEUsxB,sBAFV,EAGUv8B,gBAHV,EAIUF,aAJV,EAIwC;AAAA;;AAAA;;AAAE;AAJtB,kBAAA4zB,SAAA,GAAAA,SAAA;AACV,kBAAAzoB,iBAAA,GAAAA,iBAAA;AACA,kBAAAsxB,sBAAA,GAAAA,sBAAA;AACA,kBAAAv8B,gBAAA,GAAAA,gBAAA;AACA,kBAAAF,aAAA,GAAAA,aAAA;AAjBA,kBAAA08B,UAAA,GAAa,IAAI,0DAAJ,EAAb;AACV,kBAAA5I,cAAA,GAAiB,QAAK3oB,iBAAL,CAAuBE,eAAxC;AACA,kBAAAqX,gBAAA,GAA4B,KAA5B;AACA,kBAAAqR,kBAAA,GAAqB,6EAAiBC,kBAAtC;AACA,kBAAApmB,UAAA,GAA8B,EAA9B;AAEA,kBAAAqmB,gBAAA,GAAmB,CACjB,QADiB,EAEjB,iBAFiB,EAGjB,SAHiB,EAIjB,SAJiB,CAAnB;AAWwC;AAAY;;;;iBAEpD,oBAAW;AACT,gBAAI,KAAK4D,gBAAT,EAA2B,KAAKhS,OAAL;AAC5B;;;iBAED,kBAASqO,aAAT,EAAsH;AAAA;;AAAA,gBAA/EC,IAA+E,uEAAzD,IAAyD;AAAA,gBAAnDC,UAAmD,uEAA7B,KAA6B;AAAA,gBAAtBvvB,KAAsB,uEAAN,IAAM;AACpH,gBAAM+F,GAAG,GAAG,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KAAhE;AACA,iBAAK0pB,SAAL,CAAehlB,IAAf,CAAoB,gIAApB,EAAwD;AACtDC,mBAAK,EAAE,gBAD+C;AAEtDmB,uBAAS,EAAEpF,GAF2C;AAGtDuV,uBAAS,EAAE,MAH2C;AAItDC,uBAAS,EAAE,KAJ2C;AAKtDnQ,0BAAY,EAAE,KALwC;AAMtDhP,kBAAI,EAAE;AACJqI,wBAAQ,EAAE8qB,UADN;AAEJyD,gCAAgB,EAAE,KAAKA,gBAFnB;AAGJ1uB,qBAAK,EAAEgrB,IAAI,IAAI,IAAI,0EAAJ,EAHX;AAIJvpB,mBAAG,EAAEA;AAJD;AANgD,aAAxD,EAaGmE,WAbH,GAcGvD,IAdH,CAeI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAfJ,EAgBI,kDAAK,CAAL,CAhBJ,EAkBG+C,SAlBH,CAkBa,UAACgL,MAAD,EAAiB;AAC1B,kBAAM7F,KAAK,mCACN6F,MADM,GACA;AACTqlB,uBAAO,EAAEH,aAAa,CAACI,aAAd,CAA4BD,OAD5B;AAETlW,wBAAQ,EAAE+V,aAAa,CAACI,aAAd,CAA4BnW,QAF7B;AAGToW,uBAAO,EAAE;AAHA,eADA,CAAX;;AAOA,kBAAIJ,IAAJ,EAAU;AACR,uBAAI,CAACvmB,UAAL,CAAgB/I,KAAhB,IAAyBsE,KAAzB;AACA,uBAAI,CAACyE,UAAL,sBAAsB,OAAI,CAACA,UAA3B;AACD,eAHD,MAIE,OAAI,CAACA,UAAL,gCAAsB,OAAI,CAACA,UAA3B,IAAuCzE,KAAvC;;AAEF,qBAAI,CAACuzB,UAAL,CAAgB56B,IAAhB,CAAqB,OAAI,CAAC8L,UAA1B;AACD,aAjCH;AAkCD;;;iBAED,oBAAW/I,KAAX,EAA0B;AAAA;;AACxB,iBAAK+uB,SAAL,CAAehlB,IAAf,CAAoB,qEAApB,EAAiD;AAC/CoB,uBAAS,EAAE,KAAK9P,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KADhB;AAE/CjJ,kBAAI,EAAE;AACJZ,uBAAO,EAAE,+CADL;AAEJ6P,0BAAU,EAAE;AACVJ,oBAAE,EAAE,kBADM;AAEVC,wBAAM,EAAE;AAFE;AAFR,eAFyC;AAS/ClB,mBAAK,EAAE,MATwC;AAU/CC,wBAAU,EAAE;AAVmC,aAAjD,EAYGC,WAZH,GAaGvD,IAbH,CAaQ,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAbR,EAcG+C,SAdH,CAca,YAAM;AACf;AACA,qBAAI,CAAC4J,UAAL,CAAgB/I,KAAhB,EAAuB0vB,OAAvB,GAAiC,IAAjC;AACA,qBAAI,CAAC3mB,UAAL,sBAAsB,OAAI,CAACA,UAA3B;;AACA,qBAAI,CAAC8uB,UAAL,CAAgB56B,IAAhB,CAAqB,OAAI,CAAC8L,UAA1B;AACD,aAnBH;AAoBD;;;iBAEO,mBAAU;AAAA;;AAChB,iBAAK8U,gBAAL,GAAwB,IAAxB;AACA,iBAAK+Z,sBAAL,CAA4BhI,gBAA5B,CACE,KAAKtpB,iBAAL,CAAuBE,eAAvB,CAAuC0G,QAAvC,GAAkDuiB,aAAlD,CAAgEnW,QADlE,EAEE,KAAK0Z,gBAFP,EAGGrsB,IAHH,CAII,uDAAU,KAAKC,QAAf,CAJJ,EAKI,sDAAS;AAAA,qBAAM,OAAI,CAACiX,gBAAL,GAAwB,KAA9B;AAAA,aAAT,CALJ,EAOG1e,SAPH,CAOa,UAAA/C,IAAI,EAAI;AACjB,qBAAI,CAAC2M,UAAL,GAAkB3M,IAAlB;;AACA,qBAAI,CAACy7B,UAAL,CAAgB56B,IAAhB,CAAqB,OAAI,CAAC8L,UAA1B;AACD,aAVH;AAWD;;;;QArG8C,6D;;;;;;;;;;;;;;;;;ACpBjD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;ACCA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAM3F,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,aAD6C;AAEnDW,gBAAQ,EAAE,aAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAASw0B,2BAAT,CAAqCt0B,QAArC,EAAyD;AAC9D,wFAA8BJ,iBAA9B,EAAiD,yFAAjD,EAA6EI,QAA7E;AACD;;;;;;;;;;;;;;;;;ACXD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAOA,UAAMJ,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,eAD8C;AAEpDW,gBAAQ,EAAE,eAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASy0B,6BAAT,CAAuCv0B,QAAvC,EAA2D;AACjE,wFACCJ,iBADD,EAEC,8EAFD,EAGCI,QAHD;AAKA;;;;;;;;;;;;;;;;;ACpBD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UASaw0B,iC;AAaZ,mDAAoBC,MAApB,EAAoC;AAAA;;AAAhB,eAAAA,MAAA,GAAAA,MAAA;AARX,eAAAn7B,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAO6B;;;;iBAEvC,mBAAU;;;AACT,gBAAIgzB,WAAW,GAAG,EAAlB;;AACA,iBAAK,IAAIl4B,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG,KAAK5D,IAAL,CAAUgG,YAAV,CAAuB6vB,KAAvB,CAA6B,GAA7B,EAAkC1xB,MAA9D,EAAsEP,KAAK,EAA3E,EAA+E;AAC9Ek4B,yBAAW,aAAMA,WAAN,SAAoB,KAAK97B,IAAL,CAAUgG,YAAV,CAAuB6vB,KAAvB,CAA6B,GAA7B,EAAkCjyB,KAAlC,CAApB,MAAX;AACA;;AAED,gBAAM1D,MAAM,GACX,YAAKF,IAAL,CAAUgG,YAAV,CACE6vB,KADF,CACQ,GADR,EAEC,KAAK71B,IAAL,CAAUgG,YAAV,CAAuB6vB,KAAvB,CAA6B,GAA7B,EAAkC1xB,MAAlC,GAA2C,CAF5C,OAE8C,IAF9C,IAE8C,aAF9C,GAE8C,MAF9C,GAE8C,GAAE0xB,KAAF,CAAQ,GAAR,EAAa,CAAb,CAF9C,KAEiE,EAHlE;AAKA,iBAAKgG,MAAL,CAAYE,QAAZ,CACC,6CACsC,KAAK/7B,IAAL,CAAUg8B,SADhD,cAC6D,KAAKh8B,IAAL,CAAUi8B,eADvE,cAC0F,KAAKx5B,aAAL,CAAmBy5B,aAD7G,cAC8H,KAAKz5B,aAAL,CAAmB05B,kBADjJ,EADD,EAIC;AAAE/Y,yBAAW,EAAE;AAAE0Y,2BAAW,EAAXA,WAAF;AAAe57B,sBAAM,EAANA;AAAf,eAAf;AAAwCqW,mBAAK,EAAE;AAAE6lB,6BAAa,EAAE,KAAKh0B,QAAL,IAAiB,KAAKC;AAAvC;AAA/C,aAJD;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC9B8B,yH,IAAgD,+E,IAAA,I,EAAA;AAAA;;AAAA;AAEhD,S;AAAA;;;uEAJJ,yI,IAAwD,+E,GAAA,sQ,GAEpD,8H,GAAA;AAAA;AAAA,gB,GAEe;AAFD,4BAAiC,OAAjC,CAAiC,OAAjC,CAAiC,SAAjC,CAAiC,eAAjC;;AAAd,wBAAc,SAAd;AAA+C,S,EAAA;AAF9C;;AAAL,wBAAK,SAAL;;AAAwD;;AAAA;AAEpD,S;AAAA;;;uEAJR,6K,IAEI,8H,GAAA;AAAA;AAAA,gB,GAKM;AAL2B,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,IAAtB;;AAAjC,wBAAiC,SAAjC;AAAuD,S,EAAA;AAFzB,4BAA+B,QAA/B,CAA+B,SAA/B,CAA+B,KAA/B;AAC9B,4BAAkC,QAAlC,CAAkC,SAAlC,CAAkC,OAAlC;AAAmC,4BAAkC,QAAlC,CAAkC,SAAlC,CAAkC,OAAlC;;AADvC,wBAAkC,SAAlC,EACI,SADJ,EACuC,SADvC;AACyE,S;AAAA;;;uEAF7E,uH,IACI,8H,GAAA;AAAA;AAAA,gB,GAQK;AARD,4BAA6B,QAA7B,CAA6B,SAA7B;;AAAJ,wBAAI,SAAJ;AAAiC,S,EAAA,I;AAAA;;;uEADrC,8H,GAAA;AAAA;AAAA,gB,GAUK,4E,IAAA;AAAA;AAVD,6BAA8B,WAA9B;;AAAJ,wBAAI,SAAJ;AAAkC,S,EAAA,I;AAAA;;;uEAe1B,2J,IAGI,yI,GAAK,wD,GAAyC,I,EAAA;AAAA;AAF9C,qFAAkE,YAAlE,CAAkE,QAAlE,GAAkE,IAAlE;;AACA;;AAFJ,wBACI,SADJ,EAEI,SAFJ;;AAGS,iOAAyC,OAAzC,CAAyC,OAAzC,CAAyC,SAAzC,CAAyC,GAAzC;;AAAL,wBAAK,SAAL;AAA8C,S;AAAA;;;uEAMlC,wH,IACsF,+E,GAAA,oJ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAEtF,S;AAAA;;;uEAEI,wH,IACkG,+E,GAAA,oJ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAIlG,S;AAAA;;;uEAEI,yI,GACI,wD,GAAA,I,EAAA;AAAA;;AADJ,wBACI,SADJ;AACwE,S;AAAA;;;uEAR5E,+H,GAAA;AAAA;AAAA;AAAA,gB,GAMA,8I,IAIc;AAAA;AATV;;AAAA;;AADJ,wBACI,SADJ,EACI,SADJ;AACiG,S,EAAA,I;AAAA;;;uEAR7G,yH,IACI,wI,IACI,+H,GAAA;AAAA;AAAA;AAAA,gB,GAIA,mI,IAYc;AAAA;AAfV;;AAAA;;AADJ,wBACI,SADJ,EACI,SADJ;AACqF,S,EAAA;AAAA;;AAFrF;;AAAJ,wBAAI,SAAJ;AAAiE,S;AAAA;;;uEAwBrD,yH,IAAyC,2E,IAAC,I,EAAA,I;AAAA;;;uEAHtD,0H,IACI,wH,IACI,0I,IACI,+H,GAAA;AAAA;AAAA,gB,GACA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAOI;;;;;AAPJ;AAAA,sB,GAAA,wV,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,qR,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAS4C;AAVtC,4BAAkC,OAAlC,CAAkC,MAAlC,CAAkC,MAAlC,CAAkC,MAAlC,CAAkC,OAAlC,CAAkC,SAAlC,CAAkC,QAAlC,CAAkC,UAAlC;;AAAN,wBAAM,SAAN;;AAEI,6JAAAC,QAAA;;AADJ,wBACI,UADJ;;AAKI,6JAAA+zB,SAAA;;AALJ,wBAKI,UALJ;;AAMI,6JAAAC,SAAA;;AANJ,wBAMI,UANJ;;AAEI,6JAAAj2B,OAAA;;AAFJ,yBAEI,UAFJ;;AAQI;;AADA,qFAA8B,OAA9B,CAA8B,MAA9B,CAA8B,MAA9B,CAA8B,MAA9B,CAA8B,OAA9B,CAA8B,SAA9B,CAA8B,GAA9B;;AAPJ,yBAQI,UARJ,EAOI,UAPJ;AAOkC,S,EAAA;AATjC;;AAAL,wBAAK,SAAL;;AAEW,4JAAAC,IAAA;;AAGH,4JAAAqS,GAAA;;AAA8B,4JAAAyV,GAAA;;AAC9B;;AAJJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yBAAO,SAAP,EAGI,SAHJ,EAGkC,SAHlC,EAII,SAJJ;AAS4C,S;AAAA;;;uEAOhD,wH,IAAsC,+E,GAAA,6I,GAAA,I,EAAA;AAAA;;AAAA;AAEtC,S;AAAA;;;uEAEI,wH,IAAkD,+E,GAAA,6I,GAAA,I,EAAA;AAAA;;AAAA;AAGlD,S;AAAA;;;uEAEI,yI,GACI,wD,GAAA,I,EAAA;AAAA;;AADJ,wBACI,SADJ;AACwE,S;AAAA;;;uEAN5E,+H,GAAA;AAAA;AAAA;AAAA,gB,GAIA,8I,IAIc;AART;;AAAA;;AAAL,wBAAK,SAAL,EAAK,SAAL;AAAiD,S,EAAA,I;AAAA;;;uEANzD,wI,IAEI,+H,GAAA;AAAA;AAAA;AAAA,gB,GAGA,mI,IAUc;AAbT;;AAAA;;AAAL,wBAAK,SAAL,EAAK,SAAL;AAAqC,S,EAAA;AADrC;;AADJ,wBACI,SADJ;AACiG,S;AAAA;;;uEAnBrG,+H,GAAA;AAAA;AAAA;AAAA,gB,GAiBA,oI,IAkBc;AAAA;AAnCA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAA+D,S,EAAA,I;AAAA;;;uEAvBvE,yH,IACI,+H,GAAA;AAAA;AAAA;AAAA,gB,GAqBA,sI,IAqCc;AAAA;AA1DA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAA+D,S,EAAA,I;AAAA;;;uEADnE,+H,GAAA;AAAA;AAAA,gB,GA4De,4E,IAAA;AAAA;AA5DD,gEAA0C,YAA1C,CAA0C,QAA1C;;AAAd,wBAAc,SAAd;AAAwD,S,EAAA,I;AAAA;;;uEAPhE,yH,IACI,8H,GAAA;AAAA;AAAA;AAAA,gB,GAKA,sI,IA8Dc;AAAA;AAnEV;;AAAA;;AAAJ,wBAAI,SAAJ,EAAI,SAAJ;AAA+H,S,EAAA,I;AAAA;;;uEAFvI,uH,IACI,8H,GAAA;AAAA;AAAA,gB,GAqEe;AAAA;AArED,6BAA+B,SAA/B;;AAAd,wBAAc,SAAd;AAA6C,S,EAAA,I;AAAA;;;uEAjB7D,yH,IACI;AAAA;AAAA,sBAwFU,UAxFV;;AAAgF;;;;;AAAhF;AAAA,kN,GAAA,yL,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACI,uH,GAAA;AAAA;AAAA,gB,GAaA,uH,GAAA;AAAA;AAAA,gB,GAyEc;AAAA;AAvF4C;AAArD,6BAAmB,UAAnB;AAAoB;;AAA7B,wBAA8D,SAA9D,EAAS,SAAT,EAA6B,SAA7B;;AACiB;;AAAb,wBAAa,SAAb;;AAaa;;AAAb,wBAAa,SAAb;AAA6B,S,EAAA,I;AAAA;;;uEAuFzB,yH,IAA4D,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE5D,S;AAAA;;;uEACqB,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAErB,S;AAAA;;;uEARR,yI,IACI;AAAA;AAAA,sBAQS,UART;;AACI;;;;;AADJ;AAAA,sB,IAEI,+H,GAAA;AAAA;AAAA;AAAA,gB,GAGA,mI,IAEc;AAAA;AALA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAA2D,S,EAAA;AAAA;;AAH9D;;AAAL,wBAAK,SAAL;;AACyD,mGAA6B,IAA7B,CAA6B,KAA7B;;AAArD,wBAAqD,SAArD;AAAkF,S;AAAA;;;uEAR1F,yH,IACI,uH,IAEA,2I,IAAyE,6E,GAAA,sQ,GACzE;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA+B;;;;;AAA/B;AAAA,sB,GAAA,wV,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAGA,+H,GAAA;AAAA;AAAA,gB,GAUM;AAAA;AAZF,8BAA4B,gBAA5B;;AADJ,wBACI,UADJ;;AAAkF;AAA/B,8BAAqB,SAArB;AAApB,8BAAmB,MAAnB;;AAA/B,yBAAkF,UAAlF,EAAmD,UAAnD,EAA+B,UAA/B;;AAG4E,+BAAiB,SAAjB;;AAA5E,yBAA4E,UAA5E;AAA6F,S,EAAA;AAAA;;AAJtF;;AAAP,wBAAO,SAAP;;AAAyE;;AAAA;;AACzE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAC4C,S;AAAA;;;8RApGxD,gV,GAAA,8M,GACA,0J,IACI;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C,yvBACI,8H,GAAA;AAAA;AAAA,gB,GA4FA,+H,GAAA;AAAA;AAAA,gB,GAkBM;AAAA;AA9GQ,8CAAqC,UAArC,CAAqC,MAArC;;AAAd,yBAAc,SAAd;;AA4FK,6BAAmB,YAAnB;;AAAL,yBAAK,SAAL;AAAwB,S,EAAA;AA7F5B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAgHO,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECjGiB,gY,GAAA;AAAA;AAAA,gB,GACwC;AAApC;;AADJ,wBACI,SADJ;AAC4B,S,EAAA,I;AAAA;;;uEAC5B,4Y,GAAA;AAAA;AAAA,gB,GAC+C;AAA3C;;AADJ,wBACI,SADJ;AACmC,S,EAAA,I;AAAA;;;mPApB/D,2J,IACI,+U,GAAA;AAAA;AAAA,gB,EAAuB;AAAA;AAAA;AAAA,U,EAAvB;AAAA;AAAA,gB,EAAuB;AAAA;AAAA;AAAA,U,EAAvB;AAAA;AAAA,gB,GACI,kW,GAAA,6T,GACI,qJ,IAAgC,8E,IAChC,4T,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GAEI,kJ,IACI,8J,GAAA;AAAA;AAAA;AAAA,gB,EAAG,yD,GAA4E,kJ,IAC5C,+E,GAAA,6T,GACnC,8I,IACI;AAAA;AAAA,sBAEa,UAFb;;AAAqC;;;;;AAArC;AAAA,0N,GAAA;AAAA;AAAA;AAAA,gB,GACI,uZ,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAGJ;AAAA;AAAA,sBAOa,UAPb;;AAAY;;;;;AAAZ;AAAA,0N,GAAA;AAAA;AAAA;AAAA,gB,EACI,wQ,EADJ;AAAA;AAAA;AAAA,gB,GAGI,wH,GAAA;AAAA;AAAA,gB,GAEA,wH,GAAA;AAAA;AAAA,gB,GAMZ,iW,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAAsE;AAAA;;AAxB3D;;AAAvB,wBAAuB,SAAvB;;AAAuB;;AAAvB,wBAAuB,SAAvB;;AAAU;;AAAV,wBAAU,SAAV;;AAGkB;;AAAV,yBAAU,SAAV;;AAAU;;AAAV,yBAAU,SAAV;;AAA6B;;AAA7B,yBAA6B,SAA7B;;AAGuD;;AAA5C,qKAA2C,aAA3C,CAA2C,QAA3C;;AAAH,yBAA+C,SAA/C,EAAG,SAAH;;AAG6B;AAAb;;AAAZ,yBAAyB,UAAzB,EAAY,UAAZ;;AAC2B;AAAgC;AAA7C;;AAAV,yBAAuB,UAAvB,EAAuD,UAAvD,EAAU,UAAV;;AAKA;;AADA;;AADJ,yBAEI,UAFJ,EACI,UADJ;;AAE+D;AAAb;;AAFlD,yBAE+D,UAF/D,EAEkD,UAFlD;;AAGc;;AAAV,yBAAU,UAAV;;AAEU;;AAAV,yBAAU,UAAV;;AAMW;AAAe;AAA5B;;AAAV,yBAAuB,UAAvB,EAAsC,UAAtC,EAAU,UAAV;AAAsB,S,EAAA;AAAA;AAtBM;;AAAA;;AAKW;;AAAA;AAAoC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACR3F;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAyCamO,8B;AA4CX,gDACUzmB,YADV,EAEU7W,gBAFV,EAGS48B,MAHT,EAISW,KAJT,EAKSzX,iBALT,EAK6C;AAAA;;AAJnC,eAAAjP,YAAA,GAAAA,YAAA;AACA,eAAA7W,gBAAA,GAAAA,gBAAA;AACD,eAAA48B,MAAA,GAAAA,MAAA;AACA,eAAAW,KAAA,GAAAA,KAAA;AACA,eAAAzX,iBAAA,GAAAA,iBAAA;AA9CT,eAAAva,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAIQ,eAAAiyB,aAAA,GAAgB;AACtBz8B,gBAAI,EAAE,IADgB;AAEtB08B,iBAAK,EAAE;AACLrX,sBAAQ,EAAE,KADL;AAEL6K,wBAAU,EAAE;AAFP;AAFe,WAAhB;AAOA,eAAAyM,MAAA,GAAmB,IAAnB;AAQE,eAAA7zB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAmBV,eAAA8zB,YAAA,GAAe,IAAI,oDAAJ,CAA+B,IAA/B,CAAf;AACA,eAAAC,UAAA,GAAa,KAAKD,YAAL,CAAkBE,YAAlB,GAAiCvyB,IAAjC,CAAsC,oDAAOwyB,OAAP,CAAtC,CAAb;AAQI;;;;eA/BJ,eAAmB;AACjB,mBAAO,KAAKJ,MAAZ;AACD,W;eAND,aACiBK,CADjB,EACoB;AAClB,iBAAKL,MAAL,GAAcK,CAAd;AACD;;;iBAeD,qBAAY5zB,OAAZ,EAAoC;AAClC,gBAAI,CAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEpJ,IAAT,MAAiBoJ,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE1I,KAA1B,CAAJ,EAAqC;AACnC,mBAAKu8B,aAAL,CAAmB,KAAKj9B,IAAxB;AACD;AACF;;;iBAeD,uBAAW;AACT,iBAAKwK,QAAL,CAAc0C,IAAd;AACA,iBAAK1C,QAAL,CAAc4W,QAAd;AACD;;;iBAEO,uBAAc1gB,KAAd,EAA8B;AAAA;;;;AACpC,gBAAMV,IAAI,GAAG,CAAH,WAAG,KAAKA,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAEoB,cAAX,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEpB,IAAxC;AACA,gBAAM2Q,GAAG,GAAG,CAAA3Q,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEk9B,UAAN,MAAoBx8B,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEw8B,UAA3B,CAAZ;;AACA,gBAAIvsB,GAAJ,EAAS;AACP,mBAAKoU,iBAAL,CACGoY,YADH,CACgBxsB,GADhB,EAEGpG,IAFH,CAEQ,uDAAU,KAAKC,QAAf,CAFR,EAGGzH,SAHH,CAGa,UAACqM,GAAD,EAAS;AAClB,uBAAI,CAACwtB,YAAL,CAAkB1vB,IAAlB,CAAuB,MAAD,OAAC,CAAD,kBACjB,OAAI,CAAC0vB,YAAL,CAAkB9rB,QAAlB,EADiB,CAAC,EACU;AAC/BH,qBAAG,EAAEvB,GAAG,CAAC8N,QADsB;AAE/B7V,oBAAE,EAAE+H,GAAG,CAAC/H,EAFuB;AAG/BlG,2BAAS,EAAEiO,GAAG,CAACjO,SAHgB;AAI/Bi8B,wBAAM,EAAEhuB,GAAG,CAACiuB;AAJmB,iBADV,CAAvB;AAOD,eAXH;AAYD;AACF;;;iBAED,oBAAQ;AACN,iBAAKC,SAAL,GAAiB,KAAKvY,iBAAL,CAAuBwY,WAAvB,EAAjB;AACD;;;iBAED,qBAAY7G,OAAZ,EAAqB;AACnB,iBAAKh2B,KAAL,GAAa,wDAAWg2B,OAAX,CAAb;AACA,iBAAK5tB,WAAL,CAAiBjI,IAAjB,CAAsB61B,OAAtB;AACD;;;iBAED,wBAAepf,OAAf,EAAiC;;;AAC/B,gBAAMtX,IAAI,GAAG;AACXA,kBAAI,EAAE,CAAF,KAAE,KAAKU,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAEV,IADP;AAEX08B,mBAAK,EAAE,MAAF,OAAE,CAAF,wBACA,KAAKh8B,KADL,MACU,IADV,IACU,aADV,GACU,MADV,GACU,GAAEg8B,KADZ,CAAE,EACe;AACpBrX,wBAAQ,EAAE/N;AADU,eADf;AAFI,aAAb;AAOA,iBAAKkmB,WAAL,CAAiBx9B,IAAjB;AACD;;;iBAED,2BAAkBsX,OAAlB,EAAoC;;;AAClC,gBAAMtX,IAAI,GAAG;AACXA,kBAAI,EAAE,CAAF,KAAE,KAAKU,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAEV,IADP;AAEX08B,mBAAK,EAAE,MAAF,OAAE,CAAF,wBACA,KAAKh8B,KADL,MACU,IADV,IACU,aADV,GACU,MADV,GACU,GAAEg8B,KADZ,CAAE,EACe;AACpBxM,0BAAU,EAAE5Y;AADQ,eADf;AAFI,aAAb;AAOA,iBAAKkmB,WAAL,CAAiBx9B,IAAjB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMgH,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,YAD6C;AAEnDW,gBAAQ,EAAE,YAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAeO,eAASu2B,oBAAT,CAA8Br2B,QAA9B,EAAkD;AACvD,wFAA8BJ,iBAA9B,EAAiD,0EAAjD,EAAsEI,QAAtE;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECpBA,6I,IACC,oK,IACC,mK,IAA4C,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE5C,S;AAAA;;;uEAyBE,iJ,IAOC,4gB,GAAA,wa,GAAsB,mF,IAAY;AAAlC;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA6C,S;AAAA;;;uEAE9C,iJ,IAIC,4gB,GAAA,wa,GAAsB,6E,IAAM;AAA5B;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAuC,S;AAAA;;;uEAExC,+J,IAGE,8E,IAAA,I,EAAA;AAAA;;AAAA;AAAc,S;AAAA;;;uEApCjB;AAAA;AAAA,sBAuCK,UAvCL;;AACC;;;;;AADD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAGC;AAAA;AAAA;AAAA,U,EAHD;AAAA;AAAA,gB,EAOC;AAAA;AAAA,U,EAPD;AAAA;AAAA;AAAA,gB,EAGC;AAAA;AAAA;AAAA,U,EAHD;AAAA;AAAA,gB,EAOC;AAAA;AAAA,U,GAWA,yH,GAAA;AAAA;AAAA,gB,GASA,yH,GAAA;AAAA;AAAA,gB,GAMA,yH,GAAA;AAAA;AAAA,gB,GAKA,0H,IAAM,8E,GAAA,sQ,GAAwD;AAAA;AAtB9D;;AAbA,oFAGE,QAHF,CAGE,KAHF;;AAHD,wBAgBC,SAhBD,EAGC,SAHD;;AAOC;;AAPD,wBAOC,SAPD;;AAGC,oFAGE,QAHF,CAGE,KAHF;;AAaA;;AAhBD,wBAGC,SAHD,EAgBC,SAhBD;;AAOC;;AAPD,wBAOC,SAPD;;AAmBE,qQAGC,SAHD;;AADD,yBACC,SADD;;AAUC,2IAAuF,SAAvF;;AADD,yBACC,SADD;;AAOC,gHAAmE,SAAnE;;AADD,yBACC,SADD;AACoE,S,EAAA;AAI9D;;AAAA;AAAwD,S;AAAA;;;uEAMhE;AAAA;AAAA,sBAUS,UAVT;;AAOC;;;;;AACA;;;;;AARD;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAUS;AAAA;AALR,8DAAgC,YAAhC,CAAgC,OAAhC;AACA,6BAA6B,eAA7B;AAFA,uDAA4C,KAA5C,CAA4C,yBAA5C;AADA;;AAHD,wBAKC,SALD,EAMC,SAND,EAIC,SAJD,EAGC,SAHD;AAGqB,S,EAAA,I;AAAA;;;uEAUrB;AAAA;AAAA,sBAWS,UAXT;;AAQC;;;;;AACA;;;;;AATD;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAMC;AAAA;AAAA,U,GAAgD;AAAA;AAHhD,6BAA8B,mBAA9B;AAIA,8DAAiD,YAAjD,CAAiD,mBAAjD;;AADA,2CAAgD,wBAAhD;;AADA;AADA;;AAJD,wBAGC,SAHD,EAOC,SAPD,EAMC,SAND,EAKC,SALD,EAIC,SAJD;AAIqB,S,EAAA,I;AAAA;;;uEASrB,8J,IACC;AAAA;AAAA,sBAYS,UAZT;;AACC;;;;;;AADD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAQC,sQ,GAGA,wgB,GAAA,wa,GAAU,0E,IAEX;AAAA;AAAA,sBAcS,UAdT;;AACC;;;;;;AADD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAUC,sQ,GAGA,ygB,GAAA,ya,GAAU,2E,IAAoD;AAjB9D;;AADA;;AARD,wBASC,SATD,EAQC,SARD;;AAWC;;AAaA;;AADA;;AAVD,wBAWC,UAXD,EAUC,UAVD;;AAaC;AAAyE,S,EAAA;AAAA;AArBzE;;AALD,wBAKC,SALD;;AAWC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAU;;AAAA;;AASV;;AAPD,wBAOC,SAPD;;AAaC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAU;;AAAA;AAAoD,S;AAAA;;;uEA7GnE,qJ,IACC,yH,GAAA;AAAA;AAAA,gB,GAQA,yI,IACC,qJ,IACC,4J,IACC,yH,GAAA;AAAA;AAAA,gB,GA0CF,qJ,IACC,8U,GAAA,6M,GACA,yH,GAAA;AAAA;AAAA,gB,GAaA,yH,GAAA;AAAA;AAAA,gB,GAaA,yH,GAAA;AAAA;AAAA,gB,GA6BM;AAAA;AA9Gc,2HAAoE,KAApE,CAAoE,yBAApE;;AAAtB,wBAAsB,SAAtB;;AAaI,6BAAiD,YAAjD;;AAFD,wBAEC,SAFD;;AA8CA,6BAAiB,UAAjB;;AAFD,yBAEC,SAFD;;AAeC,6BAA0B,mBAA1B;;AAFD,yBAEC,SAFD;;AAaK,kFAA2C,aAA3C,CAA2C,OAA3C;;AAAL,yBAAK,SAAL;AAAgD,S,EAAA,I;AAAA;;;uEA0D7C,yH,IACC,wgB,GAAA,wa,GAAU,mF,IAAY;AAAtB;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAiC,S;AAAA;;;uEAElC,yH,IACC,wgB,GAAA,wa,GAAU,6E,IAAM;AAAhB;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA2B,S;AAAA;;;uEAE5B,gJ,IAA+E,+E,IAAA,I,EAAA;AAAA;;AAAA;AAE/E,S;AAAA;;;uEA3BD;AAAA;AAAA,sBA6BK,UA7BL;;AACC;;;;;AADD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAGC;AAAA;AAAA,U,EAHD;AAAA;AAAA,gB,EAMC;AAAA;AAAA,U,EAND;AAAA;AAAA;AAAA,gB,EAgBC,sQ,EAhBD;AAAA;AAAA;AAAA,gB,EAGC;AAAA;AAAA,U,EAHD;AAAA;AAAA,gB,EAMC;AAAA;AAAA,U,GAaA,0H,GAAA;AAAA;AAAA,gB,GAGA,0H,GAAA;AAAA;AAAA,gB,GAGA,0H,GAAA;AAAA;AAAA,gB,GAEM;AAAA;AAZN;;AAZA,4DAEE,QAFF,CAEE,KAFF;;AAHD,wBAeC,SAfD,EAGC,SAHD;;AAMC;;AAND,wBAMC,SAND;;AAiBC;;AADA,uLAA+D,QAA/D,CAA+D,SAA/D,CAA+D,OAA/D;;AAhBD,wBAiBC,SAjBD,EAgBC,SAhBD;;AAGC,4DAEE,QAFF,CAEE,KAFF;;AAYA;;AAfD,wBAGC,SAHD,EAeC,SAfD;;AAMC;;AAND,wBAMC,SAND;;AAmBO,yIAA4E,SAA5E;;AAAN,yBAAM,SAAN;;AAGM,0HAAyE,SAAzE;;AAAN,yBAAM,SAAN;;AAGK,iGAAqD,SAArD;;AAAL,yBAAK,UAAL;AAA0D,S,EAAA,I;AAAA;;;uEAY5D;AAAA;AAAA,sBASS,UATT;;AAOC;;;;;AAPD;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GASS;AAAA;AAJR,8DAAgC,YAAhC,CAAgC,OAAhC;AACA,6BAA6B,eAA7B;AAFA,uDAA4C,KAA5C,CAA4C,yBAA5C;AADA;;AAHD,wBAKC,SALD,EAMC,SAND,EAIC,SAJD,EAGC,SAHD;AAGqB,S,EAAA,I;AAAA;;;uEASrB;AAAA;AAAA,sBAWS,UAXT;;AAQC;;;;;AACA;;;;;AATD;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAMC;AAAA;AAAA,U,GAAgD;AAAA;AAHhD,6BAA8B,mBAA9B;AAIA,8DAAiD,YAAjD,CAAiD,mBAAjD;;AADA,2CAAgD,wBAAhD;;AADA;AADA;;AAJD,wBAGC,SAHD,EAOC,SAPD,EAMC,SAND,EAKC,SALD,EAIC,SAJD;AAIqB,S,EAAA,I;AAAA;;;uEASrB,8J,IACC;AAAA;AAAA,sBAYS,UAZT;;AACC;;;;;;AADD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAQC,sQ,GAGA,wgB,GAAA,wa,GAAU,0E,IAEX;AAAA;AAAA,sBAcS,UAdT;;AACC;;;;;;AADD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAUC,sQ,GAGA,ygB,GAAA,ya,GAAU,2E,IAAoD;AAjB9D;;AADA;;AARD,wBASC,SATD,EAQC,SARD;;AAWC;;AAaA;;AADA;;AAVD,wBAWC,UAXD,EAUC,UAVD;;AAaC;AAAyE,S,EAAA;AAAA;AArBzE;;AALD,wBAKC,SALD;;AAWC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAU;;AAAA;;AASV;;AAPD,wBAOC,SAPD;;AAaC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAU;;AAAA;AAAoD,S;AAAA;;;uEA7FnE,yJ,IACC,wI,IACC,sJ,IACC,kL,IACC,0H,GAAA;AAAA;AAAA,gB,GAkCH,wI,IACC,sJ,IACC,8U,GAAA,4M,GACA,0H,GAAA;AAAA;AAAA,gB,GAYA,0H,GAAA;AAAA;AAAA,gB,GAaA,0H,GAAA;AAAA;AAAA,gB,GA6BM;AAAA;AAzFJ,6BAAiD,YAAjD;;AAFD,wBAEC,SAFD;;AAuCA,6BAAiB,UAAjB;;AAFD,yBAEC,SAFD;;AAcC,6BAA0B,mBAA1B;;AAFD,yBAEC,SAFD;;AAaK,kFAA2C,aAA3C,CAA2C,OAA3C;;AAAL,yBAAK,SAAL;AAAgD,S,EAAA,I;AAAA;;;;;aAvLpD,yH,GAAA;AAAA;AAAA;AAAA,gB,GAoHA,qI,IAoGc;AAAA;AAxNe;;AAAA;;AAA7B,wBAA6B,SAA7B,EAA6B,SAA7B;AAAyE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECAzE;AAAA;AAAA,sBAIuB,UAJvB;;AAEsD;;;;;AACpD;;;;;AAAwC;;;;;AAAkC;;;;;AAH5E;AAAA,8P,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAIuB;AAAA;AAFU;AAFX,6BAAkC,KAAlC,CAAkC,gBAAlC;AACpB;AADuD;AACsB,6BAA8B,KAA9B,CAA8B,IAA9B;AAC7E,6BAA8B,KAA9B,CAA8B,IAA9B;AADwB;AADwD;;AAAlF,wBAEiC,SAFjC,EAAsB,SAAtB,EACE,SADF,EAAyD,SAAzD,EAC+E,SAD/E,EAEE,SAFF,EAC0B,SAD1B,EAAkF,SAAlF;AAA4G,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACM5G;AAAA;;;AAAA;AAAA;AAAA;;UAAas2B,0B;AACX,8CAAc;AAAA;AACb;;;;iBAED,mBAAUh9B,KAAV,EAAyBuc,OAAzB,EAAyC;;;AACvC,gBAAM0gB,cAAc,GAAG,CAAH,KAAG1gB,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE2gB,eAAT,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEx5B,IAAF,CAAO,UAAAC,CAAC;AAAA,qBACpDA,CAAC,CAACw5B,QAAF,IAAc,CAACx5B,CAAC,CAACy5B,WAAjB,IAAgCp9B,KAAK,IAAI2D,CAAC,CAACw5B,QAA5C,IACC,CAACx5B,CAAC,CAACw5B,QAAH,IAAex5B,CAAC,CAACy5B,WAAjB,IAAgCp9B,KAAK,IAAI2D,CAAC,CAACy5B,WAD5C,IAECz5B,CAAC,CAACw5B,QAAF,IAAcx5B,CAAC,CAACy5B,WAAhB,IAA+Bp9B,KAAK,IAAI2D,CAAC,CAACw5B,QAA1C,IAAsDn9B,KAAK,GAAG2D,CAAC,CAACy5B,WAHZ;AAAA,aAAR,CAA/C;AAKA,mBAAOH,cAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOaI,iB;AAET,mCAAoB1N,iBAApB,EACYC,MADZ,EAEY7oB,QAFZ,EAGYob,SAHZ,EAGyC;AAAA;;AAHrB,eAAAwN,iBAAA,GAAAA,iBAAA;AACR,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAA7oB,QAAA,GAAAA,QAAA;AACA,eAAAob,SAAA,GAAAA,SAAA;AAAgC;;;;iBAC5C,mBAAUniB,KAAV,EAAyB;AAAA;;AACrB,iBAAK6vB,WAAL;AACA,gBAAMhL,CAAC,GAAG,IAAIzd,IAAJ,CAASpH,KAAT,CAAV;AACA,gBAAM8vB,GAAG,GAAG,IAAI1oB,IAAJ,EAAZ;AACA,gBAAM2oB,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAAS,CAACJ,GAAG,CAACniB,OAAJ,KAAgBkX,CAAC,CAAClX,OAAF,EAAjB,IAAgC,IAAzC,CAAX,CAAhB;AACA,gBAAMwiB,YAAY,GAAIrT,MAAM,CAACsT,KAAP,CAAaL,OAAb,CAAD,GAA0B,IAA1B,GAAiC,KAAKM,qBAAL,CAA2BN,OAA3B,IAAsC,IAA5F;AACA,iBAAKO,KAAL,GAAa,KAAKV,MAAL,CAAYW,iBAAZ,CAA8B,YAAM;AAC7C,kBAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,uBAAOA,MAAM,CAAC/tB,UAAP,CAAkB,YAAM;AAC3B,yBAAI,CAACmtB,MAAL,CAAYa,GAAZ,CAAgB;AAAA,2BAAM,OAAI,CAACd,iBAAL,CAAuBe,YAAvB,EAAN;AAAA,mBAAhB;AACH,iBAFM,EAEJP,YAFI,CAAP;AAGH;;AACD,qBAAO,IAAP;AACH,aAPY,CAAb;AAQA,gBAAMQ,OAAO,GAAGX,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASH,OAAO,GAAG,EAAnB,CAAX,CAAhB;AACA,gBAAMa,KAAK,GAAGZ,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASS,OAAO,GAAG,EAAnB,CAAX,CAAd;AACA,gBAAME,IAAI,GAAGb,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASU,KAAK,GAAG,EAAjB,CAAX,CAAb;AACA,gBAAME,MAAM,GAAGd,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASW,IAAI,GAAG,MAAhB,CAAX,CAAf;AACA,gBAAM/Y,KAAK,GAAGkY,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASW,IAAI,GAAG,GAAhB,CAAX,CAAd;;AACA,gBAAI/T,MAAM,CAACsT,KAAP,CAAaL,OAAb,CAAJ,EAA2B;AACvB,qBAAO,EAAP;AACH,aAFD,MAEO,IAAIA,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAK5N,SAAL,CAAevf,OAAf,CAAuB,mBAAvB,CAAP;AACH,aAFM,MAEA,IAAImtB,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAK5N,SAAL,CAAevf,OAAf,CAAuB,cAAvB,CAAP;AACH,aAFM,MAEA,IAAI+tB,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAKxO,SAAL,CAAevf,OAAf,CAAuB,aAAvB,EAAsC;AAAE+tB,uBAAO,EAAPA;AAAF,eAAtC,CAAP;AACH,aAFM,MAEA,IAAIA,OAAO,IAAI,EAAf,EAAmB;AACtB,qBAAO,KAAKxO,SAAL,CAAevf,OAAf,CAAuB,aAAvB,CAAP;AACH,aAFM,MAEA,IAAIguB,KAAK,IAAI,EAAb,EAAiB;AACpB,qBAAO,KAAKzO,SAAL,CAAevf,OAAf,CAAuB,WAAvB,EAAoC;AAAEguB,qBAAK,EAALA;AAAF,eAApC,CAAP;AACH,aAFM,MAEA,IAAIA,KAAK,IAAI,EAAb,EAAiB;AACpB,qBAAO,KAAKzO,SAAL,CAAevf,OAAf,CAAuB,WAAvB,CAAP;AACH,aAFM,MAEA,IAAIiuB,IAAI,IAAI,CAAZ,EAAe;AAClB,qBAAO,KAAK1O,SAAL,CAAevf,OAAf,CAAuB,UAAvB,EAAmC;AAAEiuB,oBAAI,EAAJA;AAAF,eAAnC,CAAP;AACH,aAFM,MAEA;AACH,qBAAO,KAAK9pB,QAAL,CAAcI,SAAd,CAAwBnH,KAAxB,EAA+B,YAA/B,CAAP;AACH;AACJ;;;iBACD,uBAAW;AACP,iBAAK6vB,WAAL;AACH;;;iBACO,uBAAc;AAClB,gBAAI,KAAKS,KAAT,EAAgB;AACZE,oBAAM,CAACO,YAAP,CAAoB,KAAKT,KAAzB;AACA,mBAAKA,KAAL,GAAa,IAAb;AACH;AACJ;;;iBACO,+BAAsBP,OAAtB,EAAuC;AAC3C,gBAAM9X,GAAG,GAAG,EAAZ;AACA,gBAAM+Y,EAAE,GAAG/Y,GAAG,GAAG,EAAjB;AACA,gBAAMgZ,GAAG,GAAGD,EAAE,GAAG,EAAjB;;AACA,gBAAIjB,OAAO,GAAG9X,GAAd,EAAmB;AAAE;AACjB,qBAAO,CAAP;AACH,aAFD,MAEO,IAAI8X,OAAO,GAAGiB,EAAd,EAAkB;AAAE;AACvB,qBAAO,EAAP;AACH,aAFM,MAEA,IAAIjB,OAAO,GAAGkB,GAAd,EAAmB;AAAE;AACxB,qBAAO,GAAP;AACH,aAFM,MAEA;AAAE;AACL,qBAAO,IAAP;AACH;AACJ;;;;;;;;;;;;;;;;;;;;;ACrEL;AAAA;;;AAAA;AAAA;AAAA;;UAAaqM,sB;AACT,0CAAc;AAAA;AAAG;;;;iBACjB,mBAAUz6B,IAAV,EAAqBoP,KAArB,EAAoF;AAAA,gBAAjDjT,IAAiD,uEAAlC,CAAkC;AAAA,gBAA/Bu+B,IAA+B,uEAAhB,CAAgB;AAAA,gBAAbttB,GAAa;AAChF,gBAAM3Q,IAAI,GAAG2S,KAAK,CAACmc,KAAN,CAAYpvB,IAAZ,EAAkBu+B,IAAlB,CAAb;AACA,gBAAMC,GAAG,GAAGl+B,IAAI,CAACsrB,MAAL,CAAY,UAACve,CAAD,EAAIC,CAAJ,EAAU;AAAD;;AAAC,qBAAAD,CAAC,IAAIC,CAAC,CAAC2D,GAAD,CAAD,GAAS,CAAD,KAAC,CAAC3D,CAAC,CAAC2D,GAAD,CAAF,MAAO,IAAP,IAAO,aAAP,GAAO,EAAP,GAAW,CAApB,GAAwB,CAA5B,CAAD;AAA+B,aAArD,EAAuD,CAAvD,CAAZ;AACA,gBAAIA,GAAJ,EAASpN,IAAI,CAACoN,GAAD,CAAJ,GAAYutB,GAAZ;AACT,mBAAOA,GAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECVD,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAMzC;AAAA;AAAA,sBAGS,UAHT;;AACE;;;;;AADF;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EAA+C,wQ,GAE7C,ugB,GAAA,2a,GAAU,0E,IAAG,4E,IAAA;AAFgC;;AAA/C,wBAA+C,SAA/C;;AAEE;AAAwB,S,EAAA;AAF1B;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAE1B;AAAA;AAAA,sBAIS,UAJT;;AAEE;;;;;AAFF;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EACE,wQ,GAEA,ugB,GAAA,2a,GAAU,iF,IAAU,4E,IAAA;AAFpB;;AADF,wBACE,SADF;;AAGE;AAA+B,S,EAAA;AAHjC;AAAA;;AAAA;;AAAA;;AAGE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA+B,S;AAAA;;;uEAOjC;AAAA;AAAA,sBACyC,UADzC;;AAA2C;;;;;AAA3C;AAAA,oP,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACyC;AAAA;AAAvC,6BAAiB,OAAjB;;AADF,wBACE,SADF;AACmB,S,EAAA,I;AAAA;;;uEAMnB,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAE5D,oL,GAAA,iR,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAsB,S;AAAA;;;uEAM3C,2H,IAA4B,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA8D,S;AAAA;;;uEAD5F,sM,GAAA,uR,GACE,0H,GAAA;AAAA;AAAA,gB,GAAmG;AAAA;AAA3F,6BAAmB,YAAnB;;AAAR,wBAAQ,SAAR;AAA2B,S,EAAA,I;AAAA;;;uEAG3B,qJ,IAAgF,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEhF,S;AAAA;;;uEAHF,oL,GAAA,iR,GACE,2H,GAAA;AAAA;AAAA,gB,GAEM;AAAA;AAFwB,mHAAiD,YAAjD;;AAA9B,wBAA8B,SAA9B;AAA+E,S,EAAA,I;AAAA;;;uEAOjF,sM,GAAA,uR,GACK,I,EAAA,I;AAAA;;;uEAID,yH,IAEE;AAAA;AAAA,sBAGS,UAHT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EACE,wQ,GACA,ugB,GAAA,2a,GAAU,0E,IAAG,4E,IAAA;AADb;;AADF,wBACE,SADF;;AAEE;AAAwB,S,EAAA;AAF1B;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAG5B,yH,IAEE;AAAA;AAAA,sBAGS,UAHT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EACE,wQ,GACA,ugB,GAAA,2a,GAAU,kF,IAAW,4E,IAAA;AADrB;;AADF,wBACE,SADF;;AAEE;AAAgC,S,EAAA;AAFlC;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgC,S;AAAA;;;uEAIpC,yH,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EAA0C,wQ,GACxC,ugB,GAAA,2a,GAAU,2E,IAAI,4E,IAAA;AAD0B;;AAA1C,wBAA0C,SAA1C;;AACE;AAAyB,S,EAAA;AAD3B;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAyB,S;AAAA;;;uEAS3B,0H,IACE;AAAA;AAAA,sBAGS,UAHT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EACE,wQ,GACA,ugB,GAAA,2a,GAAU,gF,IAGZ;AAAA;AAAA,sBAGS,UAHT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EACE,wQ,GACA,2hB,GAAA;AAAA;AAAA,gB,GAAuB,qF,IAAc,4E,IAAA;AANrC;;AADF,wBACE,SADF;;AAEE;;AAIA;;AADF,yBACE,UADF;;AAEY;;AAAV,yBAAU,UAAV;AAAsB,S,EAAA;AAPxB;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGF;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgD,S;AAAA;;;uEAbpD;AAAA;AAAA,sBAGS,UAHT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EACE,wQ,GACA,ugB,GAAA,2a,GAAU,iF,IAGZ,2H,GAAA;AAAA;AAAA,gB,GAUe,4E,IAAA;AAAA;;AAdb;;AADF,wBACE,SADF;;AAEE;;AAGY,6BAAsB,eAAtB;;AAAd,wBAAc,SAAd;AAAoC,S,EAAA;AALpC;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA+B,S;AAAA;;;uEA1BvC,8M,GAAA,iR,GACE,+J,IAEE,2H,GAAA;AAAA;AAAA,gB,GAOA,2H,GAAA;AAAA;AAAA,gB,GAQA,2H,GAAA;AAAA;AAAA;AAAA,gB,GAKA,oI,IAiBc;AAAA;AApCZ,sMAA2I,QAA3I,CAA2I,SAA3I,CAA2I,qBAA3I;;AADF,wBACE,SADF;;AAQE,4NAAuI,YAAvI;;AADF,wBACE,SADF;;AAQc;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAmD,S,EAAA,I;AAAA;;;uEA4BvD,gO,GAAA,uR,GAAsE,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtE,S;AAAA;;;uEAGF,yY,GAAA,+M,EAAA,4J,GAA4D,I,EAAA,I;AAAA;;;uEAC5D,+W,GAAA,mM,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,EAA5D,sJ,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,GAAA;AAAA,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;;AAA4D,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;AAAiG,S,EAAA,I;AAAA;;;uEAEjG,uZ,GAAA,+M,EAAA,4J,GAEW,I,EAAA;AAAA;AAFP,gEAA+B,WAA/B,CAA+B,MAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S;AAAA;;;uEAMvC,+J,IACE;AAAA;AAAA,sBAGS,UAHT;;AAAqC;;;;;AAArC;AAAA,8N,GAAA;AAAA;AAAA;AAAA,gB,GACkC,4E,GAAA,wQ,GAElC;AAAA;AAFE,8BAA+B,WAA/B,CAA+B,MAA/B;AADmE;;AAArE,wBACE,SADF,EAAqE,SAArE;AAAoF,S,EAAA;AAApF;AAAA;;AAAA;;AAAA;;AACkC;;AAAA;AAElC,S;AAAA;;;uEApHJ,+I,IACE,gJ,IACE,0H,GAAA;AAAA;AAAA,gB,GAIA,wL,IACE,0K,GAAA,6J,GAAmD,8E,GAAA,wQ,GACnD,wH,IACE,0H,GAAA;AAAA;AAAA,gB,GAIA,0H,GAAA;AAAA;AAAA,gB,GAQJ,2L,GAAA,mK,EAAA;AAAA;AAAA,U,EAAA,6N,GACE,uf,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA,wJ,GACE,uH,GAAA;AAAA;AAAA,gB,GAKJ,4Y,GAAA,uM,EAAA,4O,EAAA,mR,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,wM,GACE,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,mH,GAAA,0N,EAAA,4N,GAGA,mH,GAAA,oN,EAAA,+M,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,mH,GAAA,0N,EAAA,4N,GAGA,oH,GAAA,oN,EAAA,gN,GAOF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,oH,GAAA,0N,EAAA,4N,GAEA,oH,GAAA,oN,EAAA,gN,GA6CF,0H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,oH,GAAA,0N,EAAA,4N,GAKF,oH,GAAA;AAAA;AAAA,gB,EAAA,yN,GACA,oH,GAAA;AAAA;AAAA,gB,EAAA,6M,GAEA,oH,GAAA;AAAA;AAAA,gB,EAAmD,yD,EAAnD,yN,GAMJ,2H,GAAA;AAAA;AAAA,gB,GAKM;AAAA;AAnHuB,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAO4B,6BAAsB,eAAtB;;AAAxB,yBAAwB,SAAxB;;AAIwB,oFAAgF,QAAhF,CAAgF,IAAhF,CAAgF,QAAhF;;AAAxB,yBAAwB,SAAxB;;AASmB,6BAA2B,eAA3B;;AAArB,yBAAqB,SAArB;;AACsB,6BAAsB,eAAtB;;AAApB,yBAAoB,SAApB;;AAKa,8BAAyB,WAAzB;;AAAjB,yBAAiB,UAAjB;;AACgB;;AAAd,yBAAc,UAAd;;AASc;;AAAd,yBAAc,UAAd;;AAWc;;AAAd,yBAAc,UAAd;;AAgDc;;AAAd,yBAAc,UAAd;;AAMmB,8BAAmC,iBAAnC;;AAAnB,yBAAmB,UAAnB;;AACY,8BAA+C,iBAA/C;;AAAZ,yBAAY,UAAZ;;AAEmD;;AAAnD,yBAAmD,UAAnD;;AAMoC,8BAAsB,eAAtB;;AAAxC,yBAAwC,UAAxC;AAA8D,S,EAAA;AAAA;;AAzGP;;AAAA;;AAcrD;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAMF;;AAAA;AAiFQ,S;AAAA;;;;;aA7GZ,0H,GAAA;AAAA;AAAA,gB,EAAuB,wL,GAAA;AAAA;;AAAA,8JAA+C,eAA/C;;AAAvB,wBAAuB,SAAvB;AAAsE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCMzDC,qB;AAIX;;;AAGA,uCAAoBtM,gBAApB,EAA8D;AAAA;;AAA1C,eAAAA,gBAAA,GAAAA,gBAAA;AANH,eAAAuM,SAAA,GAAY,IAAI,oDAAJ,CAA2C,EAA3C,CAAZ;AAEjB,eAAAC,eAAA,GAAkB,KAAKD,SAAL,CAAetB,YAAf,EAAlB;AAIgE;;;;iBAE1D,mBAAUnsB,GAAV,EAAuB;;;;;;;AAC3B,2BAAKuM,QAAL,GAAgBvM,GAAhB;;AACe,6BAAM,2DACnB,KAAKkhB,gBAAL,CAAsByM,YAAtB,CAAmC;AAAE,2CAAmB3tB;AAArB,uBAAnC,CADmB,CAAN;;;AAAT5C,4B;;AAIN,0BAAIA,MAAJ,EAAY;AACV,6BAAKqwB,SAAL,CAAelxB,IAAf,CAAoBa,MAApB;AACD;;;;;;;;;AACF;;;iBAED,qBAAYkK,QAAZ,EAA2C;AACzC,gBAAMsmB,OAAO,GAAG,KAAKH,SAAL,CAAettB,QAAf,EAAhB;;AACAytB,mBAAO,CAACx+B,IAAR,CAAakY,QAAb;;AACA,iBAAKmmB,SAAL,CAAelxB,IAAf,CAAoBqxB,OAApB;AACD;;;iBAED,yBAAgBl3B,EAAhB,EAA4B;AAC1B,gBAAMk3B,OAAO,GAAG,KAAKH,SAAL,CAAettB,QAAf,EAAhB;;AACA,gBAAMypB,KAAK,GAAGgE,OAAO,CAACh1B,MAAR,CAAe,UAAC0b,GAAD;AAAA,qBAAS,CAAAA,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAE5d,EAAL,MAAYA,EAArB;AAAA,aAAf,CAAd;;AACA,iBAAK+2B,SAAL,CAAelxB,IAAf,CAAoBqtB,KAApB;AACD;;;iBAED,oBAAWtiB,QAAX,EAA0C;AACxC,gBAAMsmB,OAAO,GAAG,KAAKH,SAAL,CAAettB,QAAf,EAAhB;;AACA,gBAAMlN,KAAK,GAAG26B,OAAO,CAAC1lB,SAAR,CAAkB,UAACoM,GAAD;AAAA,qBAASA,GAAG,CAAC5d,EAAJ,MAAW4Q,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAE5Q,EAArB,CAAT;AAAA,aAAlB,CAAd;;AACA,gBAAIzD,KAAK,IAAI,CAAb,EAAgB;AACd26B,qBAAO,CAAC36B,KAAD,CAAP,GAAiBqU,QAAjB;AACD;;AACD,iBAAKmmB,SAAL,CAAelxB,IAAf,CAAoB,8CAAEsxB,SAAF,CAAYD,OAAZ,CAApB;AACD;;;iBAED,wBAAe;AACb,iBAAKE,SAAL,CAAe,KAAKvhB,QAApB;AACD;;;;;;;;;;;;;;;;;;;;;AChDH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMlW,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,iBAD6C;AAEnDW,gBAAQ,EAAE,iBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAASw3B,wBAAT,CAAkCt3B,QAAlC,EAAsD;AAC3D,wFAA8BJ,iBAA9B,EAAiD,kFAAjD,EAA0EI,QAA1E;AACD;;;;;;;;;;;;;;;;;ACXD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAaau3B,uB;AAKZ,yCACQp3B,SADR,EAEiCqD,UAFjC,EAGQiT,MAHR,EAIS5e,gBAJT,EAI2C;AAAA;;AAHnC,eAAAsI,SAAA,GAAAA,SAAA;AACyB,eAAAqD,UAAA,GAAAA,UAAA;AACzB,eAAAiT,MAAA,GAAAA,MAAA;AACC,eAAA5e,gBAAA,GAAAA,gBAAA;AAPT,eAAA8e,OAAA,GAAiC,kBAAjC;AACA,eAAA6gB,QAAA,GAAqC,aAArC;AAQC,eAAK5gB,IAAL,GAAa,KAAK/e,gBAAL,CAAsBiK,YAAtB,CAAmEqB,IAAnE,CACZ,uDAAU;AACTpB,gBAAI,EAAE,KAAKlK,gBAAL,CAAsBgK;AADnB,WAAV,CADY,EAIZ,iDAAI,UAACE,IAAD;AAAA,mBAAWA,IAAI,CAACA,IAAL,IAAa,IAAb,GAAoB,KAApB,GAA4B,KAAvC;AAAA,WAAJ,CAJY,CAAb;AAMA;;;;iBAED,oBAAQ;;;AACP,iBAAK0U,MAAL,CAAYve,OAAZ,GAAsB,KAAtB;AACA,iBAAKye,OAAL,GAAe,CAAH,KAAG,KAAKnT,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEmT,OAAhC;AACA,iBAAKxZ,UAAL,GAAkB,CAAH,KAAG,KAAKqG,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAErG,UAAnC;AACA,iBAAKq6B,QAAL,GAAgB,CAAH,KAAG,KAAKh0B,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEi0B,UAAjC;AACA;;;iBAED,kBAAM;AACL,iBAAKt3B,SAAL,CAAeS,KAAf;AACA;;;iBACD,qBAAYxE,KAAZ,EAAwB;;;AACvB,gBAAI,OAAAA,KAAK,CAACoN,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAED,GAAjB,KAAwB,QAA5B,EAAsC;AACrC,mBAAKpJ,SAAL,CAAeS,KAAf;AACA;;AAED,gBAAI,OAAAxE,KAAK,CAACoN,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAED,GAAjB,MAAyB,QAAzB,IAAqC,KAAKiuB,QAAL,KAAkB,aAA3D,EAA0E;AACzE,mBAAK3gB,iBAAL,CAAuBza,KAAK,CAACxD,IAA7B,EAAmC,KAAK4+B,QAAxC;AACA;AACD;;;iBAED,sBAAap7B,KAAb,EAAyB;AACxB,gBAAI,KAAKo7B,QAAL,KAAkB,cAAtB,EAAsC;AACrC,mBAAK3gB,iBAAL,CAAuBza,KAAK,CAACxD,IAA7B,EAAmC,KAAK4+B,QAAxC;AACA;AACD;;;iBACD,kBAASp7B,KAAT,EAAqB;AACpB,gBAAI,KAAKo7B,QAAL,KAAkB,aAAtB,EAAqC;AACpC,mBAAK3gB,iBAAL,CAAuBza,KAAK,CAACe,UAA7B,EAAyC,KAAKq6B,QAA9C;AACA;AACD;;;iBAEO,2BAAkB5+B,IAAlB,EAA6B8+B,IAA7B,EAAoD;AAC3D,iBAAKv3B,SAAL,CAAeS,KAAf,CAAqB;AACpBhI,kBAAI,EAAEA,IADc;AAEpBsG,kBAAI,EAAE,KAAKsE,UAAL,CAAgBtE,IAFF;AAGpBw4B,kBAAI,EAAEA;AAHc,aAArB;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECtEF,wH,IACI,2T,GAAA;AAAA;AAAA;AAAA,gB,GAA+D;AAAA;AAAvD,6BAAmB,QAAnB;AAAoB,6BAAyB,WAAzB;;AAA5B,wBAAQ,SAAR,EAA4B,SAA5B;AAAqD,S,EAAA,I;AAAA;;;uEADzD,gH,GAAA;AAAA;AAAA,gB,GAEM;AAAA;AAFD,6BAAiB,UAAjB;;AAAL,wBAAK,SAAL;AAAsB,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACAtB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAO,eAASC,QAAT,CAAkBpuB,GAAlB,EAAuBjQ,KAAvB,EAA8B;AACjC,YAAIA,KAAK,YAAYmF,GAAjB,IAAwBnF,KAAK,YAAYs+B,GAA7C,EAAkD;AAC9C,iBAAO;AACHC,oBAAQ,EAAEv+B,KAAK,YAAYmF,GAAjB,GAAuB,KAAvB,GAA+B,KADtC;AAEHnF,iBAAK,EAAEyP,KAAK,CAACkS,IAAN,CAAW3hB,KAAK,CAACyR,OAAN,EAAX;AAFJ,WAAP;AAIH,SALD,MAKO;AACH,iBAAOzR,KAAP;AACH;AACJ;;AACM,eAASw+B,OAAT,CAAiBvuB,GAAjB,EAAsBjQ,KAAtB,EAA6B;AAChC,YAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,KAAK,IAA3C,EAAiD;AAC7C,cAAIA,KAAK,CAACu+B,QAAN,KAAmB,KAAvB,EAA8B;AAC1B,mBAAO,IAAIp5B,GAAJ,CAAQnF,KAAK,CAACA,KAAd,CAAP;AACH,WAFD,MAGK,IAAIA,KAAK,CAACu+B,QAAN,KAAmB,KAAvB,EAA8B;AAC/B,mBAAO,IAAID,GAAJ,CAAQt+B,KAAK,CAACA,KAAd,CAAP;AACH;AACJ;;AACD,eAAOA,KAAP;AACH;;;;;;;;;;;;;;;;;ACpBD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOay+B,kB;AAKT,oCAAoBnlB,IAApB,EAAsC;AAAA;;AAAlB,eAAAA,IAAA,GAAAA,IAAA;AAAqB;;;;iBAEzC,uBAAW;AAAA;;AACP,mBAAO,IAAI,+CAAJ,CACH,UAAColB,QAAD,EAAc;AACV,kBAAI,OAAI,CAACC,iBAAT,EAA4B;AACxBC,yBAAS,CAACC,WAAV,CAAsBC,UAAtB,CAAiC,OAAI,CAACH,iBAAtC;AACA,uBAAI,CAACA,iBAAL,GAAyB,IAAzB;AACH;;AACD,qBAAI,CAACA,iBAAL,GAAyBC,SAAS,CAACC,WAAV,CAAsBE,aAAtB,CAAoC,UAACC,GAAD,EAAc;AACvEN,wBAAQ,CAAClyB,IAAT,CAAcwyB,GAAd;AACA,oBAAIA,GAAJ,EAASN,QAAQ,CAAChe,QAAT;AACZ,eAHwB,CAAzB,EAII,YAAM;AACFhU,uBAAO,CAACC,GAAR,CAAY,2BAAZ;AACH,eANL,EAOA;AACIsyB,kCAAkB,EAAE;AADxB,eAPA;AAUH,aAhBE,CAAP;AAiBH;;;iBAED,iCAAwBC,GAAxB,EAA6BC,GAA7B,EAAkCzV,MAAlC,EAAuD;AACnD,mBAAO,IAAI0V,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACpC56B,eAAC,CAAC66B,IAAF,CAAO;AACH35B,oBAAI,EAAE,KADH;AAEH8W,mBAAG,qEAA8DwiB,GAA9D,cAAqEC,GAArE,uBAAqFzV,MAArF,kBAAmG,sDAAnG,CAFA;AAGH6H,uBAAO,EAAE,iBAAUjyB,IAAV,EAAgB;AACrB,sBAAIA,IAAI,CAAC6W,MAAL,IAAeqpB,MAAM,CAACC,IAAP,CAAYC,cAAZ,CAA2BC,EAA9C,EAAkD;AAC9CN,2BAAO,CAAC//B,IAAI,CAACsgC,OAAL,CAAa,CAAb,EAAgBC,iBAAjB,CAAP;AACH,mBAFD,MAGK;AACDnzB,2BAAO,CAACC,GAAR,CAAYrN,IAAZ;AACA+/B,2BAAO,CAAC,EAAD,CAAP;AACH;AACJ;AAXE,eAAP;AAaH,aAdM,CAAP;AAeH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEClDL,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEASnC;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA8D,4E,GAAA,sQ,GAE9D;AAF6C,4BAAgB,QAAhB,CAAgB,SAAhB;;AAA7C,wBAA6C,SAA7C;AAA6D,S,EAAA;AAA7D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA8D;;AAAA;AAE9D,S;AAAA;;;uEAKN,oJ,IACE,0K,GAAA,6J,GAAmD,8E,GAAA,sQ,GACnD,klC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;65CAAsG;AADxF;;AAAhB,wBAAgB,UAAhB;;AACmE;;AAAjE,yBAAiE,UAAjE;;AAAA;AAAsG,S,EAAA;AAFrD;;AAAA;;AACnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAsG,S;AAAA;;;uEAQtG;AAAA;AAAA,sBAGS,UAHT;;AAA0E;;;;;AAA1E;AAAA,gO,GAAA,sX,EAAA;AAAA;AAAA,gB,EAAwB,sQ,GAEtB,ugB,GAAA,2a,GAAU,0E,IAAG,4E,IAAA;AAFS;;AAAxB,wBAAwB,SAAxB;;AAEE;AAAwB,S,EAAA;AAF1B;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAQxB;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA,sX,GACE,0hB,GAAA;AAAA;AAAA,gB,GAAuB,qF,IAAc;AAA3B;;AAAV,wBAAU,SAAV;AAAsB,S,EAAA;AADxB;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgD,S;AAAA;;;uEALpD,4I,IACE,klC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;k6CAEF,0H,GAAA;AAAA;AAAA,gB,GAES;AAAA;AALO;;AAAhB,wBAAgB,UAAhB;;AACmE,6BAAuB,QAAvB,CAAuB,SAAvB;;AAAjE,yBAAiE,UAAjE;;AAAA;;AAEoD,+BAAsB,KAAtB,CAAsB,QAAtB;;AAAtD,yBAAsD,UAAtD;AAA4E,S,EAAA;AAH5E;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAoG,S;AAAA;;;uEAZ5G,oJ,IACE,wL,IACE,0K,GAAA,6J,GAAmD,8E,GAAA,sQ,GAEnD,0H,GAAA;AAAA;AAAA,gB,GAKF,yH,GAAA;AAAA;AAAA,gB,EAAA,uM,EAAA,iO,GACE,0H,GAAA;AAAA;AAAA,gB,GAOM;AAAA;AAZJ,8BAAsB,KAAtB,CAAsB,QAAtB;;AADF,wBACE,SADF;;AAKY;;AAAd,wBAAc,SAAd;;AACsB,6BAA0D,gBAA1D;;AAApB,yBAAoB,SAApB;AAA8E,S,EAAA;AAR3B;;AAAA;AACnD,S;AAAA;;;uEAsBF;AAAA;AAAA,sBAES,UAFT;;AAA+C;;;;;AAA/C;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GAA0G,4E,GAAA,sQ,GAE1G;AAAA;AAFgF,6BAAyB,KAAzB,CAAyB,OAAzB;AAAhB;;AAAhE,wBAAgF,SAAhF,EAAgE,SAAhE;AAA+E,S,EAAA;AAA/E;AAAA;;AAAA;;AAAA;;AAA0G;;AAAA;AAE1G,S;AAAA;;;uEAhDN;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mcACE,oJ,GAAA;AAAA;AAAA,gB,EAAA,iM,GACE,mJ,IACE,0K,GAAA,8J,GAAmD,+E,GAAA,sQ,GAEnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;gdACE,uH,GAAA;AAAA;AAAA,gB,GAON,0H,GAAA;AAAA;AAAA,gB,GAOA,0H,GAAA;AAAA;AAAA,gB,GAqBA,gL,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,uX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAqC,6E,GAAA,sQ,GAGhF,0H,GAAA;AAAA;AAAA,gB,GAES;AAAA;AAhDT,6BAAkB,KAAlB;;AAAN,wBAAM,SAAN;;AACO,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAL,wBAAK,SAAL;;AAIoB;;AAAhB,yBAAgB,UAAhB;;AACc;;AAAZ,yBAAY,UAAZ;;AAAA;;AACc,8BAAgC,UAAhC;;AAAZ,yBAAY,UAAZ;;AAOsB;;AAA5B,yBAA4B,UAA5B;;AAO4B;;AAA5B,yBAA4B,UAA5B;;AAsB6C,8CAAoC,KAApC,CAAoC,QAApC;;AAA3C,yBAA2C,UAA3C;;AAA2C,8CAAoC,KAApC,CAAoC,QAApC;;AAA3C,yBAA2C,UAA3C;;AAGQ,+BAAsB,KAAtB,CAAsB,QAAtB;;AAAR,yBAAQ,UAAR;AAA8B,S,EAAA;AA9CpC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAEuD;;AAAA;;AAEnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAqCF;AAAA;;AAAA;;AAAA;;AAAgF;;AAAA;AAEhF,S;AAAA;;;uEAhDN,0H,GAAA;AAAA;AAAA,gB,GAGA,0H,GAAA;AAAA;AAAA,gB,GAmDO;AAAA;AAtDoB,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAGyB,6BAAY,KAAZ;;AAAzB,wBAAyB,SAAzB;AAAqC,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECIlC,iV,GAAA;AAAA;AAAA;AAAA,gB,EAIC;AAAA;AAAA,U,EAJD;AAAA;AAAA;AAAA,gB,EAIC;AAAA;AAAA,U,EAJD;AAAA;AAAA;AAAA;AAAA;AAAA,gB,GASS;AAAA;AAFR;;AAHA;;AAJD,wBAOC,SAPD,EAIC,SAJD;;AAIC;;AAGA;;AAPD,wBAIC,SAJD,EAOC,SAPD;;AAKC;AACA,6BAAuC,yBAAvC;AAJA;AACA;;AAHD,wBAKC,SALD,EAMC,SAND,EAEC,SAFD,EAGC,SAHD;AAGkB,S,EAAA,I;AAAA;;;uEAQlB;AAAA;AAAA,sBAQS,UART;;AAMC;;;;;AAND;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAQS;AAAA;AANR,6BAA2B,gBAA3B;AAEA,6BAAiC,mBAAjC;AADA;;AAHD,wBAEC,SAFD,EAIC,SAJD,EAGC,SAHD;AAGmB,S,EAAA,I;AAAA;;;uEArBtB,yT,GAAA,iN,GAEC,yK,IACC,sT,GAAA;AAAA;AAAA;AAAA,gB,EACC,wQ,GAGA,uH,GAAA;AAAA;AAAA,gB,GAWA,uH,GAAA;AAAA;AAAA,gB,GAQS;AAAA;;AA1BZ;;AAIG;;AACA;;AAFD,wBACC,SADD,EAEC,SAFD;;AAKE,6BAAiB,UAAjB;;AADD,wBACC,SADD;;AAYC,6BAAiB,UAAjB;;AADD,wBACC,SADD;AACkB,S,EAAA;AAjBS;;AAA7B,wBAA6B,SAA7B;AAA8C,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACD/C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAsBaS,6B;;;;;AA2CZ,+CACQj5B,SADR,EAEiCvH,IAFjC,EAGSwH,EAHT,EAIS0C,iBAJT,EAKSsxB,sBALT,EAMSz8B,aANT,EAOSE,gBAPT,EAO2C;AAAA;;AAAA;;;;AAE1C;AARO,kBAAAsI,SAAA,GAAAA,SAAA;AACyB,kBAAAvH,IAAA,GAAAA,IAAA;AACxB,kBAAAwH,EAAA,GAAAA,EAAA;AACA,kBAAA0C,iBAAA,GAAAA,iBAAA;AACA,kBAAAsxB,sBAAA,GAAAA,sBAAA;AACA,kBAAAz8B,aAAA,GAAAA,aAAA;AACA,kBAAAE,gBAAA,GAAAA,gBAAA;AAjDT,kBAAAwhC,SAAA,GAAY,CAAC,QAAD,EAAW,eAAX,EAA4B,QAA5B,CAAZ;AACA,kBAAAC,eAAA,GAAkB,CAAC,QAAD,EAAW,QAAX,CAAlB;AAGA,kBAAAjf,gBAAA,GAAmB,KAAnB;AAGA,kBAAAsG,aAAA,GAAiC,EAAjC;AA8CC,kBAAK6O,gBAAL,GAAwB,QAAK52B,IAAL,CAAU2gC,SAAlC;;AACA,cAAI,CAAJ,KAAI,QAAK3gC,IAAL,CAAUqf,OAAV,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEuhB,QAAvB,EAAiC;AAChC,oBAAK5gC,IAAL,CAAUqI,QAAV,GAAqB,IAArB;AACA;;AAED,kBAAKX,QAAL;;AACA,kBAAKm5B,4BAAL;;AACA,kBAAKjc,OAAL;;AAX0C;AAY1C;;;;eApDD,eAAqB;AACpB,mBAAO,KAAKjd,IAAL,CAAU7B,GAAV,CAAc,SAAd,CAAP;AACA;;;eACD,eAAqB;AACpB,mBAAO,KAAK6B,IAAL,CAAU7B,GAAV,CAAc,SAAd,CAAP;AACA;;;eACD,eAAsB;AACrB,mBAAQ,KAAK6B,IAAL,CAAU7B,GAAV,CAAc,SAAd,EAAuCg7B,QAA/C;AACA;;;eAED,eAA4B;AAC3B,mBAAO,KAAKn5B,IAAL,CAAUm5B,QAAV,CAAmBC,gBAAnB,CAAoCrgC,KAA3C;AACA;;;eAED,eAAuB;AACtB,gBAAMsgC,gBAAgB,GAAG,KAAK92B,iBAAL,CAAuBE,eAAvB,CAAuC0G,QAAvC,GAAkDkwB,gBAA3E;AACA,mBACCA,gBAAgB,IAAI,6EAAiBC,iCAArC,IACA,CAAC,CAAC,KAAKjhC,IAAL,CAAUqf,OAAV,CAAkB6hB,cAFrB;AAIA;;;eAED,eAA4B;AAC3B,gBAAMF,gBAAgB,GAAG,KAAK92B,iBAAL,CAAuBE,eAAvB,CAAuC0G,QAAvC,GAAkDkwB,gBAA3E;AACA,mBAAOA,gBAAgB,IAAI,6EAAiBC,iCAA5C;AACA;;;eACD,eAA0B;AACzB,mBAAO,KAAKE,kBAAL,CAAwBL,QAAxB,CAAiCI,cAAjC,CAAgDxgC,KAAvD;AACA;;;eACD,eAAyB;AACxB,mBAAO,KAAKygC,kBAAL,CAAwBr7B,GAAxB,CAA4B,oBAA5B,CAAP;AACA;;;iBAuBD,qBAA8B;AAAA,gBAApBpF,KAAoB,uEAAJ,EAAI;AAC7B,iBAAK0gC,cAAL,CAAoBrhC,IAApB,CACC,IAAI,0DAAJ,CAAgB;AAAEW,mBAAK,EAAEA,KAAT;AAAgB0H,sBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAApC,aAAhB,EAAgE,0DAAWC,QAA3E,CADD;AAGA;;;iBACD,sBAAa1E,KAAb,EAA4B;AAC3B,iBAAKw9B,cAAL,CAAoBC,QAApB,CAA6Bz9B,KAA7B;AACA;;;iBAED,6BAAoB5D,IAApB,EAA2C;AAC1C,iBAAK+nB,aAAL,GAAqB/nB,IAArB;AACA;;;iBAED,gBAAO;AAAA;;AACN,gBAAI,KAAK2H,IAAL,CAAU25B,OAAd,EAAuB;AACvB,iBAAK7f,gBAAL,GAAwB,IAAxB;AAEA,gBAAMvZ,KAAK,GAA6B;AACvCkuB,sBAAQ,EAAE,MAAF,OAAE,CAAF;AACP/uB,kBAAE,EAAE,KAAKk6B,OADF;AAEPrkB,wBAAQ,EAAE,KAAKld,IAAL,CAAUqzB,aAAV,CAAwBnW,QAF3B;AAGPskB,wCAAwB,EAAE,KAAKxhC,IAAL,CAAU2gC;AAH7B,eAAE,EAIN,KAAKh5B,IAAL,CAAUjH,KAJJ,CAD6B;AAOvC+gC,mBAAK,EAAE,KAAK1Z;AAP2B,aAAxC;AAUA,iBAAKyT,sBAAL,CACEkG,4BADF,CAC+Bx5B,KAD/B,EAEEqC,IAFF,CAEO,sDAAS;AAAA,qBAAO,OAAI,CAACkX,gBAAL,GAAwB,KAA/B;AAAA,aAAT,CAFP,EAGE1e,SAHF,CAGY,UAAC/C,IAAD,EAAU;AACpB,qBAAI,CAACuH,SAAL,CAAeS,KAAf,CAAqBhI,IAAI,CAACqH,EAA1B;;AACA,8EACC,OAAI,CAACtI,aADN,EAEC,OAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,kCAA9B,CAFD,EAGC,OAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,0CAA9B,CAHD,EAIC,KAJD;AAMA,aAXF;AAYA;;;iBACD,8BAAqB;AAAA;;AACpB,gBAAI,KAAK69B,kBAAL,CAAwBG,OAA5B,EAAqC;AACrC,iBAAK7f,gBAAL,GAAwB,IAAxB;AAEA,gBAAMkgB,SAAS,GAAG,KAAKR,kBAAL,CAAwBzgC,KAA1C;AACA,gBAAMwH,KAAK,iDACP,KAAKlI,IAAL,CAAUqf,OADH,GAEPsiB,SAFO,GAEE;AACZf,sBAAQ,EAAEe,SAAS,CAACT,cAAV,IAA4B,QAA5B,IAAwC,KAAKU,qBAAL,IAA8B;AADpE,aAFF,CAAX;AAMA,iBAAKpG,sBAAL,CACEqG,4BADF,CAC+B35B,KAD/B,EAEEqC,IAFF,CAEO,sDAAS;AAAA,qBAAO,OAAI,CAACkX,gBAAL,GAAwB,KAA/B;AAAA,aAAT,CAFP,EAGE1e,SAHF,CAGY,UAAC/C,IAAD,EAAU;AACpB,qBAAI,CAACuH,SAAL,CAAeS,KAAf,CAAqB,OAAI,CAACu5B,OAA1B;;AACA,8EACC,OAAI,CAACxiC,aADN,EAEC,OAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,kCAA9B,CAFD,EAGC,OAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,0CAA9B,CAHD,EAIC,KAJD;AAMA,aAXF;AAYA;;;iBACD,kBAAM;AACL,iBAAKiE,SAAL,CAAeS,KAAf;AACA;;;iBAEO,oBAAW;AAClB,iBAAKL,IAAL,GAAY,KAAKH,EAAL,CAAQS,KAAR,CAAc;AACzB84B,8BAAgB,EAAE,CAAC;AAAErgC,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAAjC,eAAD,EAA8C,CAAC,0DAAWC,QAAZ,CAA9C,CADO;AAEzBw5B,qBAAO,EAAE,CAAC;AAAEphC,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAAjC,eAAD,CAFgB;AAGzB05B,qBAAO,EAAE,KAAKv6B,EAAL,CAAQmL,KAAR,CAAc,EAAd;AAHgB,aAAd,CAAZ;AAMA,iBAAKwuB,kBAAL,GAA0B,KAAK35B,EAAL,CAAQS,KAAR,CAAc;AACvC+5B,yBAAW,EAAE,CACZ;AAAEthC,qBAAK,EAAE,KAAKV,IAAL,CAAUqf,OAAV,CAAkB2iB,WAA3B;AAAwC55B,wBAAQ,EAAE,KAAK65B;AAAvD,eADY,EAEZ,CAAC,0DAAW35B,QAAZ,CAFY,CAD0B;AAKvC44B,4BAAc,EAAE,CAAC;AAAExgC,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAK65B;AAA5B,eAAD,EAAsD,CAAC,0DAAW35B,QAAZ,CAAtD,CALuB;AAMvC45B,gCAAkB,EAAE,CAAC;AAAExhC,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAK65B;AAA5B,eAAD;AANmB,aAAd,CAA1B;AAQA;;;iBACO,wCAA+B;AAAA;;AACtC,iBAAKt6B,IAAL,CAAUm5B,QAAV,CAAmBC,gBAAnB,CAAoC3V,YAApC,CAAiDroB,SAAjD,CAA2D,UAACrC,KAAD,EAAW;AACrE,kBAAIA,KAAK,IAAI,QAAb,EAAuB;AACtB,uBAAI,CAACyhC,cAAL,CAAoBC,aAApB,CAAkC,CAAC,0DAAW95B,QAAZ,CAAlC;AACA,eAFD,MAEO;AACN,uBAAI,CAAC65B,cAAL,CAAoB9sB,KAApB;;AACA,uBAAI,CAAC8sB,cAAL,CAAoBE,eAApB;AACA;;AACD,qBAAI,CAACF,cAAL,CAAoBG,sBAApB;;AAEA,kBAAI5hC,KAAK,IAAI,eAAb,EAA8B;AAC7B,oBAAI,CAAC,OAAI,CAAC0gC,cAAL,CAAoBj9B,MAAzB,EAAiC,OAAI,CAACo+B,SAAL;;AACjC,uBAAI,CAACnB,cAAL,CAAoBgB,aAApB,CAAkC,CAAC,0DAAW95B,QAAZ,CAAlC;AACA,eAHD,MAGO;AACN,uBAAI,CAAC84B,cAAL,CAAoBlxB,KAApB;;AACA,uBAAI,CAACkxB,cAAL,CAAoBiB,eAApB;AACA;;AACD,qBAAI,CAACjB,cAAL,CAAoBkB,sBAApB;AACA,aAjBD;AAmBA,iBAAKnB,kBAAL,CAAwBL,QAAxB,CAAiCI,cAAjC,CAAgD9V,YAAhD,CAA6DroB,SAA7D,CAAuE,UAACrC,KAAD,EAAW;AACjF,kBAAIA,KAAK,IAAI,QAAb,EAAuB;AACtB,uBAAI,CAACwhC,kBAAL,CAAwBE,aAAxB,CAAsC,CAAC,0DAAW95B,QAAZ,CAAtC;AACA,eAFD,MAEO;AACN,uBAAI,CAAC45B,kBAAL,CAAwB7sB,KAAxB;;AACA,uBAAI,CAAC6sB,kBAAL,CAAwBG,eAAxB;AACA;;AACD,qBAAI,CAACH,kBAAL,CAAwBI,sBAAxB;AACA,aARD;AASA;;;iBAEO,mBAAU;AAAA;;AACjB,gBAAI,CAAC,KAAKtiC,IAAL,CAAUqH,EAAf,EAAmB;AACnB,iBAAKoa,gBAAL,GAAwB,IAAxB;AACA,iBAAK+Z,sBAAL,CACEgH,uBADF,CAC0B,KAAKxiC,IAAL,CAAUqH,EADpC,EAEEkD,IAFF,CAGE,uDAAU,KAAKC,QAAf,CAHF,EAIE,sDAAS;AAAA,qBAAO,OAAI,CAACiX,gBAAL,GAAwB,KAA/B;AAAA,aAAT,CAJF,EAME1e,SANF,CAMY,UAAC/C,IAAD,EAAU;AACpB,qBAAI,CAACyiC,UAAL,CAAgBziC,IAAhB;AACA,aARF;AASA;;;iBACO,oBAAWA,IAAX,EAAsC;AAAA;;AAC7C,iBAAKuhC,OAAL,GAAevhC,IAAI,CAACqH,EAApB;AACA,iBAAKuvB,gBAAL,GAAwB52B,IAAI,CAACwhC,wBAA7B;AACA,iBAAKkB,4BAAL,GAAoC1iC,IAAI,CAAC+gC,gBAAzC;AACA,iBAAKp5B,IAAL,CAAUg7B,UAAV,CAAqB;AACpB5B,8BAAgB,EAAE/gC,IAAI,CAAC+gC,gBADH;AAEpBe,qBAAO,EAAE9hC,IAAI,CAAC8hC;AAFM,aAArB;AAIA,iBAAKV,cAAL,CAAoBlxB,KAApB;AACAlQ,gBAAI,CAAC+hC,OAAL,CAAaphC,OAAb,CAAqB,UAACD,KAAD,EAAQkD,KAAR,EAAkB;AACtC,qBAAI,CAAC2+B,SAAL,CAAe7hC,KAAf;AACA,aAFD;AAIA,iBAAKygC,kBAAL,CAAwBwB,UAAxB,CAAmC;AAClCzB,4BAAc,EAAE,KAAKlhC,IAAL,CAAUqf,OAAV,CAAkB6hB,cADA;AAElCgB,gCAAkB,EAAE,KAAKliC,IAAL,CAAUqf,OAAV,CAAkB6iB,kBAFJ;AAGlCF,yBAAW,EAAE,KAAKhiC,IAAL,CAAUqf,OAAV,CAAkB2iB;AAHG,aAAnC;AAKA;;;;QAlNiD,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECG/B;AAAA;AAAA,sBAIO,UAJP;;AACI;;;;;;AADJ;AAAA,sB,IACqE,+E,GAAA,sQ,GAEjE,uJ,IAAoC,I,EAAA;AAF6B;;AAAA;AAEjE,S;AAAA;;;uEAzBhB;AAAA;AAAA,sBA6BM,UA7BN;;AAA2D;;;;;AAA3D;AAAA,sB,IACI,iK,IACI,uJ,IACI,wH,IACI,0I,IACI,uI,IAEJ,4I,IAAqB,+E,IAIzB,mJ,IACI,wH,IAAK,0H,GAAA,8M,EAAA;AAAA;AAAA,gB,GAAkD,4E,IACvD,+I,IAAuB,8E,GAAA,sQ,GAK/B,uJ,IACI,wa,GAAA;AAAA;AAAA,gB,GAGA,0I,GAAA;AAAA;AAAA,gB,GAIO;AAAA;AAdQ,4BAAoC,QAApC,CAAoC,SAApC,CAAoC,cAApC;;AAAN,yBAAM,SAAN;;AAO2C,4BAA2B,QAA3B,CAA2B,SAA3B,CAA2B,MAA3B;;AAApD,yBAAoD,SAApD;;AAGsB,8BAAoB,YAApB;;AAAtB,yBAAsB,SAAtB;AAA0C,S,EAAA;AArBhC,4BAA4C,QAA5C,CAA4C,SAA5C,CAA4C,WAA5C;;AAAlB,wBAAkB,SAAlB;;AAImB;;AAAH,wBAAG,SAAH;;AAEiB;;AAAA;;AAME;;AAAA;AAA6C,S;AAAA;;;uEAjB5F,8U,GAAA,4M,GACA,sK,IAEI,mJ,IACI,0I,GAAA;AAAA;AAAA,gB,GA6BM;AAAA;AA7BgB,6BAAoC,WAApC;;AAAtB,wBAAsB,SAAtB;AAA0D,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAuJO,UAAMY,aAAa,GAAG,wDAAcC,OAAd,CAAsB;AACjDC,cAAM,EAAE,sDADyC;AAEjDC,iBAAS,EAAE,CAAC,QAAD;AAFsC,OAAtB,CAAtB;;UAkQMC,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECvZL;AAAA;AAAA,sBAGM,UAHN;;AACI;;;;;AADJ;AAAA,sB,IAEI,wgB,GAAA,wa,GAAU,6E,IAAM;AAAhB;AAA2B,S,EAAA;AAAA;;AAF1B;;AAAL,wBAAK,SAAL;;AAEI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA2B,S;AAAA;;;uEAO/B;AAAA;AAAA,sBAEM,UAFN;;AAA+F;;;;;AAA/F;AAAA,sB,IACI,wgB,GAAA,wa,GAAU,0E,IAAG;AAAb;AAAwB,S,EAAA;AAAA;;AADvB;;AAAL,wBAAK,SAAL;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAZpC,4J,IACI,mJ,IACI,+H,GAAA;AAAA;AAAA,gB,GAKA;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACsE;;;;;AAClE;;;;;AAFJ;AAAA,sB,GAAA,wV,EAAA,0Q,EAAA;AAAA;AAAA,qJ,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIA,+H,GAAA;AAAA;AAAA,gB,GAEM;AAAA;AAXyE,8BAAiB,SAAjB;;AAA/E,wBAA+E,SAA/E;;AAMgD,8BAAqB,SAArB;AAC5C,8BAAqB,QAArB;;AAFJ,wBACgD,UADhD,EAEI,UAFJ;;AAI6E,+BAAiB,SAAjB;;AAA7E,yBAA6E,UAA7E;AAA8F,S,EAAA;AAAA;;AAJrD,oHAAArqB,GAAA;;AAA4B,oHAAAyV,GAAA;;AACjE,8BAA2C,cAA3C,CAA2C,eAA3C;;AADJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAAyC,SAAzC,EAAqE,SAArE,EACI,SADJ;AAE4B,S;AAAA;;;uEATpC,+H,GAAA;AAAA;AAAA,gB,GAeM;AAAA;AAf8B,6BAAqB,cAArB;;AAApC,wBAAoC,SAApC;AAAyD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCmB5C6U,kB;AAeT,oCACW17B,SADX,EAEoCvH,IAFpC,EAGY8V,YAHZ,EAIY9W,mBAJZ,EAIsD;AAAA;;AAH3C,eAAAuI,SAAA,GAAAA,SAAA;AACyB,eAAAvH,IAAA,GAAAA,IAAA;AACxB,eAAA8V,YAAA,GAAAA,YAAA;AACA,eAAA9W,mBAAA,GAAAA,mBAAA;AAhBZ,eAAA+W,WAAA,GAAc,EAAd;AACA,eAAAC,aAAA,GAAgB,EAAhB;AACA,eAAAhM,eAAA,GAAkB,uEAAlB;AACA,eAAAiM,SAAA,GAAY,KAAZ;AACA,eAAAC,KAAA,GAAQ,KAAR;AAEA,eAAAC,gBAAA,GAAmB,EAAnB;AACA,eAAAC,cAAA,GAAiB,EAAjB;AAEQ,eAAAvW,IAAA,GAAuB,EAAvB;AAQJ,eAAKkW,WAAL,GAAmB,+DAAUtR,WAAV,CAAsB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwBsT,WAA9C,EAA2D;AAAE/V,gBAAI,EAAE,KAAKA,IAAL,CAAUuE,UAAlB;AAA8BlC,qBAAS,EAAE,KAAKrC,IAAL,CAAUqC;AAAnD,WAA3D,CAAnB;AACA,eAAKgU,mBAAL;AACA,eAAKJ,SAAL,GAAiB,KAAKjW,IAAL,CAAUiW,SAA3B;AACH;;;;eAVD,aAAQnW,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAY/C,uBAAc;AACV,iBAAKD,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACH;;;iBAED,iBAAK;AAAA;;AACD;AACA,iBAAKG,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4B3V,OAA5B,CAAoC,UAAAuW,MAAM,EAAI;AAC1CA,oBAAM,CAACgsB,mBAAP,GAA6B,wDAAWhsB,MAAM,CAAC8E,WAAlB,CAA7B;AACH,aAFD;AAGA,iBAAK5F,cAAL,CAAoBzV,OAApB,CAA4B,UAACuW,MAAD,EAAStT,KAAT,EAAmB;AAC3C,kBAAML,IAAI,GAAG,OAAI,CAACvD,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BlS,IAA5B,CAAiC,UAAAC,CAAC;AAAA,uBAAIA,CAAC,CAACgD,EAAF,IAAQ6P,MAAM,CAAC7P,EAAnB;AAAA,eAAlC,CAAb;;AACA,kBAAI9D,IAAJ,EAAU,OAAI,CAAC6S,cAAL,CAAoBxS,KAApB,IAA6B,MAAH,OAAG,CAAH,EAAG,EAAKL,IAAL,CAA7B;AACb,aAHD;AAIA,iBAAKvD,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,GAA8B,KAAKF,cAAnC;AACA,iBAAK7O,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAAL,CAAUqC,SAA/B;AACH;;;iBAEK,cAAKmU,WAAL,EAA0BC,SAA1B,EAAwC;;;;;;;;;;AAC1C,2BAAKzW,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,EAAyCE,QAAzC,GAAoD,KAAKP,gBAAL,CAAsBK,WAAtB,CAApD;AACMG,qC,GAAkB,KAAK3W,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BpR,IAA5B,CAAiC,UAAAb,CAAC;AAAA,+BAAIA,CAAC,CAACqS,QAAF,IAAc,wEAAgBysB,WAAlC;AAAA,uBAAlC,C;;AACxB,0BAAIxsB,eAAJ,EAAqB;AACjB,6BAAK3W,IAAL,CAAUqC,SAAV,CAAoBwU,MAApB,GAA6B,wEAAgBssB,WAA7C;AACH,uBAFD,MAEO;AACGxsB,yCADH,GACqB,KAAK3W,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BjC,KAA5B,CAAkC,UAAAhQ,CAAC;AAAA,iCAAIA,CAAC,CAACqS,QAAF,IAAc,wEAAgB0sB,SAAlC;AAAA,yBAAnC,CADrB;AAEH,4BAAIzsB,iBAAJ,EAAqB,KAAK3W,IAAL,CAAUqC,SAAV,CAAoBwU,MAApB,GAA6B,wEAAgBusB,SAA7C;AACxB;;AAED,2BAAKpjC,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,EAAyCwF,WAAzC,GAAuD,KAAK7I,KAAL,CAClD/O,IADkD,CAC7C,UAAAuD,IAAI;AAAA,+BAAIA,IAAI,CAACN,EAAL,IAAW,OAAI,CAACrH,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,EAAyCnP,EAAxD;AAAA,uBADyC,EAElDkf,MAFkD,CAE3CvmB,IAF2C,CAEtCgc,WAFjB;AAIA,2BAAKlG,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;;AACA,6BAAM,KAAK+jC,eAAL,EAAN;;;;AACA,6BAAM,KAAKC,YAAL,CAAkB,KAAKtjC,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BE,WAA5B,CAAlB,CAAN;;;AACA,2BAAKV,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACAmX,+BAAS,CAACQ,QAAV,GAAqB,KAArB;;;;;;;;;AACH;;;iBAED,kBAASM,YAAT,EAAuB;AACnBpU,sBAAU,CAAC,YAAM;AACb,kBAAMwP,KAAK,GAAGvN,CAAC,CAAC,kCAAD,CAAf;;AACA,mBAAK,IAAIxB,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG+O,KAAK,CAACxO,MAAlC,EAA0CP,KAAK,EAA/C,EAAmD;AAC/CwB,iBAAC,CAACuN,KAAK,CAAC/O,KAAD,CAAN,CAAD,CAAgB4T,IAAhB;AACH;AACJ,aALS,EAKP,GALO,CAAV;AAMH;;;iBAED,yBAA6B;AAAA,gBAAfa,KAAe,uEAAP,KAAO;;AACzB,gBAAI,CAACA,KAAL,EAAY;AACR,mBAAKrY,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,GAA8B,KAAKtW,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4B/M,MAA5B,CAAmC,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAACqS,QAAF,IAAc,wEAAgB0sB,SAAlC;AAAA,eAApC,CAA9B;AACH;;AACD,iBAAKpjC,IAAL,CAAUiW,SAAV,GAAsB,KAAtB;AACH;;;iBAEO,+BAAsB;AAAA;;AAC1B,gBAAI,KAAKjW,IAAL,CAAUqC,SAAV,CAAoBiW,QAAxB,EAAkC;AAC9B,mBAAKQ,oBAAL;AACA,mBAAKhD,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,mBAAK4W,KAAL,GAAa,IAAb;AACA,mBAAKE,cAAL,GAAsB,wDAAW,KAAKpW,IAAL,CAAUqC,SAAV,CAAoBiU,OAA/B,CAAtB;AACA;AACH;;AAED,iBAAKR,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CAAyByW,sBAAzB,CAAgD,KAAKzV,IAAL,CAAUyC,aAAV,CAAwB0U,cAAxE,EAAwF,KAAKpB,WAA7F,EACNxL,IADM,CAEH,iDAAI,UAACvK,IAAD,EAAiB;AACjB,qBAAO,gEAAW0V,aAAX,CAAyB1V,IAAzB,EAA+B,KAA/B,EAAsC6E,GAAtC,CAA0C,UAAAR,CAAC,EAAI;AAClD,oBAAMd,IAAI,GAAG,IAAI,uEAAJ,CAAoBc,CAAC,CAACpC,GAAtB,EAA2BoC,CAAC,CAACrE,IAAF,CAAO2Q,GAAlC,EAAuCtM,CAAC,CAACrE,IAAF,CAAOujC,YAA9C,EAA4Dl/B,CAAC,CAACrE,IAAF,CAAOwjC,gBAAnE,EAAqFn/B,CAAC,CAACrE,IAAF,CAAOmM,KAA5F,CAAb;AACA,uBAAO5I,IAAP;AACH,eAHM,CAAP;AAIH,aALD,CAFG,EAQH,uDAAU,UAAAvD,IAAI,EAAI;AACd,qBAAI,CAACA,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,GAA8BtW,IAA9B;AACA,qBAAI,CAACgW,aAAL,GAAqB,+DAAUvR,WAAV,CAAsB,OAAI,CAACzE,IAAL,CAAUyC,aAAV,CAAwBuT,aAA9C,EAA6D;AAAEhW,oBAAI,EAAE,OAAI,CAACA,IAAL,CAAUuE,UAAlB;AAA8BlC,yBAAS,EAAE,OAAI,CAACrC,IAAL,CAAUqC;AAAnD,eAA7D,CAArB;AACA,qBAAO,OAAI,CAACrD,mBAAL,CAAyByW,sBAAzB,CAAgD,OAAI,CAACzV,IAAL,CAAUyC,aAAV,CAAwB8V,gBAAxE,EAA0F,OAAI,CAACvC,aAA/F,CAAP;AACH,aAJD,CARG,EAaH,iDAAI,UAAChW,IAAD,EAAiB;AACjB,qBAAO,gEAAW0V,aAAX,CAAyB1V,IAAzB,EAA+B,KAA/B,EAAsC6E,GAAtC,CAA0C,UAAAR,CAAC,EAAI;AAClD,oBAAMd,IAAI,GAAG,IAAI,0EAAJ,CAAuBc,CAAC,CAACpC,GAAzB,EAA8BoC,CAAC,CAACrE,IAAF,CAAOmM,KAArC,EAA4C9H,CAAC,CAACrE,IAAF,CAAOwjC,gBAAnD,EAAqEn/B,CAAC,CAACrE,IAAF,CAAO2Q,GAA5E,EAAiFtM,CAAC,CAACrE,IAAF,CAAOyjC,kBAAxF,CAAb;AACAlgC,oBAAI,CAACmgC,MAAL,GAAc,CAAd;AACA,uBAAOngC,IAAP;AACH,eAJM,CAAP;AAKH,aAND,CAbG,EAoBNR,SApBM,CAoBI,UAAA/C,IAAI,EAAI;AACf,qBAAI,CAACA,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4B3V,OAA5B,CAAoC,UAAAuW,MAAM,EAAI;AAC1CA,sBAAM,CAACc,SAAP,GAAmBhY,IAAI,CAACuJ,MAAL,CAAY,UAAAlF,CAAC;AAAA,yBAAIA,CAAC,CAACs/B,SAAF,IAAezsB,MAAM,CAACvG,GAA1B;AAAA,iBAAb,CAAnB;AACH,eAFD;;AAIA,kBAAMizB,SAAS,GAAG,OAAI,CAAC5jC,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4BzR,GAA5B,CAAgC,UAAAR,CAAC;AAAA,uBAAIA,CAAC,CAACgD,EAAN;AAAA,eAAjC,EAA2CvF,IAA3C,EAAlB;;AACA,kBAAM0C,KAAK,4BAAqB,OAAI,CAACxE,IAAL,CAAUqC,SAAV,CAAoBlB,SAAzC,+BAAuE,OAAI,CAACnB,IAAL,CAAUqC,SAAV,CAAoBgF,EAA3F,gCAAmHu8B,SAAnH,CAAX;AACA,qBAAI,CAAC9gC,GAAL,GAAW,OAAI,CAAC9D,mBAAL,CAAyByW,sBAAzB,CAAgD,OAAI,CAACzV,IAAL,CAAUyC,aAAV,CAAwBohC,YAAxE,EAAsFr/B,KAAtF,EACNzB,SADM,CACI,UAAAuT,OAAO,EAAI;AAClB,uBAAI,CAACwtB,UAAL,CAAgB,OAAI,CAAC9jC,IAAL,CAAUqC,SAAV,CAAoBiU,OAApC,EAA6CA,OAA7C;;AACA,uBAAI,CAACwC,oBAAL;;AACA,uBAAI,CAAC9Y,IAAL,CAAUqC,SAAV,CAAoBiW,QAApB,GAA+B,IAA/B;AACA,uBAAI,CAAClC,cAAL,GAAsB,wDAAW,OAAI,CAACpW,IAAL,CAAUqC,SAAV,CAAoBiU,OAA/B,CAAtB;AACA,uBAAI,CAACR,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,uBAAI,CAAC4W,KAAL,GAAa,IAAb;AACH,eARM,EAQJ,UAAA7S,KAAK,EAAI;AACR,uBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,eAVM,CAAX;AAWH,aAtCM,EAsCJ,UAAA+D,KAAK,EAAI;AACR,qBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aAxCM,CAAX;AAyCH;;;iBAEO,gCAAuB;AAAA;;AAC3B,iBAAKU,IAAL,CAAUqC,SAAV,CAAoBiU,OAApB,CAA4B3V,OAA5B,CAAoC,UAAAuW,MAAM,EAAI;AAC1C,sBAAI,CAACf,gBAAL,CAAsBpW,IAAtB,CAA2BmX,MAAM,CAACR,QAAlC;AACH,aAFD;AAGH;;;iBAEO,oBAAWJ,OAAX,EAAoBytB,UAApB,EAAgC;AACpCztB,mBAAO,CAAC3V,OAAR,CAAgB,UAAA0D,CAAC,EAAI;AACjB,kBAAMT,KAAK,GAAGmgC,UAAU,CAAClrB,SAAX,CAAqB,UAAA0M,CAAC;AAAA,uBAAIA,CAAC,CAACvlB,IAAF,CAAOsC,QAAP,IAAmB+B,CAAC,CAACgD,EAAzB;AAAA,eAAtB,CAAd;;AACA,kBAAIzD,KAAK,IAAI,CAAb,EAAgB;AACZS,iBAAC,CAAC2/B,kBAAF,GAAuBD,UAAU,CAACngC,KAAD,CAAV,CAAkB3B,GAAzC;AACAoC,iBAAC,CAACqS,QAAF,GAAaqtB,UAAU,CAACngC,KAAD,CAAV,CAAkB5D,IAAlB,CAAuB0W,QAApC;AACArS,iBAAC,CAAC2mB,KAAF,GAAU+Y,UAAU,CAACngC,KAAD,CAAV,CAAkB5D,IAAlB,CAAuBgrB,KAAjC;AACA3mB,iBAAC,CAAC4/B,eAAF,GAAoBF,UAAU,CAACngC,KAAD,CAAV,CAAkB5D,IAAlB,CAAuBikC,eAA3C;AACA5/B,iBAAC,CAAC2X,WAAF,GAAgB,wDAAW+nB,UAAU,CAACngC,KAAD,CAAV,CAAkB5D,IAAlB,CAAuBgc,WAAvB,IAAsC,EAAjD,CAAhB;AACA3X,iBAAC,CAAC6+B,mBAAF,GAAwB,wDAAWa,UAAU,CAACngC,KAAD,CAAV,CAAkB5D,IAAlB,CAAuBgc,WAAvB,IAAsC,EAAjD,CAAxB;AACA3X,iBAAC,CAAC2T,SAAF,CAAYrX,OAAZ,CAAoB,UAAAsX,QAAQ,EAAI;AAC5B,sBAAMisB,UAAU,GAAGH,UAAU,CAACngC,KAAD,CAAV,CAAkB5D,IAAlB,CAAuBgY,SAAvB,CAAiCa,SAAjC,CAA2C,UAAAxU,CAAC;AAAA,2BAAIA,CAAC,CAACgD,EAAF,IAAQ4Q,QAAQ,CAAC5Q,EAArB;AAAA,mBAA5C,CAAnB;AACA,sBAAI68B,UAAU,IAAI,CAAlB,EAAqBjsB,QAAQ,CAACyrB,MAAT,GAAkBK,UAAU,CAACngC,KAAD,CAAV,CAAkB5D,IAAlB,CAAuBgY,SAAvB,CAAiCksB,UAAjC,EAA6CR,MAA/D;AACxB,iBAHD;AAIH;AACJ,aAdD;AAeH;;;iBAEa,2BAAkB;;;;;;;AACtBx7B,2B,GAAQ;AACV0Z,oCAAY,EAAE,KAAK5hB,IAAL,CAAUqC,SAAV,CAAoBuf,YADxB;AAEVzgB,iCAAS,EAAE,KAAKnB,IAAL,CAAUqC,SAAV,CAAoBlB,SAFrB;AAGVuE,mCAAW,EAAE,KAAK1F,IAAL,CAAUqC,SAAV,CAAoBgF,EAHvB;AAIVwP,8BAAM,EAAE,KAAK7W,IAAL,CAAUqC,SAAV,CAAoBwU;AAJlB,uB;;AAM2B,6BAAM,KAAKstB,SAAL,CAAe,KAAKnkC,IAAL,CAAUqC,SAAV,CAAoB2hC,kBAAnC,EAC3C97B,KAD2C,EAE3C,KAAKlI,IAAL,CAAUyC,aAAV,CAAwB2hC,eAFmB,CAAN;;;AAAzC,2BAAKpkC,IAAL,CAAUqC,SAAV,CAAoB2hC,kB;;;;;;;;;AAGvB;;;iBACa,sBAAa9sB,MAAb,EAAsC;;;;;;;AAC1ChP,2B,GAAQ;AACV0Z,oCAAY,EAAE,KAAK5hB,IAAL,CAAUqC,SAAV,CAAoBuf,YADxB;AAEVzgB,iCAAS,EAAE,KAAKnB,IAAL,CAAUqC,SAAV,CAAoBlB,SAFrB;AAGVuE,mCAAW,EAAE,KAAK1F,IAAL,CAAUqC,SAAV,CAAoBgF,EAHvB;AAIV/E,gCAAQ,EAAE4U,MAAM,CAAC7P,EAJP;AAKVqP,gCAAQ,EAAEQ,MAAM,CAACR,QALP;AAMVsU,6BAAK,EAAE9T,MAAM,CAAC8T,KANJ;AAOViZ,uCAAe,EAAE/sB,MAAM,CAAC+sB,eAPd;AAQVjoB,mCAAW,EAAE9E,MAAM,CAAC8E,WARV;AASVhE,iCAAS,EAAEd,MAAM,CAACc,SAAP,CAAiBnT,GAAjB,CAAqB,UAAAR,CAAC,EAAI;AACjC,iCAAO;AACHgD,8BAAE,EAAEhD,CAAC,CAACgD,EADH;AAEHq8B,kCAAM,EAAEr/B,CAAC,CAACq/B;AAFP,2BAAP;AAIH,yBALU;AATD,uB;;AAgBc,6BAAM,KAAKS,SAAL,CAAejtB,MAAM,CAAC8sB,kBAAtB,EAC9B97B,KAD8B,EAE9B,KAAKlI,IAAL,CAAUyC,aAAV,CAAwBohC,YAFM,CAAN;;;AAA5B3sB,4BAAM,CAAC8sB,kB;;;;;;;;;AAGV;;;iBAEO,mBAAUpiB,YAAV,EAAgCyiB,GAAhC,EAAqCp3B,QAArC,EAAqD;AAAA;;AACzD,mBAAO,IAAI6yB,OAAJ,CAAY,UAAOC,OAAP,EAAgBC,MAAhB;AAAA,qBAA2B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,6BAElCpe,YAFkC;AAAA;AAAA;AAAA;;AAAA;AAGnB,+BAAM,KAAK5iB,mBAAL,CAAyBmtB,cAAzB,CAAwClf,QAAxC,EAAkD2U,YAAlD,EAAgE;AAAE5hB,8BAAI,EAAEqkC;AAAR,yBAAhE,EAA+EC,SAA/E,EAAN;;AAHmB;AAG5Bv2B,8BAH4B;AAIlCgyB,+BAAO,CAACne,YAAD,CAAP;AAJkC;AAAA;;AAAA;AAAA;AAOnB,+BAAM,KAAK5iB,mBAAL,CAAyBwD,aAAzB,CAAuCyK,QAAvC,EAAiD;AAAEjN,8BAAI,EAAEqkC;AAAR,yBAAjD,EAAgEC,SAAhE,EAAN;;AAPmB;AAO5Bv2B,+BAP4B;AAQlCgyB,+BAAO,CAAChyB,OAAM,CAAC9L,GAAR,CAAP;;AARkC;AAAA;AAAA;;AAAA;AAAA;AAAA;AAWtC,6BAAK6T,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA0gC,8BAAM,cAAN;;AAZsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA3B;AAAA,aAAZ,CAAP;AAeH;;;;;;;;;;;;;;;;;;;;;AChOL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAKauE,S;;;;;AACX,2BAAsB1I,MAAtB,EACY2I,eADZ,EAC8C;AAAA;;AAAA;;AAC5C,yCAAM3I,MAAN,EAAc2I,eAAd;AAFoB,mBAAA3I,MAAA,GAAAA,MAAA;AACV,mBAAA2I,eAAA,GAAAA,eAAA;AAAkC;AAE7C;;;;iBAED,yBAAgBhI,KAAhB,EAA+CjmB,KAA/C,EAAyE;AAAA;;AACvE,mBAAO,IAAIupB,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,kBAAI,CAAC,QAAI,CAACyE,aAAV,EAAyB;AACvB,oBAAIjI,KAAK,CAACkI,WAAN,CAAkB5O,IAAlB,CAAuB7vB,QAAvB,CAAgC,KAAhC,CAAJ,EAA4C;AAC1C,0BAAI,CAAC41B,MAAL,CAAYE,QAAZ,CAAqB,CAAC,GAAD,CAArB;AAED,iBAHD,MAGO;AACL4I,8BAAY,CAACC,OAAb,CAAqB,WAArB,EAAkC,MAAlC;;AACA,0BAAI,CAACJ,eAAL,CAAqBK,KAArB;AACD;;AACD;AACD;;AAED,kBAAMC,aAAa,GAAGtI,KAAK,CAACx8B,IAAN,CAAWye,KAAjC;;AACA,kBAAI,CAACqmB,aAAD,IAAkBA,aAAa,CAAC3gC,MAAd,KAAyB,CAA/C,EAAkD;AAChD,uBAAO47B,OAAO,CAAC,IAAD,CAAd;AACD,eAFD,MAEO;AACL,oBAAI,CAAC,QAAI,CAACthB,KAAN,IAAe,QAAI,CAACA,KAAL,CAAWta,MAAX,KAAsB,CAAzC,EAA4C;AAC1C47B,yBAAO,CAAC,KAAD,CAAP;AACD;;AACD,oBAAIgF,OAAO,GAAY,KAAvB;;AAJK,4DAKsBD,aALtB;AAAA;;AAAA;AAKL,yEAA0C;AAAA,wBAA/BE,YAA+B;;AACxC,wBAAI,QAAI,CAACvmB,KAAL,CAAW3K,OAAX,CAAmBkxB,YAAnB,IAAmC,CAAC,CAApC,IAAyC,QAAI,CAACvmB,KAAL,CAAWvZ,IAAX,CAAgB,UAAAb,CAAC;AAAA,6BAAGA,CAAC,CAAC4B,QAAF,CAAW,yEAAYwY,KAAZ,CAAkB+J,KAA7B,CAAH;AAAA,qBAAjB,CAA7C,EAAuG;AACrGuc,6BAAO,GAAG,IAAV;AACA;AACD;AACF;AAVI;AAAA;AAAA;AAAA;AAAA;;AAWL,oBAAIA,OAAJ,EAAa;AACXhF,yBAAO,CAACgF,OAAD,CAAP;AAED,iBAHD,MAGO;AACL,sBAAI,CAAC,MAAD,EAASjxB,OAAT,CAAiB,QAAI,CAAC+nB,MAAL,CAAYze,GAA7B,MAAsC,CAAC,CAA3C,EAA8CunB,YAAY,CAACC,OAAb,CAAqB,cAArB,EAAqC,QAAI,CAAC/I,MAAL,CAAYze,GAAjD;;AAC9C,0BAAI,CAACye,MAAL,CAAYE,QAAZ,CAAqB,CAAC,aAAD,CAArB;AACD;AACF;AACF,aAlCM,CAAP;AAmCD;;;;QA1C4B,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECyB7B,uI,IAMK,I,EAAA;AADJ,4BAAsB,QAAtB,CAAsB,IAAtB;;AALD,wBAKC,SALD;AAKuB,S;AAAA;;;uEAGO,+E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE9B,S;AAAA;;;uEAVA,uH,GAAA;AAAA;AAAA;AAAA,gB,EACC,wD,GAOD,oI,IAEc;AAAA;;AATb;;AAAA;;AADD,wBACC,SADD,EACC,SADD;AAIE,S,EAAA,I;AAAA;;;uEAeF,uI,IAMK,I,EAAA;AADJ,4BAAsB,QAAtB,CAAsB,IAAtB;;AALD,wBAKC,SALD;AAKuB,S;AAAA;;;uEAGO,+E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE9B,S;AAAA;;;uEAVA,uH,GAAA;AAAA;AAAA;AAAA,gB,EACC,wD,GAOD,oI,IAEc;AAAA;;AATb;;AAAA;;AADD,wBACC,SADD,EACC,SADD;AAIE,S,EAAA,I;AAAA;;;uEAcF,uI,IAMK,I,EAAA;AADJ,4BAAsB,QAAtB,CAAsB,IAAtB;;AALD,wBAKC,SALD;AAKuB,S;AAAA;;;uEAGM,+E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE7B,S;AAAA;;;uEAVA,uH,GAAA;AAAA;AAAA;AAAA,gB,EACC,wD,GAOD,mI,IAEc;AAAA;;AATb;;AAAA;;AADD,wBACC,SADD,EACC,SADD;AAIE,S,EAAA,I;AAAA;;;qaArEJ;AAAA;AAAA;;AAAA;;;;;AAYC;;;;;AACA;;;;;AACA;;;;;AACA;;;;;AACA;;;;;AAhBD;AAAA,kQ,GAAA,oL,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAsBC,sQ,EADA,sQ,EAIA,sQ,EADA,sQ,EADA,sQ,EAdA,wL,EATD;AAAA;AAAA,oF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GA2BC,oH,GAAA,wM,GAcA,oH,GAAA,wM,GAkBA,oH,GAAA,wM,GAiBc;AAAA;AAlEd,8BAAqB,SAArB;;AAVD,wBAUC,UAVD;;AAOC,8BAAuB,UAAvB;AACA,8BAAuB,UAAvB;;AAcA;;AADA;;AAIA;;AADA;;AADA;;AApBA,8BAA+B,cAA/B;AAiBA,8BAA6B,aAA7B;AAdA,8BAAmB,QAAnB;AAFA,8BAAmC,gBAAnC;AACA,8BAAiD,uBAAjD;AAcA,8BAAqB,SAArB;AADA,8BAAqB,SAArB;AAhBA,8BAAqB,SAArB;;AAOA,iKAA0B,SAA1B;;AATD,yBAOC,UAPD,EAQC,UARD,EAsBC,UAtBD,EAqBC,UArBD,EAyBC,UAzBD,EAwBC,UAxBD,EAuBC,UAvBD,EAGC,UAHD,EAoBC,UApBD,EAMC,UAND,EAIC,UAJD,EAKC,UALD,EAmBC,UAnBD,EAkBC,UAlBD,EAEC,UAFD,EASC,UATD;;AAiBC,8BAAqB,SAArB;AANA,8BAAiB,MAAjB;;AAXD,yBAiBC,UAjBD,EAWC,UAXD;AAWkB,S,EAAA;AAAA;AAVjB,6BAA2B,SAA3B;AADD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yBACC,SADD;AA6EY,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFZ;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAaakJ,kC;;;;;AAMX,oDACS19B,SADT,EAEkCvH,IAFlC,EAGUwH,EAHV,EAIUC,QAJV,EAKUyC,iBALV,EAK8C;AAAA;;AAAA;;AAE5C;AANO,mBAAA3C,SAAA,GAAAA,SAAA;AACyB,mBAAAvH,IAAA,GAAAA,IAAA;AACxB,mBAAAwH,EAAA,GAAAA,EAAA;AACA,mBAAAC,QAAA,GAAAA,QAAA;AACA,mBAAAyC,iBAAA,GAAAA,iBAAA;AATV,mBAAAsX,iBAAA,GAAoB,SAAKtX,iBAAL,CAAuBiJ,KAAvB,CAA6BuH,kBAAjD;AAEA,mBAAAsB,WAAA,GAAqB,EAArB;;AAUE,mBAAKtU,QAAL;;AAH4C;AAI7C;;;;iBAED,gBAAO;;;AACL,gBAAM1H,IAAI,GAAG,KAAK2H,IAAL,CAAUjH,KAAvB;AACAV,gBAAI,CAAC42B,gBAAL,GAAwB,KAAK52B,IAAL,CAAU42B,gBAAlC;AACA52B,gBAAI,CAAC+H,OAAL,GAAe,KAAKN,QAAL,CAAcI,SAAd,CAAwB,IAAIC,IAAJ,CAAS9H,IAAI,CAAC+H,OAAd,CAAxB,EAAgD,YAAhD,CAAf;AACA/H,gBAAI,CAACklC,SAAL,GAAiB,CAAH,KAAG,KAAKlpB,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEnX,GAAF,CAAM,UAAAtB,IAAI,EAAI;AAAE,qBAAO;AAAE4hC,qBAAK,EAAE5hC,IAAI,CAAC6hC,IAAd;AAAoBC,wBAAQ,EAAE9hC,IAAI,CAAC8hC;AAAnC,eAAP;AAAuD,aAAvE,CAAjC;AACA,iBAAK99B,SAAL,CAAeS,KAAf,CAAqBhI,IAArB;AACD;;;iBAED,kBAAM;AACJ,iBAAKuH,SAAL,CAAeS,KAAf;AACD;;;iBAED,6BAAoBuP,YAApB,EAAuC;AAAA;;AACrC,iBAAK1T,eAAL,CAAqB0iB,MAArB,CAA4ByR,MAA5B,CAAmCsN,EAAnC,CAAsC,eAAtC,EAAuD,UAAC9hC,KAAD,EAAW;;;AAChE,kBAAI,OAAAA,KAAK,CAAC2J,OAAN,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE4V,QAAf,aAAmC,iEAAvC,EAAgE;AAC9D,wBAAI,CAAC/G,WAAL,GAAmBxY,KAAK,CAACxD,IAAN,CAAWgc,WAA9B;AACD;AACF,aAJD;AAKD;;;iBAEO,oBAAW;;;AACjB,iBAAKA,WAAL,GAAmB,kBAAKhc,IAAL,CAAUkI,KAAV,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEg9B,SAAjB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAErgC,GAAF,CAAM,UAAAtB,IAAI,EAAI;AAAE,qBAAO;AAAE6hC,oBAAI,EAAE7hC,IAAI,CAAC4hC,KAAb;AAAoBE,wBAAQ,EAAE9hC,IAAI,CAAC8hC;AAAnC,eAAP;AAAuD,aAAvE,CAA1B,KAAsG,EAAzH;AACA,iBAAK19B,IAAL,GAAY,KAAKH,EAAL,CAAQS,KAAR,CAAc;AACxBZ,gBAAE,EAAE,CAAC,KAAKrH,IAAL,CAAUkI,KAAV,CAAgBb,EAAhB,IAAsB,IAAvB,CADoB;AAExBc,oBAAM,EAAE,CAAC;AAAEzH,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBC,MAAhB,IAA0B,EAAnC;AAAuCC,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAA3D,eAAD,EAAwE,CAAC,0DAAWC,QAAZ,CAAxE,CAFgB;AAGxBC,6BAAe,EAAE,CAAC;AAAE7H,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBK,eAAhB,IAAmC,EAA5C;AAAgDH,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAApE,eAAD,EAAiF,CAAC,0DAAWC,QAAZ,CAAjF,CAHO;AAIxBi9B,+BAAiB,EAAE,CAAC;AAAE7kC,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBq9B,iBAAhB,IAAqC,EAA9C;AAAkDn9B,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAAtE,eAAD,EAAmF,CAAC,0DAAWC,QAAZ,CAAnF,CAJK;AAKxBP,qBAAO,EAAE,CAAC;AAAErH,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBH,OAAhB,IAA2B,EAApC;AAAwCK,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAA5D,eAAD,EAAyE,CAAC,0DAAWC,QAAZ,CAAzE,CALe;AAMxBk9B,6BAAe,EAAE,CAAC;AAAE9kC,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBs9B,eAAhB,IAAmC,EAA5C;AAAgDp9B,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAApE,eAAD,EAAiF,CAAC,0DAAWC,QAAZ,CAAjF;AANO,aAAd,CAAZ;AAQD;;;;QA/CqD,6D;;;;;;;;;;;;;;;;;ACZxD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAKam9B,Y;AAGZ,8BAAoBv+B,KAApB,EAA0C2b,SAA1C,EAAuE;AAAA;;AAAA;;AAAnD,eAAA3b,KAAA,GAAAA,KAAA;AAAsB,eAAA2b,SAAA,GAAAA,SAAA;AAF1C,eAAA6iB,SAAA,GAAY,IAAI,oDAAJ,CAAoB,EAApB,CAAZ;AAGC,eAAK7iB,SAAL,CAAe3Z,YAAf,CAA4BnG,SAA5B,CAAsC;AAAA,mBAAM,QAAI,CAAC4iC,QAAL,EAAN;AAAA,WAAtC;AACA,eAAKD,SAAL,CAAe3iC,SAAf,CAAyB;AAAA,mBAAM,QAAI,CAAC4iC,QAAL,EAAN;AAAA,WAAzB;AACA;;;;iBAED,oBAAQ;AACP,gBAAMC,eAAe,GAAG,KAAK/iB,SAAL,CAAevf,OAAf,CAAuB,KAAKoiC,SAAL,CAAehlC,KAAtC,CAAxB;AACA,gBAAMglC,SAAS,GAAG,KAAK7iB,SAAL,CAAevf,OAAf,CAAuB,iBAAvB,CAAlB;AACA,gBAAMuiC,YAAY,aAAMH,SAAN,gBAAqBE,eAArB,CAAlB;AACA,iBAAK1+B,KAAL,CAAWy+B,QAAX,CAAoBE,YAApB;AACA,gBAAKC,QAAgB,CAACC,cAAjB,CAAgC,cAAhC,EAAgD,CAAhD,CAAL,EACED,QAAgB,CAACC,cAAjB,CAAgC,cAAhC,EAAgD,CAAhD,EAAmDF,YAAnD;AACF;;;iBAED,oBAAQ;AACP,mBAAO,KAAK3+B,KAAL,CAAW8+B,QAAX,EAAP;AACA;;;;;;;;;;;;;;;;;;;;;ACzBF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBaC,sB;;;;;AAgBX;;;AAGA,wCAAmB7+B,QAAnB,EAAuC;AAAA;;AAAA;;AACrC,yCAAMA,QAAN;AADiB,mBAAAA,QAAA,GAAAA,QAAA;AAhBnB,mBAAA8+B,UAAA,GAAa,SAAKpU,cAAL,CAAoBuM,eAAjC;AAEU,mBAAA8H,IAAA,GAAO,IAAI,0DAAJ,EAAP;AACA,+BAAS,IAAI,0DAAJ,EAAT;AACA,mBAAAx4B,IAAA,GAAO,IAAI,0DAAJ,EAAP;AAY6B;AAEtC;;;;eAZD,aAAuB6sB,GAAvB,EAA4C;AAC1C,iBAAK4L,UAAL,GAAkB5L,GAAlB;;AACA,gBAAIA,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAE7pB,GAAT,EAAc;AACZ,mBAAKmhB,cAAL,CAAoB2M,SAApB,CAA8BjE,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAE7pB,GAAnC;AACD;AACF;;;iBASD,mBAAU/M,KAAV,EAAyBL,IAAzB,EAAoD;AAClD,mBAAOA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE8D,EAAb;AACD;;;iBAED,sBAAa4Q,QAAb,EAA4CzU,KAA5C,EAA0D;AACxDA,iBAAK,CAACC,eAAN;AACA,iBAAK0iC,IAAL,CAAUtlC,IAAV,CAAeoX,QAAf;AACD;;;iBAED,wBAAeA,QAAf,EAA8CzU,KAA9C,EAA4D;AAC1DA,iBAAK,CAACC,eAAN;AACA,2BAAY5C,IAAZ,CAAiBoX,QAAjB;AACD;;;iBAED,sBAAaA,QAAb,EAA4C;AAC1C,iBAAKtK,IAAL,CAAU9M,IAAV,CAAeoX,QAAf;AACD;;;;QAvCyC,mD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpB5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUaouB,gB;;;;;AAUX,kCAAmBj/B,QAAnB,EAAuC;AAAA;;AAAA;;AAAE,yCAAMA,QAAN;AAAtB,mBAAAA,QAAA,GAAAA,QAAA;AAPV,mBAAAk/B,WAAA,GAAc,IAAd;AACA,mBAAAC,aAAA,GAAgB,IAAhB;AACA,mBAAAC,UAAA,GAAa,IAAb;AACA,mBAAAC,KAAA,GAAQ,KAAR;AACA,mBAAAC,MAAA,GAAS,KAAT;AACA,mBAAAC,UAAA,GAAa,gBAAb;AAE8B;AAAoB;;;;iBAE3D,oBAAW,CACV;;;;QAbmC,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUaC,mB;;;;;AAIT,qCAAmBx/B,QAAnB,EAAuC;AAAA;;AAAA;;AAAE,yCAAMA,QAAN;AAAtB,mBAAAA,QAAA,GAAAA,QAAA;AAFnB,mBAAAy/B,eAAA,GAAkB,KAAlB;AAEuC;AAAoB;;;;iBAE3D,oBAAQ;AACJ,gBAAMzpB,GAAG,GAAGunB,YAAY,CAACmC,OAAb,CAAqB,cAArB,CAAZ;AACA,iBAAKD,eAAL,GAAuB,CAAC,GAAD,EAAM,kBAAN,EAA0B5gC,QAA1B,CAAmCmX,GAAnC,CAAvB;AACH;;;iBAED,kBAAM;AACF,iBAAKvT,QAAL,CAAcC,IAAd;AACH;;;iBAED,kBAAS;AACL66B,wBAAY,CAACoC,UAAb,CAAwB,cAAxB;AACA,iBAAKC,eAAL,CAAqBC,MAArB,CAA4Bp9B,QAAQ,CAACq9B,MAArC;AACH;;;;QAlBoC,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCmB5BC,mB;AAwBT,qCAAoBloC,gBAApB,EACYD,mBADZ,EAEY8W,YAFZ,EAGYsxB,kBAHZ,EAIYC,aAJZ,EAKYC,GALZ,EAMYC,IANZ,EAM0B;AAAA;;AAAA;;AANN,eAAAtoC,gBAAA,GAAAA,gBAAA;AACR,eAAAD,mBAAA,GAAAA,mBAAA;AACA,eAAA8W,YAAA,GAAAA,YAAA;AACA,eAAAsxB,kBAAA,GAAAA,kBAAA;AACA,eAAAC,aAAA,GAAAA,aAAA;AACA,eAAAC,GAAA,GAAAA,GAAA;AACA,eAAAC,IAAA,GAAAA,IAAA;AA3BH,eAAA7mC,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAQV,eAAA0+B,aAAA,GAA+C;AAAE5H,eAAG,EAAE,CAAP;AAAU,oBAAM;AAAhB,WAA/C;AACA,eAAA6H,gBAAA,GAAkD;AAAE7H,eAAG,EAAE,CAAP;AAAU,oBAAM;AAAhB,WAAlD;AAMQ,eAAA//B,IAAA,GAAuB,EAAvB;AAYJ,eAAKmJ,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAA/C,IAAI,EAAI;AAC5D,oBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACH,WAFU,CAAX;AAGH;;;;eAfD,aAAQrJ,CAAR,EAAyB;AACrB,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AACH;;;iBAeD,oBAAW;AAAA;;AACP,iBAAKunC,aAAL,CAAmBK,IAAnB,GAA0Bt2B,IAA1B,CAA+B,YAAM;AACjC,kBAAI,CAAC,QAAI,CAACu2B,gBAAV,EAA4B;AAC5B,kBAAIC,YAAY,GAAG,IAAI1H,MAAM,CAACC,IAAP,CAAY0H,MAAZ,CAAmBC,YAAvB,CAAoC,QAAI,CAACH,gBAAL,CAAsBrnC,aAA1D,CAAnB;AACAsnC,0BAAY,CAACG,WAAb,CAAyB,eAAzB,EAA0C,YAAM;AAC5C,wBAAI,CAACR,IAAL,CAAUpW,GAAV,CAAc,YAAM;AAChB,sBAAI6W,KAAK,GAAmCJ,YAAY,CAACK,QAAb,EAA5C;;AACA,sBAAID,KAAK,CAACE,QAAN,KAAmBC,SAAnB,IAAgCH,KAAK,CAACE,QAAN,KAAmB,IAAvD,EAA6D;AACzD;AACH;;AACD,0BAAI,CAACV,aAAL,GAAqB;AAAE5H,uBAAG,EAAEoI,KAAK,CAACE,QAAN,CAAer+B,QAAf,CAAwB+1B,GAAxB,EAAP;AAAsC,4BAAMoI,KAAK,CAACE,QAAN,CAAer+B,QAAf,CAAwBg2B,GAAxB;AAA5C,mBAArB;AACA,0BAAI,CAAC4H,gBAAL,GAAwB;AAAE7H,uBAAG,EAAEoI,KAAK,CAACE,QAAN,CAAer+B,QAAf,CAAwB+1B,GAAxB,EAAP;AAAsC,4BAAMoI,KAAK,CAACE,QAAN,CAAer+B,QAAf,CAAwBg2B,GAAxB;AAA5C,mBAAxB;;AACA,0BAAI,CAACn2B,WAAL;AACH,iBARD;AASH,eAVD;AAWH,aAdD;AAeH;;;iBAED,qBAAYN,OAAZ,EAAoC;AAChC,gBAAI,KAAK3G,aAAT,EAAwB;AACpB,kBAAI,KAAKA,aAAL,CAAmB+kC,aAAvB,EAAsC;AAClC,qBAAKA,aAAL,GAAqB,KAAK9mC,KAAL,IAAc,KAAK+B,aAAL,CAAmB+kC,aAAtD;AACA,qBAAKC,gBAAL,GAAwB,KAAK/mC,KAAL,IAAc,KAAK+B,aAAL,CAAmB+kC,aAAzD;AACH,eAHD,MAGO;AACH,qBAAKY,kBAAL;AACH;;AACD,mBAAKC,IAAL,GAAY,KAAK5lC,aAAL,CAAmB4lC,IAAnB,IAA2B,EAAvC;AACA,mBAAKC,OAAL,GAAe,KAAK7lC,aAAL,CAAmB6lC,OAAlC;AACH;AACJ;;;iBAED,uBAAc;AACV,iBAAKzoC,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;;AAEA,gBAAI,KAAK0oC,gBAAT,EAA2B;AACvB,mBAAKA,gBAAL,CAAsBC,MAAtB;AACH;AACJ;;;iBAEM,yBAAgB3jC,GAAhB,EAAoC;AAAA;;AACvC,iBAAKA,GAAL,GAAWA,GAAX;AACA,iBAAKA,GAAL,CAAS4jC,WAAT,GAAuB,KAAKhmC,aAAL,IAAsB,KAAKA,aAAL,CAAmBgmC,WAAhE;AACA,gBAAI,CAAC,KAAKpgC,QAAV,EAAoB,KAAKqgC,2BAAL;AAEpB,iBAAKH,gBAAL,GAAwB,KAAK1jC,GAAL,CAASkjC,WAAT,CAAqB,OAArB,EAA8B,UAACxd,CAAD,EAA+B;AACjF,sBAAI,CAACgd,IAAL,CAAUpW,GAAV,CAAc,YAAM;AAChB,oBAAI,QAAI,CAAC9oB,QAAL,IAAiB,CAAC,QAAI,CAAC5F,aAAL,CAAmBkmC,cAAzC,EAAyD;AACzD,wBAAI,CAAClB,gBAAL,GAAwB;AAAE7H,qBAAG,EAAErV,CAAC,CAACqe,MAAF,CAAShJ,GAAT,EAAP;AAAuB,0BAAMrV,CAAC,CAACqe,MAAF,CAAS/I,GAAT;AAA7B,iBAAxB;;AACA,wBAAI,CAACgJ,WAAL;;AACA,wBAAI,CAACn/B,WAAL;AACH,eALD;AAMH,aAPuB,CAAxB;AAQH;;;iBAEO,uBAAc;;;AAClB,gBAAI,QAAC,KAAKi+B,gBAAN,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAErnC,aAAxB,CAAJ,EAA2C;AAC3C,iBAAKqnC,gBAAL,CAAsBrnC,aAAtB,CAAoCI,KAApC,GAA4C,EAA5C;AACH;;;iBAEO,uCAA8B;AAAA;;AAClC,gBAAI,KAAK+B,aAAL,IAAsB,KAAKA,aAAL,CAAmBqmC,sBAA7C,EAAqE;AACjE,kBAAMC,cAAc,GAAGjD,QAAQ,CAACkD,aAAT,CAAuB,QAAvB,CAAvB;AACAD,4BAAc,CAAC7hC,KAAf,GAAuB,kBAAvB;AACA6hC,4BAAc,CAACE,SAAf;AACAF,4BAAc,CAACG,SAAf,CAAyBC,GAAzB,CAA6B,2BAA7B;AAEA,mBAAKtkC,GAAL,CAASi8B,QAAT,CAAkBZ,MAAM,CAACC,IAAP,CAAYiJ,eAAZ,CAA4BC,YAA9C,EAA4DtpC,IAA5D,CAAiEgpC,cAAjE;AACAA,4BAAc,CAACO,gBAAf,CAAgC,OAAhC,EAAyC,YAAM;AAC3C,wBAAI,CAAClB,kBAAL,CAAwB,IAAxB;;AACA,wBAAI,CAACS,WAAL;AACH,eAHD;AAIH;AACJ;;;iBAEO,8BAAqC;AAAA;;AAAA,gBAAlBU,QAAkB,uEAAP,KAAO;AACzC,iBAAKC,YAAL,GAAoB,KAAKpC,kBAAL,CAAwBqC,WAAxB,GAAsC1mC,SAAtC,CAAgD,UAAA/C,IAAI,EAAI;AACxE,kBAAIA,IAAJ,EAAU,QAAI,CAACwpC,YAAL,CAAkB5oC,WAAlB;;AACV,kBAAI2oC,QAAJ,EAAc;AACV,wBAAI,CAAC/B,aAAL,GAAqB;AAAE5H,qBAAG,EAAE5/B,IAAI,CAAC0pC,MAAL,CAAYC,QAAnB;AAA6B,0BAAM3pC,IAAI,CAAC0pC,MAAL,CAAYE;AAA/C,iBAArB;AACA,wBAAI,CAACnC,gBAAL,GAAwB;AAAE7H,qBAAG,EAAE5/B,IAAI,CAAC0pC,MAAL,CAAYC,QAAnB;AAA6B,0BAAM3pC,IAAI,CAAC0pC,MAAL,CAAYE;AAA/C,iBAAxB;;AACA,wBAAI,CAAClgC,WAAL;AACH,eAJD,MAIO;AACH,wBAAI,CAAC89B,aAAL,GAAqB,QAAI,CAAC9mC,KAAL,IAAc;AAAEk/B,qBAAG,EAAE5/B,IAAI,CAAC0pC,MAAL,CAAYC,QAAnB;AAA6B,0BAAM3pC,IAAI,CAAC0pC,MAAL,CAAYE;AAA/C,iBAAnC;AACA,wBAAI,CAACnC,gBAAL,GAAwB,QAAI,CAAC/mC,KAAL,IAAc;AAAEk/B,qBAAG,EAAE5/B,IAAI,CAAC0pC,MAAL,CAAYC,QAAnB;AAA6B,0BAAM3pC,IAAI,CAAC0pC,MAAL,CAAYE;AAA/C,iBAAtC;AACH;;AACD,sBAAI,CAAC/kC,GAAL,CAASglC,SAAT,CAAmB;AAAEjK,mBAAG,EAAE5/B,IAAI,CAAC0pC,MAAL,CAAYC,QAAnB;AAA6B9J,mBAAG,EAAE7/B,IAAI,CAAC0pC,MAAL,CAAYE;AAA9C,eAAnB;AACH,aAXmB,CAApB;AAYH;;;iBAEK,uBAAc;;;;;;AAChB,2BAAKlpC,KAAL,GAAa,KAAK+mC,gBAAlB;;AACuB,6BAAM,KAAKL,kBAAL,CAAwB0C,uBAAxB,CAAgD,KAAKppC,KAAL,CAAWk/B,GAA3D,EAAgE,KAAKl/B,KAAL,QAAhE,EAAiF,IAAjF,CAAN;;;AAAvB,2BAAKA,KAAL,CAAWqpC,S;;AACY,6BAAM,KAAK3C,kBAAL,CAAwB0C,uBAAxB,CAAgD,KAAKppC,KAAL,CAAWk/B,GAA3D,EAAgE,KAAKl/B,KAAL,QAAhE,EAAiF,IAAjF,CAAN;;;AAAvB,2BAAKA,KAAL,CAAWspC,S;AACX,2BAAKj4B,gBAAL;AACA,2BAAKjJ,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;;;;;;;;;AACH;;;iBAEO,4BAAmB;AAAA;;AACvB,gBAAI,KAAK+B,aAAL,IAAsB,KAAKA,aAAL,CAAmBuP,WAA7C,EACI,KAAKvP,aAAL,CAAmBuP,WAAnB,CAA+BrR,OAA/B,CAAuC,UAAA4C,IAAI,EAAI;AAC3C,kBAAMiN,UAAU,GAAG,+CAAMC,gBAAN,CAAuB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAEG,mBAAG,EAAEpN,IAAI,CAACoN;AAAZ,eAA7D,CAAnB;AACAH,wBAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AACpB,oBAAMvR,KAAK,GAAG,QAAI,CAACmD,eAAL,CAAqBY,WAArB,CAAiClB,IAAI,CAAC7C,KAAtC,EAA6C;AAAEV,sBAAI,EAAE,QAAI,CAACA;AAAb,iBAA7C,CAAd;;AACAiS,iBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACH,eAHD;AAIH,aAND;AAOP;;;iBAEO,yBAAgByI,IAAhB,EAAsB;AAAA;;AAC1B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AACb,sBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AACH,aAFS,CAAV;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEClLD,yH,IACI,wX,GAAA,uiB,GAAA;AAAA;AAA+C,S,EAAA,I;AAAA;;;uEAEnD,wX,GAAA,6mB,GAAA;AAAA;AAAgE,S,EAAA,I;AAAA;;;uEALpE,kK,IACE,yH,GAAA;AAAA;AAAA,gB,GACE,4H,GAAA;AAAA;AAAA,gB,GAGA,4H,GAAA,gV,GAAgE;AAJpD,4BAAoC,QAApC,CAAoC,IAApC,CAAoC,aAApC;;AAAd,wBAAc,SAAd;;AACgB;;AAAd,wBAAc,SAAd;AAAqC,S,EAAA,I;AAAA;;;uEAFzC,4H,GAAA;AAAA;AAAA,gB,EAA2C,yL,GAAA;AAAA;;AAAA,8JAAuC,WAAvC;;AAA3C,wBAA2C,SAA3C;AAAkF,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACSlF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAkBA,UAAMqH,UAAU,GAAG,CACjB,iGADiB,EAEjB,6GAFiB,EAGjB,oGAHiB,EAIjB,6FAJiB,EAKjB,0GALiB,EAMjB,oGANiB,EAOjB,4EAPiB,EAQjB,qHARiB,CAAnB;;UAmCay5B,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aC9Db,oJ,IACC,8I,IACC;AAAA;AAAA,sBAMS,UANT;;AAGC;;;;;AAHD;AAAA,sB,IAKC,yH,IAAM,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAA2C,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNpD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;UAMaC,mB;AACX,qCAAoBjrC,gBAApB,EAAwD;AAAA;;AAApC,eAAAA,gBAAA,GAAAA,gBAAA;AAAuC;;;;iBAE3D,mBAAUkrC,YAAV,EAA6BC,WAA7B,EAAwC;AACtC,gBAAI,OAAOD,YAAP,KAAwB,QAAxB,IAAoC,CAACA,YAAzC,EAAuD;AACrD,qBAAO,IAAP;AACD;;AACD,mBAAO,+CAAMt5B,QAAN,WAAkBu5B,WAAlB,GAAiC;AACzC7mC,kBAAI,EAAE4mC,YADmC;AAEzCtnB,uBAAS,EAAE,KAAK5jB;AAFyB,aAAjC,CAAP;AAID;;;;;;;;;;;;;;;;;;;;;ACjBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AACA,UAAMorC,IAAI,GAAG,SAAPA,IAAO;AAAA,eAAWlC,SAAX;AAAA,OAAb;;;;UAGamC,a;AADb;AAAA;;AAEU,eAAAC,SAAA,GAAY,iBAAZ;AAwCT;;;;eAtCC,eAAU;AACR,gBAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;AAAE,qBAAOH,IAAP;AAAc;;AAC5C,mBAAOj9B,OAAO,CAACC,GAAR,CAAYo9B,IAAZ,CAAiBr9B,OAAjB,aAA8B,KAAKm9B,SAAnC,WAAP;AACD;;;eAED,eAAW;AACT,gBAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;AAAE,qBAAOH,IAAP;AAAc;;AAC5C,mBAAOj9B,OAAO,CAACs9B,IAAR,CAAaD,IAAb,CAAkBr9B,OAAlB,aAA+B,KAAKm9B,SAApC,YAAP;AACD;;;eAED,eAAW;AACT,gBAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;AAAE,qBAAOH,IAAP;AAAc;;AAC5C,mBAAOj9B,OAAO,CAACod,IAAR,CAAaigB,IAAb,CAAkBr9B,OAAlB,aAA+B,KAAKm9B,SAApC,YAAP;AACD;;;eAED,eAAY;AACV,gBAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;AAAE,qBAAOH,IAAP;AAAc;;AAC5C,mBAAOj9B,OAAO,CAAC/J,KAAR,CAAconC,IAAd,CAAmBr9B,OAAnB,aAAgC,KAAKm9B,SAArC,aAAP;AACD;;;eAED,eAAY;AACV,gBAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;AAAE,qBAAOH,IAAP;AAAc;;AAC5C,mBAAOj9B,OAAO,CAACu9B,KAAR,CAAcF,IAAd,CAAmBr9B,OAAnB,aAAgC,KAAKm9B,SAArC,aAAP;AACD;;;eAED,eAAY;AACV,gBAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;AAAE,qBAAOH,IAAP;AAAc;;AAC5C,mBAAOj9B,OAAO,CAACw9B,KAAR,CAAcH,IAAd,CAAmBr9B,OAAnB,aAAgC,KAAKm9B,SAArC,aAAP;AACD;;;eAED,eAAY;AACV,gBAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;AAAE,qBAAOH,IAAP;AAAc;;AAC5C,mBAAOj9B,OAAO,CAACy9B,KAAR,CAAcJ,IAAd,CAAmBr9B,OAAnB,aAAgC,KAAKm9B,SAArC,aAAP;AACD;;;iBAEO,0BAAiB;AACvB,gBAAI,CAAC,yEAAY5kB,UAAjB,EAA6B;AAAE,qBAAO,IAAP;AAAc;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAYamlB,e;AAGT,iCACWvjC,SADX,EAEoCvH,IAFpC,EAGY6d,MAHZ,EAGkC;AAAA;;AAFvB,eAAAtW,SAAA,GAAAA,SAAA;AACyB,eAAAvH,IAAA,GAAAA,IAAA;AACxB,eAAA6d,MAAA,GAAAA,MAAA;AALZ,eAAAktB,YAAA,GAA0B,IAAI,wDAAJ,CAAc,EAAd,CAA1B;AAOI,cAAI,KAAK/qC,IAAL,CAAUgrC,sBAAd,EACI,KAAKhrC,IAAL,CAAUuE,UAAV,GAAuB,+CAAMsM,QAAN,CAAe,KAAK7Q,IAAL,CAAUgrC,sBAAzB,EACnB;AAAEhrC,gBAAI,EAAE,KAAKA,IAAL,CAAUuE,UAAV,CAAqBvE,IAA7B;AAAmCuE,sBAAU,EAAE,KAAKvE,IAAL,CAAUuE;AAAzD,WADmB,EAEnB,YAFmB,CAAvB;AAGP;;;;iBAED,qBAAS;AACL,iBAAKgD,SAAL,CAAeS,KAAf;AACH;;;iBAED,oBAAQ;AACJ,iBAAK6V,MAAL,CAAYve,OAAZ,GAAsB,KAAtB;AACH;;;iBAED,uBAAckE,KAAd,EAA0B;AACtB4J,mBAAO,CAACC,GAAR,CAAY7J,KAAZ;AACA,gBAAIA,KAAK,CAACoN,SAAN,CAAgBD,GAAhB,IAAuB,QAA3B,EAAqC,KAAKs6B,SAAL,GAArC,KACK,IAAIznC,KAAK,CAACoN,SAAN,CAAgBD,GAAhB,IAAuB,QAA3B,EAAqC;AACtC,kBAAI,KAAK3Q,IAAL,CAAUkrC,wBAAd,EAAwC;AACpC,qBAAKlrC,IAAL,CAAUuE,UAAV,GAAuB,+CAAMsM,QAAN,CAAe,KAAK7Q,IAAL,CAAUkrC,wBAAzB,EACnB;AAAElrC,sBAAI,EAAEwD,KAAK,CAACxD,IAAd;AAAoBuE,4BAAU,EAAE,KAAKvE,IAAL,CAAUuE;AAA1C,iBADmB,EAEnB,YAFmB,CAAvB;AAGA,qBAAKgD,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAAL,CAAUuE,UAA/B;AACH,eALD,MAKO,KAAKgD,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAAL,CAAUuE,UAA/B;AACV;AACJ;;;iBAED,kBAASf,KAAT,EAAqB;AACjB,gBAAI,CAAC,KAAKxD,IAAL,CAAUkrC,wBAAf,EACI,KAAK3jC,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAAL,CAAUuE,UAA/B;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEClDL,6J,GAAA,+L,EAAA;AAAA;AAAA,gB,GACC;AAAA;AAAA,sBAGkB,UAHlB;;AAC2B;;;;;AAAwC;;;;;AAClE;;;;;AAFD;AAAA,gQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAGkB;AAAA;AAJQ,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA3B,wBAA2B,SAA3B;;AACkB,6BAAwB,KAAxB,CAAwB,OAAxB;AAAyB,6BAA8B,KAA9B,CAA8B,UAA9B;AAA+B,6BAA0B,KAA1B,CAA0B,QAA1B;AACxE;;AADD,wBAAiB,SAAjB,EAA0C,SAA1C,EAAyE,SAAzE,EACC,SADD;AAC0B,S,EAAA;AAF3B;;AAAA;AAKM,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACLN;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;AAqCA,iFAAmB,iEAAnB,EAA6B,IAA7B;AACA,iFAAmB,iEAAnB,EAA6B,IAA7B;;UAsFa4mC,Y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC1HX;AAAA;AAAA,sBAUkB,UAVlB;;AAMC;;;;;AACA;;;;;AACA;;;;;AARD;AAAA,gQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAUkB;AAAA;AARjB,6BAA0B,eAA1B;AACA,6BAAyB,WAAzB;AACA,6BAAwB,KAAxB,CAAwB,MAAxB;AACA;;AALD,wBAEC,SAFD,EAGC,SAHD,EAIC,SAJD,EAKC,SALD;AAK0B,S,EAAA,I;AAAA;;;uEAN3B,yH,IACC,wH,GAAA;AAAA;AAAA,gB,GAUkB,4E,IAAA;AAAA;AATjB,6BAAiB,UAAjB;;AADD,wBACC,SADD;AACkB,S,EAAA,I;AAAA;;;uEAalB;AAAA;AAAA,sBAUkB,UAVlB;;AAMC;;;;;AACA;;;;;AACA;;;;;AARD;AAAA,gQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAUkB;AAAA;AARjB,6EAAiE,KAAjE,CAAiE,QAAjE;AACA,6BAAyB,WAAzB;AACA,6BAAwB,KAAxB,CAAwB,MAAxB;AACA;;AALD,wBAEC,SAFD,EAGC,SAHD,EAIC,SAJD,EAKC,SALD;AAK0B,S,EAAA,I;AAAA;;;uEAL1B,wH,GAAA;AAAA;AAAA,gB,GAUkB,4E,IAAA;AAAA;AATjB,6BAAiB,UAAjB;;AADD,wBACC,SADD;AACkB,S,EAAA,I;AAAA;;;uEAjBpB,6J,GAAA,+L,EAAA;AAAA;AAAA,gB,GACC,wH,GAAA;AAAA;AAAA;AAAA,gB,GAcA,wI,IAYc;AAAA;AA3BY,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA3B,wBAA2B,SAA3B;;AACe;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAA6D,S,EAAA;AAD9D;;AAAA;AA4BM,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BN;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEO,eAASC,SAAT,CAAmBrsC,aAAnB,EAAiDmI,KAAjD,EAAgE9H,OAAhE,EAAiFisC,OAAjF,EAAmG;AACtGtsC,qBAAa,CAAC2Q,IAAd,CAAmBtQ,OAAnB,EAA4B8H,KAA5B,EAAmC;AAC/ByI,oBAAU,EAAE,oBADmB;AAE/BC,qBAAW,EAAE,IAFkB;AAG/BC,oBAAU,EAAE,IAHmB;AAI/BC,wBAAc,EAAEu7B,OAAO,GAAG,oDAAH,GAAgB;AAJR,SAAnC;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyBD,UAAMC,oBAAoB,GAAG,GAA7B;;UAQaC,gC;AAmEZ,kDACStsC,gBADT,EAESD,mBAFT,EAGS8W,YAHT,EAIS6c,SAJT,EAKSsH,EALT,EAMSl7B,aANT,EAMqC;AAAA;;AAAA;;AAL5B,eAAAE,gBAAA,GAAAA,gBAAA;AACA,eAAAD,mBAAA,GAAAA,mBAAA;AACA,eAAA8W,YAAA,GAAAA,YAAA;AACA,eAAA6c,SAAA,GAAAA,SAAA;AACA,eAAAsH,EAAA,GAAAA,EAAA;AACA,eAAAl7B,aAAA,GAAAA,aAAA;AAhEA,eAAA2B,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAMV,eAAAnJ,YAAA,GAAe,CAAf;AACA,eAAAF,KAAA,GAAQ,CAAR;AACA,eAAA+rC,cAAA,GAAiB;AAAExrC,gBAAI,EAAE;AAAR,WAAjB;AACA,eAAAyrC,SAAA,GAAY,EAAZ;AAEA,eAAAC,UAAA,GAAa,KAAb;AACA,eAAAC,YAAA;AAEQ,eAAA9rC,IAAA,GAAuB,EAAvB;AAKR,eAAA+rC,gBAAA,GAAmB;AAClBC,sBAAU,EAAE,KADM;AAElBl+B,gBAAI,EAAE;AAFY,WAAnB;AAMA,eAAAtB,OAAA,GAAoB,CAAC,MAAD,EAAS,KAAT,EAAgB,MAAhB,EAAwB,QAAxB,CAApB;AACA,eAAAy/B,WAAA,GAAqB,EAArB;AACA,eAAAC,WAAA,GAAmB,IAAnB;AACQ,eAAAC,cAAA,GAAiB,EAAjB;AAYR,eAAAC,aAAA,GAAgB,EAAhB;AAEA,eAAAC,aAAA,GAAgB,EAAhB;AACA,eAAAC,YAAA,GAAe,KAAf;AACA,eAAAC,UAAA,GAAa,EAAb;AAGA,eAAAC,eAAA,GAAkB,IAAlB;AACA,eAAAC,oBAAA,GAAuB,KAAvB;AAEA,eAAAC,eAAA,GAAuB,EAAvB;AACA,eAAAC,cAAA,GAAiB,EAAjB;AAGA,eAAAC,aAAA,GAAuB,EAAvB;AAWC,eAAKzjC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,oBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,WAFU,CAAX;AAGA;;;;eAtDD,aAAQrJ,CAAR,EAAyB;AACxB,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AACA;;;eAaD,eAAiB;AAChB,mBAAO,KAAKksC,cAAZ;AACA,W;eAED,aAAkBtrC,KAAlB,EAAgC;;;AAC/B,iBAAKsrC,cAAL,GAAsBtrC,KAAtB;;AACA,gBAAI,CAAJ,KAAI,KAAK+B,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEiqC,cAAxB,EAAwC;AACvC,mBAAKC,gBAAL;AACA;AACD;;;iBA+BD,oBAAW;AAAA;;AACV,iBAAK7pC,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAACoG,IAAD,EAAU;;;AACjE,kBAAI,CAAJ,KAAI,QAAI,CAACyjC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEzoC,MAAxB,EAAgC;AAC/B,wBAAI,CAACyoC,aAAL,GAAqB,QAAI,CAACA,aAAL,CAAmB/nC,GAAnB,CAAuB,UAACR,CAAD;AAAA,yBAC3C,QAAI,CAACwoC,cAAL,CAAoBxoC,CAApB,CAD2C;AAAA,iBAAvB,CAArB;;AAGA,wBAAI,CAACqF,WAAL;AACA;AACD,aAPU,CAAX;AAQA;;;iBACD,qBAAYN,OAAZ,EAAoC;AACnC,gBAAI,KAAK3G,aAAT,EAAwB;AACvB,kBAAI,KAAKA,aAAL,CAAmBqqC,QAAnB,IAA+B,YAAnC,EACC,KAAKT,eAAL,GAAuB,KAAvB,CADD,KAEK,IAAI,KAAK5pC,aAAL,CAAmBqqC,QAAnB,IAA+B,gBAAnC,EAAqD;AACzD,qBAAKR,oBAAL,GAA4B,IAA5B;AACA,eAFI,MAEE,KAAKD,eAAL,GAAuB,IAAvB;AAEP,mBAAKX,UAAL,GACC,CAAC,KAAKjpC,aAAL,CAAmBwK,QAApB,IAAgC,CAAC,CAAC,KAAKxK,aAAL,CAAmB2a,GADtD;;AAEA,kBAAI,KAAKsuB,UAAT,EAAqB;AACpB,qBAAKC,YAAL,GAAoB,+CAAMlnC,WAAN,CAAkB,KAAKhC,aAAL,CAAmB2a,GAArC,EAA0C;AAC7D2vB,wBAAM,EAAE,KAAKlpC,eAAL,CAAqB6M,IAArB,CAA0B/I,IAA1B,CAA+BolC,MADsB;AAE7D/sC,sBAAI,EAAE,KAAKA,IAFkD;AAG7D6iB,2BAAS,EAAE,KAAK5jB,gBAAL,CAAsBqE;AAH4B,iBAA1C,CAApB;AAKA;;AAED,kBAAI,KAAKb,aAAL,CAAmB8D,IAAvB,EAA6B,KAAKA,IAAL,GAAY,KAAK9D,aAAL,CAAmB8D,IAA/B;AAC7B,kBAAI,KAAK9D,aAAL,CAAmBuqC,cAAvB,EACC,KAAKA,cAAL,GAAsB,KAAKvqC,aAAL,CAAmBuqC,cAAzC;AACD,kBAAI,KAAKvqC,aAAL,CAAmB4J,OAAnB,IAA8B,KAAK5J,aAAL,CAAmB4J,OAAnB,CAA2BlI,MAA7D,EACC,KAAKkI,OAAL,GAAe,KAAK5J,aAAL,CAAmB4J,OAAlC;AACD,kBAAI,KAAK5J,aAAL,CAAmBypC,aAAvB,EACC,KAAKA,aAAL,GAAqB,KAAKzpC,aAAL,CAAmBypC,aAAxC;;AACD,kBACC,KAAKzpC,aAAL,CAAmBqpC,WAAnB,IACA,KAAKrpC,aAAL,CAAmBqpC,WAAnB,CAA+B3nC,MAFhC,EAGE;AACD,qBAAK2nC,WAAL,GAAmB,KAAKrpC,aAAL,CAAmBqpC,WAAtC;AACA,qBAAKM,UAAL,GAAkB,KAAKN,WAAL,CAChBviC,MADgB,CACT,UAAClF,CAAD;AAAA,yBAAOA,CAAC,CAAC4oC,UAAT;AAAA,iBADS,EAEhBpoC,GAFgB,CAEZ,UAACR,CAAD,EAAO;AACX,yBAAO,MAAP,OAAO,CAAP,kBAAYA,CAAZ,CAAO,EAAM;AAAE3D,yBAAK,EAAE;AAAT,mBAAN,CAAP;AACA,iBAJgB,CAAlB;AAKA;;AAED,mBAAKwsC,kBAAL;AAEA,mBAAKtoB,OAAL;AAEA,mBAAK8nB,cAAL,GAAsB,CAAC,CAAC,KAAKjqC,aAAL,CAAmBiqC,cAA3C;AACA;AACD;;;iBAEO,4BAAmB;AAAA;;;;AAC1B,gBAAMS,GAAG,GAAG,+CAAMt8B,QAAN,CAAe,CAAD,KAAC,KAAKpO,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE2qC,WAAnC,EAAgD;AAC3DptC,kBAAI,EAAE,KAAKA;AADgD,aAAhD,EAET61B,KAFS,CAEH,GAFG,CAAZ;;AAGA,gBAAI,CAAAsX,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEhpC,MAAL,KAAe,KAAKyoC,aAAL,CAAmBzoC,MAAtC,EAA8C;AAC7C,mBAAKyoC,aAAL,CAAmBjsC,OAAnB,CAA2B,UAAC4C,IAAD,EAAU;AACpC,oBAAI4pC,GAAG,CAAClnC,QAAJ,CAAa1C,IAAI,CAACtB,GAAL,CAAS6f,QAAT,EAAb,CAAJ,EAAuC;AACtC,sBAAM9B,SAAS,GAAG,QAAI,CAACysB,aAAL,CAAmB5zB,SAAnB,CACjB,UAAC9E,CAAD;AAAA,2BAAOA,CAAC,CAAC9R,GAAF,IAASsB,IAAI,CAACtB,GAArB;AAAA,mBADiB,CAAlB;;AAGA,sBAAI+d,SAAS,KAAK,CAAC,CAAnB,EAAsB;AACrB,4BAAI,CAACysB,aAAL,CAAmB1sC,IAAnB,CAAwBwD,IAAxB;AACA;AACD;AACD,eATD;AAUA;AACD;;;iBAED,mBAAU8D,EAAV,EAAc;AACb,mBAAO,KAAKolC,aAAL,CAAmB5zB,SAAnB,CAA6B,UAAC9E,CAAD;AAAA,qBAAOA,CAAC,CAAC9R,GAAF,IAASoF,EAAhB;AAAA,aAA7B,IAAmD,CAAC,CAApD,GAAwD,IAAxD,GAA+D,KAAtE;AACA;;;iBAED,0BAAiB9D,IAAjB,EAA4BC,KAA5B,EAAsC;AACrC,gBAAM6pC,SAAS,GAAG7pC,KAAK,CAACS,MAAN,CAAaqpC,OAA/B;AACA,gBAAMttB,SAAS,GAAG,KAAKysB,aAAL,CAAmB5zB,SAAnB,CAA6B,UAAC9E,CAAD;AAAA,qBAAOA,CAAC,CAAC9R,GAAF,KAAUsB,IAAI,CAACtB,GAAtB;AAAA,aAA7B,CAAlB;;AAEA,gBAAIorC,SAAJ,EAAe;AACd,kBAAIrtB,SAAS,KAAK,CAAC,CAAnB,EAAsB;AACrB,qBAAKysB,aAAL,CAAmB1sC,IAAnB,CAAwBwD,IAAxB;AACA;AACD,aAJD,MAIO;AACN,kBAAIyc,SAAS,KAAK,CAAC,CAAnB,EAAsB;AACrB,qBAAKysB,aAAL,CAAmBzoC,MAAnB,CAA0Bgc,SAA1B,EAAqC,CAArC;AACA;AACD;AACD;;;iBAED,mBAAUxc,KAAV,EAA+B;AAC9B,gBAAI,KAAK8oC,oBAAT,EAA+B;AAC9B,mBAAKD,eAAL,GACC7oC,KAAK,CAAC+pC,QAAN,IACC,KAAK9qC,aAAL,CAAmB+qC,gBAAnB,IAAuClC,oBADxC,CADD;AAGA;AACD;;;iBAED,8BAAqB;AACpB,gBAAI,KAAK7oC,aAAL,CAAmB8pC,eAAvB,EAAwC;AACvC,mBAAKA,eAAL,GAAuB,KAAK9pC,aAAL,CAAmB8pC,eAA1C;AACA;AACD;;;iBAEK,kBAASl8B,MAAT,EAAiB9M,IAAjB,EAAuBC,KAAvB,EAAqC;;;;;;;AAC1CA,2BAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAES,MAAP,CAAcwpC,aAAd,CACC,IAAIC,WAAJ,CAAwC,eAAxC,EAAyD;AACxDC,+BAAO,EAAE,IAD+C;AAExDC,8BAAM,EAAE;AACP5tC,8BAAI,EAAE,KAAKA,IADJ;AAEP6tC,uCAAa,EAAEtqC,IAFR;AAGPuqC,8BAAI,EAAE,QAHC;AAIPC,mCAAS,EAAE,KAAKnB,aAJT;AAKP17B,uCAAa,EAAE,KAAKrN;AALb;AAFgD,uBAAzD,CADD;;AAcK8oB,4B,GAAS,E;AACT2J,0B,GAAO,E;AACPlZ,yB;AAEJ/M,4BAAM,CAACimB,IAAP,GACIA,IAAI,GAAG,+CAAMzlB,QAAN,CAAeR,MAAM,CAACimB,IAAtB,EAA4B;AACpC/xB,kCAAU,EAAE,KAAKvE,IADmB;AAEpCosB,2BAAG,EAAE7oB,IAAI,CAACvD;AAF0B,uBAA5B,CADX,GAKIs2B,IAAI,GAAG,EALX;;2BAOIjmB,MAAM,CAAC+M,G;;;;;AACV/M,4BAAM,CAACsc,MAAP,GAAiBA,MAAM,GAAGtc,MAAM,CAACsc,MAAjC,GAA4CA,MAAM,GAAG,KAArD;AACAvP,yBAAG,IAAI,+CAAM3Y,WAAN,CAAkB4L,MAAM,CAAC+M,GAAzB,EAA8B;AACpC7Y,kCAAU,EAAE,KAAKvE,IADmB;AAEpC+sC,8BAAM,EAAE,KAAKlpC,eAAL,CAAqBmqC,YAArB,CAAkCC,KAAlC,CAAwClB,MAFZ;AAGpC3gB,2BAAG,EAAE7oB,IAAI,CAACvD;AAH0B,uBAA9B,CAAP;;AAKA,6BAAM,uDAAOkuC,WAAP,CAAmB,IAAnB,EAAyB,QAAzB,EAAmC9wB,GAAnC,EAAwCuP,MAAxC,EAAgD2J,IAAhD,EAAsD;AAC3D6X,mCAAW,EAAE99B,MAAM,CAAC89B;AADuC,uBAAtD,CAAN;;;AAGA99B,4BAAM,CAAC+9B,MAAP,GAAgB,KAAKxpB,OAAL,EAAhB,GAAiC,EAAjC;;;AAED,0BAAIvU,MAAM,CAACg+B,MAAX,EAAmB;AAClB,uEAAMC,YAAN,CACC,KAAKzqC,eAAL,CAAqB+M,SADtB,EAEC;AACCtK,8BAAI,EAAE,YADP;AAECioC,oCAAU,EAAEl+B,MAAM,CAACg+B;AAFpB,yBAFD,EAMC9qC,IAAI,CAACvD,IANN,EAOC,KAAK6D,eAAL,CAAqB7D,IAPtB,EAQC,KAAK6D,eAAL,CAAqB6M,IAArB,GAA4B,KAAK7M,eAAL,CAAqB6M,IAArB,CAA0Bu9B,KAAtD,GAA8D,EAR/D,EASC,KAAKpqC,eATN;AAWAwM,8BAAM,CAAC+9B,MAAP,IAAiB,CAAC/9B,MAAM,CAAC+M,GAAzB,GAA+B,KAAKwH,OAAL,EAA/B,GAAgD,EAAhD;AACA;;wDACM,I;;;;;;4BAEHvU,MAAM,CAACm+B,SAAP,IAAoB,O;;;;;AACvB,0BAAIn+B,MAAM,CAACo+B,YAAX,EAAyB;AACxB,6BAAKC,SAAL,CAAer+B,MAAM,CAACm+B,SAAtB,EAAiCn+B,MAAM,CAACo+B,YAAxC;AACA;;wDACM,K;;;4BACGp+B,MAAM,IAAIA,MAAM,CAACm+B,SAAP,IAAoB,U;;;;;wDACjC,I;;;;;;;;;AAGT;;;iBAEO,mBAAUtnC,KAAV,EAAyB9H,OAAzB,EAA0C;AACjD,iBAAKL,aAAL,CAAmB2Q,IAAnB,CAAwBtQ,OAAxB,EAAiC8H,KAAjC,EAAwC;AACvCyI,wBAAU,EAAE,oBAD2B;AAEvCC,yBAAW,EAAE,IAF0B;AAGvCC,wBAAU,EAAE,IAH2B;AAIvCC,4BAAc,EAAE;AAJuB,aAAxC;AAMA;;;iBAED,qBACCtM,KADD,EAGwB;AAAA;;AAAA,gBADvBqqC,aACuB,uEADF,IACE;AAAA,gBAAvB/hC,MAAuB,uEAAL,KAAK;;;;AAEvBtI,iBAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAES,MAAP,CAAcwpC,aAAd,CACC,IAAIC,WAAJ,CAAwC,eAAxC,EAAyD;AACxDC,qBAAO,EAAE,IAD+C;AAExDC,oBAAM,EAAE;AACP5tC,oBAAI,EAAE,KAAKA,IADJ;AAEP6tC,6BAAa,EAAEA,aAFR;AAGPC,oBAAI,EAAED,aAAa,GAAI/hC,MAAM,GAAG,MAAH,GAAY,MAAtB,GAAgC,KAH5C;AAIPiiC,yBAAS,EAAE,KAAKnB,aAJT;AAKP17B,6BAAa,EAAE,KAAKrN;AALb;AAFgD,aAAzD,CADD;;AAYA,gBAAI,KAAKpB,aAAL,CAAmBksC,iBAAvB,EAA0C;AACzC;AACA;;AACD,gBAAI,KAAK3B,cAAT,EAAyB;AACxB,kBAAMzhC,YAAY,GAAG,IAAI,wEAAJ,EAArB;AACAA,0BAAY,CAAClE,EAAb,GAAkB,+CAAMywB,IAAN,EAAlB;AACAvsB,0BAAY,CAACsC,UAAb,GAA0B,wBAA1B;AACAtC,0BAAY,CAACwD,SAAb,GAAyB,KAAKpF,GAA9B;;AACA,kBAAI,CAAJ,KAAI,KAAKlH,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEmsC,QAAxB,EAAkC;AACjCrjC,4BAAY,CAACqjC,QAAb,GAAwB,CAAH,KAAG,KAAKnsC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEmsC,QAA5C;AACA;;AACDrjC,0BAAY,CAACvL,IAAb,GAAoB;AACnByL,qBAAK,EAAE,CAACoiC,aADW;AAEnB/hC,sBAAM,EAAEA,MAFW;AAGnB4/B,0BAAU,EAAE,KAAKA,UAHE;AAInBC,4BAAY,EAAE,KAAKA,YAJA;AAKnBkD,8BAAc,EAAE,KAAKpsC,aAAL,CAAmBosC,cALhB;AAMnB5hC,wBAAQ,EAAE,KAAKxK,aAAL,CAAmBwK,QANV;AAOnBwf,qBAAK,EAAE,KAAKhqB,aAAL,CAAmBgqB,KAPP;AAQnBzsB,oBAAI,EAAE,KAAKA,IARQ;AASnB2J,mBAAG,EAAE,KAAKA,GATS;AAUnBkkC,6BAAa,EAAEA,aAVI;AAWnBjB,6BAAa,EAAE,KAAKA,aAXD;AAYnBkC,2BAAW,EAAE,qBAAC9uC,IAAD;AAAA,yBAAU,QAAI,CAAC8uC,WAAL,CAAiB9uC,IAAjB,CAAV;AAAA;AAZM,eAApB;AAcA,mBAAK2yB,SAAL,CAAeoc,QAAf;AACA,kBAAMC,WAAW,GAAG,KAAKrc,SAAL,CAAehlB,IAAf,CACnB,qHADmB,EAEnBpC,YAFmB,CAApB;AAIAyjC,yBAAW,CAAClhC,WAAZ,GAA0B/K,SAA1B,CAAoC,UAAC/C,IAAD,EAAU;;;AAC7C,wBAAI,CAAC8uC,WAAL,CAAiB9uC,IAAjB;;AACA,0CAAI,CAAC6D,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE6M,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEsnB,MAA5B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEn3B,IAAF,CAAO,0BAAP,CAAlC;AACA,eAHD;AAIA,aA/BD,MAgCC,KAAKkrC,WAAL,GAAmB;AAClBtgC,mBAAK,EAAE,CAACoiC,aADU;AAElB/hC,oBAAM,EAAEA,MAFU;AAGlB4/B,wBAAU,EAAE,KAAKA,UAHC;AAIlBC,0BAAY,EAAE,KAAKA,YAJD;AAKlBkD,4BAAc,EAAE,KAAKpsC,aAAL,CAAmBosC,cALjB;AAMlB5hC,sBAAQ,EAAE,KAAKxK,aAAL,CAAmBwK,QANX;AAOlBwf,mBAAK,EAAE,KAAKhqB,aAAL,CAAmBgqB,KAPR;AAQlBzsB,kBAAI,EAAE,KAAKA,IARO;AASlB6tC,2BAAa,EAAEA;AATG,aAAnB;AAWD;;;iBAED,qBAAYrqC,KAAZ,EAAmB;AAClB,gBAAIA,KAAJ,EAAW;AACV,kBAAIA,KAAK,CAACiI,KAAV,EAAiB;AAChB;AACA,qBAAKohC,cAAL,CAAoBrpC,KAAK,CAACqqC,aAA1B;AACA,qBAAKjB,aAAL,CAAmB7sC,IAAnB,CAAwByD,KAAK,CAACqqC,aAA9B;;AAEA,oBACC,KAAKprC,aAAL,CAAmBwsC,mBAAnB,IACA,KAAKjvC,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,CAFD,EAGE;AACD,uBAAKjvC,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,IACC,KAAKrC,aADN;AAEA;;AAED,qBAAKljC,WAAL;AACA,eAdD,MAcO,IAAI,CAAClG,KAAK,CAACsI,MAAX,EAAmB;AACzB;AACA,oBAAMlI,KAAK,GAAG,KAAKgpC,aAAL,CAAmB/zB,SAAnB,CACb,UAACxU,CAAD;AAAA,yBAAOA,CAAC,CAACpC,GAAF,IAASuB,KAAK,CAACqqC,aAAN,CAAoB5rC,GAApC;AAAA,iBADa,CAAd;AAGA,qBAAK4qC,cAAL,CAAoBrpC,KAAK,CAACqqC,aAA1B;AACA,qBAAKjB,aAAL,CAAmBhpC,KAAnB,IAA4BJ,KAAK,CAACqqC,aAAlC;;AAEA,oBACC,KAAKprC,aAAL,CAAmBwsC,mBAAnB,IACA,KAAKjvC,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,CAFD,EAGE;AACD,sBAAMrrC,MAAK,GAAG,KAAK5D,IAAL,CACb,KAAKyC,aAAL,CAAmBwsC,mBADN,EAEZp2B,SAFY,CAEF,UAACxU,CAAD;AAAA,2BAAOA,CAAC,CAACpC,GAAF,IAASuB,KAAK,CAACqqC,aAAN,CAAoB5rC,GAApC;AAAA,mBAFE,CAAd;;AAGA,sBAAI2B,MAAK,IAAI,CAAb,EACC,KAAK5D,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,EAAkDrrC,MAAlD,IACCJ,KAAK,CAACqqC,aADP;AAED;;AAED,qBAAKnkC,WAAL;AACA;;AAED,mBAAKwlC,cAAL,CAAoB,UAApB,EAAgC;AAC/B9iB,mBAAG,EAAE;AAAEnqB,qBAAG,EAAEuB,KAAK,CAACqqC,aAAN,CAAoB5rC,GAA3B;AAAgCjC,sBAAI,EAAEwD,KAAK,CAACqqC,aAAN,CAAoB7tC;AAA1D;AAD0B,eAAhC;AAGA;;AAED,iBAAK+rC,WAAL,GAAmB,IAAnB;AACA;;;iBAED,uBAAc8B,aAAd,EAA6B;AAAA;;AAC5B,4DACC,KAAKhqC,eADN,EAEC,YAAM;;;AACL,kBAAI,QAAI,CAACpB,aAAL,CAAmB0sC,oBAAvB,EAA6C;AAC5C,wBAAI,CAACvC,aAAL,GAAqB,QAAI,CAACA,aAAL,CAAmBrjC,MAAnB,CACpB,UAAClF,CAAD;AAAA,yBAAOA,CAAC,CAACpC,GAAF,IAAS4rC,aAAa,CAAC5rC,GAA9B;AAAA,iBADoB,CAArB;;AAGA,wBAAI,CAACuqC,cAAL,CAAoBzsC,IAApB,CAAyB8tC,aAAa,CAAC5rC,GAAvC;;AACA,wBAAI,CAACjC,IAAL,CAAUwsC,cAAV,GAA2B,QAAI,CAACA,cAAhC;AACA,wBAAI,CAACT,WAAL,GAAmB,IAAnB;;AACA,wBAAI,CAACriC,WAAL,CAAiB,IAAjB;;AACA,wBAAI,CAACwlC,cAAL,CAAoB,YAApB,EAAkC;AACjC9iB,qBAAG,EAAE;AAAEnqB,uBAAG,EAAE4rC,aAAa,CAAC5rC,GAArB;AAA0BjC,wBAAI,EAAE6tC,aAAa,CAAC7tC;AAA9C;AAD4B,iBAAlC;AAGA,eAXD,MAWO;AACN,oBAAMiN,QAAQ,GACb,eAAI,CAACxK,aAAL,CAAmBwK,QAAnB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEmiC,iBAA7B,KACA,QAAI,CAAC3sC,aAAL,CAAmBwK,QAFpB;AAIA,oBAAM0f,MAAM,GAAG,QAAI,CAAC+e,UAAL,GACZ,QAAI,CAAC1sC,mBAAL,CAAyBqwC,WAAzB,CACA,QAAI,CAAC1D,YADL,EAEAkC,aAAa,CAAC5rC,GAFd,CADY,GAKZ,QAAI,CAACjD,mBAAL,CAAyB+E,kBAAzB,CACAkJ,QADA,EAEA4gC,aAAa,CAAC5rC,GAFd,CALH;AAUA,wBAAI,CAACa,GAAL,GAAW6pB,MAAM,CAAC5pB,SAAP,CAAiB,YAAM;AACjC,0BAAI,CAAC6pC,aAAL,GAAqB,QAAI,CAACA,aAAL,CAAmBrjC,MAAnB,CACpB,UAAClF,CAAD;AAAA,2BAAOA,CAAC,CAACpC,GAAF,IAAS4rC,aAAa,CAAC5rC,GAA9B;AAAA,mBADoB,CAArB;AAGA,0BAAI,CAAC8pC,WAAL,GAAmB,IAAnB;;AACA,0BAAI,CAACriC,WAAL,CAAiB,IAAjB;;AACA,0BAAI,CAACwlC,cAAL,CAAoB,YAApB,EAAkC;AACjC9iB,uBAAG,EAAE;AAAEnqB,yBAAG,EAAE4rC,aAAa,CAAC5rC,GAArB;AAA0BjC,0BAAI,EAAE6tC,aAAa,CAAC7tC;AAA9C;AAD4B,mBAAlC;AAGA,iBATU,CAAX;AAUA;AACD,aAxCF,EAyCC,IAzCD,EA0CC,kCA1CD;AA4CA;;;iBAED,uBAAwC;AAAA,gBAA5BsvC,SAA4B,uEAAP,KAAO;AACvC,iBAAKC,UAAL,CAAgBD,SAAhB;AACA,iBAAKL,mBAAL;AACA,iBAAKl9B,gBAAL;;AACA,gBAAI,KAAKzJ,QAAL,IAAiB,CAAC,KAAKskC,aAAL,CAAmBzoC,MAAzC,EAAiD;AAChD,mBAAKzD,KAAL,GAAa,IAAb;AACA,mBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;AACA;;AAED,gBAAI,CAAC,KAAK+B,aAAL,CAAmB+sC,aAAxB,EAAuC;AACtC,kBAAI,KAAK9C,cAAT,EAAyB;AACxB,qBAAKhsC,KAAL,GAAa;AACZkM,uBAAK,EAAE,KAAK6/B;AADA,iBAAb;AAGA,eAJD,MAIO;AACN,qBAAK/rC,KAAL,GAAa;AAAE+uC,sBAAI,EAAE,KAAK7C,aAAL,CAAmB/nC,GAAnB,CAAuB,UAACR,CAAD;AAAA,2BAAOA,CAAC,CAACpC,GAAT;AAAA,mBAAvB;AAAR,iBAAb;AACA;;AACD,mBAAK6G,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;AACD;;;iBAED,uBAAc;AACb,iBAAKyrC,YAAL,GAAoB,KAApB;AACA,iBAAKoD,UAAL,CAAgB,IAAhB;AACA;;;iBACD,iBAAQ;AACP,iBAAKpD,YAAL,GAAoB,KAApB;AACA,iBAAKC,UAAL,CAAgBzrC,OAAhB,CAAwB,UAAC0D,CAAD;AAAA,qBAAQA,CAAC,CAAC3D,KAAF,GAAU,EAAlB;AAAA,aAAxB;AACA,iBAAK6uC,UAAL,CAAgB,IAAhB;AACA;;;iBAED,4BAAmB/rC,KAAnB,EAA0B;AAAA;;;;AACzB,iBAAK2oC,YAAL,GAAoB,CAAC,KAAKA,YAA1B;;AACA,gBAAI,CAAJ,KAAI,KAAK1pC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEitC,gBAAxB,EAA0C;AACzC,kBAAMC,OAAO,GAAG,EAAhB;AACA,kBAAMC,QAAQ,GAAG,CAAH,KAAG,+CAAMn/B,gBAAN,CAChB,KAAKo/B,mBAAL,CAAyBtpB,MAAzB,CAAgC/V,UADhB,EAEhB;AACClK,oBAAI,EAAE;AADP,eAFgB,OAKhB,IALgB,IAKhB,aALgB,GAKhB,MALgB,GAKhB,GAAEzB,GAAF,CAAM,UAACR,CAAD;AAAA,uBAAOA,CAAC,CAACuM,SAAF,CAAYD,GAAnB;AAAA,eAAN,CALD;AAOA,6DAAMF,gBAAN,CAAuB,KAAKo/B,mBAAL,CAAyBtpB,MAAzB,CAAgC/V,UAAvD,EAAmE;AAClE,mCAAmB;AAD+C,eAAnE,EAGEjH,MAHF,CAGS,UAACumC,IAAD;AAAA,uBAAUA,IAAI,CAACl/B,SAAL,CAAetK,IAAf,IAAuB,QAAjC;AAAA,eAHT,EAIE3F,OAJF,CAIU,UAACmvC,IAAD,EAAU;;;AAClB,oBAAMn/B,GAAG,GAAGm/B,IAAI,CAACl/B,SAAL,CAAeD,GAA3B;;AACA,oBAAInN,KAAK,CAACxD,IAAN,CAAW2Q,GAAX,CAAJ,EAAqB;AACpB,sBAAMo/B,SAAS,GAAG,OAAAD,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEC,SAA3B,IACf,+CAAMp/B,QAAN,CAAe,CAAD,KAACi/B,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEC,SAA1C,EAAqD;AACrDt/B,uBAAG,EAAEA,GADgD;AAErDu/B,wBAAI,EAAE,OAAAJ,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEG,MAA3B,KAAqC,EAFU;AAGrDC,4BAAQ,EAAE,OAAAN,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEI,QAA3B,KAAuC;AAHI,mBAArD,CADe,GAMf,IANH;;AAQA,sBAAIR,QAAQ,CAAC3pC,QAAT,CAAkB0K,GAAlB,CAAJ,EAA4B;AAC3B,wBAAMsZ,IAAI,GAAG,IAAIniB,IAAJ,CAAStE,KAAK,CAACxD,IAAN,CAAW2Q,GAAX,EAAgBmR,QAAhB,EAAT,CAAb;AACAmI,wBAAI,CAAComB,OAAL,CAAapmB,IAAI,CAAC3J,OAAL,KAAiB,CAA9B;;AAEA,wBAAI,QAAI,CAACorB,UAAT,EAAqB;AACpB,0BAAI,CAAJ,KAAIoE,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEM,UAA/B,EAA2C;AAC1CrmB,4BAAI,CAACsmB,WAAL,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B;AACA,uBAFD,MAEO,IAAI,CAAJ,KAAIT,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEQ,QAA/B,EAAyC;AAC/CvmB,4BAAI,CAACsmB,WAAL,CAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,GAA7B;AACA;AACD,qBAND,MAMO;AACN,0BAAI5/B,GAAG,CAAC8/B,QAAJ,CAAa,KAAb,CAAJ,EAAyBxmB,IAAI,CAACsmB,WAAL,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B,EAAzB,KACK,IAAI5/B,GAAG,CAAC8/B,QAAJ,CAAa,KAAb,CAAJ,EAAyBxmB,IAAI,CAACsmB,WAAL,CAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,GAA7B;AAC9B;;AAEDZ,2BAAO,CAACh/B,GAAD,CAAP,GAAe;AACdy/B,8BAAQ,EAAE,OAAAN,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEI,QAA3B,KAAuC,EADnC;AAEd1vC,2BAAK,EAAE,IAAIoH,IAAJ,CAASmiB,IAAT,EAAeymB,WAAf,EAFO;AAGdT,+BAAS,EAAEF;AAHG,qBAAf;AAKA,mBApBD,MAoBO;AACNJ,2BAAO,CAACh/B,GAAD,CAAP,GAAe;AACdy/B,8BAAQ,EAAE,OAAAN,IAAI,CAACl/B,SAAL,CAAeo/B,UAAf,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEI,QAA3B,KAAuC,EADnC;AAEd1vC,2BAAK,EAAE8C,KAAK,CAACxD,IAAN,CAAW2Q,GAAX,CAFO;AAGds/B,+BAAS,EAAEF;AAHG,qBAAf;AAKA;AACD;AACD,eA3CF;AA4CA,mBAAKtE,SAAL,GAAiB/kC,MAAM,CAAC8G,IAAP,CAAYmiC,OAAZ,EACf9qC,GADe,CACX,UAAC8L,GAAD,EAAS;AACb,oBAAMggC,OAAO,GAAGhB,OAAO,CAACh/B,GAAD,CAAP,CAAas/B,SAAb,GACbN,OAAO,CAACh/B,GAAD,CAAP,CAAas/B,SADA,kBAELt/B,GAFK,SAECg/B,OAAO,CAACh/B,GAAD,CAAP,CAAay/B,QAFd,CAAhB;AAGA,iCAAUO,OAAV,cAAqBhB,OAAO,CAACh/B,GAAD,CAAP,CAAajQ,KAAlC;AACA,eANe,EAOfoB,IAPe,CAOV,GAPU,CAAjB;;AAQA,kBAAI,KAAK8uC,SAAT,EAAoB;AACnB,qBAAKA,SAAL,CAAev7B,KAAf;AACA,eAFD,MAEO;AACN,qBAAK1Q,QAAL;AACA;;AAED,kBAAI,CAAJ,KAAI,KAAKlC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEouC,YAAxB,EAAsC;AACrC,qBAAKC,SAAL,CAAe,KAAKruC,aAAL,CAAmBouC,YAAlC,EAAgD;AAAElB,yBAAO,EAAPA;AAAF,iBAAhD;AACA;AACD,aAtED,MAsEO;AACN,kBAAI3vC,IAAI,GAAG,wDAAW,KAAK4sC,aAAhB,CAAX;AACA,mBAAKd,WAAL,CAAiBnrC,OAAjB,CAAyB,UAAC4C,IAAD,EAAU;AAClC,oBAAIC,KAAK,CAACxD,IAAN,CAAWuD,IAAI,CAACoN,GAAhB,CAAJ,EAA0B;AACzB3Q,sBAAI,GAAGA,IAAI,CAACuJ,MAAL,CAAY,UAAClF,CAAD;AAAA,2BAClBA,CAAC,CAACrE,IAAF,CAAOuD,IAAI,CAACoN,GAAZ,EAAiB1K,QAAjB,CAA0BzC,KAAK,CAACxD,IAAN,CAAWuD,IAAI,CAACoN,GAAhB,CAA1B,CADkB;AAAA,mBAAZ,CAAP;AAGA;AACD,eAND;AAOA,mBAAKs7B,aAAL,GAAqBjsC,IAArB;AACA,mBAAKmsC,YAAL,GAAoB,CAAC,KAAKA,YAA1B;AACA;AACD;;;iBAED,kBAAS/G,IAAT,EAAoB;;;AACnB,iBAAKzS,SAAL,CAAehlB,IAAf,CAAoB,yDAApB,EAAqC;AACpCojC,sBAAQ,EAAE;AACTtrC,mBAAG,EAAE,GADI;AAETurC,qBAAK,EAAE;AAFE,eAD0B;AAKpChxC,kBAAI,EAAE;AACL2J,mBAAG,EAAE,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KADpD;AAELjJ,oBAAI,EAAE,MAAF,OAAE,CAAF,EAAE,EACFolC,IADE,CAFD;AAKL6L,sBAAM,EAAE,CAAF,iBAAE,KAAKptC,eAAP,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE6M,IAAxB,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAE/I,IAA5B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAE1F,GALrC;AAMLwkB,sBAAM,YAAK,KAAK5iB,eAAL,CAAqB6M,IAArB,CAA0B6V,MAA1B,CAAiCuP,IAAjC,CACTD,KADS,CACH,GADG,EAET/G,KAFS,CAEH,CAFG,EAEA,CAAC,CAFD,EAGThtB,IAHS,CAGJ,GAHI,CAAL;AAND,eAL8B;AAgBpCtB,oBAAM,EAAE,OAhB4B;AAiBpCoN,mBAAK,EAAE,OAjB6B;AAkBpCC,wBAAU,EAAE;AAlBwB,aAArC;AAoBA;;;iBAEO,sBAAuC;AAAA,gBAA5ByhC,SAA4B,uEAAP,KAAO;;;;AAC9C,gBAAIA,SAAS,WAAI,KAAK7sC,aAAT,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEitC,gBAAxB,CAAb,EAAuD;AACtD,kBAAMC,OAAO,GAAG,EAAhB;AACA,mBAAKvD,UAAL,CACE7iC,MADF,CACS,UAAC2nC,GAAD;AAAA,uBAAS,CAAC,CAACA,GAAG,CAACxwC,KAAf;AAAA,eADT,EAEEC,OAFF,CAEU,UAACuwC,GAAD,EAAS;AACjBvB,uBAAO,CAAC5vC,IAAR,gBAAqBmxC,GAAG,CAACvgC,GAAzB,qBAAuCugC,GAAG,CAACxwC,KAA3C;AACA,eAJF;AAKA,mBAAK+qC,SAAL,GAAiBkE,OAAO,CAAC7tC,IAAR,CAAa,GAAb,CAAjB;AACA,mBAAK8uC,SAAL,CAAev7B,KAAf;AACA;;AAED,gBAAIrV,IAAI,GAAG,wDAAW,KAAK4sC,aAAhB,CAAX;AACA,gBAAMuE,YAAY,GAAG,KAAK/E,UAAL,CAAgB7iC,MAAhB,CAAuB,UAAClF,CAAD;AAAA,qBAAOA,CAAC,CAAC3D,KAAT;AAAA,aAAvB,CAArB;AACAywC,wBAAY,CAACxwC,OAAb,CAAqB,UAAC4C,IAAD,EAAU;AAC9BvD,kBAAI,GAAGA,IAAI,CAACuJ,MAAL,CAAY,UAAClF,CAAD;AAAA,uBAClBA,CAAC,CAACrE,IAAF,WAAUuD,IAAI,CAACoN,GAAf,gBAA+B1K,QAA/B,CAAwC1C,IAAI,CAAC7C,KAA7C,CADkB;AAAA,eAAZ,CAAP;AAGA,aAJD;AAKA,iBAAKurC,aAAL,GAAqBjsC,IAArB;AACA;;;iBAEO,mBAAU;AAAA;;;;AACjB,gBAAI,CAAJ,KAAI,KAAKyC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEitC,gBAAxB,EAA0C;AACzC,mBAAK/qC,QAAL;AACA,aAFD,MAEO;AACN,kBACC,KAAKlC,aAAL,CAAmBwsC,mBAAnB,IACA,KAAKjvC,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,CADA,IAEA,KAAKjvC,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,EAAkD9qC,MAHnD,EAIE;AACD,qBAAKyoC,aAAL,GAAqB,KAAK5sC,IAAL,CACpB,KAAKyC,aAAL,CAAmBwsC,mBADC,EAEnBpqC,GAFmB,CAEf,UAACR,CAAD;AAAA,yBAAO,QAAI,CAACwoC,cAAL,CAAoBxoC,CAApB,CAAP;AAAA,iBAFe,CAArB;AAGA,qBAAKqF,WAAL;AACA;AACA;;AAED,kBAAIlF,KAAK,KAAT;AACA,kBAAI4sC,OAAO,GAAG,EAAd;AACA,kBAAIC,gBAAgB,KAApB;AACA,kBAAMC,mBAAmB,GAAG,KAAK7uC,aAAL,CAAmBwK,QAA/C;AACA,kBAAMA,QAAQ,GACb,YAAKxK,aAAL,CAAmBwK,QAAnB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEmiC,iBAA7B,KACA,KAAK3sC,aAAL,CAAmBwK,QAFpB;;AAIA,kBAAI,kBAAKvM,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAE+uC,IAAZ,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEtrC,MAAlB,KAA4B,CAAC,KAAK1B,aAAL,CAAmB+sC,aAApD,EAAmE;AAClE,oBAAG,KAAKxvC,IAAL,CAAUgG,YAAV,IAA0B,KAAKhG,IAAL,CAAUgG,YAAV,CAAuBC,QAAvB,CAAgC,aAAhC,CAA7B,EAA6E;AAC5EzB,uBAAK,mCAA4B,WAAKxE,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEuxC,gBAAvC,mBACJ,YAAK9uC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEqK,IAApB,IAA2B,CAAD,KAAC,KAAKrK,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEqK,IAA/C,GAAsD,SADlD,kBAAL;AAGA,iBAJD,MAIK;AACJtI,uBAAK,qBAAc,iBAAK9D,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAE+uC,IAAZ,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAE3tC,IAAF,EAA9B,mBACJ,YAAKW,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEqK,IAApB,IAA2B,CAAD,KAAC,KAAKrK,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEqK,IAA/C,GAAsD,SADlD,iBAAL;AAGA;AACD;;AACD,kBAAI,KAAKrK,aAAL,CAAmB+B,KAAvB,EAA8B;AAC7BA,qBAAK,IAAI,+CAAMC,WAAN,CAAkB,KAAKhC,aAAL,CAAmB+B,KAArC,EAA4C;AACpDxE,sBAAI,EAAE,KAAKA;AADyC,iBAA5C,CAAT;AAGA;;AACD,kBAAI,CAAC,CAACwE,KAAN,EAAa;AACZ,oBAAI,KAAKknC,UAAT,EACC0F,OAAO,CAACrxC,IAAR,CAAa,KAAKf,mBAAL,CAAyB0oC,IAAzB,CAA8B,KAAKiE,YAAnC,EAAiDnnC,KAAjD,CAAb,EADD,KAGC4sC,OAAO,CAACrxC,IAAR,CACC,KAAKf,mBAAL,CAAyByW,sBAAzB,CAAgDxI,QAAhD,EAA0DzI,KAA1D,CADD;AAGD,qBAAKsR,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA;;AAED,kBAAI,KAAKmD,aAAL,CAAmB4uC,gBAAvB,EAAyC;AACxCA,gCAAgB,IAAI,+CAAM5sC,WAAN,CACnB,KAAKhC,aAAL,CAAmB4uC,gBADA,EAEnB;AACCrxC,sBAAI,EAAE,KAAKA;AADZ,iBAFmB,CAApB;AAMAoxC,uBAAO,CAACrxC,IAAR,CACC,KAAKf,mBAAL,CAAyByW,sBAAzB,CACC67B,mBADD,EAECD,gBAFD,CADD;AAMA;;AAED,kFAAYD,OAAZ,EACE7mC,IADF,CACO,sDAAS;AAAA,uBAAO,QAAI,CAACuL,YAAL,CAAkBxW,OAAlB,GAA4B,KAAnC;AAAA,eAAT,CADP,EAEEyD,SAFF,CAEY,UAACqM,GAAD,EAAc;;;AACxB,oBAAMoiC,oBAAoB,GACzB,OAAApiC,GAAG,CAAC,CAAD,CAAH,MAAM,IAAN,IAAM,aAAN,GAAM,MAAN,GAAM,GAAEvK,GAAF,CAAM,UAACkP,CAAD;AAAA,yBAAO,QAAI,CAAC84B,cAAL,CAAoB94B,CAApB,CAAP;AAAA,iBAAN,CAAN,KAA8C,EAD/C;AAEA,oBAAM09B,iBAAiB,GAAGriC,GAAG,CAAC,CAAD,CAAH,CAAOvK,GAAP,CAAW,UAACR,CAAD;AAAA,yBAAO,QAAI,CAACwoC,cAAL,CAAoBxoC,CAApB,CAAP;AAAA,iBAAX,CAA1B;AAEA,wBAAI,CAACuoC,aAAL,GAAqB,+CAAE8E,MAAF,8BAChBD,iBADgB,sBACMD,oBADN,IAEpB,KAFoB,CAArB;;AAIA,wBAAI,CAACtC,cAAL,CAAoB,kBAApB,EAAwC,EAAxC;;AACA,wBAAI,CAACxlC,WAAL;AACA,eAbF;AAcA;AACD;;;iBAEO,wBAAenG,IAAf,EAAqB;AAAA;;AAC5B,iBAAKuoC,WAAL,CAAiBnrC,OAAjB,CAAyB,UAACuwC,GAAD,EAAS;AACjC,kBAAIA,GAAG,CAAC5hB,QAAR,EAAkB;;AAClB,kBAAI4hB,GAAG,CAACS,SAAR,EAAmB;AAAA;;AAClB,oBAAMjxC,KAAK,GAAG,+CAAMmQ,QAAN,CAAeqgC,GAAG,CAACS,SAAnB;AACb3xC,sBAAI,EAAE,QAAI,CAACA;AADE,0DAEZkxC,GAAG,CAACvgC,GAFQ,EAEFpN,IAAI,CAACvD,IAAL,CAAUkxC,GAAG,CAACvgC,GAAd,CAFE,kDAGP,QAAI,CAAC1R,gBAAL,CAAsBgK,WAHf,iDAIR1F,IAJQ,0BAAd;AAMAA,oBAAI,CAACvD,IAAL,WAAakxC,GAAG,CAACvgC,GAAjB,kBAAmCjQ,KAAnC;AACA,eARD,MAQO;AACN6C,oBAAI,CAACvD,IAAL,WAAakxC,GAAG,CAACvgC,GAAjB,kBAAmCpN,IAAI,CAACvD,IAAL,CAAUkxC,GAAG,CAACvgC,GAAd,CAAnC;AACA;;AAED,kBAAIugC,GAAG,CAACU,YAAJ,IAAoBruC,IAAI,CAACvD,IAAL,WAAakxC,GAAG,CAACvgC,GAAjB,eAAxB,EAA0D;AACzDpN,oBAAI,CAACvD,IAAL,WAAakxC,GAAG,CAACvgC,GAAjB,kBAAmC,QAAI,CAAC1R,gBAAL,CAAsBqE,OAAtB,wBAClBC,IAAI,CAACvD,IAAL,WAAakxC,GAAG,CAACvgC,GAAjB,eADkB,EAAnC;AAGA;AACD,aAnBD;AAoBA,mBAAOpN,IAAP;AACA;;;iBAEO,+BAAsB;AAAA;;AAC7B,gBAAI,KAAKd,aAAL,IAAsB,KAAKA,aAAL,CAAmBwsC,mBAA7C,EAAkE;AACjE,kBAAI,KAAKprC,eAAL,CAAqB6M,IAArB,CAA0Bqc,MAA9B,EAAsC;AACrC,oBAAMC,KAAK,GAAG,KAAKnpB,eAAL,CAAqB6M,IAArB,CAA0Buc,YAA1B,CAAuC;AACpDxb,qBAAG,EAAE,IAD+C;AAEpDyb,kCAAgB,EAAE;AAFkC,iBAAvC,CAAd;AAIA,oBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAChDrc,qBAAG,EAAE,KAAKlO,aAAL,CAAmBwsC;AADwB,iBAA9B,CAAnB;AAGAz+B,0BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzBA,mBAAC,CAAClB,QAAF,CAAW,QAAI,CAAC67B,aAAhB;AACA,iBAFD;AAGA,eAXD,MAWO;AACN,oBAAM37B,WAAW,GAAG,+CAAMR,gBAAN,CACnB,KAAK5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADP,EAEnB;AACClK,sBAAI,EAAE,MADP;AAEC,uCAAqB;AAFtB,iBAFmB,CAApB;AAOA2K,2BAAW,CAACtQ,OAAZ,CAAoB,UAACuQ,aAAD,EAAmB;AACtCA,+BAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC5C,wBAAM2b,KAAK,GAAG3b,OAAO,CAAC4b,YAAR,CAAqB;AAClCxb,yBAAG,EAAE,IAD6B;AAElCyb,sCAAgB,EAAE;AAFgB,qBAArB,CAAd;AAIA,wBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAChDrc,yBAAG,EAAE,QAAI,CAAClO,aAAL,CAAmBwsC;AADwB,qBAA9B,CAAnB;AAGAz+B,8BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzBA,uBAAC,CAAClB,QAAF,CAAW,QAAI,CAAC67B,aAAhB;AACA,qBAFD;AAGA,mBAXD;AAYA,iBAbD;;AAeA,oBAAMp8B,YAAU,GAAG,+CAAMC,gBAAN,CAClB,KAAK5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADR,EAElB;AACCG,qBAAG,EAAE,KAAKlO,aAAL,CAAmBwsC;AADzB,iBAFkB,CAAnB;;AAMAz+B,4BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzBA,mBAAC,CAAClB,QAAF,CAAW,QAAI,CAAC67B,aAAhB;AACA,iBAFD;AAGA;AACD;AACD;;;iBACO,4BAAmB;AAAA;;AAC1B,gBAAI,KAAKnqC,aAAL,IAAsB,KAAKA,aAAL,CAAmBuP,WAA7C,EACC,KAAKvP,aAAL,CAAmBuP,WAAnB,CAA+BrR,OAA/B,CAAuC,UAAC4C,IAAD,EAAU;AAChD,kBAAIA,IAAI,CAAC8qC,MAAT,EAAiB;AAChB,wBAAI,CAACyC,SAAL,CAAevtC,IAAI,CAAC8qC,MAApB,EAA4B;AAC3BzhC,uBAAK,EAAE,QAAI,CAACggC,aADe;AAE3B5sC,sBAAI,EAAE,QAAI,CAACA,IAFgB;AAG3B+iB,0BAAQ,EAAE,QAAI,CAAClf;AAHY,iBAA5B;AAKA,eAND,MAMO,IAAI,QAAI,CAACA,eAAL,CAAqB6M,IAArB,CAA0Bqc,MAA9B,EAAsC;AAC5C,oBAAMC,KAAK,GAAG,QAAI,CAACnpB,eAAL,CAAqB6M,IAArB,CAA0Buc,YAA1B,CAAuC;AACpDxb,qBAAG,EAAE,IAD+C;AAEpDyb,kCAAgB,EAAE;AAFkC,iBAAvC,CAAd;;AAIA,oBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,qBAAG,EAAEpN,IAAI,CAACoN;AAAZ,iBAA9B,CAAnB;AACAH,0BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzB,sBAAI1O,IAAI,CAACsuC,eAAT,EAA0B;AACzB5/B,qBAAC,CAAC4/B,eAAF;AACA,mBAFD,MAEO;AACN,wBAAMnxC,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AACxCkM,2BAAK,EAAE,QAAI,CAACggC,aAD4B;AAExC5sC,0BAAI,EAAE,QAAI,CAACA,IAF6B;AAGxC+iB,8BAAQ,EAAE,QAAI,CAAClf;AAHyB,qBAA3B,CAAd;AAKAoO,qBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACA;AACD,iBAXD;AAYA,eAlBM,MAkBA;AACN,oBAAMuQ,WAAW,GAAG,+CAAMR,gBAAN,CACnB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADP,EAEnB;AACClK,sBAAI,EAAE,MADP;AAEC,uCAAqB;AAFtB,iBAFmB,CAApB;AAOA2K,2BAAW,CAACtQ,OAAZ,CAAoB,UAACuQ,aAAD,EAAmB;AACtCA,+BAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC5C,wBAAM2b,KAAK,GAAG3b,OAAO,CAAC4b,YAAR,CAAqB;AAClCxb,yBAAG,EAAE,IAD6B;AAElCyb,sCAAgB,EAAE;AAFgB,qBAArB,CAAd;AAIA,wBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAChDrc,yBAAG,EAAEpN,IAAI,CAACoN;AADsC,qBAA9B,CAAnB;AAGAH,8BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzB,0BAAI1O,IAAI,CAACsuC,eAAT,EAA0B;AACzB5/B,yBAAC,CAAC4/B,eAAF;AACA,uBAFD,MAEO;AACN,4BAAMnxC,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AACxCkM,+BAAK,EAAE,QAAI,CAACggC,aAD4B;AAExC5sC,8BAAI,EAAE,QAAI,CAACA,IAF6B;AAGxC+iB,kCAAQ,EAAE,QAAI,CAAClf;AAHyB,yBAA3B,CAAd;AAKAoO,yBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACA;AACD,qBAXD;AAYA,mBApBD;AAqBA,iBAtBD;;AAwBA,oBAAM8P,YAAU,GAAG,+CAAMC,gBAAN,CAClB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADR,EAElB;AACCG,qBAAG,EAAEpN,IAAI,CAACoN;AADX,iBAFkB,CAAnB;;AAMAH,4BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzB,sBAAI1O,IAAI,CAACsuC,eAAT,EAA0B;AACzB5/B,qBAAC,CAAC4/B,eAAF;AACA,mBAFD,MAEO;AACN,wBAAMnxC,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AACxCkM,2BAAK,EAAE,QAAI,CAACggC,aAD4B;AAExC5sC,0BAAI,EAAE,QAAI,CAACA,IAF6B;AAGxC+iB,8BAAQ,EAAE,QAAI,CAAClf;AAHyB,qBAA3B,CAAd;AAKAoO,qBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACA;AACD,iBAXD;AAYA;AACD,aA5ED;AA6ED;;;iBAED,oBAAuB;AAAA;;AAAA,gBAAd8C,KAAc,uEAAN,IAAM;;;;AACtB,iBAAK/D,KAAL,GAAa,YAAKgD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE4e,QAApB,KAAgC,EAA7C;AACA,gBAAM3hB,IAAI,GAAG,CAAA8D,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEsuC,KAAP,KAAgB,CAA7B;AACA,gBAAIttC,KAAK,GAAG,KAAKknC,UAAL,GACT,EADS,gCAEa,KAAKjsC,KAFlB,mBAEgCC,IAFhC,MAAZ;AAGA,gBAAI,KAAK+C,aAAL,CAAmB+B,KAAvB,EACCA,KAAK,IAAI,+CAAMC,WAAN,CAAkB,KAAKhC,aAAL,CAAmB+B,KAArC,EAA4C;AACpDxE,kBAAI,EAAE,KAAKA,IADyC;AAEpDP,mBAAK,EAAE,KAAKA,KAFwC;AAGpDC,kBAAI,EAAEA;AAH8C,aAA5C,CAAT;AAKD,gBAAI,KAAK+rC,SAAT,EAAoBjnC,KAAK,eAAQ,KAAKinC,SAAb,CAAL;AAEpB,iBAAK31B,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,gBAAM2N,QAAQ,GACb,YAAKxK,aAAL,CAAmBwK,QAAnB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEmiC,iBAA7B,KACA,KAAK3sC,aAAL,CAAmBwK,QAFpB;AAIA,gBAAM0f,MAAM,GAAG,KAAK+e,UAAL,GACZ,KAAK1sC,mBAAL,CAAyB+yC,UAAzB,CAAoC,KAAKpG,YAAzC,EAAuDnnC,KAAvD,CADY,GAEZ,KAAKxF,mBAAL,CAAyB2F,QAAzB,CAAkCsI,QAAlC,EAA4CzI,KAA5C,CAFH;AAIA,iBAAK1B,GAAL,GAAW6pB,MAAM,CAAC5pB,SAAP,CACV,UAACgL,MAAD,EAAY;AACX,sBAAI,CAACpO,YAAL,GAAoBoO,MAAM,CAACpO,YAA3B;AACA,sBAAI,CAACitC,aAAL,GAAqB7+B,MAAM,CAAC/N,IAAP,CAAY6E,GAAZ,CAAgB,UAACR,CAAD;AAAA,uBAAO,QAAI,CAACwoC,cAAL,CAAoBxoC,CAApB,CAAP;AAAA,eAAhB,CAArB;;AACA,sBAAI,CAACqF,WAAL;;AACA,sBAAI,CAACoM,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,aANS,EAOV,UAAC+D,KAAD,EAAW;AACV,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,aATS,CAAX;AAWA;;;iBAEO,wBAAe0yC,SAAf,EAA0BC,OAA1B,EAAmC;;;AAC1C,gBAAMjyC,IAAI,GAAG,MAAH,OAAG,CAAH;AACTkyC,0BAAY,EAAE,KAAKruC,eAAL,CAAqB+M,SAArB,CAA+BD,GADpC;AAETo9B,uBAAS,EAAE,CAAF,KAAE,KAAKnB,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE/nC,GAAF,CAAM,UAACstC,EAAD;AAAA,uBAAS;AAC3ClwC,qBAAG,EAAEkwC,EAAE,SAAF,IAAAA,EAAE,WAAF,GAAE,MAAF,GAAAA,EAAE,CAAElwC,GADkC;AAE3CjC,sBAAI,EAAEmyC,EAAE,SAAF,IAAAA,EAAE,WAAF,GAAE,MAAF,GAAAA,EAAE,CAAEnyC;AAFiC,iBAAT;AAAA,eAAN,CAFpB;AAMTyC,2BAAa,EAAE,KAAKA,aANX;AAOTzC,kBAAI,EAAE,KAAKA,IAPF;AAQTU,mBAAK,EAAE,KAAKA;AARH,aAAG,EASTuxC,OATS,CAAb;AAWA,gBAAMzuC,KAAK,GAAG,IAAIkqC,WAAJ,CAAqBsE,SAArB,EAAgC;AAC7CrE,qBAAO,EAAE,IADoC;AAE7CC,oBAAM,EAAE5tC;AAFqC,aAAhC,CAAd;AAIA,iBAAKi6B,EAAL,CAAQ35B,aAAR,CAAsBmtC,aAAtB,CAAoCjqC,KAApC;AACA;;;iBAEO,yBAAgB2F,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AACA,aAFS,CAAV;AAGA;;;iBACO,mBAAU3E,KAAV,EAAyB8Y,MAAzB,EAAiC;;;AACxC,2DAAMzM,QAAN,CAAerM,KAAf,EAAsB,MAAF,OAAE,CAAF;AACnBwe,mBAAK,EAAE,8CADY;AAEnBD,sBAAQ,EAAE,KAAKlf,eAFI;AAGnBU,wBAAU,EAAE,CAAF,WAAE,KAAKV,eAAP,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE6M,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE1Q,IAHrB;AAInB6iB,uBAAS,EAAE,KAAK5jB,gBAJG;AAKnBe,kBAAI,EAAE,KAAKA,IALQ;AAMnBU,mBAAK,EAAE,KAAKA,KANO;AAOnBkQ,uBAAS,EAAE,KAAK/M,eAAL,CAAqB+M;AAPb,aAAE,EAQlB0M,MARkB,CAAtB;AAUA;;;iBACD,uBAAc;AACb,iBAAKzd,IAAL,CAAUc,OAAV,CAAkB,UAACb,CAAD;AAAA,qBAAOA,CAAC,CAACc,WAAF,EAAP;AAAA,aAAlB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACA;;;eAED,eAAmB;AAClB,mBAAO,CAAC,CAAC,KAAKwM,OAAL,CAAajI,IAAb,CAAkB,UAACC,CAAD;AAAA,qBAAOA,CAAC,IAAI,MAAZ;AAAA,aAAlB,CAAT;AACA;;;eACD,eAAkB;AACjB,mBAAO,CAAC,KAAKgE,QAAN,IAAkB,CAAC,CAAC,KAAKgE,OAAL,CAAajI,IAAb,CAAkB,UAACC,CAAD;AAAA,qBAAOA,CAAC,IAAI,KAAZ;AAAA,aAAlB,CAA3B;AACA;;;eACD,eAAmB;AAClB,mBAAO,CAAC,KAAKgE,QAAN,IAAkB,CAAC,CAAC,KAAKgE,OAAL,CAAajI,IAAb,CAAkB,UAACC,CAAD;AAAA,qBAAOA,CAAC,IAAI,MAAZ;AAAA,aAAlB,CAA3B;AACA;;;eACD,eAAqB;AACpB,mBAAO,CAAC,KAAKgE,QAAN,IAAkB,CAAC,CAAC,KAAKgE,OAAL,CAAajI,IAAb,CAAkB,UAACC,CAAD;AAAA,qBAAOA,CAAC,IAAI,QAAZ;AAAA,aAAlB,CAA3B;AACA;;;;;;;;;;;;;;;;;;;;;ACr7BF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;UAsBa+tC,kB;AAsBZ,oCACSnzC,gBADT,EAESozC,iBAFT,EAE6C;AAAA;;AAAA;;AADpC,eAAApzC,gBAAA,GAAAA,gBAAA;AACA,eAAAozC,iBAAA,GAAAA,iBAAA;AApBA,eAAA3xC,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAYF,eAAAjJ,IAAA,GAAuB,EAAvB;AASP,eAAKmJ,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,oBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,WAFU,CAAX;AAGA;;;;eAZD,aAAQrJ,CAAR,EAAyB;AACxB,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AACA;;;iBAYD,qBAAYsJ,OAAZ,EAAoC;+FAAA,CACnC;;;AACA,gBAAI,YAAK3G,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE6vC,QAApB,KAAgC,YAAK7vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE6vC,QAApB,KAAgC,OAApE,EAA6E;AAC5E,mBAAKA,QAAL,GAAgB,KAAKC,aAAL,EAAhB;AACA,aAFD,MAEO,IAAI,YAAK9vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE6vC,QAApB,KAAgC,eAAU,MAAI,KAAK7vC,aAAT,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE6vC,QAAlC,CAApC,EAAgF;AACtF,mBAAKA,QAAL,GAAgB,CAAH,KAAG,KAAK7vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE6vC,QAApC;AACA,aANkC,CAOnC;;;AACA,gBAAI,YAAK7vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE+vC,QAApB,KAAgC,YAAK/vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE+vC,QAApB,KAAgC,OAApE,EAA6E;AAC5E,mBAAKA,QAAL,GAAgB,KAAKD,aAAL,EAAhB;AACA,aAFD,MAEO,IAAI,YAAK9vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE+vC,QAApB,KAAgC,eAAU,MAAI,KAAK/vC,aAAT,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE+vC,QAAlC,CAApC,EAAgF;AACtF,mBAAKA,QAAL,GAAgB,CAAH,KAAG,KAAK/vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE+vC,QAApC;AACA,aAZkC,CAcnC;;;AACA,gBAAI,YAAK/vC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEgwC,OAApB,KAA+B,YAAKhwC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEgwC,OAApB,KAA+B,OAAlE,EAA2E;AAC1E,mBAAKA,OAAL,GAAe,KAAKC,YAAL,EAAf;AACA,aAFD,MAEO,IAAI,YAAKjwC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEgwC,OAApB,KAA+B,eAAU,MAAI,KAAKhwC,aAAT,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEgwC,OAAlC,CAAnC,EAA8E;AACpF,mBAAKA,OAAL,GAAe,CAAH,KAAG,KAAKhwC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEgwC,OAAnC;AACA,aAnBkC,CAoBnC;;;AACA,gBAAI,YAAKhwC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEkwC,OAApB,KAA+B,YAAKlwC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEkwC,OAApB,KAA+B,OAAlE,EAA2E;AAC1E,mBAAKA,OAAL,GAAe,KAAKD,YAAL,EAAf;AACA,aAFD,MAEO,IAAI,YAAKjwC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEkwC,OAApB,KAA+B,eAAU,MAAI,KAAKlwC,aAAT,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEkwC,OAAlC,CAAnC,EAA8E;AACpF,mBAAKA,OAAL,GAAe,CAAH,KAAG,KAAKlwC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEkwC,OAAnC;AACA;;AAED,gBAAI,KAAKjyC,KAAT,EAAgB,KAAKkyC,SAAL,GAAiB,KAAKlyC,KAAtB;AAChB;;;iBAED,uBAAcupB,IAAd,EAAqB9gB,IAArB,EAA4B;AAC3B,gBAAI8gB,IAAI,GAAGA,IAAI,IAAI,IAAIniB,IAAJ,EAAnB;AACAqB,gBAAI,GAAGA,IAAI,IAAI,IAAf;AACA,gBAAI6L,OAAO,GAAG;AACb69B,kBAAI,EAAE,SADO;AAEbC,mBAAK,EAAE,SAFM;AAGbnhB,iBAAG,EAAE;AAHQ,aAAd;AAMA,gBAAMohB,UAAU,GAAG9oB,IAAI,CAAC+oB,cAAL,CAAoB7pC,IAAI,GAAG,eAA3B,EAA4C6L,OAA5C,CAAnB;AACA,mBAAO;AACN69B,kBAAI,EAAE,CAACE,UAAU,CAACld,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,EAAyBA,KAAzB,CAA+B,GAA/B,EAAoC,CAApC,CADD;AAENid,mBAAK,EAAE,CAACC,UAAU,CAACld,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAFF;AAGNlE,iBAAG,EAAE,CAACohB,UAAU,CAACld,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,GAA4B;AAH3B,aAAP;AAKA;;;iBAED,wBAAe;AACd,gBAAI3V,KAAK,GAAG,IAAIpY,IAAJ,EAAZ;AACA,mBAAO;AACN+qC,kBAAI,EAAE3yB,KAAK,CAACM,WAAN,EADA;AAENsyB,mBAAK,EAAE5yB,KAAK,CAACK,QAAN,KAAmB,CAFpB;AAGNoR,iBAAG,EAAEzR,KAAK,CAACI,OAAN;AAHC,aAAP;AAKA;;;iBAED,oBAAQ,CAAW;;;iBAEnB,uBAAc2yB,YAAd,EAAiC;AAChC,gBAAI,KAAK3qC,QAAL,KAAkB,qDAAQ2qC,YAAR,KAAyB,sDAASA,YAAT,CAA3C,CAAJ,EAAwE;AACvE,mBAAKvpC,WAAL,CAAiB,IAAjB;AACA;AACA;;AACD,iBAAKA,WAAL,CAAiBupC,YAAjB;AACA;;;iBAED,qBAAYhpB,IAAZ,EAAuB;;;AACtB,gBAAIA,IAAI,IAAI,KAAKxnB,aAAL,CAAmBywC,WAA3B,IAA0C,QAAC,KAAKzwC,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE0wC,gBAArB,CAA9C,EAAqF;AACpF,mBAAKzyC,KAAL,GAAa,KAAK0yC,yBAAL,CAA+BnpB,IAA/B,CAAb;AACA,aAFD,MAEO;AACN,mBAAKvpB,KAAL,GAAaupB,IAAb;AACA;;AACD,iBAAKnhB,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA,iBAAKqR,gBAAL;AACA;;;iBAEO,4BAAmB;AAAA;;AAC1B,gBAAI,KAAKtP,aAAL,IAAsB,KAAKA,aAAL,CAAmBuP,WAA7C,EACC,KAAKvP,aAAL,CAAmBuP,WAAnB,CAA+BrR,OAA/B,CAAuC,UAAC4C,IAAD,EAAU;AAChD,kBAAI,QAAI,CAACM,eAAL,CAAqB6M,IAArB,CAA0Bqc,MAA9B,EAAsC;AACrC,oBAAMC,KAAK,GAAG,QAAI,CAACnpB,eAAL,CAAqB6M,IAArB,CAA0Buc,YAA1B,CAAuC;AACpDxb,qBAAG,EAAE,IAD+C;AAEpDyb,kCAAgB,EAAE;AAFkC,iBAAvC,CAAd;;AAIA,oBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,qBAAG,EAAEpN,IAAI,CAACoN;AAAZ,iBAA9B,CAAnB;AACAH,0BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzB,sBAAI1O,IAAI,CAACsuC,eAAT,EAA0B;AACzB5/B,qBAAC,CAAC4/B,eAAF;AACA,mBAFD,MAEO,IAAItuC,IAAI,CAAC8vC,cAAT,EAAyB;AAC/BphC,qBAAC,CAACohC,cAAF,CAAiB,QAAI,CAACrzC,IAAtB;AACA,mBAFM,MAEA;AACN,wBAAMU,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AACxCV,0BAAI,EAAE,QAAI,CAACA,IAD6B;AAExC+iB,8BAAQ,EAAE,QAAI,CAAClf;AAFyB,qBAA3B,CAAd;AAIAoO,qBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACA;AACD,iBAZD;AAaA,eAnBD,MAmBO;AACN,oBAAMuQ,WAAW,GAAG,+CAAMR,gBAAN,CAAuB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAChFlK,sBAAI,EAAE,MAD0E;AAEhF,uCAAqB;AAF2D,iBAA7D,CAApB;AAIA2K,2BAAW,CAACtQ,OAAZ,CAAoB,UAACuQ,aAAD,EAAmB;AACtCA,+BAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC5C,wBAAM2b,KAAK,GAAG3b,OAAO,CAAC4b,YAAR,CAAqB;AAAExb,yBAAG,EAAE,IAAP;AAAayb,sCAAgB,EAAE;AAA/B,qBAArB,CAAd;AACA,wBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,yBAAG,EAAEpN,IAAI,CAACoN;AAAZ,qBAA9B,CAAnB;AACAH,8BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzB,0BAAI1O,IAAI,CAACsuC,eAAT,EAA0B;AACzB5/B,yBAAC,CAAC4/B,eAAF;AACA,uBAFD,MAEO,IAAItuC,IAAI,CAAC8vC,cAAT,EAAyB;AAC/BphC,yBAAC,CAACohC,cAAF,CAAiB,QAAI,CAACrzC,IAAtB;AACA,uBAFM,MAEA;AACN,4BAAMU,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AACxCV,8BAAI,EAAE,QAAI,CAACA,IAD6B;AAExC+iB,kCAAQ,EAAE,QAAI,CAAClf;AAFyB,yBAA3B,CAAd;AAIAoO,yBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACA;AACD,qBAZD;AAaA,mBAhBD;AAiBA,iBAlBD;;AAoBA,oBAAM8P,YAAU,GAAG,+CAAMC,gBAAN,CAAuB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAC/EG,qBAAG,EAAEpN,IAAI,CAACoN;AADqE,iBAA7D,CAAnB;;AAGAH,4BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzB,sBAAI1O,IAAI,CAACsuC,eAAT,EAA0B;AACzB5/B,qBAAC,CAAC4/B,eAAF;AACA;;AACD,sBAAItuC,IAAI,CAAC+vC,MAAT,EAAiB;AAChB,wBAAIrhC,CAAC,CAACrB,SAAF,CAAYtK,IAAZ,IAAoB,UAAxB,EAAoC2L,CAAC,CAACshC,WAAF,GAAgB,KAAhB;AACpCthC,qBAAC,CAACqhC,MAAF,CAAS,IAAT;AACA,mBAHD,MAGO,IAAI/vC,IAAI,CAAC8vC,cAAT,EAAyB;AAC/BphC,qBAAC,CAACohC,cAAF,CAAiB,QAAI,CAACrzC,IAAtB;AACA,mBAFM,MAEA;AACN,wBAAMU,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AACxCV,0BAAI,EAAE,QAAI,CAACA,IAD6B;AAExC+iB,8BAAQ,EAAE,QAAI,CAAClf;AAFyB,qBAA3B,CAAd;AAIAoO,qBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACA;AACD,iBAhBD;AAiBA;AACD,aAlED;AAmED;;;iBAED,mCAA0BuyC,YAA1B,EAA2C;AAC1C,gBAAML,SAAS,GAAG,KAAKP,iBAAL,CAAuBmB,gBAAvB,CAAwCP,YAAxC,EAAsD,aAAtD,CAAlB;AAEA,mBAAO;AACNQ,uBAAS,EAAER,YADL;AAENS,mBAAK,EAAEd;AAFD,aAAP;AAIA;;;iBAEO,yBAAgBzpC,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AACA,aAFS,CAAV;AAGA;;;iBAED,uBAAc;AACb,iBAAKtJ,IAAL,CAAUc,OAAV,CAAkB,UAACb,CAAD;AAAA,qBAAOA,CAAC,CAACc,WAAF,EAAP;AAAA,aAAlB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECrNc,yH,IACI;AAAA;AAAA,sBAA4D,UAA5D;;AAAG;;;;;AAAH;AAAA,sB,IAAsB,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAAkC,S;AAAA;;;uEAGxD;AAAA;AAAA,sBAAyD,UAAzD;;AAAG;;;;;AAAH;AAAA,sB,IAAsB,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAA+B,S;AAAA;;;uEAXzE,qJ,IACI,8I,IACI,2I,IACI,8I,IACI,8L,IACA,uH,IAAI,6E,GAAA,sQ,GACJ,sH,IAAG,8E,GAAA,sQ,GACH,qH,GAAA;AAAA;AAAA;AAAA,gB,GAGA,+H,IAEc;AAAA;AALA;;AAAA;;AAAd,yBAAc,SAAd,EAAc,SAAd;AAAwD,S,EAAA;AAFpD;;AAAA;;AACD;;AAAA;AAA4C,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECL7D,yH,IACE,8L,GAAA,4J,GAAuE,+E,GAAA,sQ,GAGvE;AAAA;AAAA,sBAEW,UAFX;;AACE;;;;;AADF;AAAA,wN,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAA2C;AAAA;AAAA,U,EAA3C;AAAA;AAAA,mE,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAEW;AAAA;AAF6D;;AAAxE,wBAAwE,SAAxE;;AAA2C;;AACQ;;AADnD,wBAA2C,UAA3C,EACmD,UADnD;;AAAU;AACR,8BAAgD,SAAhD,CAAgD,yBAAhD;;AADF,yBAAU,UAAV,EACE,UADF;AACkD,S,EAAA;AAJqB;;AAAA;;AAGvE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEAST,oe,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,sK,IAAkD,+E,IAElD,I,EAAA;AAHF;;AAAA;;AAAA;;AAAA;;AACoD;;AAAA;AAElD,S;AAAA;;;uEARN,0H,IACE,+K,GAAA,4J,GAAwD,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAGxD,+W,GAAA,uM,EAAA,8M,GACE,kI,GAAA;AAAA;AAAA,gB,GAKA,2f,GAAA,6J,GAEF,wH,IAAK;AAPY,4BAA0C,QAA1C,CAA0C,SAA1C,CAA0C,OAA1C;;AAAf,yBAAe,SAAf;AAAyD,S,EAAA;AAJH;;AAAA;;AAStD;;AAAA;;AAAA;;AAAA;;AAAA;AAA2B,S;AAAA;;;uEArBjC,yH,IACE,qI,GAAA;AAAA;AAAA,gB,GASA,uH,IACA,qI,GAAA;AAAA;AAAA,gB,GAae,4E,IAAA;AAAA;AAvBV,2DAA+C,SAA/C,CAA+C,6BAA/C;;AAAL,wBAAK,SAAL;;AAUc,6BAAqD,SAArD,CAAqD,cAArD;;AAAd,wBAAc,SAAd;AAAmE,S,EAAA,I;AAAA;;;qPAXrE,qI,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAA;AAAA;;AAAA,8JAAmC,SAAnC;;AAAd,wBAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECO/C,0H,IACE,2J,GAAA,4J,GAAoC,8E,GAAA,sQ,GACpC,glC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;kBACE,yD,EAAA,yD,EAAA,yL,EADF,wO,GAC+F;AAAA;AAFjF;;AAAhB,wBAAgB,UAAhB;;AACgE,8BAA4B,KAA5B,CAA4B,UAA5B;;AAC5D;;AADF,yBAA8D,UAA9D,EACE,UADF;AAC4F,S,EAAA;AAH1D;;AAAA;;AACpC;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAC+F,S;AAAA;;;uEAQjG;AAAA;AAAA,sBAES,UAFT;;AAAiD;;;;;AAAjD;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GAA6G,4E,GAAA,sQ,GAE7G;AAAA;AAFkF,8BAA0B,KAA1B,CAA0B,OAA1B;AAAhB;;AAAlE,wBAAkF,SAAlF,EAAkE,SAAlE;AAAiF,S,EAAA;AAAjF;AAAA;;AAAA;;AAAA;;AAA6G;;AAAA;AAE7G,S;AAAA;;;qPArBJ,oI,GAAA;AAAA;AAAA,gB,EAAA,+L,GACE,2J,GAAA,4J,GAAoC,8E,GAAA,sQ,GACpC,glC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAiE;;;;;AAAjE;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA,yV,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA;AAAA;AAAA;AAAA,gB,EAAA,mN,EAAA,sO,GAIF,yH,GAAA;AAAA;AAAA,gB,GAQA,iK,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,uX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAuC,6E,GAAA,sQ,GAGlF,yH,GAAA;AAAA;AAAA,gB,GAES;AAAA;AArBR,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAL,wBAAK,SAAL;;AAEkB;;AAAhB,wBAAgB,UAAhB;;AAC8F;;AAA5F,yBAA4F,UAA5F;;AACE,8BAA4B,KAA5B,CAA4B,UAA5B;AAD+D,8BAA0B,KAA1B,CAA0B,OAA1B;;AAAjE,yBACE,UADF,EAAiE,UAAjE;;AACE,8BAA4B,KAA5B,CAA4B,UAA5B;AAD0F;;AAA5F,yBACE,UADF,EAA4F,UAA5F;;AAIY,8BAA6B,KAA7B,CAA6B,gBAA7B;;AAAd,yBAAc,UAAd;;AAS6C,8CAAsC,KAAtC,CAAsC,UAAtC;;AAA3C,yBAA2C,UAA3C;;AAA2C,8CAAsC,KAAtC,CAAsC,UAAtC;;AAA3C,yBAA2C,UAA3C;;AAGQ,+BAAwB,KAAxB,CAAwB,UAAxB;;AAAR,yBAAQ,UAAR;AAAgC,S,EAAA;AAnBpC;;AAAA;;AACsC;;AAAA;;AACpC;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAaA;AAAA;;AAAA;;AAAA;;AAAkF;;AAAA;AAElF,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACjBJ;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMmH,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,2BAD8C;AAEpDW,gBAAQ,EAAE,2BAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASysC,wCAAT,CAAkDvsC,QAAlD,EAAsE;AAC5E,wFAA8BJ,iBAA9B,EAAiD,qGAAjD,EAAmFI,QAAnF;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECmBe;AAAA;AAAA,sBAIO,UAJP;;AACI;;;;;;AADJ;AAAA,sB,IACqE,+E,GAAA,sQ,GAEjE,uJ,IAAoC,I,EAAA;AAF6B;;AAAA;AAEjE,S;AAAA;;;uEA9BZ;AAAA;AAAA,sBAqCM,UArCN;;AAA2D;;;;;AAA3D;AAAA,sB,IACI,0I,IACI,yI,IACI,2N,IAEI,wQ,IAMR,yI,IACI,2N,IAEI,2Q,IAOR,0I,IACI,uI,IAGJ,+V,GAAA;AAAA;AAAA,gB,GAEA,4H,GAAA;AAAA;AAAA,gB,GAMA,2I,IAAmB,gF,GAAA,sQ,GAEnB;AAAA;AAVqC,4BAA2B,QAA3B,CAA2B,SAA3B,CAA2B,MAA3B;;AAArC,yBAAqC,SAArC;;AAEsB,8BAAoB,YAApB;;AAAtB,yBAAsB,SAAtB;AAA0C,S,EAAA;AALnC;;AAAH,wBAAG,SAAH;;AAWe;;AAAA;AAEnB,S;AAAA;;;uEAvChB,8U,GAAA,4M,GACA,uJ,IACI,uH,IAAI,6E,GAAA,sQ,GACJ,wI,IACI,4H,GAAA;AAAA;AAAA,gB,GAqCM;AAAA;AArCgB,6BAAoC,WAApC;;AAAtB,wBAAsB,SAAtB;AAA0D,S,EAAA;AAF1D;;AAAA;AAAwC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFhD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAmBawsC,kB;AAeZ,sCAAc;AAAA;;AATL,eAAAvrC,QAAA,GAAoB,KAApB;AAGC,eAAAwrC,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACA,eAAAvvB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACA,eAAAwvB,UAAA,GAAa,IAAI,0DAAJ,EAAb;AACA,eAAAC,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AACA,eAAAC,cAAA,GAAiB,IAAI,0DAAJ,EAAjB;AAEO;;;;iBAEjB,kBAASz8B,YAAT,EAAuB;AAAA;;AACtB,gBAAI,CAAC,KAAK08B,gBAAN,IAA0B,KAAKC,QAA/B,IAA2C,KAAK7rC,QAApD,EACClF,UAAU,CAAC,YAAM;AAChB,kBAAMwP,KAAK,GAAGvN,CAAC,mFAAf;;AAGA,mBAAK,IAAIxB,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG+O,KAAK,CAACxO,MAAlC,EAA0CP,KAAK,EAA/C,EAAmD;AAClDwB,iBAAC,CAACuN,KAAK,CAAC/O,KAAD,CAAN,CAAD,CAAgB4T,IAAhB;AACA;AACD,aAPS,EAOP,GAPO,CAAV;AASD,gBAAI,KAAK28B,aAAT,EACChxC,UAAU,CAAC,YAAM;AAChB,sBAAI,CAAC+N,aAAL,CAAmBqV,MAAnB,CAA0B3V,SAA1B,CAAoCo/B,UAApC,GAAiD,MAAH,OAAG,CAAH,kBAC1C,QAAI,CAAC9+B,aAAL,CAAmBqV,MAAnB,CAA0B3V,SAA1B,CAAoCo/B,UADM,CAAG,EACC;AACjD5nC,wBAAQ,EAAE,KADuC;AAEjDgsC,8BAAc,EAAE,QAAI,CAACD;AAF4B,eADD,CAAjD;;AAKA,sBAAI,CAACjjC,aAAL,CAAmBmjC,mBAAnB;AACA,aAPS,EAOP,GAPO,CAAV;AASD,iBAAKP,UAAL,CAAgBjzC,IAAhB;AACA;;;iBAED,gBAAO0D,UAAP,EAAmB;AAClB,iBAAKsvC,QAAL,CAAchzC,IAAd,CAAmB0D,UAAU,CAACA,UAA9B;AACA;;;iBAED,gBAAOA,UAAP,EAAmB;AAClB,iBAAK+f,QAAL,CAAczjB,IAAd,CAAmB0D,UAAnB;AACA;;;iBACD,qBAAYf,KAAZ,EAAmB;AAClB,iBAAKuwC,aAAL,CAAmBlzC,IAAnB,CAAwB;AAAEyF,kBAAI,EAAE9C,KAAK,CAAC8C,IAAd;AAAoBtG,kBAAI,EAAEwD,KAAK,CAACxD,IAAhC;AAAsCkR,2BAAa,EAAE,KAAKA;AAA1D,aAAxB;AACA;;;iBACD,sBAAa1N,KAAb,EAAoB;AACnB,iBAAKwwC,cAAL,CAAoBnzC,IAApB,CAAyB2C,KAAzB;AACA;;;;;;;;;;;;;;;;;;;;;ACxEF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAwBa8wC,sB;AAgCZ,wCAAoBr1C,gBAApB,EAA+D6W,YAA/D,EAA2F;AAAA;;AAAvE,eAAA7W,gBAAA,GAAAA,gBAAA;AAA2C,eAAA6W,YAAA,GAAAA,YAAA;AAzBtD,eAAApV,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAQV,eAAAyrC,SAAA,GAAiB,EAAjB;AACA,eAAAC,WAAA,GAAqB,EAArB;AAUA,eAAAC,cAAA,GAAiC,EAAjC;AAMC,eAAKzrC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA;;;;eAXD,eAAoB;AACnB,mBAAO,qDAAP;AACA;;;eAGD,aAAQnJ,CAAR,EAAyB;AACxB,iBAAK20C,cAAL,CAAoB10C,IAApB,CAAyBD,CAAzB;AACA;;;iBAMD,qBAAYsJ,OAAZ,EAAoC;;;AACnC,gBACCA,OAAO,IACPA,OAAO,CAACpJ,IADR,IAEA,CAAC,sDAASoJ,OAAO,CAACpJ,IAAR,CAAawrB,YAAtB,CAFD,IAGA,CAAC,sDAASpiB,OAAO,CAACpJ,IAAR,CAAawrB,YAAtB,EAAoCpiB,OAAO,CAACpJ,IAAR,CAAa00C,aAAjD,CAJF,EAKE;AACD,kBACC,KAAKjyC,aAAL,IACA,KAAKA,aAAL,CAAmB8xC,SADnB,IAEA,KAAK9xC,aAAL,CAAmB8xC,SAAnB,CAA6BpwC,MAH9B,EAIE;AACD,qBAAKwwC,QAAL,GAAgB,CAAH,KAAG,KAAKlyC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEkyC,QAApC;AACA,qBAAKC,SAAL,GAAiB,KAAKnyC,aAAL,CAAmBmyC,SAApC;AACA,qBAAKJ,WAAL,GAAmB,KAAK/xC,aAAL,CAAmBoyC,MAAtC;AACA,qBAAKC,YAAL;AACA,eATD,MASO;AACN,qBAAKh/B,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA;AACD;AACD;;;iBAED,2BAAe;AAAA;;AACd,iBAAKwD,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,aAFU,CAAX;AAGA;;;iBAEO,yBAAgBA,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAED,wBAAe;AAAA;;;;AACd,iBAAKorC,SAAL,GAAiB;AAChBM,oBAAM,EAAE,KAAKL,WAAL,CAAiB3vC,GAAjB,CAAqB,UAACR,CAAD;AAAA,uBAAO,QAAI,CAACpF,gBAAL,CAAsBqE,OAAtB,CAA8Be,CAA9B,CAAP;AAAA,eAArB,CADQ;AAEhB0wC,sBAAQ,EAAE,CACT;AACC/0C,oBAAI,EAAE,CAAF,KAAE,KAAKyC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE8xC,SAD3B;AAECS,+BAAe,EAAE,CAAF,KAAE,KAAKvyC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEuyC,eAFtC;AAGCC,oCAAoB,EAAE,CAAF,KAAE,KAAKxyC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEwyC;AAH3C,eADS;AAFM,aAAjB;AAWA9xC,sBAAU,CACT,YAAM;AACL,sBAAI,CAACuM,IAAL,GAAY,IAAZ;AACA,aAHQ,EAIT,KAAKilC,QAAL,GAAgB,GAAhB,GAAsB,CAJb,CAAV;AAMA;;;iBAED,uBAAc;AACb,iBAAKF,cAAL,CAAoB9zC,OAApB,CAA4B,UAAC8X,CAAD;AAAA,qBAAOA,CAAC,CAAC7X,WAAF,EAAP;AAAA,aAA5B;AACA,iBAAK6zC,cAAL,GAAsB,EAAtB;AACA;;;;;;;;;;;;;;;;;;;;;ACrHF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOaS,a;AAET,+BACW3tC,SADX,EAEoCvH,IAFpC,EAE+C;AAAA;;AADpC,eAAAuH,SAAA,GAAAA,SAAA;AACyB,eAAAvH,IAAA,GAAAA,IAAA;AAAc;;;;iBAElD,qBAAS;AACL,iBAAKuH,SAAL,CAAeS,KAAf;AACH;;;;;;;;;;;;;;;;;;;;;ACfL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAEA;;;;;;;UAQamtC,Y;AAEX,8BAAoB3yB,SAApB,EAA0C;AAAA;;AAAtB,eAAAA,SAAA,GAAAA,SAAA;AAAyB;;;;iBAE7C,mBAAUE,IAAV,EAAgB;AACd,mBAAO,KAAKF,SAAL,CAAeS,uBAAf,CAAuCP,IAAvC,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECjBH,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAkB3C,ga,GAAA;AAAA;AAAA,gB,GAAmH;AAApD,4BAAqB,OAArB,CAAqB,OAArB,CAAqB,IAArB;;AAA/D,wBAA+D,SAA/D;AAAoF,S,EAAA,I;AAAA;;;uEAhBtF,yH,IACE,uH,IAAI,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAOJ,sH,IAAG,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAQH,0H,GAAA;AAAA;AAAA,gB,GACA,wH,IACA,ma,GAAA;AAAA;AAAA,gB,GAAiF;AAFpD;;AAA7B,yBAA6B,SAA7B;;AAE6B,4BAAqB,QAArB,CAAqB,IAArB;;AAA7B,yBAA6B,SAA7B;AAAkD,S,EAAA;AAjB9C;;AAAA;;AAOD;;AAAA;AAMH,S;AAAA;;;sPAjBF,0H,GAAA;AAAA;AAAA,gB,GAGA,0H,GAAA;AAAA;AAAA,gB,EAAK,wL,GAAqC;AAAA;AAHf,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAGK,8JAAqC,UAArC;;AAAL,wBAAK,SAAL;AAA0C,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECH1C,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAmBnC,wiB,GAAA,wa,EAAA;AAAA;AAAA,gB,EACE,wD,EAAA,wD,EAAA,wL,GAA6E,6E,IAE/E,4E,IAAA;AAHA;;AACE;;AADF,wBACE,SADF;AAC8E,S,EAAA;AAD9E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGW,S;AAAA;;;uEANb;AAAA;;AAAA;;;;;;SAAA,E,2GAAA,E,+GAAA,C;;mBAA6E,4E,IAG3E,wH,GAAA;AAAA;AAAA,gB,GAGW;AANK,6BAAoB,QAApB,CAAoB,SAApB,CAAoB,KAApB;;AAAlB,wBAAkB,UAAlB;;AAGyB,6BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,UAAvB;;AAAvB,wBAAuB,UAAvB;AAA8C,S,EAAA;AAHhD;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAA6E;;AAAA;AAG3E,S;AAAA;;;uEAMJ,iL,GAAA,uN,EAAA,6J,GAA8C,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAM9C,I,EAAA;AANA;;AAAA;;AAA8C;;AAAA;AAM9C,S;AAAA;;;uEAnBF,0H,IACE,0K,GAAA,6J,GAAmD,8E,GAAA,wQ,GAEnD,ka,GAAA,wN,EAAA,8N,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,oF,EAAA;AAAA;AAAA,gB,EAAA,kM,EAAA,qN,GACE,2H,GAAA;AAAA;AAAA,gB,EAAuC,wL,GASzC,2H,GAAA;AAAA;AAAA,gB,GAOA,wH,IAAM;AAAA;AAjBW;;AAAjB,yBAAiB,SAAjB;;AACyC,gKAAqC,SAArC;;AAAvC,yBAAuC,SAAvC;;AASS,+DAAkC,KAAlC,CAAkC,MAAlC,CAAkC,aAAlC;;AAAX,yBAAW,UAAX;AAA6C,S,EAAA;AAZM;;AAAA;;AAEnD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AASkB,S;AAAA;;;uEAwBlB,0H,IACE,wJ,IACE,0K,GAAA,6J,GAAmD,+E,GAAA,wQ,GAGnD;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;8aACA;AAAA;AAAA,sBAIS,UAJT;;AAGE;;;;;AAHF;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EACE;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAAuE;AAAA;AAF3D;;AAAd,wBAAc,SAAd;;AAE0E,8BAA6B,kBAA7B;;AAAxE,4DAAuE,KAAvE,CAAuE,QAAvE,CAAuE,WAAvE,CAAuE,KAAvE;;AACqB,8BAA2B,eAA3B;AAA4B,8BAA2B,eAA3B;AAAjD;;AAFF,yBAC0E,UAD1E,EACE,UADF,EAEuB,UAFvB,EAEmD,UAFnD,EAEE,UAFF;AAEsB,S,EAAA;AAAA;;AAN6B;;AAAA;;AAGnD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACQ;;AAAR,yBAAQ,SAAR;AAA+D,S;AAAA;;;uEAlBrE,0H,IACE;AAAA;AAAA,sBAKoB,UALpB;;AAAmB;;;;;AAAnB;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAEE,wJ,GAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,EAApC,6J,EAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,GAA8D,+E,GAAA,wQ,GAIpG,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;45CAIF,2H,GAAA;AAAA;AAAA,gB,GAYe,4E,IAAA;AAAA;AAvBqD,6BAA2B,YAA3B;AAClE;;AADF,wBAAoE,SAApE,EACE,SADF;;AAEa;;AAAyB,4CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAApC,wBAAW,SAAX,EAAoC,SAApC;;AAAoC,4CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAAzB;;AAAX,wBAAoC,SAApC,EAAW,SAAX;;AAIc;;AAAhB,yBAAgB,UAAhB;;AAEI;;AADF,yBACE,UADF;;AAAA;;AAIY,gCAA0D,KAA1D,CAA0D,QAA1D,CAA0D,4BAA1D,CAA0D,KAA1D;;AAAd,yBAAc,UAAd;AAAwE,S,EAAA;AAT4B;;AAAA;;AAIpG;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAC4D,S;AAAA;;;uEAyBhE,2H,IACE;AAAA;AAAA,sBAIoB,UAJpB;;AAAmB;;;;;AAAnB;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACE,wJ,GAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,EAApC,6J,EAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,GAA8D,+E,GAAA,wQ,GAIpG,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;85CAIF;AAAA;AAAA,sBAIoB,UAJpB;;AAAmB;;;;;AAAnB;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACE,yJ,GAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,EAApC,8J,EAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,GAA8D,gF,GAAA,wQ,GAIpG,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;85CAIF;AAAA;AAAA,sBAIoB,UAJpB;;AAAmB;;;;;AAAnB;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACE,yJ,GAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,EAApC,8J,EAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,GAA8D,gF,GAAA,wQ,GAIpG,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;85CAIF;AAAA;AAAA,sBAIoB,UAJpB;;AAAmB;;;;;AAAnB;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACE,yJ,GAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,EAApC,8J,EAAA;AAAA;AAAA;AAAA,gB,EAAoC;AAAA;AAAA,U,GAA8D,gF,GAAA,wQ,GAIpG,olC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;g6CAGF;AAAA;AAAA,sBAEoB,UAFpB;;AAAmB;;;;;AAAnB;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACE,0J,GAAA,+J,GAAoC,gF,GAAA,wQ,GAEtC,olC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;g6CAAyG;AAAA;AA3C7C,6BAA2B,YAA3B;;AAA9D,wBAA8D,SAA9D;;AACa;;AAAyB,4CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAApC,wBAAW,SAAX,EAAoC,SAApC;;AAAoC,4CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAAzB;;AAAX,wBAAoC,SAApC,EAAW,SAAX;;AAIc;;AAAhB,yBAAgB,UAAhB;;AAEI;;AADF,yBACE,UADF;;AAAA;;AAI0D,8BAA2B,YAA3B;;AAA5D,yBAA4D,UAA5D;;AACa;;AAAyB,8CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAApC,yBAAW,UAAX,EAAoC,UAApC;;AAAoC,8CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAAzB;;AAAX,yBAAoC,UAApC,EAAW,UAAX;;AAIc;;AAAhB,yBAAgB,UAAhB;;AAEI;;AADF,yBACE,UADF;;AAAA;;AAI8D,8BAA2B,YAA3B;;AAAhE,yBAAgE,UAAhE;;AACa;;AAAyB,8CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAApC,yBAAW,UAAX,EAAoC,UAApC;;AAAoC,8CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAAzB;;AAAX,yBAAoC,UAApC,EAAW,UAAX;;AAIc;;AAAhB,yBAAgB,WAAhB;;AAEI;;AADF,yBACE,WADF;;AAAA;;AAIsD,+BAA2B,YAA3B;;AAAxD,yBAAwD,WAAxD;;AACa;;AAAyB,+CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAApC,yBAAW,WAAX,EAAoC,WAApC;;AAAoC,+CAA6D,KAA7D,CAA6D,QAA7D,CAA6D,QAA7D,CAA6D,KAA7D;;AAAzB;;AAAX,yBAAoC,WAApC,EAAW,WAAX;;AAIc;;AAAhB,0BAAgB,WAAhB;;AACmE;;AAAjE,0BAAiE,WAAjE;;AAAA;;AAGgD,+BAA2B,YAA3B;;AAAlD,0BAAkD,WAAlD;;AAGgB;;AAAhB,0BAAgB,WAAhB;;AACmE;;AAAjE,0BAAiE,WAAjE;;AAAA;AAAyG,S,EAAA;AA1CP;;AAAA;;AAIpG;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKkG;;AAAA;;AAIpG;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKkG;;AAAA;;AAIpG;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKkG;;AAAA;;AAIpG;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIoC;;AAAA;;AAEtC;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAyG,S;AAAA;;;uEAI7G,+J,IACE;AAAA;AAAA,sBAES,UAFT;;AAAqC;;;;;AAArC;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GAAkG,4E,GAAA,wQ,GAElG;AAAA;AAFwE,6BAAyB,KAAzB,CAAyB,OAAzB;AAAhB;;AAAxD,wBAAwE,SAAxE,EAAwD,SAAxD;AAAuE,S,EAAA;AAAvE;AAAA;;AAAA;;AAAA;;AAAkG;;AAAA;AAElG,S;AAAA;;;uEAtHN,0H,IAEE;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mcACE,uxB,GAAA,4lB,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA,gB,EAAA,kM,EAAA,qN,GAAyC,6E,GAAA,wQ,GAGzC,wH,IAGA,2H,GAAA;AAAA;AAAA,gB,GAwBA,2H,GAAA;AAAA;AAAA,gB,GA2BA;AAAA;AAAA,sBAEoB,UAFpB;;AAAmB;;;;;AAAnB;AAAA,8O,GAAA;AAAA;AAAA;AAAA;AAAA,U,GACE,yJ,GAAA,8J,GAAoC,+E,GAAA,wQ,GAEtC,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;85CAGF,2H,GAAA;AAAA;AAAA,gB,GAgDA,4H,GAAA;AAAA;AAAA,gB,GAIM;AAAA;AArHF,6BAAkB,KAAlB;;AAAN,wBAAM,SAAN;;AACgB;;AAAd,wBAAc,UAAd;;AAMc,+BAAqC,KAArC,CAAqC,QAArC,CAAqC,QAArC,CAAqC,KAArC;;AAAd,yBAAc,UAAd;;AAwBc,+BAAqC,KAArC,CAAqC,QAArC,CAAqC,QAArC,CAAqC,KAArC;;AAAd,yBAAc,UAAd;;AA2B6C,8BAA2B,YAA3B;;AAA7C,yBAA6C,UAA7C;;AAGgB;;AAAhB,yBAAgB,UAAhB;;AACmE;;AAAjE,yBAAiE,UAAjE;;AAAA;;AAGY,+BAAqC,KAArC,CAAqC,QAArC,CAAqC,QAArC,CAAqC,KAArC;;AAAd,yBAAc,UAAd;;AAgDwC,+BAAuB,eAAvB;;AAAxC,yBAAwC,UAAxC;AAA+D,S,EAAA;AAjHjE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAyC;;AAAA;;AA0DH;;AAAA;;AAEtC;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAoG,S;AAAA;;;;;aApE1G,2H,GAAA;AAAA;AAAA,gB,GAIA,2H,GAAA;AAAA;AAAA,gB,EAAc,wL,GAA0D;AAAA;AAJ7C,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAIc,uLAA0D,UAA1D;;AAAd,wBAAc,SAAd;AAAwE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC8B5D;AAAA;;AAAA;;;;;;SAAA,E,0GAAA,E,8GAAA,C;;mBAGG,0E,IAAgB;AADjB,6BAAoB,QAApB,CAAoB,SAApB,CAAoB,KAApB;;AAFF,wBAEE,UAFF;AAEsB,S,EAAA;AAFtB;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAGG;;AAAA;AAAgB,S;AAAA;;;uEAZrB,6K,GAAA;AAAA;AAAA,gB,EAGE,wD,EAAA,wD,EAAA,yL,GAMA,8H,GAAA;AAAA;AAAA,gB,GAIC,4E,IAAA;AAVD;;AAHF,wBAGE,SAHF;;AAUI,4BAAgC,QAAhC,CAAgC,SAAhC,CAAgC,KAAhC;;AADF,wBACE,SADF;AACkC,S,EAAA,I;AAAA;;;uEA1BxC,mJ,IAIE,sK,IAA+C,+E,GAAA,wD,EAAA,wD,EAAA,yL,GAO/C,uH,IACA,mX,GAAA,sN,EAAA,6N,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,mF,EAAA;AAAA;AAAA,gB,EAAA,kM,EAAA,qN,GAIE,8H,GAAA;AAAA;AAAA,gB,GAcO;AAhBP,4BAAgD,QAAhD,CAAgD,SAAhD,CAAgD,eAAhD;;AAFF,yBAEE,SAFF;;AAMI,4BAA6C,QAA7C,CAA6C,SAA7C,CAA6C,UAA7C;;AAFF,yBAEE,SAFF;AAE+C,S,EAAA;AAdF;;AAAA;;AAQ/C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAmBkB,S;AAAA;;;sPAxC1B,8J,IACE,uI,IAAgB,+E,GAAA,wD,EAAA,wD,EAAA,yL,GAMhB;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;ocACE,yI,IACE,8H,GAAA;AAAA;AAAA,gB,GA0CF,wJ,IAAgC,gF,GAAA,wQ,GAGhC,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;45CAKY;AAAA;AArDV,6BAAuB,UAAvB;;AAAN,wBAAM,SAAN;;AAIM,6BAAoD,UAApD,CAAoD,aAApD;;AAFF,yBAEE,SAFF;;AA6Cc;;AAAhB,yBAAgB,UAAhB;;AAKI;;AAJF,yBAIE,UAJF;;AAAA;AAKY,S,EAAA;AAAA;;AA3DA;;AAAA;;AAMhB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AA4CkC;;AAAA;;AAGhC;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAKY,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DlB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAwBa0yB,yB;;;;;AAyCX,2CAAoBC,WAApB,EACUnrC,iBADV,EAEU0oB,uBAFV,EAGU7zB,aAHV,EAIUE,gBAJV,EAI8C;AAAA;;AAAA;;AAAE;AAJ5B,mBAAAo2C,WAAA,GAAAA,WAAA;AACV,mBAAAnrC,iBAAA,GAAAA,iBAAA;AACA,mBAAA0oB,uBAAA,GAAAA,uBAAA;AACA,mBAAA7zB,aAAA,GAAAA,aAAA;AACA,mBAAAE,gBAAA,GAAAA,gBAAA;AAxCV,mBAAAib,QAAA,GAAW,SAAKhQ,iBAAL,CAAuBgQ,QAAlC;AACA,mBAAAqH,SAAA,GAAY,SAAKrX,iBAAL,CAAuBiQ,eAAnC;AAEA,mBAAAqH,iBAAA,GAAoB,SAAKtX,iBAAL,CAAuBiJ,KAAvB,CAA6BuH,kBAAjD;AAqC8C;AAAY;;;;eA9B1D,eAAyB;AAAE,mBAAO,KAAK/S,IAAL,CAAU7B,GAAV,CAAc,aAAd,CAAP;AAAsC;;;eAEjE,eAA2B;AACzB,mBAAO,KAAKmtB,aAAL,CAAmB+N,gBAAnB,IAAuC,8EAAiBjO,kBAA/D;AACD;;;eAED,eAA0C;AACxC,mBAAO,KAAKE,aAAL,CAAmB+N,gBAAnB,IAAuC,8EAAiBC,iCAA/D;AACD;;;eAED,eAAoB;AAClB,mBAAO,CAAC,KAAKqU,eAAN,KAA0B,KAAKriB,aAAL,CAAmB+N,gBAAnB,IAAuC,8EAAiBuU,WAAxD,IAC/B,KAAKtiB,aAAL,CAAmB+N,gBAAnB,IAAuC,8EAAiBjO,kBADzB,IAE/B,KAAKE,aAAL,CAAmB+N,gBAAnB,IAAuC,8EAAiBC,iCAFnD,CAAP;AAGD;;;eAED,eAAkB;AAChB,mBAAO,CAAC,CAAC,KAAKzK,QAAd;AACD;;;eACD,eAAqB;AACnB,mBAAO,CAAC,KAAKvD,aAAL,CAAmBuiB,UAApB,IACL,KAAKC,WADA,IAEL,KAAKC,oBAFA,IAGL,KAAKC,mCAHP;AAID;;;iBAQD,oBAAW;AAAA;;AACT,iBAAK5zB,WAAL;AACA,uEAAc,CACZ,KAAK7X,iBAAL,CAAuBC,UAAvB,CACGI,IADH,CACQ,oDAAO,UAAAvK,IAAI;AAAA,qBAAIA,IAAI,CAAC0hB,aAAL,IAAsB,OAA1B;AAAA,aAAX,CADR,CADY,EAGZ,KAAKxX,iBAAL,CAAuBE,eAHX,CAAd,EAKGG,IALH,CAKQ,uDAAU,KAAKC,QAAf,CALR,EAMGzH,SANH,CAMa,kBAAyB;AAAA;AAAA,kBAAvB4a,SAAuB;AAAA,kBAAZi4B,MAAY;;;;AAClC,sBAAI,CAACj4B,SAAL,GAAiBA,SAAjB;AACA,sBAAI,CAACsV,aAAL,GAAqB2iB,MAArB;AACA,4BAAI,CAACjuC,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE0N,KAAF,EAAT;;AACA,sBAAI,CAAC3N,QAAL;;AACA,sBAAI,CAACm5B,4BAAL;;AACA,sBAAI,CAACjc,OAAL;;AACA,sBAAI,CAACixB,sBAAL;AACD,aAdH;AAeD;;;iBAED,qBAAYzsC,OAAZ,EAAkC;;;AAChC,gBAAI,OAAAA,OAAO,CAACotB,QAAR,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEke,aAAlB,KAAmC,OAAAtrC,OAAO,CAACotB,QAAR,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEke,aAAlB,MAA+B,MAAItrC,OAAO,CAACotB,QAAZ,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEhL,YAArD,CAAvC,EAA0G;AACxG,mBAAK5G,OAAL;AACD;AACF;;;iBAED,cAAKkxB,WAAL,EAA0B;AACxB,gBAAMp1C,KAAK,GAAG,KAAKiH,IAAL,CAAUm5B,QAAV,CAAmBgV,WAAnB,EAAgCp1C,KAA9C;AACA,iBAAKwJ,iBAAL,CAAuBoQ,eAAvB,CAAuCpN,IAAvC,CAA4C,IAAI,6DAAJ,CAAc4oC,WAAd,EAA2Bp1C,KAA3B,CAA5C;;AACA,gBAAIo1C,WAAW,IAAI,8BAAnB,EAAmD;AACjD,mBAAK5rC,iBAAL,CAAuBoQ,eAAvB,CAAuCpN,IAAvC,CAA4C,IAAI,6DAAJ,CAAc,aAAd,EAA6B,KAAK6oC,kBAAL,CAAwBr1C,KAArD,CAA5C;AACD;AACF;;;iBAED,kBAAS;AAAA;;AACP,gBAAI,KAAKiH,IAAL,CAAU+0B,KAAd,EAAqB;AACnB,mBAAKjb,gBAAL,GAAwB,IAAxB;AACA,kBAAM/gB,KAAK,GAAG,wDAAW,KAAKiH,IAAL,CAAUjH,KAArB,CAAd;AACA,qBAAOA,KAAK,CAACuX,QAAb;AAEA,kBAAMjY,IAAI;AACRqH,kBAAE,EAAE,KAAKk6B,OADD;AAER5mB,2BAAW,EAAE,KAAKgD,SAAL,CAAetW,EAFpB;AAGRqW,4BAAY,EAAE,KAAKC,SAAL,CAAeD,YAHrB;AAIRR,wBAAQ,EAAE,KAAK+V,aAAL,CAAmBI,aAAnB,CAAiCnW,QAJnC;AAKRsZ,wBAAQ,EAAE,KAAKvD,aAAL,CAAmBI,aAAnB,CAAiCmD;AALnC,iBAML91B,KANK,GAMA;AACRs1C,uBAAO,EAAE,CAACt1C,KAAK,CAACu1C,QADR;AAER/Q,yBAAS,EAAExkC,KAAK,CAACsb,WAAN,CAAkBnX,GAAlB,CAAsB,UAAAtB,IAAI,EAAI;AAAE,yBAAO;AAAE4hC,yBAAK,EAAE5hC,IAAI,CAAC6hC,IAAd;AAAoBC,4BAAQ,EAAE9hC,IAAI,CAAC8hC;AAAnC,mBAAP;AAAuD,iBAAvF;AAFH,eANA,CAAV;AAWA,8DAAG,CAAC,CAAC,KAAK9D,OAAV,EACGh3B,IADH,CAEI,uDAAU,UAAC2rC,QAAD;AAAA,uBACR,iDACE;AAAA,yBAAMA,QAAN;AAAA,iBADF,EAEE,QAAI,CAACtjB,uBAAL,CAA6BujB,wBAA7B,CAAsDn2C,IAAtD,EAA4D,QAAI,CAACo2C,aAAjE,CAFF,EAGE,QAAI,CAACxjB,uBAAL,CAA6ByjB,0BAA7B,CAAwDr2C,IAAxD,EAA8D,QAAI,CAACo2C,aAAnE,CAHF,CADQ;AAAA,eAAV,CAFJ,EASI,sDAAS;AAAA,uBAAM,QAAI,CAAC30B,gBAAL,GAAwB,KAA9B;AAAA,eAAT,CATJ,EAWG1e,SAXH,CAWa,UAAAmF,KAAK,EAAI;AAClB,wBAAI,CAACouC,WAAL,CAAiBpuC,KAAjB;;AACA,wBAAI,CAACgC,iBAAL,CAAuBkQ,cAAvB,CAAsClN,IAAtC;;AACA,gFAAU,QAAI,CAACnO,aAAf,EACE,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,kCAA9B,CADF,EAEE,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,0CAA9B,CAFF,EAGE,KAHF;AAKD,eAnBH;AAoBD;AACF;;;iBAED,6BAAoBiU,YAApB,EAAuC;AAAA;;AACrC,iBAAKw+B,kBAAL,CAAwBzT,sBAAxB;AACA,iBAAKz+B,eAAL,CAAqB0iB,MAArB,CAA4ByR,MAA5B,CAAmCsN,EAAnC,CAAsC,eAAtC,EAAuD,UAAC9hC,KAAD,EAAW;;;AAChE,kBAAI,OAAAA,KAAK,CAAC2J,OAAN,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE4V,QAAf,aAAmC,kEAAvC,EACE,QAAI,CAACgzB,kBAAL,CAAwBzT,sBAAxB;AACH,aAHD;AAID;;;iBAEO,oBAAW;AACjB,iBAAK36B,IAAL,GAAY,KAAK0tC,WAAL,CAAiBptC,KAAjB,CAAuB;AACjCgQ,sBAAQ,EAAE,CAAC,KAAKsJ,SAAN,CADuB;AAEjCyJ,mBAAK,EAAE,CAAC;AAAEtqB,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,CAF0B;AAGjCC,wBAAU,EAAE,CAAC;AAAE91C,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,CAHqB;AAIjCN,sBAAQ,EAAE,CAAC;AAAEv1C,qBAAK,EAAE,KAAT;AAAgB0H,wBAAQ,EAAE,KAAKmuC;AAA/B,eAAD,CAJuB;AAKjCE,gCAAkB,EAAE,CAAC;AAAE/1C,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,CALa;AAMjCG,0CAA4B,EAAE,CAAC;AAAEh2C,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,EAA+C,CAAC,0DAAWjuC,QAAZ,CAA/C,CANG;AAOjC0T,yBAAW,EAAE,CAAC,EAAD,EAAK,CAAC,0DAAW1T,QAAZ,EAAsB,qEAAtB,CAAL,CAPoB;AAQjCquC,sCAAwB,EAAE,CAAC;AAAEj2C,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,EAA+C,CAAC,0DAAWjuC,QAAZ,CAA/C,CARO;AASjCsuC,oCAAsB,EAAE,CAAC;AAAEl2C,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,EAA+C,CAAC,0DAAWjuC,QAAZ,CAA/C,CATS;AAUjCuuC,kCAAoB,EAAE,CAAC;AAAEn2C,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,EAA+C,CAAC,0DAAWjuC,QAAZ,CAA/C,CAVW;AAWjCwuC,8BAAgB,EAAE,CAAC;AAAEp2C,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,EAA+C,CAAC,0DAAWjuC,QAAZ,CAA/C;AAXe,aAAvB,EAYT;AACDyuC,wBAAU,EAAE,CAAC,qEAAD;AADX,aAZS,CAAZ;AAeD;;;iBACO,wCAA+B;AAAA;;AACrC,gBAAMjW,QAAQ,GAAG,CAAC,8BAAD,EAAiC,0BAAjC,EAA6D,wBAA7D,EAAuF,sBAAvF,EAA+G,kBAA/G,CAAjB;AACA,iBAAKn5B,IAAL,CAAUm5B,QAAV,CAAmBmV,QAAnB,CAA4B7qB,YAA5B,CAAyCroB,SAAzC,CAAmD,UAAAuqC,OAAO,EAAI;AAC5DxM,sBAAQ,CAACngC,OAAT,CAAiB,UAAAgQ,GAAG,EAAI;AACtB,oBAAI,CAAC28B,OAAL,EAAc;AACZ,0BAAI,CAAC3lC,IAAL,CAAU7B,GAAV,CAAc6K,GAAd,EAAmByxB,aAAnB,CAAiC,CAAC,0DAAW95B,QAAZ,CAAjC;AACD,iBAFD,MAEO;AACL,0BAAI,CAACX,IAAL,CAAU7B,GAAV,CAAc6K,GAAd,EAAmB0xB,eAAnB;AACD;;AACD,wBAAI,CAAC16B,IAAL,CAAU7B,GAAV,CAAc6K,GAAd,EAAmB2xB,sBAAnB;AACD,eAPD;AAQD,aATD;AAUA,iBAAK36B,IAAL,CAAUm5B,QAAV,CAAmB4V,4BAAnB,CAAgDtrB,YAAhD,CAA6DroB,SAA7D,CAAuE,UAAArC,KAAK,EAAI;AAC9E,kBAAI,CAAC,CAACA,KAAN,EAAa;AACX,wBAAI,CAACq1C,kBAAL,CAAwB3T,aAAxB,CAAsC,CAAC,0DAAW95B,QAAZ,EAAsB,qEAAtB,CAAtC;AACD,eAFD,MAEO;AACL,wBAAI,CAACytC,kBAAL,CAAwBhlC,QAAxB,CAAiC,EAAjC;;AACA,wBAAI,CAACglC,kBAAL,CAAwB1T,eAAxB;AACD;;AACD,sBAAI,CAAC0T,kBAAL,CAAwBzT,sBAAxB;AACD,aARD;AASD;;;iBAEO,uBAAc;AACpB,iBAAKtgB,QAAL,GAAgB,2DAAc,CAAC,KAAKT,SAAN,EAAiB,KAAKrX,iBAAL,CAAuBgQ,QAAxC,CAAd,EACb3P,IADa,CAEZ,oDAAO;AAAA;AAAA,kBAAE0N,QAAF;AAAA,kBAAYgF,OAAZ;;AAAA,qBAAyB,CAAC,CAAChF,QAAF,IAAc,CAAC,CAACgF,OAAzC;AAAA,aAAP,CAFY,EAGZ,iDAAI,kBAAyB;AAAA;AAAA,kBAAvBhF,QAAuB;AAAA,kBAAbgF,OAAa;;AAC3B,kBAAIA,OAAO,CAACgF,cAAZ,EAA4B;AAC1B,oBAAMC,cAAc,GAAGjK,QAAQ,CAACkK,aAAT,GAAyBlK,QAAQ,CAACkK,aAAT,CAAuB/d,IAAvB,CAA4B,UAAAC,CAAC;AAAA,yBAAI,CAACA,CAAC,CAACqT,KAAP;AAAA,iBAA7B,CAAzB,GAAsE;AAAE0K,yBAAO,EAAE;AAAX,iBAA7F;AACA,uBAAOjS,KAAK,CAACkS,IAAN,CAAW;AAAEle,wBAAM,EAAE8Y,OAAO,CAACgF;AAAlB,iBAAX,EAA+C,UAACxX,CAAD,EAAIsJ,CAAJ,EAAU;AAC9D,sBAAMoO,aAAa,GAAGD,cAAc,SAAd,IAAAA,cAAc,WAAd,GAAAA,cAAA,GAAkBjK,QAAQ,CAACkK,aAAT,CAAuB/d,IAAvB,CAA4B,UAAAC,CAAC;AAAA,2BAAIA,CAAC,CAACqT,KAAF,IAAW3D,CAAC,GAAG,CAAnB;AAAA,mBAA7B,CAAxC;AACA,yBAAO;AACLrT,yBAAK,YAAKqT,CAAC,GAAG,CAAT,CADA;AAELwH,6BAAS,EAAE4G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE5G,SAFrB;AAGLC,6BAAS,EAAE2G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE3G,SAHrB;AAILa,8BAAU,EAAE,CAAC,EAAC8F,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE5G,SAAhB,CAAD,IAA8B,CAAC,EAAC4G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE3G,SAAhB;AAJtC,mBAAP;AAMD,iBARM,CAAP;AASD;AACF,aAbD,CAHY,CAAhB;AAiBD;;;iBAEO,mBAAU;AAAA;;AAChB,iBAAKiG,gBAAL,GAAwB,IAAxB;AACA,iBAAKmR,uBAAL,CAA6BokB,uBAA7B,CACE,KAAK/jB,aAAL,CAAmBI,aAAnB,CAAiCnW,QADnC,EAEE,KAAKS,SAAL,CAAeD,YAFjB,EAGE,KAAK8Y,QAAL,IAAiB,KAAKvD,aAAL,CAAmBgkB,eAHtC,EAIE,KAAKb,aAJP,EAKG7rC,IALH,CAMI,uDAAU,KAAKC,QAAf,CANJ,EAOI,sDAAS;AAAA,qBAAM,QAAI,CAACiX,gBAAL,GAAwB,KAA9B;AAAA,aAAT,CAPJ,EASG1e,SATH,CASa,UAAAm0C,oBAAoB,EAAI;AACjC,sBAAI,CAACZ,WAAL,CAAiBY,oBAAjB;AACD,aAXH;AAYD;;;iBACO,qBAAYl3C,IAAZ,EAAwC;;;AAC9C,iBAAKuhC,OAAL,GAAevhC,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEqH,EAArB;AACA,iBAAKM,IAAL,CAAUg7B,UAAV,CAAqB;AACnB3X,mBAAK,EAAEhrB,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEgrB,KADM;AAEnBwrB,wBAAU,EAAEx2C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEw2C,UAFC;AAGnBP,sBAAQ,EAAE,EAACj2C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEg2C,OAAP,CAHS;AAInBS,gCAAkB,EAAE,CAAF,KAAEz2C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEy2C,kBAAN,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAE30B,QAAF,EAJzB;AAKnB40B,0CAA4B,EAAE12C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE02C,4BALjB;AAMnB16B,yBAAW,EAAE,OAAAhc,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEklC,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAErgC,GAAF,CAAM,UAAAtB,IAAI,EAAI;AAAE,uBAAO;AAAE6hC,sBAAI,EAAE7hC,IAAI,CAAC4hC,KAAb;AAAoBE,0BAAQ,EAAE9hC,IAAI,CAAC8hC;AAAnC,iBAAP;AAAuD,eAAvE,CAAf,KAA2F,EANrF;AAOnBsR,sCAAwB,EAAE32C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE22C,wBAPb;AAQnBC,oCAAsB,EAAE52C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE42C,sBARX;AASnBC,kCAAoB,EAAE72C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE62C,oBATT;AAUnBC,8BAAgB,EAAE92C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE82C;AAVL,aAArB;AAYD;;;iBAEO,kCAAyB;AAAA;;AAC/B,gBAAI,CAAC,KAAKrB,WAAV,EACE,KAAKvrC,iBAAL,CAAuBoQ,eAAvB,CACG/P,IADH,CAEI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAFJ,EAGI,uDAAU,KAAKwK,QAAf,CAHJ,EAKGzH,SALH,CAKa,UAAA/C,IAAI,EAAI;;;AACjB,kBAAIA,IAAI,CAAC2Q,GAAL,IAAY,aAAhB,EAA+B;AAC7B,sBAAA3Q,IAAI,CAACU,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAEC,OAAF,CAAU,UAAA4C,IAAI,EAAI;;;AAC1B,wBAAAA,IAAI,CAAC6hC,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEzkC,OAAF,CAAU,UAAAykC,IAAI,EAAI;AACzB,2BAAOA,IAAI,CAAC/9B,EAAZ;AACD,mBAFQ,CAAT;AAGD,iBAJS,CAAV;AAKD;;AACD,sBAAI,CAACM,IAAL,CAAUg7B,UAAV,qBACG3iC,IAAI,CAAC2Q,GADR,EACc3Q,IAAI,CAACU,KADnB;AAGD,aAhBH;AAkBH;;;;QA/O4C,6D;;;;;;;;;;;;;;;;;ACtB/C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUay2C,6B;;;;;AAIX,+CAAoBjtC,iBAApB,EAA0D;AAAA;;AAAA;;AAAE;AAAxC,mBAAAA,iBAAA,GAAAA,iBAAA;AAHpB,mBAAAuX,gBAAA,GAAmB,KAAnB;AAG0D;AAAY;;;;iBAEtE,oBAAQ;AAAA;;AACN,iBAAKvX,iBAAL,CAAuBC,UAAvB,CACGI,IADH,CACQ,uDAAU,KAAKC,QAAf,CADR,EAEGzH,SAFH,CAEa,UAAC/C,IAAD,EAAU;AACnB,sBAAI,CAACo3C,WAAL,CAAiBp3C,IAAI,CAAC4hB,YAAtB;AACD,aAJH;AAKD;;;iBAEO,qBAAYjH,WAAZ,EAAiC;AAAA;;AACvC,iBAAK8G,gBAAL,GAAwB,IAAxB;AACA,iBAAK41B,SAAL,GAAiB,KAAKntC,iBAAL,CAAuBktC,WAAvB,CAAmCz8B,WAAnC,EACdpQ,IADc,CAEb,uDAAU,KAAKC,QAAf,CAFa,EAGb,sDAAS,YAAM;AACb,sBAAI,CAACiX,gBAAL,GAAwB,KAAxB;AACD,aAFD,CAHa,CAAjB;AAOD;;;;QAvBgD,6D;;;;;;;;;;;;;;;ACZnD,UAAI5c,GAAG,GAAG;AACT,gBAAQ,MADC;AAET,mBAAW,MAFF;AAGT,gBAAQ,MAHC;AAIT,mBAAW,MAJF;AAKT,sBAAc,MALL;AAMT,mBAAW,MANF;AAOT,sBAAc,MAPL;AAQT,mBAAW,MARF;AAST,sBAAc,MATL;AAUT,mBAAW,MAVF;AAWT,sBAAc,MAXL;AAYT,mBAAW,MAZF;AAaT,sBAAc,MAbL;AAcT,mBAAW,MAdF;AAeT,sBAAc,MAfL;AAgBT,mBAAW,MAhBF;AAiBT,gBAAQ,MAjBC;AAkBT,mBAAW,MAlBF;AAmBT,gBAAQ,MAnBC;AAoBT,mBAAW,MApBF;AAqBT,gBAAQ,MArBC;AAsBT,mBAAW,MAtBF;AAuBT,gBAAQ,MAvBC;AAwBT,mBAAW,MAxBF;AAyBT,gBAAQ,MAzBC;AA0BT,mBAAW,MA1BF;AA2BT,sBAAc,MA3BL;AA4BT,mBAAW,MA5BF;AA6BT,gBAAQ,MA7BC;AA8BT,mBAAW,MA9BF;AA+BT,gBAAQ,MA/BC;AAgCT,mBAAW,MAhCF;AAiCT,gBAAQ,MAjCC;AAkCT,mBAAW,MAlCF;AAmCT,gBAAQ,MAnCC;AAoCT,mBAAW,MApCF;AAqCT,gBAAQ,MArCC;AAsCT,mBAAW,MAtCF;AAuCT,gBAAQ,MAvCC;AAwCT,mBAAW,MAxCF;AAyCT,gBAAQ,MAzCC;AA0CT,mBAAW,MA1CF;AA2CT,gBAAQ,MA3CC;AA4CT,mBAAW,MA5CF;AA6CT,gBAAQ,MA7CC;AA8CT,mBAAW,MA9CF;AA+CT,sBAAc,MA/CL;AAgDT,mBAAW,MAhDF;AAiDT,sBAAc,MAjDL;AAkDT,mBAAW,MAlDF;AAmDT,gBAAQ,MAnDC;AAoDT,mBAAW,MApDF;AAqDT,gBAAQ,MArDC;AAsDT,mBAAW,MAtDF;AAuDT,mBAAW,MAvDF;AAwDT,sBAAc,MAxDL;AAyDT,mBAAW,MAzDF;AA0DT,sBAAc,MA1DL;AA2DT,mBAAW,MA3DF;AA4DT,sBAAc,MA5DL;AA6DT,mBAAW,MA7DF;AA8DT,sBAAc,MA9DL;AA+DT,mBAAW,MA/DF;AAgET,sBAAc,MAhEL;AAiET,mBAAW,MAjEF;AAkET,sBAAc,MAlEL;AAmET,mBAAW,MAnEF;AAoET,sBAAc,MApEL;AAqET,mBAAW,MArEF;AAsET,sBAAc,MAtEL;AAuET,gBAAQ,MAvEC;AAwET,mBAAW,MAxEF;AAyET,gBAAQ,MAzEC;AA0ET,mBAAW,MA1EF;AA2ET,sBAAc,MA3EL;AA4ET,mBAAW,MA5EF;AA6ET,sBAAc,MA7EL;AA8ET,mBAAW,MA9EF;AA+ET,sBAAc,MA/EL;AAgFT,mBAAW,MAhFF;AAiFT,gBAAQ,MAjFC;AAkFT,mBAAW,MAlFF;AAmFT,gBAAQ,MAnFC;AAoFT,mBAAW,MApFF;AAqFT,gBAAQ,MArFC;AAsFT,mBAAW,MAtFF;AAuFT,gBAAQ,MAvFC;AAwFT,mBAAW,MAxFF;AAyFT,iBAAS,MAzFA;AA0FT,oBAAY,MA1FH;AA2FT,gBAAQ,MA3FC;AA4FT,mBAAW,MA5FF;AA6FT,gBAAQ,MA7FC;AA8FT,mBAAW,MA9FF;AA+FT,sBAAc,MA/FL;AAgGT,mBAAW,MAhGF;AAiGT,sBAAc,MAjGL;AAkGT,mBAAW,MAlGF;AAmGT,gBAAQ,MAnGC;AAoGT,mBAAW,MApGF;AAqGT,gBAAQ,MArGC;AAsGT,mBAAW,MAtGF;AAuGT,gBAAQ,MAvGC;AAwGT,mBAAW,MAxGF;AAyGT,gBAAQ,MAzGC;AA0GT,mBAAW,MA1GF;AA2GT,sBAAc,MA3GL;AA4GT,yBAAiB,MA5GR;AA6GT,sBAAc,MA7GL;AA8GT,yBAAiB,MA9GR;AA+GT,gBAAQ,MA/GC;AAgHT,mBAAW,MAhHF;AAiHT,gBAAQ,MAjHC;AAkHT,mBAAW,MAlHF;AAmHT,gBAAQ,MAnHC;AAoHT,mBAAW,MApHF;AAqHT,gBAAQ,MArHC;AAsHT,mBAAW,MAtHF;AAuHT,gBAAQ,MAvHC;AAwHT,mBAAW,MAxHF;AAyHT,mBAAW,MAzHF;AA0HT,sBAAc,MA1HL;AA2HT,gBAAQ,MA3HC;AA4HT,mBAAW,MA5HF;AA6HT,gBAAQ,MA7HC;AA8HT,mBAAW,MA9HF;AA+HT,gBAAQ,MA/HC;AAgIT,mBAAW,MAhIF;AAiIT,sBAAc,MAjIL;AAkIT,mBAAW,MAlIF;AAmIT,gBAAQ,MAnIC;AAoIT,mBAAW,MApIF;AAqIT,gBAAQ,MArIC;AAsIT,mBAAW,MAtIF;AAuIT,gBAAQ,MAvIC;AAwIT,mBAAW,MAxIF;AAyIT,gBAAQ,MAzIC;AA0IT,mBAAW,MA1IF;AA2IT,gBAAQ,MA3IC;AA4IT,mBAAW,MA5IF;AA6IT,gBAAQ,MA7IC;AA8IT,mBAAW,MA9IF;AA+IT,gBAAQ,MA/IC;AAgJT,mBAAW,MAhJF;AAiJT,gBAAQ,MAjJC;AAkJT,mBAAW,MAlJF;AAmJT,gBAAQ,MAnJC;AAoJT,mBAAW,MApJF;AAqJT,gBAAQ,MArJC;AAsJT,mBAAW,MAtJF;AAuJT,gBAAQ,MAvJC;AAwJT,mBAAW,MAxJF;AAyJT,gBAAQ,MAzJC;AA0JT,mBAAW,MA1JF;AA2JT,gBAAQ,MA3JC;AA4JT,mBAAW,MA5JF;AA6JT,gBAAQ,MA7JC;AA8JT,mBAAW,MA9JF;AA+JT,gBAAQ,MA/JC;AAgKT,mBAAW,MAhKF;AAiKT,gBAAQ,MAjKC;AAkKT,mBAAW,MAlKF;AAmKT,gBAAQ,MAnKC;AAoKT,mBAAW,MApKF;AAqKT,gBAAQ,MArKC;AAsKT,mBAAW,MAtKF;AAuKT,gBAAQ,MAvKC;AAwKT,mBAAW,MAxKF;AAyKT,gBAAQ,MAzKC;AA0KT,mBAAW,MA1KF;AA2KT,sBAAc,MA3KL;AA4KT,mBAAW,MA5KF;AA6KT,gBAAQ,MA7KC;AA8KT,mBAAW,MA9KF;AA+KT,gBAAQ,MA/KC;AAgLT,mBAAW,MAhLF;AAiLT,gBAAQ,MAjLC;AAkLT,mBAAW,MAlLF;AAmLT,gBAAQ,MAnLC;AAoLT,mBAAW,MApLF;AAqLT,gBAAQ,MArLC;AAsLT,mBAAW,MAtLF;AAuLT,sBAAc,MAvLL;AAwLT,mBAAW,MAxLF;AAyLT,gBAAQ,MAzLC;AA0LT,mBAAW,MA1LF;AA2LT,oBAAY,MA3LH;AA4LT,uBAAe,MA5LN;AA6LT,mBAAW,MA7LF;AA8LT,sBAAc,MA9LL;AA+LT,gBAAQ,MA/LC;AAgMT,mBAAW,MAhMF;AAiMT,gBAAQ,MAjMC;AAkMT,mBAAW,MAlMF;AAmMT,sBAAc,MAnML;AAoMT,mBAAW,MApMF;AAqMT,gBAAQ,MArMC;AAsMT,mBAAW,MAtMF;AAuMT,gBAAQ,MAvMC;AAwMT,mBAAW,MAxMF;AAyMT,gBAAQ,MAzMC;AA0MT,mBAAW,MA1MF;AA2MT,gBAAQ,MA3MC;AA4MT,mBAAW,MA5MF;AA6MT,gBAAQ,MA7MC;AA8MT,mBAAW,MA9MF;AA+MT,gBAAQ,MA/MC;AAgNT,mBAAW,MAhNF;AAiNT,gBAAQ,MAjNC;AAkNT,mBAAW,MAlNF;AAmNT,gBAAQ,MAnNC;AAoNT,mBAAW,MApNF;AAqNT,gBAAQ,MArNC;AAsNT,qBAAa,MAtNJ;AAuNT,wBAAgB,MAvNP;AAwNT,mBAAW,MAxNF;AAyNT,gBAAQ,MAzNC;AA0NT,mBAAW,MA1NF;AA2NT,gBAAQ,MA3NC;AA4NT,mBAAW,MA5NF;AA6NT,gBAAQ,MA7NC;AA8NT,mBAAW,MA9NF;AA+NT,gBAAQ,MA/NC;AAgOT,mBAAW,MAhOF;AAiOT,gBAAQ,MAjOC;AAkOT,mBAAW,MAlOF;AAmOT,iBAAS,MAnOA;AAoOT,oBAAY,MApOH;AAqOT,gBAAQ,MArOC;AAsOT,mBAAW,MAtOF;AAuOT,gBAAQ,MAvOC;AAwOT,mBAAW,MAxOF;AAyOT,gBAAQ,MAzOC;AA0OT,mBAAW,MA1OF;AA2OT,mBAAW,MA3OF;AA4OT,sBAAc,MA5OL;AA6OT,iBAAS,MA7OA;AA8OT,oBAAY,MA9OH;AA+OT,gBAAQ,MA/OC;AAgPT,mBAAW,MAhPF;AAiPT,iBAAS,MAjPA;AAkPT,oBAAY,MAlPH;AAmPT,iBAAS,MAnPA;AAoPT,sBAAc,MApPL;AAqPT,yBAAiB,MArPR;AAsPT,oBAAY,MAtPH;AAuPT,mBAAW,MAvPF;AAwPT,sBAAc,MAxPL;AAyPT,gBAAQ,MAzPC;AA0PT,mBAAW,MA1PF;AA2PT,gBAAQ,MA3PC;AA4PT,mBAAW,MA5PF;AA6PT,gBAAQ,MA7PC;AA8PT,qBAAa,MA9PJ;AA+PT,wBAAgB,MA/PP;AAgQT,mBAAW,MAhQF;AAiQT,gBAAQ,MAjQC;AAkQT,mBAAW,MAlQF;AAmQT,sBAAc,MAnQL;AAoQT,yBAAiB,MApQR;AAqQT,gBAAQ,MArQC;AAsQT,mBAAW,MAtQF;AAuQT,mBAAW,MAvQF;AAwQT,sBAAc,MAxQL;AAyQT,mBAAW,MAzQF;AA0QT,sBAAc,MA1QL;AA2QT,mBAAW,MA3QF;AA4QT,sBAAc,MA5QL;AA6QT,mBAAW,MA7QF;AA8QT,sBAAc;AA9QL,OAAV;;AAkRA,eAASyyC,cAAT,CAAwB5nB,GAAxB,EAA6B;AAC5B,YAAIroB,EAAE,GAAGkwC,qBAAqB,CAAC7nB,GAAD,CAA9B;AACA,eAAO8nB,mBAAmB,CAACnwC,EAAD,CAA1B;AACA;;AACD,eAASkwC,qBAAT,CAA+B7nB,GAA/B,EAAoC;AACnC,YAAG,CAAC8nB,mBAAmB,CAAC/+B,CAApB,CAAsB5T,GAAtB,EAA2B6qB,GAA3B,CAAJ,EAAqC;AACpC,cAAInF,CAAC,GAAG,IAAIqJ,KAAJ,CAAU,yBAAyBlE,GAAzB,GAA+B,GAAzC,CAAR;AACAnF,WAAC,CAACktB,IAAF,GAAS,kBAAT;AACA,gBAAMltB,CAAN;AACA;;AACD,eAAO1lB,GAAG,CAAC6qB,GAAD,CAAV;AACA;;AACD4nB,oBAAc,CAAC9pC,IAAf,GAAsB,SAASkqC,kBAAT,GAA8B;AACnD,eAAOhxC,MAAM,CAAC8G,IAAP,CAAY3I,GAAZ,CAAP;AACA,OAFD;;AAGAyyC,oBAAc,CAACvX,OAAf,GAAyBwX,qBAAzB;AACAI,YAAM,CAACC,OAAP,GAAiBN,cAAjB;AACAA,oBAAc,CAACjwC,EAAf,GAAoB,MAApB;;;;;;;;;;;;;;;;AChSA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAQawwC,mB;AAEZ,qCAAmBtwC,SAAnB,EACiCvH,IADjC,EAC4C;AAAA;;AADzB,eAAAuH,SAAA,GAAAA,SAAA;AACc,eAAAvH,IAAA,GAAAA,IAAA;AAChC;;;;iBACD,oBAAQ,CACP;;;iBAED,iBAAQ;AACP,iBAAKuH,SAAL,CAAeS,KAAf;AACA;;;iBAED,gBAAO;AACN,iBAAKT,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAAL,CAAU83C,MAA/B;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCdWC,mB;;;;;AAOT,qCAAmB3wC,QAAnB,EACYyxB,WADZ,EAEY1S,QAFZ,EAEuC;AAAA;;AAAA;;AAAE,yCAAM/e,QAAN;AAFtB,mBAAAA,QAAA,GAAAA,QAAA;AACP,mBAAAyxB,WAAA,GAAAA,WAAA;AACA,mBAAA1S,QAAA,GAAAA,QAAA;AAPZ,mBAAA5hB,UAAA,GAAkB,EAAlB;AAGA,mBAAAyzC,SAAA,GAAY,KAAZ;AAIuC;AAAoB;;;;iBAErD,oBAAQ;;;;;;;;AACS,6BAAM,KAAKhR,eAAL,CAAqBiR,UAArB,EAAN;;;AAAbA,gC;sCACiB,KAAKpf,W;;2BAAwBof,U;;;;;;AAAa,6BAAM,KAAK9xB,QAAL,CAAcsT,QAAd,EAAN;;;;;;;;sCAAiC,I;;;;;AAAjF,2CAAuBE,WAAvB;;;AAAXue,8B;AACA56B,4B,GAAS,KAAKkf,KAAL,CAAW2b,QAAX,CAAoB76B,M;AACnC,2BAAK86B,YAAL,GAAoB,KAAK5b,KAAL,CAAW2b,QAAX,CAAoB/0B,WAAxC;AAEA,2BAAKrF,OAAL,GAAeT,MAAM,CAACS,OAAtB;AACA,2BAAKxZ,UAAL,CAAgBvE,IAAhB,GAAuB,MAAH,OAAG,CAAH,kBAAQk4C,QAAR,CAAG,EAAkB,KAAKE,YAAvB,CAAvB;AACA,2BAAKJ,SAAL,GAAiB,IAAjB;;;;;;;;;AACH;;;;QApBoC,sF;;;;;;;;;;;;;;;;;ACVzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;UAKaK,e;AACT,mCAAc;AAAA;AAAG;;;;iBACjB,mBAAU33C,KAAV,EAAyBypB,MAAzB,EAAyC;AACrC,gBAAI,CAACzpB,KAAD,IAAU,CAACypB,MAAf,EAAuB,OAAO,EAAP;AACvB,0DAAc,IAAd;AACA,mBAAO,mCAAM,CAACzpB,KAAD,EAAQ,OAAR,CAAN,CAAuBypB,MAAvB,CAA8B,SAA9B,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;ACXL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMnjB,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,oBAD6C;AAEnDW,gBAAQ,EAAE,oBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAeO,eAASoxC,2BAAT,CAAqClxC,QAArC,EAAyD;AAC9D,wFAA8BJ,iBAA9B,EAAiD,wFAAjD,EAA6EI,QAA7E;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAKamxC,kB,GACT,4BAAuCC,IAAvC,EAAmE;AAAA;;AAA5B,aAAAA,IAAA,GAAAA,IAAA;AACtC,O;;;;;;;;;;;;;;;;;ACRL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA+CaC,Y;;;;;AAKZ,8BAAmBrxC,QAAnB,EAA+CsxC,gBAA/C,EAAmF;AAAA;;AAAA;;AAClF,yCAAMtxC,QAAN;AADkB,mBAAAA,QAAA,GAAAA,QAAA;AAA4B,mBAAAsxC,gBAAA,GAAAA,gBAAA;AAJ/C,mBAAAC,SAAA,GAAY,gDAAG,KAAH,CAAZ;AACA,mBAAAC,cAAA,GAAiB,KAAjB;AACA,mBAAA1vB,SAAA,GAAY,yEAAYA,SAAxB;;AAIC,mBAAK2vB,yBAAL,CAA+BzxC,QAA/B;;AACA,mBAAKuxC,SAAL,GAAiB,SAAK9c,MAAL,CAAY7D,MAAZ,CAAmBztB,IAAnB,CAChB,8DAAO,UAAC/G,KAAD;AAAA,mBAAWA,KAAK,YAAY,+DAA5B;AAAA,WAAP,CADgB,EAEhB,2DAAI,UAACA,KAAD;AAAA,mBAA4BA,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE4Z,GAAP,CAAWnX,QAAX,CAAoB,gBAApB,CAA5B;AAAA,WAAJ,CAFgB,CAAjB;AAHkF;AAOlF;;;;iBAED,oBAAW;AAAA;;AACV,iBAAK6yC,oBAAL;AACA,iBAAKC,oBAAL;AACA7nB,kBAAM,CAACoY,gBAAP,CAAwB,QAAxB,EAAkC,YAAM;AACvC,sBAAI,CAACsP,cAAL,GAAsB1nB,MAAM,CAAC8nB,WAAP,KAAuB,CAA7C;AACA,aAFD;AAGA;;;iBAEO,mCAA0B5xC,QAA1B,EAAoC;AAC3C,2HAA2BA,QAA3B;AACA,4HAA4BA,QAA5B;AACA,0HAA0BA,QAA1B;AACA,uIAAuCA,QAAvC;AACA,qIAAqCA,QAArC;AACA,qHAAqBA,QAArB;AACA,4HAA4BA,QAA5B;AACA,2HAA2BA,QAA3B;AACA,gIAAgCA,QAAhC;AACA,kIAAkCA,QAAlC;AACA,8HAA8BA,QAA9B;AACA,yHAAyBA,QAAzB;AACA,mIAAmCA,QAAnC;AACA,kIAAkCA,QAAlC;AACA,4HAA4BA,QAA5B;AACA,+HAA+BA,QAA/B;AACA,+HAA+BA,QAA/B;AACA,0IAA0CA,QAA1C;AACA,yIAAyCA,QAAzC;AACA,2HAA2BA,QAA3B;AACA,iIAAiCA,QAAjC;AACA,4HAA4BA,QAA5B;AACA,4HAA4BA,QAA5B;AACA,8HAA8B,KAAKA,QAAnC;AACA,+HAA+BA,QAA/B;AACA,6IAA6CA,QAA7C;AACA,6HAA6BA,QAA7B;AACA,qIAAqCA,QAArC;AACA,qIAAqCA,QAArC;AACA;;;iBAED,kBAAS6xC,SAAT,EAAoB;AACnB,iBAAKP,gBAAL,CAAsBQ,cAAtB,CAAqCD,SAArC;AACA;;;iBAEO,gCAAuB;AAC9B,gBAAI,yEAAY7vB,mBAAhB,EAAqC;AACpC,kBAAMilB,MAAM,GAAGnd,MAAM,CAAC4U,QAAP,CAAgBkD,aAAhB,CAA8B,QAA9B,CAAf;AACAqF,oBAAM,CAAC8K,GAAP,GAAa,6BAAb;AACA9K,oBAAM,CAAC/nC,IAAP,GAAc,QAAd;AACA4qB,oBAAM,CAAC4U,QAAP,CAAgBxP,IAAhB,CAAqB8iB,WAArB,CAAiC/K,MAAjC;AACA;AACD;;;iBAEO,gCAAuB;AAAA;;;;AAC9B,gBAAI,CAAJ,KAAI,yEAAYhlB,YAAZ,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEC,MAA9B,EAAsC;AACrC,oEAAS,CACR,KAAK+vB,aAAL,CAAmBC,OAAnB,+BADQ,EAER,KAAKD,aAAL,CAAmBC,OAAnB,wCAFQ,CAAT,EAGGv2C,SAHH,CAGa,kBAAuB;AAAA;AAAA,oBAArBw2C,KAAqB;AAAA,oBAAdC,QAAc;;AACnC,oBAAMC,MAAM,GAAG,QAAI,CAACp7B,cAAL,CAAoBq7B,WAApB,EAAf;;AACA,oBAAMC,SAAS,GAAG,+CAAMl1C,WAAN,CAAkB80C,KAAlB,EAAyB;AAC1CxM,wBAAM,EAAE,yEAAY1jB,YADsB;AAE1CowB,wBAAM,EAAEA,MAAM,IAAI;AAFwB,iBAAzB,CAAlB;AAIA,oBAAMpL,MAAM,GAAGnd,MAAM,CAAC4U,QAAP,CAAgBkD,aAAhB,CAA8B,QAA9B,CAAf;AACAqF,sBAAM,CAACuL,MAAP,CAAcD,SAAd;AACAzoB,sBAAM,CAAC4U,QAAP,CAAgBxP,IAAhB,CAAqB8iB,WAArB,CAAiC/K,MAAjC;AAEA,oBAAMwL,YAAY,GAAG,+CAAMp1C,WAAN,CAAkB+0C,QAAlB,EAA4B;AAAEzM,wBAAM,EAAE,yEAAY1jB;AAAtB,iBAA5B,CAArB;AACA,oBAAMywB,QAAQ,GAAG5oB,MAAM,CAAC4U,QAAP,CAAgBkD,aAAhB,CAA8B,UAA9B,CAAjB;AACA8Q,wBAAQ,CAACF,MAAT,CAAgBC,YAAhB;AACA3oB,sBAAM,CAAC4U,QAAP,CAAgBxP,IAAhB,CAAqB8iB,WAArB,CAAiCU,QAAjC;AACA,eAjBD;AAkBA;AACD;;;;QAxFgC,+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC/ClC,8U,GAAA,4M,GACA,6J,GAAA,+L,EAAA;AAAA;AAAA,gB,EAA2B,wL,GAC1B;AAAA;AAAA,sBAES,UAFT;;AAAyD;;;;;AAAzD;AAAA,sB,IACC,wgB,GAAA,wa,GAAU,4E,IAEX;AAAA;AAAA,sBAQU,UARV;;AAKC;;;;;AACA;;;;;AACA;;;;;AAPD;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAQU;AAAA;;AAZgB,8JAAoB,KAApB;;AAA3B,wBAA2B,SAA3B;;AAEE;;AAGA,6BAAmB,QAAnB;AACA,6BAAyB,WAAzB;AACA,6BAAgC,WAAhC,CAAgC,QAAhC;AACA,8BAAgC,WAAhC,CAAgC,QAAhC;;AAJD,yBACC,SADD,EAEC,SAFD,EAGC,SAHD,EAIC,UAJD;AAIiC,S,EAAA;AARlC;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA0B,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACD5B;AAAA;;;AAAA;AAAA;AAAA;;AAAO,UAAMC,eAAe,GAAoB;AAC/CC,mBAAW,EAAE;AACZhyC,eAAK,EAAE,OADK;AAEZiyC,cAAI,EAAE,cAFM;AAGZ/sC,cAAI,EAAE,eAHM;AAIZgtC,kBAAQ,EAAE,mBAJE;AAKZC,kBAAQ,EAAE;AALE,SADkC;AAQ/CC,mBAAW,EAAE,cARkC;AAS/CC,oBAAY,EAAE,IATiC;AAU/CC,mBAAW,EAAE,WAVkC;AAW/CC,kBAAU,EAAE,KAXmC;AAY/CC,oBAAY,EAAE,KAZiC;AAa/CxsB,gBAAQ,EAAE,KAbqC;AAc/CysB,oBAAY,EAAE,IAdiC;AAe/CC,sBAAc,EAAE,EAf+B;AAgB/CC,mBAAW,EAAE,IAhBkC;AAiB/CC,gBAAQ,EAAE,IAjBqC;AAkB/C;AACA;AACA;AACAC,uBAAe,EAAE;AArB8B,OAAzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECAH,0H,IACE,mK,IACE,6Y,GAAA;AAAA;AAAA,kG,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA,qP,GACE;AAAA;AAAA;;AAAA;;;;;AAA4D;;;;;AAA5D;AAAA,wP,GAAA;AAAA;AAAA,gB,GAAqF,4E,GAAA,sQ,GAIrF;AAAA;AAAA;;AAAA;;;;;AAAyD;;;;;AAAzD;AAAA,wP,GAAA;AAAA;AAAA,gB,GAAkF,6E,GAAA,sQ,GAKtF,wH,IAAM;AAVqC;AAAoB;;AAA7D,wBAAyC,SAAzC,EAA6D,SAA7D;;AACmC;;AAAjC,wBAAiC,UAAjC;;AAIkC;;AAAlC,yBAAkC,UAAlC;AAAwD,S,EAAA;AAL1D;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAqF;;AAAA;;AAIrF;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAkF;;AAAA;AAElF,S;AAAA;;;uEASA,6Y,GAAA,sR,GAAA;AAAA;AAAiF,S,EAAA,I;AAAA;;;uEACjF,+Y,GAAA,uR,GAAA;AAAA;AAA0E,S,EAAA,I;AAAA;;;uEAU1E,yH,IACE,4b,GAAA;AAAA;AAAA;AAAA,gB,GAA2G;AAAA;AAArD,6BAAsB,OAAtB,CAAsB,EAAtB;AAAzB;;AAA7B,wBAAsD,SAAtD,EAA6B,SAA7B;AAAqD,S,EAAA,I;AAAA;;;uEAGvD,4b,GAAA;AAAA;AAAA;AAAA,gB,GACuD;AAAA;AAArD,6BAAsB,OAAtB,CAAsB,EAAtB;AAD4C;;AAA9C,wBACE,SADF,EAA8C,SAA9C;AAAsE,S,EAAA,I;AAAA;;;uEALxE,yH,GAAA;AAAA;AAAA,gB,GACE,gI,GAAA;AAAA;AAAA,gB,GAIA,gI,GAAA,gV,GACuD,4E,IAAA;AAN5B,4BAAoC,OAApC,CAAoC,MAApC,CAAoC,MAApC,CAAoC,OAApC,CAAoC,IAApC,CAAoC,aAApC;;AAA7B,wBAA6B,SAA7B;;AACgB;;AAAd,wBAAc,SAAd;AAAqC,S,EAAA,I;AAAA;;;uEANzC,oU,GAAA,+R,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE;AAAA;AAAA,sBAE8C,UAF9C;;AAEE;;;;;AAFF;AAAA,gQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,oH,EAAA;AAAA;AAAA,oH,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIA,6H,GAAA;AAAA;AAAA,gB,GAOe,4E,IAAA;AAAA;;AAZjB;;AACwB;AAAuB;AAC3C,4BAAkD,OAAlD,CAAkD,OAAlD,CAAkD,IAAlD,CAAkD,aAAlD,CAAkD,QAAlD;AAAmD,6BAAuC,OAAvC,CAAuC,MAAvC,CAAuC,OAAvC,CAAuC,IAAvC,CAAuC,YAAvC;;AADrD,wBAAsB,SAAtB,EAA6C,SAA7C,EACE,SADF,EACqD,UADrD;;AAEE,8BAAoB,OAApB;;AAFF,wBAEE,UAFF;;AAIc,8BAAc,OAAd;;AAAd,yBAAc,UAAd;AAA4B,S,EAAA;AAJ5B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAE8C,S;AAAA;;;uEA3BpD,0H,IACE,gI,GAAA;AAAA;AAAA,gB,GAeA;AAAA;AAAA,sBAsBgB,UAtBhB;;AAAsC;;;;;AAAtC;AAAA,gO,GAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,kN,GACE,mU,GAAA,+R,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uH,GAAA;AAAA;AAAA,gB,GACE,gI,GAAA;AAAA;AAAA,gB,GACA,gI,GAAA,iV,GAIJ,gI,GAAA;AAAA;AAAA,gB,GAaU;AAAA;AApCE;;AAAd,wBAAc,SAAd;;AAesC,6BAA8B,WAA9B;;AAAtC,wBAAsC,SAAtC;;AACE;;AACgB,4BAAoC,OAApC,CAAoC,OAApC,CAAoC,IAApC,CAAoC,aAApC;;AAAd,yBAAc,SAAd;;AAC8B;;AAA5B,yBAA4B,SAA5B;;AAKK;;AAAT,yBAAS,SAAT;AAA6F,S,EAAA;AAR/F;;AAAA;;AAAA;AAsBgB,S;AAAA;;;uEAvCpB,kK,IACE,gI,GAAA;AAAA;AAAA,gB,EAAc,yL,GAAA;AAAA;;AAAA,8JAAiD,gBAAjD;;AAAd,wBAAc,SAAd;AAA+D,S,EAAA,I;AAAA;;;uEADjE,gI,GAAA;AAAA;AAAA,gB,EAA2C,yL,GAAA;AAAA;;AAAA,8JAAuC,WAAvC;;AAA3C,wBAA2C,SAA3C;AAAkF,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACAlF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUaC,qB;AAMT,yCAAc;AAAA;;AAFJ,eAAAC,cAAA,GAAiB,IAAI,0DAAJ,EAAjB;AAEO;;;;iBAEjB,qBAAY3xC,OAAZ,EAAkC;;;AAC9B,gBAAI,CAAJ,KAAIA,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE6O,QAAT,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEuT,YAAvB,EACI,KAAKvT,QAAL,GAAgB7O,OAAO,CAAC6O,QAAR,CAAiBuT,YAAjC;AACP;;;iBAED,4BAAmB;AACf,iBAAKuvB,cAAL,CAAoBl6C,IAApB;AACH;;;eAED,eAAe;AACX,gBAAMm6C,SAAS,GAAG,EAAlB;AACA,gBAAI,KAAK/iC,QAAL,CAAcwD,QAAlB,EAA4Bu/B,SAAS,CAACj7C,IAAV;AAC5B,gBAAI,KAAKkY,QAAL,CAAckD,OAAlB,EAA2B6/B,SAAS,CAACj7C,IAAV;AAC3B,gBAAI,KAAKkY,QAAL,CAAc8D,cAAlB,EAAkCi/B,SAAS,CAACj7C,IAAV;AAClC,gBAAI,KAAKkY,QAAL,CAAcuE,0BAAlB,EAA8Cw+B,SAAS,CAACj7C,IAAV;AAC9C,gBAAI,KAAKkY,QAAL,CAAcoV,UAAlB,EAA8B2tB,SAAS,CAACj7C,IAAV;AAC9B,mBAAOi7C,SAAS,CAACl5C,IAAV,CAAe,KAAf,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aCnCL,wI,IACE,yI,IACE;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;AAGE;;;;;AAHF;AAAA,gP,GAAA;AAAA;AAAA,kF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAMwB;AAAA;AAFtB;AAJU,6BAAc,MAAd;AAKV,6BAAqB,SAArB;;AALF,wBAIE,SAJF,EAAY,SAAZ,EAKE,SALF;AAKuB,S,EAAA;AAAA;AANpB,6EAAqD,cAArD,CAAqD,gBAArD;;AAAL,wBAAK,SAAL;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAMwB,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECP5B,qJ,IACC,0X,GAAA;AAAA;AAAA;AAAA,gB,GAAmG;AAAA;AAApF,6BAA2B,gBAA3B;AAA6B;;AAA5C,wBAAe,SAAf,EAA4C,SAA5C;AAAwE,S,EAAA,I;AAAA;;;;;aADzE,0H,GAAA;AAAA;AAAA,gB,EAA8B,wL,GAAA;AAAA;;AAAA,8JAA+B,gBAA/B;;AAA9B,wBAA8B,SAA9B;AAA6D,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA7D;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEA,UAAMkF,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,eAD8C;AAEpDW,gBAAQ,EAAE,eAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAAS+zC,oCAAT,CAA8C7zC,QAA9C,EAAkE;AACxE,wFAA8BJ,iBAA9B,EAAiD,6FAAjD,EAA+EI,QAA/E;AACA;;;;;;;;;;;;;;;;;ACTD;AAAA;;;AAAA;AAAA;AAAA;;UAAa8zC,a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECDX,8U,GAAA,4M,GAAiE,I,EAAA,I;AAAA;;;uEAmBzD,yH,IAA2B,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE3B,S;AAAA;;;uEAIA;AAAA;AAAA,sBAQS,UART;;AAGE;;;;;AAHF;AAAA,sB,GAIE,sQ,GAGA,yK,IAAmD,I,EAAA;AAHnD;;AAJF,wBAIE,SAJF;AAIsD,S;AAAA;;;uEAKtD;AAAA;AAAA,sBAWS,UAXT;;AAGE;;;;;AAHF;AAAA,sB,GAIE,sQ,GAGA,iK,IAGQ,I,EAAA;AAAA;;AANR;;AAJF,wBAIE,SAJF;;AAQI;;AADF,wBACE,SADF;AACuD,S;AAAA;;;uEAWzD,yH,IACE;AAAA;AAAA,sBAQS,UART;;AAKE;;;;;AALF;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAME;AAAA;AAAA,U,GAA4D;AAAA;AAJ5D,6BAAyB,cAAzB;AACA,6BAA6B,eAA7B;;AAGA,6HAA4D,gBAA5D,CAA4D,OAA5D,CAA4D,QAA5D;;AAFA;;AAJF,wBAEE,SAFF,EAGE,SAHF,EAME,SANF,EAIE,SAJF;AAIoB,S,EAAA,I;AAAA;;;uEAQlB,8I,IACE,+I,IACE,oJ,IAA6B,6E,GAAA,sQ,GAG7B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAGE;;;;;AAHF;AAAA,sB,GAAA,wV,EAAA;AAAA;AAAA,iF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIE;AAFA;;AACA,4BAAwB,QAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AAHF,wBAEE,SAFF,EAGE,SAHF;AAG0B,S,EAAA;AANG;;AAAA;;AAG7B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIE,S;AAAA;;;uEAVR,wI,IACE,kI,GAAA;AAAA;AAAA,gB,GAcF,kJ,IACE;AAAA;AAAA,sBAQS,UART;;AAIE;;;;;AAJF;AAAA,8N,GAAA,uX,EAKE,sQ,GAEA,8K,IAEF;AAAA;AAAA,sBAQS,UART;;AAIE;;;;;AAJF;AAAA,8N,GAAA,uX,EAKE,sQ,GAEA,gL,IAAyD;AAAA;AA/BrC,6BAA+B,WAA/B;;AAAtB,wBAAsB,SAAtB;AAAqD,S,EAAA;AAoBnD;;AALF;AAAA;;AAAA;;AAAA,wBAKE,SALF;;AAcE;;AALF;AAAA;;AAAA;;AAAA,wBAKE,SALF;AAQS,S;AAAA;;;uEAlDjB,yM,GAAA,kK,EAAA;AAAA;AAAA,U,EAAA,6N,GAIE,sf,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA,wJ,GACE,+H,GAAA;AAAA;AAAA;AAAA,gB,GAWA,yI,IAoCc;AAAA;AAhDK,6BAAyB,aAAzB;;AAArB,wBAAqB,SAArB;;AACgB;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAsD,S,EAAA;AAL1D;;AAAA;;AAIE;;AAAA;;AAAA;;AAAA;AAiDsB,S;AAAA;;;uEAItB,yH,IACE,iM,IAGE,yhB,GAAA,2a,GAAiC,8E,IACjC,uH,IAAM,+E,GAAA,sQ,GAER;AAHE;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACM;;AAAA;AAER,S;AAAA;;;uEAGA,sN,IAIC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEAEF,wI,IAAkC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAElC,S;AAAA;;;uEArBF,yH,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GASA,4I,IASA,mI,GAAA;AAAA;AAAA,gB,GAEI,4E,IAAA;AAAA;AApBU;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;;AAkBiB,6BAAgB,SAAhB;;AAAjB,wBAAiB,SAAjB;AAAiC,S,EAAA,I;AAAA;;;uEAuBjB,yH,IAEC,+E,IAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEACwB,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAExB,S;AAAA;;;uEARF,yH,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GAKA,0I,IAEc;AANZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AACsD,S,EAAA,I;AAAA;;;uEAStD,yH,IAEC,+E,IAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEACsB,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtB,S;AAAA;;;uEAPA,mI,GAAA;AAAA;AAAA;AAAA,gB,GAKA,wI,IAEc;AANZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AACoD,S,EAAA,I;AAAA;;;uEAYlD;AAAA;AAAA,sBAUI,UAVJ;;AAKE;;;;;AALF;AAAA,sB,IAOE,yH,IAAM,+E,IAAA,I,EAAA;AAAA;;AAAA;AAEN,S;AAAA;;;uEAXN,yH,IACE,wH,IACE,mI,GAAA;AAAA;AAAA,gB,GAUI;AARF;;AAFF,wBAEE,SAFF;AAIG,S,EAAA,I;AAAA;;;uEAWL,yH,IACE,wH,IAAK,+E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;AAKL,S;AAAA;;;uEAGA,wH,IAME,0I,IAAwC,I,EAAA;AAAlC;;AAAN,wBAAM,SAAN;AAAgC,S;AAAA;;;uEAGhC,wH,IAAK,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;uEAT7C,mI,GAAA;AAAA;AAAA;AAAA,gB,GAQA,0I,IAEc;AATZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AAIG,S,EAAA,I;AAAA;;;uEAbL,mI,GAAA;AAAA;AAAA;AAAA,gB,GAQA,uI,IAYc;AApBA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;uEAhDzD,0I,IAIE,ohB,GAAA,2a,GAA4B,0E,IAG5B,gK,IACE,oJ,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GAUA,0I,IAWF,yH,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GAgBA,2I,IAsBc;AAjElB;;AAKkB;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;;AAsBc;;AAAA;;AAAd,yBAAc,SAAd,EAAc,UAAd;AAAiD,S,EAAA;AA7BrD;;AAFF,wBAEE,SAFF;;AAIE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA4B;;AAAA;AAE1B,S;AAAA;;;uEAwEJ;AAAA;AAAA;;AAAA;;;;;;;;;;AAGE;;;;;AAHF;AAAA,gO,GAAA,wa,GAIC,4E,GAAA,sQ,GAEC,+J,IAAkD,I,EAAA;AANpD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIC;;AAAA;AAEC,S;AAAA;;;uEAEF;AAAA;AAAA;;AAAA;;;;;;;;;;AAGE;;;;;AAHF;AAAA,gO,GAAA,wa,GAIC,4E,GAAA,sQ,GAEC,gK,IAAmD,I,EAAA;AANrD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIC;;AAAA;AAEC,S;AAAA;;;uEAEF;AAAA;AAAA;;AAAA;;;;;;;;;;AAGE;;;;;AAHF;AAAA,gO,GAAA,wa,GAIC,4E,GAAA,sQ,GAEC,iK,IAAoD,I,EAAA;AANtD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIC;;AAAA;AAEC,S;AAAA;;;uEAGF,yH,IACE;AAAA;AAAA;;AAAA;;;;;;;;;;AAEE;;;;;AAFF;AAAA,gO,GAAA,wa,EAAA;AAAA;AAAA;AAAA;AAAA,gB,GAMC,4E,GAAA,sQ,GAEC,uI,IAA0D;AAAA;AAL1D,4BAAkD,QAAlD,CAAkD,SAAlD,CAAkD,aAAlD;AACA,4BAAY,OAAZ,CAAY,OAAZ,CAAY,SAAZ;AACA,6BAAmB,KAAnB;;AALF,wBAGE,SAHF,EAIE,SAJF,EAKE,SALF;AAKqB,S,EAAA;AALrB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAMC;;AAAA;;AAEO;;AAAN,wBAAM,UAAN;AAAkD,S;AAAA;;;uEArH1D,0H,IACE,8Z,GAAA,sP,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,mGAAA,E,uGAAA,C;;mBACG,gF,IAEH,gI,GAAA;AAAA;AAAA,gB,GA0EF,yY,GAAA,+M,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAIE,gI,GAAA;AAAA;AAAA,gB,GAQA,gI,GAAA;AAAA;AAAA,gB,GAQA,gI,GAAA;AAAA;AAAA,gB,GASA,gI,GAAA;AAAA;AAAA,gB,GAWe;AAAA;;AArHf;;AAAU;;AAAV,wBAAU,SAAV;;AAIE,8BAA+B,YAA/B;;AADF,wBACE,UADF;;AA4EA;;AAFF,yBAEE,UAFF;;AAMI,8BAAoB,aAApB;;AAFF,yBAEE,UAFF;;AAUE,8BAAoB,aAApB;;AAFF,yBAEE,UAFF;;AAUE,8BAAsB,eAAtB;;AAFF,yBAEE,UAFF;;AASc,8BAAsC,gBAAtC;;AAAd,yBAAc,UAAd;AAAoD,S,EAAA;AAAA;AA3G5C;AAAV;;AAAA,wBAAU,SAAV;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AA6EF;AAAA;AAAA;;AAAA;AAyCW,S;AAAA;;;uEA1HjB,yH,IACE,gK,IACE,mI,GAAA;AAAA;AAAA,gB,GAyHe;AAAA;AAzHD,6BAAkC,cAAlC;;AAAd,wBAAc,SAAd;AAAgD,S,EAAA,I;AAAA;;;uEAwI5C,uH,IAAgC,I,EAAA,I;AAAA;;;uEAG5B,yH,IAEC,+E,IAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEACwB,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAExB,S;AAAA;;;uEARF,wH,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GAKA,0I,IAEc;AANZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AACsD,S,EAAA,I;AAAA;;;uEAUpD,yH,IAEC,+E,IAAA,I,EAAA;AAAA;;AAAA;AAED,S;AAAA;;;uEACwB,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAExB,S;AAAA;;;uEARF,wH,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GAKA,0I,IAEc;AANZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AACsD,S,EAAA,I;AAAA;;;uEAd5D,uH,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GAUA,0I,IAWc;AArBT;;AAAA;;AAAL,wBAAK,SAAL,EAAK,SAAL;AAAsC,S,EAAA,I;AAAA;;;uEAH1C,uH,IACE,mI,GAAA;AAAA;AAAA,gB,GACA,mI,GAAA;AAAA;AAAA,gB,GAwBA,uH,IAAS;AAAA;AAzBL,6BAAsB,eAAtB;;AAAJ,wBAAI,SAAJ;;AACI,6BAA+B,YAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S,EAAA,I;AAAA;;;uEA8BnC,uH,IACE,yH,IACE;AAAA;AAAA,sBAIE,UAJF;;AAGE;;;;;AAHF;AAAA,sB,IAIE,I,EAAA;AAAA;;AAFA,0CAA+B,OAA/B,CAA+B,OAA/B,CAA+B,SAA/B,CAA+B,GAA/B;;AAFF,wBAEE,SAFF;AAEiC,S;AAAA;;;uEAQ/B;AAAA;AAAA,sBAOI,UAPJ;;AAGE;;;;;AAHF;AAAA,sB,IAKE,0I,IAA0B,+E,IAAA,I,EAAA;AAAA;;AAAA;AAE5B,S;AAAA;;;uEATJ,yH,IACE,4I,IACE,mI,GAAA;AAAA;AAAA,gB,GAOI;AALF;;AAFF,wBAEE,SAFF;AAEuD,S,EAAA,I;AAAA;;;uEAUzD,yH,IACE,wH,IAAK,+E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;AAKL,S;AAAA;;;uEAGA,wH,IAME,0I,IAAwC,I,EAAA;AAAlC;;AAAN,wBAAM,SAAN;AAAgC,S;AAAA;;;uEAGhC,wH,IAAK,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;uEAT7C,mI,GAAA;AAAA;AAAA;AAAA,gB,GAQA,0I,IAEc;AATZ;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AAIG,S,EAAA,I;AAAA;;;uEAbL,mI,GAAA;AAAA;AAAA;AAAA,gB,GAQA,uI,IAYc;AApBA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;uEAfrD,wI,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GAaA,2I,IAsBc;AAnCA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAiD,S,EAAA;AADf,kEAAyB,QAAzB,CAAyB,SAAzB,CAAyB,UAAzB;;AAApC,wBAAoC,SAApC;AAA6D,S;AAAA;;;uEAwCzD;AAAA;AAAA,sBAOS,UAPT;;AAGE;;;;;AAHF;AAAA,sB,GAIE,sQ,GAEA,6J,IAA6C,I,EAAA;AAF7C;;AAJF,wBAIE,SAJF;AAIkD,S;AAAA;;;uEAKlD;AAAA;AAAA,sBAOS,UAPT;;AAGE;;;;;AAHF;AAAA,sB,GAIE,sQ,GAEA,8J,IAA8C,I,EAAA;AAF9C;;AAJF,wBAIE,SAJF;AAI+C,S;AAAA;;;uEAK/C;AAAA;AAAA,sBAOS,UAPT;;AAGE;;;;;AAHF;AAAA,sB,GAIE,sQ,GAEA,+J,IAA+C,I,EAAA;AAF/C;;AAJF,wBAIE,SAJF;AAIiD,S;AAAA;;;uEAKjD,yH,IACE;AAAA;AAAA,sBASS,UATT;;AAKE;;;;;AALF;AAAA,sB,GAAA;AAAA;AAAA;AAAA;AAAA,gB,EAME,sQ,GAEA,0I,IAAqD;AAAA;AAPrD,4BAAkD,QAAlD,CAAkD,SAAlD,CAAkD,aAAlD;AACA,4BAAY,OAAZ,CAAY,OAAZ,CAAY,SAAZ;AACA,6BAAmB,KAAnB;;AAHF,wBACE,SADF,EAEE,SAFF,EAGE,SAHF;AAGqB,S,EAAA;AAGnB;;AANF,wBAME,SANF;;AAQQ;;AAAN,wBAAM,SAAN;AAA6C,S;AAAA;;;uEAvFvD,wH,IAEE,mI,GAAA;AAAA;AAAA,gB,GASA,mI,GAAA;AAAA;AAAA,gB,GAsCA,uH,IACE,wH,IACE,mI,GAAA;AAAA;AAAA,gB,GASA,mI,GAAA;AAAA;AAAA,gB,GASA,mI,GAAA;AAAA;AAAA,gB,GASA,mI,GAAA;AAAA;AAAA,gB,GAWe;AAAA;AAvFf,6BAAsB,eAAtB;;AAAJ,wBAAI,SAAJ;;AASI,6BAA+B,YAA/B;;AAAJ,wBAAI,SAAJ;;AAyCM,6BAAoB,aAApB;;AADF,wBACE,SADF;;AAUE,6BAAoB,aAApB;;AADF,yBACE,SADF;;AAUE,6BAAsB,eAAtB;;AADF,yBACE,SADF;;AASc,6BAAsC,gBAAtC;;AAAd,yBAAc,SAAd;AAAoD,S,EAAA,I;AAAA;;;uEAqB3D,yF,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;;AAAA;AAGD,S;AAAA;;;uEAPA,4H,GAAA;AAAA;AAAA,gB,GAOc;AANZ;;AADF,wBACE,SADF;AAC2B,S,EAAA,I;AAAA;;;uEAxI7B;AAAA;AAAA,sBA+IU,UA/IV;;AAOE;;;;;AAPF;AAAA,oN,GAAA,2L,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GASE,4H,GAAA;AAAA;AAAA,gB,GA8BA,4H,GAAA;AAAA;AAAA,gB,GAgGA,mI,GAAA;AAAA;AAAA,gB,GAOc;AAAA;AA3Id,gEAA6C,cAA7C,CAA6C,gBAA7C;AAGA,gEAAwC,cAAxC,CAAwC,gBAAxC;AALA,6BAAuB,cAAvB;AAGA,6BAAc,MAAd;AACA,6BAA6B,aAA7B;;AALF,wBAGE,SAHF,EAME,SANF,EACE,SADF,EAIE,SAJF,EAKE,SALF;;AASe;;AAAb,wBAAa,SAAb;;AA8Ba;;AAAb,wBAAa,SAAb;;AAmGE,gEAAuC,cAAvC,CAAuC,gBAAvC;;AAHF,wBAGE,SAHF;AAGyC,S,EAAA,I;AAAA;;;uEA1Q/C,yH,IACE,mI,GAAA;AAAA;AAAA;AAAA,gB,GA8HA,4I,IAiJc;AAAA;AA/QA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAwD,S,EAAA,I;AAAA;;;uEAoSxD;AAAA;AAAA,sBAK4B,UAL5B;;AAGE;;;;;AAHF;AAAA,gS,GAAA;AAAA;AAAA;AAAA;AAAA,U,GAK4B;AAAA;AAH1B,6BAAoB,YAApB;;AAFF,wBAEE,SAFF;AAEsB,S,EAAA,I;AAAA;;;uEAnB1B,0H,IACE,qM,GAAA,kP,GAKE,0gB,GAAA,2a,GAAU,qF,IAEZ,2L,GAAA;AAAA;AAAA;AAAA,gB,EAKE;AAAA;AAAA,U,EALF;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAKE;AAAA;AAAA,U,EALF,2Q,GASE,mI,GAAA;AAAA;AAAA,gB,GAK4B;AAAA;;AAhB5B;;AASA;;AAFA,2CAAuD,iBAAvD,CAAuD,UAAvD;;AALF,wBAOE,SAPF,EAKE,SALF;;AACE;AAEA;AADA;;AAFF,wBACE,SADF,EAGE,SAHF,EAEE,UAFF;;AAIE,+BAAoC,iBAApC,CAAoC,IAApC;;AAJF,yBAIE,UAJF;;AAKE,6CAAuD,iBAAvD,CAAuD,UAAvD;;AAEA;;AAPF,yBAKE,UALF,EAOE,UAPF;;AAUI,8BAAmB,YAAnB;;AADF,yBACE,UADF;AACqB,S,EAAA;AAAA;AAhBrB,6BAAsC,iBAAtC,CAAsC,UAAtC;;AADF,wBACE,SADF;;AAKE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAmC,S;AAAA;;;;;;;aA3Z3C;AAAA;AAAA,sBA+aM,UA/aN;;AAAuC;;;;;AAAvC;AAAA,sB,GAAA;AAAA;AAAA,U,GACE,kI,GAAA;AAAA;AAAA,gB,GACA,8N,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAOE,uM,GAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,EAAA,2Q,GASE,wJ,IACE,qJ,IACE,kI,GAAA;AAAA;AAAA,gB,GAKF,yH,IACE,kI,GAAA;AAAA;AAAA,gB,GASA,kI,GAAA;AAAA;AAAA,gB,GAcJ,kI,GAAA;AAAA;AAAA,gB,GAwDA,kI,GAAA;AAAA;AAAA,gB,GAwBA,mI,GAAA;AAAA;AAAA,gB,GAoRF,mI,GAAA;AAAA;AAAA,gB,GAwBe;AAAA;;AA7anB;;AACiB,gEAAiC,cAAjC,CAAiC,UAAjC;;AAAf,wBAAe,SAAf;;AAEE;;AADF,wBACE,SADF;;AAGE;;AAHF,wBAGE,SAHF;;AAKE;AAHA;;AAFF,yBAKE,SALF,EAEE,SAFF;;AAQI;;AAEA;AADA;;AAFF,yBACE,SADF,EAGE,SAHF,EAEE,SAFF;;AAKE,6BAAsC,iBAAtC,CAAsC,UAAtC;AADA,6BAAmC,iBAAnC,CAAmC,IAAnC;;AAJF,yBAKE,SALF,EAIE,SAJF;;AAWoB,8BAAY,KAAZ;;AAAd,yBAAc,UAAd;;AAOE,8BAAmB,YAAnB;;AADF,yBACE,UADF;;AAWE,yFAA2C,cAA3C;;AAFF,yBAEE,UAFF;;AAgBF,oFAA2C,WAA3C,CAA2C,MAA3C;;AAFF,yBAEE,UAFF;;AAwDc,+BAA6B,cAA7B,CAA6B,MAA7B;;AAAd,yBAAc,UAAd;;AAwBc,8BAA4B,cAA5B,CAA4B,MAA5B;;AAAd,yBAAc,UAAd;;AAoRY,+BAAuB,eAAvB;;AAAd,yBAAc,UAAd;AAAqC,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1YzC;AAAA;;;AAAA;AAAA;AAAA;;UAAaC,oB;;;;;;;;;;;;;;;;;;;ACVb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAQaC,+B;;;;;AAIX,iDAAoBlxC,iBAApB,EAA0D;AAAA;;AAAA;;AAAE;AAAxC,mBAAAA,iBAAA,GAAAA,iBAAA;AAHpB,mBAAAC,UAAA,GAAa,SAAKD,iBAAL,CAAuBC,UAApC;AACA,mBAAAC,eAAA,GAAkB,SAAKF,iBAAL,CAAuBE,eAAzC;AAE0D;AAAY;;;;iBAEtE,oBAAW,CACV;;;;QAPkD,6D;;;;;;;;;;;;;;;;;ACTrD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;ACCA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBaixC,wB;AAkBT,0CAAoBrwC,MAApB,EACW8K,YADX,EAEY9W,mBAFZ,EAGYD,aAHZ,EAIYE,gBAJZ,EAIgD;AAAA;;AAJ5B,eAAA+L,MAAA,GAAAA,MAAA;AACT,eAAA8K,YAAA,GAAAA,YAAA;AACC,eAAA9W,mBAAA,GAAAA,mBAAA;AACA,eAAAD,aAAA,GAAAA,aAAA;AACA,eAAAE,gBAAA,GAAAA,gBAAA;AAfF,eAAAq8C,eAAA,GAAkB,IAAI,0DAAJ,EAAlB;AACA,eAAAh8C,OAAA,GAAU,IAAI,0DAAJ,EAAV;AACV,eAAAi8C,QAAA,GAAW,IAAX;AACA,eAAAvD,SAAA,GAAY,IAAZ;AAGA,eAAAwD,WAAA,GAAyD,EAAzD;AACA,eAAAC,WAAA,GAAc,iGAAd;AASC;;;;iBAED,oBAAW;AACP,iBAAK3lC,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH;;;iBACD,qBAAY8J,OAAZ,EAAkC;AAC9B,gBAAI,KAAKsyC,eAAT,EAA0B;AACtB,mBAAKzjC,QAAL,GAAgB,wDAAW,KAAKyjC,eAAhB,CAAhB;AACA,mBAAK35B,WAAL;AACH;AACJ;;;iBACD,uBAAc;;;AACV,uBAAKjf,GAAL,MAAQ,IAAR,IAAQ,aAAR,GAAQ,MAAR,GAAQ,GAAElC,WAAF,EAAR;AACH;;;iBAED,sBAAaF,KAAb,EAAoB;AAChB,iBAAKuX,QAAL,CAAcvX,KAAd,aAAyBA,KAAzB;AACH;;;iBAED,oBAAWtB,OAAX,EAA4B;AACxB,gBAAMmI,SAAS,GAAG,KAAKyD,MAAL,CAAY2C,IAAZ,CAAiB,sFAAjB,EAAgC;AAC9CC,mBAAK,EAAE,KADuC;AAE9C5N,kBAAI,EAAE;AACF2J,mBAAG,EAAE,KAAKA,GADR;AAEFvK,uBAAO,EAAE,KAAKH,gBAAL,CAAsBqE,OAAtB,CAA8BlE,OAA9B;AAFP;AAFwC,aAAhC,CAAlB;AAOH;;;iBAED,uBAAc;AAAA;;;;AACV,gBAAI,KAAK6Y,QAAL,CAAcg+B,QAAlB,EAA4B;AACxB,mBAAKh+B,QAAL,CAAcvX,KAAd,GAAsB,EAAtB;AACA,mBAAKuX,QAAL,CAAc0jC,SAAd,GAA0B,EAA1B;AACA,mBAAK1jC,QAAL,CAAc2jC,UAAd,GAA2B,EAA3B;AACA,mBAAK3jC,QAAL,CAAc4jC,WAAd,GAA4B,KAA5B;AAEA,+BAAK5jC,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE+D,WAAf,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAErb,OAAF,CAAU,UAAA0D,CAAC;AAAA,uBAAIA,CAAC,CAACrE,IAAF,GAAS,EAAb;AAAA,eAAX,CAA1B;AACA,+BAAKiY,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE6E,eAAf,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEnc,OAAF,CAAU,UAAA0D,CAAC;AAAA,uBAAIA,CAAC,CAACqT,KAAF,GAAU,EAAd;AAAA,eAAX,CAA9B;AACH;;AACD,iBAAK6jC,QAAL,GAAgB,KAAhB;AACA,iBAAKvD,SAAL,GAAiB,KAAjB;AACA70C,sBAAU,CAAC;AAAA,qBAAM,QAAI,CAAC60C,SAAL,GAAiB,IAAvB;AAAA,aAAD,CAAV;AACH;;;iBAED,kBAASzgC,YAAT,EAAuB;AAAA;;AACnBpU,sBAAU,CAAC,YAAM;AACb,kBAAMwP,KAAK,GAAGvN,CAAC,CAAC,yCAAD,CAAf;;AACA,mBAAK,IAAIxB,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG+O,KAAK,CAACxO,MAAlC,EAA0CP,KAAK,EAA/C,EAAmD;AAC/CwB,iBAAC,CAACuN,KAAK,CAAC/O,KAAD,CAAN,CAAD,CAAgB4T,IAAhB;AACH;;AACD,sBAAI,CAAC+jC,QAAL,GAAgB,IAAhB;AACH,aANS,EAMP,GANO,CAAV;AAOH;;;iBAED,wBAAe;AAAA;;AACX,iBAAKtjC,QAAL,CAAcpB,MAAd,GAAuB,kEAAaC,QAApC;AACA,iBAAKhB,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAKA,OAAL,CAAauB,IAAb,CAAkB,IAAlB;AAEA,iBAAKiC,GAAL,GAAW,KAAK9D,mBAAL,CAAyBmtB,cAAzB,CAAwC,KAAK1pB,aAAL,CAAmBq5C,iBAA3D,EACP,KAAK7jC,QAAL,CAAchW,GADP,EACY;AAAEjC,kBAAI,EAAE,KAAK+7C,WAAL;AAAR,aADZ,EAENh5C,SAFM,CAEI,UAAA/C,IAAI,EAAI;AACf,sBAAI,CAAC8V,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;;AACA,sBAAI,CAACg8C,eAAL,CAAqBz6C,IAArB,CAA0B,QAAI,CAACoX,QAA/B;AACH,aALM,EAKJ,UAAA5U,KAAK,EAAI;AACR,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;;AACA,sBAAI,CAACA,OAAL,CAAauB,IAAb,CAAkB,KAAlB;;AACA,8EAAU,QAAI,CAAC9B,aAAf,EACI,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CADJ,EAEI,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,cAA9B,CAFJ,EAGI,IAHJ;AAKH,aAbM,CAAX;AAcH;;;iBAEO,uBAAc;AAAA;;;;AAClB,gBAAI,CAAJ,KAAI,KAAK04C,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE/5B,cAAxB,EAAwC;AACpC,kBAAMC,cAAc,GAAG,KAAKjK,QAAL,CAAckK,aAAd,GAA8B,KAAKlK,QAAL,CAAckK,aAAd,CAA4B/d,IAA5B,CAAiC,UAAAC,CAAC;AAAA,uBAAI,CAACA,CAAC,CAACqT,KAAP;AAAA,eAAlC,CAA9B,GAAgF;AAAE0K,uBAAO,EAAE;AAAX,eAAvG;AACA,mBAAKo5B,WAAL,GAAmBrrC,KAAK,CAACkS,IAAN,CAAW;AAAEle,sBAAM,EAAE,KAAK63C,aAAL,CAAmB/5B;AAA7B,eAAX,EAA0D,UAACxX,CAAD,EAAIsJ,CAAJ,EAAU;;;AACnF,uBAAO;AACHrT,uBAAK,YAAKqT,CAAC,GAAG,CAAT,CADF;AAEHqO,yBAAO,EAAE,CAAF,KAAEF,cAAc,SAAd,IAAAA,cAAc,WAAd,GAAc,MAAd,GAAAA,cAAc,CAAEE,OAAhB,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,EAAvB,GAAuB,MAAI,QAAI,CAACnK,QAAL,CAAckK,aAAd,CAA4B/d,IAA5B,CAAiC,UAAAC,CAAC;AAAA,2BAAIA,CAAC,CAACqT,KAAF,IAAW3D,CAAC,GAAG,CAAnB;AAAA,mBAAlC,CAAJ,MAA2D,IAA3D,IAA2D,aAA3D,GAA2D,MAA3D,GAA2D,GAAEqO;AAF1F,iBAAP;AAIH,eALkB,CAAnB;AAMH;AACJ;;;iBAEO,uBAAc;;;AAClB,gBAAMnK,QAAQ,GAAG,wDAAW,KAAKA,QAAhB,CAAjB;AACA,kBAAAA,QAAQ,CAAC6E,eAAT,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEnc,OAAF,CAAU,UAAA0D,CAAC;AAAA,qBAAIA,CAAC,CAACqT,KAAF,aAAarT,CAAC,CAACqT,KAAf,CAAJ;AAAA,aAAX,CAAxB;AACA,mBAAOO,QAAQ,CAACrC,oBAAhB;AACA,mBAAOqC,QAAQ,CAAChW,GAAhB;AACA,mBAAOgW,QAAP;AACH;;;;;;;;;;;;;;;;;;;;;ACzIL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAMagkC,2B;AAGX,6CAAoBhiB,EAApB,EACUiiB,QADV,EAEUhyC,iBAFV,EAEgD;AAAA;;AAF5B,eAAA+vB,EAAA,GAAAA,EAAA;AACV,eAAAiiB,QAAA,GAAAA,QAAA;AACA,eAAAhyC,iBAAA,GAAAA,iBAAA;AAAyC;;;;iBAEnD,oBAAW;AAAA;;AACT,iBAAKA,iBAAL,CAAuBE,eAAvB,CAAuCrH,SAAvC,CAAiD,UAACo5C,cAAD,EAAoB;AACnE,kBAAI,CAAC,QAAI,CAACx1C,MAAL,CAAYzB,IAAZ,CAAiB,UAAAb,CAAC;AAAA,uBAAIA,CAAC,IAAI83C,cAAc,CAACC,oBAAxB;AAAA,eAAlB,CAAL,EAAsE;AACpE,wBAAI,CAACF,QAAL,CAAcG,QAAd,CAAuB,QAAI,CAACpiB,EAAL,CAAQ35B,aAA/B,EAA8C,SAA9C,EAAyD,MAAzD;AACD;AACF,aAJD;AAKD;;;;;;;;;;;;;;;;;;;;;ACnBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoCag8C,kC;;;;;AA4BX;;;AAGA,oDAAmBl1C,QAAnB,EAAuC;AAAA;;AAAA;;AACrC,yCAAMA,QAAN;AADiB,mBAAAA,QAAA,GAAAA,QAAA;AAzBX,mBAAAu1B,MAAA,GAAc,IAAd;AAeE,mBAAA7zB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAEV,mBAAAyzC,gBAAA,GAAwC,IAAxC;AACA,mBAAAC,UAAA,GAAa,KAAb;AACA,mBAAA5f,YAAA,GAAe,IAAI,oDAAJ,CAAoC,IAApC,CAAf;AACA,mBAAAC,UAAA,GAAa,SAAKD,YAAL,CAAkBE,YAAlB,EAAb;;AAOG,mBAAK79B,gBAAL,CAAsBiK,YAAtB,CACEqB,IADF,CAEG,uDAAU,SAAKC,QAAf,CAFH,EAGG,uDAAU;AACRrB,gBAAI,EAAE,SAAKlK,gBAAL,CAAsBgK;AADpB,WAAV,CAHH,EAMG,iDAAI,UAACE,IAAD;AAAA,mBAAWA,IAAI,CAACA,IAAL,IAAa,IAAb,GAAoB,KAApB,GAA4B,KAAvC;AAAA,WAAJ,CANH,EAQEpG,SARF,CAQY,UAACqM,GAAD,EAAS;AAClB,qBAAKzF,GAAL,GAAWyF,GAAX;AACD,WAVF;;AAFoC;AAatC;;;;eAjCD,eAAmB;AACjB,mBAAO,KAAKutB,MAAZ;AACD,W;eAND,aACiBK,CADjB,EACoB;AAClB,iBAAKL,MAAL,GAAcK,CAAd;AACD;;;iBAoCD,qBAAY5zB,OAAZ,EAAkC;AAChC,gBAAI,CAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEpJ,IAAT,MAAiBoJ,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE1I,KAA1B,CAAJ,EAAqC;AACnC,mBAAKu8B,aAAL,CAAmB,KAAKj9B,IAAxB;AACD;AACF;;;iBAED,oBAAQ;AAAA;;AACN,iBAAK8xB,cAAL,CAAoBuM,eAApB,CACG9zB,IADH,CACQ,uDAAU,KAAKC,QAAf,CADR,EAEGzH,SAFH,CAEa,UAACqM,GAAD,EAAS;AAClB,sBAAI,CAACouB,WAAL,CAAiBpuB,GAAjB;AACD,aAJH;AAKD;;;iBAED,qBAAYqtC,gBAAZ,EAAgD;AAAA;;AAC9C,gBAAMC,KAAK,GAAG,KAAK9f,YAAL,CAAkB9rB,QAAlB,EAAd;AACA,gBAAMypB,KAAK,GAAwB;AACjCmJ,oBAAM,EAAE,EADyB;AAEjCiZ,yBAAW,EAAEF,gBAAgB,CAAC9rC,GAFG;AAGjCisC,0BAAY,EAAEH,gBAAgB,CAACxkC,QAHE;AAIjCiF,sBAAQ,EAAEw/B,KAAK,CAAC/rC,GAJiB;AAKjCyiB,qBAAO,EAAEspB,KAAK,CAACr1C,EALkB;AAMjCw1C,mBAAK,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEG,KANmB;AAOjCx3B,sBAAQ,EAAE;AAPuB,aAAnC;AAUA,gBAAMra,MAAM,GAAG,KAAKA,MAAL,CAAY2C,IAAZ,CACb,wEADa,EAEb;AACEC,mBAAK,EAAE,iBADT;AAEEC,wBAAU,EAAE,cAFd;AAGEkB,uBAAS,EAAE,KAAKpF,GAHlB;AAIE3J,kBAAI,EAAE;AACJkd,wBAAQ,EAAEw/B,KAAK,CAAC/rC,GADZ;AAEJsH,wBAAQ,EAAEsiB,KAFN;AAGJuT,oBAAI,EAAE;AAHF;AAJR,aAFa,CAAf;AAaA9iC,kBAAM,CACH8C,WADH,GAEGvD,IAFH,CAGI,oDAAOwyB,OAAP,CAHJ,EAII,uDAAU,KAAKvyB,QAAf,CAJJ,EAKI,uDAAU,UAACxK,IAAD,EAA+B;AACvC,kBAAM02B,OAAO,GAAG,oEAAY12B,IAAZ,CAAhB;AACA,qBAAO,QAAI,CAAC6xB,gBAAL,CAAsBirB,cAAtB,CAAqCpmB,OAArC,CAAP;AACD,aAHD,CALJ,EAUG3zB,SAVH,CAUa,UAACqM,GAAD,EAAS;AAClB,sBAAI,CAAC0iB,cAAL,CAAoBirB,WAApB,CAAgC3tC,GAAhC;AACD,aAZH;AAaD;;;iBAED,yBAAgB;AACd,iBAAKmtC,gBAAL,GAAwB,IAAxB;AACA,iBAAKC,UAAL,GAAkB,KAAlB;AACD;;;iBAED,sBAAavkC,QAAb,EAA4C;AAAA;;AAC1C,gBAAMykC,KAAK,GAAG,KAAK9f,YAAL,CAAkB9rB,QAAlB,EAAd;AACA,gBAAM9F,MAAM,GAAG,KAAKA,MAAL,CAAY2C,IAAZ,CACb,wEADa,EAEb;AACEC,mBAAK,EAAE,iBADT;AAEEC,wBAAU,EAAE,cAFd;AAGEkB,uBAAS,EAAE,KAAKpF,GAHlB;AAIE3J,kBAAI,EAAE;AACJkd,wBAAQ,EAAEw/B,KAAK,CAAC/rC,GADZ;AAEJsH,wBAAQ,EAAEA,QAFN;AAGJ61B,oBAAI,EAAE;AAHF;AAJR,aAFa,CAAf;AAaA9iC,kBAAM,CACH8C,WADH,GAEGvD,IAFH,CAGI,oDAAOwyB,OAAP,CAHJ,EAII,uDAAU,KAAKvyB,QAAf,CAJJ,EAKI,uDAAU,UAACxK,IAAD,EAA+B;AACvC,kBAAM02B,OAAO,GAAG,oEAAY12B,IAAZ,CAAhB;AACA,qBAAO,QAAI,CAAC6xB,gBAAL,CAAsBmrB,cAAtB,CAAqCtmB,OAArC,CAAP;AACD,aAHD,CALJ,EAUG3zB,SAVH,CAUa,UAACqM,GAAD,EAAS;AAClB,sBAAI,CAAC0iB,cAAL,CAAoBmrB,YAApB;;AACA,sBAAI,CAACC,iBAAL;AACD,aAbH;AAcD;;;iBAED,wBAAejlC,QAAf,EAA8C;AAAA;;AAC5C,iBAAKklC,cAAL,CAAoB;AAClBnrB,yBAAW,EAAE,KAAK/yB,gBAAL,CAAsBqE,OAAtB,CAA8B,qBAA9B,CADK;AAElByuB,yBAAW,EAAE,KAAK9yB,gBAAL,CAAsBqE,OAAtB,CACX,0CADW;AAFK,aAApB,EAMGwK,WANH,GAOGvD,IAPH,CAQI,oDAAOwyB,OAAP,CARJ,EASI,uDAAU,UAACtyB,CAAD,EAAO;AACf,qBAAO,QAAI,CAAConB,gBAAL,CAAsBurB,cAAtB,CAAqCnlC,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAE5Q,EAA/C,CAAP;AACD,aAFD,CATJ,EAYI,wDAAW,UAAChE,KAAD,EAAW;AACpB,sBAAI,CAACg6C,eAAL;;AACA,qBAAO,wDAAW;AAAA,uBAAMh6C,KAAN;AAAA,eAAX,CAAP;AACD,aAHD,CAZJ,EAiBGN,SAjBH,CAiBa,UAACqM,GAAD,EAAS;AAClB,sBAAI,CAAC0iB,cAAL,CAAoBwrB,eAApB,CAAoCrlC,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAE5Q,EAA9C;AACD,aAnBH;AAoBD;;;iBAED,sBAAa4Q,QAAb,EAA4C;AAC1C,iBAAKskC,gBAAL,GAAwBtkC,QAAxB;AACA,iBAAKukC,UAAL,GAAkB,IAAlB;AACD;;;iBAED,qBAAY9lB,OAAZ,EAAqB;AACnB,iBAAKh2B,KAAL,GAAa,wDAAWg2B,OAAX,CAAb;AACA,iBAAK5tB,WAAL,CAAiBjI,IAAjB,CAAsB61B,OAAtB;AACD;;;iBAEO,uBAAch2B,KAAd,EAA0C;AAAA;;;;AAChD,gBAAMV,IAAI,GAAG,CAAH,WAAG,KAAKA,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAEoB,cAAX,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEpB,IAAxC;AACA,gBAAM2Q,GAAG,GAAG,CAAA3Q,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEk9B,UAAN,MAAoBx8B,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEw8B,UAA3B,CAAZ;;AACA,gBAAIvsB,GAAJ,EAAS;AACP,mBAAKkhB,gBAAL,CACGsL,YADH,CACgBxsB,GADhB,EAEGpG,IAFH,CAEQ,uDAAU,KAAKC,QAAf,CAFR,EAGGzH,SAHH,CAGa,UAACqM,GAAD,EAAS;AAClB,wBAAI,CAACwtB,YAAL,CAAkB1vB,IAAlB,CAAuB,MAAD,OAAC,CAAD,kBACjB,QAAI,CAAC0vB,YAAL,CAAkB9rB,QAAlB,EADiB,CAAC,EACU;AAC/BH,qBAAG,EAAEvB,GAAG,CAAC8N,QADsB;AAE/B7V,oBAAE,EAAE+H,GAAG,CAAC/H,EAFuB;AAG/BlG,2BAAS,EAAEiO,GAAG,CAACjO,SAHgB;AAI/Bi8B,wBAAM,EAAEhuB,GAAG,CAACiuB,WAJmB;AAK/Bwf,uBAAK,EAAEztC,GAAG,CAACytC,KALoB;AAM/BU,2BAAS,EAAEnuC,GAAG,SAAH,IAAAA,GAAG,WAAH,GAAG,MAAH,GAAAA,GAAG,CAAEmuC;AANe,iBADV,CAAvB;AASD,eAbH;AAcD;AACF;;;;QA3LO,mD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECrCV,4J,GAAoB,wL,GAAA,I,EAAA;AAAA;;AAAA,8JAAoC,eAApC;;AAApB,wBAAoB,SAApB;AAAwD,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECkBjD;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;mBACqE,0E,GAAA,sQ,GACxD,4E,IAAA;AAFC;;AAAd,wBAAc,SAAd;AAA6C,S,EAAA;AAA7C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AACqE;;AAAA;AACxD,S;AAAA;;;uEAEZ;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;;;;;;;s4BAC2B,4E,GAAA,sQ,GAE3B;AAHuC;;AAAvC,wBAAuC,SAAvC;;AACC;;AADD,wBACC,SADD;;AAAA;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAC2B;;AAAA;AAE3B,S;AAAA;;;uEAEA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;kBAAuC;AAAA;AAAA,U,EAAA,wD,EAAvC;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,sa,EAAA,+c,GAC2B,4E,GAAA,sQ,GAE3B;AAHuC;;AAAvC,wBAAuC,SAAvC;;AACC;;AADD,wBACC,SADD;;AAAA;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAC2B;;AAAA;AAE3B,S;AAAA;;;uEAIA;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;;;;;;;o1BAAmF,0E,GAAA,sQ,GAEhF;AAF4B;;AAA/B,wBAA+B,SAA/B;;AAAyD;;AAAzD,wBAAyD,SAAzD;;AAAA;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAmF;;AAAA;AAEhF,S;AAAA;;;uEACH;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;;;;;;;o1BAC2B,0E,GAAA,sQ,GAAqC;AADhC;;AAAhC,wBAAgC,SAAhC;;AACC;;AADD,wBACC,SADD;;AAAA;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAC2B;;AAAA;AAAqC,S;AAAA;;;uEAJhE,iH,GAAA;AAAA;AAAA,gB,GAGA,iH,GAAA;AAAA;AAAA,gB,GACoE,4E,IAAA;AAAA;AAJtD,6BAAgB,SAAhB;;AAAd,wBAAc,SAAd;;AAGc,8BAAiB,SAAjB;;AAAd,wBAAc,SAAd;AAA+B,S,EAAA,I;AAAA;;;uEAOhC;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mBACC,gJ,IACC,oK,IAMkD,4E,IAAA;AARI;;AAAxD,wBAAwD,SAAxD;AAAkF,S,EAAA;AAAA;AAAlF;AAAA;;AAAA;;AAEO;AAMF,8DAA8B,YAA9B,CAA8B,SAA9B;;AANH,wBAAK,SAAL,EAMG,SANH;AAMiC,S;AAAA;;;uEAGnC;AAAA;AAAA,sBAEM,UAFN;;AAAuB;;;;;AAAvB;AAAA,sB,IAA0D,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE1D,S;AAAA;;;uEAaA;AAAA;AAAA;;AAAA;;;;;;;;;;AACC;;;;;AADD;AAAA,8N,GAAA,0Z,GAC8C,+E,IAE9C,I,EAAA;AAHA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGS,S;AAAA;;;uEACT;AAAA;AAAA;;AAAA;;;;;;;;;;AACC;;;;;AADD;AAAA,8N,GAAA,0Z,GAC8C,2E,IAE9C,I,EAAA;AAHA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGS,S;AAAA;;;uEAaR,+I,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA;AAAA,gB,GACwC;AADG;AAC1C,qCAAkC,OAAlC,CAAkC,MAAlC,CAAkC,OAAlC,CAAkC,SAAlC,CAAkC,IAAlC;;AADD,wBAA2C,SAA3C,EACC,SADD;;AACC,qCAAkC,OAAlC,CAAkC,MAAlC,CAAkC,OAAlC,CAAkC,SAAlC,CAAkC,IAAlC;AAD0C;;AAA3C,wBACC,SADD,EAA2C,SAA3C;AAA+D,S,EAAA,I;AAAA;;;uEAE/D,uI,IAAuF,I,EAAA;AAA7C;;AAA1C,wBAA0C,SAA1C;AAAkF,S;AAAA;;;uEANrF,0H,IACC,mJ,IACC;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;;YAA0D,wD,EAA1D,+c,GAEC,kH,GAAA;AAAA;AAAA,gB,GAEA,kH,GAAA;AAAA;AAAA,gB,GACA,iJ,IAAyB,8E,GAAA,sQ,GAAgC;AALvD,4BAA4B,OAA5B,CAA4B,OAA5B,CAA4B,SAA5B,CAA4B,IAA5B;;AAAH,wBAAG,SAAH;;AAA0D;;AAA1D,wBAA0D,SAA1D;;AAAA;;AAEI;;AAAH,yBAAG,SAAH;;AAEG;;AAAH,yBAAG,SAAH;AAAyC,S,EAAA;AAJ1C;;AAAA;;AAAA;;AAK0B;;AAAA;AAAgC,S;AAAA;;;uEAR7D,yH,IACC,kH,GAAA;AAAA;AAAA;AAAA;AAAA,gB,GAUe,4E,IAAA;AAVD;AAAA;AAAA,4BAAgF,QAAhF,CAAgF,SAAhF,CAAgF,WAAhF;;AAAd,wBAAc,SAAd,EAAc,SAAd,EAAc,SAAd;AAA8F,S,EAAA,I;AAAA;;;uEAe/F;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;84BACC,sH,IAAM,6E,GAAA,sQ,GACN,sH,IAAM,oF,IAA0D;AAFnB;;AAA9C,wBAA8C,SAA9C;;AAAA;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACO;;AAAA;;AACA;AAAA;;AAAA;AAA0D,S;AAAA;;;uEAGhE,yH,IAAiE,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEjE,S;AAAA;;;uEACqB,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAErB,S;AAAA;;;uEAND;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;84BACC,+G,GAAA;AAAA;AAAA;AAAA,gB,GAGA,mH,IAEc;AAAA;AANO;;AAAtB,wBAAsB,SAAtB;;AAAA;;AACe;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAgE,S,EAAA;AADjE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAOS,S;AAAA;;;uEACT;AAAA;AAAA;;AAAA;;;;;;;;;;AAAsB;;;;;AAAtB;AAAA,8N,GAAA,wa,GAA0D,4E,GAAA,sQ,GAE1D,I,EAAA;AAFA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA0D;;AAAA;AAE1D,S;AAAA;;;uEACA;AAAA;AAAA;;AAAA;;;;;;;;;;AAAsB;;;;;AAAtB;AAAA,8N,GAAA,wa,GAA0D,4E,GAAA,sQ,GAE1D,I,EAAA;AAFA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA0D;;AAAA;AAE1D,S;AAAA;;;uEAtHJ,2J,IACC,sc,GAAA,kV,EAAA;AAAA;AAAA,U,GACC,sN,GAAA,mK,GACC,+L,IACC,yI,IACC,oJ,IACC;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;qeACA;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;qeAGF,mJ,IACC,4I,IACC,kK,GAAA;AAAA;AAAA,gB,GAEC;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,sGAAA,E,0GAAA,C;;;;;;;;s1BAAsE,2E,GAAA,sQ,GAItE,iH,GAAA;AAAA;AAAA;AAAA,gB,GAGA,6Z,GAAA,6M,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACC,8G,GAAA;AAAA;AAAA,gB,GAKA,8G,GAAA;AAAA;AAAA,gB,GAMD,kI,IASF,iJ,IACC,wH,IACC,iH,GAAA;AAAA;AAAA,gB,GAWA,iH,GAAA;AAAA;AAAA,gB,GAID,wH,IACC,wK,IACC,kP,IAEC,k4B,IAMH,4I,IACC,iH,GAAA;AAAA;AAAA,gB,GAIA,kH,GAAA;AAAA;AAAA,gB,GAUJ,0L,IACC,kH,GAAA;AAAA;AAAA,gB,GAeD,wY,GAAA,6M,EAAA,gW,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACC,+G,GAAA;AAAA;AAAA,gB,GAIA,+G,GAAA;AAAA;AAAA,gB,GAQA,+G,GAAA;AAAA;AAAA,gB,GAGA,+G,GAAA;AAAA;AAAA,gB,GAES;AAAA;AAhHiD;;AAAxD,yBAAwD,SAAxD;;AAAA;;AACwD;;AAAxD,yBAAwD,SAAxD;;AAAA;;AAKM;;AAAN,yBAAM,SAAN;;AAEe;;AAAd,yBAAc,UAAd;;AAA4C;;AAA5C,yBAA4C,UAA5C;;AAAA;;AAKC;;AAAA;;AADD,yBACC,UADD,EACC,UADD;;AAG+B;;AAA/B,yBAA+B,UAA/B;;AACuB,8BAAgB,SAAhB;;AAAtB,yBAAsB,UAAtB;;AAKsB,8BAAgB,SAAhB;;AAAtB,yBAAsB,UAAtB;;AAiBI,8BAAgB,SAAhB;;AAAL,yBAAK,UAAL;;AAWK,+BAAiB,SAAjB;;AAAL,yBAAK,UAAL;;AAesB;;AAAtB,yBAAsB,UAAtB;;AAIsB;;AAAtB,yBAAsB,UAAtB;;AAWW,8BAAkC,UAAlC;;AAAd,yBAAc,UAAd;;AAeD;;AACiF,8BAAgB,SAAhB;;AAAhF,yBAAgF,UAAhF;;AAI4D,8BAAgB,SAAhB;;AAA5D,yBAA4D,UAA5D;;AAQyC,8BAAgB,SAAhB;;AAAzC,yBAAyC,UAAzC;;AAGwC,+BAAiB,SAAjB;;AAAxC,yBAAwC,UAAxC;AAAyD,S,EAAA;AAnH5D;AAAA;;AAAA;;AAaM;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAsE;;AAAA;;AAOtE;AAAA;AAAA;;AAAA;;AA+EJ;AAAA;AAAA;;AAAA;AAmBW,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACtHd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMv2C,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,4BAD8C;AAEpDW,gBAAQ,EAAE,4BAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASs2C,kCAAT,CAA4Cp2C,QAA5C,EAAgE;AACtE,wFAA8BJ,iBAA9B,EAAiD,uGAAjD,EAAoFI,QAApF;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECZD;AAAA;AAAA,sBAcmC,UAdnC;;AAEC;;;;;AASA;;;;;AAXD;AAAA,0P,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,kN,GAcmC;AAAA;AAblC;AACA,6BAAuB,UAAvB;;AAFD,wBACC,SADD,EAEC,SAFD;;AAaC,gEAAoD,cAApD,CAAoD,gBAApD;AAPA,8BAAqB,SAArB;AACA,8BAAqB,SAArB;AACA,8BAAmB,QAAnB;AACA,8BAAmB,QAAnB;AAGA,8BAAqB,SAArB;AATA,iEAA4C,cAA5C,CAA4C,QAA5C;AAOA,8BAAuB,SAAvB;AANA,8CAAmC,SAAnC;AACA,8BAAwB,SAAxB;;AALD,wBAaC,SAbD,EAMC,UAND,EAOC,UAPD,EAQC,UARD,EASC,UATD,EAYC,UAZD,EAGC,UAHD,EAUC,UAVD,EAIC,UAJD,EAKC,UALD;AAKyB,S,EAAA;AALzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAcmC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aCdnC,qK,IAEE,yI,IACE;AAAA;AAAA,sBAMS,UANT;;AAIE;;;;;AAJF;AAAA,8N,GAAA,oX,EAAA;AAAA;AAAA;AAAA,gB,EAEE,sQ,GAGA,mhB,GAAA,wa,GAAgC,0E,IAGlC,4f,GAAA,6J,GAA2B;AAAA;AALzB,6GAA6D,cAA7D,CAA6D,SAA7D,CAA6D,eAA7D;;AADA,iQAA4E,cAA5E,CAA4E,SAA5E,CAA4E,OAA5E;;AAFF,wBAGE,SAHF,EAEE,SAFF;;AAKE;AAA+E,S,EAAA;AAAA;AAN9E,6EAAiD,cAAjD,CAAiD,YAAjD;;AAAL,wBAAK,SAAL;;AACE;AAAA;;AAAA;;AAAA;;AAKE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAgC;;AAAA;;AAGlC;;AAAA;;AAAA;;AAAA;;AAAA;AAA2B,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACX/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKA,UAAMq2C,WAAW,GAAG,SAAdA,WAAc,CAAC5wB,CAAD;AAAA,eAAuBA,CAAC,IAAI,IAAIA,CAAR,CAAxB;AAAA,OAApB;;;;UAMa6wB,gB;AAgCT,kCACqBC,UADrB,EAEqBzB,QAFrB,EAGqB1xC,QAHrB,EAGsC;AAAA;;AAFjB,eAAAmzC,UAAA,GAAAA,UAAA;AACA,eAAAzB,QAAA,GAAAA,QAAA;AACA,eAAA1xC,QAAA,GAAAA,QAAA;AAlCJ,eAAAozC,MAAA,GAAS,IAAI,oDAAJ,CAAoB,CAApB,CAAT;AACA,eAAAC,SAAA,GAAY,IAAI,oDAAJ,CAAoB,IAApB,CAAZ;AAEA,eAAAC,aAAA,GAAgB,2DAAc,CAC3C,KAAKF,MADsC,EAE3C,KAAKC,SAFsC,CAAd,EAG9BtzC,IAH8B,CAI7B,uDAAU,kBAAuB;AAAA;AAAA,gBAArB0c,KAAqB;AAAA,gBAAd82B,QAAc;;AAC7B,gBAAMC,SAAS,GAAG,6DAAwBxtB,GAAxB,EAAlB;AACA,mBAAO,sDAAS,CAAT,EAAY,4DAAZ,EAAqCjmB,IAArC,CACH,iDAAI;AAAA,qBAAM,6DAAwBimB,GAAxB,KAAgCwtB,SAAtC;AAAA,aAAJ,CADG,EAEH,iDAAI,UAACC,WAAD;AAAA,qBAAiBA,WAAW,GAAGF,QAA/B;AAAA,aAAJ,CAFG,EAGH,uDAAU,UAACG,QAAD;AAAA,qBAAcA,QAAQ,IAAI,CAA1B;AAAA,aAAV,CAHG,EAIH,iDAAIT,WAAJ,CAJG,EAKH,iDAAI,UAACS,QAAD;AAAA,qBAAcxtB,IAAI,CAACC,KAAL,CAAWutB,QAAQ,GAAGj3B,KAAtB,CAAd;AAAA,aAAJ,CALG,EAMH,qDAAQA,KAAR,CANG,EAOH,mEAPG,CAAP;AASH,WAXD,CAJ6B,CAAhB;AAgCZ;;;;eAdL,aACUA,KADV,EACyB;AACrB,iBAAK22B,MAAL,CAAY1wC,IAAZ,CAAiBwjB,IAAI,CAACC,KAAL,CAAW1J,KAAX,CAAjB;AACH;;;eAED,aACa82B,QADb,EAC+B;AAC3B,iBAAKF,SAAL,CAAe3wC,IAAf,CAAoB6wC,QAApB;AACH;;;iBAQD,oBAAQ;AACJ,iBAAKI,mBAAL;AACH;;;iBAEO,+BAAmB;AAAA;;AACvB,iBAAKL,aAAL,CACKvzC,IADL,CACU,uDAAU,KAAKC,QAAf,CADV,EAEKzH,SAFL,CAEe,UAACq7C,YAAD,EAAkB;AACzB,sBAAI,CAAClC,QAAL,CAAcmC,WAAd,CACI,QAAI,CAACV,UAAL,CAAgBr9C,aADpB,EAEI,WAFJ,EAGI89C,YAHJ;AAKH,aARL;AASH;;;;;;;;;;;;;;;;;;;;;AC5DL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKA,UAAME,KAAK,GAAG,CAAC,uEAAD,EAAoB,4DAApB,EAAkC,wEAAlC,CAAd;;UAOaC,iB;;;;;;;;;;;;;;;;;;;ACfb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;ACAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAqBaC,0B;AAQT,4CACWj3C,SADX,EAEoCvH,IAFpC,EAGW8V,YAHX,EAIY/W,aAJZ,EAKYE,gBALZ,EAMYD,mBANZ,EAMsD;AAAA;;AAL3C,eAAAuI,SAAA,GAAAA,SAAA;AACyB,eAAAvH,IAAA,GAAAA,IAAA;AACzB,eAAA8V,YAAA,GAAAA,YAAA;AACC,eAAA/W,aAAA,GAAAA,aAAA;AACA,eAAAE,gBAAA,GAAAA,gBAAA;AACA,eAAAD,mBAAA,GAAAA,mBAAA;AAXZ,eAAAy/C,kBAAA,GAAqB,IAAI,0DAAJ,EAArB;AAEQ,eAAA5+C,IAAA,GAAuB,EAAvB;AAUP;;;;eATD,aAAQC,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAW/C,oBAAW;AAAA;;AACP,gBAAI,KAAKE,IAAL,CAAU0+C,cAAd,EAA8B;AAC1B;AACA,mBAAK57C,GAAL,GAAW,KAAK67C,gBAAL,CAAsB,KAAK3+C,IAAL,CAAU2T,YAAhC,EAA8C,IAA9C,EACN5Q,SADM,CACI,UAAA/C,IAAI,EAAI;AACf,oBAAM4+C,WAAW,GAAG,QAAI,CAAC5+C,IAAL,CAAU2T,YAAV,CAAuBkrC,oBAAvB,CAA4Cz6C,IAA5C,CAAiD,UAAAC,CAAC;AAAA,yBAAIA,CAAC,CAACsM,GAAF,IAAS,QAAI,CAAC3Q,IAAL,CAAU0+C,cAAvB;AAAA,iBAAlD,CAApB;;AACA,wBAAI,CAACI,YAAL,CAAkBF,WAAlB;AACH,eAJM,CAAX;AAKH,aAPD,MAOO;AACH,mBAAKx+C,QAAL,CAAc,KAAKJ,IAAL,CAAU2T,YAAxB;AACH;AACJ;;;iBACD,uBAAc;AACV,iBAAK9T,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACH;;;iBAED,2BAAkB;AACd,iBAAKm+C,iBAAL;AACA,iBAAKC,qBAAL;AACH;;;iBAED,iBAAQ;;;AACJ,gBAAI,YAAKh/C,IAAL,CAAUuN,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEpJ,MAApB,IAA6B,CAAjC,EAAoC;AAChC,mBAAK86C,IAAL,CAAU,KAAKj/C,IAAL,CAAUuN,QAAV,CAAmB,KAAKvN,IAAL,CAAUuN,QAAV,CAAmBpJ,MAAnB,GAA4B,CAA/C,CAAV;AACH,aAFD,MAGK,KAAKoD,SAAL,CAAeS,KAAf;AACR;;;iBAED,sBAAazE,IAAb,EAAmB;AACf6J,mBAAO,CAACC,GAAR,CAAY9J,IAAZ;AACA,iBAAKvD,IAAL,CAAU2T,YAAV,GAAyBpQ,IAAzB;AACA,iBAAKvD,IAAL,CAAUuN,QAAV,CAAmBxN,IAAnB,CAAwBwD,IAAxB;AACA,iBAAKnD,QAAL,CAAcmD,IAAd;AACH;;;iBAED,cAAKA,IAAL,EAAW;AACP6J,mBAAO,CAACC,GAAR,CAAY9J,IAAZ;AACA,gBAAMK,KAAK,GAAG,KAAK5D,IAAL,CAAUuN,QAAV,CAAmBsL,SAAnB,CAA6B,UAAAxU,CAAC;AAAA,qBAAIA,CAAC,CAACgD,EAAF,IAAQ9D,IAAI,CAAC8D,EAAjB;AAAA,aAA9B,CAAd;;AACA,gBAAIzD,KAAK,IAAI,CAAb,EAAgB;AACZ,mBAAK5D,IAAL,CAAU2T,YAAV,GAAyBpQ,IAAzB;AACA,mBAAKvD,IAAL,CAAUuN,QAAV,CAAmBvJ,MAAnB,CAA0BJ,KAA1B;;AACA,kBAAI,CAAC,KAAK5D,IAAL,CAAUuN,QAAV,CAAmBpJ,MAAxB,EAAgC;AAAE,qBAAKnE,IAAL,CAAUuN,QAAV,CAAmBxN,IAAnB,CAAwBwD,IAAxB;AAAgC;AACrE;;AACD,iBAAKw7C,iBAAL;AACA,iBAAKC,qBAAL;AACH;;;iBAED,wBAAe/mC,QAAf,EAAyB;AACrB,iBAAKinC,eAAL,GAAuBjnC,QAAvB;AACH;;;iBAED,yBAAgBA,QAAhB,EAA0C;AACtC,iBAAKnC,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,gBAAMsE,KAAK,GAAG,KAAK5D,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDtmC,SAAjD,CAA2D,UAAAxU,CAAC;AAAA,qBAAIA,CAAC,CAACpC,GAAF,IAASgW,QAAQ,CAAChW,GAAtB;AAAA,aAA5D,CAAd;AACA,gBAAMm9C,eAAe,GAAG,KAAKp/C,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDv7C,KAAjD,EAAwDiT,MAAxD,IAAkEoB,QAAQ,CAACpB,MAAnG;AAEA,gBAAIwoC,oBAAoB,GAAG,wDAAW,KAAKr/C,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDv7C,KAAjD,CAAX,CAA3B;AAEA,iBAAK5D,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDv7C,KAAjD,IAA0DqU,QAA1D;AACA,iBAAKjY,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,sBAAuD,KAAKn/C,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAA9E;AACA,iBAAKn/C,IAAL,CAAU2T,YAAV,GAAyB,KAAK3T,IAAL,CAAU2T,YAAnC;AACA,iBAAKurC,eAAL,GAAuBjnC,QAAvB;AACA,iBAAKqnC,gBAAL,CAAsBD,oBAAtB;AACH;;;iBAED,yBAAgBlqC,QAAhB,EAA0C;AACtC,iBAAKnV,IAAL,CAAU2T,YAAV,CAAuB4rC,cAAvB,GAAwCpqC,QAAQ,CAACoqC,cAAjD;AACA,iBAAKv/C,IAAL,CAAU2T,YAAV,CAAuB6rC,yBAAvB,GAAmDrqC,QAAQ,CAACqqC,yBAA5D;AACA,iBAAKx/C,IAAL,CAAU2T,YAAV,GAAyB,KAAK3T,IAAL,CAAU2T,YAAnC;AACH;;;eAED,eAAkB;AACd,gBAAI4J,IAAI,GAAG,CAAX;;AACA,gBAAI,KAAKvd,IAAL,CAAU2J,GAAV,IAAiB,KAArB,EAA4B;AACxB4T,kBAAI,GAAGmT,IAAI,CAAC+uB,IAAL,CAAU,KAAKz/C,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDh7C,MAAjD,GAA0D,CAApE,IAAyE,CAAhF;AACH;;AACD,mBAAOoZ,IAAI,GAAG,CAAP,GAAW,CAAX,GAAeA,IAAtB;AACH;;;iBAEO,0BAAiB8hC,oBAAjB,EAAwD;AAAA;;;;AAC5D,gBAAM98C,KAAK,GAAG,EAAd;AACA,gBAAMm9C,kBAAkB,GAAG,KAAK1/C,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiD51C,MAAjD,CAAwD,UAAAlF,CAAC;AAAA,qBAAIA,CAAC,CAACwS,MAAN;AAAA,aAAzD,EAAuE1S,MAAlG;AACA,gBAAMw7C,YAAY,GAAG,KAAK3/C,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDh7C,MAAtE;AACA,iBAAKnE,IAAL,CAAU2T,YAAV,CAAuBisC,UAAvB,GAAoClvB,IAAI,CAAC+uB,IAAL,CAAWC,kBAAkB,GAAGC,YAAtB,GAAsC,GAAhD,CAApC;AAEA,gBAAME,YAAY,GAAG,KAAKC,gBAAL,CAAsB,KAAK9/C,IAAL,CAAU2T,YAAhC,EAA8C0rC,oBAA9C,CAArB;AACA,iBAAKr/C,IAAL,CAAU2T,YAAV,CAAuBqH,kBAAvB,GAA4C6kC,YAAY,CAAC7kC,kBAAzD;AACA,iBAAKhb,IAAL,CAAU2T,YAAV,CAAuBuH,uBAAvB,GAAiD6kC,UAAU,CAACF,YAAY,CAAC3kC,uBAAd,CAAV,CAAiD8kC,OAAjD,CAAyD,CAAzD,CAAjD;AAEAz9C,iBAAK,CAACxC,IAAN,CAAW,KAAKf,mBAAL,CACP0D,eADO,CACS,KAAK1C,IAAL,CAAUyC,aAAV,CAAwB6S,gBADjC,EAEH,KAAKtV,IAAL,CAAU2T,YAAV,CAAuB1R,GAFpB,EAGH,CAAC;AAEG,oBAAM,KAFT;AAGG,sBAAQ,kBAHX;AAIG,uBAAS,KAAKjC,IAAL,CAAU2T,YAAV,CAAuBisC;AAJnC,aAAD,EAMA;AAEI,oBAAM,KAFV;AAGI,sBAAQ,mBAHZ;AAII,uBAASG,UAAU,CAAC,KAAK//C,IAAL,CAAU2T,YAAV,CAAuBssC,eAAxB,CAAV,CAAmDD,OAAnD,CAA2D,CAA3D;AAJb,aANA,EAYA;AAEI,oBAAM,KAFV;AAGI,sBAAQ,0BAHZ;AAII,uBAAS,KAAKhgD,IAAL,CAAU2T,YAAV,CAAuBqH;AAJpC,aAZA,EAkBA;AAEI,oBAAM,KAFV;AAGI,sBAAQ,+BAHZ;AAII,uBAAS,KAAKhb,IAAL,CAAU2T,YAAV,CAAuBuH,uBAAvB,IAAgD,EAAhD,IAAsD,KAAKlb,IAAL,CAAU2T,YAAV,CAAuBuH,uBAAvB,IAAgD,IAAtG,IAA8G4V,KAAK,CAACtT,MAAM,CAAC,KAAKxd,IAAL,CAAU2T,YAAV,CAAuBuH,uBAAxB,CAAP,CAAnH,GAA8K,GAA9K,GAAqL6kC,UAAU,CAAC,KAAK//C,IAAL,CAAU2T,YAAV,CAAuBuH,uBAAxB,CAAV,CAA2D8kC,OAA3D,CAAmE,CAAnE;AAJlM,aAlBA,CAHG,CAAX;;AA4BA,gBAAI,KAAKhgD,IAAL,CAAU2T,YAAV,CAAuBisC,UAAvB,KAAiC,MAAI,KAAK5/C,IAAL,CAAU2T,YAAV,CAAuBiC,oBAA3B,MAA+C,IAA/C,IAA+C,aAA/C,GAA+C,MAA/C,GAA+C,GAAEipC,oBAAlF,CAAJ,EAA4G;AACxG,kBAAMqB,mBAAmB,GAAG,KAAKlgD,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CipC,oBAA5C,CAAiE16C,MAA7F;AACA,kBAAMg8C,yBAAyB,GAAG,KAAKngD,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CipC,oBAA5C,CAAiEt1C,MAAjE,CAAwE,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAACu7C,UAAF,IAAgB,GAApB;AAAA,eAAzE,EAAkGz7C,MAApI;AACA,mBAAKnE,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CgqC,UAA5C,GAAyDlvB,IAAI,CAAC+uB,IAAL,CAAWU,yBAAyB,GAAGD,mBAA7B,GAAoD,GAA9D,CAAzD;;AAEA,kBAAML,aAAY,GAAG,KAAKC,gBAAL,CAAsB,KAAK9/C,IAAL,CAAU2T,YAAV,CAAuBiC,oBAA7C,EAAmEypC,oBAAnE,CAArB;;AACA,mBAAKr/C,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CoF,kBAA5C,GAAiE6kC,aAAY,CAAC7kC,kBAA9E;AACA,mBAAKhb,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CsF,uBAA5C,GAAsE6kC,UAAU,CAACF,aAAY,CAAC3kC,uBAAd,CAAV,CAAiD8kC,OAAjD,CAAyD,CAAzD,CAAtE;AAGAz9C,mBAAK,CAACxC,IAAN,CAAW,KAAKf,mBAAL,CACP0D,eADO,CACS,KAAK1C,IAAL,CAAUyC,aAAV,CAAwB6S,gBADjC,EAEH,KAAKtV,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4C3T,GAFzC,EAGH,CAAC;AAEG,sBAAM,KAFT;AAGG,wBAAQ,kBAHX;AAIG,yBAAS,KAAKjC,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CgqC;AAJxD,eAAD,EAMA;AAEI,sBAAM,KAFV;AAGI,wBAAQ,mBAHZ;AAII,yBAASG,UAAU,CAAC,KAAK//C,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CqqC,eAA7C,CAAV,CAAwED,OAAxE,CAAgF,CAAhF;AAJb,eANA,EAaA;AAEI,sBAAM,KAFV;AAGI,wBAAQ,0BAHZ;AAII,yBAAS,KAAKhgD,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CoF;AAJzD,eAbA,EAmBA;AAEI,sBAAM,KAFV;AAGI,wBAAQ,+BAHZ;AAII,yBAAS,KAAKhb,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CsF,uBAA5C,IAAqE,EAArE,IAA2E,KAAKlb,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CsF,uBAA5C,IAAqE,IAAhJ,IAAwJ4V,KAAK,CAACtT,MAAM,CAAC,KAAKxd,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CsF,uBAA7C,CAAP,CAA7J,GAA6O,GAA7O,GAAmP6kC,UAAU,CAAC,KAAK//C,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CsF,uBAA7C,CAAV,CAAgF8kC,OAAhF,CAAwF,CAAxF;AAJhQ,eAnBA,CAHG,CAAX;AA6BH;;AACD,iBAAKl9C,GAAL,GAAW,sDAASP,KAAT,EAAgBQ,SAAhB,CAA0B,UAAA/C,IAAI,EAAI;AACzC,sBAAI,CAACA,IAAL,CAAU2T,YAAV,CAAuBysC,WAAvB,GAAqCL,UAAU,CAAC,QAAI,CAAC//C,IAAL,CAAU2T,YAAV,CAAuBssC,eAAxB,CAAV,CAAmDD,OAAnD,CAA2D,CAA3D,CAArC;;AACA,sBAAI,CAACvB,kBAAL,CAAwB59C,IAAxB,CAA6B,QAAI,CAACb,IAAL,CAAU2T,YAAvC;;AACA,kBAAI3T,IAAI,CAACmE,MAAL,GAAc,CAAlB,EAAqB,QAAI,CAACnE,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CwqC,WAA5C,GAA0DL,UAAU,CAAC,QAAI,CAAC//C,IAAL,CAAU2T,YAAV,CAAuBiC,oBAAvB,CAA4CqqC,eAA7C,CAAV,CAAwED,OAAxE,CAAgF,CAAhF,CAA1D;AACrB,sBAAI,CAAClqC,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,8EAAU,QAAI,CAACP,aAAf,EACI,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,yBAA9B,CADJ,EAEI,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,iCAA9B,CAFJ,EAGI,KAHJ;AAKH,aAVU,EAUR,UAAAD,KAAK,EAAI;AACR,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,8EAAU,QAAI,CAACP,aAAf,EACI,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CADJ,EAEI,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,cAA9B,CAFJ,EAGI,IAHJ;AAKH,aAjBU,CAAX;AAkBH;;;iBAED,yBAAgBE,KAAhB,EAAuB;AACnB,iBAAKsS,YAAL,CAAkBxW,OAAlB,GAA4BkE,KAA5B;AACH;;;iBAEO,0BAAiB2R,QAAjB,EAA2CkqC,oBAA3C,EAAiF;AACrF,gBAAInkC,uBAAuB,GAAG/F,QAAQ,CAAC+F,uBAAT,IAAoC,CAAlE;AACA,gBAAIF,kBAAkB,GAAG7F,QAAQ,CAAC6F,kBAAT,IAA+B,CAAxD;;AAEA,gBAAIqkC,oBAAoB,KAClB,CAACA,oBAAoB,CAACpJ,QAAtB,IAAkCoJ,oBAAoB,CAAC3+C,KAAxD,IACI,KAAKw+C,eAAL,CAAqBjJ,QAArB,IAAiCoJ,oBAAoB,CAAC3+C,KAAtD,IAA+D2+C,oBAAoB,CAACpJ,QAArB,IAAiC,KAAKiJ,eAAL,CAAqBjJ,QAFtG,CAAxB,EAE0I;AACtI;AACA/6B,qCAAuB,IAAI,CAAC,CAACmkC,oBAAoB,CAAC3+C,KAAtB,IAA+B,CAAhC,KAAsC2+C,oBAAoB,CAACgB,MAArB,IAA+B,CAArE,CAA3B;AACArlC,gCAAkB,IAAIqkC,oBAAoB,CAACgB,MAArB,IAA+B,CAArD;AACH;;AACD,gBAAI,CAAC,KAAKnB,eAAL,CAAqBjJ,QAA1B,EAAoC;AAChC/6B,qCAAuB,IAAI,CAAC,CAAC,KAAKgkC,eAAL,CAAqBx+C,KAAtB,IAA+B,CAAhC,KAAsC,KAAKw+C,eAAL,CAAqBmB,MAArB,IAA+B,CAArE,CAA3B;AACArlC,gCAAkB,IAAI,KAAKkkC,eAAL,CAAqBmB,MAArB,IAA+B,CAArD;AACH;;AACD,mBAAO;AACHnlC,qCAAuB,EAAEsC,MAAM,CAACtC,uBAAD,CAAN,CAAgC8kC,OAAhC,CAAwC,CAAxC,CADtB;AAEHhlC,gCAAkB,EAAEA;AAFjB,aAAP;AAIH;;;iBAEO,kBAAS7F,QAAT,EAAmC;;;AACvC,iBAAKW,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAK4/C,eAAL,GAAuB,IAAvB;;AACA,gBAAI,CAAJ,KAAI/pC,QAAQ,CAACmrC,mBAAT,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEn8C,MAAlC,EAA0C;AACtC,kBAAI,CAAJ,KAAIgR,QAAQ,CAACgqC,yBAAT,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEh7C,MAAxC,EAAgD;AAC5C,qBAAK2R,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,qBAAK0/C,qBAAL;AACA;AACH,eAJD,MAIO;AACH,qBAAKuB,aAAL,CAAmBprC,QAAnB;AACH;AACJ,aARD,MAQO;AACH,kBAAI,CAAJ,KAAIA,QAAQ,CAAC0pC,oBAAT,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAE16C,MAAnC,EAA2C;AACvC,qBAAK2R,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA;AACH,eAHD,MAGO;AACH,qBAAKq/C,gBAAL,CAAsBxpC,QAAtB;AACH;AACJ;AACJ;;;iBAEO,0BAAiBA,QAAjB,EAA+D;AAAA;;AAAA,gBAApBqrC,UAAoB,uEAAP,KAAO;AACnE,gBAAMlrC,gBAAgB,GAAG,+CAAM7Q,WAAN,CAAkB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwB6S,gBAA1C,EAA4D;AAAEtV,kBAAI,EAAE,KAAKA,IAAL,CAAUA;AAAlB,aAA5D,CAAzB;AACA,gBAAMuV,gBAAgB,GAAG,+CAAM9Q,WAAN,CAAkB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwB8S,gBAA1C,EAA4D;AAAEvV,kBAAI,EAAE,KAAKA,IAAL,CAAUA,IAAlB;AAAwB2Q,iBAAG,EAAEwE,QAAQ,CAACxE;AAAtC,aAA5D,CAAzB;AAEA,gBAAMgc,MAAM,GAAG,KAAK3tB,mBAAL,CAAyByW,sBAAzB,CAAgDH,gBAAhD,YAAqEC,gBAArE,GACVhL,IADU,CACL,iDAAI,UAACwD,MAAD,EAAmB;AACzBoH,sBAAQ,CAAC0pC,oBAAT,GAAgC,gEAAWnpC,aAAX,CAAyB3H,MAAM,CAAClJ,GAAP,CAA2B,UAAAoN,CAAC,EAAI;AACrF,oBAAM1O,IAAI,GAAG,IAAI,mEAAJ,EAAb;AACA,oBAAMoS,UAAU,GAAG,MAAH,OAAG,CAAH;AAAK1T,qBAAG,EAAEgQ,CAAC,CAAChQ;AAAZ,iBAAG,EAAiBgQ,CAAC,CAACjS,IAAnB,CAAnB;AACAuD,oBAAI,CAACsI,KAAL,GAAasJ,QAAQ,CAACtJ,KAAtB;;AACA,gFAAW/G,SAAX,CAAqB6Q,UAArB,EAAiCpS,IAAjC;;AACA,oBAAIA,IAAI,CAACg8C,cAAT,EACIh8C,IAAI,CAACg8C,cAAL,GAAsBh8C,IAAI,CAACg8C,cAAL,CAAoB16C,GAApB,CAAwB,UAAA4T,CAAC,EAAI;AAC/C,sBAAMC,MAAM,GAAG,IAAI,wEAAJ,EAAf;;AACA,kFAAW5T,SAAX,CAAqB2T,CAArB,EAAwBC,MAAxB;;AACA,yBAAOA,MAAP;AACH,iBAJqB,CAAtB,CADJ,KAMKnV,IAAI,CAACg8C,cAAL,GAAsB,EAAtB;AACLh8C,oBAAI,CAACqS,oBAAL,GAA4BT,QAA5B;AACA5R,oBAAI,CAACk9C,mBAAL,GAA2B,QAAI,CAACzgD,IAAL,CAAUg8C,aAArC;AACA,uBAAOz4C,IAAP;AACH,eAfwD,CAAzB,EAe5B,KAf4B,CAAhC;AAgBH,aAjBK,CADK,CAAf;AAmBA,gBAAIi9C,UAAJ,EAAgB,OAAO7zB,MAAP;AAChB,iBAAK7pB,GAAL,GAAW6pB,MAAM,CAAC5pB,SAAP,CAAiB,UAAAgL,MAAM,EAAI;AAClC,sBAAI,CAACgxC,iBAAL;;AACA,sBAAI,CAACjpC,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aAHU,EAGR,UAAA+D,KAAK;AAAA,qBAAI,QAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAAhC;AAAA,aAHG,CAAX;AAIH;;;iBAEO,uBAAc6V,QAAd,EAAwC;AAAA;;AAC5C,gBAAM2mC,iBAAiB,GAAG,+CAAMr3C,WAAN,CAAkB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwBq5C,iBAA1C,EAA6D;AAAE97C,kBAAI,EAAE,KAAKA,IAAL,CAAUA;AAAlB,aAA7D,CAA1B;AACA,gBAAM0gD,eAAe,GAAG,+CAAMj8C,WAAN,CAAkB,KAAKzE,IAAL,CAAUyC,aAAV,CAAwBi+C,eAA1C,EAA2D;AAAE1gD,kBAAI,EAAE,KAAKA,IAAL,CAAUA,IAAlB;AAAwBmV,sBAAQ,EAAEA;AAAlC,aAA3D,CAAxB;AACA,iBAAKrS,GAAL,GAAW,KAAK9D,mBAAL,CAAyByW,sBAAzB,CAAgDqmC,iBAAhD,YAAsE4E,eAAtE,GACN39C,SADM,CACI,UAACgL,MAAD,EAAmB;AAC1BoH,sBAAQ,CAACgqC,yBAAT,GAAqC,gEAAWryC,IAAX,CAAgBiB,MAAM,CAAClJ,GAAP,CAA2B,UAAAoN,CAAC,EAAI;;;AACjF,oBAAM1O,IAAI,GAAG,IAAI,mEAAJ,EAAb;AACA,oBAAMoS,UAAU,GAAG,MAAH,OAAG,CAAH;AAAK1T,qBAAG,EAAEgQ,CAAC,CAAChQ;AAAZ,iBAAG,EAAiBgQ,CAAC,CAACjS,IAAnB,CAAnB;;AACA,gFAAW8E,SAAX,CAAqB6Q,UAArB,EAAiCpS,IAAjC;;AACAA,oBAAI,CAACqS,oBAAL,GAA4BT,QAA5B;AAEA5R,oBAAI,CAAC4e,aAAL,GAAqB,OAAA5e,IAAI,CAAC4e,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEtd,GAAF,CAAM,UAAAkI,CAAC,EAAI;AAC9C,sBAAM4zC,MAAM,GAAG,IAAI,iEAAJ,EAAf;;AACA,kFAAW77C,SAAX,CAAqBiI,CAArB,EAAwB4zC,MAAxB;;AACA,yBAAOA,MAAP;AACH,iBAJsC,CAAlB,KAIf,EAJN;AAMAp9C,oBAAI,CAACyY,WAAL,GAAmB,OAAAzY,IAAI,CAACyY,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEnX,GAAF,CAAM,UAAAkI,CAAC,EAAI;AAC1C,sBAAM4zC,MAAM,GAAG,IAAI,sEAAJ,EAAf;;AACA,kFAAW77C,SAAX,CAAqBiI,CAArB,EAAwB4zC,MAAxB;;AACA,yBAAOA,MAAP;AACH,iBAJkC,CAAhB,KAIb,EAJN;AAMAp9C,oBAAI,CAACuZ,eAAL,GAAuB,gEAAWpH,aAAX,CAAyB,OAAAnS,IAAI,CAACuZ,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEjY,GAAF,CAAM,UAAAkI,CAAC,EAAI;AAC3E,sBAAM4zC,MAAM,GAAG,IAAI,0EAAJ,EAAf;AACA,mBAAC5zC,CAAC,CAAC2K,KAAH,GAAW3K,CAAC,CAAC2K,KAAF,GAAU,EAArB,GAA0B3K,CAAC,CAAC2K,KAAF,GAAU,CAAC3K,CAAC,CAAC2K,KAAvC;;AACA,kFAAW5S,SAAX,CAAqBiI,CAArB,EAAwB4zC,MAAxB;;AACA,yBAAOA,MAAP;AACH,iBALmE,CAApB,KAK1C,EALiB,EAKb,KALa,CAAvB;;AAOA,oBAAIp9C,IAAI,CAACq9C,kBAAT,EAA6B;AACzBr9C,sBAAI,CAACs9C,gBAAL,GAAwB,QAAI,CAAC7gD,IAAL,CAAUg8C,aAAV,CAAwB6E,gBAAhD;AACH;;AAED,uBAAOt9C,IAAP;AACH,eA9BoD,CAAhB,EA8BjC,QAAI,CAACvD,IAAL,CAAU2J,GAAV,IAAiB,KAAjB,GAAyB,MAAzB,GAAkC,KA9BD,CAArC;;AAgCA,sBAAI,CAACq1C,qBAAL;;AACA,sBAAI,CAAClpC,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aApCM,EAoCJ,UAAA+D,KAAK;AAAA,qBAAI,QAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAAhC;AAAA,aApCD,CAAX;AAqCH;;;iBAEO,6BAAoB;AAAA;;AACxB6D,sBAAU,CAAC,YAAM;AACb,kBAAI,QAAI,CAACnD,IAAL,CAAU2T,YAAV,CAAuBkrC,oBAAvB,IAA+C,QAAI,CAAC7+C,IAAL,CAAU2T,YAAV,CAAuBkrC,oBAAvB,CAA4C16C,MAA/F,EAAuG;AACnG,wBAAI,CAACnE,IAAL,CAAU2T,YAAV,CAAuBkrC,oBAAvB,CAA4Cl+C,OAA5C,CAAoD,UAAA4C,IAAI,EAAI;AACxD6B,mBAAC,gBAAS7B,IAAI,CAACtB,GAAd,2BAAD,CAA2C6+C,GAA3C,CAA+C,kBAA/C,EAAmEv9C,IAAI,CAACsI,KAAxE;AACH,iBAFD;AAGH;AACJ,aANS,CAAV;AAOH;;;iBAEO,iCAAwB;AAAA;;AAC5B,gBAAI,KAAK7L,IAAL,CAAUg8C,aAAV,CAAwB+E,kBAAxB,IAA8C,KAAK/gD,IAAL,CAAU2T,YAAV,CAAuBqtC,WAArE,IAAoF,KAAKhhD,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAA/G,EAA0I;AACtIh8C,wBAAU,CAAC,YAAM;AACb,oBAAMS,KAAK,GAAG,QAAI,CAAC5D,IAAL,CAAU2J,GAAV,IAAiB,KAAjB,GAAyB,QAAI,CAAC3J,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDh7C,MAAjD,GAA0D,CAAnF,GAAuF,CAArG;;AACA,wBAAI,CAAC42C,cAAL,CAAoB,QAAI,CAAC/6C,IAAL,CAAU2T,YAAV,CAAuBwrC,yBAAvB,CAAiDv7C,KAAjD,CAApB;AACH,eAHS,EAGP,GAHO,CAAV;AAIH;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UClVQq9C,oB;AAoBX,sCACUjnC,IADV,EAEUqE,cAFV,EAGSwd,MAHT,EAIU1V,QAJV,EAKUlnB,gBALV,EAK4C;AAAA;;AAAA;;AAJlC,eAAA+a,IAAA,GAAAA,IAAA;AACA,eAAAqE,cAAA,GAAAA,cAAA;AACD,eAAAwd,MAAA,GAAAA,MAAA;AACC,eAAA1V,QAAA,GAAAA,QAAA;AACA,eAAAlnB,gBAAA,GAAAA,gBAAA;AAxBV,eAAAiiD,WAAA,GAAc,IAAd;AACA,eAAAC,UAAA,GAAa,IAAb;AAGA,eAAAC,gBAAA,GAAsC,IAAI,0DAAJ,EAAtC;AACA,eAAAC,oBAAA,GAAuB,KAAvB;AACA,eAAAhgC,QAAA,GAAW,EAAX,CAkB4C,CAf5C;;AACQ,eAAAigC,cAAA,GAAiB,EAAjB,CAcoC,CAV5C;;AACQ,eAAAC,mBAAA,GAAsB,CAAtB;AAYN,eAAKC,OAAL;AACA,eAAKC,UAAL,GAAkB,KAAKC,gBAAL,EAAlB;AACA,eAAK3+C,SAAL;AACA,eAAK4+C,QAAL;AACA,eAAK1iD,gBAAL,CAAsBiK,YAAtB,CACGnG,SADH,CACa,UAAA/C,IAAI,EAAI;AACjB,oBAAI,CAAC+gB,kBAAL,CAAwB,IAAxB;AACD,WAHH;AAID;;;;eAxBD,eAAiB;AACf,mBAAO,KAAKugC,cAAZ;AACD;;;eAGD,eAAsB;AACpB,mBAAO,KAAKC,mBAAZ;AACD;;;iBAkBD,oBAAW;AAAA;;AACT,iBAAKK,UAAL,CAAgB,KAAKvjC,cAAL,CAAoBq7B,WAApB,EAAhB,EAAmD32C,SAAnD,CAA6D,UAAC/C,IAAD,EAAU;AACrE,sBAAI,CAACuhD,mBAAL,GAA2BvhD,IAA3B;AACD,aAFD;AAGD;;;iBAEK,mBAAU;;;;;;;;;AACd,0BAAI,KAAK6hD,gBAAL,KAA0B,IAA9B,EAAoC;AAClC,6BAAKJ,UAAL,GAAkB,KAAKC,gBAAL,EAAlB;AACD,uB,CACD;;;AAEAtkC,yBAAG,aAAM,sEAAYvD,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsB2M,MAAlD,CAAH;AACMA,4B,GAAS,IAAI,0CAAJ,CAAWpK,GAAX,C;AACf,2BAAK8jC,WAAL,GAAmB,qDAAW15B,MAAX,CAAnB;;;AAIY,6BAAM,KAAKrB,QAAL,CAAcsT,QAAd,EAAN;;;;;AAHN/f,6B;AAGJggB,6B;;AAEF,2BAAKwnB,WAAL,CAAiBM,OAAjB,CACE9nC,OADF,EAEE,YAAM;AACJ,gCAAI,CAACmoC,gBAAL,CAAsB,SAAtB;;AACA,gCAAI,CAACA,gBAAL,GAAwB,IAAxB;;AACA,4BAAI,CAAC,QAAI,CAACR,oBAAV,EAAgC;AAC9B,kCAAI,CAACA,oBAAL,GAA4B,IAA5B;AACD;AACF,uBARH;;;;;;;;;AAUD;;;iBAED,sBAAa;AACX,gBAAI,KAAKH,WAAL,KAAqB,IAAzB,EAA+B;AAC7B,mBAAKA,WAAL,CAAiBY,UAAjB;AACA,mBAAKZ,WAAL,GAAmB,IAAnB;AACD;;AACD,gBAAI,KAAK1X,YAAT,EAAuB;AACrB,mBAAKA,YAAL,CAAkB5oC,WAAlB;AACA,mBAAK4oC,YAAL,GAAoB,IAApB;AACD;;AACD,iBAAK6X,oBAAL,GAA4B,KAA5B;AACD;;;iBAID,qBAAY;AAAA;;AACV,iBAAKI,UAAL,CAAgBrwC,IAAhB,CAAqB,YAAM;AACzB,sBAAI,CAAC+vC,UAAL,GAAkB,QAAI,CAACD,WAAL,CAAiBn+C,SAAjB,CAA2B,0BAA3B,EAAuD,UAAA/C,IAAI,EAAI;AAC/E,oBAAMihB,YAAY,GAAGre,IAAI,CAAC+1B,KAAL,CAAW34B,IAAI,CAACs2B,IAAhB,CAArB;;AACA,wBAAI,CAACgrB,cAAL,CAAoBS,OAApB,CAA4B9gC,YAA5B;;AACA,wBAAI,CAAC0gC,QAAL;;AACA,wBAAI,CAACP,gBAAL,CAAsBvgD,IAAtB,CAA2BogB,YAA3B;AACD,eALiB,CAAlB;AAMD,aAPD;AAQD;;;iBAED,uBAAc;AACZ,gBAAI,KAAKkgC,UAAL,KAAoB,IAAxB,EAA8B;AAC5B,mBAAKA,UAAL,CAAgBvgD,WAAhB;AACD;AACF;;;iBAEO,4BAAgB;AAAA;;AACtB,mBAAO,IAAIk/B,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV;AAAA,qBAAsB,QAAI,CAAC6hB,gBAAL,GAAwB9hB,OAA9C;AAAA,aAAZ,CAAP;AACD;;;iBACD,oBAAW;AAAA;;AACT,iBAAK6hB,UAAL,CAAgB,KAAKvjC,cAAL,CAAoBq7B,WAApB,EAAhB,EAAmD32C,SAAnD,CAA6D,UAAC/C,IAAD,EAAU;AACrE,sBAAI,CAACuhD,mBAAL,GAA2BvhD,IAA3B;AACD,aAFD;AAGD;;;iBACD,8BAAsC;AAAA;;AAAA,gBAAnBgiD,SAAmB,uEAAP,KAAO;;AACpC,gBAAIA,SAAJ,EAAe;AACb,mBAAKV,cAAL,GAAsB,EAAtB;AACD;;AAED,gBAAMW,UAAU,GAAG,KAAKC,kBAAL,CAAwB,KAAK7jC,cAAL,CAAoBq7B,WAApB,EAAxB,EAA2D;AAC5En8B,kBAAI,EAAE,KAAK+jC,cAAL,CAAoBn9C,MAApB,GAA6B,CAA7B,GAAiCusB,IAAI,CAAC+uB,IAAL,CAAU,KAAK6B,cAAL,CAAoBn9C,MAApB,GAA6B,KAAKkd,QAA5C,CAAjC,GAAyF,CADnB;AAE5Etb,kBAAI,EAAE,KAAKsb,QAFiE;AAG5E8gC,mBAAK,EAAE,IAHqE;AAI5Er1C,kBAAI,EAAE,eAJsE;AAK5Es1C,oBAAM,EAAE,IALoE;AAM5Ej5C,kBAAI,EAAE,KAAKlK,gBAAL,CAAsBgK,WAAtB,CAAkCo5C,WAAlC;AANsE,aAA3D,CAAnB;AAQAJ,sBAAU,CAACl/C,SAAX,CAAqB,UAAC+d,aAAD,EAAmB;AACtC,sBAAI,CAACwgC,cAAL,GAAsB,QAAI,CAACA,cAAL,CAAoBt8C,MAApB,CAA2B8b,aAAa,CAAClU,KAAzC,CAAtB;AACD,aAFD;AAGA,mBAAOq1C,UAAP;AACD;;;iBACD,sBAAa;AACX,iBAAKV,mBAAL,GAA2B,CAA3B;AAEA;;;;AAID;;;iBACD,yBAAgB;AAAA;;AACd,iBAAKe,eAAL,CAAqB,KAAKjkC,cAAL,CAAoBq7B,WAApB,EAArB,EAAwD32C,SAAxD,CAAkE,YAAM;AACtE,sBAAI,CAACu+C,cAAL,CAAoB3gD,OAApB,CAA4B,UAAA4C,IAAI;AAAA,uBAAIA,IAAI,CAACsT,MAAL,GAAc,MAAlB;AAAA,eAAhC;AACD,aAFD;AAGD;;;iBACD,sBAAaoK,YAAb,EAA2C;AAAA;;AAAA,gBAAhBshC,MAAgB,uEAAP,KAAO;AACzC,gBAAMC,IAAI,GAAIvhC,YAAY,CAACpK,MAAb,KAAwB,SAAxB,IAAqCoK,YAAY,CAACpK,MAAb,KAAwB,KAA7D,IAAsE0rC,MAApF;;AACA,gBAAIC,IAAJ,EAAU;AACR,mBAAKC,YAAL,CAAkBxhC,YAAY,CAAC5Z,EAA/B,EAAmCtE,SAAnC,CAA6C,YAAM;AACjDke,4BAAY,CAACpK,MAAb,GAAsB,MAAtB;;AACA,wBAAI,CAAC8qC,QAAL;AACD,eAHD;AAID,aALD,MAKO;AACL,mBAAKe,cAAL,CAAoBzhC,YAAY,CAAC5Z,EAAjC,EAAqCtE,SAArC,CAA+C,YAAM;AACnDke,4BAAY,CAACpK,MAAb,GAAsB,SAAtB;;AACA,wBAAI,CAAC8qC,QAAL;AACD,eAHD;AAID;AACF;;;iBACD,4BAAmB1gC,YAAnB,EAAiC;AAAA;;AAC/B,iBAAK0hC,oBAAL,CAA0B1hC,YAAY,CAAC5Z,EAAvC,EAA2CtE,SAA3C,CAAqD,YAAM;AACzD,sBAAI,CAACu+C,cAAL,CAAoB/3C,MAApB,CAA2B,UAAChG,IAAD,EAAOK,KAAP,EAAiB;AAC1C,oBAAIL,IAAI,CAAC8D,EAAL,KAAY4Z,YAAY,CAAC5Z,EAA7B,EAAiC;AAC/B,0BAAI,CAACi6C,cAAL,CAAoBt9C,MAApB,CAA2BJ,KAA3B,EAAkC,CAAlC;;AACA;AACD;AACF,eALD;AAMD,aAPD;AAQD;;;iBAED,4BAAmB61C,MAAnB,EAA6C;AAAA,gBAAlBr2B,WAAkB,uEAAJ,EAAI;AAC3C,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,iDAAsG24B,MAAtG,CAAd;AACA,mBAAO,KAAKz/B,IAAL,CAAUlU,GAAV,CAAmBud,QAAnB,EAA6B;AAAE8S,qBAAO,EAAE,UAAX;AAAuB7Y,oBAAM,EAAE8F;AAA/B,aAA7B,EAA2E7Y,IAA3E,CACL,2DAAI,UAACq4C,IAAD;AAAA,qBAA8B;AAChCC,0BAAU,EAAED,IAAI,CAAClpC,OAAL,CAAa5T,GAAb,CAAiB,eAAjB,CADoB;AAEhC8G,qBAAK,EAAEg2C,IAAI,CAACtsB,IAAL,CAAUzxB,GAAV,CAAc,UAACtB,IAAD;AAAA,yBAAUA,IAAV;AAAA,iBAAd;AAFyB,eAA9B;AAAA,aAAJ,CADK,EAKL,qEAAc,CAAd,CALK,EAML,iEANK,CAAP;AAQD;;;iBACD,oBAAWk2C,MAAX,EAAqC;AAAA,gBAAlBr2B,WAAkB,uEAAJ,EAAI;AACnC,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,2CAAgG24B,MAAhG,CAAd;AACA,mBAAO,KAAKz/B,IAAL,CAAUlU,GAAV,CAAmBud,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,EAAP;AAED;;;iBACD,yBAAgBkvC,MAAhB,EAA0C;AAAA,gBAAlBr2B,WAAkB,uEAAJ,EAAI;AACxC,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,6CAAkG24B,MAAlG,CAAd;AACA,mBAAO,KAAKz/B,IAAL,CAAU2c,GAAV,CAAmBtT,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,EAAP;AAED;;;iBACD,uBAAckvC,MAAd,EAAwC;AAAA,gBAAlBr2B,WAAkB,uEAAJ,EAAI;AACtC,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,8CAAmG24B,MAAnG,CAAd;AACA,mBAAO,KAAKz/B,IAAL,CAAUlU,GAAV,CAAmBud,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,EAAP;AAED;;;iBACD,yBAAgBkvC,MAAhB,EAA0C;AAAA,gBAAlBr2B,WAAkB,uEAAJ,EAAI;AACxC,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,gDAAqG24B,MAArG,CAAd;AACA,mBAAO,KAAKz/B,IAAL,CAAU2c,GAAV,CAAmBtT,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,EAAP;AAED;;;iBACD,sBAAau4C,cAAb,EAA+C;AAAA,gBAAlB1/B,WAAkB,uEAAJ,EAAI;AAC7C,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,6CAAkGgiC,cAAlG,CAAd;AACA,mBAAO,KAAK9oC,IAAL,CAAU2c,GAAV,CAAmBtT,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,EAAP;AAED;;;iBACD,wBAAeu4C,cAAf,EAAiD;AAAA,gBAAlB1/B,WAAkB,uEAAJ,EAAI;AAC/C,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,+CAAoGgiC,cAApG,CAAd;AACA,mBAAO,KAAK9oC,IAAL,CAAU2c,GAAV,CAAmBtT,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,EAAP;AAED;;;iBACD,8BAAqBu4C,cAArB,EAAuD;AAAA,gBAAlB1/B,WAAkB,uEAAJ,EAAI;AACrD,gBAAMC,QAAQ,aAAM,sEAAYxJ,OAAlB,SAA4B,sEAAYgB,SAAZ,CAAsBiG,aAAlD,kCAAuFgiC,cAAvF,CAAd;AACA,mBAAO,KAAK9oC,IAAL,WAAsBqJ,QAAtB,EAAgC;AAAE/F,oBAAM,EAAE8F;AAAV,aAAhC,EAAyD7Y,IAAzD,EAAP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7NH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA0Baw4C,e;AACZ,iCACS/oC,IADT,EAESvS,QAFT,EAGSu7C,oBAHT,EAISngC,SAJT,EAIoC;AAAA;;AAH3B,eAAA7I,IAAA,GAAAA,IAAA;AACA,eAAAvS,QAAA,GAAAA,QAAA;AACA,eAAAu7C,oBAAA,GAAAA,oBAAA;AACA,eAAAngC,SAAA,GAAAA,SAAA;AACJ;;;;iBAEL,qBAAY6W,KAAZ,EAAmB;AAClB,mBAAO,KAAK1f,IAAL,CAAUlU,GAAV,WAAsB,yEAAYygB,MAAZ,CAAmBE,MAAzC,uCAA4EiT,KAA5E,EAAP;AACA;;;iBAED,uBAAcv4B,SAAd,EAAkE;AAAA,gBAAzC22C,MAAyC,uEAArB,mBAAqB;AACjE,gBAAMz0B,QAAQ,aAAM,yEAAYxJ,OAAlB,SAA4B,yEAAYgB,SAAZ,CAAsBgM,UAAlD,cAAgE1lB,SAAhE,YAAd;AACA,mBAAO,KAAK6Y,IAAL,CACLP,IADK,CACK4J,QADL,EACe;AACpBy0B,oBAAM,EAAEA;AADY,aADf,EAILvtC,IAJK,CAIA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CAJA,CAAP;AAKA;;;iBACD,qBAAYzhD,SAAZ,EAAgE;AAAA,gBAAzC22C,MAAyC,uEAArB,mBAAqB;AAC/D,gBAAMz0B,QAAQ,aAAM,yEAAYxJ,OAAlB,SAA4B,yEAAYgB,SAAZ,CAAsBgM,UAAlD,cAAgE1lB,SAAhE,UAAd;AACA,mBAAO,KAAK6Y,IAAL,CACLP,IADK,CACK4J,QADL,EACe;AACpBy0B,oBAAM,EAAEA;AADY,aADf,EAILvtC,IAJK,CAIA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CAJA,CAAP;AAKA;;;iBAED,qBAAYx/B,WAAZ,EAAuB;AAItB,mBAAO,KAAKpJ,IAAL,CACLlU,GADK,WACO,yEAAY+T,OADnB,SAC6B,yEAAYgB,SAAZ,CAAsBgM,UADnD,GACiE;AACtEsP,qBAAO,EAAE,UAD6D;AAEtE7Y,oBAAM,EAAE,KAAK0lC,oBAAL,CAA0BC,KAA1B,CAAgC7/B,WAAhC;AAF8D,aADjE,EAKL7Y,IALK,CAML,2DAAI,UAACq4C,IAAD,EAA6B;AAChC,qBAAO;AAAEh2C,qBAAK,EAAEg2C,IAAI,CAACtsB,IAAd;AAAoBusB,0BAAU,EAAED,IAAI,CAAClpC,OAAL,CAAa5T,GAAb,CAAiB,eAAjB;AAAhC,eAAP;AACA,aAFD,CANK,CAAP;AAUA;;;iBACD,uBAAcsd,WAAd,EAAyB;AACxB,mBAAO,KAAKpJ,IAAL,CACLlU,GADK,WACO,yEAAY+T,OADnB,SAC6B,yEAAYgB,SAAZ,CAAsBgM,UADnD,GACiE;AACtEvJ,oBAAM,EAAE,MAAF,OAAE,CAAF,kBACF8F,WADE,CAAE,EACO;AACdT,wBAAQ,EAAE,KAAKE,SAAL,CAAe5Z;AADX,eADP;AAD8D,aADjE,EAOLsB,IAPK,CAOA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CAPA,CAAP;AAQA;;;iBACD,gCAAuBv7C,EAAvB,EAAyB;AACxB,mBAAO,KAAK2S,IAAL,CACLlU,GADK,WACO,yEAAY+T,OADnB,SAC6B,yEAAYgB,SAAZ,CAAsBgM,UADnD,wBAC2Exf,EAD3E,GACiF;AACtFiW,oBAAM,EAAE;AACPqF,wBAAQ,EAAE,KAAKE,SAAL,CAAe5Z;AADlB;AAD8E,aADjF,EAMLsB,IANK,CAMA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CANA,CAAP;AAOA;;;iBAED,oBAAWxlC,GAAX,EAAgC;AAAA,gBAAhBgG,WAAgB,uEAAF,EAAE;AAC/B,gBAAMC,QAAQ,aAAMjG,GAAN,CAAd;AACA,mBAAO,KAAKpD,IAAL,CAAUlU,GAAV,CAAmBud,QAAnB,EAA6B;AAAE/F,oBAAM,EAAE8F;AAAV,aAA7B,EAAsD7Y,IAAtD,CACN,kEAAW,UAACggB,CAAD,EAAO;AACjB,oBAAMA,CAAN;AACA,aAFD,CADM,CAAP;AAKA;;;iBACD,sCAAyE;AAAA,gBAA9CnH,WAA8C,uEAAhC,EAAgC;AAAA,gBAA5B8/B,WAA4B,uEAAL,KAAK;AACxE,mBAAO,KAAKlpC,IAAL,CACLlU,GADK,WAEF,yEAAY+T,OAFV,SAEoBqpC,WAAW,GAAG,yEAAYroC,SAAZ,CAAsB8L,cAAzB,GAA0C,yEAAY9L,SAAZ,CAAsB6L,KAF/F,GAIL;AACCpJ,oBAAM,EAAE,MAAF,OAAE,CAAF,kBACF8F,WADE,CAAE,EAEJ,KAAK4/B,oBAAL,CAA0BC,KAA1B,CAAgC7/B,WAAhC,CAFI;AADT,aAJK,EAWL7Y,IAXK,CAWA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CAXA,CAAP;AAYA;;;iBACD,oBAAWv7C,EAAX,EAA+B;AAAA,gBAAhB+b,WAAgB,uEAAF,EAAE;AAC9B,mBAAO,KAAKpJ,IAAL,CACLlU,GADK,WACO,yEAAY+T,OADnB,SAC6B,yEAAYgB,SAAZ,CAAsBgM,UADnD,cACiExf,EADjE,GACuE;AAC5EiW,oBAAM,EAAE,KAAK0lC,oBAAL,CAA0BC,KAA1B,CAAgC7/B,WAAhC;AADoE,aADvE,EAIL7Y,IAJK,CAIA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CAJA,CAAP;AAKA;;;iBACD,wBAAev7C,EAAf,EAAiB;AAChB,mBAAO,KAAK2S,IAAL,CACLlU,GADK,WACO,yEAAY+T,OADnB,SAC6B,yEAAYgB,SAAZ,CAAsBgM,UADnD,GACiE;AACtEvJ,oBAAM,EAAE;AACP,6BAAajW;AADN;AAD8D,aADjE,EAMLkD,IANK,CAMA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CANA,CAAP;AAOA;;;iBACD,0BAAiB5mB,SAAjB,EAA4B;AAC3B,gBAAMzW,CAAC,GAAG,IAAIzd,IAAJ,CAAS,IAAIA,IAAJ,GAAW0Y,WAAX,EAAT,EAAmC,CAAnC,EAAsC,CAAtC,CAAV;AACA,mBAAO,KAAKxG,IAAL,CACLlU,GADK,WACO,yEAAY+T,OADnB,SAC6B,yEAAYgB,SAAZ,CAAsBoM,KADnD,GAC4D;AACjE3J,oBAAM,EAAE;AACP,kDAAkC,KAAK7V,QAAL,CAAcI,SAAd,CAAwB0d,CAAxB,EAA2B,qBAA3B,IAAoD,GAD/E;AAEP,oCAAoByW;AAFb;AADyD,aAD5D,EAOLzxB,IAPK,CAOA,2DAAI,UAACq4C,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAJ,CAPA,CAAP;AAQA;;;iBAED,iCAAqB;AACpB,mBAAO,KAAK5oC,IAAL,CAAUlU,GAAV,WACH,yEAAY+T,OADT,SACmB,yEAAYgB,SAAZ,CAAsBiM,qBADzC,EAAP;AAGA;;;iBAED,8BAAqBq8B,UAArB,EAAiChiD,SAAjC,EAA0C;AACzC,gBAAMkiB,QAAQ,aAAM,yEAAYxJ,OAAlB,SAA4B,yEAAYgB,SAAZ,CAAsB8M,eAAlD,cAAqEw7B,UAArE,sBAA2FhiD,SAA3F,eAAd;AACA,mBAAO,KAAK6Y,IAAL,CAAUlU,GAAV,CAAmBud,QAAnB,CAAP;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnJF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAQa+/B,gB;AAEZ,kCAAmB77C,SAAnB,EACiCvH,IADjC,EAES6d,MAFT,EAE+B;AAAA;;AAFZ,eAAAtW,SAAA,GAAAA,SAAA;AACc,eAAAvH,IAAA,GAAAA,IAAA;AACxB,eAAA6d,MAAA,GAAAA,MAAA;AACR;;;;iBACD,oBAAQ;AACP,iBAAKA,MAAL,CAAYve,OAAZ,GAAsB,KAAtB;AACA;;;iBAED,qBAAYkE,KAAZ,EAAwB;AACvB,gBAAIA,KAAK,CAAC8C,IAAN,IAAc,cAAlB,EAAkC,KAAKiB,SAAL,CAAeS,KAAf;AAClC;;;iBAED,sBAAaxE,KAAb,EAAyB;AACxB,iBAAK+D,SAAL,CAAeS,KAAf,CAAqBxE,KAAK,CAACxD,IAA3B;AACA;;;iBAED,sBAAa;AAAA;;AACZ,gBAAI;AACHmD,wBAAU,CAAC,YAAM;AAChB,oBAAMkgD,MAAM,GAAGj+C,CAAC,CAAC,SAAD,CAAhB;;AACA,oBAAI,CAACi+C,MAAL,EAAa;AACZ,0BAAI,CAACvP,UAAL;;AACA;AACA;;AACD3wC,0BAAU,CAAC;AAAA,yBAAMkgD,MAAM,CAAC73C,IAAP,CAAY,UAAZ,EAAwB,KAAxB,CAAN;AAAA,iBAAD,EAAuC,GAAvC,CAAV;AACA,eAPS,EAOP,GAPO,CAAV;AAQA,aATD,CASE,OAAO+e,CAAP,EAAU,CAAG;AACf;;;;;;;;;;;;;;;;;;;;;ACtCF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAmBa+4B,yB;;;;;AAiBX,2CAAoB3wB,SAApB,EACUzoB,iBADV,EAEUsxB,sBAFV,EAGUv8B,gBAHV,EAIUF,aAJV,EAIwC;AAAA;;AAAA;;AAAE;AAJtB,mBAAA4zB,SAAA,GAAAA,SAAA;AACV,mBAAAzoB,iBAAA,GAAAA,iBAAA;AACA,mBAAAsxB,sBAAA,GAAAA,sBAAA;AACA,mBAAAv8B,gBAAA,GAAAA,gBAAA;AACA,mBAAAF,aAAA,GAAAA,aAAA;AApBD,mBAAAqJ,QAAA,GAAW,KAAX;AACT,mBAAAyqB,cAAA,GAAiB,SAAK3oB,iBAAL,CAAuBE,eAAxC;AACA,mBAAAqX,gBAAA,GAA4B,KAA5B;AACA,mBAAAqR,kBAAA,GAAqB,6EAAiBC,kBAAtC;AAEA,mBAAApmB,UAAA,GAAoC,EAApC;AACA,mBAAAqmB,gBAAA,GAAmB,CACjB,cADiB,EAEjB,cAFiB,EAGjB,SAHiB,EAIjB,mBAJiB,EAKjB,SALiB,CAAnB;AAcwC;AAAY;;;;iBAEpD,oBAAW;AACT,iBAAKpO,OAAL;AACD;;;iBAED,qBAAYqO,aAAZ,EAAkI;AAAA;;AAAA,gBAAxFswB,OAAwF,uEAAzD,IAAyD;AAAA,gBAAnDpwB,UAAmD,uEAA7B,KAA6B;AAAA,gBAAtBvvB,KAAsB,uEAAN,IAAM;AAChI,gBAAM+F,GAAG,GAAG,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KAAhE;AACA,iBAAK0pB,SAAL,CAAehlB,IAAf,CAAoB,kGAApB,EAA6C;AAC3CC,mBAAK,EAAE,gBADoC;AAE3CmB,uBAAS,EAAEpF,GAFgC;AAG3CuV,uBAAS,EAAE,MAHgC;AAI3CC,uBAAS,EAAE,KAJgC;AAK3CnQ,0BAAY,EAAE,KAL6B;AAM3ChP,kBAAI,EAAE;AACJqI,wBAAQ,EAAE8qB,UADN;AAEJjW,wBAAQ,EAAE+V,aAAa,CAACI,aAAd,CAA4BnW,QAFlC;AAGJhV,qBAAK,EAAEq7C,OAAO,IAAI,IAAI,wFAAJ,EAHd;AAIJ55C,mBAAG,EAAEA;AAJD;AANqC,aAA7C,EAaGmE,WAbH,GAcGvD,IAdH,CAeI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAfJ,EAgBI,kDAAK,CAAL,CAhBJ,EAkBG+C,SAlBH,CAkBa,UAACgL,MAAD,EAAiB;AAC1B,kBAAM7F,KAAK,mCACN6F,MADM,GACA;AACTgzB,gCAAgB,EAAE,MADT;AAET7jB,wBAAQ,EAAE+V,aAAa,CAACI,aAAd,CAA4BnW;AAF7B,eADA,CAAX;AAMA,8DAAG,CAAC,CAACnP,MAAM,CAAC1G,EAAZ,EACGkD,IADH,CAEI,uDAAU,UAAC2rC,QAAD;AAAA,uBACR,iDACE;AAAA,yBAAMA,QAAN;AAAA,iBADF,EAEE,QAAI,CAAC1a,sBAAL,CAA4BgoB,uBAA5B,CAAoDt7C,KAApD,CAFF,EAGE,QAAI,CAACszB,sBAAL,CAA4BioB,yBAA5B,CAAsDv7C,KAAtD,CAHF,CADQ;AAAA,eAAV,CAFJ,EASI,sDAAS;AAAA,uBAAM,QAAI,CAACuZ,gBAAL,GAAwB,KAA9B;AAAA,eAAT,CATJ,EAWG1e,SAXH,CAWa,UAAAmF,KAAK,EAAI;AAClB,wBAAI,CAAC0c,OAAL;;AACA,gFAAU,QAAI,CAAC7lB,aAAf,EACE,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,kCAA9B,CADF,EAEE,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,0CAA9B,CAFF,EAGE,KAHF;AAKD,eAlBH;AAmBD,aA5CH;AA6CD;;;iBAED,uBAAc+D,EAAd,EAA0B;AAAA;;AACxB,gBAAMsC,GAAG,GAAG,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KAAhE;AACA,iBAAK0pB,SAAL,CAAehlB,IAAf,CAAoB,qEAApB,EAAiD;AAC/CoB,uBAAS,EAAEpF,GADoC;AAE/C3J,kBAAI,EAAE;AACJ2J,mBAAG,EAAEA,GADD;AAEJvK,uBAAO,EAAE,+CAFL;AAGJ6P,0BAAU,EAAE;AACVJ,oBAAE,EAAE,kBADM;AAEVC,wBAAM,EAAE;AAFE;AAHR,eAFyC;AAU/ClB,mBAAK,EAAE,MAVwC;AAW/CC,wBAAU,EAAE;AAXmC,aAAjD,EAaGC,WAbH,GAcGvD,IAdH,CAcQ,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAdR,EAeG+C,SAfH,CAea,YAAM;AACf,sBAAI,CAACy4B,sBAAL,CAA4BkoB,yBAA5B,CAAsDr8C,EAAtD,EACGkD,IADH,CACQ,uDAAU,QAAI,CAACC,QAAf,CADR,EAEGzH,SAFH,CAEa,YAAM;AACf,wBAAI,CAAC6hB,OAAL;;AACA,gFAAU,QAAI,CAAC7lB,aAAf,EACE,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,sCAA9B,CADF,EAEE,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,mDAA9B,CAFF,EAGE,KAHF;AAKD,eATH;AAUD,aA1BH;AA2BD;;;iBAEO,mBAAU;AAAA;;AAChB,iBAAKme,gBAAL,GAAwB,IAAxB;AACA,iBAAK+Z,sBAAL,CAA4BmoB,sBAA5B,CAAmD,KAAKz5C,iBAAL,CAAuBE,eAAvB,CAAuC0G,QAAvC,GAAkDuiB,aAAlD,CAAgEnW,QAAnH,EACG3S,IADH,CAEI,uDAAU,KAAKC,QAAf,CAFJ,EAGI,sDAAS;AAAA,qBAAM,QAAI,CAACiX,gBAAL,GAAwB,KAA9B;AAAA,aAAT,CAHJ,EAKG1e,SALH,CAKa,UAAA/C,IAAI,EAAI;AACjB,sBAAI,CAAC2M,UAAL,GAAkB3M,IAAlB;;AACA,sBAAI,CAACyzB,gBAAL;AACD,aARH;AASD;;;iBACO,4BAAmB;AACzB,gBAAM/yB,KAAK,GAAG,KAAKwJ,iBAAL,CAAuBuQ,QAAvB,CAAgC3J,QAAhC,EAAd;AACApQ,iBAAK,CAACunB,mBAAN,GAA4B,KAAKtb,UAAjC;AACA,iBAAKzC,iBAAL,CAAuBuQ,QAAvB,CAAgCvN,IAAhC,CAAqCxM,KAArC;AACD;;;;QA3H4C,6D;;;;;;;;;;;;;;;;;ACpB/C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAWakjD,6B;AAeT,+CAAoB3kD,gBAApB,EAAwD;AAAA;;AAAA;;AAApC,eAAAA,gBAAA,GAAAA,gBAAA;AAZX,eAAAyB,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAMF,eAAAjJ,IAAA,GAAuB,EAAvB;AAGR,eAAAgkD,OAAA,GAAU,CAAV;AAGI,eAAK76C,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAA/C,IAAI,EAAI;AAC5D,oBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACH,WAFU,CAAX;AAGH;;;;eATD,aAAQrJ,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAU/C,qBAAYsJ,OAAZ,EAAoC;AAChC,gBAAI,KAAK3G,aAAT,EAAwB;AACpB,mBAAKohD,OAAL,GAAe,KAAKnjD,KAAL,IAAc,KAAK+B,aAAL,WAAd,IAA4C,CAA3D;AACA,mBAAKiH,WAAL;AACH;AACJ;;;iBAED,uBAAc;AACV,gBAAI,KAAKpB,QAAT,EAAmB;AACf,kBACK,KAAK7F,aAAL,CAAmBkW,GAAnB,IAA0B,IAA1B,IAAkC,KAAKkrC,OAAL,GAAe,KAAKphD,aAAL,CAAmBkW,GAArE,IACC,KAAKlW,aAAL,CAAmB2rB,GAAnB,IAA0B,IAA1B,IAAkC,KAAKy1B,OAAL,GAAe,KAAKphD,aAAL,CAAmB2rB,GAFzE,EAGE;AACE,qBAAK1tB,KAAL,GAAa,IAAb;AACA,qBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;AACH;AACJ;;AAED,iBAAKA,KAAL,GAAa,KAAKmjD,OAAlB;AACA,iBAAK/6C,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACH;;;iBAED,uBAAc;;;AACV,gBAAI,YAAK+B,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEqhD,eAApB,MACC,KAAKD,OAAL,GAAe,KAAKphD,aAAL,CAAmBkW,GAAlC,IAAyC,KAAKkrC,OAAL,GAAe,KAAKphD,aAAL,CAAmB2rB,GAD5E,CAAJ,EACsF;AAClF,mBAAKy1B,OAAL,GAAe,KAAKphD,aAAL,eAA8B,CAA7C;AACA,mBAAKiH,WAAL;AACH;AACJ;;;iBAED,iBAAQ;AACJ,gBAAI,KAAKm6C,OAAL,IAAgB,KAAKphD,aAAL,CAAmBshD,IAAnB,IAA2B,CAA3C,KAAiD,KAAKthD,aAAL,CAAmBkW,GAAxE,EAA6E;AACzE,mBAAKkrC,OAAL,GAAe,KAAKA,OAAL,IAAgB,KAAKphD,aAAL,CAAmBshD,IAAnB,IAA2B,CAA3C,CAAf;AACA,mBAAKr6C,WAAL;AACH;AACJ;;;iBACD,eAAM;AACF,gBAAI,KAAKm6C,OAAL,IAAgB,KAAKphD,aAAL,CAAmBshD,IAAnB,IAA2B,CAA3C,KAAiD,KAAKthD,aAAL,CAAmB2rB,GAAxE,EAA6E;AACzE,mBAAKy1B,OAAL,GAAe,KAAKA,OAAL,IAAgB,KAAKphD,aAAL,CAAmBshD,IAAnB,IAA2B,CAA3C,CAAf;AACA,mBAAKr6C,WAAL;AACH;AACJ;;;iBAEO,yBAAgBP,IAAhB,EAAsB;AAAA;;AAC1B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAAE,sBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AAA2C,aAApD,CAAV;AACH;;;iBACD,uBAAc;AACV,iBAAKtJ,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACH;;;;;;;;;;;;;;;;;;;;;ACnFL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAcamkD,a;AAeT,+BAAmBx8C,EAAnB,EACYxI,mBADZ,EAEYoI,QAFZ,EAEgC;AAAA;;AAFb,eAAAI,EAAA,GAAAA,EAAA;AACP,eAAAxI,mBAAA,GAAAA,mBAAA;AACA,eAAAoI,QAAA,GAAAA,QAAA;AAfF,eAAAY,KAAA,GAAQ,IAAI,0DAAJ,EAAR;AAGV,eAAAzD,UAAA,GAAkB,EAAlB;AACA,eAAAyzC,SAAA,GAAY,KAAZ;AACA,eAAA7D,aAAA,GAAwB,EAAxB;AAKQ,eAAAt0C,IAAA,GAAuB,EAAvB;;AAMJ,cAAI;AACA,iBAAK0H,SAAL,GAAiBH,QAAQ,CAACtB,GAAT,CAAa,qEAAb,CAAjB;AACA,iBAAK8E,UAAL,GAAkBxD,QAAQ,CAACtB,GAAT,CAAa,wEAAb,CAAlB;AACH,WAHD,CAGE,WAAM,CAAG;AACd;;;;eATD,aAAQhG,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAU/C,oBAAW;AACP,gBAAI,CAAC,KAAKE,IAAV,EAAgB;AACZ,mBAAKA,IAAL,GAAY,KAAK4K,UAAjB;AACA,mBAAKq5C,WAAL,CAAiB,IAAjB;AACH;;AAEP7+C,aAAC,CAAC,8CAAD,CAAD,CAAkD8+C,MAAlD,CAAyD,YAAY;AACpE9+C,eAAC,CAAC,qBAAD,CAAD,CAAyB++C,IAAzB,CAA8B,UAACpwC,CAAD,EAAGxQ,IAAH,EAAY;AACzC6B,iBAAC,CAAC7B,IAAD,CAAD,CAAQ6gD,WAAR,CAAoB,MAApB;AACA,eAFD;AAGA,aAJD;AAKG;;;iBACD,qBAAYh7C,OAAZ,EAAoC;AAAA;;AAChC,iBAAK4uC,SAAL,GAAiB,KAAjB;AACA,iBAAK7D,aAAL,GAAqB,EAArB;AACA,iBAAKvyB,YAAL,GAAoB,EAApB;AACA,iBAAKrd,UAAL,GAAkB,EAAlB;AAEApB,sBAAU,CAAC,YAAM;AACb,kBAAIi1C,YAAY,GAAG,EAAnB;AACA,kBAAI,QAAI,CAACp4C,IAAL,CAAUysB,KAAd,EACI2rB,YAAY,GAAG,+CAAMvnC,QAAN,CAAe,QAAI,CAAC7Q,IAAL,CAAUysB,KAAzB,EAAgC;AAC3CloB,0BAAU,EAAE,QAAI,CAACvE,IAAL,CAAUA,IADqB;AAE3CqkD,mCAAmB,EAAE,QAAI,CAACrkD,IAAL,CAAUqkD,mBAFY;AAG3CxW,6BAAa,EAAE,QAAI,CAAC7tC,IAAL,CAAU6tC;AAHkB,eAAhC,CAAf;;AAMJ,kBAAI,QAAI,CAAC7tC,IAAL,CAAUm0C,aAAd,EAA6B;AACzB,oBAAMxoC,MAAM,GAAG,EAAf;;AACA,wBAAI,CAAC3L,IAAL,CAAUm0C,aAAV,CAAwBxzC,OAAxB,CAAgC,UAAA8R,OAAO,EAAI;AACvC,sBAAM6xC,YAAY,GAAG,+CAAMzzC,QAAN,CAAe4B,OAAO,WAAtB,EAAgC;AAAE8xC,4BAAQ,EAAE,QAAI,CAACvkD,IAAL,CAAUukD,QAAtB;AAAgC1W,iCAAa,EAAE,QAAI,CAAC7tC,IAAL,CAAU6tC;AAAzD,mBAAhC,CAArB;AACAuK,8BAAY,CAAC3lC,OAAO,CAAClM,IAAT,CAAZ,GAA6B+9C,YAA7B;AACA,sBAAI,CAAC,QAAI,CAACtkD,IAAL,CAAU8L,MAAX,IAAqB,+CAAM+E,QAAN,CAAe4B,OAAO,CAACrK,QAAvB,EAAiC;AAAEm8C,4BAAQ,EAAE,QAAI,CAACvkD,IAAL,CAAUukD;AAAtB,mBAAjC,CAAzB,EACI54C,MAAM,CAAC5L,IAAP,CAAY0S,OAAO,CAAClM,IAApB;AACP,iBALD;;AAMA,wBAAI,CAAC4tC,aAAL,GAAqBxoC,MAAM,CAAC7J,IAAP,EAArB;AACH;;AAGD,kBAAI,QAAI,CAAC9B,IAAL,CAAU6tC,aAAd,EACI,QAAI,CAACjsB,YAAL,GAAoB,QAAI,CAAC5hB,IAAL,CAAU6tC,aAAV,CAAwB5rC,GAA5C;;AAEJ,sBAAI,CAACuiD,YAAL,CAAkBpM,YAAlB;AACH,aAzBS,CAAV;AA0BH;;;iBAED,sBAAaA,YAAb,EAAgC;AAAA;;AAC5B,gBAAI,KAAKx2B,YAAT,EAAuB;AACnB,mBAAK9e,GAAL,GAAW,KAAK9D,mBAAL,CAAyB4b,iBAAzB,CAA2C,KAAK5a,IAAL,CAAUiN,QAArD,EAA+D,KAAK2U,YAApE,EACN7e,SADM,CACI,UAAA/C,IAAI,EAAI;AACf,wBAAI,CAACuE,UAAL,GAAkBvE,IAAlB;AACA,wBAAI,CAACuE,UAAL,CAAgBvE,IAAhB,GAAuB,MAAH,OAAG,CAAH,kBAAQo4C,YAAR,CAAG,EAAsB,QAAI,CAAC7zC,UAAL,CAAgBvE,IAAtC,CAAvB;AACA,wBAAI,CAACg4C,SAAL,GAAiB,IAAjB;AACH,eALM,CAAX;AAMH,aAPD,MAOO;AACH,mBAAKzzC,UAAL,CAAgBvE,IAAhB,GAAuB,MAAH,OAAG,CAAH,EAAG,EAAKo4C,YAAL,CAAvB;AACA,mBAAKJ,SAAL,GAAiB,IAAjB;AACH;AACJ;;;iBAED,sBAAa;AAAA;;AACT,gBAAI;AACA70C,wBAAU,CAAC,YAAM;AACb,oBAAMkgD,MAAM,GAAGj+C,CAAC,CAAC,gBAAD,CAAhB;;AACA,oBAAI,CAACi+C,MAAL,EAAa;AACT,0BAAI,CAACvP,UAAL;;AACA;AACH;;AACDuP,sBAAM,CAAC73C,IAAP,CAAY,UAAZ,EAAwB,KAAxB;AACH,eAPS,EAOP,GAPO,CAAV;AAQH,aATD,CASE,OAAO+e,CAAP,EAAU,CAAG;AAClB;;;iBAED,kBAAShmB,UAAT,EAAqB;AACjB,iBAAKvE,IAAL,CAAU6tC,aAAV,GAA0BtpC,UAA1B;AACA,iBAAKvE,IAAL,CAAU2L,MAAV,CAAiBpC,MAAjB,CAAwB,UAAAlF,CAAC;AAAA,qBAAIA,CAAC,CAAC6J,UAAN;AAAA,aAAzB,EAA2CvN,OAA3C,CAAmD,UAAA8R,OAAO,EAAI;AAC1DA,qBAAO,CAAC/R,KAAR,GAAgB6D,UAAU,CAACvE,IAAX,CAAgByS,OAAO,CAAClM,IAAxB,CAAhB;AACH,aAFD;AAGA,iBAAKyB,KAAL,CAAWnH,IAAX,CAAgB,KAAKb,IAArB;AACA,gBAAI,KAAKuH,SAAT,EAAoB,KAAKA,SAAL,CAAeS,KAAf,CAAqB,KAAKhI,IAA1B;AACvB;;;iBAED,uBAAcwD,KAAd,EAAqB;AACjB,gBAAIA,KAAK,CAAC8C,IAAN,IAAc,cAAlB,EAAkC;AAC9B,mBAAK0B,KAAL,CAAWnH,IAAX;AACA,kBAAI,KAAK0G,SAAT,EAAoB,KAAKA,SAAL,CAAeS,KAAf;AACvB;AACJ;;;iBAED,uBAAc;AACV,iBAAKnI,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjIL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAoCA,UAAY4kD,SAAZ;;AAAA,iBAAYA,SAAZ,EAAqB;AACpB;AACA;AACA;AACA,OAJD,EAAYA,SAAS,KAATA,SAAS,MAArB;;UAcaC,oC;AA2BZ,sDACS7oB,MADT,EAES78B,mBAFT,EAGSC,gBAHT,EAIS0lD,qBAJT,EAIqD;AAAA;;AAAA;;AAH5C,eAAA9oB,MAAA,GAAAA,MAAA;AACA,eAAA78B,mBAAA,GAAAA,mBAAA;AACA,eAAAC,gBAAA,GAAAA,gBAAA;AACA,eAAA0lD,qBAAA,GAAAA,qBAAA;AAvBA,eAAAjkD,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AASF,eAAAjJ,IAAA,GAAuB,EAAvB;AAKR,eAAA+kD,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AAEA,eAAAC,WAAA,GAAc,EAAd;;AAWA,eAAAC,SAAA,GAAY,UAACvhD,IAAD,EAAe;;;AAC1B,gBAAI,CAACA,IAAD,IAASmD,MAAM,CAAC8G,IAAP,CAAYjK,IAAZ,EAAkBY,MAAlB,KAA6B,CAA1C,EAA6C,OAAO,EAAP;AAC7C,mBAAO,QAAI,CAACwgD,qBAAL,CAA2B98C,SAA3B,CACNtE,IADM,EACF,MACJ,QAAI,CAACd,aADD,MACc,IADd,IACc,aADd,GACc,MADd,GACc,GAAEsiD,YAFd,CAAP;AAIA,WAND;;AAHC,eAAKC,WAAL;AACA;;;;eAfD,aAAQllD,CAAR,EAAyB;AACxB,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AACA;;;iBAuBD,qBAAYsJ,OAAZ,EAAoC;AACnC,iBAAKw7C,aAAL,CAAmB7zC,QAAnB,CAA4B,KAAKrQ,KAAjC;;AACA,iBAAKukD,oBAAL;;AACA,gBAAI,KAAKxiD,aAAT,EAAwB;AACvB,mBAAKyiD,mBAAL;AACA;;AACD,iBAAKC,aAAL;AACA;;;iBAED,oBAAQ;AACP,iBAAKC,gBAAL,CAAsBX,SAAS,CAACY,MAAhC,EAAwC;AACvCR,yBAAW,EAAE,KAAKA,WADqB;AAEvCS,0BAAY,EAAE,KAAK5kD;AAFoB,aAAxC;AAIA;;;iBAED,uBAAc;AACb,iBAAKb,IAAL,CAAUc,OAAV,CAAkB,UAACb,CAAD;AAAA,qBAAOA,CAAC,CAACc,WAAF,EAAP;AAAA,aAAlB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACA;;;iBAED,uBAAc;;;AACb,gBAAI,CAAJ,KAAI,KAAK4C,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE8iD,aAAxB,EAAuC;AACtC,mBAAK7kD,KAAL,GAAa,+CAAM+D,WAAN,CAAkB,KAAKhC,aAAL,CAAmB8iD,aAArC,EAAoD;AAChEvlD,oBAAI,EAAE,KAAKA,IADqD;AAEhEslD,4BAAY,EAAE,KAAKV,aAAL,CAAmBlkD,KAF+B;AAGhEmiB,yBAAS,EAAE,KAAK5jB;AAHgD,eAApD,CAAb;AAKA,mBAAK6J,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA,aAPD,MAOO;AACN,mBAAK8kD,UAAL;AACA;;AACD,iBAAKJ,gBAAL,CAAsBX,SAAS,CAACgB,aAAhC,EAA+C;AAC9CZ,yBAAW,EAAE,KAAKA,WAD4B;AAE9CS,0BAAY,EAAE,KAAK5kD,KAF2B;AAG9C6C,kBAAI,EAAE,KAAKqhD,aAAL,CAAmBlkD;AAHqB,aAA/C;;AAKA,iBAAKykD,aAAL;AACA;;;iBAED,4BAAgB;AACf,iBAAKO,mBAAL,CAAyBC,SAAzB;AACA;;;iBAEO,gCAAuB;AAC9B,gBAAI,KAAKv9C,QAAL,IAAiB,KAAKC,QAA1B,EAAoC;AACnC,mBAAKu8C,aAAL,CAAmBgB,OAAnB;AACA,aAFD,MAEO;AACN,mBAAKhB,aAAL,CAAmBt7B,MAAnB;AACA;AACD;;;iBAEO,+BAAsB;AAAA;;AAC7B,gBAAIqiB,YAAY,GAAG,EAAnB;AACA,gBAAI,KAAKlpC,aAAL,CAAmB2a,GAAvB,EACCuuB,YAAY,GAAG,+CAAMlnC,WAAN,CAAkB,KAAKhC,aAAL,CAAmB2a,GAArC,EAA0C;AACxD2vB,oBAAM,EAAE,KAAKlpC,eAAL,CAAqB6M,IAArB,CAA0B/I,IAA1B,CAA+BolC,MADiB;AAExD/sC,kBAAI,EAAE,KAAKA,IAF6C;AAGxD6iB,uBAAS,EAAE,KAAK5jB,gBAAL,CAAsBqE;AAHuB,aAA1C,CAAf;AAMD,iBAAKuiD,eAAL,GAAuB,KAAKjB,aAAL,CAAmBx5B,YAAnB,CAAgC7gB,IAAhC,CACtB,0DAAa,GAAb,CADsB,EAEtB,mEAFsB,EAGtB,iDAAI,UAACu7C,WAAD,EAAiB;;;AACpB,kBAAI,CAAJ,KAAI,QAAI,CAACrjD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEqhD,eAAxB,EAAyC,QAAI,CAACp6C,WAAL;AACzC,kBAAMlF,KAAK,GAAG,eAAI,CAAC/B,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE+B,KAApB,IACX,+CAAMqM,QAAN,CAAe,QAAI,CAACpO,aAAL,CAAmB+B,KAAlC,EAAyC;AACzCxE,oBAAI,EAAE,QAAI,CAACA,IAD8B;AAEzC8lD,2BAAW,EAAXA,WAFyC;AAGzCjjC,yBAAS,EAAE,QAAI,CAAC5jB;AAHyB,eAAzC,CADW,GAMX,EANH;AAOA,qBAAOuF,KAAP;AACA,aAVD,CAHsB,EActB,uDAAU,UAACA,KAAD;AAAA,qBACT,iDACC;AAAA,uBAAM,CAAC,CAACmnC,YAAR;AAAA,eADD,EAEC,QAAI,CAAC3sC,mBAAL,CAAyB0oC,IAAzB,CAA8BiE,YAA9B,EAA4CnnC,KAA5C,CAFD,EAGC,QAAI,CAACxF,mBAAL,CAAyB+mD,qBAAzB,CACC,QAAI,CAACtjD,aAAL,CAAmBwK,QADpB,EAECzI,KAFD,CAHD,EAOE+F,IAPF,CAQC,wDAAW,UAAClH,KAAD,EAAW;AACrB+J,uBAAO,CAACC,GAAR,CAAYhK,KAAZ;AACA,uBAAO,EAAP;AACA,eAHD,CARD,CADS;AAAA,aAAV,CAdsB,EA6BtB,iDAAI,UAACrD,IAAD,EAAU;AACb,sBAAI,CAAC6kD,WAAL,GAAmB7kD,IAAnB;;AACA,sBAAI,CAAColD,gBAAL,CAAsBX,SAAS,CAACuB,gBAAhC,EAAkD;AACjDnB,2BAAW,EAAE,QAAI,CAACA;AAD+B,eAAlD;AAGA,aALD,CA7BsB,CAAvB;AAoCA;;;iBAEO,sBAAa;AACpB,iBAAKnkD,KAAL,GAAa,IAAb;AACA,iBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;;;iBAEO,0BAAiBulD,KAAjB,EAAkE;AAAA,gBAAlC3oC,MAAkC,uEAAJ,EAAI;;AACzE,gBAAMwhB,IAAI,GAAG,KAAKonB,QAAL,CAAcD,KAAd,CAAb;;AACA,mBAAO,CAAAnnB,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEqnB,MAAN,IAAe,KAAKC,SAAL,CAAetnB,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEunB,OAArB,EAA8B/oC,MAA9B,CAAf,GAAuD,IAA9D;AACA;;;iBAEO,kBAASwhB,IAAT,EAAuB;;;AAC9B,gBAAMmnB,KAAK,GAAG,CAAH,WAAG,KAAKxjD,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE6jD,KAApB,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAGxnB,IAAH,CAAvC;;AACA,mBAAOmnB,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAAA,KAAA,GAAS;AAAEE,oBAAM,EAAE,KAAV;AAAiBE,qBAAO,EAAE;AAA1B,aAAhB;AACA;;;iBAEO,mBAAU7hD,KAAV,EAA2D;AAAA,gBAAlC8Y,MAAkC,uEAAJ,EAAI;;;;AAClE,mBAAO,+CAAMzM,QAAN,CAAerM,KAAf,EAAsB,MAAF,OAAE,CAAF;AAC1Bwe,mBAAK,EAAE,8CADmB;AAE1BD,sBAAQ,EAAE,KAAKlf,eAFW;AAG1BU,wBAAU,EAAE,CAAF,WAAE,KAAKV,eAAP,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE6M,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE1Q,IAHd;AAI1B6iB,uBAAS,EAAE,KAAK5jB,gBAJU;AAK1Be,kBAAI,EAAE,KAAKA,IALe;AAM1BU,mBAAK,EAAE,KAAKA,KANc;AAO1BkQ,uBAAS,EAAE,KAAK/M,eAAL,CAAqB+M;AAPN,aAAE,EAQzB0M,MARyB,CAAtB,CAAP;AAUA;;;iBAEO,uBAAc;AAAA;;AACrB,iBAAKxa,GAAL,GACC,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAECqB,IAFD,CAGC,uDAAU;AACTpB,kBAAI,EAAE,KAAKlK,gBAAL,CAAsBgK;AADnB,aAAV,CAHD,EAMC,iDAAI,UAACjJ,IAAD;AAAA,qBAAWA,IAAI,CAACmJ,IAAL,KAAc,IAAd,GAAqB,KAArB,GAA6B,KAAxC;AAAA,aAAJ,CAND,EAQCpG,SARD,CAQW,UAAC4G,GAAD,EAAS;AACnB,sBAAI,CAACA,GAAL,GAAWA,GAAX;AACA,aAVD,CADD;AAYA;;;iBAEO,yBAAgB;;;AACvB,gBAAI,CAAJ,KAAI,KAAKlH,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE8jD,SAAxB,EAAmC;AAClC,mBAAKA,SAAL,GAAiB,+CAAM11C,QAAN,CAAe,CAAD,KAAC,KAAKpO,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE8jD,SAAnC,EAA8C;AAC9DvmD,oBAAI,EAAE,KAAKA;AADmD,eAA9C,CAAjB;AAGA;AACD;;;;;;;;;;;;;;;;;;;;;AChPF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOawmD,8B;AAIX,gDAAoBt8C,iBAApB,EAA0D;AAAA;;AAAtC,eAAAA,iBAAA,GAAAA,iBAAA;AAFpB,eAAAgQ,QAAA,GAAW,KAAKhQ,iBAAL,CAAuBgQ,QAAlC;AAE6D;;;;iBAE7D,oBAAW,CACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECfD,sK,IAEE,kK,IACE;AAAA;AAAA,sBAEoE,UAFpE;;AAEE;;;;;AAFF;AAAA,4T,GAAA;AAAA;AAAA;AAAA;AAAA,U,EACE;AAAA;AAAA;AAAA,U,GAGJ;AAAA;AAAA,sBAc0B,UAd1B;;AAEE;;;;;AAFF;AAAA,sS,GAAA;AAAA;AAAA;AAAA;AAAA,U,GAIE;AAAA;AAAA,sBAIqD,UAJrD;;AAEE;;;;;AACA;;;;;AACA;;;;;AAJF;AAAA,wQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAMA,gb,GAAA,0N,GACE,kX,GAAA;AAAA;AAAA,gB,GAAqE;AAAA;;AAdrE,kKAAkG,QAAlG,CAAkG,IAAlG,CAAkG,SAAlG;;AADF,wBACE,SADF;;AAKA,6BAAqB,WAArB;;AADF,wBACE,SADF;;AAKI,4BAAuB,QAAvB,CAAuB,IAAvB;;AADF,wBACE,SADF;;AAOqB,6BAA6B,iBAA7B;;AAAnB,yBAAmB,SAAnB;AAAgD,S,EAAA,I;AAAA;;;uEAnBxD,oJ,IACE,oI,GAAA;AAAA;AAAA,gB,EAAS,yL,GAAA;AAAA;;AAAA,8JAAuC,WAAvC;;AAAT,wBAAS,SAAT;AAAgD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDlD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAsBausC,sB;AAqBZ,wCAAoBxnD,gBAApB,EAAwD;AAAA;;AAApC,eAAAA,gBAAA,GAAAA,gBAAA;AAfX,eAAAyB,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACA,eAAAiW,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AAQV,eAAA01B,cAAA,GAAiC,EAAjC;AAMC,eAAKzrC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA;;;;eAND,aAAQnJ,CAAR,EAAyB;AACxB,iBAAK20C,cAAL,CAAoB10C,IAApB,CAAyBD,CAAzB;AACA;;;iBAMD,2BAAe;AAAA;;AACd,iBAAKgD,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,aAFU,CAAX;AAGA;;;iBAEO,yBAAgBA,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAED,qBAAYu9C,IAAZ,EAAkB;AACjB,iBAAKhmD,KAAL,GAAagmD,IAAb;AACA,iBAAK59C,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;;;iBAED,uBAAc;AACb,iBAAK+zC,cAAL,CAAoB9zC,OAApB,CAA4B,UAAC8X,CAAD;AAAA,qBAAOA,CAAC,CAAC7X,WAAF,EAAP;AAAA,aAA5B;AACA,iBAAK6zC,cAAL,GAAsB,EAAtB;AACA;;;;;;;;;;;;;;;;;;;;;AClEF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBakS,wB;;;;;AAwBX,0CAAoBh0B,SAApB,EACUzoB,iBADV,EAEU0oB,uBAFV,EAGU3zB,gBAHV,EAIUF,aAJV,EAIwC;AAAA;;AAAA;;AAAE;AAJtB,mBAAA4zB,SAAA,GAAAA,SAAA;AACV,mBAAAzoB,iBAAA,GAAAA,iBAAA;AACA,mBAAA0oB,uBAAA,GAAAA,uBAAA;AACA,mBAAA3zB,gBAAA,GAAAA,gBAAA;AACA,mBAAAF,aAAA,GAAAA,aAAA;AAvBV,mBAAA8zB,cAAA,GAAiB,SAAK3oB,iBAAL,CAAuBE,eAAxC;AACA,mBAAAqX,gBAAA,GAA4B,KAA5B;AACA,mBAAAmlC,cAAA,GAA0B,KAA1B;AACA,mBAAAC,WAAA,GAAc,6EAAiBtR,WAA/B;AACA,mBAAAziB,kBAAA,GAAqB,6EAAiBC,kBAAtC;AACA,mBAAA+zB,iCAAA,GAAoC,6EAAiB7lB,iCAArD;AAEA,mBAAAt0B,UAAA,GAAwB,EAAxB;AACA,mBAAAqmB,gBAAA,GAAmB,CACjB,SADiB,EAEjB,qBAFiB,EAGjB,SAHiB,CAAnB;AAMA,mBAAA+zB,WAAA,GAAc,KAAd;AACA,mBAAAC,cAAA,GAAiB,KAAjB;AAQwC;AAAY;;;;eANpD,eAAwB;AAAE,mBAAO,KAAK1gD,IAAL,IAAa,2BAApB;AAAiD;;;iBAQ3E,oBAAW;AAAA;;AACT,iBAAKse,OAAL;AACA,iBAAKixB,sBAAL;AAEA,iBAAKhjB,cAAL,CAAoBtoB,IAApB,CACE,uDAAU,KAAKC,QAAf,CADF,EAEEzH,SAFF,CAEY,UAAAkkD,KAAK,EAAI;AAEnB,sBAAI,CAACF,WAAL,GAAmB,QAAI,CAACG,iBAAL,KAChBD,KAAK,CAACjmB,gBAAN,IAA0B,QAAI,CAAClO,kBAA/B,IACCm0B,KAAK,CAACjmB,gBAAN,IAA0B,QAAI,CAAC8lB,iCAFhB,CAAnB;AAIA,sBAAI,CAACE,cAAL,GAAsB,CAACC,KAAK,CAAC5+C,QAAP,KAElB4+C,KAAK,CAACjmB,gBAAN,IAA0B,QAAI,CAAC6lB,WAA/B,IACC,QAAI,CAACK,iBAAL,IAA0BD,KAAK,CAACjmB,gBAAN,IAA0B,QAAI,CAAC8lB,iCAHxC,CAAtB;AAKD,aAbD;AAcD;;;iBAED,qBAAY7zB,aAAZ,EAAgG;AAAA;;AAAA,gBAAtD5T,OAAsD,uEAAnC,IAAmC;AAAA,gBAA7B8T,UAA6B,uEAAP,KAAO;AAC9F,gBAAMxpB,GAAG,GAAG,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KAAhE;AACA,iBAAK0pB,SAAL,CAAehlB,IAAf,CAAoB,kGAApB,EAA6C;AAC3CC,mBAAK,EAAE,gBADoC;AAE3CmB,uBAAS,EAAEpF,GAFgC;AAG3CuV,uBAAS,EAAE,MAHgC;AAI3CC,uBAAS,EAAE,KAJgC;AAK3CnQ,0BAAY,EAAE,KAL6B;AAM3ChP,kBAAI,EAAE;AACJmzB,0BAAU,EAAVA,UADI;AAEJ9T,uBAAO,EAAE,CAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE2iB,WAAT,KAAwB,EAF7B;AAGJr4B,mBAAG,EAAEA;AAHD;AANqC,aAA7C,EAYGmE,WAZH,GAaGvD,IAbH,CAcI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAdJ,EAeI,kDAAK,CAAL,CAfJ,EAiBG+C,SAjBH,CAiBa,UAACgL,MAAD,EAAiB;AAC1B,kBAAIsR,OAAJ,EAAaA,OAAO,CAAC2iB,WAAR,GAAsBj0B,MAAtB,CAAb,KACK;AACH,oBAAM7F,KAAK,GAAY;AACrBkrB,yBAAO,EAAEH,aAAa,CAACI,aAAd,CAA4BD,OADhB;AAErBlW,0BAAQ,EAAE+V,aAAa,CAACI,aAAd,CAA4BnW,QAFjB;AAGrB+Y,4BAAU,EAAEhD,aAAa,CAACI,aAAd,CAA4B4C,UAHnB;AAIrB+L,6BAAW,EAAEj0B,MAJQ;AAKrBulB,yBAAO,EAAE;AALY,iBAAvB;AAOA,wBAAI,CAAC3mB,UAAL,gCAAsB,QAAI,CAACA,UAA3B,IAAuCzE,KAAvC;AACD;AACF,aA7BH;AA8BD;;;iBACD,cAAKtE,KAAL,EAAoB;AAClB,iBAAK+I,UAAL,CAAgB/I,KAAhB,EAAuB0vB,OAAvB,GAAiC,KAAjC;AACA,iBAAK3mB,UAAL,sBAAsB,KAAKA,UAA3B;AACD;;;iBACD,uBAAc/I,KAAd,EAA6B;AAAA;;AAC3B,iBAAK+uB,SAAL,CAAehlB,IAAf,CAAoB,qEAApB,EAAiD;AAC/CoB,uBAAS,EAAE,KAAK9P,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KADhB;AAE/CjJ,kBAAI,EAAE;AACJZ,uBAAO,EAAE,+CADL;AAEJ6P,0BAAU,EAAE;AACVJ,oBAAE,EAAE,kBADM;AAEVC,wBAAM,EAAE;AAFE;AAFR,eAFyC;AAS/ClB,mBAAK,EAAE,MATwC;AAU/CC,wBAAU,EAAE;AAVmC,aAAjD,EAYGC,WAZH,GAaGvD,IAbH,CAaQ,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAbR,EAcG+C,SAdH,CAca,YAAM;AACf;AACA,sBAAI,CAAC4J,UAAL,CAAgB/I,KAAhB,EAAuB0vB,OAAvB,GAAiC,IAAjC;AACA,sBAAI,CAAC3mB,UAAL,sBAAsB,QAAI,CAACA,UAA3B;AACD,aAlBH;AAmBD;;;iBACD,sBAAasmB,aAAb,EAA2C5T,OAA3C,EAA6D;AAC3D,gBAAM1V,GAAG,GAAG,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KAAhE;AACA,iBAAK0pB,SAAL,CAAehlB,IAAf,CAAoB,oGAApB,EAA8C;AAC5CC,mBAAK,EAAE,gBADqC;AAE5CmB,uBAAS,EAAEpF,GAFiC;AAG5CuV,uBAAS,EAAE,MAHiC;AAI5CC,uBAAS,EAAE,KAJiC;AAK5CnQ,0BAAY,EAAE,KAL8B;AAM5ChP,kBAAI,EAAE;AACJqf,uBAAO,EAAE,CAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE2iB,WAAT,KAAwB,EAD7B;AAEJrB,yBAAS,EAAEthB,OAAO,CAAChY,EAFf;AAGJA,kBAAE,EAAEgY,OAAO,CAAC8nC,qBAHR;AAIJ9zB,6BAAa,EAAEJ,aAAa,CAACI,aAJzB;AAKJhrB,wBAAQ,EAAE4qB,aAAa,CAAC5qB,QAAd,IAA0B4qB,aAAa,CAAC+N,gBAAd,IAAkC,KAAKlO,kBALvE;AAMJnpB,mBAAG,EAAEA;AAND;AANsC,aAA9C,EAeGmE,WAfH,GAgBGvD,IAhBH,CAiBI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAjBJ,EAkBI,kDAAK,CAAL,CAlBJ,EAoBG+C,SApBH,CAoBa,UAACgL,MAAD,EAAiB;AAC1BsR,qBAAO,CAAC8nC,qBAAR,GAAgCp5C,MAAhC;AACD,aAtBH;AAuBD;;;iBAED,gBAAOklB,aAAP,EAAqC;AAAA;;AACnC,iBAAKxR,gBAAL,GAAwB,IAAxB;AACA,iBAAK9U,UAAL,CAAgBhM,OAAhB,CAAwB,UAAC4C,IAAD,EAAOK,KAAP,EAAiB;AAAEL,kBAAI,CAAC6jD,SAAL,GAAiB,EAAExjD,KAAnB;AAA2B,aAAtE;AACA,iBAAKgvB,uBAAL,CAA6By0B,aAA7B,CAA2C,KAAK/gD,IAAhD,EAAsD,KAAKqG,UAA3D,EACGpC,IADH,CACQ,sDAAS;AAAA,qBAAM,QAAI,CAACkX,gBAAL,GAAwB,KAA9B;AAAA,aAAT,CADR,EAEG1e,SAFH,CAEa,UAAA/C,IAAI,EAAI;AACjB,sBAAI,CAAC4kB,OAAL,GADiB,CAEjB;;;AACA,sBAAI,CAAC1a,iBAAL,CAAuBkQ,cAAvB,CAAsClN,IAAtC;;AACA,8EAAU,QAAI,CAACnO,aAAf,EACE,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,kCAA9B,CADF,EAEE,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,0CAA9B,CAFF,EAGE,KAHF;AAKD,aAXH;AAYD;;;iBAEO,mBAAU;AAAA;;AAChB,iBAAKme,gBAAL,GAAwB,IAAxB;AACA,iBAAKmR,uBAAL,CAA6B00B,YAA7B,CACE,KAAKp9C,iBAAL,CAAuBE,eAAvB,CAAuC0G,QAAvC,GAAkDuiB,aAAlD,CAAgEnW,QADlE,EAEE,KAAK5W,IAFP,EAGE,KAAK4gD,iBAHP,EAIE38C,IAJF,CAKE,uDAAU,KAAKC,QAAf,CALF,EAME,sDAAS;AAAA,qBAAM,QAAI,CAACiX,gBAAL,GAAwB,KAA9B;AAAA,aAAT,CANF,EAOE1e,SAPF,CAOY,UAAA/C,IAAI,EAAI;AAClB,sBAAI,CAAC2M,UAAL,GAAkB3M,IAAlB;;AACA,sBAAI,CAACyzB,gBAAL;AACD,aAVD;AAWD;;;iBAEO,kCAAyB;AAAA;;AAC/B,iBAAKvpB,iBAAL,CAAuBsQ,YAAvB,CACGjQ,IADH,CAEI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE2Q,GAAN,KAAa,QAAI,CAACpH,MAAtB;AAAA,aAAX,CAFJ,EAGI,uDAAU,KAAKiB,QAAf,CAHJ,EAKGzH,SALH,CAKa,UAAA/C,IAAI,EAAI;AACjB,kBAAMqzB,aAAa,GAAG,QAAI,CAACnpB,iBAAL,CAAuBE,eAAvB,CAAuC0G,QAAvC,GAAkDuiB,aAAxE;;AACA,kBAAMnrB,KAAK,GAAY;AACrBkrB,uBAAO,EAAEC,aAAa,CAACD,OADF;AAErBlW,wBAAQ,EAAEmW,aAAa,CAACnW,QAFH;AAGrB+Y,0BAAU,EAAE5C,aAAa,CAAC4C,UAHL;AAIrB+L,2BAAW,EAAEhiC,IAAI,CAACU,KAJG;AAKrB4yB,uBAAO,EAAE;AALY,eAAvB;AAOA,sBAAI,CAAC3mB,UAAL,gCAAsB,QAAI,CAACA,UAA3B,IAAuCzE,KAAvC;AACD,aAfH;AAgBD;;;iBACO,4BAAmB;AACzB,gBAAMxH,KAAK,GAAG,KAAKwJ,iBAAL,CAAuBuQ,QAAvB,CAAgC3J,QAAhC,EAAd;AACApQ,iBAAK,CAAC,KAAK6I,MAAN,CAAL,GAAqB,KAAKoD,UAA1B;AACA,iBAAKzC,iBAAL,CAAuBuQ,QAAvB,CAAgCvN,IAAhC,CAAqCxM,KAArC;AACD;;;;QA7L2C,6D;;;;;;;;;;;;;;;;;ACrB9C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAKa6mD,S;;;;;AACX,2BAAsB1rB,MAAtB,EACY2I,eADZ,EAC8C;AAAA;;AAAA;;AAC5C,yCAAM3I,MAAN,EAAc2I,eAAd;AAFoB,mBAAA3I,MAAA,GAAAA,MAAA;AACV,mBAAA2I,eAAA,GAAAA,eAAA;AAAkC;AAE7C;;;;iBAED,yBAAgBhI,KAAhB,EAA+CjmB,KAA/C,EAAyE;AAAA;;AACvE,mBAAO,IAAIupB,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,kBAAI,QAAI,CAACyE,aAAT,EAAwB;AACtB,oBAAMK,aAAa,GAAGtI,KAAK,CAACx8B,IAAN,CAAWye,KAAjC;;AACA,oBAAI,CAACqmB,aAAD,IAAkBA,aAAa,CAAC3gC,MAAd,KAAyB,CAA/C,EAAkD;AAChD,yBAAO47B,OAAO,CAAC,IAAD,CAAd;AACD,iBAFD,MAEO;AACL,sBAAI,CAAC,QAAI,CAACthB,KAAN,IAAe,QAAI,CAACA,KAAL,CAAWta,MAAX,KAAsB,CAAzC,EAA4C;AAC1C47B,2BAAO,CAAC,KAAD,CAAP;AACD;;AACD,sBAAIgF,OAAO,GAAY,KAAvB;;AAJK,8DAKsBD,aALtB;AAAA;;AAAA;AAKL,2EAA0C;AAAA,0BAA/BE,YAA+B;;AACxC,0BAAI,QAAI,CAACvmB,KAAL,CAAW3K,OAAX,CAAmBkxB,YAAnB,IAAmC,CAAC,CAApC,IAAyC,QAAI,CAACvmB,KAAL,CAAWvZ,IAAX,CAAgB,UAAAb,CAAC;AAAA,+BAAIA,CAAC,CAAC4B,QAAF,CAAW,yEAAYwY,KAAZ,CAAkB+J,KAA7B,CAAJ;AAAA,uBAAjB,CAA7C,EAAwG;AACtGuc,+BAAO,GAAG,IAAV;AACA;AACD;AACF;AAVI;AAAA;AAAA;AAAA;AAAA;;AAWL,sBAAIA,OAAJ,EAAa;AACXhF,2BAAO,CAACgF,OAAD,CAAP;AAED,mBAHD,MAGO;AACL,wBAAI,CAAC,MAAD,EAASjxB,OAAT,CAAiB,QAAI,CAAC+nB,MAAL,CAAYze,GAA7B,MAAsC,CAAC,CAA3C,EAA8CunB,YAAY,CAACC,OAAb,CAAqB,cAArB,EAAqC,QAAI,CAAC/I,MAAL,CAAYze,GAAjD;;AAC9C,4BAAI,CAACye,MAAL,CAAYE,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACAgE,2BAAO,CAAC,KAAD,CAAP;AACD;AACF;AACF,eAxBD,MAwBO;AACLA,uBAAO,CAAC,IAAD,CAAP;AACD;AACF,aA5BM,CAAP;AA6BD;;;;QApC4B,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCyBlBynB,uB;AAkDZ,yCACSvoD,gBADT,EAESD,mBAFT,EAGSD,aAHT,EAIQ+W,YAJR,EAKS+iB,WALT,EAMS1S,QANT,EAOSqW,KAPT,EAQS3yB,QART,EASS49C,KATT,EASiC;AAAA;;AARxB,eAAAxoD,gBAAA,GAAAA,gBAAA;AACA,eAAAD,mBAAA,GAAAA,mBAAA;AACA,eAAAD,aAAA,GAAAA,aAAA;AACD,eAAA+W,YAAA,GAAAA,YAAA;AACC,eAAA+iB,WAAA,GAAAA,WAAA;AACA,eAAA1S,QAAA,GAAAA,QAAA;AACA,eAAAqW,KAAA,GAAAA,KAAA;AACA,eAAA3yB,QAAA,GAAAA,QAAA;AACA,eAAA49C,KAAA,GAAAA,KAAA;AAzDA,eAAA/mD,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAGA,eAAAiW,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AAKV,eAAA2oC,WAAA,GASM,EATN;AAUA,eAAAC,WAAA,GAAoC,EAApC;AAGA,eAAA16C,QAAA,GAAW,EAAX;AACA,eAAAzI,KAAA,GAAQ,EAAR;AAGA,eAAAojD,UAAA,GAAqB,CAArB;AAEA,eAAA5P,SAAA,GAAY,KAAZ;AACA,eAAA6P,uBAAA,GAA+B,EAA/B;AACA,eAAAC,kBAAA,GAAqB,KAArB;AACA,eAAAC,yBAAA,GAA4B,KAA5B;AAMA,eAAA9P,UAAA,GAAa,KAAb;AAMA,eAAAxD,cAAA,GAAiC,EAAjC;AAgBC,eAAKzrC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA;;;;eArBD,eAAoB;AACnB,mBAAO,2DAAP;AACA;;;eAGD,aAAQnJ,CAAR,EAAyB;AACxB,iBAAK20C,cAAL,CAAoB10C,IAApB,CAAyBD,CAAzB;AACA;;;iBAgBD,2BAAe;AAAA;;AACd,iBAAKgD,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,aAFU,CAAX;AAGA;;;iBAEO,yBAAgBA,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAED,qBAAYC,OAAZ,EAAoC;AAAA;;;;AACnC,gBAAI,KAAK3G,aAAT,EAAwB;AACvB,mBAAKklD,WAAL,GAAmB,KAAKllD,aAAL,CAAmBklD,WAAtC;AAEA,mBAAKxrB,kBAAL,GAA0B,KAAK15B,aAAL,CAAmB05B,kBAA7C;AACA,mBAAK6rB,yBAAL,GAAiC,KAAKvlD,aAAL,CAAmBulD,yBAApD;AACA,mBAAKC,eAAL,GAAuB,KAAKxlD,aAAL,CAAmBwlD,eAA1C;AACA,mBAAKC,QAAL,GAAgB,CAAH,KAAG,KAAKloD,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEkoD,QAA3B;AACA,mBAAKC,QAAL,GAAgB,CAAH,KAAG,KAAKnoD,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEmoD,QAA3B;;AAEA,kBAAI,KAAK1lD,aAAL,CAAmB2lD,WAAvB,EAAoC;AACnC,oBACCh/C,OAAO,IACPA,OAAO,CAACpJ,IADR,IAEAoJ,OAAO,CAACpJ,IAAR,CAAawrB,YAFb,IAGApiB,OAAO,CAACpJ,IAAR,CAAawrB,YAAb,CAA0B68B,cAH1B,IAIAj/C,OAAO,CAACpJ,IAAR,CAAawrB,YAAb,CAA0B68B,cAA1B,CAAyCC,OAJzC,IAKAl/C,OAAO,CAACpJ,IAAR,CAAawrB,YAAb,CAA0B68B,cAA1B,CAAyCC,OAAzC,CAAiDnkD,MALjD,IAMA,CAAC,KAAK8jD,eAPP,EAQE;AACD,uBAAKP,WAAL,GAAmB,+CAAM72C,QAAN,CAAe,KAAKpO,aAAL,CAAmB2lD,WAAlC,EAA+C;AACjEpoD,wBAAI,EAAE,KAAKA,IAAL,CAAUqoD,cAAV,CAAyBC;AADkC,mBAA/C,CAAnB;AAGA,uBAAKC,cAAL,CAAoB,YAAM;AACzB,4BAAI,CAACX,UAAL,GAAkB,QAAI,CAAC5nD,IAAL,CAAUwoD,eAAV,IAA6B,CAA/C;AACA,4BAAI,CAACC,WAAL,GAAmB,QAAI,CAACf,WAAL,CAAiB,QAAI,CAACE,UAAtB,CAAnB;AAEA,4BAAI,CAAC5nD,IAAL,CAAU0oD,SAAV,GAAsB;AAAE1oD,0BAAI,EAAE,MAAF,OAAE,CAAF,EAAE,EAAK,QAAI,CAACyoD,WAAV;AAAR,qBAAtB;AACA,4BAAI,CAACzoD,IAAL,CAAUwoD,eAAV,GAA4B,QAAI,CAACZ,UAAjC;;AAEA,4BAAI,CAACe,cAAL;AACA,mBARD;AASA;AACD,eAvBD,MAuBO,IAAI,KAAKlmD,aAAL,CAAmBwK,QAAnB,IAA+B,KAAKxK,aAAL,CAAmB+B,KAAtD,EAA6D;AACnE,qBAAKyI,QAAL,GAAgB,KAAKpJ,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBwK,QAApD,EAA8D;AAC7EjN,sBAAI,EAAE,KAAKA;AADkE,iBAA9D,CAAhB;AAGA,qBAAKwE,KAAL,GAAa,KAAKX,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB+B,KAApD,EAA2D;AACvExE,sBAAI,EAAE,KAAKA;AAD4D,iBAA3D,CAAb;AAGA,qBAAK4oD,cAAL;AACA;AACD;AACD;;;iBAEO,wBAAeC,QAAf,EAAyB;AAChC,gBAAI,KAAKpmD,aAAL,CAAmBqmD,UAAvB,EAAmC;AAClC,kBAAI,KAAK9oD,IAAL,CAAU8oD,UAAd,EAA0BD,QAAQ;AAElC,mBAAK57C,QAAL,GAAgB,KAAKpJ,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBqmD,UAAnB,CAA8B77C,QAA/D,EAAyE;AACxFjN,oBAAI,EAAE,KAAKA;AAD6E,eAAzE,CAAhB;AAGA,mBAAKwE,KAAL,GAAa,KAAKX,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmBqmD,UAAnB,CAA8BtkD,KAA/D,EAAsE;AAClFxE,oBAAI,EAAE,KAAKA;AADuE,eAAtE,CAAb;AAGA,mBAAK+oD,eAAL,CAAqB;AAAA,uBAAMF,QAAQ,EAAd;AAAA,eAArB;AACA,aAVD,MAUOA,QAAQ;AACf;;;iBAED,yBAAgBA,QAAhB,EAA0B;AAAA;;AACzB,iBAAK/yC,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CACTyW,sBADS,CACc,KAAKxI,QADnB,EAC6B,KAAKzI,KADlC,EAET+F,IAFS,CAGT,iDAAI,UAAC6E,GAAD;AAAA,qBACHA,GAAG,CAACvK,GAAJ,CAAQ,UAACmkD,IAAD,EAAU;AACjB,uBAAO,MAAP,OAAO,CAAP;AAASC,qCAAmB,EAAED,IAAI,CAAC/mD;AAAnC,iBAAO,EAAoC+mD,IAAI,CAAChpD,IAAzC,CAAP;AACA,eAFD,CADG;AAAA,aAAJ,CAHS,EAST+C,SATS,CAUT,UAAC/C,IAAD,EAAU;AACT,sBAAI,CAACA,IAAL,CAAU8oD,UAAV,GAAuB9oD,IAAvB;AACA,sBAAI,CAAC8V,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;;AACA,sBAAI,CAAC4pD,iBAAL;;AACAL,sBAAQ;AACR,aAfQ,EAgBT,UAACxlD,KAAD,EAAW;AACV,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,oBAAM+D,KAAN;AACA,aAnBQ,CAAX;AAqBA;;;iBAEO,6BAAoB;;;AAC3B,mCAAKQ,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE6M,IAAF,CAAOF,UAA3B,MAAqC,IAArC,IAAqC,aAArC,GAAqC,MAArC,GAAqC,GAClCjH,MADkC,CAC3B,UAAClF,CAAD;AAAA,qBAAOA,CAAC,CAACiC,IAAF,IAAU,MAAjB;AAAA,aAD2B,CAArC,MACiC,IADjC,IACiC,aADjC,GACiC,MADjC,GACiC,GAC9B3F,OAD8B,CACtB,UAACgH,IAAD,EAAU;AACnBA,kBAAI,CAAC0J,OAAL,CAAab,UAAb,CAAwB7P,OAAxB,CAAgC,UAACsR,CAAD,EAAO;AACtCA,iBAAC,CAACohC,cAAF;AACA,eAFD;AAGA,aAL+B,CADjC;AAOA;;;iBAEK,oBAAW;;;;;;;AACVjwB,iC,GAAwB,KAAKoZ,KAAL,CAAW2b,QAAX,CAAoBgR,aAApB,CAAkC37C,I;;2BAC5D4V,WAAW,CAACjf,M;;;;;2BACX,KAAKq4B,KAAL,CAAW2b,QAAX,CAAoBgR,aAApB,CAAkCxjD,GAAlC,CAAsC,aAAtC,C;;;;;AACH,2BAAKm2B,WAAL,GAAmB,KAAKU,KAAL,CAAW2b,QAAX,CAAoBgR,aAApB,CAAkCrjD,GAAlC,CAAsC,aAAtC,CAAnB;AAEA,2BAAKsjD,YAAL,GAAoB,KAAK5sB,KAAL,CAAW2b,QAAX,CAAoBgR,aAApB,CAAkCrjD,GAAlC,CAAsC,QAAtC,CAApB;AAEA,2BAAK+hD,uBAAL,CAA6B/rB,WAA7B,GACC,KAAKU,KAAL,CAAW2b,QAAX,CAAoBgR,aAApB,CAAkCrjD,GAAlC,CAAsC,aAAtC,CADD;;;AAImB,6BAAM,KAAKqgB,QAAL,CAAc8xB,UAAd,EAAN;;;AAAlB,2BAAKA,U;sCACkB,KAAKpf,W;;2BAC3B,KAAKof,U;;;;;;AAAa,6BAAM,KAAK9xB,QAAL,CAAcsT,QAAd,EAAN;;;;;;;;sCAAiC,I;;;;;AADnC,2CAAuBE,WAAvB;;;AAAXC,8B;AAGN,2BAAKiuB,uBAAL,CAA6BvmD,QAA7B,GAAwCs4B,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAEyvB,uBAAlD;AACA,2BAAKxB,uBAAL,CAA6ByB,QAA7B,GAAwC1vB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAE2vB,SAAlD;AACA,2BAAK1B,uBAAL,CAA6BjuB,QAA7B,GAAwCA,QAAxC;;;;;;;AAEAxsB,6BAAO,CAACC,GAAR;;;;;;;AAGD,2BAAKxD,QAAL,CAAcC,IAAd;;;;;;;AAGD,2BAAKD,QAAL,CAAcC,IAAd;;;;;;;;;AAED;;;iBAED,0BAAiB;AAAA;;AAChB,iBAAKgM,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CACTyW,sBADS,CACc,KAAKxI,QADnB,EAC6B,KAAKzI,KADlC,EAET+F,IAFS,CAGT,iDAAI,UAAC6E,GAAD;AAAA,qBACHA,GAAG,CAACvK,GAAJ,CAAQ,UAACmkD,IAAD,EAAU;AACjB,uBAAO,MAAP,OAAO,CAAP;AAASC,qCAAmB,EAAED,IAAI,CAAC/mD;AAAnC,iBAAO,EAAoC+mD,IAAI,CAAChpD,IAAzC,CAAP;AACA,eAFD,CADG;AAAA,aAAJ,CAHS,EAST+C,SATS,CAUT,UAAC/C,IAAD,EAAU;AACT,sBAAI,CAAC0nD,WAAL,sBAAuB1nD,IAAvB;AACA,sBAAI,CAACyoD,WAAL,GAAmB,QAAI,CAACf,WAAL,CAAiB,QAAI,CAACE,UAAtB,CAAnB;;AACA,sBAAI,CAACl+C,WAAL;;AACA,sBAAI,CAACoM,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,aAfQ,EAgBT,UAAC+D,KAAD,EAAW;AACV,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,oBAAM+D,KAAN;AACA,aAnBQ,EAoBT,YAAM;AACL,sBAAI,CAACslD,cAAL;AACA,aAtBQ,CAAX;AAwBA;;;iBAED,0BAAiB;AAAA;;AAChB,iBAAK3pD,mBAAL,CACE4b,iBADF,CACoB,KAAK6tC,WAAL,CAAiB1qC,OADrC,EAC8C,KAAK0qC,WAAL,CAAiBe,gBAD/D,EAEEj/C,IAFF,CAGE,iDAAI,UAAC6E,GAAD,EAAc;AACjB,kBAAIA,GAAG,IAAIA,GAAG,CAACpP,IAAf,EAAqB;AACpB,wBAAI,CAACypD,cAAL,GAAsB;AACrBzpD,sBAAI,EAAE,MAAF,OAAE,CAAF,gCACAoP,GAAG,CAACpP,IADJ,GAEA,QAAI,CAACA,IAFL,CAAE,EAEO;AACZ87B,+BAAW,EAAE,QAAI,CAACA;AADN,mBAFP;AADe,iBAAtB;AAOA;AACD,aAVD,CAHF,EAcE,sDAAS,YAAM;AACd34B,wBAAU,CAAC,YAAM;AAChB+tB,sBAAM,CAAC3rB,QAAP,CAAgB;AACfE,qBAAG,EAAE,CADU;AAEfikD,sBAAI,EAAE,CAFS;AAGflkD,0BAAQ,EAAE;AAHK,iBAAhB;AAKA,eANS,CAAV,CADc,CASd;;AACA,sBAAI,CAACwyC,SAAL,GAAiB,IAAjB;AACA70C,wBAAU,CAAC,YAAM;AAChB,wBAAI,CAAC2kD,kBAAL,GAA0B,IAA1B;AACA,eAFS,CAAV;AAGA,aAdD,CAdF,EA6BE,wDAAW,UAACzkD,KAAD,EAAW;AACrB,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,sBAAI,CAACwoD,kBAAL,GAA0B,KAA1B;AACA,qBAAO,gDAAG,CAAH,CAAP;AACA,aAJD,CA7BF,EAmCE/kD,SAnCF;AAoCA;;;iBAED,uBAAc;AACb,iBAAKrC,KAAL,GAAa;AACZipD,+BAAiB,qBAAM,KAAKjC,WAAX;AADL,aAAb;AAGA,iBAAK5+C,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;;;iBAED,kBAASkpD,KAAT,EAAgB;AAAA;;AACfzmD,sBAAU,CAAC,YAAM;;;AAChB,kBAAI,CAAC,QAAI,CAAC8kD,eAAV,EAA2B;AAC1B,oCAAI,CAACtgD,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE4e,MAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEsjC,GAAF,CAAM,cAAN,CAAjB;AACA,oCAAI,CAACliD,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE4e,MAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAE+e,EAAF,CAAK,cAAL,EAAqB,UAACvnB,OAAD,EAAa;;;AAClD,0BAAI,CAAC/d,IAAL,CAAU8oD,UAAV,CAAqB1kD,IAArB,CAA0B,UAACC,CAAD;AAAA,2BAAOA,CAAC,CAAC0Z,OAAF,IAAaA,OAApB;AAAA,mBAA1B,EAAuD+rC,SAAvD,GAAmE,IAAnE;AAEA,gCAAI,CAACrnD,aAAL,CAAmBsnD,sBAAnB,MAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAEppD,OAAF,CAAU,UAACgQ,GAAD,EAAS;AAC3D,wBAAMH,UAAU,GAAG,+CAAMC,gBAAN,CAAuB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAC/EG,yBAAG,EAAEA;AAD0E,qBAA7D,CAAnB;AAGAH,8BAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzBA,uBAAC,CAACohC,cAAF;AACA,qBAFD;AAGA,wBAAMpiC,WAAW,GAAG,+CAAMR,gBAAN,CAAuB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAChFlK,0BAAI,EAAE;AAD0E,qBAA7D,CAApB;AAGA2K,+BAAW,CAACtQ,OAAZ,CAAoB,UAACuQ,aAAD,EAAmB;AACtCA,mCAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AAC5C,4BAAMb,UAAU,GAAG,+CAAMC,gBAAN,CAAuBY,OAAO,CAACb,UAA/B,EAA2C;AAAEG,6BAAG,EAAEA;AAAP,yBAA3C,CAAnB;AACAH,kCAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACzBA,2BAAC,CAACohC,cAAF;AACA,yBAFD;AAGA,uBALD;AAMA,qBAPD;AAQA,mBAlBwC,CAAzC;AAmBA,iBAtBgB,CAAjB;AAwBA,oCAAI,CAAC1rC,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE4e,MAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEsjC,GAAF,CAAM,qBAAN,CAAjB;AACA,oCAAI,CAACliD,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE4e,MAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAE+e,EAAF,CAAK,qBAAL,EAA4B,YAAM;AAClD,0BAAI,CAAC0kB,4BAAL;AACA,iBAFgB,CAAjB;AAGA;AACD,aAhCS,CAAV;AAiCA;;;iBAED,yBAAgBxmD,KAAhB,EAAuB;;;AACtB,gBAAI,KAAKimD,cAAL,CAAoBzpD,IAAxB,EAA8B;AAC7B,mBAAKA,IAAL,CAAUiqD,mBAAV,GAAgCzmD,KAAK,CAACxD,IAAtC;AACA,mBAAKypD,cAAL,CAAoBzpD,IAApB,CAAyBiqD,mBAAzB,GAA+CzmD,KAAK,CAACxD,IAArD;AACA,kBAAI,CAAJ,WAAI,KAAK2H,IAAT,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEpD,UAAX,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEvE,IAA3B,EACC,KAAK2H,IAAL,CAAUpD,UAAV,CAAqBvE,IAArB,CAA0BiqD,mBAA1B,GAAgDzmD,KAAK,CAACxD,IAAtD;AACD,+BAAK2H,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE4e,MAAX,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAE2jC,aAAF,CAAgB,KAAKT,cAArB,CAAjB;AACA,mBAAK3gD,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;AACD;;;iBAED,sBAAakD,KAAb,EAA4B+D,IAA5B,EAA2D;AAAA;;AAAA,gBAApBwiD,UAAoB,uEAAP,KAAO;;AAC1D,gBAAI,KAAKvC,UAAL,KAAoBhkD,KAApB,IAA6BumD,UAAjC,EAA6C;AAC5C;AACA;;AAED,iBAAKnqD,IAAL,CAAU0oD,SAAV,GAAsB;AAAE1oD,kBAAI,EAAE,MAAF,OAAE,CAAF,EAAE,EAAK2H,IAAL;AAAR,aAAtB;AACA,iBAAK3H,IAAL,CAAUwoD,eAAV,GAA4B5kD,KAA5B;AACA,iBAAKC,eAAL,CAAqB4kD,WAArB,CAAiCr7B,aAAjC;AAEA8D,kBAAM,CAAC3rB,QAAP,CAAgB;AACfE,iBAAG,EAAE,CADU;AAEfikD,kBAAI,EAAE,CAFS;AAGflkD,sBAAQ,EAAE;AAHK,aAAhB;AAMA,iBAAKijD,WAAL,GAAmB,IAAnB;AACA,iBAAKzQ,SAAL,GAAiB,KAAjB;AACA,iBAAK8P,kBAAL,GAA0B,KAA1B;AACA3kD,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACslD,WAAL,GAAmB9gD,IAAnB;;AACA,kBAAI,QAAI,CAACsgD,eAAT,EAA0B;AACzB,wBAAI,CAACU,cAAL;AACA;AACD,aALS,CAAV;AAMA,iBAAKf,UAAL,GAAkBhkD,KAAlB;AACA;;;iBAED,oBAAWJ,KAAX,EAAkB;AAAA;;;;AACjB,gBAAM4mD,SAAS,GAAG,wDAAW5mD,KAAX,CAAlB;AAEA,gBAAM6mD,QAAQ,GAAG,+CAAM55C,gBAAN,CAAuB,KAAK9I,IAAL,CAAU4e,MAAV,CAAiB/V,UAAxC,EAAoD;AACpE,iCAAmB;AADiD,aAApD,EAEd3L,GAFc,CAEV,UAACR,CAAD;AAAA,qBAAOA,CAAC,CAACuM,SAAF,CAAYD,GAAnB;AAAA,aAFU,CAAjB;;AAIA,iBAAK,IAAInF,IAAT,IAAiB4+C,SAAS,CAACpqD,IAA3B,EAAiC;AAChC,kBAAI,CAACqqD,QAAQ,CAACpkD,QAAT,CAAkBuF,IAAlB,CAAL,EAA8B;AAC7B,uBAAO4+C,SAAS,CAACpqD,IAAV,CAAewL,IAAf,CAAP;AACA;AACD,aAXgB,CAajB;;;AACA,gBAAI,CAAJ,WAAI4+C,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAEx5C,SAAf,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEo/B,UAAtB,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEsa,WAAtC,EAAmD;AAClDF,uBAAS,CAACx5C,SAAV,CAAoBo/B,UAApB,CAA+Bsa,WAA/B,CAA2Cz0B,KAA3C,CAAiD,GAAjD,EAAsDl1B,OAAtD,CAA8D,UAACiD,KAAD,EAAW;AACxE,wBAAI,CAAC8jD,WAAL,CAAiB9jD,KAAjB,EAAwBkmD,SAAxB,GAAoC,KAApC;AACA,eAFD;AAGA;;AACD,gBAAI,CAAJ,WAAIM,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAEx5C,SAAf,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEo/B,UAAtB,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEua,oBAAtC,EAA4D;AAC3D,mBAAK5iD,IAAL,CAAU2nC,SAAV,CAAoB,KAAK3nC,IAAL,CAAUA,IAA9B,EAAoC,IAApC,EAA0C/E,IAAI,CAAC+1B,KAAL,CAAWyxB,SAAS,CAACx5C,SAAV,CAAoBo/B,UAApB,CAA+Bua,oBAA1C,CAA1C,EAA2G,EAA3G,EAA+G,EAA/G;AACA,aArBgB,CAuBjB;;;AACA,gBAAI,CAAJ,iBAAI,KAAK5iD,IAAT,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEA,IAAf,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEqoC,UAAjB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEwa,eAAjC,EAAkD;AACjD,kBAAMC,SAAS,GAAG7nD,IAAI,CAAC+1B,KAAL,CAAW,KAAKhxB,IAAL,CAAUA,IAAV,CAAeqoC,UAAf,CAA0Bwa,eAArC,CAAlB;AACAC,uBAAS,CAAC9pD,OAAV,CAAkB,UAAC4C,IAAD,EAAU;AAC3B,oBAAI,+CAAMsN,QAAN,CAAetN,IAAI,CAACmnD,WAApB,EAAiC;AAAE1qD,sBAAI,EAAEoqD,SAAS,CAACpqD;AAAlB,iBAAjC,CAAJ,EACC,QAAI,CAAC0nD,WAAL,CAAiBtjD,IAAjB,CAAsB,UAAAC,CAAC;AAAA,yBAAIA,CAAC,CAAC0Z,OAAF,IAAaxa,IAAI,CAACoN,GAAtB;AAAA,iBAAvB,EAAkDm5C,SAAlD,GAA8D,KAA9D;AACD,eAHD;AAIA;;AACD,gBAAI,CAAJ,iBAAI,KAAKniD,IAAT,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEA,IAAf,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEqoC,UAAjB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEua,oBAAjC,EAAuD;AACtD,mBAAK5iD,IAAL,CAAU2nC,SAAV,CAAoB,KAAK3nC,IAAL,CAAUA,IAA9B,EAAoC,IAApC,EAA0C/E,IAAI,CAAC+1B,KAAL,CAAW,KAAKhxB,IAAL,CAAUA,IAAV,CAAeqoC,UAAf,CAA0Bua,oBAArC,CAA1C,EAAsG,EAAtG,EAA0G,EAA1G;AACA;;AAED,oBAAQH,SAAS,CAAC9jD,IAAlB;AACC,mBAAK,6DAAkBqkD,IAAvB;AACC,qBAAKC,mBAAL,CAAyBR,SAAS,CAACpqD,IAAnC;AACA;;AAED,mBAAK,6DAAkB6qD,SAAvB;AACC,qBAAKC,UAAL,CAAgBV,SAAS,CAACpqD,IAA1B,EAAgC,IAAhC;AACA;AAPF;AASA;;;iBAED,6BAAoBA,IAApB,EAA+B;AAC9B,gBAAI,CAAC,KAAK2H,IAAL,CAAU4e,MAAV,CAAiBwkC,aAAjB,CAA+B,KAAKpjD,IAAL,CAAU4e,MAAV,CAAiBvmB,IAAhD,EAAsD,IAAtD,CAAL,EAAkE;AACjE,mBAAK2H,IAAL,CAAUqjD,OAAV,CAAkB,KAAKrjD,IAAL,CAAU4e,MAAV,CAAiB0kC,MAAnC;AACA;AACA;;AAED,iBAAKH,UAAL,CAAgB9qD,IAAhB;AACA;;;iBAED,oBAAWC,QAAX,EAA6C;AAAA;;AAAA,gBAAnBirD,SAAmB,uEAAP,KAAO;AAC5C,iBAAKp1C,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AAEA,gBAAMg3B,IAAI,GAAQ;AACjBt2B,kBAAI,EAAE,MAAF,OAAE,CAAF,EAAE,EACFC,QADE;AADW,aAAlB;AAMAirD,qBAAS,GAAI50B,IAAI,CAAC/f,KAAL,GAAa,OAAjB,GAA4B,mDAArC;AAEA,gBAAI40C,WAAW,GAAG,KAAlB;AAEA,iBAAKroD,GAAL,GAAW,KAAK9D,mBAAL,CACTmtB,cADS,CACM,KAAKs8B,WAAL,CAAiB1qC,OADvB,EACgC,KAAK0qC,WAAL,CAAiBe,gBADjD,EACmE,MAAF,OAAE,CAAF,EAAE,EACzElzB,IADyE,CADnE,EAIT/rB,IAJS,CAKT,iDAAI,UAAC6E,GAAD,EAAS;AACZ,kBAAIA,GAAG,IAAIA,GAAG,CAACpP,IAAf,EAAqB;AACpBmrD,2BAAW,GAAG,IAAd;;AACA,wBAAI,CAACpsD,aAAL,CAAmB2Q,IAAnB,CAAwB,QAAI,CAACzQ,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CAAxB,EAAwE,EAAxE,EAA4E;AAC3EqM,4BAAU,EAAE,oBAD+D;AAE3EC,6BAAW,EAAE,IAF8D;AAG3EC,4BAAU,EAAE,IAH+D;AAI3EC,gCAAc,EAAE;AAJ2D,iBAA5E;;AAOA,oBAAI,CAACo7C,SAAD,IAAc,QAAI,CAACjD,eAAvB,EAAwC;AACvC,0BAAI,CAACpkD,eAAL,CAAqB6M,IAArB,CAA0B7P,IAA1B,CAA+B,cAA/B,EAA+C,QAAI,CAAC4nD,WAAL,CAAiB1qC,OAAhE;AACA;AACD;AACD,aAdD,CALS,EAoBT,sDAAS,YAAM;AACd,kBAAIotC,WAAW,IAAI,CAACD,SAApB,EAA+B;AAC9B,wBAAI,CAACE,sBAAL,CAA4BF,SAA5B;AACA,eAFD,MAEO,IAAIC,WAAW,IAAID,SAAnB,EAA8B;AACpC,oBAAI,QAAI,CAACzC,WAAL,CAAiBqB,SAAjB,IAA8B,CAAC,QAAI,CAACniD,IAAL,CAAU4e,MAAV,CAAiBjP,OAAjB,EAAnC,EAA+D;AAC9D,0BAAI,CAAC8zC,sBAAL,CAA4BF,SAA5B;AACA,iBAFD,MAEO;AACN,0BAAI,CAACp1C,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA;AACD;AACD,aAVD,CApBS,EA+BT,wDAAW,UAAC+D,KAAD,EAAW;AACrB,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,qBAAO,gDAAG,CAAH,CAAP;AACA,aAHD,CA/BS,EAoCTyD,SApCS,EAAX;AAqCA;;;iBAED,gCAAuBmoD,SAAvB,EAA2C;AAAA;;AAC1C,iBAAKlsD,mBAAL,CACE0D,eADF,CACkB,KAAKy5B,kBADvB,EAC2C,KAAKssB,WAAL,CAAiBQ,mBAD5D,EACiF,CAC/E;AACCoC,gBAAE,EAAE,KADL;AAECv1B,kBAAI,EAAE,iBAFP;AAGCp1B,mBAAK,EAAE,CAACwqD,SAAD,GAAa,IAAb,GAAoB;AAH5B,aAD+E,CADjF,EAQE3gD,IARF,CASE,iDAAI,UAAC6E,GAAD,EAAS;AACZ,kBAAIA,GAAG,IAAIA,GAAG,CAACpP,IAAf,EAAqB;AACpB,wBAAI,CAACsrD,cAAL,CAAoBJ,SAApB;AACA;AACD,aAJD,CATF,EAcE,sDAAS,YAAM;AACd,sBAAI,CAACp1C,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,aAFD,CAdF,EAkBEyD,SAlBF;AAmBA;;;iBAED,wCAA+B;AAAA;;AAC9B,iBAAK/D,mBAAL,CACE0D,eADF,CACkB,KAAKy5B,kBADvB,EAC2C,KAAKssB,WAAL,CAAiBQ,mBAD5D,EACiF,CAC/E;AACCoC,gBAAE,EAAE,KADL;AAECv1B,kBAAI,EAAE,iBAFP;AAGCp1B,mBAAK,EAAE;AAHR,aAD+E,CADjF,EAQE6J,IARF,CASE,iDAAI,UAAC6E,GAAD,EAAS;AACZ,kBAAIA,GAAG,IAAIA,GAAG,CAACpP,IAAf,EAAqB;AACpB,wBAAI,CAACA,IAAL,CAAUqoD,cAAV,CAAyBC,OAAzB,CAAiCzjD,GAAjC,CAAqC,UAACtB,IAAD,EAAe;AACnD,sBAAIA,IAAI,CAACwa,OAAL,KAAiB,QAAI,CAAC0qC,WAAL,CAAiB1qC,OAAtC,EAA+C;AAC9Cxa,wBAAI,CAACumD,SAAL,GAAiB,KAAjB;AACA;AACD,iBAJD;AAKA;AACD,aARD,CATF,EAkBE,sDAAS,YAAM;AACd,sBAAI,CAACh0C,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,aAFD,CAlBF,EAsBEyD,SAtBF;AAuBA;;;iBAED,gCAAuBS,KAAvB,EAA8B;AAC7B,gBAAIA,KAAK,IAAIA,KAAK,CAACe,UAAf,IAA6Bf,KAAK,CAACe,UAAN,CAAiBvE,IAAlD,EAAwD;AACvD,kBAAI,KAAKyC,aAAL,CAAmB8oD,4BAAvB,EAAqD;AACpD,qBAAKC,6BAAL,CAAmC,MAAD,OAAC,CAAD,kBAC9BhoD,KAAK,CAACe,UAAN,CAAiBvE,IADa,CAAC,EACV;AACxB4hB,8BAAY,EAAEpe,KAAK,CAACe,UAAN,CAAiBtC;AADP,iBADU,CAAnC;AAIA,eALD,MAKO;AACN,qBAAK6T,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,qBAAKgsD,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiC9nD,KAAK,CAACe,UAAN,CAAiBvE,IAAlD;AACA;AACD;AACD;;;iBAEK,uCAA8BA,IAA9B,EAAoC;;;;;;;;;AACzC,2BAAK8V,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;;4BAEI,KAAK8pD,YAAL,IAAqBppD,IAAI,CAACE,M;;;;;AACvBo2B,0B,GAAO,MAAH,OAAG,CAAH,kBACNt2B,IADM,CAAG,EACL;AACPE,8BAAM,EAAE,KAAKkpD;AADN,uBADK,C,EAKb;;;AACyB,6BAAM,KAAKqC,gBAAL,CAC9B,IAD8B,EAE9Bn1B,IAF8B,EAG9B,KAAK0xB,yBAHyB,CAAN;;;AAAnB0D,iC;;AAON,6BAAM,KAAKD,gBAAL,CACLzrD,IAAI,CAAC4hB,YADA,EACY,gCACZ0U,IADY,GACR;AAAEq1B,wCAAgB,EAAED,WAAW,CAACzpD;AAAhC,uBADQ,CADZ,EAGL,KAAKk6B,kBAHA,CAAN;;;AAMA,2BAAKrmB,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,2BAAKgsD,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiCtrD,IAAjC;;;;;AAEA;AAGMwE,2B,iBAAexE,IAAI,CAAC2rD,gB;AAC1B,2BAAK3sD,mBAAL,CACEyW,sBADF,CACyB,KAAKuyC,yBAD9B,EACyDxjD,KADzD,EAEEzB,SAFF,CAGE,UAACqM,GAAD,EAAgB;AACf,4BAAIA,GAAG,IAAIA,GAAG,CAACjL,MAAf,EAAuB;AACtBynD,4CAAkB,GAAGx8C,GAAG,CAAC,CAAD,CAAxB;AACA;AACD,uBAPH,EAQE,YAAM;AACL,gCAAI,CAAC0G,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;;AACA,gCAAI,CAACgsD,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiCtrD,IAAjC;AACA,uBAXH,EAYE;AAAA,+BAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAEX,yCAAM,KAAKyrD,gBAAL,CACLG,kBAAkB,CAAC3pD,GADd,EAELjC,IAFK,EAGL,KAAKgoD,yBAHA,CAAN;;AAFW;AAQX,uCAAKlyC,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,uCAAKgsD,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiCtrD,IAAjC;;AATW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAZ;AAAA,uBAZF;;;;;;;;;AAyBD;;;iBAED,0BAAiB4hB,YAAjB,EAAuCyiB,GAAvC,EAA4Cp3B,QAA5C,EAA4D;AAAA;;AAC3D,mBAAO,IAAI6yB,OAAJ,CAAY,UAAOC,OAAP,EAAgBC,MAAhB;AAAA,qBAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,6BAGxCpe,YAHwC;AAAA;AAAA;AAAA;;AAAA;AAIlC,+BAAM,KAAK5iB,mBAAL,CACbmtB,cADa,CACElf,QADF,EACY2U,YADZ,EAC0B;AAAE5hB,8BAAI,EAAEqkC;AAAR,yBAD1B,EAEbC,SAFa,EAAN;;AAJkC;AAI3Cv2B,8BAJ2C;AAAA;AAAA;;AAAA;AAAA;AAQlC,+BAAM,KAAK/O,mBAAL,CACbwD,aADa,CACCyK,QADD,EACW;AAAEjN,8BAAI,EAAEqkC;AAAR,yBADX,EAEbC,SAFa,EAAN;;AARkC;AAQ3Cv2B,8BAR2C;;AAAA;AAY5CgyB,+BAAO,CAAChyB,MAAD,CAAP;AAZ4C;AAAA;;AAAA;AAAA;AAAA;AAc5C,6BAAKhP,aAAL,CAAmB2Q,IAAnB,CACC,KAAKzQ,gBAAL,CAAsBqE,OAAtB,CAA8B,oBAA9B,CADD,EAEC,KAAKrE,gBAAL,CAAsBqE,OAAtB,CAA8B,eAA9B,CAFD,EAGC;AACCqM,oCAAU,EAAE,oBADb;AAECC,qCAAW,EAAE,IAFd;AAGCC,oCAAU,EAAE,IAHb;AAICC,wCAAc,EAAE;AAJjB,yBAHD;AAUA,6BAAKgG,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA0gC,8BAAM,eAAN;;AAzB4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA3B;AAAA,aAAZ,CAAP;AA4BA;;;iBAED,wBAAekrB,SAAf,EAAgF;AAAA;;AAAA,gBAAtDW,cAAsD,uEAArC,KAAqC;AAAA,gBAA9BC,kBAA8B,uEAAJ,EAAI;;AAC/E,gBAAI,CAAC,KAAK7D,eAAV,EAA2B;AAC1B,mBAAKjoD,IAAL,CAAUqoD,cAAV,CAAyBC,OAAzB,CAAiCzjD,GAAjC,CAAqC,UAACtB,IAAD,EAAe;AACnD,oBAAIA,IAAI,CAACwa,OAAL,KAAiB,QAAI,CAAC0qC,WAAL,CAAiB1qC,OAAtC,EAA+C;AAC9C8tC,gCAAc,GACVtoD,IAAI,CAACsT,MAAL,GAAci1C,kBAAkB,CAACj1C,MADvB,GAEVtT,IAAI,CAACumD,SAAL,GAAiB,CAACoB,SAAD,GAAa,IAAb,GAAoB,KAFzC;AAGA;AACD,eAND;AAOA,aARD,MAQO;AACN,mBAAKxD,WAAL,CAAiB7iD,GAAjB,CAAqB,UAACtB,IAAD,EAAe;AACnC,oBAAIA,IAAI,CAACwa,OAAL,KAAiB,QAAI,CAAC0qC,WAAL,CAAiB1qC,OAAtC,EAA+C;AAC9Cxa,sBAAI,CAACumD,SAAL,GAAiB,CAACoB,SAAD,GAAa,IAAb,GAAoB,KAArC;AACA;AACD,eAJD;AAMA,kBAAMa,mBAAmB,GAAG,KAAKrE,WAAL,CAAiBrzC,KAAjB,CAAuB,UAAC0vC,IAAD;AAAA,uBAAeA,IAAI,CAAC+F,SAApB;AAAA,eAAvB,CAA5B;;AACA,kBAAI,CAACiC,mBAAD,IAAwBb,SAA5B,EAAuC;AACtC,qBAAKrnD,eAAL,CAAqB6M,IAArB,CAA0B7P,IAA1B,CAA+B,qBAA/B,EAAsD,IAAtD;AACA;AACD;;AACD,iBAAK4mD,KAAL,CAAWuE,aAAX;AACA,iBAAKnoD,eAAL,CAAqB4kD,WAArB,CAAiCr7B,aAAjC;;AAEA,gBAAI,CAAC89B,SAAL,EAAgB;AACf,mBAAKe,cAAL;AACA;AACD;;;iBAED,0BAAiB;AAChB,gBAAMroD,KAAK,GACV,KAAKgkD,UAAL,GAAkB,KAAKF,WAAL,CAAiBvjD,MAAjB,GAA0B,CAA5C,GACG,KAAKyjD,UAAL,GAAkB,CADrB,GAEG,KAAKF,WAAL,CAAiBvjD,MAAjB,GAA0B,CAH9B;AAKA,gBAAMwD,IAAI,GAAG,KAAK+/C,WAAL,CAAiB9jD,KAAjB,CAAb;AAEA,iBAAKsoD,YAAL,CAAkBtoD,KAAlB,EAAyB+D,IAAzB,EAA+B/D,KAAK,KAAK,KAAK8jD,WAAL,CAAiBvjD,MAAjB,GAA0B,CAApC,GAAwC,IAAxC,GAA+C,KAA9E;AACA;;;iBAED,uBAAc;AACb,iBAAKswC,cAAL,CAAoB9zC,OAApB,CAA4B,UAAC8X,CAAD;AAAA,qBAAOA,CAAC,CAAC7X,WAAF,EAAP;AAAA,aAA5B;AACA,iBAAK6zC,cAAL,GAAsB,EAAtB;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC7pBE,uH,IACE,uI,IAAgB,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAGhB,uI,IAAgB,6E,IAAoC,I,EAAA;AAHpC;;AAAA;;AAGA;;AAAA;AAAoC,S;AAAA;;;iXAf1D,oJ,IACE,0K,IACE,yJ,IACE,uI,IAAgB,+E,GAAA,sQ,GAGhB,uI,IAAgB,+E,GAAA,sQ,GAKlB,wH,GAAA;AAAA;AAAA,gB,EAAI,yD,GAOP,wH,IACK,wI,IAAgB,gF,GAAA,sQ,GAGhB,wI,IAAgB,8E,IAAiB;AAAA;;AAX/B,qKAA2C,WAA3C;;AAAJ,yBAAI,SAAJ;AAA+C,S,EAAA;AAAA;;AAR7B;;AAAA;;AAGA;;AAAA;;AAaA;;AAAA;;AAGA;;AAAA;AAAiB,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACkBvC;AAAA;;;AAAA;AAAA;AAAA;;UAAa0X,S;;;;;;;;;;;;;;;;;;;ACvCb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMnlD,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,gBAD8C;AAEpDW,gBAAQ,EAAE,gBAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASklD,8BAAT,CAAwChlD,QAAxC,EAA4D;AAClE,wFAA8BJ,iBAA9B,EAAiD,gFAAjD,EAAyEI,QAAzE;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECZD,mU,GAAA,kO,GACI,oX,GAAA;AAAA;AAAA;AAAA,gB,GACI,wT,GAAA;AAAA;AAAA;AAAA,gB,GAA+D;AAAA;;AAFvE;;AACiB;AAA2B;;AAAxC,wBAAa,SAAb,EAAwC,SAAxC;;AACY,6BAAmB,QAAnB;AAAoB,6BAAyB,WAAzB;;AAA5B,wBAAQ,SAAR,EAA4B,SAA5B;AAAqD,S,EAAA,I;AAAA;;;uEAF7D,qH,GAAA;AAAA;AAAA,gB,GAIW;AAAA;AAJD,6BAAiB,UAAjB;;AAAV,wBAAU,SAAV;AAA2B,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECA3B,yd,GAAA;AAAA;AAAA,gB,EAAsB,wL,EAAtB,+L,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gQ,GAIE,4a,GAAA,6e,EACE,wD,GAEF;AAAA;;AAAA;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;mBAKE,+L,IACE;AAAA;AAAA,sBAGS,UAHT;;AACE;;;;;AADF;AAAA,gO,GAAA,sX,GAEE,gjB,GAAA;AAAA;AAAA,gB,GAA4C,4E,GAGhD,wD,GAA+D;AAAA;;AAlB7C,8JAAoB,KAApB;;AAAtB,wBAAsB,SAAtB;;AACE;;AADF,wBACE,SADF;;AAIE;;AAME;AAFA;AACA,8BAAiB,OAAjB;;AAFF,yBAGE,UAHF,EACE,UADF,EAEE,UAFF;;AAQgB;;AAAV,yBAAU,UAAV;AAA2C,S,EAAA;AAfnD;;AAAA;;AAAA;;AAIE;;AAAA;;AAAA;;AAGA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAMI;AAAA;;AAAA;;AAAA;;AAEE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA4D,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfpE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAmBA,+EAAMilD,QAAN,iDAAkB,sDAAlB;;UAUaC,4B;AAqBZ,8CAAoBrtD,gBAApB,EACS4e,MADT,EAC+B;AAAA;;AADX,eAAA5e,gBAAA,GAAAA,gBAAA;AACX,eAAA4e,MAAA,GAAAA,MAAA;AAjBA,eAAAnd,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACA,eAAAiW,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AAMV,eAAAwtC,OAAA,GAAU,KAAV;AAGA,eAAA9X,cAAA,GAAiC,EAAjC;AAOC,eAAKzrC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA;;;;eAPD,aAAQnJ,CAAR,EAAyB;AACxB,iBAAK20C,cAAL,CAAoB10C,IAApB,CAAyBD,CAAzB;AACA;;;iBAOD,2BAAe;AAAA;;AACd,iBAAKgD,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,aAFU,CAAX;AAGA;;;iBAEO,yBAAgBA,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAED,uBAAc;;;AACb,uBAAKyxB,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAEU,OAAF,EAAV;AACA,iBAAKmZ,cAAL,CAAoB9zC,OAApB,CAA4B,UAAC8X,CAAD;AAAA,qBAAOA,CAAC,CAAC7X,WAAF,EAAP;AAAA,aAA5B;AACA,iBAAK6zC,cAAL,GAAsB,EAAtB;AACA;;;iBAED,qBAAYrrC,OAAZ,EAAkC;AAAA;;AACjC,gBAAI,KAAK3G,aAAT,EAAwB;AACvB,mBAAKob,MAAL,CAAYve,OAAZ,GAAsB,IAAtB;AACA,kBAAI,KAAKmD,aAAL,CAAmBuvC,SAAvB,EAAkC,KAAK1C,SAAL,GAAlC,KACK;AACJ,qBAAKzxB,MAAL,CAAYve,OAAZ,GAAsB,KAAtB;AACA6D,0BAAU,CAAC;AAAA,yBAAM,QAAI,CAACu3B,SAAL,EAAN;AAAA,iBAAD,EAAyB,GAAzB,CAAV;AACA;AACD;AACD;;;iBAEO,qBAAY;AAAA;;;;AACnB,gBAAI,CAAJ,iBAAI,KAAK72B,eAAT,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAE6M,IAA1B,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAE/I,IAA5B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEqoC,UAAF,CAAa,KAAKvtC,aAAL,CAAmBuvC,SAAhC,CAApC,EAAgF;AAC/E,mBAAKnuC,eAAL,CAAqB6M,IAArB,CAA0BsnB,MAA1B,CAAiCn3B,IAAjC,CAAsC,kBAAtC,EACC,KAAKgD,eAAL,CAAqB6M,IAArB,CAA0B/I,IAD3B,EAEC,IAFD,EAGC/E,IAAI,CAAC+1B,KAAL,CAAW,KAAK90B,eAAL,CAAqB6M,IAArB,CAA0B/I,IAA1B,CAA+BqoC,UAA/B,CAA0C,KAAKvtC,aAAL,CAAmBuvC,SAA7D,CAAX,CAHD,EAIC,EAJD,EAKC,EALD,EAMC,IAND,EAOC;AAAA,uBAAM,QAAI,CAACtX,SAAL,EAAN;AAAA,eAPD;AAQA;AACD;;;iBAEO,qBAAY;AAAA;;;;AACnB,iBAAK7c,MAAL,CAAYve,OAAZ,GAAsB,KAAtB;;AACA,gBAAI,KAAKmD,aAAL,CAAmB+pD,aAAvB,EAAsC;AACrC,mBAAKC,UAAL;AACA,aAFD,MAEO;AACN,kBAAM5X,MAAM,GAAG,KAAKpyC,aAAL,CAAmBoyC,MAAnB,GACd,+CAAMhkC,QAAN,CAAe,KAAKpO,aAAL,CAAmBoyC,MAAlC,EAA0C;AAAEhyB,yBAAS,EAAE,KAAK5jB,gBAAL,CAAsBqE,OAAnC;AAA4CtD,oBAAI,EAAE,KAAKA;AAAvD,eAA1C,CADc,GAEd,EAFD;AAGA,kBAAM0sD,GAAG,GAAI5mB,QAAQ,CAAC6mB,cAAT,mBAAmC,KAAK9oD,eAAL,CAAqB+M,SAArB,CAA+BD,GAAlE,GAAiFi8C,UAAjF,CAA4F,IAA5F,CAAb;AACA,mEAAMC,QAAN,mBAA0B,KAAKhpD,eAAL,CAAqB+M,SAArB,CAA+BD,GAAzD,QAA+D,IAA/D,IAA+D,aAA/D,GAA+D,MAA/D,GAA+D,GAAE2qB,OAAF,EAA/D;AACA,mBAAKV,KAAL,GAAa,IAAI,8CAAJ,CAAU8xB,GAAV,EAAe;AAC3BpmD,oBAAI,EAAE,KAAK7D,aAAL,CAAmB6D,IADE;AAE3BtG,oBAAI,EAAE;AACL60C,wBAAM,EAAE,KAAKpyC,aAAL,CAAmBqqD,eAAnB,GACPjY,MAAM,CAAChwC,GAAP,CAAW,UAAAR,CAAC;AAAA,2BAAI,QAAI,CAACpF,gBAAL,CAAsBqE,OAAtB,wBAA8Ce,CAA9C,EAAJ;AAAA,mBAAZ,CADO,GAEPwwC,MAHI;AAILE,0BAAQ,EAAE,+CAAMlkC,QAAN,CAAe,KAAKpO,aAAL,CAAmBsyC,QAAlC,EAA4C;AAAElyB,6BAAS,EAAE,KAAK5jB,gBAAlB;AAAoCe,wBAAI,EAAE,KAAKA;AAA/C,mBAA5C;AAJL,iBAFqB;AAQ3BgV,uBAAO,EAAE,KAAKvS,aAAL,CAAmBuS;AARD,eAAf,CAAb;AAUA7R,wBAAU,CAAC;AAAA,uBAAM,QAAI,CAACopD,OAAL,GAAe,IAArB;AAAA,eAAD,CAAV;AACA;AACD;;;iBAEO,sBAAa;AACpB,gBAAM3xB,KAAK,GAAGmyB,OAAO,CAACC,IAAR,CAAalnB,QAAQ,CAAC6mB,cAAT,kBAAkC,KAAK9oD,eAAL,CAAqB+M,SAArB,CAA+BD,GAAjE,EAAb,CAAd;AACA,gBAAMs8C,MAAM,GAAG,+CAAMp8C,QAAN,CAAe,KAAKpO,aAAL,CAAmB+pD,aAAlC,EAAiD;AAAE3pC,uBAAS,EAAE,KAAK5jB,gBAAlB;AAAoCe,kBAAI,EAAE,KAAKA;AAA/C,aAAjD,CAAf;AACA46B,iBAAK,CAACsyB,SAAN,CAAgBD,MAAhB;AACAryB,iBAAK,CAACuyB,MAAN;AACAj8B,kBAAM,CAACoY,gBAAP,CAAwB,QAAxB,EAAkC,YAAM;AAAE1O,mBAAK,CAACuyB,MAAN;AAAiB,aAA3D;AACA;;;;;;;;;;;;;;;;;;;;;AC/HF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAcaC,uB;AAGT,yCAAoBh0C,eAApB,EACYY,IADZ,EAC8B;AAAA;;AADV,eAAAZ,eAAA,GAAAA,eAAA;AACR,eAAAY,IAAA,GAAAA,IAAA;AAHJ,eAAAC,OAAA,GAAU,KAAKb,eAAL,CAAqBS,OAA/B;AAIP;;;;eAED,eAAoB;AAChB,mBAAO,KAAKT,eAAL,CAAqByB,SAArB,CAA+B8C,SAAtC;AACH;;;eACD,eAA0B;AACtB,gBAAMmY,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BoN,mBAA5C;AACA,mBAAO6N,IAAP;AACH;;;eACD,eAA2B;AACvB,gBAAMA,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BqN,oBAA5C;AACA,mBAAO4N,IAAP;AACH;;;iBACO,yCAAwD;AAAA,gBAA1BC,OAA0B,uEAAP,KAAO;AAC5D,gBAAMD,IAAI,GAAGC,OAAO,GAChB,KAAK3c,eAAL,CAAqByB,SAArB,CAA+BiN,0BADf,GAEhB,KAAK1O,eAAL,CAAqByB,SAArB,CAA+BgN,qBAFnC;AAGA,mBAAOiO,IAAP;AACH;;;iBAED,mCAA0B5Y,QAA1B,EAA0C;AACtC,gBAAME,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAK+b,aAA1B,mBAAgD9Y,QAAhD,aAAT;AACA,mBAAO,KAAKlD,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3BE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AADmB,aAAxB,EAKJlT,IALI,CAMH,iDAAI,UAAAvK,IAAI,EAAI;AACRA,kBAAI,CAACW,OAAL,CAAa,UAAA4C,IAAI,EAAI;AACjB,oBAAIA,IAAI,CAACyX,kBAAL,GAA0B,CAA9B,EACIzX,IAAI,CAAC0X,oBAAL,GAA4B1X,IAAI,CAAC2X,uBAAL,GAA+B3X,IAAI,CAACyX,kBAAhE;AACP,eAHD;AAIA,qBAAOhb,IAAP;AACH,aAND,CANG,CAAP;AAcH;;;iBAED,kCAAyBkd,QAAzB,EAA2C+Y,UAA3C,EAAqD;AACjD,gBAAM7Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAK+b,aAA1B,mBAAgD9Y,QAAhD,+BAA6E+Y,UAA7E,CAAT;AACA,mBAAO,KAAKjc,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3BE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AADmB,aAAxB,EAKJlT,IALI,CAMH,iDAAI,UAAAvK,IAAI,EAAI;AACRA,kBAAI,CAACW,OAAL,CAAa,UAAA4C,IAAI,EAAI;AACjB,oBAAIA,IAAI,CAACyX,kBAAL,GAA0B,CAA9B,EACIzX,IAAI,CAAC0X,oBAAL,GAA4B1X,IAAI,CAAC2X,uBAAL,GAA+B3X,IAAI,CAACyX,kBAAhE;AACP,eAHD;AAIA,qBAAOhb,IAAP;AACH,aAND,CANG,CAAP;AAcH,W,CAED;;;;iBACA,oCAA2Bkd,QAA3B,EAA2C;AACvC,gBAAME,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B8C,SAApD,yBAA4ET,QAA5E,CAAT;AACA,mBAAO,KAAKlD,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,CAAP;AACH,W,CAED;;;;iBACA,8BAAqBF,QAArB,EAAqC;AACjC,gBAAME,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+BwC,YAApD,mBAAyEH,QAAzE,CAAT;AACA,mBAAO,KAAKlD,IAAL,CACFlU,GADE,CACOsX,GADP,EACY;AACXE,oBAAM,EAAE;AACJC,oBAAI,EAAE,GADF;AAEJxX,oBAAI,YAAKyX,MAAM,CAACC,gBAAZ;AAFA;AADG,aADZ,CAAP;AAOH,W,CAED;;;;iBACA,uCAA8BH,MAA9B,EAAyC;AACrC,gBAAMF,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+BgN,qBAApD,oBAAT;AACA,mBAAO,KAAK7N,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3B+Y,qBAAO,EAAE,UADkB;AAE3B7Y,oBAAM,EAAEA;AAFmB,aAAxB,EAGJ/S,IAHI,CAIH,iDAAI,UAAC6rB,QAAD,EAAc;;;AACd,qBAAO;AACHC,0BAAU,EAAE7Y,MAAM,CAAC4Y,QAAQ,CAAC1c,OAAT,CAAiB5T,GAAjB,CAAqB,eAArB,CAAD,CADf;AAEH9F,oBAAI,EAAEo2B,QAAQ,CAACE,IAFZ;AAGHvwB,oBAAI,EAAE,CAAF,KAAEuX,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEvX,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgB,6DAHnB;AAIHwX,oBAAI,EAAE,CAAF,KAAED,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEC,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgB;AAJnB,eAAP;AAMH,aAPD,CAJG,CAAP;AAaH;;;iBAED,iDAAwCL,QAAxC,EAA0DQ,YAA1D,EAAgF8Y,QAAhF,EAA0H;AAAA,gBAAxBT,OAAwB,uEAAL,KAAK;AACtH,gBAAI3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,SAAmErY,YAAnE,oBAAyFR,QAAzF,CAAP;AACA,gBAAI,CAAC6Y,OAAL,EAAc3Y,GAAG,sBAAeoZ,QAAf,CAAH;AACd,mBAAO,KAAKxc,IAAL,CAAUlU,GAAV,CAAoCsX,GAApC,CAAP;AACH;;;iBAED,iCAAwBF,QAAxB,EAA0CQ,YAA1C,EAAgE8Y,QAAhE,EAA0G;AAAA,gBAAxBT,OAAwB,uEAAL,KAAK;AACtG,gBAAM3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,CAAT;AACA,gBAAMzY,MAAM,GAAQ;AAChB,iCAAmBJ,QADH;AAEhB,qCAAuBQ;AAFP,aAApB;AAIA,gBAAI,CAACqY,OAAL,EAAczY,MAAM,CAAC,iBAAD,CAAN,GAA4BkZ,QAA5B;AAEd,mBAAO,KAAKxc,IAAL,CAAUlU,GAAV,CAAsCsX,GAAtC,EAA2C;AAC9CE,oBAAM,EAAEA;AADsC,aAA3C,EAEJ/S,IAFI,CAEC,iDAAI,UAAAvK,IAAI;AAAA,qBAAIA,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAAC,CAAD,CAAlB,GAAwB,IAA5B;AAAA,aAAR,CAFD,CAAP;AAGH;;;iBAED,oCAA2B02B,OAA3B,EAAkF;AAAA,gBAAxBX,OAAwB,uEAAL,KAAK;AAC9E,gBAAM3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,CAAT;AACA,mBAAO,KAAK/b,IAAL,CAAUP,IAAV,CAAqC2D,GAArC,EAA0CsZ,OAA1C,CAAP;AACH;;;iBAED,kCAAyBA,OAAzB,EAAgF;AAAA,gBAAxBX,OAAwB,uEAAL,KAAK;AAC5E,gBAAM3Y,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKwc,6BAAL,CAAmCV,OAAnC,CAArB,CAAT;AACA,mBAAO,KAAK/b,IAAL,CAAU2c,GAAV,CAAoCvZ,GAApC,EAAyCsZ,OAAzC,CAAP;AACH;;;iBAED,sBAAaxZ,QAAb,EAA+B5W,IAA/B,EAAsE;AAAA,gBAAzBiwB,QAAyB,uEAAL,KAAK;AAClE;AACA,gBAAMnZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B+M,gBAApD,SAAuE2O,QAAQ,GAAG,KAAH,GAAW,EAA1F,SAA+FjwB,IAA/F,CAAT;AACA,mBAAO,KAAK0T,IAAL,CAAUlU,GAAV,CAAyBsX,GAAzB,EAA8B;AACjCE,oBAAM,EAAE;AACJ,mCAAmBJ,QADf;AAEJ,kCAAkB;AAFd,eADyB;AAKjCvD,0BAAY,EAAE;AALmB,aAA9B,CAAP;AAOH;;;iBAED,uBAAcrT,IAAd,EAA4BowB,OAA5B,EAA8C;AAC1C,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKb,eAAL,CAAqByB,SAArB,CAA+B+M,gBAApD,gBAA0EthB,IAA1E,CAAT;AACA,mBAAO,KAAK0T,IAAL,CAAUP,IAAV,CAA0B2D,GAA1B,EAA+BsZ,OAA/B,CAAP;AACH;;;iBAED,0BAAiBxZ,QAAjB,EAAiC;AAC7B,gBAAM4Y,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BkN,aAA5C;AACA,gBAAM6N,YAAY,GAAGE,IAAI,CAACD,KAAL,CAAW,MAAX,CAArB;AACA,gBAAM9N,aAAa,GAAG6N,YAAY,CAAC,CAAD,CAAZ,YAA2BA,YAAY,CAAC,CAAD,CAA7D;AAEA,gBAAMxY,GAAG,aAAM,KAAKnD,OAAX,SAAqB8N,aAArB,CAAT;AACA,mBAAO,KAAK/N,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3BE,oBAAM,EAAE;AACJ,mCAAmBJ,QADf;AAEJ,kCAAkB;AAFd;AADmB,aAAxB,CAAP;AAMH;;;iBAED,2BAAkBwZ,OAAlB,EAA0C;AACtC,gBAAMZ,IAAI,GAAG,KAAK1c,eAAL,CAAqByB,SAArB,CAA+BmN,mBAA5C;AACA,gBAAM4N,YAAY,GAAGE,IAAI,CAACD,KAAL,CAAW,SAAX,CAArB;AACA,gBAAM9N,aAAa,GAAG6N,YAAY,CAAC,CAAD,CAAZ,eAA8BA,YAAY,CAAC,CAAD,CAAhE;AAEA,gBAAMxY,GAAG,aAAM,KAAKnD,OAAX,SAAqB8N,aAArB,CAAT;AACA,mBAAO,KAAK/N,IAAL,CAAUP,IAAV,CAAgC2D,GAAhC,EAAqCsZ,OAArC,CAAP;AACH;;;iBAED,gCAAuBxZ,QAAvB,EAAyCQ,YAAzC,EAA6D;AACzD,gBAAMN,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,CAAT;AACA,mBAAO,KAAKjO,IAAL,CAAUlU,GAAV,CAAqCsX,GAArC,EAA0C;AAC7CE,oBAAM,EAAE;AACJ,mCAAmBJ,QADf;AAEJ,uCAAuBQ;AAFnB;AADqC,aAA1C,EAKJnT,IALI,CAKC,iDAAI,UAAAvK,IAAI;AAAA,qBAAIA,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAAC,CAAD,CAAlB,GAAwB,IAA5B;AAAA,aAAR,CALD,CAAP;AAKmD;AACtD;;;iBAED,mCAA0B02B,OAA1B,EAAsD;AAClD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,CAAT;AACA,mBAAO,KAAKjO,IAAL,CAAUP,IAAV,CAAoC2D,GAApC,EAAyCsZ,OAAzC,CAAP;AACH;;;iBAED,iCAAwBA,OAAxB,EAAoD;AAChD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,CAAT;AACA,mBAAO,KAAKjO,IAAL,CAAU2c,GAAV,CAAmCvZ,GAAnC,EAAwCsZ,OAAxC,CAAP;AACH;;;iBAED,mCAA0BrvB,EAA1B,EAAoC;AAChC,gBAAM+V,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKgO,mBAA1B,cAAiD5gB,EAAjD,CAAT;AACA,mBAAO,KAAK2S,IAAL,WAAsCoD,GAAtC,CAAP;AACH;;;iBAED,iCAAwB/V,EAAxB,EAAkC;AAC9B,gBAAM+V,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKiO,oBAA1B,SAAiD7gB,EAAjD,CAAT;AACA,mBAAO,KAAK2S,IAAL,CAAUlU,GAAV,CAAmCsX,GAAnC,CAAP;AACH;;;iBAED,oCAA2BsZ,OAA3B,EAAuD;AACnD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKiO,oBAA1B,CAAT;AACA,mBAAO,KAAKlO,IAAL,CAAUP,IAAV,CAAoC2D,GAApC,EAAyCsZ,OAAzC,CAAP;AACH;;;iBAED,kCAAyBA,OAAzB,EAAqD;AACjD,gBAAMtZ,GAAG,aAAM,KAAKnD,OAAX,SAAqB,KAAKiO,oBAA1B,CAAT;AACA,mBAAO,KAAKlO,IAAL,CAAU2c,GAAV,CAAmCvZ,GAAnC,EAAwCsZ,OAAxC,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3NL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBa22B,8B;;;;;AAmBX;;;AAGA,gDAAmBjmD,QAAnB,EAAuC;AAAA;;AAAA;;AACrC,yCAAMA,QAAN;AADiB,mBAAAA,QAAA,GAAAA,QAAA;AAjBT,mBAAAkmD,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAiB6B;AAEtC;;;;eAfD,aAAmB9yB,GAAnB,EAAqE;AACnE,gBAAIA,GAAJ,EAAS;AACP,mBAAK0L,UAAL,GAAkB,KAAKqnB,YAAL,CAAkB/yB,GAAlB,CAAlB;AACD;AACF;;;iBAED,mBAAU52B,KAAV,EAAyBL,IAAzB,EAA6C;;;AAC3C,mBAAO,CAAP,KAAOA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEvD,IAAN,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAEiC,GAAnB;AACD;;;iBASD,aAAIgW,QAAJ,EAAgC;AAC9B,iBAAKq1C,WAAL,CAAiBzsD,IAAjB,CAAsBoX,QAAtB;AACD;;;iBAEO,8BAA0C;AAAA,gBAA3B/L,YAA2B,UAA3BA,YAA2B;AAAA,gBAAbqxC,SAAa,UAAbA,SAAa;AAChD,mBAAO,2DAAc,CACnB,KAAK1rB,gBAAL,CAAsB27B,eAAtB,CAAsCthD,YAAtC,EAAoD;AAClDzM,mBAAK,EAAE+d,MAAM,CAACC,gBADoC;AAElD3Q,kBAAI,EAAE,YAF4C;AAGlD,kCACE,UAAGywC,SAAH,EAAekQ,WAAf,OAAiC,cAAjC,GACI,2BADJ,GAEI;AAN4C,aAApD,CADmB,EASnB,KAAK37B,cAAL,CAAoBuM,eATD,CAAd,EAUJ9zB,IAVI,CAUC,KAAKmjD,sCAAL,EAVD,CAAP;AAWD;;;iBAED,kDAAyC;AACvC,mBAAO,iDACL,kBAGM;AAAA;AAAA,kBAHJC,iBAGI;AAAA,kBAHeC,eAGf;;AACJ,qBAAOD,iBAAiB,CAAC9oD,GAAlB,CAAsB,UAACgpD,GAAD,EAAS;AACpC,uBAAO;AACL7tD,sBAAI,EAAE6tD,GADD;AAEL1H,wBAAM,EAAEyH,eAAe,CAACv5C,KAAhB,CAAsB,UAAC4Q,GAAD;AAAA,2BAASA,GAAG,CAAC03B,WAAJ,KAAoBkR,GAAG,CAACl9C,GAAjC;AAAA,mBAAtB;AAFH,iBAAP;AAID,eALM,CAAP;AAMD,aAXI,CAAP;AAaD;;;;QA1DiD,kE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBpD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAYam9C,uB;;;;;AAUZ,yCACQvmD,SADR,EAEiCvH,IAFjC,EAGSwH,EAHT,EAISC,QAJT,EAKS+zB,sBALT,EAKuD;AAAA;;AAAA;;AAEtD;AANO,mBAAAj0B,SAAA,GAAAA,SAAA;AACyB,mBAAAvH,IAAA,GAAAA,IAAA;AACxB,mBAAAwH,EAAA,GAAAA,EAAA;AACA,mBAAAC,QAAA,GAAAA,QAAA;AACA,mBAAA+zB,sBAAA,GAAAA,sBAAA;AAbT,mBAAAuyB,WAAA,GAAc,SAAKvyB,sBAAL,CAA4BwyB,0BAA5B,CAAuD,SAAKhuD,IAAL,CAAUkd,QAAjE,CAAd;AAEA,mBAAAQ,YAAA,GAAe,WAAf;AACA,mBAAAuwC,aAAA,GAAgB,CACf;AACA;AAAEt9C,eAAG,EAAE,SAAK+M,YAAZ;AAA0BwW,iBAAK,EAAE;AAAjC,WAFe,CAAhB;;AAaC,mBAAKxsB,QAAL;;AAHsD;AAItD;;;;iBAED,gBAAO;AACN,gBAAM1H,IAAI,GAAG,KAAK2H,IAAL,CAAUjH,KAAvB;AACAV,gBAAI,CAACkuD,YAAL,GAAoB,KAAKxwC,YAAzB;AACA,iBAAKnW,SAAL,CAAeS,KAAf,CAAqBhI,IAArB;AACA;;;iBAED,kBAAM;AACL,iBAAKuH,SAAL,CAAeS,KAAf;AACA;;;iBAED,8BAAqB,CACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;iBAEO,oBAAW;AAClB,iBAAKL,IAAL,GAAY,KAAKH,EAAL,CAAQS,KAAR,CAAc;AACzBZ,gBAAE,EAAE,CAAC,KAAKrH,IAAL,CAAUkI,KAAV,CAAgBb,EAAhB,IAAsB,IAAvB,CADqB;AAEzB6mD,0BAAY,EAAE,CACb;AAAExtD,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBgmD,YAAhB,IAAgC,KAAKxwC,YAA9C;AAA4DtV,wBAAQ,EAAE;AAAtE,eADa,EAEb,CAAC,0DAAWE,QAAZ,CAFa,CAFW;AAMzBoV,0BAAY,EAAE,CACb;AAAEhd,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBwV,YAAhB,IAAgC,EAAzC;AAA6CtV,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAAjE,eADa,EAEb,CAAC,0DAAWC,QAAZ,CAFa,CANW;AAUzBi7C,qBAAO,EAAE,CACR;AAAE7iD,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBq7C,OAAhB,IAA2B,EAApC;AAAwCn7C,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAA5D,eADQ,EAER,CAAC,0DAAWC,QAAZ,CAFQ,CAVgB;AAczB6lD,+BAAiB,EAAE,CAClB;AAAEztD,qBAAK,EAAE,KAAKV,IAAL,CAAUkI,KAAV,CAAgBimD,iBAAhB,IAAqC,EAA9C;AAAkD/lD,wBAAQ,EAAE,KAAKpI,IAAL,CAAUqI;AAAtE,eADkB,EAElB,CAAC,0DAAWC,QAAZ,CAFkB;AAdM,aAAd,CAAZ;AAmBA;;;;QA9D2C,6D;;;;;;;;;;;;;;;;;ACX7C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMtB,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,0BAD8C;AAEpDW,gBAAQ,EAAE,0BAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASknD,uCAAT,CAAiDhnD,QAAjD,EAAqE;AAC3E,wFAA8BJ,iBAA9B,EAAiD,mGAAjD,EAAkFI,QAAlF;AACA;;;;;;;;;;;;;;;;;ACZD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAWainD,e;;;;;AAMZ,iCAAmBjnD,QAAnB,EAAuC;AAAA;;AAAA;;AACtC,yCAAMA,QAAN;AADkB,mBAAAA,QAAA,GAAAA,QAAA;AALnB,mBAAAknD,cAAA,GAAiB,2DAAc,CAC9B,SAAKjV,aAAL,CAAmBkV,eADW,EAE9B,SAAKtvD,gBAAL,CAAsBiK,YAFQ,CAAd,EAGdqB,IAHc,CAGT,2DAAI;AAAA;AAAA,gBAAEikD,GAAF;;AAAA,mBAAW,SAAKC,gBAAL,CAAsBD,GAAtB,CAAX;AAAA,WAAJ,CAHS,CAAjB;AAKuC;AAEtC;;;;iBACO,0BAAiBA,GAAjB,EAA8B;AAAA;;AACrC,mBAAOA,GAAG,CAAC5nD,OAAJ,CAAY,YAAZ,EAA0B,UAACT,KAAD,EAAQuoD,EAAR;AAAA,qBAAe,QAAI,CAACzvD,gBAAL,CAAsBqE,OAAtB,CAA8BorD,EAA9B,CAAf;AAAA,aAA1B,CAAP;AACA;;;;QAXmC,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLrC;AAAA;;;AAAA;AAAA;AAAA;;UAAaC,uB;AACX,2CAAc;AAAA;AACb;;;;iBAED,mBAAUjuD,KAAV,EAAyBuc,OAAzB,EAAyC;AACvC,gBAAI,CAACA,OAAL,EAAc;AACd,gBAAIA,OAAO,CAAC2xC,eAAR,IAA2B,OAA/B,EACE,iBAAUluD,KAAV,EADF,KAEK;AACH,qBAAOuc,OAAO,CAAC4xC,qBAAR,CAA8BjoD,OAA9B,CAAsC,OAAtC,YAAkDlG,KAAlD,EAAP;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRI,eAASouD,WAAT,CACN3oC,QADM,EAEN4oC,OAFM,EAGNC,QAHM,EAIN3V,aAJM,EAKNl2B,aALM,EAMN8rC,iBANM,EAM8B;AAAA;;AAEpC,eAAO,YAAoB;AAC1B,iBAAO,IAAInvB,OAAJ,CAAY,UAAOC,OAAP,EAAgBC,MAAhB;AAAA,mBAA2B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAC7C,0BAAI;AACH,4BAAIqZ,aAAJ,EACCA,aAAa,CAAC6V,UAAd,GAA2B99C,IAA3B,CAAgC,YAAM;AACrCioC,uCAAa,CAAC8V,eAAd;AACA,yBAFD;AAGD,uBALD,CAKE,OAAO5kC,CAAP,EAAU;AACXpH,qCAAa,CAACqH,IAAd,CAAmBD,CAAnB;AACA;;AACDykC,8BAAQ,CAAC94C,KAAT,GAAiB9E,IAAjB,CAAsB;AAAA,+BAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIhC,yCAAM+U,QAAQ,CAAC6mC,IAAT,CAAc;AACnBjgB,0CAAM,EAAE,yEAAY5mB,QADD;AAEnBipC,4DAAwB,EAAE,KAFP;AAGnBC,+CAAW,EAAE;AACZC,4CAAM,EAAE,WADI;AAEZC,sDAAgB,EAAE;AAFN,qCAHM;AAQnBC,2DAAuB,EAAE,IARN;AASnBC,sDAAkB,EAAE,CACnB,UADmB,EAEnB,2BAFmB,EAGnB;AACA,6GAAYtpC,QAAZ,CAAqB/I,GAJF,EAKnB,yEAAYyI,GALO,EAMnB,qBANmB;AATD,mCAAd,CAAN;;AAJgC;AAAA;AA2B5B,yCAAMM,QAAQ,CAAC8xB,UAAT,EAAN;;AA3B4B;AAAA;AAAA;AAAA;AAAA;;AAAA;AA4BjB,yCAAM9xB,QAAQ,CAACsT,QAAT,EAAN;;AA5BiB;AA4BzBC,uCA5ByB;AA6B/BiL,8CAAY,CAACC,OAAb,CAAqB,QAArB,EAA+BlL,KAA/B;;AACA,sCAAIiL,YAAY,CAACmC,OAAb,CAAqB,WAArB,KAAqC,MAArC,IAA+C,CAACnC,YAAY,CAACmC,OAAb,CAAqB,WAArB,CAApD,EAAuF;AACtF;AACM4oB,0CAFgF,GAEvE,IAAI,mEAAJ,EAFuE;AAGhFC,gDAHgF,GAGjED,MAAM,CAACE,WAAP,CAAmBl2B,KAAnB,CAHiE;AAItFu1B,qDAAiB,CAACY,UAAlB,CAA6B,CAACF,YAAY,CAACvlC,MAAb,IAAuB,IAAxB,EAA8BqjC,WAA9B,EAA7B;AACA9oB,gDAAY,CAACC,OAAb,CAAqB,WAArB,EAAkC,OAAlC;AACA;;AApC8B;AAqC/B,yCAAMmqB,OAAO,CAACe,YAAR,EAAN;;AArC+B;AAAA;AAsC/B,yCAAMf,OAAO,CAACgB,eAAR,EAAN;;AAtC+B;AAwC/B5pC,0CAAQ,CAAC6pC,eAAT,CAAyBjtD,SAAzB,CAAmC,UAAOS,KAAP;AAAA,2CAAiB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACnD,kDAAIA,KAAK,CAAC8C,IAAN,IAAc,mEAAkB2pD,cAApC,EAAoD;AACnD9pC,wDAAQ,CAAC+pC,WAAT,CAAqB,CAArB;AACA;;AACD,kDAAI1sD,KAAK,CAAC8C,IAAN,IAAc,mEAAkB6pD,kBAApC,EAAwD;AACvDxrB,4DAAY,CAACC,OAAb,CAAqB,WAArB,EAAkC,MAAlC;AACApV,qDAAK,CAAC,YAAD,CAAL;AACArJ,wDAAQ,CAAC0e,KAAT;AACA;;AARkD,oDAS/CrhC,KAAK,CAAC8C,IAAN,IAAc,mEAAkB8pD,oBATe;AAAA;AAAA;AAAA;;AAAA;AAUpC,qDAAMjqC,QAAQ,CAACsT,QAAT,EAAN;;AAVoC;AAU5CC,oDAV4C;AAWlDiL,0DAAY,CAACC,OAAb,CAAqB,QAArB,EAA+BlL,MAA/B;;AAXkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCAAjB;AAAA,mCAAnC;AAxC+B;AAAA;;AAAA;AAuD/BiL,8CAAY,CAACC,OAAb,CAAqB,QAArB,EAA+B,EAA/B;AACMyrB,oCAxDyB,GAwDpBlqC,QAAQ,CAACmqC,mBAAT,EAxDoB;AAyD/BntC,+CAAa,CAAC9V,GAAd,CAAkBgjD,EAAlB;;AAzD+B;AA2DhCtwB,yCAAO,CAAC,IAAD,CAAP;AA3DgC;AAAA;;AAAA;AAAA;AAAA;AA6DhCC,wCAAM,eAAN;;AA7DgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAZ;AAAA,uBAAtB;;AAT6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA3B;AAAA,WAAZ,CAAP;AA0EA,SA3ED;AA4EA;;;;;;;;;;;;;;;;;AC7FD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAkBauwB,e;;;;;AAmBZ,iCAAmBnpD,QAAnB,EACSyxB,WADT,EAES75B,mBAFT,EAEmD;AAAA;;AAAA;;AAClD,yCAAMoI,QAAN;AAHkB,mBAAAA,QAAA,GAAAA,QAAA;AACV,mBAAAyxB,WAAA,GAAAA,WAAA;AACA,mBAAA75B,mBAAA,GAAAA,mBAAA;AApBT,mBAAAwxD,IAAA,GAAO,EAAP;AACA,mBAAAC,QAAA,GAAW,KAAX;AAEA,mBAAAC,MAAA,GAAS,IAAI5oD,IAAJ,EAAT;AAIA,mBAAAoY,KAAA,GAAQ,IAAI,0DAAJ,GAAgBiK,MAAhB,CAAuB,cAAvB,CAAR;AAGA,mBAAA7jB,IAAA,GAAO,EAAP;AACA,mBAAA0iB,qBAAA,GAAwB,yEAAYA,qBAApC;AACA,mBAAA2nC,SAAA,GAAY,CACX;AAAEpqD,gBAAI,EAAE,SAAR;AAAmBkxC,gBAAI,EAAE;AAAzB,WADW,EAEX;AAAElxC,gBAAI,EAAE,QAAR;AAAkBkxC,gBAAI,EAAE;AAAxB,WAFW,CAAZ;AAIA,mBAAAmZ,YAAA,GAAe,SAAK3xD,gBAAL,CAAsBgK,WAArC;;AAMC,mBAAK4nD,oBAAL;;AAFkD;AAGlD;;;;iBAED,oBAAW;AAAA;;AACV,iBAAKC,4BAAL;AACA,iBAAK7B,iBAAL,CAAuBY,UAAvB;;AACA,iBAAKkB,aAAL;;AAEA,uEAAc,CACb,kDAAK,KAAK/pB,eAAL,CAAqBiR,UAArB,EAAL,EAAwC1tC,IAAxC,CACC,iEAAU,UAACymD,OAAD;AAAA,qBAAcA,OAAO,GAAG,QAAI,CAACC,iBAAL,EAAH,GAA8B,gDAAGD,OAAH,CAAnD;AAAA,aAAV,CADD,CADa,EAIb,KAAKhqB,eAAL,CAAqBgpB,eAArB,CAAqCzlD,IAArC,CAA0C,iEAAU,EAAV,CAA1C,CAJa,CAAd,EAKGxH,SALH,CAKa,kBAAiB;AAAA;AAAA,kBAAfmuD,SAAe;;AAC7B,sBAAI,CAACT,QAAL,GAAgB,CAAC,CAACS,SAAlB;AACA,sBAAI,CAAC5qD,IAAL,GAAY4qD,SAAS,GAAGA,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAE5qD,IAAd,GAAqB,EAA1C;AACA,aARD;AASA;;;iBAED,kBAAS;AACRq+B,wBAAY,CAACC,OAAb,CAAqB,WAArB,EAAkC,MAAlC;AACAD,wBAAY,CAACC,OAAb,CAAqB,YAArB,EAAmC,IAAnC;AAEA,gBAAMusB,WAAW,GAAG,yEAAYhrC,QAAZ,CAAqBG,uBAArB,GACnB4K,MAAM,CAACrnB,QAAP,CAAgBq9B,MADG,GAEnB,IAFD;AAGA,iBAAKF,eAAL,CAAqBC,MAArB,CAA4BkqB,WAA5B;AACA;;;iBAED,iBAAQ;AACP,iBAAKnqB,eAAL,CAAqBnC,KAArB;AACA,W,CAGD;;;;iBAEQ,6BAAiB;AAAA;;AACxB,mBAAO,2DAAc,CACpB,KAAKxmB,cAAL,CAAoB0xC,eAApB,EADoB,EAEpB,KAAK/oB,eAAL,CAAqBvN,QAArB,EAFoB,CAAd,EAGJlvB,IAHI,CAIN,iEAAU,kBAAsB;AAAA;AAAA,kBAApB6mD,OAAoB;AAAA,kBAAX13B,KAAW;;AAC/B,sBAAI,CAAC23B,WAAL,GAAmBD,OAAnB;AACA,qBAAO,kDAAK,QAAI,CAACv4B,WAAL,CAAiBy4B,YAAjB,CAA8B53B,KAA9B,CAAL,CAAP;AACA,aAHD,CAJM,CAAP;AASA;;;iBAEO,yBAAa;AACpB,iBAAK63B,OAAL,GAAe,mEAAW,KAAKb,MAAhB,EAAwB,WAAxB,EAAqC,KAAKzxD,gBAAL,CAAsBgK,WAA3D,CAAf;AACA,iBAAKuoD,IAAL,GAAY,KAAKd,MAAL,CAAY1d,cAAZ,CAA2B,OAA3B,EAAoC;AAAEye,kBAAI,EAAE,SAAR;AAAmBC,oBAAM,EAAE;AAA3B,aAApC,CAAZ;AACA,iBAAKC,cAAL,GAAsB,mEAAW,KAAKjB,MAAhB,EAAwB,UAAxB,EAAoC,OAApC,EAA6C,IAA7C,CAAtB;AACA;;;iBAEO,gCAAoB;AAC3B,gBAAMkB,WAAW,GAAG;AACnBC,sBAAQ,EAAE,GADS;AAEnBC,wBAAU,EAAE,oBAACC,WAAD,EAAiB;AAC5B,uBAAO,IAAIjyB,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACvC,sBAAI,CAAC+xB,WAAW,CAAC92B,IAAjB,EAAuB;AACtB82B,+BAAW,CAAC92B,IAAZ,GAAmB,EAAnB;AACA;;AACD,sBAAI,CAAC82B,WAAW,CAAC92B,IAAZ,CAAiB+2B,MAAtB,EAA8B;AAC7BD,+BAAW,CAAC92B,IAAZ,CAAiB+2B,MAAjB,GAA0B,IAAIC,OAAJ,EAA1B;AACA;;AACD,sBAAIF,WAAW,CAACzrD,IAAZ,KAAqB,YAAzB,EAAuC;AACtCyrD,+BAAW,CAAC92B,IAAZ,CAAiB+2B,MAAjB,CAAwBpY,MAAxB,CAA+B,cAA/B;AACA;;AACD7Z,yBAAO,CAAC,IAAD,CAAP;AACA,iBAXM,CAAP;AAYA;AAfkB,aAApB;AAkBA,4DAAOmyB,cAAP,CAAsBN,WAAtB,EAAmC,OAAnC;AACA,W,CACD;;;;iBAEQ,wCAA+B;AAAA;;AACtC,iBAAK9uD,GAAL,GAAW,KAAK9D,mBAAL,CAAyBmzD,wBAAzB,CAAkDpvD,SAAlD,CACV,UAAC/C,IAAD,EAAU;AACT,kBAAI,CAACA,IAAL,EAAW,QAAI,CAACoyD,mBAAL,GAAX,KACK,QAAI,CAACC,oBAAL,CAA0BryD,IAA1B;AACL,aAJS,CAAX;AAMA;;;iBACO,+BAAsB;AAAA;;AAC7B,iBAAK8C,GAAL,GAAW,KAAK9D,mBAAL,CACTszD,iBADS,GAETvvD,SAFS,CAEC,UAAC/C,IAAD,EAAU;AACpB,sBAAI,CAACqyD,oBAAL,CAA0BryD,IAA1B;AACA,aAJS,CAAX;AAKA;;;iBAEO,8BAAqBA,IAArB,EAA2B;AAAA;;;;AAClC,iBAAKuyD,SAAL,GAAiB,EAAjB;;AACA,gBAAIvyD,IAAI,IAAIA,IAAI,CAACmE,MAAjB,EAAyB;AACxB,sCAAAnE,IAAI,CAAC,CAAD,CAAJ,MAAO,IAAP,IAAO,aAAP,GAAO,MAAP,GAAO,GAAEA,IAAT,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEwyD,KAAf,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEjpD,MAAF,CAAS,UAAAlF,CAAC;AAAA,uBAAI,CAACA,CAAC,CAACouD,YAAP;AAAA,eAAV,CAApB,MAAiD,IAAjD,IAAiD,aAAjD,GAAiD,MAAjD,GAAiD,GAAG9xD,OAAH,CAAW,UAAC4C,IAAD,EAAU;;;AACrE,oBAAMmvD,WAAW,GAAG,CAAC,QAACnvD,IAAI,CAACovD,UAAN,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAExuD,MAAlB,KAA4BZ,IAAI,CAACovD,UAAL,CAAgB1sD,QAAhB,CAAyB,aAAzB,CAA7B,KAAyE1C,IAAI,CAACqvD,QAAlG;;AACA,oBAAIF,WAAJ,EAAiB;AAChB,0BAAI,CAACH,SAAL,CAAexyD,IAAf,CAAoB,QAAI,CAACf,mBAAL,CAAyB6zD,gBAAzB,CAA0CtvD,IAA1C,EAAgD,kBAAhD,CAApB;AACA;AACD,eALgD,CAAjD;AAMA;AACD;;;;QA9HmC,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEChBjC,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAM3C,wH,IACE;AAAA;AAAA,sBAES,UAFT;;AAA0E;;;;;AAA1E;AAAA,8N,GAAA,qX,EAAA;AAAA;AAAA,gB,EAAwB,wQ,GACtB,ugB,GAAA,2a,GAAU,0E,IAAG;AADS;;AAAxB,wBAAwB,SAAxB;;AACE;AAAwB,S,EAAA;AAD1B;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwB,S;AAAA;;;uEAO1B,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAuD,S;AAAA;;;uEAG/D,4I,IAA+C,6E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAC3C,S;AAAA;;;uEAFN,oL,GAAA,iR,GACE,2H,GAAA;AAAA;AAAA,gB,GACU;AADW,kEAAyB,QAAzB,CAAyB,SAAzB,CAAyB,YAAzB;;AAArB,wBAAqB,SAArB;AAA8C,S,EAAA,I;AAAA;;;uEAMhD,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAwD,S;AAAA;;;uEAI9D,yL,IAA4F,+E,IAAA,I,EAAA;AAAA;;AAAA;AAE5F,S;AAAA;;;uEAJJ,oL,GAAA,iR,GACE,4I,IACE,2H,GAAA;AAAA;AAAA,gB,GAEO;AAFD,kEAAyB,QAAzB,CAAyB,SAAzB,CAAyB,YAAzB;;AAAN,wBAAM,SAAN;AAA+B,S,EAAA,I;AAAA;;;uEAQnC,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAE5D,oL,GAAA,iR,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAkB,S;AAAA;;;uEAKzC,sM,GAAA,uR,GACE,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA4D,S;AAAA;;;uEAEtE,oL,GAAA,iR,GACE,4I,IAAqB,6E,IAAA,I,EAAA;AAAA;;AAAA;AAA4B,S;AAAA;;;uEAKnD,sM,GAAA,uR,GACK,I,EAAA,I;AAAA;;;uEAEH,gK,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,GACE,ugB,GAAA,2a,GAAU,gF,IAEZ;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA,qX,GACE,0hB,GAAA;AAAA;AAAA,gB,GAAuB,qF,IAAc;AAHrC;;AAGU;;AAAV,wBAAU,UAAV;AAAsB,S,EAAA;AAJxB;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEF;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAgD,S;AAAA;;;uEANtD,8M,GAAA,iR,GACE,4H,GAAA;AAAA;AAAA,gB,GAOM;AAAA;AAPkC,kEAA4C,SAA5C;;AAAxC,wBAAwC,SAAxC;AAAoF,S,EAAA,I;AAAA;;;uEAYtF,gO,GAAA,uR,GAAsE,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtE,S;AAAA;;;uEAGF,yY,GAAA,+M,EAAA,4J,GAA4D,I,EAAA,I;AAAA;;;uEAC5D,+W,GAAA,mM,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,EAA5D,sJ,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,GAAA;AAAA,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;;AAA4D,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;AAAiG,S,EAAA,I;AAAA;;;uEAEjG,uZ,GAAA,+M,EAAA,4J,GAEW,I,EAAA;AAAA;AAFP,gEAA+B,WAA/B,CAA+B,MAA/B;;AAAJ,wBAAI,SAAJ;AAAmC,S;AAAA;;;uEAlFzC,gJ,IACE,iJ,IACE,2H,GAAA;AAAA;AAAA,gB,GAIA,wL,IACE,0K,GAAA,6J,GAAmD,8E,GAAA,wQ,GAEnD,2H,GAAA;AAAA;AAAA,gB,GAOF,4Y,GAAA,uM,EAAA,4O,EAAA,mR,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,wM,GACE,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,oH,GAAA,0N,EAAA,2N,GAGA,oH,GAAA,oN,EAAA,+M,GAMF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,oH,GAAA,0N,EAAA,4N,GAGA,oH,GAAA,oN,EAAA,+M,GASF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,qH,GAAA,0N,EAAA,4N,GAGA,qH,GAAA,oN,EAAA,gN,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,qH,GAAA,0N,EAAA,4N,GAGA,qH,GAAA,oN,EAAA,gN,GAKF,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,qH,GAAA,0N,EAAA,4N,GAEA,qH,GAAA,oN,EAAA,gN,GAYF,0H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACE,qH,GAAA,0N,EAAA,4N,GAKF,qH,GAAA;AAAA;AAAA,gB,EAAA,yN,GACA,qH,GAAA;AAAA;AAAA,gB,EAAA,6M,GAEA,qH,GAAA;AAAA;AAAA,gB,EAAmD,0D,EAAnD,yN,GAEW;AAAA;AAlFc,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAOO,+GAAoG,mBAApG;;AAAL,yBAAK,SAAL;;AAOe,6BAAyB,WAAzB;;AAAjB,yBAAiB,SAAjB;;AACgB;;AAAd,yBAAc,SAAd;;AAUc;;AAAd,yBAAc,SAAd;;AAac;;AAAd,yBAAc,SAAd;;AASc;;AAAd,yBAAc,SAAd;;AASc;;AAAd,yBAAc,SAAd;;AAec;;AAAd,yBAAc,UAAd;;AAMmB,8BAAmC,iBAAnC;;AAAnB,yBAAmB,UAAnB;;AACY,8BAA+C,iBAA/C;;AAAZ,0BAAY,UAAZ;;AAEmD;;AAAnD,0BAAmD,UAAnD;AAEK,S,EAAA;AA7E8C;;AAAA;;AASrD;;AAAA;AAqEQ,S;AAAA;;;uEArFZ,2H,GAAA;AAAA;AAAA,gB,EAAuB,wL,GAAA;AAAA;;AAAA,8JAA+C,eAA/C;;AAAvB,wBAAuB,SAAvB;AAAsE,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEtE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA,UAAYuvD,eAAZ;;AAAA,iBAAYA,eAAZ,EAA2B;AACvB;AAAa;AAChB,OAFD,EAAYA,eAAe,KAAfA,eAAe,MAA3B;;UAGaC,S,GACT,mBAAmB1rD,EAAnB,EACWsJ,GADX,EAEW/E,IAFX,EAGWO,KAHX,EAGwB;AAAA;;AAHL,aAAA9E,EAAA,GAAAA,EAAA;AACR,aAAAsJ,GAAA,GAAAA,GAAA;AACA,aAAA/E,IAAA,GAAAA,IAAA;AACA,aAAAO,KAAA,GAAAA,KAAA;AAIX,aAAAmK,OAAA,GAA6B,EAA7B,CAJwB,CAMxB;;AACA,aAAAgC,QAAA,GAAW,KAAX;AACA,aAAAoC,kBAAA,GAAqB,KAArB;AAPK,O;;UAaIs4C,e,GACT,yBAAmB3rD,EAAnB,EACWsJ,GADX,EAEW4yB,YAFX,EAGWxR,WAHX,EAIW5lB,KAJX,EAI0B;AAAA;;AAJP,aAAA9E,EAAA,GAAAA,EAAA;AACR,aAAAsJ,GAAA,GAAAA,GAAA;AACA,aAAA4yB,YAAA,GAAAA,YAAA;AACA,aAAAxR,WAAA,GAAAA,WAAA;AACA,aAAA5lB,KAAA,GAAAA,KAAA;AAKX,aAAA6L,SAAA,GAAkC,EAAlC;AACA,aAAAgE,WAAA,GAAqB,EAArB;AACA,aAAAknB,mBAAA,GAA6B,EAA7B;AAP6B,O;;UAapB+vB,kB,GACT,4BAAmB5rD,EAAnB,EACW8E,KADX,EAEW4lB,WAFX,EAGWphB,GAHX,EAIWgzB,SAJX,EAI4B;AAAA;;AAJT,aAAAt8B,EAAA,GAAAA,EAAA;AACR,aAAA8E,KAAA,GAAAA,KAAA;AACA,aAAA4lB,WAAA,GAAAA,WAAA;AACA,aAAAphB,GAAA,GAAAA,GAAA;AACA,aAAAgzB,SAAA,GAAAA,SAAA;AACN,O;;;;;;;;;;;;;;;;;AC/CT;AAAA;;;AAAA;AAAA;AAAA;;AAAO,UAAMuvB,cAAc,GAAG,OAAvB;;;;;;;;;;;;;;;;ACAP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAsBA,UAAIjsC,KAAK,GAAG,CAAZ;;UASaksC,0B;;;;;AA4BZ,4CACSl0D,gBADT,EAES+L,MAFT,EAGShM,mBAHT,EAIS8W,YAJT,EAImC;AAAA;;AAAA;;AAElC;AALQ,mBAAA7W,gBAAA,GAAAA,gBAAA;AACA,mBAAA+L,MAAA,GAAAA,MAAA;AACA,mBAAAhM,mBAAA,GAAAA,mBAAA;AACA,mBAAA8W,YAAA,GAAAA,YAAA;AAdT,mBAAAs9C,gBAAA,GAAmB,EAAnB;AACA,mBAAAC,cAAA,GAAiB,EAAjB;AAGA,mBAAA/9C,gBAAA,GAAmB,EAAnB;AACA,mBAAAg+C,cAAA,GAAiB,EAAjB;AACA,mBAAAv4C,UAAA,GAA+B,EAA/B;;AAWE,mBAAK9b,gBAAL,CAAsBiK,YAAtB,CACCqB,IADD,CAEC,uDAAU,SAAKC,QAAf,CAFD,EAGC,uDAAU;AACTrB,gBAAI,EAAE,SAAKlK,gBAAL,CAAsBgK;AADnB,WAAV,CAHD,EAMC,iDAAI,UAACjJ,IAAD;AAAA,mBAAWA,IAAI,CAACmJ,IAAL,IAAa,IAAb,GAAoB,KAApB,GAA4B,KAAvC;AAAA,WAAJ,CAND,EAQCpG,SARD,CAQW,UAAC4G,GAAD,EAAS;AACnB,qBAAKA,GAAL,GAAWA,GAAX;AACA,WAVD;;AAHiC;AAclC;;;;iBAED,qBAAYP,OAAZ,EAAoC;;;AACnC,iBAAK0M,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;;AACA,gBAAI,CAAC8J,OAAO,CAACf,QAAR,IAAoBe,OAAO,CAAC3G,aAA7B,KAA+C,KAAKA,aAAxD,EAAuE;AACtE,kBAAI,KAAK4F,QAAT,EAAmB;AAClB,qBAAKC,QAAL,GAAgB,KAAhB;AACA;AACD;;AACD,gBAAIc,OAAO,CAAC3G,aAAR,KAAqB,MAAI,KAAKA,aAAT,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAE2wD,gBAA7C,CAAJ,EAAmE;AAClE,mBAAKG,gBAAL;;AACA,mBAAKC,wBAAL;AACA;AACD;;;iBAED,mBAAUhwD,KAAV,EAAiB;AAChB4B,aAAC,CAAC,OAAD,CAAD,CAAW5E,MAAX,CAAkBgD,KAAK,CAAC4C,SAAN,GAAkB,EAApC;AACA;;;iBAED,sBAAa+O,QAAb,EAAuC;AACtC,iBAAKs+C,UAAL,CAAgBt+C,QAAhB;AACA;;;iBAED,yBAAgBnV,IAAhB,EAA2B;AAC1B,iBAAKyzD,UAAL,CAAgBzzD,IAAI,CAACwT,MAArB,EAA6BxT,IAAI,CAAC2Q,GAAlC;AACA;;;iBAEO,oBAAWwE,QAAX,EAAsCupC,cAAtC,EAA+D;AAAA;;AACtE,gBAAM1zC,MAAM,GAAG,KAAKA,MAAL,CAAY2C,IAAZ,CAAiB,gGAAjB,EAA6C;AAC3D3N,kBAAI,EAAE;AACL2J,mBAAG,EAAE,KAAKA,GADL;AAEL3J,oBAAI,EAAE,KAAKA,IAFN;AAGLqI,wBAAQ,EAAE,KAAKA,QAHV;AAIL5F,6BAAa,EAAE,KAAKA,aAJf;AAKLu5C,6BAAa,EAAE,KAAKA,aALf;AAMLjhC,0BAAU,EAAE,KAAKA,UANZ;AAOLpH,4BAAY,EAAEwB,QAPT;AAQL5H,wBAAQ,EAAE,CAAC4H,QAAD,CARL;AASLupC,8BAAc,EAAdA;AATK,eADqD;AAY3Dl+C,oBAAM,EAAE,OAZmD;AAa3DoN,mBAAK,EAAE,OAboD;AAc3DC,wBAAU,EAAE,mBAd+C;AAe3DkqB,0BAAY,EAAE;AAf6C,aAA7C,CAAf;AAiBA/sB,kBAAM,CACJ8C,WADF,GAEEvD,IAFF,CAEO,kDAAK,CAAL,CAFP,EAEgB,uDAAU,KAAKC,QAAf,CAFhB,EAGEzH,SAHF,CAGY,UAAC0H,CAAD,EAAO;AACjB,sBAAI,CAACf,WAAL;AACA,aALF;AAMA;;;iBAED,uBAAc;AACb,gBAAM43B,OAAO,GAAG,KAAKh5B,QAAL,IAAiB,KAAKyS,UAAL,CAAgB7V,IAAhB,CAAqB,UAACb,CAAD;AAAA,qBAAOA,CAAC,SAAD,IAAAA,CAAC,WAAD,GAAC,MAAD,GAAAA,CAAC,CAAEy1B,QAAV;AAAA,aAArB,CAAjC;AACA,iBAAKp5B,KAAL,GAAa4gC,OAAO,GAAG,IAAH,GAAU,IAA9B;AACA,iBAAKx4B,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;;;iBAEO,4BAAgB;AACvB,iBAAK0yD,gBAAL,GAAwB,KAAKvvD,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB2wD,gBAApD,EAAsE;AAC7FpzD,kBAAI,EAAE,KAAKA;AADkF,aAAtE,CAAxB;AAGA,iBAAKqzD,cAAL,GAAsB,KAAKxvD,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB4wD,cAApD,EAAoE;AACzFrzD,kBAAI,EAAE,KAAKA;AAD8E,aAApE,CAAtB;AAIA,iBAAKsV,gBAAL,GAAwB,KAAKzR,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB6S,gBAApD,EAAsE;AAC7FtV,kBAAI,EAAE,KAAKA;AADkF,aAAtE,CAAxB;AAGA,iBAAKszD,cAAL,GAAsB,KAAKzvD,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB6wD,cAApD,EAAoE;AACzFtzD,kBAAI,EAAE,KAAKA;AAD8E,aAApE,CAAtB;AAGA;;;iBAEO,gCAAuB+N,MAAvB,EAA6B;;;AACpC,gBAAIA,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAE5J,MAAZ,EAAoB;AACnB,mBAAK63C,aAAL,GAAqB,MAAH,OAAG,CAAH;AAAK/5C,mBAAG,EAAE8L,MAAM,CAAC,CAAD,CAAN,CAAU9L;AAApB,eAAG,EAAyB8L,MAAM,CAAC,CAAD,CAAN,CAAU/N,IAAnC,CAArB;AAEA,mBAAKg8C,aAAL,CAAmBpe,eAAnB,GAAqC7vB,MAAM,CAAC,CAAD,CAAN,CAAU/N,IAAV,CAAe49B,eAAf,CAA+B/4B,GAA/B,CAAmC,UAAC4T,CAAD,EAAO;AAC9E,oBAAMC,MAAM,GAAG,IAAI,0EAAJ,EAAf;;AACA,gFAAW5T,SAAX,CAAqB2T,CAArB,EAAwBC,MAAxB;;AACA,uBAAOA,MAAP;AACA,eAJoC,CAArC;AAMA,mBAAKsjC,aAAL,CAAmBl/B,eAAnB,GACC,OAAA/O,MAAM,CAAC,CAAD,CAAN,CAAU/N,IAAV,CAAe8c,eAAf,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEjY,GAAF,CAAM,UAAC4T,CAAD,EAAO;AAC1C,oBAAMC,MAAM,GAAG,IAAI,0EAAJ,EAAf;;AACA,gFAAW5T,SAAX,CAAqB2T,CAArB,EAAwBC,MAAxB;;AACA,uBAAOA,MAAP;AACA,eAJ6B,CAA9B,KAIM,EALP;AAOA,mBAAKsjC,aAAL,CAAmB6E,gBAAnB,GACC,OAAA9yC,MAAM,CAAC,CAAD,CAAN,CAAU/N,IAAV,CAAe6gD,gBAAf,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEh8C,GAAF,CAAM,UAAC4T,CAAD,EAAO;AAC3C,oBAAMC,MAAM,GAAG,IAAI,2EAAJ,EAAf;;AACA,gFAAW5T,SAAX,CAAqB2T,CAArB,EAAwBC,MAAxB;;AACA,uBAAOA,MAAP;AACA,eAJ8B,CAA/B,KAIM,EALP;AAOA,qBAAO,KAAK1Z,mBAAL,CAAyByW,sBAAzB,CACN,KAAKH,gBADC,yBAEU,KAAK0mC,aAAL,CAAmB0X,kBAAnB,CAAsC5xD,IAAtC,EAFV,SAEyD,KAAKwxD,cAF9D,EAAP;AAIA;;AACD,mBAAO,IAAP;AACA;;;iBAEO,oCAA2B;AAAA;;AAClC,gBAAI,CAAC,KAAKzvD,eAAL,CAAqBy0B,OAA1B,EAAmC;AACnC,iBAAKxiB,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAKN,mBAAL,CACEyW,sBADF,CACyB,KAAK29C,gBAD9B,EACgD,KAAKC,cADrD,EAEE9oD,IAFF,CAGE,uDAAU,KAAKC,QAAf,CAHF,EAIE,sDAAS,UAACuD,MAAD;AAAA,qBAAY,QAAI,CAAC4lD,sBAAL,CAA4B5lD,MAA5B,CAAZ;AAAA,aAAT,CAJF,EAKE,sDAAS,YAAM;AACd,sBAAI,CAAC+H,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,aAFD,CALF,EASEyD,SATF,CASY,UAACgL,MAAD,EAAmB;AAC7B,sBAAI,CAACgN,UAAL,GAAkB,gEAAWrF,aAAX,CACjB3H,MAAM,CAAClJ,GAAP,CAA2B,UAACoN,CAAD;AAAA,uBAAO,QAAI,CAAC2hD,sBAAL,CAA4B3hD,CAA5B,CAAP;AAAA,eAA3B,CADiB,EAEjB,KAFiB,CAAlB;AAKA,sBAAI,CAACsiC,SAAL,GAAiB;AAChBQ,wBAAQ,EAAE,CACT;AACC/0C,sBAAI,EAAE,QAAI,CAAC+a,UAAL,CAAgBlW,GAAhB,CAAoB,UAACR,CAAD;AAAA,2BAAOA,CAAC,CAACu7C,UAAT;AAAA,mBAApB,CADP;AAEC5K,iCAAe,EAAE,QAAI,CAACj6B,UAAL,CAAgBlW,GAAhB,CAAoB,UAACR,CAAD;AAAA,2BAAOA,CAAC,CAACwH,KAAT;AAAA,mBAApB;AAFlB,iBADS,CADM;AAOhBgpC,sBAAM,EAAE,QAAI,CAAC95B,UAAL,CAAgBlW,GAAhB,CAAoB,UAACR,CAAD;AAAA,yBAAOA,CAAC,CAACkC,IAAT;AAAA,iBAApB;AAPQ,eAAjB;;AAUA,sBAAI,CAACwU,UAAL,CAAgBpa,OAAhB,CAAwB,UAAC4C,IAAD,EAAU;AACjC6B,iBAAC,gBAAS7B,IAAI,CAACtB,GAAd,2BAAD,CAA2C6+C,GAA3C,CAA+C,kBAA/C,EAAmEv9C,IAAI,CAACsI,KAAxE;AACA,eAFD;;AAGA,sBAAI,CAACnC,WAAL;AACA,aA7BF;AA8BA;;;iBAEO,gCAAuBuI,CAAvB,EAA6B;AACpC;AACC,kBAAM1O,IAAI,GAAG,IAAI,mEAAJ,EAAb;;AACA,8EAAWuB,SAAX,CAAqB,MAAD,OAAC,CAAD;AAAG7C,mBAAG,EAAEgQ,CAAC,CAAChQ;AAAV,eAAC,EAAiBgQ,CAAC,CAACjS,IAAnB,CAArB,EAAgDuD,IAAhD;;AACAA,kBAAI,CAACg8C,cAAL,GAAsB,CAACh8C,IAAI,CAACg8C,cAAN,GACnB,EADmB,GAEnBh8C,IAAI,CAACg8C,cAAL,CAAoB16C,GAApB,CAAwB,UAAC4T,CAAD,EAAO;AAChC,oBAAMC,MAAM,GAAG,IAAI,wEAAJ,EAAf;;AACA,gFAAW5T,SAAX,CAAqB2T,CAArB,EAAwBC,MAAxB;;AACA,uBAAOA,MAAP;AACA,eAJC,CAFH;AAOAnV,kBAAI,CAACk9C,mBAAL,GAA2B,KAAKzE,aAAhC;AACA,qBAAOz4C,IAAP;AACA;AACD;;;;QAzMO,mE;;;;;;;;;;;;;;;;;AChCT;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAUaswD,uB;;;;;;;;;;;;;;;;;;;ACVb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;UAiCaC,qB;AAsCZ,uCACSC,aADT,EAESC,OAFT,EAGS/0D,gBAHT,EAG2C;AAAA;;AAAA;;AAFlC,eAAA80D,aAAA,GAAAA,aAAA;AACA,eAAAC,OAAA,GAAAA,OAAA;AACA,eAAA/0D,gBAAA,GAAAA,gBAAA;AAvCT,eAAAuL,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAUU,eAAA1B,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAEO,eAAAmrD,WAAA,GAAc,IAAI,oDAAJ,CAAoB,EAApB,CAAd;AAEjB,eAAAC,QAAA,GAAW,KAAKD,WAAL,CAAiBn3B,YAAjB,GAAgCvyB,IAAhC,CACV,iDAAI,UAACvK,IAAD,EAAU;AACb,oBAAI,CAACm0D,SAAL,CAAe,+CAAO/vC,cAAtB,EAAsCpkB,IAAtC;;AACA,oBAAI,CAACkvC,cAAL,CAAoB,+CAAO9qB,cAA3B,EAA2CpkB,IAA3C;AACA,WAHD,CADU,CAAX;AAcA,eAAAo0D,QAAA,GAAoB,KAApB;AACA,eAAAC,aAAA,GAAyB,IAAzB;AACA,eAAAC,eAAA,GAA2B,KAA3B;AACA,eAAAC,sBAAA,GAAkC,KAAlC;AACA,eAAAC,cAAA,GAA0B,KAA1B;AACA,eAAAC,YAAA,GAAwB,KAAxB;AAOI;;;;iBAEJ,uBAAW;AACV,iBAAKjqD,QAAL,CAAc0C,IAAd;AACA,iBAAK1C,QAAL,CAAc4W,QAAd;AACA;;;iBAED,qBAAYhY,OAAZ,EAAkC;;;AACjC,gBAAI,CAAJ,KAAIA,OAAO,CAAC3G,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE+oB,YAA3B,EAAyC;AACxC,mBAAKkpC,eAAL;;AACA,mBAAKC,YAAL;AACA;AACD;;;iBAED,qBAAYj0D,KAAZ,EAAwB;AACvB,iBAAKA,KAAL,GAAaA,KAAb;AACA,iBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsBH,KAAtB;;AACA,iBAAKyzD,SAAL,CAAe,+CAAO9vC,gBAAtB,EAAwC3jB,KAAxC;;AACA,iBAAKwuC,cAAL,CAAoB,+CAAO7qB,gBAA3B,EAA6C3jB,KAA7C;AACA;;;iBAED,kBAASV,IAAT,EAAoB;AACnB,iBAAKm0D,SAAL,CAAe,+CAAO7vC,QAAtB,EAAgCtkB,IAAhC;;AACA,iBAAKkvC,cAAL,CAAoB,+CAAO5qB,QAA3B,EAAqCtkB,IAArC;AACA;;;iBAED,eAAMA,IAAN,EAAiB;AAChB,iBAAKm0D,SAAL,CAAe,+CAAO3vC,KAAtB,EAA6BxkB,IAA7B;;AACA,iBAAKkvC,cAAL,CAAoB,+CAAO1qB,KAA3B,EAAkCxkB,IAAlC;AACA;;;iBAED,kBAASA,IAAT,EAAoB;AACnB,iBAAKkvC,cAAL,CAAoB,+CAAOzqB,QAA3B,EAAqCzkB,IAArC;;AACA,iBAAKkvC,cAAL,CAAoB,+CAAOzqB,QAA3B,EAAqCzkB,IAArC;AACA;;;iBAED,kBAASA,IAAT,EAA+C;AAC9C,iBAAKm0D,SAAL,CAAe,+CAAO5vC,QAAtB,EAAgCvkB,IAAhC;;AACA,iBAAKkvC,cAAL,CAAoB,+CAAO3qB,QAA3B,EAAqCvkB,IAArC;AACA;;;iBAEO,2BAAkB;;;AACzB,iBAAK40D,YAAL,GAAoB,CAAH,KAAG,KAAKnyD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEmyD,YAAxC;AACA,iBAAKC,aAAL,GAAqB,CAAH,KAAG,KAAKpyD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEoyD,aAAzC;AACA,iBAAKC,gBAAL,GAAwB,CAAH,KAAG,KAAKryD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEqyD,gBAA5C;AACA,iBAAKC,SAAL,GAAiB,CAAH,KAAG,KAAKtyD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEsyD,SAArC;AACA,iBAAKC,SAAL,GAAiB,CAAH,KAAG,KAAKvyD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEuyD,SAArC;AACA,iBAAKC,SAAL,GAAiB,CAAH,KAAG,KAAKxyD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEwyD,SAArC;AACA,iBAAKC,OAAL,GAAe,CAAH,KAAG,KAAKzyD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEyyD,OAAnC;AACA,iBAAKd,QAAL,GAAgB,CAAH,KAAG,KAAK3xD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE2xD,QAApC;AACA,iBAAKE,eAAL,GAAuB,CAAH,KAAG,KAAK7xD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE6xD,eAA3C;AACA,iBAAKC,sBAAL,GAA8B,CAAH,KAAG,KAAK9xD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE8xD,sBAAlD;AACA,iBAAKC,cAAL,GAAsB,CAAH,KAAG,KAAK/xD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE+xD,cAA1C;AACA,iBAAKlO,KAAL,GAAa,CAAH,KAAG,KAAK7jD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE6jD,KAAjC;AACA,iBAAKmO,YAAL,GAAoB,CAAH,KAAG,KAAKhyD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEgyD,YAAxC;AACA,iBAAKU,QAAL,GAAgB,KAAKC,OAAL,CAAa,CAAD,KAAC,KAAK3yD,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE4yD,YAAjC,CAAhB;AACA;;;iBAEO,iBAAQA,YAAR,EAA4B;AAAA;;AACnC,gBAAM1pD,MAAM,GAAG,UAAG0pD,YAAH,EAAkBx/B,KAAlB,CAAwB,GAAxB,KAAgC,EAA/C;AACA,mBAAO,UAACy/B,IAAD,EAAe/xD,IAAf,EAA6B;AACnC,kBAAI,EAACoI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAExH,MAAT,CAAJ,EAAqB;AACpB,uBACC,UAAGZ,IAAI,CAAC,QAAI,CAACwxD,SAAN,CAAP,EAA0BtH,WAA1B,GAAwCxnD,QAAxC,CAAiDqvD,IAAI,CAAC7H,WAAL,EAAjD,KACA,UAAGlqD,IAAI,CAAC,QAAI,CAACyxD,SAAN,CAAP,EAA0BvH,WAA1B,GAAwCxnD,QAAxC,CAAiDqvD,IAAI,CAAC7H,WAAL,EAAjD,CAFD;AAIA;;AAED,qBAAO9hD,MAAM,CAACzG,IAAP,CAAY,UAAC0J,KAAD;AAAA,uBAAW,UAAGrL,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAGqL,KAAH,CAAP,EAAmB6+C,WAAnB,GAAiCxnD,QAAjC,CAA0CqvD,IAAI,CAAC7H,WAAL,EAA1C,CAAX;AAAA,eAAZ,CAAP;AACA,aATD;AAUA;;;iBAEO,wBAAe;;;AACtB,gBAAI,KAAKhrD,aAAL,CAAmB2a,GAAvB,EAA4B;AAC3B,mBAAKm4C,eAAL;;AACA;AACA;;AACD,gBAAI,KAAK9yD,aAAL,CAAmB6kB,OAAnB,KAA0B,MAAI,KAAK7kB,aAAL,CAAmB6kB,OAAvB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAElK,GAA1D,CAAJ,EAAmE;AAClE,mBAAKo4C,mBAAL;AACA;AACD;;;iBAEO,+BAAsB;AAAA;;AAC7B,gBAAI;AACH,kBAAMp4C,GAAG,GAAG,KAAKgpC,SAAL,CAAe,KAAK3jD,aAAL,CAAmB6kB,OAAnB,CAA2BlK,GAA1C,CAAZ;;AACA,kBAAIA,GAAJ,EAAS;AACR,oBAAMq4C,WAAW,GAAG,KAAKC,eAAL,CAAqBt4C,GAArB,EAA0B,KAAK3a,aAAL,CAAmB6kB,OAA7C,CAApB;;AAEA,qBAAKysC,aAAL,CACEzsC,OADF,CACUmuC,WADV,EAEElrD,IAFF,CAEO,uDAAU,KAAKC,QAAf,CAFP,EAGEzH,SAHF,CAGY,UAACqM,GAAD,EAAS;;;AACnB,sBAAI,QAAC,QAAI,CAAC3M,aAAL,CAAmB6kB,OAApB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEquC,SAA7B,CAAJ,EAA4C;AAC3C,4BAAI,CAAC1B,WAAL,CAAiB/mD,IAAjB,CAAsBkC,GAAtB;;AACA;AACA;;AACD,sBAAMwmD,aAAa,GAAG,QAAI,CAACxP,SAAL,CAAe,CAAD,KAAC,QAAI,CAAC3jD,aAAL,CAAmB6kB,OAAnB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEquC,SAA3C,EAAsD;AAC3Ev/B,4BAAQ,EAAEhnB;AADiE,mBAAtD,CAAtB;;AAGA,0BAAI,CAAC6kD,WAAL,CAAiB/mD,IAAjB,CAAsB0oD,aAAa,IAAIxmD,GAAvC;AACA,iBAZF;AAaA;AACD,aAnBD,CAmBE,OAAO/L,KAAP,EAAc;AACf+J,qBAAO,CAACC,GAAR,CAAYhK,KAAZ;AACA;AACD;;;iBAEO,yBAAgB+Z,GAAhB,EAA0BkK,OAA1B,EAA6D;AACpE,gBAAMiT,KAAK,GAAG;AACbnd,iBAAG,EAAEA,GADQ;AAEbuP,oBAAM,EAAE,CAAArF,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEqF,MAAT,KAAmB,KAFd;AAGbjT,qBAAO,EAAE;AACR,gCAAgB;AADR;AAHI,aAAd;;AAQA,gBAAI4N,OAAO,CAAChK,MAAZ,EAAoB;AACnBid,mBAAK,CAAC,QAAD,CAAL,GAAkB,KAAK6rB,SAAL,CAAe9+B,OAAO,CAAChK,MAAvB,KAAkC,EAApD;AACA;;AACD,gBAAIgK,OAAO,CAAC5N,OAAZ,EAAqB;AACpB6gB,mBAAK,CAAC,SAAD,CAAL,GAAmB,KAAK6rB,SAAL,CAAe9+B,OAAO,CAAC5N,OAAvB,KAAmC,IAAtD;AACA;;AACD,gBAAI4N,OAAO,CAACgP,IAAZ,EAAkB;AACjBiE,mBAAK,CAAC,MAAD,CAAL,GAAgB,KAAK6rB,SAAL,CAAe9+B,OAAO,CAACgP,IAAvB,KAAgC,IAAhD;AACA;;AAED,mBAAOiE,KAAP;AACA;;;iBAEO,2BAAkB;AAAA;;AACzB,gBAAI;AACH,kBAAMnd,GAAG,GAAG,KAAKy4C,YAAL,CAAkB,KAAKpzD,aAAL,CAAmB2a,GAArC,CAAZ;;AACA,mBAAK22C,aAAL,CACEjuD,GADF,CACMsX,GADN,EAEE7S,IAFF,CAEO,uDAAU,KAAKC,QAAf,CAFP,EAGEzH,SAHF,CAGY,UAACqM,GAAD,EAAS;AACnB,wBAAI,CAAC6kD,WAAL,CAAiB/mD,IAAjB,CAAsBkC,GAAtB;AACA,eALF;AAMA,aARD,CAQE,OAAO/L,KAAP,EAAc,CAAE;AAClB;;;iBAEO,sBAAayyD,MAAb,EAA6D;AAAA,gBAAhC91D,IAAgC,uEAAJ,EAAI;AACpE,mBAAO,+CAAMyE,WAAN,CAAkBqxD,MAAlB,EAA0BpvD,MAAM,CAACmd,MAAP,CAAc,KAAK+xC,aAAL,EAAd,EAAoC51D,IAApC,CAA1B,CAAP;AACA;;;iBAEO,mBAAU81D,MAAV,EAA0D;AAAA,gBAAhC91D,IAAgC,uEAAJ,EAAI;AACjE,mBAAO,+CAAM6Q,QAAN,CAAeilD,MAAf,EAAuBpvD,MAAM,CAACmd,MAAP,CAAc,KAAK+xC,aAAL,EAAd,EAAoC51D,IAApC,CAAvB,CAAP;AACA;;;iBAEO,yBAAgB;;;AACvB,gBAAM+sC,MAAM,GACX,KAAKlpC,eAAL,CAAqB6M,IAArB,CAA0B/I,IAA1B,CAA+BolC,MAA/B,KAAqC,YACrC,KAAKlpC,eADgC,MACjB,IADiB,IACjB,aADiB,GACjB,MADiB,GACjB,GAAEkpB,MADe,MACT,IADS,IACT,aADS,GACT,MADS,GACT,GAAEggB,MAD9B,MACoC,YACpC,KAAKlpC,eAAL,CAAqB6M,IADe,MACX,IADW,IACX,aADW,GACX,MADW,GACX,GAAEqc,MADS,MACH,IADG,IACH,aADG,GACH,MADG,GACH,GAAEggB,MAFnC,CADD;AAIA,mBAAOA,MAAP;AACA;;;iBAEO,yBAAgB;AACvB,mBAAO;AACNA,oBAAM,EAAE,KAAKgpB,aAAL,EADF;AAEN/1D,kBAAI,EAAE,KAAKA,IAFL;AAGN+iB,sBAAQ,EAAE,KAAKlf,eAHT;AAINU,wBAAU,EAAE,KAAKV,eAAL,CAAqB6M,IAArB,CAA0BnM,UAJhC;AAKNye,mBAAK,EAAE;AALD,aAAP;AAOA;;;iBAEO,mBAAU8b,IAAV,EAAsD9+B,IAAtD,EAAqE;;;AAC5E,gBAAI,CAAJ,KAAI,KAAKsmD,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAGxnB,IAAH,CAAd,EAAwB;AACvB,mBAAKsnB,SAAL,CAAe,KAAKE,KAAL,CAAWxnB,IAAX,CAAf,EAAiC;AAAEk3B,wBAAQ,EAAEh2D;AAAZ,eAAjC;AACA;AACD;;;iBAEO,wBAAewD,KAAf,EAA4DxD,IAA5D,EAA2E;AAClF,gBAAI,KAAKw0D,cAAT,EAAyB;AACxB,mBAAK3wD,eAAL,CAAqB4O,OAArB,CAA6Bg7B,aAA7B,CACC,IAAIC,WAAJ,0BAAkClqC,KAAlC,GAA2C;AAC1CmqC,uBAAO,EAAE,IADiC;AAE1CC,sBAAM,EAAE5tC;AAFkC,eAA3C,CADD;AAMA;AACD;;;;;;;;;;;;;;;;;;;;;AChQF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAQai2D,kB;AAET,oCAAoBC,wBAApB,EACW3uD,SADX,EAEoCvH,IAFpC,EAE+C;AAAA;;AAF3B,eAAAk2D,wBAAA,GAAAA,wBAAA;AACT,eAAA3uD,SAAA,GAAAA,SAAA;AACyB,eAAAvH,IAAA,GAAAA,IAAA;AAH5B,eAAA+N,MAAA,GAAc,EAAd;AAIJX,iBAAO,CAACC,GAAR,CAAYrN,IAAZ;AACH;;;;iBAED,sBAAam2D,MAAb,EAAqB;AACjB,iBAAKpoD,MAAL,CAAY4jC,SAAZ,GAAwBwkB,MAAxB;AACH;;;iBACD,wBAAeA,MAAf,EAAuB;AACnB,iBAAKpoD,MAAL,CAAY0U,QAAZ,GAAuB0zC,MAAvB;AACH;;;iBACD,qBAAYn2D,IAAZ,EAAkB,CACd;AACA;AACA;AACA;AACA;AACA;AACA;AACH;;;iBACD,yBAAgBm2D,MAAhB,EAAwB;AACpB,iBAAK5uD,SAAL,CAAeS,KAAf,CAAqB,KAAK+F,MAA1B;AACH;;;iBAEO,qBAAYqoD,QAAZ,EAAyB;AAC7B,gBAAMrpD,CAAC,GAAG+4B,QAAQ,CAACkD,aAAT,CAAuB,GAAvB,CAAV;AACA,gBAAMqtB,SAAS,GAAGC,GAAG,CAACC,eAAJ,CAAoBH,QAApB,CAAlB,CAF6B,CAG7B;;AACArpD,aAAC,CAACypD,IAAF,GAASH,SAAT;AACAtpD,aAAC,CAAC0pD,QAAF,GAAa,CAAC,KAAKz2D,IAAL,CAAUuG,IAAV,IAAkB,QAAnB,IAA+B,MAA5C;AACAwG,aAAC,CAAC2pD,KAAF;AACAJ,eAAG,CAACK,eAAJ,CAAoBN,SAApB;AACH;;;;;;;;;;;;;;;;;;;;;AC5CL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAwBaO,mB;AAkBZ,qCACS33D,gBADT,EAEQ+L,MAFR,EAGS6rD,aAHT,EAGqC;AAAA;;AAF5B,eAAA53D,gBAAA,GAAAA,gBAAA;AACD,eAAA+L,MAAA,GAAAA,MAAA;AACC,eAAA6rD,aAAA,GAAAA,aAAA;AAjBA,eAAAn2D,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACA,eAAAiW,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AAOV,eAAA01B,cAAA,GAAiC,EAAjC;AAUC,eAAKzrC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAK4tD,aAAL,CAAmBC,MAAnB,GAA4B,IAA5B;AACA;;;;eAXD,aAAQh3D,CAAR,EAAyB;AACxB,iBAAK20C,cAAL,CAAoB10C,IAApB,CAAyBD,CAAzB;AACA;;;iBAWD,2BAAe;AAAA;;AACd,iBAAKgD,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,aAFU,CAAX;AAGA;;;iBAEO,yBAAgBA,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAED,uBAAc;AACb;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA,gBAAMhE,SAAS,GAAG2gC,QAAQ,CAACkD,aAAT,CAAuB,KAAvB,CAAlB;AACA7jC,qBAAS,CAAC+jC,SAAV,CAAoBC,GAApB,CAAwB,WAAxB;AAEA,gBAAI/c,GAAG,GAAG0Z,QAAQ,CAACkD,aAAT,CAAuB,KAAvB,CAAV;AACA5c,eAAG,CAAC8c,SAAJ,CAAcC,GAAd,CAAkB,KAAlB;AACAhkC,qBAAS,CAACi0C,WAAV,CAAsBhtB,GAAtB;AAEA,gBAAM8kB,GAAG,GAAGpL,QAAQ,CAACkD,aAAT,CAAuB,KAAvB,CAAZ;AACAkI,eAAG,CAAChI,SAAJ,CAAcC,GAAd,CAAkB,QAAlB;AACA/c,eAAG,CAACgtB,WAAJ,CAAgBlI,GAAhB;AAEA,gBAAI6lB,oBAAJ;;AACA,gBAAI,KAAKt0D,aAAL,CAAmBu0D,kBAAvB,EAA2C;AAC1C,kBAAMC,cAAc,GAAGnxB,QAAQ,CAACoxB,sBAAT,CAAgC,KAAKz0D,aAAL,CAAmBu0D,kBAAnD,CAAvB;AACAD,kCAAoB,GAAGE,cAAc,CAAC,CAAD,CAAd,CAAkBE,SAAlB,CAA4B,IAA5B,CAAvB;AACAjmB,iBAAG,CAACkI,WAAJ,CAAgB2d,oBAAhB;AACA;;AAED,gBAAIK,iBAAJ;;AACA,gBAAI,KAAK30D,aAAL,CAAmB40D,eAAvB,EAAwC;AACvC,kBAAMC,WAAW,GAAGxxB,QAAQ,CAAC6mB,cAAT,CAAwB,KAAKlqD,aAAL,CAAmB40D,eAA3C,CAApB;AACAD,+BAAiB,GAAGE,WAAW,CAACH,SAAZ,CAAsB,IAAtB,CAApB;;AAEA,kBAAI,KAAKxtD,GAAL,KAAa,KAAjB,EAAwB;AACvB,oBAAM4tD,KAAK,GAAGH,iBAAiB,CAACI,gBAAlB,CACb,2CADa,CAAd;AAGAD,qBAAK,CAAC52D,OAAN,CAAc,UAAC0uB,IAAD,EAAe;AAC5BA,sBAAI,CAAC9uB,KAAL,CAAWk3D,IAAX,GAAkB,MAAlB;AACApoC,sBAAI,CAAC9uB,KAAL,CAAWm3D,WAAX,GAAyB,KAAzB;AACA,iBAHD,EAJuB,CAQvB;AACA;;AAEDxmB,iBAAG,CAACkI,WAAJ,CAAgBge,iBAAhB;AACA,aA1DY,CA4Db;;;AACA,oDAAQ,GAAGxxD,GAAX,CAAe,KAAKnD,aAAL,CAAmBk1D,UAAlC,EAA8Ct1C,IAA9C,CAAmDld,SAAnD,EAA8DyyD,IAA9D;AACA;;;iBAED,uBAAc;AACb,iBAAKnjB,cAAL,CAAoB9zC,OAApB,CAA4B,UAAC8X,CAAD;AAAA,qBAAOA,CAAC,CAAC7X,WAAF,EAAP;AAAA,aAA5B;AACA,iBAAK6zC,cAAL,GAAsB,EAAtB;AACA;;;;;;;;;;;;;;;;;;;;;ACnIF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAuBaojB,mC;AAPb;AAAA;;AAUE,eAAArtD,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAUU,eAAA1B,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAEO,eAAAgvD,cAAA,GAAiB,IAAI,oDAAJ,CAAiC,EAAjC,CAAjB;AACjB,eAAA/J,WAAA,GAAc,KAAK+J,cAAL,CAAoBh7B,YAApB,EAAd;AA4ED;;;;iBA1EC,uBAAW;AACT,iBAAKtyB,QAAL,CAAc0C,IAAd;AACA,iBAAK1C,QAAL,CAAc4W,QAAd;AACD;;;iBAED,qBAAYhY,OAAZ,EAAkC;;;AAChC,gBAAI,CAAJ,KAAIA,OAAO,CAAC3G,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE+oB,YAA3B,EAAyC;AACvC,mBAAKusC,WAAL;AACD;AACF;;;iBACD,uBAAc;AACZ,gBAAM7nC,UAAU,GAAG,KAAK4nC,cAAL,CAAoBp3D,KAAvC;AACA,gBAAIiG,MAAM,GAAG;AACX3G,kBAAI,EAAEkwB,UAAU,CAACrrB,GAAX,CAAe;AAAA,oBAAG8L,GAAH,UAAGA,GAAH;AAAA,oBAAQoa,eAAR,UAAQA,eAAR;AAAA,oBAAyBC,KAAzB,UAAyBA,KAAzB;AAAA,uBAAsC;AACzDra,qBAAG,EAAHA,GADyD;AAEzDoa,iCAAe,EAAfA,eAFyD;AAGzDC,uBAAK,EAALA;AAHyD,iBAAtC;AAAA,eAAf;AADK,aAAb;AAQA,gBAAMgtC,wBAAwB,GAC5B,KAAK1vD,QAAL,IACA,CAAC4nB,UAAU,CAAC7b,KAAX,CAAiB,UAACsJ,SAAD;AAAA,qBAChBA,SAAS,CAACsN,aAAV,CAAwB5W,KAAxB,CACE,UAAC4jD,YAAD;AAAA,uBAAkBA,YAAY,CAACltC,eAAb,GAA+B,CAAjD;AAAA,eADF,CADgB;AAAA,aAAjB,CAFH;;AAQA,gBAAIitC,wBAAJ,EAA8B;AAC5BrxD,oBAAM,GAAG,IAAT;AACD;;AAED,iBAAKjG,KAAL,GAAaiG,MAAb;AACA,iBAAKmC,WAAL,CAAiBjI,IAAjB,CAAsB8F,MAAtB;AACA,iBAAKuxD,qBAAL;AACD;;;iBAEO,iCAAwB;AAAA;;;;AAC9B,gBAAI,KAAKz1D,aAAL,CAAmB8L,QAAvB,EAAiC;AAC/B,kBAAMiC,UAAU,GAAG,+CAAMC,gBAAN,CACjB,KAAK5M,eAAL,CAAqB6M,IAArB,CAA0BF,UADT,EAEjB;AAAEG,mBAAG,EAAE,KAAKlO,aAAL,CAAmB8L;AAA1B,eAFiB,CAAnB;AAIAiC,wBAAU,CAAC7P,OAAX,CAAmB,UAACsR,CAAD,EAAO;AACxBA,iBAAC,CAAClB,QAAF,CAAW,QAAI,CAAC/Q,IAAL,CAAU,QAAI,CAACyC,aAAL,CAAmB8L,QAA7B,CAAX;AACD,eAFD;AAGA,+BAAK1K,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE4kD,WAAtB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEr7B,aAAF,EAAjC;AACD;AACF;;;iBACO,uBAAc;AACpB,gBAAI,KAAKptB,IAAL,CAAU,KAAKyC,aAAL,CAAmB8L,QAA7B,CAAJ,EAA4C;AAC1C,kBAAMvO,IAAI,GAAG,KAAKA,IAAL,CAAU,KAAKyC,aAAL,CAAmB8L,QAA7B,CAAb;AAEAvO,kBAAI,CAACW,OAAL,CAAa,UAAC4C,IAAD,EAAU;AACrBA,oBAAI,CAAC0nB,aAAL,CAAmBtqB,OAAnB,CAA2B,UAACmC,GAAD,EAAS;AAClCA,qBAAG,CAACq1D,UAAJ,CAAex3D,OAAf,CAAuB,UAACw3D,UAAD,EAAgB;AACrC,wBAAM91C,IAAI,GAAG,CAAC81C,UAAU,CAACC,SAAzB;AACA,wBAAMC,EAAE,GAAG,CAACF,UAAU,CAACG,OAAvB;AAEAH,8BAAU,CAACvrD,KAAX,GAAmBuD,KAAK,CAACkS,IAAN,CACjB;AAAEle,4BAAM,EAAEk0D,EAAE,GAAGh2C,IAAL,GAAY;AAAtB,qBADiB,EAEjB,UAAC5X,CAAD,EAAI7G,KAAJ;AAAA,6BAAe;AACbswB,6BAAK,YAAKtwB,KAAK,GAAGye,IAAb,CADQ;AAEb3hB,6BAAK,EAAEkD,KAAK,GAAGye;AAFF,uBAAf;AAAA,qBAFiB,CAAnB;AAOD,mBAXD;AAYD,iBAbD;AAcD,eAfD;;AAiBA,mBAAKy1C,cAAL,CAAoB5qD,IAApB,CAAyBlN,IAAzB;;AACA,kBAAI,KAAKU,KAAT,EAAgB,KAAK88B,WAAL;AACjB;AACF;;;;;;;;;;;;;;;;;;;;;AClHH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CA4BA;;;UAsCa+6B,wB;AAyBX,0CACUziD,YADV,EAEU7W,gBAFV,EAGS+L,MAHT,EAIS6wB,MAJT,EAKSW,KALT,EAK8B;AAAA;;AAJpB,eAAA1mB,YAAA,GAAAA,YAAA;AACA,eAAA7W,gBAAA,GAAAA,gBAAA;AACD,eAAA+L,MAAA,GAAAA,MAAA;AACA,eAAA6wB,MAAA,GAAAA,MAAA;AACA,eAAAW,KAAA,GAAAA,KAAA;AA3BT,eAAArzB,IAAA,GAAO,KAAKlK,gBAAL,CAAsBgK,WAA7B;AAES,eAAAvI,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAWF,eAAA0vD,kBAAA,GAAqB,IAAI,qDAAJ,CAAoB,KAApB,CAArB;AACR,eAAAC,eAAA,GAAkB,KAAKD,kBAAL,CAAwB17B,YAAxB,EAAlB;AAEA,eAAAtyB,QAAA,GAAW,IAAI,6CAAJ,EAAX;AAEA,eAAAkuD,qBAAA,GAAwB,EAAxB;AACA,eAAAC,cAAA,GAAiB,EAAjB;AASE,2EAAW;AAAA,mBAAM,2DAAN;AAAA,WAAX;AACD;;;;iBAED,oBAAW;AACT,iBAAKC,oBAAL;;AACA,iBAAKC,cAAL;;AACA,iBAAKC,cAAL;AACD;;;iBAED,2BAAe;AAAA;;AACb,iBAAKL,eAAL,CACGluD,IADH,CAEI,wDAAU,KAAKC,QAAf,CAFJ,EAGI,qDAAO,UAACxK,IAAD;AAAA,qBAAUA,IAAV;AAAA,aAAP,CAHJ,EAII,oDAAM,EAAN,CAJJ,EAMG+C,SANH,CAMa,UAACqM,GAAD,EAAS;AAClB,sBAAI,CAAC2pD,WAAL,GAAmB,QAAI,CAACC,YAAL,CAAkBC,MAAlB,EAAnB;;AACA,sBAAI,CAACC,SAAL;AACD,aATH;AAUD;;;iBACO,qBAAY;;;AAClB,gBAAMC,UAAU,GAAG,CAAH,WAAG,KAAK12D,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE02D,UAApB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEhT,MAAnD;;AACA,gBAAI,KAAK4S,WAAL,IAAoBI,UAAxB,EAAoC;AAClC,kBAAMlvC,IAAI,GAAG,KAAKm8B,SAAL,CACX;AACEgT,uBAAO,EAAE,CAAF,KAAE,KAAK32D,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE02D,UAAF,CAAaE;AAD1C,eADW,EAIX,EAJW,CAAb;;AAOA,kBAAIpvC,IAAJ,EAAU;AACR,qBAAK8uC,WAAL,CAAiBO,QAAjB,CAA0BrvC,IAA1B;AACD;AACF;AACF;;;iBAED,qBAAY7gB,OAAZ,EAAoC;;;AAClC,gBAAIA,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE3G,aAAb,EAA4B;AAC1B,mBAAK+1D,kBAAL,CAAwBtrD,IAAxB,CAA6B,KAA7B;;AACA,mBAAKqsD,aAAL;AACD;;AAED,gBAAI,YAAK11D,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEy0B,OAAtB,KAAiClvB,OAAO,CAAC1I,KAA7C,EAAoD;AAClD,mBAAKo4D,cAAL;AACD;;AAED,gBAAI1vD,OAAO,CAAC1I,KAAZ,EAAmB;AACjB,mBAAKm4D,cAAL;AACD;;AAED,gBAAI,CAACzvD,OAAO,CAACf,QAAR,IAAoBe,OAAO,CAAC1I,KAA7B,KAAuC,KAAKq4D,WAAhD,EAA6D;AAC3D,mBAAKA,WAAL,CAAiBS,MAAjB;AACD;AACF;;;iBAED,uBAAyC;AAAA,gBAA7B94D,KAA6B,uEAArB,KAAKi4D,cAAgB;AACvC,iBAAKA,cAAL,GAAsBj4D,KAAtB;AACA,iBAAK+4D,eAAL,CAAqBzhC,MAArB,GAA8B,KAAK2gC,cAAnC;AACA,iBAAKj4D,KAAL,GAAa,yDAAW;AAAEs3B,oBAAM,EAAEt3B;AAAV,aAAX,CAAb;AACA,iBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACD;;;iBAED,uBAAW;AACT,iBAAK8J,QAAL,CAAc0C,IAAd;AACA,iBAAK1C,QAAL,CAAc4W,QAAd;AACD;;;iBAEO,gCAAuB;AAAA;;AAC5B,iBAAKniB,gBAAL,CAAsBiK,YAAtB,CACEqB,IADF,CAEG,mEAAqB,UAAC0vC,IAAD,EAAOyf,IAAP;AAAA,qBAAgBzf,IAAI,CAAC9wC,IAAL,KAAcuwD,IAAI,CAACvwD,IAAnC;AAAA,aAArB,CAFH,EAGG,wDAAU,KAAKqB,QAAf,CAHH,EAKEzH,SALF,CAKY,UAAC/C,IAAD,EAAU;AACnB,sBAAI,CAAC2J,GAAL,GAAW3J,IAAI,CAACmJ,IAAL,KAAc,IAAd,GAAqB,KAArB,GAA6B,KAAxC;AACA,sBAAI,CAACA,IAAL,GAAYnJ,IAAI,CAACmJ,IAAjB;AACD,aARF;AASF;;;iBAEO,0BAAiB;AACvB;AACAhG,sBAAU,CAAC,YAAY;AACrB+tB,oBAAM,CAACuc,aAAP,CAAqB,IAAIksB,KAAJ,CAAU,QAAV,CAArB;AACD,aAFS,EAEP,CAFO,CAAV;AAGD;;;iBAEO,oBAAW;;;AACjB,mBAAO,CAAP,iBAAO,KAAKl3D,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE4J,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAE85B,IAA7B,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,EAAjC,GAAqC,KAA5C;AACD;;;iBACO,mBAAU;;;AAChB,mBAAO,CAAP,iBAAO,KAAK1jC,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE4J,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAE88B,GAA7B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,EAAhC,GAAoC,KAA3C;AACD;;;iBACO,sBAAa;;;AACnB,mBAAO,CAAP,iBAAO,KAAK1mC,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE4J,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,YAA3B,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,EAAnC,GAAuC,KAA9C;AACD;;;iBACO,qBAAY;;;AAClB,mBAAO,CAAP,iBAAO,KAAK5J,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE4J,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAE6D,KAA7B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,EAAlC,GAAsC,KAA7C;AACD;;;iBACO,oBAAW;;;AACjB,mBAAO,CAAP,iBAAO,KAAKzN,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE4J,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEutD,IAA7B,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,EAAjC,GAAqC,IAA5C;AACD;;;iBACO,0BAAiB;;;AACvB,mBAAO,CAAP,iBAAO,KAAKn3D,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE2sB,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAE+Z,GAA7B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,EAAhC,GAAoC,KAA3C;AACD;;;iBACO,6BAAoB;;;AAC1B,mBAAO,CAAP,iBAAO,KAAK1mC,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE2sB,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEyqC,QAA7B,MAAqC,IAArC,IAAqC,aAArC,GAAqC,EAArC,GAAyC,KAAhD;AACD;;;iBAEO,0BAAiB;;;AACvB,iBAAKlB,cAAL,GAAsB,CAAH,WAAG,KAAKj4D,KAAR,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEs3B,MAAZ,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,EAAlB,GAAsB,EAA5C;;AACA,gBAAI,CAAJ,KAAI,KAAKyhC,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEzhC,MAA1B,EAAkC;AAChC,mBAAKyhC,eAAL,CAAqBzhC,MAArB,GAA8B,KAAK2gC,cAAnC;AACD;AACF;;;iBAEO,yBAAyC;AAAA;;AAAA,gBAA3B3jD,OAA2B,uEAAjB,kEAAiB;;;;AAC/C,gBAAM8kD,aAAa,GAAG,CACpB,KAAKC,SAAL,MAAoB,CAAC,KAAK1xD,QAA1B,GAAqC,aAArC,GAAqD,EADjC,EAEpB,KAAK2xD,cAAL,MAAyB,CAAC,KAAK3xD,QAA/B,GAA0C,UAA1C,GAAuD,EAFnC,EAInBkB,MAJmB,CAIZ,UAAC0wD,GAAD;AAAA,qBAAS,CAAC,CAACA,GAAX;AAAA,aAJY,EAKnBn4D,IALmB,CAKd,GALc,CAAtB;AAOA,gBAAMo4D,WAAW,GAAG,CAClB,KAAKC,iBAAL,MAA4B,OADV,EAElB,KAAKA,iBAAL,MAA4B,WAFV,EAIjB5wD,MAJiB,CAIV,UAAC0wD,GAAD;AAAA,qBAAS,CAAC,CAACA,GAAX;AAAA,aAJU,EAKjBn4D,IALiB,CAKZ,GALY,CAApB;AAOA,iBAAK23D,eAAL,GAAuB,MAAH,OAAG,CAAH,8CACfzkD,OADe,GACR;AACVklB,qBAAO,EAAE,CAAC,8DAAD,EAAiB,6DAAjB,EAAgC,iEAAhC,CADC;AAEV4/B,2BAAa,EAAE;AACbM,2BAAW,EAAE;AACX/qC,sBAAI,EAAE,KAAKpwB,gBAAL,CAAsBqE,OAAtB,CAA8B,oBAA9B,CADK;AAEXozD,uBAAK,EAAE,iBAAM;AACX,4BAAI,CAAC2D,eAAL;AACD;AAJU,iBADA;AAObC,wBAAQ,EAAE;AACRjrC,sBAAI,EAAE,KAAKpwB,gBAAL,CAAsBqE,OAAtB,CAA8B,uBAA9B,CADE;AAERozD,uBAAK,EAAE,eAAClzD,KAAD,EAAW;AAChB,wBAAI,QAAI,CAAC+2D,OAAL,MAAkB,CAAC,QAAI,CAAClyD,QAA5B,EAAsC;AACpC,8BAAI,CAACmyD,gBAAL,CAAsB,EAAtB,EAA0B,MAA1B;AACD;AACF;AANO,iBAPG;AAeb/mB,yBAAS,EAAE;AACTpkB,sBAAI,EAAE,KAAKpwB,gBAAL,CAAsBqE,OAAtB,CAA8B,WAA9B,CADG;AAETozD,uBAAK,EAAE,iBAAM;AACX,4BAAI,CAAC+C,eAAL,CAAqBrvC,MAArB,GAA8B,QAAI,CAACjhB,IAAnC;AACD;AAJQ,iBAfE;AAqBbuqC,qBAAK,EAAE;AACLrkB,sBAAI,EAAE,KAAKpwB,gBAAL,CAAsBqE,OAAtB,CAA8B,OAA9B,CADD;AAELozD,uBAAK,EAAE,iBAAM;AACX,4BAAI,CAAC+C,eAAL,CAAqBrvC,MAArB,GAA8B,OAA9B;AACD;AAJI;AArBM,eAFL;AA8BVqwC,2BAAa,EAAE;AACb/Q,oBAAI,EACF,eACCoQ,aAAa,GAAG,MAAMA,aAAT,GAAyB,EADvC,KAECI,WAAW,GAAG,CAAC,GAAD,GAAOA,WAAV,GAAwB,EAFpC,CAFW;AAKbQ,sBAAM,EAAE,OALK;AAMb1pB,qBAAK,EAAE;AANM,eA9BL;AAuCVhZ,oBAAM,EAAE,KAAK2gC,cAvCH;AAwCVvuC,oBAAM,EAAE,KAAKjhB,IAxCH;AAyCVwxD,qBAAO,EAAE,CAAC,mEAAA5tD,CAAD,EAAW,wEAAX,EAAqB,sEAAAA,CAArB;AAzCC,aADQ,GA2Cd,CAAD,WAAC,KAAKtK,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEm4D,QAApB,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,EAA5B,GAAgC,EA3ClB,CAAG,EA2CkB;AACvCC,wBAAU,EAAE,oBAACC,IAAD;AAAA,uBAAU,QAAI,CAACC,iBAAL,CAAuBD,IAAvB,CAAV;AAAA,eAD2B;AAEvCE,yBAAW,EAAE,qBAACF,IAAD;AAAA,uBAAU,QAAI,CAACG,kBAAL,CAAwBH,IAAxB,CAAV;AAAA,eAF0B;AAGvCvmD,oBAAM,EAAE,gBAACumD,IAAD;AAAA,uBAAU,QAAI,CAACI,aAAL,CAAmBJ,IAAnB,CAAV;AAAA,eAH+B;AAIvCK,6BAAe,EAAE,yBAAClxC,IAAD,EAAOmxC,OAAP;AAAA,uBAAmB,QAAI,CAACC,eAAL,CAAqBpxC,IAArB,EAA2BmxC,OAA3B,CAAnB;AAAA,eAJsB;AAKvCE,6BAAe,EAAE,yBAACR,IAAD,EAAU;AACzB,wBAAI,CAACS,sBAAL,CAA4BT,IAA5B;AACD,eAPsC;AAQvCU,6BAAe,EAAE,yBAACV,IAAD,EAAU;AACzB,wBAAI,CAACW,sBAAL,CAA4BX,IAA5B;AACD,eAVsC;AAWvCY,uBAAS,EAAE,mBAACZ,IAAD,EAAU;;;AACnB,oBAAIa,SAAS,GAAG,IAAhB;;AACA,oBAAM1V,KAAK,GAAG,CAAH,KAAG,QAAI,CAACxjD,aAAL,CAAmB6jD,KAAnB,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEoV,SAAxC;;AACA,oBAAIzV,KAAK,IAAIA,KAAK,CAACE,MAAnB,EAA2B;AACzBwV,2BAAS,GAAG,QAAI,CAACvV,SAAL,CACV;AACEgT,2BAAO,EAAEnT,KAAK,CAACoT,OADjB;AAEE/7C,0BAAM,EAAE;AACN2M,0BAAI,EAAE6wC,IAAI,CAAC7wC,IADL;AAEN2xC,4BAAM,EAAE;AAFF;AAFV,mBADU,EAQV,IARU,CAAZ;AAUD;;AACD,oBAAID,SAAJ,EAAe;AACb,0BAAI,CAACE,gBAAL,CAAsBf,IAAtB;AACD;AACF,eA7BsC;AA8BvCgB,6BAAe,EAAE,yBAAChB,IAAD,EAA2B;;;AAC1C,oBAAM7U,KAAK,GAAG,CAAH,KAAG,QAAI,CAACxjD,aAAL,CAAmB6jD,KAAnB,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEwV,eAAxC;;AACA,oBAAI7V,KAAK,IAAIA,KAAK,CAACE,MAAnB,EAA2B;AACzB,0BAAI,CAACC,SAAL,CACE;AACEgT,2BAAO,EAAEnT,KAAK,CAACoT,OADjB;AAEE/7C,0BAAM,EAAE;AACN2c,wBAAE,EAAE6gC,IAAI,CAAC7gC,EADH;AAENhQ,0BAAI,EAAE6wC,IAAI,CAAC7wC,IAFL;AAGN2xC,4BAAM,EAAE;AAHF;AAFV,mBADF,EASE,EATF;AAWD;AACF,eA7CsC;AA8CvCG,0BAAY,EAAE,sBAACC,GAAD,EAAMC,EAAN,EAAa;;;AACzB,oBAAMC,SAAS,GAAG,QAAI,CAACj9D,gBAAL,CAAsBqE,OAAtB,CAChB,OAAA04D,GAAG,CAACx4D,KAAJ,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE0D,KAAX,MAAgB,YAAI80D,GAAG,CAACx4D,KAAR,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE24D,aAAF,CAAgBn8D,IAA7B,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEo8D,WAAnD,CADgB,CAAlB;;AAIA,oBAAMC,iBAAiB,GACrB,mBAAAL,GAAG,CAACx4D,KAAJ,CAAU24D,aAAV,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEn8D,IAAzB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAEA,IAA/B,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,MAAnC,GAAmC,GAAEs8D,eAArC,KAAwD,KAD1D;AAGA,oBAAMC,MAAM,GAAG,EAAf;;AACA,oBAAIF,iBAAJ,EAAuB;AACrBE,wBAAM,CAACx8D,IAAP,CAAYk8D,EAAE,CAAC,GAAD,EAAM;AAAE17D,yBAAK,EAAE;AAAEsL,2BAAK,EAAE;AAAT;AAAT,mBAAN,EAAmC,KAAnC,CAAd;AACD;;AAED,oBAAM2wD,OAAO,GAAGP,EAAE,CAChB,KADgB,EAEhB;AACE,2BAAO;AADT,iBAFgB,EAKhB,IALgB,EAMhB,CACEA,EAAE,CACA,KADA,EAEA;AACE,2BAAO,sBADT;AAEE17D,uBAAK,EAAE,CAAC,QAAI,CAAC8H,QAAN,GAAiB;AAAEo0D,+BAAW,EAAET,GAAG,CAACx4D,KAAJ,CAAUi5D;AAAzB,mBAAjB,GAA0D;AAFnE,iBAFA,EAMA,IANA,CADJ,EASER,EAAE,CAAC,KAAD,EAAQ;AAAE,2BAAO;AAAT,iBAAR,EAAoCD,GAAG,CAACU,QAAxC,CATJ,EAUET,EAAE,CAAC,KAAD,EAAQ;AAAE,2BAAO;AAAT,iBAAR,EAAqCC,SAArC,EAAgD,CAACK,MAAD,CAAhD,CAVJ,CANgB,CAAlB;AAmBA,uBAAOC,OAAP;AACD;AA/EsC,aA3ClB,CAAvB;;AA4HA,iBAAKhE,kBAAL,CAAwBtrD,IAAxB,CAA6B,IAA7B;AACD,W,CAED;;;;iBAEQ,gCAAuB4tD,IAAvB,EAA+C;AAAA;;;;AACrD,gBAAMztC,UAAU,GAAG,mBAAAytC,IAAI,CAACt3D,KAAL,CAAW24D,aAAX,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEn8D,IAA1B,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEA,IAAhC,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAEs8D,eAAtC,KAAyD,KAA5E;;AAEA,gBAAIjvC,UAAU,IAAI,KAAKhlB,QAAnB,IAA+B,CAAC,KAAKs0D,UAAL,EAApC,EAAuD;AACrD;AACD;;AAED,gBAAM1C,GAAG,GAAG,KAAK2C,mBAAL,CAAyB9B,IAAI,CAAC7gC,EAA9B,CAAZ;;AACAggC,eAAG,CAAC4C,OAAJ,GAAc,UAACr5D,KAAD,EAAW;AACvBA,mBAAK,CAACC,eAAN;AACAD,mBAAK,CAACmR,cAAN;;AACA,sBAAI,CAACxF,kBAAL,CACE,QAAI,CAAClQ,gBAAL,CAAsBqE,OAAtB,CAA8B,6BAA9B,CADF,EAEEP,SAFF,CAEY,UAACqM,GAAD,EAAS;AACnB,wBAAI,CAAC0tD,YAAL,CAAkBhC,IAAI,CAACt3D,KAAL,CAAW6D,EAA7B;AACD,eAJD;AAKD,aARD;AASD;;;iBAEO,gCAAuByzD,IAAvB,EAA+C;AACrD,gBAAI,KAAK6B,UAAL,MAAqB,CAAC,KAAKt0D,QAA/B,EAAyC;AACvC,kBAAM4xB,EAAE,GAAG6gC,IAAI,CAAC7gC,EAAhB;AACA,kBAAMggC,GAAG,GAAGhgC,EAAE,CAAC8iC,aAAH,CAAiB,eAAjB,CAAZ;;AACA,kBAAI9C,GAAJ,EAAS;AACPhgC,kBAAE,CAAC+iC,WAAH,CAAe/C,GAAf;AACD;AACF;AACF;;;iBAEO,4BAAmBa,IAAnB,EAA2C;AACjD,gBAAIA,IAAI,CAACt3D,KAAL,CAAW+N,OAAX,CAAmBpL,KAAnB,CAAyB,YAAzB,CAAJ,EAA4C;AAC1C,qBAAO,IAAP;AACD;;AACD,gBAAI,KAAK82D,QAAL,MAAmB,CAAC,KAAK50D,QAA7B,EAAuC;AACrC,mBAAKmyD,gBAAL,CAAsBM,IAAtB,EAA4B,QAA5B;AACD;AACF;;;iBAEO,yBAAgB7wC,IAAhB,EAA4BmxC,OAA5B,EAAwC;AAAA;;AAC9C,gBAAI,KAAKuB,UAAL,MAAqB,CAAC,KAAKt0D,QAA/B,EAAyC;AACvC,mBAAK8G,kBAAL,CACE,KAAKlQ,gBAAL,CAAsBqE,OAAtB,CAA8B,0BAA9B,CADF,EAEEP,SAFF,CAEY,UAACqM,GAAD,EAAS;AACnB,wBAAI,CAACupD,cAAL,GAAsB,QAAI,CAACuE,eAAL,CAAqBjzC,IAArB,CAAtB;;AACA,wBAAI,CAACvgB,WAAL,CAAiB,QAAI,CAACivD,cAAtB;AACD,eALD;;AAMA,qBAAO,IAAP;AACD;;AACD,iBAAKI,WAAL,CAAiBoE,UAAjB,CAA4B,aAA5B,EAA2ClzC,IAAI,CAACymB,WAAL,EAA3C;AACD;;;iBAEO,2BAAkBsrB,GAAlB,EAAoC;;;AAC1C,gBAAIA,GAAG,CAACx4D,KAAJ,CAAU+N,OAAV,CAAkBpL,KAAlB,CAAwB,YAAxB,CAAJ,EAA2C;AACzC,qBAAO,IAAP;AACD;;AACD,gBAAM3C,KAAK,GAAG,KAAKm1D,cAAL,CAAoBv0D,IAApB,CAAyB,UAACg5D,EAAD;AAAA,qBAAQA,EAAE,CAAC/1D,EAAH,KAAU20D,GAAG,CAACx4D,KAAJ,CAAU6D,EAA5B;AAAA,aAAzB,CAAd;AACA,gBAAMg2D,QAAQ,GAAG,CAAH,WAAG,KAAK56D,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEe,KAApB,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE65D,QAA5C;;AACA,gBAAIA,QAAQ,KAAIA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAEjgD,GAAd,CAAZ,EAA+B;AAC7B,mBAAKkgD,cAAL,CAAoB95D,KAApB,EAA2B65D,QAA3B;;AACA;AACD;;AAED,gBAAME,aAAa,GAAG,CAAH,WAAG,KAAK96D,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEe,KAApB,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEiwD,UAAjD;;AACA,gBAAI8J,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAEpX,MAAnB,EAA2B;AACzB,kBAAMnmD,IAAI,GAAG,gDAAM6Q,QAAN,CAAe0sD,aAAa,CAAClE,OAA7B,EAAsC;AACjD90D,0BAAU,EAAE,KAAKvE,IADgC;AAEjDwD,qBAAK,EAAEA,KAF0C;AAGjDo4D,sBAAM,EAAE;AAHyC,eAAtC,CAAb;;AAKA,kBAAI,CAAC57D,IAAL,EAAW;AACT;AACD;AACF;;AAED,gBAAI,KAAKw9D,QAAL,EAAJ,EAAqB;AACnB,mBAAKhD,gBAAL,CAAsBh3D,KAAtB,EAA6B,OAA7B;AACD;AACF;;;iBAEO,wBAAeA,KAAf,EAAkCi6D,WAAlC,EAAgE;AACtE,gBAAM9xB,YAAY,GAAG,KAAKya,SAAL,CACnB;AACEgT,qBAAO,EAAEqE,WAAW,SAAX,IAAAA,WAAW,WAAX,GAAW,MAAX,GAAAA,WAAW,CAAErgD,GADxB;AAEEE,oBAAM,EAAE;AACN9Z,qBAAK,EAAEA,KADD;AAENg5B,qBAAK,EAAE,KAAKA,KAAL,CAAW2b;AAFZ;AAFV,aADmB,EAQnB,EARmB,CAArB;;AAUA,gBAAIslB,WAAW,CAACC,QAAhB,EAA0B;AACxBxsC,oBAAM,CAACvjB,IAAP,CAAYg+B,YAAZ;AACA;AACD;;AACD,iBAAK9P,MAAL,CAAYE,QAAZ,CAAqB4P,YAArB,EAAmC,MAAF,OAAE,CAAF,kBAC3B8xB,WAAW,CAACE,QAAZ,GAAuB;AAAEC,wBAAU,EAAE,KAAKphC;AAAnB,aAAvB,GAAoD,EADzB,CAAE,EAE7BihC,WAAW,CAACI,kBAAZ,GAAiC;AAAEA,gCAAkB,EAAE;AAAtB,aAAjC,GAAgE,EAFnC,CAAnC;AAID;;;iBAEO,uBAAc7B,GAAd,EAAkC;AACxC;AACA,gBAAI,KAAKzB,OAAL,MAAkB,CAAC,KAAKlyD,QAA5B,EAAsC;AACpC,kBAAM7E,KAAK,GAAG,MAAH,OAAG,CAAH,kBACNw4D,GADM,CAAG,EACN;AACNh8D,oBAAI,EAAE;AACJ89D,uBAAK,EAAE9B,GAAG,CAAC8B,KADP;AAEJC,qBAAG,EAAE/B,GAAG,CAAC+B;AAFL;AADA,eADM,CAAd;;AAOA,mBAAKvD,gBAAL,CAAsBh3D,KAAtB,EAA6B,QAA7B;AACD;AACF;;;iBAEO,0BAAiBw4D,GAAjB,EAAoC;;;AAC1C,gBAAMn9B,UAAU,GAAG,CAAH,WAAG,KAAKp8B,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEo8B,UAApB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,EAA9B,GAAkC,aAArD;;AACA,gBAAI,KAAK07B,OAAL,MAAkB,CAAC,KAAKlyD,QAAxB,IAAoC,CAAC,KAAK2xD,cAAL,EAAzC,EAAgE;AAC9D,kBAAMx2D,KAAK,GAAG,MAAH,OAAG,CAAH,kBACNw4D,GADM,CAAG,EACN;AACNh8D,oBAAI,EAAE,MAAF,OAAE,CAAF,EAAE,EACA6+B,UAAU,KAAK,aAAf,GACA;AAAE7+B,sBAAI,EAAE;AAAE89D,yBAAK,EAAE9B,GAAG,CAACgC,OAAb;AAAsBD,uBAAG,EAAE/B,GAAG,CAACgC;AAA/B;AAAR,iBADA,GAEA;AAAEF,uBAAK,EAAE9B,GAAG,CAACgC,OAAb;AAAsBD,qBAAG,EAAE/B,GAAG,CAACgC;AAA/B,iBAHA;AADA,eADM,CAAd;;AASA,mBAAKxD,gBAAL,CAAsBh3D,KAAtB,EAA6B,MAA7B;AACD;AACF,W,CAED;;;;iBAEQ,0BAAiBA,KAAjB,EAA6B8C,IAA7B,EAAuD;AAAA;;;;AAC7D,gBAAMu4B,UAAU,GAAG,CAAH,WAAG,KAAKp8B,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEo8B,UAApB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,EAA9B,GAAkC,aAArD;;AACA,gBAAMunB,SAAS,GAAG,KAAKA,SAAL,CAAe;AAC/B9oC,oBAAM,EAAE;AAAE9Z,qBAAK,EAAEA,KAAT;AAAgB8C,oBAAI,EAAEA;AAAtB;AADuB,aAAf,CAAlB;;AAGA,gBAAI23D,oBAAoB,GAAG;AAAEC,sBAAQ,EAAE,KAAKl+D,IAAjB;AAAuBA,kBAAI,EAAE;AAA7B,aAA3B;;AACA,gBAAI,CAAJ,iBAAI,KAAKyC,aAAT,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEe,KAAxB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAE26D,UAA3B,MAAqC,IAArC,IAAqC,aAArC,GAAqC,MAArC,GAAqC,GAAEC,QAA3C,EAAqD;AACnDH,kCAAoB,GAAGv3D,MAAM,CAACmd,MAAP,CAAco6C,oBAAd,EAAoC7X,SAApC,CAAvB;AACD,aAFD,MAEO;AACL,kBAAIvnB,UAAU,KAAK,aAAnB,EAAkC;AAChCo/B,oCAAoB,GAAG,MAAH,OAAG,CAAH,gCACfA,oBADe,GAEfz6D,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAExD,IAFQ,CAAG,EAEP;AACdA,sBAAI,EAAE,MAAF,OAAE,CAAF,kBACE,CAAD,WAACwD,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAExD,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAEA,IAAb,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,EAAjB,GAAqB,EADvB,CAAE,EAEA,CAAD,KAAComD,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAEpmD,IAAX,MAAe,IAAf,IAAe,aAAf,GAAe,EAAf,GAAmB,EAFnB;AADQ,iBAFO,CAAvB;AAQD,eATD,MASO;AACLi+D,oCAAoB,GAAG,MAAH,OAAG,CAAH,kBACfA,oBADe,CAAG,EACE;AACvBj+D,sBAAI,EAAE,MAAF,OAAE,CAAF,kBACE,CAAD,KAACwD,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAExD,IAAP,MAAW,IAAX,IAAW,aAAX,GAAW,EAAX,GAAe,EADjB,CAAE,EAEA,CAAD,KAAComD,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAEpmD,IAAX,MAAe,IAAf,IAAe,aAAf,GAAe,EAAf,GAAmB,EAFnB;AADiB,iBADF,CAAvB;AAOD;AACF;;AAED,gBAAMq+D,mBAAmB,GAAG,CAAH,iBAAG,KAAK57D,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEuI,MAAvB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAEgK,OAA5B,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,EAAnC,GAAuC,EAAnE;AACA,gBAAMhK,MAAM,GAAG,KAAKA,MAAL,CAAY2C,IAAZ,CAAiB,mGAAjB,EAA0C,MAAF,OAAE,CAAF;AACrDC,mBAAK,EAAE,gBAD8C;AAErDmB,uBAAS,EAAE,KAAKpF,GAFqC;AAGrDuV,uBAAS,EAAE,MAH0C;AAIrDC,uBAAS,EAAE,KAJ0C;AAKrDnQ,0BAAY,EAAE;AALuC,eAMlDqvD,mBANkD,CAAE,EAMjC;AACtBr+D,kBAAI,EAAE;AACJ+d,uBAAO,EAAE,CAAF,iBAAE,KAAKtb,aAAP,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEe,KAAtB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEua,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,EAAlC,GAAsC,EAD3C;AAEJzX,oBAAI,EAAEA,IAFF;AAGJ9C,qBAAK,EAAEA,KAHH;AAIJwR,uBAAO,EAAE,KAAKvS,aAJV;AAKJ4F,wBAAQ,EAAE,KAAKA,QALX;AAMJD,wBAAQ,EAAE,KAAKA,QANX;AAOJ7D,0BAAU,EAAE05D,oBAPR;AAQJp/B,0BAAU,EAAVA;AARI;AADgB,aANiC,CAA1C,CAAf;AAkBA7zB,kBAAM,CACH8C,WADH,GAEGvD,IAFH,CAGI,wDAAU,KAAKC,QAAf,CAHJ,EAII,qDAAO,UAAC0E,EAAD;AAAA,qBAAQ,CAAC,CAACA,EAAV;AAAA,aAAP,CAJJ,EAMGnM,SANH,CAMa,UAACqM,GAAD,EAAuB;AAChC,kBAAI9I,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,QAAhC,EAA0C;AACxC,wBAAI,CAACg4D,SAAL,CAAelvD,GAAf;AACD;;AACD,kBAAI9I,IAAI,KAAK,OAAb,EAAsB;AACpB,wBAAI,CAACi4D,YAAL,CAAkBnvD,GAAlB,EAAuB5L,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE6D,EAA9B;AACD;AACF,aAbH;AAcD;;;iBAEO,8BAA2E;AAAA,gBAAxDjI,OAAwD,uEAA9C,EAA8C;AAAA,gBAA1CyP,EAA0C,uEAA7B,IAA6B;AAAA,gBAAvBC,MAAuB,uEAAN,IAAM;AACjF,mBAAO,KAAK9D,MAAL,CACJ2C,IADI,CACC,sEADD,EAC8B;AACjCC,mBAAK,EAAE,kBAD0B;AAEjCmB,uBAAS,EAAE,KAAKpF,GAFiB;AAGjCqF,0BAAY,EAAE,KAHmB;AAIjChP,kBAAI,EAAE;AACJZ,uBAAO,EAAEA,OADL;AAEJ6P,0BAAU,EAAE;AACVH,wBAAM,EAAEA,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAAA,MAAA,GAAU,KAAK7P,gBAAL,CAAsBqE,OAAtB,CAA8B,qBAA9B,CADR;AAEVuL,oBAAE,EAAEA,EAAE,SAAF,IAAAA,EAAE,WAAF,GAAAA,EAAA,GAAM,KAAK5P,gBAAL,CAAsBqE,OAAtB,CAA8B,kBAA9B;AAFA;AAFR;AAJ2B,aAD9B,EAaJwK,WAbI,GAcJvD,IAdI,CAeH,mDAAK,CAAL,CAfG,EAgBH,qDAAO,UAAC2E,EAAD;AAAA,qBAAQ,CAAC,CAACA,EAAV;AAAA,aAAP,CAhBG,CAAP;AAkBD,W,CAED;;;;iBACQ,2BAAwC;AAAA,gBAA5BlP,IAA4B,UAA5BA,IAA4B;AAAA,gBAAtB8+B,IAAsB,UAAtBA,IAAsB;;;;AAC9C,gBAAMD,UAAU,GAAGC,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAAA,IAAA,GAAQ,aAA3B;AACA,gBAAIz3B,EAAE,GAAG8gC,SAAT;;AACA,gBAAItJ,UAAU,KAAK,aAAnB,EAAkC;AAChCx3B,gBAAE,GAAG,CAAH,iBAAGrH,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEA,IAAT,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEmd,SAAf,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,EAAxB,GAAwB,MAAInd,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEA,IAAV,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEqH,EAArC,MAAuC,IAAvC,IAAuC,aAAvC,GAAuC,EAAvC,GAA2CrH,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEiC,GAAtD;AACD,aAFD,MAEO;AACLoF,gBAAE,GAAG,CAAH,KAAGrH,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEmd,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,EAAf,GAAmBnd,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEqH,EAA9B;AACD;;AACDA,cAAE,SAAF,IAAAA,EAAE,WAAF,GAAAA,EAAA,GAAAA,EAAE,GAAK,gDAAMywB,IAAN,EAAP;;AACA,gBAAMsyB,SAAS,GAAG,KAAKoU,iBAAL,CAAuB;AAAEx+D,kBAAI,EAAJA,IAAF;AAAQqH,gBAAE,EAAFA,EAAR;AAAYw3B,wBAAU,EAAVA;AAAZ,aAAvB,CAAlB;;AACA,iBAAKn1B,WAAL,8BAAqB,KAAKivD,cAA1B,IAA0CvO,SAA1C;AACD;;;iBAEO,8BAA2C/iD,EAA3C,EAAoD;AAAA,gBAArCrH,IAAqC,UAArCA,IAAqC;AAAA,gBAA/B8+B,IAA+B,UAA/BA,IAA+B;AAC1D,gBAAMD,UAAU,GAAoBC,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAAA,IAAA,GAAQ,aAA5C;AACA,gBAAMl7B,KAAK,GAAG,KAAK+0D,cAAL,CAAoB9/C,SAApB,CAA8B,UAACoM,GAAD;AAAA,qBAASA,GAAG,CAAC5d,EAAJ,KAAWA,EAApB;AAAA,aAA9B,CAAd;;AACA,gBAAIzD,KAAK,IAAI,CAAb,EAAgB;AACd,mBAAK+0D,cAAL,CAAoB/0D,KAApB,IAA6B,KAAK46D,iBAAL,CAAuB;AAClDx+D,oBAAI,EAAJA,IADkD;AAElDqH,kBAAE,EAAFA,EAFkD;AAGlDw3B,0BAAU,EAAVA;AAHkD,eAAvB,CAA7B;AAKA,mBAAKn1B,WAAL,CAAiB,KAAKivD,cAAtB;AACD;AACF;;;iBAEO,2BAAkBn1D,KAAlB,EAIL;;;AACD,gBAAMjD,KAAK,GAAG,CAAH,iBAAG,KAAKkC,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEe,KAAvB,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEjD,KAA3B,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,EAAhC,GAAoC,EAAlD;AAEA,gBAAMk+D,MAAM,GAAG;AACbn9B,qBAAO,EAAE,CAAF,WAAE,KAAK7+B,aAAL,CAAmBg8D,MAArB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEn9B,OAA3B,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,EAAlC,GAAsC,2BADlC;AAEb5E,mBAAK,cACH,KAAKj6B,aAAL,CAAmBg8D,MADhB,MACsB,IADtB,IACsB,aADtB,GACsB,MADtB,GACsB,GAAE/hC,KADxB,MAC6B,IAD7B,IAC6B,aAD7B,GAC6B,EAD7B,GAEH;AAJW,aAAf;;AAOA,gBAAMnC,KAAK,GAAG,CAAA/2B,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEq7B,UAAP,MAAsB,aAAtB,GAAsC,CAAD,KAACr7B,KAAK,CAACxD,IAAN,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAEA,IAAlD,GAAyDwD,KAAK,CAACxD,IAA7E;;AAEA,mBAAO,MAAP,OAAO,CAAP;AACEqH,gBAAE,EAAE7D,KAAK,CAAC6D,EADZ;AAEEwE,mBAAK,EAAE,CAAA0uB,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEmkC,MAAP,IAAgBD,MAAM,CAAC/hC,KAAvB,GAA+B+hC,MAAM,CAACn9B;AAF/C,eAGK/gC,KAHL,GAIM,CAAAg6B,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAErzB,KAAP,IAAe;AAAEA,mBAAK,EAAEqzB,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAErzB;AAAhB,aAAf,GAAyC,EAJ/C,GAKM,CAAAqzB,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEujC,KAAP,IAAe;AAAEA,mBAAK,EAAE,KAAKa,UAAL,CAAgBpkC,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEujC,KAAvB;AAAT,aAAf,GAA0D,EALhE,GAMM,CAAAvjC,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEwjC,GAAP,IAAa;AAAEA,iBAAG,EAAE,KAAKY,UAAL,CAAgBpkC,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAEwjC,GAAvB;AAAP,aAAb,GAAoD,EAN1D,CAAO,EAMsD;AAC3D/9D,kBAAI,EAAEwD,KAAK,CAACxD;AAD+C,aANtD,CAAP;AASD;;;iBAEO,sBAAaqH,EAAb,EAAiB;AACvB,gBAAMrH,IAAI,GAAG,KAAK24D,cAAL,CAAoBpvD,MAApB,CAA2B,UAAC/F,KAAD;AAAA,qBAAW,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE6D,EAAP,MAAcA,EAAzB;AAAA,aAA3B,CAAb;AACA,iBAAKqC,WAAL,CAAiB1J,IAAjB;AACD;;;iBAEO,2BAAkB;AAAA;;AACxB,iBAAKmP,kBAAL,CACE,KAAKlQ,gBAAL,CAAsBqE,OAAtB,CAA8B,6BAA9B,CADF,EAEEP,SAFF,CAEY,UAACqM,GAAD,EAAS;AACnB,kBAAM4oB,MAAM,GAAG,QAAI,CAAC2gC,cAAL,CAAoBpvD,MAApB,CACb,UAAC/F,KAAD,EAAW;AAAD;;AAAA,mCAACA,KAAK,CAACxD,IAAP,MAAW,IAAX,IAAW,aAAX,GAAW,MAAX,GAAW,GAAEA,IAAb,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEs8D,eAAnB;AAAkC,eAD/B,CAAf;;AAIA,sBAAI,CAAC3D,cAAL,GAAsB3gC,MAAtB;;AACA,sBAAI,CAACtuB,WAAL,CAAiB,QAAI,CAACivD,cAAtB;AACD,aATD;AAUD;;;iBAEO,yBAAgB/wD,SAAhB,EAA2B;AAAA;;AACjC,gBAAMg3D,QAAQ,GAAG,oCAAM,CAACh3D,SAAD,CAAN,CAAkBi3D,OAAlB,CAA0B,KAA1B,CAAjB;AACA,gBAAMC,MAAM,GAAG,oCAAM,CAACl3D,SAAD,CAAN,CAAkBm3D,KAAlB,CAAwB,KAAxB,CAAf;;AACA,gBAAMC,KAAK,GAAG,SAARA,KAAQ,CAAC/0C,IAAD;AAAA,qBACZ,oCAAM,CAACA,IAAD,CAAN,CAAag1C,MAAb,CAAoBL,QAApB,KACC,oCAAM,CAAC30C,IAAD,CAAN,CAAai1C,OAAb,CAAqBN,QAArB,KAAkC,oCAAM,CAAC30C,IAAD,CAAN,CAAak1C,QAAb,CAAsBL,MAAtB,CAFvB;AAAA,aAAd;;AAGA,mBAAO,KAAKnG,cAAL,CAAoBpvD,MAApB,CAA2B,UAAC/F,KAAD,EAAW;;;AAC3C,kBAAMs6D,KAAK,GAAGkB,KAAK,CAAC,QAAI,CAACI,YAAL,CAAkB57D,KAAK,CAACs6D,KAAxB,CAAD,CAAnB;;AACA,kBAAI,SAASt6D,KAAb,EAAoB;AAClB,oBAAMu6D,GAAG,GAAGiB,KAAK,CAAC,QAAI,CAACI,YAAL,CAAkB57D,KAAK,CAACu6D,GAAxB,CAAD,CAAjB;AACA,uBAAO,EAAED,KAAK,IAAIC,GAAX,MAAe,YAAIv6D,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAExD,IAAX,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEA,IAAjB,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEs8D,eAAtC,CAAP;AACD;;AACD,qBAAO,CAACwB,KAAD,KAAM,YAAIt6D,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAExD,IAAX,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEA,IAAjB,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEs8D,eAA7B,CAAP;AACD,aAPM,CAAP;AAQD,W,CAED;;;;iBAEQ,6BAAoBriC,EAApB,EAAqC;AAC3C,gBAAMggC,GAAG,GAAGn0B,QAAQ,CAACkD,aAAT,CAAuB,QAAvB,CAAZ;AACAixB,eAAG,CAACoF,SAAJ,GAAgB,cAAhB;AACApF,eAAG,CAAChxB,SAAJ,GAAgB,6BAAhB;AACAgxB,eAAG,CAAC5yD,EAAJ,GAAS,cAAT;AACA4yB,cAAE,CAACmf,WAAH,CAAe6gB,GAAf;AACA,mBAAOA,GAAP;AACD;;;iBAEO,mBACN,EADM,EAENqF,QAFM,EAEsB;;;yBAD6C,EAAH,WAAG,QAAE,E;wCAAzElG,O;gBAAAA,O,+BAAU,CAAH,iBAAG,KAAK32D,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEe,KAAvB,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAE26D,UAA3B,MAAqC,IAArC,IAAqC,aAArC,GAAqC,MAArC,GAAqC,GAAEn+D,I;uCAAMsd,M;gBAAAA,M,8BAAS,E;;qCAClE;AAAAgiD,sBAAA;AAAkBt/D,oBAAI,EAAE;AAAxB;AAA4B;;AAE5B,gBAAI;AACF,qBAAOo5D,OAAO,GACV,gDAAMvoD,QAAN,CAAeuoD,OAAf,EAAwB,MAAF,OAAE,CAAF;AAAI70D,0BAAU,EAAE,KAAKvE;AAArB,eAAE,EAA4Bsd,MAA5B,CAAxB,KAAiEgiD,QADvD,GAEVA,QAFJ;AAGD,aAJD,CAIE,OAAOj8D,KAAP,EAAc;AACd,qBAAOi8D,QAAP;AACD;AACF;;;iBAED,oBAAWr1C,IAAX,EAAiB;AACf,mBAAO,4CAAW,IAAIniB,IAAJ,CAASmiB,IAAT,CAAX,EAA2BE,MAA3B,EAAP;AACD;;;iBAED,sBAAaF,IAAb,EAAmB;AACjB,mBAAO,4CAAWA,IAAX,EAAiBs1C,KAAjB,EAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACrrBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AASO,UAAMzlD,SAAS,GAAG,EAAlB;;UAGM0lD,U;AAGT,4BAAoBpmD,eAApB,EACYY,IADZ,EAC8B;AAAA;;AADV,eAAAZ,eAAA,GAAAA,eAAA;AACR,eAAAY,IAAA,GAAAA,IAAA;AAHJ,eAAAC,OAAA,GAAU,KAAKb,eAAL,CAAqBS,OAA/B;AAIP;;;;iBAED,wBAAY;AACR,mBAAO,KAAKG,IAAL,CAAUlU,GAAV,WAAwB,KAAKsT,eAAL,CAAqBmN,MAArB,CAA4BE,MAApD,sCAA6F;AAChGnJ,oBAAM,EAAE;AACJ7d,qBAAK,YAAK+d,MAAM,CAACC,gBAAZ;AADD;AADwF,aAA7F,EAIJlT,IAJI,CAKH,iDAAI,UAAAwD,MAAM,EAAI;AACV,qBAAOA,MAAM,CAAClJ,GAAP,CAAW,UAAAtB,IAAI,EAAI;AACtB,oBAAM2E,KAAK,mCACJ3E,IAAI,CAACvD,IADD,GACK;AACZiC,qBAAG,EAAEsB,IAAI,CAACtB;AADE,iBADL,CAAX;AAIA,uBAAOiG,KAAP;AACH,eANM,CAAP;AAOH,aARD,CALG,CAAP;AAeH;;;iBAED,wBAAY;AACR,mBAAO,KAAK8R,IAAL,CAAUlU,GAAV,WAAwB,KAAKsT,eAAL,CAAqBmN,MAArB,CAA4BE,MAApD,gCAAuF;AAC1FnJ,oBAAM,EAAE;AACJ7d,qBAAK,YAAK+d,MAAM,CAACC,gBAAZ;AADD;AADkF,aAAvF,EAIJlT,IAJI,CAKH,iDAAI,UAAAwD,MAAM,EAAI;AACV,qBAAOA,MAAM,CAAClJ,GAAP,CAAW,UAAAtB,IAAI,EAAI;AACtB,oBAAM2E,KAAK,mCACJ3E,IAAI,CAACvD,IADD,GACK;AACZiC,qBAAG,EAAEsB,IAAI,CAACtB;AADE,iBADL,CAAX;AAIA,uBAAOiG,KAAP;AACH,eANM,CAAP;AAOH,aARD,CALG,CAAP;AAeH;;;iBAED,+BAAmB;AACf,mBAAO,KAAK8R,IAAL,CAAUlU,GAAV,WAAwB,KAAKsT,eAAL,CAAqBmN,MAArB,CAA4BE,MAApD,oCAA2F;AAC9FnJ,oBAAM,EAAE;AACJ7d,qBAAK,YAAK+d,MAAM,CAACC,gBAAZ;AADD;AADsF,aAA3F,EAIJlT,IAJI,CAKH,iDAAI,UAAAwD,MAAM,EAAI;AACV,qBAAOA,MAAM,CAAClJ,GAAP,CAAW,UAAAtB,IAAI,EAAI;AACtB,oBAAM2E,KAAK,mCACJ3E,IAAI,CAACvD,IADD,GACK;AACZiC,qBAAG,EAAEsB,IAAI,CAACtB;AADE,iBADL,CAAX;AAIA,uBAAOiG,KAAP;AACH,eANM,CAAP;AAOH,aARD,CALG,CAAP;AAeH;;;iBACD,iCAAqB;AACjB,mBAAO,KAAK8R,IAAL,CAAUlU,GAAV,WAAwB,KAAKsT,eAAL,CAAqBmN,MAArB,CAA4BE,MAApD,uCAA8F;AACjGnJ,oBAAM,EAAE;AACJ7d,qBAAK,YAAK+d,MAAM,CAACC,gBAAZ;AADD;AADyF,aAA9F,EAIJlT,IAJI,CAKH,iDAAI,UAAAwD,MAAM,EAAI;AACV,qBAAOA,MAAM,CAAClJ,GAAP,CAAW,UAAAtB,IAAI,EAAI;AACtB,oBAAM2E,KAAK,mCACJ3E,IAAI,CAACvD,IADD,GACK;AACZiC,qBAAG,EAAEsB,IAAI,CAACtB;AADE,iBADL,CAAX;AAIA,uBAAOiG,KAAP;AACH,eANM,CAAP;AAOH,aARD,CALG,CAAP;AAeH;;;iBAED,sBAAaoV,MAAb,EAAmD;AAAA,gBAAzBmiD,QAAyB,uEAAL,KAAK;AAC/C,gBAAMp8C,QAAQ,GAAG,CAACo8C,QAAD,GACb,KAAKrmD,eAAL,CAAqByB,SAArB,CAA+B6kD,wBADlB,GAEb,KAAKtmD,eAAL,CAAqByB,SAArB,CAA+B8kD,6BAFnC;AAGA,gBAAMviD,GAAG,aAAM,KAAKnD,OAAX,SAAqBoJ,QAArB,CAAT;AACA,mBAAO,KAAKrJ,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,EAAwB;AAC3B+Y,qBAAO,EAAE,UADkB;AAE3B7Y,oBAAM,EAAEA;AAFmB,aAAxB,EAGJ/S,IAHI,CAIH,iDAAI,UAAC6rB,QAAD,EAAc;;;AACd,qBAAO;AACHC,0BAAU,EAAE7Y,MAAM,CAAC4Y,QAAQ,CAAC1c,OAAT,CAAiB5T,GAAjB,CAAqB,eAArB,CAAD,CADf;AAEH9F,oBAAI,EAAEo2B,QAAQ,CAACE,IAFZ;AAGHvwB,oBAAI,EAAE,CAAF,KAAEuX,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEvX,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgB+T,SAHnB;AAIHyD,oBAAI,EAAE,CAAF,KAAED,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEC,IAAR,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgB;AAJnB,eAAP;AAMH,aAPD,CAJG,CAAP;AAaH;;;iBAED,uBAAcH,GAAd,EAAyB;AACrB,mBAAO,KAAKpD,IAAL,CAAUlU,GAAV,CAAmBsX,GAAnB,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChHL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA8CawiD,wB;AAkBX,0CACSC,EADT,EAEU31D,iBAFV,EAE8C;AAAA;;AADrC,eAAA21D,EAAA,GAAAA,EAAA;AACC,eAAA31D,iBAAA,GAAAA,iBAAA;AAjBD,eAAA4jC,IAAA,GAAoC,WAApC;AAKC,eAAAgyB,eAAA,GACR,IAAI,0DAAJ,EADQ;AAEA,eAAAh3D,WAAA,GAAiC,IAAI,0DAAJ,EAAjC;;AACV,eAAAwb,QAAA,GAAgB,YAAM,CAAG,CAAzB;;AACA,eAAAy7C,OAAA,GAAe,YAAM,CAAG,CAAxB;;AACA,eAAAC,kBAAA,GAA0B,YAAM,CAAG,CAAnC;;AAEA,eAAA53D,QAAA,GAAW,KAAX;AACA,eAAA1H,KAAA,GAAa,IAAb;AAKK;;;;iBAEL,oBAAWA,KAAX,EAAqB;AACnB,iBAAKA,KAAL,GAAaA,KAAb;AACA,iBAAKm/D,EAAL,CAAQzuC,YAAR;AACD;;;iBACD,0BAAiB6uC,EAAjB,EAAwB;AACtB,iBAAK37C,QAAL,GAAgB27C,EAAhB;AACD;;;iBACD,2BAAkBA,EAAlB,EAAyB;AACvB,iBAAKF,OAAL,GAAeE,EAAf;AACD;;;iBACD,0BAAkBC,UAAlB,EAAqC;AACnC,iBAAK93D,QAAL,GAAgB83D,UAAhB;AACA,iBAAKL,EAAL,CAAQzuC,YAAR;AACD;;;iBACD,kBAAS+uC,OAAT,EAAiC;AAC/B,mBAAOA,OAAO,CAACzjC,KAAR,GAAgB,IAAhB,GAAuByjC,OAAO,CAAClV,MAAtC;AACD;;;iBACD,mCAA2BgV,EAA3B,EAAyC;AACvC,iBAAKD,kBAAL,GAA0BC,EAA1B;AACD;;;iBAED,oBAAQ,CACP;;;iBAED,qBAAY72D,OAAZ,EAAkC;AAAA;;AAChC,iBAAKg3D,QAAL,GAAgB,iDAAI;AAAA,qBAAM,QAAI,CAACtyB,IAAL,IAAa,WAAnB;AAAA,aAAJ,EACd,KAAK5jC,iBAAL,CAAuBm2D,iBAAvB,CAAyC,KAAKnjD,QAA9C,EAAwD,KAAKC,SAA7D,CADc,EAEd,KAAKjT,iBAAL,CAAuBo2D,mBAAvB,CAA2C,KAAKpjD,QAAhD,EAA0D,KAAKQ,YAA/D,CAFc,CAAhB;AAGD;;;iBAED,qBAAYhd,KAAZ,EAAmB;AACjB,iBAAKA,KAAL,GAAaA,KAAb;AACA,iBAAK4jB,QAAL,CAAc5jB,KAAd;AACD;;;iBACD,0BAAiB8C,KAAjB,EAAyC;AACvC,iBAAKs8D,eAAL,CAAqBj/D,IAArB,CAA0B,IAAI,wEAAJ,CAAoB,KAAK0/D,SAAzB,EAAoC/8D,KAAK,CAAC9C,KAA1C,CAA1B;AACA,iBAAKoI,WAAL,CAAiBjI,IAAjB,CAAsB2C,KAAK,CAAC9C,KAA5B;AACA,iBAAK4jB,QAAL,CAAc9gB,KAAK,CAAC9C,KAApB;AACA,iBAAKq/D,OAAL;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC5GH,yH,IACC,6J,GAAA,+L,EAAA;AAAA;AAAA,gB,GACC;AAAA;AAAA,sBAC8C,UAD9C;;AAAgE;;;;;AAC/D;;;;;AADD;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAC8C;AAAA;AAFpB,6BAAgB,KAAhB,CAAgB,GAAhB;;AAA3B,wBAA2B,SAA3B;;AACS,6BAAwB,KAAxB,CAAwB,OAAxB;AAAyB,6BAA8B,KAA9B,CAA8B,UAA9B;;AAAjC,wBAAQ,SAAR,EAAiC,SAAjC;AAA+D,S,EAAA;AADhE;;AAAA;AAGM,S;AAAA;;;uEA0BJ,kJ,IACC,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAMzC,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAsC,S;AAAA;;;uEAE/C,oL,GAAA,iR,GACC,4I,IAAqB,8E,GAAA,wD,EAAA,wD,EAAA,yL,GAAA,I,EAAA;AAAA;;AAAA;AAErB,S;AAAA;;;uEAKD,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAwC,S;AAAA;;;uEAGhD,4I,IAAyC,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AACzC,S;AAAA;;;uEAFD,oL,GAAA,iR,GACC,gH,GAAA;AAAA;AAAA,gB,GACM;AADe,kEAAmB,QAAnB,CAAmB,SAAnB,CAAmB,MAAnB;;AAArB,wBAAqB,SAArB;AAAwC,S,EAAA,I;AAAA;;;uEAMzC,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA6C,S;AAAA;;;uEAGrD,4I,IAA8C,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAE9C,S;AAAA;;;uEAHD,oL,GAAA,iR,GACC,iH,GAAA;AAAA;AAAA,gB,GAEM;AAFe,kEAAwB,QAAxB,CAAwB,SAAxB,CAAwB,WAAxB;;AAArB,wBAAqB,SAArB;AAA6C,S,EAAA,I;AAAA;;;uEAO9C,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAkD,S;AAAA;;;uEAG1D,4I,IAAmD,6E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEvC,S;AAAA;;;uEAHb,oL,GAAA,iR,GACC,iH,GAAA;AAAA;AAAA,gB,GAEkB;AAFG,kEAA6B,QAA7B,CAA6B,SAA7B,CAA6B,gBAA7B;;AAArB,wBAAqB,SAArB;AAAkD,S,EAAA,I;AAAA;;;uEAOnD,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAgD,S;AAAA;;;uEAGxD,4I,IAAiD,6E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAErC,S;AAAA;;;uEAHb,oL,GAAA,iR,GACC,iH,GAAA;AAAA;AAAA,gB,GAEkB;AAFG,kEAA2B,QAA3B,CAA2B,SAA3B,CAA2B,cAA3B;;AAArB,wBAAqB,SAArB;AAAgD,S,EAAA,I;AAAA;;;uEAOjD,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA+C,S;AAAA;;;uEAGvD,4I,IAAgD,6E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEpC,S;AAAA;;;uEAHb,oL,GAAA,iR,GACC,iH,GAAA;AAAA;AAAA,gB,GAEkB;AAFG,kEAA0B,QAA1B,CAA0B,SAA1B,CAA0B,aAA1B;;AAArB,wBAAqB,SAArB;AAA+C,S,EAAA,I;AAAA;;;uEAOhD,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAA0C,S;AAAA;;;uEAGlD,4I,IAAkD,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAyB,S;AAAA;;;uEAD5E,oL,GAAA,iR,GACC,iH,GAAA;AAAA;AAAA,gB,GAAiF;AAA5D,kEAA4B,QAA5B,CAA4B,SAA5B,CAA4B,eAA5B;;AAArB,wBAAqB,SAArB;AAAiD,S,EAAA,I;AAAA;;;uEAKlD,sM,GAAA,uR,GACC,2H,IAAQ,8E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAiD,S;AAAA;;;uEAE1D,oL,GAAA,iR,GACC,4I,IAAqB,6E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAwD,S;AAAA;;;uEAK9E;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;SAAA,E,yGAAA,E,6GAAA,C;;4SACC,wH,IAAQ,8E,GAAA,wQ,GAA+C;AADlB;;AAAtC,wBAAsC,SAAtC;AAAqE,S,EAAA;AAArE;;AAAA;;AAAA;;AACS;;AAAA;AAA+C,S;AAAA;;;uEAExD,oL,GAAA,iR,GACC,4I,IAAqB,6E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAAsD,S;AAAA;;;uEAK5E,sM,GAAA,uR,GAAsC,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtC,S;AAAA;;;uEACA,oL,GAAA,iR,GACC;AAAA;AAAA,sBACuC,UADvC;;AACC;;;;;AADD;AAAA,sB,GAAA;AAAA;AAAA,gB,EAA0B,wQ,GAAA;AAAA;;AAA1B,wBAA0B,SAA1B;AAA2E,S,EAAA,I;AAAA;;;uEAM5E,sM,GAAA,uR,GACK,I,EAAA,I;AAAA;;;uEACL,+M,GAAA,iR,GACC,mK,IACC;AAAA;AAAA,sBAEkB,UAFlB;;AAAiB;;;;;AAAjB;AAAA,sB,GAAA,8N,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,oF,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0L,EAAA,oN,EAAA,wN,GACC;AAAA;;AAAA;;;;;;SAAA,E,2GAAA,E,+GAAA,C;;mBAAmD;AAAA;AADnC,6BAAyB,YAAzB;;AAAjB,wBAAiB,SAAjB;;AACmB,6BAAa,QAAb,CAAa,SAAb;;AAAlB,yBAAkB,UAAlB;AAA+B,S,EAAA;AADhC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACC;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAmD,S;AAAA;;;uEAOtD,gO,GAAA,uR,GAAsE,+E,GAAA,wQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtE,S;AAAA;;;uEAGD,yY,GAAA,+M,EAAA,4J,GAA4D,I,EAAA,I;AAAA;;;uEAC5D;AAAA;AAAA,sBAEK,UAFL;;AACC;;;;;AADD;AAAA,wN,GAAA,mM,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,EAA5D,sJ,EAAA;AAAA;AAAA,gB,EAA4D;AAAA;AAAA,U,GAAA;AAAA,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;;AAA4D,gFAAqC,QAArC,CAAqC,SAArC,CAAqC,OAArC;;AAA5D,wBAA4D,SAA5D;AAAiG,S,EAAA,I;AAAA;;;uEAIjG,uZ,GAAA,+M,EAAA,4J,GAEM,I,EAAA;AAFF,oHAAqC,OAArC,CAAqC,OAArC,CAAqC,IAArC,CAAqC,IAArC,CAAqC,MAArC;;AAAJ,wBAAI,SAAJ;AAAyC,S;AAAA;;;uEAI1C;AAAA;AAAA,sBAEgB,UAFhB;;AACC;;;;;AADD;AAAA,4O,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAEgB;AAAA;AAF8B,oEAAiC,OAAjC,CAAiC,OAAjC,CAAiC,IAAjC,CAAiC,UAAjC;AAAkC,6BAAqB,SAArB;;AAAhF,wBAA8C,SAA9C,EAAgF,SAAhF;AAAqG,S,EAAA,I;AAAA;;;uEAnItG,2H,IACC;AAAA;AAAA,sBAiIQ,UAjIR;;AAAwD;;;;;AAAxD;AAAA,4N,GAAA,uM,EAAA;AAAA;AAAA,U,EAAA,4O,EAAA,mR,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,wM,GACC,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,yG,GAAA,0N,EAAA,4N,GAGA,yG,GAAA,oN,EAAA,+M,GAOD,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,yG,GAAA,0N,EAAA,4N,GAGA,yG,GAAA,oN,EAAA,gN,GAMD,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,0N,EAAA,4N,GAGA,0G,GAAA,oN,EAAA,gN,GAOD,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,0N,EAAA,4N,GAGA,0G,GAAA,oN,EAAA,gN,GAOD,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,0N,EAAA,4N,GAGA,0G,GAAA,oN,EAAA,gN,GAOD,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,0N,EAAA,4N,GAGA,0G,GAAA,oN,EAAA,gN,GAOD,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,0N,EAAA,4N,GAGA,0G,GAAA,qN,EAAA,gN,GAKD,4H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,2N,EAAA,4N,GAGA,0G,GAAA,qN,EAAA,gN,GAKD,4H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,2N,EAAA,4N,GAGA,0G,GAAA,qN,EAAA,gN,GAKD,4H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,2N,EAAA,4N,GAGA,0G,GAAA,qN,EAAA,gN,GAMD,4H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,2N,EAAA,4N,GAEA,0G,GAAA,qN,EAAA,gN,GASD,2H,GAAA,2K,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,mN,GACC,0G,GAAA,2N,EAAA,4N,GAKD,0G,GAAA;AAAA;AAAA,gB,EAAA,yN,GACA,0G,GAAA;AAAA;AAAA,gB,EAAA,6M,GAIA,0G,GAAA;AAAA;AAAA,gB,EAAyD,0D,EAAzD,yN,GAID,iH,GAAA;AAAA;AAAA,gB,GAEgB,4E,IAAA;AAAA;;AApIhB;;AAAiB,4BAA8B,QAA9B,CAA8B,IAA9B,CAA8B,IAA9B;;AAAjB,wBAAiB,SAAjB;;AACe;;AAAd,yBAAc,SAAd;;AAWc;;AAAd,yBAAc,SAAd;;AAUc;;AAAd,yBAAc,SAAd;;AAWc;;AAAd,yBAAc,SAAd;;AAWc;;AAAd,yBAAc,SAAd;;AAWc;;AAAd,yBAAc,SAAd;;AAWc;;AAAd,yBAAc,SAAd;;AASc;;AAAd,0BAAc,SAAd;;AASc;;AAAd,0BAAc,UAAd;;AASc;;AAAd,0BAAc,UAAd;;AAUc;;AAAd,0BAAc,UAAd;;AAYc;;AAAd,0BAAc,UAAd;;AAMmB,8BAAmC,iBAAnC;;AAAnB,0BAAmB,UAAnB;;AACY,8BAA+C,iBAA/C;;AAAZ,0BAAY,UAAZ;;AAIyD;;AAAzD,0BAAyD,UAAzD;;AAIc,8DAA8B,QAA9B,CAA8B,IAA9B,CAA8B,UAA9B;;AAAf,0BAAe,UAAf;AAA6C,S,EAAA;AAlI7C;;AAAA;AAiIQ,S;AAAA;;;uEAYT;AAAA;AAAA,sBAGS,UAHT;;AACC;;;;;AADD;AAAA,gO,GAAA;AAAA;AAAA;AAAA,gB,GACkB,4E,GAAA,wQ,GAElB;AAAA;AAH4E,8BAAyB,YAAzB;AAAhB;;AAA5D,wBAA4E,SAA5E,EAA4D,SAA5D;AAA2E,S,EAAA;AAA3E;AAAA;;AAAA;;AAAA;;AACkB;;AAAA;AAElB,S;AAAA;;;uEA3KF,0J,GAAA;AAAA;AAAA,gB,EAAA,+L,GACC,yL,IACC,oJ,IAA6B,sF,GAAA,wQ,EAAA,wQ,GAK7B;AAAA;AAAA,sBAGS,UAHT;;AACC;;;;;AADD;AAAA,gO,GAAA,uX,EAAA;AAAA;AAAA,gB,EAAwB,wQ,GAEvB,wgB,GAAA,4a,GAAU,iF,IAKZ,4L,GAAA;AAAA;AAAA,gB,EAAe;AAAA;AAAA,U,EAAf,mK,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,gB,EAAe;AAAA;AAAA,U,EAAf,6N,GACC,uf,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA,wJ,GACC;AAAA;AAAA,sBACiD,UADjD;;AAAyB;;;;;AACxB;;;;;AADD;AAAA,gR,GAAA;AAAA;AAAA;AAAA,U,GAKF,gJ,IACC,gH,GAAA;AAAA;AAAA,gB,GAIA,gH,GAAA;AAAA;AAAA,gB,EAAc,yL,GAyIf,iK,IACC;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,wX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAqC,6E,GAAA,wQ,GAIhF,iH,GAAA;AAAA;AAAA,gB,GAGS;AAAA;AA3KY,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAvB,wBAAuB,SAAvB;;AAO0B;;AAAxB,yBAAwB,SAAxB;;AAEC;;AAKa,8CAAuC,eAAvC;;AAAf,yBAAe,UAAf;;AAAe,8CAAuC,eAAvC;;AAAf,yBAAe,UAAf;;AACsB,8BAA2B,eAA3B;;AAArB,yBAAqB,UAArB;;AACC;;AAM0B,8BAAwB,iBAAxB;;AAA3B,yBAA2B,UAA3B;;AAIc,iKAAyC,YAAzC;;AAAd,yBAAc,UAAd;;AA0I2C,8CAAoC,KAApC,CAAoC,QAApC;;AAA3C,yBAA2C,UAA3C;;AAA2C,8CAAoC,KAApC,CAAoC,QAApC;;AAA3C,yBAA2C,UAA3C;;AAIQ,+BAAsB,KAAtB,CAAsB,QAAtB;;AAAR,yBAAQ,UAAR;AAA8B,S,EAAA;AAAA;;AAxKhC;;AAAA;;AAE+B;;AAAA;;AAAA;;AAK7B;AAAA;;AAAA;;AAAA;;AAEC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKF;;AAAA;;AACC;;AAAA;;AAAA;;AAAA;;AAqJA;AAAA;;AAAA;;AAAA;;AAAgF;;AAAA;AAEhF,S;AAAA;;;;;aA9KH,gH,GAAA;AAAA;AAAA;AAAA,gB,GAOA,uH,IA+Kc;AAAA;AAtLA;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAAkD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECM9C;AAAA;AAAA,sBAGgB,UAHhB;;AAAgE;;;;;AAAhE;AAAA,8N,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,4J,GAAA,yJ,GAAc,2H,IAAQ,6E,IACtB,4J,GAAA,0J,GAAc,gF,IAAgB,I,EAAA;AAFhC;;AAAA;;AAAA;;AAAA;;AACwB;;AAAA;;AACR;;AAAA;AAAgB,S;AAAA;;;uEARpC,yJ,IACE,qL,IAAwD,2F,IACxD,wH,IAAK,oG,IAEP,oJ,IACE,gW,GAAA,uM,EAAA,8M,GACE,6H,GAAA;AAAA;AAAA,gB,GAGgB;AAAA;AAHD,6BAA6B,SAA7B;;AAAf,yBAAe,SAAf;AAA4C,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLhD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEO,eAASS,qBAAT,CAA+BxmD,IAA/B,EAAiD;AACpD,eAAO,IAAI,yDAAJ,CAAoBA,IAApB,CAAP;AACH;;;;;;;;;;;;;;;;;ACJD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKA,UAAMhT,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,iBAD6C;AAEnDW,gBAAQ,EAAE,iBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAASu5D,sCAAT,CAAgDr5D,QAAhD,EAAoE;AACzE,wFACEJ,iBADF,EAEE,iGAFF,EAGEI,QAHF;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAaas5D,0B;AAKT,4CAAoB11D,MAApB,EACY/L,gBADZ,EACgD;AAAA;;AAD5B,eAAA+L,MAAA,GAAAA,MAAA;AACR,eAAA/L,gBAAA,GAAAA,gBAAA;AAEX;;;;iBAED,oBAAWG,OAAX,EAA4B;AACxB,gBAAMmI,SAAS,GAAG,KAAKyD,MAAL,CAAY2C,IAAZ,CAAiB,yGAAjB,EAAgC;AAC9CC,mBAAK,EAAE,KADuC;AAE9C5N,kBAAI,EAAE;AACF2J,mBAAG,EAAE,KAAKA,GADR;AAEFvK,uBAAO,EAAE,KAAKH,gBAAL,CAAsBqE,OAAtB,CAA8BlE,OAA9B;AAFP;AAFwC,aAAhC,CAAlB;AAOH;;;iBAED,oBAAWoE,KAAX,EAAkB;AACd,gBAAI,KAAKyU,QAAL,CAAcyrB,MAAd,GAAuB,CAAvB,IAA4B,KAAKzrB,QAAL,CAAcyrB,MAAd,IAAwB,IAAxD,EAA8D,KAAKzrB,QAAL,CAAcyrB,MAAd,GAAuB,CAAvB;AAC9DlgC,iBAAK,CAACS,MAAN,CAAavD,KAAb,GAAqB,KAAKuX,QAAL,CAAcyrB,MAAnC;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECzBC;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,wGAAA,E,4GAAA,C;;;;;;;;;;aAKE,sH,IAAM,+E,GAAA,wD,GAGN,wf,GAAA;AAAA;AAAA,gB,GAA0C;AAL1C;AAFA;AAGA,6BAAgB,QAAhB,CAAgB,SAAhB;;AAJF,wBAGE,UAHF,EACE,UADF,EAIE,UAJF;;AAQe;;AAAb,wBAAa,UAAb;AAA2B,S,EAAA;AAN3B,4BAAiB,QAAjB,CAAiB,GAAjB;;AAFF;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAEE,SAFF;;AAKQ;;AAAA;;AAGN;;AAAA;;AAAA;;AAAA;;AAAA;AAA0C,S;AAAA;;;uEAd9C;AAAA;AAAA;;AAAA;;;;;AAKE;;;;;AALF;AAAA,wO,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,kN,GAME,mH,GAAA;AAAA;AAAA;AAAA,gB,GASkB;AAAA;AAZlB,8BAA8B,eAA9B;AACA,8BAAqB,SAArB;;AAJF,wBAGE,UAHF,EAIE,UAJF;;AAIE,8BAAqB,SAArB;AACA,8BAAgC,mBAAhC;;AALF,wBAIE,UAJF,EAKE,UALF;;AAMmB;AAAA,8BAA8D,UAA9D;;AAAjB,wBAAiB,UAAjB,EAAiB,UAAjB;AAA+E,S,EAAA;AANjF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAgBqB,S;AAAA;;;uEAnBvB,0J,IAEE,wI,IAAiB,6E,GAAA,sQ,GACjB,sH,GAAA;AAAA;AAAA,gB,EAAoB,wL,GAAA;AAAA;;AAAA,8JAAkC,QAAlC;;AAApB,wBAAoB,SAApB;AAAsD,S,EAAA;AADrC;;AAAA;AAAsC,S;AAAA;;;uEAmBzD,gN,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GAIE;AAAA;AAAA,sBAMS,UANT;;AACE;;;;;AADF;AAAA,gO,GAAA;AAAA;AAAA,gB,EAGE,wL,GACA,iL,IAGF;AAAA;AAAA,sBAKS,UALT;;AACE;;;;;AADF;AAAA,gO,GAAA;AAAA;AAAA,gB,GAGE,0K,IAGF;AAAA;AAAA,sBAKS,UALT;;AACE;;;;;AADF;AAAA,gO,GAAA;AAAA;AAAA,gB,GAGE,0K,IAGF;AAAA;AAAA,sBAKS,UALT;;AACE;;;;;AADF;AAAA,gO,GAAA;AAAA;AAAA,gB,EAEE,wL,GACA,iL,IACyB;AAAA;AA1B3B;;AADF,wBACE,SADF;;AAEE;;AAFF,wBAEE,SAFF;;AAOI,2LAAsD,SAAtD;;AAHF,wBAGE,SAHF;;AASE,mEAAuD,SAAvD;;AAFF,wBAEE,SAFF;;AAQE,oEAAuD,SAAvD;;AAFF,yBAEE,UAFF;;AAQE,8LAAsD,SAAtD;;AAFF,yBAEE,UAFF;AAEwD,S,EAAA;AArBxD;AAAA;;AAAA;;AAAA;;AAOA;AAAA;;AAAA;;AAAA;;AAMA;AAAA;;AAAA;;AAAA;;AAMA;AAAA;;AAAA;;AAAA;AAKS,S;AAAA;;;uEAYL;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,wGAAA,E,4GAAA,C;;;;;;;;;;aAKE,sH,IAAM,+E,GAAA,wD,GAGN,wf,GAAA;AAAA;AAAA,gB,GAA0C;AAL1C;AAFA;AAGA,6BAAgB,QAAhB,CAAgB,SAAhB;;AAJF,wBAGE,UAHF,EACE,UADF,EAIE,UAJF;;AAQe;;AAAb,wBAAa,UAAb;AAA2B,S,EAAA;AAN3B,4BAAiB,QAAjB,CAAiB,GAAjB;;AAFF;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBAEE,SAFF;;AAKQ;;AAAA;;AAGN;;AAAA;;AAAA;;AAAA;;AAAA;AAA0C,S;AAAA;;;uEAd9C;AAAA;AAAA;;AAAA;;;;;AAIE;;;;;AAJF;AAAA,wO,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,qF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,kN,GAME,mH,GAAA;AAAA;AAAA;AAAA,gB,GASkB;AAAA;AAZlB,8BAA8B,eAA9B;AAEA,8BAAqB,SAArB;;AALF,wBAGE,UAHF,EAKE,UALF;;AAKE,8BAAqB,SAArB;AADA,8BAAgC,mBAAhC;;AAJF,wBAKE,UALF,EAIE,UAJF;;AAMmB;AAAA,8BAAmE,UAAnE;;AAAjB,wBAAiB,UAAjB,EAAiB,UAAjB;AAAoF,S,EAAA;AANtF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAgBqB,S;AAAA;;;uEAGnB,oe,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAAmF,2E,GAAA,wD,GAChE,wf,GAAA;AAAA;AAAA,gB,GAA0C;AAA7B;;AAAb,wBAAa,SAAb;AAA2B,S,EAAA;AAD9C;;AAAA;;AAAA;;AAAA;;AAAmF;;AAAA;;AAChE;;AAAA;;AAAA;;AAAA;;AAAA;AAA0C,S;AAAA;;;uEAH/D,oX,GAAA,uM,EAAA,8M,GAEE,mH,GAAA;AAAA;AAAA;AAAA,gB,GAC6E;AAAA;AAD9D;AAAA,6BAAmE,UAAnE;;AAAf,wBAAe,SAAf,EAAe,SAAf;AAAkF,S,EAAA,I;AAAA;;;uEApBtF,yH,IACE,sH,GAAA;AAAA;AAAA,gB,GAiBA,sH,GAAA;AAAA;AAAA,gB,GAKW,4E,IAAA;AAAA;AArBT,8BAAiB,SAAjB;;AADF,wBACE,SADF;;AAkBE,6BAAgB,SAAhB;;AADF,wBACE,SADF;AACkB,S,EAAA,I;AAAA;;;;;;;aA3ExB,gL,IAEE,sH,GAAA;AAAA;AAAA,gB,GAqBA,sH,GAAA;AAAA;AAAA,gB,GA8BA,0J,IACE,wI,IAAiB,8E,GAAA,sQ,GAEjB,sH,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAuC;AAAA;AArDrD,+CAA8B,SAA9B;;AADF,wBACE,SADF;;AAwBE,+CAA8B,SAA9B;;AAHF,wBAGE,SAHF;;AAiCgB,gKAAuC,QAAvC;;AAAd,yBAAc,SAAd;AAAqD,S,EAAA;AAAA;AAvDvD,6BAA4B,SAA5B;;AADF,wBACE,SADF;;AAsDqB;;AAAA;AAAyC,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrD9D;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAM18B,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,gBAD6C;AAEnDW,gBAAQ,EAAE,gBAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAMO,eAASy5D,8BAAT,CAAwCv5D,QAAxC,EAA4D;AACjE,wFAA8BJ,iBAA9B,EAAiD,+FAAjD,EAAgFI,QAAhF;AACD;;;;;;;;;;;;;;;;;ACXD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBaw5D,yB;AAqCT,2CAAoB3hE,gBAApB,EACYD,mBADZ,EAEY8W,YAFZ,EAGY9K,MAHZ,EAGgC;AAAA;;AAAA;;AAHZ,eAAA/L,gBAAA,GAAAA,gBAAA;AACR,eAAAD,mBAAA,GAAAA,mBAAA;AACA,eAAA8W,YAAA,GAAAA,YAAA;AACA,eAAA9K,MAAA,GAAAA,MAAA;AAtCH,eAAAtK,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAYV,eAAA+3D,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,eAAAC,aAAA,GAAgB,EAAhB;AACA;;AACS,eAAA71D,WAAA,GAAc,IAAI,mEAAJ,CAA2B,UAAAC,IAAI;AAAA,mBAAIA,IAAI,CAACC,SAAT;AAAA,WAA/B,CAAd;;AACA,eAAAC,QAAA,GAAW,UAACX,CAAD,EAAYS,IAAZ;AAAA,mBAA0B,CAAC,CAACA,IAAI,CAACC,SAAP,IAAoBD,IAAI,CAACC,SAAL,CAAehH,MAAf,GAAwB,CAAtE;AAAA,WAAX;;AACA,eAAAkH,OAAA,GAAU,UAACZ,CAAD,EAAYS,IAAZ;AAAA,mBAA0BA,IAAI,CAAC7D,EAA/B;AAAA,WAAV;;AAET,eAAAk9C,QAAA,GAAW,EAAX;AAEA,eAAA3Y,gBAAA,GAAmB;AACfC,sBAAU,EAAE,KADG;AAEfl+B,gBAAI,EAAE;AAFS,WAAnB;AAIA,eAAAozD,UAAA,GAAa,IAAb;AACA,eAAAC,gBAAA,GAAmB,IAAnB;AACA,eAAAC,cAAA,GAAiB,IAAjB;;AA0DA,eAAAC,WAAA,GAAc,UAAC39D,IAAD,EAAOiI,IAAP,EAAaN,IAAb,EAAuB;;;AACjC,gBAAI,QAAI,CAACi2D,cAAL,KAAmB,MAAI,QAAI,CAACA,cAAT,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEC,SAA5C,CAAJ,EAA2D;AACvD,kBAAI51D,IAAI,IAAIA,IAAI,CAACqiC,aAAjB,EAAgC;AAC5BtqC,oBAAI,CAAC89D,MAAL,GAAc71D,IAAI,CAACqiC,aAAL,CAAmB7tC,IAAnB,CAAwB,QAAI,CAACmhE,cAAL,CAAoBC,SAA5C,KAA0D,IAAxE;AAEH,eAHD,MAGO,IAAIl2D,IAAI,IAAIA,IAAI,CAAC2iC,aAAjB,EAAgC;AACnCtqC,oBAAI,CAAC89D,MAAL,GAAcn2D,IAAI,CAAC2iC,aAAL,CAAmB7tC,IAAnB,CAAwB,QAAI,CAACmhE,cAAL,CAAoBC,SAA5C,KAA0D,IAAxE;AACH;AAEJ;AACJ,WAVD;;AAWA,eAAAE,cAAA,GAAiB,UAAC/9D,IAAD,EAAOiI,IAAP,EAAaN,IAAb,EAAuB;AACpC,gBAAIM,IAAI,IAAIA,IAAI,CAACyB,QAAjB,EAA2B;AACvB1J,kBAAI,CAAC0J,QAAL,GAAgBzB,IAAI,CAACyB,QAArB;AACA1J,kBAAI,CAACkpB,KAAL,GAAajhB,IAAI,CAACihB,KAAlB;AAEH,aAJD,MAIO,IAAIvhB,IAAI,IAAIA,IAAI,CAAC+B,QAAjB,EAA2B;AAC9B1J,kBAAI,CAAC0J,QAAL,GAAgB/B,IAAI,CAAC+B,QAArB;AACA1J,kBAAI,CAACkpB,KAAL,GAAavhB,IAAI,CAACuhB,KAAlB;AACH;AACJ,WATD;;AAUA,eAAAlhB,YAAA,GAAe,UAACC,IAAD,EAAON,IAAP,EAAiB;;;AAC5B,gBAAM3H,IAAI,GAAQ;AACdoG,iBAAG,EAAE,QAAI,CAACA,GADI;AAEd8B,mBAAK,EAAED,IAAI,CAACC,KAFE;AAGdlF,kBAAI,EAAE,CAAF,KAAEiF,IAAI,CAACjF,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAa2E,IAAI,CAACQ,cAHV;AAIdC,oBAAM,EAAE,CAAF,KAAEH,IAAI,CAACG,MAAL,MAAW,IAAX,IAAW,aAAX,GAAW,EAAX,GAAe,wDAAWT,IAAI,CAACS,MAAhB,CAJT;AAKd44C,sBAAQ,EAAE,QAAI,CAACA,QALD;AAMd1W,2BAAa,EAAE,CAAF,KAAEriC,IAAI,CAACqiC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,EAAlB,GAAuB,CAAD,KAAC3iC,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE2iC,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,EAAnB,GAAuB,IAN/C;AAOdwW,iCAAmB,EAAE,CAAF,KAAE74C,IAAI,CAAC64C,mBAAL,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,EAAxB,GAA6B,CAAD,KAACn5C,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEm5C,mBAAN,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,EAAzB,GAA6B,IAPjE;AAQdp3C,sBAAQ,EAAE,CAAF,KAAEzB,IAAI,CAACyB,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiB/B,IAAI,CAAC+B,QARlB;AASd61B,oBAAM,EAAE,CAAF,KAAEt3B,IAAI,CAACs3B,MAAL,MAAW,IAAX,IAAW,aAAX,GAAW,EAAX,GAAe53B,IAAI,CAAC43B,MATd;AAUdy+B,0BAAY,EAAE,CAAF,KAAE/1D,IAAI,CAAC+1D,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,EAAjB,GAAqBr2D,IAAI,CAACq2D,YAV1B;AAWd90C,mBAAK,EAAE,CAAF,KAAEjhB,IAAI,CAACihB,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcvhB,IAAI,CAACuhB,KAXZ;AAYd0nB,2BAAa,EAAE,CAAF,KAAE3oC,IAAI,CAAC2oC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,EAAlB,GAAuB,CAAD,KAACjpC,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEipC,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,EAAnB,GAAuB,IAZ/C;AAadvoC,kBAAI,EAAE,CAAF,KAAEJ,IAAI,CAACI,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAaV,IAAI,CAACU,IAbV;AAcdC,mBAAK,EAAE,CAAF,KAAEL,IAAI,CAACK,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcX,IAAI,CAACW,KAdZ;AAedC,oBAAM,EAAE,CAAF,KAAEN,IAAI,CAACO,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiB,KAfX;AAgBd/L,kBAAI,EAAE,QAAI,CAACA,IAhBG;AAiBdU,mBAAK,EAAE,QAAI,CAAC6jD;AAjBE,aAAlB;;AAmBA,oBAAI,CAAC2c,WAAL,CAAiB39D,IAAjB,EAAuBiI,IAAvB,EAA6BN,IAA7B;;AACA,oBAAI,CAACo2D,cAAL,CAAoB/9D,IAApB,EAA0BiI,IAA1B,EAAgCN,IAAhC;;AACA,mBAAO3H,IAAP;AACH,WAvBD;;AAwBA,eAAA6I,SAAA,GAAY,UAACZ,IAAD,EAAON,IAAP,EAAiB;;;AACzB,gBAAM3H,IAAI,GAAQ;AACd8D,gBAAE,EAAE,CAAF,KAAEmE,IAAI,CAACnE,EAAL,MAAO,IAAP,IAAO,aAAP,GAAO,EAAP,GAAW6D,IAAI,CAAC7D,EADN;AAEdd,kBAAI,EAAE,CAAF,KAAEiF,IAAI,CAACjF,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAa2E,IAAI,CAACM,IAFV;AAGdE,4BAAc,EAAE,CAAF,KAAEF,IAAI,CAACE,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,EAAnB,GAAuBR,IAAI,CAACQ,cAH9B;AAIdC,oBAAM,EAAE,CAAF,KAAEH,IAAI,CAACG,MAAL,MAAW,IAAX,IAAW,aAAX,GAAW,EAAX,GAAeT,IAAI,CAACS,MAJd;AAKd44C,sBAAQ,EAAE,QAAI,CAACA,QALD;AAMd1W,2BAAa,EAAE,CAAF,KAAEriC,IAAI,CAACqiC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,EAAlB,GAAsB3iC,IAAI,CAAC2iC,aAN5B;AAOdwW,iCAAmB,EAAE,CAAF,KAAE74C,IAAI,CAAC64C,mBAAL,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,EAAxB,GAA4Bn5C,IAAI,CAACm5C,mBAPxC;AAQdp3C,sBAAQ,EAAE,CAAF,KAAEzB,IAAI,CAACyB,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiB/B,IAAI,CAAC+B,QARlB;AASd61B,oBAAM,EAAE,CAAF,KAAEt3B,IAAI,CAACs3B,MAAL,MAAW,IAAX,IAAW,aAAX,GAAW,EAAX,GAAe53B,IAAI,CAAC43B,MATd;AAUdy+B,0BAAY,EAAE,CAAF,KAAE/1D,IAAI,CAAC+1D,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,EAAjB,GAAqBr2D,IAAI,CAACq2D,YAV1B;AAWd90C,mBAAK,EAAE,CAAF,KAAEjhB,IAAI,CAACihB,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcvhB,IAAI,CAACuhB,KAXZ;AAYd0nB,2BAAa,EAAE,CAAF,KAAE3oC,IAAI,CAAC2oC,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,EAAlB,GAAsBjpC,IAAI,CAACipC,aAZ5B;AAadvoC,kBAAI,EAAE,CAAF,KAAEJ,IAAI,CAACI,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,EAAT,GAAaV,IAAI,CAACU,IAbV;AAcdC,mBAAK,EAAE,CAAF,KAAEL,IAAI,CAACK,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,EAAV,GAAcX,IAAI,CAACW,KAdZ;AAedQ,qBAAO,EAAE,CAAF,KAAEb,IAAI,CAACa,OAAL,MAAY,IAAZ,IAAY,aAAZ,GAAY,EAAZ,GAAgBnB,IAAI,CAACmB,OAfhB;AAgBdlB,uBAAS,EAAE,CAAF,KAAEK,IAAI,CAACc,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiBpB,IAAI,CAACC;AAhBnB,aAAlB;;AAkBA,oBAAI,CAAC+1D,WAAL,CAAiB39D,IAAjB,EAAuBiI,IAAvB,EAA6BN,IAA7B;;AACA,oBAAI,CAACo2D,cAAL,CAAoB/9D,IAApB,EAA0BiI,IAA1B,EAAgCN,IAAhC;;AACA,mBAAO3H,IAAP;AACH,WAtBD;AAwkBA;;;AACA,eAAAgJ,kBAAA,GAAqB,IAAI,uEAAJ,CAAwB,IAAxB,CAArB;;AACA,eAAAC,QAAA,GAAW,UAACtB,IAAD;AAAA,mBAAeA,IAAI,CAACuB,KAApB;AAAA,WAAX;;AAtqBI,cAAI,KAAKxN,gBAAT,EAA2B;AACvB,iBAAKuiE,kBAAL;AACA,iBAAK90D,UAAL,GAAkB,IAAI,8EAAJ,EAAlB;AACA,iBAAK+0D,kBAAL,GAA0B,IAAI,8EAAJ,EAA1B;AAEA,iBAAK90D,UAAL,GAAkB,IAAI,oDAAJ,CAA2B,EAA3B,CAAlB;AACA,iBAAK+0D,gBAAL,GAAwB,IAAI,oDAAJ,CAA2B,EAA3B,CAAxB;AAEA,iBAAK/0D,UAAL,CAAgB5J,SAAhB,CAA0B,UAAA6J,KAAK,EAAI;AAC/B,sBAAI,CAACF,UAAL,CAAgB1M,IAAhB,GAAuB,IAAvB;AACA,sBAAI,CAAC0M,UAAL,CAAgB1M,IAAhB,GAAuB4M,KAAvB;AACH,aAHD;AAKA,iBAAK80D,gBAAL,CAAsB3+D,SAAtB,CAAgC,UAAA6J,KAAK,EAAI;AACrC,sBAAI,CAAC60D,kBAAL,CAAwBzhE,IAAxB,GAA+B,IAA/B;AACA,sBAAI,CAACyhE,kBAAL,CAAwBzhE,IAAxB,GAA+B4M,KAA/B;AACH,aAHD;AAKA,iBAAKD,UAAL,CAAgBO,IAAhB,CAAqB,EAArB;AACA,iBAAKw0D,gBAAL,CAAsBx0D,IAAtB,CAA2B,EAA3B,EAnBuB,CAoBvB;;AACA,iBAAKlE,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,iBAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAA/C,IAAI,EAAI;AAC5D,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACH,aAFU,CAAX;AAGA,iBAAKrG,GAAL,GAAW,KAAKyJ,kBAAL,CAAwBY,OAAxB,CAAgCpK,SAAhC,CAA0C,UAAA/C,IAAI,EAAI;AACzDoN,qBAAO,CAACC,GAAR,CAAYrN,IAAI,CAACsN,MAAL,CAAYC,QAAxB;AACH,aAFU,CAAX;AAGH;AACJ;;;;iBACD,qBAAYnE,OAAZ,EAAoC;AAChC,iBAAK0M,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;;AACA,gBAAI,KAAKmD,aAAT,EAAwB;AACpB,mBAAK8D,IAAL,GAAYG,MAAM,CAAC8G,IAAP,CAAY,KAAK/K,aAAjB,EAAgC,CAAhC,CAAZ;AACA,kBAAI,KAAKA,aAAL,CAAmBuqC,cAAvB,EAAuC,KAAKA,cAAL,GAAsB,KAAKvqC,aAAL,CAAmBuqC,cAAzC;AACvC,mBAAK20B,eAAL;AACA,kBAAI,KAAKjhE,KAAT,EAAgB,KAAK+M,QAAL;AACnB;AACJ;;;iBAEO,yBAAgBtE,IAAhB,EAAsB;AAAA;;AAC1B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AACb,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACH,aAFS,CAAV;AAGH;;;iBAuED,sBAAasC,KAAb,EAA6BgB,KAA7B,EAA4D;AAAA,gBAAnBiB,UAAmB,uEAAN,IAAM;;;;AACxD,iBAAKk0D,WAAL;AACA,iBAAKC,eAAL,GAAuB,KAAvB;AACA,iBAAKd,UAAL,GAAkBt0D,KAAlB;AACA,iBAAKu0D,gBAAL,GAAwBtzD,UAAxB;AACA,iBAAKuzD,cAAL,GAAsB,KAAK11D,YAAL,CAAkB;AACpCE,mBAAK,EAAEA,KAD6B;AAEpClF,kBAAI,EAAEG,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAF8B;AAGpCd,oBAAM,EAAE,wDAAWc,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bd,MAAxC,CAH4B;AAIpCkiC,2BAAa,EAAEphC,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BohC,aAJR;AAKpCwW,iCAAmB,EAAE,CAAF,KAAE32C,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAEmgC,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,EAAzB,GAA6B,IALd;AAMpC5gC,sBAAQ,EAAER,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BQ,QANH;AAOpC61B,oBAAM,EAAEr2B,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bq2B,MAPD;AAQpCy+B,0BAAY,EAAE90D,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6B80D,YARP;AASpC90C,mBAAK,EAAEhgB,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BggB,KATA;AAUpC0nB,2BAAa,EAAE1nC,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6B0nC,aAVR;AAWpCvoC,kBAAI,EAAEa,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bb,IAXC;AAYpCC,mBAAK,EAAEY,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BZ,KAZA;AAapC7L,kBAAI,EAAE,KAAKA;AAbyB,aAAlB,CAAtB;AAeA,iBAAK8hE,iBAAL;AACH;;;iBAED,oBAAW52D,IAAX,EAAsB;AAClB,iBAAK02D,WAAL;AACA,iBAAKC,eAAL,GAAuB,MAAvB;AACA,iBAAKd,UAAL,GAAkB71D,IAAlB;AACA,iBAAK81D,gBAAL,GAAwB,IAAxB;AACA,iBAAKC,cAAL,GAAsB,KAAK11D,YAAL,CAAkB;AAAEE,mBAAK,EAAE;AAAT,aAAlB,EAAoCP,IAApC,CAAtB;AACA,iBAAK42D,iBAAL;AACH;;;iBAED,oBAAW52D,IAAX,EAAsB;AAClB,iBAAK02D,WAAL;AACA,iBAAKb,UAAL,GAAkB71D,IAAlB;AACA,iBAAK+1D,cAAL,GAAsB,KAAK11D,YAAL,CAAkB;AAAEQ,sBAAQ,EAAE;AAAZ,aAAlB,EAAsCb,IAAtC,CAAtB;AACA,iBAAK42D,iBAAL;AACH;;;iBAEO,6BAAoB;AAAA;;AACxB,gBAAI,KAAK90B,cAAT,EAAyB;AACrB,kBAAMzhC,YAAY,GAAG,IAAI,wEAAJ,EAArB;AACAA,0BAAY,CAAClE,EAAb,GAAkB,+CAAMywB,IAAN,EAAlB;AACAvsB,0BAAY,CAACsC,UAAb,GAA0B,wBAA1B;AACAtC,0BAAY,CAACwD,SAAb,GAAyB,KAAKpF,GAA9B;AACA4B,0BAAY,CAACvL,IAAb,GAAoB,KAAKihE,cAAzB;AACA,mBAAKj2D,MAAL,CAAY+jC,QAAZ;AACA,kBAAMC,WAAW,GAAG,KAAKhkC,MAAL,CAAY2C,IAAZ,CAAiB,wFAAjB,EAAgCpC,YAAhC,CAApB;AACAyjC,yBAAW,CAAClhC,WAAZ,GAA0B/K,SAA1B,CAAoC,UAAA/C,IAAI,EAAI;AACxC,wBAAI,CAAC8uC,WAAL,CAAiB9uC,IAAjB;AACH,eAFD;AAGH;AACJ;;;iBAED,qBAAY+N,MAAZ,EAAyB;;;AACrB,gBAAIA,MAAJ,EAAY;AACR,mBAAK+H,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;;AACA,kBAAI,KAAKuiE,eAAL,IAAwB,KAA5B,EAAmC;AAC/B,qBAAK7zD,UAAL,CAAgBD,MAAhB,EAAwB,KAAKgzD,UAA7B,EAAyC,KAAKC,gBAA9C;AACH,eAFD,MAEO,IAAI,KAAKa,eAAL,IAAwB,MAA5B,EAAoC;AACvC,oBAAME,SAAS,GAAG,aAAAh0D,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAE8/B,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE7tC,IAAvB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEgiE,UAA7B,0CAA8E,EAAhG;AACA,oBAAM/zD,UAAU,GAAGF,MAAM,CAAClC,KAAP,oBAAyBkC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAElC,KAAjC,oBAAuD,EAA1E;AACA,oBAAMD,IAAI,GAAGmC,MAAM,CAACnC,IAAP,wBAA2BmC,MAAM,CAACnC,IAAlC,wBAAkDqC,UAAlD,eAAuE,EAApF;AACA,oBAAM1K,IAAI,GAAG,KAAK6I,SAAL,CAAe;AACxB7F,sBAAI,EAAE,UAAGqF,IAAI,IAAI,EAAX,kDAAmDm2D,SAAnD,qCAAsF9zD,UAAtF,gBAAqG,KAAKhP,gBAAL,CAAsBqE,OAAtB,wBAA8C,KAAKy9D,UAAL,CAAgBr1D,cAA9D,EAArG,mBAAoMqC,MAAM,CAACpC,MAAP,CAAcpC,MAAd,CAAqB,UAAAlF,CAAC;AAAA,2BAAIA,CAAC,CAAC6J,UAAF,IAAgB7J,CAAC,CAAC3D,KAAtB;AAAA,mBAAtB,EAAmDmE,GAAnD,CAAuD,UAAAR,CAAC;AAAA,2BAAIA,CAAC,CAAC3D,KAAN;AAAA,mBAAxD,EAAqEoB,IAArE,CAA0E,KAA1E,CADlL;AAExB6J,wBAAM,EAAEoC,MAAM,CAACpC,MAFS;AAGxBkiC,+BAAa,EAAE9/B,MAAM,CAAC8/B,aAHE;AAIxBwW,qCAAmB,EAAEt2C,MAAM,CAACs2C,mBAJJ;AAKxBp3C,0BAAQ,EAAEc,MAAM,CAACd,QALO;AAMxB61B,wBAAM,EAAE/0B,MAAM,CAAC+0B,MANS;AAOxBy+B,8BAAY,EAAExzD,MAAM,CAACwzD,YAPG;AAQxB90C,uBAAK,EAAE1e,MAAM,CAAC0e,KARU;AASxB0nB,+BAAa,EAAEpmC,MAAM,CAAComC;AATE,iBAAf,EAUV,KAAK4sB,UAVK,CAAb;AAWA,qBAAK5yD,yBAAL,CAA+B,KAAKxB,UAAL,CAAgBjM,KAA/C,EAAsD6C,IAAtD;AACA,qBAAKoJ,UAAL,CAAgBO,IAAhB,oBAAyB,KAAKP,UAAL,CAAgBjM,KAAzC;AACA,qBAAKgJ,WAAL;AACH;;AACD,mBAAKoM,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH;;AACD,iBAAKsiE,WAAL;AACH;;;iBACD,uBAAc;AACV,iBAAKb,UAAL,GAAkB,IAAlB;AACA,iBAAKC,gBAAL,GAAwB,IAAxB;AACA,iBAAKC,cAAL,GAAsB,IAAtB;AACA,iBAAKY,eAAL,GAAuB,IAAvB;AACH;;;iBAGD,oBAAW9zD,MAAX,EAAwBtB,KAAxB,EAA+E;AAAA,gBAA3CiB,UAA2C,uEAA9B,IAA8B;AAAA,gBAAxBu0D,MAAwB,uEAAN,IAAM;;;;AAC3E,gBAAMF,SAAS,GAAGt1D,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6By1D,kBAA7B,KAA+C,MAAIn0D,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAE8/B,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE7tC,IAAF,CAAOyM,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6By1D,kBAApC,CAAxE,0CACsB,EADxC;AAEA,gBAAMj0D,UAAU,GAAGF,MAAM,CAAClC,KAAP,oBAAyBkC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAElC,KAAjC,oBAAuD,EAA1E;AACA,gBAAMD,IAAI,GAAG,CAAAmC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEnC,IAAR,yBAA4BmC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEnC,IAApC,wBAAoDqC,UAApD,eAAyE,EAAtF;AACA,gBAAMG,OAAO,GAAG,KAAKhC,SAAL,CAAe;AAC3B/E,gBAAE,EAAE,+CAAMywB,IAAN,EADuB;AAE3BvxB,kBAAI,EAAE,UAAGqF,IAAI,IAAI,EAAX,kDAAmDm2D,SAAnD,qCAAsF9zD,UAAtF,gBAAqG,KAAKhP,gBAAL,CAAsBqE,OAAtB,wBAA8CoD,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAA9C,EAArG,oBAA4LsB,MAAM,CAACpC,MAAP,CAAcpC,MAAd,CAAqB,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAAC6J,UAAF,IAAgB7J,CAAC,CAAC3D,KAAtB;AAAA,eAAtB,EAAmDmE,GAAnD,CAAuD,UAAAR,CAAC;AAAA,uBAAIA,CAAC,CAAC3D,KAAN;AAAA,eAAxD,EAAqEoB,IAArE,CAA0E,KAA1E,CAFvK;AAG3B4J,4BAAc,EAAEhF,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAHW;AAI3BJ,qBAAO,EAAEI,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BJ,OAJX;AAK3BC,sBAAQ,EAAE;AALiB,aAAf,EAMbyB,MANa,CAAhB;;AAOA,gBAAIL,UAAJ,EAAgB;AACZ,mBAAKY,uBAAL,CAA6B,KAAK3B,UAAL,CAAgBjM,KAA7C,EAAoDgN,UAApD,EAAgEU,OAAhE;AACA,mBAAKzB,UAAL,CAAgBO,IAAhB,oBAAyB,KAAKP,UAAL,CAAgBjM,KAAzC;AACA,kBAAIuhE,MAAJ,EAAY,KAAKv4D,WAAL;AACZ,qBAAO0E,OAAP;AACH,aALD,MAKO;AACH,mBAAKzB,UAAL,CAAgBO,IAAhB,8BACO,KAAKP,UAAL,CAAgBjM,KADvB,I,kBAGW0N,O,CAHX;AAMA,kBAAI6zD,MAAJ,EAAY,KAAKv4D,WAAL;AACZ,qBAAO0E,OAAP;AACH;AACJ;;;iBAED,oBAAWV,UAAX,EAAuBa,QAAvB,EAAiC;AAC7B,gBAAMrD,IAAI,GAAG,KAAKsD,QAAL,CAAc,KAAK/L,aAAnB,EAAkC8L,QAAlC,CAAb;AACA,iBAAKE,YAAL,CAAkB,IAAlB,EAAwBvD,IAAxB,EAA8BwC,UAA9B;AACH;;;iBAED,kBAASgB,YAAT,EAAuBH,QAAvB,EAAiC;AAAA;;AAC7B,iBAAK,IAAIhL,IAAT,IAAiBmL,YAAjB,EAA+B;AAC3B,kBAAInL,IAAI,IAAIgL,QAAZ,EAAsB,OAAOG,YAAP,CAAtB,KACK;AACD,oBAAMC,YAAY,GAAGD,YAAY,CAACnL,IAAD,CAAZ,CAAmB4H,SAAnB,CAA6B/G,IAA7B,CAAkC,UAAAC,CAAC;AAAA,yBAAI,QAAI,CAACmK,QAAL,CAAcnK,CAAd,EAAiBkK,QAAjB,CAAJ;AAAA,iBAAnC,CAArB;AACA,oBAAII,YAAJ,EAAkB,OAAO,KAAKH,QAAL,CAAcG,YAAd,EAA4BJ,QAA5B,CAAP;AACrB;AACJ;AACJ;;;iBACD,uBAAcG,YAAd,EAA4BiC,GAA5B,EAAiC;AAAA;;;;AAC7B,iBAAK,IAAIpN,IAAT,IAAiBmL,YAAjB,EAA+B;AAC3B,kBAAIhI,MAAM,CAACC,MAAP,CAAc+H,YAAY,CAACnL,IAAD,CAA1B,EAAkC0C,QAAlC,CAA2C0K,GAA3C,CAAJ,EAAqD,OAAOjC,YAAY,CAACnL,IAAD,CAAnB,CAArD,KACK;AAAA;AACD,sBAAMgL,QAAQ,GAAG,CAAH,iBAAGG,YAAY,CAACnL,IAAD,CAAZ,CAAmB8I,OAAtB,MAA6B,IAA7B,IAA6B,aAA7B,GAA6B,MAA7B,GAA6B,GAAEjI,IAAF,CAAO,UAAAC,CAAC;AAAA,2BAAI,CAAC,CAACA,CAAC,CAACkK,QAAR;AAAA,mBAAR,CAA7B,MAAqD,IAArD,IAAqD,aAArD,GAAqD,MAArD,GAAqD,GAAGA,QAArD,MAA6D,IAA7D,IAA6D,aAA7D,GAA6D,EAA7D,GAAiE,IAAlF;;AACA,sBAAIA,QAAJ,EAAc;AACV,wBAAMI,YAAY,GAAGD,YAAY,CAACnL,IAAD,CAAZ,CAAmB4H,SAAnB,CAA6B/G,IAA7B,CAAkC,UAAAC,CAAC;AAAA,6BAAI,QAAI,CAACmK,QAAL,CAAcnK,CAAd,EAAiBkK,QAAjB,CAAJ;AAAA,qBAAnC,CAArB;AACA,wBAAII,YAAJ,EAAkB;AAAA,yBAAO,QAAI,CAACwzD,aAAL,CAAmBxzD,YAAnB,EAAiCgC,GAAjC;AAAP;AACrB;AALA;;AAAA;AAMJ;AACJ;AACJ;;;iBAED,iCAAwBjC,YAAxB,EAAsChB,UAAtC,EAAkDU,OAAlD,EAA2D;AAAA;;AACvDM,wBAAY,CAAC/N,OAAb,CAAqB,UAAA0D,CAAC,EAAI;AACtB,kBAAIA,CAAC,CAACgD,EAAF,IAAQqG,UAAU,CAACrG,EAAvB,EAA2BhD,CAAC,CAAC8G,SAAF,CAAYpL,IAAZ,CAAiBqO,OAAjB,EAA3B,KACK,QAAI,CAACE,uBAAL,CAA6BjK,CAAC,CAAC8G,SAA/B,EAA0CuC,UAA1C,EAAsDU,OAAtD;AACR,aAHD;AAIH;;;iBAED,mCAA0BM,YAA1B,EAAwCnL,IAAxC,EAA8C;AAC1C,iBAAK,IAAIK,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG8K,YAAY,CAACvK,MAAzC,EAAiDP,KAAK,EAAtD,EAA0D;AACtD,kBAAI8K,YAAY,CAAC9K,KAAD,CAAZ,CAAoByD,EAApB,IAA0B9D,IAAI,CAAC8D,EAAnC,EAAuCqH,YAAY,CAAC9K,KAAD,CAAZ,GAAsB,MAAH,OAAG,CAAH,EAAG,EAAKL,IAAL,CAAtB,CAAvC,KACK,KAAK4K,yBAAL,CAA+BO,YAAY,CAAC9K,KAAD,CAAZ,CAAoBuH,SAAnD,EAA8D5H,IAA9D;AACR;AACJ;;;iBAED,oBAAW2H,IAAX,EAAiB;AAAA;;AACb,gBAAIA,IAAI,CAACC,SAAL,IAAkBD,IAAI,CAACC,SAAL,CAAehH,MAArC,EAA6C;AACzC,+DAA+B,KAAKN,eAApC,EAAqD,IAArD,EAA2D,IAA3D,EACI,8EADJ;AAEA;AACH,aALY,CAMb;;;AACA,gBAAI,KAAKpB,aAAL,CAAmB6N,uBAAvB,EAAgD;AAC5C,kBAAI8xD,UAAU,GAAG,KAAjB;AACA,mBAAK3/D,aAAL,CAAmB6N,uBAAnB,CAA2C3P,OAA3C,CAAmD,UAAA4C,IAAI,EAAI;AACvD,oBAAMwK,MAAM,GAAG,+CAAM8C,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAE2hE,2BAAS,EAAEn3D,IAAI,CAAC2iC,aAAL,CAAmB5rC,GAAhC;AAAqCvB,uBAAK,EAAE,QAAI,CAACV,IAAL,CAAUuD,IAAI,CAACoN,GAAf;AAA5C,iBAA3B,CAAf;AACA,oBAAI5C,MAAJ,EAAYq0D,UAAU,GAAG,IAAb;AACf,eAHD;;AAKA,kBAAIA,UAAJ,EAAgB;AACZ,iEAA+B,KAAKv+D,eAApC,EAAqD,IAArD,EAA2D,IAA3D,EACI,8EADJ;AAEA;AACH;AACJ,aAnBY,CAqBb;;;AACA,6DAA+B,KAAKA,eAApC,EAAqD,YAAM;AACvD,sBAAI,CAACy+D,kBAAL,CAAwBp3D,IAAxB;AACH,aAFD,EAEG,IAFH,EAES,kCAFT;AAGH;;;iBAED,4BAAmBA,IAAnB,EAAyB;AAAA;;AACrB,iBAAK4K,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CAAyB+E,kBAAzB,CAA4CmH,IAAI,CAAC+B,QAAjD,EAA2D/B,IAAI,CAAC2iC,aAAL,CAAmB5rC,GAA9E,EACNc,SADM,CACI,YAAM;AACb,kBAAM/C,IAAI,GAAG,QAAI,CAAC2M,UAAL,CAAgBjM,KAA7B;;AACA,sBAAI,CAACiM,UAAL,CAAgBO,IAAhB,CAAqB,QAAI,CAAC6C,cAAL,CAAoB,wDAAW/P,IAAX,CAApB,EAAsCkL,IAAtC,CAArB;;AACA,sBAAI,CAACqB,kBAAL,CAAwB2D,KAAxB;;AACA,sBAAI,CAAC0xD,WAAL;;AACA,sBAAI,CAACl4D,WAAL;;AACA,sBAAI,CAACoM,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aARM,EAQJ,UAAA+D,KAAK,EAAI;AACR,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,aAVM,CAAX;AAWH;;;iBAED,wBAAeU,IAAf,EAA4BkL,IAA5B,EAA+C;AAAA;;AAC3C,gBAAM6C,MAAM,GAAG,EAAf;AACA/N,gBAAI,CAACW,OAAL,CAAa,UAAA4C,IAAI,EAAI;AACjB,kBAAIA,IAAI,CAAC4H,SAAL,IAAkB5H,IAAI,CAAC4H,SAAL,CAAehH,MAArC,EACIZ,IAAI,CAAC4H,SAAL,GAAiB,QAAI,CAAC4E,cAAL,CAAoBxM,IAAI,CAAC4H,SAAzB,EAAoCD,IAApC,CAAjB;;AACJ,kBAAIA,IAAI,YAAYiF,KAApB,EAA2B;AACvB,oBAAI,CAACjF,IAAI,CAAC9G,IAAL,CAAU,UAAAC,CAAC;AAAA,yBAAIA,CAAC,CAACgD,EAAF,IAAQ9D,IAAI,CAAC8D,EAAjB;AAAA,iBAAX,CAAL,EAAsC0G,MAAM,CAAChO,IAAP,CAAYwD,IAAZ;AACzC,eAFD,MAEO,IAAIA,IAAI,CAAC8D,EAAL,IAAW6D,IAAI,CAAC7D,EAApB,EAAwB0G,MAAM,CAAChO,IAAP,CAAYwD,IAAZ;AAClC,aAND;AAOA,mBAAOwK,MAAP;AACH;;;iBAED,wBAAe/N,IAAf,EAA4BkL,IAA5B,EAAyE;AAAA;;AAAA,gBAA1BkF,YAA0B,uEAAJ,EAAI;AACrEpQ,gBAAI,CAACW,OAAL,CAAa,UAAA4C,IAAI,EAAI;AACjB,kBAAIA,IAAI,CAAC4H,SAAL,IAAkB5H,IAAI,CAAC4H,SAAL,CAAehH,MAArC,EACI,QAAI,CAAC8L,cAAL,CAAoB1M,IAAI,CAAC4H,SAAzB,EAAoCD,IAApC,EAA0CkF,YAA1C;AAEJ,kBAAI7M,IAAI,CAAC8D,EAAL,IAAW9D,IAAI,CAAC8D,EAAL,IAAW6D,IAAI,CAAC7D,EAA3B,IAAiC9D,IAAI,CAACoI,MAAtC,IAAgDpI,IAAI,CAACoI,MAAL,CAAYxH,MAAhE,EACIiM,YAAY,CAACrQ,IAAb,CAAkBwD,IAAI,CAACoI,MAAL,CAAY,CAAZ,EAAejL,KAAjC;AACP,aAND;AAQA,mBAAO0P,YAAP;AACH;;;iBAED,mBAAUlF,IAAV,EAAgBmF,MAAhB,EAAwB;AACpB,mBAAO,CAAC,CAACnF,IAAI,CAACmB,OAAL,CAAajI,IAAb,CAAkB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACkC,IAAF,IAAU8J,MAAd;AAAA,aAAnB,CAAT;AACH;;;iBAEO,8BAAqB;AAAA;;AACzB,iBAAKvN,GAAL,GAAW,KAAK+9D,YAAL,CAAkBt2D,IAAlB,CACP,0DAAa,GAAb,CADO,EAEP,mEAFO,EAGNxH,SAHM,CAGI,UAAAw/D,OAAO,EAAI;AAClB,sBAAI,CAAChzB,UAAL,CAAgBgzB,OAAhB;AACH,aALM,CAAX;AAMH;;;iBAEO,sBAAiC;AAAA;;AAAA,gBAAtBA,OAAsB,uEAAJ,EAAI;;AACrC,gBAAIA,OAAO,CAACp+D,MAAZ,EAAoB;AAChB,kBAAMnE,IAAI,GAAG,EAAb;AACA,mBAAK2M,UAAL,CAAgBjM,KAAhB,CAAsBC,OAAtB,CAA8B,UAAAuK,IAAI,EAAI;AAClC,wBAAI,CAACs3D,mBAAL,CAAyBD,OAAzB,EAAkCviE,IAAlC,EAAwCkL,IAAxC,EAA8CA,IAA9C;AACH,eAFD;AAGA,mBAAKw2D,gBAAL,CAAsBx0D,IAAtB,CAA2BlN,IAA3B;AACH,aAND,MAMO;AACH,mBAAK0hE,gBAAL,CAAsBx0D,IAAtB,CAA2B,EAA3B;AACA,mBAAKw0D,gBAAL,CAAsBx0D,IAAtB,CAA2B,wDAAW,KAAKP,UAAL,CAAgBjM,KAA3B,CAA3B;AACH;AACJ;;;iBAEO,6BAAoB6hE,OAApB,EAAqC5vD,KAArC,EAAmDjF,UAAnD,EAAoE8E,WAApE,EAAsF;AAAA;;AAC1F,gBAAIA,WAAW,CAAC7G,MAAZ,CAAmBzG,IAAnB,CAAwB,UAAAu9D,CAAC;AAAA,qBAAIA,CAAC,CAAC/hE,KAAF,CAAQuF,QAAR,CAAiBs8D,OAAjB,CAAJ;AAAA,aAAzB,CAAJ,EAA6D;AACzD,kBAAI5vD,KAAK,CAACvO,IAAN,CAAW,UAAAs+D,CAAC;AAAA,uBAAIA,CAAC,CAACr7D,EAAF,IAAQqG,UAAU,CAACrG,EAAvB;AAAA,eAAZ,CAAJ,EAA4C;AAC5CsL,mBAAK,CAAC5S,IAAN,CAAW2N,UAAX;AACH,aAHD,MAGO;AACH,kBAAI8E,WAAW,CAACrH,SAAhB,EACIqH,WAAW,CAACrH,SAAZ,CAAsBxK,OAAtB,CAA8B,UAAAsR,CAAC,EAAI;AAC/B,wBAAI,CAACuwD,mBAAL,CAAyBD,OAAzB,EAAkC5vD,KAAlC,EAAyCjF,UAAzC,EAAqDuE,CAArD;AACH,eAFD;AAGP;AACJ;;;iBAEO,uBAAc;AAAA;;AAClB,iBAAKs9B,UAAL,CAAgB,KAAKuxB,aAArB;AACA,gBAAMvc,QAAQ,GAAG,EAAjB;;AAFkB,wDAGC,KAAK53C,UAAL,CAAgBjM,KAHjB;AAAA;;AAAA;AAGlB,qEAA0C;AAAA,oBAA/BkR,IAA+B;AACtC,oBAAIrO,IAAI,GAAG,KAAKsO,cAAL,CAAoBD,IAApB,CAAX;AACA,qBAAKE,iBAAL,CAAuBvO,IAAvB,EAA6BqO,IAA7B;AACA2yC,wBAAQ,CAACxkD,IAAT,CAAcwD,IAAd;AACH;AAPiB;AAAA;AAAA;AAAA;AAAA;;AAQlB,iBAAKghD,QAAL,GAAgBA,QAAhB;AAEA,gBAAMoe,WAAW,GAAG,EAApB;;AAVkB,wDAWC,KAAKh2D,UAAL,CAAgBjM,KAXjB;AAAA;;AAAA;AAWlB,qEAA0C;AAAA,oBAA/BkR,KAA+B;;AACtC,oBAAIrO,MAAI,GAAG,KAAKsO,cAAL,CAAoBD,KAApB,EAA0B,IAA1B,CAAX;;AACA,qBAAKE,iBAAL,CAAuBvO,MAAvB,EAA6BqO,KAA7B,EAAmC,IAAnC;AACA+wD,2BAAW,CAAC5iE,IAAZ,CAAiBwD,MAAjB;AACH;AAfiB;AAAA;AAAA;AAAA;AAAA;;AAgBlB,iBAAK7C,KAAL,GAAa;AAAEkiE,0BAAY,EAAED;AAAhB,aAAb;AACA,iBAAK75D,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AAEAyC,sBAAU,CAAC,YAAM;AACb,sBAAI,CAAC8rC,mBAAL;;AACA,sBAAI,CAACl9B,gBAAL;;AACA,sBAAI,CAAC4vD,eAAL;AACH,aAJS,CAAV;AAKH;;;iBAEO,+BAAsB;AAAA;;AAC1B,gBAAI,KAAKl/D,aAAL,IAAsB,KAAKA,aAAL,CAAmBwsC,mBAA7C,EAAkE;AAC9D,kBAAI,KAAKprC,eAAL,CAAqB6M,IAArB,CAA0Bqc,MAA9B,EAAsC;AAClC,oBAAMC,KAAK,GAAG,KAAKnpB,eAAL,CAAqB6M,IAArB,CAA0Buc,YAA1B,CAAuC;AAAExb,qBAAG,EAAE,IAAP;AAAayb,kCAAgB,EAAE;AAA/B,iBAAvC,CAAd;AACA,oBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,qBAAG,EAAE,KAAKlO,aAAL,CAAmBwsC;AAA1B,iBAA9B,CAAnB;AACAz+B,0BAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;;;AACpBA,mBAAC,CAAClB,QAAF,CAAW,CAAD,KAAC,QAAI,CAACwzC,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiB,EAA5B;AACH,iBAFD;AAGH,eAND,MAMO;AACH,oBAAMtzC,WAAW,GAAG,+CAAMR,gBAAN,CAAuB,KAAK5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAElK,sBAAI,EAAE,MAAR;AAAgB,uCAAqB;AAArC,iBAA7D,CAApB;AACA2K,2BAAW,CAACtQ,OAAZ,CAAoB,UAAAuQ,aAAa,EAAI;AACjCA,+BAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AACzC,wBAAM2b,KAAK,GAAG3b,OAAO,CAAC4b,YAAR,CAAqB;AAAExb,yBAAG,EAAE,IAAP;AAAayb,sCAAgB,EAAE;AAA/B,qBAArB,CAAd;AACA,wBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,yBAAG,EAAE,QAAI,CAAClO,aAAL,CAAmBwsC;AAA1B,qBAA9B,CAAnB;AACAz+B,8BAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;;;AACpBA,uBAAC,CAAClB,QAAF,CAAW,CAAD,KAAC,QAAI,CAACwzC,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,EAAb,GAAiB,EAA5B;AACH,qBAFD;AAGH,mBAND;AAOH,iBARD;AASH;AACJ;AACJ;;;iBAED,2BAAkB;AAAA;;AACd,gBAAI,KAAK9hD,aAAL,IAAsB,KAAKA,aAAL,CAAmB0+D,cAA7C,EAA6D;AACzD,mBAAKA,cAAL,GAAsB,KAAK1+D,aAAL,CAAmB0+D,cAAzC;AACA,kBAAM0B,UAAU,GAAG,+CAAMhyD,QAAN,CAAe,KAAKpO,aAAL,CAAmB0+D,cAAnB,CAAkChpC,SAAjD,EAA4D;AAAEz3B,qBAAK,EAAE,KAAK6jD;AAAd,eAA5D,CAAnB;;AACA,kBAAIse,UAAJ,EAAgB;AACZ,qBAAK1B,cAAL,CAAoB2B,aAApB,GAAoC,IAApC;AACA,qBAAK3B,cAAL,CAAoBx1D,MAApB,CAA2BhL,OAA3B,CAAmC,UAAA4C,IAAI,EAAI;AACvC,sBAAIA,IAAI,CAAC+C,IAAL,IAAa,MAAjB,EAAyB;AACrB,wBAAMqK,GAAG,GAAG,QAAI,CAAC1R,gBAAL,CAAsBgK,WAAtB,CAAkCwkD,WAAlC,MAAmD,IAAnD,GAA0DlqD,IAAI,CAACw/D,MAA/D,GAAwEx/D,IAAI,CAACy/D,MAAzF;AACAz/D,wBAAI,CAAC7C,KAAL,GAAamiE,UAAU,CAAClyD,GAAD,CAAV,CAAgBklB,KAAhB,CAAsB,KAAtB,EAA6B,CAA7B,CAAb;AACH,mBAHD,MAIKtyB,IAAI,CAAC7C,KAAL,GAAamiE,UAAU,CAACt/D,IAAI,CAACgD,IAAN,CAAvB;AACR,iBAND;AAOH;AACJ;AACJ;;;iBAEO,4BAAmB;AAAA;;AACvB,gBAAI,KAAK9D,aAAL,IAAsB,KAAKA,aAAL,CAAmBuP,WAA7C,EACI,KAAKvP,aAAL,CAAmBuP,WAAnB,CAA+BrR,OAA/B,CAAuC,UAAA4C,IAAI,EAAI;AAC3C,kBAAIA,IAAI,CAAC7C,KAAT,EAAgB;AACZ,oBAAMA,KAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAE6jD,0BAAQ,EAAE,wDAAW,QAAI,CAACA,QAAhB,CAAZ;AAAuCvkD,sBAAI,EAAE,QAAI,CAACA,IAAlD;AAAwD+iB,0BAAQ,EAAE,QAAI,CAAClf;AAAvE,iBAA3B,CAAd;AACA,wBAAI,CAAC7D,IAAL,CAAUuD,IAAI,CAACoN,GAAf,IAAsBjQ,KAAtB;AACH;;AAED,kBAAI6C,IAAI,CAAC0/D,UAAT,EAAqB;AACjB,oBAAMviE,MAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAE6jD,0BAAQ,EAAE,wDAAW,QAAI,CAACA,QAAhB,CAAZ;AAAuCvkD,sBAAI,EAAE,QAAI,CAACA,IAAlD;AAAwD+iB,0BAAQ,EAAE,QAAI,CAAClf;AAAvE,iBAA3B,CAAd;;AACA,wBAAI,CAAC7D,IAAL,CAAUuD,IAAI,CAACoN,GAAf,IAAsBjQ,MAAtB;AACH,eAHD,MAII,IAAI,QAAI,CAACmD,eAAL,CAAqB6M,IAArB,CAA0Bqc,MAA9B,EAAsC;AAClC,oBAAMC,KAAK,GAAG,QAAI,CAACnpB,eAAL,CAAqB6M,IAArB,CAA0Buc,YAA1B,CAAuC;AAAExb,qBAAG,EAAE,IAAP;AAAayb,kCAAgB,EAAE;AAA/B,iBAAvC,CAAd;;AACA,oBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,qBAAG,EAAEpN,IAAI,CAACoN;AAAZ,iBAA9B,CAAnB;AACAH,0BAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AACpB,sBAAI1O,IAAI,CAAC4pB,YAAT,EAAuB;AACnBlb,qBAAC,CAACohC,cAAF,CAAiB,QAAI,CAACrzC,IAAtB;AACAiS,qBAAC,CAACmb,aAAF;AACH,mBAHD,MAIK;AACD,wBAAM1sB,OAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAE6jD,8BAAQ,EAAE,wDAAW,QAAI,CAACA,QAAhB,CAAZ;AAAuCvkD,0BAAI,EAAE,QAAI,CAACA,IAAlD;AAAwD+iB,8BAAQ,EAAE,QAAI,CAAClf;AAAvE,qBAA3B,CAAd;;AACAoO,qBAAC,CAAClB,QAAF,CAAWrQ,OAAX;AACH;AACJ,iBATD;AAUH,eAbD,MAaO;AACH,oBAAMuQ,WAAW,GAAG,+CAAMR,gBAAN,CAAuB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAElK,sBAAI,EAAE,MAAR;AAAgB,uCAAqB;AAArC,iBAA7D,CAApB;AACA2K,2BAAW,CAACtQ,OAAZ,CAAoB,UAAAuQ,aAAa,EAAI;AACjCA,+BAAa,CAACC,YAAd,CAA2BC,IAA3B,CAAgC,UAACC,OAAD,EAAa;AACzC,wBAAM2b,KAAK,GAAG3b,OAAO,CAAC4b,YAAR,CAAqB;AAAExb,yBAAG,EAAE,IAAP;AAAayb,sCAAgB,EAAE;AAA/B,qBAArB,CAAd;AACA,wBAAM1c,UAAU,GAAG,+CAAMC,gBAAN,CAAuBuc,KAAvB,EAA8B;AAAErc,yBAAG,EAAEpN,IAAI,CAACoN;AAAZ,qBAA9B,CAAnB;AACAH,8BAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AACpB,0BAAI1O,IAAI,CAAC4pB,YAAT,EAAuB;AACnBlb,yBAAC,CAACohC,cAAF,CAAiB,QAAI,CAACrzC,IAAtB;AACAiS,yBAAC,CAACmb,aAAF;AACH,uBAHD,MAIK;AACD,4BAAM1sB,OAAK,GAAG,+CAAMmQ,QAAN,CAAetN,IAAI,CAAC7C,KAApB,EAA2B;AAAE6jD,kCAAQ,EAAE,wDAAW,QAAI,CAACA,QAAhB,CAAZ;AAAuCvkD,8BAAI,EAAE,QAAI,CAACA,IAAlD;AAAwD+iB,kCAAQ,EAAE,QAAI,CAAClf;AAAvE,yBAA3B,CAAd;;AACAoO,yBAAC,CAAClB,QAAF,CAAWrQ,OAAX;AACH;AACJ,qBATD;AAUH,mBAbD;AAcH,iBAfD;AAgBH;AACR,aA1CD;AA2CP;;;iBAEO,wBAAewK,IAAf,EAA+C;AAAA,gBAA1Bg4D,OAA0B,uEAAP,KAAO;AACnD,gBAAI3/D,IAAI,GAAG,EAAX;;AACA,gBAAI,CAAC2/D,OAAL,EAAc;AACV,mDAA2Bx8D,MAAM,CAACyL,OAAP,CAAejH,IAAI,CAAC2iC,aAAL,CAAmB7tC,IAAlC,CAA3B,wCAAoE;AAA/D;AAAA,oBAAO2Q,GAAP;AAAA,oBAAYjQ,KAAZ;;AACD6C,oBAAI,CAACoN,GAAD,CAAJ,GAAYjQ,KAAZ;AACH;;AACD6C,kBAAI,OAAJ,GAAc2H,IAAI,CAAC2iC,aAAL,CAAmB5rC,GAAjC;AACH;;AACDsB,gBAAI,WAAI2H,IAAI,CAAC43B,MAAT,kBAAJ,GAAqC53B,IAAI,CAAC2iC,aAAL,CAAmB5rC,GAAxD;AACA,mBAAOsB,IAAP;AACH;;;iBAEO,2BAAkBA,IAAlB,EAAwB2H,IAAxB,EAAwD;AAAA;;AAAA,gBAA1Bg4D,OAA0B,uEAAP,KAAO;;;;AAC5D,gBAAIA,OAAJ,EAAa;AACT,kBAAM9wD,QAAQ,GAAGlH,IAAI,CAACmB,OAAL,CAAa9C,MAAb,CAAoB,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAACkK,QAAN;AAAA,eAArB,EAAqC1J,GAArC,CAAyC,UAAAR,CAAC;AAAA,uBAAIA,CAAC,CAACkK,QAAN;AAAA,eAA1C,CAAjB;AACA6D,sBAAQ,CAACzR,OAAT,CAAiB,UAAAgQ,GAAG,EAAI;AACpB,oBAAMmyB,MAAM,GAAG,QAAI,CAACt0B,QAAL,CAAc,QAAI,CAAC/L,aAAnB,EAAkCkO,GAAlC,EAAuCA,GAAvC,EAA4CmyB,MAA3D;;AACAv/B,oBAAI,CAACu/B,MAAD,CAAJ,GAAe,EAAf;AACH,eAHD;;AAKA,kBAAI,OAAA53B,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEC,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEhH,MAAjB,IAA0B,CAA9B,EAAiC;AAC7B+G,oBAAI,CAACC,SAAL,CAAexK,OAAf,CAAuB,UAAA0D,CAAC,EAAI;AACxB,sBAAMgO,KAAK,GAAG,QAAI,CAACR,cAAL,CAAoBxN,CAApB,EAAuB6+D,OAAvB,CAAd;;AACA,sBAAI7+D,CAAC,CAAC8G,SAAF,CAAYhH,MAAZ,GAAqB,CAAzB,EAA4B,QAAI,CAAC2N,iBAAL,CAAuBO,KAAvB,EAA8BhO,CAA9B,EAAiC6+D,OAAjC;AAC5B,sBAAI3/D,IAAI,IAAIA,IAAI,CAACc,CAAC,CAACy+B,MAAH,CAAhB,EAA4Bv/B,IAAI,CAACc,CAAC,CAACy+B,MAAH,CAAJ,CAAe/iC,IAAf,CAAoBsS,KAApB;AAC/B,iBAJD;AAKH;AACJ,aAdD,MAcO;AACH,kBAAMD,SAAQ,GAAGlH,IAAI,CAACmB,OAAL,CAAa9C,MAAb,CAAoB,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAACkK,QAAN;AAAA,eAArB,EAAqC1J,GAArC,CAAyC,UAAAR,CAAC;AAAA,uBAAIA,CAAC,CAACkK,QAAN;AAAA,eAA1C,CAAjB;;AACA6D,uBAAQ,CAACzR,OAAT,CAAiB,UAAAgQ,GAAG,EAAI;AACpBpN,oBAAI,CAACoN,GAAD,CAAJ,GAAY,EAAZ;AACH,eAFD;;AAIA,kBAAI,OAAAzF,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEC,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEhH,MAAjB,IAA0B,CAA9B,EAAiC;AAC7B+G,oBAAI,CAACC,SAAL,CAAexK,OAAf,CAAuB,UAAA0D,CAAC,EAAI;AACxB,sBAAMgO,KAAK,GAAG,QAAI,CAACR,cAAL,CAAoBxN,CAApB,EAAuB6+D,OAAvB,CAAd;;AACA,sBAAI7+D,CAAC,CAAC8G,SAAF,CAAYhH,MAAZ,GAAqB,CAAzB,EAA4B,QAAI,CAAC2N,iBAAL,CAAuBO,KAAvB,EAA8BhO,CAA9B,EAAiC6+D,OAAjC;AAC5B,sBAAI3/D,IAAI,IAAIA,IAAI,CAACc,CAAC,CAACqH,cAAH,CAAhB,EAAoCnI,IAAI,CAACc,CAAC,CAACqH,cAAH,CAAJ,CAAuB3L,IAAvB,CAA4BsS,KAA5B;AACvC,iBAJD;AAKH;AACJ;AACJ;;;iBAEO,oBAAW;AAAA;;AACf,gBAAM8wD,SAAS,GAAwC,EAAvD;AACA,iBAAKziE,KAAL,CAAWkiE,YAAX,CAAwBjiE,OAAxB,CAAgC,UAAA4C,IAAI,EAAI;AACpC,kBAAMoN,GAAG,GAAGjK,MAAM,CAAC8G,IAAP,CAAYjK,IAAZ,EAAkBa,IAAlB,CAAuB,UAAAC,CAAC;AAAA,uBAAIA,CAAC,CAACosC,QAAF,CAAW,cAAX,CAAJ;AAAA,eAAxB,CAAZ;;AACA,kBAAMvlC,IAAI,GAAG,QAAI,CAACi3D,aAAL,CAAmB,QAAI,CAAC1/D,aAAxB,EAAuCkO,GAAG,CAAC/J,OAAJ,CAAY,cAAZ,EAA4B,EAA5B,CAAvC,CAAb;;AACA,sBAAI,CAACw8D,0BAAL,CAAgCD,SAAhC,EAA2C5/D,IAA3C,EAAiDoN,GAAjD,EAAsDzF,IAAtD;AACH,aAJD;;AAMA,gBAAI,KAAKzI,aAAL,CAAmBwsC,mBAAnB,IAA0C,KAAKjvC,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,CAA1C,IAA+F,KAAKjvC,IAAL,CAAU,KAAKyC,aAAL,CAAmBwsC,mBAA7B,EAAkD9qC,MAArJ,EAA6J;AACzJ,mBAAKk/D,cAAL,CAAoBF,SAApB,EAA+B,KAAKnjE,IAAL,CAAU,KAAKyC,aAAL,CAAmB6gE,eAA7B,CAA/B;AACH,aAFD,MAEO;AACH,kBAAIH,SAAS,IAAIA,SAAS,CAACh/D,MAA3B,EAAmC,KAAK2R,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AACnC,kBAAMikE,WAAW,GAAGJ,SAAS,CAACt+D,GAAV,CAAc,UAAAR,CAAC,EAAI;AACnC,uBAAO,QAAI,CAACrF,mBAAL,CAAyByW,sBAAzB,CAAgDpR,CAAC,CAAC6G,IAAF,CAAO+B,QAAvD,oBAA4E5I,CAAC,CAAC8oC,GAAF,CAAMrrC,IAAN,EAA5E,mBAAP;AACH,eAFmB,CAApB;AAGA,oEAASyhE,WAAT,EAAsBxgE,SAAtB,CAAgC,UAAAgL,MAAM,EAAI;AACtC,wBAAI,CAACs1D,cAAL,CAAoBF,SAApB,EAA+Bp1D,MAA/B;AACH,eAFD,EAEG,UAAA1K,KAAK,EAAI;AACR,wBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACH,eAJD;AAKH;AACJ;;;iBAEO,wBAAe6jE,SAAf,EAAiCp1D,MAAjC,EAAgD;AAAA;;AACpD,iBAAKw2C,QAAL,GAAgB,EAAhB;AACA,iBAAK53C,UAAL,CAAgBO,IAAhB,CAAqB,EAArB;AACA,iBAAKw0D,gBAAL,CAAsBx0D,IAAtB,CAA2B,EAA3B;AAEAa,kBAAM,CAAC,CAAD,CAAN,CAAUpN,OAAV,CAAkB,UAAA0D,CAAC,EAAI;AACnB,kBAAMd,IAAI,GAAG,QAAI,CAACigE,WAAL,CAAiBL,SAAjB,EAA4B,CAA5B,EAA+B9+D,CAA/B,EAAkC0J,MAAlC,CAAb;;AACA,sBAAI,CAACw2C,QAAL,CAAcxkD,IAAd,CAAmBwD,IAAnB;AACH,aAHD;AAKA,iBAAKghD,QAAL,CAAc5jD,OAAd,CAAsB,UAAAX,IAAI,EAAI;AAC1B,kBAAMyM,KAAK,GAAG,QAAI,CAAChK,aAAnB;AACA,kBAAMc,IAAI,GAAG;AACToI,sBAAM,EAAE,wDAAWc,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bd,MAAxC,CADC;AAETC,oBAAI,EAAEa,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bb,IAF1B;AAGTC,qBAAK,EAAEY,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BZ,KAH3B;AAITi3B,sBAAM,EAAEr2B,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bq2B,MAJ5B;AAKTy+B,4BAAY,EAAE90D,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6B80D,YALlC;AAMT90C,qBAAK,EAAEhgB,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BggB,KAN3B;AAOT0nB,6BAAa,EAAE1nC,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6B0nC,aAPnC;AAQTlnC,wBAAQ,EAAER,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BQ,QAR9B;AAST4gC,6BAAa,EAAE9/B,MAAM,CAAC,CAAD,CAAN,CAAU3J,IAAV,CAAe,UAAAC,CAAC;AAAA,yBAAIA,CAAC,CAACpC,GAAF,IAASjC,IAAI,CAACiC,GAAlB;AAAA,iBAAhB,CATN;AAUToiD,mCAAmB,EAAE,IAVZ;AAWTl5C,yBAAS,EAAE;AAXF,eAAb;AAaA5H,kBAAI,CAACoI,MAAL,CAAYhL,OAAZ,CAAoB,UAAA6K,IAAI,EAAI;AACxB,oBAAIxL,IAAI,CAACwL,IAAI,CAACjF,IAAN,CAAR,EAAqBiF,IAAI,CAAC9K,KAAL,GAAaV,IAAI,CAACwL,IAAI,CAACjF,IAAN,CAAjB;AACxB,eAFD;;AAGA,kBAAMiM,WAAW,GAAG,QAAI,CAACxE,UAAL,CAAgBzK,IAAhB,EAAsBkJ,KAAtB,EAA6B,IAA7B,EAAmC,KAAnC,CAApB;;AACAA,mBAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BJ,OAA7B,CAAqC9C,MAArC,CAA4C,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAACkK,QAAN;AAAA,eAA7C,EAA6D5N,OAA7D,CAAqE,UAAA8R,OAAO,EAAI;AAC5E,oBAAIzS,IAAI,CAACyS,OAAO,CAAClE,QAAT,CAAR,EAA4B;AACxB,sBAAMrD,IAAI,GAAG,QAAI,CAACsD,QAAL,CAAc,QAAI,CAAC/L,aAAnB,EAAkCgQ,OAAO,CAAClE,QAA1C,CAAb;;AACA,0BAAI,CAACmE,kBAAL,CAAwB1S,IAAI,CAACyS,OAAO,CAAClE,QAAT,CAA5B,EAAgDrD,IAAhD,EAAsDsH,WAAtD,EAAmEzE,MAAnE,EAA2Eo1D,SAA3E,EAAsF,IAAtF,EAA4F,KAA5F;AACH;AACJ,eALD;AAMH,aAzBD;AA2BA,iBAAK5zB,UAAL;AACA,iBAAKz5B,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,iBAAKoK,WAAL;;AAEA,gBAAI,KAAKjH,aAAL,CAAmB0+D,cAAnB,IACA,KAAK1+D,aAAL,CAAmB0+D,cAAnB,CAAkCsC,mBADlC,IAEA,KAAKhC,kBAAL,CAAwBzhE,IAAxB,CAA6BmE,MAF7B,IAGA,CAAC,KAAK6oC,cAHV,EAG0B;AACtB,mBAAK02B,UAAL,CAAgB,KAAKjC,kBAAL,CAAwBzhE,IAAxB,CAA6B,CAA7B,CAAhB;AACH;AACJ;;;iBAEO,oCAA2BmjE,SAA3B,EAAsC5/D,IAAtC,EAA4CoN,GAA5C,EAAiDzF,IAAjD,EAAuD;AAAA;;;;AAE3D,gBAAMtH,KAAK,GAAGu/D,SAAS,CAACtqD,SAAV,CAAoB,UAAAxU,CAAC;AAAA,qBAAIA,CAAC,CAAC6G,IAAF,CAAO+B,QAAP,IAAmB/B,IAAI,CAAC+B,QAA5B;AAAA,aAArB,CAAd;;AACA,gBAAIrJ,KAAK,IAAI,CAAb,EAAgB;AACZu/D,uBAAS,CAACv/D,KAAD,CAAT,CAAiBupC,GAAjB,CAAqBptC,IAArB,CAA0BwD,IAAI,CAACoN,GAAD,CAA9B;AACH,aAFD,MAGKwyD,SAAS,CAACpjE,IAAV,CAAe;AAAEmL,kBAAI,EAAEA,IAAR;AAAciiC,iBAAG,EAAE,CAAC5pC,IAAI,CAACoN,GAAD,CAAL;AAAnB,aAAf;;AAEL,gBAAMpC,QAAQ,GAAG,CAAH,WAAGrD,IAAI,CAACmB,OAAL,CAAajI,IAAb,CAAkB,UAAAC,CAAC;AAAA,qBAAI,CAAC,CAACA,CAAC,CAACkK,QAAR;AAAA,aAAnB,CAAH,MAAuC,IAAvC,IAAuC,aAAvC,GAAuC,MAAvC,GAAuC,GAAEA,QAAtC,MAA8C,IAA9C,IAA8C,aAA9C,GAA8C,EAA9C,GAAkD,IAAnE;AAEA,gBAAIA,QAAJ,EACIrD,IAAI,CAACC,SAAL,CAAe5B,MAAf,CAAsB,UAAAlF,CAAC;AAAA,qBAAIA,CAAC,CAACkK,QAAD,CAAL;AAAA,aAAvB,EAAwC5N,OAAxC,CAAgD,UAAA8R,OAAO,EAAI;;;AACvD,eAAC,CAAD,KAAClP,IAAI,CAACkP,OAAO,CAAClE,QAAD,CAAP,CAAkBu0B,MAAnB,CAAJ,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,EAA9B,GAAkC,EAAnC,EAAuCniC,OAAvC,CAA+C,UAAA4C,IAAI,EAAI;AACnD,oBAAMoN,GAAG,GAAGjK,MAAM,CAAC8G,IAAP,CAAYjK,IAAZ,EAAkBa,IAAlB,CAAuB,UAAAC,CAAC;AAAA,yBAAIA,CAAC,CAACosC,QAAF,CAAW,cAAX,CAAJ;AAAA,iBAAxB,CAAZ;;AACA,oBAAMvlC,IAAI,GAAG,QAAI,CAACi3D,aAAL,CAAmB,QAAI,CAAC1/D,aAAxB,EAAuCkO,GAAG,CAAC/J,OAAJ,CAAY,cAAZ,EAA4B,EAA5B,CAAvC,CAAb;;AACA,wBAAI,CAACw8D,0BAAL,CAAgCD,SAAhC,EAA2C5/D,IAA3C,EAAiDoN,GAAjD,EAAsDzF,IAAtD;AACH,eAJD;AAKH,aAND;AAQP;;;iBAEO,qBAAYi4D,SAAZ,EAAuBQ,cAAvB,EAAuCC,WAAvC,EAAoDC,WAApD,EAAiE;AAAA;;AACrE,gBAAMtgE,IAAI,GAAG,MAAH,OAAG,CAAH,kBAAQqgE,WAAW,CAAC5jE,IAApB,CAAG,EAAqB;AAAEiC,iBAAG,EAAE2hE,WAAW,CAAC3hE;AAAnB,aAArB,CAAb;AAEA,gBAAMmQ,QAAQ,GAAG+wD,SAAS,CAACQ,cAAD,CAAT,CAA0Bz4D,IAA1B,CAA+BmB,OAA/B,CAAuC9C,MAAvC,CAA8C,UAAAlF,CAAC;AAAA,qBAAIA,CAAC,CAACkK,QAAN;AAAA,aAA/C,EAA+D1J,GAA/D,CAAmE,UAAAR,CAAC;AAAA,qBAAIA,CAAC,CAACkK,QAAN;AAAA,aAApE,CAAjB;AACA6D,oBAAQ,CAACzR,OAAT,CAAiB,UAAAgQ,GAAG,EAAI;AACpB,kBAAMmzD,OAAO,GAAG,QAAI,CAACt1D,QAAL,CAAc,QAAI,CAAC/L,aAAnB,EAAkCkO,GAAlC,EAAuCA,GAAvC,CAAhB;;AACA,kBAAMozD,YAAY,GAAGZ,SAAS,CAACtqD,SAAV,CAAoB,UAAAxU,CAAC;AAAA,uBAAIA,CAAC,CAAC6G,IAAF,CAAO+B,QAAP,IAAmB62D,OAAO,CAAC72D,QAA/B;AAAA,eAArB,CAArB;;AACA,kBAAI82D,YAAY,IAAI,CAApB,EAAuB;AACnB,oBAAMC,SAAS,GAAGH,WAAW,CAACE,YAAD,CAAX,CAA0Bx6D,MAA1B,CAAiC,UAAAlF,CAAC;AAAA,yBAAIA,CAAC,CAACrE,IAAF,CAAOmjE,SAAS,CAACY,YAAD,CAAT,CAAwB74D,IAAxB,CAA6Bq2D,YAApC,KAAqDh+D,IAAI,CAACtB,GAA9D;AAAA,iBAAlC,CAAlB;AACA+hE,yBAAS,CAACrjE,OAAV,CAAkB,UAAAsjE,QAAQ,EAAI;AAC1B,sBAAMryD,IAAI,GAAG,QAAI,CAAC4xD,WAAL,CAAiBL,SAAjB,EAA4BY,YAA5B,EAA0CE,QAA1C,EAAoDJ,WAApD,CAAb;;AACA,sBAAI,CAACtgE,IAAI,CAACoN,GAAD,CAAT,EAAgBpN,IAAI,CAACoN,GAAD,CAAJ,GAAY,EAAZ;AAChBpN,sBAAI,CAACoN,GAAD,CAAJ,CAAU5Q,IAAV,CAAe6R,IAAf;AACH,iBAJD;AAKH;AACJ,aAXD;AAYA,mBAAOrO,IAAP;AACH;;;iBAEO,4BAAmBoP,KAAnB,EAA0BlG,KAA1B,EAAiCmG,WAAjC,EAA8C7E,MAA9C,EAAsDo1D,SAAtD,EAA8G;AAAA;;AAAA,gBAA7C9e,mBAA6C,uEAAvB,IAAuB;AAAA,gBAAjB4d,MAAiB;AAClHtvD,iBAAK,CAAChS,OAAN,CAAc,UAAAX,IAAI,EAAI;AAClB,kBAAMuD,IAAI,GAAG;AACToI,sBAAM,EAAE,wDAAWc,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bd,MAAxC,CADC;AAETC,oBAAI,EAAEa,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bb,IAF1B;AAGTC,qBAAK,EAAEY,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BZ,KAH3B;AAITi3B,sBAAM,EAAEr2B,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6Bq2B,MAJ5B;AAKTy+B,4BAAY,EAAE90D,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6B80D,YALlC;AAMT90C,qBAAK,EAAEhgB,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BggB,KAN3B;AAOT0nB,6BAAa,EAAE1nC,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6B0nC,aAPnC;AAQTlnC,wBAAQ,EAAER,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BQ,QAR9B;AAST4gC,6BAAa,EAAE9/B,MAAM,CAACo1D,SAAS,CAACtqD,SAAV,CAAoB,UAAAxU,CAAC;AAAA,yBAAIA,CAAC,CAAC6G,IAAF,CAAO+B,QAAP,IAAmBR,KAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BQ,QAApD;AAAA,iBAArB,CAAD,CAAN,CAA2F7I,IAA3F,CAAgG,UAAAC,CAAC;AAAA,yBAAIA,CAAC,CAACpC,GAAF,IAASjC,IAAI,CAACiC,GAAlB;AAAA,iBAAjG,CATN;AAUToiD,mCAAmB,EAAEA,mBAVZ;AAWTl5C,yBAAS,EAAE;AAXF,eAAb;AAaA5H,kBAAI,CAACoI,MAAL,CAAYhL,OAAZ,CAAoB,UAAA6K,IAAI,EAAI;AACxB,oBAAIxL,IAAI,CAACwL,IAAI,CAACjF,IAAN,CAAR,EAAqBiF,IAAI,CAAC9K,KAAL,GAAaV,IAAI,CAACwL,IAAI,CAACjF,IAAN,CAAjB;AACxB,eAFD;;AAGA,kBAAMiM,WAAW,GAAG,QAAI,CAACxE,UAAL,CAAgBzK,IAAhB,EAAsBkJ,KAAtB,EAA6BmG,WAA7B,EAA0CqvD,MAA1C,CAApB;;AACAx1D,mBAAK,CAAC/F,MAAM,CAAC8G,IAAP,CAAYf,KAAZ,EAAmB,CAAnB,CAAD,CAAL,CAA6BJ,OAA7B,CAAqC9C,MAArC,CAA4C,UAAAlF,CAAC;AAAA,uBAAIA,CAAC,CAACkK,QAAN;AAAA,eAA7C,EAA6D5N,OAA7D,CAAqE,UAAA8R,OAAO,EAAI;AAC5E,oBAAIzS,IAAI,CAACyS,OAAO,CAAClE,QAAT,CAAR,EAA4B;AACxB,sBAAMrD,IAAI,GAAG,QAAI,CAACsD,QAAL,CAAc,QAAI,CAAC/L,aAAnB,EAAkCgQ,OAAO,CAAClE,QAA1C,CAAb;;AACA,0BAAI,CAACmE,kBAAL,CAAwB1S,IAAI,CAACyS,OAAO,CAAClE,QAAT,CAA5B,EAAgDrD,IAAhD,EAAsDsH,WAAtD,EAAmEzE,MAAnE,EAA2Eo1D,SAA3E,EAAsF5/D,IAAI,CAACsqC,aAA3F,EAA0Go0B,MAA1G;AACH;AACJ,eALD;AAMH,aAxBD;AAyBH;;;iBAMD,qCAA4B/2D,IAA5B,EAAqC;AACjC,iBAAKqB,kBAAL,CAAwB+G,MAAxB,CAA+BpI,IAA/B;AACA,iBAAKqI,wBAAL,CAA8BrI,IAA9B;AACH;;;iBAED,kCAAyBA,IAAzB,EAAkC;AAC9B,gBAAIsI,MAAM,GAAe,KAAKC,aAAL,CAAmBvI,IAAnB,CAAzB;;AACA,mBAAOsI,MAAP,EAAe;AACX,mBAAKE,sBAAL,CAA4BF,MAA5B;AACAA,oBAAM,GAAG,KAAKC,aAAL,CAAmBD,MAAnB,CAAT;AACH;AACJ;;;iBAED,uBAActI,IAAd,EAAuB;AACnB,gBAAMyI,YAAY,GAAG,KAAKnH,QAAL,CAActB,IAAd,CAArB;;AAEA,gBAAIyI,YAAY,GAAG,CAAnB,EAAsB;AAClB,qBAAO,IAAP;AACH;;AAED,gBAAI,CAAC,KAAK1I,WAAL,CAAiB2I,SAAtB,EAAiC;AACjC,gBAAMC,UAAU,GAAG,KAAK5I,WAAL,CAAiB2I,SAAjB,CAA2BE,OAA3B,CAAmC5I,IAAnC,IAA2C,CAA9D;;AAEA,iBAAK,IAAI6I,CAAC,GAAGF,UAAb,EAAyBE,CAAC,IAAI,CAA9B,EAAiCA,CAAC,EAAlC,EAAsC;AAClC,kBAAMvB,WAAW,GAAG,KAAKvH,WAAL,CAAiB2I,SAAjB,CAA2BG,CAA3B,CAApB;;AAEA,kBAAI,KAAKvH,QAAL,CAAcgG,WAAd,IAA6BmB,YAAjC,EAA+C;AAC3C,uBAAOnB,WAAP;AACH;AACJ;;AACD,mBAAO,IAAP;AACH;;;iBAED,gCAAuBtH,IAAvB,EAAgC;AAAA;;AAC5B,gBAAM8I,YAAY,GAAG,KAAKzH,kBAAL,CAAwB0H,UAAxB,CAAmC/I,IAAnC,CAArB;AACA,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,gBAAMkJ,eAAe,GAAGF,WAAW,CAAC/P,MAAZ,GAAqB,CAArB,IAA0B+P,WAAW,CAACG,KAAZ,CAAkB,UAAAhC,KAAK,EAAI;AACzE,qBAAO,QAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAAP;AACH,aAFiD,CAAlD;;AAGA,gBAAI2B,YAAY,IAAI,CAACI,eAArB,EAAsC;AAClC,mBAAK7H,kBAAL,CAAwB+H,QAAxB,CAAiCpJ,IAAjC;AACH,aAFD,MAEO,IAAI,CAAC8I,YAAD,IAAiBI,eAArB,EAAsC;AACzC,mBAAK7H,kBAAL,CAAwBgI,MAAxB,CAA+BrJ,IAA/B;AACH;AACJ;;;iBAED,gCAAuBA,IAAvB,EAAgC;AAAA;;AAC5B,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,gBAAMkJ,eAAe,GAAGF,WAAW,CAAC/P,MAAZ,GAAqB,CAArB,IAA0B+P,WAAW,CAACG,KAAZ,CAAkB,UAAAhC,KAAK,EAAI;AACzE,qBAAO,QAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAAP;AACH,aAFiD,CAAlD,CAF4B,CAK5B;AACA;;AACA,mBAAO+B,eAAP;AACH;;;iBAED,sCAA6BlJ,IAA7B,EAAsC;AAAA;;AAClC,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,gBAAM6C,MAAM,GAAGmG,WAAW,CAAChP,IAAZ,CAAiB,UAAAmN,KAAK;AAAA,qBAAI,QAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAAJ;AAAA,aAAtB,CAAf;AACA,mBAAOtE,MAAM,IAAI,CAAC,KAAKyG,sBAAL,CAA4BtJ,IAA5B,CAAlB;AACH;;;iBAED,iCAAwBA,IAAxB,EAAiC;AAAA;AAAA;AAAA;;AAC7B,iBAAKqB,kBAAL,CAAwB+G,MAAxB,CAA+BpI,IAA/B;AACA,gBAAMgJ,WAAW,GAAG,KAAKjJ,WAAL,CAAiBkJ,cAAjB,CAAgCjJ,IAAhC,CAApB;AACA,iBAAKqB,kBAAL,CAAwB0H,UAAxB,CAAmC/I,IAAnC,IACM,+BAAKqB,kBAAL,EAAwBgI,MAAxB,kDAAkCL,WAAlC,EADN,GAEM,+BAAK3H,kBAAL,EAAwB+H,QAAxB,kDAAoCJ,WAApC,EAFN,CAH6B,CAO7B;;AACAA,uBAAW,CAACvT,OAAZ,CAAoB,UAAA0R,KAAK;AAAA,qBAAI,QAAI,CAAC9F,kBAAL,CAAwB0H,UAAxB,CAAmC5B,KAAnC,CAAJ;AAAA,aAAzB;AACA,iBAAKkB,wBAAL,CAA8BrI,IAA9B;AACH;AAED;;;;iBAEA,uBAAc;AACV,gBAAI,KAAKpI,GAAT,EAAc,KAAKA,GAAL,CAASlC,WAAT;AACjB;;;;;;;;;;;;;;;;;;;;;AC9yBL;AAAA;;;AAAA;AAAA;AAAA;;UAAasjE,iB;;;;;;;iBACX,mBAAUxjE,KAAV,EAAkC;AAChC,gBAAI,CAACyP,KAAK,CAACopB,OAAN,CAAc74B,KAAd,CAAD,IAAyB,CAACA,KAAK,CAACyD,MAApC,EAA4C;AAC1C,qBAAO,CAAP;AACD;;AAED,gBAAMnE,IAAI,GAAGU,KAAK,CAAC4qB,MAAN,CAAa,UAACC,GAAD,EAAMhoB,IAAN,EAAe;AACvC,kBAAM4gE,KAAK,GAAG5gE,IAAI,CAAC6gE,OAAL,CAAavuC,KAAb,CAAmB,GAAnB,CAAd;;AACA,kDAAWtK,GAAX,sBAAmB44C,KAAnB;AACD,aAHY,EAGV,EAHU,CAAb;AAKA,gBAAMv+D,GAAG,GAAG,IAAIo5B,GAAJ,CAAQh/B,IAAR,CAAZ;AAEA,mBAAO4F,GAAG,CAACG,IAAX;AACD;;;;;;;;;;;;;;;;;;;;;ACnBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAGas+D,O;;;;;AAGX,2BAAc;AAAA;;AAAA;;AACZ,yCAAM,UAACljB,UAAD;AAAA,mBAAgB,SAAKmjB,eAAL,CAAqBvhE,SAArB,CAA+Bo+C,UAA/B,CAAhB;AAAA,WAAN;AAHe,mBAAAmjB,eAAA,GAAkB,IAAI,kDAAJ,CAAwB,CAAxB,CAAlB;AAEH;AAEb;;;;iBAED,uBAAW;AACT,iBAAKA,eAAL,CAAqBp3D,IAArB;AACA,iBAAKo3D,eAAL,CAAqBljD,QAArB;AACD;;;;QAV0B,+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECGjB;AAAA;AAAA,sBAGS,UAHT;;AACqE;;;;;AADrE;AAAA,sB,GACI,sQ,GACA,yK,IAAmD,I,EAAA;AADnD;;AADJ,wBACI,SADJ;AACsD,S;AAAA;;;uEAYlD,wH,IACI;AAAA;AAAA,sBAC0D,UAD1D;;AAC+B;;;;;AAD/B;AAAA,sB,GAAG,sQ,GAAA,I,EAAA;AAAA;;AAAH,wBAAG,SAAH;AAAgD,S;AAAA;;;uEAPxD,mJ,IACI,iJ,IACI;AAAA;AAAA,sBAEW,UAFX;;AACI;;;;;AAA+C;;;;;AADnD;AAAA,wN,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAA+C;AAAA;AAAA,U,EAA/C;AAAA;AAAA,mE,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIJ,4H,GAAA;AAAA;AAAA,gB,GAGM;AAAA;AAP0E,6BAAqB,SAArB;;AAA5E,wBAA4E,SAA5E;;AAA+C;;AAClB,8BAAqB,SAArB;;AAD7B,wBAA+C,SAA/C,EAC6B,UAD7B;;AAAU;;AACN,6BAAwB,QAAxB,CAAwB,SAAxB,CAAwB,KAAxB;;AADJ,yBAAU,UAAV,EACI,UADJ;;AAIC,+BAAiB,SAAjB;;AAAL,yBAAK,UAAL;AAAsB,S,EAAA;AAJlB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEALvB,yH,IACI,4H,GAAA;AAAA;AAAA,gB,GAUM,4E,IAAA;AAAA;AAVqB,6BAAgD,cAAhD;;AAA3B,wBAA2B,SAA3B;AAA2E,S,EAAA,I;AAAA;;;uEAc3E;AAAA;AAAA,sBAEW,UAFX;;AACI;;;;;AAA0C;;;;;AAD9C;AAAA,wN,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAuC;AAAA;AAAA,U,EAAvC;AAAA;AAAA,mE,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAEW;AAAA;AAFyD,6BAAqB,SAArB;;AAApE,wBAAoE,SAApE;;AAAuC;;AACf,8BAAqB,SAArB;;AADxB,wBAAuC,SAAvC,EACwB,UADxB;;AAAU,mEAA4B,gBAA5B,CAA4B,EAA5B;AACN,8BAAmB,MAAnB;;AADJ,wBAAU,UAAV,EACI,UADJ;AACuB,S,EAAA;AADvB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEA9BvB,6J,IACI,yI,IACI,qJ,IACI,2I,IAA0D,+E,GAAA,sQ,GAI1D,4H,GAAA;AAAA;AAAA,gB,GAMJ,4H,GAAA;AAAA;AAAA;AAAA,gB,GAcA,qI,IAIc;AAAA;AAxBF,8DAA6C,SAA7C;;AAAR,wBAAQ,SAAR;;AAMU;;AAAA;;AAAd,wBAAc,SAAd,EAAc,SAAd;AAA+D,S,EAAA;AAAA;;AAZ9D;;AAAL,wBAAK,SAAL;;AAEe;;AAAP,wBAAO,SAAP;;AAA0D;;AAAA;AAE1D,S;AAAA;;;uEALZ,4H,GAAA;AAAA;AAAA,gB,GAkCM;AAAA;AAlC+B,6BAAqB,cAArB;;AAArC,wBAAqC,SAArC;AAA0D,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECCzD,yH,IACC;AAAA;AAAA,sBAE2C,UAF3C;;AAAiD;;;;;AAAjD;AAAA,sB,IACuD,8E,GAAA,sQ,GAGvD,uH,IACA,uH,IAAM,I,EAAA;AAAA;AAJL,+FAAqD,QAArD,CAAqD,MAArD;;AADD,wBACC,SADD;;AACuD;;AAAA;AACrB,S;AAAA;;;uEAmB9B;AAAA;AAAA,sBAEiF,UAFjF;;AAEC;;;;;;AAFD;AAAA,sB,GAAA;AAAA;AAAA,gB,EACC,sQ,GAAA;AAAA;;AADD,wBACC,SADD;AACwD,S,EAAA,I;AAAA;;;uEAX1D;AAAA;AAAA,sBAcM,UAdN;;AAAK;;;;;AAA2C;;;;;AAAhD;AAAA,sB,IAEC,wJ,IAEA,yI,IAA+C,8E,GAAA,sQ,GAE/C,4I,IACC,wH,IAAK,6E,IAGL,qH,GAAA;AAAA;AAAA,gB,GAEiF;AAAA;;AAFxD,gDAA0C,QAA1C,CAA0C,SAA1C;;AAAzB,wBAAyB,SAAzB;AAAmE,S,EAAA;AAAA;;AAR/D;;AACJ;;AADD,wBAAK,SAAL,EACC,SADD;;AAEK;;AAAL,wBAAK,SAAL;;AAA+C;;AAAA;;AAGzC;;AAAA;AAC4B,S;AAAA;;;uEAenC;AAAA;AAAA;;AAAA;;;;;;;;;;AACgC;;;;;AADhC;AAAA,8N,GAAA;AAAA;AAAA,gB,GAC+E,4E,IAE/E;AAHmD,4BAAyB,QAAzB,CAAyB,SAAzB,CAAyB,OAAzB;;AAAnD,wBAAmD,SAAnD;AAA4E,S,EAAA;AAC3E,4BAA8B,QAA9B,CAA8B,SAA9B,CAA8B,OAA9B;;AADD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wBACC,SADD;;AAC+E;;AAAA;AAE/E,S;AAAA;;;uEAHA,qH,GAAA;AAAA;AAAA,gB,GAGS,4E,IAAA;AAHD,4BAA4B,QAA5B,CAA4B,OAA5B;;AAAR,wBAAQ,SAAR;AAAoC,S,EAAA,I;AAAA;;;uEAOtC,0J,GAAA,+L,EAAA;AAAA;AAAA,gB,GACC,wH,IACC,oJ,IAAoC,+E,GAAA,sQ,GAGrC,wH,IACC,iJ,IAAiC,+E,GAAA,sQ,GAGlC,yH,IACC,iJ,IAAgC,gF,GAAA,sQ,GAEjC;AAAA;AAZkF,6BAAW,IAAX;;AAAnF,wBAAmF,SAAnF;AAA8F,S,EAAA;AAA9F;;AAAA;;AAEsC;;AAAA;;AAIH;;AAAA;;AAID;;AAAA;AAEjC,S;AAAA;;;;;;;aAvDH,4K,GAAA;AAAA;AAAA,gB,EAAA,+L,GACC,qH,GAAA;AAAA;AAAA,gB,GASA,8I,IACC,wd,GAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,GACC,8G,GAAA;AAAA;AAAA,gB,GAmBD;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mBAGA,2Z,GAAA,6M,EAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACC,kH,GAAA,glB,EAAA,0N,GAQD,qH,GAAA;AAAA;AAAA,gB,GAaM;AAAA;AAxDiB;;AAAzB,wBAAyB,SAAzB;;AACe,mIAA0D,cAA1D,CAA0D,YAA1D,CAA0D,OAA1D;;AAAd,wBAAc,SAAd;;AAUsC,6BAAiB,QAAjB;AAAyC;AAAvB;;AAAvD,wBAAqC,SAArC,EAA8E,SAA9E,EAAuD,SAAvD;;AACuB;;AAAtB,yBAAsB,SAAtB;;AAoBoC;;AADrC,yBACqC,UADrC;;AAG+B;;AAA/B,yBAA+B,UAA/B;;AASuB,6JAA2D,YAA3D;;AAAvB,yBAAuB,UAAvB;AAAkF,S,EAAA;AAAA;;AA3CpF;;AAAA;;AA+BoD,6BAAoC,oBAApC,CAAoC,CAApC;AACjD,6BAAmC,oBAAnC,CAAmC,CAAnC;AADD;AAAA;;AAAA,yBAAkD,SAAlD,EACC,SADD;;AAGA;AAAA;AAAA;;AAAA;AAOW,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAiBamjD,wB;AAoCX,0CAAoBtlE,gBAApB,EACU+L,MADV,EAEUhM,mBAFV,EAGUwlE,sBAHV,EAIUz5D,UAJV,EAIoC;AAAA;;AAAA;;AAJhB,eAAA9L,gBAAA,GAAAA,gBAAA;AACV,eAAA+L,MAAA,GAAAA,MAAA;AACA,eAAAhM,mBAAA,GAAAA,mBAAA;AACA,eAAAwlE,sBAAA,GAAAA,sBAAA;AACA,eAAAz5D,UAAA,GAAAA,UAAA;AAnCV,eAAArK,KAAA,GAAa,EAAb;AAGA,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAiBQ,eAAAjJ,IAAA,GAAuB,EAAvB;AAIR,eAAAoN,QAAA,GAAW,EAAX;AACA,eAAAzI,KAAA,GAAQ,EAAR;AACA,eAAAigE,SAAA,GAAmB,EAAnB;AAUE,eAAKz7D,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA,eAAKnG,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAA/C,IAAI,EAAI;AAC9D,oBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACD,WAFU,CAAX;AAGD;;;;eAnBD,aAAQrJ,CAAR,EAAyB;AAAE,iBAAKD,IAAL,CAAUE,IAAV,CAAeD,CAAf;AAAoB;;;iBAqB/C,qBAAYsJ,OAAZ,EAAoC;AAClC,gBAAI,KAAK3G,aAAL,IAAsB,KAAKA,aAAL,CAAmBwK,QAA7C,EAAuD;AACrD,mBAAKA,QAAL,GAAgB,KAAKxK,aAAL,CAAmBwK,QAAnC;AACA,kBAAI,KAAKxK,aAAL,CAAmB+B,KAAvB,EACE,KAAKA,KAAL,GAAa,KAAKX,eAAL,CAAqBY,WAArB,CAAiC,KAAKhC,aAAL,CAAmB+B,KAApD,EAA2D;AAAExE,oBAAI,EAAE,KAAKA;AAAb,eAA3D,CAAb;AACF,mBAAK0kE,qBAAL;AACD;AACF;;;iBAED,uBAAc;AACZ,iBAAK7kE,IAAL,CAAUc,OAAV,CAAkB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACc,WAAF,EAAJ;AAAA,aAAnB;AACA,iBAAKf,IAAL,GAAY,EAAZ;AACD;;;iBAED,wBAAe2D,KAAf,EAAsB;AAAA;;AACpB,gBAAI,CAACA,KAAL,EAAY;AACV,mBAAKmhE,iBAAL,GAAyB,IAAzB;AACA,mBAAKj7D,WAAL;AACA;AACD;;AACD0D,mBAAO,CAACC,GAAR,CAAY7J,KAAZ;AAEA,iBAAKmhE,iBAAL,GAAyB,IAAzB;AACA,iBAAK7hE,GAAL,GAAW,KAAK9D,mBAAL,CAAyB4b,iBAAzB,CAA2C,KAAK3N,QAAhD,EAA0DzJ,KAAK,CAACvB,GAAhE,EACRc,SADQ,CACE,UAAAqM,GAAG,EAAI;AAChB,sBAAI,CAAC0lD,gBAAL,CAAsB1lD,GAAtB,GAA4BA,GAA5B;;AACA,sBAAI,CAACw1D,YAAL;AACD,aAJQ,CAAX;AAKD;;;iBAED,wBAAoC;AAAA;;AAAA,gBAAvBC,MAAuB,uEAAN,IAAM;AAClC,iBAAK95D,UAAL,CAAgBzL,OAAhB,GAA0B,IAA1B;AACA,iBAAKwD,GAAL,GAAW,KAAK0hE,sBAAL,CAA4BM,cAA5B,CAA2C,KAAK9kE,IAAL,CAAUoB,cAAV,CAAyBpB,IAAzB,CAA8BgG,YAA9B,CAA2C6vB,KAA3C,CAAiD,QAAjD,EAA2D,CAA3D,CAA3C,EACR9yB,SADQ,CACE,UAAA0yD,WAAW,EAAI;AACxB,sBAAI,CAAC+O,sBAAL,CAA4BnrD,gBAA5B,GAA+C,QAAI,CAACy7C,gBAAL,CAAsBiQ,cAArE;AACA,kBAAMp5D,MAAM,GAAG,EAAf;;AAEA,kBAAMq5D,WAAW,GAAG,QAAI,CAACC,OAAL,CAAa,QAAI,CAACjlE,IAAlB,CAApB,CAJwB,CAKxB;;;AACA0G,oBAAM,CAAC8G,IAAP,CAAYw3D,WAAZ,EAAyBrkE,OAAzB,CAAiC,UAAAgQ,GAAG,EAAI;AACtC,oBAAI,0BAA0Bu0D,IAA1B,CAA+BF,WAAW,CAACr0D,GAAD,CAA1C,CAAJ,EACEq0D,WAAW,CAACr0D,GAAD,CAAX,GAAmBq0D,WAAW,CAACr0D,GAAD,CAAX,CAAiB/J,OAAjB,CAAyB,QAAzB,EAAmC,EAAnC,CAAnB;AACH,eAHD,EANwB,CAWxB;;AACA,sBAAI,CAACkuD,gBAAL,CAAsB1lD,GAAtB,CAA0BpP,IAA1B,CAA+BmlE,eAA/B,CAA+CxkE,OAA/C,CAAuD,UAAAgQ,GAAG,EAAI;AAC5D,oBAAIq0D,WAAW,CAACr0D,GAAD,CAAf,EAAsBq0D,WAAW,CAACr0D,GAAD,CAAX,GAAmB,QAAI,CAAC1R,gBAAL,CAAsBqE,OAAtB,wBAA8C0hE,WAAW,CAACr0D,GAAD,CAAzD,EAAnB;AACvB,eAFD;;AAIA,mDAA2BjK,MAAM,CAACyL,OAAP,CAAe6yD,WAAf,CAA3B,wCAAwD;AAAnD;AAAA,oBAAOr0D,GAAP;AAAA,oBAAYjQ,KAAZ;;AACH,oBAAM0kE,QAAQ,GAAGz0D,GAAG,CAACklB,KAAJ,CAAU,GAAV,CAAjB;;AACA,oBAAIn1B,KAAK,KAAK,EAAV,IAAgB,OAAOA,KAAP,IAAgB,QAAhC,IAA4C,OAAOA,KAAP,IAAgB,QAA5D,IAAwEA,KAAK,YAAYoH,IAAzF,IAAiGpH,KAAK,YAAYq8B,OAAtH,EAA+H;AAC7HpxB,wBAAM,CAAC5L,IAAP,CAAY;AAAE4Q,uBAAG,cAAQA,GAAR,MAAL;AAAqBujB,yBAAK,EAAE,QAAI,CAACj1B,gBAAL,CAAsBqE,OAAtB,CAA8B8hE,QAAQ,CAACA,QAAQ,CAACjhE,MAAT,GAAkB,CAAnB,CAAtC;AAA5B,mBAAZ;AACD,iBAFD,MAGK,IAAIzD,KAAK,YAAYyP,KAAjB,IAA0BzP,KAAK,CAACyD,MAApC,EAA4C;AAC/C,sBAAIzD,KAAK,CAAC,CAAD,CAAL,KAAa,EAAb,IAAmB,OAAOA,KAAP,IAAgB,QAAnC,IAA+C,OAAOA,KAAP,IAAgB,QAA/D,IAA2EA,KAAK,CAAC,CAAD,CAAL,YAAoBoH,IAA/F,IAAuGpH,KAAK,YAAYq8B,OAA5H,EAAqI;AACnIpxB,0BAAM,CAAC5L,IAAP,CAAY;AAAE4Q,yBAAG,cAAQA,GAAR,MAAL;AAAqBujB,2BAAK,EAAE,QAAI,CAACj1B,gBAAL,CAAsBqE,OAAtB,CAA8B8hE,QAAQ,CAACA,QAAQ,CAACjhE,MAAT,GAAkB,CAAnB,CAAtC;AAA5B,qBAAZ;AACD;AACF;AACF;;AAED,kBAAM2wD,gBAAgB,GAAG;AACvBv7C,2BAAW,EAAEk8C,WAAW,CAAC,CAAD,CAAX,CAAez5B,SADL;AAEvB76B,yBAAS,EAAEs0D,WAAW,CAAC,CAAD,CAAX,CAAez1D,IAFH;AAGvBqlE,mBAAG,EAAE,QAAI,CAACvQ,gBAAL,CAAsB1lD,GAAtB,CAA0BnN,GAHR;AAIvB;AACAqjE,+BAAe,EAAE,QAAI,CAACxQ,gBAAL,CAAsB1lD,GAAtB,CAA0BpP,IAA1B,CAA+BmM,KALzB;AAMvBo5D,4BAAY,EAAE,IAAIz9D,IAAJ,EANS;AAOvBvB,oBAAI,EAAE,QAAI,CAACtH,gBAAL,CAAsBqE,OAAtB,wBAA8C,QAAI,CAACwxD,gBAAL,CAAsB1lD,GAAtB,CAA0BpP,IAA1B,CAA+BU,KAA7E,EAPiB;AAQvBiL,sBAAM,EAANA;AARuB,eAAzB;AAWAm6B,sBAAQ,CAACn8B,GAAT,GAAe,KAAf;;AACA,kBAAMpC,SAAS,GAAG,QAAI,CAACyD,MAAL,CAAY2C,IAAZ,CAAiB,uGAAjB,EAAqC;AACrDC,qBAAK,EAAE,OAD8C;AAErDghC,wBAAQ,EAAE,OAF2C;AAGrDpuC,sBAAM,EAAE,OAH6C;AAIrDqN,0BAAU,EAAE,yBAJyC;AAKrD7N,oBAAI,EAAE;AACJ2J,qBAAG,EAAE,QAAI,CAACA,GADN;AAEJmrD,kCAAgB,EAAhBA,gBAFI;AAGJ90D,sBAAI,EAAEglE;AAHF;AAL+C,eAArC,CAAlB;;AAYAz9D,uBAAS,CAACuG,WAAV,GAAwB/K,SAAxB,CAAkC,UAAAgL,MAAM,EAAI;AAC1C+3B,wBAAQ,CAACn8B,GAAT,GAAe,QAAI,CAAC1K,gBAAL,CAAsBgK,WAAtB,KAAsC,IAAtC,GAA6C,KAA7C,GAAqD,KAApE;;AACA,oBAAI8E,MAAM,IAAIA,MAAM,CAAC4jC,SAArB,EAAgC;AAC9BvkC,yBAAO,CAACC,GAAR,CAAYU,MAAZ;AACA,0BAAI,CAAC42D,iBAAL,GAAyB52D,MAAM,CAAC4jC,SAAhC;AACD,iBAHD,MAGO;AACL,sBAAI,CAACkzB,MAAL,EAAa,QAAI,CAACW,WAAL;AACd;;AACD,wBAAI,CAAC97D,WAAL;AACD,eATD;AAUA,sBAAI,CAACqB,UAAL,CAAgBzL,OAAhB,GAA0B,KAA1B;AACD,aAhEQ,EAgEN,UAAA+D,KAAK,EAAI;AACV,sBAAI,CAAC0H,UAAL,CAAgBzL,OAAhB,GAA0B,KAA1B;AACD,aAlEQ,CAAX;AAmED;;;iBAED,gCAAuB;AACrB,8DAAS,iCAAiCmmE,SAAS,CAAC,KAAKd,iBAAN,CAAnD,EAA6E,KAAKe,qBAAlF,EAAyG,KAAzG;AACD;;;iBACD,4BAA8C;AAAA,gBAA7BC,UAA6B,uEAAP,KAAO;AAC5C,gBAAMC,MAAM,GAAG,KAAK56D,MAAL,CAAY2C,IAAZ,CAAiB,yDAAjB,EAAkC;AAC/CojC,sBAAQ,EAAE;AAAEtrC,mBAAG,EAAE,GAAP;AAAYurC,qBAAK,EAAE;AAAnB,eADqC;AAE/ChxC,kBAAI,EAAE;AACJA,oBAAI,EAAE;AACJ6lE,8BAAY,EAAE,KAAKH,qBADf;AAEJtoD,qBAAG,EAAE,iCAAiCqoD,SAAS,CAAC,KAAKd,iBAAN;AAF3C,iBADF;AAKJh7D,mBAAG,EAAE,KAAKA,GALN;AAMJm8D,iCAAiB,EAAE;AANf,eAFyC;AAU/CtlE,oBAAM,EAAE,OAVuC;AAW/CoN,mBAAK,EAAE,OAXwC;AAY/CC,wBAAU,EAAE;AAZmC,aAAlC,CAAf;AAcA,gBAAI,KAAKxF,QAAT,EAAmB,KAAK09D,eAAL;AACpB;;;iBAEO,yBAAgB58D,IAAhB,EAAsB;AAAA;;AAC5B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAAE,sBAAI,CAACwG,GAAL,GAAWR,IAAI,KAAK,IAAT,GAAgB,KAAhB,GAAwB,KAAnC;AAA2C,aAApD,CAAV;AACD;;;iBACO,iCAAwB;AAAA;;AAC9B,iBAAK4B,UAAL,CAAgBzL,OAAhB,GAA0B,IAA1B;AACA,iBAAKwD,GAAL,GAAW,KAAK9D,mBAAL,CAAyByW,sBAAzB,CAAgD,KAAKxI,QAArD,EAA+D,KAAKzI,KAApE,EACRzB,SADQ,CACE,UAAA/C,IAAI,EAAI;AACjB,sBAAI,CAACykE,SAAL,GAAiBzkE,IAAI,CAAC6E,GAAL,CAAS,UAAAR,CAAC,EAAI;AAC7B,uBAAO,MAAP,OAAO,CAAP;AACEpC,qBAAG,EAAEoC,CAAC,CAACpC;AADT,mBAEKoC,CAAC,CAACrE,IAFP,CAAO,EAEI;AACTU,uBAAK,EAAE,QAAI,CAACzB,gBAAL,CAAsBqE,OAAtB,wBAA8Ce,CAAC,CAACrE,IAAF,CAAOU,KAArD,EADE;AAET+hB,0BAAQ,EAAEpe,CAAC,CAACrE,IAAF,CAAOyiB,QAAP,CAAgB,CAAhB;AAFD,iBAFJ,CAAP;AAMD,eAPgB,EAOd3V,IAPc,CAOT,UAAUC,CAAV,EAAaC,CAAb,EAAgB;AACtB,oBAAID,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB;AAAE,yBAAO,CAAC,CAAR;AAAY,iBAArC,MACK,IAAIY,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB;AAAE,yBAAO,CAAP;AAAW,iBAApC,MACA;AAAE,yBAAO,CAAP;AAAW;AACnB,eAXgB,CAAjB;AAYAiB,qBAAO,CAACC,GAAR,CAAY,QAAI,CAACo3D,SAAjB;;AACA,kBAAI,QAAI,CAAC/jE,KAAT,EAAgB;AACd,wBAAI,CAACslE,SAAL,GAAiB,MAAH,OAAG,CAAH,EAAG,EAAK,QAAI,CAACtlE,KAAV,CAAjB;;AACA,wBAAI,CAAC8kE,WAAL;AACD;;AACD,sBAAI,CAACz6D,UAAL,CAAgBzL,OAAhB,GAA0B,KAA1B;AACD,aApBQ,EAoBN,UAAA+D,KAAK,EAAI;AACV,sBAAI,CAAC0H,UAAL,CAAgBzL,OAAhB,GAA0B,KAA1B;AACD,aAtBQ,CAAX;AAuBD;;;iBAEO,uBAAc;AACpB,gBAAI,KAAK0mE,SAAL,IAAkBt/D,MAAM,CAAC8G,IAAP,CAAY,KAAKw4D,SAAL,CAAelR,gBAA3B,EAA6C3wD,MAAnE,EAA2E;AACzE,mBAAK2wD,gBAAL,GAAwB,KAAKkR,SAAL,CAAelR,gBAAvC;AACA,mBAAK6P,iBAAL,GAAyB,KAAKqB,SAAL,CAAer0B,SAAxC;AACD,aAHD,MAGO;AACL,mBAAKmjB,gBAAL,GAAwB,IAAxB;AACA,mBAAK6P,iBAAL,GAAyB,IAAzB;AACD;AACF;;;iBAEO,uBAAc;AACpB,gBAAI,CAAC,KAAK7P,gBAAN,IAA0B,KAAKxsD,QAAnC,EAA6C;AAC3C,mBAAK5H,KAAL,GAAa,IAAb;AACD,aAFD,MAEO;AACL,kBAAMqN,MAAM,GAAG;AACb+mD,gCAAgB,EAAE,KAAKA,gBADV;AAEbnjB,yBAAS,EAAE,KAAKgzB;AAFH,eAAf;AAKA,mBAAKjkE,KAAL,GAAaqN,MAAb;AACD;;AACD,iBAAKjF,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACD;;;iBAEO,4BAAmB8R,WAAnB,EAAgCvO,MAAhC,EAA6D;AAAA,gBAArBgiE,YAAqB,uEAAN,IAAM;;AACnE,iBAAK,IAAIt1D,GAAT,IAAgB6B,WAAhB,EAA6B;AAC3B,kBAAIA,WAAW,CAACiR,cAAZ,CAA2B9S,GAA3B,CAAJ,EAAqC;AACnC,oBAAIu1D,MAAJ;;AACA,oBAAID,YAAY,KAAK99B,SAArB,EAAgC;AAC9B+9B,wBAAM,GAAGv1D,GAAT;AACD,iBAFD,MAEO;AACLu1D,wBAAM,GAAGD,YAAY,GAAGA,YAAY,GAAG,GAAf,GAAqBt1D,GAAxB,GAA8BA,GAAnD;AACD;;AAED,oBAAIjQ,KAAK,GAAG8R,WAAW,CAAC7B,GAAD,CAAvB;;AACA,oBAAI,OAAOjQ,KAAP,KAAiB,QAArB,EAA+B;AAC7B,uBAAKylE,kBAAL,CAAwBzlE,KAAxB,EAA+BuD,MAA/B,EAAuCiiE,MAAvC;AACD,iBAFD,MAEO;AACLjiE,wBAAM,CAACiiE,MAAD,CAAN,GAAiBxlE,KAAjB;AACD;AACF;AACF;AACF;;;iBAEO,iBAAQ2jC,GAAR,EAAa;AACnB,gBAAI+hC,eAAe,GAAG,EAAtB;AACA,iBAAKD,kBAAL,CAAwB9hC,GAAxB,EAA6B+hC,eAA7B;AACA,mBAAOA,eAAP;AACD;;;iBAEO,2BAAkB;AAAA;;AACxB,gBAAI,KAAK3jE,aAAL,IAAsB,KAAKA,aAAL,CAAmB4jE,SAA7C,EACE,KAAK5jE,aAAL,CAAmB4jE,SAAnB,CAA6B1lE,OAA7B,CAAqC,UAAA4C,IAAI,EAAI;AAC3C,kBAAMiN,UAAU,GAAG,+CAAMC,gBAAN,CAAuB,QAAI,CAAC5M,eAAL,CAAqB6M,IAArB,CAA0BF,UAAjD,EAA6D;AAAEG,mBAAG,EAAEpN,IAAI,CAACoN;AAAZ,eAA7D,CAAnB;AACAH,wBAAU,CAAC7P,OAAX,CAAmB,UAAAsR,CAAC,EAAI;AACtB,oBAAMvR,KAAK,GAAG,QAAI,CAACmD,eAAL,CAAqBY,WAArB,CAAiClB,IAAI,CAAC7C,KAAtC,EAA6C;AAAEV,sBAAI,EAAE,QAAI,CAACA;AAAb,iBAA7C,CAAd;;AACAiS,iBAAC,CAAClB,QAAF,CAAWrQ,KAAX;AACD,eAHD;AAID,aAND;AAOH;;;eAED,eAA4B;AAC1B,gBAAM4lE,YAAY,GAAG,KAAKxR,gBAAL,CAAsBryC,QAAtB,CAA+BojD,YAA/B,CAA4ChwC,KAA5C,CAAkD,GAAlD,CAArB;AACA,mBAAOywC,YAAY,CAACx3C,KAAb,CAAmB,CAAnB,EAAsBw3C,YAAY,CAACniE,MAAb,GAAsB,CAA5C,EAA+CrC,IAA/C,CAAoD,GAApD,IAA2D,MAAlE;AACD;;;;;;;;;;;;;;;;;;;;;AC1RH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAgCaykE,yB;AAqCZ,2CACSzwD,YADT,EAES9W,mBAFT,EAGSC,gBAHT,EAIqB4jB,SAJrB,EAI+C;AAAA;;AAHtC,eAAA/M,YAAA,GAAAA,YAAA;AACA,eAAA9W,mBAAA,GAAAA,mBAAA;AACA,eAAAC,gBAAA,GAAAA,gBAAA;AACY,eAAA4jB,SAAA,GAAAA,SAAA;AAlCZ,eAAAniB,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AAOV,eAAAvE,UAAA,GAAkB,EAAlB;AACA,eAAAunC,WAAA,GAAqB,EAArB;AACA,eAAAx5B,YAAA,GAAe,EAAf;AAeA,eAAAmiC,cAAA,GAAiC,EAAjC;AAWC,eAAKzrC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA;;;;eAhBD,eAAoB;AACnB,mBAAO,0DAAP;AACA;;;eAGD,aAAQnJ,CAAR,EAAyB;AACxB,iBAAK20C,cAAL,CAAoB10C,IAApB,CAAyBD,CAAzB;AACA;;;iBAWD,qBAAYsJ,OAAZ,EAAoC;AACnC,gBACCA,OAAO,IACPA,OAAO,CAACpJ,IADR,IAEA,CAAC,sDAASoJ,OAAO,CAACpJ,IAAR,CAAawrB,YAAtB,CAFD,IAGA,CAAC,sDAASpiB,OAAO,CAACpJ,IAAR,CAAawrB,YAAtB,EAAoCpiB,OAAO,CAACpJ,IAAR,CAAa00C,aAAjD,CAJF,EAKE;AACD,kBAAI,KAAKjyC,aAAT,EAAwB;AACvB,qBAAKA,aAAL,CAAmB+jE,WAAnB,IAAkC,IAAlC,GACI,KAAKA,WAAL,GAAmB,IADvB,GAEI,KAAKA,WAAL,GAAmB,KAFvB;;AAGA,oBAAI,KAAK/jE,aAAL,CAAmBqpC,WAAnB,IAAkC,KAAKrpC,aAAL,CAAmBqpC,WAAnB,CAA+B3nC,MAArE,EAA6E;AAC5E,uBAAK+jD,QAAL,GAAgB,KAAKzlD,aAAL,CAAmBylD,QAAnC;AACA,uBAAKC,QAAL,GAAgB,KAAK1lD,aAAL,CAAmB0lD,QAAnC;AAEA,uBAAKse,gBAAL,GAAwB,KAAKhkE,aAAL,CAAmBgkE,gBAA3C;AACA,uBAAKC,eAAL,GAAuB,KAAKjkE,aAAL,CAAmBikE,eAA1C;AAEA,uBAAK56B,WAAL,GAAmB,KAAKrpC,aAAL,CAAmBqpC,WAAtC;;AACA,sBAAI,KAAKoc,QAAT,EAAmB;AAClB,yBAAKpc,WAAL,GAAmB,KAAKrpC,aAAL,CAAmBkkE,aAAtC;AACA,mBAFD,MAEO,IAAI,KAAKxe,QAAT,EAAmB;AACzB,yBAAKrc,WAAL,GAAmB,KAAKrpC,aAAL,CAAmBmkE,aAAtC;AACA;;AAED,uBAAKriE,UAAL,CAAgBvE,IAAhB,GAAuB,MAAH,OAAG,CAAH,EAAG,EACnB,KAAKA,IADc,CAAvB;;AAIA,sBAAI,KAAKA,IAAT,EAAe;AACd,yBAAKwtD,eAAL;AACA;AACD;AACD;AACD;AACD;;;iBAED,2BAAe;AAAA;;AACd,iBAAK1qD,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,aAFU,CAAX;AAGA;;;iBAEO,yBAAgBA,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAEO,2BAAkB;AAAA;;AACzB,iBAAK2M,YAAL,CAAkBxW,OAAlB,GAA4B,IAA5B;AAEA,gBAAMkF,KAAK,GAAG,KAAK/B,aAAL,CAAmB+B,KAAnB,GACX,+DAAUC,WAAV,CAAsB,KAAKhC,aAAL,CAAmB+B,KAAzC,EAAgD;AAAExE,kBAAI,EAAE,KAAKA;AAAb,aAAhD,CADW,aAER,KAAKyC,aAAL,CAAmBokE,UAFX,SAEwB,KAAKpkE,aAAL,CAAmBqkE,aAF3C,SAE2D,KAAK9mE,IAAL,CAAUqB,YAFrE,oBAE2F,KAAKoB,aAAL,CAAmBhD,KAF9G,cAEuH,KAAKgD,aAAL,CAAmBskE,SAF1I,CAAd;AAIA,iBAAKjkE,GAAL,GAAW,KAAK9D,mBAAL,CACTyW,sBADS,CACc,KAAKhT,aAAL,CAAmBwK,QADjC,EAC2CzI,KAD3C,EAET+F,IAFS,CAGT,iDAAI,UAAC6rB,QAAD,EAAqB;AACxB,kBAAIA,QAAQ,IAAIA,QAAQ,CAACjyB,MAAzB,EAAiC;AAChC,oBAAMnE,IAAI,GAAUo2B,QAAQ,CAACvxB,GAAT,CAAa,UAACtB,IAAD,EAAe;AAC/C,yBAAOA,IAAI,CAACvD,IAAZ;AACA,iBAFmB,CAApB;;AAIA,wBAAI,CAACgnE,eAAL,CAAqBhnE,IAArB;;AAEA,wBAAI,CAACsS,YAAL,sBAAwBtS,IAAxB;;AAEA,wBAAI,CAAC0J,WAAL;AACA;AACD,aAZD,CAHS,EAgBT,sDAAS,YAAM;AACd,sBAAI,CAACoM,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,aAFD,CAhBS,EAmBT,wDAAW,UAAC+D,KAAD,EAAW;AACrB,sBAAI,CAACyS,YAAL,CAAkBxW,OAAlB,GAA4B,KAA5B;AACA,qBAAO,gDAAG,CAAC,CAAD,CAAH,CAAP;AACA,aAHD,CAnBS,EAwBTyD,SAxBS,EAAX;AAyBA;;;iBAED,yBAAgBuP,YAAhB,EAAqC;AAAA;;AACpC,gBAAIA,YAAY,IAAIA,YAAY,CAACnO,MAA7B,IAAuC,KAAK+jD,QAA5C,IAAwD,KAAKue,gBAAjE,EAAmF;AAClF,kBAAI,CAACn0D,YAAY,CAAC,CAAD,CAAZ,CAAgB,KAAKm0D,gBAArB,CAAL,EAA6C;AAC5C,qBAAK36B,WAAL,GAAmB,KAAKrpC,aAAL,CAAmBwkE,mBAAtC;AACA;AACD;;AAED,iBAAKC,aAAL,GAAqB,KAAKp7B,WAAL,CAAiBjnC,GAAjB,CAAqB,UAACqsC,GAAD;AAAA,qBAAU;AACnDhqC,qBAAK,EAAE,QAAI,CAAC2b,SAAL,CAAevf,OAAf,CAAuB,QAAI,CAACojE,eAAL,GAAuBx1B,GAAG,CAACvgC,GAAlD,CAD4C;AAEnD0oD,uBAAO,EAAEnoB,GAAG,CAACvgC;AAFsC,eAAV;AAAA,aAArB,CAArB;AAIA;;;iBAED,uBAAc;AACb,iBAAKjQ,KAAL,GAAa;AACZorB,uBAAS,qBAAM,KAAKxZ,YAAX;AADG,aAAb;AAGA,iBAAKxJ,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA,W,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iBAEA,qBAAY;AAAA;;AACX,gBAAIymE,UAAU,GAAG/hE,CAAC,CAAC,wBAAD,CAAD,CAA4BwI,KAA5B,EAAjB;AACA,gBAAIw5D,WAAW,GAAGhiE,CAAC,CAAC,wBAAD,CAAD,CAA4B5E,MAA5B,EAAlB;AACA,gBAAI6mE,kBAAkB,GAAGF,UAAzB;AACA,gBAAIG,mBAAmB,GAAGF,WAA1B;AACA,gBAAIG,eAAe,GAAG,EAAtB;AACA,gBAAIC,SAAS,GAAGL,UAAU,GAAGI,eAAe,GAAG,CAA/C;AACA,gBAAIE,UAAU,GAAGD,SAAS,GAAG,GAAZ,GAAkBD,eAAe,GAAG,CAArD;AAEA,gBAAIG,aAAa,GAAGh3C,IAAI,CAAC+uB,IAAL,CAAU2nB,WAAW,GAAGK,UAAxB,IAAsC,CAA1D;AAEA,+DAAYriE,CAAC,CAAC,wBAAD,CAAD,CAA4B,CAA5B,CAAZ,EAA4C;AAAEuiE,wBAAU,EAAE,IAAd;AAAoBC,qBAAO,EAAE,IAA7B;AAAmCC,mBAAK,EAAE;AAA1C,aAA5C,EAA2Fz2D,IAA3F,CACC,UAAC02D,MAAD,EAAY;AACXA,oBAAM,CAAClb,UAAP,CAAkB,IAAlB;AAEA,kBAAImb,OAAO,GAAGD,MAAM,CAACE,SAAP,CAAiB,YAAjB,EAA+B,GAA/B,CAAd;AACA,kBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,CAACT,SAAD,EAAYC,UAAZ,CAArB,CAAV;AACAQ,iBAAG,CAACC,mBAAJ,CAAwB,CAAxB;AACAD,iBAAG,CAACE,QAAJ,CACCJ,OADD,EAEC,KAFD,EAGCR,eAHD,EAICA,eAJD,EAKCF,kBALD,EAMCC,mBAND;AAQAW,iBAAG,CAACC,mBAAJ,CAAwB,CAAxB;;AAEA,mBAAK,IAAIn0D,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI2zD,aAArB,EAAoC3zD,CAAC,EAArC,EAAyC;AACxCk0D,mBAAG,CAACG,OAAJ,CAAYZ,SAAZ,EAAuB,GAAvB;AACAS,mBAAG,CAACE,QAAJ,CACCJ,OADD,EAEC,KAFD,EAGCR,eAHD,EAIC,EAAEE,UAAU,GAAG1zD,CAAf,IAAoBwzD,eAAe,GAAG,CAJvC,EAKCF,kBALD,EAMCC,mBAND;AAQAW,mBAAG,CAACC,mBAAJ,CAAwB,CAAxB;AACA;;AAEDD,iBAAG,CAACrQ,IAAJ,CAAS,cAAT;AACA,sBAAI,CAACnE,UAAL,GAAkB,KAAlB;AACAtwD,wBAAU,CAAC,YAAM;AAChB,wBAAI,CAACq2B,UAAL,GAAkB,KAAlB;AACA,eAFS,EAEP,GAFO,CAAV;AAGA,aAnCF;AAqCA;;;iBAED,sBAAa;AAAA;;AACZ,iBAAKi6B,UAAL,GAAkB,IAAlB;AACA,iBAAKj6B,UAAL,GAAkB,IAAlB;AACAr2B,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACklE,SAAL;AACA,aAFS,EAEP,IAFO,CAAV;AAGA;;;iBAED,uBAAc;AACb,iBAAK5zB,cAAL,CAAoB9zC,OAApB,CAA4B,UAAC8X,CAAD;AAAA,qBAAOA,CAAC,CAAC7X,WAAF,EAAP;AAAA,aAA5B;AACA,iBAAK6zC,cAAL,GAAsB,EAAtB;AACA;;;;;;;;;;;;;;;;;;;;;AClQF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAsBa6zB,oB;AA4BZ,sCAAoBrpE,gBAApB,EAAwD;AAAA;;AAApC,eAAAA,gBAAA,GAAAA,gBAAA;AAtBX,eAAAyB,KAAA,GAAa,EAAb;AACC,eAAAoI,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACA,eAAAiW,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AAOV,eAAA01B,cAAA,GAAiC,EAAjC;AAcC,eAAKzrC,eAAL,CAAqB,KAAK/J,gBAAL,CAAsBgK,WAA3C;AACA;;;;eAdD,aAAQnJ,CAAR,EAAyB;AACxB,iBAAK20C,cAAL,CAAoB10C,IAApB,CAAyBD,CAAzB;AACA;;;eAED,eAAe;;;AACd,mBAAO,CAAC,oBAAC,KAAK2C,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEyE,KAArB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE4a,QAAF,EAA1B,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAItY,IAAJ,GAAWrF,MAA/C,CAAR;AACA;;;eAED,eAAqB;;;AACpB,mBAAO,CAAC,oBAAC,KAAK1B,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEsvB,WAArB,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEjQ,QAAF,EAAhC,MAA0C,IAA1C,IAA0C,aAA1C,GAA0C,MAA1C,GAA0C,GAAItY,IAAJ,GAAWrF,MAArD,CAAR;AACA;;;iBAMD,2BAAe;AAAA;;AACd,iBAAKrB,GAAL,GAAW,KAAK7D,gBAAL,CAAsBiK,YAAtB,CAAmCnG,SAAnC,CAA6C,UAAC/C,IAAD,EAAU;AACjE,sBAAI,CAACgJ,eAAL,CAAqBhJ,IAAI,CAACmJ,IAA1B;AACA,aAFU,CAAX;AAGA;;;iBAEO,yBAAgBA,IAAhB,EAAsB;AAAA;;AAC7B,iBAAKQ,GAAL,GAAW,IAAX;AACAxG,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACwG,GAAL,GAAWR,IAAI,IAAI,IAAR,GAAe,KAAf,GAAuB,KAAlC;AACA,aAFS,CAAV;AAGA;;;iBAED,qBAAYu9C,IAAZ,EAAkB;AACjB,iBAAKhmD,KAAL,GAAagmD,IAAb;AACA,iBAAK59C,WAAL,CAAiBjI,IAAjB,CAAsB,KAAKH,KAA3B;AACA;;;iBAED,uBAAc;AACb,iBAAK+zC,cAAL,CAAoB9zC,OAApB,CAA4B,UAAC8X,CAAD;AAAA,qBAAOA,CAAC,CAAC7X,WAAF,EAAP;AAAA,aAA5B;AACA,iBAAK6zC,cAAL,GAAsB,EAAtB;AACA;;;iBACD,wBAAejxC,KAAf,EAA8B;AAC7B,gBAAI,CAACA,KAAL,EAAY;AACZyzB,gBAAI,CAACzzB,KAAD,CAAJ;AACA;;;;;;;;;;;;;;;;;;;;;AC9EF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAMA,UAAMwD,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,sBAD8C;AAEpDW,gBAAQ,EAAE,sBAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAASqhE,oCAAT,CAA8CnhE,QAA9C,EAAkE;AACxE,wFAA8BJ,iBAA9B,EAAiD,2GAAjD,EAAsFI,QAAtF;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAO,eAASohE,yBAAT,CAAmCrI,OAAnC,EAA2D;AAC9D,YAAIA,OAAO,CAACz/D,KAAR,IAAiBy/D,OAAO,CAACz/D,KAAR,CAAcyD,MAAd,IAAwB,CAA7C,EAAgD;AAC5C,iBAAO;AAAE,uBAAW;AAAb,WAAP;AACH;;AACD,eAAO,IAAP;AACH;;AAEM,eAASskE,0BAAT,CAAoCtI,OAApC,EAA4D;AAC/D,YAAMj7B,SAAS,GAAGi7B,OAAO,CAACz/D,KAA1B;AAEA,YAAIo5B,QAAQ,GAAG,KAAf;;AACA,YAAI,EAACoL,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAE/gC,MAAZ,KAAsB,CAAC+gC,SAAS,CAAChgC,IAAV,CAAe,UAAAb,CAAC;AAAA,iBAAIA,CAAC,CAACkJ,QAAN;AAAA,SAAhB,CAA3B,EAA4D;AACxDusB,kBAAQ,GAAG,IAAX;AACH;;AACD,eAAOA,QAAQ,GAAG;AAAE,8BAAoB;AAAtB,SAAH,GAAkC,IAAjD;AACH;;AAEM,eAAS4uC,eAAT,GAAwB;AAC3B,eAAO,UAACzgE,KAAD,EAAsB;;;AACzB,cAAMgQ,QAAQ,GAAG,CAAH,KAAGhQ,KAAK,CAACvH,KAAN,CAAYuX,QAAZ,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEvX,KAAvC;AACA,cAAMgjC,MAAM,GAAGz7B,KAAK,CAACvH,KAAN,CAAY+1C,kBAA3B;AAEA,cAAI3c,QAAQ,GAAG,KAAf;;AACA,cAAI7hB,QAAQ,IAAIyrB,MAAhB,EAAwB;AACpB5J,oBAAQ,GAAG,CAAC,CAAC4J,MAAD,IAAW,CAAZ,KAAkB,CAAAzrB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAEooC,MAAV,KAAoB,CAAtC,KAA2CpoC,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAE0wD,aAArD,CAAX;AACH;;AACD,iBAAO7uC,QAAQ,GAAG;AAAE,6BAAiB;AAAnB,WAAH,GAA+B,IAA9C;AACH,SATD;AAUH;;AAEM,eAAS8uC,oBAAT,GAA6B;AAChC,eAAO,UAAC3gE,KAAD,EAAsB;;;AACzB,cAAM4gE,UAAU,GAAG5gE,KAAK,CAACvH,KAAN,CAAYmoE,UAA/B;AACA,cAAMF,aAAa,GAAG,CAAH,WAAG1gE,KAAK,CAACvH,KAAN,CAAYuX,QAAf,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEvX,KAAtB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,MAA3B,GAA2B,GAAEioE,aAAnD;AACA,cAAM1yB,QAAQ,GAAGhuC,KAAK,CAACvH,KAAN,CAAYu1C,QAA7B;AAEA,cAAM6yB,kBAAkB,GAAGD,UAAU,CAACt/D,MAAX,CAAkB,UAAAlF,CAAC;AAAA,mBAAI,CAAC,CAACA,CAAC,CAACqT,KAAR;AAAA,WAAnB,CAA3B;AACAzP,eAAK,CAACvH,KAAN,CAAY+1C,kBAAZ,GAAkCqyB,kBAAkB,CAACx9C,MAAnB,CAA0B,UAACve,CAAD,EAAIC,CAAJ;AAAA,mBAAUD,CAAC,GAAG,CAACC,CAAC,CAAC0K,KAAH,IAAY1K,CAAC,CAAC+7D,cAAF,CAAiB1oB,MAAjB,IAA2B,CAAvC,CAAd;AAAA,WAA1B,EAAmF,CAAnF,IAAwFyoB,kBAAkB,CAAC3kE,MAA7I;AAEA,cAAI21B,QAAQ,GAAG,KAAf;;AACA,cAAI,CAACmc,QAAL,EAAe;AACX,gBAAI4yB,UAAU,CAAC3jE,IAAX,CAAgB,UAAAb,CAAC;AAAA,qBAAIA,CAAC,CAACy1B,QAAN;AAAA,aAAjB,CAAJ,EAAsCA,QAAQ,GAAG,IAAX,CAAtC,KACKA,QAAQ,GAAG,CAAC7xB,KAAK,CAACvH,KAAN,CAAY+1C,kBAAZ,IAAkC,CAAnC,IAAwCkyB,aAAnD;AACR;;AAED,iBAAO7uC,QAAQ,GAAG;AAAE,kCAAsB;AAAxB,WAAH,GAAoC,IAAnD;AACH,SAfD;AAgBH;;AAEM,eAASkvC,uBAAT,GAAgC;AACnC,eAAO,UAAC/gE,KAAD,EAAsB;AACzB,cAAM8gE,cAAc,GAAG9gE,KAAK,CAACvH,KAAN,CAAYqoE,cAAnC;AACA,cAAMrlC,MAAM,GAAGz7B,KAAK,CAACvH,KAAN,CAAYgX,KAA3B;AAEA,cAAIoiB,QAAQ,GAAG4J,MAAM,IAAI,IAAV,IAAkBA,MAAM,IAAIyE,SAA3C;;AACA,cAAI4gC,cAAc,IAAI,CAAC,CAACrlC,MAAxB,EAAgC;AAC5B5J,oBAAQ,GAAG,CAAC,CAAC4J,MAAD,IAAW,CAAZ,KAAkB,CAAAqlC,cAAc,SAAd,IAAAA,cAAc,WAAd,GAAc,MAAd,GAAAA,cAAc,CAAE1oB,MAAhB,KAA0B,CAA5C,KAAiD0oB,cAAc,SAAd,IAAAA,cAAc,WAAd,GAAc,MAAd,GAAAA,cAAc,CAAEJ,aAAjE,CAAX;AACA1gE,iBAAK,CAACvH,KAAN,CAAYo5B,QAAZ,GAAuBA,QAAvB;AACH;;AACD,iBAAOA,QAAQ,GAAG;AAAE,qCAAyB;AAA3B,WAAH,GAAuC,IAAtD;AACH,SAVD;AAWH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC5DO,yH,IAA+E,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE/E,S;AAAA;;;uEACsC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEtC,S;AAAA;;;uEASA,yH,IAA0E,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAE1E,S;AAAA;;;uEACiC,+E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;AAEjC,S;AAAA;;;uEAxBR,0H,IACE,yJ,IAAkC,6E,GAAA,sQ,GAClC,gX,GAAA,8M,EAAA,uM,GACE,ke,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uK,IACE,gI,GAAA;AAAA;AAAA;AAAA,gB,GAGA,qJ,IAIA,6I,IAAqB,8E,GAAA,yD,GAGzB,yf,GAAA,4J,GAEA,me,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uK,IACE,gI,GAAA;AAAA;AAAA;AAAA,gB,GAGA,gJ,IAIA,6I,IAAqB,8E,IAGzB,yf,GAAA,4J,GAEA,me,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uK,IAAkD,gF,GAAA,sQ,GAGhD,6I,IAAqB,8E,GAAA,yD,GAGzB,yf,GAAA,4J,GAEA,me,GAAA,qa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,wK,IAAkD,gF,GAAA,sQ,GAGhD,6I,IAAqB,0F,GAAA,yD,EAAA,sQ,EAAA,yD,EAAA,yD,EAAA,yD,EAAA,wL,GAEI;AAzCX;;AAAA;;AAAd,yBAAc,SAAd,EAAc,SAAd;;AAcc;;AAAA;;AAAd,yBAAc,UAAd,EAAc,UAAd;AAAyE,S,EAAA;AAAA;;AAlB7C;;AAAA;;AAEhC;;AAAA;;AAAA;;AAAA;;AASyB;;AAAA;;AAGzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAAA;;AASyB;;AAAA;;AAGzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAAA;;AACoD;;AAAA;;AAG3B;;AAAA;;AAGzB;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAAA;;AACoD;;AAAA;;AAG3B;;AAAA;;AAAA;;AAAA;AAEI,S;AAAA;;;+jBA9CjC,gI,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAA;AAAA;;AAAA,8JAAmC,SAAnC;;AAAd,wBAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCjD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAM9yB,iBAAiB,GAA8B;AACpDV,YAAI,EAAE,aAD8C;AAEpDW,gBAAQ,EAAE,aAF0C;AAGpDC,aAAK,EAAE;AAH6C,OAArD;;AAMO,eAAS+hE,2BAAT,CAAqC7hE,QAArC,EAAyD;AAC/D,wFAA8BJ,iBAA9B,EAAiD,0EAAjD,EAAsEI,QAAtE;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXD;AAAA;;;AAAA;AAAA;AAAA;;UAAa8hE,U;;;;;;;iBACT,uBAAqBlpE,IAArB,EAAkC2J,GAAlC,EAAuD;AAAA;;AACnD,gBAAI3J,IAAI,CAACmE,MAAL,IAAe,CAAnB,EAAsB;AAClB,gDAAkBuC,MAAM,CAAC8G,IAAP,CAAYxN,IAAI,CAAC,CAAD,CAAhB,CAAlB,qCAAwC;AAAnC,oBAAM2Q,GAAG,qBAAT;AACD,oBAAI3Q,IAAI,CAAC,CAAD,CAAJ,CAAQ2Q,GAAR,aAAwBR,KAA5B,EAAmCnQ,IAAI,CAAC,CAAD,CAAJ,CAAQ2Q,GAAR,IAAe,KAAK+E,aAAL,CAAmB1V,IAAI,CAAC,CAAD,CAAJ,CAAQ2Q,GAAR,CAAnB,EAAiChH,GAAjC,CAAf;AACtC;;AACD,qBAAO3J,IAAP;AACH,aALD,MAMK;AACD,kBAAM+N,MAAM,GAAG/N,IAAI,CAAC8M,IAAL,CAAU,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC/B,kDAAkBtG,MAAM,CAAC8G,IAAP,CAAYT,CAAZ,CAAlB,qCAAkC;AAA7B,sBAAM4D,KAAG,qBAAT;AAA+B,sBAAI5D,CAAC,CAAC4D,KAAD,CAAD,YAAkBR,KAAtB,EAA6BpD,CAAC,CAAC4D,KAAD,CAAD,GAAS,QAAI,CAAC+E,aAAL,CAAmB3I,CAAC,CAAC4D,KAAD,CAApB,EAA2BhH,GAA3B,CAAT;AAA2C;;AAC5G,kDAAkBjD,MAAM,CAAC8G,IAAP,CAAYR,CAAZ,CAAlB,qCAAkC;AAA7B,sBAAM2D,KAAG,qBAAT;AAA+B,sBAAI3D,CAAC,CAAC2D,KAAD,CAAD,YAAkBR,KAAtB,EAA6BnD,CAAC,CAAC2D,KAAD,CAAD,GAAS,QAAI,CAAC+E,aAAL,CAAmB1I,CAAC,CAAC2D,KAAD,CAApB,EAA2BhH,GAA3B,CAAT;AAA2C;;AAE5G,oBAAIoD,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB,OAAOxC,GAAG,IAAI,KAAP,GAAe,CAAC,CAAhB,GAAoB,CAA3B,CAAvB,KACK,IAAIoD,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB,OAAOxC,GAAG,IAAI,KAAP,GAAe,CAAf,GAAmB,CAAC,CAA3B,CAAvB,KACA,OAAO,CAAP;AACR,eAPc,CAAf;AAQA,qBAAOoE,MAAP;AACH;AACJ;;;iBACD,cAAY/N,IAAZ,EAAyB2J,GAAzB,EAA8C;AAC1C,gBAAMoE,MAAM,GAAG/N,IAAI,CAAC8M,IAAL,CAAU,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC/B,kBAAID,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB,OAAOxC,GAAG,IAAI,KAAP,GAAe,CAAC,CAAhB,GAAoB,CAA3B,CAAvB,KACK,IAAIoD,CAAC,CAACZ,KAAF,GAAUa,CAAC,CAACb,KAAhB,EAAuB,OAAOxC,GAAG,IAAI,KAAP,GAAe,CAAf,GAAmB,CAAC,CAA3B,CAAvB,KACA,OAAO,CAAP;AACR,aAJc,CAAf;AAKA,mBAAOoE,MAAP;AACH;;;iBAED,mBAAiBT,MAAjB,EAAyBrJ,MAAzB,EAAiC;AAC7B,iBAAK,IAAIklE,CAAT,IAAc77D,MAAd;AAAsBrJ,oBAAM,CAACklE,CAAD,CAAN,GAAY77D,MAAM,CAAC67D,CAAD,CAAlB;AAAtB;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC/BD,qM,GAAA,sW,GACI,yH,IAAM,8E,GAAA,sQ,GACN;AAFJ;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AACU;;AAAA;AACN,S;AAAA;;;uEAHR,gK,GAAA,+L,EAAA;AAAA;AAAA,gB,GACI,iH,GAAA;AAAA;AAAA,gB,GAKA,8U,GAAA,4M,GACA;AAAA;AAAA,sBAES,UAFT;;AACI;;;;;AAAsC;;;;;AAA4B;;;;;AADtE;AAAA,sN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,GAES;AAAA;AATR,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAL,wBAAK,SAAL;;AAC8C,6BAAkB,KAAlB,CAAkB,KAAlB;;AAA1C,wBAA0C,SAA1C;;AAMQ,6BAAwB,KAAxB,CAAwB,OAAxB;AAAyB,6BAA8B,KAA9B,CAA8B,UAA9B;AAA+B;;AAAhE,wBAAQ,SAAR,EAAiC,SAAjC,EAAgE,SAAhE;AAAkF,S,EAAA;AAPtF;;AAAA;AAUM,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECDH,yH,IAAiD,6E,GAAA,sQ,GAAA,I,EAAA;AAAA;;AAAA;;AAAA;AAE/C,S;AAAA;;;uEACF,ihB,GAAA,wa,GAAsE,0E,IAEpE;AAFF;AAAA,S,EAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAsE;;AAAA;AAEpE,S;AAAA;;;;;aAdL,wI,IACC,yI,IACC;AAAA;AAAA,sBAaS,UAbT;;AAEC;;;;;AAFD;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAIC,sQ,GAGA,qH,GAAA;AAAA;AAAA,gB,GAGA,qH,GAAA;AAAA;AAAA,gB,GAEa;AAAA;AAPb,6GAA6D,cAA7D,CAA6D,SAA7D,CAA6D,eAA7D;;AADA,8OAA0D,cAA1D,CAA0D,SAA1D,CAA0D,OAA1D;;AAJD,wBAKC,SALD,EAIC,SAJD;;AAOO,6GAA0C,cAA1C,CAA0C,SAA1C,CAA0C,QAA1C;;AAAN,wBAAM,SAAN;;AAG2B,6GAA0C,cAA1C,CAA0C,SAA1C,CAA0C,QAA1C;;AAA3B,wBAA2B,SAA3B;AAAqE,S,EAAA;AAAA;AAXlE,6EAAiD,cAAjD,CAAiD,YAAjD;;AAAL,wBAAK,SAAL;;AAIE,iJAA+E,cAA/E,CAA+E,SAA/E,CAA+E,QAA/E;;AAHD,wBAGC,SAHD;AAGgF,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLlF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAiCaC,8B;;;;;AAgEX,gDAAoB/zB,WAApB,EACUnrC,iBADV,EAEUsxB,sBAFV,EAGUz8B,aAHV,EAIUE,gBAJV,EAKUma,eALV,EAMUpO,MANV,EAM6B;AAAA;;AAAA;;AAAE;AANX,mBAAAqqC,WAAA,GAAAA,WAAA;AACV,mBAAAnrC,iBAAA,GAAAA,iBAAA;AACA,mBAAAsxB,sBAAA,GAAAA,sBAAA;AACA,mBAAAz8B,aAAA,GAAAA,aAAA;AACA,mBAAAE,gBAAA,GAAAA,gBAAA;AACA,mBAAAma,eAAA,GAAAA,eAAA;AACA,mBAAApO,MAAA,GAAAA,MAAA;AA/DV,mBAAAkP,QAAA,GAAW,SAAKhQ,iBAAL,CAAuBgQ,QAAlC;AACA,mBAAAqH,SAAA,GAAY,SAAKrX,iBAAL,CAAuBiQ,eAAnC;AACA,mBAAAhQ,UAAA,GAAa,SAAKD,iBAAL,CAAuBC,UAApC;AA6D6B;AAAY;;;;eApDzC,eAAoB;AAClB,mBAAO,KAAKosC,cAAL,GAAsB,CAAC,UAAD,CAAtB,GAAqC,CAAC,UAAD,EAAa,UAAb,CAA5C;AACD;;;eAED,eAAiB;AAAE,gBAAL,EAAK;;AAAA,mBAAO,WAAK5uC,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE7B,GAAF,CAAM,YAAN,CAAhB;AAAmD;;;eACtE,eAAgB;AAAE,gBAAL,EAAK;;AAAA,mBAAO,WAAK6B,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE7B,GAAF,CAAM,WAAN,CAAhB;AAAkD;;;eACpE,eAAuB;AACrB,mBAAO,KAAKmtB,aAAL,CAAmB+N,gBAAnB,IAAuC,6EAAiBqoC,cAA/D;AACD;;;eAED,eAA2B;AACzB,mBAAO,KAAKp2C,aAAL,CAAmB+N,gBAAnB,IAAuC,6EAAiBjO,kBAA/D;AACD;;;eAED,eAA0C;AACxC,mBAAO,KAAKE,aAAL,CAAmB+N,gBAAnB,IAAuC,6EAAiBC,iCAA/D;AACD;;;eAED,eAAoB;AAClB,mBAAO,CAAC,KAAKqU,eAAN,KAA0B,KAAKriB,aAAL,CAAmB+N,gBAAnB,IAAuC,6EAAiBuU,WAAxD,IAC/B,KAAKtiB,aAAL,CAAmB+N,gBAAnB,IAAuC,6EAAiBjO,kBADzB,IAE/B,KAAKE,aAAL,CAAmB+N,gBAAnB,IAAuC,6EAAiBC,iCAFnD,CAAP;AAGD;;;eAED,eAAkB;AAChB,mBAAO,CAAC,CAAC,KAAKzK,QAAd;AACD;;;eAED,eAAoC;AAClC,mBAAO,KAAKgF,sBAAL,CAA4B7F,sBAA5B,CAAmDj1B,KAAnD,IACL,KAAKuyB,aAAL,CAAmBuiB,UADd,IAEL,KAAKviB,aAAL,CAAmB+N,gBAAnB,IAAuC,6EAAiBuU,WAF1D;AAGD;;;eAED,eAAqB;;;AACnB,mBAAO,QAAC,KAAKtiB,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEuiB,UAArB,KACL,KAAKC,WADA,IAEL,KAAKC,oBAFA,IAGL,KAAKC,mCAHA,IAIL,CAAC,KAAKxrC,UAAL,CAAgBzJ,KAAhB,CAAsB4oE,oBAJlB,IAKL,KAAKC,mBALP;AAMD;;;eACD,eAA0B;;;AACxB,mBAAO,CAAC,cAAC,KAAKt2C,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEI,aAArB,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEm2C,cAApC,CAAD,IAAuD,oBAAC,KAAKv2C,aAAN,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEI,aAArB,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEm2C,cAApC,MAAkD,IAAlD,IAAkD,aAAlD,GAAkD,MAAlD,GAAkD,GAAEC,cAApD,CAA9D;AACD;;;iBAUD,oBAAW;AAAA;;AACT,iBAAK1nD,WAAL;AACA,uEAAc,CACZ,KAAK7X,iBAAL,CAAuBC,UAAvB,CACGI,IADH,CACQ,oDAAO,UAAAvK,IAAI;AAAA,qBAAIA,IAAI,CAAC0hB,aAAL,IAAsB,OAA1B;AAAA,aAAX,CADR,CADY,EAGZ,KAAKxX,iBAAL,CAAuBE,eAHX,CAAd,EAKGG,IALH,CAKQ,uDAAU,KAAKC,QAAf,CALR,EAMGzH,SANH,CAMa,kBAAyB;AAAA;AAAA,kBAAvB4a,SAAuB;AAAA,kBAAZi4B,MAAY;;;;AAClC,sBAAI,CAACj4B,SAAL,GAAiBA,SAAjB;AACA,sBAAI,CAACsV,aAAL,GAAqB2iB,MAArB;AACA,4BAAI,CAACizB,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAE34D,KAAF,EAAf;AACA,4BAAI,CAACg1B,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEh1B,KAAF,EAAd;AACA,4BAAI,CAACvI,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAE0N,KAAF,EAAT;;AACA,sBAAI,CAAC3N,QAAL;;AACA,sBAAI,CAACm5B,4BAAL;;AACA,sBAAI,CAACjc,OAAL;;AACA,sBAAI,CAACixB,sBAAL;AACD,aAhBH;AAiBD;;;iBAED,qBAAYzsC,OAAZ,EAAkC;;;AAChC,gBAAI,OAAAA,OAAO,CAACotB,QAAR,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEke,aAAlB,KAAmC,OAAAtrC,OAAO,CAACotB,QAAR,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEke,aAAlB,MAA+B,MAAItrC,OAAO,CAACotB,QAAZ,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEhL,YAArD,CAAvC,EAA0G;AACxG,mBAAK5G,OAAL;AACD;AACF;;;iBAED,cAAKkxB,WAAL,EAA0B;AACxB,gBAAMp1C,KAAK,GAAG,KAAKiH,IAAL,CAAUm5B,QAAV,CAAmBgV,WAAnB,EAAgCp1C,KAA9C;AACA,gBAAI,KAAKgpE,6BAAT,EACE,KAAKx/D,iBAAL,CAAuBqQ,uBAAvB,CAA+CrN,IAA/C,CAAoD,IAAI,6DAAJ,CAAc4oC,WAAd,EAA2Bp1C,KAA3B,CAApD,EADF,KAEK;AACH,mBAAKwJ,iBAAL,CAAuBoQ,eAAvB,CAAuCpN,IAAvC,CAA4C,IAAI,6DAAJ,CAAc4oC,WAAd,EAA2Bp1C,KAA3B,CAA5C;;AACA,kBAAIo1C,WAAW,IAAI,0BAAnB,EAA+C;AAC7C,qBAAK5rC,iBAAL,CAAuBoQ,eAAvB,CAAuCpN,IAAvC,CAA4C,IAAI,6DAAJ,CAAc,WAAd,EAA2B,KAAKg4B,SAAL,CAAexkC,KAA1C,CAA5C;AACD;AACF;AACF;;;iBAED,kBAAS;AAAA;;AACP,gBAAI,KAAKiH,IAAL,CAAU+0B,KAAd,EAAqB;AACnB,mBAAKjb,gBAAL,GAAwB,IAAxB;AACA,kBAAM/gB,KAAK,GAAG,wDAAW,KAAKiH,IAAL,CAAUjH,KAArB,CAAd;AACA,qBAAOA,KAAK,CAACuX,QAAb;AAEA,kBAAMjY,IAAI;AACRqH,kBAAE,EAAE,KAAKk6B,OADD;AAER5mB,2BAAW,EAAE,KAAKgD,SAAL,CAAetW,EAFpB;AAGRqW,4BAAY,EAAE,KAAKC,SAAL,CAAeD,YAHrB;AAIRR,wBAAQ,EAAE,KAAK+V,aAAL,CAAmBI,aAAnB,CAAiCnW,QAJnC;AAKRsZ,wBAAQ,EAAE,KAAKvD,aAAL,CAAmBI,aAAnB,CAAiCmD;AALnC,iBAML91B,KANK,GAMA;AACRs1C,uBAAO,EAAE,CAACt1C,KAAK,CAACu1C,QADR;AAER/Q,yBAAS,EAAExkC,KAAK,CAACwkC,SAAN,CAAgB37B,MAAhB,CAAuB,UAAAlF,CAAC;AAAA,yBAAIA,CAAC,CAACkJ,QAAN;AAAA,iBAAxB,EAAwC1I,GAAxC,CAA4C,UAAAtB,IAAI,EAAI;AAAE,yBAAO;AAAE4hC,yBAAK,EAAE,CAAC5hC,IAAI,CAAC6hC,IAAN,CAAT;AAAsBC,4BAAQ,EAAE9hC,IAAI,CAAC8hC;AAArC,mBAAP;AAAyD,iBAA/G,CAFH;AAGRwjC,0BAAU,EAAEjmE,IAAI,CAACC,SAAL,CAAenC,KAAK,CAACmoE,UAArB;AAHJ,eANA,CAAV;AAYA,8DAAG,CAAC,CAAC,KAAKtnC,OAAV,EACGh3B,IADH,CAEI,uDAAU,UAAC2rC,QAAD;AAAA,uBACR,iDACE;AAAA,yBAAMA,QAAN;AAAA,iBADF,EAEE,QAAI,CAAC1a,sBAAL,CAA4B2a,wBAA5B,CAAqDn2C,IAArD,EAA2D,QAAI,CAACo2C,aAAhE,CAFF,EAGE,QAAI,CAAC5a,sBAAL,CAA4B6a,0BAA5B,CAAuDr2C,IAAvD,EAA6D,QAAI,CAACo2C,aAAlE,CAHF,CADQ;AAAA,eAAV,CAFJ,EASI,sDAAS;AAAA,uBAAM,QAAI,CAAC30B,gBAAL,GAAwB,KAA9B;AAAA,eAAT,CATJ,EAWG1e,SAXH,CAWa,UAAAmF,KAAK,EAAI;AAClB,wBAAI,CAACouC,WAAL,CAAiBpuC,KAAjB,EAAwB,QAAI,CAACyhE,SAA7B;;AACA,wBAAI,CAACz/D,iBAAL,CAAuBkQ,cAAvB,CAAsClN,IAAtC;;AACA,iFAAU,QAAI,CAACnO,aAAf,EACE,QAAI,CAACE,gBAAL,CAAsBqE,OAAtB,CAA8B,kCAA9B,CADF,EAEE,QAAI,CAACrE,gBAAL,CAAsBqE,OAAtB,CAA8B,0CAA9B,CAFF,EAGE,KAHF;AAKD,eAnBH;AAoBD;AACF;;;iBAED,4BAAmBgqC,OAAnB,EAAqC;AACnC,iBAAKpI,SAAL,CAAepE,QAAf,CAAwBngC,OAAxB,CAAgC,UAACw/D,OAAD,EAAa;AAC3CA,qBAAO,CAACr6D,GAAR,CAAY,UAAZ,EAAwBiL,QAAxB,CAAiCu8B,OAAjC;AACD,aAFD;AAGD;;;iBAED,kBAASlI,IAAT,EAAoB;AAClB,iBAAKp6B,MAAL,CAAY2C,IAAZ,CAAiB,yDAAjB,EAAkC;AAChCojC,sBAAQ,EAAE;AACRtrC,mBAAG,EAAE,GADG;AAERurC,qBAAK,EAAE;AAFC,eADsB;AAKhChxC,kBAAI,EAAE;AACJ2J,mBAAG,EAAE,KAAK1K,gBAAL,CAAsBgK,WAAtB,IAAqC,IAArC,GAA4C,KAA5C,GAAoD,KADrD;AAEJjJ,oBAAI,EAAEolC,IAFF;AAGJ3e,sBAAM,EAAE,KAAKrN,eAAL,CAAqBmN,MAArB,CAA4BE,MAHhC;AAIJwqB,sBAAM,EAAE,KAAK73B,eAAL,CAAqB5L,IAArB,CAA0B4a;AAJ9B,eAL0B;AAWhC5nB,oBAAM,EAAE,OAXwB;AAYhCoN,mBAAK,EAAE,OAZyB;AAahCC,wBAAU,EAAE;AAboB,aAAlC;AAeD;;;iBAEO,oBAAW;AACjB,iBAAKlG,IAAL,GAAY,KAAK0tC,WAAL,CAAiBptC,KAAjB,CAAuB;AACjCgQ,sBAAQ,EAAE,CAAC,KAAKsJ,SAAN,CADuB;AAEjC00B,sBAAQ,EAAE,CAAC;AAAEv1C,qBAAK,EAAE,KAAT;AAAgB0H,wBAAQ,EAAE,KAAKmuC;AAA/B,eAAD,CAFuB;AAGjCqzB,sCAAwB,EAAE,CAAC;AAAElpE,qBAAK,EAAE,EAAT;AAAa0H,wBAAQ,EAAE,KAAKmuC;AAA5B,eAAD,EAA+C,CAAC,0DAAWjuC,QAAZ,CAA/C,CAHO;AAIjC48B,uBAAS,EAAE,KAAKmQ,WAAL,CAAiB1iC,KAAjB,CAAuB,EAAvB,CAJsB;AAKjCk2D,wBAAU,EAAE,KAAKxzB,WAAL,CAAiB1iC,KAAjB,CAAuB,EAAvB;AALqB,aAAvB,EAMT;AACDokC,wBAAU,EAAE,CAAC,2EAAD;AADX,aANS,CAAZ;AASD;;;iBACO,wCAA+B;AAAA;;AACrC,gBAAMjW,QAAQ,GAAG,CAAC,0BAAD,CAAjB;AACA,iBAAKn5B,IAAL,CAAUm5B,QAAV,CAAmBmV,QAAnB,CAA4B7qB,YAA5B,CAAyCroB,SAAzC,CAAmD,UAAAuqC,OAAO,EAAI;AAC5D,sBAAI,CAACu7B,UAAL,CAAgB34D,KAAhB;;AACA4wB,sBAAQ,CAACngC,OAAT,CAAiB,UAAAgQ,GAAG,EAAI;AACtB,oBAAI,CAAC28B,OAAL,EAAc;AACZ,0BAAI,CAAC3lC,IAAL,CAAU7B,GAAV,CAAc6K,GAAd,EAAmByxB,aAAnB,CAAiC,CAAC,0DAAW95B,QAAZ,CAAjC;AACD,iBAFD,MAEO;AACL,0BAAI,CAACX,IAAL,CAAU7B,GAAV,CAAc6K,GAAd,EAAmB0E,KAAnB;;AACA,0BAAI,CAAC1N,IAAL,CAAU7B,GAAV,CAAc6K,GAAd,EAAmB0xB,eAAnB;;AACA,0BAAI,CAACwnC,cAAL,GAAsB,EAAtB;AACD;;AACD,wBAAI,CAACliE,IAAL,CAAU7B,GAAV,CAAc6K,GAAd,EAAmB2xB,sBAAnB;AACD,eATD;AAUD,aAZD;AAaA,iBAAK36B,IAAL,CAAUm5B,QAAV,CAAmB8oC,wBAAnB,CAA4Cx+C,YAA5C,CAAyDroB,SAAzD,CAAmE,UAAArC,KAAK,EAAI;AAC1E,kBAAI,CAAC,CAACA,KAAN,EAAa;AACX,wBAAI,CAACwkC,SAAL,CAAe9C,aAAf,CAA6B,EAA7B;AACD,eAFD,MAEO;AACL,oBAAM0nC,cAAc,GAAG,QAAI,CAAC5kC,SAAL,CAAexkC,KAAtC;AACAopE,8BAAc,CAACnpE,OAAf,CAAuB,UAAAopE,QAAQ,EAAI;AAAEA,0BAAQ,CAACx8D,QAAT,GAAoB,KAApB;AAA4B,iBAAjE;;AACA,wBAAI,CAAC23B,SAAL,CAAen0B,QAAf,CAAwB+4D,cAAxB;;AACA,wBAAI,CAAC5kC,SAAL,CAAe7C,eAAf;AACD;;AACD,sBAAI,CAAC6C,SAAL,CAAe5C,sBAAf;AACD,aAVD;AAWD;;;iBAEO,uBAAc;AAAA;;AACpB,iBAAKtgB,QAAL,GAAgB,2DAAc,CAAC,KAAKT,SAAN,EAAiB,KAAKrX,iBAAL,CAAuBgQ,QAAxC,CAAd,EACb3P,IADa,CAEZ,oDAAO;AAAA;AAAA,kBAAE0N,QAAF;AAAA,kBAAYgF,OAAZ;;AAAA,qBAAyB,CAAC,CAAChF,QAAF,IAAc,CAAC,CAACgF,OAAzC;AAAA,aAAP,CAFY,EAGZ,iDAAI,kBAAyB;AAAA;AAAA,kBAAvBhF,QAAuB;AAAA,kBAAbgF,OAAa;;AAC3B,sBAAI,CAACA,OAAL,GAAeA,OAAf;;AACA,sBAAI,CAAC4rD,UAAL,CAAgB34D,KAAhB;;AACA+H,sBAAQ,CAAC6E,eAAT,CAAyBnc,OAAzB,CAAiC,UAAA0D,CAAC,EAAI;;;AACpC,wBAAI,CAACwkE,UAAL,CAAgB9oE,IAAhB,CAAqB,QAAI,CAACs1C,WAAL,CAAiBptC,KAAjB,CAAuB;AAC1C8gE,gCAAc,EAAE,CAAC1kE,CAAD,CAD0B;AAE1CgD,oBAAE,EAAE,CAAC;AAAE3G,yBAAK,EAAE2D,CAAC,CAACgD,EAAX;AAAee,4BAAQ,EAAE,QAAI,CAACmuC;AAA9B,mBAAD,EAAiD,CAAC,0DAAWjuC,QAAZ,CAAjD,CAFsC;AAG1CoP,uBAAK,EAAE,CAAC;AAAEhX,yBAAK,EAAE,CAAF,WAAE,QAAI,CAACmpE,cAAP,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEzlE,IAAF,CAAO,UAAA4lE,EAAE;AAAA,6BAAIA,EAAE,CAACjB,cAAH,CAAkB1hE,EAAlB,IAAwBhD,CAAC,CAACgD,EAA9B;AAAA,qBAAT,CAAnB,MAA4D,IAA5D,IAA4D,aAA5D,GAA4D,MAA5D,GAA4D,GAAGqQ,KAAxE;AAA+EtP,4BAAQ,EAAE,QAAI,CAACmuC;AAA9F,mBAAD,EAAiH,EAAjH;AAHmC,iBAAvB,EAIlB;AACDQ,4BAAU,EAAE,CAAC,8EAAD;AADX,iBAJkB,CAArB;AAOD,eARD;;AAUA,kBAAI95B,OAAO,CAACgF,cAAZ,EAA4B;AAC1B,oBAAMC,cAAc,GAAGjK,QAAQ,CAACkK,aAAT,GAAyBlK,QAAQ,CAACkK,aAAT,CAAuB/d,IAAvB,CAA4B,UAAAC,CAAC;AAAA,yBAAI,CAACA,CAAC,CAACqT,KAAP;AAAA,iBAA7B,CAAzB,GAAsE;AAAE0K,yBAAO,EAAE;AAAX,iBAA7F;AACA,uBAAOjS,KAAK,CAACkS,IAAN,CAAW;AAAEle,wBAAM,EAAE8Y,OAAO,CAACgF;AAAlB,iBAAX,EAA+C,UAACxX,CAAD,EAAIsJ,CAAJ,EAAU;AAC9D,sBAAMoO,aAAa,GAAGD,cAAc,SAAd,IAAAA,cAAc,WAAd,GAAAA,cAAA,GAAkBjK,QAAQ,CAACkK,aAAT,CAAuB/d,IAAvB,CAA4B,UAAAC,CAAC;AAAA,2BAAIA,CAAC,CAACqT,KAAF,IAAW3D,CAAC,GAAG,CAAnB;AAAA,mBAA7B,CAAxC;AACA,yBAAO;AACLrT,yBAAK,YAAKqT,CAAC,GAAG,CAAT,CADA;AAELwH,6BAAS,EAAE4G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE5G,SAFrB;AAGLC,6BAAS,EAAE2G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE3G,SAHrB;AAILa,8BAAU,EAAE,CAAC,EAAC8F,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE5G,SAAhB,CAAD,IAA8B,CAAC,EAAC4G,aAAa,SAAb,IAAAA,aAAa,WAAb,GAAa,MAAb,GAAAA,aAAa,CAAE3G,SAAhB;AAJtC,mBAAP;AAMD,iBARM,CAAP;AASD;AACF,aAzBD,CAHY,CAAhB;AA6BD;;;iBAEO,mBAAU;AAAA;;AAChB,iBAAKiG,gBAAL,GAAwB,IAAxB;AACA,kEAAS,CACP,KAAK+Z,sBAAL,CAA4Bwb,uBAA5B,CACE,KAAK/jB,aAAL,CAAmBI,aAAnB,CAAiCnW,QADnC,EAEE,KAAKS,SAAL,CAAeD,YAFjB,EAGE,KAAK8Y,QAAL,IAAiB,KAAKvD,aAAL,CAAmBgkB,eAHtC,EAIE,KAAKb,aAJP,CADO,EAMP,KAAKG,cAAL,GACE,gDAAG,IAAH,CADF,GAEE,KAAK/a,sBAAL,CAA4ByuC,YAA5B,CAAyC,KAAKtsD,SAAL,CAAetW,EAAxD,CARK,CAAT,EASGkD,IATH,CAUE,uDAAU,KAAKC,QAAf,CAVF,EAWE,sDAAS,YAAM;AACb,sBAAI,CAACiX,gBAAL,GAAwB,KAAxB;AACD,aAFD,CAXF,EAcE1e,SAdF,CAcY,UAACu9B,OAAD,EAAa;AACvB,sBAAI,CAACgW,WAAL,CAAiBhW,OAAO,CAAC,CAAD,CAAxB,EAA6BA,OAAO,CAAC,CAAD,CAApC;AACD,aAhBD;AAiBD;;;iBACO,qBAAYtgC,IAAZ,EAAwC2pE,SAAxC,EAA0D;AAAA;;;;AAChE,gBAAIxkC,KAAJ;;AACA,gBAAIwkC,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAExlE,MAAf,EAAuB;AACrB,mBAAKwlE,SAAL,GAAiBA,SAAjB;AACAxkC,mBAAK,GAAGwkC,SAAS,CAAC9kE,GAAV,CAAc,UAACuX,UAAD,EAAgB;;;AACpC,oBAAM8tD,gBAAgB,GAAG,OAAAlqE,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEklC,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAE9gC,IAAF,CAAO,UAAAC,CAAC;AAAA,yBAAIA,CAAC,CAAC8gC,KAAF,CAAQ,CAAR,EAAWx0B,GAAX,KAAkByL,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAEgpB,IAAZ,CAAiB,CAAjB,EAAoBz0B,GAAtC,CAAJ;AAAA,iBAAR,CAAf,KAAyE,KAAlG;AACA,uBAAO,QAAI,CAAC0kC,WAAL,CAAiBptC,KAAjB,CAAuB;AAC5BsF,0BAAQ,EAAE,CAAC;AAAE7M,yBAAK,EAAE,CAAC,CAACwpE,gBAAX;AAA6B9hE,4BAAQ,EAAE,QAAI,CAACmuC;AAA5C,mBAAD,CADkB;AAE5BlR,0BAAQ,EAAE,CAACjpB,UAAU,CAACipB,QAAZ,CAFkB;AAG5BD,sBAAI,EAAEhpB,UAAU,CAACgpB;AAHW,iBAAvB,CAAP;AAKD,eAPO,CAAR;AAQD,aAVD,MAUO;AACLD,mBAAK,GAAG,OAAAnlC,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEklC,SAAN,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAErgC,GAAF,CAAM,UAACuX,UAAD,EAAgB;AAC3C,uBAAO,QAAI,CAACi5B,WAAL,CAAiBptC,KAAjB,CAAuB;AAC5BsF,0BAAQ,EAAE,CAAC;AAAE7M,yBAAK,EAAE,IAAT;AAAe0H,4BAAQ,EAAE,QAAI,CAACmuC;AAA9B,mBAAD,CADkB;AAE5BlR,0BAAQ,EAAE,CAACjpB,UAAU,CAACipB,QAAZ,CAFkB;AAG5BD,sBAAI,EAAEhpB,UAAU,CAAC+oB;AAHW,iBAAvB,CAAP;AAKD,eANsB,CAAf,KAMF,EANN;AAOD;;AAGD,iBAAK5D,OAAL,GAAevhC,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEqH,EAArB;AACA,iBAAKM,IAAL,CAAUg7B,UAAV,CAAqB;AACnBsT,sBAAQ,EAAE,CAACj2C,IAAD,GAAQ,KAAR,GAAgB,EAACA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEg2C,OAAP,CADP;AAEnB4zB,sCAAwB,EAAE,CAAA5pE,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE4pE,wBAAN,KAAkC;AAFzC,aAArB;AAIA,iBAAKjiE,IAAL,CAAUwiE,UAAV,CAAqB,WAArB,EAAkC,IAAI,wDAAJ,CAAchlC,KAAd,CAAlC;AACA,iBAAK0kC,cAAL,GAAsB,CAAA7pE,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE6oE,UAAN,IAAmBjmE,IAAI,CAAC+1B,KAAL,CAAW34B,IAAI,CAAC6oE,UAAhB,CAAnB,GAAiD,EAAvE;AACA,iBAAK9mD,WAAL;AACD;;;iBAEO,kCAAyB;AAAA;;AAC/B,gBAAI,CAAC,KAAK0zB,WAAV,EACE,KAAKvrC,iBAAL,CAAuBoQ,eAAvB,CACG/P,IADH,CAEI,oDAAO,UAAAvK,IAAI;AAAA,qBAAI,CAAC,CAACA,IAAN;AAAA,aAAX,CAFJ,EAGI,uDAAU,KAAKwK,QAAf,CAHJ,EAKGzH,SALH,CAKa,UAAA/C,IAAI,EAAI;;;AACjB,kBAAIA,IAAI,CAAC2Q,GAAL,IAAY,WAAhB,EAA6B;AAC3B,sBAAA3Q,IAAI,CAACU,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAEC,OAAF,CAAU,UAAA4C,IAAI,EAAI;;;AAC1B,wBAAAA,IAAI,CAAC6hC,IAAL,MAAS,IAAT,IAAS,aAAT,GAAS,MAAT,GAAS,GAAEzkC,OAAF,CAAU,UAAAykC,IAAI,EAAI;AACzB,2BAAOA,IAAI,CAAC/9B,EAAZ;AACD,mBAFQ,CAAT;AAGD,iBAJS,CAAV;AAKD;;AACD,sBAAI,CAACM,IAAL,CAAUg7B,UAAV,qBACG3iC,IAAI,CAAC2Q,GADR,EACc3Q,IAAI,CAACU,KADnB;AAGD,aAhBH;AAkBH;;;;QAhUiD,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECwB9C;AAAA;AAAA,sBAES,UAFT;;AAA+C;;;;;AAA/C;AAAA,8N,GAAA;AAAA;AAAA;AAAA,gB,GAA0G,4E,GAAA,sQ,GAE1G;AAAA;AAFgF,6BAAyB,KAAzB,CAAyB,OAAzB;AAAhB;;AAAhE,wBAAgF,SAAhF,EAAgE,SAAhE;AAA+E,S,EAAA;AAA/E;AAAA;;AAAA;;AAAA;;AAA0G;;AAAA;AAE1G,S;AAAA;;;uEA3DN;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;+bACE,qJ,GAAA;AAAA;AAAA,gB,EAAA,+L,GACE,oJ,IACE,0K,GAAA,6J,GAAmD,gF,GAAA,sQ,GAGnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;o5CAIJ,yJ,IACE,2K,GAAA,6J,GAAmD,gF,GAAA,sQ,GAGnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA8C;;;;;AAA9C;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8F,EAAA,yV,EAAA;AAAA;AAAA,mK,EAAA;AAAA;AAAA,gB,EAAA,gM,EAAA,2O,EAAA;AAAA;AAAA,gB,EAAA,mN,EAAA,yO,GAEA;AAAA;;AAAA;;;;;;SAAA,E,qHAAA,E,yHAAA,C;;;;aACA,kW,GAAA,yQ,EAAA,2Z,EAAA,gzB,GAIJ,yJ,IACE,2K,GAAA,6J,GAAmD,gF,GAAA,sQ,GAGnD,mlC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA4C;;;;;AAA5C;AAAA,sB,GAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8F,EAAA,yV,EAAA;AAAA;AAAA,mK,EAAA;AAAA;AAAA,gB,EAAA,gM,EAAA,2O,EAAA;AAAA;AAAA,gB,EAAA,mN,EAAA,yO,GAEA;AAAA;;AAAA;;;;;;SAAA,E,qHAAA,E,yHAAA,C;;;;aACA,kW,GAAA,yQ,EAAA,2Z,EAAA,+yB,GAIJ,gJ,IACE,4K,GAAA,8J,GAAmD,iF,GAAA,sQ,GAGnD,olC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;w5CAIJ,gJ,IACE,4K,GAAA,8J,GAAmD,iF,GAAA,sQ,GAGnD,olC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;w5CAIJ,iL,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,8N,GAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,EAA3C,sX,EAAA;AAAA;AAAA,gB,EAA2C;AAAA;AAAA,U,GAAqC,8E,GAAA,sQ,GAGhF,+H,GAAA;AAAA;AAAA,gB,GAES;AAAA;AA3DT,6BAAkB,KAAlB;;AAAN,wBAAM,SAAN;;AACO,6BAAgB,KAAhB,CAAgB,GAAhB;;AAAL,wBAAK,SAAL;;AAKoB;;AAAhB,yBAAgB,UAAhB;;AACmE;;AAAjE,yBAAiE,UAAjE;;AAAA;;AAQc;;AAAhB,yBAAgB,UAAhB;;AACkB;;AACd,8BAAmC,KAAnC,CAAmC,QAAnC,CAAmC,OAAnC,CAAmC,KAAnC;;AADF,yBAAgB,UAAhB,EACE,UADF;;AAA2E;;AAA3E,yBAA2E,UAA3E;;AACsC;;AADtC,yBACsC,UADtC;;AAEqC;;AAArC,yBAAqC,WAArC;;AASc;;AAAhB,yBAAgB,WAAhB;;AACkB;;AACd,+BAAqC,KAArC,CAAqC,QAArC,CAAqC,SAArC,CAAqC,KAArC;;AADF,yBAAgB,WAAhB,EACE,WADF;;AAAuE;;AAAvE,yBAAuE,WAAvE;;AACwC;;AADxC,yBACwC,WADxC;;AAEqC;;AAArC,yBAAqC,WAArC;;AASc;;AAAhB,0BAAgB,WAAhB;;AACkB;;AAAhB,0BAAgB,WAAhB;;AAAA;;AAQc;;AAAhB,0BAAgB,WAAhB;;AACkB;;AAAhB,0BAAgB,WAAhB;;AAAA;;AAKyC,gDAAoC,KAApC,CAAoC,QAApC;;AAA3C,0BAA2C,WAA3C;;AAA2C,gDAAoC,KAApC,CAAoC,QAApC;;AAA3C,0BAA2C,WAA3C;;AAGQ,gCAAsB,KAAtB,CAAsB,QAAtB;;AAAR,0BAAQ,WAAR;AAA8B,S,EAAA;AAzDpC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAEuD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAMiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAMiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKiD;;AAAA;;AAGnD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKF;AAAA;;AAAA;;AAAA;;AAAgF;;AAAA;AAEhF,S;AAAA;;;uEAxDN,+H,GAAA;AAAA;AAAA,gB,GA8DO;AAAA;AA9DkB,6BAAY,KAAZ;;AAAzB,wBAAyB,SAAzB;AAAqC,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;AC0DrC;AAAA;;;AAAA;AAAA;AAAA;;UAAa0pE,+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECxDL,yH,IACI,iJ,IAA0B,+E,GAAA,sQ,GAEtB,+I,IAA4B,I,EAAA;AAFN;;AAAA;AAEtB,S;AAAA;;;uEAIR,yH,IACI,8I,IAAuB,+E,GAAA,sQ,GAEnB,uJ,IAAoC,I,EAAA;AAFjB;;AAAA;AAEnB,S;AAAA;;;uEAZhB,oK,IACI,4I,GAAA;AAAA;AAAA,gB,GACI,+H,GAAA;AAAA;AAAA,gB,GAOA,+H,GAAA;AAAA;AAAA,gB,GAKe;AAAA;AAbE,6BAAmB,OAAnB;;AAArB,wBAAqB,SAArB;;AACkB,6BAA0C,gBAA1C,CAA0C,UAA1C;;AAAd,wBAAc,SAAd;;AAOc,6BAAwC,gBAAxC,CAAwC,QAAxC;;AAAd,wBAAc,SAAd;AAAsD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECP1D,0H,IACE,mK,IACE,6Y,GAAA;AAAA;AAAA,kG,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA,qP,GACE;AAAA;AAAA;;AAAA;;;;;AAA4D;;;;;AAA5D;AAAA,wP,GAAA;AAAA;AAAA,gB,GAAqF,4E,GAAA,sQ,GAIrF;AAAA;AAAA;;AAAA;;;;;AAAyD;;;;;AAAzD;AAAA,wP,GAAA;AAAA;AAAA,gB,GAAkF,6E,GAAA,sQ,GAKtF,wH,IAAM;AAVqC;AAAoB;;AAA7D,wBAAyC,SAAzC,EAA6D,SAA7D;;AACmC;;AAAjC,wBAAiC,UAAjC;;AAIkC;;AAAlC,yBAAkC,UAAlC;AAAwD,S,EAAA;AAL1D;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAqF;;AAAA;;AAIrF;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAkF;;AAAA;AAElF,S;AAAA;;;uEASA,iX,GAAA,2Q,GAAA;AAAA;AAAqE,S,EAAA,I;AAAA;;;uEACrE,mX,GAAA,4Q,GAAA;AAAA;AAA8D,S,EAAA,I;AAAA;;;uEAW5D,we,GAAA;AAAA;AAAA;AAAA,gB,GAC2F;AAAA;AADrC,6BAAsB,OAAtB,CAAsB,EAAtB;AAAzB;;AAA7B,wBAAsD,SAAtD,EAA6B,SAA7B;AAAqD,S,EAAA,I;AAAA;;;uEAGnD,ga,GAAA;AAAA;AAAA;AAAA,gB,GAA+F;AAAA;AAA/C,6BAAsB,OAAtB,CAAsB,EAAtB;AAAzB;;AAAvB,wBAAgD,SAAhD,EAAuB,SAAvB;AAA+C,S,EAAA,I;AAAA;;;uEAJnD,yH,IACE,2H,GAAA;AAAA;AAAA;AAAA,gB,EACE,yL,GACF,oI,IAEc;AAAA;AAHZ;AAAA;;AAAA;;AADF,wBACE,SADF,EACE,SADF;AAC4D,S,EAAA,I;AAAA;;;uEAM9D,ga,GAAA;AAAA;AAAA;AAAA,gB,GACiD;AAAA;AAA/C,6BAAsB,OAAtB,CAAsB,EAAtB;AADsC;;AAAxC,wBACE,SADF,EAAwC,SAAxC;AAAgE,S,EAAA,I;AAAA;;;uEATlE,yH,GAAA;AAAA;AAAA,gB,GACE,2H,GAAA;AAAA;AAAA,gB,GAQA,4H,GAAA,gV,GACiD,4E,IAAA;AAVtB,4BAAoC,OAApC,CAAoC,MAApC,CAAoC,MAApC,CAAoC,OAApC,CAAoC,IAApC,CAAoC,aAApC;;AAA7B,wBAA6B,SAA7B;;AACgB;;AAAd,wBAAc,SAAd;AAAqC,S,EAAA,I;AAAA;;;uEANzC,oU,GAAA,+R,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE;AAAA;AAAA,sBAE8C,UAF9C;;AAEE;;;;;AAFF;AAAA,gQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,oH,EAAA;AAAA;AAAA,oH,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAIA,wH,GAAA;AAAA;AAAA,gB,GAWe,4E,IAAA;AAAA;;AAhBjB;;AACwB;AAAuB;AAC3C,4BAAkD,OAAlD,CAAkD,OAAlD,CAAkD,IAAlD,CAAkD,aAAlD,CAAkD,QAAlD;AAAmD,6BAAuC,OAAvC,CAAuC,MAAvC,CAAuC,OAAvC,CAAuC,IAAvC,CAAuC,YAAvC;;AADrD,wBAAsB,SAAtB,EAA6C,SAA7C,EACE,SADF,EACqD,UADrD;;AAEE,8BAAoB,OAApB;;AAFF,wBAEE,UAFF;;AAIc,8BAAc,OAAd;;AAAd,yBAAc,UAAd;AAA4B,S,EAAA;AAJ5B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAE8C,S;AAAA;;;uEA3BpD,0H,IACE,2H,GAAA;AAAA;AAAA,gB,GAeA;AAAA;AAAA,sBA0BgB,UA1BhB;;AAAsC;;;;;AAAtC;AAAA,gO,GAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,kN,GACE,mU,GAAA,+R,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,uH,GAAA;AAAA;AAAA,gB,GACE,2H,GAAA;AAAA;AAAA,gB,GACA,2H,GAAA,iV,GAIJ,2H,GAAA;AAAA;AAAA,gB,GAiBU;AAAA;AAxCE;;AAAd,wBAAc,SAAd;;AAesC,6BAA8B,WAA9B;;AAAtC,wBAAsC,SAAtC;;AACE;;AACgB,4BAAoC,OAApC,CAAoC,OAApC,CAAoC,IAApC,CAAoC,aAApC;;AAAd,yBAAc,SAAd;;AACwB;;AAAtB,yBAAsB,SAAtB;;AAKK;;AAAT,yBAAS,SAAT;AAA6F,S,EAAA;AAR/F;;AAAA;;AAAA;AA0BgB,S;AAAA;;;uEA3CpB,kK,IACE,2H,GAAA;AAAA;AAAA,gB,EAAc,yL,GAAA;AAAA;;AAAA,8JAAiD,gBAAjD;;AAAd,wBAAc,SAAd;AAA+D,S,EAAA,I;AAAA;;;uEADjE,2H,GAAA;AAAA;AAAA,gB,EAA2C,yL,GAAA;AAAA;;AAAA,8JAAuC,WAAvC;;AAA3C,wBAA2C,SAA3C;AAAkF,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACAlF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;ACCA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,UAAMpjE,iBAAiB,GAA8B;AACnDV,YAAI,EAAE,YAD6C;AAEnDW,gBAAQ,EAAE,YAFyC;AAGnDC,aAAK,EAAE;AAH4C,OAArD;;AAeO,eAASmjE,0BAAT,CAAoCjjE,QAApC,EAAwD;AAC7D,wFAA8BJ,iBAA9B,EAAiD,wEAAjD,EAAqEI,QAArE;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBD;AAAA;;;AAAA;AAAA;AAAA;;UAAakjE,kB;;;;;;;;;;;;;;;;;;;ACLb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA0BaC,uB;;;;;AAwBX,yCACUxlD,iBADV,EAES9lB,gBAFT,EAE2C;AAAA;;AAAA;;AAEzC;AAHQ,mBAAA8lB,iBAAA,GAAAA,iBAAA;AACD,mBAAA9lB,gBAAA,GAAAA,gBAAA;AAzBC,mBAAAurE,eAAA,GAAkB,IAAI,0DAAJ,EAAlB;AACD,mBAAAt6C,UAAA,GAA2B,EAA3B;AAET,mBAAAu6C,YAAA,GAA2B,IAA3B;AACA,mBAAAx/D,WAAA,GAAc,IAAI,mEAAJ,CAAkC,UAACC,IAAD;AAAA,mBAAUA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEw/D,WAAhB;AAAA,WAAlC,CAAd;;AAIS,mBAAAt/D,QAAA,GAAW,UAACX,CAAD,EAAYS,IAAZ,EAAiC;AACnD,gBAAI,SAAKy/D,QAAL,KAAkB,sGAAc7jE,KAApC,EAA2C;AACzC,qBAAO,CAAC,CAACoE,IAAI,CAACw/D,WAAP,IAAsB,CAAC,CAACx/D,IAAI,CAACw/D,WAAL,CAAiBvmE,MAAhD;AACD;;AACD,mBACE,CAAC,CAAC+G,IAAI,CAACw/D,WAAP,IACAx/D,IAAI,CAACw/D,WAAL,CAAiBnhE,MAAjB,CAAwB,UAAC0b,GAAD;AAAA,qBAASA,GAAG,CAACvD,aAAJ,KAAsB,qDAA/B;AAAA,aAAxB,EAAuEvd,MAAvE,GAAgF,CAFlF;AAID,WARQ,CAiBkC,CAP3C;AACA;;;AACS,mBAAAkH,OAAA,GAAU,UAACZ,CAAD,EAAYS,IAAZ;AAAA,mBAAiCA,IAAI,CAAC7D,EAAtC;AAAA,WAAV;;AAQN,mBAAKpI,gBAAL,CAAsBiK,YAAtB,CACEqB,IADF,CAEG,uDAAU;AACRpB,gBAAI,EAAE,SAAKlK,gBAAL,CAAsBgK;AADpB,WAAV,CAFH,EAKG,uDAAU,SAAKuB,QAAf,CALH,EAOEzH,SAPF,CAOY,UAACqM,GAAD,EAAS;AAClB,qBAAKjG,IAAL,GAAYiG,GAAG,CAACjG,IAAhB;AACD,WATF;;AAHwC;AAa1C;;;;iBAED,oBAAQ;AACN,iBAAKwD,UAAL,GAAkB,IAAI,8EAAJ,EAAlB;AACA,iBAAKA,UAAL,CAAgB3M,IAAhB,GAAuB,KAAKkwB,UAA5B;AACD;;;iBACD,qBAAY9mB,OAAZ,EAAkC;AAChC,gBAAIA,OAAO,CAAC8mB,UAAR,IAAsB,KAAKvjB,UAA/B,EAA2C;AACzC,mBAAKA,UAAL,CAAgB3M,IAAhB,GAAuB,IAAvB;AACA,mBAAK2M,UAAL,CAAgB3M,IAAhB,GAAuBoJ,OAAO,CAAC8mB,UAAR,CAAmB1E,YAA1C;AACA,mBAAKo/C,MAAL,CAAY,KAAKj+D,UAAL,CAAgB3M,IAA5B,EAAkC,KAAKyqE,YAAL,CAAkBpjE,EAApD;AACD;AACF;;;iBAED,oBAAW6D,IAAX,EAA6B;;;AAC3B,gBAAI,YAAKu/D,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAEpjE,EAAnB,OAA0B6D,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE7D,EAAhC,CAAJ,EAAwC;AACtC,mBAAKojE,YAAL,GAAoBv/D,IAApB;AACA,mBAAKs/D,eAAL,CAAqB3pE,IAArB,CAA0BqK,IAA1B;AACD;AACF;;;iBAED,gBAAOlL,IAAP,EAA2BqH,EAA3B,EAAqC;AAAA;;AACnCrH,gBAAI,CAACW,OAAL,CAAa,UAACuK,IAAD,EAAU;AACrB,kBAAIA,IAAI,CAACw/D,WAAL,IAAoBx/D,IAAI,CAACw/D,WAAL,CAAiBtmE,IAAjB,CAAsB,UAAC6N,CAAD;AAAA,uBAAOA,CAAC,CAAC5K,EAAF,KAASA,EAAhB;AAAA,eAAtB,CAAxB,EAAmE;AACjE,wBAAI,CAAC4D,WAAL,CAAiB2/D,MAAjB,CAAwB1/D,IAAxB;;AACA,wBAAI,CAAC0/D,MAAL,CAAY,QAAI,CAACj+D,UAAL,CAAgB3M,IAA5B,EAAkCkL,IAAI,CAAC7D,EAAvC;AACD,eAHD,MAGO,IAAI6D,IAAI,CAACw/D,WAAL,IAAoBx/D,IAAI,CAACw/D,WAAL,CAAiBtmE,IAAjB,CAAsB,UAAC6N,CAAD;AAAA,uBAAOA,CAAC,CAACy4D,WAAT;AAAA,eAAtB,CAAxB,EAAqE;AAC1E,wBAAI,CAACE,MAAL,CAAY1/D,IAAI,CAACw/D,WAAjB,EAA8BrjE,EAA9B;AACD;AACF,aAPD;AAQD;;;;QArE0C,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECIb;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA6C,4E,GAAA,sQ,GAE7C;AAFY;;AAAZ,wBAAY,SAAZ;AAAoB,S,EAAA;AAApB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA6C;;AAAA;AAE7C,S;AAAA;;;uEACA;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAgE,4E,IAEhE;AAF2C,4BAAoB,QAApB,CAAoB,SAApB,CAAoB,GAApB;;AAA3C,wBAA2C,SAA3C;AAA+D,S,EAAA;AAA/D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAgE;;AAAA;AAEhE,S;AAAA;;;uEANJ,yH,IACI,uH,GAAA;AAAA;AAAA,gB,GAGA,uH,GAAA;AAAA;AAAA,gB,GAEa,4E,IAAA;AAAA;AALQ,8BAAuB,QAAvB,CAAuB,MAAvB;;AAArB,wBAAqB,SAArB;;AAGY,6BAA8B,QAA9B;;AAAZ,wBAAY,SAAZ;AAA0C,S,EAAA,I;AAAA;;;uEAK1C;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBACI,uK,IACI,yH,IAAM,oF,IAAU;AAFZ;;AAAZ,wBAAY,SAAZ;AAAoB,S,EAAA;AAApB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIa,S;AAAA;;;uEAlB7B,kJ,IACI,ilC,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;AACI;;;;;AAAqC;;;;;AADzC;AAAA,gO,GAAA,+N,EAAA;AAAA;AAAA,gB,EAAA,uM,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAY,sQ,EAAZ,qN,EAAA,yO,GAGI,oH,GAAA;AAAA;AAAA;AAAA,gB,GAQA,yH,IAMc;AAAA;AAlBN;;AAAhB,wBAAgB,UAAhB;;AAGQ,8BAAwB,SAAxB;;AAFJ,yBAEI,UAFJ;;AAAY;;AAAZ,yBAAY,UAAZ;;AAGkB;;AAAA;;AAAd,yBAAc,UAAd,EAAc,UAAd;AAA2E,S,EAAA;AAJnF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAkBa,S;AAAA;;;uEA5CrC,oJ,IACI,kJ,IACI;AAAA;AAAA,sBAmBM,UAnBN;;AAAK;;;;;AAAL;AAAA,sB,IACI,yI,IACI,2I,IAAoB,6E,IACpB,2Y,GAAA;AAAA;AAAA,gB,EAEI,sQ,EAFJ;AAAA;AAAA;AAAA,gB,GAKJ,kJ,IACI,iJ,IACI,wH,IAAI,8E,IAGR,gJ,IACI,0I,IAGR,wH,IACA,wH,IAEJ;AAAA;AAAA,sBA6BM,UA7BN;;AAAoB;;;;;AAApB;AAAA,sB,IACI,sJ,IACI,uH,GAAA;AAAA;AAAA,gB,GAyBJ,qW,GAAA;AAAA;AAAA,gB,GACwB;AAAA;;AA3ChB;;AAFJ,wBAEI,SAFJ;;AAAe;;AAAgC;;AAA/C,wBAAe,SAAf,EAA+C,SAA/C;;AAmB0B,oEAA+D,SAA/D,CAA+D,WAA/D;;AAA1B,yBAA0B,SAA1B;;AAyBmB;;AAAvB,yBAAuB,SAAvB;AAAkG,S,EAAA;AAAA;AA7C1E;;AAAA;;AAEhB;;AADJ,wBACI,SADJ;;AAOQ;;AAAA;;AAIC;;AAAL,yBAAK,SAAL;AAAmD,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECfrE,yH,IACE,8L,GAAA,4J,GAAuE,+E,GAAA,sQ,GAGvE;AAAA;AAAA,sBAEW,UAFX;;AACE;;;;;AADF;AAAA,wN,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAA2C;AAAA;AAAA,U,EAA3C;AAAA;AAAA,mE,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,wL,EAAA,mN,GAEW;AAAA;AAF6D;;AAAxE,wBAAwE,SAAxE;;AAA2C;;AACQ;;AADnD,wBAA2C,UAA3C,EACmD,UADnD;;AAAU;AACR,8BAAgD,SAAhD,CAAgD,yBAAhD;;AADF,yBAAU,UAAV,EACE,UADF;AACkD,S,EAAA;AAJqB;;AAAA;;AAGvE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEW,S;AAAA;;;uEAST,oe,GAAA,oa,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GACE,sK,IAAkD,+E,IAElD,I,EAAA;AAHF;;AAAA;;AAAA;;AAAA;;AACoD;;AAAA;AAElD,S;AAAA;;;uEARN,0H,IACE,+K,GAAA,4J,GAAwD,+E,GAAA,wD,EAAA,wD,EAAA,wL,GAGxD,+W,GAAA,uM,EAAA,8M,GACE,6H,GAAA;AAAA;AAAA,gB,GAKA,2f,GAAA,6J,GAEF,wH,IAAK;AAPY,4BAA0C,QAA1C,CAA0C,SAA1C,CAA0C,OAA1C;;AAAf,yBAAe,SAAf;AAAyD,S,EAAA;AAJH;;AAAA;;AAStD;;AAAA;;AAAA;;AAAA;;AAAA;AAA2B,S;AAAA;;;uEArBjC,yH,IACE,gI,GAAA;AAAA;AAAA,gB,GASA,uH,IACA,gI,GAAA;AAAA;AAAA,gB,GAae,4E,IAAA;AAAA;AAvBV,2DAA+C,SAA/C,CAA+C,6BAA/C;;AAAL,wBAAK,SAAL;;AAUc,6BAAqD,SAArD,CAAqD,cAArD;;AAAd,wBAAc,SAAd;AAAmE,S,EAAA,I;AAAA;;;qPAXrE,gI,GAAA;AAAA;AAAA,gB,EAAc,wL,GAAA;AAAA;;AAAA,8JAAmC,SAAnC;;AAAd,wBAAc,SAAd;AAAiD,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAjD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECAA,kJ,IACE,0gB,GAAA;AAAA;AAAA,gB,GAA2C;AAA9B;;AAAb,wBAAa,SAAb;AAA4B,S,EAAA;AAA5B;;AAAA;;AAAA;;AAAA;AAA2C,S;AAAA;;;uEAsBvC;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAiE,4E,GAAA,sQ,GAEjE;AAF0C,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAA1C,wBAA0C,SAA1C;AAAgE,S,EAAA;AAAhE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAiE;;AAAA;AAEjE,S;AAAA;;;uEAQE;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAwE,4E,GAAA,sQ,GAExE;AAFiD,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAAjD,wBAAiD,SAAjD;AAAuE,S,EAAA;AAAvE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAwE;;AAAA;AAExE,S;AAAA;;;uEAOA;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAwE,4E,GAAA,sQ,GAExE;AAFiD,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAAjD,wBAAiD,SAAjD;AAAuE,S,EAAA;AAAvE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAwE;;AAAA;AAExE,S;AAAA;;;uEAfN,0H,IACE,gkC,GAAA,wtB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,4H,GAAA,4K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;kdACE,yH,GAAA;AAAA;AAAA,gB,GAMJ,ikC,GAAA,ytB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,4H,GAAA,4K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;kdACE,yH,GAAA;AAAA;AAAA,gB,GAEa;AAZH;;AAAZ,yBAAY,UAAZ;;AAAA;;AACc,6BAAoC,QAApC,CAAoC,IAApC;;AAAZ,yBAAY,UAAZ;;AAQU;;AAAZ,yBAAY,UAAZ;;AAAA;;AACc,6BAAoC,QAApC,CAAoC,IAApC;;AAAZ,yBAAY,UAAZ;AAAgD,S,EAAA;AAZpD;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIa,S;AAAA;;;uEAOb;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAyE,4E,GAAA,sQ,GAEzE;AAFkD,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAAlD,wBAAkD,SAAlD;AAAwE,S,EAAA;AAAxE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAyE;;AAAA;AAEzE,S;AAAA;;;uEAOA;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAsF,4E,GAAA,sQ,GAEtF;AAF+D,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAA/D,wBAA+D,SAA/D;AAAqF,S,EAAA;AAArF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAsF;;AAAA;AAEtF,S;AAAA;;;uEALJ,gkC,GAAA,wtB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,4H,GAAA,4K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;kdACE,yH,GAAA;AAAA;AAAA,gB,EAAY,wL,GAAkD;AAAA;AADpD;;AAAZ,yBAAY,UAAZ;;AAAA;;AACc,iKAAkD,oBAAlD;;AAAZ,yBAAY,UAAZ;AAA8D,S,EAAA;AAHlE;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIa,S;AAAA;;;uEAWX;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA6E,4E,GAAA,sQ,GAE7E;AAFsD,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAAtD,wBAAsD,SAAtD;AAA4E,S,EAAA;AAA5E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA6E;;AAAA;AAE7E,S;AAAA;;;uEAYA;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAoF,4E,GAAA,sQ,GAEpF;AAF6D,4BAAsB,QAAtB,CAAsB,SAAtB,CAAsB,KAAtB;;AAA7D,wBAA6D,SAA7D;AAAmF,S,EAAA;AAAnF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAoF;;AAAA;AAEpF,S;AAAA;;;uEA3FN,4H,GAAA;AAAA;AAAA,gB,GAGA;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;mcAEE,gkC,GAAA,wtB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,4H,GAAA,0K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;25CAGF,ikC,GAAA,ytB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,4H,GAAA,4K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;65CAGF,ikC,GAAA,ytB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,4H,GAAA,4K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;65CAGF,ikC,GAAA,ytB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,4H,GAAA,4K,GAAW,8E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;mdACE,yH,GAAA;AAAA;AAAA,gB,GAMJ,4H,GAAA;AAAA;AAAA,gB,EAAc,wL,GAoBd,kkC,GAAA,0tB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,6H,GAAA,6K,GAAW,+E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;mdACE,yH,GAAA;AAAA;AAAA,gB,GAMJ,4H,GAAA;AAAA;AAAA,gB,GASA,kkC,GAAA,0tB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,6H,GAAA,6K,GAAW,+E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;+5CAGF,kkC,GAAA,0tB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,6H,GAAA,8K,GAAW,+E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;mdACE,yH,GAAA;AAAA;AAAA,gB,EAAY,wL,GAMhB,kkC,GAAA,0tB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,6H,GAAA,+K,GAAW,+E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;i6CAGF,kkC,GAAA,0tB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,gO,GACE,6H,GAAA,+K,GAAW,+E,GAAA,sQ,GACX;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;qdACE,0H,GAAA;AAAA;AAAA,gB,EAAY,wL,GAMhB,2K,IACE;AAAA;AAAA,sBAES,UAFT;;AAAwC;;;;;AAAxC;AAAA,gO,GAAA;AAAA;AAAA,gB,GAA2F,8E,GAAA,sQ,GAG3F;AAAA;AAAA,sBAES,UAFT;;AAAwB;;;;;AAAxB;AAAA,gO,GAAA,wX,GAAqE,8E,GAAA,sQ,GAErE;AAAA;AArGuB,6BAAwB,iBAAxB;;AAA3B,wBAA2B,SAA3B;;AAG6B,6BAAyB,YAAzB;;AAA7B,wBAA6B,SAA7B;;AAIoB;;AAAhB,yBAAgB,UAAhB;;AAAA;;AAKgB;;AAAhB,yBAAgB,UAAhB;;AAAA;;AAKgB;;AAAhB,yBAAgB,WAAhB;;AAAA;;AAKY;;AAAZ,yBAAY,WAAZ;;AAAA;;AACc,+BAA6B,OAA7B;;AAAZ,0BAAY,WAAZ;;AAMU,oKAA+C,eAA/C;;AAAd,0BAAc,WAAd;;AAsBc;;AAAZ,0BAAY,WAAZ;;AAAA;;AACc,+BAAqC,eAArC;;AAAZ,0BAAY,WAAZ;;AAM6B;;AAAjC,0BAAiC,WAAjC;;AAWkB;;AAAhB,0BAAgB,WAAhB;;AAAA;;AAKY;;AAAZ,0BAAY,WAAZ;;AAAA;;AACc,oKAAyC,WAAzC;;AAAZ,0BAAY,WAAZ;;AAQc;;AAAhB,0BAAgB,WAAhB;;AAAA;;AAKY;;AAAZ,0BAAY,WAAZ;;AAAA;;AACc,oKAAgD,kBAAhD;;AAAZ,0BAAY,WAAZ;;AAOsB;;AAAxB,0BAAwB,WAAxB;AAAuC,S,EAAA;AA7F3C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEE;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AA2BF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAgBF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACa;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQA;AAAA;;AAAA;;AAAA;;AAA2F;;A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AAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAA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","file":"main-es5.js","sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { forkJoin, Subscription } from \"rxjs\";\r\nimport { showToast } from \"../../toast.helper\";\r\nimport { ClassificationIndicator, ClassificationStatus, ManagersNotes } from \"../models/classification-indicators.model\";\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { SortHelper } from \"../../../helpers/sort.helper\";\r\nimport { replacer } from \"../../../helpers/json.helper\";\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport { MatMenuTrigger } from \"@angular/material/menu\";\r\nimport { ResourceNameService } from \"dp-formio\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-classification-comments',\r\n templateUrl: './classification-comments.component.html',\r\n // styleUrls: ['./classification-comments.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ClassificationCommentsComponent implements OnInit, OnDestroy {\r\n @Input() data: any;\r\n @Input() indicator: ClassificationIndicator;\r\n @Input() dir: 'rtl' | 'ltr';\r\n @Input() domainId: string;\r\n @Input() questionId: string;\r\n @Output() onClose = new EventEmitter();\r\n @Output() onHistoryUpdated = new EventEmitter();\r\n @ViewChild('messageElement') messageElement: ElementRef;\r\n @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger;\r\n\r\n message = '';\r\n managersNotes: ManagersNotes[] = [];\r\n loading = false;\r\n hasMessageFromSameTask = false;\r\n editing: ManagersNotes;\r\n deleteComment = false;\r\n\r\n limit = 10;\r\n skip = 0;\r\n totalRecords = 0;\r\n lastScrollHeight = 0;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n get taskId() {\r\n return this.data.formData?.taskId || this.data.formData?.taskResource?.data?.taskId;\r\n }\r\n\r\n constructor(private toastrService: ToastrService,\r\n private resourceNameService: ResourceNameService,\r\n private translateService: TranslateService) {\r\n }\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n inputKeyup() {\r\n this.messageElement.nativeElement.style.height = this.calcHeight(this.messageElement.nativeElement.value) + \"px\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n }\r\n\r\n send() {\r\n if (!this.message || this.loading || (this.hasMessageFromSameTask && !this.editing)) return;\r\n if (this.editing) {\r\n this.updateComment();\r\n return;\r\n }\r\n\r\n const comment = new ManagersNotes();\r\n comment.questionSubmissionId = this.questionId;\r\n comment.requestId = this.data.formData?.requestId || this.data.formData?.requestDetails?.data?.varRequestId;\r\n comment.taskId = this.taskId;\r\n comment.userName = this.data.formData?.currentUser_preferred_username;\r\n comment.givenName = this.data.formData?.currentUser_name;\r\n comment.email = this.data.formData?.currentUser_email;\r\n comment.role = this.data.formData?.currentUser_roles?.join();\r\n comment.roleByTask = this.getRoleBytask();\r\n comment.message = this.message;\r\n delete comment._id;\r\n delete comment.fromMe;\r\n\r\n const history = this.initHistoryMap(this.indicator._id, this.domainId, this.questionId, this.taskId);\r\n const calls = [\r\n this.resourceNameService.addSubmission(this.data.customOptions.managersNotes, { data: comment }),\r\n this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n this.indicator._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/history\",\r\n \"value\": JSON.stringify(history, replacer)\r\n }\r\n ])\r\n ];\r\n\r\n this.loading = true;\r\n this.sub = forkJoin(calls)\r\n .subscribe((data: any[]) => {\r\n this.message = '';\r\n this.resetInput();\r\n comment._id = data[0]._id;\r\n comment.created = data[0].created;\r\n comment.fromMe = true;\r\n this.managersNotes.push(comment);\r\n this.hasMessageFromSameTask = true;\r\n this.indicator.history = history;\r\n this.onHistoryUpdated.emit();\r\n\r\n this.scrollToBottom();\r\n this.loading = false;\r\n setTimeout(() => { this.messageElement.nativeElement.focus(); });\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n edit(item: ManagersNotes, event) {\r\n event.stopPropagation();\r\n this.menuTrigger.closeMenu();\r\n this.editing = _cloneDeep(item);\r\n this.message = this.editing.message;\r\n }\r\n\r\n delete(index: number, item: ManagersNotes, event) {\r\n event.stopPropagation();\r\n this.menuTrigger.closeMenu();\r\n DeleteConfirmationDialog.build(this.data.formioComponent, () => {\r\n const history = this.removeCommentFromHistoryMap(this.indicator._id, this.domainId, this.questionId);\r\n const calls = [\r\n this.resourceNameService.deleteResourceData(this.data.customOptions.managersNotes, item._id),\r\n this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n this.indicator._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/history\",\r\n \"value\": JSON.stringify(history, replacer)\r\n }\r\n ])\r\n ];\r\n\r\n this.loading = true;\r\n this.sub = forkJoin(calls)\r\n .subscribe((data: any[]) => {\r\n this.deleteComment = true;\r\n this.managersNotes.splice(index, 1);\r\n this.indicator.history = history;\r\n this.hasMessageFromSameTask = false;\r\n this.onHistoryUpdated.emit();\r\n this.loading = false;\r\n setTimeout(() => { this.messageElement.nativeElement.focus(); });\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }, null, 'Are you sure to delete this item');\r\n }\r\n\r\n onScroll(event) {\r\n if (!this.deleteComment && event.target.scrollTop == 0 && this.managersNotes.length < this.totalRecords) {\r\n this.skip += 10;\r\n this.loadData(true);\r\n }\r\n this.deleteComment = false;\r\n }\r\n\r\n trackByFn(index: number, comment: ManagersNotes): string {\r\n return comment._id;\r\n }\r\n\r\n private updateComment() {\r\n this.loading = true;\r\n this.sub = this.resourceNameService.patchSubmission(this.data.customOptions.managersNotes,\r\n this.editing._id, [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/message\",\r\n \"value\": this.editing.message\r\n }]).subscribe((data: any[]) => {\r\n this.managersNotes.find(q => q._id == this.editing._id).message = this.message;\r\n this.message = '';\r\n this.editing = null;\r\n\r\n this.scrollToBottom();\r\n this.loading = false;\r\n setTimeout(() => { this.messageElement.nativeElement.focus(); });\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private loadData(loadMore: boolean = false) {\r\n this.loading = true;\r\n const submission = _cloneDeep(this.data.submission);\r\n submission.questionSubmissionId = this.questionId;\r\n const query = Evaluator.interpolate(this.data.customOptions.managersNotesQuery, { data: submission }) + `&sort=-created&skip=${this.skip}&limit=${this.limit}`;\r\n this.sub = this.resourceNameService.loadPage(this.data.customOptions.managersNotes, query)\r\n .subscribe(data => {\r\n if (loadMore) {\r\n const newCommets = data.data.map(q => {\r\n q = { ...q.data, created: q.created, _id: q._id };\r\n const message = new ManagersNotes();\r\n SortHelper.copyProps(q, message);\r\n message.fromMe = message.email == this.data.formData?.currentUser_email\r\n return message;\r\n });\r\n this.managersNotes = newCommets.reverse().concat(this.managersNotes);\r\n this.scrollToLastComment();\r\n } else {\r\n this.totalRecords = data.totalRecords;\r\n this.managersNotes = data.data.map(q => {\r\n q = { ...q.data, created: q.created, _id: q._id };\r\n const message = new ManagersNotes();\r\n SortHelper.copyProps(q, message);\r\n message.fromMe = message.email == this.data.formData?.currentUser_email\r\n return message;\r\n }).reverse();\r\n this.hasMessageFromSameTask = this.managersNotes.some(q => q.taskId == this.taskId);\r\n this.scrollToBottom();\r\n }\r\n this.loading = false;\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private scrollToLastComment() {\r\n setTimeout(() => {\r\n const container = $('.comments-list-container')[0];\r\n const lastCommentPosition = container.scrollHeight - this.lastScrollHeight;\r\n this.lastScrollHeight = container.scrollHeight;\r\n container.scrollTo({ behavior: 'smooth', top: lastCommentPosition });\r\n });\r\n }\r\n\r\n private scrollToBottom() {\r\n setTimeout(() => {\r\n const container = $('.comments-list-container')[0];\r\n this.lastScrollHeight = container.scrollHeight;\r\n container.scrollTo({ behavior: 'smooth', top: container.scrollHeight });\r\n });\r\n }\r\n\r\n private initHistoryMap(indicatorId: string, domainId: string, questionId: string, taskId: string) {\r\n const indicator = _cloneDeep(this.indicator);\r\n if (!indicator.history.has(indicatorId))\r\n indicator.history.set(indicatorId, new Map());\r\n\r\n if (!indicator.history.get(indicatorId).has(domainId))\r\n indicator.history.get(indicatorId).set(domainId, new Map());\r\n\r\n if (!indicator.history.get(indicatorId).get(domainId).has(questionId))\r\n indicator.history.get(indicatorId).get(domainId).set(questionId, taskId);\r\n return indicator.history;\r\n }\r\n\r\n private removeCommentFromHistoryMap(indicatorId: string, domainId: string, questionId: string) {\r\n const indicator = _cloneDeep(this.indicator);\r\n indicator.history.get(indicatorId).get(domainId).delete(questionId);\r\n if (!indicator.history.get(indicatorId).get(domainId).size) {\r\n indicator.history.get(indicatorId).delete(domainId);\r\n if (!indicator.history.get(indicatorId).size) {\r\n indicator.history.delete(indicatorId);\r\n }\r\n }\r\n return indicator.history;\r\n }\r\n\r\n private getRoleBytask() {\r\n let roleByTask = null;\r\n const currentRoute = this.data.formData?.currentRoute || this.data.formData?.requestDetails?.data?.currentRoute;\r\n if (currentRoute.includes('requests/task/ClassificationDataEntry') || currentRoute.includes('requests/task/classificationRequestUpdateCertificationData'))\r\n roleByTask = 'Classification-DataEntry';\r\n else if (currentRoute.includes('requests/task/ClassificationDataReview'))\r\n roleByTask = 'Classification-Auditor';\r\n else if (currentRoute.includes('requests/task/certificateClassification'))\r\n roleByTask = 'Classification-Commissioner';\r\n else if (currentRoute.includes('ClassificationRequestDetectiveReview/ClassificationRequest'))\r\n roleByTask = 'Classification-Detective';\r\n else if (currentRoute.includes('ClassificationRequestSpecialistReview/ClassificationRequest'))\r\n roleByTask = 'Classification-Specialist';\r\n return roleByTask;\r\n }\r\n\r\n private calcHeight(value) {\r\n let numberOfLineBreaks = (value.match(/\\n/g) || []).length;\r\n // min-height + lines x line-height + padding + border\r\n let newHeight = 20 + numberOfLineBreaks * 20 + 12 + 2;\r\n return newHeight;\r\n }\r\n\r\n private resetInput() {\r\n this.messageElement.nativeElement.style.height = this.calcHeight('') + \"px\";\r\n }\r\n}\r\n","\r\n
\r\n

\r\n {{'forms.common.Add' | translate}} {{ 'forms.common.' + data.name |\r\n translate}}\r\n \r\n \r\n {{'forms.common.Edit' | translate}} {{ 'forms.common.' + data.name | translate}}\r\n {{'forms.common.View' | translate}} {{ 'forms.common.' + data.name | translate}}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {{ 'forms.common.' + item.name | translate}}\r\n \r\n \r\n {{ 'forms.common.' + item.name | translate}} \r\n {{'forms.common.It can not be empty' | translate}}\r\n {{'forms.common.It must be greater or equal to' | translate}} {{formControls.controls[item.name].errors.min.min}}\r\n \r\n {{'forms.common.It must be less than or equal to' | translate}} {{formControls.controls[item.name].errors.max.max}}\r\n \r\n {{'forms.common.contains an invalid value' | translate}}\r\n \r\n \r\n\r\n \r\n {{ 'forms.common.' + item.name | translate}}\r\n \r\n {{ele.data.key}}\r\n \r\n \r\n\r\n
ngSwitchDefault
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
","import { MasarRolesEnum, RolesTypeEnum } from '../model/roles';\r\n\r\nexport function _hasMasarRole(rolesArray: any[]): boolean {\r\n return rolesArray.some((role) =>\r\n Object.values(MasarRolesEnum).includes(role?.replace('ROLE_', ''))\r\n );\r\n}\r\n\r\nexport function _getAccountRolesType(rolesArray: any[]): RolesTypeEnum {\r\n return _hasMasarRole(rolesArray) ? RolesTypeEnum.MASAR : RolesTypeEnum.ITIMAD;\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { OrgWrapperComponent } from './org-wrapper.component';\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'org-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'org-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Org', // Title of the component\r\n};\r\n\r\nexport function registerOrgWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, OrgWrapperComponent, injector);\r\n}\r\n","\r\n {{ members?.length }} group\r\n\r\n\r\n \r\n \r\n - \r\n {{ member.reviewer | getMemberName }}\r\n \r\n \r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{question.displayOrder}}\r\n \r\n {{question.name}}\r\n \r\n\r\n
\r\n \r\n {{question.error}}\r\n \r\n
\r\n
\r\n   \r\n  \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
{{'forms.common.a1' | translate}}\r\n {{item.label}}\r\n
\r\n {{item.score}}\r\n
\r\n {{item.name}}\r\n \r\n\r\n
\r\n \r\n {{item.error}}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {{'forms.common.pattern' | translate}}\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{question.attachmentsTooltip}}\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n *\r\n \r\n  \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { DatePipe } from '@angular/common';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\n\r\n@Component({\r\n selector: 'app-add-edit-executive-plan',\r\n templateUrl: './add-edit-executive-plan.dialog.html',\r\n styleUrls: ['./add-edit-executive-plan.dialog.scss']\r\n})\r\nexport class AddEditExecutivePlanComponent extends BaseComponent {\r\n form: FormGroup;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private datePipe: DatePipe\r\n ) {\r\n super();\r\n this.initForm();\r\n }\r\n\r\n save() {\r\n const data = this.form.value;\r\n data.startDate = this.datePipe.transform(new Date(data.startDate), 'yyyy-MM-dd');\r\n data.endDate = this.datePipe.transform(new Date(data.endDate), 'yyyy-MM-dd');\r\n this.dialogRef.close(data);\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n private initForm() {\r\n this.form = this.fb.group({\r\n id: [this.data.model.id || null],\r\n clause: [{ value: this.data.model.clause || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n startDate: [{ value: this.data.model.startDate || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n endDate: [{ value: this.data.model.endDate || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n responsibleName: [{ value: this.data.model.responsibleName || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n responsiblePosition: [{ value: this.data.model.responsiblePosition || '', disabled: this.data.viewOnly }, [Validators.required]]\r\n });\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { PopoverController } from '@ionic/angular';\r\n\r\n/**\r\n * Sorting Options Popovermenu\r\n */\r\n\r\n@Component({\r\n selector: 'app-notification-options',\r\n templateUrl: './notification-options.component.html',\r\n // styleUrls: ['./notification-options.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotificationOptionsComponent {\r\n\r\n constructor(public popoverCtrl: PopoverController) {\r\n }\r\n\r\n delete() {\r\n this.popoverCtrl.dismiss('delete');\r\n }\r\n}\r\n","
\r\n \r\n \r\n
","
\r\n
\r\n
{{'forms.common.Comments' | translate}}
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{item.message}}
\r\n
{{item.created | dateToTimeAgo}}
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{item.name}}\r\n - ({{'forms.common.' + item.roleByTask |\r\n translate}})\r\n
\r\n
{{item.message}}
\r\n
{{item.created | dateToTimeAgo}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DeleteDialogComponent } from './delete-dialog/delete-dialog.component';\r\n\r\n@NgModule({\r\n declarations: [DeleteDialogComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n MatCardModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ],\r\n exports: [DeleteDialogComponent],\r\n})\r\nexport class DeleteDialogModule {}\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioCustomComponent } from 'dp-formio';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-html-editor-wrapper',\r\n templateUrl: './html-editor-wrapper.component.html',\r\n // styleUrls: ['./html-editor-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HtmlEditorWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n model = '';\r\n multipleModel: Array<{ value: string }> = [];\r\n\r\n constructor(private translateService: TranslateService) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.isMultiple) {\r\n this.multipleModel = this.value?.values?.map(q => { return { value: q } });\r\n if (!this.multipleModel?.length) this.multipleModel = [{ value: '' }];\r\n } else if (this.value) {\r\n this.model = this.value;\r\n }\r\n }\r\n }\r\n\r\n\r\n notifyValue() {\r\n if (this.customOptions.isMultiple) {\r\n const notEmpty = this.multipleModel\r\n .filter(q => !!q.value)\r\n .map(q => q.value);\r\n if (this.required && (!this.multipleModel.length || notEmpty.length != this.multipleModel.length)) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n this.value = { values: notEmpty };\r\n } else {\r\n if (this.required && !this.model?.trim()?.length) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n this.value = this.model;\r\n }\r\n\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n onTextChange(event: any, index: number = null) {\r\n if (this.customOptions.isMultiple) {\r\n this.multipleModel[index].value = event.htmlValue;\r\n } else {\r\n this.model = event.htmlValue;\r\n }\r\n this.notifyValue();\r\n }\r\n addRow() {\r\n this.multipleModel.push({ value: '' });\r\n }\r\n deleteRow(index: number) {\r\n this.multipleModel.splice(index, 1);\r\n this.notifyValue();\r\n }\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import { Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { BaseComponent } from '../../../shared/components/base.component';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n // styleUrls: ['./not-found.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotFoundComponent extends BaseComponent {\r\n userDetails;\r\n\r\n constructor(public injector: Injector) { super(injector); }\r\n\r\n goBack(): void {\r\n this.location.back();\r\n }\r\n}\r\n","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { ClassificationStatus } from \"../models/classification-indicators.model\";\r\n\r\n\r\n@Component({\r\n selector: 'app-classification-indicator-status',\r\n templateUrl: './classification-indicator-status.component.html',\r\n // styleUrls: ['./classification-indicator-status.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ClassificationStatusComponent {\r\n @Input() status: ClassificationStatus;\r\n indicatorStatus = ClassificationStatus;\r\n\r\n}\r\n","/* (ignored) */","\r\n \r\n \r\n \r\n info\r\n {{\r\n criterion | propertyLocalized : [\"nameAr\", \"nameEn\"] | async\r\n }}\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { MemberModel } from '../../models/member.model';\r\n\r\n@Component({\r\n selector: 'app-masar-criterion-preview',\r\n templateUrl: './masar-criterion-preview.component.html',\r\n styleUrls: ['./masar-criterion-preview.component.scss']\r\n})\r\nexport class MasarCriterionPreviewComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n currentTab = 0;\r\n member: MemberModel = null;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n this.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(_ => this.member = null);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n\r\n

\r\n {{ question | propertyLocalized : [\"tooltipAr\", \"tooltipEn\"] | async }}\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n {{\r\n \"forms.common.Criteria.Errors.QuestionsAnsweredAndSessionStarted\"\r\n | translate\r\n }}\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.SessionStarted\" | translate }}\r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.QuestionsAnswered\" | translate }}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n {{ question | propertyLocalized : [\"errorAr\", \"errorEn\"] | async }}\r\n \r\n\r\n \r\n {{ \"forms.common.a1\" | translate }}\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ \"forms.common.a1\" | translate }}\r\n {{\r\n item\r\n | propertyLocalized : [\"arabicLabel\", \"englishLabel\"]\r\n | async\r\n }}\r\n
\r\n {{ item.score }}\r\n
\r\n {{\r\n question.evaluationItems[i]\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n \r\n info\r\n \r\n\r\n
\r\n \r\n {{\r\n question.evaluationItems[i]\r\n | propertyLocalized : [\"errorAr\", \"errorEn\"]\r\n | async\r\n }}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.EvaluationJustifications\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n {{ \"forms.common.Criteria.Attachments\" | translate }}\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"table.emptyTable\" | translate }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {{\r\n \"forms.common.Criteria.fileName\" | translate\r\n }}\r\n \r\n {{ element.get(\"fileName\").value }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n {{ \"forms.common.Criteria.save\" | translate }}\r\n \r\n
\r\n \r\n \r\n\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {{ session.name | translate }} -\r\n \r\n {{ 'SESSIONS.number' | translate }} : {{ session.number }}\r\n \r\n \r\n \r\n {{ session.sessionFrom | localizedDate }} -\r\n {{ session.sessionTo | localizedDate }}\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

{{ 'ERRORS.NoDataFound' | translate }}

\r\n
\r\n
\r\n
\r\n","/* (ignored) */","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { TableTreeWrapperComponent } from './table-tree-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'table-tree', // custom type. Formio will identify the field with this type.\r\n selector: 'table-tree', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Table Tree', // Title of the component\r\n};\r\n\r\nexport function registerTableTreeComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, TableTreeWrapperComponent, injector);\r\n}","
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
","
\r\n\t\r\n\t\r\n\r\n\t
\r\n\r\n\t
\r\n\t\t\r\n\r\n\t\t\r\n\r\n\t
\r\n
","\r\n
{{'forms.common.Overall evaluation of the criteria' | translate}}
\r\n \r\n \r\n
\r\n \r\n {{'forms.common.The total quality levels assessment' | translate}}\r\n \r\n \r\n {{'forms.common.The total evaluation criteria' | translate}}\r\n \r\n\r\n {{category.totalEvaluationCriteria | number : '1.1-1'}}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n {{'forms.common.The number of applicable quality levels' | translate}}\r\n \r\n \r\n {{'forms.common.The number of applicable criteria' | translate}}\r\n \r\n\r\n {{category.numberOfApplicable}}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n {{'forms.common.Average Rating Criterion' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n {{'forms.common.The overall evaluation score of the standard' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}} {{'forms.common.points' | translate}} -\r\n {{category.calculatedSavedScore | evaluationScoreMessage : process | propertyLocalized : [\"messageAr\",\r\n \"messageEn\"] | async }}\r\n
\r\n
\r\n
\r\n
","\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n\r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n
    \r\n
  • \r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n\r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n
    \r\n
  • \r\n
      \r\n \r\n
    \r\n
    \r\n
    ","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n\tselector: 'app-confirmation-dialog',\r\n\ttemplateUrl: './confirmation-dialog.component.html',\r\n\tstyleUrls: ['./confirmation-dialog.component.scss'],\r\n})\r\nexport class ConfirmationDialogComponent {\r\n\tdialogData: any;\r\n\r\n\tconstructor(\r\n\t\t@Inject(MAT_DIALOG_DATA) private data: any,\r\n\t\tprivate dialogRef: MatDialogRef\r\n\t) {\r\n\t\tif (data) {\r\n\t\t\tthis.dialogData = data;\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","/* (ignored) */","
    \r\n\t\r\n
    \r\n
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.responseDecision\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ \"forms.common.Criteria.\" + option | translate}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t{{'forms.common.Criteria.Please note that you will not be able to modify the decision after saving' | translate}}\r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.reasons\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{{ \"forms.common.Criteria.updates\" | translate }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tadd\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tdelete_forever\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{{ \"forms.common.Criteria.save\" | translate }}\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.Decision\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ \"forms.common.Criteria.\" + option | translate}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t{{'forms.common.Criteria.Please edit the recommendation summary' | translate}}\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t{{'forms.common.Criteria.The recommendation summary will be deleted' | translate}}\r\n\t\t\t
    \r\n\t\t\r\n\r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.reasons\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\r\n\t\t\r\n\t\t\t{{ \"forms.common.Criteria.summaryOfRecommendations\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ \"forms.common.Criteria.save\" | translate }}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t\r\n\r\n","\r\n {{ \"FILTERS.member\" | translate }}\r\n \r\n {{\r\n option.reviewer | propertyLocalized | async\r\n }}\r\n \r\n\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { MasterDetailsResourceWrapperComponent } from './master-details-resource-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'master-details-resource', // custom type. Formio will identify the field with this type.\r\n selector: 'master-details-resource', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Master Details Resource', // Title of the component\r\n};\r\n\r\nexport function registerMasterDetailsResourceComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, MasterDetailsResourceWrapperComponent, injector);\r\n}","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {\r\n\tBehaviorSubject,\r\n\tObservable,\r\n\tSubscription,\r\n\tcatchError,\r\n\tfilter,\r\n\tfinalize,\r\n\tforkJoin,\r\n\tmap,\r\n\tof,\r\n\ttake,\r\n\ttap,\r\n} from 'rxjs';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport {\r\n\tConfirmationDialogComponent,\r\n\tFormioCustomComponent,\r\n\tFormioLoader,\r\n\tResourceNameService,\r\n\tSuccessToast,\r\n\tTRANSLATIONS,\r\n} from 'dp-formio';\r\nimport { AddEditResourceDialog } from './add-edit-dialog/add-edit-dialog.component';\r\n\r\n@Component({\r\n\tselector: 'app-master-details-resource-wrapper',\r\n\ttemplateUrl: './master-details-resource-wrapper.component.html',\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class MasterDetailsResourceWrapperComponent\r\n\timplements FormioCustomComponent, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tprivate sub: Subscription;\r\n\tname: string;\r\n\treadonly dataSource: BehaviorSubject;\r\n\treadonly treeSource: MatTreeNestedDataSource;\r\n\t/** tree control */\r\n\treadonly treeControl = new NestedTreeControl((node) => node.childrens);\r\n\treadonly hasChild = (_: number, node: any) =>\r\n\t\t!!node.childrens && node.childrens.length > 0;\r\n\treadonly trackBy = (_: number, node: any) => node.id;\r\n\r\n\tdeletedNodesObs$: Array> = [];\r\n\r\n\tconstructor(\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprivate formloader: FormioLoader,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate dialog: MatDialog\r\n\t) {\r\n\t\tthis.formloader.loading = false;\r\n\t\tthis.treeSource = new MatTreeNestedDataSource();\r\n\t\tthis.dataSource = new BehaviorSubject([]);\r\n\t\tthis.dataSource.subscribe((items) => {\r\n\t\t\tthis.treeSource.data = null;\r\n\r\n\t\t\tconst sortedParentNodes = items.sort(function (a, b) {\r\n\t\t\t\tif (a.order < b.order) {\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t} else if (a.order > b.order) {\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tsortedParentNodes.forEach((resource: any) => {\r\n\t\t\t\tif (resource.childrens) {\r\n\t\t\t\t\tresource.childrens.sort(function (a, b) {\r\n\t\t\t\t\t\tif (a.order < b.order) {\r\n\t\t\t\t\t\t\treturn -1;\r\n\t\t\t\t\t\t} else if (a.order > b.order) {\r\n\t\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthis.treeSource.data = sortedParentNodes;\r\n\t\t});\r\n\t\tthis.dataSource.next([]);\r\n\t\tthis.notifyValue();\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t\tthis.sub = this.checklistSelection.changed.subscribe((data) => {\r\n\t\t\tconsole.log(data.source.selected);\r\n\t\t});\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (this.customOptions) {\r\n\t\t\t\tthis.name = Object.keys(this.customOptions)[0];\r\n\t\t\t\tif (this.value) {\r\n\t\t\t\t\tthis.fillData();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tdialogConfig = (prop, node?) => {\r\n\t\treturn {\r\n\t\t\tdir: this.dir,\r\n\t\t\tisAdd: prop.isAdd,\r\n\t\t\tname: prop.name ?? node.translatedName,\r\n\t\t\tfields: prop.fields ?? _cloneDeep(node.fields),\r\n\t\t\ticon: prop.icon ?? node.icon,\r\n\t\t\tcolor: prop.color ?? node.color,\r\n\t\t\tisView: prop.viewMode ?? false,\r\n\t\t\tdata: this.data,\r\n\t\t\tparentId: prop.parentId ?? node.parentId,\r\n\t\t\tisParentNode: prop.isParentNode ?? node.isParentNode,\r\n\t\t\tresourceName: prop.resourceName ?? node.resourceName,\r\n\t\t\torder: prop.order ?? node.order,\r\n\t\t};\r\n\t};\r\n\titemSetup = (prop, node?) => {\r\n\t\treturn {\r\n\t\t\tid: prop.id ?? node.id,\r\n\t\t\tname: prop.name ?? node.prop,\r\n\t\t\ttranslatedName: prop.translatedName ?? node.translatedName,\r\n\t\t\tfields: prop.fields ?? node.fields,\r\n\t\t\ticon: prop.icon ?? node.icon,\r\n\t\t\tcolor: prop.color ?? node.color,\r\n\t\t\tactions: prop.actions ?? node.actions,\r\n\t\t\tchildrens: prop.children ?? node.childrens,\r\n\t\t\t_id: prop._id ?? node._id,\r\n\t\t\tisParentNode: prop.isParentNode ?? node.isParentNode,\r\n\t\t\tparentId: prop.parentId ?? node.parentId,\r\n\t\t\tresourceName: prop.resourceName ?? node.resourceName,\r\n\t\t\torder: prop.order ?? node.order,\r\n\t\t};\r\n\t};\r\n\r\n\tcreateDialog(isAdd: boolean, level: any, parentNode = null) {\r\n\t\tconst dialogRef = this.dialog.open(AddEditResourceDialog, {\r\n\t\t\twidth: 'min(960px,80%)',\r\n\t\t\tpanelClass: 'custom-dialog-container',\r\n\t\t\tdata: {\r\n\t\t\t\t...this.dialogConfig({\r\n\t\t\t\t\tisAdd: isAdd,\r\n\t\t\t\t\tname: Object.keys(level)[0],\r\n\t\t\t\t\tfields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n\t\t\t\t\ticon: level[Object.keys(level)[0]].icon,\r\n\t\t\t\t\tcolor: level[Object.keys(level)[0]].color,\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\tparentId: level[Object.keys(level)[0]].parentId,\r\n\t\t\t\t\tisParentNode: parentNode ? parentNode._id : true,\r\n\t\t\t\t\tresourceName: level[Object.keys(level)[0]].resourceName,\r\n\t\t\t\t\torder: level[Object.keys(level)[0]].order,\r\n\t\t\t\t}),\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tdialogRef.afterClosed().subscribe((result) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.fillSource(result, level, parentNode);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\teditDialog(node: any) {\r\n\t\tconst dialogRef = this.dialog.open(AddEditResourceDialog, {\r\n\t\t\twidth: '80%',\r\n\t\t\tdata: {\r\n\t\t\t\t...this.dialogConfig({ isAdd: false }, node),\r\n\t\t\t\t_id: node._id,\r\n\t\t\t\tresourceName: node.translatedName,\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tdialogRef.afterClosed().subscribe((result) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tconst colorStyle = result.color\r\n\t\t\t\t\t? `color: ${result?.color} !important;`\r\n\t\t\t\t\t: '';\r\n\t\t\t\tconst icon = result.icon\r\n\t\t\t\t\t? ``\r\n\t\t\t\t\t: '';\r\n\t\t\t\tconst item = this.itemSetup(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\ticon || ''\r\n\t\t\t\t\t\t\t} ${this.translateService.instant(\r\n\t\t\t\t\t\t\t\t`forms.common.${node.translatedName}`\r\n\t\t\t\t\t\t\t)} :` +\r\n\t\t\t\t\t\t\tresult.fields\r\n\t\t\t\t\t\t\t\t.filter((q) => q.viewInTree && q.value)\r\n\t\t\t\t\t\t\t\t.map((q) => q.value)\r\n\t\t\t\t\t\t\t\t.join(' • '),\r\n\t\t\t\t\t\tfields: result.fields,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tnode\r\n\t\t\t\t);\r\n\t\t\t\tthis.findInDataSourceAndUpdate(this.dataSource.value, item);\r\n\t\t\t\tthis.dataSource.next([...this.dataSource.value]);\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tviewDialog(node: any) {\r\n\t\tthis.dialog.open(AddEditResourceDialog, {\r\n\t\t\twidth: '80%',\r\n\t\t\tdata: this.dialogConfig({ viewMode: true }, node),\r\n\t\t});\r\n\t}\r\n\r\n\tfillSource(result: any, level: any, parentNode = null) {\r\n\t\tconst colorStyle = result.color\r\n\t\t\t? `color: ${result?.color} !important;`\r\n\t\t\t: '';\r\n\t\tconst icon = result?.icon\r\n\t\t\t? ``\r\n\t\t\t: '';\r\n\t\tconst newItem = this.itemSetup(\r\n\t\t\t{\r\n\t\t\t\tid: new Date().getTime(),\r\n\t\t\t\tname:\r\n\t\t\t\t\t`${\r\n\t\t\t\t\t\ticon || ''\r\n\t\t\t\t\t} ${this.translateService.instant(\r\n\t\t\t\t\t\t`forms.common.${Object.keys(level)[0]}`\r\n\t\t\t\t\t)} : ` +\r\n\t\t\t\t\tresult.fields\r\n\t\t\t\t\t\t.filter((q) => q.viewInTree && q.value)\r\n\t\t\t\t\t\t.map((q) => q.value)\r\n\t\t\t\t\t\t.join(' • '),\r\n\t\t\t\ttranslatedName: Object.keys(level)[0],\r\n\t\t\t\tactions: level[Object.keys(level)[0]].actions,\r\n\t\t\t\tparentId: level[Object.keys(level)[0]].parentId,\r\n\t\t\t\tresourceName: level[Object.keys(level)[0]].resourceName,\r\n\t\t\t\tchildren: [],\r\n\t\t\t},\r\n\t\t\tresult\r\n\t\t);\r\n\t\tif (parentNode) {\r\n\t\t\tthis.findInDataSourceAndFill(this.dataSource.value, parentNode, newItem);\r\n\t\t\tthis.dataSource.next([...this.dataSource.value]);\r\n\t\t\tthis.notifyValue();\r\n\t\t\treturn newItem;\r\n\t\t} else {\r\n\t\t\tthis.dataSource.next([\r\n\t\t\t\t...this.dataSource.value,\r\n\t\t\t\t{\r\n\t\t\t\t\t...newItem,\r\n\t\t\t\t},\r\n\t\t\t]);\r\n\t\t\tthis.notifyValue();\r\n\t\t\treturn newItem;\r\n\t\t}\r\n\t}\r\n\r\n\tcreateNode(parentNode, bindWith) {\r\n\t\tconst node = this.findNode(this.customOptions, bindWith);\r\n\t\tthis.createDialog(true, node, parentNode);\r\n\t}\r\n\r\n\tfindNode(startedPoint, bindWith) {\r\n\t\tfor (let item in startedPoint) {\r\n\t\t\tif (item == bindWith) return startedPoint;\r\n\t\t\telse {\r\n\t\t\t\tconst branchOfNods = startedPoint[item].childrens.find((q) =>\r\n\t\t\t\t\tthis.findNode(q, bindWith)\r\n\t\t\t\t);\r\n\t\t\t\tif (branchOfNods) return this.findNode(branchOfNods, bindWith);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfindInDataSourceAndFill(startedPoint, parentNode, newItem) {\r\n\t\tstartedPoint.forEach((q) => {\r\n\t\t\tif (q.id == parentNode.id) q.childrens.push(newItem);\r\n\t\t\telse this.findInDataSourceAndFill(q.childrens, parentNode, newItem);\r\n\t\t});\r\n\t}\r\n\r\n\tfindInDataSourceAndUpdate(startedPoint, item) {\r\n\t\tfor (let index = 0; index < startedPoint.length; index++) {\r\n\t\t\tif (startedPoint[index].id == item.id) {\r\n\t\t\t\tstartedPoint[index] = { ...item };\r\n\t\t\t\tif (startedPoint[index].order) {\r\n\t\t\t\t\tconst field = item.fields.filter((q) => q.name === 'order');\r\n\t\t\t\t\tstartedPoint[index].order = +field[0].value;\r\n\t\t\t\t}\r\n\t\t\t} else\r\n\t\t\t\tthis.findInDataSourceAndUpdate(startedPoint[index].childrens, item);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _openConfirmDialog(\r\n\t\tmessage = '',\r\n\t\tok: string = null,\r\n\t\tcancel: string = null\r\n\t) {\r\n\t\treturn this.dialog\r\n\t\t\t.open(ConfirmationDialogComponent, {\r\n\t\t\t\twidth: 'min(80% , 350px)',\r\n\t\t\t\tdirection: this.dir,\r\n\t\t\t\trestoreFocus: false,\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tmessage: message,\r\n\t\t\t\t\tbuttonText: {\r\n\t\t\t\t\t\tcancel:\r\n\t\t\t\t\t\t\tcancel ?? this.translateService.instant('forms.common.cancel'),\r\n\t\t\t\t\t\tok: ok ?? this.translateService.instant('forms.common.yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.afterClosed()\r\n\t\t\t.pipe(\r\n\t\t\t\ttake(1),\r\n\t\t\t\tfilter((rs) => !!rs)\r\n\t\t\t);\r\n\t}\r\n\r\n\tremoveNode(node) {\r\n\t\tthis._openConfirmDialog(\r\n\t\t\tthis.dir == 'rtl'\r\n\t\t\t\t? 'هل انت متأكد من حذف هذا العنصر؟'\r\n\t\t\t\t: 'Are you sure you want to delete?'\r\n\t\t).subscribe((res) => {\r\n\t\t\tif (node.childrens && node.childrens.length) {\r\n\t\t\t\tnode.childrens.forEach((childNode) => {\r\n\t\t\t\t\tthis.addDeletedNodesObs(childNode);\r\n\t\t\t\t});\r\n\t\t\t\tthis.deleteBulKNodes(node);\r\n\t\t\t} else {\r\n\t\t\t\tthis.deleteResourceData(node);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\taddDeletedNodesObs(node: any) {\r\n\t\tthis.deletedNodesObs$.push(\r\n\t\t\tthis.resourceNameService.deleteResourceData(node.resourceName, node._id)\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteBulKNodes(node: any) {\r\n\t\tthis.formloader.loading = true;\r\n\t\tforkJoin([...this.deletedNodesObs$])\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\tthis.deleteResourceData(node, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formloader.loading = false;\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.deletedNodesObs$ = [];\r\n\t\t\t\t\treturn of(0);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tdeleteResourceData(node: any, isBulk = false) {\r\n\t\tthis.formloader.loading = true;\r\n\t\tthis.resourceNameService\r\n\t\t\t.deleteResourceData(node.resourceName, node._id)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(res: any) => {\r\n\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\tthis.deletNodesFromUI(node);\r\n\t\t\t\t\t\tthis.toastrService.show(\r\n\t\t\t\t\t\t\tthis.translateService.instant('Deletion Message'),\r\n\t\t\t\t\t\t\t'',\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttoastClass: 'notification-toast',\r\n\t\t\t\t\t\t\t\tcloseButton: true,\r\n\t\t\t\t\t\t\t\tenableHtml: true,\r\n\t\t\t\t\t\t\t\ttoastComponent: SuccessToast,\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t() => (this.formloader.loading = false),\r\n\t\t\t\t() => {\r\n\t\t\t\t\tif (isBulk) {\r\n\t\t\t\t\t\tthis.deletedNodesObs$ = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tdeletNodesFromUI(node: any) {\r\n\t\tconst data = this.dataSource.value;\r\n\t\tthis.dataSource.next(this.deepRemoveNode(_cloneDeep(data), node));\r\n\t\tthis.checkRelatedEntityWhenDelete(\r\n\t\t\tthis.getRemovedNode(_cloneDeep(data), node)\r\n\t\t);\r\n\t\tthis.checklistSelection.clear();\r\n\t\tthis.notifyValue();\r\n\t\tthis.formloader.loading = false;\r\n\t}\r\n\r\n\tdeepRemoveNode(data: any[], node: any | any[]) {\r\n\t\tconst result = [];\r\n\t\tdata.forEach((item) => {\r\n\t\t\tif (item.childrens && item.childrens.length)\r\n\t\t\t\titem.childrens = this.deepRemoveNode(item.childrens, node);\r\n\t\t\tif (node instanceof Array) {\r\n\t\t\t\tif (!node.find((q) => q.id == item.id)) result.push(item);\r\n\t\t\t} else if (item.id != node.id) result.push(item);\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\tgetRemovedNode(data: any[], node: any | any[], removedNodes: any[] = []) {\r\n\t\tdata.forEach((item) => {\r\n\t\t\tif (item.childrens && item.childrens.length)\r\n\t\t\t\tthis.getRemovedNode(item.childrens, node, removedNodes);\r\n\r\n\t\t\tif (item.id && item.id == node.id && item.fields && item.fields.length)\r\n\t\t\t\tremovedNodes.push(item.fields[0].value);\r\n\t\t});\r\n\r\n\t\treturn removedNodes;\r\n\t}\r\n\r\n\tremoveBulk() {\r\n\t\tDeleteConfirmationDialog.build(\r\n\t\t\tthis.formioComponent,\r\n\t\t\t() => {\r\n\t\t\t\tconst data = this.dataSource.value;\r\n\t\t\t\tthis.dataSource.next(\r\n\t\t\t\t\tthis.deepRemoveNode(\r\n\t\t\t\t\t\t_cloneDeep(data),\r\n\t\t\t\t\t\tthis.checklistSelection.selected\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t\tthis.checkRelatedEntityWhenDelete(\r\n\t\t\t\t\tthis.getRemovedNode(\r\n\t\t\t\t\t\t_cloneDeep(data),\r\n\t\t\t\t\t\tthis.checklistSelection.selected\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t\tthis.checklistSelection.clear();\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t},\r\n\t\t\tnull,\r\n\t\t\t'Are you sure to delete this items',\r\n\t\t\t'All children under this items will be deleted'\r\n\t\t);\r\n\t}\r\n\r\n\thasAction(node, action) {\r\n\t\treturn !!node.actions.find((q) => q.name == action);\r\n\t}\r\n\r\n\tprivate checkRelatedEntityWhenDelete(removedNodes: any[]) {\r\n\t\tif (this.customOptions.relatedEntityWhenDelete) {\r\n\t\t\tthis.customOptions.relatedEntityWhenDelete.forEach((entity) => {\r\n\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ key: entity.key }\r\n\t\t\t\t);\r\n\t\t\t\tcomponents.forEach((component) => {\r\n\t\t\t\t\tconst data = this.formioComponent.evaluate(entity.value, {\r\n\t\t\t\t\t\tvalue: component.getValue(),\r\n\t\t\t\t\t\tremovedNodes: removedNodes,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tcomponent.setValue(data);\r\n\t\t\t\t\tcomponent.triggerRedraw();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ type: 'form' }\r\n\t\t\t\t);\r\n\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\tconst formComponents =\r\n\t\t\t\t\t\t\tformComponent.component.display == 'wizard'\r\n\t\t\t\t\t\t\t\t? subForm.getPages({ all: true })\r\n\t\t\t\t\t\t\t\t: subForm.components;\r\n\t\t\t\t\t\tUtils.eachComponent(\r\n\t\t\t\t\t\t\tformComponents,\r\n\t\t\t\t\t\t\t(component) => {\r\n\t\t\t\t\t\t\t\tif (component.key == entity.key) {\r\n\t\t\t\t\t\t\t\t\tconst value = this.formioComponent.evaluate(entity.value, {\r\n\t\t\t\t\t\t\t\t\t\tvalue: component.getValue(),\r\n\t\t\t\t\t\t\t\t\t\tremovedNodes: removedNodes,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tcomponent.setValue(value);\r\n\t\t\t\t\t\t\t\t\tcomponent.triggerRedraw();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttrue\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate notifyValue() {\r\n\t\tconst resources = [];\r\n\t\tfor (const temp of this.dataSource.value) {\r\n\t\t\tlet item = this.getFiledsValue(temp);\r\n\t\t\tthis.getChildrensValue(item, temp);\r\n\t\t\tresources.push(item);\r\n\t\t}\r\n\t\tthis.value = { resources };\r\n\t\tthis.valueChange.emit(this.value);\r\n\t\tthis.afterChangeValue();\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ key: item.key }\r\n\t\t\t\t);\r\n\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\tconst value = this.formioComponent.interpolate(item.value, {\r\n\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ type: 'form' }\r\n\t\t\t\t);\r\n\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\tUtils.eachComponent(\r\n\t\t\t\t\t\t\tsubForm.components,\r\n\t\t\t\t\t\t\t(component) => {\r\n\t\t\t\t\t\t\t\tif (component.key == item.key) {\r\n\t\t\t\t\t\t\t\t\tconst value = this.formioComponent.interpolate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tcomponent.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttrue\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate getFiledsValue(node) {\r\n\t\tlet item = {};\r\n\t\tconst fileds = node.fields.map((q) => {\r\n\t\t\treturn { [q.name]: q.value };\r\n\t\t});\r\n\t\tfileds.forEach((prop) => {\r\n\t\t\tfor (const [key, value] of Object.entries(prop)) {\r\n\t\t\t\titem[key] = value;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn item;\r\n\t}\r\n\r\n\tprivate getChildrensValue(item, node) {\r\n\t\tconst subProps = node.actions\r\n\t\t\t.filter((q) => q.bindWith)\r\n\t\t\t.map((q) => q.bindWith);\r\n\t\tsubProps.forEach((key) => {\r\n\t\t\titem[key] = [];\r\n\t\t});\r\n\t\tif (node?.childrens?.length > 0) {\r\n\t\t\tnode.childrens.forEach((q) => {\r\n\t\t\t\tconst child = this.getFiledsValue(q);\r\n\t\t\t\tif (q.childrens.length > 0) this.getChildrensValue(child, q);\r\n\t\t\t\tif (item && item[q.translatedName]) item[q.translatedName].push(child);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate fillData() {\r\n\t\tif (this.value) {\r\n\t\t\tconst resourceData = [];\r\n\t\t\tfor (const prop of Object.keys(this.value)) {\r\n\t\t\t\tresourceData.push(this.value[prop]);\r\n\t\t\t}\r\n\r\n\t\t\tresourceData.forEach((data) => {\r\n\t\t\t\tconst level = this.customOptions;\r\n\t\t\t\tconst item = {\r\n\t\t\t\t\t_id: data._id,\r\n\t\t\t\t\torder: data.data.order,\r\n\t\t\t\t\tfields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n\t\t\t\t\ticon: level[Object.keys(level)[0]].icon,\r\n\t\t\t\t\tcolor: level[Object.keys(level)[0]].color,\r\n\t\t\t\t\tchildrens: [],\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis.setFieldsTranslations(item.fields, data, false);\r\n\r\n\t\t\t\tconst currentNode = this.fillSource(item, level);\r\n\t\t\t\tlevel[Object.keys(level)[0]].actions\r\n\t\t\t\t\t.filter((q) => q.bindWith)\r\n\t\t\t\t\t.forEach((element) => {\r\n\t\t\t\t\t\tif (data.data[element.bindWith]) {\r\n\t\t\t\t\t\t\tconst node = this.findNode(this.customOptions, element.bindWith);\r\n\t\t\t\t\t\t\tthis.findAndFillSubData(\r\n\t\t\t\t\t\t\t\tdata.data[element.bindWith],\r\n\t\t\t\t\t\t\t\tnode,\r\n\t\t\t\t\t\t\t\tcurrentNode\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate findAndFillSubData(array, level, parrentNode) {\r\n\t\tarray.forEach((data) => {\r\n\t\t\tconst item = {\r\n\t\t\t\t_id: data._id,\r\n\t\t\t\torder: data.order,\r\n\t\t\t\tisParentNode: parrentNode ? parrentNode._id : true,\r\n\t\t\t\tfields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n\t\t\t\ticon: level[Object.keys(level)[0]].icon,\r\n\t\t\t\tcolor: level[Object.keys(level)[0]].color,\r\n\t\t\t\tchildrens: [],\r\n\t\t\t};\r\n\r\n\t\t\tthis.setFieldsTranslations(item.fields, data);\r\n\r\n\t\t\tconst currentNode = this.fillSource(item, level, parrentNode);\r\n\t\t\tlevel[Object.keys(level)[0]].actions\r\n\t\t\t\t.filter((q) => q.bindWith)\r\n\t\t\t\t.forEach((element) => {\r\n\t\t\t\t\tif (data[element.bindWith]) {\r\n\t\t\t\t\t\tconst node = this.findNode(this.customOptions, element.bindWith);\r\n\t\t\t\t\t\tthis.findAndFillSubData(data[element.bindWith], node, currentNode);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tsetFieldsTranslations(fields, field, isChild = true) {\r\n\t\tthis.translateService\r\n\t\t\t.get('key')\r\n\t\t\t.pipe(\r\n\t\t\t\ttake(1),\r\n\t\t\t\tmap((_) => this.translateService.store.translations)\r\n\t\t\t)\r\n\t\t\t.subscribe(({ ar, en }) => {\r\n\t\t\t\tfields.forEach((prop) => {\r\n\t\t\t\t\tif (!isChild) {\r\n\t\t\t\t\t\tif (field.data[prop.name]) prop.value = field.data[prop.name];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (field[prop.name]) prop.value = field[prop.name];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t//Set Translations\r\n\t\t\t\t\tconst key = !isChild ? field.data.key : field.key;\r\n\t\t\t\t\tif (prop.name.includes(TRANSLATIONS.NAMEAR)) {\r\n\t\t\t\t\t\tprop.value = ar?.forms?.common?.[key] || '';\r\n\t\t\t\t\t} else if (prop.name.includes(TRANSLATIONS.NAMEEN)) {\r\n\t\t\t\t\t\tprop.value = en?.forms?.common?.[key] || '';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\t/* Selection Code */\r\n\tchecklistSelection = new SelectionModel(true);\r\n\tgetLevel = (node: any) => node.level;\r\n\r\n\ttodoLeafItemSelectionToggle(node: any): void {\r\n\t\tthis.checklistSelection.toggle(node);\r\n\t\tthis.checkAllParentsSelection(node);\r\n\t}\r\n\r\n\tcheckAllParentsSelection(node: any): void {\r\n\t\tlet parent: any | null = this.getParentNode(node);\r\n\t\twhile (parent) {\r\n\t\t\tthis.checkRootNodeSelection(parent);\r\n\t\t\tparent = this.getParentNode(parent);\r\n\t\t}\r\n\t}\r\n\r\n\tgetParentNode(node: any): any | null {\r\n\t\tconst currentLevel = this.getLevel(node);\r\n\r\n\t\tif (currentLevel < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tif (!this.treeControl.dataNodes) return;\r\n\t\tconst startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\r\n\r\n\t\tfor (let i = startIndex; i >= 0; i--) {\r\n\t\t\tconst currentNode = this.treeControl.dataNodes[i];\r\n\r\n\t\t\tif (this.getLevel(currentNode) < currentLevel) {\r\n\t\t\t\treturn currentNode;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tcheckRootNodeSelection(node: any): void {\r\n\t\tconst nodeSelected = this.checklistSelection.isSelected(node);\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tconst descAllSelected =\r\n\t\t\tdescendants.length > 0 &&\r\n\t\t\tdescendants.every((child) => {\r\n\t\t\t\treturn this.checklistSelection.isSelected(child);\r\n\t\t\t});\r\n\t\tif (nodeSelected && !descAllSelected) {\r\n\t\t\tthis.checklistSelection.deselect(node);\r\n\t\t} else if (!nodeSelected && descAllSelected) {\r\n\t\t\tthis.checklistSelection.select(node);\r\n\t\t}\r\n\t}\r\n\r\n\tdescendantsAllSelected(node: any): boolean {\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tconst descAllSelected =\r\n\t\t\tdescendants.length > 0 &&\r\n\t\t\tdescendants.every((child) => {\r\n\t\t\t\treturn this.checklistSelection.isSelected(child);\r\n\t\t\t});\r\n\t\t// if (descAllSelected) this.checklistSelection.select(node);\r\n\t\t// else this.checklistSelection.deselect(node);\r\n\t\treturn descAllSelected;\r\n\t}\r\n\r\n\tdescendantsPartiallySelected(node: any): boolean {\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tconst result = descendants.some((child) =>\r\n\t\t\tthis.checklistSelection.isSelected(child)\r\n\t\t);\r\n\t\treturn result && !this.descendantsAllSelected(node);\r\n\t}\r\n\r\n\ttodoItemSelectionToggle(node: any): void {\r\n\t\tthis.checklistSelection.toggle(node);\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tthis.checklistSelection.isSelected(node)\r\n\t\t\t? this.checklistSelection.select(...descendants)\r\n\t\t\t: this.checklistSelection.deselect(...descendants);\r\n\r\n\t\t// Force update for the parent\r\n\t\tdescendants.forEach((child) => this.checklistSelection.isSelected(child));\r\n\t\tthis.checkAllParentsSelection(node);\r\n\t}\r\n\r\n\t/* End Selection Code */\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.sub) this.sub.unsubscribe();\r\n\t\tthis.deletedNodesObs$ = [];\r\n\t}\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n\r\n {{ title | translate }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row?.summaryText }}
    \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row[filter] }}
    \r\n
    \r\n {{ \"forms.common.Criteria.MasarCriteria\" | translate }}\r\n \r\n {{row.criterionKey}}\r\n \r\n {{ \"forms.common.Criteria.finalReportResponse\" | translate }}\r\n \r\n
    \r\n {{ \"forms.common.Criteria.finalReportResponseAdded\" | translate }}\r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.Decision\" | translate }}\r\n \r\n
    \r\n {{ \"forms.common.Criteria.\" + row?.leaderDecision | translate }}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Component } from '@angular/core';\r\nimport { MatBottomSheetRef } from '@angular/material/bottom-sheet';\r\n\r\n@Component({\r\n\tselector: 'app-bottom-sheet-overview',\r\n\ttemplateUrl: './bottom-sheet-overview.component.html',\r\n\tstyleUrls: ['./bottom-sheet-overview.component.scss'],\r\n})\r\nexport class BottomSheetOverviewComponent {\r\n\tconstructor(private _bottomSheetRef: MatBottomSheetRef) {}\r\n\r\n\topenLink(event: MouseEvent): void {\r\n\t\tthis._bottomSheetRef.dismiss();\r\n\t\tevent.preventDefault();\r\n\t}\r\n}\r\n","/* (ignored) */","import { Subscription } from 'rxjs';\r\nimport { Utils } from 'formiojs';\r\nimport { CategoryConfig } from './../models/config.model';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { FormControl } from '@angular/forms';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { ResourceNameService } from 'dp-formio';\r\n\r\n\r\n@Component({\r\n selector: 'app-category-card',\r\n templateUrl: './category-card.component.html',\r\n // styleUrls: ['./category-card.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CategoryCardComponent implements OnInit, OnDestroy {\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() processConfig: any;\r\n\r\n @Input() category: CategoryConfig;\r\n\r\n @Input() isSub = false;\r\n @Output() onOpenCategory = new EventEmitter();\r\n @Output() onOpenSubCategory = new EventEmitter();\r\n\r\n options: any[] = [];\r\n selected = new FormControl(null, []);\r\n isLoading = false;\r\n isOpen = false;\r\n\r\n sub: Subscription;\r\n\r\n constructor(private resourceNameService: ResourceNameService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub?.unsubscribe();\r\n }\r\n\r\n openCatalog() {\r\n this.onOpenCategory.emit();\r\n }\r\n openSubCategory(key) {\r\n this.onOpenSubCategory.emit({\r\n key,\r\n parent: this.category\r\n });\r\n }\r\n\r\n openChanged(isOpen: boolean) {\r\n this.isOpen = isOpen;\r\n if (isOpen && !this.category?.subCategoriresObjectForSelect?.length) {\r\n this.isLoading = isOpen;\r\n this.options = [];\r\n this.selected.reset();\r\n\r\n const categoryResource = Utils.interpolate(this.customOptions.categoryResource, { data: this.data });\r\n const subCategoryQuery = Utils.interpolate(this.customOptions.subCategoryQuery, { data: this.data, key: this.category.key });\r\n const subCategorySelect = Utils.interpolate(this.customOptions.subCategorySelect, { data: this.data, key: this.category.key });\r\n\r\n this.resourceNameService.loadCustomByFilterdKey(categoryResource, `${subCategoryQuery}${subCategorySelect}`)\r\n .subscribe((data: any[]) => {\r\n this.options = SortHelper.recursiveSort(data.map(c => {\r\n const item = new CategoryConfig();\r\n const mappedItem = { _id: c._id, ...c.data };\r\n SortHelper.copyProps(mappedItem, item);\r\n item.parentCategoryObject = this.category;\r\n return item;\r\n }), 'asc');\r\n\r\n this.category.subCategoriresObjectForSelect = this.options;\r\n this.selected.setValue(this.options);\r\n this.isLoading = false;\r\n },\r\n (error) => {\r\n this.options = [];\r\n console.error(error);\r\n this.selected.setValue(this.options);\r\n this.isLoading = false;\r\n }\r\n );\r\n } else {\r\n this.options = this.category.subCategoriresObjectForSelect;\r\n this.selected.setValue(this.options);\r\n }\r\n }\r\n}","import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnDestroy, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { finalize, forkJoin, map, Subscription } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ClassificationDomain, ClassificationIndicator, ClassificationQuestion, ClassificationStatus, ClassificationYears } from '../models/classification-indicators.model';\r\nimport { TooltipDialog } from '../../assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { showToast } from '../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-classification-indicator',\r\n templateUrl: './classification-indicator.component.html',\r\n // styleUrls: ['./classification-indicator.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n // providers: [FormioLoader]\r\n})\r\nexport class ClassificationIndicatorComponent implements OnDestroy {\r\n @ViewChildren('forms') forms: QueryList;\r\n\r\n domainQuery = '';\r\n questionQuery = '';\r\n indicatorStatus = ClassificationStatus;\r\n isSummary = false;\r\n ready = false;\r\n\r\n domainsDecisions: ClassificationStatus[] = [];\r\n orginalDomains: ClassificationDomain[] = [];\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private dialog: MatDialog,\r\n private translateService: TranslateService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public formioLoader: FormioLoader,\r\n private toastrService: ToastrService,\r\n private resourceNameService: ResourceNameService) {\r\n this.domainQuery = Evaluator.interpolate(this.data.customOptions.domainQuery, { data: this.data.submission, indicator: this.data.indicator });\r\n this.getIndicatorDomains();\r\n this.isSummary = this.data.isSummary;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.data.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n close(): void {\r\n // this.data.indicator.domains.forEach(domain => {\r\n // domain.attachmentsInstance = _cloneDeep(domain.attachments);\r\n // });\r\n // this.orginalDomains.forEach((domain, index) => {\r\n // const item = this.data.indicator.domains.find(q => q.id == domain._id);\r\n // if (item) this.orginalDomains[index] = { ...item };\r\n // })\r\n this.data.indicator.domains = this.orginalDomains;\r\n this.dialogRef.close(this.data.indicator);\r\n }\r\n changeLoading(state) {\r\n this.formioLoader.loading = state;\r\n }\r\n\r\n async save(domainIndex: number, expansion: any): Promise {\r\n const indicator = _cloneDeep(this.data.indicator);\r\n indicator.domains[domainIndex].decision = this.domainsDecisions[domainIndex];\r\n const someNotComplete = indicator.domains.some(q => q.decision == ClassificationStatus.UnComplete);\r\n if (someNotComplete) {\r\n indicator.status = ClassificationStatus.UnComplete;\r\n } else {\r\n const someNotComplete = indicator.domains.every(q => q.decision == ClassificationStatus.Complete);\r\n if (someNotComplete) indicator.status = ClassificationStatus.Complete;\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n this.sub = forkJoin(this.prepareCalls(indicator.domains[domainIndex], indicator))\r\n .subscribe(data => {\r\n this.data.indicator.status = indicator.status;\r\n this.data.indicator.isSubDomainsValids = true;\r\n this.data.indicator.domains[domainIndex].decision = this.domainsDecisions[domainIndex];\r\n this.orginalDomains[domainIndex] = _cloneDeep(this.data.indicator.domains[domainIndex]);\r\n this.formioLoader.loading = false;\r\n expansion.expanded = false;\r\n\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private prepareCalls(domain: ClassificationDomain, indicator: ClassificationIndicator) {\r\n const calls = [];\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.domainResource,\r\n domain._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/attachmentsFiles\",\r\n \"value\": domain.attachmentsFiles || []\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/notesAndRecommendations\",\r\n \"value\": domain.notesAndRecommendations || []\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/decision\",\r\n \"value\": domain.decision >= 0 ? domain.decision : null\r\n }\r\n ]));\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n indicator._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/status\",\r\n \"value\": indicator.status >= 0 ? indicator.status : null\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/isSubDomainsValids\",\r\n \"value\": indicator.domains.every(q => q.isValid) || false\r\n }\r\n ]));\r\n\r\n return calls;\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.classification-indicator [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n }, 250)\r\n }\r\n questionDataChanged(event, questionIndex: number, domainIndex: number) {\r\n this.data.indicator.score = event.indicatorScore;\r\n this.data.indicator.completionRate = event.indicatorCompletionRate;\r\n this.data.indicator.domains[domainIndex].score = event.domainScore;\r\n this.data.indicator.domains[domainIndex].completionRate = event.domainCompletionRate;\r\n this.data.indicator.domains[domainIndex].questions[questionIndex] = event.question;\r\n this.orginalDomains[domainIndex] = this.data.indicator.domains[domainIndex];\r\n }\r\n historyUpdated(questionIndex: number, domainIndex: number) {\r\n this.data.indicator.history = this.data.indicator.history;\r\n this.data.indicator.domains.forEach(domain => {\r\n domain.indicatorObject.history = this.data.indicator.history;\r\n });\r\n this.orginalDomains[domainIndex].indicatorObject = {\r\n _id: this.data.indicator._id,\r\n history: this.data.indicator.history\r\n };\r\n\r\n const tempDomain = new ClassificationDomain();\r\n tempDomain._id = this.orginalDomains[domainIndex]._id;\r\n tempDomain.indicatorObject = this.orginalDomains[domainIndex].indicatorObject;\r\n this.orginalDomains[domainIndex].questions[questionIndex].domainObject = tempDomain;\r\n }\r\n updateDomains(isAll = false) {\r\n if (!isAll) {\r\n this.data.indicator.domains = this.data.indicator.domains.filter(q => q.decision != ClassificationStatus.Complete);\r\n }\r\n this.data.isSummary = false;\r\n this.ready = false;\r\n setTimeout(() => this.ready = true);\r\n }\r\n\r\n loadDomainQuestions(domain: ClassificationDomain) {\r\n if (domain.isCached) return;\r\n this.formioLoader.loading = true;\r\n this.questionQuery = Evaluator.interpolate(this.data.customOptions.questionQuery, { data: this.data.submission, domain: domain });\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.questionResource, this.questionQuery)\r\n .pipe(\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data.map(q => { return { _id: q._id, ...q.data } }), 'asc')\r\n .map(q => {\r\n if (!q.attachmentsFiles?.length) q.attachmentsFiles = [];\r\n const item = new ClassificationQuestion();\r\n SortHelper.copyProps(q, item);\r\n\r\n const tempDomain = new ClassificationDomain();\r\n tempDomain._id = domain._id;\r\n tempDomain.indicatorObject = domain.indicatorObject;\r\n item.domainObject = tempDomain;\r\n\r\n if (item.years)\r\n item.years = item.years.map(o => {\r\n const oInput = new ClassificationYears();\r\n SortHelper.copyProps(o, oInput);\r\n oInput.value = oInput.value || '0';\r\n return oInput;\r\n });\r\n else {\r\n item.years = [];\r\n !item.score ? item.score = item.min || 0 : null;\r\n }\r\n item.orginal = _cloneDeep(item);\r\n\r\n return item;\r\n });\r\n }),\r\n finalize(() => this.formioLoader.loading = false))\r\n .subscribe(data => {\r\n domain.questions = data;\r\n domain.isCached = true;\r\n\r\n const domainIndex = this.orginalDomains.findIndex(q => q._id == domain._id);\r\n this.orginalDomains[domainIndex] = _cloneDeep(domain);\r\n this.ready = true;\r\n });\r\n }\r\n\r\n private getIndicatorDomains() {\r\n if (this.data.indicator.isCached) {\r\n this.fillDomainsDecisions();\r\n this.formioLoader.loading = false;\r\n this.ready = true;\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n return;\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.domainResource, this.domainQuery)\r\n .pipe(\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data.map(q => { return { _id: q._id, ...q.data } }), 'asc')\r\n .map(q => {\r\n if (!q.attachmentsFiles?.length) q.attachmentsFiles = [];\r\n const item = new ClassificationDomain();\r\n SortHelper.copyProps(q, item);\r\n item.indicatorObject = {\r\n _id: this.data.indicator._id,\r\n history: this.data.indicator.history,\r\n };\r\n return item;\r\n });\r\n }),\r\n finalize(() => this.formioLoader.loading = false))\r\n .subscribe(data => {\r\n this.data.indicator.domains = data;\r\n this.fillDomainsDecisions();\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n this.data.indicator.isCached = true;\r\n this.ready = true;\r\n });\r\n }\r\n\r\n private fillDomainsDecisions() {\r\n this.data.indicator.domains.forEach(domain => {\r\n this.domainsDecisions.push(domain.decision);\r\n });\r\n }\r\n}\r\n","/* (ignored) */","export * from './distribute-common-questions.module'\r\nexport * from './distribute-common-questions.wrapper'\r\n","import { Injector } from '@angular/core';\r\nimport {\r\n FormioCustomComponentInfo,\r\n registerCustomFormioComponent,\r\n} from 'dp-formio';\r\nimport { DistributeCommonQuestionsComponent } from './distribute-common-questions.component';\r\n\r\n\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'distribute-common-faq',\r\n selector: 'distribute-common-faq',\r\n title: 'distribute-common-faq',\r\n};\r\n\r\nexport function registerDistributeCommonQuestionsComponent(injector: Injector) {\r\n registerCustomFormioComponent(\r\n COMPONENT_OPTIONS,\r\n DistributeCommonQuestionsComponent,\r\n injector\r\n );\r\n}\r\n","
    \r\n \r\n \r\n \r\n
    ","
    \r\n \r\n\r\n \r\n\r\n

    \r\n {{data.currentLevel.description}}\r\n

    \r\n\r\n \r\n {{data.currentLevel.error}}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    ","import { NgModule } from \"@angular/core\";\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n ...MaterialModule.ComponentModule,\r\n ],\r\n exports: [\r\n ...MaterialModule.ComponentModule,\r\n ],\r\n providers: [\r\n ],\r\n})\r\n\r\nexport class MaterialModule {\r\n static ComponentModule = [\r\n MatCheckboxModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatInputModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule,\r\n MatFormFieldModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatGridListModule,\r\n MatCardModule,\r\n MatStepperModule,\r\n MatTabsModule,\r\n MatExpansionModule,\r\n MatButtonToggleModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n MatTooltipModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatNativeDateModule,\r\n MatBadgeModule,\r\n ];\r\n}\r\n","
    \r\n \r\n\r\n\r\n \r\n \r\n\r\n
    \r\n \r\n {{ option.data.question }}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n

    {{ 'ERRORS.NoDataFound' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n","\r\n\r\n\r\n \r\n \r\n
    \r\n \r\n {{ option.questionText }}\r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n pending_actions\r\n \r\n\r\n {{ ('PHASES.' +(option?.phase | lowercase)) | translate }}\r\n \r\n\r\n \r\n \r\n \r\n calendar_month\r\n \r\n\r\n {{'forms.common.sessions' | translate }} : {{option.sessions?.length}}\r\n \r\n\r\n \r\n \r\n group\r\n \r\n\r\n {{'forms.common.members' | translate }} : {{ option.sessions | membersLength}}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n

    {{ 'ERRORS.NoDataFound' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n","
    \r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.requiredResources\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.expectedOutputs\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.Attachments\" | translate }}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","/* (ignored) */","\r\n\t {{ title | translate }} \r\n\t
    \r\n\t\t\r\n\r\n\t\t\r\n\t
    \r\n\r\n\r\n
    0\">\r\n\t\r\n\t\t
    {{ 'notifications.noEntry' | translate }}
    \r\n\t
    \r\n
    \r\n\r\n\t\r\n\t\t\r\n\t\t\t{{ header | translate }}\r\n\t\t\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n
    \r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { FormioAppConfig } from 'dp-formio';\r\n@Injectable({ providedIn: 'root' })\r\nexport class TemplateObjectsService {\r\n PROCESS_HOST_URL = '';\r\n\r\n constructor(private httpClient: HttpClient,\r\n private formioAppConfig: FormioAppConfig) { }\r\n\r\n getCollaburaURL(): Observable<{ url?: string, token?: string }> {\r\n return this.httpClient.get<{ url?: string, token?: string }>(this.PROCESS_HOST_URL + '/api/collaboraUrl');\r\n }\r\n // parseTemplate(data: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/OpenBase64', {\r\n // documentData: data,\r\n // fileName: ''\r\n // });\r\n // }\r\n\r\n // mergeAndParseTemplate(requestData: any): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/MailMerge', requestData);\r\n // }\r\n\r\n // mergeAndRenderTemplate(requestData: any, templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/MergeAndRender/' + templateId,\r\n // requestData, { headers: {}, responseType: 'blob' });\r\n // }\r\n // renderTemplateToPdf(templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/saveToPdf/' + templateId,\r\n // {}, { headers: {}, responseType: 'blob' });\r\n // }\r\n // saveBase64DocAsPDF(base64Docx: any): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/Base64ToPdf',\r\n // { documentData: base64Docx }, { headers: {}, responseType: 'blob' });\r\n // }\r\n\r\n // renderTemplate(requestData: any): Observable {\r\n // return new Observable(subscriber => {\r\n // subscriber.next(new Blob());\r\n // });\r\n // }\r\n\r\n // mergeAndGetTemplate(param: any, templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/processAsOdt/' + templateId,\r\n // param, { headers: {}, responseType: 'blob' });\r\n // }\r\n // getTemplate(templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/saveToOdt/' + templateId,\r\n // {}, { headers: {}, responseType: 'blob' });\r\n // }\r\n // mergeAndGetBase64(param: any, templateId: string): Observable {\r\n // delete param.groupsDataMap;\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/processAsBase64/' + templateId,\r\n // param, { headers: {}, responseType: 'text' });\r\n // }\r\n // getBase64(templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/saveToBase64/' + templateId,\r\n // {}, { headers: {}, responseType: 'text' });\r\n // }\r\n\r\n mergeAndRenderToPDFBase64(param: any, requestType: string, requestId: string): Observable {\r\n delete param.groupsDataMap;\r\n return this.httpClient.post(`${this.PROCESS_HOST_URL}${'/api/documenteditor/MergeAndRenderBase64'}/${requestType}/${requestId}`,\r\n param, { headers: {}, responseType: 'text' });\r\n }\r\n\r\n getRequestData(caseId: string) {\r\n return this.httpClient.get(`${(this.formioAppConfig as any).gateway}/requestmanagement/api/requests?caseId.equals=${caseId}`);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    ","\r\n
    \r\n
    \r\n

    {{'forms.common.' + showMainBranch.label | translate}}

    \r\n
    \r\n
    \r\n \r\n\r\n \r\n {{item.value ? (item.value | date : 'yyyy-MM-dd') : ('forms.common.inicatorsNoData' | translate)}}\r\n \r\n \r\n {{item.value ? item.value : ('forms.common.inicatorsNoData' | translate)}}\r\n \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.Main branch data has not yet been entered' | translate}}\r\n
    \r\n \r\n {{'forms.common.' + showMainBranch.messageError | translate}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n\r\n
    \r\n
  • \r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n\r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n
    \r\n
  • \r\n
      \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n drag_indicator\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, filter, map, Observable, ReplaySubject, tap } from \"rxjs\";\r\nimport { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { Category } from \"../models/category.model\";\r\nimport { Process } from \"../models/process.model\";\r\nimport { Question } from \"../models/question.model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MemberModel } from \"../models/member.model\";\r\nimport { DecisionInput } from \"../models/decision-input.model\";\r\nimport { CopyModel } from \"../models/copy.model\";\r\nimport { ExecuteVisitResult } from \"../models/execute-visit-result.model\";\r\nimport { FormioAppConfig, ResourceNameService } from \"dp-formio\";\r\n\r\nexport const PAGE_SIZE = 5;\r\n@Injectable({ providedIn: 'root' })\r\nexport class CriterionsService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n\r\n process$ = new ReplaySubject(1);\r\n criterion$ = new BehaviorSubject(null);\r\n questionResult$ = new BehaviorSubject(null);\r\n decisionInputs$ = new BehaviorSubject(null);\r\n decisionTaken$ = new BehaviorSubject(null);\r\n hasMistake$ = new BehaviorSubject(null);\r\n sendEvaluation$ = new BehaviorSubject(null);\r\n sendToExecutiveSummary$ = new BehaviorSubject(null);\r\n sendSummary$ = new BehaviorSubject(null);\r\n\r\n results$ = new BehaviorSubject(new ExecuteVisitResult());\r\n\r\n forms = {\r\n attachmentsFormKey: ''\r\n };\r\n\r\n constructor(private resourceNameService: ResourceNameService,\r\n private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n getCategory(criterionId: string): Observable {\r\n return this.resourceNameService.loadCustomByKeyId(this.formioAppConfig.endpoints.assessmentResource.categories, criterionId)\r\n .pipe(\r\n map((result: any) => {\r\n const category: Category = {\r\n ...result.data,\r\n _id: result._id\r\n };\r\n if (result.data.numberOfApplicable > 0)\r\n category.calculatedSavedScore = result.data.totalEvaluationCriteria / result.data.numberOfApplicable;\r\n return category;\r\n })\r\n );\r\n }\r\n getQuestion(criterionId: string): Observable {\r\n return this.resourceNameService.loadCustomByKeyId(this.formioAppConfig.endpoints.assessmentResource.questions, criterionId)\r\n .pipe(\r\n map((result: any) => {\r\n const question: Question = {\r\n ...result.data,\r\n _id: result._id,\r\n };\r\n question.hasLink = !!question.linkNameAr || !!question.linkNameEn;\r\n question.hasLinkTooltip = !!question.tooltipAr || !!question.tooltipEn;\r\n\r\n question.hasNotes = !!question.notesNameAr || !!question.notesNameEn;\r\n question.hasNotesTooltip = !!question.notesTooltipAr || !!question.notesTooltipEn;\r\n\r\n question.hasAttachments = !!question.attachments.length;\r\n question.hasAttachmentsTooltip = !!question.attachmentsTooltipAr || !!question.attachmentsTooltipEn;\r\n question.attachments?.forEach(attachment => attachment.hasTooltip = !!attachment.attachmentTooltipAr || !!attachment.attachmentTooltipEn);\r\n\r\n question.hasPledgeAndAcknowledgment = !!question.pledgeNameAr || !!question.pledgeNameEn;\r\n question.hasPledgeTooltip = !!question.pledgeTooltipAr || !!question.pledgeTooltipEn;\r\n\r\n question.evaluationItems?.forEach(item => {\r\n item.hasTooltip = !!item.tooltipAr || !!item.tooltipEn;\r\n item.score = +item.score;\r\n });\r\n return question;\r\n })\r\n );\r\n }\r\n getProccess(accreditationKey: string, eligibilityRequestId: string): Observable {\r\n // accreditationKey = 'ERAV';\r\n // eligibilityRequestId = '1059';\r\n const query = `data.key=${accreditationKey}&data.requestId=${eligibilityRequestId}`;\r\n return this.resourceNameService.loadCustomByFilterdKey(this.formioAppConfig.endpoints.assessmentResource.process, query)\r\n .pipe(\r\n filter((data: any) => !!data.length),\r\n map(result => {\r\n const process: Process = {\r\n ...result[0].data,\r\n _id: result[0]._id\r\n };\r\n return process;\r\n }),\r\n tap((data: any) => this.process$.next(data))\r\n );\r\n }\r\n\r\n //members selector\r\n getSessionMembers(visitKey: string, sessionId: string | number): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.visitMembers}visit/${visitKey}/session/${sessionId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n \r\n //members selector\r\n getCriterionMembers(visitKey: string, criterionKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterion}${criterionKey}/visit/${visitKey}/members`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n}\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { map, Observable, startWith } from 'rxjs';\r\nimport { FormioLoader } from 'dp-formio';\r\n\r\ntype DialogEventType = 'customEvent' | 'beforeSubmit' | 'submit';\r\n\r\n@Component({\r\n\tselector: 'app-formio-dialog',\r\n\ttemplateUrl: './formio-dialog.component.html',\r\n\tstyleUrls: ['./formio-dialog.component.scss'],\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class FormioDialogComponent implements OnInit {\r\n\teventType: DialogEventType = 'beforeSubmit';\r\n\tsubmission: Record;\r\n\tformKey = '';\r\n\r\n\tdir$: Observable;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dialogData: any,\r\n\t\tpublic loader: FormioLoader,\r\n\t\tprivate translateService: TranslateService\r\n\t) {\r\n\t\tthis.dir$ = (this.translateService.onLangChange as Observable).pipe(\r\n\t\t\tstartWith({\r\n\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t}),\r\n\t\t\tmap((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t\tthis.formKey = this.dialogData?.formKey;\r\n\t\tthis.submission = this.dialogData?.submission;\r\n\t\tthis.eventType = this.dialogData?.event;\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.component?.key == 'cancel') {\r\n\t\t\tthis.dialogRef.close();\r\n\t\t}\r\n\r\n\t\tif (event.component?.key === 'submit' && this.eventType === 'customEvent') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.eventType);\r\n\t\t}\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tif (this.eventType === 'beforeSubmit') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.eventType);\r\n\t\t}\r\n\t}\r\n\tsubmit(event: any) {\r\n\t\tif (this.eventType === 'submit') {\r\n\t\t\tthis._closeAndEmitData(event.submission, this.eventType);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprivate _closeAndEmitData(data: any, event: DialogEventType) {\r\n\t\tthis.dialogRef.close({\r\n\t\t\tdata: data,\r\n\t\t\tevent: event,\r\n\t\t});\r\n\t}\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef,\r\n } from '@angular/core';\r\n import { Subject } from 'rxjs';\r\n import { SessionService } from '../../core/services/session.service';\r\n \r\n @Directive({\r\n selector: '[appHasRole]',\r\n })\r\n export class HasRoleDirective implements OnInit {\r\n resource: string = '';\r\n isEnvRole = true;\r\n isVisible = false;\r\n stop$ = new Subject();\r\n \r\n /**\r\n * @param {ViewContainerRef} viewContainerRef\r\n * \t-- the location where we need to render the templateRef\r\n * @param {TemplateRef} templateRef\r\n * -- the templateRef to be potentially rendered\r\n * @param {KeycloakService} keycloakService\r\n * -- will give us access to the roles a user has\r\n */\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private templateRef: TemplateRef,\r\n private sessionService: SessionService\r\n ) {}\r\n \r\n ngOnInit() {}\r\n \r\n @Input('appHasRoleRoleResource') set roleResource(resource: string) {\r\n this.resource = resource;\r\n }\r\n \r\n @Input('appHasRoleRoleEnv') set roleEnv(isEnvRole: boolean) {\r\n this.isEnvRole = isEnvRole;\r\n }\r\n \r\n @Input() set appHasRole(roles: string[]) {\r\n const _roles = !roles ? [] : roles.filter((role) => !!role);\r\n const _userInRoles = this.sessionService.isUserInRole(\r\n _roles,\r\n this.resource,\r\n this.isEnvRole\r\n );\r\n if (_userInRoles || !_roles.length) {\r\n // If it is already visible (which can happen if\r\n // his roles changed) we do not need to add it a second time\r\n if (!this.isVisible) {\r\n // We update the `isVisible` property and add the\r\n // templateRef to the view using the\r\n // 'createEmbeddedView' method of the viewContainerRef\r\n this.isVisible = true;\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n } else {\r\n // If the user does not have the role,\r\n // we update the `isVisible` property and clear\r\n // the contents of the viewContainerRef\r\n this.isVisible = false;\r\n this.viewContainerRef.clear();\r\n }\r\n }\r\n }\r\n ","\r\n \r\n Google Keep\r\n Add to a note\r\n \r\n\r\n \r\n Google Docs\r\n Embed in a document\r\n \r\n\r\n \r\n Google Plus\r\n Share with your friends\r\n \r\n\r\n \r\n Google Hangouts\r\n Show to your coworkers\r\n \r\n\r\n","/* (ignored) */","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, startWith, takeUntil } from 'rxjs';\r\nimport { BaseFormIoCustomComponent, FormioLoader } from 'dp-formio';\r\nimport { CommentsHistoryDialogComponent } from './comments-history-dialog/comments-history-dialog.component';\r\n\r\n@Component({\r\n selector: 'comments-history-wrapper',\r\n templateUrl: './comments-history-wrapper.component.html',\r\n // styleUrls: ['./comments-history-wrapper.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class CommentsHistoryWrapperComponent\r\n extends BaseFormIoCustomComponent\r\n implements OnInit {\r\n @Input() data: any;\r\n @ViewChild('form') form: any;\r\n @Output() formSubmitted = new EventEmitter();\r\n\r\n comments: any = [];\r\n\r\n disabled: boolean;\r\n\r\n openDialog: boolean;\r\n\r\n constructor(\r\n private translateService: TranslateService,\r\n\r\n public dialog: MatDialog\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._listenToLanguageChanges();\r\n }\r\n private _listenToLanguageChanges() {\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n startWith({ lang: this.translateService.currentLang })\r\n )\r\n .subscribe((data) => {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = data.lang == 'ar' ? 'rtl' : 'ltr';\r\n });\r\n });\r\n }\r\n\r\n showDialog() {\r\n this.dialog.open(CommentsHistoryDialogComponent, {\r\n width: 'min(80%,600px)',\r\n direction: this.dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n panelClass: ['position-relative', 'comments-history-dialog'],\r\n data: {\r\n options: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n disabled: this.disabled,\r\n data: this.data\r\n },\r\n });\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Summary } from '../../../models/summary.model';\r\n\r\n@Component({\r\n selector: 'app-add-edit-summary',\r\n templateUrl: './add-edit-summary.dialog.html',\r\n styleUrls: ['./add-edit-summary.dialog.scss']\r\n})\r\nexport class AddEditSummaryComponent extends BaseComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n super();\r\n }\r\n\r\n save() {\r\n this.dialogRef.close(this.data.summary);\r\n }\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { TableViewWrapperComponent } from './table-view-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'table-view-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'table-view-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Table View', // Title of the component\r\n};\r\n\r\nexport function registerTableViewWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, TableViewWrapperComponent, injector);\r\n}\r\n","import { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { Injector, Input, OnInit } from '@angular/core';\r\nimport { Component, ViewEncapsulation } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NotificationsService } from 'src/app/modules/notifications/notifications.service';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { distinctUntilChanged, debounceTime, first, take, tap, filter, distinctUntilKeyChanged } from 'rxjs/operators';\r\n\r\n/**\r\n * Notifications Modal Component\r\n */\r\n\r\n@Component({\r\n selector: 'app-notifications-modal',\r\n templateUrl: './notifications-modal.component.html',\r\n // styleUrls: ['./notifications-modal.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotificationsModalComponent extends BaseComponent implements OnInit {\r\n @Input() hasToolbar = true;\r\n\r\n get notifications() {\r\n return this.notificationsService.notifications;\r\n }\r\n\r\n _itemHeight = 79;\r\n get itemHeight(): number {\r\n return this._itemHeight;\r\n }\r\n\r\n set itemHeight(value: number) {\r\n this._itemHeight = value;\r\n }\r\n\r\n _divider = true;\r\n get divider(): boolean {\r\n return this._divider;\r\n }\r\n\r\n set divider(value: boolean) {\r\n this._divider = value;\r\n }\r\n\r\n _all = true;\r\n get all(): boolean {\r\n return this._all;\r\n }\r\n\r\n set all(value: boolean) {\r\n this._all = value;\r\n }\r\n\r\n _title = 'notifications.title';\r\n get title(): string {\r\n return this._title;\r\n }\r\n\r\n set title(value: string) {\r\n this._title = value;\r\n }\r\n\r\n constructor(public injector: Injector,\r\n private modalController: ModalController,\r\n private notificationsService: NotificationsService,\r\n public datePipe: DatePipe) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.notificationsService.notifications.length) {\r\n this.notificationsService.fetchNotifications();\r\n }\r\n }\r\n\r\n markAllAsRead() {\r\n this.notificationsService.markAllAsRead();\r\n }\r\n\r\n onNotificationAction(data) {\r\n if (data.notification) {\r\n switch (data.action) {\r\n case 'delete':\r\n this.notificationsService.deleteNotification(data.notification);\r\n break;\r\n case 'status':\r\n this.notificationsService.updateStatus(data.notification);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n trackBy(index, item) {\r\n return item.id;\r\n }\r\n\r\n handleOpen(item) {\r\n // this.modalController.dismiss();\r\n this.notificationsService.updateStatus(item, true);\r\n }\r\n\r\n compareDate = (item, itemIndex, items) => {\r\n if (!this.divider) {\r\n return null;\r\n }\r\n const today = new Date();\r\n const itemDate = new Date(item.sendDate);\r\n const isToday = itemDate.getDate() === today.getDate() &&\r\n itemDate.getMonth() === today.getMonth() &&\r\n itemDate.getFullYear() === today.getFullYear();\r\n const prevItem = items[itemIndex - 1];\r\n let isPrevToday = 0;\r\n if (prevItem) {\r\n const NextItemDate = new Date(prevItem.sendDate);\r\n isPrevToday = NextItemDate.getDate() === today.getDate() &&\r\n NextItemDate.getMonth() === today.getMonth() &&\r\n NextItemDate.getFullYear() === today.getFullYear() ? 2 : 1;\r\n }\r\n if (!isToday && (isPrevToday === 0 || isPrevToday === 2)) {\r\n return 'notifications.earlier';\r\n }\r\n if (isToday && (isPrevToday === 0 || isPrevToday === 1)) {\r\n return 'notifications.new';\r\n }\r\n return null;\r\n }\r\n\r\n getItemHeight = () => {\r\n return this.itemHeight;\r\n }\r\n\r\n /* Get More Notifications Based On Based Size */\r\n fetchMore(event) {\r\n this.sub = this.notificationsService.fetchNotifications().subscribe((data) => {\r\n event.target.complete();\r\n if (data.items.length === 0 || data.items.length < this.notificationsService.pageSize) {\r\n event.target.disabled = true;\r\n }\r\n });\r\n }\r\n\r\n close() {\r\n // this.modalController.dismiss();\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n\r\n\r\n \r\n \r\n {{ node?.criterionKey && node?.criterionKey + ' - ' }}\r\n {{ lang === 'ar' ? node.criterionArabicName : node.criterionEnglishName }}\r\n \r\n \r\n\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {{'forms.common.Overall evaluation of the criteria' | translate}}
    \r\n \r\n {{'forms.common.The total quality levels assessment' | translate}}\r\n \r\n \r\n {{'forms.common.The total evaluation criteria' | translate}}\r\n \r\n {{category.totalEvaluationCriteria | number : '1.1-1'}}
    \r\n \r\n {{'forms.common.The number of applicable quality levels' | translate}}\r\n \r\n \r\n {{'forms.common.The number of applicable criteria' | translate}}\r\n \r\n {{category.numberOfApplicable}}
    {{'forms.common.Average Rating Criterion' | translate}}{{category.calculatedSavedScore | number : '1.1-1'}}
    {{'forms.common.The overall evaluation score of the standard' | translate}}\r\n \r\n {{category.calculatedSavedScore | number : '1.1-1'}} {{'forms.common.points' | translate}} -\r\n {{category.evaluationScoreMessage}}\r\n \r\n
    \r\n
    ","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    {{domain.domainNumber }} {{'forms.common.' +\r\n domain.key | translate}}
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n

    {{'forms.common.' + domain.description | translate}}

    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    {{'forms.common.Attachments' | translate}}
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {{'forms.common.It can not be empty' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {{'forms.common.It can not be empty' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { combineLatest, filter, map, Observable, switchMap } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { SHA256 } from 'crypto-js';\r\n\r\n@Component({\r\n selector: 'app-question-preview',\r\n templateUrl: './question-preview.component.html',\r\n styleUrls: ['./question-preview.component.scss']\r\n})\r\nexport class QuestionPreviewComponent extends BaseComponent implements OnInit {\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n answers$: Observable>;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n isLoadingResults = false;\r\n \r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.isLoadingResults = true;\r\n this.criterionsService.criterion$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter(data => data.criterionType == 'STICK'),\r\n switchMap(data => this.criterionsService.getQuestion(data.submissionId)\r\n .pipe(finalize(() => {\r\n this.isLoadingResults = false;\r\n })))\r\n ).subscribe(data => {\r\n data.evaluationItems?.forEach(item => {\r\n const jsonString = JSON.stringify(item);\r\n item.id = SHA256(jsonString).toString();\r\n });\r\n this.criterionsService.questionResult$.next(data);\r\n });\r\n this.initAnswers();\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n map(([question, process]) => {\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { EventTreeWrapperComponent } from './event-tree-wrapper.component';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'event-tree', // custom type. Formio will identify the field with this type.\r\n selector: 'event-tree', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'event tree', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerEventTreeComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, EventTreeWrapperComponent, injector);\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { CustomComponent, Utils } from 'formiojs';\r\n\r\n@Pipe({\r\n\tname: 'renderTemplate',\r\n})\r\nexport class RenderTemplatePipe implements PipeTransform {\r\n\tconstructor(private sanitizer: DomSanitizer) {}\r\n\ttransform(\r\n\t\ttemplate: string,\r\n\t\tdata: Record,\r\n\t\tformioComponent: CustomComponent\r\n\t): SafeHtml {\r\n\t\ttry {\r\n\t\t\tconst html = Utils.interpolate(template, {\r\n\t\t\t\tdata: data,\r\n\t\t\t\tlanguage: formioComponent.i18next.language,\r\n\t\t\t\ttranslate: formioComponent.t,\r\n\t\t\t\tinstance: formioComponent,\r\n\t\t\t\tutils: Utils,\r\n\t\t\t});\r\n\r\n\t\t\treturn this.sanitizer.bypassSecurityTrustHtml(html);\r\n\t\t} catch (error) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n}\r\n","import { LoggerService } from './logger.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class AccountService {\r\n\r\n constructor(private http: HttpClient,\r\n private loggerService: LoggerService) { }\r\n\r\n getAccount(queryParams = {}): Observable {\r\n const endpoint = `${environment.gateway}${environment.endpoints.account}`;\r\n return this.http.get(endpoint, { params: queryParams }).pipe(\r\n catchError(this.handleError('getAccount', []))\r\n );\r\n }\r\n\r\n // getBranchId(userid): Observable {\r\n // const endpoint = `${environment.wso2.base}${environment.wso2.api.erp}employee/${encodeURIComponent(userid)}`;\r\n // this.loggerService.log(endpoint);\r\n // return this.http.get(endpoint);\r\n // }\r\n\r\n // getBranchIfForbeneficiary(): Observable {\r\n // const endpoint = `${environment.beneficiaryApi.api}`;\r\n // return this.http.get(endpoint)\r\n // }\r\n\r\n private handleError(operation = 'operation', result?) {\r\n return (error: any): Observable => {\r\n\r\n // TODO: send the error to remote logging infrastructure\r\n console.error(error); // log to console instead\r\n\r\n // TODO: better job of transforming error for user consumption\r\n // this.log(`${operation} failed: ${error.message}`);\r\n\r\n // Let the app keep running by returning an empty result.\r\n result.status = error.status;\r\n if (error.error.hasOwnProperty('message')) {\r\n result.message = error.error.message;\r\n result.type = error.error.type;\r\n }\r\n\r\n return of(result as T);\r\n };\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { CardWrapperComponent } from './card-wrapper.component';\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'card-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'card-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'card wrapper', // Title of the component\r\n};\r\n\r\nexport function registerCardWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, CardWrapperComponent, injector);\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ProccessRequirmentsWrapperComponent } from './proccess-requirments-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'proccess-requirments', // custom type. Formio will identify the field with this type.\r\n selector: 'proccess-requirments', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'proccess requirments', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerProccessRequirmentsComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, ProccessRequirmentsWrapperComponent, injector);\r\n}","
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{\r\n category\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n

    \r\n {{\r\n category\r\n | propertyLocalized : [\"descriptionAr\", \"descriptionEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n
    \r\n \r\n
    ","\r\nimport { Injectable } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { isNumber, isBoolean } from 'util';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashletFilterAdapter {\r\n constructor(private datePipe: DatePipe, public translate: TranslateService) {\r\n }\r\n adapt(item: any) {\r\n const query = Object.assign({}, {\r\n language: this.translate.currentLang,\r\n 'requestDate.greaterOrEqualThan': item.requestDateAfter,\r\n 'requestDate.lessOrEqualThan': item.requestDateBefore,\r\n 'cmmnStatus.in': item.statuses,\r\n 'serviceId.in': item.services,\r\n 'activeTask.equals': item.activeTask,\r\n sort: item.sort,\r\n page: item.page,\r\n size: item.size\r\n });\r\n Object.keys(query).forEach((key) => (query[key] == null || !query[key].length && !isNumber(query[key]) && \r\n !isBoolean(query[key])) && delete query[key]);\r\n\r\n return (query);\r\n }\r\n}\r\n","export type evaluatedString = string;\r\n\r\nexport type SelectRequestType = {\r\n\tmethod: 'GET' | 'POST' | 'PUT' | string;\r\n\turl: string;\r\n\tparams?: Record;\r\n\theaders?: Record;\r\n\tbody?: any;\r\n\tonSuccess?: any[];\r\n};\r\n\r\nexport const EVENTS = {\r\n\tafterLoadItems: 'AFTER_LOAD_ITEMS',\r\n\tafterValueChange: 'AFTER_VALUE_CHANGE',\r\n\tonChange: 'ON_CHANGE',\r\n\tonSearch: 'ON_SEARCH',\r\n\tonAdd: 'ON_ADD',\r\n\tonRemove: 'ON_REMOVE',\r\n};\r\n\r\nexport type HooksType = {\r\n\t[p in keyof typeof EVENTS]: evaluatedString;\r\n};\r\n\r\nexport type SelectRequestOptionsType = {\r\n\t[p in keyof SelectRequestType]: evaluatedString;\r\n};\r\n\r\nexport type SelectCustomOptionsType = {\r\n\turl?: evaluatedString;\r\n\titemTemplate?: evaluatedString;\r\n\tgroupTemplate?: evaluatedString;\r\n\tselectedTemplate?: evaluatedString;\r\n\tbindLabel?: string;\r\n\tbindGroup?: string;\r\n\tgroupBy: string;\r\n\tbindValue?: string;\r\n\tmultiple?: boolean;\r\n\tselectableGroup?: boolean;\r\n\tselectableGroupAsModel?: boolean;\r\n\tcloseOnSelect?: boolean;\r\n\tdispatchEvents?: boolean;\r\n\trequest?: SelectRequestOptionsType;\r\n\thooks?: HooksType;\r\n\tsearchFields?: string;\r\n\thideSelected?:boolean;\r\n};\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {{'ERROR_PAGES.NOT_FOUND' | translate}}

    \r\n

    {{'ERROR_PAGES.WE_HELP' | translate}}

    \r\n {{'ERROR_PAGES.BACK' | translate}}\r\n
    \r\n
    \r\n
    \r\n
    ","import { OnDestroy, OnInit } from '@angular/core';\r\nimport { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { finalize } from 'rxjs';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { OrgService } from '../org.service';\r\nimport { FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'view-form',\r\n\ttemplateUrl: 'view-form.component.html',\r\n\tstyleUrls: ['./view-form.component.scss'],\r\n})\r\nexport class ViewFormDialog implements OnInit, OnDestroy {\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate loader: FormioLoader,\r\n\t\tprivate orgService: OrgService) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t\tthis.getData();\r\n\t}\r\n\tngOnDestroy(): void {\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tprivate getData() {\r\n\t\tthis.loader.loading = true;\r\n\t\tthis.orgService\r\n\t\t\t.getByEndpoint(this.data.endpoint)\r\n\t\t\t.pipe(\r\n\t\t\t\tfinalize(() => this.loader.loading = false)\r\n\t\t\t)\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.data.submission = data;\r\n\t\t\t});\r\n\t}\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { IMember } from '../../models/member';\r\nimport { ISession } from '../../models/session';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-sessions-tab',\r\n templateUrl: './sessions-tab.component.html',\r\n styleUrls: ['./sessions-tab.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SessionsTabComponent extends BaseComponent implements OnInit {\r\n selectedSession: ISession = null;\r\n selectedIndex: number;\r\n selectedId: any;\r\n sessions!: ISession[];\r\n\r\n @Output() isValid = new EventEmitter();\r\n\r\n trackByFn(i: number, itm: ISession) {\r\n return itm.id ?? i;\r\n }\r\n\r\n constructor(private distributeService: DistributeService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._getSessions();\r\n }\r\n\r\n private _getSessions() {\r\n this.distributeService\r\n .getSessionsByVisitKey(this.visitInfo.key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.sessions = res;\r\n this.isValid.emit(this._checkIfSessionsIsValid());\r\n });\r\n }\r\n\r\n selectSession([id]) {\r\n const index = this.sessions.findIndex((d) => d.id === id);\r\n this.selectedIndex = index;\r\n this.selectedSession = this.sessions[this.selectedIndex];\r\n }\r\n\r\n targetChanges(event: IMember[]) {\r\n const data = {\r\n ...this.selectedSession,\r\n visitMembers: event,\r\n };\r\n\r\n this.distributeService\r\n .updateSessionMembers(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.selectedSession = res;\r\n this.sessions[this.selectedIndex].visitMembers = res.visitMembers;\r\n this.isValid.emit(this._checkIfSessionsIsValid());\r\n });\r\n }\r\n\r\n private _checkIfSessionsIsValid() {\r\n return this.sessions.every((data) => !!data?.visitMembers?.length);\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ 'forms.common.Criteria.ExecutivePlan' | translate }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n
    {{ row?.clause }}
    \r\n
    \r\n {{ \"forms.common.Criteria.startDate\" | translate }}\r\n \r\n
    {{ row?.startDate | date : 'yyyy-MM-dd'}}
    \r\n
    \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n
    {{ row?.endDate | date : 'yyyy-MM-dd'}}
    \r\n
    \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n
    {{ row?.responsibleName }}
    \r\n
    \r\n {{ \"forms.common.Criteria.responsiblePosition\" | translate }}\r\n \r\n
    {{ row?.responsiblePosition }}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    ","
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n

    {{ 'ERRORS.NoDataFound' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n\tproduction: false,\r\n\tenableLogger: true,\r\n\tgateway: 'https://etec-orch.org/gateway',\r\n\tcms: 'https://etec-orch.org/cms',\r\n\tappConfig: {\r\n\t\tendpoint: '/api/collections/get/AppConfig1/',\r\n\t\tid: '6069bbe7666434004e00012d',\r\n\t\tfrontOfficeSettings: 'api/singletons/get/frontOfficeSettings',\r\n\t\tformioEndpoint: '/api/collections/get/formioConfig/',\r\n\t\tformioId: '612bc06a5d4cda7713720b52',\r\n\t\tformioSettings: 'api/singletons/get/formioSettings',\r\n\t},\r\n\tkeycloak: {\r\n\t\turl: 'https://etec-orch.org/auth/',\r\n\t\trealm: 'etec',\r\n\t\tclientId: 'fo-web',\r\n\t\tdisableLoginRedirectUri: false\r\n\t},\r\n\tformio: {\r\n\t\tapiUrl: 'https://etec-orch.org/formioApi/',\r\n\t\tappUrl: 'https://etec-orch.org/formioUrl/',\r\n\t},\r\n\tendpoints: {\r\n\t\ttasks: '/requestmanagement/api/portal/tasks',\r\n\t\tanonymousTasks: '/requestmanagement/api/portal/tasks/anonymous',\r\n\t\tcamundaTask: '/requestmanagement/rest/task',\r\n\t\tmyRequests: '/requestmanagement/api/portal/requests',\r\n\t\tmyBeneficiarySegments: '/requestmanagement/api/portal/beneficiary-segments-cms',\r\n\t\tcaseActivity: '/requestmanagement/rest/history/case-activity-instance',\r\n\t\tcaseActivityDetails: '/requestmanagement/rest/history/detail',\r\n\t\tcount: '/requestmanagement/api/requests/count',\r\n\t\tstatuses: '/requestmanagement/api/portal/eservices',\r\n\t\tbeneficiaryApi: '/dataservice/api/portal/beneficiaries',\r\n\t\tdeparments: '/referencedata/api/portal/departments',\r\n\t\tservices: '/referencedata/api/request/eservices',\r\n\t\tservicesNew: '/requestmanagement/api/portal/eservices',\r\n\t\tfilterStatuses: '/referencedata/departments',\r\n\t\trequest: '/referencedata/caseNames',\r\n\t\taccount: '/api/account',\r\n\t\thumanTask: '/dataservice/api/tasks/case/',\r\n\t\tnotifications: '/notification/api/',\r\n\t\tsocket: '/notification/websocket/orchestra',\r\n\t\tdataservice: '/dataservice/api/',\r\n\t\teligibilityVerificationReportApi: '/reportingservice/api/requirements',\r\n\t\trequestFeedback: '/feedbackservice/api/v2/feedbacks/service',\r\n\t\treportingservice: '/reportingservice/api/',\r\n\t\tcriterionInformations: '/reportingservice/api/v1/criterion-informations/',\r\n\t\tfinalCriterionInformations: '/reportingservice/api/v1/criterion-final-reports/',\r\n\t\tcriterion: '/reportingservice/api/criterion/',\r\n\t\tvisitMembers: '/reportingservice/api/visit-members/',\r\n\t\texecutivePlan: '/reportingservice/api/executive-plans/',\r\n\t\tcustomExecutivePlan: '/reportingservice/api/v1/executive-plans/',\r\n\t\tfinalReportMistakes: '/reportingservice/api/final-report-mistakes',\r\n\t\tfinalReportResponses: '/reportingservice/api/v1/final-report-responses/',\r\n\t\tmasarCriteria: '/reportingservice/api/masar-criteria/',\r\n\t\tassessmentResource: {\r\n\t\t\tprocess: 'proccessassessmentresult',\r\n\t\t\tcategories: 'categoryassessmentresult',\r\n\t\t\tquestions: 'questionsassessmentresult',\r\n\t\t},\r\n\t},\r\n\tkeys: {\r\n\t\tattachments: 'attachmentssm',\r\n\t\tattachmentsId: '63d78e1cd6bca98f19758ac2',\r\n\t},\r\n\troles: {\r\n\t\tbeneficiary: 'ROLE_BENEFICIARY',\r\n\t\tbranch_specialist: 'ROLE_SERVICE_SPECIALIST_BRANCH',\r\n\t\tdepartment_specialist: 'ROLE_DEPARTMENT_ENABLEMENT_SPECIALIST',\r\n\t\tadmin: 'ROLE_ADMIN',\r\n\t},\r\n\tserviceCatalogControl: {\r\n\t\tshowCarousel: false,\r\n\t\tshowHasTask: true,\r\n\t\tshowMostUsedService: true,\r\n\t\tshowCatalog: false,\r\n\t},\r\n\tpdftronLicenceKey: '',\r\n\tshowFeedbackButton: true,\r\n\tshowDashboardCounters: true,\r\n\tskipServiceDetailsPage: false,\r\n\tbackToTop: true,\r\n\ttaskRedirection: true,\r\n\tenableFormioHelpers: false,\r\n\tmatomoConfig:{\r\n\t\tenable: false,\r\n\t\ttrackerUrl: '3.235.13.55:8080',\r\n\t\tappDomain: 'etec-orch.org',\r\n\t\tsiteId: 1\r\n\t}\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { DatePipe } from '@angular/common';\r\nimport { OnDestroy, Pipe, PipeTransform } from '@angular/core';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, Subject, takeUntil } from 'rxjs';\r\n\r\n@Pipe({\r\n name: 'localizedDate'\r\n})\r\nexport class LocalizedDatePipe implements PipeTransform , OnDestroy {\r\n\tstatic DEFAULT_LOCALE = 'en-US';\r\n\tstatic DEFAULT_DATE_FORMAT = 'dd MMMM yyyy hh:mm a';\r\n\r\n\tdefaultLocale: string = LocalizedDatePipe.DEFAULT_LOCALE;\r\n\tdefaultFormat: string = LocalizedDatePipe.DEFAULT_DATE_FORMAT;\r\n\r\n\tprivate onDestroy$ = new Subject();\r\n\r\n\tconstructor(public translateService: TranslateService) {\r\n\t\tthis.defaultLocale = translateService.currentLang;\r\n\t\t(this.translateService.onLangChange as Observable).pipe(takeUntil(this.onDestroy$)).subscribe((event) => {\r\n\t\t\tthis.defaultLocale = event.lang;\r\n\t\t});\r\n\t}\r\n\r\n\taddHours(numOfHours, date) {\r\n\t\treturn date.setTime(date.getTime() + numOfHours * 60 * 60 * 1000);\r\n\t}\r\n\r\n\ttransform(value: any, format?: string, locale?: string): any {\r\n\t\ttry {\r\n\t\t\tconst actualFormat = format || this.defaultFormat;\r\n\t\t\tconst actualLocale = locale || this.defaultLocale;\r\n\t\t\tconst datePipe: DatePipe = new DatePipe(actualLocale);\r\n\t\t\treturn datePipe.transform( new Date(value), actualFormat, 'GMT+3');\r\n\t\t} catch (e) {\r\n\t\t\tconsole.warn(e);\r\n\t\t\treturn this.addHours(3, new Date(value));\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.onDestroy$.next(true);\r\n\t\tthis.onDestroy$.complete();\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { CalenderWrapperComponent } from './calendar-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'calendar-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'calendar-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'calendar schedule', // Title of the component\r\n\t// template: 'input', // Optional: define a template for the element. Default: input\r\n\t// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n\t// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n\t// documentation: '', // Optional: define the documentation of the field\r\n\t// weight: 0, // Optional: define the weight in the builder group\r\n\t// schema: {}, // Optional: define extra default schema for the field\r\n\t// extraValidators: [], // Optional: define extra validators for the field\r\n\t// emptyValue: null, // Optional: the emptyValue of the field\r\n\t// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerCalenderWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, CalenderWrapperComponent, injector);\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ComponentBase } from '../../base';\r\nimport { CommonQuestionModel } from '../../models';\r\n\r\n@Component({\r\n selector: 'app-question-item',\r\n templateUrl: './question-item.component.html',\r\n styleUrls: ['./question-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QuestionItemComponent extends ComponentBase {\r\n @Input() question: CommonQuestionModel;\r\n\r\n}\r\n","
    \r\n \r\n
    ","import { TemplateWrapperComponent } from './template-wrapper.component';\r\nimport { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'template', // custom type. Formio will identify the field with this type.\r\n selector: 'custom-template', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Template', // Title of the component\r\n};\r\n\r\nexport function registerTemplateComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, TemplateWrapperComponent, injector);\r\n}","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Criterion } from \"../models\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Subject, takeUntil } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-criterion-evaluation\",\r\n templateUrl: \"./criterion-evaluation.component.html\",\r\n // styleUrls: ['./criterion-evaluation.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class CriterionEvaluationComponent implements OnDestroy {\r\n @Input() disabled: boolean;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n criterion: Criterion;\r\n @Input() set model(value: Criterion) {\r\n this.criterion = value;\r\n this.formGroup = this.fb.group({\r\n totalEvaluation: [\r\n { value: this.criterion.totalEvaluation, disabled: true },\r\n [Validators.required],\r\n ],\r\n notes: [{ value: this.criterion.notes, disabled: this.disabled }],\r\n ...Object.assign(\r\n {},\r\n ...this.criterion.subCriterions.map((sub) => ({\r\n [sub.subCriterionKey]: [\r\n { value: sub.totalEvaluation || 0, disabled: this.disabled },\r\n [Validators.required, Validators.min(1)],\r\n ],\r\n }))\r\n ),\r\n });\r\n this.subscribeValueChange();\r\n }\r\n\r\n destroy$ = new Subject();\r\n formGroup: FormGroup = null;\r\n\r\n constructor(private fb: FormBuilder) {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private subscribeValueChange() {\r\n this.formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n const total: number = this.criterion.subCriterions\r\n .map((sub) => {\r\n const total = this.formGroup.get(sub.subCriterionKey).value;\r\n sub.totalEvaluation = total;\r\n return total;\r\n })\r\n .reduce((acc, currentValue) => acc + currentValue, 0);\r\n\r\n this.formGroup\r\n .get(\"totalEvaluation\")\r\n .setValue(total, { emitEvent: false });\r\n this.criterion.totalEvaluation = total;\r\n this.criterion.notes = this.formGroup.get(\"notes\").value;\r\n this.valueChange.emit(this.criterion);\r\n });\r\n }\r\n}\r\n","import { OnInit } from '@angular/core';\r\nimport { Utils } from 'formiojs';\r\nimport { Component, EventEmitter, Input, Output, AfterViewInit, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription, switchMap } from 'rxjs';\r\nimport { TableHeader } from './models/table-header.config';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-grouped-table-wrapper',\r\n templateUrl: './grouped-table-wrapper.component.html',\r\n // styleUrls: ['./grouped-table-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class GroupedTableWrapperComponent implements FormioCustomComponent, OnInit, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n tableConfig: { cols?: TableHeader[], rows?: any[], rowGroup?: string } = {};\r\n headerRows = [];\r\n colsKeys: Array<{ key: string, class?: string, total?: string, editable?: any, ratio: any }> = [];\r\n rowGroupMetadata: any;\r\n tableData = [];\r\n\r\n saveControl: {\r\n justNotes: boolean,\r\n notes: {\r\n key: string,\r\n value: string,\r\n isRequired: boolean,\r\n },\r\n resource: {\r\n key: string,\r\n rowId: string,\r\n generatedKey: string,\r\n extra: string,\r\n groupDataOn: string,\r\n deleteFromBody: string[],\r\n },\r\n afterChange: any[]\r\n } = null;\r\n notes = '';\r\n isNotesRequired = true;\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnInit() {\r\n // this.sub = this.translateService.onLangChange.subscribe(lang => {\r\n // if (lang) {\r\n // this.formioComponent.triggerChange();\r\n // }\r\n // });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formioLoader.loading = false;\r\n if (this.customOptions) {\r\n if (this.customOptions.tableConfig && this.customOptions.tableData) {\r\n this.initView();\r\n }\r\n }\r\n }\r\n\r\n onSaveNotes() {\r\n this.formioLoader.loading = true;\r\n if (this.saveControl && this.saveControl.notes) this.saveControl.notes.value = this.notes;\r\n this.sub = this.resourceNameService.loadCustomByKeyId(this.saveControl.resource.key, this.saveControl.resource.rowId)\r\n .pipe(switchMap((data: any) => {\r\n data.data[this.saveControl.notes.key] = this.notes;\r\n return this.resourceNameService.editSubmission(this.saveControl.resource.key, this.saveControl.resource.rowId, data)\r\n })).subscribe(row => {\r\n this.afterChangeValue(row);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.afterChangeValue(null);\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n onSaveMap() {\r\n if (this.saveControl && this.saveControl.notes) this.saveControl.notes.value = this.notes;\r\n let bodyData = this.groupedDataOn(this.tableData, this.saveControl.resource.groupDataOn, this.saveControl.resource.deleteFromBody);\r\n if (this.saveControl.resource.extra) {\r\n const extra = Utils.evaluate(this.saveControl.resource.extra, { submission: this.data, generatedKey: this.saveControl.resource.generatedKey || null, notes: this.notes });\r\n bodyData = { ...bodyData, ...extra };\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n let method = this.resourceNameService.addSubmission(this.saveControl.resource.key, { data: bodyData });\r\n if (this.saveControl.resource.rowId) {\r\n method = this.resourceNameService.loadCustomByKeyId(this.saveControl.resource.key, this.saveControl.resource.rowId)\r\n .pipe(switchMap((data: any) => {\r\n data.data = { ...data.data, ...bodyData };\r\n return this.resourceNameService.editSubmission(this.saveControl.resource.key, this.saveControl.resource.rowId, data)\r\n }));\r\n }\r\n\r\n this.sub = method.subscribe(row => {\r\n this.saveControl.resource.rowId = row._id;\r\n this.afterChangeValue(row);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.afterChangeValue(null);\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n private groupedDataOn(array: any[], key: string, deleteFromBody: string[] = []) {\r\n return array.reduce(function (rv, x) {\r\n const tmep = { ...x };\r\n if (deleteFromBody && deleteFromBody.length)\r\n for (const [key, value] of Object.entries(tmep)) {\r\n if (deleteFromBody.includes(key)) delete tmep[key];\r\n }\r\n\r\n (rv[x[key]] = rv[x[key]] || []).push(tmep);\r\n return rv;\r\n }, {});\r\n }\r\n\r\n private afterChangeValue(row) {\r\n if (this.saveControl.afterChange)\r\n this.saveControl.afterChange.forEach(item => {\r\n try {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) c.triggerChange();\r\n else {\r\n const value = Utils.evaluate(item.value, { value: this.notes, data: this.data, instance: this.formioComponent, rowId: this.saveControl.resource.rowId, row: row });\r\n c.setValue(value);\r\n }\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) c.triggerChange();\r\n else {\r\n const value = Utils.evaluate(item.value, { value: this.notes, data: this.data, instance: this.formioComponent, rowId: this.saveControl.resource.rowId, row: row });\r\n c.setValue(value);\r\n }\r\n });\r\n });\r\n });\r\n\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n\r\n if (item.notifyChange) c.triggerChange();\r\n else {\r\n const value = Utils.evaluate(item.value, { value: this.notes, data: this.data, instance: this.formioComponent, rowId: this.saveControl.resource.rowId, row: row });\r\n c.setValue(value);\r\n }\r\n });\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n }\r\n\r\n private initView() {\r\n this.tableData = [];\r\n this.headerRows = [];\r\n this.colsKeys = [];\r\n this.saveControl = null;\r\n\r\n this.saveControl = this.customOptions.tableConfig.saveControl;\r\n if (this.saveControl?.notes?.value) this.notes = this.saveControl.notes.value;\r\n if (this.saveControl?.notes?.isRequired == false) this.isNotesRequired = false;\r\n\r\n this.tableConfig.cols = this.customOptions.tableConfig.cols as TableHeader[];\r\n this.tableConfig.rows = this.customOptions.tableConfig.rows ?? [];\r\n this.tableConfig.rowGroup = this.customOptions.tableConfig.rowGroup;\r\n this.tableData = this.customOptions.tableData.sort((a, b) => a[this.tableConfig.rowGroup] >= b[this.tableConfig.rowGroup] ? 1 : -1);\r\n this.initTableHeader();\r\n this.onSort();\r\n }\r\n\r\n private initTableHeader() {\r\n const depth = this.findHeaderDepth();\r\n this.headerRows = Array.from({ length: depth }, e => []);\r\n this.tableConfig.cols.forEach(item => {\r\n this.recursiveFillHeader(item, depth, 0);\r\n });\r\n }\r\n\r\n private recursiveFillHeader(item: TableHeader, depth: number, level: number) {\r\n if (item.childrens) {\r\n item.colSpan = 0;\r\n item.childrens.forEach(child => {\r\n item.colSpan += this.recursiveFillHeader(child, depth, level + 1);\r\n });\r\n this.headerRows[level].push(item);\r\n return item.colSpan;\r\n } else {\r\n item.rowSpan = depth - level;\r\n item.colSpan = 1;\r\n this.headerRows[level].push(item);\r\n this.colsKeys.push({ key: item.key, class: item.class, total: item.total, editable: item.editable, ratio: item.ratio });\r\n return item.colSpan;\r\n }\r\n }\r\n\r\n private findHeaderDepth() {\r\n let depth = 0;\r\n this.tableConfig.cols.forEach(item => {\r\n const currentDepth = this.depthLoop(1, item);\r\n if (currentDepth > depth)\r\n depth = currentDepth;\r\n });\r\n return depth;\r\n }\r\n\r\n private depthLoop(depth: number, item): number {\r\n if (item.childrens) {\r\n let max = 0;\r\n item.childrens.forEach(child => {\r\n const result = this.depthLoop(depth + 1, child);\r\n if (result > max) max = result;\r\n });\r\n return max;\r\n }\r\n else return depth;\r\n }\r\n\r\n\r\n onSort() { this.updateRowGroupMetaData(); }\r\n private updateRowGroupMetaData() {\r\n this.rowGroupMetadata = {};\r\n\r\n if (this.tableData) {\r\n for (let i = 0; i < this.tableData.length; i++) {\r\n let rowData = this.tableData[i];\r\n let groupField = rowData[this.tableConfig.rowGroup];\r\n\r\n if (i == 0) {\r\n this.rowGroupMetadata[groupField] = { index: 0, size: 1 };\r\n }\r\n else {\r\n let previousRowData = this.tableData[i - 1];\r\n let previousRowGroup = previousRowData[this.tableConfig.rowGroup];\r\n if (groupField === previousRowGroup)\r\n this.rowGroupMetadata[groupField].size++;\r\n else\r\n this.rowGroupMetadata[groupField] = { index: i, size: 1 };\r\n }\r\n }\r\n }\r\n }\r\n\r\n notifyValue() {\r\n this.value = { tableData: this.tableData };\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","export * from './object';\r\n","

    \r\n {{data.message}}\r\n

    \r\n
    \r\n \r\n
    ","
    \r\n \r\n\r\n \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ResourceAutocompleteWrapperComponent } from './resource-autocomplete-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'resource-autocomplete-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'resource-autocomplete-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Resource Autocomplete', // Title of the component\r\n};\r\n\r\nexport function registerResourceAutocompleteWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ResourceAutocompleteWrapperComponent, injector);\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{question.order | displayOrderPattern : process}}\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n\r\n

    \r\n {{\r\n question\r\n | propertyLocalized : [\"tooltipAr\", \"tooltipEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n {{'forms.common.a1' | translate}}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    {{'forms.common.a1' | translate}}\r\n {{\r\n item\r\n | propertyLocalized : [\"arabicLabel\", \"englishLabel\"]\r\n | async\r\n }}\r\n
    \r\n {{item.score}}\r\n
    \r\n {{\r\n item\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n \r\n info\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {{item.value}}\r\n \r\n info\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"linkNameAr\", \"linkNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n {{question.linkValue}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"notesNameAr\", \"notesNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"attachmentsTooltipAr\", \"attachmentsTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n info\r\n \r\n {{\r\n item\r\n | propertyLocalized : [\"attachmentNameAr\", \"attachmentNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"pledgeTooltipAr\", \"pledgeTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'sort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n\ttransform(array: any[], propertyName: string = 'order'): any[] {\r\n\t\tif (!array || array.length === 0 || !propertyName) {\r\n\t\t\treturn array;\r\n\t\t}\r\n\r\n\t\treturn array.slice().sort((a, b) => (a[propertyName] > b[propertyName] ? 1 : -1));\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ClassificationIndicatorsWrapperComponent } from './classification-indicators-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'classification-indicators-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'classification-indicators-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'indicators', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerClassificationIndicatorsComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, ClassificationIndicatorsWrapperComponent, injector);\r\n}\r\n","import { Observable, throwError } from 'rxjs';\r\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class LicenseInterceptor implements HttpInterceptor {\r\n alert;\r\n constructor(private alertController: AlertController, private translate: TranslateService) {\r\n\r\n }\r\n\r\n async onLicenseInvalid() {\r\n this.alert = await this.alertController.create({\r\n message: this.translate.instant('LICENSE.INVALID'),\r\n backdropDismiss: false,\r\n buttons: [\r\n {\r\n text: this.translate.instant('OK'),\r\n role: 'close',\r\n cssClass: 'secondary',\r\n handler: () => {\r\n this.alert = null;\r\n }\r\n }\r\n ]\r\n });\r\n await this.alert.present();\r\n }\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(req).pipe(\r\n catchError((err: HttpErrorResponse) => {\r\n if (err.status === 402 && !this.alert && !req.url.includes('check')) {\r\n this.onLicenseInvalid();\r\n return throwError(err);\r\n\r\n } else {\r\n return throwError(err);\r\n }\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-assessment-status',\r\n templateUrl: './assessment-status.component.html',\r\n // styleUrls: ['./assessment-status.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AssessmentStatusComponent {\r\n @Input() status: number;\r\n // @Input() status: IndicatorStatus;\r\n // indicatorStatus = IndicatorStatus;\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Category } from '../../../../models/category.model';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-optional-inputs-preview',\r\n templateUrl: './optional-inputs-preview.component.html',\r\n styleUrls: ['./optional-inputs-preview.component.scss']\r\n})\r\nexport class OptionalInputsPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n
    \r\n\t\r\n\t\r\n
    \r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FormioPipesModule } from 'src/formio-custom-components/src/lib/shared/pipes';\r\nimport { CustomSelectComponent } from './custom-select.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [CustomSelectComponent],\r\n\tentryComponents: [CustomSelectComponent],\r\n\texports : [CustomSelectComponent],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tTranslateModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormioPipesModule,\r\n\t\tNgSelectModule,\r\n\t],\r\n})\r\nexport class CustomSelectModule {}\r\n","import { Component, Input, OnDestroy, ViewEncapsulation } from \"@angular/core\";\r\nimport { Criterion } from \"../models\";\r\n\r\n@Component({\r\n selector: \"app-general-report\",\r\n templateUrl: \"./general-report.component.html\",\r\n // styleUrls: ['./general-report.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class GeneralReportComponent {\r\n @Input() criterions: Criterion[] = [];\r\n\r\n get evaluations() {\r\n return (\r\n this.criterions.reduce(\r\n (acc, currentValue) => acc + currentValue.totalEvaluation || 0,\r\n 0\r\n ) || 0\r\n );\r\n }\r\n}\r\n","import { Directive, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Directive()\r\nexport class BaseComponent implements OnDestroy {\r\n destroy$ = new Subject();\r\n\r\n constructor() {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Pipe({\r\n name: 'timeAgo',\r\n pure: false\r\n})\r\nexport class TimeAgoPipe implements PipeTransform, OnDestroy {\r\n private timer: number;\r\n constructor(private changeDetectorRef: ChangeDetectorRef, private ngZone: NgZone, private translate: TranslateService) { }\r\n transform(value: string) {\r\n this.removeTimer();\r\n const d = new Date(value);\r\n const now = new Date();\r\n const seconds = Math.round(Math.abs((now.getTime() - d.getTime()) / 1000));\r\n const timeToUpdate = (Number.isNaN(seconds)) ? 1000 : this.getSecondsUntilUpdate(seconds) * 1000;\r\n this.timer = this.ngZone.runOutsideAngular(() => {\r\n if (typeof window !== 'undefined') {\r\n return window.setTimeout(() => {\r\n this.ngZone.run(() => this.changeDetectorRef.markForCheck());\r\n }, timeToUpdate);\r\n }\r\n return null;\r\n });\r\n const minutes = Math.round(Math.abs(seconds / 60));\r\n const hours = Math.round(Math.abs(minutes / 60));\r\n const days = Math.round(Math.abs(hours / 24));\r\n const months = Math.round(Math.abs(days / 30.416));\r\n const years = Math.round(Math.abs(days / 365));\r\n if (Number.isNaN(seconds)) {\r\n return '';\r\n } else if (seconds <= 45) {\r\n return this.translate.instant('a few seconds ago');\r\n } else if (seconds <= 90) {\r\n return this.translate.instant('a minute ago');\r\n } else if (minutes <= 45) {\r\n return this.translate.instant('minutes ago', { minutes });\r\n } else if (minutes <= 90) {\r\n return this.translate.instant('an hour ago');\r\n } else if (hours <= 22) {\r\n return this.translate.instant('hours ago', { hours });\r\n } else if (hours <= 36) {\r\n return this.translate.instant('a day ago');\r\n } else if (days <= 25) {\r\n return this.translate.instant('days ago', { days });\r\n } else if (days <= 45) {\r\n return this.translate.instant('a month ago');\r\n } else if (days <= 345) {\r\n return this.translate.instant('months ago', { months });\r\n } else if (days <= 545) {\r\n return this.translate.instant('a year ago');\r\n } else { // (days > 545)\r\n return this.translate.instant('years ago', { years });\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n this.removeTimer();\r\n }\r\n private removeTimer() {\r\n if (this.timer) {\r\n window.clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n private getSecondsUntilUpdate(seconds: number) {\r\n const min = 60;\r\n const hr = min * 60;\r\n const day = hr * 24;\r\n if (seconds < min) { // less than 1 min, update every 2 secs\r\n return 2;\r\n } else if (seconds < hr) { // less than an hour, update every 30 secs\r\n return 30;\r\n } else if (seconds < day) { // less then a day, update every 5 mins\r\n return 300;\r\n } else { // update every hour\r\n return 3600;\r\n }\r\n }\r\n}\r\n","\r\n\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { CdkAccordionModule } from '@angular/cdk/accordion';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatOptionModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n@NgModule({\r\n imports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatSortModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatNativeDateModule,\r\n MatOptionModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSlideToggleModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatPaginatorModule,\r\n MatMenuModule,\r\n MatProgressBarModule,\r\n MatSidenavModule,\r\n MatSnackBarModule,\r\n MatToolbarModule,\r\n MatButtonToggleModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatDividerModule,\r\n MatTreeModule,\r\n MatFormFieldModule,\r\n CdkAccordionModule,\r\n ],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatSortModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatNativeDateModule,\r\n MatOptionModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSlideToggleModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatPaginatorModule,\r\n MatMenuModule,\r\n MatProgressBarModule,\r\n MatSidenavModule,\r\n MatSnackBarModule,\r\n MatToolbarModule,\r\n MatButtonToggleModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatDividerModule,\r\n MatTreeModule,\r\n MatFormFieldModule,\r\n CdkAccordionModule,\r\n ],\r\n})\r\nexport class MaterialModule {}\r\n","export * from './common-questions.service';\r\nexport * from './questions-store.service';\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{question.order | displayOrderPattern : process}}\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n\r\n

    \r\n {{\r\n question\r\n | propertyLocalized : [\"tooltipAr\", \"tooltipEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n {{'forms.common.a1' | translate}}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    {{'forms.common.a1' | translate}}\r\n {{\r\n item\r\n | propertyLocalized : [\"arabicLabel\", \"englishLabel\"]\r\n | async\r\n }}\r\n
    \r\n {{item.score}}\r\n
    \r\n {{\r\n item\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n \r\n info\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {{item.value}}\r\n \r\n info\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"linkNameAr\", \"linkNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n {{question.linkValue}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"notesNameAr\", \"notesNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"attachmentsTooltipAr\", \"attachmentsTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n info\r\n \r\n {{\r\n item\r\n | propertyLocalized : [\"attachmentNameAr\", \"attachmentNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"pledgeTooltipAr\", \"pledgeTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Direction } from '@angular/cdk/bidi';\r\nimport { Directive, Injector, Input, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { DeleteDialogComponent } from 'src/formio-custom-components/src/lib/shared/components/delete-dialog/delete-dialog/delete-dialog.component';\r\nimport { CommonQuestionsService, QuestionsStoreService } from '../services';\r\n\r\n@Directive()\r\nexport class ComponentBase implements OnDestroy {\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n\r\n destroy$ = new Subject();\r\n\r\n translateService = this.injector.get(TranslateService);\r\n toastrService = this.injector.get(ToastrService);\r\n dialog: MatDialog = this.injector.get(MatDialog);\r\n\r\n questionsService = this.injector.get(CommonQuestionsService);\r\n questionsStore = this.injector.get(QuestionsStoreService);\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n protected _confirmDialog({\r\n title = this.translateService.instant('MESSAGES.confirmTitle'),\r\n description = this.translateService.instant('MESSAGES.confirmDescription'),\r\n confirmText = this.translateService.instant('GLOBAL.confirm'),\r\n direction = 'rtl',\r\n }: {\r\n title?: string;\r\n description?: string;\r\n confirmText?: string;\r\n direction?: Direction;\r\n } = {}) {\r\n return this.dialog.open(DeleteDialogComponent, {\r\n width: 'min(80%, 500px)',\r\n direction: direction,\r\n panelClass: 'padding-zero',\r\n data: {\r\n title: title,\r\n description: description,\r\n confirmText: confirmText,\r\n },\r\n });\r\n }\r\n\r\n protected _showSuccessAlert({\r\n title = 'OperationDone',\r\n message = 'MESSAGES.savedSuccessfully',\r\n }: {\r\n title?: string;\r\n message?: string;\r\n } = {}) {\r\n this.toastrService.success(\r\n this.translateService.instant(message),\r\n this.translateService.instant(title)\r\n );\r\n }\r\n\r\n protected _showErrorAlert({\r\n title = 'ERRORS.generalError',\r\n message = 'ERRORS.ErrorOccurred',\r\n }: {\r\n title?: string;\r\n message?: string;\r\n } = {}) {\r\n this.toastrService.error(\r\n this.translateService.instant(title),\r\n this.translateService.instant(message)\r\n );\r\n }\r\n}\r\n","export type ModeType = 'READ' | 'ACTIVE';\r\nexport interface VisitMetaData {\r\n id: number;\r\n requestId?: string;\r\n reviewerId?: string;\r\n role: RolesEnum;\r\n visitId?: number;\r\n visitKey?: string;\r\n generatedId?: string;\r\n memberId?: string;\r\n mode: ModeType;\r\n accreditationKey?: string;\r\n eligibilityRequestId?: string;\r\n isMasar?: boolean;\r\n sessionChecked: SessionChecked;\r\n}\r\n\r\nexport interface SessionChecked {\r\n sessionStarted?: boolean;\r\n}\r\n\r\nexport enum RolesEnum {\r\n REVIEWER = 'REVIEWER',\r\n TEAM_LEADER = 'TEAM_LEADER',\r\n MEMBER = 'MEMBER',\r\n}\r\n","import { ANALYZE_FOR_ENTRY_COMPONENTS, ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n\tdeclarations: [],\r\n\timports: [],\r\n})\r\nexport class CustomDynamicComponentsModule {\r\n\tstatic withComponents(components?: any): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: CustomDynamicComponentsModule,\r\n\t\t\tproviders: [{ provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: components, multi: true }],\r\n\t\t};\r\n\t}\r\n}\r\n","\r\n\r\n
    \r\n\t
    \r\n\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t{{ 'forms.common.Generating PDF Report' | translate }} \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\"App\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ translationsObj + col.key | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ translationsObj\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ item[col.key] | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n\r\n
    \r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{{ translationsObj + col.key | translate }}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{{ translationsObj + item[col.key] | translate }}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t 25; else noSlicing\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ item[col.key] | slice: 0:20 }} ...\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t \r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t 0\"\r\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-eye pl-2 pr-2 eye-icon\" id=\"tooltip-i\" triggers=\"click\"\r\n\t\t\t\t\t\t\t\t\t[autoClose]=\"'outside'\" [ngbTooltip]=\"tipContent\" tooltipClass=\"my-custom-class\"\r\n\t\t\t\t\t\t\t\t\t[openDelay]=\"200\" [closeDelay]=\"200\">\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t
    \r\n
    \r\n\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ","
    \r\n \r\n \r\n
    \r\n {{'forms.common.inicatorsNotComplete' | translate}}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {{'forms.common.inicatorsCompleted' | translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { FormKeyWrapperComponent } from './form-key-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'form-key-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'form-key-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'form key wrapper', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerFormKeyWrapperComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, FormKeyWrapperComponent, injector);\r\n}","
    \r\n
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'BACK' | translate }}\r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ pageTitle }}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ pageTitleNarrow }}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil } from 'rxjs';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { ExecutivePlan } from '../../models/executive-plan.model';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { AddEditExecutivePlanComponent } from './add-edit-executive-plan/add-edit-executive-plan.dialog';\r\nimport { ItimadCriterionsService } from '../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-executive-plan',\r\n templateUrl: './executive-plan.component.html',\r\n styleUrls: ['./executive-plan.component.scss', '../data-table.scss']\r\n})\r\nexport class ExecutivePlanComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n\r\n dataSource: ExecutivePlan[] = [];\r\n displayedColumns = [\r\n 'clause',\r\n 'startDate',\r\n 'endDate',\r\n 'responsibleName',\r\n 'responsiblePosition',\r\n 'actions'\r\n ];\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n }\r\n\r\n showPlan(decisionInput: DecisionInput, plan: ExecutivePlan = null, isViewOnly: boolean = false, index: number = null) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditExecutivePlanComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n viewOnly: isViewOnly,\r\n model: plan || new ExecutivePlan(),\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n const model: ExecutivePlan = {\r\n ...result,\r\n visitId: decisionInput.visitMetaData.visitId,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n deleted: false\r\n };\r\n\r\n if (plan) {\r\n this.dataSource[index] = model;\r\n this.dataSource = [...this.dataSource];\r\n } else\r\n this.dataSource = [...this.dataSource, model];\r\n });\r\n }\r\n\r\n undo(index: number) {\r\n this.dataSource[index].deleted = false;\r\n this.dataSource = [...this.dataSource];\r\n }\r\n deletePlan(index: number) {\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: {\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n // this.dataSource.splice(index, 1);\r\n this.dataSource[index].deleted = true;\r\n this.dataSource = [...this.dataSource];\r\n });\r\n }\r\n\r\n submit(decisionInput: DecisionInput) {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.saveExecutivePlan(this.dataSource)\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(model => {\r\n this.getData();\r\n // this.dataSource = [...model];\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getExecutivePlan(this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(data => {\r\n this.dataSource = data;\r\n this.updateResultData();\r\n });\r\n }\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value.executivePlan = this.dataSource;\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { TranslateLoader } from \"@ngx-translate/core\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { combineLatest, from } from \"rxjs\";\r\nimport { catchError, map, tap } from \"rxjs/operators\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\nexport class TranslateLoaderHelper implements TranslateLoader {\r\n constructor(private http: HttpClient) { }\r\n\r\n getTranslation(lang: string) {\r\n try {\r\n return combineLatest([\r\n this.http.get(\r\n `${environment.cms}/api/collections/get/i18n?filter[name]=frontoffice_${lang}`, {}).pipe(\r\n tap((data: { entries: any[] }) => {\r\n if (data && data.entries[0]) {\r\n return data;\r\n } else {\r\n throw new Error('Translation List empty');\r\n }\r\n }),\r\n catchError((err) => {\r\n console.warn(err);\r\n return this.http.get(\r\n `./assets/i18n/${lang}.json`,\r\n ).pipe(\r\n map(data => {\r\n return { entries: [{ translations: data }] };\r\n }\r\n ));\r\n })),\r\n this.http.get(\r\n `${environment.cms}/api/collections/get/i18n?filter[name]=forms_${lang}`, {}).pipe(\r\n tap(data => data),\r\n catchError((err) => {\r\n return from([\r\n { entries: [] }\r\n ]);\r\n }))\r\n\r\n ])\r\n .pipe(\r\n map((data) => {\r\n if (data[0] && data[0].entries[0] && data[1] && data[1].entries[0]) {\r\n const main = data[0].entries[0].translations;\r\n const forms = data[1].entries[0].translations;\r\n const translations = { ...main, forms: { ...main.forms, common: forms } };\r\n return translations;\r\n } else if (data[0] && data[0].entries[0]) {\r\n return data[0].entries[0].translations;\r\n }\r\n })\r\n );\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n }\r\n\r\n}","import { environment } from \"src/environments/environment\";\r\n\r\nexport function getFormioEnvironment() {\r\n return environment;\r\n}","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport { finalize, Observable } from 'rxjs';\r\nimport { Country } from '../models/country.model';\r\nimport { GeneralSpecialty } from '../models/general-specialty.model';\r\nimport { Language } from '../models/language.model';\r\nimport { OrgService } from '../org.service';\r\n\r\n@Component({\r\n selector: 'app-org-reviewer-filter',\r\n templateUrl: './org-reviewer-filter.component.html',\r\n styleUrls: ['./org-reviewer-filter.component.scss']\r\n})\r\nexport class OrgReviewerFilterComponent implements OnInit {\r\n @Output() onSearch = new EventEmitter();\r\n @Output() onClear = new EventEmitter();\r\n filtersForm: FormGroup;\r\n isLoadingResults = true;\r\n\r\n gender = [\r\n { value: 'male', label: 'Male' },\r\n { value: 'female', label: 'Female' }\r\n ];\r\n\r\n residencePlace = [\r\n { value: 'local', label: 'Local' },\r\n { value: 'international', label: 'International' }\r\n ];\r\n nationalities$: Observable = this.orgService.getCountries()\r\n .pipe(finalize(() => this.isLoadingResults = false));\r\n localResidenceCity$: Observable = this.orgService.getLocalResidenceCity();\r\n languages$: Observable = this.orgService.getLanguages();\r\n generalSpecialty$: Observable = this.orgService.getGeneralSpecialty();\r\n\r\n constructor(private fb: FormBuilder,\r\n private orgService: OrgService) { }\r\n\r\n ngOnInit() {\r\n this.initFilterForm();\r\n }\r\n\r\n search() {\r\n const values = this.filtersForm.value;\r\n this.onSearch.emit({\r\n ...(values.arabicName ? { 'arabicName.contains': values.arabicName } : {}),\r\n ...(values.englishName ? { 'englishName.contains': values.englishName } : {}),\r\n ...(values.mainEmail ? { 'mainEmail.contains': values.mainEmail } : {}),\r\n ...(values.gender ? { 'gender.equals': values.gender } : {}),\r\n ...(values.nationality ? { 'nationality.equals': values.nationality } : {}),\r\n ...(values.residenceCountry ? { 'residenceCountry.equals': values.residenceCountry } : {}),\r\n ...(values.residencePlace ? { 'residencePlace.equals': values.residencePlace } : {}),\r\n ...(values.localResidenceCity ? { 'residenceCity.equals': values.localResidenceCity } : {}),\r\n ...(values.workDestination ? { 'workDestination.contains': values.workDestination } : {}),\r\n ...(values.language ? { 'language.contains': values.language } : {}),\r\n ...(values.delicateSpecialization ? { 'delicateSpecialization.contains': values.delicateSpecialization } : {}),\r\n ...(values.generalSpecialty ? { 'generalSpecialty.equals': values.generalSpecialty } : {}),\r\n ...(values.reviewerState ? { 'reviewerState.equals': values.reviewerState } : {}),\r\n });\r\n }\r\n clear() {\r\n this.filtersForm.reset();\r\n this.onClear.emit();\r\n }\r\n\r\n private initFilterForm(): void {\r\n this.filtersForm = this.fb.group({\r\n arabicName: new FormControl(''),\r\n englishName: new FormControl(''),\r\n mainEmail: new FormControl(''),\r\n gender: new FormControl(''),\r\n nationality: new FormControl(''),\r\n residenceCountry: new FormControl(''),\r\n residencePlace: new FormControl(''),\r\n localResidenceCity: new FormControl(''),\r\n workDestination: new FormControl(''),\r\n language: new FormControl(''),\r\n delicateSpecialization: new FormControl(''),\r\n generalSpecialty: new FormControl(''),\r\n reviewerState: new FormControl(''),\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, map, Observable } from \"rxjs\";\r\nimport { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MemberModel } from \"../models/member.model\";\r\nimport { CriterionInformation, MemberCriterionInformation } from \"../models/criterion-information.mode\";\r\nimport { Summary } from \"../models/summary.model\";\r\nimport { PagingResponse } from \"../models/paging-response.model\";\r\nimport { ExecutivePlan } from \"../models/executive-plan.model\";\r\nimport { FinalReportMistakes } from \"../models/final-report-mistakes.model\";\r\nimport { FinalReportResponse, MasarFinalReportResponse } from \"../models/final-report-response.model\";\r\nimport { FormioAppConfig } from \"dp-formio\";\r\nimport { PAGE_SIZE } from \"./criterions.service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MasarCriterionsService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n updatedCriterionKey$ = new BehaviorSubject(null);\r\n updatedMainCriterion$ = new BehaviorSubject(null);\r\n\r\n allCriterionEvaluated$ = new BehaviorSubject(null);\r\n\r\n constructor(private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n get criterionPath() {\r\n const pathSegments = this.formioAppConfig.endpoints.criterion.split('api/');\r\n return pathSegments[0] + `api/masar-` + pathSegments[1];\r\n }\r\n get finalReportMistakes() {\r\n const path = this.formioAppConfig.endpoints.finalReportMistakes;\r\n const pathSegments = path.split('api/');\r\n return pathSegments[0] + `api/masar-` + pathSegments[1];\r\n }\r\n get finalCriterionInformationsPath() {\r\n const pathSegments = this.formioAppConfig.endpoints.finalCriterionInformations.split('api/v1/');\r\n return pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n }\r\n get finalReportResponses() {\r\n const path = this.formioAppConfig.endpoints.finalReportResponses;\r\n const pathSegments = path.split('api/v1/');\r\n return pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n }\r\n private criterionInformationsEndpoint(isFinal: boolean = false) {\r\n const path = isFinal ?\r\n this.formioAppConfig.endpoints.finalCriterionInformations :\r\n this.formioAppConfig.endpoints.criterionInformations;\r\n\r\n const pathSegments = path.split('api/v1/');\r\n return pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n }\r\n\r\n getMainCriterionByVisitKey(visitKey: string, type = 'MAIN'): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.masarCriteria}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'criterionType.equals': type,\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getAllCriterionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getMyCriterionByVisitKey(visitKey: string, reviewerId): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members/reviewer/${reviewerId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n //summary filter\r\n getStickQuestionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterion}STICK/visit/${visitKey}`;\r\n return this.http.get(url);\r\n }\r\n\r\n //summary filter\r\n getMembersByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.visitMembers}visit/${visitKey}`;\r\n return this.http\r\n .get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n //summary filter\r\n getCriterionInformationForAll(params: any): Observable> {\r\n const url = `${this.baseUrl}${this.finalCriterionInformationsPath}`;\r\n return this.http.get(url, {\r\n observe: 'response',\r\n params: params\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: params?.size ?? PAGE_SIZE,\r\n page: params?.page ?? 0,\r\n };\r\n })\r\n );\r\n }\r\n getPaginatedSummaries(visitKey: string, type: string, isCustom: boolean = false): Observable> {\r\n // v1 for get summaryOfRecommendations with finalReportResponseId\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}${isCustom ? 'v1/' : ''}masar-${type}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n },\r\n observe: 'response',\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: PAGE_SIZE,\r\n page: 0,\r\n };\r\n })\r\n );\r\n }\r\n\r\n getCriterionInformationForMainCriterion(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n let url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}${criterionKey}/visit/${visitKey}`;\r\n if (!isFinal) url += `/member/${memberId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n getCriterionInformation(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n const params: any = {\r\n 'visitKey.equals': visitKey,\r\n 'criterionKey.equals': criterionKey\r\n };\r\n if (!isFinal) params['memberId.equals'] = memberId;\r\n\r\n return this.http.get(url, {\r\n params: params\r\n }).pipe(map(data => data.length ? data[0] : null));\r\n }\r\n\r\n createCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getSummaries(visitKey: string, type: string, isCustom: boolean = false): Observable {\r\n // v1 for get summaryOfRecommendations with finalReportResponseId\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}${isCustom ? 'v1/' : ''}masar-${type}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n },\r\n responseType: 'json'\r\n });\r\n }\r\n\r\n saveSummaries(type: string, payload: Summary[]): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}v1/${type}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n saveRecommendationsSummaries(payload: Summary): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}masar-recommendations-summaries`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getExecutivePlan(visitKey: string, recommendationId: number): Observable {\r\n const path = this.formioAppConfig.endpoints.executivePlan;\r\n const pathSegments = path.split('api/');\r\n const executivePlan = pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n ...(recommendationId ? { 'recommendationId.equals': recommendationId.toString() } : {}),\r\n 'deleted.equals': 'false'\r\n }\r\n });\r\n }\r\n\r\n saveExecutivePlan(payload: ExecutivePlan[]): Observable {\r\n const path = this.formioAppConfig.endpoints.customExecutivePlan;\r\n const pathSegments = path.split('api/v1/');\r\n const executivePlan = pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n getFinalReportMistakes(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n }\r\n });\r\n }\r\n\r\n createFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n deleteFinalReportMistakes(id: number): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}/${id}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n getFinalReportResponses(id: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}${id}`;\r\n return this.http.get(url);\r\n }\r\n\r\n createFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getDocuments(id: number): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}${id}/documents`;\r\n return this.http.get(url);\r\n }\r\n\r\n createResponsesWithExecutive(payload: MasarFinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}masar-executive-plans`;\r\n return this.http.post(url, payload);\r\n }\r\n}\r\n\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{sectionTitle}}\r\n :\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { map, Subscription } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { Utils } from 'formiojs';\r\nimport { SortHelper } from '../../helpers/sort.helper';\r\nimport { ClassificationIndicator, ClassificationStatus } from './models/classification-indicators.model';\r\nimport { ClassificationIndicatorComponent } from './indicator/classification-indicator.component';\r\nimport { reviver } from '../../helpers/json.helper';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n\r\n@Component({\r\n selector: 'app-classification-indicators-wrapper',\r\n templateUrl: './classification-indicators-wrapper.component.html',\r\n // styleUrls: ['./classification-indicators-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class ClassificationIndicatorsWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n\r\n @Input()\r\n value: any = {};\r\n\r\n @Output()\r\n valueChange = new EventEmitter();\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n viewOnly: boolean;\r\n\r\n @Input()\r\n data: any;\r\n\r\n @Input()\r\n customOptions: any;\r\n\r\n @Input()\r\n formioComponent: any;\r\n\r\n indicatorQuery = ``;\r\n indicators: ClassificationIndicator[] = [];\r\n indicatorStatus = ClassificationStatus;\r\n\r\n hideSummary: boolean;\r\n\r\n hideQuestions: boolean;\r\n hideAttachments: boolean;\r\n hideNotesAndRecommendations: boolean;\r\n hideDecision: boolean;\r\n hideSaveDomain: boolean;\r\n hideComments: boolean;\r\n\r\n disableQuestions: boolean;\r\n disableAttachments: boolean;\r\n disableNotesAndRecommendations: boolean;\r\n disableDecision: boolean;\r\n disableComments: boolean;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private matDialog: MatDialog,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions && this.customOptions.indicatorResource) {\r\n this.indicatorQuery = this.formioComponent.interpolate(this.customOptions.indicatorQuery, { data: this.data });\r\n\r\n this.hideSummary = eval(this.formioComponent.interpolate(this.customOptions.hideSummary, { data: this.data }));\r\n\r\n this.hideQuestions = eval(this.formioComponent.interpolate(this.customOptions.hideQuestions, { data: this.data }));\r\n this.hideAttachments = eval(this.formioComponent.interpolate(this.customOptions.hideAttachments, { data: this.data }));\r\n this.hideNotesAndRecommendations = eval(this.formioComponent.interpolate(this.customOptions.hideNotesAndRecommendations, { data: this.data }));\r\n this.hideDecision = eval(this.formioComponent.interpolate(this.customOptions.hideDecision, { data: this.data }));\r\n this.hideSaveDomain = eval(this.formioComponent.interpolate(this.customOptions.hideSaveDomain, { data: this.data }));\r\n this.hideComments = eval(this.formioComponent.interpolate(this.customOptions.hideComments, { data: this.data }));\r\n\r\n this.disableQuestions = eval(this.formioComponent.interpolate(this.customOptions.disableQuestions, { data: this.data }));\r\n this.disableAttachments = eval(this.formioComponent.interpolate(this.customOptions.disableAttachments, { data: this.data }));\r\n this.disableNotesAndRecommendations = eval(this.formioComponent.interpolate(this.customOptions.disableNotesAndRecommendations, { data: this.data }));\r\n this.disableDecision = eval(this.formioComponent.interpolate(this.customOptions.disableDecision, { data: this.data }));\r\n this.disableComments = eval(this.formioComponent.interpolate(this.customOptions.disableComments, { data: this.data }));\r\n\r\n this.getIndicatorsResources();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n openIndicator(indicator: ClassificationIndicator, isSummary = false) {\r\n const dialog = this.matDialog.open(ClassificationIndicatorComponent, {\r\n id: Utils.guid(),\r\n data: {\r\n dir: this.dir,\r\n submission: this.data,\r\n indicator: _cloneDeep(indicator),\r\n customOptions: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n isSummary: isSummary,\r\n formData: this.formioComponent?.root?.data,\r\n formioComponent: this.formioComponent,\r\n options: {\r\n hideQuestions: this.hideQuestions,\r\n hideAttachments: this.hideAttachments,\r\n hideNotesAndRecommendations: this.hideNotesAndRecommendations,\r\n hideDecision: this.hideDecision,\r\n hideSaveDomain: this.hideSaveDomain,\r\n hideComments: this.hideComments,\r\n disableQuestions: this.disableQuestions,\r\n disableAttachments: this.disableAttachments,\r\n disableNotesAndRecommendations: this.disableNotesAndRecommendations,\r\n disableDecision: this.disableDecision,\r\n disableComments: this.disableComments\r\n }\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n disableClose: true\r\n });\r\n const sub = dialog.afterClosed().subscribe(result => {\r\n sub.unsubscribe();\r\n if (result) {\r\n this.indicators[this.indicators.findIndex(q => q._id == result._id)] = result;\r\n this.notifyValue();\r\n }\r\n this.formioComponent?.root?.events?.emit('formio.registerComponent');\r\n });\r\n }\r\n\r\n private notifyValue() {\r\n if (this.required) {\r\n if (this.indicators.some(q => !q.isValid)) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue();\r\n return;\r\n }\r\n }\r\n this.value = { indicatorsData: this.indicators.map(q => q._id) };\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue();\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n const mustUpdateValues = eval(this.formioComponent.interpolate(item.condition, { data: this.data }));\r\n if (mustUpdateValues) {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n this.searchAndUpdateComponent(pages, item);\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n this.searchAndUpdateComponent(pages, item);\r\n });\r\n });\r\n\r\n const components = this.searchAndUpdateComponent(this.formioComponent.root.components, item);\r\n if (!components?.length) {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n this.searchAndUpdateComponent(subForm.components, item);\r\n });\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private searchAndUpdateComponent(formComponents: any[], afterChangeItem: any): any[] {\r\n const components = Utils.searchComponents(formComponents, { key: afterChangeItem.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(afterChangeItem.value, { data: this.data, indicators: this.indicators, indicatorStatus: this.indicatorStatus });\r\n c.setValue(value);\r\n });\r\n return components;\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n\r\n private getIndicatorsResources() {\r\n if (!this.formioComponent.visible) return;\r\n this.formioLoader.loading = true;\r\n\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.customOptions.indicatorResource, this.indicatorQuery).pipe(\r\n map((resultData: any[]) => {\r\n return SortHelper.recursiveSort(resultData.map(q => { return { _id: q._id, ...q.data } }), 'asc').map(q => {\r\n const item = new ClassificationIndicator();\r\n SortHelper.copyProps(q, item);\r\n item.attachmentsFormKey = this.customOptions.attachmentsForm;\r\n item.domainNotesAndRecommendationsFormKey = this.customOptions.domainNotesAndRecommendationsForm;\r\n if (q.history) item.history = JSON.parse(q.history, reviver);\r\n return item;\r\n })\r\n }))\r\n .subscribe(data => {\r\n if (data && data.length) {\r\n this.indicators = data;\r\n this.notifyValue();\r\n }\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Inject,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport {\r\n Observable,\r\n catchError,\r\n finalize,\r\n from,\r\n map,\r\n of,\r\n switchMap,\r\n} from 'rxjs';\r\nimport {\r\n ResourceNameService,\r\n STEPPERTABSTATUS,\r\n UserService,\r\n} from 'dp-formio';\r\nimport { CustomOptionsModel, DialogData, commentColumnModel } from '../models';\r\n\r\n@Component({\r\n\tselector: 'app-comments-history-dialog',\r\n\ttemplateUrl: './comments-history-dialog.component.html',\r\n\tstyleUrls: ['./comments-history-dialog.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CommentsHistoryDialogComponent implements OnInit {\r\n\tshowLoader: boolean;\r\n\thasError: boolean;\r\n\r\n\toptions: CustomOptionsModel;\r\n\tdata: Record;\r\n\tcomments$: Observable[]> = of([]);\r\n\r\n\ttranslationsKey = 'forms.common.';\r\n\ttabStatusEnum = STEPPERTABSTATUS;\r\n\r\n\t_columns: commentColumnModel[] = [\r\n\t\t{\r\n\t\t\tkey: 'notes',\r\n\t\t\tlabel: 'notes',\r\n\t\t\ttranslated: false,\r\n\t\t},\r\n\t];\r\n\tcolumns: commentColumnModel[] = this._columns;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dialogData: DialogData,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate userService: UserService,\r\n\t\tprivate keycloak: KeycloakService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.data = this.dialogData?.data;\r\n\t\tthis.options = this.dialogData?.options;\r\n\t\tthis.translationsKey =\r\n\t\t\tthis.dialogData?.options?.translationKey || this.translationsKey;\r\n\r\n\t\tthis._prepareColumns();\r\n\t\tthis._fetchData();\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tprivate _prepareColumns() {\r\n\t\tconst _columns = this.dialogData?.options?.columns ?? [];\r\n\t\tthis.columns =\r\n\t\t\tArray.isArray(_columns) && _columns.length ? _columns : this._columns;\r\n\t}\r\n\r\n\tprivate _fetchData() {\r\n\t\tthis.showLoader = true;\r\n\t\tthis.comments$ = from(this.keycloak.getToken()).pipe(\r\n\t\t\tswitchMap((token) => this.userService.getUserData(token)),\r\n\t\t\tswitchMap((userData) => {\r\n\t\t\t\tconst query = Evaluator.interpolate(this.options.query, {\r\n\t\t\t\t\tdata: { ...this.data, ...userData },\r\n\t\t\t\t});\r\n\t\t\t\treturn this.resourceNameService.loadCustomByFilterdKey(\r\n\t\t\t\t\tthis.options.resourceKey,\r\n\t\t\t\t\tquery\r\n\t\t\t\t);\r\n\t\t\t}),\r\n\t\t\tcatchError((error) => {\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tthis.hasError = true;\r\n\t\t\t\treturn of([]);\r\n\t\t\t}),\r\n\t\t\tfinalize(() => {\r\n\t\t\t\tthis.showLoader = false;\r\n\t\t\t}),\r\n\t\t\tmap((data) =>\r\n\t\t\t\tArray.isArray(data) && !!data.length\r\n\t\t\t\t\t? data.map((item: any) => item.data)\r\n\t\t\t\t\t: []\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n}\r\n","import { isPlatformBrowser } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n PLATFORM_ID,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport Chart from 'chart.js/auto';\r\n\r\n@Component({\r\n\tselector: 'app-chart',\r\n\ttemplateUrl: './chart.component.html',\r\n\tstyleUrls: ['./chart.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tencapsulation: ViewEncapsulation.None,\r\n\thost: {\r\n\t\tclass: 'p-element',\r\n\t},\r\n})\r\nexport class UIChartComponent implements AfterViewInit, OnDestroy {\r\n\t@Input() type: any;\r\n\r\n\t@Input() plugins: any[] = [];\r\n\r\n\t@Input() width: string | undefined;\r\n\r\n\t@Input() height: string | undefined;\r\n\r\n\t@Input() responsive: boolean = true;\r\n\r\n\t@Input() get data(): any {\r\n\t\treturn this._data;\r\n\t}\r\n\tset data(val: any) {\r\n\t\tthis._data = val;\r\n\t\tthis.reinit();\r\n\t}\r\n\r\n\t@Input() get options(): any {\r\n\t\treturn this._options;\r\n\t}\r\n\tset options(val: any) {\r\n\t\tthis._options = val;\r\n\t\tthis.reinit();\r\n\t}\r\n\r\n\t@Output() onDataSelect: EventEmitter = new EventEmitter();\r\n\r\n\tisBrowser: boolean = false;\r\n\r\n\tinitialized: boolean;\r\n\r\n\t_data: any;\r\n\r\n\t_options: any = {};\r\n\r\n\tchart: any;\r\n\r\n\tconstructor(\r\n\t\t@Inject(PLATFORM_ID) private platformId: any,\r\n\t\tpublic el: ElementRef\r\n\t) {}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis.initChart();\r\n\t\tthis.initialized = true;\r\n\t}\r\n\r\n\tonCanvasClick(event) {\r\n\t\tif (this.chart) {\r\n\t\t\tconst element = this.chart.getElementsAtEventForMode(\r\n\t\t\t\tevent,\r\n\t\t\t\t'nearest',\r\n\t\t\t\t{ intersect: true },\r\n\t\t\t\tfalse\r\n\t\t\t);\r\n\t\t\tconst dataset = this.chart.getElementsAtEventForMode(\r\n\t\t\t\tevent,\r\n\t\t\t\t'dataset',\r\n\t\t\t\t{ intersect: true },\r\n\t\t\t\tfalse\r\n\t\t\t);\r\n\r\n\t\t\tif (element && element[0] && dataset) {\r\n\t\t\t\tthis.onDataSelect.emit({\r\n\t\t\t\t\toriginalEvent: event,\r\n\t\t\t\t\telement: element[0],\r\n\t\t\t\t\tdataset: dataset,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tinitChart() {\r\n\t\tif (isPlatformBrowser(this.platformId)) {\r\n\t\t\tlet opts = this.options || {};\r\n\t\t\topts.responsive = this.responsive;\r\n\r\n\t\t\t// allows chart to resize in responsive mode\r\n\t\t\tif (opts.responsive && (this.height || this.width)) {\r\n\t\t\t\topts.maintainAspectRatio = false;\r\n\t\t\t}\r\n\r\n\t\t\tthis.chart = new Chart(this.el.nativeElement.children[0].children[0], {\r\n\t\t\t\ttype: this.type,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\toptions: this.options,\r\n\t\t\t\tplugins: this.plugins,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetCanvas() {\r\n\t\treturn this.el.nativeElement.children[0].children[0];\r\n\t}\r\n\r\n\tgetBase64Image() {\r\n\t\treturn this.chart.toBase64Image();\r\n\t}\r\n\r\n\tgenerateLegend() {\r\n\t\tif (this.chart) {\r\n\t\t\treturn this.chart.generateLegend();\r\n\t\t}\r\n\t}\r\n\r\n\trefresh() {\r\n\t\tif (this.chart) {\r\n\t\t\tthis.chart.update();\r\n\t\t}\r\n\t}\r\n\r\n\treinit() {\r\n\t\tif (this.chart) {\r\n\t\t\tthis.chart.destroy();\r\n\t\t\tthis.initChart();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.chart) {\r\n\t\t\tthis.chart.destroy();\r\n\t\t\tthis.initialized = false;\r\n\t\t\tthis.chart = null;\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil } from 'rxjs';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { ExecutivePlan } from '../../models/executive-plan.model';\r\nimport { MasarAddEditExecutivePlanComponent } from './add-edit-executive-plan/masar-add-edit-executive-plan.dialog';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { MasarCriterionsService } from '../../services/masar-criterions.service';\r\nimport { showToast } from '../../../toast.helper';\r\n\r\n@Component({\r\n selector: 'app-masar-executive-plan',\r\n templateUrl: './masar-executive-plan.component.html',\r\n styleUrls: ['./masar-executive-plan.component.scss', '../data-table.scss']\r\n})\r\nexport class MasarExecutivePlanComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n @Input() recommendationId?: number;\r\n @Input() viewOnly?: boolean;\r\n @Output() changeData = new EventEmitter();\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n dataSource: ExecutivePlan[] = [];\r\n\r\n displayedColumns = [\r\n 'clause',\r\n 'responsibleName',\r\n 'endDate',\r\n 'actions'\r\n ];\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n if (this.recommendationId) this.getData();\r\n }\r\n\r\n showPlan(decisionInput: DecisionInput, plan: ExecutivePlan = null, isViewOnly: boolean = false, index: number = null) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(MasarAddEditExecutivePlanComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n viewOnly: isViewOnly,\r\n recommendationId: this.recommendationId,\r\n model: plan || new ExecutivePlan(),\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n const model: ExecutivePlan = {\r\n ...result,\r\n visitId: decisionInput.visitMetaData.visitId,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n deleted: false\r\n };\r\n\r\n if (plan) {\r\n this.dataSource[index] = model;\r\n this.dataSource = [...this.dataSource];\r\n } else\r\n this.dataSource = [...this.dataSource, model];\r\n\r\n this.changeData.emit(this.dataSource);\r\n });\r\n }\r\n\r\n deletePlan(index: number) {\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: {\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n // this.dataSource.splice(index, 1);\r\n this.dataSource[index].deleted = true;\r\n this.dataSource = [...this.dataSource];\r\n this.changeData.emit(this.dataSource);\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.getExecutivePlan(\r\n this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey,\r\n this.recommendationId)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(data => {\r\n this.dataSource = data;\r\n this.changeData.emit(this.dataSource);\r\n });\r\n }\r\n}\r\n","export * from './custom-options';\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { HtmlEditorWrapperComponent } from './html-editor-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'html-editor',\r\n selector: 'html-editor',\r\n title: 'html editor'\r\n};\r\n\r\nexport function registerHtmlEditorComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, HtmlEditorWrapperComponent, injector);\r\n}","import { Injector } from '@angular/core';\r\nimport {\r\n FormioCustomComponentInfo,\r\n registerCustomFormioComponent,\r\n} from 'dp-formio';\r\n\r\nimport { CustomSelectComponent } from './custom-select.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'custom-select',\r\n\tselector: 'custom-select',\r\n\ttitle: 'custom-select',\r\n};\r\n\r\nexport function registerCustomSelectComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(\r\n\t\tCOMPONENT_OPTIONS,\r\n\t\tCustomSelectComponent,\r\n\t\tinjector\r\n\t);\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormioCustomComponent, FormioComponent } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'app-redirection-button-wrapper',\r\n\ttemplateUrl: './redirection-button-wrapper.component.html',\r\n\tstyleUrls: ['./redirection-button-wrapper.component.scss'],\r\n})\r\nexport class RedirectionButtonWrapperComponent implements FormioCustomComponent {\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tconstructor(private router: Router) { }\r\n\r\n\tonRoute() {\r\n\t\tlet parentRoute = '';\r\n\t\tfor (let index = 5; index < this.data.currentRoute.split('/').length; index++) {\r\n\t\t\tparentRoute = `${parentRoute}${this.data.currentRoute.split('/')[index]}/`;\r\n\t\t}\r\n\r\n\t\tconst taskId =\r\n\t\t\tthis.data.currentRoute\r\n\t\t\t\t.split('/')\r\n\t\t\t[this.data.currentRoute.split('/').length - 1]?.split('?')[0] || '';\r\n\r\n\t\tthis.router.navigate(\r\n\t\t\t[\r\n\t\t\t\t`/resources/eligibilityRequirments/${this.data.serviceId}/${this.data.varSubmissionId}/${this.customOptions.targetFormKey}/${this.customOptions.summaryResourceKey}`,\r\n\t\t\t],\r\n\t\t\t{ queryParams: { parentRoute, taskId }, state: { isNotAssigned: this.disabled || this.viewOnly } }\r\n\t\t);\r\n\t}\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{'forms.common.' + headerRow.name | translate}}\r\n \r\n {{headerRow.nameExtraString}}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{item | calculatedRowTotal : tableData : 0 : rowIndex : colKey.key}}\r\n
    \r\n \r\n \r\n {{item | calculatedRowRatio : tableData :\r\n tableConfig.rows[rowIndex].firstFiled :\r\n tableConfig.rows[rowIndex].secondFiled : colKey.key}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n %\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n {{item | calculatedTotal : colKey.total : colKey.key}}\r\n
    \r\n \r\n
    \r\n {{item | calculatedRatio : colKey.ratio.firstFiled :\r\n colKey.ratio.secondFiled : colKey.key}}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n","
    \r\n \r\n \r\n

    {{notificationContent}}

    \r\n \r\n\r\n
    \r\n

    {{notification.sendDate | timeAgo}}

    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport {\r\n BehaviorSubject,\r\n Observable,\r\n Subject,\r\n filter,\r\n takeUntil\r\n} from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\nimport { RolesTypeEnum } from '../../../shared/model/roles';\r\nimport { IFoData } from './models/formIo-data';\r\nimport { visitInfo } from './models/visit';\r\nimport { DistributeService } from './services/distribute.service';\r\n\r\ntype DataType = {\r\n data: any;\r\n valid: {\r\n sessions?: boolean;\r\n criterions?: boolean;\r\n };\r\n};\r\n@Component({\r\n selector: 'app-distribute-team-members',\r\n templateUrl: './distribute-team-members.component.html',\r\n styleUrls: ['./distribute-team-members.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class DistributeTeamMembersComponent\r\n implements FormioCustomComponent, OnInit, OnChanges, OnDestroy\r\n{\r\n destroy$ = new Subject();\r\n\r\n dir: 'rtl' | 'ltr';\r\n\r\n private _defaultValue = {\r\n data: null,\r\n valid: {\r\n sessions: false,\r\n criterions: false,\r\n },\r\n };\r\n private _value: DataType = null;\r\n @Input()\r\n public set value(v) {\r\n this._value = v;\r\n }\r\n public get value() {\r\n return this._value;\r\n }\r\n @Output() valueChange = new EventEmitter();\r\n\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n\r\n @Input() data: any;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.data || changes?.value) {\r\n this._getVisitInfo(this.data);\r\n }\r\n }\r\n\r\n @Input() selectedIndex: 0;\r\n\r\n visitInfoSub = new BehaviorSubject(null);\r\n visitInfo$ = this.visitInfoSub.asObservable().pipe(filter(Boolean));\r\n userRole$: Observable;\r\n constructor(\r\n private formioLoader: FormioLoader,\r\n private translateService: TranslateService,\r\n public router: Router,\r\n public route: ActivatedRoute,\r\n public distributeService: DistributeService\r\n ) {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private _getVisitInfo(value: IFoData) {\r\n const data = this.data?.requestDetails?.data;\r\n const key = data?.projectKey || value?.projectKey;\r\n if (key) {\r\n this.distributeService\r\n .getVisitInfo(key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.visitInfoSub.next({\r\n ...this.visitInfoSub.getValue(),\r\n key: res.visitKey,\r\n id: res.id,\r\n requestId: res.requestId,\r\n number: res.visitNumber,\r\n });\r\n });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.userRole$ = this.distributeService.getUserType();\r\n }\r\n\r\n updateValue(payload) {\r\n this.value = _cloneDeep(payload);\r\n this.valueChange.emit(payload);\r\n }\r\n\r\n sessionChanged(isValid: boolean) {\r\n const data = {\r\n data: this.value?.data,\r\n valid: {\r\n ...this.value?.valid,\r\n sessions: isValid,\r\n },\r\n };\r\n this.updateValue(data);\r\n }\r\n\r\n criterionsChanged(isValid: boolean) {\r\n const data = {\r\n data: this.value?.data,\r\n valid: {\r\n ...this.value?.valid,\r\n criterions: isValid,\r\n },\r\n };\r\n this.updateValue(data);\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { MapWrapperComponent } from './map-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'custom-map', // custom type. Formio will identify the field with this type.\r\n selector: 'custom-map', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: '', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerMapComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, MapWrapperComponent, injector);\r\n}\r\n","
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{{ 'forms.common.stepper.' + messageInfo?.message | translate }}\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n\r\n\t
    \r\n\t\t
    \r\n\t\t\t
      \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\r\n\t\t\t\t\t{{ ind + 1 }}.\r\n\t\t\t\t\t{{ 'forms.common.stepper.' + item.formKey | translate }}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
    \r\n\t\t\t\t 0 ? (activeStep = activeStep - 1) : 0;\r\n\t\t\t\t\t\tonSelectStep(activeStep, stepperMenu[activeStep])\r\n\t\t\t\t\t\"\r\n\t\t\t\t\t[disabled]=\"!(activeStep > 0)\"\r\n\t\t\t\t\tclass=\"btn custom-btn btn-wizard-nav-previous\"\r\n\t\t\t\t\tstyle=\"border-radius: 45px !important\"\r\n\t\t\t\t\t[pTooltip]=\"'forms.common.stepper.previous' | translate\"\r\n\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_forward' : 'arrow_back' }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_back' : 'arrow_forward' }}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n\r\n\r\n\t
    \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t{{ ind + 1 }}\r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t 0 ? (activeStep = activeStep - 1) : 0;\r\n\t\t\t\t\t\t\tonSelectStep(activeStep, stepperMenu[activeStep])\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t[disabled]=\"!(activeStep > 0)\"\r\n\t\t\t\t\t\tclass=\"btn custom-btn btn-wizard-nav-previous\"\r\n\t\t\t\t\t\tstyle=\"border-radius: 45px !important\"\r\n\t\t\t\t\t\t[pTooltip]=\"'forms.common.stepper.previous' | translate\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_forward' : 'arrow_back' }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_back' : 'arrow_forward' }}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n","\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Process, ScoreCondition } from '../models/process.model';\r\n\r\n@Pipe({\r\n name: 'evaluationScoreMessage',\r\n})\r\nexport class EvaluationScoreMessagePipe implements PipeTransform {\r\n constructor() {\r\n }\r\n\r\n transform(value: number, process: Process): ScoreCondition {\r\n const scoreCondition = process?.scoreConditions?.find(q =>\r\n (q.lessThan && !q.greaterThan && value <= q.lessThan) ||\r\n (!q.lessThan && q.greaterThan && value >= q.greaterThan) ||\r\n (q.lessThan && q.greaterThan && value <= q.lessThan && value > q.greaterThan)\r\n );\r\n return scoreCondition;\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Pipe({\r\n name: 'dateToTimeAgo',\r\n pure: false\r\n})\r\nexport class DateToTimeAgoPipe implements PipeTransform, OnDestroy {\r\n private timer: number;\r\n constructor(private changeDetectorRef: ChangeDetectorRef,\r\n private ngZone: NgZone,\r\n private datePipe: DatePipe,\r\n private translate: TranslateService) { }\r\n transform(value: string) {\r\n this.removeTimer();\r\n const d = new Date(value);\r\n const now = new Date();\r\n const seconds = Math.round(Math.abs((now.getTime() - d.getTime()) / 1000));\r\n const timeToUpdate = (Number.isNaN(seconds)) ? 1000 : this.getSecondsUntilUpdate(seconds) * 1000;\r\n this.timer = this.ngZone.runOutsideAngular(() => {\r\n if (typeof window !== 'undefined') {\r\n return window.setTimeout(() => {\r\n this.ngZone.run(() => this.changeDetectorRef.markForCheck());\r\n }, timeToUpdate);\r\n }\r\n return null;\r\n });\r\n const minutes = Math.round(Math.abs(seconds / 60));\r\n const hours = Math.round(Math.abs(minutes / 60));\r\n const days = Math.round(Math.abs(hours / 24));\r\n const months = Math.round(Math.abs(days / 30.416));\r\n const years = Math.round(Math.abs(days / 365));\r\n if (Number.isNaN(seconds)) {\r\n return '';\r\n } else if (seconds <= 45) {\r\n return this.translate.instant('a few seconds ago');\r\n } else if (seconds <= 90) {\r\n return this.translate.instant('a minute ago');\r\n } else if (minutes <= 45) {\r\n return this.translate.instant('minutes ago', { minutes });\r\n } else if (minutes <= 90) {\r\n return this.translate.instant('an hour ago');\r\n } else if (hours <= 22) {\r\n return this.translate.instant('hours ago', { hours });\r\n } else if (hours <= 36) {\r\n return this.translate.instant('a day ago');\r\n } else if (days <= 6) {\r\n return this.translate.instant('days ago', { days });\r\n } else {\r\n return this.datePipe.transform(value, 'yyyy-MM-dd');\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n this.removeTimer();\r\n }\r\n private removeTimer() {\r\n if (this.timer) {\r\n window.clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n private getSecondsUntilUpdate(seconds: number) {\r\n const min = 60;\r\n const hr = min * 60;\r\n const day = hr * 24;\r\n if (seconds < min) { // less than 1 min, update every 2 secs\r\n return 2;\r\n } else if (seconds < hr) { // less than an hour, update every 30 secs\r\n return 30;\r\n } else if (seconds < day) { // less then a day, update every 5 mins\r\n return 300;\r\n } else { // update every hour\r\n return 3600;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedRowTotal',\r\n pure: false\r\n})\r\nexport class CalculatedRowTotalPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, array: any[], skip: number = 0, take: number = 0, key: string) {\r\n const data = array.slice(skip, take);\r\n const sum = data.reduce((a, b) => a + (b[key] ? +b[key] ?? 0 : 0), 0);\r\n if (key) item[key] = sum;\r\n return sum;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ title | translate }} \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row?.summaryText }}
    \r\n
    \r\n {{ \"forms.common.Criteria.finalReportResponse\" | translate }}\r\n \r\n
    \r\n {{ \"forms.common.Criteria.finalReportResponseAdded\" | translate }}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { BehaviorSubject, lastValueFrom } from 'rxjs';\r\nimport { CommonQuestionModel } from '../models';\r\nimport { CommonQuestionsService } from './common-questions.service';\r\n@Injectable()\r\nexport class QuestionsStoreService {\r\n private readonly _storeSub = new BehaviorSubject([]);\r\n visitKey: string;\r\n questionsStore$ = this._storeSub.asObservable();\r\n /**\r\n *\r\n */\r\n constructor(private questionsService: CommonQuestionsService) {}\r\n\r\n async initStore(key: string) {\r\n this.visitKey = key;\r\n const result = await lastValueFrom(\r\n this.questionsService.getQuestions({ 'visitKey.equals': key })\r\n );\r\n\r\n if (result) {\r\n this._storeSub.next(result);\r\n }\r\n }\r\n\r\n pushToStore(question: CommonQuestionModel) {\r\n const _values = this._storeSub.getValue();\r\n _values.push(question);\r\n this._storeSub.next(_values);\r\n }\r\n\r\n removeFromStore(id: number) {\r\n const _values = this._storeSub.getValue();\r\n const _data = _values.filter((itm) => itm?.id !== id);\r\n this._storeSub.next(_data);\r\n }\r\n\r\n updateItem(question: CommonQuestionModel) {\r\n const _values = this._storeSub.getValue();\r\n const index = _values.findIndex((itm) => itm.id === question?.id);\r\n if (index >= 0) {\r\n _values[index] = question;\r\n }\r\n this._storeSub.next(_.cloneDeep(_values));\r\n }\r\n\r\n refreshStore() {\r\n this.initStore(this.visitKey);\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { StepperWrapperComponent} from './stepper-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'stepper-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'stepper-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'stepper', // Title of the component\r\n};\r\n\r\nexport function registerStepperComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, StepperWrapperComponent, injector);\r\n}\r\n","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { FormioLoader } from 'dp-formio';\r\nimport { map, Observable, startWith } from 'rxjs';\r\n\r\nimport { DialogData, DialogEventHook, DialogResult } from '../models';\r\n\r\n@Component({\r\n\tselector: 'app-schedule-dialog',\r\n\ttemplateUrl: './schedule-dialog.component.html',\r\n\tstyleUrls: ['./schedule-dialog.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ScheduleDialogComponent implements OnInit {\r\n\tsubmission: DialogData['submission'];\r\n\tformKey: DialogData['formKey'] = 'testVisitSession';\r\n\thookType: DialogData['dialogHook'] = 'afterSubmit';\r\n\tdir$: Observable;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dialogData: DialogData,\r\n\t\tpublic loader: FormioLoader,\r\n\t\tprivate translateService: TranslateService\r\n\t) {\r\n\t\tthis.dir$ = (this.translateService.onLangChange as Observable).pipe(\r\n\t\t\tstartWith({\r\n\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t}),\r\n\t\t\tmap((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t\tthis.formKey = this.dialogData?.formKey;\r\n\t\tthis.submission = this.dialogData?.submission;\r\n\t\tthis.hookType = this.dialogData?.dialogHook;\r\n\t}\r\n\r\n\tcancel(){\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.component?.key == 'cancel') {\r\n\t\t\tthis.dialogRef.close();\r\n\t\t}\r\n\r\n\t\tif (event.component?.key === 'submit' && this.hookType === 'customEvent') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.hookType);\r\n\t\t}\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tif (this.hookType === 'beforeSubmit') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.hookType);\r\n\t\t}\r\n\t}\r\n\tonSubmit(event: any) {\r\n\t\tif (this.hookType === 'afterSubmit') {\r\n\t\t\tthis._closeAndEmitData(event.submission, this.hookType);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _closeAndEmitData(data: any, hook: DialogEventHook) {\r\n\t\tthis.dialogRef.close({\r\n\t\t\tdata: data,\r\n\t\t\ttype: this.dialogData.type,\r\n\t\t\thook: hook,\r\n\t\t});\r\n\t}\r\n}\r\n","
    \r\n \r\n
    ","export function replacer(key, value) {\r\n if (value instanceof Map || value instanceof Set) {\r\n return {\r\n dataType: value instanceof Map ? 'Map' : 'Set',\r\n value: Array.from(value.entries()), // or with spread: value: [...value]\r\n };\r\n } else {\r\n return value;\r\n }\r\n}\r\nexport function reviver(key, value) {\r\n if (typeof value === 'object' && value !== null) {\r\n if (value.dataType === 'Map') {\r\n return new Map(value.value);\r\n }\r\n else if (value.dataType === 'Set') {\r\n return new Set(value.value);\r\n }\r\n }\r\n return value;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { googleMapKey } from 'dp-formio';\r\nimport { Observable } from 'rxjs';\r\n\r\ndeclare var $: any;\r\n@Injectable({ providedIn: 'root' })\r\nexport class GeoLocationService {\r\n\r\n coordinates: any;\r\n lastWatchPosition: number;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getPosition(): Observable {\r\n return new Observable(\r\n (observer) => {\r\n if (this.lastWatchPosition) {\r\n navigator.geolocation.clearWatch(this.lastWatchPosition);\r\n this.lastWatchPosition = null;\r\n }\r\n this.lastWatchPosition = navigator.geolocation.watchPosition((pos: any) => {\r\n observer.next(pos);\r\n if (pos) observer.complete();\r\n }),\r\n () => {\r\n console.log('Position is not available');\r\n },\r\n {\r\n enableHighAccuracy: false\r\n };\r\n });\r\n }\r\n\r\n getReverseGeocodingData(lat, lng, locale: \"ar\" | \"en\") {\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n type: 'GET',\r\n url: `https://maps.googleapis.com/maps/api/geocode/json?latlng=${lat},${lng}&language=${locale}&key=${googleMapKey}`,\r\n success: function (data) {\r\n if (data.status == google.maps.GeocoderStatus.OK) {\r\n resolve(data.results[0].formatted_address);\r\n }\r\n else {\r\n console.log(data);\r\n resolve('');\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.responseDecision\" | translate }}\r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.\" + option | translate}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n {{ \"forms.common.Criteria.reasons\" | translate }} \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.updates\" | translate }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","\r\n\t\r\n\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
    \r\n
    \r\n","import { Component, Inject } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { finalize, iif, takeUntil } from 'rxjs';\r\nimport {\r\n\tFinalReportResponse,\r\n\tMasarFinalReportResponse,\r\n} from '../../../models/final-report-response.model';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { MasarCriterionsService } from '../../../services/masar-criterions.service';\r\nimport { ExecutivePlan } from '../../../models/executive-plan.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { Summary } from '../../../models/summary.model';\r\n\r\n@Component({\r\n\tselector: 'app-masar-add-edit-response',\r\n\ttemplateUrl: './masar-add-edit-response.dialog.html',\r\n\tstyleUrls: ['./masar-add-edit-response.dialog.scss'],\r\n})\r\nexport class MasarAddEditResponseComponent extends BaseComponent {\r\n\tresponses = ['accept', 'accept_update', 'reject'];\r\n\tleaderDecisions = ['accept', 'reject'];\r\n\tform: FormGroup;\r\n\tleaderDecisionform: FormGroup;\r\n\tisLoadingResults = false;\r\n\tmodelId: number;\r\n\trecommendationId: number;\r\n\texecutivePlan: ExecutivePlan[] = [];\r\n\r\n\tget reasonsControl() {\r\n\t\treturn this.form.get('reasons');\r\n\t}\r\n\tget updatesControl() {\r\n\t\treturn this.form.get('updates') as FormArray;\r\n\t}\r\n\tget updatesControls() {\r\n\t\treturn (this.form.get('updates') as FormArray).controls as FormControl[];\r\n\t}\r\n\torginalResponseDecisionValue: string;\r\n\tget responseDecisionValue() {\r\n\t\treturn this.form.controls.responseDecision.value;\r\n\t}\r\n\r\n\tget isLeaderDecision() {\r\n\t\tconst executeVisitType = this.criterionsService.decisionInputs$.getValue().executeVisitType;\r\n\t\treturn (\r\n\t\t\texecuteVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries ||\r\n\t\t\t!!this.data.summary.leaderDecision\r\n\t\t);\r\n\t}\r\n\r\n\tget disableLeaderDecision() {\r\n\t\tconst executeVisitType = this.criterionsService.decisionInputs$.getValue().executeVisitType;\r\n\t\treturn executeVisitType != ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n\t}\r\n\tget leaderDecisionValue() {\r\n\t\treturn this.leaderDecisionform.controls.leaderDecision.value;\r\n\t}\r\n\tget leaderRejectReason() {\r\n\t\treturn this.leaderDecisionform.get('leaderRejectReason');\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate criterionsService: CriterionsService,\r\n\t\tprivate masarCriterionsService: MasarCriterionsService,\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprivate translateService: TranslateService\r\n\t) {\r\n\t\tsuper();\r\n\r\n\t\tthis.recommendationId = this.data.summaryId;\r\n\t\tif (this.data.summary?.rejected) {\r\n\t\t\tthis.data.viewOnly = true;\r\n\t\t}\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.registerUpdateFormValidation();\r\n\t\tthis.getData();\r\n\t}\r\n\r\n\taddUpdate(value: string = '') {\r\n\t\tthis.updatesControl.push(\r\n\t\t\tnew FormControl({ value: value, disabled: this.data.viewOnly }, Validators.required)\r\n\t\t);\r\n\t}\r\n\tremoveUpdate(index: number) {\r\n\t\tthis.updatesControl.removeAt(index);\r\n\t}\r\n\r\n\tchangeExecutivePlan(data: ExecutivePlan[]) {\r\n\t\tthis.executivePlan = data;\r\n\t}\r\n\r\n\tsave() {\r\n\t\tif (this.form.invalid) return;\r\n\t\tthis.isLoadingResults = true;\r\n\r\n\t\tconst model: MasarFinalReportResponse = {\r\n\t\t\tresponse: {\r\n\t\t\t\tid: this.modelId,\r\n\t\t\t\tvisitKey: this.data.visitMetaData.visitKey,\r\n\t\t\t\trecommendationsSummaryId: this.data.summaryId,\r\n\t\t\t\t...this.form.value,\r\n\t\t\t},\r\n\t\t\tplans: this.executivePlan,\r\n\t\t};\r\n\r\n\t\tthis.masarCriterionsService\r\n\t\t\t.createResponsesWithExecutive(model)\r\n\t\t\t.pipe(finalize(() => (this.isLoadingResults = false)))\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.dialogRef.close(data.id);\r\n\t\t\t\tshowToast(\r\n\t\t\t\t\tthis.toastrService,\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved done'),\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved Successfully'),\r\n\t\t\t\t\tfalse\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t}\r\n\tsaveLeaderDecision() {\r\n\t\tif (this.leaderDecisionform.invalid) return;\r\n\t\tthis.isLoadingResults = true;\r\n\r\n\t\tconst formModel = this.leaderDecisionform.value;\r\n\t\tconst model: Summary = {\r\n\t\t\t...this.data.summary,\r\n\t\t\t...formModel,\r\n\t\t\trejected: formModel.leaderDecision == 'accept' && this.responseDecisionValue == 'reject',\r\n\t\t};\r\n\r\n\t\tthis.masarCriterionsService\r\n\t\t\t.saveRecommendationsSummaries(model)\r\n\t\t\t.pipe(finalize(() => (this.isLoadingResults = false)))\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.dialogRef.close(this.modelId);\r\n\t\t\t\tshowToast(\r\n\t\t\t\t\tthis.toastrService,\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved done'),\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved Successfully'),\r\n\t\t\t\t\tfalse\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t}\r\n\tcancel(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tprivate initForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tresponseDecision: [{ value: '', disabled: this.data.viewOnly }, [Validators.required]],\r\n\t\t\treasons: [{ value: '', disabled: this.data.viewOnly }],\r\n\t\t\tupdates: this.fb.array([]),\r\n\t\t});\r\n\r\n\t\tthis.leaderDecisionform = this.fb.group({\r\n\t\t\tsummaryText: [\r\n\t\t\t\t{ value: this.data.summary.summaryText, disabled: this.disableLeaderDecision },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tleaderDecision: [{ value: '', disabled: this.disableLeaderDecision }, [Validators.required]],\r\n\t\t\tleaderRejectReason: [{ value: '', disabled: this.disableLeaderDecision }],\r\n\t\t});\r\n\t}\r\n\tprivate registerUpdateFormValidation() {\r\n\t\tthis.form.controls.responseDecision.valueChanges.subscribe((value) => {\r\n\t\t\tif (value != 'accept') {\r\n\t\t\t\tthis.reasonsControl.setValidators([Validators.required]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.reasonsControl.reset();\r\n\t\t\t\tthis.reasonsControl.clearValidators();\r\n\t\t\t}\r\n\t\t\tthis.reasonsControl.updateValueAndValidity();\r\n\r\n\t\t\tif (value == 'accept_update') {\r\n\t\t\t\tif (!this.updatesControl.length) this.addUpdate();\r\n\t\t\t\tthis.updatesControl.setValidators([Validators.required]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.updatesControl.clear();\r\n\t\t\t\tthis.updatesControl.clearValidators();\r\n\t\t\t}\r\n\t\t\tthis.updatesControl.updateValueAndValidity();\r\n\t\t});\r\n\r\n\t\tthis.leaderDecisionform.controls.leaderDecision.valueChanges.subscribe((value) => {\r\n\t\t\tif (value != 'accept') {\r\n\t\t\t\tthis.leaderRejectReason.setValidators([Validators.required]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.leaderRejectReason.reset();\r\n\t\t\t\tthis.leaderRejectReason.clearValidators();\r\n\t\t\t}\r\n\t\t\tthis.leaderRejectReason.updateValueAndValidity();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getData() {\r\n\t\tif (!this.data.id) return;\r\n\t\tthis.isLoadingResults = true;\r\n\t\tthis.masarCriterionsService\r\n\t\t\t.getFinalReportResponses(this.data.id)\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\tfinalize(() => (this.isLoadingResults = false))\r\n\t\t\t)\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.updateform(data);\r\n\t\t\t});\r\n\t}\r\n\tprivate updateform(data: FinalReportResponse) {\r\n\t\tthis.modelId = data.id;\r\n\t\tthis.recommendationId = data.recommendationsSummaryId;\r\n\t\tthis.orginalResponseDecisionValue = data.responseDecision;\r\n\t\tthis.form.patchValue({\r\n\t\t\tresponseDecision: data.responseDecision,\r\n\t\t\treasons: data.reasons,\r\n\t\t});\r\n\t\tthis.updatesControl.clear();\r\n\t\tdata.updates.forEach((value, index) => {\r\n\t\t\tthis.addUpdate(value);\r\n\t\t});\r\n\r\n\t\tthis.leaderDecisionform.patchValue({\r\n\t\t\tleaderDecision: this.data.summary.leaderDecision,\r\n\t\t\tleaderRejectReason: this.data.summary.leaderRejectReason,\r\n\t\t\tsummaryText: this.data.summary.summaryText,\r\n\t\t});\r\n\t}\r\n}\r\n","\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {{indicator.name}}\r\n
    \r\n
    \r\n
    \r\n
    %
    \r\n {{'forms.common.completionRate' | translate}}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n\r\n \r\n {{'forms.common.indicatorShowSummary' | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { AgmCoreModule } from '@agm/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FullCalendarModule } from '@fullcalendar/angular'; // must go before plugins\r\n\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AngularResizedEventModule } from 'angular-resize-event';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { EditorModule } from 'primeng/editor';\r\nimport { OrganizationChartModule } from 'primeng/organizationchart';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { TableModule } from 'primeng/table';\r\nimport { AssessmentWrapperComponent } from './custom-component/components/assessment-wrapper/assessment-wrapper.component';\r\nimport { CategoryCardComponent } from './custom-component/components/assessment-wrapper/category-card/category-card.component';\r\nimport { AssessmentControlComponent } from './custom-component/components/assessment-wrapper/control/assessment-control.component';\r\nimport { OptionalInputsComponent } from './custom-component/components/assessment-wrapper/optional-inputs/optional-inputs.component';\r\nimport { QuestionCardComponent } from './custom-component/components/assessment-wrapper/question-card/question-card.component';\r\nimport { QuestionContentComponent } from './custom-component/components/assessment-wrapper/question-content/question-content.component';\r\nimport { AssessmentStatusComponent } from './custom-component/components/assessment-wrapper/status/assessment-status.component';\r\nimport { TooltipDialog } from './custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { TotalStatisticComponent } from './custom-component/components/assessment-wrapper/total-statistic/total-statistic.component';\r\nimport { CalenderWrapperComponent } from './custom-component/components/calendar-wrapper/calendar-wrapper.component';\r\nimport { ScheduleDialogComponent } from './custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component';\r\nimport { ChartsWrapperComponent } from './custom-component/components/charts-wrapper/charts-wrapper.component';\r\nimport { ClassificationIndicatorsWrapperComponent } from './custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component';\r\nimport { ClassificationCommentsComponent } from './custom-component/components/classification-indicators-wrapper/comments/classification-comments.component';\r\nimport { ClassificationIndicatorComponent } from './custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component';\r\nimport { ClassificationIndicatorQuestionComponent } from './custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component';\r\nimport { ClassificationStatusComponent } from './custom-component/components/classification-indicators-wrapper/status/classification-indicator-status.component';\r\nimport { CommentsHistoryWrapperComponent } from './custom-component/components/comments-history-wrapper/comments-history-wrapper.component';\r\nimport { AddEditEditgridContent } from './custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component';\r\nimport { EditgridResourceWrapperComponent } from './custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component';\r\nimport { EventTreeWrapperComponent } from './custom-component/components/event-tree-wrapper/event-tree-wrapper.component';\r\nimport { FormByKeyComponent } from './custom-component/components/form-key-wrapper/form-by-key/form-by-key.component';\r\nimport { FormKeyWrapperComponent } from './custom-component/components/form-key-wrapper/form-key-wrapper.component';\r\nimport { GroupedTableWrapperComponent } from './custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component';\r\nimport { HijriDateComponent } from './custom-component/components/hijri-date-wrapper/hijri-date.component';\r\nimport { IndicatorComponent } from './custom-component/components/indicators-wrapper/indicator/indicator.component';\r\nimport { IndicatorsWrapperComponent } from './custom-component/components/indicators-wrapper/indicators-wrapper.component';\r\nimport { IndicatorQuestionComponent } from './custom-component/components/indicators-wrapper/question/indicator-question.component';\r\nimport { StatusComponent } from './custom-component/components/indicators-wrapper/status/indicator-status.component';\r\nimport { MapWrapperComponent } from './custom-component/components/map-wrapper/map-wrapper.component';\r\nimport { AddEditResourceDialog } from './custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nimport { MasterDetailsResourceWrapperComponent } from './custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component';\r\nimport { PDFWrapperComponent } from './custom-component/components/pdf-wrapper/pdf-wrapper.component';\r\nimport { ProccessRequirmentsWrapperComponent } from './custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component';\r\nimport { RatingWrapperComponent } from './custom-component/components/rating-wrapper/rating-wrapper.component';\r\nimport { RedirectionButtonWrapperComponent } from './custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component';\r\nimport { ResourceDropdownWrapperComponent } from './custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component';\r\nimport { StepperWrapperComponent } from './custom-component/components/stepper-wrapper/stepper-wrapper.component';\r\nimport { AddEditDialog } from './custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nimport { TableTreeWrapperComponent } from './custom-component/components/table-tree-wrapper/table-tree-wrapper.component';\r\nimport { TableViewWrapperComponent } from './custom-component/components/table-view-wrapper/table-view-wrapper.component';\r\nimport { EditTemplateDialog } from './custom-component/components/template-wrapper/edit-template-dialog/edit-template-dialog.component';\r\nimport { DocumentEditorSidebarComponent } from './custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component';\r\nimport { TemplateProcessComponent } from './custom-component/components/template-wrapper/template-process/template-process.component';\r\nimport { TemplateWrapperComponent } from './custom-component/components/template-wrapper/template-wrapper.component';\r\nimport { BottomSheetOverviewComponent } from './custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component';\r\nimport { ConfirmationDialogComponent } from './custom-component/dialogs/confirmation-dialog/confirmation-dialog.component';\r\nimport { ExtraFormDialog } from './custom-component/dialogs/extra-form-dialog/extra-form-dialog.component';\r\n\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { FormioModule, googleMapKey } from 'dp-formio';\r\nimport { CardWrapperComponent } from './custom-component/components/card-wrapper/card-wrapper.component';\r\nimport { UIChartComponent } from './custom-component/components/charts-wrapper/chart/chart.component';\r\nimport { CommentsHistoryDialogComponent } from './custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component';\r\nimport { DistributeCommonQuestionsModule } from './custom-component/components/distribute-common-questions';\r\nimport { DistributeTeamMembersModule } from './custom-component/components/distribute-team-members/distribute-team-members.module';\r\nimport { DynamicChartWrapperComponent } from './custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component';\r\nimport { AddEditEventItem } from './custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component';\r\nimport { CopyDecisionComponent } from './custom-component/components/execute-visit-wrapper/copy-decision/copy-decision.component';\r\nimport { CriteriaDecisionComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criteria-decision/criteria-decision.component';\r\nimport { CriterionDecisionComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criterion-decision.component';\r\nimport { QuestionDecisionComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/question-decision/question-decision.component';\r\nimport { CriteriaPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/criteria-preview.component';\r\nimport { OptionalInputsPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/optional-inputs-preview.component';\r\nimport { TotalStatisticPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/total-statistic-preview.component';\r\nimport { CriterionPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criterion-preview.component';\r\nimport { QuestionPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/question-preview/question-preview.component';\r\nimport { CriterionsTreeComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterions-tree.component';\r\nimport { AddEditResponseComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog';\r\nimport { AddEditSummaryComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog';\r\nimport { DecisionSummaryComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/decision-summary.component';\r\nimport { SummaryFilterComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/summary-filter/summary-filter.component';\r\nimport { AddEditExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog';\r\nimport { ExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/executive-plan.component';\r\nimport { ExecuteVisitWrapperComponent } from './custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component';\r\nimport { MasarCriteriaDecisionComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/criteria-decision/masar-criteria-decision.component';\r\nimport { MasarCriterionDecisionComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/masar-criterion-decision.component';\r\nimport { MasarQuestionDecisionComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/question-decision/masar-question-decision.component';\r\nimport { MasarCriteriaPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/masar-criteria-preview.component';\r\nimport { MasarOptionalInputsPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/masar-optional-inputs-preview.component';\r\nimport { MasarTotalStatisticPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/masar-total-statistic-preview.component';\r\nimport { MasarCriterionPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/masar-criterion-preview.component';\r\nimport { MasarQuestionPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/question-preview/masar-question-preview.component';\r\nimport { MasarAddEditResponseComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog';\r\nimport { MasarDecisionSummaryComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/masar-decision-summary.component';\r\nimport { MasarAddEditExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog';\r\nimport { MasarExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/masar-executive-plan.component';\r\nimport { MasarCriterionsTreeComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/masar-criterions-tree.component';\r\nimport { MembersSelectorComponent } from './custom-component/components/execute-visit-wrapper/members-selector/members-selector.component';\r\nimport { DisplayOrderPatternPipe } from './custom-component/components/execute-visit-wrapper/pipes/display-order-pattern.pipe';\r\nimport { EvaluationScoreMessagePipe } from './custom-component/components/execute-visit-wrapper/pipes/evaluation-score-message.pipe';\r\nimport { HtmlEditorWrapperComponent } from './custom-component/components/html-editor-wrapper/html-editor-wrapper.component';\r\nimport { AddEditOrgItem } from './custom-component/components/org-wrapper/add-edit-org-item/add-edit-org-item.component';\r\nimport { OrgReviewerFilterComponent } from './custom-component/components/org-wrapper/org-reviewer-filter/org-reviewer-filter.component';\r\nimport { OrgWrapperComponent } from './custom-component/components/org-wrapper/org-wrapper.component';\r\nimport { RejectReasonOrgItem } from './custom-component/components/org-wrapper/reject-reason-org-item/reject-reason-org-item.component';\r\nimport { EvaluationDisplayPipe } from './custom-component/components/resource-autocomplete-wrapper/pipe/evaluation-display.pipe';\r\nimport { ResourceAutocompleteWrapperComponent } from './custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component';\r\nimport { VisitScheduleComponent } from './custom-component/components/visit-schedule/visit-schedule.component';\r\nimport { FormioDialogComponent } from './custom-component/dialogs/index';\r\nimport { CustomDynamicComponentsModule } from './custom-dynamic-components.module';\r\nimport { MaterialModule } from './material.module';\r\nimport { FormIoSkeletonModule } from './shared/components';\r\nimport { CountUpDirective } from './shared/directives/count-up.directive';\r\nimport { DisplayExternalActionsDirective } from './shared/directives/display-external-actions.directive';\r\nimport { SafeHtmlPipe } from './shared/directives/safeHtml.directive';\r\nimport { SplitAreaDirective } from './shared/directives/split-area.directive';\r\nimport { SplitHandleDirective } from './shared/directives/split-handle.directive';\r\nimport { SplitDirective } from './shared/directives/split.directive';\r\n\r\nimport { CustomSelectModule } from 'src/formio-custom-components/src/lib/custom-component/components/custom-select';\r\nimport { AllowedSummaryTypeDirective } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/directive/allowed-summary-type.directive';\r\nimport { AddEditMistakeComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/add-edit-mistake/add-edit-mistake.dialog';\r\nimport { MasarMistakeListComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/masar-mistake-list.component';\r\nimport { NumberCounterWrapperComponent } from './custom-component/components/number-counter-wrapper/number-counter-wrapper.component';\r\nimport { ViewFormDialog } from './custom-component/components/org-wrapper/view-form/view-form.component';\r\nimport { CssClassDisplayPipe } from './custom-component/components/resource-autocomplete-wrapper/pipe/css-class-display.pipe';\r\nimport { CalculatedRatioPipe } from './shared/pipes/calculated-ratio';\r\nimport { CalculatedRowRatioPipe } from './shared/pipes/calculated-row-ratio';\r\nimport { CalculatedRowTotalPipe } from './shared/pipes/calculated-row-total';\r\nimport { CalculatedTotalPipe } from './shared/pipes/calculated-total';\r\nimport { DisplayTimePipe } from './shared/pipes/display-time';\r\nimport { SafeUrlPipe } from './shared/pipes/safeURL.pipes';\r\nimport { DateToTimeAgoPipe } from './shared/pipes/time-ago.pipe';\r\nimport { ReviewingEvaluationWrapperComponent } from './custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component';\r\nimport { SortPipe } from './shared/pipes/sort.pipe';\r\nimport { CriterionEvaluationComponent } from './custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component';\r\nimport { GeneralReportComponent } from './custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component';\r\n\r\nexport const agmCoreModule = AgmCoreModule.forRoot({\r\n apiKey: googleMapKey,\r\n libraries: ['places'],\r\n});\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tSplitHandleDirective,\r\n\t\tSplitAreaDirective,\r\n\t\tSplitDirective,\r\n\t\tCountUpDirective,\r\n\t\tDisplayExternalActionsDirective,\r\n\t\tAllowedSummaryTypeDirective,\r\n\r\n\t\tSafeHtmlPipe,\r\n\t\tSafeUrlPipe,\r\n\t\tCalculatedTotalPipe,\r\n\t\tCalculatedRowTotalPipe,\r\n\t\tCalculatedRatioPipe,\r\n\t\tCalculatedRowRatioPipe,\r\n\t\tDateToTimeAgoPipe,\r\n\t\tDisplayTimePipe,\r\n\t\tEvaluationScoreMessagePipe,\r\n\t\tEvaluationDisplayPipe,\r\n\t\tCssClassDisplayPipe,\r\n\t\tDisplayOrderPatternPipe,\r\n\t\tSortPipe,\r\n\r\n\t\tTableTreeWrapperComponent,\r\n\t\tMasterDetailsResourceWrapperComponent,\r\n\t\tAddEditDialog,\r\n\t\tAddEditResourceDialog,\r\n\t\tAssessmentWrapperComponent,\r\n\t\tAssessmentControlComponent,\r\n\t\tCategoryCardComponent,\r\n\t\tQuestionCardComponent,\r\n\t\tQuestionContentComponent,\r\n\t\tAssessmentStatusComponent,\r\n\t\tOptionalInputsComponent,\r\n\t\tTotalStatisticComponent,\r\n\t\tTooltipDialog,\r\n\t\tTemplateWrapperComponent,\r\n\t\tEditTemplateDialog,\r\n\t\tTemplateProcessComponent,\r\n\t\tDocumentEditorSidebarComponent,\r\n\t\tProccessRequirmentsWrapperComponent,\r\n\t\tReviewingEvaluationWrapperComponent,\r\n\t\tCriterionEvaluationComponent,\r\n\t\tGeneralReportComponent,\r\n\t\tFormKeyWrapperComponent,\r\n\t\tEditgridResourceWrapperComponent,\r\n\t\tAddEditEditgridContent,\r\n\t\tGroupedTableWrapperComponent,\r\n\t\tFormByKeyComponent,\r\n\t\tHijriDateComponent,\r\n\t\tClassificationIndicatorsWrapperComponent,\r\n\t\tClassificationStatusComponent,\r\n\t\tClassificationIndicatorQuestionComponent,\r\n\t\tClassificationIndicatorComponent,\r\n\t\tClassificationCommentsComponent,\r\n\t\tIndicatorsWrapperComponent,\r\n\t\tIndicatorComponent,\r\n\t\tIndicatorQuestionComponent,\r\n\t\tStatusComponent,\r\n\t\tMapWrapperComponent,\r\n\t\tExtraFormDialog,\r\n\t\tStepperWrapperComponent,\r\n\t\tRedirectionButtonWrapperComponent,\r\n\t\tTableViewWrapperComponent,\r\n\t\tPDFWrapperComponent,\r\n\t\tRatingWrapperComponent,\r\n\t\tCommentsHistoryWrapperComponent,\r\n\t\tCommentsHistoryDialogComponent,\r\n\t\tChartsWrapperComponent,\r\n\t\tConfirmationDialogComponent,\r\n\t\tBottomSheetOverviewComponent,\r\n\t\tResourceDropdownWrapperComponent,\r\n\t\tResourceAutocompleteWrapperComponent,\r\n\t\tEventTreeWrapperComponent,\r\n\t\tOrgWrapperComponent,\r\n\t\tCalenderWrapperComponent,\r\n\t\tScheduleDialogComponent,\r\n\t\tAddEditEventItem,\r\n\t\tAddEditOrgItem,\r\n\t\tViewFormDialog,\r\n\t\tOrgReviewerFilterComponent,\r\n\t\tRejectReasonOrgItem,\r\n\t\tHtmlEditorWrapperComponent,\r\n\t\tNumberCounterWrapperComponent,\r\n\t\tExecuteVisitWrapperComponent,\r\n\t\tCriterionsTreeComponent,\r\n\t\tMasarCriterionsTreeComponent,\r\n\t\tCriterionDecisionComponent,\r\n\t\tMasarCriterionDecisionComponent,\r\n\t\tCriterionPreviewComponent,\r\n\t\tMasarCriterionPreviewComponent,\r\n\t\tQuestionPreviewComponent,\r\n\t\tMasarQuestionPreviewComponent,\r\n\t\tCriteriaPreviewComponent,\r\n\t\tMasarCriteriaPreviewComponent,\r\n\t\tQuestionDecisionComponent,\r\n\t\tMasarQuestionDecisionComponent,\r\n\t\tCriteriaDecisionComponent,\r\n\t\tMasarCriteriaDecisionComponent,\r\n\t\tTotalStatisticPreviewComponent,\r\n\t\tMasarTotalStatisticPreviewComponent,\r\n\t\tOptionalInputsPreviewComponent,\r\n\t\tMasarOptionalInputsPreviewComponent,\r\n\t\tMembersSelectorComponent,\r\n\t\tCopyDecisionComponent,\r\n\t\tDecisionSummaryComponent,\r\n\t\tMasarDecisionSummaryComponent,\r\n\t\tAddEditSummaryComponent,\r\n\t\tSummaryFilterComponent,\r\n\t\tExecutivePlanComponent,\r\n\t\tMasarExecutivePlanComponent,\r\n\t\tMasarMistakeListComponent,\r\n\t\tAddEditExecutivePlanComponent,\r\n\t\tMasarAddEditExecutivePlanComponent,\r\n\t\tAddEditMistakeComponent,\r\n\t\tAddEditResponseComponent,\r\n\t\tMasarAddEditResponseComponent,\r\n\t\tEvaluationScoreMessagePipe,\r\n\t\tDisplayOrderPatternPipe,\r\n\t\tVisitScheduleComponent,\r\n\t\tCardWrapperComponent,\r\n\t\tDynamicChartWrapperComponent,\r\n\t\tFormioDialogComponent,\r\n\t\tUIChartComponent,\r\n\t],\r\n\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tFormioModule,\r\n\t\tMaterialModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFlexLayoutModule,\r\n\t\tTranslateModule,\r\n\t\tFormsModule,\r\n\t\tButtonModule,\r\n\t\tNgbModule,\r\n\t\tNgSelectModule,\r\n\t\tTableModule,\r\n\t\tEditorModule,\r\n\t\tClipboardModule,\r\n\t\tagmCoreModule,\r\n\t\tChartModule,\r\n\t\tDialogModule,\r\n\t\tCarouselModule,\r\n\t\tTooltipModule,\r\n\t\tProgressBarModule,\r\n\t\tAngularResizedEventModule,\r\n\t\tCardModule,\r\n\t\tInfiniteScrollModule,\r\n\t\tFullCalendarModule,\r\n\t\tOrganizationChartModule,\r\n\t\tDistributeTeamMembersModule,\r\n\t\tCustomDynamicComponentsModule,\r\n\t\tDistributeCommonQuestionsModule,\r\n\t\tFormIoSkeletonModule,\r\n\t\tCustomSelectModule,\r\n\t],\r\n\tproviders: [],\r\n\tentryComponents: [\r\n\t\tTableTreeWrapperComponent,\r\n\t\tMasterDetailsResourceWrapperComponent,\r\n\t\tAddEditResourceDialog,\r\n\t\tAssessmentWrapperComponent,\r\n\t\tAssessmentControlComponent,\r\n\t\tOptionalInputsComponent,\r\n\t\tTotalStatisticComponent,\r\n\t\tTooltipDialog,\r\n\t\tEditTemplateDialog,\r\n\t\tTemplateWrapperComponent,\r\n\t\tTemplateProcessComponent,\r\n\t\tProccessRequirmentsWrapperComponent,\r\n\t\tReviewingEvaluationWrapperComponent,\r\n\t\tCriterionEvaluationComponent,\r\n\t\tGeneralReportComponent,\r\n\t\tFormKeyWrapperComponent,\r\n\t\tEditgridResourceWrapperComponent,\r\n\t\tGroupedTableWrapperComponent,\r\n\t\tHijriDateComponent,\r\n\t\tClassificationIndicatorsWrapperComponent,\r\n\t\tClassificationIndicatorComponent,\r\n\t\tIndicatorsWrapperComponent,\r\n\t\tMapWrapperComponent,\r\n\t\tExtraFormDialog,\r\n\t\tIndicatorComponent,\r\n\t\tAddEditEditgridContent,\r\n\t\tAddEditDialog,\r\n\t\tStepperWrapperComponent,\r\n\t\tRedirectionButtonWrapperComponent,\r\n\t\tTableViewWrapperComponent,\r\n\t\tPDFWrapperComponent,\r\n\t\tRatingWrapperComponent,\r\n\t\tCommentsHistoryWrapperComponent,\r\n\t\tCommentsHistoryDialogComponent,\r\n\t\tChartsWrapperComponent,\r\n\t\tConfirmationDialogComponent,\r\n\t\tBottomSheetOverviewComponent,\r\n\t\tResourceDropdownWrapperComponent,\r\n\t\tResourceAutocompleteWrapperComponent,\r\n\t\tEventTreeWrapperComponent,\r\n\t\tOrgWrapperComponent,\r\n\t\tCalenderWrapperComponent,\r\n\t\tScheduleDialogComponent,\r\n\t\tAddEditEventItem,\r\n\t\tAddEditOrgItem,\r\n\t\tViewFormDialog,\r\n\t\tRejectReasonOrgItem,\r\n\t\tHtmlEditorWrapperComponent,\r\n\t\tNumberCounterWrapperComponent,\r\n\t\tExecuteVisitWrapperComponent,\r\n\t\tVisitScheduleComponent,\r\n\t\tCardWrapperComponent,\r\n\t\tDynamicChartWrapperComponent,\r\n\t\tAddEditSummaryComponent,\r\n\t\tAddEditExecutivePlanComponent,\r\n\t\tMasarAddEditExecutivePlanComponent,\r\n\t\tAddEditMistakeComponent,\r\n\t\tAddEditResponseComponent,\r\n\t\tMasarAddEditResponseComponent,\r\n\t\tFormioDialogComponent,\r\n\t\tUIChartComponent,\r\n\t],\r\n\texports: [\r\n\t\t// FormioModule,\r\n\t\tAddEditDialog,\r\n\t\tAddEditResourceDialog,\r\n\t\tTooltipDialog,\r\n\t\tConfirmationDialogComponent,\r\n\t\tBottomSheetOverviewComponent,\r\n\t\tResourceDropdownWrapperComponent,\r\n\t\tResourceAutocompleteWrapperComponent,\r\n\t\tEventTreeWrapperComponent,\r\n\t\tOrgWrapperComponent,\r\n\t\tCalenderWrapperComponent,\r\n\t\tNgbModule,\r\n\t\tButtonModule,\r\n\t\tCardModule,\r\n\t\tNgSelectModule,\r\n\t\tExecuteVisitWrapperComponent,\r\n\t\tVisitScheduleComponent,\r\n\t\tCardWrapperComponent,\r\n\t\tDynamicChartWrapperComponent,\r\n\t\tAddEditSummaryComponent,\r\n\t\tAddEditExecutivePlanComponent,\r\n\t\tMasarAddEditExecutivePlanComponent,\r\n\t\tAddEditMistakeComponent,\r\n\t\tAddEditResponseComponent,\r\n\t\tMasarAddEditResponseComponent,\r\n\t\tEvaluationDisplayPipe,\r\n\t\tCssClassDisplayPipe,\r\n\t\tSortPipe,\r\n\t\tCustomDynamicComponentsModule,\r\n\t\tDistributeCommonQuestionsModule,\r\n\t],\r\n})\r\nexport class FormioCustomComponentModule {\r\n\t// static forRoot(): ModuleWithProviders {\r\n\t// \treturn {\r\n\t// \t\tngModule: FormioCustomComponentModule,\r\n\t// \t\tproviders: [CustomTagsService]\r\n\t// \t};\r\n\t// }\r\n}\r\n","
    \r\n
    \r\n
    \r\n remove\r\n
    \r\n\r\n \r\n\r\n
    \r\n add\r\n
    \r\n
    \r\n
    ","\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnDestroy, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { IndicatorDomain, IndicatorQuestions, IndicatorStatus } from '../models/indicator.model';\r\nimport { map, Subscription, switchMap } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-indicator',\r\n templateUrl: './indicator.component.html',\r\n // styleUrls: ['./indicator.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n // providers: [FormioLoader]\r\n})\r\nexport class IndicatorComponent implements OnDestroy {\r\n @ViewChildren('forms') forms: QueryList;\r\n\r\n domainQuery = '';\r\n questionQuery = '';\r\n indicatorStatus = IndicatorStatus;\r\n isSummary = false;\r\n ready = false;\r\n\r\n domainsDecisions = [];\r\n orginalDomains = [];\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formioLoader: FormioLoader,\r\n private resourceNameService: ResourceNameService) {\r\n this.domainQuery = Evaluator.interpolate(this.data.customOptions.domainQuery, { data: this.data.submission, indicator: this.data.indicator });\r\n this.getIndicatorDomains();\r\n this.isSummary = this.data.isSummary;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n close(): void {\r\n // this.dialogRef.close();\r\n this.data.indicator.domains.forEach(domain => {\r\n domain.attachmentsInstance = _cloneDeep(domain.attachments);\r\n });\r\n this.orginalDomains.forEach((domain, index) => {\r\n const item = this.data.indicator.domains.find(q => q.id == domain.id);\r\n if (item) this.orginalDomains[index] = { ...item };\r\n })\r\n this.data.indicator.domains = this.orginalDomains;\r\n this.dialogRef.close(this.data.indicator);\r\n }\r\n\r\n async save(domainIndex: number, expansion: any): Promise {\r\n this.data.indicator.domains[domainIndex].decision = this.domainsDecisions[domainIndex];\r\n const someNotComplete = this.data.indicator.domains.some(q => q.decision == IndicatorStatus.NotComplete);\r\n if (someNotComplete) {\r\n this.data.indicator.status = IndicatorStatus.NotComplete;\r\n } else {\r\n const someNotComplete = this.data.indicator.domains.every(q => q.decision == IndicatorStatus.Completed);\r\n if (someNotComplete) this.data.indicator.status = IndicatorStatus.Completed;\r\n }\r\n\r\n this.data.indicator.domains[domainIndex].attachments = this.forms\r\n .find(form => form.id == this.data.indicator.domains[domainIndex].id)\r\n .formio.data.attachments;\r\n\r\n this.formioLoader.loading = true;\r\n await this.updateIndicator();\r\n await this.updateDomain(this.data.indicator.domains[domainIndex]);\r\n this.formioLoader.loading = false;\r\n expansion.expanded = false;\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.indicator [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n }, 250)\r\n }\r\n\r\n updateDomains(isAll = false) {\r\n if (!isAll) {\r\n this.data.indicator.domains = this.data.indicator.domains.filter(q => q.decision != IndicatorStatus.Completed);\r\n }\r\n this.data.isSummary = false;\r\n }\r\n\r\n private getIndicatorDomains() {\r\n if (this.data.indicator.isCached) {\r\n this.fillDomainsDecisions();\r\n this.formioLoader.loading = false;\r\n this.ready = true;\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n return;\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.domainResource, this.domainQuery)\r\n .pipe(\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data, 'asc').map(q => {\r\n const item = new IndicatorDomain(q._id, q.data.key, q.data.domainNumber, q.data.descriptionValue, q.data.order);\r\n return item;\r\n })\r\n }),\r\n switchMap(data => {\r\n this.data.indicator.domains = data;\r\n this.questionQuery = Evaluator.interpolate(this.data.customOptions.questionQuery, { data: this.data.submission, indicator: this.data.indicator });\r\n return this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.questionResource, this.questionQuery)\r\n }),\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data, 'asc').map(q => {\r\n const item = new IndicatorQuestions(q._id, q.data.order, q.data.descriptionValue, q.data.key, q.data.indicatorDomainKey);\r\n item.answer = 0;\r\n return item;\r\n })\r\n }))\r\n .subscribe(data => {\r\n this.data.indicator.domains.forEach(domain => {\r\n domain.questions = data.filter(q => q.domainKey == domain.key);\r\n });\r\n\r\n const domainsId = this.data.indicator.domains.map(q => q.id).join();\r\n const query = `data.requestId=${this.data.indicator.requestId}&data.indicatorId=${this.data.indicator.id}&data.domainId__in=${domainsId}`;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.domainResult, query)\r\n .subscribe(domains => {\r\n this.mapDomains(this.data.indicator.domains, domains);\r\n this.fillDomainsDecisions();\r\n this.data.indicator.isCached = true;\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n this.formioLoader.loading = false;\r\n this.ready = true;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n private fillDomainsDecisions() {\r\n this.data.indicator.domains.forEach(domain => {\r\n this.domainsDecisions.push(domain.decision);\r\n });\r\n }\r\n\r\n private mapDomains(domains, dataResult) {\r\n domains.forEach(q => {\r\n const index = dataResult.findIndex(d => d.data.domainId == q.id);\r\n if (index >= 0) {\r\n q.resultSubmissionId = dataResult[index]._id;\r\n q.decision = dataResult[index].data.decision;\r\n q.notes = dataResult[index].data.notes;\r\n q.recommendations = dataResult[index].data.recommendations;\r\n q.attachments = _cloneDeep(dataResult[index].data.attachments || []);\r\n q.attachmentsInstance = _cloneDeep(dataResult[index].data.attachments || []);\r\n q.questions.forEach(question => {\r\n const questIndex = dataResult[index].data.questions.findIndex(q => q.id == question.id);\r\n if (questIndex >= 0) question.answer = dataResult[index].data.questions[questIndex].answer;\r\n });\r\n }\r\n });\r\n }\r\n\r\n private async updateIndicator() {\r\n const model = {\r\n submissionId: this.data.indicator.submissionId,\r\n requestId: this.data.indicator.requestId,\r\n indicatorId: this.data.indicator.id,\r\n status: this.data.indicator.status,\r\n };\r\n this.data.indicator.resultSubmissionId = await this.addOrEdit(this.data.indicator.resultSubmissionId,\r\n model,\r\n this.data.customOptions.indicatorResult);\r\n }\r\n private async updateDomain(domain: IndicatorDomain) {\r\n const model = {\r\n submissionId: this.data.indicator.submissionId,\r\n requestId: this.data.indicator.requestId,\r\n indicatorId: this.data.indicator.id,\r\n domainId: domain.id,\r\n decision: domain.decision,\r\n notes: domain.notes,\r\n recommendations: domain.recommendations,\r\n attachments: domain.attachments,\r\n questions: domain.questions.map(q => {\r\n return {\r\n id: q.id,\r\n answer: q.answer\r\n };\r\n })\r\n };\r\n domain.resultSubmissionId = await this.addOrEdit(domain.resultSubmissionId,\r\n model,\r\n this.data.customOptions.domainResult);\r\n }\r\n\r\n private addOrEdit(submissionId: string, obj, resource: string): Promise {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n if (submissionId) {\r\n const result = await this.resourceNameService.editSubmission(resource, submissionId, { data: obj }).toPromise();\r\n resolve(submissionId);\r\n }\r\n else {\r\n const result = await this.resourceNameService.addSubmission(resource, { data: obj }).toPromise();\r\n resolve(result._id);\r\n }\r\n } catch (e) {\r\n this.formioLoader.loading = false;\r\n reject(e);\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { KeycloakService, KeycloakAuthGuard } from 'keycloak-angular';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class AuthGuard extends KeycloakAuthGuard {\r\n constructor(protected router: Router,\r\n protected keycloakAngular: KeycloakService) {\r\n super(router, keycloakAngular);\r\n }\r\n\r\n isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.authenticated) {\r\n if (route.routeConfig.path.includes('403')) {\r\n this.router.navigate(['/']);\r\n\r\n } else {\r\n localStorage.setItem('needLogin', 'true');\r\n this.keycloakAngular.login();\r\n }\r\n return;\r\n }\r\n\r\n const requiredRoles = route.data.roles;\r\n if (!requiredRoles || requiredRoles.length === 0) {\r\n return resolve(true);\r\n } else {\r\n if (!this.roles || this.roles.length === 0) {\r\n resolve(false);\r\n }\r\n let granted: boolean = false;\r\n for (const requiredRole of requiredRoles) {\r\n if (this.roles.indexOf(requiredRole) > -1 || this.roles.some(q=> q.includes(environment.roles.admin))) {\r\n granted = true;\r\n break;\r\n }\r\n }\r\n if (granted) {\r\n resolve(granted);\r\n\r\n } else {\r\n if (['/403'].indexOf(this.router.url) === -1) localStorage.setItem('_previousUrl', this.router.url);\r\n this.router.navigate(['/errors/403']);\r\n }\r\n }\r\n });\r\n }\r\n}","\r\n\r\n\t\r\n\t\t

    \r\n\r\n\t\t\r\n\t\t\t{{ item | getValue : bindLabel : 'name' }}\r\n\t\t\r\n\t
    \r\n\r\n\t\r\n\t\t

    \r\n\r\n\t\t\r\n\t\t\t{{ item | getValue : bindGroup : 'name' }}\r\n\t\t\r\n\t\r\n\t\r\n\t\t

    \r\n\r\n\t\t\r\n\t\t\t{{ item | getValue : bindLabel : 'name' }}\r\n\t\t\r\n\t\r\n\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Inject, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { CustomEditGridComponent, FormioComponent } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-masar-add-edit-executive-plan',\r\n templateUrl: './masar-add-edit-executive-plan.dialog.html',\r\n styleUrls: ['./masar-add-edit-executive-plan.dialog.scss']\r\n})\r\nexport class MasarAddEditExecutivePlanComponent extends BaseComponent {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n form: FormGroup;\r\n attachments: any[] = [];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private datePipe: DatePipe,\r\n private criterionsService: CriterionsService\r\n ) {\r\n super();\r\n this.initForm();\r\n }\r\n\r\n save() {\r\n const data = this.form.value;\r\n data.recommendationId = this.data.recommendationId;\r\n data.endDate = this.datePipe.transform(new Date(data.endDate), 'yyyy-MM-dd');\r\n data.evidences = this.attachments?.map(item => { return { files: item.file, fileName: item.fileName }; });\r\n this.dialogRef.close(data);\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n registerFormioEvent(formSettings: any) {\r\n this.formioComponent.formio.events.on('formio.change', (event) => {\r\n if (event.changed?.instance instanceof CustomEditGridComponent) {\r\n this.attachments = event.data.attachments;\r\n }\r\n });\r\n }\r\n\r\n private initForm() {\r\n this.attachments = this.data.model?.evidences?.map(item => { return { file: item.files, fileName: item.fileName }; }) || [];\r\n this.form = this.fb.group({\r\n id: [this.data.model.id || null],\r\n clause: [{ value: this.data.model.clause || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n responsibleName: [{ value: this.data.model.responsibleName || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n requiredResources: [{ value: this.data.model.requiredResources || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n endDate: [{ value: this.data.model.endDate || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n expectedOutputs: [{ value: this.data.model.expectedOutputs || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TitleService {\r\n\tpageTitle = new BehaviorSubject('');\r\n\r\n\tconstructor(private title: Title, private translate: TranslateService) {\r\n\t\tthis.translate.onLangChange.subscribe(() => this.setTitle());\r\n\t\tthis.pageTitle.subscribe(() => this.setTitle());\r\n\t}\r\n\r\n\tsetTitle(): void {\r\n\t\tconst translatedTitle = this.translate.instant(this.pageTitle.value);\r\n\t\tconst pageTitle = this.translate.instant('PAGE_TITLE.HOME');\r\n\t\tconst updatedTitle = `${pageTitle} - ${translatedTitle}`;\r\n\t\tthis.title.setTitle(updatedTitle);\r\n\t\tif ((document as any).eventListeners('titleChanged')[0])\r\n\t\t\t(document as any).eventListeners('titleChanged')[0](updatedTitle);\r\n\t}\r\n\r\n\tgetTitle(): string {\r\n\t\treturn this.title.getTitle();\r\n\t}\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { VisitInfoModel } from 'src/formio-custom-components/src/lib/shared/model';\r\nimport { ComponentBase } from '../../base';\r\nimport { CommonQuestionModel } from '../../models';\r\n\r\n@Component({\r\n selector: 'app-questions-list',\r\n templateUrl: './questions-list.component.html',\r\n styleUrls: ['./questions-list.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QuestionsListComponent extends ComponentBase {\r\n _visitInfo: VisitInfoModel;\r\n\r\n questions$ = this.questionsStore.questionsStore$;\r\n\r\n @Output() edit = new EventEmitter();\r\n @Output() delete = new EventEmitter();\r\n @Output() open = new EventEmitter();\r\n\r\n @Input() set visitInfo(val: VisitInfoModel) {\r\n this._visitInfo = val;\r\n if (val?.key) {\r\n this.questionsStore.initStore(val?.key);\r\n }\r\n }\r\n\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n }\r\n\r\n trackByFn(index: number, item: CommonQuestionModel) {\r\n return item?.id;\r\n }\r\n\r\n editQuestion(question: CommonQuestionModel, event: Event) {\r\n event.stopPropagation();\r\n this.edit.emit(question);\r\n }\r\n\r\n deleteQuestion(question: CommonQuestionModel, event: Event) {\r\n event.stopPropagation();\r\n this.delete.emit(question);\r\n }\r\n\r\n openQuestion(question: CommonQuestionModel) {\r\n this.open.emit(question);\r\n }\r\n}\r\n","import { Injector, ViewEncapsulation } from '@angular/core';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-section',\r\n templateUrl: './section.component.html',\r\n // styleUrls: ['./section.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SectionComponent extends BaseComponent implements OnInit {\r\n\r\n @Input() sectionTitle;\r\n @Input() sectionCard = true;\r\n @Input() showContainer = true;\r\n @Input() hasPadding = true;\r\n @Input() TypeB = false;\r\n @Input() NoBack = false;\r\n @Input() titleClass = \"sub-main-title\";\r\n\r\n constructor(public injector: Injector) { super(injector); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-not-allowed',\r\n templateUrl: './not-allowed.component.html',\r\n // styleUrls: ['./not-allowed.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotAllowedComponent extends BaseComponent {\r\n userDetails;\r\n isFromDashboard = false;\r\n\r\n constructor(public injector: Injector) { super(injector); }\r\n\r\n ngOnInit(): void {\r\n const url = localStorage.getItem('_previousUrl');\r\n this.isFromDashboard = ['/', '/service-catalog'].includes(url);\r\n }\r\n\r\n goBack(): void {\r\n this.location.back();\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('_previousUrl');\r\n this.keycloakService.logout(location.origin);\r\n }\r\n}\r\n","import { Utils } from 'formiojs';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { GeoLocationService } from './geo-location.service';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-map-wrapper',\r\n templateUrl: './map-wrapper.component.html',\r\n // styleUrls: ['./map-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class MapWrapperComponent implements FormioCustomComponent, OnInit, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n @ViewChild('search')\r\n public searchElementRef: ElementRef;\r\n focusLocation: { lat: number, long: number } = { lat: 0, long: 0 };\r\n selectedLocation: { lat: number, long: number } = { lat: 0, long: 0 };\r\n zoom: number;\r\n iconUrl: any;\r\n map: any;\r\n mapClickListener: any;\r\n private subscription: Subscription;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader,\r\n private geoLocationService: GeoLocationService,\r\n private mapsAPILoader: MapsAPILoader,\r\n private cdr: ChangeDetectorRef,\r\n private zone: NgZone) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.mapsAPILoader.load().then(() => {\r\n if (!this.searchElementRef) return;\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement);\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.zone.run(() => {\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.focusLocation = { lat: place.geometry.location.lat(), long: place.geometry.location.lng() };\r\n this.selectedLocation = { lat: place.geometry.location.lat(), long: place.geometry.location.lng() };\r\n this.notifyValue();\r\n });\r\n });\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.focusLocation) {\r\n this.focusLocation = this.value || this.customOptions.focusLocation;\r\n this.selectedLocation = this.value || this.customOptions.focusLocation;\r\n } else {\r\n this.getCurrentLocation();\r\n }\r\n this.zoom = this.customOptions.zoom || 10;\r\n this.iconUrl = this.customOptions.iconUrl;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n\r\n if (this.mapClickListener) {\r\n this.mapClickListener.remove();\r\n }\r\n }\r\n\r\n public mapReadyHandler(map: google.maps.Map): void {\r\n this.map = map;\r\n this.map.zoomControl = this.customOptions && this.customOptions.zoomControl;\r\n if (!this.viewOnly) this.buildCurrentLocationControl();\r\n\r\n this.mapClickListener = this.map.addListener('click', (e: google.maps.MouseEvent) => {\r\n this.zone.run(() => {\r\n if (this.viewOnly || !this.customOptions.selectLocation) return;\r\n this.selectedLocation = { lat: e.latLng.lat(), long: e.latLng.lng() };\r\n this.resetSearch();\r\n this.notifyValue();\r\n });\r\n });\r\n }\r\n\r\n private resetSearch() {\r\n if (!this.searchElementRef?.nativeElement) return;\r\n this.searchElementRef.nativeElement.value = '';\r\n }\r\n\r\n private buildCurrentLocationControl() {\r\n if (this.customOptions && this.customOptions.currentLocationControl) {\r\n const locationButton = document.createElement(\"button\");\r\n locationButton.title = \"Current Location\";\r\n locationButton.innerHTML = ``;\r\n locationButton.classList.add(\"custom-map-control-button\");\r\n\r\n this.map.controls[google.maps.ControlPosition.BOTTOM_RIGHT].push(locationButton);\r\n locationButton.addEventListener(\"click\", () => {\r\n this.getCurrentLocation(true);\r\n this.resetSearch();\r\n });\r\n }\r\n }\r\n\r\n private getCurrentLocation(isNotify = false) {\r\n this.subscription = this.geoLocationService.getPosition().subscribe(data => {\r\n if (data) this.subscription.unsubscribe();\r\n if (isNotify) {\r\n this.focusLocation = { lat: data.coords.latitude, long: data.coords.longitude };\r\n this.selectedLocation = { lat: data.coords.latitude, long: data.coords.longitude };\r\n this.notifyValue();\r\n } else {\r\n this.focusLocation = this.value || { lat: data.coords.latitude, long: data.coords.longitude };\r\n this.selectedLocation = this.value || { lat: data.coords.latitude, long: data.coords.longitude };\r\n }\r\n this.map.setCenter({ lat: data.coords.latitude, lng: data.coords.longitude });\r\n });\r\n }\r\n\r\n async notifyValue() {\r\n this.value = this.selectedLocation;\r\n this.value.addressAr = await this.geoLocationService.getReverseGeocodingData(this.value.lat, this.value.long, 'ar');\r\n this.value.addressEn = await this.geoLocationService.getReverseGeocodingData(this.value.lat, this.value.long, 'en');\r\n this.afterChangeValue();\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data });\r\n c.setValue(value);\r\n });\r\n });\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CriterionsTabComponent } from './components/criterions-tab/criterions-tab.component';\r\nimport { CriterionsTreeComponent } from './components/criterions-tree/criterions-tree.component';\r\nimport { SessionsTabComponent } from './components/sessions-tab/sessions-tab.component';\r\nimport { TeamMembersComponent } from './components/team-members/team-members.component';\r\nimport { ScrollRetainerDirective } from './directives/scroll-retainer.directive';\r\nimport { DistributeTeamMembersComponent } from './distribute-team-members.component';\r\nimport { DistributeService } from './services/distribute.service';\r\n\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FormioPipesModule } from '../../../shared/pipes';\r\nimport { MemberLengthIconComponent } from './components/member-length-icon/member-length-icon.component';\r\nimport { LocalizedDatePipe } from './pipes/localized-date.pipe';\r\n\r\nconst components = [\r\n DistributeTeamMembersComponent,\r\n CriterionsTreeComponent,\r\n TeamMembersComponent,\r\n ScrollRetainerDirective,\r\n CriterionsTabComponent,\r\n SessionsTabComponent,\r\n LocalizedDatePipe,\r\n MemberLengthIconComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: components,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FlexLayoutModule,\r\n TranslateModule,\r\n OverlayModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatButtonModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n MatBadgeModule,\r\n MatCardModule,\r\n MatChipsModule,\r\n FormioPipesModule,\r\n ],\r\n providers: [DistributeService],\r\n entryComponents: [DistributeTeamMembersComponent],\r\n exports: [DistributeTeamMembersComponent],\r\n})\r\nexport class DistributeTeamMembersModule {}\r\n","
    \r\n\t
    \r\n\t\t\r\n\t\t\t{{ 'Redirect for rquiremnts' | translate }}\r\n\t\t\r\n\t
    \r\n
    \r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Pipe({\r\n name: 'cssClassDisplay',\r\n})\r\nexport class CssClassDisplayPipe implements PipeTransform {\r\n constructor(private translateService: TranslateService) { }\r\n\r\n transform(resourceItem: any, optionClass): string {\r\n if (typeof resourceItem === 'string' || !resourceItem) {\r\n return null;\r\n }\r\n return Utils.evaluate(`${optionClass}`, {\r\n\t\t\titem: resourceItem,\r\n\t\t\ttranslate: this.translateService,\r\n\t\t});\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nconst noop = (): any => undefined;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LoggerService {\r\n private appPrefix = 'Frontend-Office';\r\n\r\n get log() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.log.bind(console, `[${this.appPrefix} Log]`);\r\n }\r\n\r\n get info() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.info.bind(console, `[${this.appPrefix} Info]`);\r\n }\r\n\r\n get warn() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.warn.bind(console, `[${this.appPrefix} Warn]`);\r\n }\r\n\r\n get error() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.error.bind(console, `[${this.appPrefix} Error]`);\r\n }\r\n\r\n get trace() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.trace.bind(console, `[${this.appPrefix} Trace]`);\r\n }\r\n\r\n get debug() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.debug.bind(console, `[${this.appPrefix} Debug]`);\r\n }\r\n\r\n get table() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.table.bind(console, `[${this.appPrefix} Table]`);\r\n }\r\n\r\n private checkDebugMode() {\r\n if (!environment.production) { return true; }\r\n }\r\n}\r\n\r\n","import { Utils } from 'formiojs';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'extra-form-dialog',\r\n templateUrl: 'extra-form-dialog.component.html',\r\n styleUrls: ['./extra-form-dialog.component.scss'],\r\n providers: [FormioLoader]\r\n})\r\nexport class ExtraFormDialog implements OnInit {\r\n formControls: FormGroup = new FormGroup({});\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private loader: FormioLoader) {\r\n\r\n if (this.data.addToSubFormSubmission)\r\n this.data.submission = Utils.evaluate(this.data.addToSubFormSubmission,\r\n { data: this.data.submission.data, submission: this.data.submission },\r\n 'submission');\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loader.loading = false;\r\n }\r\n\r\n onCustomEvent(event: any) {\r\n console.log(event);\r\n if (event.component.key == 'cancel') this.onNoClick();\r\n else if (event.component.key == 'submit') {\r\n if (this.data.updateBaseFormSubmission) {\r\n this.data.submission = Utils.evaluate(this.data.updateBaseFormSubmission,\r\n { data: event.data, submission: this.data.submission },\r\n 'submission');\r\n this.dialogRef.close(this.data.submission);\r\n } else this.dialogRef.close(this.data.submission);\r\n }\r\n }\r\n\r\n onSubmit(event: any) {\r\n if (!this.data.updateBaseFormSubmission)\r\n this.dialogRef.close(this.data.submission);\r\n }\r\n\r\n}\r\n","
    \r\n\t\r\n\t\r\n
    ","import { CommonModule, registerLocaleData } from '@angular/common';\r\nimport localeAr from '@angular/common/locales/ar';\r\nimport localeEn from '@angular/common/locales/en';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { StarRatingModule } from 'angular-star-rating';\r\nimport { SlideshowModule } from 'ng-simple-slideshow';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { FilterPipeModule } from 'ngx-filter-pipe';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { FormioCustomComponentModule } from 'src/formio-custom-components/src/public-api';\r\nimport { FormioModule } from 'dp-formio';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { NotAllowedComponent } from './components/not-allowed/not-allowed.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { NotificationItemComponent } from './components/notifications/notification-item/notification-item.component';\r\nimport { NotificationOptionsComponent } from './components/notifications/notification-options/notification-options.component';\r\nimport { NotificationsButtonComponent } from './components/notifications/notifications-button/notifications-button.component';\r\nimport { NotificationsModalComponent } from './components/notifications/notifications-modal/notifications-modal.component';\r\nimport { PageTitleComponent } from './components/page-title/page-title.component';\r\nimport { PageComponent } from './components/page/page.component';\r\nimport { SectionComponent } from './components/section/section.component';\r\nimport { SelectComponent } from './components/select/select.component';\r\nimport { HasRoleDirective } from './directives/has-role.directive';\r\nimport { MaterialModule } from './material.module';\r\nimport { LocalizedDatePipe } from './pipes/localized-date.pipe';\r\nimport { TimeAgoPipe } from './pipes/time-ago.pipe';\r\n\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { RequestFeedbackComponent } from './components/request-feedback/request-feedback.component';\r\n\r\nregisterLocaleData(localeEn, 'en');\r\nregisterLocaleData(localeAr, 'ar');\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tNotAllowedComponent,\r\n\t\tNotFoundComponent,\r\n\t\tRequestFeedbackComponent,\r\n\t\tPageComponent,\r\n\t\tSectionComponent,\r\n\t\tPageTitleComponent,\r\n\t\tSelectComponent,\r\n\t\tNotificationsModalComponent,\r\n\t\tNotificationsButtonComponent,\r\n\t\tNotificationItemComponent,\r\n\t\tNotificationOptionsComponent,\r\n\t\tHeaderComponent,\r\n\t\tTimeAgoPipe,\r\n\t\tLocalizedDatePipe,\r\n\t\tHasRoleDirective,\r\n\t\tFooterComponent\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tRouterModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFlexLayoutModule,\r\n\t\tMaterialModule,\r\n\t\tNgSelectModule,\r\n\t\tIonicModule.forRoot({\r\n\t\t\tmenuType: 'push',\r\n\t\t}),\r\n\t\tFilterPipeModule,\r\n\t\tSlideshowModule,\r\n\t\tStarRatingModule.forRoot(),\r\n\t\tToastrModule.forRoot({\r\n\t\t\tpositionClass: 'toast-bottom-right',\r\n\t\t\ttimeOut: 5000,\r\n\t\t}),\r\n\t\tFormioModule,\r\n\t\tFormioCustomComponentModule,\r\n\t\tNgxCaptchaModule,\r\n\t\tTranslateModule,\r\n\t\tDialogModule,\r\n\t],\r\n\texports: [\r\n\t\tCommonModule,\r\n\t\tRouterModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFlexLayoutModule,\r\n\t\tMaterialModule,\r\n\t\tNgSelectModule,\r\n\t\tIonicModule,\r\n\t\tFilterPipeModule,\r\n\t\tSlideshowModule,\r\n\t\tStarRatingModule,\r\n\t\tFooterComponent,\r\n\t\tToastrModule,\r\n\t\tFormioModule,\r\n\t\tFormioCustomComponentModule,\r\n\t\tNgxCaptchaModule,\r\n\t\tTranslateModule,\r\n\t\tRequestFeedbackComponent,\r\n\t\tNotAllowedComponent,\r\n\t\tNotFoundComponent,\r\n\t\tPageComponent,\r\n\t\tSectionComponent,\r\n\t\tPageTitleComponent,\r\n\t\tSelectComponent,\r\n\t\tNotificationsModalComponent,\r\n\t\tNotificationsButtonComponent,\r\n\t\tNotificationItemComponent,\r\n\t\tNotificationOptionsComponent,\r\n\t\tHeaderComponent,\r\n\t\tTimeAgoPipe,\r\n\t\tLocalizedDatePipe,\r\n\t\tHasRoleDirective,\r\n\t\tDialogModule,\r\n\t],\r\n\tentryComponents: [\r\n\t\tNotificationsModalComponent,\r\n\t\tNotificationOptionsComponent,\r\n\t],\r\n\tproviders: [],\r\n})\r\nexport class SharedModule {}\r\n","
    \r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n
    \r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { ErrorToast, SuccessToast } from 'dp-formio';\r\n\r\nexport function showToast(toastrService: ToastrService, title: string, message: string, isError: boolean) {\r\n toastrService.show(message, title, {\r\n toastClass: \"notification-toast\",\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: isError ? ErrorToast : SuccessToast,\r\n });\r\n}","import {\r\n\tComponent,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { Subscription, finalize, forkJoin } from 'rxjs';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport {\r\n\tErrorToast,\r\n\tFormioCustomComponent,\r\n\tFormioLoader,\r\n\tResourceNameService,\r\n\tViewerComponent,\r\n} from 'dp-formio';\r\nimport { AddEditEditgridContent } from './add-edit-editgrid-content/add-edit-editgrid-content.component';\r\n\r\nimport { ResizedEvent } from 'angular-resize-event';\r\nimport Formio from 'formiojs/Formio';\r\nimport _ from 'lodash';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Table } from 'primeng/table';\r\nimport { ResourceGridEventModel } from 'src/formio-custom-components/src/lib/shared/model';\r\n\r\nconst DEFAULT_TABLET_WIDTH = 801;\r\n@Component({\r\n\tselector: 'app-editgrid-resource-wrapper',\r\n\ttemplateUrl: './editgrid-resource-wrapper.component.html',\r\n\t// styleUrls: ['./editgrid-resource-wrapper.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class EditgridResourceWrapperComponent\r\n\timplements FormioCustomComponent, OnInit, OnDestroy, OnChanges\r\n{\r\n\t@ViewChild('formFilter')\r\n\tformFilterComponent: DeleteConfirmationDialog.FormioComponent;\r\n\t@ViewChild(Table) dataTable: Table;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\ttotalRecords = 0;\r\n\tlimit = 0;\r\n\tfilterFormData = { data: {} };\r\n\tformQuery = '';\r\n\r\n\tisEndpoint = false;\r\n\tevaluatedUrl = ``;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\twindowProperties = {\r\n\t\tfullscreen: false,\r\n\t\topen: false,\r\n\t};\r\n\r\n\tname: string;\r\n\tactions: string[] = ['view', 'add', 'edit', 'delete'];\r\n\tshowColumns: any[] = [];\r\n\tcurrentItem: any = null;\r\n\tprivate _editGridItems = [];\r\n\r\n\tget editGridItems(): any[] {\r\n\t\treturn this._editGridItems;\r\n\t}\r\n\r\n\tset editGridItems(value: any[]) {\r\n\t\tthis._editGridItems = value;\r\n\t\tif (this.customOptions?.enableSelected) {\r\n\t\t\tthis.getSelectedItems();\r\n\t\t}\r\n\t}\r\n\tfilteredItems = [];\r\n\r\n\tformFilterKey = '';\r\n\tfilterIsOpen = false;\r\n\tfilterCols = [];\r\n\r\n\tmodifyInDialog: boolean;\r\n\tisDesktopDevice = true;\r\n\tenableAdaptiveScreen = false;\r\n\r\n\texternalActions: any = [];\r\n\tdeletedItemsId = [];\r\n\t[x: string]: any;\r\n\r\n\tselectedItems: any[] = [];\r\n\tenableSelected: boolean;\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate formioLoader: FormioLoader,\r\n\t\tprivate matDialog: MatDialog,\r\n\t\tprivate el: ElementRef,\r\n\t\tprivate toastrService: ToastrService\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((lang) => {\r\n\t\t\tif (this.editGridItems?.length) {\r\n\t\t\t\tthis.editGridItems = this.editGridItems.map((q) =>\r\n\t\t\t\t\tthis.checkEvaluated(q)\r\n\t\t\t\t);\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions) {\r\n\t\t\tif (this.customOptions.viewType == 'horizontal')\r\n\t\t\t\tthis.isDesktopDevice = false;\r\n\t\t\telse if (this.customOptions.viewType == 'adaptiveScreen') {\r\n\t\t\t\tthis.enableAdaptiveScreen = true;\r\n\t\t\t} else this.isDesktopDevice = true;\r\n\r\n\t\t\tthis.isEndpoint =\r\n\t\t\t\t!this.customOptions.resource && !!this.customOptions.url;\r\n\t\t\tif (this.isEndpoint) {\r\n\t\t\t\tthis.evaluatedUrl = Utils.interpolate(this.customOptions.url, {\r\n\t\t\t\t\tconfig: this.formioComponent.root.form.config,\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\ttranslate: this.translateService.instant,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (this.customOptions.name) this.name = this.customOptions.name;\r\n\t\t\tif (this.customOptions.modifyInDialog)\r\n\t\t\t\tthis.modifyInDialog = this.customOptions.modifyInDialog;\r\n\t\t\tif (this.customOptions.actions && this.customOptions.actions.length)\r\n\t\t\t\tthis.actions = this.customOptions.actions;\r\n\t\t\tif (this.customOptions.formFilterKey)\r\n\t\t\t\tthis.formFilterKey = this.customOptions.formFilterKey;\r\n\t\t\tif (\r\n\t\t\t\tthis.customOptions.showColumns &&\r\n\t\t\t\tthis.customOptions.showColumns.length\r\n\t\t\t) {\r\n\t\t\t\tthis.showColumns = this.customOptions.showColumns;\r\n\t\t\t\tthis.filterCols = this.showColumns\r\n\t\t\t\t\t.filter((q) => q.searchable)\r\n\t\t\t\t\t.map((q) => {\r\n\t\t\t\t\t\treturn { ...q, value: '' };\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.getExternalActions();\r\n\r\n\t\t\tthis.getData();\r\n\r\n\t\t\tthis.enableSelected = !!this.customOptions.enableSelected;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getSelectedItems() {\r\n\t\tconst ids = Utils.evaluate(this.customOptions?.selectedIds, {\r\n\t\t\tdata: this.data,\r\n\t\t}).split(',');\r\n\t\tif (ids?.length && this.editGridItems.length) {\r\n\t\t\tthis.editGridItems.forEach((item) => {\r\n\t\t\t\tif (ids.includes(item._id.toString())) {\r\n\t\t\t\t\tconst itemIndex = this.selectedItems.findIndex(\r\n\t\t\t\t\t\t(i) => i._id == item._id\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (itemIndex === -1) {\r\n\t\t\t\t\t\tthis.selectedItems.push(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tisChecked(id) {\r\n\t\treturn this.selectedItems.findIndex((i) => i._id == id) > -1 ? true : false;\r\n\t}\r\n\r\n\tonCheckboxChange(item: any, event: any): void {\r\n\t\tconst isChecked = event.target.checked;\r\n\t\tconst itemIndex = this.selectedItems.findIndex((i) => i._id === item._id);\r\n\r\n\t\tif (isChecked) {\r\n\t\t\tif (itemIndex === -1) {\r\n\t\t\t\tthis.selectedItems.push(item);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (itemIndex !== -1) {\r\n\t\t\t\tthis.selectedItems.splice(itemIndex, 1);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonResized(event: ResizedEvent) {\r\n\t\tif (this.enableAdaptiveScreen) {\r\n\t\t\tthis.isDesktopDevice =\r\n\t\t\t\tevent.newWidth >\r\n\t\t\t\t(this.customOptions.defaultFlipWidth || DEFAULT_TABLET_WIDTH);\r\n\t\t}\r\n\t}\r\n\r\n\tgetExternalActions() {\r\n\t\tif (this.customOptions.externalActions) {\r\n\t\t\tthis.externalActions = this.customOptions.externalActions;\r\n\t\t}\r\n\t}\r\n\r\n\tasync doAction(action, item, event: Event) {\r\n\t\tevent?.target.dispatchEvent(\r\n\t\t\tnew CustomEvent('resource-grid', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tdetail: {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\trowSubmission: item,\r\n\t\t\t\t\tmode: 'custom',\r\n\t\t\t\t\tgridItems: this.editGridItems,\r\n\t\t\t\t\tformComponent: this.formioComponent,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\ttry {\r\n\t\t\tlet method = '';\r\n\t\t\tlet body = {};\r\n\t\t\tlet url = ``;\r\n\r\n\t\t\taction.body\r\n\t\t\t\t? (body = Utils.evaluate(action.body, {\r\n\t\t\t\t\t\tsubmission: this.data,\r\n\t\t\t\t\t\trow: item.data,\r\n\t\t\t\t }))\r\n\t\t\t\t: (body = '');\r\n\r\n\t\t\tif (action.url) {\r\n\t\t\t\taction.method ? (method = action.method) : (method = 'GET');\r\n\t\t\t\turl += Utils.interpolate(action.url, {\r\n\t\t\t\t\tsubmission: this.data,\r\n\t\t\t\t\tconfig: this.formioComponent._currentForm._form.config,\r\n\t\t\t\t\trow: item.data,\r\n\t\t\t\t});\r\n\t\t\t\tawait Formio.makeRequest(null, 'button', url, method, body, {\r\n\t\t\t\t\tignoreCache: action.ignoreCache,\r\n\t\t\t\t});\r\n\t\t\t\taction.reload ? this.getData() : '';\r\n\t\t\t}\r\n\t\t\tif (action.script) {\r\n\t\t\t\tUtils.checkTrigger(\r\n\t\t\t\t\tthis.formioComponent.component,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: 'javascript',\r\n\t\t\t\t\t\tjavascript: action.script,\r\n\t\t\t\t\t},\r\n\t\t\t\t\titem.data,\r\n\t\t\t\t\tthis.formioComponent.data,\r\n\t\t\t\t\tthis.formioComponent.root ? this.formioComponent.root._form : {},\r\n\t\t\t\t\tthis.formioComponent\r\n\t\t\t\t);\r\n\t\t\t\taction.reload && !action.url ? this.getData() : '';\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t} catch (error) {\r\n\t\t\tif (action.onFailure == 'ERROR') {\r\n\t\t\t\tif (action.errorMessage) {\r\n\t\t\t\t\tthis.showError(action.onFailure, action.errorMessage);\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t} else if (action && action.onFailure == 'CONTINUE') {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate showError(title: string, message: string) {\r\n\t\tthis.toastrService.show(message, title, {\r\n\t\t\ttoastClass: 'notification-toast',\r\n\t\t\tcloseButton: true,\r\n\t\t\tenableHtml: true,\r\n\t\t\ttoastComponent: ErrorToast,\r\n\t\t});\r\n\t}\r\n\r\n\topenContent(\r\n\t\tevent: Event,\r\n\t\trowSubmission: any = null,\r\n\t\tisView: boolean = false\r\n\t) {\r\n\t\tevent?.target.dispatchEvent(\r\n\t\t\tnew CustomEvent('resource-grid', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tdetail: {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\trowSubmission: rowSubmission,\r\n\t\t\t\t\tmode: rowSubmission ? (isView ? 'view' : 'edit') : 'add',\r\n\t\t\t\t\tgridItems: this.editGridItems,\r\n\t\t\t\t\tformComponent: this.formioComponent,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t\tif (this.customOptions.dispatchEventOnly) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.modifyInDialog) {\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = Utils.guid();\r\n\t\t\tdialogConfig.panelClass = 'custom-modal-component';\r\n\t\t\tdialogConfig.direction = this.dir;\r\n\t\t\tif (this.customOptions?.maxWidth) {\r\n\t\t\t\tdialogConfig.maxWidth = this.customOptions?.maxWidth;\r\n\t\t\t}\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tisAdd: !rowSubmission,\r\n\t\t\t\tisView: isView,\r\n\t\t\t\tisEndpoint: this.isEndpoint,\r\n\t\t\t\tevaluatedUrl: this.evaluatedUrl,\r\n\t\t\t\tdisplayFormKey: this.customOptions.displayFormKey,\r\n\t\t\t\tresource: this.customOptions.resource,\r\n\t\t\t\textra: this.customOptions.extra,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\trowSubmission: rowSubmission,\r\n\t\t\t\teditGridItems: this.editGridItems,\r\n\t\t\t\tcloseActive: (data) => this.closeActive(data),\r\n\t\t\t};\r\n\t\t\tthis.matDialog.closeAll();\r\n\t\t\tconst modalDialog = this.matDialog.open(\r\n\t\t\t\tAddEditEditgridContent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t\tmodalDialog.afterClosed().subscribe((data) => {\r\n\t\t\t\tthis.closeActive(data);\r\n\t\t\t\tthis.formioComponent?.root?.events?.emit('formio.registerComponent');\r\n\t\t\t});\r\n\t\t} else\r\n\t\t\tthis.currentItem = {\r\n\t\t\t\tisAdd: !rowSubmission,\r\n\t\t\t\tisView: isView,\r\n\t\t\t\tisEndpoint: this.isEndpoint,\r\n\t\t\t\tevaluatedUrl: this.evaluatedUrl,\r\n\t\t\t\tdisplayFormKey: this.customOptions.displayFormKey,\r\n\t\t\t\tresource: this.customOptions.resource,\r\n\t\t\t\textra: this.customOptions.extra,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\trowSubmission: rowSubmission,\r\n\t\t\t};\r\n\t}\r\n\r\n\tcloseActive(event) {\r\n\t\tif (event) {\r\n\t\t\tif (event.isAdd) {\r\n\t\t\t\t//add item\r\n\t\t\t\tthis.checkEvaluated(event.rowSubmission);\r\n\t\t\t\tthis.editGridItems.push(event.rowSubmission);\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.customOptions.saveResultObjectsOn &&\r\n\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn]\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn] =\r\n\t\t\t\t\t\tthis.editGridItems;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t} else if (!event.isView) {\r\n\t\t\t\t//edit item\r\n\t\t\t\tconst index = this.editGridItems.findIndex(\r\n\t\t\t\t\t(q) => q._id == event.rowSubmission._id\r\n\t\t\t\t);\r\n\t\t\t\tthis.checkEvaluated(event.rowSubmission);\r\n\t\t\t\tthis.editGridItems[index] = event.rowSubmission;\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.customOptions.saveResultObjectsOn &&\r\n\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn]\r\n\t\t\t\t) {\r\n\t\t\t\t\tconst index = this.data[\r\n\t\t\t\t\t\tthis.customOptions.saveResultObjectsOn\r\n\t\t\t\t\t].findIndex((q) => q._id == event.rowSubmission._id);\r\n\t\t\t\t\tif (index >= 0)\r\n\t\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn][index] =\r\n\t\t\t\t\t\t\tevent.rowSubmission;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t}\r\n\r\n\t\t\tthis._dispatchEvent('rowAdded', {\r\n\t\t\t\trow: { _id: event.rowSubmission._id, data: event.rowSubmission.data },\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.currentItem = null;\r\n\t}\r\n\r\n\tdeleteContent(rowSubmission) {\r\n\t\tDeleteConfirmationDialog.build(\r\n\t\t\tthis.formioComponent,\r\n\t\t\t() => {\r\n\t\t\t\tif (this.customOptions.enableExternalDelete) {\r\n\t\t\t\t\tthis.editGridItems = this.editGridItems.filter(\r\n\t\t\t\t\t\t(q) => q._id != rowSubmission._id\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.deletedItemsId.push(rowSubmission._id);\r\n\t\t\t\t\tthis.data.deletedItemsId = this.deletedItemsId;\r\n\t\t\t\t\tthis.currentItem = null;\r\n\t\t\t\t\tthis.notifyValue(true);\r\n\t\t\t\t\tthis._dispatchEvent('rowDeleted', {\r\n\t\t\t\t\t\trow: { _id: rowSubmission._id, data: rowSubmission.data },\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst resource =\r\n\t\t\t\t\t\tthis.customOptions.resource?.writeSubmissionOn ||\r\n\t\t\t\t\t\tthis.customOptions.resource;\r\n\r\n\t\t\t\t\tconst method = this.isEndpoint\r\n\t\t\t\t\t\t? this.resourceNameService.deleteByUrl(\r\n\t\t\t\t\t\t\t\tthis.evaluatedUrl,\r\n\t\t\t\t\t\t\t\trowSubmission._id\r\n\t\t\t\t\t\t )\r\n\t\t\t\t\t\t: this.resourceNameService.deleteResourceData(\r\n\t\t\t\t\t\t\t\tresource,\r\n\t\t\t\t\t\t\t\trowSubmission._id\r\n\t\t\t\t\t\t );\r\n\r\n\t\t\t\t\tthis.sub = method.subscribe(() => {\r\n\t\t\t\t\t\tthis.editGridItems = this.editGridItems.filter(\r\n\t\t\t\t\t\t\t(q) => q._id != rowSubmission._id\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.currentItem = null;\r\n\t\t\t\t\t\tthis.notifyValue(true);\r\n\t\t\t\t\t\tthis._dispatchEvent('rowDeleted', {\r\n\t\t\t\t\t\t\trow: { _id: rowSubmission._id, data: rowSubmission.data },\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tnull,\r\n\t\t\t'Are you sure to delete this item'\r\n\t\t);\r\n\t}\r\n\r\n\tnotifyValue(makeCalls: boolean = false) {\r\n\t\tthis.filterData(makeCalls);\r\n\t\tthis.saveResultObjectsOn();\r\n\t\tthis.afterChangeValue();\r\n\t\tif (this.required && !this.editGridItems.length) {\r\n\t\t\tthis.value = null;\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!this.customOptions.withoutUpdate) {\r\n\t\t\tif (this.enableSelected) {\r\n\t\t\t\tthis.value = {\r\n\t\t\t\t\titems: this.selectedItems,\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tthis.value = { list: this.editGridItems.map((q) => q._id) };\r\n\t\t\t}\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t}\r\n\t}\r\n\r\n\tapplyFilter() {\r\n\t\tthis.filterIsOpen = false;\r\n\t\tthis.filterData(true);\r\n\t}\r\n\treset() {\r\n\t\tthis.filterIsOpen = false;\r\n\t\tthis.filterCols.forEach((q) => (q.value = ''));\r\n\t\tthis.filterData(true);\r\n\t}\r\n\r\n\tonFiterCustomEvent(event) {\r\n\t\tthis.filterIsOpen = !this.filterIsOpen;\r\n\t\tif (this.customOptions?.enablePagination) {\r\n\t\t\tconst filters = {};\r\n\t\t\tconst dateKeys = Utils.searchComponents(\r\n\t\t\t\tthis.formFilterComponent.formio.components,\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'datetime',\r\n\t\t\t\t}\r\n\t\t\t)?.map((q) => q.component.key);\r\n\r\n\t\t\tUtils.searchComponents(this.formFilterComponent.formio.components, {\r\n\t\t\t\t'component.input': true,\r\n\t\t\t})\r\n\t\t\t\t.filter((comp) => comp.component.type != 'button')\r\n\t\t\t\t.forEach((comp) => {\r\n\t\t\t\t\tconst key = comp.component.key;\r\n\t\t\t\t\tif (event.data[key]) {\r\n\t\t\t\t\t\tconst filterKey = comp.component.properties?.mappedKey\r\n\t\t\t\t\t\t\t? Utils.evaluate(comp.component.properties?.mappedKey, {\r\n\t\t\t\t\t\t\t\t\tkey: key,\r\n\t\t\t\t\t\t\t\t\tpref: comp.component.properties?.prefix || '',\r\n\t\t\t\t\t\t\t\t\toperator: comp.component.properties?.operator || '',\r\n\t\t\t\t\t\t\t })\r\n\t\t\t\t\t\t\t: null;\r\n\r\n\t\t\t\t\t\tif (dateKeys.includes(key)) {\r\n\t\t\t\t\t\t\tconst date = new Date(event.data[key].toString());\r\n\t\t\t\t\t\t\tdate.setDate(date.getDate() + 1);\r\n\r\n\t\t\t\t\t\t\tif (this.isEndpoint) {\r\n\t\t\t\t\t\t\t\tif (comp.component.properties?.startOfDay) {\r\n\t\t\t\t\t\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\r\n\t\t\t\t\t\t\t\t} else if (comp.component.properties?.endOfDay) {\r\n\t\t\t\t\t\t\t\t\tdate.setUTCHours(23, 59, 59, 999);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (key.endsWith('gte')) date.setUTCHours(0, 0, 0, 0);\r\n\t\t\t\t\t\t\t\telse if (key.endsWith('lte')) date.setUTCHours(23, 59, 59, 999);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tfilters[key] = {\r\n\t\t\t\t\t\t\t\toperator: comp.component.properties?.operator || '',\r\n\t\t\t\t\t\t\t\tvalue: new Date(date).toISOString(),\r\n\t\t\t\t\t\t\t\tmappedKey: filterKey,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tfilters[key] = {\r\n\t\t\t\t\t\t\t\toperator: comp.component.properties?.operator || '',\r\n\t\t\t\t\t\t\t\tvalue: event.data[key],\r\n\t\t\t\t\t\t\t\tmappedKey: filterKey,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tthis.formQuery = Object.keys(filters)\r\n\t\t\t\t.map((key) => {\r\n\t\t\t\t\tconst compKey = filters[key].mappedKey\r\n\t\t\t\t\t\t? filters[key].mappedKey\r\n\t\t\t\t\t\t: `data.${key}${filters[key].operator}`;\r\n\t\t\t\t\treturn `${compKey}=${filters[key].value}`;\r\n\t\t\t\t})\r\n\t\t\t\t.join('&');\r\n\t\t\tif (this.dataTable) {\r\n\t\t\t\tthis.dataTable.reset();\r\n\t\t\t} else {\r\n\t\t\t\tthis.loadPage();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.customOptions?.applyFilters) {\r\n\t\t\t\tthis.runScript(this.customOptions.applyFilters, { filters });\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tlet data = _cloneDeep(this.editGridItems);\r\n\t\t\tthis.showColumns.forEach((item) => {\r\n\t\t\t\tif (event.data[item.key]) {\r\n\t\t\t\t\tdata = data.filter((q) =>\r\n\t\t\t\t\t\tq.data[item.key].includes(event.data[item.key])\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.filteredItems = data;\r\n\t\t\tthis.filterIsOpen = !this.filterIsOpen;\r\n\t\t}\r\n\t}\r\n\r\n\topenFile(file: any) {\r\n\t\tthis.matDialog.open(ViewerComponent, {\r\n\t\t\tposition: {\r\n\t\t\t\ttop: '0',\r\n\t\t\t\tright: '0',\r\n\t\t\t},\r\n\t\t\tdata: {\r\n\t\t\t\tdir: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n\t\t\t\tdata: {\r\n\t\t\t\t\t...file,\r\n\t\t\t\t},\r\n\t\t\t\tformId: this.formioComponent?.root?.form?._id,\r\n\t\t\t\tappUrl: `${this.formioComponent.root.formio.path\r\n\t\t\t\t\t.split('/')\r\n\t\t\t\t\t.slice(0, -1)\r\n\t\t\t\t\t.join('/')}/`,\r\n\t\t\t},\r\n\t\t\theight: '100vh',\r\n\t\t\twidth: '100vw',\r\n\t\t\tpanelClass: 'full-screen-modal',\r\n\t\t});\r\n\t}\r\n\r\n\tprivate filterData(makeCalls: boolean = false) {\r\n\t\tif (makeCalls && this.customOptions?.enablePagination) {\r\n\t\t\tconst filters = [];\r\n\t\t\tthis.filterCols\r\n\t\t\t\t.filter((col) => !!col.value)\r\n\t\t\t\t.forEach((col) => {\r\n\t\t\t\t\tfilters.push(`data.${col.key}__regex=${col.value}`);\r\n\t\t\t\t});\r\n\t\t\tthis.formQuery = filters.join('&');\r\n\t\t\tthis.dataTable.reset();\r\n\t\t}\r\n\r\n\t\tlet data = _cloneDeep(this.editGridItems);\r\n\t\tconst filteredCols = this.filterCols.filter((q) => q.value);\r\n\t\tfilteredCols.forEach((item) => {\r\n\t\t\tdata = data.filter((q) =>\r\n\t\t\t\tq.data[`${item.key}Evaluated`].includes(item.value)\r\n\t\t\t);\r\n\t\t});\r\n\t\tthis.filteredItems = data;\r\n\t}\r\n\r\n\tprivate getData() {\r\n\t\tif (this.customOptions?.enablePagination) {\r\n\t\t\tthis.loadPage();\r\n\t\t} else {\r\n\t\t\tif (\r\n\t\t\t\tthis.customOptions.saveResultObjectsOn &&\r\n\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn] &&\r\n\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn].length\r\n\t\t\t) {\r\n\t\t\t\tthis.editGridItems = this.data[\r\n\t\t\t\t\tthis.customOptions.saveResultObjectsOn\r\n\t\t\t\t].map((q) => this.checkEvaluated(q));\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet query = ``;\r\n\t\t\tlet sources = [];\r\n\t\t\tlet bindRecordsQuery = ``;\r\n\t\t\tconst bindRecordsResource = this.customOptions.resource;\r\n\t\t\tconst resource =\r\n\t\t\t\tthis.customOptions.resource?.writeSubmissionOn ||\r\n\t\t\t\tthis.customOptions.resource;\r\n\r\n\t\t\tif (this.value?.list?.length && !this.customOptions.withoutUpdate) {\r\n\t\t\t\tif(this.data.currentRoute && this.data.currentRoute.includes('/reviewFile') ){\r\n\t\t\t\t\tquery = `data.requestTimestamp=${this.data?.requestTimestamp}&sort=${\r\n\t\t\t\t\t\tthis.customOptions?.sort ? this.customOptions?.sort : 'created'\r\n\t\t\t\t\t}&limit=10000&`;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tquery = `_id__in=${this.value?.list?.join()}&sort=${\r\n\t\t\t\t\t\tthis.customOptions?.sort ? this.customOptions?.sort : 'created'\r\n\t\t\t\t\t}&limit=10000`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.customOptions.query) {\r\n\t\t\t\tquery += Utils.interpolate(this.customOptions.query, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (!!query) {\r\n\t\t\t\tif (this.isEndpoint)\r\n\t\t\t\t\tsources.push(this.resourceNameService.load(this.evaluatedUrl, query));\r\n\t\t\t\telse\r\n\t\t\t\t\tsources.push(\r\n\t\t\t\t\t\tthis.resourceNameService.loadCustomByFilterdKey(resource, query)\r\n\t\t\t\t\t);\r\n\t\t\t\tthis.formioLoader.loading = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.customOptions.bindRecordsQuery) {\r\n\t\t\t\tbindRecordsQuery += Utils.interpolate(\r\n\t\t\t\t\tthis.customOptions.bindRecordsQuery,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tsources.push(\r\n\t\t\t\t\tthis.resourceNameService.loadCustomByFilterdKey(\r\n\t\t\t\t\t\tbindRecordsResource,\r\n\t\t\t\t\t\tbindRecordsQuery\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tforkJoin(...sources)\r\n\t\t\t\t.pipe(finalize(() => (this.formioLoader.loading = false)))\r\n\t\t\t\t.subscribe((res: any) => {\r\n\t\t\t\t\tconst evaluatedBindRecords =\r\n\t\t\t\t\t\tres[1]?.map((i) => this.checkEvaluated(i)) || [];\r\n\t\t\t\t\tconst evaluatedBaseData = res[0].map((q) => this.checkEvaluated(q));\r\n\r\n\t\t\t\t\tthis.editGridItems = _.uniqBy(\r\n\t\t\t\t\t\t[...evaluatedBaseData, ...evaluatedBindRecords],\r\n\t\t\t\t\t\t'_id'\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis._dispatchEvent('edit-grid-loaded', {});\r\n\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate checkEvaluated(item) {\r\n\t\tthis.showColumns.forEach((col) => {\r\n\t\t\tif (col.cssClass) return;\r\n\t\t\tif (col.evaluated) {\r\n\t\t\t\tconst value = Utils.evaluate(col.evaluated, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t[col.key]: item.data[col.key],\r\n\t\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t\t\trow: item,\r\n\t\t\t\t});\r\n\t\t\t\titem.data[`${col.key}Evaluated`] = value;\r\n\t\t\t} else {\r\n\t\t\t\titem.data[`${col.key}Evaluated`] = item.data[col.key];\r\n\t\t\t}\r\n\r\n\t\t\tif (col.translatable && item.data[`${col.key}Evaluated`]) {\r\n\t\t\t\titem.data[`${col.key}Evaluated`] = this.translateService.instant(\r\n\t\t\t\t\t`forms.common.${item.data[`${col.key}Evaluated`]}`\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn item;\r\n\t}\r\n\r\n\tprivate saveResultObjectsOn() {\r\n\t\tif (this.customOptions && this.customOptions.saveResultObjectsOn) {\r\n\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\tall: true,\r\n\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t});\r\n\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\tkey: this.customOptions.saveResultObjectsOn,\r\n\t\t\t\t});\r\n\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\tc.setValue(this.editGridItems);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\tconst pages = subForm.getFastPages({\r\n\t\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\t\t\tkey: this.customOptions.saveResultObjectsOn,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\tc.setValue(this.editGridItems);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tkey: this.customOptions.saveResultObjectsOn,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\tc.setValue(this.editGridItems);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tif (item.script) {\r\n\t\t\t\t\tthis.runScript(item.script, {\r\n\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (this.formioComponent.root.wizard) {\r\n\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\tconst pages = subForm.getFastPages({\r\n\t\t\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tloadPage(event = null) {\r\n\t\tthis.limit = this.customOptions?.pageSize || 10;\r\n\t\tconst skip = event?.first || 0;\r\n\t\tlet query = this.isEndpoint\r\n\t\t\t? ''\r\n\t\t\t: `sort=created&limit=${this.limit}&skip=${skip}&`;\r\n\t\tif (this.customOptions.query)\r\n\t\t\tquery += Utils.interpolate(this.customOptions.query, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tlimit: this.limit,\r\n\t\t\t\tskip: skip,\r\n\t\t\t});\r\n\t\tif (this.formQuery) query += `&${this.formQuery}`;\r\n\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tconst resource =\r\n\t\t\tthis.customOptions.resource?.writeSubmissionOn ||\r\n\t\t\tthis.customOptions.resource;\r\n\r\n\t\tconst method = this.isEndpoint\r\n\t\t\t? this.resourceNameService.loadByPage(this.evaluatedUrl, query)\r\n\t\t\t: this.resourceNameService.loadPage(resource, query);\r\n\r\n\t\tthis.sub = method.subscribe(\r\n\t\t\t(result) => {\r\n\t\t\t\tthis.totalRecords = result.totalRecords;\r\n\t\t\t\tthis.editGridItems = result.data.map((q) => this.checkEvaluated(q));\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tprivate _dispatchEvent(eventName, details) {\r\n\t\tconst data = {\r\n\t\t\tcomponentKey: this.formioComponent.component.key,\r\n\t\t\tgridItems: this.editGridItems?.map((rw) => ({\r\n\t\t\t\t_id: rw?._id,\r\n\t\t\t\tdata: rw?.data,\r\n\t\t\t})),\r\n\t\t\tcustomOptions: this.customOptions,\r\n\t\t\tdata: this.data,\r\n\t\t\tvalue: this.value,\r\n\t\t\t...details,\r\n\t\t};\r\n\t\tconst event = new CustomEvent(eventName, {\r\n\t\t\tbubbles: true,\r\n\t\t\tdetail: data,\r\n\t\t} as any);\r\n\t\tthis.el.nativeElement.dispatchEvent(event);\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\tprivate runScript(query: String, params) {\r\n\t\tUtils.evaluate(query, {\r\n\t\t\tutils: Utils,\r\n\t\t\tinstance: this.formioComponent,\r\n\t\t\tsubmission: this.formioComponent?.root?.data,\r\n\t\t\ttranslate: this.translateService,\r\n\t\t\tdata: this.data,\r\n\t\t\tvalue: this.value,\r\n\t\t\tcomponent: this.formioComponent.component,\r\n\t\t\t...params,\r\n\t\t});\r\n\t}\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\tget isEnableView() {\r\n\t\treturn !!this.actions.find((q) => q == 'view');\r\n\t}\r\n\tget isEnableAdd() {\r\n\t\treturn !this.viewOnly && !!this.actions.find((q) => q == 'add');\r\n\t}\r\n\tget isEnableEdit() {\r\n\t\treturn !this.viewOnly && !!this.actions.find((q) => q == 'edit');\r\n\t}\r\n\tget isEnableDelete() {\r\n\t\treturn !this.viewOnly && !!this.actions.find((q) => q == 'delete');\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport _isNull from 'lodash/isNull';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport { FormioCustomComponent, DateHelperService } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Component({\r\n\tselector: 'app-hijri-date',\r\n\ttemplateUrl: './hijri-date.component.html',\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HijriDateComponent implements FormioCustomComponent, OnInit, OnDestroy {\r\n\thijriDate: any;\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tminHijri: any;\r\n\tmaxHijri: any;\r\n\tminGreg: any;\r\n\tmaxGreg: any;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate dateHelperService: DateHelperService\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\t// Min Hijri\r\n\t\tif (this.customOptions?.minHijri && this.customOptions?.minHijri == 'today') {\r\n\t\t\tthis.minHijri = this.getTodayHijri();\r\n\t\t} else if (this.customOptions?.minHijri && 'toString' in this.customOptions?.minHijri) {\r\n\t\t\tthis.minHijri = this.customOptions?.minHijri;\r\n\t\t}\r\n\t\t// Max Hijri\r\n\t\tif (this.customOptions?.maxHijri && this.customOptions?.maxHijri == 'today') {\r\n\t\t\tthis.maxHijri = this.getTodayHijri();\r\n\t\t} else if (this.customOptions?.maxHijri && 'toString' in this.customOptions?.maxHijri) {\r\n\t\t\tthis.maxHijri = this.customOptions?.maxHijri;\r\n\t\t}\r\n\r\n\t\t// Min Greg\r\n\t\tif (this.customOptions?.minGreg && this.customOptions?.minGreg == 'today') {\r\n\t\t\tthis.minGreg = this.getTodayGreg();\r\n\t\t} else if (this.customOptions?.minGreg && 'toString' in this.customOptions?.minGreg) {\r\n\t\t\tthis.minGreg = this.customOptions?.minGreg;\r\n\t\t}\r\n\t\t// Max Greg\r\n\t\tif (this.customOptions?.maxGreg && this.customOptions?.maxGreg == 'today') {\r\n\t\t\tthis.maxGreg = this.getTodayGreg();\r\n\t\t} else if (this.customOptions?.maxGreg && 'toString' in this.customOptions?.maxGreg) {\r\n\t\t\tthis.maxGreg = this.customOptions?.maxGreg;\r\n\t\t}\r\n\r\n\t\tif (this.value) this.hijriDate = this.value;\r\n\t}\r\n\r\n\tgetTodayHijri(date?, lang?) {\r\n\t\tvar date = date || new Date();\r\n\t\tlang = lang || 'en';\r\n\t\tvar options = {\r\n\t\t\tyear: 'numeric',\r\n\t\t\tmonth: 'numeric',\r\n\t\t\tday: 'numeric',\r\n\t\t};\r\n\r\n\t\tconst todayHijri = date.toLocaleString(lang + '-u-ca-islamic', options);\r\n\t\treturn {\r\n\t\t\tyear: +todayHijri.split('/')[2].split(' ')[0],\r\n\t\t\tmonth: +todayHijri.split('/')[0],\r\n\t\t\tday: +todayHijri.split('/')[1] - 1,\r\n\t\t};\r\n\t}\r\n\r\n\tgetTodayGreg() {\r\n\t\tvar today = new Date();\r\n\t\treturn {\r\n\t\t\tyear: today.getFullYear(),\r\n\t\t\tmonth: today.getMonth() + 1,\r\n\t\t\tday: today.getDate(),\r\n\t\t};\r\n\t}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\tonDateChanged(selectedDate: any) {\r\n\t\tif (this.required && (_isNull(selectedDate) || _isEmpty(selectedDate))) {\r\n\t\t\tthis.notifyValue(null);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.notifyValue(selectedDate);\r\n\t}\r\n\r\n\tnotifyValue(date: any) {\r\n\t\tif (date && this.customOptions.compineDate && !this.customOptions?.disableConverter) {\r\n\t\t\tthis.value = this.convertDateToHijriAndGerg(date);\r\n\t\t} else {\r\n\t\t\tthis.value = date;\r\n\t\t}\r\n\t\tthis.valueChange.emit(this.value);\r\n\t\tthis.afterChangeValue();\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\tconst pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n\t\t\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst components = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (item.redraw) {\r\n\t\t\t\t\t\t\tif (c.component.type == 'datetime') c.buildBefore = false;\r\n\t\t\t\t\t\t\tc.redraw(true);\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tconvertDateToHijriAndGerg(selectedDate: any): {} {\r\n\t\tconst hijriDate = this.dateHelperService.gregorianToHijri(selectedDate, 'iM/iD/iYYYY');\r\n\r\n\t\treturn {\r\n\t\t\tgregorian: selectedDate,\r\n\t\t\thijri: hijriDate,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {{'ERROR_PAGES.FORBIDDEN' | translate}}

    \r\n

    {{'ERROR_PAGES.NO_PERMISSION' | translate}}

    \r\n \r\n {{'ERROR_PAGES.BACK' | translate}}\r\n \r\n \r\n {{'LAYOUT.LOGOUT' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","\r\n
    \r\n \r\n {{'forms.common.Description Standard' | translate}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{optionalInput| propertyLocalized : [\"nameAr\", \"nameEn\"] | async}}\r\n \r\n \r\n \r\n
    \r\n {{item.value}}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","
    \r\n {{ \"forms.common.Criteria.summary\" | translate }} \r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Criteria.Member\" | translate }} \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ResourceDropdownWrapperComponent } from './resource-dropdown-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'resource-dropdown-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'resource-dropdown-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Resource Dropdown', // Title of the component\r\n};\r\n\r\nexport function registerResourceDropdownWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ResourceDropdownWrapperComponent, injector);\r\n}\r\n","\r\n
    \r\n

    {{'forms.common.inicators' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {{'forms.common.indicatorShowSummary' | translate}}\r\n \r\n \r\n\r\n

    \r\n {{ 'forms.common.' + indicator.key | translate}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import {\r\n\tComponent,\r\n\tInput,\r\n\tViewEncapsulation,\r\n\tOnChanges,\r\n\tSimpleChanges,\r\n\tEventEmitter,\r\n\tOutput,\r\n\tViewChild,\r\n} from '@angular/core';\r\nimport { FormioComponent } from 'dp-formio';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n\tselector: 'app-form-by-key',\r\n\ttemplateUrl: './form-by-key.component.html',\r\n\t// styleUrls: ['./form-by-key.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FormByKeyComponent {\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\t@Input() formKey: string;\r\n\t@Input() submission: any;\r\n\t@Input() readOnly: boolean;\r\n\t@Input() viewOnly: boolean = false;\r\n\t@Input() enableFormSubmit: boolean;\r\n\t@Input() disableFields: string;\r\n\t@Output() onSubmit = new EventEmitter();\r\n\t@Output() onChange = new EventEmitter();\r\n\t@Output() onFormLoad = new EventEmitter();\r\n\t@Output() onCustomEvent = new EventEmitter<{ type: string; data: any, formComponent: FormioComponent }>();\r\n\t@Output() onBeforeSubmit = new EventEmitter();\r\n\r\n\tconstructor() { }\r\n\r\n\tformLoad(formSettings) {\r\n\t\tif (!this.enableFormSubmit || this.readOnly || this.viewOnly)\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tconst array = $(\r\n\t\t\t\t\t`.app-form-by-key [name=\"data[submit]\"],.app-form-by-key [name=\"data[save]\"]`\r\n\t\t\t\t);\r\n\t\t\t\tfor (let index = 0; index < array.length; index++) {\r\n\t\t\t\t\t$(array[index]).hide();\r\n\t\t\t\t}\r\n\t\t\t}, 250);\r\n\r\n\t\tif (this.disableFields)\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.formComponent.formio.component.properties = {\r\n\t\t\t\t\t...this.formComponent.formio.component.properties,\r\n\t\t\t\t\tdisabled: false,\r\n\t\t\t\t\texcludedFields: this.disableFields,\r\n\t\t\t\t};\r\n\t\t\t\tthis.formComponent.disableCurrentForms();\r\n\t\t\t}, 250);\r\n\r\n\t\tthis.onFormLoad.emit();\r\n\t}\r\n\r\n\tsubmit(submission) {\r\n\t\tthis.onSubmit.emit(submission.submission);\r\n\t}\r\n\r\n\tchange(submission) {\r\n\t\tthis.onChange.emit(submission);\r\n\t}\r\n\tcustomEvent(event) {\r\n\t\tthis.onCustomEvent.emit({ type: event.type, data: event.data, formComponent: this.formComponent });\r\n\t}\r\n\tbeforeSubmit(event) {\r\n\t\tthis.onBeforeSubmit.emit(event);\r\n\t}\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport { FormioCustomComponent, FormioComponent, CHARTSTYPES, FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'app-charts-wrapper',\r\n\ttemplateUrl: './charts-wrapper.component.html',\r\n\t// styleUrls: ['./charts-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ChartsWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, AfterViewInit, OnDestroy\r\n{\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tchartType: string;\r\n\tchartData: any = {};\r\n\tchartLabels: any[] = [];\r\n\tisFOView: boolean;\r\n\tisBOView: boolean;\r\n\taddDelay: boolean;\r\n\tshow: boolean;\r\n\r\n\tpublic get CHARTTYPE(): typeof CHARTSTYPES {\r\n\t\treturn CHARTSTYPES;\r\n\t}\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService, public formioLoader: FormioLoader) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (\r\n\t\t\tchanges &&\r\n\t\t\tchanges.data &&\r\n\t\t\t!_isEmpty(changes.data.currentValue) &&\r\n\t\t\t!_isEqual(changes.data.currentValue, changes.data.previousValue)\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\tthis.customOptions &&\r\n\t\t\t\tthis.customOptions.chartData &&\r\n\t\t\t\tthis.customOptions.chartData.length\r\n\t\t\t) {\r\n\t\t\t\tthis.addDelay = this.customOptions?.addDelay;\r\n\t\t\t\tthis.chartType = this.customOptions.chartType;\r\n\t\t\t\tthis.chartLabels = this.customOptions.labels;\r\n\t\t\t\tthis.fillPieChart();\r\n\t\t\t} else {\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tfillPieChart() {\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: this.chartLabels.map((q) => this.translateService.instant(q)),\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: this.customOptions?.chartData,\r\n\t\t\t\t\tbackgroundColor: this.customOptions?.backgroundColor,\r\n\t\t\t\t\thoverBackgroundColor: this.customOptions?.hoverBackgroundColor,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t};\r\n\r\n\t\tsetTimeout(\r\n\t\t\t() => {\r\n\t\t\t\tthis.show = true;\r\n\t\t\t},\r\n\t\t\tthis.addDelay ? 400 : 0\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'tooltip-dialog',\r\n templateUrl: 'tooltip-dialog.component.html',\r\n styleUrls: ['tooltip-dialog.component.scss'],\r\n})\r\nexport class TooltipDialog {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close(); \r\n }\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n/**\r\n * Generated class for the SafeHtmlPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer:DomSanitizer){}\r\n\r\n transform(html) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}","
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{\r\n category\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n

    \r\n {{\r\n category\r\n | propertyLocalized : [\"descriptionAr\", \"descriptionEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n
    \r\n \r\n
    \r\n","
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n {{'forms.common.a1' | translate}}\r\n \r\n
    \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.questionCompliance\" | translate }}\r\n \r\n \r\n \r\n {{item.value}}\r\n\r\n \r\n info\r\n \r\n \r\n \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"errorAr\", \"errorEn\"]\r\n | async\r\n }}\r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.Evidence\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.Attachments\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {{ \"forms.common.Criteria.Notes\" | translate }} \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfCommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfSuggestions\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfRecommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.executiveSummary\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Criteria.Conditions\" | translate }} \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","
    \r\n

    \r\n {{\r\n criterion | propertyLocalized : [\"descriptionAr\", \"descriptionEn\"] | async\r\n }}\r\n

    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n {{ item.label }}\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { combineLatest, filter, finalize, iif, map, Observable, of, switchMap, takeUntil } from 'rxjs';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { AnswerValidator, EditGridRequiredValidator } from '../../../validators';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { DecisionInput } from '../../../models/decision-input.model';\r\nimport { CriterionInformation } from '../../../models/criterion-information.mode';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { FormioComponent } from 'dp-formio';\r\nimport { CustomEditGridComponent } from 'dp-formio';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-question-decision',\r\n templateUrl: './question-decision.component.html',\r\n styleUrls: ['./question-decision.component.scss']\r\n})\r\nexport class QuestionDecisionComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n isLoadingResults: boolean;\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n answers$: Observable>;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n form: FormGroup;\r\n\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n\r\n get attachmentsControl() { return this.form.get('attachments'); }\r\n\r\n get isInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries;\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get isFinalReport() {\r\n return !this.decisionPreview && (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries);\r\n }\r\n\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n get isFormDisabled() {\r\n return !this.decisionInput.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService) { super(); }\r\n\r\n ngOnInit() {\r\n this.initAnswers();\r\n combineLatest([\r\n this.criterionsService.criterion$\r\n .pipe(filter(data => data.criterionType == 'STICK')),\r\n this.criterionsService.decisionInputs$\r\n ])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.form?.reset();\r\n this.initForm();\r\n this.registerUpdateFormValidation();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.memberId?.previousValue && changes.memberId?.previousValue != changes.memberId?.currentValue) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n this.criterionsService.sendEvaluation$.next(new CopyModel(controlName, value));\r\n if (controlName == 'termsOfTheRulingWithEvidence') {\r\n this.criterionsService.sendEvaluation$.next(new CopyModel('attachments', this.attachmentsControl.value));\r\n }\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = _cloneDeep(this.form.value);\r\n delete value.question;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value,\r\n isApply: !value.notApply,\r\n evidences: value.attachments.map(item => { return { files: item.file, fileName: item.fileName }; })\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.itimadCriterionsService.editCriterionInformation(data, this.isFinalReport),\r\n this.itimadCriterionsService.createCriterionInformation(data, this.isFinalReport)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateForm(model);\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n\r\n registerFormioEvent(formSettings: any) {\r\n this.attachmentsControl.updateValueAndValidity();\r\n this.formioComponent.formio.events.on('formio.change', (event) => {\r\n if (event.changed?.instance instanceof CustomEditGridComponent)\r\n this.attachmentsControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private initForm() {\r\n this.form = this.formBuilder.group({\r\n question: [this.question$],\r\n notes: [{ value: '', disabled: this.isFormDisabled }],\r\n conditions: [{ value: '', disabled: this.isFormDisabled }],\r\n notApply: [{ value: false, disabled: this.isFormDisabled }],\r\n reviewerEvaluation: [{ value: '', disabled: this.isFormDisabled }],\r\n termsOfTheRulingWithEvidence: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n attachments: [[], [Validators.required, EditGridRequiredValidator]],\r\n summaryOfRecommendations: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n summaryOfCommendations: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n summaryOfSuggestions: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n executiveSummary: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n }, {\r\n validators: [AnswerValidator()]\r\n });\r\n }\r\n private registerUpdateFormValidation() {\r\n const controls = ['termsOfTheRulingWithEvidence', 'summaryOfRecommendations', 'summaryOfCommendations', 'summaryOfSuggestions', 'executiveSummary'];\r\n this.form.controls.notApply.valueChanges.subscribe(checked => {\r\n controls.forEach(key => {\r\n if (!checked) {\r\n this.form.get(key).setValidators([Validators.required]);\r\n } else {\r\n this.form.get(key).clearValidators();\r\n }\r\n this.form.get(key).updateValueAndValidity();\r\n });\r\n });\r\n this.form.controls.termsOfTheRulingWithEvidence.valueChanges.subscribe(value => {\r\n if (!!value) {\r\n this.attachmentsControl.setValidators([Validators.required, EditGridRequiredValidator]);\r\n } else {\r\n this.attachmentsControl.setValue([]);\r\n this.attachmentsControl.clearValidators();\r\n }\r\n this.attachmentsControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n filter(([question, process]) => !!question && !!process),\r\n map(([question, process]) => {\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getCriterionInformation(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(criterionInformation => {\r\n this._updateForm(criterionInformation);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation) {\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n notes: data?.notes,\r\n conditions: data?.conditions,\r\n notApply: !data?.isApply,\r\n reviewerEvaluation: data?.reviewerEvaluation?.toString(),\r\n termsOfTheRulingWithEvidence: data?.termsOfTheRulingWithEvidence,\r\n attachments: data?.evidences?.map(item => { return { file: item.files, fileName: item.fileName }; }) || [],\r\n summaryOfRecommendations: data?.summaryOfRecommendations,\r\n summaryOfCommendations: data?.summaryOfCommendations,\r\n summaryOfSuggestions: data?.summaryOfSuggestions,\r\n executiveSummary: data?.executiveSummary\r\n });\r\n }\r\n\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(data => {\r\n if (data.key == 'attachments') {\r\n data.value?.forEach(item => {\r\n item.file?.forEach(file => {\r\n delete file.id;\r\n });\r\n });\r\n }\r\n this.form.patchValue({\r\n [data.key]: data.value\r\n });\r\n });\r\n\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Category } from '../../../models/category.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-masar-criteria-preview',\r\n templateUrl: './masar-criteria-preview.component.html',\r\n styleUrls: ['./masar-criteria-preview.component.scss']\r\n})\r\nexport class MasarCriteriaPreviewComponent extends BaseComponent implements OnInit {\r\n isLoadingResults = false;\r\n category$: Observable;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.criterionsService.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data) => {\r\n this.getCategory(data.submissionId);\r\n });\r\n }\r\n\r\n private getCategory(criterionId: string) {\r\n this.isLoadingResults = true;\r\n this.category$ = this.criterionsService.getCategory(criterionId)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { ViewChild } from '@angular/core';\r\nimport { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'reject-reason-org-item',\r\n\ttemplateUrl: 'reject-reason-org-item.component.html',\r\n\tstyleUrls: ['./reject-reason-org-item.component.scss'],\r\n})\r\nexport class RejectReasonOrgItem {\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tsave() {\r\n\t\tthis.dialogRef.close(this.data.reason);\r\n\t}\r\n}\r\n","import { Component, Injector, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { UserService } from 'dp-formio';\r\nimport { BaseComponent } from 'src/app/shared/components/base.component';\r\n\r\n@Component({\r\n selector: 'app-formio-demo',\r\n templateUrl: './formio-demo.component.html',\r\n styleUrls: ['./formio-demo.component.scss'],\r\n})\r\n\r\nexport class FormioDemoComponent extends BaseComponent implements OnInit {\r\n formKey: string;\r\n submission: any = {};\r\n extraOptions: any;\r\n\r\n formReady = false;\r\n\r\n constructor(public injector: Injector,\r\n private userService: UserService,\r\n private keycloak: KeycloakService) { super(injector); }\r\n\r\n async ngOnInit(): Promise {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n const etecData = await this.userService.getUserData(isLoggedIn ? await this.keycloak.getToken() : null);\r\n const params = this.route.snapshot.params;\r\n this.extraOptions = this.route.snapshot.queryParams;\r\n\r\n this.formKey = params.formKey;\r\n this.submission.data = { ...etecData, ...this.extraOptions };\r\n this.formReady = true;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport * as moment from 'moment';\r\n@Pipe({\r\n name: 'displayTime',\r\n pure: false\r\n})\r\nexport class DisplayTimePipe implements PipeTransform {\r\n constructor() { }\r\n transform(value: string, format: string) {\r\n if (!value || !format) return '';\r\n moment.locale('en');\r\n return moment(value, 'hh:mm').format('hh:mm A')\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { IndicatorsWrapperComponent } from './indicators-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'indicators-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'indicators-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'indicators', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerIndicatorsComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, IndicatorsWrapperComponent, injector);\r\n}\r\n","import { Directive, Optional, Self } from '@angular/core';\r\nimport { DefaultFlexDirective } from '@angular/flex-layout';\r\n\r\n@Directive({\r\n selector: '[appSplitArea]'\r\n})\r\nexport class SplitAreaDirective {\r\n constructor(@Optional() @Self() public flex: DefaultFlexDirective) {\r\n }\r\n}\r\n","import { Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { BaseComponent } from './shared/components/base.component';\r\nimport { Utils } from 'formiojs';\r\nimport {\r\n\tregisterAssessmentComponent,\r\n\tregisterChartsWrapperComponent,\r\n\tregisterClassificationIndicatorsComponent,\r\n\tregisterEditgridResourceComponent,\r\n\tregisterEventTreeComponent,\r\n\tregisterFormKeyWrapperComponent,\r\n\tregisterGroupedTableComponent,\r\n\tregisterHijriDateComponent,\r\n\tregisterIndicatorsComponent,\r\n\tregisterMapComponent,\r\n\tregisterMasterDetailsResourceComponent,\r\n\tregisterPDFWrapperComponent,\r\n\tregisterProccessRequirmentsComponent,\r\n\tregisterRatingWrapperComponent,\r\n\tregisterRedirectionButtonComponent,\r\n\tregisterResourceDropdownWrapperComponent,\r\n\tregisterStepperComponent,\r\n\tregisterTableTreeComponent,\r\n\tregisterTableViewWrapperComponent,\r\n\tregisterTemplateComponent,\r\n\tregisterCalenderWrapperComponent,\r\n\tregisterOrgWrapperComponent,\r\n\tregisterHtmlEditorComponent,\r\n\tregisterExecuteVisitComponent,\r\n\tregisterVisitScheduleComponent,\r\n\tregisterResourceAutocompleteWrapperComponent,\r\n\tregisterCardWrapperComponent,\r\n\tregisterDynamicChartWrapperComponent,\r\n\tregisterReviewingEvaluationComponent,\r\n} from 'src/formio-custom-components/src/public-api';\r\n\r\nimport { NavigationStart } from '@angular/router';\r\nimport { forkJoin, of } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { ViewportScroller } from '@angular/common';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n\tselector: 'app-root',\r\n\ttemplateUrl: './app.component.html',\r\n\t// styleUrls: ['./app.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppComponent extends BaseComponent {\r\n\tfullPage$ = of(false);\r\n\twindowScrolled = false;\r\n\tbackToTop = environment.backToTop;\r\n\r\n\tconstructor(public injector: Injector, private viewportScroller: ViewportScroller) {\r\n\t\tsuper(injector);\r\n\t\tthis._registerCustomComponents(injector);\r\n\t\tthis.fullPage$ = this.router.events.pipe(\r\n\t\t\tfilter((event) => event instanceof NavigationStart),\r\n\t\t\tmap((event: NavigationStart) => event?.url.includes('reset-password'))\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.registerCustomScript();\r\n\t\tthis.registerMatmomScript();\r\n\t\twindow.addEventListener('scroll', () => {\r\n\t\t\tthis.windowScrolled = window.pageYOffset !== 0;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _registerCustomComponents(injector) {\r\n\t\tregisterTableTreeComponent(injector);\r\n\t\tregisterAssessmentComponent(injector);\r\n\t\tregisterTemplateComponent(injector);\r\n\t\tregisterMasterDetailsResourceComponent(injector);\r\n\t\tregisterProccessRequirmentsComponent(injector);\r\n\t\tregisterMapComponent(injector);\r\n\t\tregisterIndicatorsComponent(injector);\r\n\t\tregisterHijriDateComponent(injector);\r\n\t\tregisterFormKeyWrapperComponent(injector);\r\n\t\tregisterEditgridResourceComponent(injector);\r\n\t\tregisterGroupedTableComponent(injector);\r\n\t\tregisterStepperComponent(injector);\r\n\t\tregisterRedirectionButtonComponent(injector);\r\n\t\tregisterTableViewWrapperComponent(injector);\r\n\t\tregisterPDFWrapperComponent(injector);\r\n\t\tregisterRatingWrapperComponent(injector);\r\n\t\tregisterChartsWrapperComponent(injector);\r\n\t\tregisterClassificationIndicatorsComponent(injector);\r\n\t\tregisterResourceDropdownWrapperComponent(injector);\r\n\t\tregisterEventTreeComponent(injector);\r\n\t\tregisterCalenderWrapperComponent(injector);\r\n\t\tregisterOrgWrapperComponent(injector);\r\n\t\tregisterHtmlEditorComponent(injector);\r\n\t\tregisterExecuteVisitComponent(this.injector);\r\n\t\tregisterVisitScheduleComponent(injector);\r\n\t\tregisterResourceAutocompleteWrapperComponent(injector);\r\n\t\tregisterCardWrapperComponent(injector);\r\n\t\tregisterDynamicChartWrapperComponent(injector);\r\n\t\tregisterReviewingEvaluationComponent(injector);\r\n\t}\r\n\r\n\tscrollTo(elementId) {\r\n\t\tthis.viewportScroller.scrollToAnchor(elementId);\r\n\t}\r\n\r\n\tprivate registerCustomScript() {\r\n\t\tif (environment.enableFormioHelpers) {\r\n\t\t\tconst script = window.document.createElement('script');\r\n\t\t\tscript.src = 'assets/js/formio-helpers.js';\r\n\t\t\tscript.type = 'module';\r\n\t\t\twindow.document.body.appendChild(script);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate registerMatmomScript() {\r\n\t\tif (environment.matomoConfig?.enable) {\r\n\t\t\tforkJoin([\r\n\t\t\t\tthis.configService.getFile(`/assets/js/matomo/matomo.js`),\r\n\t\t\t\tthis.configService.getFile(`/assets/js/matomo/matomo-noscript.js`),\r\n\t\t\t]).subscribe(([jsRaw, otherRaw]) => {\r\n\t\t\t\tconst userId = this.sessionService.getUsername();\r\n\t\t\t\tconst jsContent = Utils.interpolate(jsRaw, {\r\n\t\t\t\t\tconfig: environment.matomoConfig,\r\n\t\t\t\t\tuserId: userId || 'guest',\r\n\t\t\t\t});\r\n\t\t\t\tconst script = window.document.createElement('script');\r\n\t\t\t\tscript.append(jsContent);\r\n\t\t\t\twindow.document.body.appendChild(script);\r\n\r\n\t\t\t\tconst otherContent = Utils.interpolate(otherRaw, { config: environment.matomoConfig });\r\n\t\t\t\tconst noscript = window.document.createElement('noscript');\r\n\t\t\t\tnoscript.append(otherContent);\r\n\t\t\t\twindow.document.body.appendChild(noscript);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","\r\n
    \r\n\t\r\n\t\r\n
    \r\n","import { CalendarOptions } from '@fullcalendar/core';\r\n\r\nexport const DEFAULT_OPTIONS: CalendarOptions = {\r\n\tbuttonIcons: {\r\n\t\tclose: 'times',\r\n\t\tprev: 'chevron-left',\r\n\t\tnext: 'chevron-right',\r\n\t\tprevYear: 'angle-double-left',\r\n\t\tnextYear: 'angle-double-right',\r\n\t},\r\n\tinitialView: 'timeGridWeek',\r\n\tnowIndicator: true,\r\n\tthemeSystem: 'bootstrap',\r\n\tselectable: false,\r\n\tselectMirror: false,\r\n\teditable: false,\r\n\tdayMaxEvents: true,\r\n\teventMinHeight: 30,\r\n\tweekNumbers: true,\r\n\tnavLinks: true,\r\n\t// slotDuration: '00:30:00',\r\n\t// slotMinTime: '07:00:00',\r\n\t// slotMaxTime: '22:30:00',\r\n\tdayMaxEventRows: 3, // not working with height auto\r\n};\r\n","
    \r\n \r\n \r\n
    \r\n \r\n \r\n {{(decisionInputs.isMasar ? 'forms.common.Criteria.facilityEntries' :\r\n 'forms.common.Criteria.institutionEntries') | translate}}\r\n \r\n \r\n {{'forms.common.Criteria.membersEntries' | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { QuestionConfig } from './../models/config.model';\r\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-question-card',\r\n templateUrl: './question-card.component.html',\r\n // styleUrls: ['./question-card.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class QuestionCardComponent implements OnChanges {\r\n @Input() dir: 'ltr'| 'rtl';\r\n @Input() selectedId: string;\r\n @Input() question: QuestionConfig;\r\n @Output() selectQuestion = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.question?.currentValue)\r\n this.question = changes.question.currentValue;\r\n }\r\n\r\n onSelectQuestion() {\r\n this.selectQuestion.emit();\r\n }\r\n\r\n get hitIcons() {\r\n const rawResult = [];\r\n if (this.question.hasNotes) rawResult.push(``);\r\n if (this.question.hasLink) rawResult.push(``);\r\n if (this.question.hasAttachments) rawResult.push(``);\r\n if (this.question.hasPledgeAndAcknowledgment) rawResult.push(``);\r\n if (this.question.isRequired) rawResult.push(`*`);\r\n return rawResult.join(' | ');\r\n }\r\n}","
    \r\n
    \r\n \r\n
    \r\n
    \r\n","\r\n
    \r\n\t\r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { DynamicChartWrapperComponent } from './dynamic-chart-wrapper.component';\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'dynamic-chart', // custom type. Formio will identify the field with this type.\r\n\tselector: 'dynamic-chart', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Dynamic Chart', // Title of the component\r\n};\r\n\r\nexport function registerDynamicChartWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, DynamicChartWrapperComponent, injector);\r\n}\r\n","\r\n\r\nexport class ExecutivePlan {\r\n clause?: string;\r\n endDate?: Date;\r\n id?: number;\r\n responsibleName?: string;\r\n responsiblePosition?: string;\r\n startDate?: Date;\r\n visitId?: number;\r\n visitKey?: string;\r\n requiredResources?: string;\r\n expectedOutputs?: string;\r\n evidences?: any[];\r\n\r\n deleted: boolean;\r\n}","
    \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n storage\r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n \r\n \r\n \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n \r\n \r\n

    \r\n {{ \"forms.common.You must add at least one item\" | translate }}\r\n

    \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n more_vert\r\n \r\n {{\r\n col?.icon || \"text_fields\"\r\n }}\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {{ file.originalName }}\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n {{\r\n item.data[col.key + \"Evaluated\"]\r\n | date : col.dateFormat\r\n }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    {{ item.data[col.key + \"Evaluated\"] }}
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Details\" | translate }}\r\n \r\n \r\n \r\n {{ \"forms.common.Edit\" | translate }}\r\n \r\n \r\n \r\n {{ \"forms.common.delete\" | translate }}\r\n \r\n \r\n\r\n \r\n \r\n {{ action.label | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{ col.label }}\r\n \r\n \r\n {{ \"forms.common.\" + col.label | translate }}\r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ col.key }}\r\n \r\n \r\n {{ \"forms.common.\" + col.key | translate }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {{ file.originalName }}\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n {{\r\n item.data[col.key + \"Evaluated\"]\r\n | date : col.dateFormat\r\n }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    {{ item.data[col.key + \"Evaluated\"] }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n {{ state.page + 1 }} {{ \"forms.common.From\" | translate }}\r\n {{ state.pageCount }}\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n drag_indicator\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormIOSkeletonComponent } from './skeleton.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [FormIOSkeletonComponent],\r\n imports: [CommonModule],\r\n exports: [FormIOSkeletonComponent],\r\n})\r\nexport class FormIoSkeletonModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-masar-criterion-decision',\r\n templateUrl: './masar-criterion-decision.component.html',\r\n styleUrls: ['./masar-criterion-decision.component.scss']\r\n})\r\nexport class MasarCriterionDecisionComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export * from './questions-container/questions-container-side.component';\r\nexport * from './questions-container/questions-container.component';\r\nexport * from './questions-list/questions-list.component';\r\nexport * from './questions-resource-list/questions-resource-list.component';\r\nexport * from './users-sessions-dialog/users-sessions-dialog.component';\r\n","\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ProcessConfig, QuestionConfig, StatusConfig } from './../models/config.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, QueryList, SimpleChanges, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { TooltipDialog } from '../tooltip-dialog/tooltip-dialog.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-question-content',\r\n templateUrl: './question-content.component.html',\r\n // styleUrls: ['./question-content.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class QuestionContentComponent implements OnInit, OnChanges, OnDestroy {\r\n @ViewChildren('forms') forms: QueryList;\r\n @Input() orginalQuestion: QuestionConfig;\r\n @Input() processConfig: ProcessConfig;\r\n @Input() viewOnly: boolean;\r\n @Input() customOptions: any;\r\n @Input() dir;\r\n @Output() questionChanged = new EventEmitter();\r\n @Output() loading = new EventEmitter();\r\n showForm = true;\r\n formReady = true;\r\n question: QuestionConfig;\r\n\r\n answerArray: Array<{ value: string, tooltip: string }> = [];\r\n linkPattern = /[(http(s)?):\\/\\/(www\\.)?a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/i;\r\n\r\n sub: Subscription;\r\n\r\n constructor(private dialog: MatDialog,\r\n public formioLoader: FormioLoader,\r\n private resourceNameService: ResourceNameService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.formioLoader.loading = false;\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.orginalQuestion) {\r\n this.question = _cloneDeep(this.orginalQuestion);\r\n this.initAnswers();\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.sub?.unsubscribe();\r\n }\r\n\r\n anwserChange(value) {\r\n this.question.value = `${value}`;\r\n }\r\n\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n changeApply() {\r\n if (this.question.notApply) {\r\n this.question.value = '';\r\n this.question.linkValue = '';\r\n this.question.notesValue = '';\r\n this.question.pledgeValue = false;\r\n\r\n this.question?.attachments?.forEach(q => q.data = []);\r\n this.question?.evaluationItems?.forEach(q => q.score = '');\r\n }\r\n this.showForm = false;\r\n this.formReady = false;\r\n setTimeout(() => this.formReady = true);\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.question-content [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n this.showForm = true;\r\n }, 250);\r\n }\r\n\r\n saveQuestion() {\r\n this.question.status = StatusConfig.Complete;\r\n this.formioLoader.loading = true;\r\n this.loading.emit(true);\r\n\r\n this.sub = this.resourceNameService.editSubmission(this.customOptions.questionsResource,\r\n this.question._id, { data: this.mapQuestion() })\r\n .subscribe(data => {\r\n this.formioLoader.loading = false;\r\n this.questionChanged.emit(this.question);\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n this.loading.emit(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private initAnswers() {\r\n if (this.processConfig?.answerMaxScore) {\r\n const generalToolTip = this.question.answerTooltip ? this.question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n this.answerArray = Array.from({ length: this.processConfig.answerMaxScore }, (_, i) => {\r\n return {\r\n value: `${i + 1}`,\r\n tooltip: generalToolTip?.tooltip ?? this.question.answerTooltip.find(q => q.score == i + 1)?.tooltip\r\n }\r\n });\r\n }\r\n }\r\n\r\n private mapQuestion() {\r\n const question = _cloneDeep(this.question);\r\n question.evaluationItems?.forEach(q => q.score = `${q.score}`);\r\n delete question.parentCategoryObject;\r\n delete question._id;\r\n return question;\r\n }\r\n}","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Directive({\r\n selector: '[allowedSummaryType]'\r\n})\r\nexport class AllowedSummaryTypeDirective {\r\n @Input('allowedSummaryType') values: string[];\r\n\r\n constructor(private el: ElementRef,\r\n private renderer: Renderer2,\r\n private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n this.criterionsService.decisionInputs$.subscribe((decisionInputs) => {\r\n if (!this.values.some(q => q == decisionInputs.evaluatedSummaryType)) {\r\n this.renderer.setStyle(this.el.nativeElement, 'display', 'none');\r\n }\r\n });\r\n }\r\n}","import {\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { LangChangeEvent } from '@ngx-translate/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport {\r\n BehaviorSubject,\r\n Observable,\r\n catchError,\r\n filter,\r\n map,\r\n startWith,\r\n switchMap,\r\n takeUntil,\r\n throwError,\r\n} from 'rxjs';\r\nimport { FormioCustomComponent, FormioEvent } from 'dp-formio';\r\nimport { VisitInfoModel } from '../../../shared/model';\r\nimport { removeEmpty } from '../../../shared/utility';\r\nimport { ComponentBase } from './base';\r\nimport { UsersSessionsDialogComponent } from './components';\r\nimport { CommonQuestionModel, FormDialogData, ResourceQuestion } from './models';\r\n@Component({\r\n selector: 'app-distribute-common-questions',\r\n templateUrl: './distribute-common-questions.component.html',\r\n styleUrls: ['./distribute-common-questions.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DistributeCommonQuestionsComponent\r\n extends ComponentBase\r\n implements FormioCustomComponent, OnInit, OnChanges\r\n{\r\n dir: 'rtl' | 'ltr';\r\n\r\n private _value: any = null;\r\n @Input()\r\n public set value(v) {\r\n this._value = v;\r\n }\r\n public get value() {\r\n return this._value;\r\n }\r\n\r\n formioEvent?: EventEmitter;\r\n\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n\r\n @Output() valueChange = new EventEmitter();\r\n\r\n selectedQuestion: CommonQuestionModel = null;\r\n sideOpened = false;\r\n visitInfoSub = new BehaviorSubject(null);\r\n visitInfo$ = this.visitInfoSub.asObservable();\r\n\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n startWith({\r\n lang: this.translateService.currentLang,\r\n }),\r\n map((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n )\r\n .subscribe((res) => {\r\n this.dir = res;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.data || changes?.value) {\r\n this._getVisitInfo(this.data);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.questionsStore.questionsStore$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.updateValue(res);\r\n });\r\n }\r\n\r\n addQuestion(resourceQuestion: ResourceQuestion) {\r\n const visit = this.visitInfoSub.getValue();\r\n const _data: CommonQuestionModel = {\r\n answer: '',\r\n questionKey: resourceQuestion.key,\r\n questionText: resourceQuestion.question,\r\n visitKey: visit.key,\r\n visitId: visit.id,\r\n phase: visit?.phase,\r\n sessions: [],\r\n };\r\n\r\n const dialog = this.dialog.open(\r\n UsersSessionsDialogComponent,\r\n {\r\n width: 'min(80%, 700px)',\r\n panelClass: 'users-dialog',\r\n direction: this.dir,\r\n data: {\r\n visitKey: visit.key,\r\n question: _data,\r\n mode: 'add',\r\n },\r\n }\r\n );\r\n dialog\r\n .afterClosed()\r\n .pipe(\r\n filter(Boolean),\r\n takeUntil(this.destroy$),\r\n switchMap((data: CommonQuestionModel) => {\r\n const payload = removeEmpty(data);\r\n return this.questionsService.createQuestion(payload);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.questionsStore.pushToStore(res);\r\n });\r\n }\r\n\r\n closeQuestion() {\r\n this.selectedQuestion = null;\r\n this.sideOpened = false;\r\n }\r\n\r\n editQuestion(question: CommonQuestionModel) {\r\n const visit = this.visitInfoSub.getValue();\r\n const dialog = this.dialog.open(\r\n UsersSessionsDialogComponent,\r\n {\r\n width: 'min(80%, 700px)',\r\n panelClass: 'users-dialog',\r\n direction: this.dir,\r\n data: {\r\n visitKey: visit.key,\r\n question: question,\r\n mode: 'edit',\r\n },\r\n }\r\n );\r\n dialog\r\n .afterClosed()\r\n .pipe(\r\n filter(Boolean),\r\n takeUntil(this.destroy$),\r\n switchMap((data: CommonQuestionModel) => {\r\n const payload = removeEmpty(data);\r\n return this.questionsService.updateQuestion(payload);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.questionsStore.refreshStore();\r\n this._showSuccessAlert();\r\n });\r\n }\r\n\r\n deleteQuestion(question: CommonQuestionModel) {\r\n this._confirmDialog({\r\n confirmText: this.translateService.instant('forms.common.delete'),\r\n description: this.translateService.instant(\r\n 'forms.common.deleteCommonQuestionMessage'\r\n ),\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(Boolean),\r\n switchMap((_) => {\r\n return this.questionsService.deleteQuestion(question?.id);\r\n }),\r\n catchError((error) => {\r\n this._showErrorAlert();\r\n return throwError(() => error);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.questionsStore.removeFromStore(question?.id);\r\n });\r\n }\r\n\r\n openQuestion(question: CommonQuestionModel) {\r\n this.selectedQuestion = question;\r\n this.sideOpened = true;\r\n }\r\n\r\n updateValue(payload) {\r\n this.value = _cloneDeep(payload);\r\n this.valueChange.emit(payload);\r\n }\r\n\r\n private _getVisitInfo(value: Record) {\r\n const data = this.data?.requestDetails?.data;\r\n const key = data?.projectKey || value?.projectKey;\r\n if (key) {\r\n this.questionsService\r\n .getVisitInfo(key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.visitInfoSub.next({\r\n ...this.visitInfoSub.getValue(),\r\n key: res.visitKey,\r\n id: res.id,\r\n requestId: res.requestId,\r\n number: res.visitNumber,\r\n phase: res.phase,\r\n visitType: res?.visitType,\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","
    ","
    \r\n\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t'NAV.SERVICES_CATALOG' | translate\r\n\t\t\t\t\t\t\t\t}}\r\n\r\n\t\t\t\t\t\t\t{{ 'NAV.MENULIST' |\r\n\t\t\t\t\t\t\t\ttranslate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t'NAV.MY_REQUESTS' | translate\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t{{ 'NAV.QUERY_REQUEST' | translate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t{{ 'LAYOUT.LOGIN' | translate }}\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t
    \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { RedirectionButtonWrapperComponent } from './redirection-button-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'redirection-button-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'redirection-button-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Redirection Button', // Title of the component\r\n};\r\n\r\nexport function registerRedirectionButtonComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, RedirectionButtonWrapperComponent, injector);\r\n}\r\n","\r\n","
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { animationFrameScheduler, BehaviorSubject, combineLatest, interval } from 'rxjs';\r\nimport { distinctUntilChanged, endWith, map, switchMap, takeUntil, takeWhile } from 'rxjs';\r\nimport { Destroy } from '../observables/destroy';\r\n\r\nconst easeOutQuad = (x: number): number => x * (2 - x);\r\n\r\n@Directive({\r\n selector: '[countUp]',\r\n providers: [Destroy],\r\n})\r\nexport class CountUpDirective implements OnInit {\r\n private readonly count$ = new BehaviorSubject(0);\r\n private readonly duration$ = new BehaviorSubject(1000);\r\n\r\n private readonly currentCount$ = combineLatest([\r\n this.count$,\r\n this.duration$,\r\n ]).pipe(\r\n switchMap(([count, duration]) => {\r\n const startTime = animationFrameScheduler.now();\r\n return interval(0, animationFrameScheduler).pipe(\r\n map(() => animationFrameScheduler.now() - startTime),\r\n map((elapsedTime) => elapsedTime / duration),\r\n takeWhile((progress) => progress <= 1),\r\n map(easeOutQuad),\r\n map((progress) => Math.round(progress * count)),\r\n endWith(count),\r\n distinctUntilChanged()\r\n );\r\n })\r\n );\r\n\r\n @Input('countUp')\r\n set count(count: number) {\r\n this.count$.next(Math.round(count));\r\n }\r\n\r\n @Input()\r\n set duration(duration: number) {\r\n this.duration$.next(duration);\r\n }\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef,\r\n private readonly renderer: Renderer2,\r\n private readonly destroy$: Destroy\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.displayCurrentCount();\r\n }\r\n\r\n private displayCurrentCount(): void {\r\n this.currentCount$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((currentCount) => {\r\n this.renderer.setProperty(\r\n this.elementRef.nativeElement,\r\n 'innerHTML',\r\n currentCount\r\n );\r\n });\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { GetMemberNamePipe } from './get-member-name.pipe';\r\nimport { GetValuePipe } from './get-value.pipe';\r\nimport { RenderTemplatePipe } from './render-template.pipe';\r\n\r\n\r\nconst pipes = [GetMemberNamePipe, GetValuePipe, RenderTemplatePipe];\r\n\r\n@NgModule({\r\n declarations: pipes,\r\n imports: [CommonModule, TranslateModule],\r\n exports: pipes,\r\n})\r\nexport class FormioPipesModule {}\r\n","export * from './distribute-team-members.module'\r\nexport * from './distribute-team-members.wrapper'\r\n","import _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport { CategoryConfig, OptionalInputConfig, QuestionConfig, AnswerConfig, AttachmentsConfig, EvaluationItemsConfig } from './../models/config.model';\r\nimport { AfterViewInit, Component, EventEmitter, Inject, OnDestroy, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { Subscription, forkJoin, tap } from 'rxjs';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-assessment-control',\r\n templateUrl: './assessment-control.component.html',\r\n // styleUrls: ['./assessment-control.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class AssessmentControlComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n currentQuestion: QuestionConfig;\r\n categoryHasChanged = new EventEmitter();\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public formioLoader: FormioLoader,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.data.subCategoryKey) {\r\n //load sub, then load subCat or question\r\n this.sub = this.loadSubCategores(this.data.currentLevel, true)\r\n .subscribe(data => {\r\n const subCategory = this.data.currentLevel.subCategoriresObject.find(q => q.key == this.data.subCategoryKey);\r\n this.openCategory(subCategory);\r\n });\r\n } else {\r\n this.loadData(this.data.currentLevel);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initProgressColor();\r\n this.selectDefaultQuestion();\r\n }\r\n\r\n close() {\r\n if (this.data.selected?.length > 1) {\r\n this.goTo(this.data.selected[this.data.selected.length - 2])\r\n }\r\n else this.dialogRef.close();\r\n }\r\n\r\n openCategory(item) {\r\n console.log(item);\r\n this.data.currentLevel = item;\r\n this.data.selected.push(item);\r\n this.loadData(item);\r\n }\r\n\r\n goTo(item) {\r\n console.log(item);\r\n const index = this.data.selected.findIndex(q => q.id == item.id);\r\n if (index >= 0) {\r\n this.data.currentLevel = item;\r\n this.data.selected.splice(index);\r\n if (!this.data.selected.length) { this.data.selected.push(item); }\r\n }\r\n this.initProgressColor();\r\n this.selectDefaultQuestion();\r\n }\r\n\r\n selectQuestion(question) {\r\n this.currentQuestion = question;\r\n }\r\n\r\n changedQuestion(question: QuestionConfig) {\r\n this.formioLoader.loading = true;\r\n const index = this.data.currentLevel.questionsAssessmentObject.findIndex(q => q._id == question._id);\r\n const progressChanged = this.data.currentLevel.questionsAssessmentObject[index].status != question.status;\r\n\r\n let questionBeforeUpdate = _cloneDeep(this.data.currentLevel.questionsAssessmentObject[index])\r\n\r\n this.data.currentLevel.questionsAssessmentObject[index] = question;\r\n this.data.currentLevel.questionsAssessmentObject = [...this.data.currentLevel.questionsAssessmentObject];\r\n this.data.currentLevel = this.data.currentLevel;\r\n this.currentQuestion = question;\r\n this.updateCategories(questionBeforeUpdate);\r\n }\r\n\r\n changedCategory(category: CategoryConfig) {\r\n this.data.currentLevel.optionalInputs = category.optionalInputs;\r\n this.data.currentLevel.descriptionStandardResult = category.descriptionStandardResult;\r\n this.data.currentLevel = this.data.currentLevel;\r\n }\r\n\r\n get currentPage() {\r\n let page = 0;\r\n if (this.data.dir == 'rtl') {\r\n page = Math.ceil(this.data.currentLevel.questionsAssessmentObject.length / 3) - 1;\r\n }\r\n return page < 0 ? 0 : page;\r\n }\r\n\r\n private updateCategories(questionBeforeUpdate?: QuestionConfig) {\r\n const calls = [];\r\n const completedQuestions = this.data.currentLevel.questionsAssessmentObject.filter(q => q.status).length;\r\n const allQuestions = this.data.currentLevel.questionsAssessmentObject.length;\r\n this.data.currentLevel.percentage = Math.ceil((completedQuestions / allQuestions) * 100);\r\n\r\n const categoryStat = this.calcCategoryStat(this.data.currentLevel, questionBeforeUpdate);\r\n this.data.currentLevel.numberOfApplicable = categoryStat.numberOfApplicable;\r\n this.data.currentLevel.totalEvaluationCriteria = parseFloat(categoryStat.totalEvaluationCriteria).toFixed(2);\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.categoryResource,\r\n this.data.currentLevel._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/percentage\",\r\n \"value\": this.data.currentLevel.percentage\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/scoreResult\",\r\n \"value\": parseFloat(this.data.currentLevel.calculatedScore).toFixed(2)\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/numberOfApplicable\",\r\n \"value\": this.data.currentLevel.numberOfApplicable\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/totalEvaluationCriteria\",\r\n \"value\": this.data.currentLevel.totalEvaluationCriteria=='' || this.data.currentLevel.totalEvaluationCriteria==null || isNaN(Number(this.data.currentLevel.totalEvaluationCriteria)) ? '0' : parseFloat(this.data.currentLevel.totalEvaluationCriteria).toFixed(2)\r\n }\r\n ]));\r\n if (this.data.currentLevel.percentage && this.data.currentLevel.parentCategoryObject?.subCategoriresObject) {\r\n const parentAllCategories = this.data.currentLevel.parentCategoryObject.subCategoriresObject.length;\r\n const parentCompletedCategories = this.data.currentLevel.parentCategoryObject.subCategoriresObject.filter(q => q.percentage == 100).length;\r\n this.data.currentLevel.parentCategoryObject.percentage = Math.ceil((parentCompletedCategories / parentAllCategories) * 100);\r\n\r\n const categoryStat = this.calcCategoryStat(this.data.currentLevel.parentCategoryObject, questionBeforeUpdate);\r\n this.data.currentLevel.parentCategoryObject.numberOfApplicable = categoryStat.numberOfApplicable;\r\n this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria = parseFloat(categoryStat.totalEvaluationCriteria).toFixed(2);\r\n\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.categoryResource,\r\n this.data.currentLevel.parentCategoryObject._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/percentage\",\r\n \"value\": this.data.currentLevel.parentCategoryObject.percentage\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/scoreResult\",\r\n \"value\": parseFloat(this.data.currentLevel.parentCategoryObject.calculatedScore).toFixed(2)\r\n \r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/numberOfApplicable\",\r\n \"value\": this.data.currentLevel.parentCategoryObject.numberOfApplicable\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/totalEvaluationCriteria\",\r\n \"value\": this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria=='' || this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria==null || isNaN(Number(this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria)) ? '0' : parseFloat(this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria).toFixed(2)\r\n \r\n }]));\r\n }\r\n this.sub = forkJoin(calls).subscribe(data => {\r\n this.data.currentLevel.scoreResult = parseFloat(this.data.currentLevel.calculatedScore).toFixed(2);\r\n this.categoryHasChanged.emit(this.data.currentLevel);\r\n if (data.length > 1) this.data.currentLevel.parentCategoryObject.scoreResult = parseFloat(this.data.currentLevel.parentCategoryObject.calculatedScore).toFixed(2);\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n questionLoadion(event) {\r\n this.formioLoader.loading = event;\r\n }\r\n\r\n private calcCategoryStat(category: CategoryConfig, questionBeforeUpdate: QuestionConfig) {\r\n let totalEvaluationCriteria = category.totalEvaluationCriteria || 0;\r\n let numberOfApplicable = category.numberOfApplicable || 0;\r\n\r\n if (questionBeforeUpdate &&\r\n ((!questionBeforeUpdate.notApply && questionBeforeUpdate.value) ||\r\n (this.currentQuestion.notApply && questionBeforeUpdate.value && questionBeforeUpdate.notApply != this.currentQuestion.notApply))) {\r\n //remove old answer and then reCalc variables\r\n totalEvaluationCriteria -= (+questionBeforeUpdate.value || 0) * (questionBeforeUpdate.weight || 1);\r\n numberOfApplicable -= questionBeforeUpdate.weight || 1;\r\n }\r\n if (!this.currentQuestion.notApply) {\r\n totalEvaluationCriteria += (+this.currentQuestion.value || 0) * (this.currentQuestion.weight || 1);\r\n numberOfApplicable += this.currentQuestion.weight || 1;\r\n }\r\n return {\r\n totalEvaluationCriteria: Number(totalEvaluationCriteria).toFixed(2),\r\n numberOfApplicable: numberOfApplicable\r\n }\r\n }\r\n\r\n private loadData(category: CategoryConfig) {\r\n this.formioLoader.loading = true;\r\n this.currentQuestion = null;\r\n if (category.questionsAssessment?.length) {\r\n if (category.questionsAssessmentObject?.length) {\r\n this.formioLoader.loading = false;\r\n this.selectDefaultQuestion();\r\n return;\r\n } else {\r\n this.loadQuestions(category);\r\n }\r\n } else {\r\n if (category.subCategoriresObject?.length) {\r\n this.formioLoader.loading = false;\r\n return;\r\n } else {\r\n this.loadSubCategores(category);\r\n }\r\n }\r\n }\r\n\r\n private loadSubCategores(category: CategoryConfig, withResult = false) {\r\n const categoryResource = Utils.interpolate(this.data.customOptions.categoryResource, { data: this.data.data });\r\n const subCategoryQuery = Utils.interpolate(this.data.customOptions.subCategoryQuery, { data: this.data.data, key: category.key });\r\n\r\n const method = this.resourceNameService.loadCustomByFilterdKey(categoryResource, `${subCategoryQuery}`)\r\n .pipe(tap((result: any[]) => {\r\n category.subCategoriresObject = SortHelper.recursiveSort(result.map(c => {\r\n const item = new CategoryConfig();\r\n const mappedItem = { _id: c._id, ...c.data };\r\n item.color = category.color;\r\n SortHelper.copyProps(mappedItem, item);\r\n if (item.optionalInputs)\r\n item.optionalInputs = item.optionalInputs.map(o => {\r\n const oInput = new OptionalInputConfig();\r\n SortHelper.copyProps(o, oInput);\r\n return oInput;\r\n });\r\n else item.optionalInputs = [];\r\n item.parentCategoryObject = category;\r\n item.processConfigObject = this.data.processConfig;\r\n return item;\r\n }), 'asc');\r\n }));\r\n if (withResult) return method;\r\n this.sub = method.subscribe(result => {\r\n this.initProgressColor();\r\n this.formioLoader.loading = false;\r\n }, error => this.formioLoader.loading = false);\r\n }\r\n\r\n private loadQuestions(category: CategoryConfig) {\r\n const questionsResource = Utils.interpolate(this.data.customOptions.questionsResource, { data: this.data.data });\r\n const questionsSelect = Utils.interpolate(this.data.customOptions.questionsSelect, { data: this.data.data, category: category });\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(questionsResource, `${questionsSelect}`)\r\n .subscribe((result: any[]) => {\r\n category.questionsAssessmentObject = SortHelper.sort(result.map(c => {\r\n const item = new QuestionConfig();\r\n const mappedItem = { _id: c._id, ...c.data };\r\n SortHelper.copyProps(mappedItem, item);\r\n item.parentCategoryObject = category;\r\n\r\n item.answerTooltip = item.answerTooltip?.map(a => {\r\n const aInput = new AnswerConfig();\r\n SortHelper.copyProps(a, aInput);\r\n return aInput;\r\n }) || [];\r\n\r\n item.attachments = item.attachments?.map(a => {\r\n const aInput = new AttachmentsConfig();\r\n SortHelper.copyProps(a, aInput);\r\n return aInput;\r\n }) || [];\r\n\r\n item.evaluationItems = SortHelper.recursiveSort(item.evaluationItems?.map(a => {\r\n const aInput = new EvaluationItemsConfig();\r\n !a.score ? a.score = '' : a.score = +a.score;\r\n SortHelper.copyProps(a, aInput);\r\n return aInput;\r\n }) || [], 'asc');\r\n\r\n if (item.hasEvaluationItems) {\r\n item.evaluationLevels = this.data.processConfig.evaluationLevels;\r\n }\r\n\r\n return item;\r\n }), this.data.dir == 'rtl' ? 'desc' : 'asc');\r\n\r\n this.selectDefaultQuestion();\r\n this.formioLoader.loading = false;\r\n }, error => this.formioLoader.loading = false);\r\n }\r\n\r\n private initProgressColor() {\r\n setTimeout(() => {\r\n if (this.data.currentLevel.subCategoriresObject && this.data.currentLevel.subCategoriresObject.length) {\r\n this.data.currentLevel.subCategoriresObject.forEach(item => {\r\n $(`#bar_${item._id} .p-progressbar-value`).css(\"background-color\", item.color);\r\n });\r\n }\r\n });\r\n }\r\n\r\n private selectDefaultQuestion() {\r\n if (this.data.processConfig.categoryLevelCount == this.data.currentLevel.levelNumber && this.data.currentLevel.questionsAssessmentObject) {\r\n setTimeout(() => {\r\n const index = this.data.dir == 'rtl' ? this.data.currentLevel.questionsAssessmentObject.length - 1 : 0;\r\n this.selectQuestion(this.data.currentLevel.questionsAssessmentObject[index]);\r\n }, 100);\r\n }\r\n }\r\n}\r\n","import { TranslateService } from '@ngx-translate/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Injectable, OnInit, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { map, publishReplay, refCount } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\nimport * as SockJS from 'sockjs-client';\r\nimport * as Stomp from 'webstomp-client';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { SessionService } from '../../core/services/session.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationsService implements OnInit {\r\n stompClient = null;\r\n subscriber = null;\r\n connection: Promise;\r\n connectedPromise: any;\r\n listenerObserver: EventEmitter = new EventEmitter();\r\n alreadyConnectedOnce = false;\r\n pageSize = 15;\r\n private subscription: Stomp.Subscription;\r\n\r\n // tslint:disable-next-line:variable-name\r\n private _notifications = [];\r\n get notifications(): Array {\r\n return this._notifications;\r\n }\r\n // tslint:disable-next-line:variable-name\r\n private _notificationsCount = 0;\r\n get notificationsCount(): number {\r\n return this._notificationsCount;\r\n }\r\n constructor(\r\n private http: HttpClient,\r\n private sessionService: SessionService,\r\n public router: Router,\r\n private keycloak: KeycloakService,\r\n private translateService: TranslateService,\r\n\r\n ) {\r\n this.connect();\r\n this.connection = this.createConnection();\r\n this.subscribe();\r\n this.getCount();\r\n this.translateService.onLangChange\r\n .subscribe(data => {\r\n this.fetchNotifications(true);\r\n });\r\n }\r\n getCount() {\r\n this.doCountNew(this.sessionService.getUsername()).subscribe((data) => {\r\n this._notificationsCount = data;\r\n });\r\n }\r\n\r\n async connect() {\r\n if (this.connectedPromise === null) {\r\n this.connection = this.createConnection();\r\n }\r\n // building absolute path so that websocket doesn't fail when deploying with a context path\r\n let url;\r\n url = `${environment.gateway}${environment.endpoints.socket}`;\r\n const socket = new SockJS(url);\r\n this.stompClient = Stomp.over(socket);\r\n const headers = {\r\n // Upgrade: 'websocket',\r\n // Connection: 'Upgrade',\r\n token: `${await this.keycloak.getToken()}`\r\n };\r\n this.stompClient.connect(\r\n headers,\r\n () => {\r\n this.connectedPromise('success');\r\n this.connectedPromise = null;\r\n if (!this.alreadyConnectedOnce) {\r\n this.alreadyConnectedOnce = true;\r\n }\r\n }\r\n );\r\n }\r\n\r\n disconnect() {\r\n if (this.stompClient !== null) {\r\n this.stompClient.disconnect();\r\n this.stompClient = null;\r\n }\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n }\r\n this.alreadyConnectedOnce = false;\r\n }\r\n\r\n\r\n\r\n subscribe() {\r\n this.connection.then(() => {\r\n this.subscriber = this.stompClient.subscribe('/user/topic/notification', data => {\r\n const notification = JSON.parse(data.body);\r\n this._notifications.unshift(notification);\r\n this.getCount();\r\n this.listenerObserver.emit(notification);\r\n });\r\n });\r\n }\r\n\r\n unsubscribe() {\r\n if (this.subscriber !== null) {\r\n this.subscriber.unsubscribe();\r\n }\r\n }\r\n\r\n private createConnection(): Promise {\r\n return new Promise((resolve, reject) => (this.connectedPromise = resolve));\r\n }\r\n ngOnInit() {\r\n this.doCountNew(this.sessionService.getUsername()).subscribe((data) => {\r\n this._notificationsCount = data;\r\n });\r\n }\r\n fetchNotifications(withReset = false) {\r\n if (withReset) {\r\n this._notifications = [];\r\n }\r\n\r\n const observable = this.doGetNotifications(this.sessionService.getUsername(), {\r\n page: this._notifications.length > 0 ? Math.ceil(this._notifications.length / this.pageSize) : 0,\r\n size: this.pageSize,\r\n paged: true,\r\n sort: 'sendDate,desc',\r\n sorted: true,\r\n lang: this.translateService.currentLang.toUpperCase()\r\n });\r\n observable.subscribe((notifications) => {\r\n this._notifications = this._notifications.concat(notifications.items);\r\n });\r\n return observable;\r\n }\r\n resetCount() {\r\n this._notificationsCount = 0;\r\n\r\n /*\r\n this.restService.resetCountNew(this.keycloakService.getUsername()).subscribe(() => {\r\n });\r\n */\r\n }\r\n markAllAsRead() {\r\n this.doMarkAllAsRead(this.sessionService.getUsername()).subscribe(() => {\r\n this._notifications.forEach(item => item.status = 'READ');\r\n });\r\n }\r\n updateStatus(notification, onOpen = false) {\r\n const bool = (notification.status === 'UN_READ' || notification.status === 'NEW' || onOpen);\r\n if (bool) {\r\n this.doMarkAsRead(notification.id).subscribe(() => {\r\n notification.status = 'READ';\r\n this.getCount();\r\n });\r\n } else {\r\n this.doMarkAsUnread(notification.id).subscribe(() => {\r\n notification.status = 'UN_READ';\r\n this.getCount();\r\n });\r\n }\r\n }\r\n deleteNotification(notification) {\r\n this.doDeleteNotification(notification.id).subscribe(() => {\r\n this._notifications.filter((item, index) => {\r\n if (item.id === notification.id) {\r\n this._notifications.splice(index, 1);\r\n return;\r\n }\r\n });\r\n });\r\n }\r\n\r\n doGetNotifications(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/all/backOffice/${userId}`;\r\n return this.http.get(endpoint, { observe: 'response', params: queryParams }).pipe(\r\n map((resp: HttpResponse) => ({\r\n totalCount: resp.headers.get('x-total-count'),\r\n items: resp.body.map((item) => item)\r\n })),\r\n publishReplay(1),\r\n refCount()\r\n );\r\n }\r\n doCountNew(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/countNew/${userId}`;\r\n return this.http.get(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doResetCountNew(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/resetCount/${userId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doCountUnread(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/countUnRead/${userId}`;\r\n return this.http.get(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doMarkAllAsRead(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/markAllAsRead/${userId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doMarkAsRead(notificationId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/markAsRead/${notificationId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doMarkAsUnread(notificationId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/markAsUnRead/${notificationId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doDeleteNotification(notificationId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/${notificationId}`;\r\n return this.http.delete(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n}","import { DatePipe } from '@angular/common';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DashletFilterAdapter } from './dashlet-filter.adapter';\r\nimport { RequestModel } from './my-requests/model';\r\n\r\ninterface filterData {\r\n\tservices: string[];\r\n\tstatuses: string[];\r\n\trequestDateAfter: string;\r\n\trequestDateBefore: string;\r\n\tsortBy: string;\r\n\tsortDirection: string;\r\n\tsort: string;\r\n\tpage: number;\r\n\tsize: number;\r\n}\r\ntype LockTypes = 'digital signature' | 'receive a task';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class RequestsService {\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate datePipe: DatePipe,\r\n\t\tprivate dashletFilterAdapter: DashletFilterAdapter,\r\n\t\tprivate translate: TranslateService\r\n\t) { }\r\n\r\n\tverifyToken(token) {\r\n\t\treturn this.http.get(`${environment.formio.appUrl}/recaptcha?recaptchaToken=${token}`);\r\n\t}\r\n\r\n\tunlockRequest(requestId, reason: LockTypes = 'digital signature') {\r\n\t\tconst endpoint = `${environment.gateway}${environment.endpoints.myRequests}/${requestId}/unlock`;\r\n\t\treturn this.http\r\n\t\t\t.post(endpoint, {\r\n\t\t\t\treason: reason,\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tlockRequest(requestId, reason: LockTypes = 'digital signature') {\r\n\t\tconst endpoint = `${environment.gateway}${environment.endpoints.myRequests}/${requestId}/lock`;\r\n\t\treturn this.http\r\n\t\t\t.post(endpoint, {\r\n\t\t\t\treason: reason,\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\r\n\tgetRequests(queryParams): Observable<{\r\n\t\titems: RequestModel[];\r\n\t\ttotalCount: string;\r\n\t}> {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}`, {\r\n\t\t\t\tobserve: 'response',\r\n\t\t\t\tparams: this.dashletFilterAdapter.adapt(queryParams),\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((resp: HttpResponse) => {\r\n\t\t\t\t\treturn { items: resp.body, totalCount: resp.headers.get('X-Total-Count') };\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\tqueryRequests(queryParams): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t...queryParams,\r\n\t\t\t\t\tlanguage: this.translate.currentLang,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tqueryAnonymousRequests(id): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}/anonymous/${id}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tlanguage: this.translate.currentLang,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\r\n\tgetGeneric(url, queryParams = {}): Observable {\r\n\t\tconst endpoint = `${url}`;\r\n\t\treturn this.http.get(endpoint, { params: queryParams }).pipe(\r\n\t\t\tcatchError((e) => {\r\n\t\t\t\tthrow e;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\tgetTaskByProcessInstanceId(queryParams = {}, isAnonymous: boolean = false): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(\r\n\t\t\t\t`${environment.gateway}${isAnonymous ? environment.endpoints.anonymousTasks : environment.endpoints.tasks\r\n\t\t\t\t}`,\r\n\t\t\t\t{\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t...queryParams,\r\n\t\t\t\t\t\t...this.dashletFilterAdapter.adapt(queryParams),\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tgetRequest(id, queryParams = {}): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}/${id}`, {\r\n\t\t\t\tparams: this.dashletFilterAdapter.adapt(queryParams),\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tgetTaskRequest(id): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'id.equals': id\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tgetRequestsCount(serviceId) {\r\n\t\tconst d = new Date(new Date().getFullYear(), 0, 1);\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.count}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'requestDate.greaterOrEqualThan': this.datePipe.transform(d, 'yyyy-MM-ddTHH:mm:ss') + 'z',\r\n\t\t\t\t\t'serviceId.equals': serviceId,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\r\n\tgetListOfUserSegments(): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\t`${environment.gateway}${environment.endpoints.myBeneficiarySegments}`\r\n\t\t);\r\n\t}\r\n\r\n\tcheckRequestFeedback(serviceKey, requestId): Observable {\r\n\t\tconst endpoint = `${environment.gateway}${environment.endpoints.requestFeedback}/${serviceKey}/request/${requestId}/available`;\r\n\t\treturn this.http.get(endpoint);\r\n\t}\r\n}\r\n","import { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';import { FormioLoader } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'add-edit-event-item',\r\n\ttemplateUrl: 'add-edit-event-item.component.html',\r\n\tstyleUrls: ['./add-edit-event-item.component.scss'],\r\n})\r\nexport class AddEditEventItem {\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate loader: FormioLoader) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t}\r\n\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.type == 'customCancel') this.dialogRef.close();\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tthis.dialogRef.close(event.data);\r\n\t}\r\n\r\n\tonFormLoad() {\r\n\t\ttry {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tconst button = $('#cancel');\r\n\t\t\t\tif (!button) {\r\n\t\t\t\t\tthis.onFormLoad();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(() => button.prop('disabled', false), 500);\r\n\t\t\t}, 350);\r\n\t\t} catch (e) { }\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, iif, of, switchMap, take, takeUntil } from 'rxjs';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { MasarCriterionsService } from '../../services/masar-criterions.service';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { FinalReportMistakes } from '../../models/final-report-mistakes.model';\r\nimport { AddEditMistakeComponent } from './add-edit-mistake/add-edit-mistake.dialog';\r\n\r\n@Component({\r\n selector: 'app-masar-mistake-list',\r\n templateUrl: './masar-mistake-list.component.html',\r\n styleUrls: ['./masar-mistake-list.component.scss', '../data-table.scss']\r\n})\r\nexport class MasarMistakeListComponent extends BaseComponent implements OnInit {\r\n @Input() disabled = false;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n\r\n dataSource: FinalReportMistakes[] = [];\r\n displayedColumns = [\r\n 'mistakeLevel',\r\n 'criterionKey',\r\n 'mistake',\r\n 'suggestedSolution',\r\n 'actions'\r\n ];\r\n\r\n\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n }\r\n\r\n showMistake(decisionInput: DecisionInput, mistake: FinalReportMistakes = null, isViewOnly: boolean = false, index: number = null) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditMistakeComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n viewOnly: isViewOnly,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n model: mistake || new FinalReportMistakes(),\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n const model: FinalReportMistakes = {\r\n ...result,\r\n responseDecision: 'true',\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n };\r\n\r\n of(!!result.id)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.masarCriterionsService.editFinalReportMistakes(model),\r\n this.masarCriterionsService.createFinalReportMistakes(model)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this.getData();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n });\r\n }\r\n\r\n deleteMistake(id: number) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: dir,\r\n data: {\r\n dir: dir,\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n this.masarCriterionsService.deleteFinalReportMistakes(id)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.getData();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake\"),\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake Successfully\"),\r\n false\r\n );\r\n });\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.getFinalReportMistakes(this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(data => {\r\n this.dataSource = data;\r\n this.updateResultData();\r\n });\r\n }\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value.finalReportMistakes = this.dataSource;\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioCustomComponent } from 'dp-formio';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-number-counter-wrapper',\r\n templateUrl: './number-counter-wrapper.component.html',\r\n // styleUrls: ['./number-counter-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NumberCounterWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n counter = 0;\r\n\r\n constructor(private translateService: TranslateService) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n this.counter = this.value || this.customOptions.default || 0;\r\n this.notifyValue();\r\n }\r\n }\r\n\r\n notifyValue() {\r\n if (this.required) {\r\n if (\r\n (this.customOptions.min != null && this.counter < this.customOptions.min) ||\r\n (this.customOptions.max != null && this.counter > this.customOptions.max)\r\n ) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n }\r\n\r\n this.value = this.counter;\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n changeValue() {\r\n if (this.customOptions?.enableUserEntry &&\r\n (this.counter < this.customOptions.min || this.counter > this.customOptions.max)) {\r\n this.counter = this.customOptions.default || 0;\r\n this.notifyValue();\r\n }\r\n }\r\n\r\n minus() {\r\n if (this.counter - (this.customOptions.step || 1) >= this.customOptions.min) {\r\n this.counter = this.counter - (this.customOptions.step || 1);\r\n this.notifyValue();\r\n }\r\n }\r\n add() {\r\n if (this.counter + (this.customOptions.step || 1) <= this.customOptions.max) {\r\n this.counter = this.counter + (this.customOptions.step || 1);\r\n this.notifyValue();\r\n }\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import { Output, EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef, OnDestroy, Injector, OnInit } from '@angular/core';\r\nimport { Component, Inject, Input } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Utils } from 'formiojs';\r\nimport { Subscription } from 'rxjs';\r\nimport { ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'add-edit-dialog',\r\n templateUrl: 'add-edit-dialog.component.html',\r\n styleUrls: ['./add-edit-dialog.component.scss'],\r\n})\r\nexport class AddEditDialog implements OnInit, OnChanges, OnDestroy {\r\n @Input() data: any;\r\n @Output() close = new EventEmitter();\r\n\r\n submissionId: string;\r\n submission: any = {};\r\n formReady = false;\r\n disableFields: string = '';\r\n\r\n dialogRef: MatDialogRef;\r\n dialogData: any;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(public fb: FormBuilder,\r\n private resourceNameService: ResourceNameService,\r\n private injector: Injector) {\r\n try {\r\n this.dialogRef = injector.get(MatDialogRef);\r\n this.dialogData = injector.get(MAT_DIALOG_DATA);\r\n } catch { }\r\n }\r\n ngOnInit() {\r\n if (!this.data) {\r\n this.data = this.dialogData;\r\n this.ngOnChanges(null);\r\n }\r\n \r\n\t\t$('.custom-modal-component mat-dialog-container').scroll(function () {\r\n\t\t\t$('.flatpickr-calendar').each((i,item) => {\r\n\t\t\t\t$(item).removeClass('open');\r\n\t\t\t});\r\n\t\t});\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formReady = false;\r\n this.disableFields = '';\r\n this.submissionId = '';\r\n this.submission = {};\r\n\r\n setTimeout(() => {\r\n let extraOptions = {};\r\n if (this.data.extra)\r\n extraOptions = Utils.evaluate(this.data.extra, {\r\n submission: this.data.data,\r\n parentRowSubmission: this.data.parentRowSubmission,\r\n rowSubmission: this.data.rowSubmission\r\n });\r\n\r\n if (this.data.disableFields) {\r\n const fields = [];\r\n this.data.disableFields.forEach(element => {\r\n const defaultValue = Utils.evaluate(element.default, { branches: this.data.branches, rowSubmission: this.data.rowSubmission });\r\n extraOptions[element.name] = defaultValue;\r\n if (!this.data.isView && Utils.evaluate(element.disabled, { branches: this.data.branches }))\r\n fields.push(element.name);\r\n });\r\n this.disableFields = fields.join();\r\n }\r\n\r\n\r\n if (this.data.rowSubmission)\r\n this.submissionId = this.data.rowSubmission._id;\r\n\r\n this.loadResource(extraOptions);\r\n });\r\n }\r\n\r\n loadResource(extraOptions: any) {\r\n if (this.submissionId) {\r\n this.sub = this.resourceNameService.loadCustomByKeyId(this.data.resource, this.submissionId)\r\n .subscribe(data => {\r\n this.submission = data;\r\n this.submission.data = { ...extraOptions, ...this.submission.data };\r\n this.formReady = true;\r\n });\r\n } else {\r\n this.submission.data = { ...extraOptions };\r\n this.formReady = true;\r\n }\r\n }\r\n\r\n onFormLoad() {\r\n try {\r\n setTimeout(() => {\r\n const button = $('#columnsCancel');\r\n if (!button) {\r\n this.onFormLoad();\r\n return;\r\n }\r\n button.prop(\"disabled\", false)\r\n }, 350)\r\n } catch (e) { }\r\n }\r\n\r\n onSubmit(submission) {\r\n this.data.rowSubmission = submission;\r\n this.data.fields.filter(q => q.viewInTree).forEach(element => {\r\n element.value = submission.data[element.name];\r\n });\r\n this.close.emit(this.data);\r\n if (this.dialogRef) this.dialogRef.close(this.data);\r\n }\r\n\r\n onCustomEvent(event) {\r\n if (event.type == 'customCancel') {\r\n this.close.emit();\r\n if (this.dialogRef) this.dialogRef.close();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { Router } from '@angular/router';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport {\r\n\tObservable,\r\n\tSubscription,\r\n\tcatchError,\r\n\tdebounceTime,\r\n\tdistinctUntilChanged,\r\n\tiif,\r\n\tmap,\r\n\tstartWith,\r\n\tswitchMap,\r\n\ttap,\r\n} from 'rxjs';\r\nimport {\r\n\tFormioCustomComponent,\r\n\tResourceNameService,\r\n} from 'dp-formio';\r\nimport { EvaluationDisplayPipe } from './pipe/evaluation-display.pipe';\r\ndeclare var $: any;\r\n\r\nexport enum HooksEnum {\r\n\tAfterLoadOptions = 'afterLoadOptions',\r\n\tOnValueChange = 'onValueChange',\r\n\tOnInit = 'onInt',\r\n}\r\n\r\n@Component({\r\n\tselector: 'app-resource-autocomplete-wrapper',\r\n\ttemplateUrl: './resource-autocomplete-wrapper.component.html',\r\n\t// styleUrls: ['./resource-autocomplete-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\t// providers: [FormioLoader]\r\n\tproviders: [EvaluationDisplayPipe],\r\n})\r\nexport class ResourceAutocompleteWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, OnInit, OnDestroy\r\n{\r\n\t@ViewChild(MatAutocompleteTrigger)\r\n\tautocompleteTrigger: MatAutocompleteTrigger;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tlabelHint: any;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tfilterControl = new FormControl();\r\n\tfilteredOptions: Observable;\r\n\toptionsList = [];\r\n\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate evaluationDisplayPipe: EvaluationDisplayPipe\r\n\t) {\r\n\t\tthis._prepareDir();\r\n\t}\r\n\r\n\tdisplayAs = (item: any) => {\r\n\t\tif (!item || Object.keys(item).length === 0) return '';\r\n\t\treturn this.evaluationDisplayPipe.transform(\r\n\t\t\titem,\r\n\t\t\tthis.customOptions?.displayField\r\n\t\t);\r\n\t};\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tthis.filterControl.setValue(this.value);\r\n\t\tthis._disableOrEnableCtrl();\r\n\t\tif (this.customOptions) {\r\n\t\t\tthis._updateFilteredList();\r\n\t\t}\r\n\t\tthis.initLabelHint();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._runHookIfActive(HooksEnum.OnInit, {\r\n\t\t\toptionsList: this.optionsList,\r\n\t\t\tselectedItem: this.value,\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tif (this.customOptions?.selectedValue) {\r\n\t\t\tthis.value = Utils.interpolate(this.customOptions.selectedValue, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tselectedItem: this.filterControl.value,\r\n\t\t\t\ttranslate: this.translateService,\r\n\t\t\t});\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t} else {\r\n\t\t\tthis.resetValue();\r\n\t\t}\r\n\t\tthis._runHookIfActive(HooksEnum.OnValueChange, {\r\n\t\t\toptionsList: this.optionsList,\r\n\t\t\tselectedItem: this.value,\r\n\t\t\titem: this.filterControl.value,\r\n\t\t});\r\n\t\tthis.initLabelHint();\r\n\t}\r\n\r\n\topenAutocomplete(): void {\r\n\t\tthis.autocompleteTrigger.openPanel();\r\n\t}\r\n\r\n\tprivate _disableOrEnableCtrl() {\r\n\t\tif (this.disabled || this.viewOnly) {\r\n\t\t\tthis.filterControl.disable();\r\n\t\t} else {\r\n\t\t\tthis.filterControl.enable();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _updateFilteredList() {\r\n\t\tlet evaluatedUrl = '';\r\n\t\tif (this.customOptions.url)\r\n\t\t\tevaluatedUrl = Utils.interpolate(this.customOptions.url, {\r\n\t\t\t\tconfig: this.formioComponent.root.form.config,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\ttranslate: this.translateService.instant,\r\n\t\t\t});\r\n\r\n\t\tthis.filteredOptions = this.filterControl.valueChanges.pipe(\r\n\t\t\tdebounceTime(300),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tmap((filterValue) => {\r\n\t\t\t\tif (this.customOptions?.enableUserEntry) this.notifyValue();\r\n\t\t\t\tconst query = this.customOptions?.query\r\n\t\t\t\t\t? Utils.evaluate(this.customOptions.query, {\r\n\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\tfilterValue,\r\n\t\t\t\t\t\t\ttranslate: this.translateService,\r\n\t\t\t\t\t })\r\n\t\t\t\t\t: '';\r\n\t\t\t\treturn query;\r\n\t\t\t}),\r\n\t\t\tswitchMap((query) =>\r\n\t\t\t\tiif(\r\n\t\t\t\t\t() => !!evaluatedUrl,\r\n\t\t\t\t\tthis.resourceNameService.load(evaluatedUrl, query),\r\n\t\t\t\t\tthis.resourceNameService.loadCustomByKeyExists(\r\n\t\t\t\t\t\tthis.customOptions.resource,\r\n\t\t\t\t\t\tquery\r\n\t\t\t\t\t)\r\n\t\t\t\t).pipe(\r\n\t\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t),\r\n\t\t\ttap((data) => {\r\n\t\t\t\tthis.optionsList = data;\r\n\t\t\t\tthis._runHookIfActive(HooksEnum.AfterLoadOptions, {\r\n\t\t\t\t\toptionsList: this.optionsList,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate resetValue() {\r\n\t\tthis.value = null;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tprivate _runHookIfActive(_hook: string, params: Record = {}) {\r\n\t\tconst hook = this._getHook(_hook);\r\n\t\treturn hook?.active ? this._evaluate(hook?.execute, params) : null;\r\n\t}\r\n\r\n\tprivate _getHook(hook: string) {\r\n\t\tconst _hook = this.customOptions?.hooks?.[hook];\r\n\t\treturn _hook ?? { active: false, execute: '' };\r\n\t}\r\n\r\n\tprivate _evaluate(query: string, params: Record = {}) {\r\n\t\treturn Utils.evaluate(query, {\r\n\t\t\tutils: Utils,\r\n\t\t\tinstance: this.formioComponent,\r\n\t\t\tsubmission: this.formioComponent?.root?.data,\r\n\t\t\ttranslate: this.translateService,\r\n\t\t\tdata: this.data,\r\n\t\t\tvalue: this.value,\r\n\t\t\tcomponent: this.formioComponent.component,\r\n\t\t\t...params,\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _prepareDir() {\r\n\t\tthis.sub = (\r\n\t\t\tthis.translateService.onLangChange as Observable\r\n\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tstartWith({\r\n\t\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t\t}),\r\n\t\t\t\tmap((data) => (data.lang === 'ar' ? 'rtl' : 'ltr'))\r\n\t\t\t)\r\n\t\t\t.subscribe((dir) => {\r\n\t\t\t\tthis.dir = dir;\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate initLabelHint() {\r\n\t\tif (this.customOptions?.labelHint) {\r\n\t\t\tthis.labelHint = Utils.evaluate(this.customOptions?.labelHint, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Category } from '../../../../models/category.model';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-total-statistic-preview',\r\n templateUrl: './total-statistic-preview.component.html',\r\n styleUrls: ['./total-statistic-preview.component.scss']\r\n})\r\nexport class TotalStatisticPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n
    \r\n\r\n
    \r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'rating-wrapper',\r\n\ttemplateUrl: './rating-wrapper.component.html',\r\n\t// styleUrls: ['./rating-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class RatingWrapperComponent\r\n\timplements FormioCustomComponent, AfterViewInit, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\tratingScale: number;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tnotifyValue(rate) {\r\n\t\tthis.value = rate;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil, iif } from 'rxjs';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { Summary } from '../../models/summary.model';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { AddEditResponseComponent } from './add-edit-response/add-edit-response.dialog';\r\nimport { AddEditSummaryComponent } from './add-edit-summary/add-edit-summary.dialog';\r\nimport { ItimadCriterionsService } from '../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-decision-summary',\r\n templateUrl: './decision-summary.component.html',\r\n styleUrls: ['./decision-summary.component.scss', '../data-table.scss']\r\n})\r\nexport class DecisionSummaryComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n @Input() title: string;\r\n @Input() type: string;\r\n @Input() filter: string;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n expandedFilter: boolean = false;\r\n finalReport = ExecuteVisitType.FinalReport;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n finalReportWithInstitutionEntries = ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n\r\n dataSource: Summary[] = [];\r\n displayedColumns = [\r\n 'summary',\r\n 'finalReportResponse',\r\n 'actions'\r\n ];\r\n\r\n hasResponse = false;\r\n enabledSummary = false;\r\n\r\n get isRecommendations() { return this.type == 'recommendations-summaries' };\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n\r\n this.decisionInput$.pipe(\r\n takeUntil(this.destroy$),\r\n ).subscribe(input => {\r\n\r\n this.hasResponse = this.isRecommendations &&\r\n (input.executeVisitType == this.institutionEntries ||\r\n input.executeVisitType == this.finalReportWithInstitutionEntries);\r\n\r\n this.enabledSummary = !input.viewOnly &&\r\n (\r\n input.executeVisitType == this.finalReport ||\r\n (this.isRecommendations && input.executeVisitType == this.finalReportWithInstitutionEntries)\r\n );\r\n });\r\n }\r\n\r\n showSummary(decisionInput: DecisionInput, summary: Summary = null, isViewOnly: boolean = false) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditSummaryComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n isViewOnly,\r\n summary: summary?.summaryText || '',\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n if (summary) summary.summaryText = result;\r\n else {\r\n const model: Summary = {\r\n visitId: decisionInput.visitMetaData.visitId,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n reviewerId: decisionInput.visitMetaData.reviewerId,\r\n summaryText: result,\r\n deleted: false\r\n };\r\n this.dataSource = [...this.dataSource, model];\r\n }\r\n });\r\n }\r\n undo(index: number) {\r\n this.dataSource[index].deleted = false;\r\n this.dataSource = [...this.dataSource];\r\n }\r\n deleteSummary(index: number) {\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: {\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n // this.dataSource.splice(index, 1);\r\n this.dataSource[index].deleted = true;\r\n this.dataSource = [...this.dataSource];\r\n });\r\n }\r\n showResponse(decisionInput: DecisionInput, summary: Summary) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditResponseComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n summary: summary?.summaryText || '',\r\n summaryId: summary.id,\r\n id: summary.finalReportResponseId,\r\n visitMetaData: decisionInput.visitMetaData,\r\n viewOnly: decisionInput.viewOnly || decisionInput.executeVisitType != this.institutionEntries,\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n summary.finalReportResponseId = result;\r\n });\r\n }\r\n\r\n submit(decisionInput: DecisionInput) {\r\n this.isLoadingResults = true;\r\n this.dataSource.forEach((item, index) => { item.noteOrder = ++index; });\r\n this.itimadCriterionsService.saveSummaries(this.type, this.dataSource)\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(data => {\r\n this.getData();\r\n // this.dataSource = [...data];\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getSummaries(\r\n this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey,\r\n this.type,\r\n this.isRecommendations\r\n ).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n ).subscribe(data => {\r\n this.dataSource = data;\r\n this.updateResultData();\r\n });\r\n }\r\n\r\n private registerCopyEvaluation() {\r\n this.criterionsService.sendSummary$\r\n .pipe(\r\n filter(data => data?.key == this.filter),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(data => {\r\n const visitMetaData = this.criterionsService.decisionInputs$.getValue().visitMetaData;\r\n const model: Summary = {\r\n visitId: visitMetaData.visitId,\r\n visitKey: visitMetaData.visitKey,\r\n reviewerId: visitMetaData.reviewerId,\r\n summaryText: data.value,\r\n deleted: false\r\n };\r\n this.dataSource = [...this.dataSource, model];\r\n });\r\n }\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value[this.filter] = this.dataSource;\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { KeycloakService, KeycloakAuthGuard } from 'keycloak-angular';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class RoleGuard extends KeycloakAuthGuard {\r\n constructor(protected router: Router,\r\n protected keycloakAngular: KeycloakService) {\r\n super(router, keycloakAngular);\r\n }\r\n\r\n isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (this.authenticated) {\r\n const requiredRoles = route.data.roles;\r\n if (!requiredRoles || requiredRoles.length === 0) {\r\n return resolve(true);\r\n } else {\r\n if (!this.roles || this.roles.length === 0) {\r\n resolve(false);\r\n }\r\n let granted: boolean = false;\r\n for (const requiredRole of requiredRoles) {\r\n if (this.roles.indexOf(requiredRole) > -1 || this.roles.some(q => q.includes(environment.roles.admin))) {\r\n granted = true;\r\n break;\r\n }\r\n }\r\n if (granted) {\r\n resolve(granted);\r\n\r\n } else {\r\n if (['/403'].indexOf(this.router.url) === -1) localStorage.setItem('_previousUrl', this.router.url);\r\n this.router.navigate(['403']);\r\n resolve(false);\r\n }\r\n }\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n }\r\n}","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n\tChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { catchError, finalize, map, noop, of, Subscription, tap } from 'rxjs';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { FormioLoader, STEPPERTABSTATUS, ResourceNameService, UserService, CUSTOMFORMACTIONS, SuccessToast, ErrorToast } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'lib-stepper-wrapper',\r\n\ttemplateUrl: './stepper-wrapper.component.html',\r\n\t// styleUrls: ['./stepper-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class StepperWrapperComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tstepperMenu: {\r\n\t\tformSubmissionId?;\r\n\t\tformKey?;\r\n\t\tsubmit?;\r\n\t\tsubmitted?;\r\n\t\torder?;\r\n\t\tformiokey?;\r\n\t\tsummarySubmissionId?;\r\n\t\tstatus?;\r\n\t}[] = [];\r\n\tmessageInfo: { [k: string]: any } = {};\r\n\tsummaryResourceKey: string;\r\n\thistorySummaryResourceKey: string;\r\n\tresource = '';\r\n\tquery = '';\r\n\tformSubmission: any;\r\n\tsummaryFormSubmission: any;\r\n\tactiveStep: number = 0;\r\n\tcurrentForm: any;\r\n\tformReady = false;\r\n\tdecisionsFormSubmission: any = {};\r\n\tdecisionsFormReady = false;\r\n\tisRequirmentsFormReadOnly = false;\r\n\tisFOView: boolean;\r\n\tisBOView: boolean;\r\n\tparentRoute: string;\r\n\tparentTaskId: string;\r\n\tisNestedStepper: boolean;\r\n\tisLoggedIn = false;\r\n\r\n\tpublic get TABSTATUS(): typeof STEPPERTABSTATUS {\r\n\t\treturn STEPPERTABSTATUS;\r\n\t}\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tpublic formioLoader: FormioLoader,\r\n\t\tprivate userService: UserService,\r\n\t\tprivate keycloak: KeycloakService,\r\n\t\tprivate route: ActivatedRoute,\r\n\t\tprivate location: Location,\r\n\t\tprivate cdRef: ChangeDetectorRef\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions) {\r\n\t\t\tthis.messageInfo = this.customOptions.messageInfo;\r\n\r\n\t\t\tthis.summaryResourceKey = this.customOptions.summaryResourceKey;\r\n\t\t\tthis.historySummaryResourceKey = this.customOptions.historySummaryResourceKey;\r\n\t\t\tthis.isNestedStepper = this.customOptions.isNestedStepper;\r\n\t\t\tthis.isFOView = this.data?.isFOView;\r\n\t\t\tthis.isBOView = this.data?.isBOView;\r\n\r\n\t\t\tif (this.customOptions.stepperData) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tchanges &&\r\n\t\t\t\t\tchanges.data &&\r\n\t\t\t\t\tchanges.data.currentValue &&\r\n\t\t\t\t\tchanges.data.currentValue.stepperWrapper &&\r\n\t\t\t\t\tchanges.data.currentValue.stepperWrapper.stepper &&\r\n\t\t\t\t\tchanges.data.currentValue.stepperWrapper.stepper.length &&\r\n\t\t\t\t\t!this.isNestedStepper\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.stepperMenu = Utils.evaluate(this.customOptions.stepperData, {\r\n\t\t\t\t\t\tdata: this.data.stepperWrapper.stepper,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.loadSubStepper(() => {\r\n\t\t\t\t\t\tthis.activeStep = this.data.activeStepIndex || 0;\r\n\t\t\t\t\t\tthis.currentForm = this.stepperMenu[this.activeStep];\r\n\r\n\t\t\t\t\t\tthis.data.activeTab = { data: { ...this.currentForm } };\r\n\t\t\t\t\t\tthis.data.activeStepIndex = this.activeStep;\r\n\r\n\t\t\t\t\t\tthis.getSubmissions();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else if (this.customOptions.resource || this.customOptions.query) {\r\n\t\t\t\tthis.resource = this.formioComponent.interpolate(this.customOptions.resource, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t});\r\n\t\t\t\tthis.query = this.formioComponent.interpolate(this.customOptions.query, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t});\r\n\t\t\t\tthis.getStepperData();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadSubStepper(callback) {\r\n\t\tif (this.customOptions.subStepper) {\r\n\t\t\tif (this.data.subStepper) callback();\r\n\r\n\t\t\tthis.resource = this.formioComponent.interpolate(this.customOptions.subStepper.resource, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t});\r\n\t\t\tthis.query = this.formioComponent.interpolate(this.customOptions.subStepper.query, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t});\r\n\t\t\tthis.loadStepperData(() => callback());\r\n\t\t} else callback();\r\n\t}\r\n\r\n\tloadStepperData(callback) {\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.resource, this.query)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((res: any[]) =>\r\n\t\t\t\t\tres.map((elem) => {\r\n\t\t\t\t\t\treturn { summarySubmissionId: elem._id, ...elem.data };\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tthis.data.subStepper = data;\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthis.updateRootIfExist();\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthrow error;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate updateRootIfExist() {\r\n\t\tthis.formioComponent?.root.components\r\n\t\t\t?.filter((q) => q.type == 'form')\r\n\t\t\t?.forEach((form) => {\r\n\t\t\t\tform.subForm.components.forEach((c) => {\r\n\t\t\t\t\tc.calculateValue();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tconst queryParams: string[] = this.route.snapshot.queryParamMap.keys;\r\n\t\tif (queryParams.length) {\r\n\t\t\tif (this.route.snapshot.queryParamMap.has('parentRoute')) {\r\n\t\t\t\tthis.parentRoute = this.route.snapshot.queryParamMap.get('parentRoute');\r\n\r\n\t\t\t\tthis.parentTaskId = this.route.snapshot.queryParamMap.get('taskId');\r\n\r\n\t\t\t\tthis.decisionsFormSubmission.parentRoute =\r\n\t\t\t\t\tthis.route.snapshot.queryParamMap.get('parentRoute');\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tthis.isLoggedIn = await this.keycloak.isLoggedIn();\r\n\t\t\t\t\tconst userData = await this.userService.getUserData(\r\n\t\t\t\t\t\tthis.isLoggedIn ? await this.keycloak.getToken() : null\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.decisionsFormSubmission.userName = userData?.user_preferred_username;\r\n\t\t\t\t\tthis.decisionsFormSubmission.fullName = userData?.user_name;\r\n\t\t\t\t\tthis.decisionsFormSubmission.userData = userData;\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.location.back();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.location.back();\r\n\t\t}\r\n\t}\r\n\r\n\tgetStepperData() {\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.resource, this.query)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((res: any[]) =>\r\n\t\t\t\t\tres.map((elem) => {\r\n\t\t\t\t\t\treturn { summarySubmissionId: elem._id, ...elem.data };\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tthis.stepperMenu = [...data];\r\n\t\t\t\t\tthis.currentForm = this.stepperMenu[this.activeStep];\r\n\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthrow error;\r\n\t\t\t\t},\r\n\t\t\t\t() => {\r\n\t\t\t\t\tthis.getSubmissions();\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetSubmissions() {\r\n\t\tthis.resourceNameService\r\n\t\t\t.loadCustomByKeyId(this.currentForm.formKey, this.currentForm.formSubmissionId)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res: any) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tthis.formSubmission = {\r\n\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\t...res.data,\r\n\t\t\t\t\t\t\t\t...this.data,\r\n\t\t\t\t\t\t\t\tparentRoute: this.parentRoute,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// this.isNestedStepper ? (this.formReady = true) : (this.decisionsFormReady = true);\r\n\t\t\t\t\tthis.formReady = true;\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tthis.decisionsFormReady = true;\r\n\t\t\t\t\t});\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthis.decisionsFormReady = false;\r\n\t\t\t\t\treturn of(0);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tthis.value = {\r\n\t\t\tnestedStepperData: [...this.stepperMenu],\r\n\t\t};\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tformLoad(evnet) {\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (!this.isNestedStepper) {\r\n\t\t\t\tthis.form?.formio?.off('stepSubmited');\r\n\t\t\t\tthis.form?.formio?.on('stepSubmited', (formKey) => {\r\n\t\t\t\t\tthis.data.subStepper.find((q) => q.formKey == formKey).submitted = true;\r\n\r\n\t\t\t\t\tthis.customOptions.notifyCalculatedFileds?.forEach((key) => {\r\n\t\t\t\t\t\tconst components = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\t\tkey: key,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\tc.calculateValue();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\t\tconst components = Utils.searchComponents(subForm.components, { key: key });\r\n\t\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\t\tc.calculateValue();\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.form?.formio?.off('notifyParentStepper');\r\n\t\t\t\tthis.form?.formio?.on('notifyParentStepper', () => {\r\n\t\t\t\t\tthis.changeParentTabSubmittedFlag();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tonLoadDecisions(event) {\r\n\t\tif (this.formSubmission.data) {\r\n\t\t\tthis.data.decisionsSubmission = event.data;\r\n\t\t\tthis.formSubmission.data.decisionsSubmission = event.data;\r\n\t\t\tif (this.form?.submission?.data)\r\n\t\t\t\tthis.form.submission.data.decisionsSubmission = event.data;\r\n\t\t\tthis.form?.formio?.setSubmission(this.formSubmission);\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t}\r\n\t}\r\n\r\n\tonSelectStep(index: number, form: any, isSideItem = false) {\r\n\t\tif (this.activeStep === index && isSideItem) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.data.activeTab = { data: { ...form } };\r\n\t\tthis.data.activeStepIndex = index;\r\n\t\tthis.formioComponent.currentForm.triggerChange();\r\n\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: 'smooth',\r\n\t\t});\r\n\r\n\t\tthis.currentForm = null;\r\n\t\tthis.formReady = false;\r\n\t\tthis.decisionsFormReady = false;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.currentForm = form;\r\n\t\t\tif (this.isNestedStepper) {\r\n\t\t\t\tthis.getSubmissions();\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.activeStep = index;\r\n\t}\r\n\r\n\tcustomSave(event) {\r\n\t\tconst eventData = _cloneDeep(event);\r\n\r\n\t\tconst formKeys = Utils.searchComponents(this.form.formio.components, {\r\n\t\t\t'component.input': true,\r\n\t\t}).map((q) => q.component.key);\r\n\r\n\t\tfor (let prop in eventData.data) {\r\n\t\t\tif (!formKeys.includes(prop)) {\r\n\t\t\t\tdelete eventData.data[prop];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//this block for buttons scope\r\n\t\tif (eventData?.component?.properties?.effectedTab) {\r\n\t\t\teventData.component.properties.effectedTab.split(',').forEach((index) => {\r\n\t\t\t\tthis.stepperMenu[index].submitted = false;\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (eventData?.component?.properties?.callsWhenEffectedTab) {\r\n\t\t\tthis.form.makeCalls(this.form.form, null, JSON.parse(eventData.component.properties.callsWhenEffectedTab), [], []);\r\n\t\t}\r\n\r\n\t\t//this block for form scope\r\n\t\tif (this.form?.form?.properties?.effectedTabKeys) {\r\n\t\t\tconst formsKeys = JSON.parse(this.form.form.properties.effectedTabKeys);\r\n\t\t\tformsKeys.forEach((item) => {\r\n\t\t\t\tif (Utils.evaluate(item.conditional, { data: eventData.data }))\r\n\t\t\t\t\tthis.stepperMenu.find(q => q.formKey == item.key).submitted = false;\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.form?.form?.properties?.callsWhenEffectedTab) {\r\n\t\t\tthis.form.makeCalls(this.form.form, null, JSON.parse(this.form.form.properties.callsWhenEffectedTab), [], []);\r\n\t\t}\r\n\r\n\t\tswitch (eventData.type) {\r\n\t\t\tcase CUSTOMFORMACTIONS.SAVE:\r\n\t\t\t\tthis.checkFormValidation(eventData.data);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase CUSTOMFORMACTIONS.SAVEDRAFT:\r\n\t\t\t\tthis.onSaveData(eventData.data, true);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tcheckFormValidation(data: any) {\r\n\t\tif (!this.form.formio.checkValidity(this.form.formio.data, true)) {\r\n\t\t\tthis.form.onError(this.form.formio.errors);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.onSaveData(data);\r\n\t}\r\n\r\n\tonSaveData(formData: any, saveDraft = false) {\r\n\t\tthis.formioLoader.loading = true;\r\n\r\n\t\tconst body: any = {\r\n\t\t\tdata: {\r\n\t\t\t\t...formData,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tsaveDraft ? (body.state = 'draft') : noop();\r\n\r\n\t\tlet isDataSaved = false;\r\n\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.editSubmission(this.currentForm.formKey, this.currentForm.formSubmissionId, {\r\n\t\t\t\t...body,\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tisDataSaved = true;\r\n\t\t\t\t\t\tthis.toastrService.show(this.translateService.instant('Saved Message'), '', {\r\n\t\t\t\t\t\t\ttoastClass: 'notification-toast',\r\n\t\t\t\t\t\t\tcloseButton: true,\r\n\t\t\t\t\t\t\tenableHtml: true,\r\n\t\t\t\t\t\t\ttoastComponent: SuccessToast,\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tif (!saveDraft && this.isNestedStepper) {\r\n\t\t\t\t\t\t\tthis.formioComponent.root.emit('stepSubmited', this.currentForm.formKey);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tif (isDataSaved && !saveDraft) {\r\n\t\t\t\t\t\tthis.changeTabSubmittedFlag(saveDraft);\r\n\t\t\t\t\t} else if (isDataSaved && saveDraft) {\r\n\t\t\t\t\t\tif (this.currentForm.submitted && !this.form.formio.isValid()) {\r\n\t\t\t\t\t\t\tthis.changeTabSubmittedFlag(saveDraft);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\treturn of(0);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tchangeTabSubmittedFlag(saveDraft: boolean) {\r\n\t\tthis.resourceNameService\r\n\t\t\t.patchSubmission(this.summaryResourceKey, this.currentForm.summarySubmissionId, [\r\n\t\t\t\t{\r\n\t\t\t\t\top: 'add',\r\n\t\t\t\t\tpath: '/data/submitted',\r\n\t\t\t\t\tvalue: !saveDraft ? true : false,\r\n\t\t\t\t},\r\n\t\t\t])\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tthis.changeTabColor(saveDraft);\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tchangeParentTabSubmittedFlag() {\r\n\t\tthis.resourceNameService\r\n\t\t\t.patchSubmission(this.summaryResourceKey, this.currentForm.summarySubmissionId, [\r\n\t\t\t\t{\r\n\t\t\t\t\top: 'add',\r\n\t\t\t\t\tpath: '/data/submitted',\r\n\t\t\t\t\tvalue: false,\r\n\t\t\t\t},\r\n\t\t\t])\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tthis.data.stepperWrapper.stepper.map((item: any) => {\r\n\t\t\t\t\t\t\tif (item.formKey === this.currentForm.formKey) {\r\n\t\t\t\t\t\t\t\titem.submitted = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tafterDecisionSubmitted(event) {\r\n\t\tif (event && event.submission && event.submission.data) {\r\n\t\t\tif (this.customOptions.saveSummaryToHisotryResource) {\r\n\t\t\t\tthis.saveDecisionToHistoryResource({\r\n\t\t\t\t\t...event.submission.data,\r\n\t\t\t\t\tsubmissionId: event.submission._id,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\tthis.changeTabColor(false, true, event.submission.data);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tasync saveDecisionToHistoryResource(data) {\r\n\t\tthis.formioLoader.loading = true;\r\n\r\n\t\tif (this.parentTaskId != data.taskId) {\r\n\t\t\tconst body = {\r\n\t\t\t\t...data,\r\n\t\t\t\ttaskId: this.parentTaskId,\r\n\t\t\t};\r\n\r\n\t\t\t// To Create New Record in History Summary Resource\r\n\t\t\tconst historyItem: any = await this.addOrEditSummary(\r\n\t\t\t\tnull,\r\n\t\t\t\tbody,\r\n\t\t\t\tthis.historySummaryResourceKey\r\n\t\t\t);\r\n\r\n\t\t\t// To Update Record in Parent Summmary Resource\r\n\t\t\tawait this.addOrEditSummary(\r\n\t\t\t\tdata.submissionId,\r\n\t\t\t\t{ ...body, historySummaryId: historyItem._id },\r\n\t\t\t\tthis.summaryResourceKey\r\n\t\t\t);\r\n\r\n\t\t\tthis.formioLoader.loading = false;\r\n\t\t\tthis.changeTabColor(false, true, data);\r\n\t\t} else {\r\n\t\t\t// In case of parent tasId is equal to current summary taskId\r\n\r\n\t\t\tlet historySummaryItem: any;\r\n\t\t\tconst query = `_id=${data.historySummaryId}`;\r\n\t\t\tthis.resourceNameService\r\n\t\t\t\t.loadCustomByFilterdKey(this.historySummaryResourceKey, query)\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\t(res: any[]) => {\r\n\t\t\t\t\t\tif (res && res.length) {\r\n\t\t\t\t\t\t\thistorySummaryItem = res[0];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\t\tthis.changeTabColor(false, true, data);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tasync () => {\r\n\t\t\t\t\t\t// To Create New Record in History Summary Resource\r\n\t\t\t\t\t\tawait this.addOrEditSummary(\r\n\t\t\t\t\t\t\thistorySummaryItem._id,\r\n\t\t\t\t\t\t\tdata,\r\n\t\t\t\t\t\t\tthis.historySummaryResourceKey\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\t\tthis.changeTabColor(false, true, data);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\taddOrEditSummary(submissionId: string, obj, resource: string): Promise {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\ttry {\r\n\t\t\t\tlet result: any;\r\n\t\t\t\tif (submissionId) {\r\n\t\t\t\t\tresult = await this.resourceNameService\r\n\t\t\t\t\t\t.editSubmission(resource, submissionId, { data: obj })\r\n\t\t\t\t\t\t.toPromise();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult = await this.resourceNameService\r\n\t\t\t\t\t\t.addSubmission(resource, { data: obj })\r\n\t\t\t\t\t\t.toPromise();\r\n\t\t\t\t}\r\n\t\t\t\tresolve(result);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tthis.toastrService.show(\r\n\t\t\t\t\tthis.translateService.instant('History not saved!'),\r\n\t\t\t\t\tthis.translateService.instant('ErrorOccurred'),\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttoastClass: 'notification-toast',\r\n\t\t\t\t\t\tcloseButton: true,\r\n\t\t\t\t\t\tenableHtml: true,\r\n\t\t\t\t\t\ttoastComponent: ErrorToast,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\treject(e);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tchangeTabColor(saveDraft, isDecisionForm = false, decisionSubmission: any = {}) {\r\n\t\tif (!this.isNestedStepper) {\r\n\t\t\tthis.data.stepperWrapper.stepper.map((item: any) => {\r\n\t\t\t\tif (item.formKey === this.currentForm.formKey) {\r\n\t\t\t\t\tisDecisionForm\r\n\t\t\t\t\t\t? (item.status = decisionSubmission.status)\r\n\t\t\t\t\t\t: (item.submitted = !saveDraft ? true : false);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.stepperMenu.map((item: any) => {\r\n\t\t\t\tif (item.formKey === this.currentForm.formKey) {\r\n\t\t\t\t\titem.submitted = !saveDraft ? true : false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tconst isAllStepsSubmitted = this.stepperMenu.every((step: any) => step.submitted);\r\n\t\t\tif (!isAllStepsSubmitted && saveDraft) {\r\n\t\t\t\tthis.formioComponent.root.emit('notifyParentStepper', null);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.cdRef.detectChanges();\r\n\t\tthis.formioComponent.currentForm.triggerChange();\r\n\r\n\t\tif (!saveDraft) {\r\n\t\t\tthis.moveToNextStep();\r\n\t\t}\r\n\t}\r\n\r\n\tmoveToNextStep() {\r\n\t\tconst index =\r\n\t\t\tthis.activeStep < this.stepperMenu.length - 1\r\n\t\t\t\t? this.activeStep + 1\r\n\t\t\t\t: this.stepperMenu.length - 1;\r\n\r\n\t\tconst form = this.stepperMenu[index];\r\n\r\n\t\tthis.onSelectStep(index, form, index === this.stepperMenu.length - 1 ? true : false);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\t\r\n \r\n \r\n \r\n
    \r\n {{ \"forms.common.generalReport\" | translate }}\r\n \r\n {{ \"forms.common.evaluation\" | translate }}\r\n
    \r\n {{ criterion | propertyLocalized : [\"nameAr\", \"nameEn\"] | async }}\r\n {{ criterion.totalEvaluation || 0 }}
    \r\n {{ \"forms.common.total\" | translate }}\r\n {{ evaluations }}
    \r\n
    \r\n","import { SharedModule } from './shared/shared.module';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { CoreModule } from './core/core.module';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateLoaderHelper } from './core/helpers/translate-loader.helper';\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\nimport { FormioDemoComponent } from './modules/formio-demo/formio-demo.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DynamicQrComponent } from './modules/dynamic-qr/dynamic-qr.component';\r\nimport { PagesComponent } from './modules/pages/pages.component';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\n@NgModule({\r\n\tdeclarations: [AppComponent,\r\n\t\tFormioDemoComponent,\r\n\t\tDynamicQrComponent,\r\n\t\tPagesComponent,\r\n\t],\r\n\timports: [\r\n\t\tCoreModule,\r\n\t\tSharedModule,\r\n\t\tAppRoutingModule,\r\n\t\tKeycloakAngularModule,\r\n\t\tNgbModule,\r\n\t\tTranslateModule.forRoot({\r\n\t\t\tloader: {\r\n\t\t\t\tprovide: TranslateLoader,\r\n\t\t\t\tuseClass: TranslateLoaderHelper,\r\n\t\t\t\tdeps: [HttpClient],\r\n\t\t\t},\r\n\t\t}),\r\n\t],\r\n\tproviders: [\r\n\t\t{ provide: APP_BASE_HREF, useValue: '' }\r\n\t],\r\n\tbootstrap: [AppComponent],\r\n\tentryComponents: [],\r\n})\r\nexport class AppModule { }\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ChartsWrapperComponent } from './charts-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'charts-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'charts-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Charts', // Title of the component\r\n};\r\n\r\nexport function registerChartsWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ChartsWrapperComponent, injector);\r\n}\r\n","\r\n \r\n \r\n \r\n","\r\n\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\n\r\nimport { Chart, registerables } from 'chart.js';\r\nChart.register(...registerables);\r\ndeclare var echarts: any;\r\n\r\n@Component({\r\n\tselector: 'dynamic-chart-wrapper',\r\n\ttemplateUrl: './dynamic-chart-wrapper.component.html',\r\n\t// styleUrls: ['./dynamic-chart-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class DynamicChartWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, AfterViewInit, OnDestroy {\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\tisReady = false;\r\n\tchart: any;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService,\r\n\t\tprivate loader: FormioLoader) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.chart?.destroy();\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (this.customOptions) {\r\n\t\t\tthis.loader.loading = true;\r\n\t\t\tif (this.customOptions.eventName) this.makeCalls();\r\n\t\t\telse {\r\n\t\t\t\tthis.loader.loading = false;\r\n\t\t\t\tsetTimeout(() => this.initChart(), 250);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate makeCalls() {\r\n\t\tif (this.formioComponent?.root?.form?.properties[this.customOptions.eventName]) {\r\n\t\t\tthis.formioComponent.root.events.emit('formio.makeCalls',\r\n\t\t\t\tthis.formioComponent.root.form,\r\n\t\t\t\tnull,\r\n\t\t\t\tJSON.parse(this.formioComponent.root.form.properties[this.customOptions.eventName]),\r\n\t\t\t\t[],\r\n\t\t\t\t[],\r\n\t\t\t\ttrue,\r\n\t\t\t\t() => this.initChart());\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initChart() {\r\n\t\tthis.loader.loading = false;\r\n\t\tif (this.customOptions.echartsOption) {\r\n\t\t\tthis.initEChart();\r\n\t\t} else {\r\n\t\t\tconst labels = this.customOptions.labels ?\r\n\t\t\t\tUtils.evaluate(this.customOptions.labels, { translate: this.translateService.instant, data: this.data }) :\r\n\t\t\t\t[];\r\n\t\t\tconst ctx = (document.getElementById(`chartJs-${this.formioComponent.component.key}`) as any).getContext(\"2d\");\r\n\t\t\tChart.getChart(`chartJs-${this.formioComponent.component.key}`)?.destroy();\r\n\t\t\tthis.chart = new Chart(ctx, {\r\n\t\t\t\ttype: this.customOptions.type,\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tlabels: this.customOptions.translateLabels ?\r\n\t\t\t\t\t\tlabels.map(q => this.translateService.instant(`forms.common.${q}`)) :\r\n\t\t\t\t\t\tlabels,\r\n\t\t\t\t\tdatasets: Utils.evaluate(this.customOptions.datasets, { translate: this.translateService, data: this.data })\r\n\t\t\t\t},\r\n\t\t\t\toptions: this.customOptions.options\r\n\t\t\t});\r\n\t\t\tsetTimeout(() => this.isReady = true);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initEChart() {\r\n\t\tconst chart = echarts.init(document.getElementById(`eChart-${this.formioComponent.component.key}`));\r\n\t\tconst option = Utils.evaluate(this.customOptions.echartsOption, { translate: this.translateService, data: this.data });\r\n\t\tchart.setOption(option);\r\n\t\tchart.resize();\r\n\t\twindow.addEventListener('resize', () => { chart.resize(); });\r\n\t}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MemberModel } from \"../models/member.model\";\r\nimport { CriterionInformation, MemberCriterionInformation } from \"../models/criterion-information.mode\";\r\nimport { Summary } from \"../models/summary.model\";\r\nimport { PagingResponse } from \"../models/paging-response.model\";\r\nimport { ExecutivePlan } from \"../models/executive-plan.model\";\r\nimport { FinalReportMistakes } from \"../models/final-report-mistakes.model\";\r\nimport { FinalReportResponse } from \"../models/final-report-response.model\";\r\nimport { FormioAppConfig } from \"dp-formio\";\r\nimport { PAGE_SIZE } from \"./criterions.service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ItimadCriterionsService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n\r\n constructor(private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n get criterionPath() {\r\n return this.formioAppConfig.endpoints.criterion;\r\n }\r\n get finalReportMistakes() {\r\n const path = this.formioAppConfig.endpoints.finalReportMistakes;\r\n return path;\r\n }\r\n get finalReportResponses() {\r\n const path = this.formioAppConfig.endpoints.finalReportResponses;\r\n return path;\r\n }\r\n private criterionInformationsEndpoint(isFinal: boolean = false) {\r\n const path = isFinal ?\r\n this.formioAppConfig.endpoints.finalCriterionInformations :\r\n this.formioAppConfig.endpoints.criterionInformations;\r\n return path;\r\n }\r\n\r\n getAllCriterionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getMyCriterionByVisitKey(visitKey: string, reviewerId): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members/reviewer/${reviewerId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n //summary filter\r\n getStickQuestionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterion}STICK/visit/${visitKey}`;\r\n return this.http.get(url);\r\n }\r\n\r\n //summary filter\r\n getMembersByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.visitMembers}visit/${visitKey}`;\r\n return this.http\r\n .get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n //summary filter\r\n getCriterionInformationForAll(params: any): Observable> {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterionInformations}visit/summaries`;\r\n return this.http.get(url, {\r\n observe: 'response',\r\n params: params\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: params?.size ?? PAGE_SIZE,\r\n page: params?.page ?? 0,\r\n };\r\n })\r\n );\r\n }\r\n\r\n getCriterionInformationForMainCriterion(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n let url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}${criterionKey}/visit/${visitKey}`;\r\n if (!isFinal) url += `/member/${memberId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n getCriterionInformation(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n const params: any = {\r\n 'visitKey.equals': visitKey,\r\n 'criterionKey.equals': criterionKey\r\n };\r\n if (!isFinal) params['memberId.equals'] = memberId;\r\n\r\n return this.http.get(url, {\r\n params: params\r\n }).pipe(map(data => data.length ? data[0] : null));\r\n }\r\n\r\n createCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getSummaries(visitKey: string, type: string, isCustom: boolean = false): Observable {\r\n // v1 for get summaryOfRecommendations with finalReportResponseId\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}${isCustom ? 'v1/' : ''}${type}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n },\r\n responseType: 'json'\r\n });\r\n }\r\n\r\n saveSummaries(type: string, payload: Summary[]): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}v1/${type}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n getExecutivePlan(visitKey: string): Observable {\r\n const path = this.formioAppConfig.endpoints.executivePlan;\r\n const pathSegments = path.split('api/');\r\n const executivePlan = pathSegments[0] + `api/` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n }\r\n });\r\n }\r\n\r\n saveExecutivePlan(payload: ExecutivePlan[]): Observable {\r\n const path = this.formioAppConfig.endpoints.customExecutivePlan;\r\n const pathSegments = path.split('api/v1/');\r\n const executivePlan = pathSegments[0] + `api/v1/` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n getFinalReportMistakes(visitKey: string, criterionKey: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'criterionKey.equals': criterionKey\r\n }\r\n }).pipe(map(data => data.length ? data[0] : null));;\r\n }\r\n\r\n createFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n deleteFinalReportMistakes(id: number): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}/${id}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n getFinalReportResponses(id: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}${id}`;\r\n return this.http.get(url);\r\n }\r\n\r\n createFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.put(url, payload);\r\n }\r\n}\r\n\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { Observable, combineLatest, map } from 'rxjs';\r\nimport { ComponentBase } from '../../base/base.component';\r\nimport { CommonQuestionModel, ResourceQuestion } from '../../models';\r\n\r\ntype QuestionType = { active: boolean; data: ResourceQuestion };\r\n\r\n@Component({\r\n selector: 'app-questions-resource-list',\r\n templateUrl: './questions-resource-list.component.html',\r\n styleUrls: ['./questions-resource-list.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QuestionsResourceListComponent extends ComponentBase {\r\n questions$: Observable;\r\n\r\n @Input() value: ResourceQuestion[];\r\n\r\n @Output() addQuestion = new EventEmitter();\r\n\r\n resourceName: string;\r\n\r\n @Input() set query(val: { resourceName: string; visitType: string }) {\r\n if (val) {\r\n this.questions$ = this._getResource(val);\r\n }\r\n }\r\n\r\n trackByFn(index: number, item: QuestionType) {\r\n return item?.data?._id;\r\n }\r\n\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n }\r\n\r\n add(question: ResourceQuestion) {\r\n this.addQuestion.emit(question);\r\n }\r\n\r\n private _getResource({ resourceName, visitType }) {\r\n return combineLatest([\r\n this.questionsService.getResourceData(resourceName, {\r\n limit: Number.MAX_SAFE_INTEGER,\r\n sort: 'data.order',\r\n 'data.type__regex':\r\n `${visitType}`.toLowerCase() === 'programmatic'\r\n ? 'institutionalProgrammatic'\r\n : 'institutionalAccreditation',\r\n }),\r\n this.questionsStore.questionsStore$,\r\n ]).pipe(this.mapResourceQuestionsAndUpdateByIsAdded());\r\n }\r\n\r\n mapResourceQuestionsAndUpdateByIsAdded() {\r\n return map(\r\n ([resourceQuestions, commonQuestions]: [\r\n ResourceQuestion[],\r\n CommonQuestionModel[]\r\n ]) => {\r\n return resourceQuestions.map((faq) => {\r\n return {\r\n data: faq,\r\n active: commonQuestions.every((itm) => itm.questionKey !== faq.key),\r\n };\r\n });\r\n }\r\n );\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { MasarCriterionsService } from '../../../services/masar-criterions.service';\r\n\r\n@Component({\r\n\tselector: 'app-add-edit-mistake',\r\n\ttemplateUrl: './add-edit-mistake.dialog.html',\r\n\tstyleUrls: ['./add-edit-mistake.dialog.scss'],\r\n})\r\nexport class AddEditMistakeComponent extends BaseComponent {\r\n\tform: FormGroup;\r\n\tcriterions$ = this.masarCriterionsService.getMainCriterionByVisitKey(this.data.visitKey);\r\n\r\n\tcriterionKey = 'criterion';\r\n\tmistakeLevels = [\r\n\t\t// { key: 'executiveSummary', label: 'forms.common.Criteria.executiveSummary' },\r\n\t\t{ key: this.criterionKey, label: 'forms.common.Criteria.Criterion' },\r\n\t];\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate datePipe: DatePipe,\r\n\t\tprivate masarCriterionsService: MasarCriterionsService\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.initForm();\r\n\t}\r\n\r\n\tsave() {\r\n\t\tconst data = this.form.value;\r\n\t\tdata.mistakeLevel = this.criterionKey;\r\n\t\tthis.dialogRef.close(data);\r\n\t}\r\n\r\n\tcancel(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tchangeMistakeLevel() {\r\n\t\t// const criterionControlKey = 'criterionKey';\r\n\t\t// if (this.form.value.mistakeLevel == this.criterionKey) {\r\n\t\t// \tthis.form.get(criterionControlKey).setValidators([Validators.required]);\r\n\t\t// } else {\r\n\t\t// \tthis.form.get(criterionControlKey).setValue(null);\r\n\t\t// \tthis.form.get(criterionControlKey).clearValidators();\r\n\t\t// }\r\n\t\t// this.form.get(criterionControlKey).updateValueAndValidity();\r\n\t}\r\n\r\n\tprivate initForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tid: [this.data.model.id || null],\r\n\t\t\tmistakeLevel: [\r\n\t\t\t\t{ value: this.data.model.mistakeLevel || this.criterionKey, disabled: true },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tcriterionKey: [\r\n\t\t\t\t{ value: this.data.model.criterionKey || '', disabled: this.data.viewOnly },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tmistake: [\r\n\t\t\t\t{ value: this.data.model.mistake || '', disabled: this.data.viewOnly },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tsuggestedSolution: [\r\n\t\t\t\t{ value: this.data.model.suggestedSolution || '', disabled: this.data.viewOnly },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t});\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { CommentsHistoryWrapperComponent } from './comments-history-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'comments-history-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'comments-history-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'View All Comments History', // Title of the component\r\n};\r\n\r\nexport function registerCommentsHistoryWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, CommentsHistoryWrapperComponent, injector);\r\n}\r\n","import { Component, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { combineLatest } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n\tselector: 'app-footer',\r\n\ttemplateUrl: './footer.component.html',\r\n\tstyleUrls: ['./footer.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FooterComponent extends BaseComponent {\r\n\tfooterContent$ = combineLatest([\r\n\t\tthis.configService.footerTemplate$,\r\n\t\tthis.translateService.onLangChange,\r\n\t]).pipe(map(([tpl]) => this._prepareTemplate(tpl as any)));\r\n\r\n\tconstructor(public injector: Injector) {\r\n\t\tsuper(injector);\r\n\t}\r\n\tprivate _prepareTemplate(tpl: string) {\r\n\t\treturn tpl.replace(/{#(.*?)#}/g, (match, p1) => this.translateService.instant(p1));\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Process } from '../models/process.model';\r\n\r\n@Pipe({\r\n name: 'displayOrderPattern',\r\n})\r\nexport class DisplayOrderPatternPipe implements PipeTransform {\r\n constructor() {\r\n }\r\n\r\n transform(value: number, process: Process): string {\r\n if (!process) return ``;\r\n if (process.displayNumberBy == 'order')\r\n return `${value}`;\r\n else {\r\n return process.questionNumberPattern.replace('{{i}}', `${value}`);\r\n }\r\n }\r\n}\r\n","import { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { LoggerService } from './../services/logger.service';\r\nimport { Platform } from '@ionic/angular';\r\nimport { KeycloakEventType, KeycloakService } from 'keycloak-angular';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\nexport function initializer(\r\n\tkeycloak: KeycloakService,\r\n\tsession: SessionService,\r\n\tplatform: Platform,\r\n\tconfigService: ConfigService,\r\n\tloggerService: LoggerService,\r\n\tswitchLangService: SwitchLangService\r\n): () => Promise {\r\n\treturn (): Promise => {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\ttry {\r\n\t\t\t\tif (configService)\r\n\t\t\t\t\tconfigService.loadConfig().then(() => {\r\n\t\t\t\t\t\tconfigService.setupEssentials();\r\n\t\t\t\t\t});\r\n\t\t\t} catch (e) {\r\n\t\t\t\tloggerService.warn(e);\r\n\t\t\t}\r\n\t\t\tplatform.ready().then(async () => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\t//const loginUrl = `${environment.keycloak.url}/realms/${environment.keycloak.realm}/protocol/openid-connect/auth?kc_locale=ar`;\r\n\t\t\t\t\t\t//window.location.href = loginUrl;\r\n\t\t\t\t\tawait keycloak.init({\r\n\t\t\t\t\t\tconfig: environment.keycloak,\r\n\t\t\t\t\t\tloadUserProfileAtStartUp: false,\r\n\t\t\t\t\t\tinitOptions: {\r\n\t\t\t\t\t\t\tonLoad: 'check-sso',\r\n\t\t\t\t\t\t\tcheckLoginIframe: false,\r\n\t\t\t\t\t\t\t //redirectUri: loginUrl\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tenableBearerInterceptor: true,\r\n\t\t\t\t\t\tbearerExcludedUrls: [\r\n\t\t\t\t\t\t\t'/assets/', // due to call ngx-translate\r\n\t\t\t\t\t\t\t'/localization/submission/',\r\n\t\t\t\t\t\t\t// environment.statisticsApi.api,\r\n\t\t\t\t\t\t\tenvironment.keycloak.url,\r\n\t\t\t\t\t\t\tenvironment.cms,\r\n\t\t\t\t\t\t\t'/api/requests/count',\r\n\t\t\t\t\t\t\t// environment.formio.api.requestForm,\r\n\t\t\t\t\t\t\t// environment.formio.api.master,\r\n\t\t\t\t\t\t\t// environment.gateway\r\n\t\t\t\t\t\t\t// environment.gateway\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (await keycloak.isLoggedIn()) {\r\n\t\t\t\t\t\tconst token = await keycloak.getToken();\r\n\t\t\t\t\t\tlocalStorage.setItem('_token', token);\r\n\t\t\t\t\t\tif (localStorage.getItem('needLogin') == 'true' || !localStorage.getItem('needLogin')) {\r\n\t\t\t\t\t\t\t//take lang from token and change language\r\n\t\t\t\t\t\t\tconst helper = new JwtHelperService();\r\n\t\t\t\t\t\t\tconst decodedToken = helper.decodeToken(token);\r\n\t\t\t\t\t\t\tswitchLangService.changeLang((decodedToken.locale || 'ar').toLowerCase());\r\n\t\t\t\t\t\t\tlocalStorage.setItem('needLogin', 'false');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tawait session.checkLicense();\r\n\t\t\t\t\t\tawait session.loadUserProfile();\r\n\r\n\t\t\t\t\t\tkeycloak.keycloakEvents$.subscribe(async (event) => {\r\n\t\t\t\t\t\t\tif (event.type == KeycloakEventType.OnTokenExpired) {\r\n\t\t\t\t\t\t\t\tkeycloak.updateToken(1);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (event.type == KeycloakEventType.OnAuthRefreshError) {\r\n\t\t\t\t\t\t\t\tlocalStorage.setItem('needLogin', 'true');\r\n\t\t\t\t\t\t\t\talert('hello etec');\r\n\t\t\t\t\t\t\t\tkeycloak.login();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (event.type == KeycloakEventType.OnAuthRefreshSuccess) {\r\n\t\t\t\t\t\t\t\tconst token = await keycloak.getToken();\r\n\t\t\t\t\t\t\t\tlocalStorage.setItem('_token', token);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlocalStorage.setItem('_token', '');\r\n\t\t\t\t\t\tconst kc = keycloak.getKeycloakInstance();\r\n\t\t\t\t\t\tloggerService.log(kc);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(true);\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n}\r\n","import { formatDate } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { Formio } from 'formiojs';\r\nimport HijriDate from 'hijri-date/lib/safe';\r\nimport { combineLatest, from, Observable, of } from 'rxjs';\r\nimport { startWith, switchMap } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ResourceNameService, UserService } from 'dp-formio';\r\nimport { BaseComponent } from '../base.component';\r\nimport { MenuItem } from './models/menu-item/menu.item.interface';\r\n\r\n@Component({\r\n\tselector: 'app-header',\r\n\ttemplateUrl: './header.component.html',\r\n\t// styleUrls: ['./header.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderComponent extends BaseComponent {\r\n\tlogo = '';\r\n\tloggedIn = false;\r\n\tuserDetails: { [k: string]: any };\r\n\tmyDate = new Date();\r\n\tnewDate: string;\r\n\ttime: string;\r\n\ttodaysDataTime: string;\r\n\ttoday = new HijriDate().format('dd mmmm yyyy');\r\n\tmenuItems: MenuItem[];\r\n\r\n\ttype = '';\r\n\tshowDashboardCounters = environment.showDashboardCounters;\r\n\tlanguages = [\r\n\t\t{ name: 'ENGLISH', code: 'en' },\r\n\t\t{ name: 'ARABIC', code: 'ar' },\r\n\t];\r\n\tselectedLang = this.translateService.currentLang;\r\n\r\n\tconstructor(public injector: Injector,\r\n\t\tprivate userService: UserService,\r\n\t\tprivate resourceNameService: ResourceNameService) {\r\n\t\tsuper(injector);\r\n\t\tthis._registerDelayPlugin();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.initModelsManagementResource();\r\n\t\tthis.switchLangService.changeLang();\r\n\t\tthis._prepareDates();\r\n\r\n\t\tcombineLatest([\r\n\t\t\tfrom(this.keycloakService.isLoggedIn()).pipe(\r\n\t\t\t\tswitchMap((isLogin) => (isLogin ? this._getUserDataToken() : of(isLogin)))\r\n\t\t\t),\r\n\t\t\tthis.keycloakService.keycloakEvents$.pipe(startWith({})),\r\n\t\t]).subscribe(([DataToken]) => {\r\n\t\t\tthis.loggedIn = !!DataToken;\r\n\t\t\tthis.type = DataToken ? DataToken?.type : '';\r\n\t\t});\r\n\t}\r\n\r\n\tlogout() {\r\n\t\tlocalStorage.setItem('needLogin', 'true');\r\n\t\tlocalStorage.setItem('_etec_data', null);\r\n\t\t\r\n\t\tconst redirectUri = environment.keycloak.disableLoginRedirectUri ?\r\n\t\t\twindow.location.origin :\r\n\t\t\tnull;\r\n\t\tthis.keycloakService.logout(redirectUri);\r\n\t}\r\n\r\n\tlogin() {\r\n\t\tthis.keycloakService.login();\r\n\t}\r\n\r\n\r\n\t// #region private methods\r\n\r\n\tprivate _getUserDataToken(): Observable {\r\n\t\treturn combineLatest([\r\n\t\t\tthis.sessionService.loadUserProfile(),\r\n\t\t\tthis.keycloakService.getToken(),\r\n\t\t]).pipe(\r\n\t\t\tswitchMap(([profile, token]) => {\r\n\t\t\t\tthis.userDetails = profile;\r\n\t\t\t\treturn from(this.userService.getTokenData(token));\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate _prepareDates(): void {\r\n\t\tthis.newDate = formatDate(this.myDate, ' d MMMM y', this.translateService.currentLang);\r\n\t\tthis.time = this.myDate.toLocaleString('en-US', { hour: 'numeric', hour12: true });\r\n\t\tthis.todaysDataTime = formatDate(this.myDate, ' hh:mm a', 'en-US', '+3');\r\n\t}\r\n\r\n\tprivate _registerDelayPlugin(): void {\r\n\t\tconst DelayPlugin = {\r\n\t\t\tpriority: 100,\r\n\t\t\tpreRequest: (requestArgs) => {\r\n\t\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\t\tif (!requestArgs.opts) {\r\n\t\t\t\t\t\trequestArgs.opts = {};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!requestArgs.opts.header) {\r\n\t\t\t\t\t\trequestArgs.opts.header = new Headers();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (requestArgs.type === 'submission') {\r\n\t\t\t\t\t\trequestArgs.opts.header.append('content-type', `application/json`);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(true);\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tFormio.registerPlugin(DelayPlugin, 'delay');\r\n\t}\r\n\t//#endregion\r\n\r\n\tprivate initModelsManagementResource() {\r\n\t\tthis.sub = this.resourceNameService.modelsManagementResource.subscribe(\r\n\t\t\t(data) => {\r\n\t\t\t\tif (!data) this.getModelsManagement();\r\n\t\t\t\telse this.initModelsManagement(data);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\tprivate getModelsManagement() {\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.getManageMenuData()\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.initModelsManagement(data);\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate initModelsManagement(data) {\r\n\t\tthis.menuItems = [];\r\n\t\tif (data && data.length) {\r\n\t\t\tdata[0]?.data?.menus?.filter(q => !q.internalPage)?.forEach((item) => {\r\n\t\t\t\tconst _appearance = (!item.appearance?.length || item.appearance.includes('frontOffice')) && item.isActive;\r\n\t\t\t\tif (_appearance) {\r\n\t\t\t\t\tthis.menuItems.push(this.resourceNameService.generateMenuItem(item, 'ModelsManagement'));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ 'forms.common.Criteria.ErrorsData' | translate }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.mistakeLevel\" | translate }}\r\n \r\n
    {{ ('forms.common.Criteria.' + row?.mistakeLevel) | translate\r\n }}
    \r\n
    \r\n {{ \"forms.common.Criteria.MasarCriteria\" | translate }}\r\n \r\n
    \r\n \r\n {{ row?.criterionKey }}\r\n \r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.mistake\" | translate }}\r\n \r\n
    {{ row?.mistake }}
    \r\n
    \r\n {{ \"forms.common.Criteria.suggestedSolution\" | translate }}\r\n \r\n
    {{ row?.suggestedSolution }}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n
    ","\r\n\r\nexport enum IndicatorStatus {\r\n NotComplete, Completed\r\n}\r\nexport class Indicator {\r\n constructor(public id: string,\r\n public key: string,\r\n public icon: string,\r\n public order: number\r\n ) { }\r\n\r\n status?: IndicatorStatus;\r\n domains: IndicatorDomain[] = [];\r\n\r\n // Calculated\r\n isCached = false;\r\n attachmentsFormKey = false;\r\n requestId: string;\r\n submissionId: string;\r\n resultSubmissionId: string;\r\n}\r\n\r\nexport class IndicatorDomain {\r\n constructor(public id: string,\r\n public key: string,\r\n public domainNumber: string,\r\n public description: string,\r\n public order: number) { }\r\n\r\n notes: string;\r\n recommendations: string;\r\n decision?: IndicatorStatus;\r\n questions: IndicatorQuestions[] = [];\r\n attachments: any[] = [];\r\n attachmentsInstance: any[] = [];\r\n\r\n // Calculated\r\n resultSubmissionId: string;\r\n}\r\n\r\nexport class IndicatorQuestions {\r\n constructor(public id: string,\r\n public order: number,\r\n public description: string,\r\n public key: string,\r\n public domainKey: string\r\n ) { }\r\n\r\n answer: number;\r\n}","export const CRITERION_TYPE = 'STICK'","import {\r\n\tComponent,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tSimpleChanges,\r\n\tViewEncapsulation\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { FormioLoader, BaseFormIoCustomComponent, ResourceNameService } from 'dp-formio';\r\nimport { finalize, map, mergeMap, Observable, startWith, take, takeUntil } from 'rxjs';\r\nimport { SortHelper } from '../../helpers/sort.helper';\r\nimport { AssessmentControlComponent } from './control/assessment-control.component';\r\nimport {\r\n\tCategoryConfig,\r\n\tEvaluationItemsConfig,\r\n\tEvaluationLevelsConfig,\r\n\tOptionalInputConfig,\r\n\tProcessConfig,\r\n\tScoreConditionsConfig\r\n} from './models/config.model';\r\nvar count = 0;\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'app-assessment-wrapper',\r\n\ttemplateUrl: './assessment-wrapper.component.html',\r\n\t// styleUrls: ['./assessment-wrapper.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class AssessmentWrapperComponent\r\n\textends BaseFormIoCustomComponent\r\n\timplements OnDestroy, OnChanges {\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\r\n\t@Input()\r\n\tviewOnly: boolean;\r\n\r\n\t@Input()\r\n\tdata: any;\r\n\r\n\t@Input()\r\n\tcustomOptions: any;\r\n\r\n\t@Input()\r\n\tformioComponent: any;\r\n\r\n\tproccessResource = '';\r\n\tproccessSelect = '';\r\n\tprocessConfig: ProcessConfig;\r\n\r\n\tcategoryResource = '';\r\n\tcategorySelect = '';\r\n\tcategories: CategoryConfig[] = [];\r\n\r\n\tchartData: any;\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate formioLoader: FormioLoader\r\n\t) {\r\n\t\tsuper();\r\n\t\t(this.translateService.onLangChange as Observable)\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\tstartWith({\r\n\t\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t\t}),\r\n\t\t\t\tmap((data) => (data.lang == 'ar' ? 'rtl' : 'ltr'))\r\n\t\t\t)\r\n\t\t\t.subscribe((dir) => {\r\n\t\t\t\tthis.dir = dir;\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tthis.formioLoader.loading = false;\r\n\t\tif ((changes.viewOnly || changes.customOptions) && this.customOptions) {\r\n\t\t\tif (this.viewOnly) {\r\n\t\t\t\tthis.required = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (changes.customOptions && this.customOptions?.proccessResource) {\r\n\t\t\tthis._interpolateData();\r\n\t\t\tthis._getAssessmentsResources();\r\n\t\t}\r\n\t}\r\n\r\n\tonResized(event) {\r\n\t\t$('#bars').height(event.newHeight - 20);\r\n\t}\r\n\r\n\topenCategory(category: CategoryConfig) {\r\n\t\tthis.openDialog(category);\r\n\t}\r\n\r\n\topenSubCategory(data: any) {\r\n\t\tthis.openDialog(data.parent, data.key);\r\n\t}\r\n\r\n\tprivate openDialog(category?: CategoryConfig, subCategoryKey?: string) {\r\n\t\tconst dialog = this.dialog.open(AssessmentControlComponent, {\r\n\t\t\tdata: {\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tviewOnly: this.viewOnly,\r\n\t\t\t\tcustomOptions: this.customOptions,\r\n\t\t\t\tprocessConfig: this.processConfig,\r\n\t\t\t\tcategories: this.categories,\r\n\t\t\t\tcurrentLevel: category,\r\n\t\t\t\tselected: [category],\r\n\t\t\t\tsubCategoryKey,\r\n\t\t\t},\r\n\t\t\theight: '100vh',\r\n\t\t\twidth: '100vw',\r\n\t\t\tpanelClass: 'full-screen-modal',\r\n\t\t\tdisableClose: true,\r\n\t\t});\r\n\t\tdialog\r\n\t\t\t.afterClosed()\r\n\t\t\t.pipe(take(1), takeUntil(this.destroy$))\r\n\t\t\t.subscribe((_) => {\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t});\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tconst invalid = this.required && this.categories.some((q) => q?.hasError);\r\n\t\tthis.value = invalid ? null : true;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tprivate _interpolateData(): void {\r\n\t\tthis.proccessResource = this.formioComponent.interpolate(this.customOptions.proccessResource, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\t\tthis.proccessSelect = this.formioComponent.interpolate(this.customOptions.proccessSelect, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\r\n\t\tthis.categoryResource = this.formioComponent.interpolate(this.customOptions.categoryResource, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\t\tthis.categorySelect = this.formioComponent.interpolate(this.customOptions.categorySelect, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _getCategoryAssessment(result): Observable {\r\n\t\tif (result?.length) {\r\n\t\t\tthis.processConfig = { _id: result[0]._id, ...result[0].data };\r\n\r\n\t\t\tthis.processConfig.scoreConditions = result[0].data.scoreConditions.map((o) => {\r\n\t\t\t\tconst oInput = new ScoreConditionsConfig();\r\n\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\treturn oInput;\r\n\t\t\t});\r\n\r\n\t\t\tthis.processConfig.evaluationItems =\r\n\t\t\t\tresult[0].data.evaluationItems?.map((o) => {\r\n\t\t\t\t\tconst oInput = new EvaluationItemsConfig();\r\n\t\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\t\treturn oInput;\r\n\t\t\t\t}) || [];\r\n\r\n\t\t\tthis.processConfig.evaluationLevels =\r\n\t\t\t\tresult[0].data.evaluationLevels?.map((o) => {\r\n\t\t\t\t\tconst oInput = new EvaluationLevelsConfig();\r\n\t\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\t\treturn oInput;\r\n\t\t\t\t}) || [];\r\n\r\n\t\t\treturn this.resourceNameService.loadCustomByFilterdKey(\r\n\t\t\t\tthis.categoryResource,\r\n\t\t\t\t`data.key__in=${this.processConfig.categoryAssessment.join()}${this.categorySelect}`\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tprivate _getAssessmentsResources() {\r\n\t\tif (!this.formioComponent.visible) return;\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.proccessResource, this.proccessSelect)\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\tmergeMap((result) => this._getCategoryAssessment(result)),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe((result: any[]) => {\r\n\t\t\t\tthis.categories = SortHelper.recursiveSort(\r\n\t\t\t\t\tresult.map((c) => this._prepareCategoryConfig(c)),\r\n\t\t\t\t\t'asc'\r\n\t\t\t\t);\r\n\r\n\t\t\t\tthis.chartData = {\r\n\t\t\t\t\tdatasets: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tdata: this.categories.map((q) => q.percentage),\r\n\t\t\t\t\t\t\tbackgroundColor: this.categories.map((q) => q.color),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t\tlabels: this.categories.map((q) => q.name),\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis.categories.forEach((item) => {\r\n\t\t\t\t\t$(`#bar_${item._id} .p-progressbar-value`).css('background-color', item.color);\r\n\t\t\t\t});\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate _prepareCategoryConfig(c: any): CategoryConfig {\r\n\t\t{\r\n\t\t\tconst item = new CategoryConfig();\r\n\t\t\tSortHelper.copyProps({ _id: c._id, ...c.data }, item);\r\n\t\t\titem.optionalInputs = !item.optionalInputs\r\n\t\t\t\t? []\r\n\t\t\t\t: item.optionalInputs.map((o) => {\r\n\t\t\t\t\tconst oInput = new OptionalInputConfig();\r\n\t\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\t\treturn oInput;\r\n\t\t\t\t});\r\n\t\t\titem.processConfigObject = this.processConfig;\r\n\t\t\treturn item;\r\n\t\t}\r\n\t}\r\n}\r\n","import { CategoryConfig, ProcessConfig } from './../models/config.model';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-total-statistic',\r\n templateUrl: './total-statistic.component.html',\r\n // styleUrls: ['./total-statistic.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TotalStatisticComponent {\r\n @Input() category: CategoryConfig;\r\n @Input() process: ProcessConfig;\r\n}","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { BehaviorSubject, Subject, takeUntil, tap } from 'rxjs';\r\nimport { FormioEvent } from 'dp-formio';\r\nimport {\r\n\tEVENTS,\r\n\tHooksType,\r\n\tSelectCustomOptionsType,\r\n\tSelectRequestOptionsType,\r\n\tSelectRequestType,\r\n\tevaluatedString,\r\n} from './models';\r\nimport { CustomSelectService } from './services';\r\n\r\nimport { NgSelectConfig } from '@ng-select/ng-select';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CustomComponent, Utils } from 'formiojs';\r\n\r\n@Component({\r\n\tselector: 'cs-custom-select',\r\n\ttemplateUrl: './custom-select.component.html',\r\n\tstyleUrls: ['./custom-select.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [CustomSelectService],\r\n})\r\nexport class CustomSelectComponent implements OnDestroy, OnChanges {\r\n\tformioEvent?: EventEmitter;\r\n\tdestroy$ = new Subject();\r\n\t@Input() data: Record;\r\n\t@Input() customOptions: SelectCustomOptionsType;\r\n\t@Input() formioComponent: CustomComponent;\r\n\r\n\t@Input() required: boolean;\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\r\n\t@Input() value: any;\r\n\t@Output() valueChange = new EventEmitter();\r\n\r\n\tprivate readonly _optionsSub = new BehaviorSubject([]);\r\n\r\n\toptions$ = this._optionsSub.asObservable().pipe(\r\n\t\ttap((data) => {\r\n\t\t\tthis._callHook(EVENTS.afterLoadItems, data);\r\n\t\t\tthis._dispatchEvent(EVENTS.afterLoadItems, data);\r\n\t\t})\r\n\t);\r\n\r\n\titemTemplate: evaluatedString;\r\n\tgroupTemplate: evaluatedString;\r\n\tselectedTemplate: evaluatedString;\r\n\tbindValue: string;\r\n\tbindLabel: string;\r\n\tgroupBy: string;\r\n\tbindGroup: string;\r\n\tmultiple: boolean = false;\r\n\tcloseOnSelect: boolean = true;\r\n\tselectableGroup: boolean = false;\r\n\tselectableGroupAsModel: boolean = false;\r\n\tdispatchEvents: boolean = false;\r\n\thideSelected: boolean = false;\r\n\thooks: HooksType;\r\n\tsearchFn: (term: string, item: any) => boolean;\r\n\tconstructor(\r\n\t\tprivate selectService: CustomSelectService,\r\n\t\tprivate _config: NgSelectConfig,\r\n\t\tprivate translateService: TranslateService\r\n\t) {}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes.customOptions?.currentValue) {\r\n\t\t\tthis._prepareOptions();\r\n\t\t\tthis._prepareData();\r\n\t\t}\r\n\t}\r\n\r\n\tupdateValue(value: any) {\r\n\t\tthis.value = value;\r\n\t\tthis.valueChange.emit(value);\r\n\t\tthis._callHook(EVENTS.afterValueChange, value);\r\n\t\tthis._dispatchEvent(EVENTS.afterValueChange, value);\r\n\t}\r\n\r\n\tonChange(data: any) {\r\n\t\tthis._callHook(EVENTS.onChange, data);\r\n\t\tthis._dispatchEvent(EVENTS.onChange, data);\r\n\t}\r\n\r\n\tonAdd(data: any) {\r\n\t\tthis._callHook(EVENTS.onAdd, data);\r\n\t\tthis._dispatchEvent(EVENTS.onAdd, data);\r\n\t}\r\n\r\n\tonRemove(data: any) {\r\n\t\tthis._dispatchEvent(EVENTS.onRemove, data);\r\n\t\tthis._dispatchEvent(EVENTS.onRemove, data);\r\n\t}\r\n\r\n\tonSearch(data: { term: string; items: any[] }) {\r\n\t\tthis._callHook(EVENTS.onSearch, data);\r\n\t\tthis._dispatchEvent(EVENTS.onSearch, data);\r\n\t}\r\n\r\n\tprivate _prepareOptions() {\r\n\t\tthis.itemTemplate = this.customOptions?.itemTemplate;\r\n\t\tthis.groupTemplate = this.customOptions?.groupTemplate;\r\n\t\tthis.selectedTemplate = this.customOptions?.selectedTemplate;\r\n\t\tthis.bindLabel = this.customOptions?.bindLabel;\r\n\t\tthis.bindValue = this.customOptions?.bindValue;\r\n\t\tthis.bindGroup = this.customOptions?.bindGroup;\r\n\t\tthis.groupBy = this.customOptions?.groupBy;\r\n\t\tthis.multiple = this.customOptions?.multiple;\r\n\t\tthis.selectableGroup = this.customOptions?.selectableGroup;\r\n\t\tthis.selectableGroupAsModel = this.customOptions?.selectableGroupAsModel;\r\n\t\tthis.dispatchEvents = this.customOptions?.dispatchEvents;\r\n\t\tthis.hooks = this.customOptions?.hooks;\r\n\t\tthis.hideSelected = this.customOptions?.hideSelected;\r\n\t\tthis.searchFn = this._search(this.customOptions?.searchFields);\r\n\t}\r\n\r\n\tprivate _search(searchFields: string): (term: string, item: any) => boolean {\r\n\t\tconst fields = `${searchFields}`.split(',') || [];\r\n\t\treturn (term: string, item: any) => {\r\n\t\t\tif (!fields?.length) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t`${item[this.bindLabel]}`.toLowerCase().includes(term.toLowerCase()) ||\r\n\t\t\t\t\t`${item[this.bindValue]}`.toLowerCase().includes(term.toLowerCase())\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\treturn fields.some((field) => `${item?.[field]}`.toLowerCase().includes(term.toLowerCase()));\r\n\t\t};\r\n\t}\r\n\r\n\tprivate _prepareData() {\r\n\t\tif (this.customOptions.url) {\r\n\t\t\tthis._getDataFromUrl();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.customOptions.request && this.customOptions.request?.url) {\r\n\t\t\tthis._getDataFromRequest();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _getDataFromRequest() {\r\n\t\ttry {\r\n\t\t\tconst url = this._evaluate(this.customOptions.request.url);\r\n\t\t\tif (url) {\r\n\t\t\t\tconst requestData = this._prepareRequest(url, this.customOptions.request);\r\n\r\n\t\t\t\tthis.selectService\r\n\t\t\t\t\t.request(requestData)\r\n\t\t\t\t\t.pipe(takeUntil(this.destroy$))\r\n\t\t\t\t\t.subscribe((res) => {\r\n\t\t\t\t\t\tif (!this.customOptions.request?.onSuccess) {\r\n\t\t\t\t\t\t\tthis._optionsSub.next(res);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst _evaluateData = this._evaluate(this.customOptions.request?.onSuccess, {\r\n\t\t\t\t\t\t\tresponse: res,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis._optionsSub.next(_evaluateData || res);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _prepareRequest(url: any, request: SelectRequestOptionsType) {\r\n\t\tconst _data = {\r\n\t\t\turl: url,\r\n\t\t\tmethod: request?.method || 'GET',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tif (request.params) {\r\n\t\t\t_data['params'] = this._evaluate(request.params) || {};\r\n\t\t}\r\n\t\tif (request.headers) {\r\n\t\t\t_data['headers'] = this._evaluate(request.headers) || null;\r\n\t\t}\r\n\t\tif (request.body) {\r\n\t\t\t_data['body'] = this._evaluate(request.body) || null;\r\n\t\t}\r\n\r\n\t\treturn _data as SelectRequestType;\r\n\t}\r\n\r\n\tprivate _getDataFromUrl() {\r\n\t\ttry {\r\n\t\t\tconst url = this._interpolate(this.customOptions.url);\r\n\t\t\tthis.selectService\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.pipe(takeUntil(this.destroy$))\r\n\t\t\t\t.subscribe((res) => {\r\n\t\t\t\t\tthis._optionsSub.next(res);\r\n\t\t\t\t});\r\n\t\t} catch (error) {}\r\n\t}\r\n\r\n\tprivate _interpolate(string: string, data: Record = {}) {\r\n\t\treturn Utils.interpolate(string, Object.assign(this._evaluateData(), data));\r\n\t}\r\n\r\n\tprivate _evaluate(string: string, data: Record = {}) {\r\n\t\treturn Utils.evaluate(string, Object.assign(this._evaluateData(), data));\r\n\t}\r\n\r\n\tprivate getFormConfig() {\r\n\t\tconst config =\r\n\t\t\tthis.formioComponent.root.form.config ||\r\n\t\t\tthis.formioComponent?.wizard?.config ||\r\n\t\t\tthis.formioComponent.root?.wizard?.config;\r\n\t\treturn config;\r\n\t}\r\n\r\n\tprivate _evaluateData() {\r\n\t\treturn {\r\n\t\t\tconfig: this.getFormConfig(),\r\n\t\t\tdata: this.data,\r\n\t\t\tinstance: this.formioComponent,\r\n\t\t\tsubmission: this.formioComponent.root.submission,\r\n\t\t\tutils: Utils,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate _callHook(hook: (typeof EVENTS)[keyof typeof EVENTS], data: unknown) {\r\n\t\tif (this.hooks?.[hook]) {\r\n\t\t\tthis._evaluate(this.hooks[hook], { hookData: data });\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _dispatchEvent(event: (typeof EVENTS)[keyof typeof EVENTS], data: unknown) {\r\n\t\tif (this.dispatchEvents) {\r\n\t\t\tthis.formioComponent.element.dispatchEvent(\r\n\t\t\t\tnew CustomEvent(`CUSTOM_SELECT__${event}`, {\r\n\t\t\t\t\tbubbles: true,\r\n\t\t\t\t\tdetail: data,\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TemplateObjectsService } from '../template-process/services/template-objects.service';\r\n\r\n@Component({\r\n selector: 'edit-template-dialog',\r\n templateUrl: 'edit-template-dialog.component.html',\r\n styleUrls: ['./edit-template-dialog.component.scss'],\r\n})\r\nexport class EditTemplateDialog {\r\n private result: any = {};\r\n constructor(private documentTemplatesService: TemplateObjectsService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n console.log(data);\r\n }\r\n\r\n onSaveMerged($event) {\r\n this.result.evaluated = $event;\r\n }\r\n onSaveTemplate($event) {\r\n this.result.template = $event;\r\n }\r\n onSaveAsPDF(data) {\r\n // this.documentTemplatesService.saveBase64DocAsPDF(data).subscribe(result => {\r\n // this.saveBlobPDF(result);\r\n // }, error => {\r\n // console.error(error);\r\n // }, () => {\r\n // this.dialogRef.close();\r\n // });\r\n }\r\n onProcessFinish($event) {\r\n this.dialogRef.close(this.result);\r\n }\r\n\r\n private saveBlobPDF(blobData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = URL.createObjectURL(blobData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = (this.data.name || 'sample') + '.pdf';\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport * as html2pdf from 'html2pdf.js';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { PrimeNGConfig } from 'primeng/api';\r\nimport { FormioLoader, FormioCustomComponent } from 'dp-formio';\r\n@Component({\r\n\tselector: 'pdf-wrapper',\r\n\ttemplateUrl: './pdf-wrapper.component.html',\r\n\t// styleUrls: ['./pdf-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class PDFWrapperComponent implements FormioCustomComponent, AfterViewInit, OnDestroy {\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tpublic dialog: MatDialog,\r\n\t\tprivate primengConfig: PrimeNGConfig\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.primengConfig.ripple = true;\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tgeneratePDF() {\r\n\t\t// $(`#${this.customOptions.containerIdName}`).css('visibility', 'visible');\r\n\t\t// $(`#${this.customOptions.containerIdName}`).height('auto');\r\n\r\n\t\t// setTimeout(() => {\r\n\t\t// \tconst input = document.getElementById(this.customOptions.containerIdName);\r\n\t\t// \thtml2canvas(input).then((canvas) => {\r\n\t\t// \t\tconst imgData = canvas.toDataURL('image/png');\r\n\t\t// \t\tconst pdf = new jsPDF();\r\n\t\t// \t\tpdf.addImage(imgData, 'PNG', 5, 5, 200, 230);\r\n\t\t// \t\tpdf.save('download.pdf');\r\n\r\n\t\t// \t\tsetTimeout(() => {\r\n\t\t// \t\t\t$(`#${this.customOptions.containerIdName}`).css('visibility', 'hidden');\r\n\t\t// \t\t\t$(`#${this.customOptions.containerIdName}`).height(0);\r\n\t\t// \t\t});\r\n\t\t// \t});\r\n\t\t// });\r\n\r\n\t\t// Choose the element id which you want to export.\r\n\t\t// var formTemp = document.getElementsByClassName('formio-component-panel2Columns');\r\n\t\t// var summary = document.getElementById('summary');\r\n\r\n\t\tconst container = document.createElement('div');\r\n\t\tcontainer.classList.add('container');\r\n\r\n\t\tvar row = document.createElement('div');\r\n\t\trow.classList.add('row');\r\n\t\tcontainer.appendChild(row);\r\n\r\n\t\tconst col = document.createElement('div');\r\n\t\tcol.classList.add('col-12');\r\n\t\trow.appendChild(col);\r\n\r\n\t\tlet clonedClassContainer: any;\r\n\t\tif (this.customOptions.containerClassName) {\r\n\t\t\tconst classContainer = document.getElementsByClassName(this.customOptions.containerClassName);\r\n\t\t\tclonedClassContainer = classContainer[0].cloneNode(true);\r\n\t\t\tcol.appendChild(clonedClassContainer);\r\n\t\t}\r\n\r\n\t\tlet clonedIdContainer: any;\r\n\t\tif (this.customOptions.containerIdName) {\r\n\t\t\tconst idContainer = document.getElementById(this.customOptions.containerIdName);\r\n\t\t\tclonedIdContainer = idContainer.cloneNode(true);\r\n\r\n\t\t\tif (this.dir === 'rtl') {\r\n\t\t\t\tconst texts = clonedIdContainer.querySelectorAll(\r\n\t\t\t\t\t'span.transalableSpan, div.transalableSpan'\r\n\t\t\t\t);\r\n\t\t\t\ttexts.forEach((text: any) => {\r\n\t\t\t\t\ttext.style.font = 'icon';\r\n\t\t\t\t\ttext.style.wordSpacing = '3px';\r\n\t\t\t\t});\r\n\t\t\t\t// clonedIdContainer.setAttribute('', 'data-html2canvas-ignore');\r\n\t\t\t}\r\n\r\n\t\t\tcol.appendChild(clonedIdContainer);\r\n\t\t}\r\n\r\n\t\t// choose the container and pass it to html2pdf() function and call the save() on it to save as pdf.\r\n\t\thtml2pdf().set(this.customOptions.pdfOptions).from(container).save();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n OnDestroy,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { FormioCustomComponent } from \"dp-formio\";\r\nimport { Utils } from \"formiojs\";\r\nimport { CustomComponent } from \"formiojs\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\nimport { Criterion, ReviewingEvaluationCustomOptionsType } from \"./models\";\r\n\r\n@Component({\r\n selector: \"app-reviewing-evaluation-wrapper\",\r\n templateUrl: \"./reviewing-evaluation-wrapper.component.html\",\r\n // styleUrls: ['./reviewing-evaluation-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class ReviewingEvaluationWrapperComponent\r\n implements FormioCustomComponent, OnDestroy, OnChanges\r\n{\r\n destroy$ = new Subject();\r\n @Input() data: Record;\r\n @Input() customOptions: ReviewingEvaluationCustomOptionsType;\r\n @Input() formioComponent: CustomComponent;\r\n\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n\r\n @Input() value: any;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n private readonly _criterionsSub = new BehaviorSubject([]);\r\n criterions$ = this._criterionsSub.asObservable();\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.customOptions?.currentValue) {\r\n this.prepareData();\r\n }\r\n }\r\n updateValue() {\r\n const criterions = this._criterionsSub.value;\r\n let values = {\r\n data: criterions.map(({ key, totalEvaluation, notes }) => ({\r\n key,\r\n totalEvaluation,\r\n notes,\r\n })),\r\n };\r\n\r\n const isInvalidTotalEvaluation =\r\n this.required &&\r\n !criterions.every((criterion) =>\r\n criterion.subCriterions.every(\r\n (subCriterion) => subCriterion.totalEvaluation > 0\r\n )\r\n );\r\n\r\n if (isInvalidTotalEvaluation) {\r\n values = null;\r\n }\r\n\r\n this.value = values;\r\n this.valueChange.emit(values);\r\n this.updateBindedComponent();\r\n }\r\n\r\n private updateBindedComponent() {\r\n if (this.customOptions.bindWith) {\r\n const components = Utils.searchComponents(\r\n this.formioComponent.root.components,\r\n { key: this.customOptions.bindWith }\r\n );\r\n components.forEach((c) => {\r\n c.setValue(this.data[this.customOptions.bindWith]);\r\n });\r\n this.formioComponent?.currentForm?.triggerChange();\r\n }\r\n }\r\n private prepareData() {\r\n if (this.data[this.customOptions.bindWith]) {\r\n const data = this.data[this.customOptions.bindWith] as Criterion[];\r\n\r\n data.forEach((item) => {\r\n item.subCriterions.forEach((sub) => {\r\n sub.evaluation.forEach((evaluation) => {\r\n const from = +evaluation.fromRange;\r\n const to = +evaluation.toRange;\r\n\r\n evaluation.items = Array.from(\r\n { length: to - from + 1 },\r\n (_, index) => ({\r\n label: `${index + from}`,\r\n value: index + from,\r\n })\r\n );\r\n });\r\n });\r\n });\r\n\r\n this._criterionsSub.next(data);\r\n if (this.value) this.updateValue();\r\n }\r\n }\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tforwardRef,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { FullCalendarComponent } from '@fullcalendar/angular';\r\nimport {\r\n\tCalendar,\r\n\tCalendarOptions,\r\n\tDateSelectArg,\r\n\tDayCellMountArg,\r\n\tEventClickArg,\r\n\tEventHoveringArg,\r\n\tEventInput,\r\n} from '@fullcalendar/core';\r\n//NOTE: Plugins in v5 must be after import calendar from core\r\nimport dayGridPlugin from '@fullcalendar/daygrid';\r\nimport interactionPlugin from '@fullcalendar/interaction';\r\nimport timeGridPlugin from '@fullcalendar/timegrid';\r\n\r\nimport arLocale from '@fullcalendar/core/locales/ar';\r\nimport arSaLocale from '@fullcalendar/core/locales/ar-sa';\r\nimport enLocale from '@fullcalendar/core/locales/en-gb';\r\nimport { DateClickArg, EventResizeDoneArg } from '@fullcalendar/interaction';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport * as moment from 'moment';\r\nimport {\r\n\tBehaviorSubject,\r\n\tdelay,\r\n\tdistinctUntilChanged,\r\n\tfilter,\r\n\tObservable,\r\n\tSubject,\r\n\ttake,\r\n\ttakeUntil,\r\n} from 'rxjs';\r\nimport {\r\n\tConfirmationDialogComponent,\r\n\tFormioCustomComponent,\r\n\tFormioLoader,\r\n} from 'dp-formio';\r\nimport { DEFAULT_OPTIONS } from './calendar.options';\r\nimport { CustomCalenderOptions, DialogEventHook, RedirectObjType } from './models';\r\nimport { DialogData, DialogResult } from './models/dialog-data';\r\nimport { ScheduleDialogComponent } from './schedule-dialog/schedule-dialog.component';\r\n@Component({\r\n selector: 'app-calendar-wrapper',\r\n templateUrl: './calendar-wrapper.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class CalenderWrapperComponent\r\n implements FormioCustomComponent, OnInit, OnChanges, OnDestroy, AfterViewInit\r\n{\r\n lang = this.translateService.currentLang;\r\n dir: 'rtl' | 'ltr';\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: Partial;\r\n @Input() formioComponent: any;\r\n\r\n @ViewChild('calendar') fullCalendar: FullCalendarComponent;\r\n calendarApi: Calendar;\r\n private _isOpTionsReadySub = new BehaviorSubject(false);\r\n isOpTionsReady$ = this._isOpTionsReadySub.asObservable();\r\n\r\n destroy$ = new Subject();\r\n calendarOptions: CalendarOptions;\r\n customCalendarOptions = {};\r\n calendarEvents = [];\r\n\r\n constructor(\r\n private formioLoader: FormioLoader,\r\n private translateService: TranslateService,\r\n public dialog: MatDialog,\r\n public router: Router,\r\n public route: ActivatedRoute\r\n ) {\r\n forwardRef(() => Calendar);\r\n }\r\n\r\n ngOnInit() {\r\n this._subscribeToLanguage();\r\n this._prepareEvents();\r\n this._triggerResize();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.isOpTionsReady$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter((data) => data),\r\n delay(50)\r\n )\r\n .subscribe((res) => {\r\n this.calendarApi = this.fullCalendar.getApi();\r\n this._goToDate();\r\n });\r\n }\r\n private _goToDate() {\r\n const jumpToDate = this.customOptions?.jumpToDate?.active;\r\n if (this.calendarApi && jumpToDate) {\r\n const date = this._evaluate(\r\n {\r\n _string: this.customOptions?.jumpToDate.dataKey,\r\n },\r\n ''\r\n );\r\n\r\n if (date) {\r\n this.calendarApi.gotoDate(date);\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.customOptions) {\r\n this._isOpTionsReadySub.next(false);\r\n this._initCalendar();\r\n }\r\n\r\n if (this.formioComponent?.visible && changes.value) {\r\n this._triggerResize();\r\n }\r\n\r\n if (changes.value) {\r\n this._prepareEvents();\r\n }\r\n\r\n if ((changes.viewOnly || changes.value) && this.calendarApi) {\r\n this.calendarApi.render();\r\n }\r\n }\r\n\r\n notifyValue(value = this.calendarEvents) {\r\n this.calendarEvents = value;\r\n this.calendarOptions.events = this.calendarEvents;\r\n this.value = _cloneDeep({ events: value });\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private _subscribeToLanguage() {\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n distinctUntilChanged((prev, curr) => prev.lang === curr.lang),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((data) => {\r\n this.dir = data.lang === 'ar' ? 'rtl' : 'ltr';\r\n this.lang = data.lang;\r\n });\r\n }\r\n\r\n private _triggerResize() {\r\n //workaround for calendar init\r\n setTimeout(function () {\r\n window.dispatchEvent(new Event('resize'));\r\n }, 1);\r\n }\r\n\r\n private _canEdit() {\r\n return this.customOptions?.actions?.edit ?? false;\r\n }\r\n private _canAdd() {\r\n return this.customOptions?.actions?.add ?? false;\r\n }\r\n private _canDelete() {\r\n return this.customOptions?.actions?.delete ?? false;\r\n }\r\n private _canClear() {\r\n return this.customOptions?.actions?.clear ?? false;\r\n }\r\n private _canView() {\r\n return this.customOptions?.actions?.view ?? true;\r\n }\r\n private _showAddButton() {\r\n return this.customOptions?.buttons?.add ?? false;\r\n }\r\n private _showDateTypeBtns() {\r\n return this.customOptions?.buttons?.dateType ?? false;\r\n }\r\n\r\n private _prepareEvents() {\r\n this.calendarEvents = this.value?.events ?? [];\r\n if (this.calendarOptions?.events) {\r\n this.calendarOptions.events = this.calendarEvents;\r\n }\r\n }\r\n\r\n private _initCalendar(options = DEFAULT_OPTIONS) {\r\n const customButtons = [\r\n this._canClear() && !this.viewOnly ? 'clearEvents' : '',\r\n this._showAddButton() && !this.viewOnly ? 'addEvent' : '',\r\n ]\r\n .filter((btn) => !!btn)\r\n .join(',');\r\n\r\n const dateButtons = [\r\n this._showDateTypeBtns() && 'hijri',\r\n this._showDateTypeBtns() && 'gregorian',\r\n ]\r\n .filter((btn) => !!btn)\r\n .join(',');\r\n\r\n this.calendarOptions = {\r\n ...options,\r\n plugins: [timeGridPlugin, dayGridPlugin, interactionPlugin],\r\n customButtons: {\r\n clearEvents: {\r\n text: this.translateService.instant('forms.common.clear'),\r\n click: () => {\r\n this._clearAllEvents();\r\n },\r\n },\r\n addEvent: {\r\n text: this.translateService.instant('forms.common.addEvent'),\r\n click: (event) => {\r\n if (this._canAdd() && !this.viewOnly) {\r\n this._openEventDialog({}, 'date');\r\n }\r\n },\r\n },\r\n gregorian: {\r\n text: this.translateService.instant('gregorian'),\r\n click: () => {\r\n this.calendarOptions.locale = this.lang;\r\n },\r\n },\r\n hijri: {\r\n text: this.translateService.instant('hijri'),\r\n click: () => {\r\n this.calendarOptions.locale = 'ar-sa';\r\n },\r\n },\r\n },\r\n headerToolbar: {\r\n left:\r\n `prev,next` +\r\n (customButtons ? ' ' + customButtons : '') +\r\n (dateButtons ? +' ' + dateButtons : ''),\r\n center: 'title',\r\n right: 'dayGridMonth,timeGridWeek,timeGridDay',\r\n },\r\n\r\n events: this.calendarEvents,\r\n locale: this.lang,\r\n locales: [arLocale, enLocale, arSaLocale],\r\n ...(this.customOptions?.calendar ?? {}),\r\n eventClick: (args) => this._handleEventClick(args),\r\n eventResize: (args) => this._handleEventResize(args),\r\n select: (args) => this._handleSelect(args),\r\n navLinkDayClick: (date, jsEvent) => this._handleDayClick(date, jsEvent),\r\n eventMouseEnter: (args) => {\r\n this._handleEventMouseEnter(args);\r\n },\r\n eventMouseLeave: (args) => {\r\n this._handleEventMouseLeave(args);\r\n },\r\n dateClick: (args) => {\r\n let _continue = true;\r\n const _hook = this.customOptions.hooks?.dateClick;\r\n if (_hook && _hook.active) {\r\n _continue = this._evaluate(\r\n {\r\n _string: _hook.dataKey,\r\n params: {\r\n date: args.date,\r\n moment: moment,\r\n },\r\n },\r\n null\r\n );\r\n }\r\n if (_continue) {\r\n this._handleDateClick(args);\r\n }\r\n },\r\n dayCellDidMount: (args: DayCellMountArg) => {\r\n const _hook = this.customOptions.hooks?.dayCellDidMount;\r\n if (_hook && _hook.active) {\r\n this._evaluate(\r\n {\r\n _string: _hook.dataKey,\r\n params: {\r\n el: args.el,\r\n date: args.date,\r\n moment: moment,\r\n },\r\n },\r\n ''\r\n );\r\n }\r\n },\r\n eventContent: (arg, ce) => {\r\n const titleText = this.translateService.instant(\r\n arg.event?.title || arg.event?.extendedProps.data?.sessionType\r\n );\r\n\r\n const isSessionRequired =\r\n arg.event.extendedProps?.data?.data?.requiredSession || false;\r\n\r\n const childs = [];\r\n if (isSessionRequired) {\r\n childs.push(ce('b', { style: { color: 'red' } }, ' * '));\r\n }\r\n\r\n const content = ce(\r\n 'div',\r\n {\r\n class: 'd-flex align-items-center',\r\n },\r\n null,\r\n [\r\n ce(\r\n 'div',\r\n {\r\n class: 'fc-daygrid-event-dot',\r\n style: !this.viewOnly ? { borderColor: arg.event.borderColor } : {},\r\n },\r\n null\r\n ),\r\n ce('div', { class: 'fc-event-time' }, arg.timeText),\r\n ce('div', { class: 'fc-event-title' }, titleText, [childs]),\r\n ]\r\n );\r\n return content;\r\n },\r\n };\r\n this._isOpTionsReadySub.next(true);\r\n }\r\n\r\n //#region handlers\r\n\r\n private _handleEventMouseEnter(args: EventHoveringArg) {\r\n const isRequired = args.event.extendedProps?.data?.data?.requiredSession || false;\r\n\r\n if (isRequired || this.viewOnly || !this._canDelete()) {\r\n return;\r\n }\r\n\r\n const btn = this._appendDeleteButton(args.el);\r\n btn.onclick = (event) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this._openConfirmDialog(\r\n this.translateService.instant('forms.common.deleteEventMsg')\r\n ).subscribe((res) => {\r\n this._deleteEvent(args.event.id);\r\n });\r\n };\r\n }\r\n\r\n private _handleEventMouseLeave(args: EventHoveringArg) {\r\n if (this._canDelete() && !this.viewOnly) {\r\n const el = args.el;\r\n const btn = el.querySelector('#delete-event');\r\n if (btn) {\r\n el.removeChild(btn);\r\n }\r\n }\r\n }\r\n\r\n private _handleEventResize(args: EventResizeDoneArg): void {\r\n if (args.event.display.match(/background/)) {\r\n return null;\r\n }\r\n if (this._canEdit() && !this.viewOnly) {\r\n this._openEventDialog(args, 'resize');\r\n }\r\n }\r\n\r\n private _handleDayClick(date: Date, jsEvent: any): void {\r\n if (this._canDelete() && !this.viewOnly) {\r\n this._openConfirmDialog(\r\n this.translateService.instant('forms.common.clearDayMsg')\r\n ).subscribe((res) => {\r\n this.calendarEvents = this._clearDayEvents(date);\r\n this.notifyValue(this.calendarEvents);\r\n });\r\n return null;\r\n }\r\n this.calendarApi.changeView('timeGridDay', date.toISOString());\r\n }\r\n\r\n private _handleEventClick(arg: EventClickArg): void {\r\n if (arg.event.display.match(/background/)) {\r\n return null;\r\n }\r\n const event = this.calendarEvents.find((ev) => ev.id === arg.event.id);\r\n const redirect = this.customOptions?.event?.redirect;\r\n if (redirect && redirect?.url) {\r\n this._redirectEvent(event, redirect);\r\n return;\r\n }\r\n\r\n const canOpenDialog = this.customOptions?.event?.openDialog;\r\n if (canOpenDialog?.active) {\r\n const data = Utils.evaluate(canOpenDialog.dataKey, {\r\n submission: this.data,\r\n event: event,\r\n moment: moment,\r\n });\r\n if (!data) {\r\n return;\r\n }\r\n }\r\n\r\n if (this._canView()) {\r\n this._openEventDialog(event, 'event');\r\n }\r\n }\r\n\r\n private _redirectEvent(event: EventInput, redirectObj: RedirectObjType) {\r\n const evaluatedUrl = this._evaluate(\r\n {\r\n _string: redirectObj?.url,\r\n params: {\r\n event: event,\r\n route: this.route.snapshot,\r\n },\r\n },\r\n ''\r\n );\r\n if (redirectObj.external) {\r\n window.open(evaluatedUrl);\r\n return;\r\n }\r\n this.router.navigate(evaluatedUrl, {\r\n ...(redirectObj.relative ? { relativeTo: this.route } : {}),\r\n ...(redirectObj.skipLocationChange ? { skipLocationChange: true } : {}),\r\n });\r\n }\r\n\r\n private _handleSelect(arg: DateSelectArg) {\r\n //Note select and click not working together\r\n if (this._canAdd() && !this.viewOnly) {\r\n const event = {\r\n ...arg,\r\n data: {\r\n start: arg.start,\r\n end: arg.end,\r\n },\r\n };\r\n this._openEventDialog(event, 'select');\r\n }\r\n }\r\n\r\n private _handleDateClick(arg: DateClickArg) {\r\n const dialogHook = this.customOptions?.dialogHook ?? 'afterSubmit';\r\n if (this._canAdd() && !this.viewOnly && !this._showAddButton()) {\r\n const event = {\r\n ...arg,\r\n data: {\r\n ...(dialogHook === 'afterSubmit'\r\n ? { data: { start: arg.dateStr, end: arg.dateStr } }\r\n : { start: arg.dateStr, end: arg.dateStr }),\r\n },\r\n };\r\n\r\n this._openEventDialog(event, 'date');\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n private _openEventDialog(event: any, type: DialogData['type']) {\r\n const dialogHook = this.customOptions?.dialogHook ?? 'afterSubmit';\r\n const _evaluate = this._evaluate({\r\n params: { event: event, type: type },\r\n });\r\n let calculatedSubmission = { rootData: this.data, data: {} };\r\n if (this.customOptions?.event?.dialogForm?.override) {\r\n calculatedSubmission = Object.assign(calculatedSubmission, _evaluate);\r\n } else {\r\n if (dialogHook === 'afterSubmit') {\r\n calculatedSubmission = {\r\n ...calculatedSubmission,\r\n ...event?.data,\r\n data: {\r\n ...(event?.data?.data ?? {}),\r\n ...(_evaluate?.data ?? {}),\r\n },\r\n };\r\n } else {\r\n calculatedSubmission = {\r\n ...calculatedSubmission,\r\n data: {\r\n ...(event?.data ?? {}),\r\n ...(_evaluate?.data ?? {}),\r\n },\r\n };\r\n }\r\n }\r\n\r\n const dialogCustomOptions = this.customOptions?.dialog?.options ?? {};\r\n const dialog = this.dialog.open(ScheduleDialogComponent, {\r\n width: 'min(80%,900px)',\r\n direction: this.dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n ...dialogCustomOptions,\r\n data: {\r\n formKey: this.customOptions?.event?.formKey ?? '',\r\n type: type,\r\n event: event,\r\n options: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n disabled: this.disabled,\r\n submission: calculatedSubmission,\r\n dialogHook,\r\n },\r\n });\r\n dialog\r\n .afterClosed()\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter((rs) => !!rs)\r\n )\r\n .subscribe((res: DialogResult) => {\r\n if (type === 'date' || type === 'select') {\r\n this._addEvent(res);\r\n }\r\n if (type === 'event') {\r\n this._updateEvent(res, event?.id);\r\n }\r\n });\r\n }\r\n\r\n private _openConfirmDialog(message = '', ok: string = null, cancel: string = null) {\r\n return this.dialog\r\n .open(ConfirmationDialogComponent, {\r\n width: 'min(80% , 250px)',\r\n direction: this.dir,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n buttonText: {\r\n cancel: cancel ?? this.translateService.instant('forms.common.cancel'),\r\n ok: ok ?? this.translateService.instant('forms.common.yes'),\r\n },\r\n },\r\n })\r\n .afterClosed()\r\n .pipe(\r\n take(1),\r\n filter((rs) => !!rs)\r\n );\r\n }\r\n\r\n //#region events\r\n private _addEvent({ data, hook }: DialogResult) {\r\n const dialogHook = hook ?? 'afterSubmit';\r\n let id = undefined;\r\n if (dialogHook === 'afterSubmit') {\r\n id = data?.data?.sessionId ?? data?.data?.id ?? data?._id;\r\n } else {\r\n id = data?.sessionId ?? data?.id;\r\n }\r\n id ??= Utils.guid();\r\n const eventData = this._mapToEventObject({ data, id, dialogHook });\r\n this.notifyValue([...this.calendarEvents, eventData]);\r\n }\r\n\r\n private _updateEvent({ data, hook }: DialogResult, id: any) {\r\n const dialogHook: DialogEventHook = hook ?? 'afterSubmit';\r\n const index = this.calendarEvents.findIndex((itm) => itm.id === id);\r\n if (index >= 0) {\r\n this.calendarEvents[index] = this._mapToEventObject({\r\n data,\r\n id,\r\n dialogHook,\r\n });\r\n this.notifyValue(this.calendarEvents);\r\n }\r\n }\r\n\r\n private _mapToEventObject(event: {\r\n data: any;\r\n id?: any;\r\n dialogHook?: DialogEventHook;\r\n }) {\r\n const style = this.customOptions?.event?.style ?? {};\r\n\r\n const colors = {\r\n invalid: this.customOptions.colors?.invalid ?? 'var(--invalid-color, red)',\r\n valid:\r\n this.customOptions.colors?.valid ??\r\n 'var(--valid-color,var(--primaryColor , green))',\r\n };\r\n\r\n const _data = event?.dialogHook === 'afterSubmit' ? event.data?.data : event.data;\r\n\r\n return {\r\n id: event.id,\r\n color: _data?.Submit ? colors.valid : colors.invalid,\r\n ...style,\r\n ...(_data?.title ? { title: _data?.title } : {}),\r\n ...(_data?.start ? { start: this._toUtcDate(_data?.start) } : {}),\r\n ...(_data?.end ? { end: this._toUtcDate(_data?.end) } : {}),\r\n data: event.data,\r\n };\r\n }\r\n\r\n private _deleteEvent(id) {\r\n const data = this.calendarEvents.filter((event) => event?.id !== id);\r\n this.notifyValue(data);\r\n }\r\n\r\n private _clearAllEvents() {\r\n this._openConfirmDialog(\r\n this.translateService.instant('forms.common.clearEventsMsg')\r\n ).subscribe((res) => {\r\n const events = this.calendarEvents.filter(\r\n (event) => event.data?.data?.requiredSession\r\n );\r\n\r\n this.calendarEvents = events;\r\n this.notifyValue(this.calendarEvents);\r\n });\r\n }\r\n\r\n private _clearDayEvents(startDate) {\r\n const startDay = moment(startDate).startOf('day');\r\n const endDay = moment(startDate).endOf('day');\r\n const inDay = (date) =>\r\n moment(date).isSame(startDay) ||\r\n (moment(date).isAfter(startDay) && moment(date).isBefore(endDay));\r\n return this.calendarEvents.filter((event) => {\r\n const start = inDay(this._toLocalDate(event.start));\r\n if ('end' in event) {\r\n const end = inDay(this._toLocalDate(event.end));\r\n return !(start && end) || event?.data?.data?.requiredSession;\r\n }\r\n return !start || event?.data?.data?.requiredSession;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n private _appendDeleteButton(el: HTMLElement) {\r\n const btn = document.createElement('button');\r\n btn.className = 'delete-event';\r\n btn.innerHTML = '';\r\n btn.id = 'delete-event';\r\n el.appendChild(btn);\r\n return btn;\r\n }\r\n\r\n private _evaluate(\r\n { _string = this.customOptions?.event?.dialogForm?.data, params = {} } = {},\r\n emptyObj: any = { data: {} }\r\n ) {\r\n try {\r\n return _string\r\n ? Utils.evaluate(_string, { submission: this.data, ...params }) || emptyObj\r\n : emptyObj;\r\n } catch (error) {\r\n return emptyObj;\r\n }\r\n }\r\n\r\n _toUtcDate(date) {\r\n return moment.utc(new Date(date)).format();\r\n }\r\n\r\n _toLocalDate(date) {\r\n return moment.utc(date).local();\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { PagingResponse, Reviewer } from \"./models/reviewer.model\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { Country } from \"./models/country.model\";\r\nimport { Language } from \"./models/language.model\";\r\nimport { GeneralSpecialty } from \"./models/general-specialty.model\";\r\nimport { FormioAppConfig } from \"dp-formio\";\r\n\r\nexport const PAGE_SIZE = 10;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OrgService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n\r\n constructor(private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n getCountries(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}countriesinformation/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: Country = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getLanguages(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}manuallanguage/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: Language = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getGeneralSpecialty(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}specializationname/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: GeneralSpecialty = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n getLocalResidenceCity(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}ksacitieslistresource/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: GeneralSpecialty = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getReviewers(params: any, isMassar: boolean = false): Observable> {\r\n const endpoint = !isMassar ?\r\n this.formioAppConfig.endpoints.customReviewersAvailable :\r\n this.formioAppConfig.endpoints.customMasarReviewersAvailable;\r\n const url = `${this.baseUrl}${endpoint}`;\r\n return this.http.get(url, {\r\n observe: 'response',\r\n params: params\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: params?.size ?? PAGE_SIZE,\r\n page: params?.page ?? 0,\r\n };\r\n })\r\n );\r\n }\r\n\r\n getByEndpoint(url: string): Observable {\r\n return this.http.get(url);\r\n }\r\n}\r\n\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n OnChanges,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {\r\n NG_VALUE_ACCESSOR,\r\n NG_VALIDATORS,\r\n ControlValueAccessor,\r\n Validator,\r\n AbstractControl,\r\n ValidationErrors,\r\n} from '@angular/forms';\r\nimport { MatSelect, MatSelectChange } from '@angular/material/select';\r\nimport { iif, Observable } from 'rxjs';\r\nimport { MemberModel } from '../models/member.model';\r\nimport { CriterionsService } from '../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'lib-members-selector',\r\n templateUrl: './members-selector.component.html',\r\n styleUrls: ['./members-selector.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MembersSelectorComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => MembersSelectorComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MembersSelectorComponent\r\n implements OnInit, OnChanges, ControlValueAccessor, Validator {\r\n @ViewChild(MatSelect) matSelect: MatSelect;\r\n @Input() mode: 'BySession' | 'ByCriterion' = 'BySession';\r\n @Input() bindReviewer: boolean;\r\n @Input() visitKey: string;\r\n @Input() criterionKey: string;\r\n @Input() sessionId: string | number;\r\n @Output() selectionChange: EventEmitter =\r\n new EventEmitter();\r\n @Output() valueChange: EventEmitter = new EventEmitter();\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n onValidationChange: any = () => { };\r\n\r\n disabled = false;\r\n value: any = null;\r\n members$: Observable;\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n private criterionsService: CriterionsService\r\n ) { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n this.cd.markForCheck();\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this.cd.markForCheck();\r\n }\r\n validate(control: AbstractControl): ValidationErrors {\r\n return control.valid ? null : control.errors;\r\n }\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this.onValidationChange = fn;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.members$ = iif(() => this.mode == 'BySession',\r\n this.criterionsService.getSessionMembers(this.visitKey, this.sessionId),\r\n this.criterionsService.getCriterionMembers(this.visitKey, this.criterionKey));\r\n }\r\n\r\n modelChange(value) {\r\n this.value = value;\r\n this.onChange(value);\r\n }\r\n selectionChanged(event: MatSelectChange) {\r\n this.selectionChange.emit(new MatSelectChange(this.matSelect, event.value));\r\n this.valueChange.emit(event.value);\r\n this.onChange(event.value);\r\n this.onTouch();\r\n }\r\n}\r\n","\r\n\t
    \r\n\t\t\r\n\t
    \r\n
    \r\n\r\n\r\n\t
    \r\n\t\t
    \r\n\t\t\t

    \r\n\t\t\t\t{{ 'forms.common.' + data.title | translate }} - {{ 'forms.common.' + roles[data.submission.data.role] |\r\n\t\t\t\ttranslate}}\r\n\t\t\t

    \r\n\r\n\t\t\t\r\n\t\t
    \r\n\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.name\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ row | propertyLocalized : ['arabicName','englishName'] | async\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.Gender\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' + row?.gender | translate}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.nationality\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' + row?.nationality |\r\n\t\t\t\t\t\t\t\ttranslate}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.ResidenceCountry\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' +\r\n\t\t\t\t\t\t\t\trow?.residenceCountry |\r\n\t\t\t\t\t\t\t\ttranslate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.ResidencePlace\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' +\r\n\t\t\t\t\t\t\t\trow?.residencePlace |\r\n\t\t\t\t\t\t\t\ttranslate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.ResidenceCity\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' +\r\n\t\t\t\t\t\t\t\trow?.residenceCity |\r\n\t\t\t\t\t\t\t\ttranslate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.workSide\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ row?.workDestination}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.publicSpecialty\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' + row?.generalSpecialty | translate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.reviewerState\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ \"forms.common.\" + row?.reviewerState | translate }}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{{'forms.common.Details' | translate}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{{ \"forms.common.No items added yet\" | translate }}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t
    \r\n\t
    \r\n
    \r\n","
    \r\n

    Fields to be used

    \r\n
    Click to copy to clipboard
    \r\n
    \r\n
    \r\n \r\n \r\n
    {{item.text}}
    \r\n
    {{item.value}}
    \r\n
    \r\n
    \r\n
    \r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { ExternalService } from 'dp-formio';\r\n\r\nexport function createExternalService(http: HttpClient) {\r\n return new ExternalService(http);\r\n}","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\n\r\nimport { DistributeTeamMembersComponent } from './distribute-team-members.component';\r\n\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'distribute-team',\r\n selector: 'distribute-team',\r\n title: 'distribute-team',\r\n};\r\n\r\nexport function registerDistributeTeamMembersComponent(injector: Injector) {\r\n registerCustomFormioComponent(\r\n COMPONENT_OPTIONS,\r\n DistributeTeamMembersComponent,\r\n injector\r\n );\r\n}\r\n\r\n ","import { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TooltipDialog } from '../../assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { IndicatorQuestions } from '../models/indicator.model';\r\n\r\n\r\n@Component({\r\n selector: 'app-indicator-question',\r\n templateUrl: './indicator-question.component.html',\r\n // styleUrls: ['./indicator-question.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class IndicatorQuestionComponent {\r\n @Input() dir;\r\n @Input() question: IndicatorQuestions;\r\n @Input() viewOnly: boolean;\r\n\r\n constructor(private dialog: MatDialog,\r\n private translateService: TranslateService) {\r\n\r\n }\r\n\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n checkValue(event) {\r\n if (this.question.answer < 0 || this.question.answer == null) this.question.answer = 0;\r\n event.target.value = this.question.answer;\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{ 'DISTRIBUTE.members' | translate }}

    \r\n \r\n \r\n \r\n {{ member?.reviewer | getMemberName }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    {{ 'DISTRIBUTE.addMembers' | translate }}

    \r\n\r\n \r\n \r\n \r\n \r\n {{ member?.reviewer | getMemberName }}\r\n \r\n \r\n \r\n \r\n \r\n {{ member?.reviewer |\r\n getMemberName }} \r\n\r\n \r\n \r\n
    \r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { NumberCounterWrapperComponent } from './number-counter-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'number-counter',\r\n selector: 'number-counter',\r\n title: 'number counter wrapper'\r\n};\r\n\r\nexport function registerNumberCounterComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, NumberCounterWrapperComponent, injector);\r\n}","import { utils } from 'formiojs/utils';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject, Subscription, forkJoin, Subject, Observable, debounceTime, distinctUntilChanged } from 'rxjs';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { Utils } from 'formiojs';\r\nimport { AddEditDialog } from './add-edit-dialog/add-edit-dialog.component';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-table-tree-wrapper',\r\n templateUrl: './table-tree-wrapper.component.html',\r\n // styleUrls: ['./table-tree-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class TableTreeWrapperComponent implements FormioCustomComponent, OnChanges, OnDestroy {\r\n dir: \"rtl\" | \"ltr\";\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private sub: Subscription;\r\n name: string;\r\n readonly dataSource: BehaviorSubject;\r\n readonly filterDataSource: BehaviorSubject;\r\n readonly treeSource: MatTreeNestedDataSource;\r\n readonly filteredTreeSource: MatTreeNestedDataSource;\r\n filterUpdate = new Subject();\r\n filterKeyword = '';\r\n /** tree control */\r\n readonly treeControl = new NestedTreeControl(node => node.childrens);\r\n readonly hasChild = (_: number, node: any) => !!node.childrens && node.childrens.length > 0;\r\n readonly trackBy = (_: number, node: any) => node.id;\r\n\r\n branches = [];\r\n\r\n windowProperties = {\r\n fullscreen: false,\r\n open: false\r\n };\r\n activeNode = null;\r\n activeParentNode = null;\r\n activeNodeData = null;\r\n activeNodeState: 'add' | 'edit';\r\n\r\n showMainBranch: any;\r\n\r\n modifyInDialog: boolean;\r\n\r\n constructor(private translateService?: TranslateService,\r\n private resourceNameService?: ResourceNameService,\r\n private formioLoader?: FormioLoader,\r\n private dialog?: MatDialog) {\r\n if (this.translateService) {\r\n this.initFilterListener();\r\n this.treeSource = new MatTreeNestedDataSource();\r\n this.filteredTreeSource = new MatTreeNestedDataSource();\r\n\r\n this.dataSource = new BehaviorSubject([]);\r\n this.filterDataSource = new BehaviorSubject([]);\r\n\r\n this.dataSource.subscribe(items => {\r\n this.treeSource.data = null;\r\n this.treeSource.data = items;\r\n });\r\n\r\n this.filterDataSource.subscribe(items => {\r\n this.filteredTreeSource.data = null;\r\n this.filteredTreeSource.data = items;\r\n });\r\n\r\n this.dataSource.next([]);\r\n this.filterDataSource.next([]);\r\n // this.notifyValue();\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n this.sub = this.checklistSelection.changed.subscribe(data => {\r\n console.log(data.source.selected);\r\n });\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formioLoader.loading = false;\r\n if (this.customOptions) {\r\n this.name = Object.keys(this.customOptions)[0];\r\n if (this.customOptions.modifyInDialog) this.modifyInDialog = this.customOptions.modifyInDialog;\r\n this.checkMainBranch();\r\n if (this.value) this.fillData();\r\n }\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n });\r\n }\r\n\r\n checkIsMain = (item, prop, node?) => {\r\n if (this.showMainBranch && this.showMainBranch?.fieldName) {\r\n if (prop && prop.rowSubmission) {\r\n item.isMain = prop.rowSubmission.data[this.showMainBranch.fieldName] == true;\r\n\r\n } else if (node && node.rowSubmission) {\r\n item.isMain = node.rowSubmission.data[this.showMainBranch.fieldName] == true;\r\n }\r\n\r\n }\r\n }\r\n checkResources = (item, prop, node?) => {\r\n if (prop && prop.resource) {\r\n item.resource = prop.resource;\r\n item.extra = prop.extra;\r\n\r\n } else if (node && node.resource) {\r\n item.resource = node.resource;\r\n item.extra = node.extra;\r\n }\r\n }\r\n dialogConfig = (prop, node?) => {\r\n const item: any = {\r\n dir: this.dir,\r\n isAdd: prop.isAdd,\r\n name: prop.name ?? node.translatedName,\r\n fields: prop.fields ?? _cloneDeep(node.fields),\r\n branches: this.branches,\r\n rowSubmission: prop.rowSubmission ?? (node?.rowSubmission ?? null),\r\n parentRowSubmission: prop.parentRowSubmission ?? (node?.parentRowSubmission ?? null),\r\n resource: prop.resource ?? node.resource,\r\n apiKey: prop.apiKey ?? node.apiKey,\r\n parentApiKey: prop.parentApiKey ?? node.parentApiKey,\r\n extra: prop.extra ?? node.extra,\r\n disableFields: prop.disableFields ?? (node?.disableFields ?? null),\r\n icon: prop.icon ?? node.icon,\r\n color: prop.color ?? node.color,\r\n isView: prop.viewMode ?? false,\r\n data: this.data,\r\n value: this.branches\r\n }\r\n this.checkIsMain(item, prop, node);\r\n this.checkResources(item, prop, node);\r\n return item;\r\n };\r\n itemSetup = (prop, node?) => {\r\n const item: any = {\r\n id: prop.id ?? node.id,\r\n name: prop.name ?? node.prop,\r\n translatedName: prop.translatedName ?? node.translatedName,\r\n fields: prop.fields ?? node.fields,\r\n branches: this.branches,\r\n rowSubmission: prop.rowSubmission ?? node.rowSubmission,\r\n parentRowSubmission: prop.parentRowSubmission ?? node.parentRowSubmission,\r\n resource: prop.resource ?? node.resource,\r\n apiKey: prop.apiKey ?? node.apiKey,\r\n parentApiKey: prop.parentApiKey ?? node.parentApiKey,\r\n extra: prop.extra ?? node.extra,\r\n disableFields: prop.disableFields ?? node.disableFields,\r\n icon: prop.icon ?? node.icon,\r\n color: prop.color ?? node.color,\r\n actions: prop.actions ?? node.actions,\r\n childrens: prop.children ?? node.childrens\r\n };\r\n this.checkIsMain(item, prop, node);\r\n this.checkResources(item, prop, node);\r\n return item;\r\n };\r\n\r\n createDialog(isAdd: boolean, level: any, parentNode = null) {\r\n this.clearActive();\r\n this.activeNodeState = 'add';\r\n this.activeNode = level;\r\n this.activeParentNode = parentNode;\r\n this.activeNodeData = this.dialogConfig({\r\n isAdd: isAdd,\r\n name: Object.keys(level)[0],\r\n fields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n rowSubmission: level[Object.keys(level)[0]].rowSubmission,\r\n parentRowSubmission: parentNode?.rowSubmission ?? null,\r\n resource: level[Object.keys(level)[0]].resource,\r\n apiKey: level[Object.keys(level)[0]].apiKey,\r\n parentApiKey: level[Object.keys(level)[0]].parentApiKey,\r\n extra: level[Object.keys(level)[0]].extra,\r\n disableFields: level[Object.keys(level)[0]].disableFields,\r\n icon: level[Object.keys(level)[0]].icon,\r\n color: level[Object.keys(level)[0]].color,\r\n data: this.data\r\n });\r\n this.checkOpenInDialog();\r\n }\r\n\r\n editDialog(node: any) {\r\n this.clearActive();\r\n this.activeNodeState = 'edit';\r\n this.activeNode = node;\r\n this.activeParentNode = null;\r\n this.activeNodeData = this.dialogConfig({ isAdd: false }, node);\r\n this.checkOpenInDialog();\r\n }\r\n\r\n viewDialog(node: any) {\r\n this.clearActive();\r\n this.activeNode = node;\r\n this.activeNodeData = this.dialogConfig({ viewMode: true }, node);\r\n this.checkOpenInDialog();\r\n }\r\n\r\n private checkOpenInDialog() {\r\n if (this.modifyInDialog) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = Utils.guid();\r\n dialogConfig.panelClass = \"custom-modal-component\";\r\n dialogConfig.direction = this.dir;\r\n dialogConfig.data = this.activeNodeData;\r\n this.dialog.closeAll();\r\n const modalDialog = this.dialog.open(AddEditDialog, dialogConfig);\r\n modalDialog.afterClosed().subscribe(data => {\r\n this.closeActive(data);\r\n });\r\n }\r\n }\r\n\r\n closeActive(result: any) {\r\n if (result) {\r\n this.formioLoader.loading = true;\r\n if (this.activeNodeState == 'add') {\r\n this.fillSource(result, this.activeNode, this.activeParentNode)\r\n } else if (this.activeNodeState == 'edit') {\r\n const comfirmed = result?.rowSubmission?.data?.accredited ? `` : '';\r\n const colorStyle = result.color ? `color: ${result?.color} !important;` : '';\r\n const icon = result.icon ? `` : '';\r\n const item = this.itemSetup({\r\n name: `${icon || ''} ${comfirmed} ${this.translateService.instant(`forms.common.${this.activeNode.translatedName}`)} :` + result.fields.filter(q => q.viewInTree && q.value).map(q => q.value).join(' • '),\r\n fields: result.fields,\r\n rowSubmission: result.rowSubmission,\r\n parentRowSubmission: result.parentRowSubmission,\r\n resource: result.resource,\r\n apiKey: result.apiKey,\r\n parentApiKey: result.parentApiKey,\r\n extra: result.extra,\r\n disableFields: result.disableFields,\r\n }, this.activeNode);\r\n this.findInDataSourceAndUpdate(this.dataSource.value, item);\r\n this.dataSource.next([...this.dataSource.value]);\r\n this.notifyValue();\r\n }\r\n this.formioLoader.loading = false;\r\n }\r\n this.clearActive();\r\n }\r\n clearActive() {\r\n this.activeNode = null;\r\n this.activeParentNode = null;\r\n this.activeNodeData = null;\r\n this.activeNodeState = null;\r\n }\r\n\r\n\r\n fillSource(result: any, level: any, parentNode = null, notify: boolean = true) {\r\n const comfirmed = level[Object.keys(level)[0]].confirmedFieldName && result?.rowSubmission?.data[level[Object.keys(level)[0]].confirmedFieldName] ?\r\n `` : '';\r\n const colorStyle = result.color ? `color: ${result?.color} !important;` : '';\r\n const icon = result?.icon ? `` : '';\r\n const newItem = this.itemSetup({\r\n id: Utils.guid(),\r\n name: `${icon || ''} ${comfirmed} ${this.translateService.instant(`forms.common.${Object.keys(level)[0]}`)} : ` + result.fields.filter(q => q.viewInTree && q.value).map(q => q.value).join(' • '),\r\n translatedName: Object.keys(level)[0],\r\n actions: level[Object.keys(level)[0]].actions,\r\n children: []\r\n }, result);\r\n if (parentNode) {\r\n this.findInDataSourceAndFill(this.dataSource.value, parentNode, newItem);\r\n this.dataSource.next([...this.dataSource.value]);\r\n if (notify) this.notifyValue();\r\n return newItem;\r\n } else {\r\n this.dataSource.next([\r\n ...this.dataSource.value,\r\n {\r\n ...newItem\r\n }\r\n ]);\r\n if (notify) this.notifyValue();\r\n return newItem;\r\n }\r\n }\r\n\r\n createNode(parentNode, bindWith) {\r\n const node = this.findNode(this.customOptions, bindWith);\r\n this.createDialog(true, node, parentNode);\r\n }\r\n\r\n findNode(startedPoint, bindWith) {\r\n for (let item in startedPoint) {\r\n if (item == bindWith) return startedPoint;\r\n else {\r\n const branchOfNods = startedPoint[item].childrens.find(q => this.findNode(q, bindWith));\r\n if (branchOfNods) return this.findNode(branchOfNods, bindWith);\r\n }\r\n }\r\n }\r\n findNodeByKey(startedPoint, key) {\r\n for (let item in startedPoint) {\r\n if (Object.values(startedPoint[item]).includes(key)) return startedPoint[item];\r\n else {\r\n const bindWith = startedPoint[item].actions?.find(q => !!q.bindWith)?.bindWith ?? null;\r\n if (bindWith) {\r\n const branchOfNods = startedPoint[item].childrens.find(q => this.findNode(q, bindWith));\r\n if (branchOfNods) return this.findNodeByKey(branchOfNods, key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n findInDataSourceAndFill(startedPoint, parentNode, newItem) {\r\n startedPoint.forEach(q => {\r\n if (q.id == parentNode.id) q.childrens.push(newItem);\r\n else this.findInDataSourceAndFill(q.childrens, parentNode, newItem);\r\n });\r\n }\r\n\r\n findInDataSourceAndUpdate(startedPoint, item) {\r\n for (let index = 0; index < startedPoint.length; index++) {\r\n if (startedPoint[index].id == item.id) startedPoint[index] = { ...item };\r\n else this.findInDataSourceAndUpdate(startedPoint[index].childrens, item);\r\n }\r\n }\r\n\r\n removeNode(node) {\r\n if (node.childrens && node.childrens.length) {\r\n DeleteConfirmationDialog.build(this.formioComponent, null, null,\r\n 'This item cannot be deleted Please delete the items associated with it first');\r\n return;\r\n }\r\n //check if has related\r\n if (this.customOptions.relatedEntityWhenDelete) {\r\n let hasRelated = false;\r\n this.customOptions.relatedEntityWhenDelete.forEach(item => {\r\n const result = Utils.evaluate(item.value, { removedId: node.rowSubmission._id, value: this.data[item.key] });\r\n if (result) hasRelated = true;\r\n });\r\n\r\n if (hasRelated) {\r\n DeleteConfirmationDialog.build(this.formioComponent, null, null,\r\n 'This item cannot be deleted Please delete the items associated with it first');\r\n return;\r\n }\r\n }\r\n\r\n //delete item\r\n DeleteConfirmationDialog.build(this.formioComponent, () => {\r\n this.deleteFromResource(node);\r\n }, null, 'Are you sure to delete this item');\r\n }\r\n\r\n deleteFromResource(node) {\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.deleteResourceData(node.resource, node.rowSubmission._id)\r\n .subscribe(() => {\r\n const data = this.dataSource.value;\r\n this.dataSource.next(this.deepRemoveNode(_cloneDeep(data), node));\r\n this.checklistSelection.clear();\r\n this.clearActive()\r\n this.notifyValue();\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n deepRemoveNode(data: any[], node: any | any[]) {\r\n const result = [];\r\n data.forEach(item => {\r\n if (item.childrens && item.childrens.length)\r\n item.childrens = this.deepRemoveNode(item.childrens, node);\r\n if (node instanceof Array) {\r\n if (!node.find(q => q.id == item.id)) result.push(item);\r\n } else if (item.id != node.id) result.push(item);\r\n });\r\n return result;\r\n }\r\n\r\n getRemovedNode(data: any[], node: any | any[], removedNodes: any[] = []) {\r\n data.forEach(item => {\r\n if (item.childrens && item.childrens.length)\r\n this.getRemovedNode(item.childrens, node, removedNodes);\r\n\r\n if (item.id && item.id == node.id && item.fields && item.fields.length)\r\n removedNodes.push(item.fields[0].value);\r\n });\r\n\r\n return removedNodes;\r\n }\r\n\r\n hasAction(node, action) {\r\n return !!node.actions.find(q => q.name == action);\r\n }\r\n\r\n private initFilterListener() {\r\n this.sub = this.filterUpdate.pipe(\r\n debounceTime(350),\r\n distinctUntilChanged())\r\n .subscribe(keyword => {\r\n this.filterData(keyword);\r\n });\r\n }\r\n\r\n private filterData(keyword: string = '') {\r\n if (keyword.length) {\r\n const data = [];\r\n this.dataSource.value.forEach(node => {\r\n this.recursiveFilterNode(keyword, data, node, node);\r\n });\r\n this.filterDataSource.next(data);\r\n } else {\r\n this.filterDataSource.next([]);\r\n this.filterDataSource.next(_cloneDeep(this.dataSource.value));\r\n }\r\n }\r\n\r\n private recursiveFilterNode(keyword: string, array: any[], parentNode: any, currentNode: any) {\r\n if (currentNode.fields.some(f => f.value.includes(keyword))) {\r\n if (array.find(n => n.id == parentNode.id)) return;\r\n array.push(parentNode);\r\n } else {\r\n if (currentNode.childrens)\r\n currentNode.childrens.forEach(c => {\r\n this.recursiveFilterNode(keyword, array, parentNode, c);\r\n });\r\n }\r\n }\r\n\r\n private notifyValue() {\r\n this.filterData(this.filterKeyword);\r\n const branches = [];\r\n for (const temp of this.dataSource.value) {\r\n let item = this.getFiledsValue(temp);\r\n this.getChildrensValue(item, temp);\r\n branches.push(item);\r\n }\r\n this.branches = branches;\r\n\r\n const branchesIds = [];\r\n for (const temp of this.dataSource.value) {\r\n let item = this.getFiledsValue(temp, true);\r\n this.getChildrensValue(item, temp, true);\r\n branchesIds.push(item);\r\n }\r\n this.value = { branchesData: branchesIds };\r\n this.valueChange.emit(this.value);\r\n\r\n setTimeout(() => {\r\n this.saveResultObjectsOn();\r\n this.afterChangeValue();\r\n this.checkMainBranch();\r\n });\r\n }\r\n\r\n private saveResultObjectsOn() {\r\n if (this.customOptions && this.customOptions.saveResultObjectsOn) {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: this.customOptions.saveResultObjectsOn });\r\n components.forEach(c => {\r\n c.setValue(this.branches ?? []);\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: this.customOptions.saveResultObjectsOn });\r\n components.forEach(c => {\r\n c.setValue(this.branches ?? []);\r\n });\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n checkMainBranch() {\r\n if (this.customOptions && this.customOptions.showMainBranch) {\r\n this.showMainBranch = this.customOptions.showMainBranch;\r\n const mainBranch = Utils.evaluate(this.customOptions.showMainBranch.condition, { value: this.branches });\r\n if (mainBranch) {\r\n this.showMainBranch.hasMainBransh = true;\r\n this.showMainBranch.fields.forEach(item => {\r\n if (item.type == \"pair\") {\r\n const key = this.translateService.currentLang.toLowerCase() == 'ar' ? item.nameAr : item.nameEn;\r\n item.value = mainBranch[key].split(' - ')[0];\r\n }\r\n else item.value = mainBranch[item.name];\r\n });\r\n }\r\n }\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n if (item.value) {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n this.data[item.key] = value;\r\n }\r\n\r\n if (item.justInData) {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n this.data[item.key] = value;\r\n } else\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) {\r\n c.calculateValue(this.data);\r\n c.triggerChange();\r\n }\r\n else {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n c.setValue(value);\r\n }\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) {\r\n c.calculateValue(this.data);\r\n c.triggerChange();\r\n }\r\n else {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n c.setValue(value);\r\n }\r\n });\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n private getFiledsValue(node, justIds: boolean = false) {\r\n let item = {};\r\n if (!justIds) {\r\n for (const [key, value] of Object.entries(node.rowSubmission.data)) {\r\n item[key] = value;\r\n }\r\n item[`_id`] = node.rowSubmission._id;\r\n }\r\n item[`${node.apiKey}SubmissionId`] = node.rowSubmission._id;\r\n return item;\r\n }\r\n\r\n private getChildrensValue(item, node, justIds: boolean = false) {\r\n if (justIds) {\r\n const subProps = node.actions.filter(q => q.bindWith).map(q => q.bindWith);\r\n subProps.forEach(key => {\r\n const apiKey = this.findNode(this.customOptions, key)[key].apiKey;\r\n item[apiKey] = [];\r\n });\r\n\r\n if (node?.childrens?.length > 0) {\r\n node.childrens.forEach(q => {\r\n const child = this.getFiledsValue(q, justIds);\r\n if (q.childrens.length > 0) this.getChildrensValue(child, q, justIds);\r\n if (item && item[q.apiKey]) item[q.apiKey].push(child);\r\n });\r\n }\r\n } else {\r\n const subProps = node.actions.filter(q => q.bindWith).map(q => q.bindWith);\r\n subProps.forEach(key => {\r\n item[key] = [];\r\n });\r\n\r\n if (node?.childrens?.length > 0) {\r\n node.childrens.forEach(q => {\r\n const child = this.getFiledsValue(q, justIds);\r\n if (q.childrens.length > 0) this.getChildrensValue(child, q, justIds);\r\n if (item && item[q.translatedName]) item[q.translatedName].push(child);\r\n });\r\n }\r\n }\r\n }\r\n\r\n private fillData() {\r\n const levelsIds: Array<{ node: any, ids: string[] }> = [];\r\n this.value.branchesData.forEach(item => {\r\n const key = Object.keys(item).find(q => q.endsWith('SubmissionId'))\r\n const node = this.findNodeByKey(this.customOptions, key.replace('SubmissionId', ''));\r\n this.recursiveFillResourceLevel(levelsIds, item, key, node);\r\n });\r\n\r\n if (this.customOptions.saveResultObjectsOn && this.data[this.customOptions.saveResultObjectsOn] && this.data[this.customOptions.saveResultObjectsOn].length) {\r\n this.fillDataResult(levelsIds, this.data[this.customOptions.tableTreeLevels]);\r\n } else {\r\n if (levelsIds && levelsIds.length) this.formioLoader.loading = true;\r\n const apiRequests = levelsIds.map(q => {\r\n return this.resourceNameService.loadCustomByFilterdKey(q.node.resource, `_id__in=${q.ids.join()}&sort=created`);\r\n });\r\n forkJoin(apiRequests).subscribe(result => {\r\n this.fillDataResult(levelsIds, result);\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n }\r\n\r\n private fillDataResult(levelsIds: any[], result: any[]) {\r\n this.branches = [];\r\n this.dataSource.next([]);\r\n this.filterDataSource.next([]);\r\n\r\n result[0].forEach(q => {\r\n const item = this.fillFromApi(levelsIds, 0, q, result);\r\n this.branches.push(item);\r\n });\r\n\r\n this.branches.forEach(data => {\r\n const level = this.customOptions;\r\n const item = {\r\n fields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n icon: level[Object.keys(level)[0]].icon,\r\n color: level[Object.keys(level)[0]].color,\r\n apiKey: level[Object.keys(level)[0]].apiKey,\r\n parentApiKey: level[Object.keys(level)[0]].parentApiKey,\r\n extra: level[Object.keys(level)[0]].extra,\r\n disableFields: level[Object.keys(level)[0]].disableFields,\r\n resource: level[Object.keys(level)[0]].resource,\r\n rowSubmission: result[0].find(q => q._id == data._id),\r\n parentRowSubmission: null,\r\n childrens: []\r\n };\r\n item.fields.forEach(prop => {\r\n if (data[prop.name]) prop.value = data[prop.name];\r\n });\r\n const currentNode = this.fillSource(item, level, null, false);\r\n level[Object.keys(level)[0]].actions.filter(q => q.bindWith).forEach(element => {\r\n if (data[element.bindWith]) {\r\n const node = this.findNode(this.customOptions, element.bindWith);\r\n this.findAndFillSubData(data[element.bindWith], node, currentNode, result, levelsIds, null, false);\r\n }\r\n });\r\n });\r\n\r\n this.filterData();\r\n this.formioLoader.loading = false;\r\n this.notifyValue();\r\n\r\n if (this.customOptions.showMainBranch &&\r\n this.customOptions.showMainBranch.enableDefaultSelect &&\r\n this.filteredTreeSource.data.length &&\r\n !this.modifyInDialog) {\r\n this.viewDialog(this.filteredTreeSource.data[0]);\r\n }\r\n }\r\n\r\n private recursiveFillResourceLevel(levelsIds, item, key, node) {\r\n\r\n const index = levelsIds.findIndex(q => q.node.resource == node.resource);\r\n if (index >= 0) {\r\n levelsIds[index].ids.push(item[key]);\r\n }\r\n else levelsIds.push({ node: node, ids: [item[key]] });\r\n\r\n const bindWith = node.actions.find(q => !!q.bindWith)?.bindWith ?? null;\r\n\r\n if (bindWith)\r\n node.childrens.filter(q => q[bindWith]).forEach(element => {\r\n (item[element[bindWith].apiKey] ?? []).forEach(item => {\r\n const key = Object.keys(item).find(q => q.endsWith('SubmissionId'))\r\n const node = this.findNodeByKey(this.customOptions, key.replace('SubmissionId', ''));\r\n this.recursiveFillResourceLevel(levelsIds, item, key, node);\r\n });\r\n });\r\n\r\n }\r\n\r\n private fillFromApi(levelsIds, levelsIdsIndex, nodeApiData, allApisData) {\r\n const item = { ...nodeApiData.data, _id: nodeApiData._id };\r\n\r\n const subProps = levelsIds[levelsIdsIndex].node.actions.filter(q => q.bindWith).map(q => q.bindWith);\r\n subProps.forEach(key => {\r\n const subNode = this.findNode(this.customOptions, key)[key];\r\n const subNodeIndex = levelsIds.findIndex(q => q.node.resource == subNode.resource);\r\n if (subNodeIndex >= 0) {\r\n const tempItems = allApisData[subNodeIndex].filter(q => q.data[levelsIds[subNodeIndex].node.parentApiKey] == item._id);\r\n tempItems.forEach(tempItem => {\r\n const temp = this.fillFromApi(levelsIds, subNodeIndex, tempItem, allApisData);\r\n if (!item[key]) item[key] = [];\r\n item[key].push(temp);\r\n });\r\n }\r\n });\r\n return item;\r\n }\r\n\r\n private findAndFillSubData(array, level, parrentNode, result, levelsIds, parentRowSubmission = null, notify: boolean) {\r\n array.forEach(data => {\r\n const item = {\r\n fields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n icon: level[Object.keys(level)[0]].icon,\r\n color: level[Object.keys(level)[0]].color,\r\n apiKey: level[Object.keys(level)[0]].apiKey,\r\n parentApiKey: level[Object.keys(level)[0]].parentApiKey,\r\n extra: level[Object.keys(level)[0]].extra,\r\n disableFields: level[Object.keys(level)[0]].disableFields,\r\n resource: level[Object.keys(level)[0]].resource,\r\n rowSubmission: result[levelsIds.findIndex(q => q.node.resource == level[Object.keys(level)[0]].resource)].find(q => q._id == data._id),\r\n parentRowSubmission: parentRowSubmission,\r\n childrens: []\r\n };\r\n item.fields.forEach(prop => {\r\n if (data[prop.name]) prop.value = data[prop.name];\r\n });\r\n const currentNode = this.fillSource(item, level, parrentNode, notify);\r\n level[Object.keys(level)[0]].actions.filter(q => q.bindWith).forEach(element => {\r\n if (data[element.bindWith]) {\r\n const node = this.findNode(this.customOptions, element.bindWith);\r\n this.findAndFillSubData(data[element.bindWith], node, currentNode, result, levelsIds, item.rowSubmission, notify);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /* Selection Code */\r\n checklistSelection = new SelectionModel(true);\r\n getLevel = (node: any) => node.level;\r\n\r\n todoLeafItemSelectionToggle(node: any): void {\r\n this.checklistSelection.toggle(node);\r\n this.checkAllParentsSelection(node);\r\n }\r\n\r\n checkAllParentsSelection(node: any): void {\r\n let parent: any | null = this.getParentNode(node);\r\n while (parent) {\r\n this.checkRootNodeSelection(parent);\r\n parent = this.getParentNode(parent);\r\n }\r\n }\r\n\r\n getParentNode(node: any): any | null {\r\n const currentLevel = this.getLevel(node);\r\n\r\n if (currentLevel < 1) {\r\n return null;\r\n }\r\n\r\n if (!this.treeControl.dataNodes) return;\r\n const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\r\n\r\n for (let i = startIndex; i >= 0; i--) {\r\n const currentNode = this.treeControl.dataNodes[i];\r\n\r\n if (this.getLevel(currentNode) < currentLevel) {\r\n return currentNode;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n checkRootNodeSelection(node: any): void {\r\n const nodeSelected = this.checklistSelection.isSelected(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\r\n return this.checklistSelection.isSelected(child);\r\n });\r\n if (nodeSelected && !descAllSelected) {\r\n this.checklistSelection.deselect(node);\r\n } else if (!nodeSelected && descAllSelected) {\r\n this.checklistSelection.select(node);\r\n }\r\n }\r\n\r\n descendantsAllSelected(node: any): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\r\n return this.checklistSelection.isSelected(child);\r\n });\r\n // if (descAllSelected) this.checklistSelection.select(node);\r\n // else this.checklistSelection.deselect(node);\r\n return descAllSelected;\r\n }\r\n\r\n descendantsPartiallySelected(node: any): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n todoItemSelectionToggle(node: any): void {\r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n this.checklistSelection.isSelected(node)\r\n ? this.checklistSelection.select(...descendants)\r\n : this.checklistSelection.deselect(...descendants);\r\n\r\n // Force update for the parent\r\n descendants.forEach(child => this.checklistSelection.isSelected(child));\r\n this.checkAllParentsSelection(node);\r\n }\r\n\r\n /* End Selection Code */\r\n\r\n ngOnDestroy() {\r\n if (this.sub) this.sub.unsubscribe();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { QuestionSession } from 'src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/models';\r\n\r\n@Pipe({\r\n name: 'membersLength',\r\n})\r\nexport class MembersLengthPipe implements PipeTransform {\r\n transform(value: QuestionSession[]): number {\r\n if (!Array.isArray(value) || !value.length) {\r\n return 0;\r\n }\r\n\r\n const data = value.reduce((acc, item) => {\r\n const _item = item.members.split(',');\r\n return [...acc, ..._item];\r\n }, []);\r\n\r\n const set = new Set(data);\r\n\r\n return set.size;\r\n }\r\n}\r\n","import { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class Destroy extends Observable implements OnDestroy {\r\n private readonly destroySubject$ = new ReplaySubject(1);\r\n\r\n constructor() {\r\n super((subscriber) => this.destroySubject$.subscribe(subscriber));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroySubject$.next();\r\n this.destroySubject$.complete();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    ","
    \r\n\t\r\n\t\t\r\n\r\n\t\t
    \r\n\t\t
    \r\n\t
    \r\n\r\n\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{{'forms.common.' + node.data.dataItem.role | translate}}
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    {{currentLang == 'ar' ? node.data.dataItem.arabicName :\r\n\t\t\t\t\t\t\tnode.data.dataItem.englishName}}
    \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{{'forms.common.NoDecision' | translate}}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{{'forms.common.Approve' | translate}}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{{'forms.common.Reject' | translate}}\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    ","\r\nimport { TemplateObjectsService } from './template-process/services/template-objects.service';\r\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { EditTemplateDialog } from './edit-template-dialog/edit-template-dialog.component';\r\nimport { Utils } from 'formiojs';\r\nimport download from 'downloadjs';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService, ViewerComponent } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-template-wrapper',\r\n templateUrl: './template-wrapper.component.html',\r\n // styleUrls: ['./template-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class TemplateWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n\r\n @Input()\r\n value: any = {};\r\n\r\n @Output()\r\n valueChange = new EventEmitter();\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n viewOnly: boolean;\r\n\r\n @Input()\r\n data: any;\r\n\r\n @Input()\r\n customOptions: any;\r\n\r\n @Input()\r\n formioComponent: any;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n selectedTemplate: any;\r\n resource = '';\r\n query = '';\r\n templates: any[] = [];\r\n\r\n evaluatedTemplate: any;\r\n baseValue: any;\r\n\r\n constructor(private translateService: TranslateService,\r\n private dialog: MatDialog,\r\n private resourceNameService: ResourceNameService,\r\n private templateObjectsService: TemplateObjectsService,\r\n private formloader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions && this.customOptions.resource) {\r\n this.resource = this.customOptions.resource;\r\n if (this.customOptions.query)\r\n this.query = this.formioComponent.interpolate(this.customOptions.query, { data: this.data });\r\n this.getTemplatesResources();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n changeTemplate(event) {\r\n if (!event) {\r\n this.evaluatedTemplate = null;\r\n this.notifyValue();\r\n return;\r\n }\r\n console.log(event);\r\n\r\n this.evaluatedTemplate = null;\r\n this.sub = this.resourceNameService.loadCustomByKeyId(this.resource, event._id)\r\n .subscribe(res => {\r\n this.selectedTemplate.res = res;\r\n this.editTemplate();\r\n });\r\n }\r\n\r\n editTemplate(base64: string = null) {\r\n this.formloader.loading = true;\r\n this.sub = this.templateObjectsService.getRequestData(this.data.requestDetails.data.currentRoute.split('?case=')[1])\r\n .subscribe(requestData => {\r\n this.templateObjectsService.PROCESS_HOST_URL = this.selectedTemplate.processHostUrl;\r\n const fields = [];\r\n\r\n const flattenData = this.flatten(this.data);\r\n //remove brackets from any phone number\r\n Object.keys(flattenData).forEach(key => {\r\n if (/^\\([0-9]{5}\\)[0-9]{9}$/i.test(flattenData[key]))\r\n flattenData[key] = flattenData[key].replace(/\\(|\\)/g, '');\r\n });\r\n\r\n //localizedFields\r\n this.selectedTemplate.res.data.localizedFields.forEach(key => {\r\n if (flattenData[key]) flattenData[key] = this.translateService.instant(`forms.common.${flattenData[key]}`);\r\n });\r\n\r\n for (const [key, value] of Object.entries(flattenData)) {\r\n const keyParts = key.split('_');\r\n if (value === '' || typeof value == 'number' || typeof value == 'string' || value instanceof Date || value instanceof Boolean) {\r\n fields.push({ key: `\\${${key}}`, label: this.translateService.instant(keyParts[keyParts.length - 1]) });\r\n }\r\n else if (value instanceof Array && value.length) {\r\n if (value[0] === '' || typeof value == 'number' || typeof value == 'string' || value[0] instanceof Date || value instanceof Boolean) {\r\n fields.push({ key: `\\${${key}}`, label: this.translateService.instant(keyParts[keyParts.length - 1]) });\r\n }\r\n }\r\n }\r\n\r\n const selectedTemplate = {\r\n requestType: requestData[0].serviceId,\r\n requestId: requestData[0].data,\r\n uid: this.selectedTemplate.res._id,\r\n // uid: base64 ? '' : this.selectedTemplate.res._id,\r\n referenceNumber: this.selectedTemplate.res.data.order,\r\n creationDate: new Date(),\r\n name: this.translateService.instant(`forms.common.${this.selectedTemplate.res.data.value}`),\r\n fields\r\n };\r\n\r\n document.dir = 'ltr';\r\n const dialogRef = this.dialog.open(EditTemplateDialog, {\r\n width: '100vw',\r\n maxWidth: '100vw',\r\n height: '100vh',\r\n panelClass: 'template-wrapper-dialog',\r\n data: {\r\n dir: this.dir,\r\n selectedTemplate,\r\n data: flattenData\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n document.dir = this.translateService.currentLang === 'ar' ? 'rtl' : 'ltr';\r\n if (result && result.evaluated) {\r\n console.log(result);\r\n this.evaluatedTemplate = result.evaluated;\r\n } else {\r\n if (!base64) this.initByValue();\r\n }\r\n this.notifyValue();\r\n });\r\n this.formloader.loading = false;\r\n }, error => {\r\n this.formloader.loading = false;\r\n });\r\n }\r\n\r\n downloadTemplateFile() {\r\n download(\"data:application/pdf;base64,\" + encodeURI(this.evaluatedTemplate), this.evaluatedTemplateName, 'pdf');\r\n }\r\n viewTemplateFile(isTemplate: boolean = false) {\r\n const dailog = this.dialog.open(ViewerComponent, {\r\n position: { top: '0', right: '0' },\r\n data: {\r\n data: {\r\n originalName: this.evaluatedTemplateName,\r\n url: \"data:application/pdf;base64,\" + encodeURI(this.evaluatedTemplate)\r\n },\r\n dir: this.dir,\r\n annotationEnabled: false\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n });\r\n if (this.viewOnly) this.updateAfterOpen();\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n private getTemplatesResources() {\r\n this.formloader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.resource, this.query)\r\n .subscribe(data => {\r\n this.templates = data.map(q => {\r\n return {\r\n _id: q._id,\r\n ...q.data,\r\n value: this.translateService.instant(`forms.common.${q.data.value}`),\r\n template: q.data.template[0]\r\n };\r\n }).sort(function (a, b) {\r\n if (a.order < b.order) { return -1; }\r\n else if (a.order > b.order) { return 1; }\r\n else { return 0; }\r\n });\r\n console.log(this.templates);\r\n if (this.value) {\r\n this.baseValue = { ...this.value };\r\n this.initByValue();\r\n }\r\n this.formloader.loading = false;\r\n }, error => {\r\n this.formloader.loading = false;\r\n });\r\n }\r\n\r\n private initByValue() {\r\n if (this.baseValue && Object.keys(this.baseValue.selectedTemplate).length) {\r\n this.selectedTemplate = this.baseValue.selectedTemplate;\r\n this.evaluatedTemplate = this.baseValue.evaluated;\r\n } else {\r\n this.selectedTemplate = null;\r\n this.evaluatedTemplate = null;\r\n }\r\n }\r\n\r\n private notifyValue() {\r\n if (!this.selectedTemplate && this.required) {\r\n this.value = null;\r\n } else {\r\n const result = {\r\n selectedTemplate: this.selectedTemplate,\r\n evaluated: this.evaluatedTemplate\r\n };\r\n\r\n this.value = result;\r\n }\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private traverseAndFlatten(currentNode, target, flattenedKey = null) {\r\n for (var key in currentNode) {\r\n if (currentNode.hasOwnProperty(key)) {\r\n var newKey;\r\n if (flattenedKey === undefined) {\r\n newKey = key;\r\n } else {\r\n newKey = flattenedKey ? flattenedKey + '_' + key : key;\r\n }\r\n\r\n var value = currentNode[key];\r\n if (typeof value === \"object\") {\r\n this.traverseAndFlatten(value, target, newKey);\r\n } else {\r\n target[newKey] = value;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private flatten(obj) {\r\n var flattenedObject = {};\r\n this.traverseAndFlatten(obj, flattenedObject);\r\n return flattenedObject;\r\n }\r\n\r\n private updateAfterOpen() {\r\n if (this.customOptions && this.customOptions.afterOpen)\r\n this.customOptions.afterOpen.forEach(item => {\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data });\r\n c.setValue(value);\r\n });\r\n });\r\n }\r\n\r\n get evaluatedTemplateName() {\r\n const nameSegments = this.selectedTemplate.template.originalName.split('.');\r\n return nameSegments.slice(0, nameSegments.length - 1).join('.') + '.pdf';\r\n }\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOptional,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { catchError, finalize, of, Subscription, tap } from 'rxjs';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport jsPDF from 'jspdf';\r\nimport 'jspdf-autotable';\r\nimport html2canvas from 'html2canvas';\r\nimport { FormioLoader, FormioCustomComponent, FormioComponent, STEPPERTABSTATUS, ResourceNameService, FormioTranslate } from 'dp-formio';\r\n\r\ndeclare var $;\r\n\r\n@Component({\r\n\tselector: 'app-table-view-wrapper',\r\n\ttemplateUrl: './table-view-wrapper.component.html',\r\n\t// styleUrls: ['./table-view-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class TableViewWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, AfterViewInit, OnDestroy\r\n{\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tsubmission: any = {};\r\n\tshowColumns: any[] = [];\r\n\tresourceData = [];\r\n\ttranslationsObj: string;\r\n\tconditionalField: string;\r\n\tcomponentKey: string;\r\n\tisFOView: boolean;\r\n\tisBOView: boolean;\r\n\texportColumns: any[];\r\n\tshowLoader: boolean;\r\n\topenDialog: boolean;\r\n\tdownloadPDF: boolean;\r\n\r\n\tpublic get TABSTATUS(): typeof STEPPERTABSTATUS {\r\n\t\treturn STEPPERTABSTATUS;\r\n\t}\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate formioLoader: FormioLoader,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\t@Optional() private translate: FormioTranslate\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (\r\n\t\t\tchanges &&\r\n\t\t\tchanges.data &&\r\n\t\t\t!_isEmpty(changes.data.currentValue) &&\r\n\t\t\t!_isEqual(changes.data.currentValue, changes.data.previousValue)\r\n\t\t) {\r\n\t\t\tif (this.customOptions) {\r\n\t\t\t\tthis.customOptions.downloadPDF == true\r\n\t\t\t\t\t? (this.downloadPDF = true)\r\n\t\t\t\t\t: (this.downloadPDF = false);\r\n\t\t\t\tif (this.customOptions.showColumns && this.customOptions.showColumns.length) {\r\n\t\t\t\t\tthis.isFOView = this.customOptions.isFOView;\r\n\t\t\t\t\tthis.isBOView = this.customOptions.isBOView;\r\n\r\n\t\t\t\t\tthis.conditionalField = this.customOptions.conditionalField;\r\n\t\t\t\t\tthis.translationsObj = this.customOptions.translationsObj;\r\n\r\n\t\t\t\t\tthis.showColumns = this.customOptions.showColumns;\r\n\t\t\t\t\tif (this.isFOView) {\r\n\t\t\t\t\t\tthis.showColumns = this.customOptions.showFOColumns;\r\n\t\t\t\t\t} else if (this.isBOView) {\r\n\t\t\t\t\t\tthis.showColumns = this.customOptions.showBOColumns;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.submission.data = {\r\n\t\t\t\t\t\t...this.data,\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif (this.data) {\r\n\t\t\t\t\t\tthis.getResourceData();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getResourceData() {\r\n\t\tthis.formioLoader.loading = true;\r\n\r\n\t\tconst query = this.customOptions.query\r\n\t\t\t? Evaluator.interpolate(this.customOptions.query, { data: this.data })\r\n\t\t\t: `${this.customOptions.queryField}${this.customOptions.queryOperator}${this.data.varRequestId}&limit=${this.customOptions.limit}&${this.customOptions.sortParam}`;\r\n\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.customOptions.resource, query)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((response: any[]) => {\r\n\t\t\t\t\tif (response && response.length) {\r\n\t\t\t\t\t\tconst data: any[] = response.map((item: any) => {\r\n\t\t\t\t\t\t\treturn item.data;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tthis.FilterFOColumns(data);\r\n\r\n\t\t\t\t\t\tthis.resourceData = [...data];\r\n\r\n\t\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\treturn of([0]);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tFilterFOColumns(resourceData: any[]) {\r\n\t\tif (resourceData && resourceData.length && this.isFOView && this.conditionalField) {\r\n\t\t\tif (!resourceData[0][this.conditionalField]) {\r\n\t\t\t\tthis.showColumns = this.customOptions.showCustomFOColumns;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.exportColumns = this.showColumns.map((col) => ({\r\n\t\t\ttitle: this.translate.instant(this.translationsObj + col.key),\r\n\t\t\tdataKey: col.key,\r\n\t\t}));\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tthis.value = {\r\n\t\t\ttableData: [...this.resourceData],\r\n\t\t};\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\t// exportPDF2() {\r\n\t// \tconst input = document.getElementById('summaryContainer');\r\n\t// \thtml2canvas(input, { scale: 5 }).then((canvas) => {\r\n\t// \t\tconst imgData = canvas.toDataURL('image/png', 1.0);\r\n\t// \t\tconst pdf = new jsPDF('p', 'mm', 'a4');\r\n\t// \t\tpdf.setFontSize(30);\r\n\t// \t\tpdf.addImage(imgData, 'PNG', 45, 5, 120, 250);\r\n\t// \t\tpdf.save('download.pdf');\r\n\t// \t\tthis.openDialog = false;\r\n\t// \t\tsetTimeout(() => {\r\n\t// \t\t\tthis.showLoader = true;\r\n\t// \t\t}, 1000);\r\n\t// \t});\r\n\t// }\r\n\r\n\texportPDF() {\r\n\t\tvar HTML_Width = $('.summaryContainerClass').width();\r\n\t\tvar HTML_Height = $('.summaryContainerClass').height();\r\n\t\tvar canvas_image_width = HTML_Width;\r\n\t\tvar canvas_image_height = HTML_Height;\r\n\t\tvar top_left_margin = 15;\r\n\t\tvar PDF_Width = HTML_Width + top_left_margin * 5;\r\n\t\tvar PDF_Height = PDF_Width * 1.6 + top_left_margin * 2;\r\n\r\n\t\tvar totalPDFPages = Math.ceil(HTML_Height / PDF_Height) - 1;\r\n\r\n\t\thtml2canvas($('.summaryContainerClass')[0], { allowTaint: true, useCORS: true, scale: 2 }).then(\r\n\t\t\t(canvas) => {\r\n\t\t\t\tcanvas.getContext('2d');\r\n\r\n\t\t\t\tvar imgData = canvas.toDataURL('image/jpeg', 1.0);\r\n\t\t\t\tvar pdf = new jsPDF('p', 'pt', [PDF_Width, PDF_Height]);\r\n\t\t\t\tpdf.setLineHeightFactor(3);\r\n\t\t\t\tpdf.addImage(\r\n\t\t\t\t\timgData,\r\n\t\t\t\t\t'JPG',\r\n\t\t\t\t\ttop_left_margin,\r\n\t\t\t\t\ttop_left_margin,\r\n\t\t\t\t\tcanvas_image_width,\r\n\t\t\t\t\tcanvas_image_height\r\n\t\t\t\t);\r\n\t\t\t\tpdf.setLineHeightFactor(3);\r\n\r\n\t\t\t\tfor (var i = 1; i <= totalPDFPages; i++) {\r\n\t\t\t\t\tpdf.addPage(PDF_Width, 'p');\r\n\t\t\t\t\tpdf.addImage(\r\n\t\t\t\t\t\timgData,\r\n\t\t\t\t\t\t'JPG',\r\n\t\t\t\t\t\ttop_left_margin,\r\n\t\t\t\t\t\t-(PDF_Height * i) + top_left_margin * 4,\r\n\t\t\t\t\t\tcanvas_image_width,\r\n\t\t\t\t\t\tcanvas_image_height\r\n\t\t\t\t\t);\r\n\t\t\t\t\tpdf.setLineHeightFactor(3);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpdf.save('Document.pdf');\r\n\t\t\t\tthis.openDialog = false;\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.showLoader = false;\r\n\t\t\t\t}, 500);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tshowDialog() {\r\n\t\tthis.openDialog = true;\r\n\t\tthis.showLoader = true;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.exportPDF();\r\n\t\t}, 1000);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'card-wrapper',\r\n\ttemplateUrl: './card-wrapper.component.html',\r\n\t// styleUrls: ['./card-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class CardWrapperComponent\r\n\timplements FormioCustomComponent, AfterViewInit, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tget hasTitle() {\r\n\t\treturn !!this.customOptions?.title?.toString()?.trim().length;\r\n\t}\r\n\r\n\tget hasDescription() {\r\n\t\treturn !!this.customOptions?.description?.toString()?.trim().length;\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tnotifyValue(rate) {\r\n\t\tthis.value = rate;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n\tevaluateAction(event: string) {\r\n\t\tif (!event) return;\r\n\t\teval(event);\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport {\r\n\tFormioCustomComponentInfo,\r\n\tregisterCustomFormioComponent,\r\n} from 'dp-formio';\r\nimport { ReviewingEvaluationWrapperComponent } from './reviewing-evaluation-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'reviewing-evaluation',\r\n\tselector: 'reviewing-evaluation',\r\n\ttitle: 'reviewing-evaluation',\r\n};\r\n\r\nexport function registerReviewingEvaluationComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ReviewingEvaluationWrapperComponent, injector);\r\n}\r\n","import { AbstractControl, FormGroup, ValidatorFn } from \"@angular/forms\";\r\n\r\n\r\n\r\nexport function EditGridRequiredValidator(control: AbstractControl): { [key: string]: any } | null {\r\n if (control.value && control.value.length <= 0) {\r\n return { 'invalid': true };\r\n }\r\n return null;\r\n}\r\n\r\nexport function EvidencesRequiredValidator(control: AbstractControl): { [key: string]: any } | null{\r\n const evidences = control.value;\r\n\r\n let hasError = false;\r\n if (!evidences?.length || !evidences.some(q => q.selected)) {\r\n hasError = true;\r\n }\r\n return hasError ? { 'evidencesInvalid': true } : null;\r\n}\r\n\r\nexport function AnswerValidator(): ValidatorFn {\r\n return (group: FormGroup) => {\r\n const question = group.value.question?.value;\r\n const answer = group.value.reviewerEvaluation;\r\n\r\n let hasError = false;\r\n if (question && answer) {\r\n hasError = (+answer || 0) * (question?.weight || 1) < question?.averageToPass;\r\n }\r\n return hasError ? { 'answerInvalid': true } : null;\r\n };\r\n}\r\n\r\nexport function MasarAnswerValidator(): ValidatorFn {\r\n return (group: FormGroup) => {\r\n const subAnswers = group.value.subAnswers;\r\n const averageToPass = group.value.question?.value?.averageToPass;\r\n const notApply = group.value.notApply;\r\n\r\n const evaluationsAnswerd = subAnswers.filter(q => !!q.score);\r\n group.value.reviewerEvaluation = (evaluationsAnswerd.reduce((a, b) => a + +b.score * (b.evaluationItem.weight || 1), 0) / evaluationsAnswerd.length);\r\n\r\n let hasError = false;\r\n if (!notApply) {\r\n if (subAnswers.some(q => q.hasError)) hasError = true;\r\n else hasError = (group.value.reviewerEvaluation || 0) < averageToPass;\r\n }\r\n\r\n return hasError ? { 'masarAnswerInvalid': true } : null;\r\n };\r\n}\r\n\r\nexport function MasarSubAnswerValidator(): ValidatorFn {\r\n return (group: FormGroup) => {\r\n const evaluationItem = group.value.evaluationItem;\r\n const answer = group.value.score;\r\n\r\n let hasError = answer == null || answer == undefined;\r\n if (evaluationItem && !!answer) {\r\n hasError = (+answer || 0) * (evaluationItem?.weight || 1) < evaluationItem?.averageToPass;\r\n group.value.hasError = hasError;\r\n }\r\n return hasError ? { 'masarSubAnswerInvalid': true } : null;\r\n };\r\n}","\r\n
    {{'forms.common.Overall evaluation of the criteria' | translate}}
    \r\n \r\n \r\n
    \r\n \r\n {{'forms.common.The total quality levels assessment' | translate}}\r\n \r\n \r\n {{'forms.common.The total evaluation criteria' | translate}}\r\n \r\n\r\n {{category.totalEvaluationCriteria | number : '1.1-1'}}\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n {{'forms.common.The number of applicable quality levels' | translate}}\r\n \r\n \r\n {{'forms.common.The number of applicable criteria' | translate}}\r\n \r\n\r\n {{category.numberOfApplicable}}\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n {{'forms.common.Average Rating Criterion' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}}\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n {{'forms.common.The overall evaluation score of the standard' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}} {{'forms.common.points' | translate}} -\r\n {{category.calculatedSavedScore | evaluationScoreMessage : process | propertyLocalized : [\"messageAr\",\r\n \"messageEn\"] | async }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { PDFWrapperComponent } from './pdf-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'pdf-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'pdf-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Download PDF', // Title of the component\r\n};\r\n\r\nexport function registerPDFWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, PDFWrapperComponent, injector);\r\n}\r\n","\r\nexport class SortHelper {\r\n static recursiveSort(data: any[], dir: 'asc' | 'desc') {\r\n if (data.length == 1) {\r\n for (const key of Object.keys(data[0])) {\r\n if (data[0][key] instanceof Array) data[0][key] = this.recursiveSort(data[0][key], dir);\r\n }\r\n return data;\r\n }\r\n else {\r\n const result = data.sort((a, b) => {\r\n for (const key of Object.keys(a)) { if (a[key] instanceof Array) a[key] = this.recursiveSort(a[key], dir); }\r\n for (const key of Object.keys(b)) { if (b[key] instanceof Array) b[key] = this.recursiveSort(b[key], dir); }\r\n\r\n if (a.order < b.order) return dir == 'asc' ? -1 : 1;\r\n else if (a.order > b.order) return dir == 'asc' ? 1 : -1;\r\n else return 0;\r\n });\r\n return result;\r\n }\r\n }\r\n static sort(data: any[], dir: 'asc' | 'desc') {\r\n const result = data.sort((a, b) => {\r\n if (a.order < b.order) return dir == 'asc' ? -1 : 1;\r\n else if (a.order > b.order) return dir == 'asc' ? 1 : -1;\r\n else return 0;\r\n });\r\n return result;\r\n }\r\n\r\n static copyProps(source, target) {\r\n for (let p in source) target[p] = source[p];\r\n }\r\n}","
    \r\n

    \r\n {{'forms.common.' + data.title | translate}}\r\n \r\n

    \r\n\r\n \r\n \r\n \r\n
    ","
    \r\n\t
    \r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\tcustomOptions?.btnConfig?.btnText | translate\r\n\t\t\t}}\r\n\t\t\t{{\r\n\t\t\t\tcustomOptions?.btnConfig?.icon\r\n\t\t\t}}\r\n\t\t\r\n\t
    \r\n
    \r\n\r\n\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { combineLatest, filter, finalize, forkJoin, iif, map, Observable, of, switchMap, takeUntil } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioAppConfig, FormioComponent, ViewerComponent } from 'dp-formio';\r\nimport { CustomEditGridComponent } from 'dp-formio';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Process } from '../../../models/process.model';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { DecisionInput } from '../../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { CriterionInformation } from '../../../models/criterion-information.mode';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { EditGridRequiredValidator, EvidencesRequiredValidator, MasarAnswerValidator, MasarSubAnswerValidator } from '../../../validators';\r\nimport { MasarCriterionsService } from '../../../services/masar-criterions.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nexport interface AttachmentItem {\r\n selected: boolean;\r\n file?: any;\r\n fileName: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-masar-question-decision',\r\n templateUrl: './masar-question-decision.component.html',\r\n styleUrls: ['./masar-question-decision.component.scss']\r\n})\r\nexport class MasarQuestionDecisionComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n isLoadingResults: boolean;\r\n documents: any[];\r\n process: Process;\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n criterion$ = this.criterionsService.criterion$;\r\n answers$: Observable>;\r\n form: FormGroup;\r\n\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n lastSubAnswers: any[];\r\n\r\n get displayedColumns(): string[] {\r\n return this.isFormDisabled ? ['fileName'] : ['selected', 'fileName']\r\n };\r\n\r\n get subAnswers() { return this.form?.get(\"subAnswers\") as FormArray; }\r\n get evidences() { return this.form?.get(\"evidences\") as FormArray; }\r\n get isSessionDetails() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.SessionDetails;\r\n }\r\n\r\n get isInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries;\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get isFinalReport() {\r\n return !this.decisionPreview && (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries);\r\n }\r\n\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n\r\n get enabledCopyToExecutiveSummary() {\r\n return this.masarCriterionsService.allCriterionEvaluated$.value &&\r\n this.decisionInput.enableEdit &&\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport;\r\n }\r\n\r\n get isFormDisabled() {\r\n return !this.decisionInput?.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries ||\r\n !this.criterion$.value.allQuestionsAnswered ||\r\n this.isSessionNotStarted;\r\n }\r\n get isSessionNotStarted() {\r\n return !!this.decisionInput?.visitMetaData?.sessionChecked && !this.decisionInput?.visitMetaData?.sessionChecked?.sessionStarted;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private formioAppConfig: FormioAppConfig,\r\n private dialog: MatDialog) { super(); }\r\n\r\n ngOnInit() {\r\n this.initAnswers();\r\n combineLatest([\r\n this.criterionsService.criterion$\r\n .pipe(filter(data => data.criterionType == 'STICK')),\r\n this.criterionsService.decisionInputs$\r\n ])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.subAnswers?.clear();\r\n this.evidences?.clear();\r\n this.form?.reset();\r\n this.initForm();\r\n this.registerUpdateFormValidation();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.memberId?.previousValue && changes.memberId?.previousValue != changes.memberId?.currentValue) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n if (this.enabledCopyToExecutiveSummary)\r\n this.criterionsService.sendToExecutiveSummary$.next(new CopyModel(controlName, value));\r\n else {\r\n this.criterionsService.sendEvaluation$.next(new CopyModel(controlName, value));\r\n if (controlName == 'evaluationJustifications') {\r\n this.criterionsService.sendEvaluation$.next(new CopyModel('evidences', this.evidences.value));\r\n }\r\n }\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = _cloneDeep(this.form.value);\r\n delete value.question;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value,\r\n isApply: !value.notApply,\r\n evidences: value.evidences.filter(q => q.selected).map(item => { return { files: [item.file], fileName: item.fileName }; }),\r\n subAnswers: JSON.stringify(value.subAnswers)\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.masarCriterionsService.editCriterionInformation(data, this.isFinalReport),\r\n this.masarCriterionsService.createCriterionInformation(data, this.isFinalReport)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateForm(model, this.documents);\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n\r\n toggleAllEvidences(checked: boolean) {\r\n this.evidences.controls.forEach((control) => {\r\n control.get('selected').setValue(checked);\r\n });\r\n }\r\n\r\n openFile(file: any) {\r\n this.dialog.open(ViewerComponent, {\r\n position: {\r\n top: '0',\r\n right: '0',\r\n },\r\n data: {\r\n dir: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: file,\r\n appUrl: this.formioAppConfig.formio.appUrl,\r\n formId: this.formioAppConfig.keys.attachmentsId\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n });\r\n }\r\n\r\n private initForm() {\r\n this.form = this.formBuilder.group({\r\n question: [this.question$],\r\n notApply: [{ value: false, disabled: this.isFormDisabled }],\r\n evaluationJustifications: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n evidences: this.formBuilder.array([]),\r\n subAnswers: this.formBuilder.array([])\r\n }, {\r\n validators: [MasarAnswerValidator()]\r\n });\r\n }\r\n private registerUpdateFormValidation() {\r\n const controls = ['evaluationJustifications'];\r\n this.form.controls.notApply.valueChanges.subscribe(checked => {\r\n this.subAnswers.clear();\r\n controls.forEach(key => {\r\n if (!checked) {\r\n this.form.get(key).setValidators([Validators.required]);\r\n } else {\r\n this.form.get(key).reset();\r\n this.form.get(key).clearValidators();\r\n this.lastSubAnswers = [];\r\n }\r\n this.form.get(key).updateValueAndValidity();\r\n });\r\n });\r\n this.form.controls.evaluationJustifications.valueChanges.subscribe(value => {\r\n if (!!value) {\r\n this.evidences.setValidators([]);\r\n } else {\r\n const evidencesValue = this.evidences.value;\r\n evidencesValue.forEach(evidence => { evidence.selected = false; });\r\n this.evidences.setValue(evidencesValue);\r\n this.evidences.clearValidators();\r\n }\r\n this.evidences.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n filter(([question, process]) => !!question && !!process),\r\n map(([question, process]) => {\r\n this.process = process;\r\n this.subAnswers.clear();\r\n question.evaluationItems.forEach(q => {\r\n this.subAnswers.push(this.formBuilder.group({\r\n evaluationItem: [q],\r\n id: [{ value: q.id, disabled: this.isFormDisabled }, [Validators.required]],\r\n score: [{ value: this.lastSubAnswers?.find(sa => sa.evaluationItem.id == q.id)?.score, disabled: this.isFormDisabled }, []]\r\n }, {\r\n validators: [MasarSubAnswerValidator()]\r\n }));\r\n });\r\n\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n this.masarCriterionsService.getCriterionInformation(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport),\r\n this.isFormDisabled ?\r\n of(null) :\r\n this.masarCriterionsService.getDocuments(this.criterion.id)\r\n ]).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n ).subscribe((results) => {\r\n this._updateForm(results[0], results[1]);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation, documents: any[]) {\r\n let files;\r\n if (documents?.length) {\r\n this.documents = documents;\r\n files = documents.map((attachment) => {\r\n const selectedDocument = data?.evidences?.find(q => q.files[0].key == attachment?.file[0].key) || false;\r\n return this.formBuilder.group({\r\n selected: [{ value: !!selectedDocument, disabled: this.isFormDisabled }],\r\n fileName: [attachment.fileName],\r\n file: attachment.file\r\n });\r\n });\r\n } else {\r\n files = data?.evidences?.map((attachment) => {\r\n return this.formBuilder.group({\r\n selected: [{ value: true, disabled: this.isFormDisabled }],\r\n fileName: [attachment.fileName],\r\n file: attachment.files\r\n });\r\n }) || [];\r\n }\r\n\r\n\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n notApply: !data ? false : !data?.isApply,\r\n evaluationJustifications: data?.evaluationJustifications || '',\r\n });\r\n this.form.setControl('evidences', new FormArray(files));\r\n this.lastSubAnswers = data?.subAnswers ? JSON.parse(data.subAnswers) : [];\r\n this.initAnswers();\r\n }\r\n\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(data => {\r\n if (data.key == 'evidences') {\r\n data.value?.forEach(item => {\r\n item.file?.forEach(file => {\r\n delete file.id;\r\n });\r\n });\r\n }\r\n this.form.patchValue({\r\n [data.key]: data.value\r\n });\r\n });\r\n\r\n }\r\n\r\n}","
    \r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.startDate\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.responsiblePosition\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FormIoSkeletonModule } from '../../../shared/components';\r\nimport { DeleteDialogModule } from '../../../shared/components/delete-dialog/delete-dialog.module';\r\nimport { FormioPipesModule } from '../../../shared/pipes';\r\nimport {\r\n QuestionsContainerComponent,\r\n QuestionsContainerSideComponent,\r\n QuestionsListComponent,\r\n UsersSessionsDialogComponent,\r\n} from './components';\r\nimport { QuestionItemComponent } from './components/question-item/question-item.component';\r\nimport { QuestionsResourceListComponent } from './components/questions-resource-list/questions-resource-list.component';\r\nimport { DistributeCommonQuestionsComponent } from './distribute-common-questions.component';\r\nimport { CommonQuestionsService, QuestionsStoreService } from './services';\r\nimport { MembersLengthPipe } from './pipes/members-length.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n DistributeCommonQuestionsComponent,\r\n QuestionsResourceListComponent,\r\n QuestionsListComponent,\r\n UsersSessionsDialogComponent,\r\n QuestionsContainerSideComponent,\r\n QuestionsContainerComponent,\r\n QuestionItemComponent,\r\n MembersLengthPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n MatListModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatIconModule,\r\n FormIoSkeletonModule,\r\n MatDialogModule,\r\n FormioPipesModule,\r\n MatSidenavModule,\r\n MatTooltipModule,\r\n DeleteDialogModule,\r\n ],\r\n entryComponents: [DistributeCommonQuestionsComponent],\r\n exports: [DistributeCommonQuestionsComponent],\r\n providers: [CommonQuestionsService, QuestionsStoreService],\r\n})\r\nexport class DistributeCommonQuestionsModule {}\r\n","
    \r\n \r\n \r\n
    \r\n {{'forms.common.inicatorsNotComplete' | translate}}\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {{'forms.common.inicatorsCompleted' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","
    \r\n \r\n \r\n
    \r\n \r\n \r\n {{(decisionInputs.isMasar ? 'forms.common.Criteria.facilityEntries' :\r\n 'forms.common.Criteria.institutionEntries') | translate}}\r\n \r\n \r\n {{'forms.common.Criteria.membersEntries' | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    ","export * from './config.const';","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { HijriDateComponent } from './hijri-date.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'hijri-date', // custom type. Formio will identify the field with this type.\r\n selector: 'hijri-date', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'hijri date', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerHijriDateComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, HijriDateComponent, injector);\r\n}","import { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { ExecutivePlan } from \"./executive-plan.model\";\r\nimport { FinalReportMistakes } from \"./final-report-mistakes.model\";\r\nimport { Summary } from \"./summary.model\";\r\n\r\nexport class ExecuteVisitResult {\r\n criterion: ICriterion[];\r\n flatCriterion: ICriterion[];\r\n\r\n summaryOfRecommendations: Summary[];\r\n summaryOfCommendations: Summary[];\r\n summaryOfSuggestions: Summary[];\r\n executiveSummary: Summary[] | string;\r\n\r\n executivePlan: ExecutivePlan[];\r\n finalReportMistakes: FinalReportMistakes[];\r\n responseNotesDecision:boolean;\r\n}","import { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, startWith, takeUntil } from 'rxjs';\r\nimport { RolesTypeEnum } from 'src/formio-custom-components/src/lib/shared/model/roles';\r\nimport { CRITERION_TYPE } from '../../const';\r\nimport { ICriterion } from '../../models/criterion';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n@Component({\r\n selector: 'app-criterions-tree',\r\n templateUrl: './criterions-tree.component.html',\r\n styleUrls: ['./criterions-tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CriterionsTreeComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Output() changeCriterion = new EventEmitter();\r\n @Input() criterions: ICriterion[] = [];\r\n\r\n selectedNode: ICriterion = null;\r\n treeControl = new NestedTreeControl((node) => node?.subCriteria);\r\n\r\n dataSource: MatTreeNestedDataSource;\r\n\r\n readonly hasChild = (_: number, node: ICriterion) => {\r\n if (this.userRole === RolesTypeEnum.MASAR) {\r\n return !!node.subCriteria && !!node.subCriteria.length;\r\n }\r\n return (\r\n !!node.subCriteria &&\r\n node.subCriteria.filter((itm) => itm.criterionType !== CRITERION_TYPE).length > 0\r\n );\r\n };\r\n\r\n //&&\r\n //\r\n readonly trackBy = (_: number, node: ICriterion) => node.id;\r\n\r\n lang: string;\r\n constructor(\r\n private distributeService: DistributeService,\r\n public translateService: TranslateService\r\n ) {\r\n super();\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n startWith({\r\n lang: this.translateService.currentLang,\r\n }),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((res) => {\r\n this.lang = res.lang;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource = new MatTreeNestedDataSource();\r\n this.dataSource.data = this.criterions;\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.criterions && this.dataSource) {\r\n this.dataSource.data = null;\r\n this.dataSource.data = changes.criterions.currentValue;\r\n this.expand(this.dataSource.data, this.selectedNode.id);\r\n }\r\n }\r\n\r\n rowClicked(node: ICriterion) {\r\n if (this.selectedNode?.id !== node?.id) {\r\n this.selectedNode = node;\r\n this.changeCriterion.emit(node);\r\n }\r\n }\r\n\r\n expand(data: ICriterion[], id: number): any {\r\n data.forEach((node) => {\r\n if (node.subCriteria && node.subCriteria.find((c) => c.id === id)) {\r\n this.treeControl.expand(node);\r\n this.expand(this.dataSource.data, node.id);\r\n } else if (node.subCriteria && node.subCriteria.find((c) => c.subCriteria)) {\r\n this.expand(node.subCriteria, id);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    {{category.displayOrder}}
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{category.name}}

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    category.levelNumber\">\r\n \r\n \r\n \r\n \r\n {{'forms.common.There are no items' | translate}}\r\n \r\n \r\n {{option.name}}\r\n \r\n \r\n \r\n \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","\r\n
    \r\n \r\n {{'forms.common.Description Standard' | translate}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{optionalInput| propertyLocalized : [\"nameAr\", \"nameEn\"] | async}}\r\n \r\n \r\n \r\n
    \r\n {{item.value}}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","export * from './base.component';\r\n","
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n {{ \"forms.common.Arabic Label\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.English Label\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Email\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.gender\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.nationality\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.ResidenceCountry\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.ResidencePlace\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.ResidenceCity\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.value | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{ \"forms.common.workSide\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Languages\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.value | translate}}\r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.delicateSpecialization\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.publicSpecialty\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.value | translate}}\r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    ","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Directive({\r\n selector: '[appDisplayExternalActions]'\r\n})\r\nexport class DisplayExternalActionsDirective implements OnInit {\r\n\r\n constructor(private readonly el: ElementRef) {\r\n }\r\n\r\n @Input() appDisplayExternalActions: boolean;\r\n\r\n @Input() row;\r\n\r\n @Input() submission;\r\n\r\n ngOnInit(): void {\r\n this.appDisplayExternalActions ?\r\n this.appDisplayExternalActions = Utils.evaluate(this.appDisplayExternalActions, {\r\n row: this.row.data,\r\n submission: this.submission\r\n }) : this.appDisplayExternalActions = true;\r\n\r\n this.displayAction(this.appDisplayExternalActions);\r\n }\r\n\r\n private displayAction(display) {\r\n if (!display) {\r\n this.el.nativeElement.style.display = 'none';\r\n }\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { from, Observable, ReplaySubject } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { FormConfigService } from 'dp-formio';\r\nimport { DEFAULT_CONFIG, DEFAULTS_IMAGES, DEFAULTS_THEM_OPTIONS } from '../consts';\r\n\r\ndeclare let FontFace: any;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ConfigService {\r\n\tprivate storageCssKey = '_fo_css_variable';\r\n\tprivate style = 'locale-style';\r\n\tprivate config = null;\r\n\r\n\tget logo(): string {\r\n\t\treturn !this.config || !this.config?.logo\r\n\t\t\t? null\r\n\t\t\t: `${environment.cms}${this.config?.logo?.path}`;\r\n\t}\r\n\r\n\tget smallLogo(): string {\r\n\t\treturn !this.config || !this.config.smallLogo\r\n\t\t\t? null\r\n\t\t\t: `${environment.cms}${this.config.smallLogo.path}`;\r\n\t}\r\n\r\n\tget userAvatar(): string {\r\n\t\treturn !this.config || !this.config?.userAvatar\r\n\t\t\t? null\r\n\t\t\t: `${environment.cms}${this.config?.userAvatar?.path}`;\r\n\t}\r\n\r\n\tfooterSub = new ReplaySubject();\r\n\tfooterTemplate$: Observable = this.footerSub.asObservable();\r\n\r\n\tconstructor(private http: HttpClient, private formConfigService: FormConfigService) {}\r\n\r\n\tgetFile(filePath: string) {\r\n\t\treturn this.http.get(filePath, { responseType: 'text' as any });\r\n\t}\r\n\r\n\tgetAppConfig(queryParams = {}): Observable {\r\n\t\tconst defaultConfig$ = from([\r\n\t\t\t{\r\n\t\t\t\tentries: DEFAULT_CONFIG,\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tif (!environment.appConfig['endpoint'] || !environment.appConfig['id']) {\r\n\t\t\treturn defaultConfig$;\r\n\t\t}\r\n\t\tconst endpoint = `${environment.cms}${environment.appConfig['endpoint']}?filter[_id]=${environment.appConfig['id']}`;\r\n\r\n\t\treturn this.http.post(endpoint, {}).pipe(catchError((e) => defaultConfig$));\r\n\t}\r\n\r\n\tasync loadConfig(): Promise {\r\n\t\tconst cssVariable = localStorage.getItem(this.storageCssKey);\r\n\t\tconst cachedData = JSON.parse(cssVariable);\r\n\t\tif (!cssVariable || !cachedData?.entries?.length) {\r\n\t\t\treturn this.getUpdatedConfig();\r\n\t\t}\r\n\r\n\t\tconst currentRevision = cachedData.entries[0].revisionsNumber;\r\n\r\n\t\tif (!environment.appConfig['frontOfficeSettings']) {\r\n\t\t\tthis.getUpdatedConfig();\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tconst isSameVersion = await this._validateCurrentRevisions(currentRevision);\r\n\t\t\treturn isSameVersion ? this.getDefaultCachedData(cachedData) : this.getUpdatedConfig();\r\n\t\t} catch (e) {\r\n\t\t\treturn this.getDefaultCachedData(cachedData);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async _validateCurrentRevisions(currentRevision) {\r\n\t\tconst endpoint = `${environment.cms}/${environment.appConfig['frontOfficeSettings']}`;\r\n\t\tconst result = await this.http.post(endpoint, {}).toPromise();\r\n\t\treturn result.revisionsNumber == currentRevision;\r\n\t}\r\n\r\n\tprivate getDefaultCachedData(cachedData) {\r\n\t\treturn new Promise((resolve, _) => {\r\n\t\t\tthis.config = cachedData.entries[0];\r\n\t\t\tresolve(this.config);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getUpdatedConfig() {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\tif (this.config) {\r\n\t\t\t\tresolve(this.config);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.getAppConfig()\r\n\t\t\t\t.toPromise()\r\n\t\t\t\t.then(\r\n\t\t\t\t\tasync (result) => {\r\n\t\t\t\t\t\tlocalStorage.setItem(this.storageCssKey, JSON.stringify(result));\r\n\t\t\t\t\t\tthis.config = result.entries[0];\r\n\t\t\t\t\t\tresolve(this.config);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => reject('App Config could not be loaded.')\r\n\t\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tsetupEssentials(): void {\r\n\t\tif (!this.config) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.formConfigService.config$.next(this.config);\r\n\t\tthis.changeFont();\r\n\t\tconst cssVars = this._generateCssVars();\r\n\t\tthis._appendCssVarsToRoot(cssVars);\r\n\t\tthis.loadOverrideCss();\r\n\t\tthis.footerSub.next(this.config?.footer ?? '');\r\n\t}\r\n\r\n\tprivate _extendsOptions(config): { [x: string]: any } {\r\n\t\treturn {\r\n\t\t\t...DEFAULTS_THEM_OPTIONS,\r\n\t\t\t...config,\r\n\t\t\tfontFamily: !!config?.fontFamily ? 'font' : DEFAULTS_THEM_OPTIONS?.fontFamily,\r\n\t\t\tfavicon: !!config?.favicon?.path\r\n\t\t\t\t? `${environment.cms}${config?.favicon?.path}`\r\n\t\t\t\t: DEFAULTS_THEM_OPTIONS.favicon,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate _getCssColorVar(key, color): string {\r\n\t\tconst [red, green, blue] = color.match(/[\\d\\.]+/g);\r\n\t\tconst parts = red + ',' + green + ',' + blue;\r\n\t\treturn `--${key}:${color};--${key}-parts:${parts} ;`;\r\n\t}\r\n\r\n\tprivate _generateCssVars(): string {\r\n\t\tlet cssVars = '';\r\n\t\tconst imagesKeys = Object.keys(DEFAULTS_IMAGES);\r\n\t\tconst options = this._extendsOptions(this.config);\r\n\t\tconst excludesKeys = ['customCss', 'footer'];\r\n\t\tfor (const [key, value] of Object.entries(options)) {\r\n\t\t\tif (value && !excludesKeys.includes(key)) {\r\n\t\t\t\tif (key === 'name') {\r\n\t\t\t\t\tdocument.title = `${value}`;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif (key === 'fontFamily') {\r\n\t\t\t\t\tcssVars += `--font:${value};`;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (CSS.supports('color', value as any)) {\r\n\t\t\t\t\tcssVars += this._getCssColorVar(key, value);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imagesKeys.includes(key) && (value as any)?.path) {\r\n\t\t\t\t\tconst path = `url(\"${environment.cms}${(value as any)?.path}\")`;\r\n\t\t\t\t\tcssVars += `--${key}:${path};`;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (key === 'favicon') {\r\n\t\t\t\t\tdocument.getElementById('favicon').setAttribute('href', `${value}`);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn cssVars;\r\n\t}\r\n\r\n\tprivate _appendCssVarsToRoot(cssVars): void {\r\n\t\tconst sheet = document.createElement('style');\r\n\t\tsheet.id = 'root';\r\n\t\tsheet.innerHTML = `:root{${cssVars}}`;\r\n\t\tdocument.head.appendChild(sheet);\r\n\t}\r\n\r\n\tprivate changeFont(): void {\r\n\t\tif (this.config.fontFamily) {\r\n\t\t\tvar customFont = new FontFace('font', `url(${this.config.fontFamily})`);\r\n\t\t\tcustomFont\r\n\t\t\t\t.load()\r\n\t\t\t\t.then((loaded_face) => {\r\n\t\t\t\t\t(document as any).fonts.add(loaded_face);\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadOverrideCss(): void {\r\n\t\tconst head = document.head || document.getElementsByTagName('head')[0];\r\n\r\n\t\tconst stylesheet = document.createElement('link');\r\n\t\tstylesheet.rel = 'stylesheet';\r\n\t\tstylesheet.href = this.style + '.css';\r\n\t\thead.appendChild(stylesheet);\r\n\r\n\t\tconst css = this.config?.customCss ?? '';\r\n\t\tvar style = document.createElement('style') as any;\r\n\t\tstyle.type = 'text/css';\r\n\t\tstyle.innerHTML = css;\r\n\t\thead.appendChild(style);\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { resolveFieldData } from 'src/formio-custom-components/src/lib/shared/utility';\r\n\r\n@Pipe({\r\n\tname: 'getValue',\r\n})\r\nexport class GetValuePipe implements PipeTransform {\r\n\ttransform(option: any, optionValue: any, _default: string = 'value'): any {\r\n\t\treturn getOptionValue(option, optionValue, _default);\r\n\t}\r\n}\r\n\r\nexport function getOptionValue(\r\n\toption: any,\r\n\toptionValue: any,\r\n\t_default: string = 'value'\r\n) {\r\n\tconst result = optionValue\r\n\t\t? resolveFieldData(option, optionValue)\r\n\t\t: option && option?.[_default] !== undefined\r\n\t\t? option?.[_default]\r\n\t\t: null;\r\n\treturn result;\r\n}\r\n","var map = {\n\t\"./ion-action-sheet.entry.js\": [\n\t\t\"dUtr\",\n\t\t\"common\",\n\t\t0\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t\"Q8AI\",\n\t\t\"common\",\n\t\t1\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t\"hgI1\",\n\t\t\"common\",\n\t\t2\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t\"CfoV\",\n\t\t\"common\",\n\t\t3\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t\"Nt02\",\n\t\t\"common\",\n\t\t4\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t\"Q2Bp\",\n\t\t5\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t\"0Pbj\",\n\t\t\"common\",\n\t\t6\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t\"ydQj\",\n\t\t\"common\",\n\t\t7\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t\"4fMi\",\n\t\t\"common\",\n\t\t8\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t\"czK9\",\n\t\t\"common\",\n\t\t9\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t\"/CAe\",\n\t\t10\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t\"WgF3\",\n\t\t\"common\",\n\t\t11\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t\"uQcF\",\n\t\t\"common\",\n\t\t12\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t\"wHD8\",\n\t\t13\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t\"2lz6\",\n\t\t14\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t\"ercB\",\n\t\t\"common\",\n\t\t15\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t\"MGMP\",\n\t\t\"common\",\n\t\t16\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t\"9bur\",\n\t\t\"common\",\n\t\t17\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t\"cABk\",\n\t\t\"common\",\n\t\t18\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t\"kyFE\",\n\t\t\"common\",\n\t\t19\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t\"TvZU\",\n\t\t\"common\",\n\t\t20\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t\"vnES\",\n\t\t\"common\",\n\t\t21\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t\"qCuA\",\n\t\t\"common\",\n\t\t22\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t\"0tOe\",\n\t\t\"common\",\n\t\t23\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t\"h11V\",\n\t\t\"common\",\n\t\t24\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t\"XGij\",\n\t\t\"common\",\n\t\t25\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t\"nYbb\",\n\t\t\"common\",\n\t\t26\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t\"smMY\",\n\t\t\"common\",\n\t\t27\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t\"STjf\",\n\t\t28\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t\"k5eQ\",\n\t\t\"common\",\n\t\t29\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t\"OR5t\",\n\t\t\"common\",\n\t\t30\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t\"fSgp\",\n\t\t\"common\",\n\t\t31\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t\"lfGF\",\n\t\t\"common\",\n\t\t32\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t\"5xYT\",\n\t\t33\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t\"nI0H\",\n\t\t\"common\",\n\t\t34\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t\"NAQR\",\n\t\t35\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t\"knkW\",\n\t\t\"common\",\n\t\t36\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t\"TpdJ\",\n\t\t\"common\",\n\t\t37\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t\"ISmu\",\n\t\t\"common\",\n\t\t38\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t\"U7LX\",\n\t\t\"common\",\n\t\t39\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t\"L3sA\",\n\t\t\"common\",\n\t\t40\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t\"IUOf\",\n\t\t\"common\",\n\t\t41\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t\"8Mb5\",\n\t\t42\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"kLfG\";\nmodule.exports = webpackAsyncContext;","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Category } from '../../../models/category.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criteria-preview',\r\n templateUrl: './criteria-preview.component.html',\r\n styleUrls: ['./criteria-preview.component.scss']\r\n})\r\nexport class CriteriaPreviewComponent extends BaseComponent implements OnInit {\r\n isLoadingResults = false;\r\n category$: Observable;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.criterionsService.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data) => {\r\n this.getCategory(data.submissionId);\r\n });\r\n }\r\n\r\n private getCategory(criterionId: string) {\r\n this.isLoadingResults = true;\r\n this.category$ = this.criterionsService.getCategory(criterionId)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","
    \r\n\t
    \r\n\t\t\r\n\t
    \r\n\t\r\n
    \r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedRatio',\r\n pure: false\r\n})\r\nexport class CalculatedRatioPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, firstFiled: string, secondFiled: string, key: string) {\r\n const first = +item[firstFiled] || 0;\r\n const second = +item[secondFiled] || 0;\r\n let result = '';\r\n if (second && first) {\r\n const ratio = second % first > 0 ? (second / first).toFixed(1) : (second / first);\r\n result = ratio + ':' + 1;\r\n } else {\r\n result = '0:0';\r\n }\r\n if (key) item[key] = result;\r\n return result;\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { FormioAppConfig } from 'dp-formio';\r\n\r\n@Injectable()\r\nexport class CustomSelectService {\r\n\t/**\r\n\t *\r\n\t */\r\n\tconstructor(\r\n\t\tprivate formioAppConfig: FormioAppConfig,\r\n\t\tprivate http: HttpClient\r\n\t) {}\r\n\r\n\trequest[]>({\r\n\t\tmethod,\r\n\t\turl,\r\n\t\tbody,\r\n\t\theaders,\r\n\t\tparams,\r\n\t}: {\r\n\t\tmethod: string;\r\n\t\turl: string;\r\n\t\tbody?: any;\r\n\t\theaders?: HttpHeaders | Record;\r\n\t\tparams?: Record;\r\n\t}): Observable {\r\n\t\treturn this.http.request(method, url, {\r\n\t\t\tbody: body,\r\n\t\t\theaders,\r\n\t\t\tparams,\r\n\t\t});\r\n\t}\r\n\r\n\tget(url: string) {\r\n\t\treturn this.http.get(url);\r\n\t}\r\n}\r\n","import { OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { BehaviorSubject, finalize, Subject, takeUntil } from 'rxjs';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { PagingResponse, Reviewer } from '../models/reviewer.model';\r\nimport { PageEvent } from '@angular/material/paginator';\r\nimport { OrgService, PAGE_SIZE } from '../org.service';\r\nimport { Sort } from '@angular/material/sort';\r\nimport { FormioAppConfig, FormioComponent, FormioLoader } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\nimport { ViewFormDialog } from '../view-form/view-form.component';\r\n\r\n@Component({\r\n\tselector: 'add-edit-org-item',\r\n\ttemplateUrl: 'add-edit-org-item.component.html',\r\n\tstyleUrls: ['./add-edit-org-item.component.scss'],\r\n})\r\nexport class AddEditOrgItem implements OnInit, OnDestroy {\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\tdestroy$ = new Subject();\r\n\tisLoadingResults = false;\r\n\texpandedFilter = false;\r\n\tdataSource = [];\r\n\tdisplayedColumns = [\r\n\t\t'name',\r\n\t\t'gender',\r\n\t\t'nationality',\r\n\t\t'residenceCountry',\r\n\t\t'residencePlace',\r\n\t\t'residenceCity',\r\n\t\t'workDestination',\r\n\t\t'generalSpecialty',\r\n\t\t'reviewerState',\r\n\t\t'details',\r\n\t\t'actions'\r\n\t];\r\n\r\n\tpageSize = PAGE_SIZE;\r\n\tselectedPage = 0;\r\n\ttotalItems = 0;\r\n\tdataSource$ = new BehaviorSubject>(null);\r\n\tselectedRow: Reviewer = null;\r\n\tfilterQuery: any = {};\r\n\tdetails = false;\r\n\r\n\troles = {\r\n\t\t'teamLeader': 'Team Leader',\r\n\t\t'spareTeamLeader': 'Spare Team Leader',\r\n\t\t'members': 'Members',\r\n\t\t'spareMembers': 'Spare Members',\r\n\t\t'observers': 'Observers',\r\n\t\t'spareObservers': 'Spare Observers',\r\n\t\t'traineeReviewers': 'Trainee Reviewers',\r\n\t\t'spareTraineeReviewer': 'Spare Trainee Reviewer'\r\n\t}\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate loader: FormioLoader,\r\n\t\tprivate orgService: OrgService,\r\n\t\tprivate formioAppConfig: FormioAppConfig) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t\tif (!this.data.isFormio) {\r\n\t\t\tthis.onSearch()\r\n\t\t}\r\n\t}\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tselectRow(row: Reviewer) {\r\n\t\tif (this.details) {\r\n\t\t\tthis.details = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.selectedRow = row;\r\n\t}\r\n\r\n\tshowDetails(event: any, row: Reviewer) {\r\n\t\tevent.preventDefault();\r\n\t\tconst model = Utils.evaluate(this.data.customOptions.profileResourceData, { config: this.formioAppConfig, ...row });\r\n\t\tthis.details = true;\r\n\r\n\t\tthis.dialog.open(ViewFormDialog, {\r\n\t\t\tdata: {\r\n\t\t\t\tformKey: model.formKey,\r\n\t\t\t\tendpoint: model.endpoint,\r\n\t\t\t\tdir: this.data.dir,\r\n\t\t\t},\r\n\t\t\twidth: '70%',\r\n\t\t});\r\n\t}\r\n\r\n\tsortData(event: Sort): void {\r\n\t\tthis.filterQuery.sort = event.direction ? `${event.active},${event.direction}` : '';\r\n\t\tthis.onSearch(this.filterQuery);\r\n\t}\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tchangePage(event: PageEvent) {\r\n\t\tthis.pageSize = event.pageSize;\r\n\t\tthis.selectedPage = event.pageIndex;\r\n\t\tthis.onSearch(this.filterQuery);\r\n\t}\r\n\r\n\tsearchWithReset(query = {}) {\r\n\t\tthis.selectedPage = 0;\r\n\t\tthis.onSearch(query);\r\n\t}\r\n\r\n\tonSearch(query = {}) {\r\n\t\tthis.filterQuery = query;\r\n\t\tthis.getData();\r\n\t}\r\n\tonClear() {\r\n\t\tthis.searchWithReset();\r\n\t}\r\n\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.component.key == 'cancel') this.dialogRef.close();\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tthis.dialogRef.close(event.data);\r\n\t}\r\n\r\n\tsave() {\r\n\t\tthis.data.submission.data.member = this.selectedRow;\r\n\t\tthis.dialogRef.close(this.data.submission.data);\r\n\t}\r\n\r\n\tprivate getData() {\r\n\t\tthis.isLoadingResults = true;\r\n\t\tconst selectedIds = this.data.submission.data.selectedIds;\r\n\t\tconst visitKey = this.data.submission.data.visitKey;\r\n\r\n\t\tlet position = '';\r\n\t\tconst role = this.data.submission.data.role.toLowerCase();\r\n\t\tif (role.includes('teamleader'))\r\n\t\t\tposition = 'TEAMLEADER';\r\n\t\telse if (this.data.isMassar && role.includes('traineereviewer'))\r\n\t\t\tposition = 'traineeReviewer';\r\n\t\telse if (role.includes('reviewer'))\r\n\t\t\tposition = 'REVIEWER';\r\n\t\telse if (!this.data.isMassar && role.includes('observers'))\r\n\t\t\tposition = 'OBSERVER';\r\n\t\telse\r\n\t\t\tposition = 'REVIEWER';\r\n\r\n\t\tconst data = {\r\n\t\t\tsize: this.pageSize,\r\n\t\t\tpage: this.selectedPage,\r\n\t\t\t...(selectedIds ? { 'id.notIn': selectedIds } : {}),\r\n\t\t\t'visitKey': visitKey,\r\n\t\t\t'position.equals': position,\r\n\t\t\t...this.filterQuery,\r\n\t\t};\r\n\t\tthis.orgService\r\n\t\t\t.getReviewers(data, this.data.isMassar == true)\r\n\t\t\t.pipe(\r\n\t\t\t\tfinalize(() => this.isLoadingResults = false),\r\n\t\t\t\ttakeUntil(this.destroy$)\r\n\t\t\t)\r\n\t\t\t.subscribe((res) => {\r\n\t\t\t\tconst item = res.data.find(q => q.id == this.data.submission.data.id);\r\n\t\t\t\tif (item) this.selectedRow = item;\r\n\t\t\t\tthis.dataSource$.next(res);\r\n\t\t\t});\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { VisitScheduleComponent } from './visit-schedule.component';\r\n\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'visit-schedule-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'visit-schedule-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'visit schedule schedule', // Title of the component\r\n\t// template: 'input', // Optional: define a template for the element. Default: input\r\n\t// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n\t// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n\t// documentation: '', // Optional: define the documentation of the field\r\n\t// weight: 0, // Optional: define the weight in the builder group\r\n\t// schema: {}, // Optional: define extra default schema for the field\r\n\t// extraValidators: [], // Optional: define extra validators for the field\r\n\t// emptyValue: null, // Optional: the emptyValue of the field\r\n\t// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerVisitScheduleComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, VisitScheduleComponent, injector);\r\n}\r\n","import { Injector, ViewEncapsulation } from '@angular/core';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n\tselector: 'app-page',\r\n\ttemplateUrl: './page.component.html',\r\n\t// styleUrls: ['./page.component.css']\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PageComponent extends BaseComponent implements OnInit {\r\n\t@Input() pageTitle?;\r\n\t@Input() pageTitleNarrow?;\r\n\t@Input() hasBackButton?;\r\n\t@Input() showLoader = false;\r\n\r\n\tconstructor(public injector: Injector) {\r\n\t\tsuper(injector);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsetTimeout(() => {\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t});\r\n\t\t}, 1000);\r\n\t}\r\n\r\n\tback() {\r\n\t\twindow.history.back();\r\n\t}\r\n}\r\n","import { Directive, ElementRef, Output } from '@angular/core';\r\nimport { fromEvent, map, Observable, switchMap, takeUntil } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[appSplitHandle]'\r\n})\r\nexport class SplitHandleDirective {\r\n\r\n @Output() drag: Observable<{ x: number, y: number }>;\r\n\r\n constructor(ref: ElementRef) {\r\n\r\n const getMouseEventPosition = (event: MouseEvent) => ({ x: event.movementX, y: event.movementY });\r\n\r\n const mousedown$ =\r\n fromEvent(ref.nativeElement, 'mousedown').pipe(map(getMouseEventPosition));\r\n const mousemove$ = fromEvent(document, 'mousemove').pipe(map(getMouseEventPosition));\r\n const mouseup$ = fromEvent(document, 'mouseup');\r\n\r\n this.drag = mousedown$.pipe(\r\n switchMap((mousedown: MouseEvent) =>\r\n mousemove$.pipe(map(mousemove => ({\r\n x: mousemove.x - mousedown.x,\r\n y: mousemove.y - mousedown.y\r\n }))\r\n ,\r\n takeUntil(mouseup$)\r\n )))\r\n ;\r\n }\r\n}\r\n","
    \r\n\r\n

    {{question?.questionText}}

    \r\n
    \r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Pipe({\r\n name: 'evaluationDisplay',\r\n})\r\nexport class EvaluationDisplayPipe implements PipeTransform {\r\n constructor(private translateService: TranslateService) {}\r\n\r\n transform(resourceItem: any, evaluateString): string {\r\n if (typeof resourceItem === 'string' || !resourceItem) {\r\n return resourceItem;\r\n }\r\n return Utils.evaluate(evaluateString, {\r\n item: resourceItem,\r\n translate: this.translateService,\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n {{node.criterionKey}}\r\n {{\r\n node\r\n | propertyLocalized : [\"criterionArabicName\", \"criterionEnglishName\"]\r\n | async\r\n }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { MemberModel } from '../../models/member.model';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criterion-preview',\r\n templateUrl: './criterion-preview.component.html',\r\n styleUrls: ['./criterion-preview.component.scss']\r\n})\r\nexport class CriterionPreviewComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n currentTab = 0;\r\n member: MemberModel = null;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n this.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(_ => this.member = null);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n *\r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.At least one item must be added to each of the following' | translate}}\r\n
    \r\n\r\n
      \r\n
    1. \r\n
      \r\n {{optionalInput.name}}\r\n \r\n
      \r\n
      \r\n
      \r\n {{i + 1}} - \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
    2. \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    ","
    \r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.mistakeLevel\" | translate }}\r\n \r\n \r\n \r\n \r\n {{ option.label | translate }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.Criterion\" | translate }}\r\n \r\n \r\n \r\n \r\n {{option.criterionKey}} - \r\n {{\r\n option\r\n | propertyLocalized : [\"criterionArabicName\", \"criterionEnglishName\"]\r\n | async\r\n }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.mistake\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.suggestedSolution\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { OnInit, Injector } from '@angular/core';\r\nimport { Output, EventEmitter, OnChanges, SimpleChanges, OnDestroy, Inject } from '@angular/core';\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { Utils } from 'formiojs';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ResourceNameService, SuccessToast } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'add-edit-editgrid-content',\r\n templateUrl: 'add-edit-editgrid-content.component.html',\r\n styleUrls: ['./add-edit-editgrid-content.component.scss'],\r\n})\r\nexport class AddEditEditgridContent implements OnInit, OnChanges, OnDestroy {\r\n @Input() data: any;\r\n @Output() close = new EventEmitter();\r\n\r\n submissionId: string;\r\n submission: any = {};\r\n formReady = false;\r\n\r\n dialogRef: MatDialogRef;\r\n dialogData: any;\r\n\r\n readConfigFrom: string;\r\n backToGrid = true;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n constructor(\r\n public fb: FormBuilder,\r\n private resourceNameService: ResourceNameService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private injector: Injector\r\n ) {\r\n try {\r\n this.dialogRef = injector.get(MatDialogRef);\r\n this.dialogData = injector.get(MAT_DIALOG_DATA);\r\n } catch { }\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.data) {\r\n this.data = this.dialogData;\r\n this.ngOnChanges(null);\r\n }\r\n $('.custom-modal-component mat-dialog-container').scroll(function () {\r\n $('.flatpickr-calendar').each((i, item) => {\r\n $(item).removeClass('open');\r\n });\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formReady = false;\r\n this.submissionId = '';\r\n this.submission = {};\r\n\r\n setTimeout(() => {\r\n let extraOptions = {};\r\n if (this.data.extra)\r\n extraOptions = Utils.evaluate(this.data.extra, {\r\n submission: this.data.data,\r\n editGridItems: this.data.editGridItems,\r\n rowSubmission: this.data.rowSubmission,\r\n });\r\n\r\n if (this.data.rowSubmission) this.submissionId = this.data.rowSubmission._id;\r\n\r\n this.readConfigFrom = this.data.resource?.readConfigFrom;\r\n this.loadResource(extraOptions);\r\n });\r\n }\r\n\r\n loadResource(extraOptions: any) {\r\n if (this.submissionId) {\r\n const resource = this.data.resource?.writeSubmissionOn || this.data.resource;\r\n const method = this.data.isEndpoint ?\r\n this.resourceNameService.loadById(this.data.evaluatedUrl, this.submissionId) :\r\n this.resourceNameService.loadCustomByKeyId(resource, this.submissionId);\r\n\r\n this.sub = method.subscribe((data) => {\r\n this.submission = data;\r\n this.submission.data = { ...extraOptions, ...this.submission.data };\r\n this.formReady = true;\r\n });\r\n } else {\r\n this.submission.data = { ...extraOptions };\r\n this.formReady = true;\r\n }\r\n }\r\n\r\n onFormLoad() {\r\n try {\r\n setTimeout(() => {\r\n const button = $('#columnsCancel');\r\n if (!button) {\r\n this.onFormLoad();\r\n return;\r\n }\r\n setTimeout(() => button.prop('disabled', false), 500);\r\n }, 350);\r\n } catch (e) { }\r\n }\r\n\r\n onSubmit(submission) {\r\n console.log(submission);\r\n if (this.data.isEndpoint) {\r\n this.sub = this.resourceNameService\r\n .saveByData(!this.submissionId, this.data.evaluatedUrl, submission.data)\r\n .subscribe((data) => {\r\n this.saveAndContinue(data);\r\n });\r\n return;\r\n }\r\n\r\n if (this.readConfigFrom) {\r\n this.sub = this.resourceNameService\r\n .saveResourceData(!this.submissionId, this.data.resource?.writeSubmissionOn, submission.data)\r\n .subscribe((data) => {\r\n this.saveAndContinue(data);\r\n });\r\n } else {\r\n this.saveAndContinue(submission);\r\n }\r\n }\r\n\r\n private saveAndContinue(data) {\r\n if (this.backToGrid) {\r\n this.closeWithSubmission(data);\r\n } else {\r\n if (this.data.closeActive) {\r\n this.data.rowSubmission = data;\r\n this.data.closeActive(this.data);\r\n this.data.rowSubmission = null;\r\n }\r\n this.ngOnChanges(null);\r\n this.toastrService.show(this.translateService.instant('forms.common.Save successfully'), '', {\r\n toastClass: 'notification-toast',\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: SuccessToast,\r\n });\r\n }\r\n\r\n this.backToGrid = true;\r\n }\r\n\r\n private closeWithSubmission(submission) {\r\n this.data.rowSubmission = submission;\r\n this.close.emit(this.data);\r\n if (this.dialogRef) this.dialogRef.close(this.data);\r\n }\r\n\r\n onCustomEvent(event) {\r\n if (event.type == 'customCancel') {\r\n this.backToGrid = true;\r\n this.close.emit();\r\n if (this.dialogRef) this.dialogRef.close();\r\n }\r\n else if (event.type == 'saveAndContinue') {\r\n if (!event.formComponent.formio.checkValidity(event.formComponent.formio.data, true)) {\r\n event.formComponent.onError(event.formComponent.formio.errors);\r\n return;\r\n }\r\n this.backToGrid = false;\r\n event.formComponent.submitForm(event.formComponent.submission);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach((s) => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, from, map, switchMap, tap } from 'rxjs';\r\nimport { FormioAppConfig, UserService } from 'dp-formio';\r\n\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { _getAccountRolesType } from 'src/formio-custom-components/src/lib/shared/utility/user';\r\nimport { CriterionAddMembersModel, ICriterion } from '../models/criterion';\r\nimport { IMember } from '../models/member';\r\nimport { ISession } from '../models/session';\r\nimport { IVisitLite } from '../models/visit';\r\n@Injectable()\r\nexport class DistributeService {\r\n private baseUrl: string;\r\n private getMembersPath: string;\r\n private getVisitInfoPath: string;\r\n private getCriterionPath: string;\r\n private getSessionsPath: string;\r\n private getSessionMemberPath: string;\r\n private updateSessionMembersPath: string;\r\n private addCriterionMembersPath: string;\r\n private deleteCriterionMembersPath: string;\r\n private _visitMembersSubs = new BehaviorSubject([]);\r\n\r\n constructor(\r\n private formioAppConfig: FormioAppConfig,\r\n private userService: UserService,\r\n private keycloakService: KeycloakService,\r\n protected http: HttpClient\r\n ) {\r\n this._prepareURLS();\r\n }\r\n\r\n getUserType() {\r\n return from(this.keycloakService.getToken()).pipe(\r\n switchMap((token) => this.userService.getUserData(token)),\r\n map((data) => _getAccountRolesType(data?.user_roles ?? []))\r\n );\r\n }\r\n\r\n getVisitInfo(key: string): Observable {\r\n const url = this.baseUrl + this.getVisitInfoPath + key;\r\n return this.http.get(url);\r\n }\r\n\r\n getMembersByVisitKey(visitKey: string, skipCache = false): Observable {\r\n const url = this.baseUrl + this.getMembersPath + visitKey;\r\n if (this._visitMembersSubs.getValue()?.length && !skipCache) {\r\n return this._visitMembersSubs.asObservable();\r\n }\r\n\r\n return this.http\r\n .get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n })\r\n .pipe(\r\n tap((data) => {\r\n this._visitMembersSubs.next(data);\r\n })\r\n );\r\n }\r\n\r\n\r\n getCriterionByVisitKey(visitKey: string): Observable {\r\n const url = this.baseUrl + this.getCriterionPath + visitKey + '/tree';\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getMyCriterionByVisitKey(visitKey: string, reviewerId): Observable {\r\n const url = `${this.baseUrl}${this.getCriterionPath}${visitKey}/members/reviewer/${reviewerId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getSessionsByVisitKey(visitKey: string): Observable {\r\n const url = this.baseUrl + this.getSessionsPath + visitKey;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n updateSessionMembers(session: ISession): Observable {\r\n const url = this.baseUrl + this.updateSessionMembersPath;\r\n return this.http.put(url, session);\r\n }\r\n\r\n addCriterionMembers(\r\n body: CriterionAddMembersModel\r\n ): Observable {\r\n const url = this.baseUrl + this.addCriterionMembersPath;\r\n return this.http.post(url, body);\r\n }\r\n\r\n deleteCriterionMembers(body: CriterionAddMembersModel) {\r\n const url = this.baseUrl + this.deleteCriterionMembersPath;\r\n return this.http.request('delete', url, { body: body });\r\n }\r\n\r\n private _prepareURLS() {\r\n this.baseUrl = this.formioAppConfig.gateway;\r\n\r\n const endpoints = this.formioAppConfig.endpoints;\r\n this.getVisitInfoPath = endpoints?.['visits'] + 'visit-key/';\r\n this.getMembersPath = endpoints?.['visitMembers'] + 'visit/';\r\n this.getCriterionPath = endpoints?.['criterion'] + 'visit/';\r\n this.getSessionsPath = endpoints?.['visitSessions'] + 'visit/';\r\n this.getSessionMemberPath = endpoints?.['sessionsMembers'] + 'visit/';\r\n this.updateSessionMembersPath = endpoints?.['visitSessions'] + 'members';\r\n this.addCriterionMembersPath = endpoints?.['criterion'] + 'members/add/';\r\n this.deleteCriterionMembersPath = endpoints?.['criterion'] + 'members/delete/';\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n   \r\n  \r\n
    \r\n
    ","\r\n\t\r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { AssessmentWrapperComponent } from './assessment-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'assessment', // custom type. Formio will identify the field with this type.\r\n selector: 'custom-assessment', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Assessment', // Title of the component\r\n};\r\n\r\nexport function registerAssessmentComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, AssessmentWrapperComponent, injector);\r\n}","export function removeEmpty(data): T {\r\n\treturn Object.entries(data).reduce((obj, [key, value]) => {\r\n\t\tif (isObject(value)) {\r\n\t\t\tconst cleanedValue = removeEmpty(value);\r\n\r\n\t\t\tif (Object.keys(cleanedValue).length > 0) {\r\n\t\t\t\tobj[key] = cleanedValue;\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\tArray.isArray(value)\r\n\t\t\t\t? value.length > 0\r\n\t\t\t\t: !!value || isBoolean(value) || isNumeric(value as string)\r\n\t\t) {\r\n\t\t\tobj[key] = value;\r\n\t\t}\r\n\t\treturn obj;\r\n\t}, {} as T);\r\n}\r\n\r\nfunction isObject(obj) {\r\n\treturn typeof obj === 'object' && obj !== null && !Array.isArray(obj);\r\n}\r\n\r\nfunction isBoolean(value) {\r\n\treturn typeof value === 'boolean';\r\n}\r\n\r\nfunction isNumeric(val: string): boolean {\r\n\tif (val === '' || val === null) {\r\n\t\treturn false;\r\n\t}\r\n\treturn !isNaN(Number(val));\r\n}\r\n\r\nexport function isFunction(obj: any): obj is Function {\r\n\treturn obj && typeof obj === 'function' && obj.constructor === Function;\r\n}\r\n\r\nexport function resolveFieldData(data: any, field: any): any {\r\n\tif (data && field) {\r\n\t\tif (isFunction(field)) {\r\n\t\t\treturn field(data);\r\n\t\t} else if (field.indexOf('.') == -1) {\r\n\t\t\treturn data[field];\r\n\t\t} else {\r\n\t\t\tlet fields: string[] = field.split('.');\r\n\t\t\tlet value = data;\r\n\t\t\tfor (let i = 0, len = fields.length; i < len; ++i) {\r\n\t\t\t\tif (value == null) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\t\t\t\tvalue = value[fields[i]];\r\n\t\t\t}\r\n\t\t\treturn value;\r\n\t\t}\r\n\t} else {\r\n\t\treturn null;\r\n\t}\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{question.code}}\r\n \r\n \r\n
    \r\n

    {{question.description}}

    \r\n
    \r\n {{question.error}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n   \r\n  \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{year.name}}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n {{'forms.common.The value must be greater than or equal' | translate}} : {{question.min}}\r\n
    \r\n
    question.max\" class=\"error input-error\">\r\n {{'forms.common.The value must be less than or equal' | translate}} : {{question.max}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    ","import { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\nimport {\r\n Component,\r\n Input,\r\n OnInit,\r\n OnChanges,\r\n ViewEncapsulation,\r\n SimpleChanges,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, finalize, forkJoin, iif, takeUntil, tap, Subscription } from 'rxjs';\r\nimport { CategoriesCompliance } from '../models/categories-compliance.model';\r\nimport { EvaluatedSummaryType, ExecuteVisitType } from '../models/execute-visit.model';\r\nimport { MemberModel } from '../models/member.model';\r\nimport { RolesEnum, VisitMetaData } from '../models/visit-metadata.model';\r\n// import { CriterionsService } from '../services/criterions.service';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { BaseComponent } from '../base.component';\r\nimport { ICriterion } from '../../distribute-team-members/models/criterion';\r\nimport { CriterionsService } from '../services/criterions.service';\r\nimport { MasarCriterionsService } from '../services/masar-criterions.service';\r\nimport { showToast } from '../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Summary } from '../models/summary.model';\r\n\r\nconst MasarExecutiveSummaries = 'executive-summaries';\r\nexport const QUILL_MODULES_LITE = {\r\n toolbar: [\r\n ['bold', 'italic', 'underline', 'strike'],\r\n [{ indent: '-1' }, { indent: '+1' }],\r\n [{ direction: 'rtl' }],\r\n [{ align: [] }],\r\n ['clean'],\r\n ],\r\n};\r\n\r\n@Component({\r\n selector: 'app-masar-criterions-tree',\r\n templateUrl: './masar-criterions-tree.component.html',\r\n styleUrls: ['./masar-criterions-tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MasarCriterionsTreeComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() viewOnly: boolean;\r\n @Input() categoriesCompliance: CategoriesCompliance[];\r\n @Input() visitMetaData: VisitMetaData;\r\n @Input() sessionId: number | string;\r\n @Input() executeVisitType: ExecuteVisitType;\r\n @Input() evaluatedSummaryType: EvaluatedSummaryType;\r\n @Input() responseNotesDecision: boolean;\r\n @Input() mistakeDisabled: boolean;\r\n @Input() disableEntityResponse: boolean;\r\n @Input() disableAttachments: boolean;\r\n @Input() hideMistake: boolean;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n quillModules = QUILL_MODULES_LITE;\r\n criterions: ICriterion[] = [];\r\n summaries = [\r\n {\r\n type: 'recommendations-summaries',\r\n filter: 'summaryOfRecommendations',\r\n label: 'forms.common.Criteria.summaryOfRecommendations'\r\n },\r\n {\r\n type: 'commendations-summaries',\r\n filter: 'summaryOfCommendations',\r\n label: 'forms.common.Criteria.summaryOfCommendations'\r\n },\r\n {\r\n type: 'suggestions-summaries',\r\n filter: 'summaryOfSuggestions',\r\n label: 'forms.common.Criteria.summaryOfSuggestions'\r\n }\r\n ];\r\n allCriterionEvaluated = false;\r\n executiveSummaryHTML = '';\r\n executiveSummary = '';\r\n notesDecision: boolean;\r\n subscription: Subscription;\r\n\r\n get isMistakeDisabled() {\r\n const decisionInput = this.criterionsService.decisionInputs$.value;\r\n return decisionInput?.viewOnly || this.mistakeDisabled ||\r\n decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n get showExecutivePlan() {\r\n return this.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n get enabledExecutiveSummary() {\r\n const decisionInput = this.criterionsService.decisionInputs$.value;\r\n return this.masarCriterionsService.allCriterionEvaluated$.value &&\r\n decisionInput.enableEdit &&\r\n decisionInput.executeVisitType == ExecuteVisitType.FinalReport;\r\n }\r\n\r\n selectedNode: ICriterion = null;\r\n treeControl = new NestedTreeControl((node) => node.subCriteria);\r\n dataSource: MatTreeNestedDataSource;\r\n\r\n isLoadingResults = false;\r\n\r\n showMemberDropdown: boolean;\r\n selectedMember: MemberModel;\r\n mainCriterionKeys: string[];\r\n\r\n readonly hasChild = (_: number, node: ICriterion) =>\r\n !!node.subCriteria && node.subCriteria.length > 0;\r\n\r\n readonly trackBy = (_: number, node: ICriterion) => node.id;\r\n\r\n constructor(\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n public translateService: TranslateService,\r\n public toastrService: ToastrService,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.showMemberDropdown = this.executeVisitType == ExecuteVisitType.SessionDetails && this.visitMetaData.role == RolesEnum.TEAM_LEADER;\r\n if (!this.showMemberDropdown) this.getTreeData();\r\n\r\n this.decisionTakenListener();\r\n this.hasMistakeListener();\r\n this.criterionKeyListener();\r\n this.registerCopyToExecutiveSummary();\r\n this.notesDecision = this.responseNotesDecision;\r\n }\r\n\r\n onExecutiveSummaryChange(event: any) {\r\n this.executiveSummary = event.htmlValue || '';\r\n }\r\n\r\n private decisionTakenListener() {\r\n this.criterionsService.decisionTaken$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(() => {\r\n this.selectedNode.evaluate = true;\r\n // this.updateResultData();\r\n this.getTreeData();\r\n });\r\n }\r\n private hasMistakeListener() {\r\n this.criterionsService.hasMistake$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((value) => this.selectedNode.hasError = value);\r\n }\r\n private criterionKeyListener() {\r\n this.masarCriterionsService.updatedCriterionKey$\r\n .pipe(\r\n filter(data => !!data && (!this.showMemberDropdown || (this.showMemberDropdown && !!this.selectedMember))),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(_ => {\r\n this.getTreeData();\r\n });\r\n }\r\n\r\n memberChanged(member: MemberModel) {\r\n this.selectedNode = null;\r\n this.getTreeData(member);\r\n }\r\n rowClicked(node: ICriterion) {\r\n if (this.selectedNode?.id !== node?.id) {\r\n this.selectedNode = node;\r\n this.criterionsService.criterion$.next(node);\r\n }\r\n }\r\n getTreeData(member: MemberModel = null) {\r\n const reviewerId = member?.reviewer?.id;\r\n const enableDecisionEdit = !reviewerId || reviewerId == this.visitMetaData.reviewerId;\r\n\r\n this.criterionsService.decisionInputs$.next({\r\n categoriesCompliance: this.categoriesCompliance,\r\n visitMetaData: this.visitMetaData,\r\n isMasar: true,\r\n enableEdit: !this.viewOnly && enableDecisionEdit,\r\n currentMemberId: member?.id || this.visitMetaData.memberId,\r\n currentReviewerId: member?.reviewer?.id || this.visitMetaData.reviewerId,\r\n viewOnly: this.viewOnly,\r\n executeVisitType: this.executeVisitType,\r\n evaluatedSummaryType: this.evaluatedSummaryType,\r\n disableEntityResponse: this.disableEntityResponse,\r\n disableAttachments: this.disableAttachments,\r\n });\r\n\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n iif(\r\n () => this.executeVisitType == ExecuteVisitType.SessionDetails,\r\n this.masarCriterionsService.getMyCriterionByVisitKey(this.visitMetaData.visitKey, reviewerId || this.visitMetaData.reviewerId),\r\n this.masarCriterionsService.getAllCriterionByVisitKey(this.visitMetaData.visitKey)\r\n ),\r\n this.criterionsService.getProccess(this.visitMetaData.accreditationKey, this.visitMetaData.eligibilityRequestId)\r\n ]).pipe(\r\n tap(() => this.getExecutiveSummary()),\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n ).subscribe((result) => {\r\n this.criterions = result[0];\r\n this.mainCriterionKeys = this.criterions.map(c => c.criterionKey);\r\n this.dataSource = new MatTreeNestedDataSource();\r\n this.dataSource.data = this.criterions;\r\n this.updateResultData();\r\n });\r\n }\r\n\r\n getExecutiveSummary() {\r\n if (this.executeVisitType == ExecuteVisitType.SessionDetails) return;\r\n\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.getSummaries(\r\n this.visitMetaData.visitKey,\r\n MasarExecutiveSummaries\r\n ).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false),\r\n filter(data => !!data?.length),\r\n ).subscribe(data => {\r\n this.executiveSummary = data[data.length - 1].summaryText;\r\n this.executiveSummaryHTML = data[data.length - 1].summaryText;\r\n this.updateResultData(this.executiveSummary);\r\n });\r\n }\r\n saveExecutiveSummary() {\r\n const summary: Summary = {\r\n noteOrder: 1,\r\n visitId: this.visitMetaData.visitId,\r\n visitKey: this.visitMetaData.visitKey,\r\n reviewerId: this.visitMetaData.reviewerId,\r\n summaryText: this.executiveSummary,\r\n deleted: false\r\n };\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.saveSummaries(MasarExecutiveSummaries, [summary])\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(data => {\r\n this.updateResultData(this.executiveSummary);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n\r\n updateResultData(executiveSummary: string = '') {\r\n const value = this.criterionsService.results$.getValue();\r\n value.executiveSummary = executiveSummary;\r\n value.responseNotesDecision = this.notesDecision;\r\n value.criterion = this.dataSource.data;\r\n value.flatCriterion = _cloneDeep(value.criterion);\r\n\r\n let flatten = (children, extractChildren) => Array.prototype.concat.apply(\r\n children,\r\n children.map(x => flatten(extractChildren(x) || [], extractChildren))\r\n );\r\n let extractChildren = x => x.subCriteria;\r\n value.flatCriterion = flatten(extractChildren({ subCriteria: value.flatCriterion }), extractChildren)\r\n .map(x => delete x.subCriteria && x);\r\n\r\n this.allCriterionEvaluated = value.flatCriterion\r\n .every(c => c.evaluate);\r\n\r\n this.masarCriterionsService.allCriterionEvaluated$.next(this.allCriterionEvaluated);\r\n this.criterionsService.results$.next(value);\r\n }\r\n private registerCopyToExecutiveSummary() {\r\n this.subscription?.unsubscribe();\r\n this.subscription = this.criterionsService.sendToExecutiveSummary$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(data => {\r\n this.executiveSummary += `${data.value}
    `;\r\n if (this.executiveSummaryHTML == null) this.executiveSummaryHTML = '';\r\n this.executiveSummaryHTML += `${data.value}
    `;\r\n });\r\n\r\n }\r\n}\r\n","\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { CategoryConfig, QuestionConfig } from './../models/config.model';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, OnChanges, Output, ViewEncapsulation, SimpleChanges } from \"@angular/core\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-optional-inputs',\r\n templateUrl: './optional-inputs.component.html',\r\n // styleUrls: ['./optional-inputs.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class OptionalInputsComponent implements OnInit, OnDestroy {\r\n @Input() orginalCategory: CategoryConfig | any;\r\n @Input() categoryHasChanged: EventEmitter;\r\n @Input() customOptions: any;\r\n @Input() viewOnly: boolean;\r\n @Output() data = new EventEmitter();\r\n @Output() changeCategory = new EventEmitter();\r\n sub: Subscription;\r\n\r\n showForm = true;\r\n formReady = true;\r\n\r\n category: CategoryConfig;\r\n private defaultEditorValue = '


    ';\r\n\r\n constructor(private resourceNameService: ResourceNameService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService,\r\n private cdr: ChangeDetectorRef,\r\n private formioLoader: FormioLoader) {\r\n this.formioLoader.loading = false;\r\n //TODO : we need to refactor validation to reactive \r\n }\r\n\r\n ngOnInit() {\r\n this.category = _cloneDeep(this.orginalCategory);\r\n \r\n this.category?.attachments?.forEach(q => q.data?.length > 0 ? true : q.data=[]);\r\n \r\n console.log('this.category',this.category);\r\n this.sub = this.categoryHasChanged.subscribe((category) => {\r\n this.orginalCategory = _cloneDeep(category);\r\n this.category = _cloneDeep(category);\r\n this.category?.attachments?.forEach(q => q.data = []);\r\n \r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub?.unsubscribe();\r\n }\r\n\r\n addOptionalInput(optionalInput) {\r\n optionalInput.results.push({ value: '' });\r\n this.data.emit(optionalInput.results);\r\n }\r\n\r\n removeOptionalInput(optionalInput, i) {\r\n optionalInput.results.splice(i, 1);\r\n this.data.emit(optionalInput.results);\r\n }\r\n changeValue(optionalInput) {\r\n this.data.emit(optionalInput.results);\r\n }\r\n\r\n saveCategory() {\r\n this.formioLoader.loading = true;\r\n console.log('this.category',this.category)\r\n if(!Array.isArray(this.category?.attachments)){\r\n this.category.attachments=[];\r\n }\r\n\r\n\r\n this.sub = this.resourceNameService.editSubmission(this.customOptions.categoryResource,\r\n this.category._id, { data: this.mapCategory() })\r\n .subscribe(data => {\r\n this.formioLoader.loading = false;\r\n this.orginalCategory.optionalInputs = this.category.optionalInputs;\r\n this.orginalCategory.descriptionStandardResult = this.category.descriptionStandardResult;\r\n this.orginalCategory.pledgeValue = this.category.pledgeValue;\r\n this.orginalCategory.attachments = this.category.attachments;\r\n this.changeCategory.emit(this.orginalCategory);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n changeApply() {\r\n this.showForm = false;\r\n this.formReady = false;\r\n setTimeout(() => this.formReady = true);\r\n }\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.optionalInputs [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n this.showForm = true;\r\n }, 250);\r\n }\r\n\r\n get isDescriptionStandardResultValid() {\r\n if (this.category?.isDescriptionStandardRequired)\r\n return !!this.category.descriptionStandardResult && this.category.descriptionStandardResult != this.defaultEditorValue;\r\n else return true;\r\n }\r\n get isOptionalInputsValid() {\r\n return true;\r\n // console.log('this.category.optionalInputs',this.category.optionalInputs)\r\n var tempOptionalInputs = this.category.optionalInputs.filter(q=>!q.nameAr.includes(\"الرأي المستقل\"))\r\n // console.log('this.category.optionalInputs XX',xx)\r\n return tempOptionalInputs?.length &&\r\n tempOptionalInputs.every(q => q.results?.filter(r => !!r.value)?.length >= 1);\r\n }\r\n\r\n get isPledgeResultValid() {\r\n if (this.category?.pledgeIsRequired)\r\n return this.category.pledgeValue;\r\n else return true;\r\n }\r\n\r\n private mapCategory() {\r\n const category = _cloneDeep(this.category);\r\n delete category.processConfigObject;\r\n delete category.parentCategoryObject;\r\n delete category.subCategoriresObject;\r\n delete category.questionsAssessmentObject;\r\n delete category._id;\r\n return category;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, forkJoin, map, switchMap } from 'rxjs';\r\nimport {\r\n SessionModel,\r\n SubmissionModel,\r\n VisitLiteModel,\r\n} from 'src/formio-custom-components/src/lib/shared/model';\r\nimport { FormioAppConfig } from 'dp-formio';\r\nimport { CommonQuestionModel, QuestionsPayload, ResourceQuestion } from '../models';\r\n\r\n@Injectable()\r\nexport class CommonQuestionsService {\r\n private baseUrl: string;\r\n private getVisitInfoPath: string;\r\n private questionsPath: string;\r\n private masarVisitPath: string;\r\n private postPath: string;\r\n private getSessionsPath: string;\r\n private deletePath: string;\r\n\r\n constructor(protected http: HttpClient, private formioAppConfig: FormioAppConfig) {\r\n this._prepareUrls();\r\n }\r\n\r\n private _prepareUrls() {\r\n this.baseUrl = this.formioAppConfig.gateway;\r\n\r\n const endpoints = this.formioAppConfig.endpoints;\r\n this.getVisitInfoPath = endpoints?.visits + 'visit-key/';\r\n this.questionsPath = endpoints?.commonQuestions?.get;\r\n this.postPath = endpoints?.commonQuestions?.post;\r\n this.deletePath = endpoints?.commonQuestions?.delete;\r\n this.masarVisitPath = endpoints?.masarVisit;\r\n this.getSessionsPath = endpoints?.visitSessions + 'visit/';\r\n }\r\n\r\n getVisitInfo(key: string): Observable {\r\n const url = this.baseUrl + this.getVisitInfoPath + key;\r\n const pahse = this.baseUrl + this.masarVisitPath + key + '/phase';\r\n return forkJoin([\r\n this.http.get(url),\r\n this.http.get(pahse, { responseType: 'text' as any }),\r\n ]).pipe(\r\n map(([data, phase]) => {\r\n return {\r\n visitKey: data.visitKey,\r\n id: data.id,\r\n requestId: data.requestId,\r\n visitNumber: data.visitNumber,\r\n phase: phase,\r\n visitType: data?.accreditationType,\r\n } as VisitLiteModel;\r\n })\r\n );\r\n }\r\n\r\n getResourceData(\r\n resourceName: string,\r\n payload: QuestionsPayload = {}\r\n ): Observable {\r\n const url = this.formioAppConfig.formio.appUrl + resourceName + '/submission';\r\n return this.http\r\n .get[]>(url, { params: payload })\r\n .pipe(\r\n map((submissions) =>\r\n submissions.map((sub) => {\r\n return {\r\n _id: sub._id,\r\n ...sub?.data,\r\n };\r\n })\r\n )\r\n );\r\n }\r\n\r\n getSessionsByVisitKey(visitKey: string): Observable {\r\n const url = this.baseUrl + this.getSessionsPath + visitKey;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getQuestions(payload: QuestionsPayload = {}): Observable {\r\n const url = this.baseUrl + this.questionsPath;\r\n return this.http.get(url, { params: payload });\r\n }\r\n\r\n createQuestion(payload: CommonQuestionModel): Observable {\r\n const url = this.baseUrl + this.postPath;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n updateQuestion(\r\n payload: CommonQuestionModel\r\n ): Observable {\r\n const { id, ...data } = payload;\r\n return this.deleteQuestion(id).pipe(switchMap((_) => this.createQuestion(data)));\r\n }\r\n\r\n deleteQuestion(id: number): Observable {\r\n const url = this.baseUrl + this.deletePath + id;\r\n return this.http.delete(url);\r\n }\r\n}\r\n","\r\n\r\nexport enum ExecuteVisitType {\r\n SessionDetails = 'SessionDetails',\r\n FinalReport = 'FinalReport',\r\n InstitutionEntries = 'InstitutionEntries',\r\n FinalReportWithInstitutionEntries = 'FinalReportWithInstitutionEntries'\r\n}\r\n\r\nexport enum EvaluatedSummaryType {\r\n All = 'All',\r\n AllSummary = 'AllSummary',\r\n OnlyCriterionSummary = 'OnlyCriterionSummary',\r\n}","import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-delete-dialog',\r\n templateUrl: './delete-dialog.component.html',\r\n styleUrls: ['./delete-dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DeleteDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n data.result = true;\r\n }\r\n\r\n ngOnInit() {}\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","/**\r\n * \tDEFAULTS\r\n * DEFAULTS_COLORS\r\n * CUSTOM_CSS\r\n * DEFAULTS_THEM_OPTIONS\r\n * DEFAULT_CONFIG\r\n */\r\n\r\ntype DefaultsImagesType = { [k: string]: { path: string } | null };\r\n\r\nexport const DEFAULTS_IMAGES: DefaultsImagesType = {\r\n\tlogo: null,\r\n\tsmallLogo: null,\r\n\tuserAvatar: null,\r\n\tsectionsIcon: null,\r\n};\r\nexport const CUSTOM_CSS = {\r\n\tcustomCss: ``,\r\n};\r\n\r\nexport const DEFAULT_FOOTER = {\r\n\tfooter : ''\r\n}\r\n\r\nexport const DEFAULTS_COLORS = {\r\n\tbackgroundColor: 'rgb(235, 235, 235)',\r\n\tprimary50: 'rgb(232, 243, 245)',\r\n\tprimary100: 'rgb(197, 224, 230)',\r\n\tprimary200: 'rgb(158, 204, 213)',\r\n\tprimary300: 'rgb(119, 183, 196)',\r\n\tprimary400: 'rgb(90, 167, 183)',\r\n\tprimary500: 'rgb(61, 152, 170)',\r\n\tprimary600: 'rgb(55, 144, 163)',\r\n\tprimary700: 'rgb(47, 133, 153)',\r\n\tprimary800: 'rgb(39, 123, 144)',\r\n\tprimary900: 'rgb(26, 106, 127)',\r\n\tprimaryA100: 'rgb(184, 239, 255)',\r\n\tprimaryA200: '#85e3ff',\r\n\tprimaryA400: 'rgb(82, 215, 255)',\r\n\tprimaryA700: 'rgb(57, 209, 255)',\r\n\tprimaryContrast50: 'rgb(0, 0, 0)',\r\n\tprimaryContrast100: 'rgb(0, 0, 0)',\r\n\tprimaryContrast200: 'rgb(0, 0, 0)',\r\n\tprimaryContrast300: 'rgb(0, 0, 0)',\r\n\tprimaryContrast400: 'rgb(0, 0, 0)',\r\n\tprimaryContrast500: 'rgb(255, 255, 255)',\r\n\tprimaryContrast600: 'rgb(255, 255, 255)',\r\n\tprimaryContrast700: 'rgb(255, 255, 255)',\r\n\tprimaryContrast800: 'rgb(255, 255, 255)',\r\n\tprimaryContrast900: 'rgb(255, 255, 255)',\r\n\tprimaryContrastA100: 'rgb(0, 0, 0)',\r\n\tprimaryContrastA200: 'rgb(0, 0, 0)',\r\n\tprimaryContrastA400: 'rgb(0, 0, 0)',\r\n\tprimaryContrastA700: 'rgb(0, 0, 0)',\r\n\taccent50: 'rgb(230, 243, 240)',\r\n\taccent100: 'rgb(191, 224, 218)',\r\n\taccent200: 'rgb(149, 204, 194)',\r\n\taccent300: 'rgb(107, 184, 170)',\r\n\taccent400: 'rgb(75, 168, 151)',\r\n\taccent500: 'rgb(43, 153, 133)',\r\n\taccent600: 'rgb(38, 145, 125)',\r\n\taccent700: 'rgb(32, 134, 114)',\r\n\taccent800: 'rgb(26, 124, 104)',\r\n\taccent900: 'rgb(16, 107, 85)',\r\n\taccentA100: 'rgb(160, 255, 230)',\r\n\taccentA200: 'rgb(109, 255, 217)',\r\n\taccentA400: 'rgb(58, 255, 203)',\r\n\taccentA700: 'rgb(32, 255, 197)',\r\n\taccentContrast50: 'rgb(0, 0, 0)',\r\n\taccentContrast100: 'rgb(0, 0, 0)',\r\n\taccentContrast200: 'rgb(0, 0, 0)',\r\n\taccentContrast300: 'rgb(0, 0, 0)',\r\n\taccentContrast400: 'rgb(0, 0, 0)',\r\n\taccentContrast500: 'rgb(255, 255, 255)',\r\n\taccentContrast600: 'rgb(255, 255, 255)',\r\n\taccentContrast700: 'rgb(255, 255, 255)',\r\n\taccentContrast800: 'rgb(255, 255, 255)',\r\n\taccentContrast900: 'rgb(255, 255, 255)',\r\n\taccentContrastA100: 'rgb(0, 0, 0)',\r\n\taccentContrastA200: 'rgb(0, 0, 0)',\r\n\taccentContrastA400: 'rgb(0, 0, 0)',\r\n\taccentContrastA700: 'rgb(0, 0, 0)',\r\n\tprimaryColor: '#00adc3',\r\n\twarningColor: '#f0b432',\r\n\taccentColor: '#0c7782',\r\n\tsecondaryColor: '#666',\r\n\tsuccessColor: '#3aad6d',\r\n\taccentColor200: '#2185b8',\r\n\tredColor: 'rgb(255, 0, 0)',\r\n\taccentColor50: '#1c719b',\r\n};\r\n\r\nexport const DEFAULTS_THEM_OPTIONS = {\r\n\tfontFamily: 'Din-Next-Lt-Arabic_Regular',\r\n\tfavicon: '/assets/favicon.ico',\r\n\t...DEFAULTS_COLORS,\r\n\t...DEFAULTS_IMAGES,\r\n\t...CUSTOM_CSS,\r\n\t...DEFAULT_FOOTER,\r\n};\r\n\r\nexport const DEFAULT_CONFIG = [DEFAULTS_THEM_OPTIONS];\r\n","
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.' + customOptions.eventItemPrev | translate}}\r\n
    \r\n ({{i +1}})\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{('forms.common.' + eventItem[customOptions.eventItemForm.displayTitle.key]) |\r\n translate}}\r\n \r\n \r\n {{eventItem[customOptions.eventItemForm.displayTitle.key] | date :\r\n customOptions.eventItemForm.displayTitle.format}}\r\n \r\n \r\n {{eventItem[customOptions.eventItemForm.displayTitle.key] | displayTime :\r\n customOptions.eventItemForm.displayTitle.format}}\r\n \r\n \r\n {{eventItem[customOptions.eventItemForm.displayTitle.key]}}\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n {{('forms.common.' + eventItem[item.key]) | translate}}\r\n \r\n \r\n {{eventItem[item.key] | date : item.format}}\r\n \r\n \r\n {{eventItem[item.key] | displayTime : item.format}}\r\n \r\n \r\n {{eventItem[item.key]}}\r\n \r\n \r\n -\r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MemberDataModel } from '../model';\r\n\r\n@Pipe({\r\n name: 'getMemberName',\r\n})\r\nexport class GetMemberNamePipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n transform(value: MemberDataModel): string {\r\n if (!value) {\r\n return '';\r\n }\r\n const currentLang = this.translate.currentLang;\r\n const key = currentLang == 'ar' ? 'arabicName' : 'englishName';\r\n const _dKey = currentLang == 'ar' ? 'englishName' : 'arabicName';\r\n return value?.[key] ?? value?.[_dKey];\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { finalize, iif, takeUntil } from 'rxjs';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { FinalReportResponse } from '../../../models/final-report-response.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-add-edit-response',\r\n templateUrl: './add-edit-response.dialog.html',\r\n styleUrls: ['./add-edit-response.dialog.scss']\r\n})\r\nexport class AddEditResponseComponent extends BaseComponent {\r\n responses = ['accept', 'not_accept', 'accept_update'];\r\n form: FormGroup;\r\n isLoadingResults = false;\r\n modelId: number;\r\n\r\n get reasonsControl() { return this.form.get('reasons'); }\r\n get updatesControl() { return this.form.get('updates') as FormArray; }\r\n get updatesControls() { return (this.form.get('updates') as FormArray).controls as FormControl[]; }\r\n get responseDecisionValue() {\r\n return this.form.controls.responseDecision.value;\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService) {\r\n super();\r\n this.initForm();\r\n this.registerUpdateFormValidation();\r\n this.getData();\r\n }\r\n\r\n addUpdate(value: string = '') {\r\n this.updatesControl.push(new FormControl({ value: value, disabled: this.data.viewOnly }, Validators.required));\r\n }\r\n removeUpdate(index: number) {\r\n this.updatesControl.removeAt(index);\r\n }\r\n\r\n save() {\r\n if (this.form.invalid) return;\r\n this.isLoadingResults = true;\r\n const model: FinalReportResponse = {\r\n id: this.modelId,\r\n visitKey: this.data.visitMetaData.visitKey,\r\n recommendationsSummaryId: this.data.summaryId,\r\n ...this.form.value\r\n };\r\n iif(() => !!this.modelId,\r\n this.itimadCriterionsService.editFinalReportResponses(model),\r\n this.itimadCriterionsService.createFinalReportResponses(model))\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(data => {\r\n this.dialogRef.close(data.id);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n private initForm() {\r\n this.form = this.fb.group({\r\n responseDecision: [{ value: '', disabled: this.data.viewOnly }, [Validators.required]],\r\n reasons: [{ value: '', disabled: this.data.viewOnly }],\r\n updates: this.fb.array([]),\r\n });\r\n }\r\n private registerUpdateFormValidation() {\r\n this.form.controls.responseDecision.valueChanges.subscribe(value => {\r\n if (value != 'accept') {\r\n this.reasonsControl.setValidators([Validators.required]);\r\n } else {\r\n this.reasonsControl.reset();\r\n this.reasonsControl.clearValidators();\r\n }\r\n this.reasonsControl.updateValueAndValidity();\r\n\r\n if (value == 'accept_update') {\r\n if (!this.updatesControl.length) this.addUpdate();\r\n this.updatesControl.setValidators([Validators.required]);\r\n } else {\r\n this.updatesControl.clear();\r\n this.updatesControl.clearValidators();\r\n }\r\n this.updatesControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private getData() {\r\n if (!this.data.id) return;\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getFinalReportResponses(this.data.id)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n ).subscribe(data => {\r\n this.updateform(data);\r\n });\r\n }\r\n private updateform(data: FinalReportResponse) {\r\n this.modelId = data.id;\r\n this.form.patchValue({\r\n responseDecision: data.responseDecision,\r\n reasons: data.reasons\r\n });\r\n this.updatesControl.clear();\r\n data.updates.forEach((value, index) => {\r\n this.addUpdate(value);\r\n });\r\n }\r\n}\r\n","const LifeCycleService = {\r\n PUBLISHED:'PUBLISHED',\r\n UNPUBLISHED:'UNPUBLISHED',\r\n DRAFT:'DRAFT'\r\n}\r\nexport { LifeCycleService }","\r\nimport { translateServiceInstance } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\n\r\nconst ar = 'ar';\r\nexport enum StatusConfig {\r\n UnComplete, Complete\r\n}\r\nexport class ProcessConfig {\r\n _id: string;\r\n key: string;\r\n categoryLevelCount: number;\r\n answerMaxScore: number;\r\n categoryAssessment: string[]; //list of 'keys'\r\n displayNumberBy: 'order' | 'pattern';\r\n categoryNumberPattern: string;\r\n questionNumberPattern: string;\r\n scoreConditions: ScoreConditionsConfig[];\r\n\r\n evaluationItems: EvaluationItemsConfig[];\r\n evaluationLevels: EvaluationLevelsConfig[];\r\n hasEvaluationItems: boolean;\r\n}\r\n\r\nexport class ScoreConditionsConfig {\r\n lessThan: number;\r\n greaterThan: number;\r\n messageAr: string;\r\n messageEn: string;\r\n\r\n get message() {\r\n return translateServiceInstance?.currentLang == ar ? this.messageAr : this.messageEn;\r\n }\r\n}\r\nexport class CategoryConfig {\r\n _id: string;\r\n key: string;\r\n originKey: string;\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n order: number;\r\n color: string;\r\n levelNumber: number;\r\n parentCategory: string; //list of 'keys'\r\n questionsAssessment: string[]; //list of 'keys'\r\n averageToPass: number;\r\n weight: number;\r\n errorAr: string;\r\n errorEn: string;\r\n optionalInputs: OptionalInputConfig[];\r\n isDescriptionStandardRequired: boolean;\r\n descriptionStandardResult: string;\r\n\r\n //#region pledge\r\n pledgeNameAr: string;\r\n pledgeNameEn: string;\r\n pledgeTooltipAr: string;\r\n pledgeTooltipEn: string;\r\n pledgeIsRequired: boolean;\r\n pledgeValue: boolean;\r\n\r\n \r\n get pledgeName() {\r\n // console.log('pledgeName called',this)\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeNameAr : this.pledgeNameEn;\r\n }\r\n get pledgeTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeTooltipAr : this.pledgeTooltipEn;\r\n }\r\n get hasPledgeAndAcknowledgment() { return !!this.pledgeName; }\r\n //#endregion\r\n //#region attachments\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachments: AttachmentsConfig[];\r\n get attachmentsTooltip() {\r\n console.log('attachmentsTooltip',this)\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get attachmentsName() {\r\n console.log('attachmentsName',this)\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get attachmentsValid() {\r\n // if (!this.attachmentIsRequired) return true;\r\n // return !!this.data?.length;\r\n //this.attachments.every(q => q.valid);\r\n // console.log('this.attachments.every(q => q.valid)',this.attachments.every(q => function(q){\r\n // console.log('q.attachmentIsRequired',q.attachmentIsRequired); \r\n // if (!q.attachmentIsRequired) return true;\r\n // console.log('q.data?.length',q.data?.length); \r\n // return q.data?.length>0;}))\r\n if(!Array.isArray(this.attachments)){\r\n return true;\r\n }\r\n console.log('this.attachments.every(q => q.valid)',this.attachments.every(q=>{\r\n // console.log('check attachment');\r\n if (!q.attachmentIsRequired) return true\r\n return q.data?.length>0;\r\n }));\r\n // console.log('this.attachments.every(q => q.valid)',this.attachments.every(attachmentIsValid));\r\n return this.attachments.every(q=>{\r\n if (!q.attachmentIsRequired) return true\r\n return q.data?.length>0;\r\n });\r\n \r\n }\r\n \r\n get hasAttachments() { console.log('attachment ',this); return this.attachments?.length; }\r\n //#endregion\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n\r\n get hasError() {\r\n // if (!this.hasOptionalInputs || !this.isScoreValid) return true;\r\n if (!this.isScoreValid) return true;\r\n else return false;\r\n }\r\n get isScoreValid() {\r\n return (this.scoreResult ?? 0) >= (this.averageToPass || 0);\r\n }\r\n\r\n get hasOptionalInputs() {\r\n if(this.originKey==\"test\")\r\n return true;\r\n var tempOptionalInputs = this.optionalInputs.filter(q=>!q.nameAr.includes(\"الرأي المستقل\"))\r\n // console.log('from here',tempOptionalInputs);\r\n return tempOptionalInputs?.every(q => q.results?.length) || false;\r\n }\r\n get displayOrder() {\r\n if (!this.processConfigObject) return ``;\r\n if (this.processConfigObject.displayNumberBy == 'order')\r\n return `${this.order}`;\r\n else {\r\n return this.processConfigObject.categoryNumberPattern.replace('{{i}}', `${this.order}`);\r\n }\r\n }\r\n\r\n get calculatedScore() {\r\n this.sumScore = 0;\r\n let sumQuestions = 0;\r\n // calc from questions or sub categorires\r\n if (this.questionsAssessmentObject?.length) {\r\n this.questionsAssessmentObject.filter(q => !q.notApply && q.status == StatusConfig.Complete).forEach(q => {\r\n if (q.hasEvaluationItems) {\r\n const evaluationsAnswerd = q.evaluationItems.filter(q => !!q.score);\r\n this.sumScore += evaluationsAnswerd.reduce((a, b) => a + +b.score, 0) / evaluationsAnswerd.length;\r\n }\r\n else this.sumScore += (+q.value || 0) * (q.weight || 1);\r\n sumQuestions += q.weight || 1;\r\n });\r\n }\r\n else if (this.subCategoriresObject?.length) {\r\n this.subCategoriresObject.filter(q => q.calculatedScore).forEach(q => {\r\n this.sumScore += +q.calculatedScore * (q.weight || 1);\r\n sumQuestions += q.weight || 1;\r\n });\r\n }\r\n if (!sumQuestions) return 0;\r\n return this.sumScore / sumQuestions;\r\n }\r\n get calculatedSavedScore() {\r\n if (!this.numberOfApplicable) return 0;\r\n return this.totalEvaluationCriteria / this.numberOfApplicable;\r\n }\r\n\r\n get evaluationScoreMessage() {\r\n if (!this.processConfigObject) return ``;\r\n // let score = this.calculatedScore;\r\n let score = 0;\r\n if (!score && this.totalEvaluationCriteria) score = this.totalEvaluationCriteria / this.numberOfApplicable;\r\n return this.processConfigObject.scoreConditions.find(q =>\r\n (q.lessThan && !q.greaterThan && score <= q.lessThan) ||\r\n (!q.lessThan && q.greaterThan && score >= q.greaterThan) ||\r\n (q.lessThan && q.greaterThan && score <= q.lessThan && score > q.greaterThan)\r\n )?.message || ``;\r\n }\r\n\r\n processConfigObject: ProcessConfig; // calculated\r\n parentCategoryObject: CategoryConfig; // calculated\r\n subCategoriresObject: CategoryConfig[]; // calculated\r\n subCategoriresObjectForSelect: CategoryConfig[]; // calculated\r\n questionsAssessmentObject: QuestionConfig[]; // calculated\r\n\r\n totalEvaluationCriteria: number = 0;\r\n numberOfApplicable: number = 0;\r\n\r\n scoreResult: number = 0;\r\n percentage: number = 0;\r\n score: number = 0;\r\n sumScore: number = 0;\r\n get questionAnsweredCount() {\r\n if (this.questionsAssessmentObject?.length)\r\n return this.questionsAssessmentObject.filter(q => !q.notApply && q.status == StatusConfig.Complete).length;\r\n else return 0;\r\n }\r\n}\r\n\r\nexport class OptionalInputConfig {\r\n nameAr: string;\r\n nameEn: string;\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n\r\n results: Array<{ value: string }> = [];\r\n value?:any\r\n}\r\n\r\nexport class QuestionConfig {\r\n _id: string;\r\n key: string;\r\n nameAr: string;\r\n nameEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n order: number;\r\n isRequired: boolean;\r\n averageToPass: number;\r\n weight: number;\r\n errorAr: string;\r\n errorEn: string;\r\n answerTooltip: AnswerConfig[];\r\n parentCategoryObject: CategoryConfig; // calculated\r\n\r\n hasEvaluationItems: boolean;\r\n evaluationItems: EvaluationItemsConfig[];\r\n evaluationLevels: EvaluationLevelsConfig[];\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n\r\n get hasError() {\r\n if (this.hasEvaluationItems) {\r\n const evaluationsAnswerd = this.evaluationItems.filter(q => !!q.score);\r\n this.value = (evaluationsAnswerd.reduce((a, b) => a + +b.score * (b.weight || 1), 0) / evaluationsAnswerd.length) + '';\r\n\r\n if (this.evaluationItems.some(q => q.hasError)) return true;\r\n else return (+this.value || 0) < this.averageToPass;\r\n }\r\n else return (+this.value || 0) * (this.weight || 1) < this.averageToPass;\r\n }\r\n get displayOrder() {\r\n if (!this.parentCategoryObject.processConfigObject) return ``;\r\n if (this.parentCategoryObject.processConfigObject.displayNumberBy == 'order')\r\n return `${this.order}`;\r\n else {\r\n return this.parentCategoryObject.processConfigObject.questionNumberPattern.replace('{{i}}', `${this.order}`);\r\n }\r\n }\r\n //#region notes\r\n notesNameAr: string;\r\n notesNameEn: string;\r\n notesTooltipAr: string;\r\n notesTooltipEn: string;\r\n notesIsRequired: boolean;\r\n get notesName() {\r\n return translateServiceInstance?.currentLang == ar ? this.notesNameAr : this.notesNameEn;\r\n }\r\n get notesTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.notesTooltipAr : this.notesTooltipEn;\r\n }\r\n //#endregion\r\n\r\n //#region link\r\n linkNameAr: string;\r\n linkNameEn: string;\r\n linkTooltipAr: string;\r\n linkTooltipEn: string;\r\n linkIsRequired: boolean;\r\n get linkName() {\r\n return translateServiceInstance?.currentLang == ar ? this.linkNameAr : this.linkNameEn;\r\n }\r\n get linkTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.linkTooltipAr : this.linkTooltipEn;\r\n }\r\n //#endregion\r\n\r\n //#region pledge\r\n pledgeNameAr: string;\r\n pledgeNameEn: string;\r\n pledgeTooltipAr: string;\r\n pledgeTooltipEn: string;\r\n pledgeIsRequired: boolean;\r\n get pledgeName() {\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeNameAr : this.pledgeNameEn;\r\n }\r\n get pledgeTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeTooltipAr : this.pledgeTooltipEn;\r\n }\r\n //#endregion\r\n\r\n //#region attachments\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachments: AttachmentsConfig[];\r\n get attachmentsTooltip() {\r\n console.log('attachmentsTooltip01',this)\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get attachmentsValid() {\r\n return this.attachments.every(q => q.valid);\r\n }\r\n //#endregion\r\n\r\n get hasNotes() { return !!this.notesName; }\r\n get hasLink() { return !!this.linkName; }\r\n get hasPledgeAndAcknowledgment() { return !!this.pledgeName; }\r\n get hasAttachments() { return this.attachments.length; }\r\n\r\n status: StatusConfig = StatusConfig.UnComplete;\r\n notApply: boolean = false;\r\n value: string;\r\n notesValue: string;\r\n linkValue: string;\r\n pledgeValue: boolean;\r\n}\r\n\r\nexport class AnswerConfig {\r\n score: number;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n}\r\n\r\nexport class AttachmentsConfig {\r\n attachmentIsRequired: boolean;\r\n attachmentTooltipAr: string;\r\n attachmentTooltipEn: string;\r\n attachmentNameAr: string;\r\n attachmentNameEn: string;\r\n get attachmentsTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentTooltipAr : this.attachmentTooltipEn;\r\n }\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentNameAr : this.attachmentNameEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentTooltipAr : this.attachmentTooltipEn;\r\n }\r\n\r\n data: any[] = [];\r\n get valid() {\r\n if (!this.attachmentIsRequired) return true;\r\n return !!this.data?.length;\r\n }\r\n \r\n}\r\n\r\nexport class EvaluationItemsConfig {\r\n nameAr: string;\r\n nameEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n order: number;\r\n weight: number;\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n\r\n score: number | string;\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n return (+this.score || 0) * (this.weight || 1) < this.averageToPass;\r\n }\r\n}\r\n\r\nexport class EvaluationLevelsConfig {\r\n arabicLabel: string;\r\n englishLabel: string;\r\n score: number;\r\n _id: string;\r\n\r\n get label() {\r\n return translateServiceInstance?.currentLang == ar ? this.arabicLabel : this.englishLabel;\r\n }\r\n\r\n get id() {\r\n if (!this._id) this._id = `${new Date().getTime()}`;\r\n return this._id;\r\n }\r\n}","import { Component, Input, EventEmitter, Output, ChangeDetectionStrategy, ViewEncapsulation, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\r\nimport { PopoverController } from '@ionic/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { NotificationOptionsComponent } from '../notification-options/notification-options.component';\r\n\r\n@Component({\r\n selector: 'app-notification-item',\r\n // styleUrls: ['./notification-item.component.scss'],\r\n templateUrl: './notification-item.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class NotificationItemComponent implements OnChanges, OnDestroy {\r\n\r\n @Input() notification;\r\n @Output() notificationAction: EventEmitter = new EventEmitter();\r\n\r\n notificationContent = '';\r\n isArabic;\r\n sub: Subscription;\r\n\r\n constructor(private popoverCtrl: PopoverController,\r\n private translateService: TranslateService) {\r\n this.isArabic = this.translateService.currentLang == 'ar';\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.isArabic = data.lang == 'ar';\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.notification && changes.notification.currentValue && changes.notification.currentValue.notificationContents.length) {\r\n if (this.isArabic) {\r\n if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR').message;\r\n else if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN').message;\r\n }\r\n else {\r\n if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN').message;\r\n else if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR').message;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.sub) this.sub.unsubscribe();\r\n }\r\n toggleRead(event) {\r\n event.stopPropagation();\r\n this.notificationAction.emit({ action: 'status', notification: this.notification });\r\n }\r\n\r\n async showOptions(event) {\r\n event.stopPropagation();\r\n const popover = await this.popoverCtrl.create({\r\n component: NotificationOptionsComponent,\r\n cssClass: 'notification-options',\r\n event: event,\r\n showBackdrop: false,\r\n });\r\n await popover.present();\r\n const { data } = await popover.onDidDismiss();\r\n if (data && this.notification) {\r\n this.updateNotification(data);\r\n }\r\n }\r\n\r\n updateNotification(data) {\r\n this.notificationAction.emit({ action: data, notification: this.notification });\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n {{node.criterionKey}}\r\n {{\r\n node\r\n | propertyLocalized : [\"criterionArabicName\", \"criterionEnglishName\"]\r\n | async\r\n }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n {{ 'forms.common.Criteria.executiveSummary' | translate }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{executiveSummary?.length}} / 2000\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n {{'forms.common.true' | translate}}\r\n {{'forms.common.false' | translate}}\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    ","import { DatePipe } from '@angular/common';\r\nimport {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tDirective,\r\n\tInjector,\r\n\tNgZone,\r\n\tOnDestroy,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { AccountService } from 'src/app/core/services/account.service';\r\nimport { SessionService } from 'src/app/core/services/session.service';\r\nimport { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { ServicesService } from 'src/app/modules/services-catalog/services.service';\r\nimport { FilterPipe } from 'ngx-filter-pipe';\r\nimport { ConfigService } from 'src/app/core/services/config.service';\r\nimport { LoggerService } from 'src/app/core/services/logger.service';\r\nimport { FormioLoader } from 'dp-formio';\r\nimport { TitleService } from 'src/app/core/services/title.service';\r\n\r\n@Directive()\r\nexport abstract class BaseComponent implements OnDestroy {\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\troute: ActivatedRoute;\r\n\trouter: Router;\r\n\tlocation: Location;\r\n\tcdr: ChangeDetectorRef;\r\n\tzone: NgZone;\r\n\tmatDialog: MatDialog;\r\n\ttranslateService: TranslateService;\r\n\ttoastrService: ToastrService;\r\n\tkeycloakService: KeycloakService;\r\n\tformioLoader: FormioLoader;\r\n\tservicesService: ServicesService;\r\n\tswitchLangService: SwitchLangService;\r\n\tloggerService: LoggerService;\r\n\tsessionService: SessionService;\r\n\taccountService: AccountService;\r\n\tconfigService: ConfigService;\r\n\ttitleService: TitleService;\r\n\r\n\tdatePipe: DatePipe;\r\n\tfilterPipe: FilterPipe;\r\n\r\n\tconstructor(public injector: Injector) {\r\n\t\tthis.route = injector.get(ActivatedRoute);\r\n\t\tthis.router = injector.get(Router);\r\n\t\tthis.location = injector.get(Location);\r\n\t\tthis.cdr = injector.get(ChangeDetectorRef);\r\n\t\tthis.zone = injector.get(NgZone);\r\n\t\tthis.matDialog = injector.get(MatDialog);\r\n\t\tthis.translateService = injector.get(TranslateService);\r\n\t\tthis.toastrService = injector.get(ToastrService);\r\n\t\tthis.keycloakService = injector.get(KeycloakService);\r\n\t\tthis.formioLoader = injector.get(FormioLoader);\r\n\t\tthis.servicesService = injector.get(ServicesService);\r\n\t\tthis.switchLangService = injector.get(SwitchLangService);\r\n\t\tthis.loggerService = injector.get(LoggerService);\r\n\t\tthis.sessionService = injector.get(SessionService);\r\n\t\tthis.accountService = injector.get(AccountService);\r\n\t\tthis.configService = injector.get(ConfigService);\r\n\t\tthis.titleService = injector.get(TitleService);\r\n\r\n\t\tthis.datePipe = injector.get(DatePipe);\r\n\t\tthis.filterPipe = injector.get(FilterPipe);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\treplaceUrl(queryString: string) {\r\n\t\twindow.history.replaceState(\r\n\t\t\tnull,\r\n\t\t\tnull,\r\n\t\t\t`${window.location.protocol}//${window.location.host}${window.location.pathname}?${queryString}`\r\n\t\t);\r\n\t}\r\n\r\n\ttoQueryString(obj: any) {\r\n\t\tconst str = [];\r\n\t\tfor (const p in obj)\r\n\t\t\tif (obj.hasOwnProperty(p)) {\r\n\t\t\t\tstr.push(\r\n\t\t\t\t\tencodeURIComponent(p) +\r\n\t\t\t\t\t\t'=' +\r\n\t\t\t\t\t\t(!!`${obj[p]}` && obj[p] != null ? encodeURIComponent(obj[p]) : '')\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\treturn str.join('&');\r\n\t}\r\n\r\n\tfromQueryString(query: string = null): any {\r\n\t\tif (!location.search) return null;\r\n\t\tif (query == null) query = location.search.replace('?', '');\r\n\t\tconst result = JSON.parse(\r\n\t\t\t'{\"' + decodeURI(query).replace(/\"/g, '\\\\\"').replace(/&/g, '\",\"').replace(/=/g, '\":\"') + '\"}'\r\n\t\t);\r\n\t\tfor (const p in result) if (result[p].includes(',')) result[p] = result[p].split(',');\r\n\t\treturn result;\r\n\t}\r\n}\r\n","","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInject,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, Subscription } from 'rxjs';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { OrgNodeConfig } from './models/org-node.model';\r\nimport { Utils } from 'formiojs';\r\nimport { AddEditOrgItem } from './add-edit-org-item/add-edit-org-item.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport _cloneDeep from \"lodash/cloneDeep\";\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport { RejectReasonOrgItem } from './reject-reason-org-item/reject-reason-org-item.component';\r\nimport { FormioCustomComponent, FormioComponent, FormioLoader, FormioAppConfig } from 'dp-formio';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ViewFormDialog } from './view-form/view-form.component';\r\n\r\ndeclare var WZoom: any;\r\n\r\n@Component({\r\n\tselector: 'app-org-wrapper',\r\n\ttemplateUrl: './org-wrapper.component.html',\r\n\t// styleUrls: ['./org-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OrgWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, OnDestroy {\r\n\t@ViewChild(MatMenuTrigger) matMenuTrigger: MatMenuTrigger;\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\torgNodeConfig: OrgNodeConfig;\r\n\torgData: TreeNode[] = [];\r\n\tdataItems: any;\r\n\r\n\tcurrentLang = '';\r\n\tmenuTopLeftPosition = { x: '0', y: '0' }\r\n\r\n\tshowTakeDecisionMsg = false;\r\n\thasRejectedDecision = false;\r\n\tdecisionState = {\r\n\t\tapprove: 'approve',\r\n\t\treject: 'reject'\r\n\t}\r\n\thasDecision = false;\r\n\r\n\tdecisionKey: string;\r\n\trejectReasonKey: string;\r\n\tcssDecisionKey: string;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tpublic formioLoader: FormioLoader,\r\n\t\tprivate formioAppConfig: FormioAppConfig,\r\n\t\t@Inject(APP_BASE_HREF) private baseHref: string) {\r\n\t\tthis.currentLang = this.translateService.currentLang;\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.translateService.onLangChange.subscribe(event => {\r\n\t\t\tthis.currentLang = event.lang;\r\n\t\t\tthis.changeDirection(event.lang);\r\n\t\t});\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.init();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions && this.customOptions.node) {\r\n\t\t\tthis.decisionKey = this.customOptions.takeDecision?.decisionKeys[0];\r\n\t\t\tthis.rejectReasonKey = this.customOptions.takeDecision?.rejectReasonKeys[0];\r\n\t\t\tthis.cssDecisionKey = this.customOptions.takeDecision?.cssDecisionKeys[0];\r\n\r\n\t\t\tthis.orgNodeConfig = _cloneDeep(this.customOptions.node);\r\n\t\t\tthis.initItems(this.orgNodeConfig);\r\n\r\n\t\t\tif (this.value) {\r\n\t\t\t\tif (this.customOptions.takeDecision?.hasDecision)\r\n\t\t\t\t\tthis.hasDecision = Utils.evaluate(this.customOptions.takeDecision.hasDecision, { data: this.data })\r\n\t\t\t\tthis.dataItems = _cloneDeep(this.value);\r\n\t\t\t\tthis.initValue();\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t} else {\r\n\t\t\t\tthis.afterChangeValue();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n\r\n\topenProfile(currentNode: any) {\r\n\t\tconst model = Utils.evaluate(this.customOptions.profileResourceData, {\r\n\t\t\tconfig: this.formioAppConfig,\r\n\t\t\t...(currentNode?.data?.dataItem || {})\r\n\t\t});\r\n\t\tthis.dialog.open(ViewFormDialog, {\r\n\t\t\tdata: {\r\n\t\t\t\tformKey: model.formKey,\r\n\t\t\t\tendpoint: model.endpoint,\r\n\t\t\t\tdir: this.data.dir,\r\n\t\t\t},\r\n\t\t\twidth: '70%',\r\n\t\t});\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tif (this.orgData?.length) {\r\n\t\t\tconst data = this.cleanData(_cloneDeep(this.orgData[0]));\r\n\t\t\tthis.dataItems = data;\r\n\t\t\tthis.formioComponent.customValidationValid = true;\r\n\r\n\t\t\tif (this.required) {\r\n\t\t\t\tlet valid = this.orgNodeConfig.maxItem == this.orgData.length;\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tvalid = this.validateChildren(this.orgNodeConfig.children);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!valid) {\r\n\t\t\t\t\tthis.formioComponent.customValidationValid = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.value = data;\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\r\n\t\t\tthis.showTakeDecisionMsg = false;\r\n\t\t\tthis.hasRejectedDecision = false;\r\n\t\t\tthis.checkRejectedDecision(this.value);\r\n\t\t\tthis.checkAllDecisions(this.value);\r\n\r\n\t\t\tthis.afterChangeValue();\r\n\t\t}\r\n\t}\r\n\r\n\tvalidateChildren(children: any[] = []) {\r\n\t\tlet valid = true;\r\n\t\tfor (let index = 0; index < children.length; index++) {\r\n\t\t\tconst node = children[index];\r\n\t\t\tconst nodes = this.findByKey(node.key, this.orgData);\r\n\t\t\tconst parentMaxItems = this.findParentMaxItem(node.key, this.orgNodeConfig);\r\n\r\n\t\t\tif ((node.relatedToParent && node.maxItem > nodes.length) ||\r\n\t\t\t\t(!node.relatedToParent && (node.maxItem * parentMaxItems) > nodes.length)) {\r\n\t\t\t\tvalid = false;\r\n\t\t\t\tbreak;\r\n\t\t\t} else if (node.children?.length) {\r\n\t\t\t\tvalid = this.validateChildren(node.children);\r\n\t\t\t\tif (!valid) break;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn valid;\r\n\t}\r\n\tfindByKey(key: string, nodes: any[], result: any[] = []) {\r\n\t\tnodes.forEach(node => {\r\n\t\t\tif (node.data.node.key == key) result.push(node);\r\n\t\t\tif (node.data.node.children) {\r\n\t\t\t\tthis.findByKey(key, node.children, result);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\tfindParentMaxItem(key: string, item: OrgNodeConfig): number {\r\n\t\tif (item.key == key) return +item.maxItem;\r\n\t\telse if (item.children?.length) {\r\n\t\t\tconst child = item.children.find(q => q.key == key);\r\n\t\t\tif (child) {\r\n\t\t\t\treturn +item.maxItem;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlet result = 0;\r\n\t\t\t\tfor (let index = 0; index < item.children.length; index++) {\r\n\t\t\t\t\tresult = this.findParentMaxItem(key, item.children[index]);\r\n\t\t\t\t\tif (result > 0) break;\r\n\t\t\t\t}\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tonRightClick(event: MouseEvent, currentNode) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.menuTopLeftPosition.x = event.clientX + 'px';\r\n\t\tthis.menuTopLeftPosition.y = event.clientY + 'px';\r\n\r\n\t\tif (!this.viewOnly) {\r\n\t\t\tlet actions = [];\r\n\t\t\tif (this.customOptions.takeDecision?.enabled) {\r\n\t\t\t\tactions = [\r\n\t\t\t\t\t{ key: this.decisionState.approve, label: this.translateService.instant('forms.common.Approve'), disable: false },\r\n\t\t\t\t\t{ key: this.decisionState.reject, label: this.translateService.instant('forms.common.Reject'), disable: false }\r\n\t\t\t\t];\r\n\t\t\t} else {\r\n\t\t\t\tactions.push({ key: 'edit', label: this.translateService.instant('forms.common.Edit'), disable: false });\r\n\t\t\t\tcurrentNode.data.node.children?.forEach(node => {\r\n\t\t\t\t\tif (node.relatedToParent) {\r\n\t\t\t\t\t\tconst roleInSameParentCount = this.dataItems.children.filter(q => q.role == node.relatedToParent).map(q => q.children).flat().length;\r\n\t\t\t\t\t\tconst disable = node.maxItem <= roleInSameParentCount;\r\n\t\t\t\t\t\tactions.push({ key: node.key, label: `${this.translateService.instant('forms.common.Add')} ${this.translateService.instant(`forms.common.${node.key}`)}`, disable });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst model = this.findDataModel(currentNode.data.dataItem.id);\r\n\t\t\t\t\t\tconst disable = node.maxItem <= (model.children?.filter(q => q.role == node.key)?.length || 0);\r\n\t\t\t\t\t\tactions.push({ key: node.key, label: `${this.translateService.instant('forms.common.Add')} ${this.translateService.instant(`forms.common.${node.key}`)}`, disable });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tactions.push({ key: 'delete', label: this.translateService.instant('delete'), disable: false });\r\n\t\t\t}\r\n\r\n\t\t\tthis.matMenuTrigger.menuData = {\r\n\t\t\t\tactions,\r\n\t\t\t\tcurrentNode\r\n\t\t\t}\r\n\t\t\tthis.matMenuTrigger.openMenu();\r\n\t\t}\r\n\t}\r\n\r\n\torgItemClicked(key: string, currentNode: any) {\r\n\t\tswitch (key) {\r\n\t\t\tcase 'edit':\r\n\t\t\t\tthis.add(currentNode.data.node, null, currentNode.data.dataItem);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'delete':\r\n\t\t\t\tthis.deleteNode(currentNode);\r\n\t\t\t\tbreak;\r\n\t\t\tcase this.decisionState.approve:\r\n\t\t\t\tcurrentNode.data.dataItem[this.cssDecisionKey] = key;\r\n\t\t\t\tcurrentNode.data.dataItem[this.decisionKey] = key;\r\n\t\t\t\tcurrentNode.data.dataItem[this.rejectReasonKey] = '';\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\tbreak;\r\n\t\t\tcase this.decisionState.reject:\r\n\t\t\t\tthis.showRejectReason(false, currentNode.data.dataItem[this.rejectReasonKey], this.rejectReasonKey, (reason) => {\r\n\t\t\t\t\tcurrentNode.data.dataItem[this.cssDecisionKey] = key;\r\n\t\t\t\t\tcurrentNode.data.dataItem[this.decisionKey] = key;\r\n\t\t\t\t\tcurrentNode.data.dataItem[this.rejectReasonKey] = reason;\r\n\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tconst subNode = currentNode.data.node.children.find(q => q.key == key);\r\n\t\t\t\tthis.add(subNode, currentNode.data.dataItem.id);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tshowReason(data: any, rejectKey: string) {\r\n\t\tconst key = this.customOptions?.takeDecision?.rejectReasonKeys?.find(k => !!data[k]);\r\n\t\tthis.showRejectReason(true, data[key], rejectKey);\r\n\t}\r\n\r\n\tprivate showRejectReason(disabled: boolean, reason: string, rejectKey: string, callback: (reason) => void = null) {\r\n\t\tthis.dialog.open(RejectReasonOrgItem, {\r\n\t\t\tdata: {\r\n\t\t\t\treason: reason || '',\r\n\t\t\t\tdisabled: disabled,\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\trejectKey: rejectKey\r\n\t\t\t},\r\n\t\t\twidth: '70%',\r\n\t\t\tpanelClass: 'custom-event-modal-component',\r\n\t\t\tdisableClose: false,\r\n\t\t}).afterClosed()\r\n\t\t\t.pipe(filter(q => !!q))\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tif (callback) callback(result);\r\n\t\t\t});\r\n\t}\r\n\r\n\tadd(node: OrgNodeConfig, parentId: string = null, editDataItem: any = null) {\r\n\t\tlet data = {};\r\n\t\tif (node.form?.data)\r\n\t\t\tdata = Utils.evaluate(node.form.data, {\r\n\t\t\t\trole: node.key,\r\n\t\t\t\tselectedIds: this.getSelectedIds([], this.dataItems, editDataItem ? editDataItem.id : null),\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tid: editDataItem?.id\r\n\t\t\t});\r\n\t\tthis.dialog.open(AddEditOrgItem, {\r\n\t\t\tdata: {\r\n\t\t\t\ttitle: editDataItem ? 'Edit' : 'Add',\r\n\t\t\t\tisFormio: this.customOptions.isFormio,\r\n\t\t\t\tisMassar: this.customOptions.isMassar,\r\n\t\t\t\tviewOnly: false,\r\n\t\t\t\tformKey: node.form.key,\r\n\t\t\t\tsubmission: { data },\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\tcustomOptions: this.customOptions\r\n\t\t\t},\r\n\t\t\theight: '100vh',\r\n\t\t\twidth: '100vw',\r\n\t\t\tpanelClass: 'full-screen-modal',\r\n\t\t\tdirection: this.dir,\r\n\t\t\tautoFocus: false,\r\n\t\t\trestoreFocus: false,\r\n\t\t\tdisableClose: false,\r\n\t\t}).afterClosed()\r\n\t\t\t.pipe(filter(q => !!q))\r\n\t\t\t.subscribe(result => {\r\n\r\n\t\t\t\tconst dataItem = Utils.evaluate(node.form.bindResult, { result, data: this.data });\r\n\r\n\t\t\t\tif (editDataItem) {\r\n\t\t\t\t\tconst node = this.findNode(editDataItem.id);\r\n\t\t\t\t\tnode.data.dataItem = {\r\n\t\t\t\t\t\t...node.data.dataItem,\r\n\t\t\t\t\t\t...dataItem\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.customOptions?.takeDecision?.cssDecisionKeys?.forEach(key => {\r\n\t\t\t\t\t\tnode.data.dataItem[key] = '';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.customOptions?.takeDecision?.decisionKeys?.forEach(key => {\r\n\t\t\t\t\t\tnode.data.dataItem[key] = '';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.customOptions?.takeDecision?.rejectReasonKeys?.forEach(key => {\r\n\t\t\t\t\t\tnode.data.dataItem[key] = '';\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst item = {\r\n\t\t\t\t\t\ttype: 'orgItem',\r\n\t\t\t\t\t\texpanded: true,\r\n\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\tdataItem: {\r\n\t\t\t\t\t\t\t\t...dataItem,\r\n\t\t\t\t\t\t\t\torder: 0\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tnode: node\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tchildren: []\r\n\t\t\t\t\t};\r\n\t\t\t\t\tif (parentId)\r\n\t\t\t\t\t\tthis.addToParent(this.orgData[0], parentId, item);\r\n\t\t\t\t\telse this.orgData.push(item);\r\n\t\t\t\t}\r\n\t\t\t\tthis.orgData = _cloneDeep(this.orgData);\r\n\t\t\t\tthis.notifyValue();\r\n\r\n\t\t\t\tthis.formioComponent?.root?.events?.emit('formio.registerComponent');\r\n\t\t\t});\r\n\t}\r\n\tcssDecisionClass(node) {\r\n\t\tconst key = this.customOptions?.takeDecision?.cssDecisionKeys?.findLast(key => node.data.dataItem[key]);\r\n\t\tif (!key) return '';\r\n\t\treturn node.data.dataItem[key];\r\n\t}\r\n\thasRejectReason(node: any) {\r\n\t\tconst index = this.customOptions?.takeDecision?.rejectReasonKeys?.findIndex(key => !!node.data.dataItem[key]);\r\n\t\treturn index >= 0 ? this.customOptions?.takeDecision?.rejectReasonKeys[index] : null;\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach(item => {\r\n\t\t\t\tconst mustUpdateValues = item.condition ? this.formioComponent.evaluate(item.condition, { data: this.data }) : true;\r\n\t\t\t\tif (mustUpdateValues) {\r\n\t\t\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n\t\t\t\t\t\tthis.searchAndUpdateComponent(pages, item);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n\t\t\t\t\t\tnestedForms.forEach(formComponent => {\r\n\t\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\t\tconst pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n\t\t\t\t\t\t\t\tthis.searchAndUpdateComponent(pages, item);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tconst components = this.searchAndUpdateComponent(this.formioComponent.root.components, item);\r\n\t\t\t\t\t\tif (!components?.length) {\r\n\t\t\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n\t\t\t\t\t\t\tnestedForms.forEach(formComponent => {\r\n\t\t\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\t\t\tthis.searchAndUpdateComponent(subForm.components, item);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate searchAndUpdateComponent(formComponents: any[], afterChangeItem: any): any[] {\r\n\t\tconst components = Utils.searchComponents(formComponents, { key: afterChangeItem.key });\r\n\t\tcomponents.forEach(c => {\r\n\t\t\tconst value = this.formioComponent.evaluate(afterChangeItem.value, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\thasRejectedDecision: this.hasRejectedDecision,\r\n\t\t\t\tshowTakeDecisionMsg: this.showTakeDecisionMsg\r\n\t\t\t});\r\n\t\t\tc.setValue(value);\r\n\t\t});\r\n\t\treturn components;\r\n\t}\r\n\r\n\tprivate checkRejectedDecision(dataItem: any) {\r\n\t\tif (this.customOptions?.takeDecision?.decisionKeys?.some(key => dataItem[key] == this.decisionState.reject)) {\r\n\t\t\tthis.hasRejectedDecision = true;\r\n\t\t\treturn this.hasRejectedDecision;\r\n\t\t}\r\n\r\n\t\tfor (let index = 0; index < dataItem.children.length; index++) {\r\n\t\t\tconst result = this.checkRejectedDecision(dataItem.children[index]);\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.hasRejectedDecision = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.hasRejectedDecision;\r\n\t}\r\n\r\n\tprivate checkAllDecisions(dataItem: any) {\r\n\t\tif (this.customOptions?.takeDecision?.decisionKeys?.some(key => !dataItem[key])) {\r\n\t\t\tthis.showTakeDecisionMsg = true;\r\n\t\t\treturn this.showTakeDecisionMsg;\r\n\t\t}\r\n\r\n\t\tfor (let index = 0; index < dataItem.children.length; index++) {\r\n\t\t\tconst result = this.checkAllDecisions(dataItem.children[index]);\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.showTakeDecisionMsg = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.showTakeDecisionMsg;\r\n\t}\r\n\r\n\tprivate initValue() {\r\n\t\tif (this.value.role == this.orgNodeConfig.key) {\r\n\t\t\tconst node = this.recursiveInitValue(this.value, this.orgNodeConfig);\r\n\t\t\tthis.orgData = [node];\r\n\t\t\tthis.orgData = _cloneDeep(this.orgData);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate recursiveInitValue(dataItem, nodeItem) {\r\n\t\tconst data = _cloneDeep(dataItem);\r\n\r\n\t\tconst childrenNodes = [];\r\n\t\tdataItem.children.forEach(child => {\r\n\t\t\tconst childs = this.recursiveInitValue(child, nodeItem.children.find(q => q.key == child.role));\r\n\t\t\tchildrenNodes.push(childs);\r\n\t\t});\r\n\r\n\t\tconst node = {\r\n\t\t\ttype: 'orgItem',\r\n\t\t\texpanded: true,\r\n\t\t\tdata: {\r\n\t\t\t\tdataItem: data,\r\n\t\t\t\tnode: nodeItem\r\n\t\t\t},\r\n\t\t\tchildren: childrenNodes\r\n\t\t};\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprivate deleteNode(currentNode: any) {\r\n\t\tDeleteConfirmationDialog.build(\r\n\t\t\tthis.formioComponent,\r\n\t\t\t() => {\r\n\t\t\t\tthis.recursiveDeleteNode(currentNode.data.dataItem.id);\r\n\t\t\t\tthis.orgData = _cloneDeep(this.orgData);\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\tconsole.log(currentNode.data.dataItem.id);\r\n\t\t\t},\r\n\t\t\tnull,\r\n\t\t\t'Are you sure to delete this item'\r\n\t\t);\r\n\t}\r\n\r\n\tprivate recursiveDeleteNode(id: string, nodes: any = this.orgData) {\r\n\t\tconst index = nodes.findIndex(q => q.data.dataItem.id == id);\r\n\t\tif (index >= 0) nodes.splice(index, 1);\r\n\t\telse {\r\n\t\t\tnodes.forEach(node => {\r\n\t\t\t\tthis.recursiveDeleteNode(id, node.children);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate findNode(id: string, node: any = this.orgData[0]) {\r\n\t\tif (node.data.dataItem.id == id) return node;\r\n\t\telse {\r\n\t\t\tlet model = null;\r\n\t\t\tfor (let index = 0; index < node.children.length; index++) {\r\n\t\t\t\tmodel = this.findNode(id, node.children[index]);\r\n\t\t\t\tif (model) break;\r\n\t\t\t}\r\n\t\t\treturn model;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate findDataModel(id: string, dataModel: any = this.dataItems) {\r\n\t\tif (dataModel.id == id) return dataModel;\r\n\t\telse {\r\n\t\t\tlet model = null;\r\n\t\t\tfor (let index = 0; index < dataModel.children.length; index++) {\r\n\t\t\t\tmodel = this.findDataModel(id, dataModel.children[index]);\r\n\t\t\t\tif (model) break;\r\n\t\t\t}\r\n\t\t\treturn model;\r\n\t\t}\r\n\t}\r\n\tprivate cleanData(node: TreeNode) {\r\n\t\tconst data = node.data.dataItem;\r\n\t\tdata.children = [];\r\n\t\tnode.children?.forEach(node => {\r\n\t\t\tdata.children.push(this.cleanData(node));\r\n\t\t});\r\n\t\treturn data;\r\n\t}\r\n\r\n\tprivate getSelectedIds(ids: string[] = [], dataModel: any = this.dataItems, excludeEditId: string = null) {\r\n\t\tif (dataModel?.id) {\r\n\t\t\tif (excludeEditId != dataModel.id) ids.push(dataModel.id);\r\n\t\t\tdataModel.children?.forEach(dm => {\r\n\t\t\t\tthis.getSelectedIds(ids, dm, excludeEditId);\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn ids.join();\r\n\t}\r\n\r\n\tprivate addToParent(node: TreeNode, parentId: string, item: TreeNode) {\r\n\t\tif (node.data.dataItem.id == parentId) {\r\n\t\t\tnode.children.push(item);\r\n\t\t\tnode.children.forEach((item, index) => item.data.dataItem.order = index);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tnode.children.forEach(n => this.addToParent(n, parentId, item));\r\n\t\t};\r\n\t}\r\n\r\n\tprivate initItems(node: OrgNodeConfig) {\r\n\t\tif (node.image) {\r\n\t\t\tnode.image = Utils.interpolate(node.image, { config: this.formioAppConfig });\r\n\t\t}\r\n\r\n\t\tif (node.maxItem)\r\n\t\t\tnode.maxItem = this.formioComponent.evaluate(node.maxItem, { data: this.data });\r\n\r\n\t\tnode.children?.forEach(item => {\r\n\t\t\tthis.initItems(item);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tprivate init() {\r\n\t\tWZoom.create('#orgContent', {\r\n\t\t\ttype: 'html',\r\n\t\t\twidth: 4000,\r\n\t\t\theight: 750,\r\n\t\t\tminScale: 0.5,\r\n\t\t\tmaxScale: 100,\r\n\t\t\tzoomOnClick: false\r\n\t\t});\r\n\t}\r\n}\r\n","import { environment } from 'src/environments/environment';\r\n\r\nconst LOGGER = 'logger';\r\n\r\nexport const registerLogger = function () {\r\n\twindow[LOGGER] = { ...console };\r\n\tfor (const method in console) {\r\n\t\tif (typeof console[method] === 'function') {\r\n\t\t\tif (!environment.enableLogger) {\r\n\t\t\t\tconsole[method] = function (...args) {};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n","
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t
    \r\n
    \r\n
    ","import { Utils } from \"formiojs\";\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n AfterViewInit,\r\n ViewEncapsulation,\r\n OnDestroy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { FormioLoader, FormioCustomComponent, FormioComponent, ResourceNameService } from \"dp-formio\";\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: \"app-form-key-wrapper\",\r\n templateUrl: \"./form-key-wrapper.component.html\",\r\n // styleUrls: ['./form-key-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class FormKeyWrapperComponent\r\n implements FormioCustomComponent, OnDestroy, OnChanges\r\n{\r\n @ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n dir: \"rtl\" | \"ltr\";\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n formKey: string;\r\n submissionId: string;\r\n submission: any = {};\r\n formReady = false;\r\n enableFormSubmit = false;\r\n\r\n constructor(\r\n private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader\r\n ) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe((data) => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.formKey) {\r\n this.formKey = this.customOptions.formKey;\r\n let extraOptions = {};\r\n if (this.customOptions.extra)\r\n extraOptions = Utils.evaluate(this.customOptions.extra, {\r\n data: this.data,\r\n });\r\n if (this.customOptions.submissionId)\r\n this.submissionId = this.customOptions.submissionId;\r\n if (this.customOptions.enableFormSubmit)\r\n this.enableFormSubmit = this.customOptions.enableFormSubmit;\r\n\r\n this.loadResource(extraOptions);\r\n }\r\n }\r\n }\r\n\r\n loadResource(extraOptions: any) {\r\n if (this.submissionId) {\r\n this.sub = this.resourceNameService\r\n .loadCustomByKeyId(this.formKey, this.submissionId)\r\n .subscribe((data) => {\r\n this.submission = data;\r\n this.submission.data = { ...this.submission.data, ...extraOptions };\r\n this.formReady = true;\r\n });\r\n } else {\r\n this.submission.data = { ...extraOptions };\r\n this.formReady = true;\r\n }\r\n }\r\n\r\n onChange(submission) {\r\n if (!this.enableFormSubmit) this.notifyValue(submission.data);\r\n }\r\n\r\n notifyValue(data) {\r\n this.value = data;\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = lang === \"ar\" ? \"rtl\" : \"ltr\";\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach((s) => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","
    \r\n\t\r\n\r\n\t\r\n\t
    \r\n\t\t\r\n\t
    \r\n
    \r\n","export enum RolesTypeEnum {\r\n MASAR = 'masar',\r\n ITIMAD = 'itimad',\r\n}\r\n\r\nexport enum MasarRolesEnum {\r\n MASAR_REVIEWER = 'MASAR_REVIEWER',\r\n MASAR_TEAM_LEADER = 'MASAR_TEAM_LEADER',\r\n MASAR_MEMBER = 'MASAR_MEMBER',\r\n TRAINEE_MEMBER = 'TRAINEE_MEMBER',\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ExecuteVisitWrapperComponent } from './execute-visit-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'execute-visit',\r\n selector: 'execute-visit',\r\n title: 'execute visit'\r\n};\r\n\r\nexport function registerExecuteVisitComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, ExecuteVisitWrapperComponent, injector);\r\n}","import { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { LoggerService } from './services/logger.service';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { APP_INITIALIZER, NgModule } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule, NoopAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { Platform } from '@ionic/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ConfigService } from './services/config.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { createExternalService } from './helpers/external-service.helper';\r\nimport { getFormioEnvironment } from './helpers/formio-enviroment.helper';\r\nimport { initializer } from './helpers/initializer.helper';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormioAppConfig, FormioTranslate, ExternalService, FormioAuthConfig, FormioAuthService } from 'dp-formio';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { PaginatorI18n } from './paginator-i18n';\r\nimport { LicenseInterceptor } from './interceptors/license.interceptor';\r\nimport { TitleService } from './services/title.service';\r\n\r\nexport const FormAuthConfig: FormioAuthConfig = {\r\n\tlogin: {\r\n\t\tform: 'user/login',\r\n\t},\r\n\tregister: {\r\n\t\tform: 'user/register',\r\n\t},\r\n};\r\n@NgModule({\r\n\tdeclarations: [],\r\n\timports: [BrowserModule, BrowserAnimationsModule, HttpClientModule, SharedModule],\r\n\texports: [BrowserAnimationsModule, HttpClientModule, SharedModule],\r\n\tproviders: [\r\n\t\tDatePipe,\r\n\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: initializer,\r\n\t\t\tmulti: true,\r\n\t\t\tdeps: [\r\n\t\t\t\tKeycloakService,\r\n\t\t\t\tSessionService,\r\n\t\t\t\tPlatform,\r\n\t\t\t\tConfigService,\r\n\t\t\t\tLoggerService,\r\n\t\t\t\tSwitchLangService,\r\n\t\t\t],\r\n\t\t},\r\n\t\t{ provide: FormioAppConfig, useFactory: getFormioEnvironment },\r\n\t\t{\r\n\t\t\tprovide: FormioTranslate,\r\n\t\t\tuseClass: TranslateService,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ExternalService,\r\n\t\t\tdeps: [HttpClient],\r\n\t\t\tuseFactory: createExternalService,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: MatPaginatorIntl,\r\n\t\t\tuseClass: PaginatorI18n,\r\n\t\t},\r\n\t\tFormioAuthService,\r\n\t\t{ provide: HTTP_INTERCEPTORS, useClass: LicenseInterceptor, multi: true },\r\n\t\t{ provide: FormioAuthConfig, useValue: FormAuthConfig },\r\n\t\t{ provide: TitleService, useClass: TitleService },\r\n\t],\r\n})\r\nexport class CoreModule {}\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, startWith, takeUntil } from 'rxjs';\r\nimport { IMember } from '../../models/member';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-member-length-icon',\r\n templateUrl: './member-length-icon.component.html',\r\n styleUrls: ['./member-length-icon.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MemberLengthIconComponent extends BaseComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Input() members: IMember[] = [];\r\n dir: 'rtl' | 'ltr' = 'rtl';\r\n lang = 'en';\r\n constructor(private translate: TranslateService) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n (this.translate.onLangChange as Observable)\r\n .pipe(startWith({ lang: this.translate.currentLang }), takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.dir = res.lang == 'ar' ? 'rtl' : 'ltr';\r\n });\r\n }\r\n}\r\n","import { IndicatorComponent } from './indicator/indicator.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { map, Subscription } from 'rxjs';\r\nimport { SortHelper } from '../../helpers/sort.helper';\r\nimport { Indicator, IndicatorStatus } from './models/indicator.model';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { Utils } from 'formiojs';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-indicators-wrapper',\r\n templateUrl: './indicators-wrapper.component.html',\r\n // styleUrls: ['./indicators-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class IndicatorsWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n\r\n @Input()\r\n value: any = {};\r\n\r\n @Output()\r\n valueChange = new EventEmitter();\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n viewOnly: boolean;\r\n\r\n @Input()\r\n data: any;\r\n\r\n @Input()\r\n customOptions: any;\r\n\r\n @Input()\r\n formioComponent: any;\r\n\r\n query = ``;\r\n indicators: Indicator[] = [];\r\n indicatorStatus = IndicatorStatus;\r\n\r\n hideSummary: boolean;\r\n\r\n hideQuestions: boolean;\r\n hideAttachments: boolean;\r\n hideNotes: boolean;\r\n hideRecommendations: boolean;\r\n hideDecision: boolean;\r\n hideSaveDomain: boolean;\r\n\r\n disableQuestions: boolean;\r\n disableAttachments: boolean;\r\n disableNotes: boolean;\r\n disableRecommendations: boolean;\r\n disableDecision: boolean;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private matDialog: MatDialog,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions && this.customOptions.resource) {\r\n this.query = this.formioComponent.interpolate(this.customOptions.query, { data: this.data });\r\n\r\n this.hideSummary = eval(this.formioComponent.interpolate(this.customOptions.hideSummary, { data: this.data }));\r\n\r\n this.hideQuestions = eval(this.formioComponent.interpolate(this.customOptions.hideQuestions, { data: this.data }));\r\n this.hideAttachments = eval(this.formioComponent.interpolate(this.customOptions.hideAttachments, { data: this.data }));\r\n this.hideNotes = eval(this.formioComponent.interpolate(this.customOptions.hideNotes, { data: this.data }));\r\n this.hideRecommendations = eval(this.formioComponent.interpolate(this.customOptions.hideRecommendations, { data: this.data }));\r\n this.hideDecision = eval(this.formioComponent.interpolate(this.customOptions.hideDecision, { data: this.data }));\r\n this.hideSaveDomain = eval(this.formioComponent.interpolate(this.customOptions.hideSaveDomain, { data: this.data }));\r\n\r\n this.disableQuestions = eval(this.formioComponent.interpolate(this.customOptions.disableQuestions, { data: this.data }));\r\n this.disableAttachments = eval(this.formioComponent.interpolate(this.customOptions.disableAttachments, { data: this.data }));\r\n this.disableNotes = eval(this.formioComponent.interpolate(this.customOptions.disableNotes, { data: this.data }));\r\n this.disableRecommendations = eval(this.formioComponent.interpolate(this.customOptions.disableRecommendations, { data: this.data }));\r\n this.disableDecision = eval(this.formioComponent.interpolate(this.customOptions.disableDecision, { data: this.data }));\r\n\r\n this.getIndicatorsResources();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n openIndicator(indicator: Indicator, isSummary = false) {\r\n const dialog = this.matDialog.open(IndicatorComponent, {\r\n data: {\r\n dir: this.dir,\r\n submission: this.data,\r\n indicator: _cloneDeep(indicator),\r\n customOptions: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n isSummary: isSummary,\r\n options: {\r\n hideQuestions: this.hideQuestions,\r\n hideAttachments: this.hideAttachments,\r\n hideNotes: this.hideNotes,\r\n hideRecommendations: this.hideRecommendations,\r\n hideDecision: this.hideDecision,\r\n hideSaveDomain: this.hideSaveDomain,\r\n disableQuestions: this.disableQuestions,\r\n disableAttachments: this.disableAttachments,\r\n disableNotes: this.disableNotes,\r\n disableRecommendations: this.disableRecommendations,\r\n disableDecision: this.disableDecision\r\n }\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n disableClose: true\r\n });\r\n const sub = dialog.afterClosed().subscribe(result => {\r\n sub.unsubscribe();\r\n if (result) {\r\n this.indicators[this.indicators.findIndex(q => q.id == result.id)] = result;\r\n this.notifyValue();\r\n }\r\n });\r\n }\r\n\r\n private notifyValue(updateBaseForm = true) {\r\n this.value = { indicatorsData: this.indicators.map(q => q.id) };\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue(updateBaseForm);\r\n }\r\n\r\n private afterChangeValue(updateBaseForm = true) {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n const mustUpdateValues = eval(this.formioComponent.interpolate(item.condition, { data: this.data }));\r\n if (mustUpdateValues) {\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data, indicators: this.indicators, indicatorStatus: this.indicatorStatus });\r\n c.setValue(value);\r\n c.checkCondition();\r\n });\r\n\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n Utils.eachComponent(subForm.components, (component) => {\r\n if (component.key == item.key) {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data, indicators: this.indicators, indicatorStatus: this.indicatorStatus });\r\n component.setValue(value);\r\n component.checkCondition();\r\n }\r\n }, true);\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n\r\n private getIndicatorsResources() {\r\n if (!this.formioComponent.visible) return;\r\n this.formioLoader.loading = true;\r\n\r\n //todo this two line just for test\r\n // this.formioComponent.data.requestId = 500;\r\n // this.formioComponent.data.submissionId = '6176a990e4f0395c57b16ce1';\r\n\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.customOptions.resource, this.query).pipe(\r\n map((resultData: any) => {\r\n return SortHelper.recursiveSort(resultData, 'asc').map(q => {\r\n const item = new Indicator(q._id, q.data.key, q.data.icon, q.data.order);\r\n item.attachmentsFormKey = this.customOptions.attachmentsForm;\r\n item.requestId = this.formioComponent.data.varRequestId;\r\n item.submissionId = this.formioComponent.data.varSubmissionId;\r\n return item;\r\n })\r\n }))\r\n .subscribe(data => {\r\n if (data && data.length) {\r\n const indicatorsId = data.map(q => q.id).join();\r\n const query = `data.requestId=${data[0].requestId}&data.indicatorId__in=${indicatorsId}`;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.customOptions.indicatorResult, query)\r\n .subscribe(indicators => {\r\n indicators.forEach(q => {\r\n const index = data.findIndex(d => d.id == q.data.indicatorId);\r\n if (index >= 0) {\r\n data[index].status = q.data.status;\r\n data[index].resultSubmissionId = q._id;\r\n }\r\n });\r\n this.indicators = data;\r\n console.log(this.indicators);\r\n this.notifyValue(false);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n}\r\n","export * from './custom-select.service';\r\n","import { environment as defaultEnvironment } from './environment';\r\n\r\nexport const environmentLoader = new Promise((resolve, reject) => {\r\n // tslint:disable-next-line:one-variable-per-declaration\r\n const xmlhttp = new XMLHttpRequest(),\r\n method = 'GET',\r\n url = './assets/environments/environment.json';\r\n xmlhttp.open(method, url, true);\r\n xmlhttp.onload = () => {\r\n const production = defaultEnvironment.production;\r\n if (xmlhttp.status === 200) {\r\n try {\r\n resolve({\r\n ...JSON.parse(xmlhttp.responseText),\r\n production\r\n });\r\n } catch (e) {\r\n resolve({\r\n ...defaultEnvironment,\r\n production\r\n });\r\n }\r\n } else {\r\n resolve({\r\n ...defaultEnvironment,\r\n production\r\n });\r\n }\r\n };\r\n xmlhttp.send();\r\n});\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { combineLatest, filter, map, Observable, switchMap } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { SHA256 } from 'crypto-js';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-masar-question-preview',\r\n templateUrl: './masar-question-preview.component.html',\r\n styleUrls: ['./masar-question-preview.component.scss']\r\n})\r\nexport class MasarQuestionPreviewComponent extends BaseComponent implements OnInit {\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n answers$: Observable>;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n isLoadingResults = false;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.isLoadingResults = true;\r\n this.criterionsService.criterion$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter(data => data.criterionType == 'STICK'),\r\n switchMap(data => this.criterionsService.getQuestion(data.submissionId)\r\n .pipe(finalize(() => {\r\n this.isLoadingResults = false;\r\n })))\r\n ).subscribe(data => {\r\n data.evaluationItems?.forEach(item => {\r\n const jsonString = JSON.stringify(item);\r\n item.id = SHA256(jsonString).toString();\r\n });\r\n this.criterionsService.questionResult$.next(data);\r\n });\r\n this.initAnswers();\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n map(([question, process]) => {\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { RequestsService } from 'src/app/modules/requests/requests.service';\r\nimport { ErrorToast, FormioLoader, SuccessToast } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'app-request-feedback',\r\n\ttemplateUrl: './request-feedback.component.html',\r\n\tstyleUrls: ['./request-feedback.component.scss'],\r\n})\r\nexport class RequestFeedbackComponent implements OnInit, OnDestroy {\r\n\tdata: any;\r\n\trequestId: string;\r\n\tfeedbackId: string;\r\n\tfeedbackFormKey: string;\r\n\tformReady = false;\r\n\tfeedbackSubmission = { data: {} };\r\n\trequestDetailsSubmission: any = { data: {} };\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate requestsService: RequestsService,\r\n\t\tprivate route: ActivatedRoute,\r\n\t\tprivate router: Router,\r\n\t\tprivate formioLoader: FormioLoader,\r\n\t\tprivate toastrService: ToastrService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.sub = this.route.params.subscribe((params) => {\r\n\t\t\tthis.feedbackId = params['feedbackId'];\r\n\t\t\tthis.requestId = params['requestId'];\r\n\r\n\t\t\tthis.getRequestAndFeedbackDetails();\r\n\t\t});\r\n\t}\r\n\r\n\tgetRequestAndFeedbackDetails() {\r\n\t\tthis.sub = this.requestsService\r\n\t\t\t.getRequest(this.requestId)\r\n\t\t\t.pipe(\r\n\t\t\t\tswitchMap((res: any) => {\r\n\t\t\t\t\tthis.requestDetailsSubmission.data = {\r\n\t\t\t\t\t\t...res,\r\n\t\t\t\t\t\trequestDate: res.requestDate.substr(0, res.requestDate.length - 5),\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\treturn this.requestsService.checkRequestFeedback(\r\n\t\t\t\t\t\tthis.requestDetailsSubmission.data.serviceId,\r\n\t\t\t\t\t\tthis.requestId\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe((res: any[]) => {\r\n\t\t\t\tif (res && res[0] != null) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.requestDetailsSubmission.data.serviceId === res[0].serviceKey &&\r\n\t\t\t\t\t\tthis.requestDetailsSubmission.data.id === res[0].requestId\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.feedbackSubmission.data = {\r\n\t\t\t\t\t\t\tfeedbackId: this.feedbackId,\r\n\t\t\t\t\t\t\trequestId: this.requestId,\r\n\t\t\t\t\t\t\tserviceId: this.requestDetailsSubmission.data.serviceId,\r\n\t\t\t\t\t\t\tratingScale: res[0].ratingScale,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tthis.feedbackFormKey = res[0].formKey;\r\n\t\t\t\t\t\tthis.formReady = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.goToRequestDetails(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.goToRequestDetails(false);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tafterFeedbackSubmitted(event) {\r\n\t\tif (event && event.submission && event.submission.data) {\r\n\t\t\tthis.showToast(\r\n\t\t\t\tthis.translateService.instant('Done'),\r\n\t\t\t\tthis.translateService.instant('Feedback is sent successfully'),\r\n\t\t\t\tfalse\r\n\t\t\t);\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.goToRequestDetails(true);\r\n\t\t\t}, 3000);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate showToast(title: string, message: string, isError: boolean) {\r\n\t\tthis.toastrService.show(message, title, {\r\n\t\t\ttoastClass: 'notification-toast',\r\n\t\t\tcloseButton: true,\r\n\t\t\tenableHtml: true,\r\n\t\t\ttoastComponent: isError ? ErrorToast : SuccessToast,\r\n\t\t});\r\n\t}\r\n\r\n\tgoToRequestDetails(afterSubmit: boolean) {\r\n\t\tafterSubmit ? window.close() : this.router.navigate([`/requests/details/${this.requestId}`]);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n}\r\n","import { Component, Injector, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { ErrorToast, UserService } from 'dp-formio';\r\nimport { BaseComponent } from 'src/app/shared/components/base.component';\r\n\r\n@Component({\r\n selector: 'app-dynamic-qr',\r\n templateUrl: './dynamic-qr.component.html',\r\n styleUrls: ['./dynamic-qr.component.scss']\r\n})\r\n\r\nexport class DynamicQrComponent extends BaseComponent implements OnInit {\r\n formKey: string;\r\n dataId: string;\r\n\r\n submission: any = {};\r\n formReady = false;\r\n\r\n constructor(public injector: Injector,\r\n private userService: UserService,\r\n private keycloak: KeycloakService) { super(injector); }\r\n\r\n async ngOnInit(): Promise {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n const etecData = await this.userService.getUserData(isLoggedIn ? await this.keycloak.getToken() : null);\r\n const params = this.route.snapshot.params;\r\n\r\n this.formKey = params.formKey;\r\n this.dataId = params.dataId;\r\n\r\n if (!this.formKey || !this.dataId) {\r\n this.loggerService.error(`Error : formKey and dataId are required`);\r\n this.showError();\r\n }\r\n\r\n this.submission.data = {\r\n ...etecData,\r\n formKey: this.formKey,\r\n dataId: this.dataId,\r\n };\r\n this.formReady = true;\r\n }\r\n\r\n private showError() {\r\n this.toastrService.show(\r\n this.translateService.instant(\"generalError\"),\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n {\r\n toastClass: \"notification-toast\",\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: ErrorToast,\r\n }\r\n );\r\n this.goBack();\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['/']);\r\n }\r\n}","import { AfterViewInit, Directive, ElementRef, OnDestroy } from '@angular/core';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[appScrollRetainer]',\r\n})\r\nexport class ScrollRetainerDirective implements AfterViewInit, OnDestroy {\r\n private matTabGroupEl: HTMLElement = this.el.nativeElement;\r\n private animationSub = Subscription.EMPTY;\r\n\r\n constructor(private matTabGroup: MatTabGroup, private el: ElementRef) {}\r\n\r\n public ngAfterViewInit(): void {\r\n const orig = this.matTabGroup._handleClick.bind(this.matTabGroup);\r\n this.matTabGroup._handleClick = (tab, tabHeader, index) => {\r\n if (!tab.disabled) {\r\n this.matTabGroupEl.style.minHeight = this.matTabGroupEl.clientHeight + 'px';\r\n }\r\n\r\n return orig(tab, tabHeader, index);\r\n };\r\n this.animationSub = this.matTabGroup.animationDone.subscribe(() => {\r\n this.matTabGroupEl.style.minHeight = 'unset';\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.animationSub.unsubscribe();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { isArray } from 'util';\r\nimport { AccountService } from './account.service';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LoggerService } from './logger.service';\r\nimport { catchError, first } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class SessionService {\r\n // tslint:disable-next-line:variable-name\r\n private _userProfile = null;\r\n private _licenseValid = true;\r\n\r\n constructor(private keycloakService: KeycloakService,\r\n private accountService: AccountService,\r\n private http: HttpClient,\r\n private loggerService: LoggerService) { }\r\n\r\n get isLicenseValid() {\r\n return this._licenseValid;\r\n }\r\n getUsername(): string {\r\n if (!this._userProfile) {\r\n return null;\r\n }\r\n\r\n return this._userProfile.login;\r\n }\r\n async checkLicense() {\r\n const response = await this.http.get(`${environment.gateway}/orchestraservice/api/v1/license/check`,\r\n { observe: 'response' }).pipe(catchError((err: HttpErrorResponse) => of(err))).toPromise();\r\n\r\n if (response.status === 200) {\r\n this._licenseValid = true;\r\n } else if (response.status === 402) {\r\n this._licenseValid = false;\r\n\r\n }\r\n }\r\n async loadUserProfile() {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n return new Promise(async (resolve, reject) => {\r\n if (this._userProfile) {\r\n resolve(this._userProfile);\r\n return;\r\n }\r\n\r\n if (!isLoggedIn) {\r\n reject('The user profile was not loaded as the user is not logged in.');\r\n return;\r\n }\r\n this.accountService.getAccount().toPromise()\r\n .then(result => {\r\n this._userProfile = result;\r\n resolve(this._userProfile);\r\n },\r\n () => resolve(this._userProfile)\r\n );\r\n });\r\n }\r\n isUserInRole(role: any, resource?: string, isEnvRole = true): boolean {\r\n\t\tconst _userRoles = this.keycloakService.getUserRoles();\r\n\t\tconst _roles = Array.isArray(role) ? role : role.split(',');\r\n\t\treturn _roles.some((r) => {\r\n\t\t\tconst _role = isEnvRole ? environment.roles[r] ?? r : r;\r\n\t\t\treturn _userRoles.includes(_role);\r\n\t\t});\r\n\t}\r\n}\r\n","\r\n\r\nexport class CopyModel {\r\n constructor(\r\n public key: string,\r\n public value: any\r\n ) { }\r\n}","import { Component, Inject, OnDestroy, OnInit, Optional } from \"@angular/core\";\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Utils } from \"formiojs\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormioLoader, FIELD_TYPE, FormioTranslate, ResourceNameService, TRANSLATIONS, ErrorToast } from \"dp-formio\";\r\n\r\n@Component({\r\n selector: \"add-edit-resource-dialog\",\r\n templateUrl: \"add-edit-dialog.component.html\",\r\n styleUrls: [\"./add-edit-dialog.component.scss\"],\r\n providers: [FormioLoader],\r\n})\r\nexport class AddEditResourceDialog implements OnInit, OnDestroy {\r\n public get ENUM_FIELD_TYPE(): typeof FIELD_TYPE {\r\n return FIELD_TYPE;\r\n }\r\n\r\n formControls: FormGroup = new FormGroup({});\r\n parentId: string;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n constructor(\r\n private toastrService: ToastrService,\r\n @Optional() private translate: FormioTranslate,\r\n private formloader: FormioLoader,\r\n private resourceNameService: ResourceNameService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public fb: FormBuilder,\r\n private route: ActivatedRoute\r\n ) {\r\n this.formloader.loading = false;\r\n this.data.fields.forEach((control) => {\r\n let maxValidator = Validators.nullValidator;\r\n let minValidator = Validators.nullValidator;\r\n\r\n if (control.max || control.max === 0) {\r\n if (typeof control.max == \"string\")\r\n maxValidator = Validators.max(\r\n Utils.evaluate(control.max, { data: this.data.data })\r\n );\r\n else maxValidator = Validators.max(control.max);\r\n }\r\n if (control.min || control.min === 0) {\r\n if (typeof control.min == \"string\")\r\n minValidator = Validators.min(\r\n Utils.evaluate(control.min, { data: this.data.data })\r\n );\r\n else minValidator = Validators.min(control.min);\r\n }\r\n\r\n if (control.type === FIELD_TYPE.SELECT && this.data.isAdd) {\r\n this.getResourceData(control);\r\n }\r\n\r\n this.formControls.addControl(\r\n control.name,\r\n this.fb.control(\r\n {\r\n value: control.value || \"\",\r\n disabled: data.isView || (!data.isAdd && control.name === \"key\"),\r\n },\r\n [\r\n control.required ? Validators.required : Validators.nullValidator,\r\n maxValidator,\r\n minValidator,\r\n ]\r\n )\r\n );\r\n });\r\n console.log(this.formControls);\r\n }\r\n\r\n onInputChanged(item, event) {\r\n item.value = event.target?.value;\r\n if (item.name === \"order\") {\r\n this.data.order = +event.target?.value;\r\n }\r\n }\r\n\r\n getResourceData(control: any) {\r\n this.formloader.loading = true;\r\n this.sub = this.resourceNameService\r\n .loadCustomByKey(control.resource)\r\n .subscribe(\r\n (data) => {\r\n control.dataSource = data.sort(function (a, b) {\r\n if (a.data.order < b.data.order) {\r\n return -1;\r\n } else if (a.data.order > b.data.order) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n this.formloader.loading = false;\r\n },\r\n (error) => {\r\n this.formloader.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onSaveResource() {\r\n this.formloader.loading = true;\r\n\r\n this.resourceNameService\r\n .updateTranslation({\r\n key: this.formControls.controls.key.value,\r\n nameAr: this.getTranslations(TRANSLATIONS.NAMEAR) || \"\",\r\n nameEn: this.getTranslations(TRANSLATIONS.NAMEEN) || \"\",\r\n })\r\n .subscribe(\r\n (translations: any[]) => {\r\n if (translations && translations.length) {\r\n const resourceId = this.data.isAdd === false ? this.data._id : \"\";\r\n\r\n if (typeof this.data.isParentNode === \"string\") {\r\n this.getParentKey(this.data.isParentNode, resourceId);\r\n } else {\r\n this.resourceNameService\r\n .saveResourceData(\r\n this.data.isAdd,\r\n this.data.resourceName,\r\n {\r\n ...this.excludeTranslationsFromBody(\r\n this.formControls.value\r\n ),\r\n [this.data.parentId]:\r\n typeof this.data.isParentNode === \"string\"\r\n ? this.data.isParentNode\r\n : \"\",\r\n },\r\n resourceId\r\n )\r\n .subscribe(\r\n (res: any) => {\r\n this.formloader.loading = true;\r\n if (res && res.data) {\r\n this.data._id = res._id;\r\n this.dialogRef.close(this.data);\r\n }\r\n },\r\n (error: any) => {\r\n this.formloader.loading = false;\r\n\r\n error.error.details.forEach((error) => {\r\n this.showError(\r\n this.translate.instant(\"ErrorOccurred\"),\r\n error.message\r\n );\r\n });\r\n }\r\n );\r\n }\r\n }\r\n },\r\n (err: any) => (this.formloader.loading = false)\r\n );\r\n }\r\n\r\n getParentKey(id, resourceId) {\r\n const resourceKey = this.route.snapshot.queryParams.resource;\r\n\r\n let item: any;\r\n this.resourceNameService.loadCustomByKeyId(resourceKey, id).subscribe(\r\n (res: any) => {\r\n item = {\r\n data: {\r\n ...res.data,\r\n },\r\n };\r\n },\r\n () => {},\r\n () => {\r\n this.resourceNameService\r\n .saveResourceData(\r\n this.data.isAdd,\r\n this.data.resourceName,\r\n {\r\n ...this.excludeTranslationsFromBody(this.formControls.value),\r\n [this.data.parentId]:\r\n typeof this.data.isParentNode === \"string\" ? { ...item } : \"\",\r\n },\r\n resourceId\r\n )\r\n .subscribe(\r\n (res: any) => {\r\n this.formloader.loading = true;\r\n if (res && res.data) {\r\n this.data._id = res._id;\r\n this.dialogRef.close(this.data);\r\n }\r\n },\r\n (error: any) => {\r\n this.formloader.loading = false;\r\n\r\n error.error.details.forEach((error) => {\r\n this.showError(\r\n this.translate.instant(\"ErrorOccurred\"),\r\n error.message\r\n );\r\n });\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n getTranslations(lang: TRANSLATIONS): string {\r\n const selectedLang = lang;\r\n\r\n const formControl: any = Object.keys(this.formControls.controls).filter(\r\n (control) => control.includes(selectedLang)\r\n );\r\n\r\n if (formControl) {\r\n return this.formControls.controls[formControl].value;\r\n }\r\n }\r\n\r\n excludeTranslationsFromBody(formControls: {}): {} {\r\n const body = {\r\n key:\r\n this.data.isAdd == false ? this.formControls.controls[\"key\"].value : \"\",\r\n };\r\n\r\n Object.keys(formControls).map((pro: string) => {\r\n if (\r\n !pro.includes(TRANSLATIONS.NAMEAR) &&\r\n !pro.includes(TRANSLATIONS.NAMEEN)\r\n ) {\r\n body[pro] = formControls[pro];\r\n }\r\n });\r\n\r\n return body;\r\n }\r\n\r\n private showError(title: string, message: string) {\r\n this.toastrService.show(message, title, {\r\n toastClass: \"notification-toast\",\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: ErrorToast,\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach((s) => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n {{'notifications.delete' | translate}}\r\n \r\n \r\n \r\n
    ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NotificationToast } from 'dp-formio';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TemplateObject } from '../models/template-object';\r\n\r\n@Component({\r\n selector: 'lib-document-editor-sidebar',\r\n templateUrl: './document-editor-sidebar.component.html',\r\n styleUrls: ['./document-editor-sidebar.component.css']\r\n})\r\nexport class DocumentEditorSidebarComponent implements OnInit {\r\n @Output()\r\n selectField: EventEmitter<{ key: string, label: string }> = new EventEmitter<{ key: string, label: string }>();\r\n @Input()\r\n template: TemplateObject;\r\n private labelKeyMap: Map = new Map();\r\n listData: { [key: string]: any }[] = [\r\n {\r\n text: 'item.label',\r\n value: 'item.id',\r\n category: 'Drag or click the field to insert.',\r\n htmlAttributes: { draggable: true }\r\n }\r\n ];\r\n public fields: object = { tooltip: 'category' };\r\n constructor(private toastr: ToastrService,\r\n private clipboardService: ClipboardService) { }\r\n\r\n ngOnInit(): void {\r\n this.listData = [];\r\n this.labelKeyMap = new Map();\r\n this.template.fields.forEach(field => {\r\n this.listData.push({\r\n text: field.label,\r\n value: field.key,\r\n category: 'Drag or click the field to insert.',\r\n htmlAttributes: { draggable: true }\r\n });\r\n this.labelKeyMap.set(field.label, field.key);\r\n });\r\n }\r\n\r\n getItemData(label: string): { key: string, label: string } {\r\n if (this.labelKeyMap.has(label)) {\r\n return { key: this.labelKeyMap.get(label), label };\r\n } else {\r\n return { key: label, label };\r\n }\r\n }\r\n\r\n copy(key) {\r\n this.clipboardService.copy(key);\r\n this.toastr.success('Key copy successfully to clipboard', 'Copy successfully', {\r\n toastClass: 'notification-toast',\r\n messageClass: 'toast-copy-message',\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: NotificationToast\r\n });\r\n }\r\n}\r\n","import { Direction } from '@angular/cdk/bidi';\r\nimport { Component, EventEmitter, Injector, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { LangChangeEvent } from '@ngx-translate/core';\r\nimport { Observable, map, startWith, takeUntil } from 'rxjs';\r\nimport { ComponentBase } from '../../base';\r\n\r\n@Component({\r\n selector: 'app-questions-container',\r\n templateUrl: './questions-container.component.html',\r\n styleUrls: ['./questions-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QuestionsContainerComponent extends ComponentBase {\r\n _isOpened = false;\r\n @Input() set opened(val) {\r\n this._isOpened = val;\r\n }\r\n\r\n get opened() {\r\n return this._isOpened;\r\n }\r\n\r\n @Output() close = new EventEmitter();\r\n\r\n dir$: Observable;\r\n\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n this.dir$ = (this.translateService.onLangChange as Observable).pipe(\r\n takeUntil(this.destroy$),\r\n startWith({\r\n lang: this.translateService.currentLang,\r\n }),\r\n map((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n );\r\n }\r\n\r\n onClose() {\r\n this.close.emit();\r\n this.opened = false;\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n\r\n \r\n

    \r\n {{\r\n criterion\r\n | propertyLocalized\r\n : [\"criterionArabicDescription\", \"criterionEnglishDescription\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n \r\n \r\n {{\r\n \"forms.common.Criteria.Errors.QuestionsAnsweredAndSessionStarted\"\r\n | translate\r\n }}\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.SessionStarted\" | translate }}\r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.QuestionsAnswered\" | translate }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.Errors.AllSubsEvaluated\" | translate }}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.categoriesCompliance\" | translate }}\r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.\" + item.key | translate }}\r\n\r\n \r\n info\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.CriterionSummary\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfRecommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfCommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfSuggestions\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.save\" | translate }}\r\n \r\n
    \r\n
    \r\n\r\n","import { AfterContentInit, ContentChild, ContentChildren, Directive, ElementRef, Input, QueryList } from '@angular/core';\r\nimport { FlexDirective } from '@angular/flex-layout';\r\nimport { SplitAreaDirective } from './split-area.directive';\r\nimport { SplitHandleDirective } from './split-handle.directive';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Directive({\r\n selector: '[appSplit]'\r\n})\r\nexport class SplitDirective implements AfterContentInit {\r\n\r\n /*tslint:disable*/\r\n @Input('appSplit')\r\n direction: string = 'row';\r\n @Input('max')\r\n max = 75;\r\n /*tslint:enable*/\r\n\r\n @ContentChild(SplitHandleDirective) handle: SplitHandleDirective;\r\n @ContentChildren(SplitAreaDirective) areas: QueryList;\r\n constructor(private elementRef: ElementRef, private translate: TranslateService) { }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.handle && this.handle.drag)\r\n this.handle.drag.subscribe(pos => this.onDrag(pos));\r\n }\r\n\r\n onDrag({ x, y }): void {\r\n const delta = this.direction === 'row' ? x : y;\r\n const parentWidth = this.direction === 'row' ? this.elementRef.nativeElement.clientWidth\r\n : this.elementRef.nativeElement.clientHeight;\r\n const dir = this.translate.instant('dir');\r\n this.areas.forEach((area, i) => {\r\n // get the cur flex\r\n const subDelta = (i === 0 && dir !== 'rtl') ||\r\n (i === 1 && dir === 'rtl') ? delta : -delta;\r\n const flex = (area.flex as FlexDirective);\r\n\r\n flex.activatedValue = this.calculateSize(flex.activatedValue, subDelta, parentWidth);\r\n\r\n });\r\n }\r\n\r\n calculateSize(activatedValue, delta, parentWidth) {\r\n\r\n const flexPerc = activatedValue;\r\n\r\n // get the % in px\r\n const areaCur = parseFloat(flexPerc);\r\n const areaPx = parentWidth * (areaCur / 100);\r\n\r\n // determine which dir and calc the diff\r\n let areaDiff;\r\n areaDiff = areaPx + delta;\r\n\r\n\r\n // convert the px to %\r\n let newAreaPx = (areaDiff / parentWidth) * 100;\r\n newAreaPx = Math.max(newAreaPx, 0);\r\n newAreaPx = Math.min(newAreaPx, 100);\r\n\r\n // update flexlayout\r\n if (newAreaPx >= 100 - this.max && newAreaPx <= this.max) {\r\n return newAreaPx + '%';\r\n } else {\r\n return activatedValue + '%';\r\n }\r\n\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { GroupedTableWrapperComponent } from './grouped-table-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'grouped-table', // custom type. Formio will identify the field with this type.\r\n selector: 'grouped-table', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'grouped table', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerGroupedTableComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, GroupedTableWrapperComponent, injector);\r\n} ","","
    \r\n \r\n \r\n \r\n \r\n \r\n {{ \"forms.common.MasarCriteria.title\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.title\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n","
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.categoriesCompliance\" | translate\r\n }} \r\n \r\n \r\n \r\n {{'forms.common.Criteria.' + item.key | translate}}\r\n\r\n \r\n info\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n {{ \"forms.common.Criteria.Notes\" | translate }} \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n

    \r\n \r\n {{ 'forms.common.Criteria.ErrorsData' | translate }}\r\n \r\n \r\n

    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.mistake\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.suggestedSolution\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.otherNotes\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n

    \r\n
    ","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { combineLatest, filter, finalize, forkJoin, iif, of, switchMap, takeUntil } from 'rxjs';\r\nimport { DecisionInput } from '../../../models/decision-input.model';\r\nimport { CriterionInformation } from '../../../models/criterion-information.mode';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { FinalReportMistakes } from '../../../models/final-report-mistakes.model';\r\nimport { Category } from '../../../models/category.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criteria-decision',\r\n templateUrl: './criteria-decision.component.html',\r\n styleUrls: ['./criteria-decision.component.scss']\r\n})\r\nexport class CriteriaDecisionComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n isLoadingResults: boolean;\r\n form: FormGroup;\r\n finalReportMistakesForm: FormGroup;\r\n isSub = false;\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n mistakeId: number;\r\n\r\n category: Category;\r\n\r\n get isFinalReport() {\r\n return !this.decisionPreview && (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries);\r\n }\r\n\r\n get showInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get disabledInstitutionEntries() {\r\n return this.decisionInput.viewOnly ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get isInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries;\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n get isFormDisabled() {\r\n return !this.decisionInput.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private matDialog: MatDialog) { super(); }\r\n\r\n ngOnInit() {\r\n combineLatest([this.criterionsService.criterion$, this.criterionsService.decisionInputs$])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.initForm();\r\n this.initFinalReportMistakesForm();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.memberId?.previousValue && changes.memberId?.previousValue != changes.memberId?.currentValue) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n this.criterionsService.sendEvaluation$.next(new CopyModel(controlName, value));\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = this.form.value;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.itimadCriterionsService.editCriterionInformation(data, this.isFinalReport),\r\n this.itimadCriterionsService.createCriterionInformation(data, this.isFinalReport)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateForm(model);\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n submitMistakes() {\r\n if (this.finalReportMistakesForm.valid) {\r\n this.isLoadingResults = true;\r\n const value = this.finalReportMistakesForm.value;\r\n\r\n const data: FinalReportMistakes = {\r\n id: this.mistakeId,\r\n criterionId: this.modelId,\r\n criterionKey: this.criterion.criterionKey,\r\n criterionType: this.criterion.criterionType,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n ...value\r\n };\r\n\r\n of(!!this.mistakeId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.itimadCriterionsService.editFinalReportMistakes(data),\r\n this.itimadCriterionsService.createFinalReportMistakes(data)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateFinalReportMistakesForm(model);\r\n this.criterionsService.hasMistake$.next(true);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n deleteMistakes() {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: dir,\r\n data: {\r\n dir: dir,\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n this.itimadCriterionsService.deleteFinalReportMistakes(this.mistakeId)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this._updateFinalReportMistakesForm(null);\r\n this.criterionsService.hasMistake$.next(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake\"),\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake Successfully\"),\r\n false\r\n );\r\n });\r\n });\r\n }\r\n\r\n private initCategory(info: CriterionInformation) {\r\n this.category = {\r\n totalEvaluationCriteria: info?.totalEvaluationCriteria || 0,\r\n numberOfApplicable: info?.numberOfApplicable || 0,\r\n calculatedSavedScore: info?.numberOfApplicable ? (info?.totalEvaluationCriteria / info?.numberOfApplicable) : 0\r\n };\r\n }\r\n\r\n private initForm() {\r\n this.isSub = this.criterion.criterionType == 'SUB';\r\n this.form = this.formBuilder.group({\r\n notes: [{ value: '', disabled: this.isFormDisabled }],\r\n complianceEvaluation: [{ value: '', disabled: this.isFormDisabled }, this.isSub ? [Validators.required] : null],\r\n });\r\n }\r\n\r\n private initFinalReportMistakesForm() {\r\n this.finalReportMistakesForm = this.formBuilder.group({\r\n mistake: [{ value: '', disabled: this.disabledInstitutionEntries }, [Validators.required]],\r\n suggestedSolution: [{ value: '', disabled: this.disabledInstitutionEntries }, [Validators.required]],\r\n notes: [{ value: '', disabled: this.disabledInstitutionEntries }, [Validators.required]],\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n this.itimadCriterionsService.getCriterionInformationForMainCriterion(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport),\r\n this.showInstitutionEntries ? this.itimadCriterionsService.getFinalReportMistakes(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey) : of(null)\r\n ]).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(([criterionInformation, mistakes]) => {\r\n this.initCategory(criterionInformation);\r\n this._updateForm(criterionInformation);\r\n this._updateFinalReportMistakesForm(mistakes);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation) {\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n notes: data?.notes,\r\n complianceEvaluation: data?.complianceEvaluation\r\n });\r\n }\r\n private _updateFinalReportMistakesForm(data: FinalReportMistakes) {\r\n this.mistakeId = data?.id;\r\n this.finalReportMistakesForm.patchValue({\r\n mistake: data?.mistake,\r\n suggestedSolution: data?.suggestedSolution,\r\n notes: data?.notes,\r\n });\r\n }\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(data => {\r\n this.form.patchValue({\r\n [data.key]: data.value\r\n });\r\n });\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SwitchLangService {\r\n\tcurrentLang = 'ar';\r\n\tdefaultLang = 'ar';\r\n\r\n\tconstructor(public translate: TranslateService, private titleService: Title) {}\r\n\r\n\t/**\r\n\t * Fix Dom Direction - localization\r\n\t */\r\n\tfixDom(dir) {\r\n\t\tdocument.documentElement.setAttribute('dir', dir);\r\n\t}\r\n\r\n\tchangeLang(lang = this.getSelectedLang()) {\r\n\t\tthis.currentLang = lang;\r\n\t\tlocalStorage.setItem('lang', lang);\r\n\t\tthis.translate.setDefaultLang(lang);\r\n\t\tthis.translate.use(lang);\r\n\t\tthis.fixDom(this.translate.instant('dir'));\r\n\t\tthis.translate.onLangChange.subscribe((data) => {\r\n\t\t\tthis.fixDom(data.translations.dir);\r\n\t\t});\r\n\t}\r\n\r\n\tgetTranslated(string, source = null) {\r\n\t\tif (!string) return '';\r\n\t\tconst sourceString = source ? source + '.' + string.trim() : string.trim();\r\n\t\tconst translated = this.translate.instant(sourceString);\r\n\t\treturn translated === sourceString ? string : translated;\r\n\t}\r\n\r\n\tgetSelectedLang() {\r\n\t\tif (localStorage.getItem('lang') == 'ar' || localStorage.getItem('lang') == 'en') {\r\n\t\t\treturn localStorage.getItem('lang');\r\n\t\t} else {\r\n\t\t\treturn this.defaultLang;\r\n\t\t}\r\n\t}\r\n\r\n\tget current(): string {\r\n\t\treturn this.getSelectedLang();\r\n\t}\r\n}","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService, PAGE_SIZE } from '../../../services/criterions.service';\r\nimport { BehaviorSubject, finalize, Observable, takeUntil } from 'rxjs';\r\nimport { PagingResponse } from '../../../models/paging-response.model';\r\nimport { MemberCriterionInformation } from '../../../models/criterion-information.mode';\r\nimport { PageEvent } from '@angular/material/paginator';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AddEditSummaryComponent } from '../add-edit-summary/add-edit-summary.dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { MemberModel } from '../../../models/member.model';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-summary-filter',\r\n templateUrl: './summary-filter.component.html',\r\n styleUrls: ['./summary-filter.component.scss', '../../data-table.scss']\r\n})\r\nexport class SummaryFilterComponent extends BaseComponent implements OnInit {\r\n @Input() filter: string;\r\n @Output() onCloseFilter = new EventEmitter();\r\n pageSize = PAGE_SIZE;\r\n selectedPage = 0;\r\n totalItems = 0;\r\n\r\n members$: Observable;\r\n criterion$: Observable;\r\n\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n visitMetaData = this.criterionsService.decisionInputs$.getValue().visitMetaData;\r\n isMasar = this.criterionsService.decisionInputs$.getValue().isMasar;\r\n isLoadingResults: boolean = false;\r\n\r\n dataSource$ = new BehaviorSubject>(null);\r\n displayedColumns: string[];\r\n\r\n filtersForm: FormGroup;\r\n\r\n dir: \"rtl\" | \"ltr\" = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n\r\n constructor(private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private translateService: TranslateService,\r\n private matDialog: MatDialog,\r\n private fb: FormBuilder) { super(); }\r\n\r\n ngOnInit() {\r\n this.displayedColumns = [\r\n this.filter,\r\n 'criterionKey',\r\n 'member',\r\n 'actions'\r\n ];\r\n this.members$ = this.itimadCriterionsService.getMembersByVisitKey(this.visitMetaData.visitKey);\r\n this.criterion$ = this.itimadCriterionsService.getStickQuestionByVisitKey(this.visitMetaData.visitKey);\r\n this.initFilterForm();\r\n this.onSearch();\r\n }\r\n\r\n show(item: MemberCriterionInformation) {\r\n this.matDialog.open(AddEditSummaryComponent, {\r\n width: 'min(80%,900px)',\r\n direction: this.dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n isViewOnly: true,\r\n summary: item[this.filter],\r\n memberArabicName: item.memberArabicName,\r\n memberEnglishName: item.memberEnglishName,\r\n dir: this.dir\r\n }\r\n })\r\n }\r\n copy(item: MemberCriterionInformation) {\r\n this.criterionsService.sendSummary$.next(new CopyModel(this.filter, item[this.filter]));\r\n }\r\n onClose() { this.onCloseFilter.emit(); }\r\n\r\n changePage(event: PageEvent) {\r\n this.pageSize = event.pageSize;\r\n this.selectedPage = event.pageIndex;\r\n this.onSearch();\r\n }\r\n\r\n onSearch() {\r\n const values = _cloneDeep(this.filtersForm.value);\r\n const query = {\r\n ...(values.keyword\r\n ? { [`${this.filter}.contains`]: values.keyword }\r\n : { [`${this.filter}.notEquals`]: '' }\r\n ),\r\n ...(values.memberId\r\n ? { 'memberId.equals': values.memberId }\r\n : {}\r\n ),\r\n ...(values.criterionKey\r\n ? { 'criterionKey.equals': values.criterionKey }\r\n : {}\r\n )\r\n };\r\n this.getData(query);\r\n }\r\n onClear() {\r\n this.filtersForm.reset();\r\n this.onSearch();\r\n }\r\n\r\n private getData(query: any = {}) {\r\n this.isLoadingResults = true;\r\n const data = {\r\n 'visitKey.equals': this.visitMetaData.visitKey,\r\n size: this.pageSize,\r\n page: this.selectedPage,\r\n ...query,\r\n };\r\n this.itimadCriterionsService\r\n .getCriterionInformationForAll(data)\r\n .pipe(\r\n finalize(() => this.isLoadingResults = false),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((res) => {\r\n console.log(res);\r\n this.dataSource$.next(res);\r\n });\r\n }\r\n private initFilterForm(): void {\r\n this.filtersForm = this.fb.group({\r\n keyword: new FormControl(''),\r\n memberId: new FormControl(null),\r\n criterionKey: new FormControl('')\r\n });\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { RatingWrapperComponent } from './rating-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'rating-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'rating-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Rating Control', // Title of the component\r\n};\r\n\r\nexport function registerRatingWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, RatingWrapperComponent, injector);\r\n}\r\n","\r\n \r\n \r\n\r\n \r\n \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class PaginatorI18n extends MatPaginatorIntl {\r\n\r\n constructor(private translateService: TranslateService) {\r\n super();\r\n this.translateService.onLangChange\r\n .subscribe(() => {\r\n this.getTranslations();\r\n });\r\n\r\n this.getTranslations();\r\n }\r\n\r\n getTranslations() {\r\n this.translateService.get([\r\n 'matTable.ITEMS_PER_PAGE_LABEL',\r\n 'matTable.NEXT_PAGE_LABEL',\r\n 'matTable.PREVIOUS_PAGE_LABEL',\r\n 'matTable.FIRST_PAGE_LABEL',\r\n 'matTable.LAST_PAGE_LABEL',\r\n ])\r\n .subscribe(translation => {\r\n this.itemsPerPageLabel = translation['matTable.ITEMS_PER_PAGE_LABEL'];\r\n this.nextPageLabel = translation['matTable.NEXT_PAGE_LABEL'];\r\n this.previousPageLabel = translation['matTable.PREVIOUS_PAGE_LABEL'];\r\n this.firstPageLabel = translation['matTable.FIRST_PAGE_LABEL'];\r\n this.lastPageLabel = translation['matTable.LAST_PAGE_LABEL'];\r\n this.changes.next();\r\n });\r\n }\r\n\r\n getRangeLabel = (page, pageSize, length) => {\r\n if (length === 0 || pageSize === 0) {\r\n return this.translateService.instant('matTable.RANGE_PAGE_LABEL_1', { length });\r\n }\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\r\n return this.translateService.instant('matTable.RANGE_PAGE_LABEL_2', { startIndex: startIndex + 1, endIndex, length });\r\n };\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ 'forms.common.Criteria.ExecutivePlan' | translate }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n
    {{ row?.clause }}
    \r\n
    \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n
    {{ row?.responsibleName }}
    \r\n
    \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n
    {{ row?.endDate | date : 'yyyy-MM-dd'}}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n
    ","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n combineLatest,\r\n filter,\r\n finalize,\r\n forkJoin,\r\n iif,\r\n of,\r\n switchMap,\r\n takeUntil,\r\n} from \"rxjs\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { BaseComponent } from \"../../../base.component\";\r\nimport { ExecuteVisitType } from \"../../../models/execute-visit.model\";\r\nimport { ICriterion } from \"../../../../distribute-team-members/models/criterion\";\r\nimport { DecisionInput } from \"../../../models/decision-input.model\";\r\nimport { Category } from \"../../../models/category.model\";\r\nimport { CriterionsService } from \"../../../services/criterions.service\";\r\nimport { CriterionInformation } from \"../../../models/criterion-information.mode\";\r\nimport { showToast } from \"../../../../toast.helper\";\r\nimport { CopyModel } from \"../../../models/copy.model\";\r\nimport { MasarCriterionsService } from \"../../../services/masar-criterions.service\";\r\n\r\n@Component({\r\n selector: \"app-masar-criteria-decision\",\r\n templateUrl: \"./masar-criteria-decision.component.html\",\r\n styleUrls: [\"./masar-criteria-decision.component.scss\"],\r\n})\r\nexport class MasarCriteriaDecisionComponent\r\n extends BaseComponent\r\n implements OnInit, OnChanges\r\n{\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n isLoadingResults: boolean;\r\n form: FormGroup;\r\n isMain = false;\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n mistakeId: number;\r\n criterion$ = this.criterionsService.criterion$;\r\n\r\n category: Category;\r\n get isFinalReport() {\r\n return (\r\n !this.decisionPreview &&\r\n (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries)\r\n );\r\n }\r\n\r\n get showInstitutionEntries() {\r\n return (\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries\r\n );\r\n }\r\n\r\n get disabledInstitutionEntries() {\r\n return (\r\n this.decisionInput.viewOnly ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries\r\n );\r\n }\r\n\r\n get isInstitutionEntries() {\r\n return (\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries\r\n );\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return (\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries\r\n );\r\n }\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n get enabledCopyToExecutiveSummary() {\r\n return (\r\n this.masarCriterionsService.allCriterionEvaluated$.value &&\r\n this.decisionInput.enableEdit &&\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport\r\n );\r\n }\r\n get isFormDisabled() {\r\n return (\r\n !this.decisionInput.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries ||\r\n !this.criterion$.value.allQuestionsAnswered ||\r\n !this.category?.allSubsEvaluated ||\r\n !!this.isSessionNotStarted\r\n );\r\n }\r\n get isSessionNotStarted() {\r\n return (\r\n this.decisionInput?.visitMetaData?.sessionChecked &&\r\n !this.decisionInput?.visitMetaData?.sessionChecked?.sessionStarted\r\n );\r\n }\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private matDialog: MatDialog\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n combineLatest([\r\n this.criterionsService.criterion$,\r\n this.criterionsService.decisionInputs$,\r\n ])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.initForm();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes.memberId?.previousValue &&\r\n changes.memberId?.previousValue != changes.memberId?.currentValue\r\n ) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n if (this.enabledCopyToExecutiveSummary)\r\n this.criterionsService.sendToExecutiveSummary$.next(\r\n new CopyModel(controlName, value)\r\n );\r\n else\r\n this.criterionsService.sendEvaluation$.next(\r\n new CopyModel(controlName, value)\r\n );\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = this.form.value;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value,\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.masarCriterionsService.editCriterionInformation(\r\n data,\r\n this.isFinalReport\r\n ),\r\n this.masarCriterionsService.createCriterionInformation(\r\n data,\r\n this.isFinalReport\r\n )\r\n )\r\n ),\r\n finalize(() => (this.isLoadingResults = false))\r\n )\r\n .subscribe((model) => {\r\n this._updateForm(model);\r\n this.criterionsService.decisionTaken$.next();\r\n this.masarCriterionsService.updatedMainCriterion$.next(model);\r\n showToast(\r\n this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\r\n \"forms.common.Criteria.Saved Successfully\"\r\n ),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n private initCategory(info: CriterionInformation) {\r\n this.category = {\r\n totalEvaluationCriteria: info?.totalEvaluationCriteria || 0,\r\n numberOfApplicable: info?.numberOfApplicable || 0,\r\n calculatedSavedScore: info?.numberOfApplicable\r\n ? info?.totalEvaluationCriteria / info?.numberOfApplicable\r\n : 0,\r\n allSubsEvaluated: info.allSubsEvaluated,\r\n };\r\n }\r\n\r\n private initForm() {\r\n this.isMain = this.criterion.criterionType == \"MAIN\";\r\n this.form = this.formBuilder.group({\r\n criterionSummary: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n complianceEvaluation: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n summaryOfRecommendations: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n summaryOfCommendations: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n summaryOfSuggestions: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService\r\n .getCriterionInformationForMainCriterion(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport\r\n )\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => (this.isLoadingResults = false))\r\n )\r\n .subscribe((criterionInformation) => {\r\n this.initCategory(criterionInformation);\r\n this.initForm();\r\n this._updateForm(criterionInformation);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation) {\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n criterionSummary: data?.criterionSummary,\r\n complianceEvaluation: data?.complianceEvaluation,\r\n summaryOfRecommendations: data?.summaryOfRecommendations,\r\n summaryOfCommendations: data?.summaryOfCommendations,\r\n summaryOfSuggestions: data?.summaryOfSuggestions,\r\n });\r\n }\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter((data) => !!data),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((data) => {\r\n this.form.patchValue({\r\n [data.key]: data.value,\r\n });\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criterion-decision',\r\n templateUrl: './criterion-decision.component.html',\r\n styleUrls: ['./criterion-decision.component.scss']\r\n})\r\nexport class CriterionDecisionComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of dp-formio-custom-component\r\n */\r\n\r\nexport * from './lib/custom-component/components/toast.helper';\r\nexport * from './lib/custom-component/helpers/json.helper';\r\nexport * from './lib/custom-component/helpers/sort.helper';\r\n\r\nexport * from './lib/custom-component/components/assessment-wrapper/assessment-wrapper.component';\r\nexport * from './lib/custom-component/components/assessment-wrapper/assessment-wrapper.formio';\r\nexport * from './lib/custom-component/components/assessment-wrapper/category-card/category-card.component';\r\nexport * from './lib/custom-component/components/assessment-wrapper/control/assessment-control.component';\r\nexport * from './lib/custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nexport * from './lib/custom-component/components/calendar-wrapper/calendar-wrapper.component';\r\nexport * from './lib/custom-component/components/calendar-wrapper/calendar-wrapper.formio';\r\nexport * from './lib/custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component';\r\nexport * from './lib/custom-component/components/card-wrapper/card-wrapper.component';\r\nexport * from './lib/custom-component/components/card-wrapper/card-wrapper.formio';\r\nexport * from './lib/custom-component/components/charts-wrapper/charts-wrapper.component';\r\nexport * from './lib/custom-component/components/charts-wrapper/charts-wrapper.formio';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.formio';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/comments/classification-comments.component';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component';\r\nexport * from './lib/custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component';\r\nexport * from './lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.component';\r\nexport * from './lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.formio';\r\nexport * from './lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component';\r\nexport * from './lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.formio';\r\nexport * from './lib/custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component';\r\nexport * from './lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component';\r\nexport * from './lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.formio';\r\nexport * from './lib/custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component';\r\nexport * from './lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.component';\r\nexport * from './lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.formio';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.formio';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/pipes/display-order-pattern.pipe';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/pipes/evaluation-score-message.pipe';\r\nexport * from './lib/custom-component/components/form-key-wrapper/form-key-wrapper.component';\r\nexport * from './lib/custom-component/components/form-key-wrapper/form-key-wrapper.formio';\r\nexport * from './lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component';\r\nexport * from './lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.formio';\r\nexport * from './lib/custom-component/components/hijri-date-wrapper/hijri-date-wrapper.formio';\r\nexport * from './lib/custom-component/components/hijri-date-wrapper/hijri-date.component';\r\nexport * from './lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.component';\r\nexport * from './lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.formio';\r\nexport * from './lib/custom-component/components/indicators-wrapper/indicators-wrappe.formio';\r\nexport * from './lib/custom-component/components/indicators-wrapper/indicators-wrapper.component';\r\nexport * from './lib/custom-component/components/map-wrapper/map-wrapper.component';\r\nexport * from './lib/custom-component/components/map-wrapper/map-wrapper.formio';\r\nexport * from './lib/custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nexport * from './lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component';\r\nexport * from './lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.formio';\r\nexport * from './lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.component';\r\nexport * from './lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.formio';\r\nexport * from './lib/custom-component/components/org-wrapper/org-wrapper.component';\r\nexport * from './lib/custom-component/components/org-wrapper/org-wrapper.formio';\r\nexport * from './lib/custom-component/components/pdf-wrapper/pdf-wrapper.component';\r\nexport * from './lib/custom-component/components/pdf-wrapper/pdf-wrapper.formio';\r\nexport * from './lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component';\r\nexport * from './lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.formio';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.formio';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component';\r\nexport * from './lib/custom-component/components/rating-wrapper/rating-wrapper.component';\r\nexport * from './lib/custom-component/components/rating-wrapper/rating-wrapper.formio';\r\nexport * from './lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component';\r\nexport * from './lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.formio';\r\nexport * from './lib/custom-component/components/resource-autocomplete-wrapper/pipe/evaluation-display.pipe';\r\nexport * from './lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component';\r\nexport * from './lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.formio';\r\nexport * from './lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component';\r\nexport * from './lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.formio';\r\nexport * from './lib/custom-component/components/stepper-wrapper/stepper-wrapper.component';\r\nexport * from './lib/custom-component/components/stepper-wrapper/stepper-wrapper.formio';\r\nexport * from './lib/custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nexport * from './lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.component';\r\nexport * from './lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.formio';\r\nexport * from './lib/custom-component/components/table-view-wrapper/table-view-wrapper.component';\r\nexport * from './lib/custom-component/components/table-view-wrapper/table-view-wrapper.formio';\r\nexport * from './lib/custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component';\r\nexport * from './lib/custom-component/components/template-wrapper/template-process/services/template-objects.service';\r\nexport * from './lib/custom-component/components/template-wrapper/template-process/template-process.component';\r\nexport * from './lib/custom-component/components/template-wrapper/template-wrapper.component';\r\nexport * from './lib/custom-component/components/template-wrapper/template-wrapper.formio';\r\nexport * from './lib/custom-component/components/visit-schedule/visit-schedule.component';\r\nexport * from './lib/custom-component/components/visit-schedule/visit-schedule.formio';\r\n\r\nexport * from './lib/custom-component/components/distribute-common-questions';\r\nexport * from './lib/custom-component/components/distribute-team-members';\r\nexport * from './lib/custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component';\r\nexport * from './lib/custom-component/dialogs/confirmation-dialog/confirmation-dialog.component';\r\n\r\nexport * from './lib/formio-custom-component.module';\r\n\r\nexport * from './lib/custom-component/components/custom-select';\r\n","import { CustomCalenderOptions } from '../../calendar-wrapper/models';\r\n\r\nexport enum ComponentMode {\r\n\tCREATE = 'CREATE',\r\n\tEDIT = 'EDIT',\r\n\tREAD = 'READ',\r\n}\r\n\r\nexport interface VisitScheduleOptions extends CustomCalenderOptions {\r\n\tmode?: ComponentMode;\r\n\tlistener?:string;\r\n\tresource?: {\r\n\t\tkey?:string;\r\n\t\tquery?:string\r\n\t};\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedRowRatio',\r\n pure: false\r\n})\r\nexport class CalculatedRowRatioPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, array: any[], firstFiledIndex: string, secondFiledIndex: string, key: string) {\r\n const first = +array[firstFiledIndex][key] || 0;\r\n const second = +array[secondFiledIndex][key] || 0;\r\n let result = '';\r\n if (second && first) {\r\n const ratio = second % first > 0 ? (second / first).toFixed(1) : (second / first);\r\n result = ratio + ':' + 1;\r\n } else {\r\n result = '0:0';\r\n }\r\n if (key) item[key] = result;\r\n return result;\r\n }\r\n}","import { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\nimport {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, finalize, forkJoin, iif, takeUntil } from 'rxjs';\r\nimport { ICriterion } from '../../distribute-team-members/models/criterion';\r\nimport { BaseComponent } from '../base.component';\r\nimport { CategoriesCompliance } from '../models/categories-compliance.model';\r\nimport { ExecuteVisitType } from '../models/execute-visit.model';\r\nimport { MemberModel } from '../models/member.model';\r\nimport { RolesEnum, VisitMetaData } from '../models/visit-metadata.model';\r\nimport { CriterionsService } from '../services/criterions.service';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ItimadCriterionsService } from '../services/itimad-criterions.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-criterions-tree',\r\n templateUrl: './criterions-tree.component.html',\r\n styleUrls: ['./criterions-tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CriterionsTreeComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() viewOnly: boolean;\r\n @Input() categoriesCompliance: CategoriesCompliance[];\r\n @Input() visitMetaData: VisitMetaData;\r\n @Input() sessionId: number | string;\r\n @Input() executeVisitType: ExecuteVisitType;\r\n criterions: ICriterion[] = [];\r\n summaries = [\r\n {\r\n type: 'recommendations-summaries',\r\n filter: 'summaryOfRecommendations',\r\n label: 'forms.common.Criteria.summaryOfRecommendations'\r\n },\r\n {\r\n type: 'commendations-summaries',\r\n filter: 'summaryOfCommendations',\r\n label: 'forms.common.Criteria.summaryOfCommendations'\r\n },\r\n {\r\n type: 'suggestions-summaries',\r\n filter: 'summaryOfSuggestions',\r\n label: 'forms.common.Criteria.summaryOfSuggestions'\r\n },\r\n {\r\n type: 'executive-summaries',\r\n filter: 'executiveSummary',\r\n label: 'forms.common.Criteria.executiveSummary'\r\n }\r\n ];\r\n\r\n get showExecutivePlan() {\r\n return this.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n selectedNode: ICriterion = null;\r\n treeControl = new NestedTreeControl((node) => node.subCriteria);\r\n dataSource: MatTreeNestedDataSource;\r\n\r\n isLoadingResults = false;\r\n\r\n showMemberDropdown: boolean;\r\n\r\n readonly hasChild = (_: number, node: ICriterion) =>\r\n !!node.subCriteria && node.subCriteria.length > 0;\r\n\r\n readonly trackBy = (_: number, node: ICriterion) => node.id;\r\n\r\n constructor(\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n public translateService: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.showMemberDropdown = this.executeVisitType == ExecuteVisitType.SessionDetails && this.visitMetaData.role == RolesEnum.TEAM_LEADER;\r\n if (!this.showMemberDropdown) this.getTreeData();\r\n this.criterionsService.decisionTaken$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(() => {\r\n this.selectedNode.evaluate = true;\r\n // this.updateResultData();\r\n this.getTreeData();\r\n });\r\n this.criterionsService.hasMistake$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((value) => this.selectedNode.hasError = value);\r\n }\r\n\r\n memberChanged(member: MemberModel) {\r\n this.selectedNode = null;\r\n this.getTreeData(member);\r\n }\r\n rowClicked(node: ICriterion) {\r\n if (this.selectedNode?.id !== node?.id) {\r\n this.selectedNode = node;\r\n this.criterionsService.criterion$.next(node);\r\n }\r\n }\r\n getTreeData(member: MemberModel = null) {\r\n const reviewerId = member?.reviewer?.id;\r\n const enableDecisionEdit = !reviewerId || reviewerId == this.visitMetaData.reviewerId;\r\n\r\n this.criterionsService.decisionInputs$.next({\r\n categoriesCompliance: this.categoriesCompliance,\r\n visitMetaData: this.visitMetaData,\r\n isMasar: false,\r\n enableEdit: !this.viewOnly && enableDecisionEdit,\r\n currentMemberId: member?.id || this.visitMetaData.memberId,\r\n currentReviewerId: member?.reviewer?.id || this.visitMetaData.reviewerId,\r\n viewOnly: this.viewOnly,\r\n executeVisitType: this.executeVisitType,\r\n });\r\n\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n iif(\r\n () => this.executeVisitType == ExecuteVisitType.SessionDetails,\r\n this.itimadCriterionsService.getMyCriterionByVisitKey(this.visitMetaData.visitKey, reviewerId || this.visitMetaData.reviewerId),\r\n this.itimadCriterionsService.getAllCriterionByVisitKey(this.visitMetaData.visitKey)\r\n ),\r\n this.criterionsService.getProccess(this.visitMetaData.accreditationKey, this.visitMetaData.eligibilityRequestId)\r\n ]).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n ).subscribe((result) => {\r\n this.criterions = result[0];\r\n this.dataSource = new MatTreeNestedDataSource();\r\n this.dataSource.data = this.criterions;\r\n this.updateResultData();\r\n });\r\n }\r\n\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value.criterion = this.dataSource.data;\r\n value.flatCriterion = _cloneDeep(value.criterion);\r\n\r\n let flatten = (children, extractChildren) => Array.prototype.concat.apply(\r\n children,\r\n children.map(x => flatten(extractChildren(x) || [], extractChildren))\r\n );\r\n let extractChildren = x => x.subCriteria;\r\n value.flatCriterion = flatten(extractChildren({ subCriteria: value.flatCriterion }), extractChildren)\r\n .map(x => delete x.subCriteria && x);\r\n\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-copy-decision',\r\n templateUrl: './copy-decision.component.html',\r\n styleUrls: ['./copy-decision.component.scss']\r\n})\r\nexport class CopyDecisionComponent extends BaseComponent implements OnInit {\r\n @Input() enabledCopy: boolean;\r\n @Input() tooltip: string = 'forms.common.Criteria.copy';\r\n @Input() prefix: string = '';\r\n @Output() clicked = new EventEmitter();\r\n constructor() { super(); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n clickedBtn() { this.clicked.emit(); }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription, takeUntil } from 'rxjs';\r\nimport { CategoriesCompliance } from './models/categories-compliance.model';\r\nimport { ExecuteVisitType, EvaluatedSummaryType } from './models/execute-visit.model';\r\nimport { VisitMetaData } from './models/visit-metadata.model';\r\nimport { CriterionsService } from './services/criterions.service';\r\nimport { Utils } from 'formiojs';\r\nimport { ICriterion } from '../distribute-team-members/models/criterion';\r\nimport { FormioCustomComponent } from 'dp-formio';\r\nimport { MasarCriterionsService } from './services/masar-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-execute-visit-wrapper',\r\n templateUrl: './execute-visit-wrapper.component.html',\r\n // styleUrls: ['./execute-visit-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ExecuteVisitWrapperComponent implements FormioCustomComponent, OnInit, OnDestroy, OnChanges {\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n\r\n categoriesCompliance: CategoriesCompliance[];\r\n executeVisitType: ExecuteVisitType;\r\n evaluatedSummaryType: EvaluatedSummaryType;\r\n visitMetaData: VisitMetaData;\r\n isMistakeDisabled = false;\r\n responseNotesDecision = false;\r\n disableEntityResponse = false;\r\n disableAttachments = false;\r\n hideMistake = false;\r\n isReady = false;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService) {\r\n }\r\n ngOnInit(): void {\r\n this.registerResultsListener();\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n this.categoriesCompliance = this.customOptions.categoriesCompliance;\r\n this.criterionsService.forms.attachmentsFormKey = this.customOptions.attachmentsFormKey;\r\n this.executeVisitType = this.customOptions.executeVisitType;\r\n this.evaluatedSummaryType = this.customOptions.evaluatedSummaryType || EvaluatedSummaryType.All;\r\n this.isMistakeDisabled = this.customOptions.isMistakeDisabled || false;\r\n this.disableEntityResponse = this.customOptions.disableEntityResponse || false;\r\n this.disableAttachments = this.customOptions.disableAttachments || false;\r\n this.hideMistake = this.customOptions.hideMistake || false;\r\n this.visitMetaData = this.data?.visitMetaData;\r\n if (this.customOptions.evaluatedMetaData) {\r\n this.visitMetaData = Utils.evaluate(this.customOptions.evaluatedMetaData, { submission: this.data });\r\n }\r\n if (this.customOptions.responseNotesDecision) {\r\n this.responseNotesDecision = Utils.evaluate(this.customOptions.responseNotesDecision, { submission: this.data });\r\n }\r\n //just for test\r\n // this.executeVisitType = ExecuteVisitType.FinalReport;\r\n this.isReady = !!this.visitMetaData?.visitKey && !!this.categoriesCompliance?.length && !!this.executeVisitType;\r\n if (this.isReady) {\r\n this.registerFormioListener();\r\n }\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n private registerResultsListener() {\r\n this.sub = this.criterionsService.results$\r\n .subscribe(result => {\r\n this.value = result;\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue();\r\n });\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach((item) => {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({\r\n all: true,\r\n withoutFirstLoad: true,\r\n });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach((c) => {\r\n if (item.checkConditions) {\r\n c.checkConditions();\r\n }\r\n else if (item.calculateValue) {\r\n c.calculateValue(this.data);\r\n } else {\r\n const value = Utils.evaluate(item.value, {\r\n data: this.data,\r\n instance: this.formioComponent,\r\n });\r\n c.setValue(value);\r\n }\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n type: 'form',\r\n 'component.display': 'wizard',\r\n });\r\n nestedForms.forEach((formComponent) => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach((c) => {\r\n if (item.checkConditions) {\r\n c.checkConditions();\r\n }\r\n else if (item.calculateValue) {\r\n c.calculateValue(this.data);\r\n } else {\r\n const value = Utils.evaluate(item.value, {\r\n data: this.data,\r\n instance: this.formioComponent,\r\n });\r\n c.setValue(value);\r\n }\r\n });\r\n });\r\n });\r\n\r\n const components = Utils.searchComponents(this.formioComponent.root.components, {\r\n key: item.key,\r\n });\r\n components.forEach((c) => {\r\n if (item.checkConditions) {\r\n c.checkConditions();\r\n }\r\n else if (item.calculateValue) {\r\n c.calculateValue(this.data);\r\n } else {\r\n const value = Utils.evaluate(item.value, {\r\n data: this.data,\r\n instance: this.formioComponent,\r\n });\r\n c.setValue(value);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private registerFormioListener() {\r\n this.formioComponent?.off('updateData');\r\n this.formioComponent?.on('updateData', (data) => {\r\n this.masarCriterionsService.updatedCriterionKey$.next(data);\r\n });\r\n }\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil, iif, BehaviorSubject } from 'rxjs';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { Summary } from '../../models/summary.model';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService, PAGE_SIZE } from '../../services/criterions.service';\r\nimport { MasarCriterionsService } from '../../services/masar-criterions.service';\r\nimport { MasarAddEditResponseComponent } from './add-edit-response/masar-add-edit-response.dialog';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { MemberCriterionInformation } from '../../models/criterion-information.mode';\r\nimport { PagingResponse } from '../../models/paging-response.model';\r\nimport { PageEvent } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-masar-decision-summary',\r\n templateUrl: './masar-decision-summary.component.html',\r\n styleUrls: ['./masar-decision-summary.component.scss', '../data-table.scss']\r\n})\r\nexport class MasarDecisionSummaryComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n @Input() criterionKeys: string[];\r\n @Input() title: string;\r\n @Input() type: string;\r\n @Input() filter: string;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n expandedFilter: boolean = false;\r\n finalReport = ExecuteVisitType.FinalReport;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n finalReportWithInstitutionEntries = ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n\r\n displayedColumns = [\r\n 'summary',\r\n 'finalReportResponse',\r\n 'actions'\r\n ];\r\n\r\n enableEntityResponse = false;\r\n hasResponse = false;\r\n enabledSummary = false;\r\n isLeaderDecision = false;\r\n\r\n get isRecommendations() { return this.type == 'recommendations-summaries' };\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n pageSize = PAGE_SIZE;\r\n selectedPage = 0;\r\n totalItems = 0;\r\n\r\n visitMetaData = this.criterionsService.decisionInputs$.getValue().visitMetaData;\r\n isMasar = this.criterionsService.decisionInputs$.getValue().isMasar;\r\n dataSource$ = new BehaviorSubject>(null);\r\n dir: \"rtl\" | \"ltr\" = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n\r\n ngOnInit() {\r\n this.mainCriterionListener();\r\n\r\n this.decisionInput$.pipe(\r\n takeUntil(this.destroy$),\r\n ).subscribe(input => {\r\n\r\n this.hasResponse = this.isRecommendations && !input.disableEntityResponse &&\r\n (input.executeVisitType == this.institutionEntries ||\r\n input.executeVisitType == this.finalReport ||\r\n input.executeVisitType == this.finalReportWithInstitutionEntries);\r\n\r\n this.enableEntityResponse = !input.disableEntityResponse &&\r\n (input.executeVisitType == this.institutionEntries ||\r\n input.executeVisitType == this.finalReport ||\r\n input.executeVisitType == this.finalReportWithInstitutionEntries);\r\n\r\n this.enabledSummary = !input.viewOnly &&\r\n (\r\n input.executeVisitType == this.finalReport ||\r\n (this.isRecommendations && input.executeVisitType == this.finalReportWithInstitutionEntries)\r\n );\r\n\r\n this.displayedColumns = [\r\n this.enableEntityResponse ? 'summaryText' : this.filter,\r\n 'criterionKey',\r\n 'finalReportResponse',\r\n 'leaderDecision',\r\n 'actions',\r\n ];\r\n\r\n this.getData();\r\n });\r\n }\r\n\r\n changePage(event: PageEvent) {\r\n this.pageSize = event.pageSize;\r\n this.selectedPage = event.pageIndex;\r\n this.getData();\r\n }\r\n\r\n showResponse(decisionInput: DecisionInput, summary: Summary) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(MasarAddEditResponseComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n summary: summary,\r\n summaryId: summary.id,\r\n id: summary.finalReportResponseId,\r\n visitMetaData: decisionInput.visitMetaData,\r\n viewOnly: decisionInput.viewOnly || decisionInput.executeVisitType != this.institutionEntries,\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n if (this.isLeaderDecision) this.getData();\r\n else {\r\n summary.finalReportResponseId = result;\r\n this.updateResultData();\r\n }\r\n });\r\n }\r\n\r\n private mainCriterionListener() {\r\n this.masarCriterionsService.updatedMainCriterion$\r\n .pipe(\r\n filter(data => !!data && !this.enableEntityResponse),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(_ => {\r\n this.selectedPage = 0;\r\n this.getData();\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n const data = {\r\n 'visitKey.equals': this.visitMetaData.visitKey,\r\n 'criterionKey.in': this.criterionKeys?.join(),\r\n size: this.pageSize,\r\n page: this.selectedPage\r\n };\r\n\r\n iif(\r\n () => this.enableEntityResponse,\r\n this.masarCriterionsService.getPaginatedSummaries(this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey,\r\n this.type,\r\n this.isRecommendations),\r\n this.masarCriterionsService.getCriterionInformationForAll(data)\r\n ).pipe(\r\n finalize(() => this.isLoadingResults = false),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((res) => {\r\n console.log(res);\r\n this.dataSource$.next(res);\r\n this.updateResultData();\r\n\r\n const executeVisitType = this.decisionInput$.value.executeVisitType;\r\n const disableEntityResponse = this.decisionInput$.value.disableEntityResponse;\r\n this.isLeaderDecision = this.isRecommendations && !disableEntityResponse &&\r\n (\r\n executeVisitType == this.finalReport ||\r\n executeVisitType == this.finalReportWithInstitutionEntries ||\r\n (executeVisitType == this.institutionEntries && res.data.some(q => !!q.leaderDecision))\r\n );\r\n });\r\n }\r\n\r\n private updateResultData() {\r\n if (this.enableEntityResponse && this.isRecommendations) {\r\n const data = this.criterionsService.results$.getValue();\r\n data.summaryOfRecommendations = this.dataSource$.value.data as Summary[];\r\n this.criterionsService.results$.next(data);\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, AfterViewInit, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-proccess-requirments-wrapper',\r\n templateUrl: './proccess-requirments-wrapper.component.html',\r\n // styleUrls: ['./proccess-requirments-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class ProccessRequirmentsWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n bootstrapClass = '';\r\n resource = '';\r\n query = '';\r\n requirments: any[] = [];\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.resource || this.customOptions.query) {\r\n this.query = this.formioComponent.interpolate(this.customOptions.query, { data: this.data });\r\n this.resource = this.formioComponent.interpolate(this.customOptions.resource, { data: this.data });\r\n this.getRequirmentsResources();\r\n }\r\n if (this.customOptions.bootstrapClass) {\r\n this.bootstrapClass = this.customOptions.bootstrapClass;\r\n }\r\n }\r\n }\r\n\r\n\r\n notifyValue() {\r\n const data = this.requirments.map(q => {\r\n return {\r\n _id: q._id,\r\n checked: q.checked\r\n }\r\n });\r\n\r\n if (this.required) {\r\n const checkedCount = data.reduce((a, b) => a + +b.checked, 0);\r\n if (checkedCount != this.requirments.length) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n }\r\n this.value = { requirments: data };\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n private getRequirmentsResources() {\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.resource, this.query || '')\r\n .subscribe(data => {\r\n this.requirments = data.map(q => {\r\n const checked = this.value && this.value.requirments ? (this.value.requirments.find(r => r._id == q._id) || {}).checked || false : false;\r\n return {\r\n _id: q._id,\r\n ...q.data,\r\n value: this.translateService.instant(`forms.common.${q.data.value}`),\r\n checked: checked\r\n };\r\n }).sort(function (a, b) {\r\n if (a.order < b.order) { return -1; }\r\n else if (a.order > b.order) { return 1; }\r\n else { return 0; }\r\n });\r\n console.log(this.requirments);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatSelectionList } from '@angular/material/list';\r\nimport { BehaviorSubject, distinctUntilChanged, every, filter, map, skip, take, takeUntil } from 'rxjs';\r\nimport { IMember } from '../../models/member';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-team-members',\r\n templateUrl: './team-members.component.html',\r\n styleUrls: ['./team-members.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TeamMembersComponent\r\n extends BaseComponent\r\n implements OnInit, OnDestroy, OnChanges\r\n{\r\n @Input() selectedMembers: IMember[] = [];\r\n\r\n selectedSourceList: IMember[] = [];\r\n _sourceSub = new BehaviorSubject([]);\r\n source$ = this._sourceSub.asObservable();\r\n\r\n selectedTargetList: IMember[] = [];\r\n _targetSub = new BehaviorSubject([]);\r\n target$ = this._targetSub.asObservable();\r\n\r\n @Output() onAdd = new EventEmitter();\r\n @Output() onRemove = new EventEmitter();\r\n @Output() targetChanges = new EventEmitter();\r\n\r\n @ViewChild('sourceTeam', { static: false }) private sourceTeam: MatSelectionList;\r\n @ViewChild('targetTeam', { static: false }) private targetTeam: MatSelectionList;\r\n trackByFn(index: number, item: IMember) {\r\n return item?.id ?? index;\r\n }\r\n\r\n compareMembers(memberA: IMember, memberB: IMember) {\r\n return memberA && memberB ? memberA?.id === memberB?.id : memberA === memberB;\r\n }\r\n\r\n constructor(private distributeService: DistributeService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._initMembersList();\r\n this._subscribeToTargetChanges();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this._watchMembersChanges(changes);\r\n }\r\n\r\n add() {\r\n const data = this._targetSub.getValue();\r\n this.onAdd.emit(data.concat(this.selectedSourceList));\r\n this._addToTarget();\r\n this._removeFromSource();\r\n }\r\n\r\n remove() {\r\n this.onRemove.emit(this.selectedTargetList);\r\n this._addTosSource();\r\n this._removeFromTarget();\r\n }\r\n\r\n addAll() {\r\n this.sourceTeam.selectAll();\r\n this.add();\r\n }\r\n\r\n removeAll() {\r\n this.targetTeam.selectAll();\r\n this.remove();\r\n }\r\n\r\n private _watchMembersChanges(changes: SimpleChanges) {\r\n if (changes?.selectedMembers) {\r\n this._targetSub.next(changes?.selectedMembers?.currentValue);\r\n }\r\n if (!changes?.selectedMembers.firstChange) {\r\n this._initMembersList();\r\n this._resetSelected();\r\n }\r\n }\r\n\r\n private _subscribeToTargetChanges() {\r\n this.target$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n skip(1),\r\n distinctUntilChanged((prev, cur) => {\r\n return JSON.stringify(prev) === JSON.stringify(cur);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.targetChanges.emit(res);\r\n });\r\n }\r\n\r\n private _initMembersList() {\r\n this.distributeService\r\n .getMembersByVisitKey(this.visitInfo.key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data) => {\r\n this._sourceSub.next(data.filter((itm) => this._checkIfNotSelected(itm.id)));\r\n });\r\n }\r\n\r\n private _removeFromSource() {\r\n const selectedItems = this.selectedSourceList.map((it) => it?.id);\r\n const value = this._sourceSub.getValue();\r\n const newData = value.filter((mbr) => !selectedItems.includes(mbr.id));\r\n this._sourceSub.next(newData);\r\n this.selectedSourceList = [];\r\n }\r\n\r\n private _addToTarget() {\r\n const value = this._targetSub.getValue();\r\n this._targetSub.next(value.concat(this.selectedSourceList));\r\n }\r\n\r\n private _removeFromTarget() {\r\n const selectedItems = this.selectedTargetList.map((it) => it?.id);\r\n const value = this._targetSub.getValue();\r\n const newData = value.filter((mbr) => !selectedItems.includes(mbr?.id));\r\n this._targetSub.next(newData);\r\n this.selectedTargetList = [];\r\n }\r\n\r\n private _addTosSource() {\r\n const value = this._sourceSub.getValue();\r\n this._sourceSub.next(value.concat(this.selectedTargetList));\r\n }\r\n\r\n private _checkIfNotSelected(id) {\r\n return this.selectedMembers?.every((itm) => itm.id !== id);\r\n }\r\n\r\n private _resetSelected() {\r\n this.selectedSourceList = [];\r\n this.selectedTargetList = [];\r\n }\r\n}\r\n","import { Directive, Input, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { RolesTypeEnum } from 'src/formio-custom-components/src/lib/shared/model/roles';\r\nimport { IFoData } from '../models/formIo-data';\r\nimport { visitInfo } from '../models/visit';\r\n\r\n@Directive()\r\nexport class BaseComponent implements OnDestroy {\r\n destroy$ = new Subject();\r\n @Input() visitInfo: visitInfo;\r\n @Input() id: string;\r\n @Input() data: IFoData;\r\n @Input() userRole: RolesTypeEnum;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n constructor() {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","
    \r\n\t\r\n\r\n\t
    \r\n\t
    \r\n\t\t\r\n\t
    \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { EditgridResourceWrapperComponent } from './editgrid-resource-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'editgrid-resource', // custom type. Formio will identify the field with this type.\r\n selector: 'editgrid-resource', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'editgrid resource', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerEditgridResourceComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, EditgridResourceWrapperComponent, injector);\r\n}","\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n {{'forms.common.' + labelHint.label | translate}}\r\n \r\n \r\n {{labelHint.label}}\r\n \r\n \r\n
    \r\n\r\n \r\n
    {{filterControl.value}}
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {{ option | evaluationDisplay : customOptions.displayField }}\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n","export * from './custom-select.component';\r\nexport * from './custom-select.module';\r\nexport * from './custom-select.wrapper';\r\nexport * from './models';\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { environment } from '../environments/environment';\r\nimport { NotAllowedComponent } from './shared/components/not-allowed/not-allowed.component';\r\nimport { AuthGuard } from './core/guards/auth.guard';\r\nimport { RoleGuard } from './core/guards/role.guard';\r\nimport { NotFoundComponent } from './shared/components/not-found/not-found.component';\r\nimport { FormioDemoComponent } from './modules/formio-demo/formio-demo.component';\r\nimport { RequestFeedbackComponent } from './shared/components/request-feedback/request-feedback.component';\r\nimport { DynamicQrComponent } from './modules/dynamic-qr/dynamic-qr.component';\r\nimport { PagesComponent } from './modules/pages/pages.component';\r\n\r\nconst routes: Routes = [\r\n\t// {\r\n\t// path: '',\r\n\t// pathMatch: 'full',\r\n\t// loadChildren: () => import('./modules/dashboard/dashboard.module').then(m => m.DashboardModule),\r\n\t// },\r\n\t{ path: '', pathMatch: 'full', redirectTo: 'service-catalog' },\r\n\r\n\t{\r\n\t\tpath: 'feedback/:feedbackId/:requestId',\r\n\t\tcomponent: RequestFeedbackComponent,\r\n\t},\r\n\r\n\t{\r\n\t\tpath: 'service-catalog',\r\n\t\tloadChildren: () =>\r\n\t\t\timport('./modules/services-catalog/services-catalog.module').then(\r\n\t\t\t\t(m) => m.ServicesCatalogModule\r\n\t\t\t),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'requests',\r\n\t\tloadChildren: () => import('./modules/requests/requests.module').then((m) => m.RequestsModule),\r\n\t},\r\n\t{\r\n\t\tpath: 'news',\r\n\t\tloadChildren: () => import('./modules/news/news.module').then((m) => m.NewsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'ads',\r\n\t\tloadChildren: () => import('./modules/ads/ads.module').then((m) => m.AdsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'accounts',\r\n\t\tloadChildren: () => import('./modules/accounts/accounts.module').then((m) => m.AccountsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'notifications',\r\n\t\tloadChildren: () =>\r\n\t\t\timport('./modules/notifications/notifications.module').then((m) => m.NotificationsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'resources',\r\n\t\tloadChildren: () => import('./resource-wrapper.module').then((m) => m.ResourceWrapperModule),\r\n\t},\r\n\t{ path: 'formio/:formKey', component: FormioDemoComponent },\r\n\t{\r\n\t\tpath: 'pages/:formKey', component: PagesComponent\r\n\t},\r\n\t{ path: 'info/:formKey/:dataId', component: DynamicQrComponent },\r\n\t{ path: '404', component: NotFoundComponent },\r\n\t{\r\n\t\tpath: '403',\r\n\t\tcomponent: NotAllowedComponent,\r\n\t\tcanActivate: [AuthGuard],\r\n\t},\r\n\t{ path: '**', redirectTo: '404' },\r\n];\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy', anchorScrolling: 'enabled' })],\r\n\texports: [RouterModule],\r\n\tproviders: [AuthGuard, RoleGuard],\r\n})\r\nexport class AppRoutingModule { }\r\n","
    \r\n \r\n \r\n
    \r\n {{'forms.common.inicatorsNotComplete' | translate}}\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {{'forms.common.inicatorsCompleted' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'formio-skeleton',\r\n template: ``,\r\n\r\n styleUrls: ['./skeleton.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FormIOSkeletonComponent {\r\n @Input() styleClass: string;\r\n\r\n @Input() style: any;\r\n\r\n @Input() shape: string = 'rectangle';\r\n\r\n @Input() animation: string = 'wave';\r\n\r\n @Input() radius: string = null;\r\n\r\n @Input() size: string = null;\r\n\r\n @Input() width: string = '100%';\r\n\r\n @Input() height: string = '1rem';\r\n\r\n containerClass() {\r\n return {\r\n 'skeleton component': true,\r\n 'skeleton-circle': this.shape === 'circle',\r\n 'skeleton-none': this.animation === 'none',\r\n 'skeleton-opacity': this.animation === 'opacity',\r\n };\r\n }\r\n\r\n containerStyle() {\r\n if (this.size)\r\n return {\r\n ...this.style,\r\n width: this.size,\r\n height: this.size,\r\n borderRadius: this.radius,\r\n };\r\n else\r\n return {\r\n ...this.style,\r\n width: this.width,\r\n height: this.height,\r\n borderRadius: this.radius,\r\n };\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, AfterViewInit, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, Subscription } from 'rxjs';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Utils } from 'formiojs';\r\nimport { AddEditEventItem } from './add-edit-event-item/add-edit-event-item.component';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService, ConfirmationDialogComponent } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-event-tree-wrapper',\r\n templateUrl: './event-tree-wrapper.component.html',\r\n // styleUrls: ['./event-tree-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class EventTreeWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n events = [];\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader,\r\n private dialog: MatDialog) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.value?.events?.length) {\r\n this.events = this.value.events;\r\n }\r\n }\r\n }\r\n\r\n\r\n notifyValue() {\r\n this.value = { events: this.events };\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n addEvent() {\r\n this.events.push([]);\r\n this.notifyValue();\r\n }\r\n\r\n deleteEvent(index) {\r\n this.showConfirmation(result => {\r\n if (result) {\r\n this.events.splice(index, 1);\r\n this.notifyValue();\r\n }\r\n });\r\n }\r\n\r\n addEventItem(eventIndex: number, eventItemIndex: number = -1, viewOnly: boolean = false) {\r\n let evaluated = '';\r\n if (this.customOptions.eventItemForm.data) {\r\n evaluated = Utils.evaluate(this.customOptions.eventItemForm.data, { submission: this.data });\r\n }\r\n let submission: any = evaluated || { data: {} };\r\n if (this.events[eventIndex] && eventItemIndex != -1) {\r\n submission.data = {\r\n ...submission.data,\r\n ...this.events[eventIndex][eventItemIndex]\r\n };\r\n }\r\n\r\n this.dialog.open(AddEditEventItem, {\r\n data: {\r\n formKey: this.customOptions.eventItemForm.key,\r\n viewOnly: viewOnly,\r\n submission: submission,\r\n dir: this.dir,\r\n },\r\n height: this.customOptions.eventItemForm.dialogHeight || null,\r\n width: this.customOptions.eventItemForm.dialogWidth || null,\r\n panelClass: 'custom-event-modal-component',\r\n disableClose: false,\r\n }).afterClosed()\r\n .pipe(filter(q => !!q))\r\n .subscribe(result => {\r\n if (eventItemIndex != -1) this.events[eventIndex][eventItemIndex] = result;\r\n else this.events[eventIndex].push(result);\r\n this.notifyValue();\r\n });\r\n }\r\n\r\n deleteEventItem(eventIndex: number, eventItemIndex: number) {\r\n this.showConfirmation((result) => {\r\n if (result) {\r\n this.events[eventIndex].splice(eventItemIndex, 1);\r\n this.notifyValue();\r\n }\r\n });\r\n }\r\n\r\n editEventItem(eventIndex: number, eventItemIndex: number) {\r\n this.addEventItem(eventIndex, eventItemIndex);\r\n }\r\n\r\n viewEventItem(eventIndex: number, eventItemIndex: number) {\r\n this.addEventItem(eventIndex, eventItemIndex, true);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n private showConfirmation(callback: (result: any) => void) {\r\n this.dialog.open(ConfirmationDialogComponent, {\r\n data: {\r\n message: 'Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'Confirm',\r\n cancel: 'Cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n }).afterClosed().subscribe(result => {\r\n callback(result);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\nimport { Category } from '../../../../models/category.model';\r\n\r\n@Component({\r\n selector: 'app-masar-optional-inputs-preview',\r\n templateUrl: './masar-optional-inputs-preview.component.html',\r\n styleUrls: ['./masar-optional-inputs-preview.component.scss']\r\n})\r\nexport class MasarOptionalInputsPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{'forms.common.' + options?.btnConfig?.tooltip | translate}}\r\n \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n \r\n
    \r\n \"App\r\n {{ comment.fullName }}\r\n {{ comment.addingDate | date: 'EEEE, M/d/yy, h:mm a'}}\r\n \r\n \r\n {{comment.status === tabStatusEnum.COMPLETED ? 'check_circle' : 'cancel'}}\r\n \r\n \r\n \r\n {{ accordionItem.expanded ? 'expand_less' : 'expand_more' }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ (translationsKey+comment[col.key]) | translate}}\r\n \r\n \r\n {{ comment[col.key] }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n \"App\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ 'forms.common.No Comments Exsit' | translate }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n error_outline\r\n \r\n \r\n {{ 'forms.common.Something went wrong, please try again later' | translate }}\r\n
    \r\n
    \r\n","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { ClassificationStatus } from \"../../classification-indicators-wrapper/models/classification-indicators.model\";\r\nimport { IndicatorStatus } from \"../models/indicator.model\";\r\n\r\n\r\n@Component({\r\n\tselector: 'app-indicator-status',\r\n\ttemplateUrl: './indicator-status.component.html',\r\n\t// styleUrls: ['./indicator-status.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class StatusComponent {\r\n\t@Input() status: IndicatorStatus | ClassificationStatus;\r\n\tindicatorStatus = IndicatorStatus;\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {\r\n\tFormioCustomComponent,\r\n\tResourceNameService,\r\n\tFormioLoader,\r\n} from 'dp-formio';\r\nimport { debounceTime, finalize, forkJoin, Subscription } from 'rxjs';\r\nimport { Utils } from 'formiojs';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'app-resource-dropdown-wrapper',\r\n\ttemplateUrl: './resource-dropdown-wrapper.component.html',\r\n\t// styleUrls: ['./resource-dropdown-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\t// providers: [FormioLoader]\r\n})\r\nexport class ResourceDropdownWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tresources: any[] = [];\r\n\tdisplayValue = '';\r\n\tisOpened = false;\r\n\tcurrentResourceLoading = null;\r\n\trandomId = new Date().getTime();\r\n\r\n\tfilterControl = new FormControl();\r\n\tfilter = '';\r\n\tget isSelectedResourceDisabledValueTranslation() {\r\n\t\treturn this.customOptions?.resources?.find((q) => q.key == this.value?.resourceKey)\r\n\t\t\t?.disabledValueTranslation;\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate formioLoader: FormioLoader\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t\tthis.registerCloseDroprown();\r\n\r\n\t\tthis.sub = this.filterControl.valueChanges.pipe(debounceTime(350)).subscribe((value) => {\r\n\t\t\tthis.filter = value;\r\n\t\t\tthis.loadData();\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions) {\r\n\t\t\tif (this.customOptions.resources) {\r\n\t\t\t\tthis.resources = [];\r\n\t\t\t\tthis.customOptions.resources.forEach((res) => {\r\n\t\t\t\t\tconst resource = { ...res };\r\n\t\t\t\t\tresource.key = this.formioComponent.interpolate(res.key, { data: this.data });\r\n\t\t\t\t\tresource.query = this.formioComponent.interpolate(res.query || '', { data: this.data });\r\n\t\t\t\t\t// resource.query = '';\r\n\r\n\t\t\t\t\tthis.resources.push(resource);\r\n\t\t\t\t});\r\n\t\t\t\tthis.loadData();\r\n\t\t\t\tif (this.value?.selectedItem) this.loadSelected();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonScrollDown(event: any, resourceIndex: number) {\r\n\t\tthis.checkToLoadPage(resourceIndex);\r\n\t}\r\n\r\n\tselectItem(resourceKey: string, item: any) {\r\n\t\tthis.notifyValue(resourceKey, item);\r\n\r\n\t\tconst displayValue = this.customOptions.resources?.find(\r\n\t\t\t(q) => q.key == resourceKey\r\n\t\t)?.displayValue;\r\n\t\tthis.displayValue = displayValue ? item.data[displayValue] : item.data.value;\r\n\t\tthis.isOpened = false;\r\n\t}\r\n\r\n\tclearValue() {\r\n\t\tthis.notifyValue();\r\n\t\tthis.displayValue = null;\r\n\t\tthis.isOpened = false;\r\n\t}\r\n\r\n\tnotifyValue(resourceKey: string = null, item: any = null) {\r\n\t\tif (!resourceKey) {\r\n\t\t\tthis.value = null;\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t} else {\r\n\t\t\tthis.value = {\r\n\t\t\t\tresourceKey,\r\n\t\t\t\tselectedItem: this.customOptions.selectedValueType == 'object' ? item : item._id,\r\n\t\t\t};\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t}\r\n\t\tthis.afterChangeValue();\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\tconst pages = subForm.getFastPages({\r\n\t\t\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst components = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate loadData() {\r\n\t\t// this.formioLoader.loading = true;\r\n\t\tthis.sub = forkJoin(\r\n\t\t\tthis.resources.map((res) =>\r\n\t\t\t\tthis.resourceNameService.loadPage(\r\n\t\t\t\t\tres.key,\r\n\t\t\t\t\t(res.query || '') + this.resourceQueryFilter(res)\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t)\r\n\t\t\t// .pipe(finalize(() => this.formioLoader.loading = false))\r\n\t\t\t.subscribe((results) => {\r\n\t\t\t\tthis.resources.forEach((res, i) => {\r\n\t\t\t\t\tres.data = results[i].data;\r\n\t\t\t\t\tres.totalRecords = results[i].totalRecords;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate checkToLoadPage(resourceIndex: number) {\r\n\t\tif (this.resources[resourceIndex].totalRecords > this.resources[resourceIndex].data?.length) {\r\n\t\t\tthis.currentResourceLoading = resourceIndex;\r\n\t\t\tconst query =\r\n\t\t\t\t(this.resources[resourceIndex].query || '') +\r\n\t\t\t\t`limit=10&skip=${this.resources[resourceIndex].data?.length}` +\r\n\t\t\t\tthis.resourceQueryFilter(this.resources[resourceIndex]);\r\n\t\t\tthis.sub = this.resourceNameService\r\n\t\t\t\t.loadCustomByFilterdKey(this.resources[resourceIndex].key, query)\r\n\t\t\t\t.pipe(finalize(() => (this.currentResourceLoading = null)))\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis.resources[resourceIndex].data.push(...data);\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadSelected() {\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByKeyId(\r\n\t\t\t\tthis.value.resourceKey,\r\n\t\t\t\tthis.value.selectedItem._id || this.value.selectedItem\r\n\t\t\t)\r\n\t\t\t.subscribe((result) => {\r\n\t\t\t\tconst displayValue = this.customOptions.resources?.find(\r\n\t\t\t\t\t(q) => q.key == this.value.resourceKey\r\n\t\t\t\t)?.displayValue;\r\n\t\t\t\tthis.displayValue = displayValue ? result.data[displayValue] : result.data.value;\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tprivate registerCloseDroprown() {\r\n\t\tconst instance = this;\r\n\t\t$(document).off('click');\r\n\t\t$(document).on('click', (event) => {\r\n\t\t\tvar $trigger = $(`#resources-list-container-${this.randomId}`);\r\n\t\t\tif ($trigger !== event.target && !$trigger.has(event.target).length) {\r\n\t\t\t\tinstance.isOpened = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate resourceQueryFilter(resource: any) {\r\n\t\tif (!this.filter) return ``;\r\n\t\telse if (resource?.filterkey) return `&data.${resource.filterkey}__regex=${this.filter}`;\r\n\t\telse\r\n\t\t\treturn `&data.${this.translateService.currentLang == 'en' ? 'label' : 'arabicLabel'}__regex=${\r\n\t\t\t\tthis.filter\r\n\t\t\t}`;\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport * as moment from 'moment';\r\nimport {\r\n\tBehaviorSubject,\r\n\tSubject,\r\n\tdistinctUntilChanged,\r\n\tfinalize,\r\n\tmap,\r\n\tof,\r\n\ttakeUntil,\r\n\twithLatestFrom\r\n} from 'rxjs';\r\nimport { FormioCustomComponent, FormioEvent, FormioLoader, ResourceNameService } from 'dp-formio';\r\nimport { ComponentMode, VisitScheduleOptions } from './models/options';\r\n@Component({\r\n\tselector: 'app-visit-schedule',\r\n\ttemplateUrl: './visit-schedule.component.html',\r\n\tstyleUrls: ['./visit-schedule.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class VisitScheduleComponent\r\n\timplements FormioCustomComponent, OnInit, OnChanges, OnDestroy {\r\n\t@Input() data: any;\r\n\t@Input() customOptions: Partial;\r\n\t@Input() formioComponent: any;\r\n\t@Input() required: boolean;\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() value: {\r\n\t\tevents?: any[];\r\n\t} = {};\r\n\r\n\t@Output() valueChange = new EventEmitter();\r\n\r\n\tformioEvent?: EventEmitter;\r\n\r\n\tdestroy$ = new Subject();\r\n\r\n\tprivate _defaultEvents = {};\r\n\tprivate _events = [];\r\n\tprivate _store = new Map();\r\n\tprivate _eventsSub = new BehaviorSubject(this.value);\r\n\tprivate _visitName = '';\r\n\tprivate _scheduleNameSub = new Subject();\r\n\r\n\tevents$ = this._eventsSub.asObservable();\r\n\tscheduleName$ = this._scheduleNameSub.asObservable().pipe(distinctUntilChanged());\r\n\tisLoadingResults = false;\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate resourceNameService: ResourceNameService\r\n\t) { }\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes?.data?.currentValue) {\r\n\t\t\tthis._visitName = changes.data.currentValue?.visitScheduleName?.data?.value;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tchanges?.customOptions?.currentValue?.mode === ComponentMode.CREATE &&\r\n\t\t\tchanges?.data?.currentValue &&\r\n\t\t\t!this.value\r\n\t\t) {\r\n\t\t\tthis._prepareData();\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.value &&\r\n\t\t\tchanges?.customOptions?.currentValue?.mode === ComponentMode.CREATE &&\r\n\t\t\tchanges?.data?.currentValue\r\n\t\t) {\r\n\t\t\tthis._mergeValuesWithDefaults();\r\n\t\t}\r\n\t\tif (\r\n\t\t\tchanges?.data?.currentValue &&\r\n\t\t\tchanges?.customOptions?.currentValue?.mode === ComponentMode.EDIT\r\n\t\t) {\r\n\t\t\tthis._updateValues();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._listenerToScheduleName();\r\n\t\tthis.scheduleName$.pipe(takeUntil(this.destroy$)).subscribe((name: string) => {\r\n\t\t\tthis._visitName = name;\r\n\t\t\tif (this.customOptions.mode === ComponentMode.CREATE) {\r\n\t\t\t\tif (!this.value) {\r\n\t\t\t\t\tthis._prepareData();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this._store.has(name)) {\r\n\t\t\t\t\t\tthis._updateEventsAndEmitValue(this._store.get(name));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._mergeValuesWithDefaults();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.customOptions.mode === ComponentMode.EDIT) {\r\n\t\t\t\tif (this._store.has(name)) {\r\n\t\t\t\t\tthis._updateEventsAndEmitValue(this._store.get(name));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._prepareEditData();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tprivate _prepareEditData() {\r\n\t\tconst data = this._generateDefaultEvents() ?? {};\r\n\t\tconst obj = { events: Object.values(data) };\r\n\t\tthis._updateValues(obj);\r\n\t\tthis.notifyValue(obj);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tcalendarValueChanged(event) {\r\n\t\tthis._store.set(this._visitName, event);\r\n\t\tthis._events = event?.events;\r\n\t\tthis._updateEventsAndEmitValue(event);\r\n\t}\r\n\r\n\tnotifyValue(value: any) {\r\n\t\tthis.value = _cloneDeep(value);\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tprivate _updateValues(value = this.value) {\r\n\t\tif (value) {\r\n\t\t\tthis._events = value?.events;\r\n\t\t\tthis._eventsSub.next({ events: this._events });\r\n\t\t\tif (!this._store.has(this._visitName)) {\r\n\t\t\t\tthis._store.set(this._visitName, { events: this._events });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _updateEventsAndEmitValue(event) {\r\n\t\tthis._eventsSub.next(event);\r\n\t\tthis.notifyValue(event);\r\n\t}\r\n\r\n\tprivate _listenerToScheduleName() {\r\n\t\tconst listenerName = this.customOptions?.listener ?? 'visitScheduleName.changed';\r\n\t\tthis.formioComponent?.events?.on(listenerName, (data) => this._scheduleNameSub.next(data));\r\n\t}\r\n\r\n\tprivate _mergeValuesWithDefaults() {\r\n\t\tif (this.data?.visitScheduleName) {\r\n\t\t\tthis.isLoadingResults = true;\r\n\t\t\tof(this._generateDefaultEvents())\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\t\tmap((res) => {\r\n\t\t\t\t\t\tconst value = this.value?.events.filter(\r\n\t\t\t\t\t\t\t(itm) => itm.data.data.defaultVisit == this._visitName\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tconst valueObj = this._convertToObjById(value);\r\n\t\t\t\t\t\tconst result = Object.values({\r\n\t\t\t\t\t\t\t...res,\r\n\t\t\t\t\t\t\t...valueObj,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tthis.isLoadingResults = false;\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis._events = data;\r\n\t\t\t\t\tthis._eventsSub.next({ events: this._events });\r\n\t\t\t\t\tif (!this._store.has(this._visitName)) {\r\n\t\t\t\t\t\tthis._store.set(this._visitName, { events: this._events });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.notifyValue({ events: this._events });\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _convertToObjById(data: any[]): any {\r\n\t\treturn data.reduce((acc, itm) => {\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[itm['id']]: itm,\r\n\t\t\t};\r\n\t\t}, {});\r\n\t}\r\n\r\n\tprivate _prepareData() {\r\n\t\tif (this.data?.visitScheduleName) {\r\n\t\t\tthis.isLoadingResults = true;\r\n\t\t\tthis._getDataFromResource()\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\t\tmap((events: any[]) => this._convertToResourceObj(events.map((event) => event?.data))),\r\n\t\t\t\t\twithLatestFrom(of(this._generateDefaultEvents())),\r\n\t\t\t\t\tmap(([resData, defData]) =>\r\n\t\t\t\t\t\tObject.values({\r\n\t\t\t\t\t\t\t...defData,\r\n\t\t\t\t\t\t\t...resData,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t),\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tthis.isLoadingResults = false;\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis._events = data;\r\n\t\t\t\t\tthis._eventsSub.next({ events: this._events });\r\n\t\t\t\t\tthis.notifyValue({ events: this._events });\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _convertToResourceObj(source: any[]) {\r\n\t\treturn source.reduce((acc, item) => {\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[item['sessionId']]: {\r\n\t\t\t\t\tid: item?.sessionId,\r\n\t\t\t\t\tstart: item?.start,\r\n\t\t\t\t\tend: item?.end,\r\n\t\t\t\t\ttitle: item?.title,\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\tSubmit: item?.Submit,\r\n\t\t\t\t\t\tdata: item,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}, {});\r\n\t}\r\n\r\n\tprivate _getDataFromResource() {\r\n\t\tconst resource = this.customOptions.resource;\r\n\t\tconst key = resource.key ?? 'visitsession';\r\n\t\tlet query = `data.visitKey=${this.data?.requestDetails?.data.projectKey}&data.defaultVisit=${this.data?.visitScheduleName?.data?.value}`;\r\n\t\tif (resource?.query) {\r\n\t\t\tquery = Utils.evaluate(resource?.query, { data: this.data });\r\n\t\t}\r\n\t\treturn this.resourceNameService.loadCustomByFilterdKey(key, query);\r\n\t}\r\n\r\n\tprivate _generateDefaultEvents(events = this._defaultEvents) {\r\n\t\tlet { visitEndDate, visitStartDate, visitStyle, varRequestId } =\r\n\t\t\tthis.data?.requestDetails?.data;\r\n\r\n\t\tconst defaultVisits = this.data?.visitScheduleName?.data?.sessions?.events;\r\n\r\n\t\tconst defaultVisit = this.data?.visitScheduleName?.data?.value;\r\n\r\n\t\tvar visitDays = moment(visitEndDate).diff(moment(visitStartDate), 'days');\r\n\r\n\t\tif (defaultVisits?.length && visitStartDate && visitEndDate) {\r\n\t\t\tdefaultVisits.forEach((day, index) => {\r\n\t\t\t\tif (index <= visitDays && day?.length) {\r\n\t\t\t\t\tconst startDay = moment(visitStartDate).add(index, 'day').format('DD-MM-YYYY').toString();\r\n\r\n\t\t\t\t\tif (day?.length) {\r\n\t\t\t\t\t\tday.forEach((session, idx) => {\r\n\t\t\t\t\t\t\tconst start = moment(startDay, 'DD-MM-YYYY').add(session?.from).format().toString();\r\n\t\t\t\t\t\t\tconst end = moment(startDay, 'DD-MM-YYYY').add(session?.to).format().toString();\r\n\r\n\t\t\t\t\t\t\tconst _id = this._generateDefaultsId(\r\n\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\tidx,\r\n\t\t\t\t\t\t\t\tUtils.guid(),\r\n\t\t\t\t\t\t\t\tsession?.sessionType,\r\n\t\t\t\t\t\t\t\tvarRequestId,\r\n\t\t\t\t\t\t\t\tdefaultVisit\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\tevents[_id] = {\r\n\t\t\t\t\t\t\t\tid: _id,\r\n\t\t\t\t\t\t\t\tstart: start,\r\n\t\t\t\t\t\t\t\tend: end,\r\n\t\t\t\t\t\t\t\ttitle: session?.sessionType,\r\n\t\t\t\t\t\t\t\tcolor:\r\n\t\t\t\t\t\t\t\t\tthis.customOptions?.colors?.invalid ??\r\n\t\t\t\t\t\t\t\t\t'var(--invalid-color, red)',\r\n\t\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\t\tSubmit: false,\r\n\t\t\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\t\t\t...session,\r\n\t\t\t\t\t\t\t\t\t\tdefaultVisit: defaultVisit ?? '',\r\n\t\t\t\t\t\t\t\t\t\tsessionId: _id,\r\n\t\t\t\t\t\t\t\t\t\tSubmit: false,\r\n\t\t\t\t\t\t\t\t\t\tsessionType: session?.sessionType ?? visitStyle,\r\n\t\t\t\t\t\t\t\t\t\tstart: start,\r\n\t\t\t\t\t\t\t\t\t\tend: end,\r\n\t\t\t\t\t\t\t\t\t\tdateRange: this._getVisitRange(\r\n\t\t\t\t\t\t\t\t\t\t\tvisitStartDate,\r\n\t\t\t\t\t\t\t\t\t\t\tvisitEndDate\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn events;\r\n\t}\r\n\r\n\tprivate _generateDefaultsId(\r\n\t\tday: number,\r\n\t\tsessionIndex: number,\r\n\t\tsessionNumber: number,\r\n\t\tsessionType: any,\r\n\t\tvarRequestId: string,\r\n\t\tdefaultVisit: string\r\n\t) {\r\n\t\treturn `${day}_${sessionIndex}_${sessionNumber}_${defaultVisit}_${varRequestId}_${sessionType}`;\r\n\t}\r\n\r\n\tprivate _getVisitRange(start, end) {\r\n\t\treturn moment(start).format('DD/MM/YYYY') + ' - ' + moment(end).format('DD/MM/YYYY');\r\n\t}\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    {{data.indicator.description}}

    \r\n
    \r\n {{data.indicator.error}}\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    {{domain.code }}\r\n \r\n {{domain.name}}\r\n \r\n {{'forms.common.completionRate' | translate}} ( %)\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{domain.description}}

    \r\n
    {{domain.error}}
    \r\n
    \r\n {{'forms.common.Please check and save all items of the second and third levels' | translate}}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n {{'forms.common.You must add at least one item' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{'forms.common.Not saved' | translate}}\r\n
    \r\n
    \r\n \r\n {{'forms.common.Error' | translate}}\r\n
    \r\n
    \r\n \r\n {{'forms.common.Has comment' | translate}}\r\n
    \r\n
    \r\n
    ","\r\n\r\n
    \r\n\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{{ displayValue | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ displayValue }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'forms.common.' + displayValue | translate }}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t - \r\n\t
    \r\n\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ displayValue | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ displayValue | translate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ 'forms.common.' + displayValue | translate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ 'forms.common.' + item.data[res.displayField?.key] | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ item.data[res.displayField?.key] }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ 'forms.common.' + item.data.value | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import {\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { CRITERION_TYPE } from '../../const';\r\nimport { CriterionAddMembersModel, ICriterion } from '../../models/criterion';\r\nimport { CriterionAddVisitMember, IMember } from '../../models/member';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n@Component({\r\n selector: 'app-criterions-tab',\r\n templateUrl: './criterions-tab.component.html',\r\n styleUrls: ['./criterions-tab.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CriterionsTabComponent extends BaseComponent implements OnInit {\r\n selectedCriterion: ICriterion;\r\n criterions: ICriterion[] = [];\r\n @Output() isValid = new EventEmitter();\r\n constructor(private distributeService: DistributeService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._initTree();\r\n }\r\n\r\n private _initTree() {\r\n this.distributeService\r\n .getCriterionByVisitKey(this.visitInfo.key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.criterions = res;\r\n this.isValid.emit(res.length ? this._checkIfCriterionsIsValid(res) : false);\r\n });\r\n }\r\n\r\n changeCriterions(event: ICriterion) {\r\n this.selectedCriterion = event;\r\n }\r\n\r\n onAdd(items: IMember[]) {\r\n const data = this._prepareDataToServe(items);\r\n this.distributeService\r\n .addCriterionMembers(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this._initTree();\r\n });\r\n }\r\n\r\n onRemove(items: IMember[]) {\r\n const data = this._prepareDataToServe(items);\r\n this.distributeService\r\n .deleteCriterionMembers(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this._initTree();\r\n });\r\n }\r\n\r\n private _checkIfCriterionsIsValid(data = this.criterions, parent: ICriterion = null) {\r\n return data?.every((d) => {\r\n if (d.criterionType == CRITERION_TYPE) {\r\n return !!parent?.visitMembers.length;\r\n }\r\n if (!d?.subCriteria || d.subCriteria?.length === 0) {\r\n return !!d.visitMembers.length;\r\n }\r\n return this._checkIfCriterionsIsValid(d.subCriteria , d) && !!d.visitMembers.length;\r\n });\r\n }\r\n\r\n private _prepareDataToServe(items: IMember[]): CriterionAddMembersModel {\r\n return {\r\n ...this.selectedCriterion,\r\n visitMembers: items.map((data) => this._mapMemberToModel(data)),\r\n };\r\n }\r\n private _mapMemberToModel(member: IMember): CriterionAddVisitMember {\r\n return {\r\n generatedId: this.data.generatedId,\r\n id: member.id,\r\n requestId: this.visitInfo.requestId,\r\n reviewerId: member.reviewer.id,\r\n role: member.role,\r\n visitId: this.visitInfo.id,\r\n visitKey: this.visitInfo.key,\r\n };\r\n }\r\n}\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { BaseComponent } from 'src/app/shared/components/base.component';\r\nimport { ResourceNameService, UserService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.scss'],\r\n})\r\n\r\nexport class PagesComponent extends BaseComponent implements OnInit {\r\n formKey: string;\r\n submission: any = {};\r\n extraOptions: any;\r\n\r\n formReady = false;\r\n\r\n constructor(public injector: Injector,\r\n private resourceNameService: ResourceNameService,\r\n private userService: UserService) { super(injector); }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params=>{\r\n this.formReady = false;\r\n this.loadModelsManagementResource();\r\n });\r\n }\r\n\r\n private loadModelsManagementResource() {\r\n this.sub = this.resourceNameService.modelsManagementResource.subscribe(\r\n (data) => {\r\n if (!data) this.getModelsManagement();\r\n else this.checkResource(data);\r\n }\r\n );\r\n }\r\n\r\n private getModelsManagement() {\r\n this.sub = this.resourceNameService\r\n .getManageMenuData()\r\n .subscribe((data) => {\r\n this.checkResource(data);\r\n });\r\n }\r\n\r\n private async checkResource(gridMenu: any[]) {\r\n if (gridMenu && gridMenu.length) {\r\n const item = gridMenu[0].data.menus\r\n .filter(item => !item.appearance?.length || item.appearance.includes('frontOffice'))\r\n .find(item => item.isActive &&\r\n (\r\n (item.type == 'page' && location.pathname.includes(item.route)) ||\r\n (item.type == 'resource' && location.pathname.includes(item.menu.path))\r\n )\r\n );\r\n if (!item) {\r\n this.router.navigate(['/404']);\r\n }\r\n //check permission\r\n const menuItem = this.resourceNameService.generateMenuItem(item, '');\r\n const _userInRoles = this.sessionService.isUserInRole(menuItem.permissions, null, false);\r\n if (_userInRoles || !menuItem.permissions.length) {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n const data = await this.userService.getUserData(isLoggedIn ? await this.keycloakService.getToken() : null);\r\n const params = this.route.snapshot.params;\r\n this.extraOptions = this.route.snapshot.queryParams;\r\n\r\n this.formKey = params.formKey;\r\n this.submission.data = { ...data, ...this.extraOptions };\r\n this.formReady = true;\r\n } else {\r\n this.router.navigate(['/403']);\r\n }\r\n } else {\r\n this.router.navigate(['/404']);\r\n }\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.' + question.key | translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    ","import {\r\n ChangeDetectorRef,\r\n Component, ElementRef,\r\n EventEmitter,\r\n Input, OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { DocumentEditorSidebarComponent } from './document-editor-sidebar/document-editor-sidebar.component';\r\nimport { TemplateObject } from './models/template-object';\r\nimport { TemplateObjectsService } from './services/template-objects.service';\r\n\r\n@Component({\r\n selector: 'lib-template-process',\r\n templateUrl: './template-process.component.html',\r\n styleUrls: ['./template-process.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class TemplateProcessComponent implements OnInit, OnDestroy {\r\n saving: boolean;\r\n loading: boolean;\r\n isPreviewMode: boolean;\r\n @Input()\r\n showActions = true;\r\n @ViewChild('editorSidebar')\r\n editorSidebar: DocumentEditorSidebarComponent;\r\n\r\n hideSideMenu = true;\r\n @Input()\r\n template: TemplateObject;\r\n @Input()\r\n allowSaveAsPdf: boolean;\r\n @Input()\r\n allowSaveAsDocx: boolean;\r\n @Output()\r\n processClose: EventEmitter = new EventEmitter();\r\n @Output()\r\n saveTemplate: EventEmitter = new EventEmitter();\r\n @Output()\r\n saveAsPDF: EventEmitter = new EventEmitter();\r\n @Output()\r\n saveMerged: EventEmitter = new EventEmitter();\r\n @Input()\r\n fieldsDataObject: Map;\r\n @Input()\r\n groupsDataObject: Map;\r\n @Input()\r\n entityType = 'STD';\r\n @Input()\r\n entityId = '1026';\r\n @Input()\r\n backendProcessType: 'PROCESS_USING_PROVIDED_DATA' | 'PROCESS_USING_ENTITY';\r\n @Input()\r\n templateProcessorBaseUrl: string = this.documentTemplatesService.PROCESS_HOST_URL + '/api/documenteditor/';\r\n wopiUrl: string;\r\n accessToken: string;\r\n @ViewChild('form') form: ElementRef;\r\n @Input()\r\n allowSaveAsBase64: boolean;\r\n\r\n\r\n constructor(private documentTemplatesService: TemplateObjectsService, private cdref: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.fieldsDataObject) {\r\n this.fieldsDataObject = new Map();\r\n }\r\n if (!this.groupsDataObject) {\r\n this.groupsDataObject = new Map();\r\n }\r\n this.documentTemplatesService.getCollaburaURL().subscribe(data => {\r\n const wopiClientUrl = data.url;\r\n const wopiSrc = `${this.documentTemplatesService.PROCESS_HOST_URL}/wopi/files/${this.template.requestType}/${this.template.requestId}/template/${this.template.uid}`;\r\n this.wopiUrl = wopiClientUrl + 'WOPISrc=' + wopiSrc;\r\n this.accessToken = localStorage.getItem('_token');\r\n // this.accessToken = data.token;\r\n this.cdref.detectChanges();\r\n setTimeout(() => {\r\n this.submitForm();\r\n }, 100);\r\n }, error => {\r\n console.error(error);\r\n });\r\n\r\n }\r\n submitForm(): void {\r\n this.form.nativeElement.submit();\r\n }\r\n private loadTemplateData(): void {\r\n\r\n }\r\n\r\n private saveToTextFile(textData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = 'data:attachment/text,' + encodeURI(textData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = this.template.name + '-base64.txt' || 'sample-base64.txt';\r\n a.click();\r\n // URL.revokeObjectURL(objectUrl);\r\n a.remove();\r\n }\r\n private saveBlobPDF(blobData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = URL.createObjectURL(blobData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = this.template.name + '.pdf' || 'sample.pdf';\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n private saveBlobODT(blobData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = URL.createObjectURL(blobData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = this.template.name + '.odt' || 'sample.odt';\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n\r\n toggleSideMenu(): void {\r\n this.hideSideMenu = !this.hideSideMenu;\r\n this.cdref.detectChanges();\r\n }\r\n\r\n performAction(actionName: 'PREVIEW_AS_PDF' | 'SAVE_AS_PDF' | 'SAVE_AS_DOCX' |\r\n 'SAVE_AS_BASE64' | 'PREVIEW_AS_BASE64' | 'PREVIEW_AS_DOCX'): void {\r\n\r\n // if (actionName === 'PREVIEW_AS_PDF') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndRenderTemplate({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobPDF(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'PREVIEW_AS_DOCX') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndGetTemplate({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobODT(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'SAVE_AS_DOCX') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.getTemplate(\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobODT(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'SAVE_AS_PDF') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.renderTemplateToPdf(\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobPDF(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'SAVE_AS_BASE64') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.getBase64(\r\n // this.template.uid).subscribe(textData => {\r\n // this.saveToTextFile(textData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'PREVIEW_AS_BASE64') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndGetBase64({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(textData => {\r\n // this.saveToTextFile(textData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // }\r\n }\r\n saveAsPdf() {\r\n this.loading = true;\r\n this.documentTemplatesService.mergeAndRenderToPDFBase64({\r\n documentData: this.template.uid,\r\n backendProcessType: this.backendProcessType,\r\n fieldsDataMap: this.fieldsDataObject,\r\n groupsDataMap: this.groupsDataObject\r\n }, this.template.requestType, this.template.requestId).subscribe(textData => {\r\n this.saveMerged.emit(textData);\r\n this.emitClose();\r\n }, error => {\r\n console.error(error);\r\n this.loading = false;\r\n this.emitClose();\r\n });\r\n }\r\n close(): void {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndGetBase64({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(textData => {\r\n // this.saveMerged.emit(textData);\r\n // this.documentTemplatesService.getBase64(\r\n // this.template.uid).subscribe(textData2 => {\r\n // this.saveTemplate.emit(textData2);\r\n // this.loading = false;\r\n // this.emitClose();\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // this.emitClose();\r\n // });\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // this.emitClose();\r\n // });\r\n this.emitClose();\r\n }\r\n private emitClose(): void {\r\n this.ngOnDestroy();\r\n this.processClose.emit(true);\r\n }\r\n ngOnDestroy(): void {\r\n\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    {{question.displayOrder}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{question.name}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    ","
    \r\n
    \r\n \r\n
    \r\n\r\n {{ 'forms.common.Criteria.membersEntries' | translate }} \r\n\r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.searchKeyword\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Criteria.Member\" | translate }}\r\n \r\n \r\n {{ option.reviewer | propertyLocalized | async }}\r\n \r\n \r\n \r\n\r\n \r\n {{ (isMasar ? \"forms.common.Criteria.MasarCriteria\" : \"forms.common.Criteria.Criteria\") | translate }}\r\n \r\n \r\n {{option.criterionKey}}\r\n {{ option | propertyLocalized : ['criterionArabicName','criterionEnglishName'] | async}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row[filter] }}
    \r\n
    \r\n {{ (isMasar ? \"forms.common.Criteria.MasarCriteria\" : \"forms.common.Criteria.Criteria\") | translate }}\r\n \r\n {{row.criterionKey}}\r\n \r\n {{ \"forms.common.Criteria.Member\" | translate }}\r\n \r\n
    {{ row | propertyLocalized : [\"memberArabicName\", \"memberEnglishName\"] | async}}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n","
    \r\n\t\r\n\t\t

    {{ dialogData.message | translate }}

    \r\n\t
    \r\n\t
    \r\n\t\t\r\n\t\t\r\n\t
    \r\n
    ","import { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { TooltipDialog } from '../../assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { ClassificationDomain, ClassificationIndicator, ClassificationQuestion, CompletionRate } from '../models/classification-indicators.model';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-classification-indicator-question',\r\n templateUrl: './classification-indicator-question.component.html',\r\n // styleUrls: ['./classification-indicator-question.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ClassificationIndicatorQuestionComponent implements OnInit, OnDestroy {\r\n @Input() dir;\r\n @Input() data;\r\n @Input() orginalQuestion: ClassificationQuestion;\r\n @Input() domain: ClassificationDomain;\r\n @Input() indicator: ClassificationIndicator;\r\n @Input() attachmentsFormKey: string;\r\n @Input() viewOnly: boolean;\r\n @Output() loading = new EventEmitter();\r\n @Output() dataChanged = new EventEmitter<{\r\n questionScore: number,\r\n domainScore: number,\r\n indicatorScore: number,\r\n question: ClassificationQuestion,\r\n domainCompletionRate: number,\r\n indicatorCompletionRate: number\r\n }>();\r\n @Output() onHistoryUpdated = new EventEmitter();\r\n @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger;\r\n question: ClassificationQuestion;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n showForm = true;\r\n formReady = true;\r\n isCommentsOpen = false;\r\n\r\n constructor(private dialog: MatDialog,\r\n private toastrService: ToastrService,\r\n private resourceNameService: ResourceNameService,\r\n private translateService: TranslateService) {\r\n\r\n }\r\n ngOnInit(): void {\r\n this.question = _cloneDeep(this.orginalQuestion);\r\n this.orginalQuestion.instanceForEdit = this.question;\r\n }\r\n ngOnDestroy(): void {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n this.orginalQuestion.instanceForEdit = null;\r\n }\r\n closeMenu() {\r\n this.menuTrigger.closeMenu();\r\n }\r\n historyUpdated() {\r\n const tempDomain = new ClassificationDomain();\r\n tempDomain._id = this.domain._id;\r\n this.question.domainObject = tempDomain;\r\n this.question.domainObject.indicatorObject = {\r\n _id: this.indicator._id,\r\n history: this.indicator.history\r\n };\r\n this.onHistoryUpdated.emit();\r\n }\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n checkValue(event) {\r\n //Todo : must change this to reactive \r\n if (this.question.score <= 0 || this.question.score <= this.question.min || this.question.score == null) this.question.score = this.question.min || 0;\r\n else if (this.question.max && this.question.max < this.question.score) this.question.score = this.question.max;\r\n if (this.question.type == 'int' && !new RegExp(/^\\d+$/).test(this.question.score + '')) this.question.score = 0;\r\n\r\n event.target.value = this.question.score;\r\n }\r\n checkYearInput(event, year) {\r\n //Todo : must change this to reactive \r\n if (!event.target.value || event.target.value < 0) {\r\n event.target.value = 0;\r\n year.value = '0';\r\n } else year.value = event.target.value.toString();\r\n }\r\n\r\n changeApply() {\r\n if (this.question.notApply) this.question.resetResult();\r\n this.showForm = false;\r\n this.formReady = false;\r\n setTimeout(() => this.formReady = true);\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.classification-indicator-question [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n this.showForm = true;\r\n }, 250);\r\n }\r\n save() {\r\n const completionRate = this.calcCompletionRate(this.question._id);\r\n const questionId = this.question._id;\r\n const question = this.prepareQuestion(_cloneDeep(this.question));\r\n\r\n const domainId = this.domain._id;\r\n let domain = _cloneDeep(this.domain) as ClassificationDomain;\r\n const questionIndex = domain.questions.findIndex(q => q._id == questionId);\r\n domain.questions[questionIndex] = question;\r\n domain = this.prepareDomain(_cloneDeep(domain));\r\n\r\n const indicatorId = this.data.indicator._id;\r\n let indicator = _cloneDeep(this.data.indicator) as ClassificationIndicator;\r\n const domainIndex = indicator.domains.findIndex(d => d._id == domainId);\r\n indicator.domains[domainIndex] = domain;\r\n indicator = this.prepareIndicator(_cloneDeep(indicator));\r\n\r\n const calls = this.prepareCalls(completionRate, questionId, question, domainId, domain, indicatorId, indicator);\r\n\r\n this.loading.emit(true);\r\n this.sub = forkJoin(calls)\r\n .subscribe(data => {\r\n this.question.isSaved = true;\r\n this.question.orginal = _cloneDeep(this.question);\r\n\r\n this.dataChanged.emit({\r\n questionScore: question.score,\r\n domainScore: domain.score,\r\n indicatorScore: indicator.score,\r\n question: this.question,\r\n domainCompletionRate: completionRate.domainCompletionRate,\r\n indicatorCompletionRate: completionRate.indicatorCompletionRate\r\n });\r\n this.loading.emit(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.loading.emit(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n private prepareCalls(completionRate: CompletionRate, questionId, question, domainId, domain, indicatorId, indicator) {\r\n const calls = [];\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.questionResource,\r\n questionId, [\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/notApply\",\r\n \"value\": question.notApply\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/isSaved\",\r\n \"value\": true\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/notes\",\r\n \"value\": question.notes || ''\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/score\",\r\n \"value\": question.score || null\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/attachmentsFiles\",\r\n \"value\": question.attachmentsFiles\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/years\",\r\n \"value\": question.years\r\n }\r\n ]));\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.domainResource,\r\n domainId,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/score\",\r\n \"value\": domain.score || 0\r\n }, {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/completionRate\",\r\n \"value\": completionRate.domainCompletionRate || 0\r\n }\r\n ]));\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n indicatorId,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/score\",\r\n \"value\": indicator.score || 0\r\n }, {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/completionRate\",\r\n \"value\": completionRate.indicatorCompletionRate || 0\r\n }\r\n ]));\r\n\r\n return calls;\r\n }\r\n\r\n private calcCompletionRate(questionId: string): CompletionRate {\r\n //always exclude the current question then add 1 to avoid duplicate\r\n let savedQuestion = this.domain.questions.filter(q => q.isSaved && q._id != questionId).length + 1;\r\n let domainCompletionRate = savedQuestion * 100 / this.domain.questions.length;\r\n\r\n //remove the old domain rate before adding the new rate\r\n let domainCount = this.indicator.domains.length;\r\n let indicatorCompletionRate = (this.indicator.completionRate - (this.domain.completionRate / domainCount)) +\r\n domainCompletionRate / domainCount;\r\n\r\n return new CompletionRate(domainCompletionRate, indicatorCompletionRate);\r\n }\r\n\r\n private prepareQuestion(data: ClassificationQuestion) {\r\n delete data._id;\r\n return data;\r\n }\r\n private prepareDomain(data: ClassificationDomain) {\r\n data.score = data.calculatedScore;\r\n delete data._id;\r\n delete data.isCached;\r\n delete data.questions;\r\n return data;\r\n }\r\n private prepareIndicator(data: ClassificationIndicator) {\r\n data.score = data.calculatedScore;\r\n delete data._id;\r\n delete data.isCached;\r\n delete data.domains;\r\n delete data.attachmentsFormKey;\r\n return data;\r\n }\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedTotal',\r\n pure: false\r\n})\r\nexport class CalculatedTotalPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, total: string, key: string) {\r\n if (total) {\r\n let sum = 0;\r\n if (total)\r\n total.split(',').forEach(key => {\r\n sum += +(item[key] ?? 0).toString();\r\n });\r\n if (key) item[key] = sum;\r\n return sum;\r\n }\r\n if (key) item[key] = 0;\r\n return 0;\r\n }\r\n}\r\n","
    \r\n\t
    \r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t\t\r\n\t
    \r\n
    ","\r\nexport class FinalReportMistakes {\r\n id?: number;\r\n criterionId?: number;\r\n criterionKey?: string;\r\n criterionType?: string;\r\n visitKey?: string;\r\n\r\n mistake?: string;\r\n mistakeLevel?: string;\r\n responseDecision?: string;\r\n notes?: string;\r\n suggestedSolution?: string;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\nimport { Category } from '../../../../models/category.model';\r\n\r\n@Component({\r\n selector: 'app-masar-total-statistic-preview',\r\n templateUrl: './masar-total-statistic-preview.component.html',\r\n styleUrls: ['./masar-total-statistic-preview.component.scss']\r\n})\r\nexport class MasarTotalStatisticPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Inject,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable, tap } from 'rxjs';\r\nimport { SessionModel } from 'src/formio-custom-components/src/lib/shared/model';\r\nimport { CommonQuestionModel, QuestionSession } from '../../models';\r\nimport { FormDialogData, memberFormModel } from '../../models/dialog';\r\nimport { CommonQuestionsService } from '../../services';\r\n\r\n@Component({\r\n selector: 'app-users-sessions-dialog',\r\n templateUrl: './users-sessions-dialog.component.html',\r\n styleUrls: ['./users-sessions-dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UsersSessionsDialogComponent implements OnInit {\r\n formGroup: FormGroup;\r\n sessions$: Observable;\r\n\r\n mode: 'add' | 'edit';\r\n\r\n selectedSession: SessionModel[] = null;\r\n members: Record = {};\r\n\r\n get isMemberValid() {\r\n return Object.values(this.members).some((item) => !!item.members?.length);\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: FormDialogData,\r\n public questionsService: CommonQuestionsService\r\n ) {\r\n this.mode = this.data?.mode;\r\n this.sessions$ = this.questionsService\r\n .getSessionsByVisitKey(this.data?.visitKey)\r\n .pipe(\r\n tap((data) => {\r\n data.forEach((item) => {\r\n this.members[item.id] = {\r\n sessionId: item.id,\r\n members: this.members[item.id]?.members || [],\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n compareSessionWithFn = (o1: SessionModel, o2: SessionModel) => {\r\n return o1?.id === o2?.id;\r\n };\r\n\r\n ngOnInit(): void {\r\n if (this.mode == 'edit') {\r\n this.prepareSessions(this.data.question.sessions);\r\n }\r\n }\r\n prepareSessions(sessions: QuestionSession[]) {\r\n sessions?.forEach((session) => {\r\n this.members[session.sessionId] = {\r\n sessionId: session.sessionId,\r\n members: session.members.split(',').map((id) => Number(id)),\r\n };\r\n });\r\n }\r\n\r\n submit() {\r\n const sessions = this._prepareDataToSave();\r\n\r\n if (!!sessions?.length) {\r\n const data = Object.assign(this.data.question, { sessions: sessions });\r\n this.dialogRef.close(data);\r\n }\r\n }\r\n\r\n private _prepareDataToSave() {\r\n return Object.values(this.members).reduce((prev, curr) => {\r\n if (!curr.members?.length) {\r\n return prev;\r\n }\r\n return [\r\n ...prev,\r\n {\r\n sessionId: curr.sessionId,\r\n members: curr.members.join(),\r\n },\r\n ];\r\n }, []);\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-questions-container-side',\r\n template: '',\r\n styles: [''],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QuestionsContainerSideComponent {}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { environmentLoader as environmentLoaderPromise } from './environments/environmentLoader';\r\nimport { registerLogger } from './app/core/helpers/logger.helper';\r\n\r\nenvironmentLoaderPromise.then((env) => {\r\n\tif (env.production) {\r\n\t\tenableProdMode();\r\n\t}\r\n\tObject.keys(env).forEach((key) => {\r\n\t\tenvironment[key] = env[key];\r\n\t});\r\n\tregisterLogger();\r\n\tplatformBrowserDynamic().bootstrapModule(AppModule);\r\n});\r\n","
    \r\n \r\n \r\n\r\n \r\n \r\n {{customOptions.titleTranslatable ? ('forms.common.' + customOptions.title | translate) : customOptions.title}}\r\n
    \r\n
    \r\n\r\n \r\n \r\n {{customOptions.descriptionTranslatable ? ('forms.common.' + customOptions.description | translate) :\r\n customOptions.description}}\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { DatePipe } from '@angular/common';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LoggerService } from 'src/app/core/services/logger.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { LifeCycleService } from './life-cycle-service.config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ServicesService {\r\n\tconstructor(private http: HttpClient, private loggerService: LoggerService) {}\r\n\r\n\tgetCMSheaders() {\r\n\t\tlet headers: HttpHeaders = new HttpHeaders();\r\n\t\t// headers = headers.append('Authorization', 'Bearer ' + environment.cms.portalUserToken);\r\n\t\treturn headers;\r\n\t}\r\n\r\n\tgetCollectionAll(collection: string): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/${collection}/`,\r\n\t\t\t{ populate: 1 },\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCollectionAllActive(collection: string, activeKey, activeVal): Observable {\r\n\t\tlet filter = {};\r\n\t\tfilter[activeKey] = activeVal;\r\n\t\tthis.loggerService.log(filter);\r\n\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/${collection}/`,\r\n\t\t\t{\r\n\t\t\t\tfilter,\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t\tsort: { _o: 1 },\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCollectionEntryById(collection: string, filterKey: string, id: any): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/${collection}/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\t_id: `${id}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetService(id) {\r\n\t\treturn this.getCollectionEntryById('Service', '_id', id);\r\n\t}\r\n\r\n\tgetServices() {\r\n\t\treturn this.getCollectionAllActive('Service', 'lifeCycle', LifeCycleService.PUBLISHED);\r\n\t}\r\n\r\n\tgetTags() {\r\n\t\treturn this.getCollectionAll('tags');\r\n\t}\r\n\r\n\tgetSegments() {\r\n\t\treturn this.getCollectionAllActive('segment', 'activation', true);\r\n\t}\r\n\r\n\tgetSegmentType() {\r\n\t\treturn this.getCollectionAllActive('segmentType', 'activation', true);\r\n\t}\r\n\r\n\tgetDepartments() {\r\n\t\treturn this.getCollectionAllActive('department', 'activation', true);\r\n\t}\r\n\r\n\tgetCategories() {\r\n\t\treturn this.getCollectionAllActive('category', 'activation', true);\r\n\t}\r\n\r\n\tgetBanners() {\r\n\t\treturn this.getCollectionAllActive('bannerSlider', 'activation', true);\r\n\t}\r\n\r\n\tgetOpportunity(id) {\r\n\t\treturn this.getCollectionEntryById('opportunity', '_id', id);\r\n\t}\r\n\r\n\tpostOpportunity(formData): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/save/opportunity/`,\r\n\t\t\t{\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tname: formData.jobTitle,\r\n\t\t\t\t\tnumber: formData.id,\r\n\t\t\t\t\tcity: formData.city,\r\n\t\t\t\t\temployer: formData.organization,\r\n\t\t\t\t\tdescription: formData.description,\r\n\t\t\t\t\tsalaryType: formData.salaryNegotiation,\r\n\t\t\t\t\tsalaryAmount: formData.opportunityDetailsPanelColumnsExpectedSalaryinSar,\r\n\t\t\t\t\tfrom: formData.applicationStartDate,\r\n\t\t\t\t\tto: formData.applicationEndDate,\r\n\t\t\t\t\teducation: formData.educationLevel,\r\n\t\t\t\t\tvacancies: formData.opportunityDetailsPanelColumnsPositionsCounts,\r\n\t\t\t\t\trequirements: formData.requirements,\r\n\t\t\t\t\tqualifications: formData.qualifications,\r\n\t\t\t\t\tcertificates: formData.certificates,\r\n\t\t\t\t\tyearsOfExperience: formData.requiredExperienceYears,\r\n\t\t\t\t\tnotes: formData.notes,\r\n\t\t\t\t\tbranchId: formData.branchId,\r\n\t\t\t\t\t_cityName: formData._cityName,\r\n\t\t\t\t\t_cityId: formData._cityId,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tapplyOpportunity(formData): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/save/opportunitySubmit/`,\r\n\t\t\t{\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tisCurrentlyEmployed: formData.currentlyWorking,\r\n\t\t\t\t\t//\"currentEmployer\": formData.,\r\n\t\t\t\t\t//\"sectorType\": formData.,\r\n\t\t\t\t\t//\"currentTitle\": formData.,\r\n\t\t\t\t\teducationAndMajor: formData.specialization,\r\n\t\t\t\t\tmajor: formData.educationalQualification,\r\n\t\t\t\t\teducationPlace: formData.educationalOrganization,\r\n\t\t\t\t\tgraduationYear: formData.graduationYear,\r\n\t\t\t\t\tgraduationScore: formData.gpa,\r\n\t\t\t\t\tyearOfExperienceSameTitle: formData.experienceYearsPosition,\r\n\t\t\t\t\tyearOfExperienceOtherTitles: formData.otherExperienceYears,\r\n\t\t\t\t\tenglishLevel: formData.englishLevel,\r\n\t\t\t\t\tcomputerSkillsLevel: formData.computerSkillsLevel,\r\n\t\t\t\t\tcv: formData.cv[0],\r\n\t\t\t\t\tlinkedinProfile: formData.linkedInProfile,\r\n\r\n\t\t\t\t\tbranchId: formData.branchId,\r\n\t\t\t\t\tcandidate: formData.candidate,\r\n\t\t\t\t\topportunityId: formData.opportunityId,\r\n\t\t\t\t\t_fullName: formData._fullName,\r\n\t\t\t\t\t_mobile: formData._mobile,\r\n\t\t\t\t\t_nationalId: formData._nationalId,\r\n\t\t\t\t\t_birthDate: formData._birthDate,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tappliedOpportunity(id): Observable {\r\n\t\treturn this.getCollectionEntryById('opportunitySubmit', '_id', id);\r\n\t}\r\n\r\n\tgetAllOpportunitiesAvailForToday(branchId, params?): Observable {\r\n\t\tlet sendParams = {\r\n\t\t\tfilter: {},\r\n\t\t\tpopulate: 1,\r\n\t\t};\r\n\r\n\t\tif (branchId !== false) {\r\n\t\t\tsendParams.filter['branchId'] = `${branchId}`;\r\n\t\t}\r\n\r\n\t\tconst todayDate = new DatePipe('en-US').transform(Date.now(), 'yyyy-MM-dd');\r\n\r\n\t\tif (params.number && params.number.length) {\r\n\t\t\tsendParams['filter']['number'] = `${params.number}`;\r\n\t\t}\r\n\t\tif (params.name && params.name.length) {\r\n\t\t\tsendParams['filter']['name'] = `${params.name}`;\r\n\t\t}\r\n\t\tif (params.city && params.city.length) {\r\n\t\t\tsendParams['filter']['city'] = `${params.city}`;\r\n\t\t}\r\n\t\tif (params.employer && params.employer.length) {\r\n\t\t\tsendParams['filter']['employer'] = `${params.employer}`;\r\n\t\t}\r\n\r\n\t\tif (params.sortBy && params.sortDirection) {\r\n\t\t\tsendParams['sort'] = {};\r\n\t\t\tif (params.sortDirection == 'desc') {\r\n\t\t\t\tsendParams['sort'][params.sortBy] = -1;\r\n\t\t\t} else {\r\n\t\t\t\tsendParams['sort'][params.sortBy] = 1;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/opportunity/`,\r\n\t\t\tsendParams,\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetApplicants(opportunityId): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/opportunitySubmit/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\topportunityId: `${opportunityId}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetApplicantById(opportunityId, userId): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/opportunitySubmit/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\topportunityId: `${opportunityId}`,\r\n\t\t\t\t\tcandidate: `${userId}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetComments(serviceId) {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/comments/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\t'serviceName._id': `${serviceId}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 0,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSegmentsByIds(ids: Array): Observable {\r\n\t\tlet body = [];\r\n\t\tids.forEach((element) => {\r\n\t\t\tbody.push({ _id: element });\r\n\t\t});\r\n\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/segment/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\t$or: body,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsearch(keyword: string): Observable {\r\n\t\tlet body: object;\r\n\t\tbody = {\r\n\t\t\tfilter: {\r\n\t\t\t\t$or: [],\r\n\t\t\t},\r\n\t\t\tlimit: 100,\r\n\t\t\tpopulate: 1,\r\n\t\t};\r\n\r\n\t\t// keyword prepare\r\n\t\tlet findKeywordOn: Array = ['serviceName_ar', 'description_ar', 'tag'];\r\n\t\tfindKeywordOn.forEach((element) => {\r\n\t\t\tbody['filter']['$or'].push({ element: { $regex: keyword } });\r\n\t\t});\r\n\r\n\t\t// tags.forEach(element => {\r\n\t\t// body['filter']['$or'].push({\"tag._id\": element})\r\n\t\t// });\r\n\r\n\t\t//body['filter']['$and'].push({\"lifeCycle\":\"Published\"}) //@TODO filter inactive\r\n\t\t//body['filter']['$or'].push({\"department._id\":{\"$eq\": category}})\r\n\r\n\t\treturn this.http.post(`${environment.cms}/api/collections/get/Service/`, body, {\r\n\t\t\theaders: this.getCMSheaders(),\r\n\t\t});\r\n\t}\r\n\r\n\tgetRequest(id: string): Observable {\r\n\t\treturn this.http.get(`${environment.cms}/api/collections/get/${id}/`, {\r\n\t\t\theaders: this.getCMSheaders(),\r\n\t\t});\r\n\t}\r\n\r\n\t// getStats(id: string): Observable {\r\n\t// return this.http.get(\r\n\t// `${environment.statisticsApi.api}#${id}`);\r\n\t// }\r\n\r\n\tgetNews() {\r\n\t\treturn this.getCollectionAllActive('news', 'disable', false);\r\n\t}\r\n\r\n\tgetSingleNews(id) {\r\n\t\treturn this.getCollectionEntryById('news', '_id', id);\r\n\t}\r\n\r\n\tgetAds() {\r\n\t\treturn this.getCollectionAllActive('ads', 'disable', false);\r\n\t}\r\n\r\n\tgetSingleAds(id) {\r\n\t\treturn this.getCollectionEntryById('ads', '_id', id);\r\n\t}\r\n\r\n\t// getProfile(id): Observable {\r\n\t// return this.http.get(\r\n\t// `${environment.profile.api}/${id}`, {\r\n\t// headers: this.getCMSheaders()\r\n\t// });\r\n\t// }\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","\r\nimport { translateServiceInstance } from 'dp-formio';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport _omit from 'lodash/omit';\r\n\r\nconst ar = 'ar';\r\n/**\r\n * Model of history :\r\n * map(indicatorId,map(domainId,map(questionId,taskId)))\r\n *\r\n * Empty Map :\r\n * {\"dataType\":\"Map\",\"value\":[]}\r\n *\r\n * Demo of Data :\r\n * {\"dataType\":\"Map\",\"value\":[[\"indicator1\",{\"dataType\":\"Map\",\"value\":[[\"domain1\",{\"dataType\":\"Map\",\"value\":[[\"question1\",\"taskId\"],[\"question2\",\"taskId\"],[\"question3\",\"taskId\"]]}],[\"domain2\",{\"dataType\":\"Map\",\"value\":[[\"question4\",\"taskId\"],[\"question5\",\"taskId\"]]}]]}],[\"indicator2\",{\"dataType\":\"Map\",\"value\":[[\"domain3\",{\"dataType\":\"Map\",\"value\":[[\"question6\",\"taskId\"]]}]]}]]\r\n *\r\n */\r\n\r\nexport class ClassificationIndicator {\r\n _id: string;\r\n requestId: string;\r\n\r\n key: string;\r\n order: number;\r\n code: string;\r\n icon: string;\r\n\r\n //config\r\n domains: ClassificationDomain[] = [];\r\n attachmentsFormKey: string;\r\n domainNotesAndRecommendationsFormKey: string;\r\n isCached: boolean;\r\n\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n\r\n //score\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n if ((this.score ?? 0) < this.averageToPass) return true;\r\n else return false;\r\n }\r\n get isValid() {\r\n return !this.hasError && this.isSubDomainsValids;\r\n }\r\n get calculatedScore() {\r\n let score = 0;\r\n let domainsCount = 0;\r\n // calc from questions\r\n this.domains.filter(q => q.score).forEach(q => {\r\n score += +q.score * (q.weight || 1);\r\n domainsCount += q.weight || 1;\r\n });\r\n\r\n if (!domainsCount) return 0;\r\n return score / domainsCount;\r\n }\r\n\r\n //result\r\n score: number;\r\n status: ClassificationStatus;\r\n isSubDomainsValids: boolean;\r\n history = new Map();\r\n get hasComments() {\r\n return this.history.has(this._id);\r\n }\r\n\r\n completionRate: number = 0;\r\n}\r\n\r\nexport class ClassificationDomain {\r\n _id: string;\r\n requestId: string;\r\n\r\n key: string;\r\n order: number;\r\n code: string;\r\n icon: string;\r\n indicator: string;\r\n\r\n //config\r\n indicatorObject: { _id: string, history: Map };\r\n questions: ClassificationQuestion[] = [];\r\n isCached: boolean;\r\n\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n\r\n //attachment\r\n attachmentNameAr: string;\r\n attachmentNameEn: string;\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachmentIsRequired: boolean;\r\n get attachmentName() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentNameAr : this.attachmentNameEn;\r\n }\r\n get attachmentsTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get hasAttachments() { return !!this.attachmentNameAr || !!this.attachmentNameEn }\r\n\r\n //score\r\n weight: number;\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n if ((this.score ?? 0) < this.averageToPass || this.questions.some(q => !q.isValid)) return true;\r\n else return false;\r\n }\r\n get calculatedScore() {\r\n let score = 0;\r\n let questionsCount = 0;\r\n // calc from questions\r\n this.questions.filter(q => q.isValid && !q.notApply && q.type != 'years').forEach(q => {\r\n score += (+q.score || 0) * (q.weight || 1);\r\n questionsCount += q.weight || 1;\r\n });\r\n\r\n if (!questionsCount) return 0;\r\n return score / questionsCount;\r\n }\r\n\r\n //result\r\n score: number;\r\n decision: ClassificationStatus;\r\n notesAndRecommendations: any[] = [];\r\n attachmentsFiles: ClassificationAttachments[] = [];\r\n get attachmentsValid() {\r\n if (!this.attachmentIsRequired) return true;\r\n return !!this.attachmentsFiles?.length;\r\n }\r\n\r\n get isValid() {\r\n if (!this.attachmentsValid || this.questions.some(q => q.hasChange || !q.isSaved)) return false;\r\n return !this.hasError;\r\n }\r\n get hasComments() {\r\n if (this.indicatorObject.history.has(this.indicatorObject._id))\r\n return this.indicatorObject.history.get(this.indicatorObject._id).has(this._id);\r\n return false;\r\n }\r\n\r\n completionRate: number = 0;\r\n}\r\n\r\nexport class ClassificationQuestion {\r\n _id: string;\r\n requestId: string;\r\n\r\n key: string;\r\n order: number;\r\n code: string;\r\n icon: string;\r\n domain: string;\r\n domainObject: ClassificationDomain;\r\n\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n type: string;\r\n min: number;\r\n max: number;\r\n years: ClassificationYears[];\r\n\r\n //attachment\r\n attachmentNameAr: string;\r\n attachmentNameEn: string;\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachmentIsRequired: boolean;\r\n get attachmentName() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentNameAr : this.attachmentNameEn;\r\n }\r\n get attachmentsTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get hasAttachments() { return !!this.attachmentNameAr || !!this.attachmentNameEn }\r\n\r\n //score\r\n weight: number;\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n if (this.notApply) return false;\r\n return (+this.score || 0) * (+this.weight || 1) < this.averageToPass;\r\n }\r\n\r\n //result\r\n score: number = null;\r\n status: ClassificationStatus = ClassificationStatus.UnComplete;\r\n notApply: boolean = false;\r\n isSaved: boolean = false;\r\n notes: string = null;\r\n attachmentsFiles: ClassificationAttachments[] = [];\r\n get attachmentsValid() {\r\n if (this.hasAttachments && this.attachmentIsRequired)\r\n return !!this.attachmentsFiles?.length;\r\n return true;\r\n }\r\n\r\n resetResult() {\r\n this.score = this.min || null;\r\n this.notes = null;\r\n this.attachmentsFiles = [];\r\n this.years.forEach(q => q.value = '0');\r\n }\r\n\r\n get isValid() {\r\n if (this.notApply && !this.notes) return false;\r\n else if (this.notApply && this.notes) return true;\r\n else if (!this.attachmentsValid) return false;\r\n else if (this.type == 'years') {\r\n if (this.years.some(q => !q.value)) return false;\r\n }\r\n else if ((this.min && this.min > this.score) || (this.max && this.max < this.score)) return false;\r\n return !this.hasError;\r\n }\r\n\r\n orginal: ClassificationQuestion;\r\n instanceForEdit: ClassificationQuestion;\r\n get hasChange() {\r\n if (this.instanceForEdit) {\r\n const changed = !_isEqual(\r\n _omit(this.instanceForEdit, ['orginal', 'domainObject', 'instanceForEdit']),\r\n _omit(this.instanceForEdit.orginal, ['orginal', 'domainObject', 'instanceForEdit'])\r\n );\r\n return changed;\r\n }\r\n const changed = !_isEqual(\r\n _omit(this, ['orginal', 'domainObject']),\r\n _omit(this.orginal, ['orginal', 'domainObject'])\r\n );\r\n return this.isValid && (changed || !this.isSaved);\r\n }\r\n\r\n get hasComments() {\r\n if (this.domainObject?.hasComments)\r\n return this.domainObject.indicatorObject.history\r\n .get(this.domainObject.indicatorObject._id)\r\n .get(this.domainObject._id)\r\n .has(this._id);\r\n return '';\r\n }\r\n}\r\n\r\nexport enum ClassificationStatus {\r\n UnComplete, Complete\r\n}\r\nexport class ClassificationAttachments {\r\n fileName: string;\r\n file: string;\r\n}\r\n\r\nexport class ClassificationYears {\r\n key: string;\r\n nameAr: string;\r\n nameEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n\r\n value: string;\r\n}\r\n\r\nexport class ManagersNotes {\r\n _id: string;\r\n requestId: string;\r\n questionSubmissionId: string;\r\n taskId: string;\r\n userName: string;\r\n givenName: string;\r\n email: string;\r\n role: string;\r\n roleByTask: string;\r\n message: string;\r\n created: string;\r\n\r\n fromMe = false;\r\n\r\n get name() {\r\n if (this.givenName?.includes('@'))\r\n return this.givenName.substring(0, this.givenName.indexOf('@'))\r\n return this.givenName;\r\n }\r\n}\r\n\r\nexport class CompletionRate {\r\n constructor(\r\n public domainCompletionRate: number,\r\n public indicatorCompletionRate: number\r\n ) { }\r\n}"]}