{"version":3,"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/backend/app-setting.ts","./src/app/backend/http.service.ts","./src/app/backend/popup-message.ts","./src/app/guards/authentication.guard.ts","./src/app/guards/super-admin.guard.ts","./src/app/interceptors/error-handle.interceptor.ts","./src/app/interceptors/unauthorized.interceptor.ts","./src/app/models/addresses/address.ts","./src/app/models/addresses/district.ts","./src/app/models/addresses/region.ts","./src/app/models/addresses/room.ts","./src/app/models/announcements/announcement-item.ts","./src/app/models/announcements/announcement.ts","./src/app/models/cell-groups/cell-group.ts","./src/app/models/centers/center.ts","./src/app/models/event-types/event-type.ts","./src/app/models/events/event-day.ts","./src/app/models/events/event-list-item.ts","./src/app/models/events/event-participant.ts","./src/app/models/events/event.ts","./src/app/models/healths/health.ts","./src/app/models/imports/donation-import-model.ts","./src/app/models/imports/event-import-model.ts","./src/app/models/imports/import-file.ts","./src/app/models/imports/request-import-model.ts","./src/app/models/imports/user-import-model.ts","./src/app/models/livings/living.ts","./src/app/models/notifications/notification.ts","./src/app/models/profiles/agent.ts","./src/app/models/profiles/availability.ts","./src/app/models/profiles/cell-group-member-profile.ts","./src/app/models/profiles/donee.ts","./src/app/models/profiles/event-record-user.ts","./src/app/models/profiles/profile.ts","./src/app/models/redeem-questions/redeem-question.ts","./src/app/models/redeems/product-list-item.ts","./src/app/models/redeems/product.ts","./src/app/models/redeems/redeem-history.ts","./src/app/models/redeems/redeem.ts","./src/app/models/requests/request-list-item.ts","./src/app/models/requests/request.ts","./src/app/models/requests/requester.ts","./src/app/models/requests/volunteer-choice.ts","./src/app/models/requests/volunteer.ts","./src/app/models/services/service-type.ts","./src/app/models/services/service.ts","./src/app/models/sign-ups/sign-up-user-list-item.ts","./src/app/models/sign-ups/sign-up-user.ts","./src/app/models/transactions/transaction.ts","./src/app/models/transactions/user-transaction.ts","./src/app/models/transportations/transportation.ts","./src/app/modules/activity/activity.module.ts","./src/app/modules/activity/pages/activity-create-page/activity-create-page.component.ts","./src/app/modules/activity/pages/activity-create-page/activity-create-page.component.html","./src/app/modules/activity/pages/activity-overview-page/activity-overview-page.component.ts","./src/app/modules/activity/pages/activity-overview-page/activity-overview-page.component.html","./src/app/modules/analytics/analytics.module.ts","./src/app/modules/analytics/components/application-analysis/application-analysis.component.ts","./src/app/modules/analytics/components/application-analysis/application-analysis.component.html","./src/app/modules/analytics/components/balance-analysis/balance-analysis.component.ts","./src/app/modules/analytics/components/balance-analysis/balance-analysis.component.html","./src/app/modules/analytics/components/cell-group-data-analysis/cell-group-data-analysis.component.ts","./src/app/modules/analytics/components/cell-group-data-analysis/cell-group-data-analysis.component.html","./src/app/modules/analytics/components/chart-analysis/chart-analysis.component.ts","./src/app/modules/analytics/components/chart-analysis/chart-analysis.component.html","./src/app/modules/analytics/components/inactive-user-analysis/inactive-user-analysis.component.ts","./src/app/modules/analytics/components/inactive-user-analysis/inactive-user-analysis.component.html","./src/app/modules/analytics/components/service-ratio-analysis/service-ratio-analysis.component.ts","./src/app/modules/analytics/components/service-ratio-analysis/service-ratio-analysis.component.html","./src/app/modules/analytics/components/success-rate-analysis/success-rate-analysis.component.ts","./src/app/modules/analytics/components/success-rate-analysis/success-rate-analysis.component.html","./src/app/modules/analytics/components/user-ranking-analysis/user-ranking-analysis.component.ts","./src/app/modules/analytics/components/user-ranking-analysis/user-ranking-analysis.component.html","./src/app/modules/analytics/pages/analysis-page/analysis-page.component.ts","./src/app/modules/analytics/pages/analysis-page/analysis-page.component.html","./src/app/modules/announcement/announcement.module.ts","./src/app/modules/announcement/components/announcement-create-users-popup/announcement-create-users-popup.component.ts","./src/app/modules/announcement/components/announcement-create-users-popup/announcement-create-users-popup.component.html","./src/app/modules/announcement/components/announcement-deactivation-popup/announcement-deactivation-popup.component.ts","./src/app/modules/announcement/components/announcement-deactivation-popup/announcement-deactivation-popup.component.html","./src/app/modules/announcement/forms/create-announcement-form.ts","./src/app/modules/announcement/pages/announcement-create-page/announcement-create-page.component.ts","./src/app/modules/announcement/pages/announcement-create-page/announcement-create-page.component.html","./src/app/modules/announcement/pages/announcement-detail-page/announcement-detail-page.component.ts","./src/app/modules/announcement/pages/announcement-detail-page/announcement-detail-page.component.html","./src/app/modules/announcement/pages/announcement-overview-page/announcement-overview-page.component.ts","./src/app/modules/announcement/pages/announcement-overview-page/announcement-overview-page.component.html","./src/app/modules/announcement/pages/select-announcement-users-page/select-announcement-users-page.component.ts","./src/app/modules/announcement/pages/select-announcement-users-page/select-announcement-users-page.component.html","./src/app/modules/donation/components/donation-center/donation-center.component.ts","./src/app/modules/donation/components/donation-center/donation-center.component.html","./src/app/modules/donation/components/donation-overview/donation-overview.component.ts","./src/app/modules/donation/components/donation-overview/donation-overview.component.html","./src/app/modules/donation/components/donation-user/donation-user.component.ts","./src/app/modules/donation/components/donation-user/donation-user.component.html","./src/app/modules/donation/donation.module.ts","./src/app/modules/donation/forms/create-center-donation-form.ts","./src/app/modules/donation/forms/create-user-donation-form.ts","./src/app/modules/donation/pages/donation-page/donation-page.component.ts","./src/app/modules/donation/pages/donation-page/donation-page.component.html","./src/app/modules/donation/pages/select-donees-page/select-donees-page.component.ts","./src/app/modules/donation/pages/select-donees-page/select-donees-page.component.html","./src/app/modules/donation/pages/select-donor-page/select-donor-page.component.ts","./src/app/modules/donation/pages/select-donor-page/select-donor-page.component.html","./src/app/modules/event/components/event-attendance-popup/event-attendance-popup.component.ts","./src/app/modules/event/components/event-attendance-popup/event-attendance-popup.component.html","./src/app/modules/event/components/event-create-user-management-popup/event-create-user-management-popup.component.html","./src/app/modules/event/components/event-create-user-management-popup/event-create-user-management-popup.component.ts","./src/app/modules/event/components/event-create/event-create.component.ts","./src/app/modules/event/components/event-create/event-create.component.html","./src/app/modules/event/components/event-day-scheduler/event-day-scheduler.component.ts","./src/app/modules/event/components/event-day-scheduler/event-day-scheduler.component.html","./src/app/modules/event/components/event-detail-accepted-user-tab/event-detail-accepted-user-tab.component.ts","./src/app/modules/event/components/event-detail-accepted-user-tab/event-detail-accepted-user-tab.component.html","./src/app/modules/event/components/event-detail-confirmed-user-tab/event-detail-confirmed-user-tab.component.ts","./src/app/modules/event/components/event-detail-confirmed-user-tab/event-detail-confirmed-user-tab.component.html","./src/app/modules/event/components/event-detail-pending-user-tab/event-detail-pending-user-tab.component.ts","./src/app/modules/event/components/event-detail-pending-user-tab/event-detail-pending-user-tab.component.html","./src/app/modules/event/components/event-detail-rejected-user-tab/event-detail-rejected-user-tab.component.ts","./src/app/modules/event/components/event-detail-rejected-user-tab/event-detail-rejected-user-tab.component.html","./src/app/modules/event/components/event-detail-user-management-popup/event-detail-user-management-popup.component.html","./src/app/modules/event/components/event-detail-user-management-popup/event-detail-user-management-popup.component.ts","./src/app/modules/event/components/event-overview/event-overview.component.ts","./src/app/modules/event/components/event-overview/event-overview.component.html","./src/app/modules/event/event.module.ts","./src/app/modules/event/forms/create-event-day-form.ts","./src/app/modules/event/forms/create-event-form.ts","./src/app/modules/event/forms/create-event-record-form.ts","./src/app/modules/event/forms/update-event-day-form.ts","./src/app/modules/event/forms/update-event-form.ts","./src/app/modules/event/pages/create-event-record-page/create-event-record-page.component.ts","./src/app/modules/event/pages/create-event-record-page/create-event-record-page.component.html","./src/app/modules/event/pages/event-detail-page/event-detail-page.component.ts","./src/app/modules/event/pages/event-detail-page/event-detail-page.component.html","./src/app/modules/event/pages/select-event-participants-page/select-event-participants-page.component.ts","./src/app/modules/event/pages/select-event-participants-page/select-event-participants-page.component.html","./src/app/modules/event/pages/select-event-record-participants-page/select-event-record-participants-page.component.ts","./src/app/modules/event/pages/select-event-record-participants-page/select-event-record-participants-page.component.html","./src/app/modules/main/components/side-nav/side-nav.component.ts","./src/app/modules/main/components/side-nav/side-nav.component.html","./src/app/modules/main/components/top-bar/top-bar.component.ts","./src/app/modules/main/components/top-bar/top-bar.component.html","./src/app/modules/main/main.module.ts","./src/app/modules/main/pages/login-page/login-page.component.ts","./src/app/modules/main/pages/login-page/login-page.component.html","./src/app/modules/main/pages/main-page/main-page.component.ts","./src/app/modules/main/pages/main-page/main-page.component.html","./src/app/modules/overview/components/event-preview/event-preview.component.ts","./src/app/modules/overview/components/event-preview/event-preview.component.html","./src/app/modules/overview/components/request-preview/request-preview.component.ts","./src/app/modules/overview/components/request-preview/request-preview.component.html","./src/app/modules/overview/overview.module.ts","./src/app/modules/overview/pages/overview-page/overview-page.component.ts","./src/app/modules/overview/pages/overview-page/overview-page.component.html","./src/app/modules/overview/pages/urgent-request-page/urgent-request-page.component.ts","./src/app/modules/overview/pages/urgent-request-page/urgent-request-page.component.html","./src/app/modules/redeem/components/product-management-pending/product-management-pending.component.ts","./src/app/modules/redeem/components/product-management-pending/product-management-pending.component.html","./src/app/modules/redeem/components/product-management-redeem/product-management-redeem.component.ts","./src/app/modules/redeem/components/product-management-redeem/product-management-redeem.component.html","./src/app/modules/redeem/components/redeem-grant-popup/redeem-grant-popup.component.ts","./src/app/modules/redeem/components/redeem-grant-popup/redeem-grant-popup.component.html","./src/app/modules/redeem/components/redeem-image-popup/redeem-image-popup.component.html","./src/app/modules/redeem/components/redeem-image-popup/redeem-image-popup.component.ts","./src/app/modules/redeem/components/redeem-popup/redeem-popup.component.html","./src/app/modules/redeem/components/redeem-popup/redeem-popup.component.ts","./src/app/modules/redeem/components/redeem-question/redeem-question.component.ts","./src/app/modules/redeem/components/redeem-question/redeem-question.component.html","./src/app/modules/redeem/forms/create-product-form.ts","./src/app/modules/redeem/forms/update-product-form.ts","./src/app/modules/redeem/pages/redeem-create-page/redeem-create-page.component.ts","./src/app/modules/redeem/pages/redeem-create-page/redeem-create-page.component.html","./src/app/modules/redeem/pages/redeem-detail-page/redeem-detail-page.component.ts","./src/app/modules/redeem/pages/redeem-detail-page/redeem-detail-page.component.html","./src/app/modules/redeem/pages/redeem-management-page/redeem-management-page.component.ts","./src/app/modules/redeem/pages/redeem-management-page/redeem-management-page.component.html","./src/app/modules/redeem/pages/redeem-overview-page/redeem-overview-page.component.ts","./src/app/modules/redeem/pages/redeem-overview-page/redeem-overview-page.component.html","./src/app/modules/redeem/pages/redeem-setting-page/redeem-setting-page.component.ts","./src/app/modules/redeem/pages/redeem-setting-page/redeem-setting-page.component.html","./src/app/modules/redeem/pages/select-redeem-user-page/select-redeem-user-page.component.ts","./src/app/modules/redeem/pages/select-redeem-user-page/select-redeem-user-page.component.html","./src/app/modules/redeem/redeem.module.ts","./src/app/modules/request/components/request-create/request-create.component.ts","./src/app/modules/request/components/request-create/request-create.component.html","./src/app/modules/request/components/request-detail-volunteer-table/request-detail-volunteer-table.component.ts","./src/app/modules/request/components/request-detail-volunteer-table/request-detail-volunteer-table.component.html","./src/app/modules/request/components/request-feedback-popup/request-feedback-popup.component.ts","./src/app/modules/request/components/request-feedback-popup/request-feedback-popup.component.html","./src/app/modules/request/components/request-overview/request-overview.component.ts","./src/app/modules/request/components/request-overview/request-overview.component.html","./src/app/modules/request/components/request-rating/request-rating.component.ts","./src/app/modules/request/components/request-rating/request-rating.component.html","./src/app/modules/request/components/request-start-popup/request-start-popup.component.ts","./src/app/modules/request/components/request-start-popup/request-start-popup.component.html","./src/app/modules/request/components/request-subsidy/request-subsidy.component.ts","./src/app/modules/request/components/request-subsidy/request-subsidy.component.html","./src/app/modules/request/components/request-terminate-popup/request-terminate-popup.component.ts","./src/app/modules/request/components/request-terminate-popup/request-terminate-popup.component.html","./src/app/modules/request/components/volunteer-score-popup/volunteer-score-popup.component.html","./src/app/modules/request/components/volunteer-score-popup/volunteer-score-popup.component.ts","./src/app/modules/request/forms/create-request-form.ts","./src/app/modules/request/pages/request-detail-page/request-detail-page.component.ts","./src/app/modules/request/pages/request-detail-page/request-detail-page.component.html","./src/app/modules/request/pages/select-requester-page/select-requester-page.component.ts","./src/app/modules/request/pages/select-requester-page/select-requester-page.component.html","./src/app/modules/request/pages/select-volunteers-page/select-volunteers-page.component.ts","./src/app/modules/request/pages/select-volunteers-page/select-volunteers-page.component.html","./src/app/modules/request/request.module.ts","./src/app/modules/share/components/address-filter/address-filter.component.ts","./src/app/modules/share/components/address-filter/address-filter.component.html","./src/app/modules/share/components/address-form/address-form.component.ts","./src/app/modules/share/components/address-form/address-form.component.html","./src/app/modules/share/components/announcement-date-range-filter/announcement-date-range-filter.component.ts","./src/app/modules/share/components/announcement-date-range-filter/announcement-date-range-filter.component.html","./src/app/modules/share/components/announcement-status-filter/announcement-status-filter.component.ts","./src/app/modules/share/components/announcement-status-filter/announcement-status-filter.component.html","./src/app/modules/share/components/cell-group-filter/cell-group-filter.component.ts","./src/app/modules/share/components/cell-group-filter/cell-group-filter.component.html","./src/app/modules/share/components/cell-group-popup/cell-group-popup.component.html","./src/app/modules/share/components/cell-group-popup/cell-group-popup.component.ts","./src/app/modules/share/components/center-filter/center-filter.component.ts","./src/app/modules/share/components/center-filter/center-filter.component.html","./src/app/modules/share/components/center-popup/center-popup.component.html","./src/app/modules/share/components/center-popup/center-popup.component.ts","./src/app/modules/share/components/condition-filter/condition-filter.component.ts","./src/app/modules/share/components/condition-filter/condition-filter.component.html","./src/app/modules/share/components/donation-type-filter/donation-type-filter.component.ts","./src/app/modules/share/components/donation-type-filter/donation-type-filter.component.html","./src/app/modules/share/components/emoji-picker/emoji-picker.component.html","./src/app/modules/share/components/emoji-picker/emoji-picker.component.ts","./src/app/modules/share/components/event-status-filter/event-status-filter.component.ts","./src/app/modules/share/components/event-status-filter/event-status-filter.component.html","./src/app/modules/share/components/event-transaction-type-filter/event-transaction-type-filter.component.ts","./src/app/modules/share/components/event-transaction-type-filter/event-transaction-type-filter.component.html","./src/app/modules/share/components/event-type-filter/event-type-filter.component.ts","./src/app/modules/share/components/event-type-filter/event-type-filter.component.html","./src/app/modules/share/components/health-popup/health-popup.component.html","./src/app/modules/share/components/health-popup/health-popup.component.ts","./src/app/modules/share/components/import-popup/import-popup.component.ts","./src/app/modules/share/components/import-popup/import-popup.component.html","./src/app/modules/share/components/import-status-popup/import-status-popup.component.ts","./src/app/modules/share/components/import-status-popup/import-status-popup.component.html","./src/app/modules/share/components/living-popup/living-popup.component.ts","./src/app/modules/share/components/living-popup/living-popup.component.html","./src/app/modules/share/components/loading/loading.component.html","./src/app/modules/share/components/loading/loading.component.ts","./src/app/modules/share/components/message-popup/message-popup.component.ts","./src/app/modules/share/components/message-popup/message-popup.component.html","./src/app/modules/share/components/redeem-status-filter/redeem-status-filter.component.ts","./src/app/modules/share/components/redeem-status-filter/redeem-status-filter.component.html","./src/app/modules/share/components/redeem-type-filter/redeem-type-filter.component.ts","./src/app/modules/share/components/redeem-type-filter/redeem-type-filter.component.html","./src/app/modules/share/components/request-status-filter/request-status-filter.component.ts","./src/app/modules/share/components/request-status-filter/request-status-filter.component.html","./src/app/modules/share/components/search-input/search-input.component.ts","./src/app/modules/share/components/search-input/search-input.component.html","./src/app/modules/share/components/service-date-range-filter/service-date-range-filter.component.ts","./src/app/modules/share/components/service-date-range-filter/service-date-range-filter.component.html","./src/app/modules/share/components/service-filter/service-filter.component.ts","./src/app/modules/share/components/service-filter/service-filter.component.html","./src/app/modules/share/components/service-popup/service-popup.component.html","./src/app/modules/share/components/service-popup/service-popup.component.ts","./src/app/modules/share/components/sign-up-status-filter/sign-up-status-filter.component.ts","./src/app/modules/share/components/sign-up-status-filter/sign-up-status-filter.component.html","./src/app/modules/share/components/simple-table-box/simple-table-box.component.html","./src/app/modules/share/components/simple-table-box/simple-table-box.component.ts","./src/app/modules/share/components/time-picker/time-picker.component.ts","./src/app/modules/share/components/time-picker/time-picker.component.html","./src/app/modules/share/forms/address-form.ts","./src/app/modules/share/share.module.ts","./src/app/modules/staff/components/center-permission-popup/center-permission-popup.component.html","./src/app/modules/staff/components/center-permission-popup/center-permission-popup.component.ts","./src/app/modules/staff/forms/create-staff-form.ts","./src/app/modules/staff/pages/staff-create-page/staff-create-page.component.ts","./src/app/modules/staff/pages/staff-create-page/staff-create-page.component.html","./src/app/modules/staff/pages/staff-detail-page/staff-detail-page.component.ts","./src/app/modules/staff/pages/staff-detail-page/staff-detail-page.component.html","./src/app/modules/staff/pages/staff-overview-page/staff-overview-page.component.ts","./src/app/modules/staff/pages/staff-overview-page/staff-overview-page.component.html","./src/app/modules/staff/pages/staff-profile-page/staff-profile-page.component.ts","./src/app/modules/staff/pages/staff-profile-page/staff-profile-page.component.html","./src/app/modules/staff/staff.module.ts","./src/app/modules/system/components/cell-group-members-popup/cell-group-members-popup.component.ts","./src/app/modules/system/components/cell-group-members-popup/cell-group-members-popup.component.html","./src/app/modules/system/components/cell-group-setting/cell-group-setting.component.ts","./src/app/modules/system/components/cell-group-setting/cell-group-setting.component.html","./src/app/modules/system/components/center-linker-volunteer/center-linker-volunteer.component.ts","./src/app/modules/system/components/center-linker-volunteer/center-linker-volunteer.component.html","./src/app/modules/system/components/center-setting/center-setting.component.ts","./src/app/modules/system/components/center-setting/center-setting.component.html","./src/app/modules/system/components/data-setting-container/data-setting-container.component.ts","./src/app/modules/system/components/data-setting-container/data-setting-container.component.html","./src/app/modules/system/components/event-setting-container/event-setting-container.component.ts","./src/app/modules/system/components/event-setting-container/event-setting-container.component.html","./src/app/modules/system/components/event-type-setting/event-type-setting.component.ts","./src/app/modules/system/components/event-type-setting/event-type-setting.component.html","./src/app/modules/system/components/health-living-setting/health-living-setting.component.ts","./src/app/modules/system/components/health-living-setting/health-living-setting.component.html","./src/app/modules/system/components/health-setting/health-setting.component.ts","./src/app/modules/system/components/health-setting/health-setting.component.html","./src/app/modules/system/components/living-setting/living-setting.component.ts","./src/app/modules/system/components/living-setting/living-setting.component.html","./src/app/modules/system/components/organization-setting-container/organization-setting-container.component.ts","./src/app/modules/system/components/organization-setting-container/organization-setting-container.component.html","./src/app/modules/system/components/recommand-setting/recommand-setting.component.ts","./src/app/modules/system/components/recommand-setting/recommand-setting.component.html","./src/app/modules/system/components/service-setting/service-setting.component.ts","./src/app/modules/system/components/service-setting/service-setting.component.html","./src/app/modules/system/components/service-type-setting/service-type-setting.component.ts","./src/app/modules/system/components/service-type-setting/service-type-setting.component.html","./src/app/modules/system/components/transportation-setting/transportation-setting.component.ts","./src/app/modules/system/components/transportation-setting/transportation-setting.component.html","./src/app/modules/system/pages/add-cell-group-member-page/add-cell-group-member-page.component.ts","./src/app/modules/system/pages/add-cell-group-member-page/add-cell-group-member-page.component.html","./src/app/modules/system/pages/data-setting-page/data-setting-page.component.ts","./src/app/modules/system/pages/data-setting-page/data-setting-page.component.html","./src/app/modules/system/pages/recommendation-setting-page/recommendation-setting-page.component.ts","./src/app/modules/system/pages/recommendation-setting-page/recommendation-setting-page.component.html","./src/app/modules/system/system.module.ts","./src/app/modules/trash/components/donation-trash-bin/donation-trash-bin.component.ts","./src/app/modules/trash/components/donation-trash-bin/donation-trash-bin.component.html","./src/app/modules/trash/components/event-trash-bin/event-trash-bin.component.ts","./src/app/modules/trash/components/event-trash-bin/event-trash-bin.component.html","./src/app/modules/trash/components/redeem-trash-bin/redeem-trash-bin.component.ts","./src/app/modules/trash/components/redeem-trash-bin/redeem-trash-bin.component.html","./src/app/modules/trash/components/request-trash-bin/request-trash-bin.component.ts","./src/app/modules/trash/components/request-trash-bin/request-trash-bin.component.html","./src/app/modules/trash/components/user-trash-bin/user-trash-bin.component.ts","./src/app/modules/trash/components/user-trash-bin/user-trash-bin.component.html","./src/app/modules/trash/pages/bin-page/bin-page.component.ts","./src/app/modules/trash/pages/bin-page/bin-page.component.html","./src/app/modules/trash/trash.module.ts","./src/app/modules/user/components/availability-table/availability-table.component.html","./src/app/modules/user/components/availability-table/availability-table.component.ts","./src/app/modules/user/components/sign-up-disapprove-popup/sign-up-disapprove-popup.component.ts","./src/app/modules/user/components/sign-up-disapprove-popup/sign-up-disapprove-popup.component.html","./src/app/modules/user/components/user-donation-transaction/user-donation-transaction.component.ts","./src/app/modules/user/components/user-donation-transaction/user-donation-transaction.component.html","./src/app/modules/user/components/user-event-transaction/user-event-transaction.component.ts","./src/app/modules/user/components/user-event-transaction/user-event-transaction.component.html","./src/app/modules/user/components/user-profile/user-profile.component.ts","./src/app/modules/user/components/user-profile/user-profile.component.html","./src/app/modules/user/components/user-redeem-transaction/user-redeem-transaction.component.html","./src/app/modules/user/components/user-redeem-transaction/user-redeem-transaction.component.ts","./src/app/modules/user/components/user-request-transaction/user-request-transaction.component.ts","./src/app/modules/user/components/user-request-transaction/user-request-transaction.component.html","./src/app/modules/user/components/user-transaction/user-transaction.component.ts","./src/app/modules/user/components/user-transaction/user-transaction.component.html","./src/app/modules/user/forms/create-user-form.ts","./src/app/modules/user/forms/update-user-form.ts","./src/app/modules/user/pages/select-agents-page/select-agents-page.component.ts","./src/app/modules/user/pages/select-agents-page/select-agents-page.component.html","./src/app/modules/user/pages/sign-up-overview-page/sign-up-overview-page.component.ts","./src/app/modules/user/pages/sign-up-overview-page/sign-up-overview-page.component.html","./src/app/modules/user/pages/sign-up-setting-page/sign-up-setting-page.component.ts","./src/app/modules/user/pages/sign-up-setting-page/sign-up-setting-page.component.html","./src/app/modules/user/pages/sign-up-user-detail/sign-up-user-detail.component.ts","./src/app/modules/user/pages/sign-up-user-detail/sign-up-user-detail.component.html","./src/app/modules/user/pages/user-create-page/user-create-page.component.ts","./src/app/modules/user/pages/user-create-page/user-create-page.component.html","./src/app/modules/user/pages/user-detail-page/user-detail-page.component.ts","./src/app/modules/user/pages/user-detail-page/user-detail-page.component.html","./src/app/modules/user/pages/user-overview-page/user-overview-page.component.ts","./src/app/modules/user/pages/user-overview-page/user-overview-page.component.html","./src/app/modules/user/user.module.ts","./src/app/portal-animation.ts","./src/app/services/agent/agent.service.ts","./src/app/services/analytics/analytics.service.ts","./src/app/services/announcement/announcement.service.ts","./src/app/services/authenticate/authentication.service.ts","./src/app/services/cell-group/cell-group.service.ts","./src/app/services/center/center.service.ts","./src/app/services/condition-conflict/condition-conflict.service.ts","./src/app/services/donation/donation.service.ts","./src/app/services/error-handle/error-handle.service.ts","./src/app/services/event-type/event-type.service.ts","./src/app/services/event/event.service.ts","./src/app/services/export/export.service.ts","./src/app/services/firebase/firebase.service.ts","./src/app/services/health/health.service.ts","./src/app/services/import/import.service.ts","./src/app/services/living/living.service.ts","./src/app/services/loading/loading.service.ts","./src/app/services/notification/notification.service.ts","./src/app/services/popup-message/popup-message.service.ts","./src/app/services/product/product.service.ts","./src/app/services/profile/profile.service.ts","./src/app/services/recommand-ratio/recommand-ratio.service.ts","./src/app/services/redeem-question/redeem-question.service.ts","./src/app/services/redeem/redeem.service.ts","./src/app/services/request/request.service.ts","./src/app/services/service/service.service.ts","./src/app/services/setting/setting.service.ts","./src/app/services/sign-up/sign-up.service.ts","./src/app/services/staff/staff.service.ts","./src/app/services/transaction/transaction.service.ts","./src/app/services/transportation/transportation.service.ts","./src/app/services/volunteer/volunteer.service.ts","./src/environments/environment.ts","./src/main.ts","ignored|/usr/src/app/node_modules/xlsx|crypto","ignored|/usr/src/app/node_modules/xlsx|fs","ignored|/usr/src/app/node_modules/xlsx|stream"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,0C;;;;;;;;;;;;;;;;;ACXuD;;;AAEvD,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,4HAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;CACzG,CAAC;AAQK,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHALlB;YACP,iEAAoB,CAAC,MAAM,CAAC;SAC7B,EACS,yDAAY;mIAEX,gBAAgB,oFAFjB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFjB,MAAM,YAAY;IAGvB,YACU,eAAgC,EAChC,gBAAkC;QADlC,oBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAJ5C,UAAK,GAAG,QAAQ,CAAC;QAMf,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACxD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,iBAAiB,EAAE,CAAC;IACtC,CAAC;;wEAbU,YAAY;0GAAZ,YAAY;QCTzB,sEAAK;QACD,2EAA+B;QACnC,4DAAM;QAEN,yEAA2B;QAE3B,+EAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNgD;AAErC;AACmB;AACX;AACF;AACT;AACI;AAC+B;AACD;AACzB;AACG;AACoB;AACR;AACT;AACG;AACT;AACmE;AACtE;AAED;AAC4B;AACrB;AACS;AACN;AACG;AACN;AACS;AACT;AACY;AACH;;;;AAEpE,oEAAkB,CAAC,2EAAE,CAAC,CAAC;AAEhB,SAAS,iBAAiB,CAAC,IAAgB;IAChD,OAAO,IAAI,4EAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAGM,MAAM,cAAe,SAAQ,sEAAiB;IACnD,MAAM,CAAC,IAAU,EAAE,aAAqB;QACtC,IAAI,aAAa,KAAK,OAAO,EAAE;YAC7B,IAAI,GAAG,GAAW,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5C,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAClC,IAAI,KAAK,GAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrD,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;;0QAXU,cAAc,SAAd,cAAc;gHAAd,cAAc,WAAd,cAAc;AAapB,MAAM,gBAAgB,GAAmB;IAC9C,KAAK,EAAE;QACL,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;KAC/D;IACD,OAAO,EAAE;QACP,SAAS,EAAE,OAAO;QAClB,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QACrD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;SAC/C;QACD,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;KACvD;CACF,CAAC;AA0CK,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS,cAFR,wDAAY;4GAPb;QACT,EAAE,OAAO,EAAE,oEAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,EAAE,OAAO,EAAE,oEAAiB,EAAE,QAAQ,EAAE,2FAAuB,EAAE,KAAK,EAAE,IAAI,EAAE;QAC9E,EAAE,OAAO,EAAE,oEAAiB,EAAE,QAAQ,EAAE,0FAAsB,EAAE,KAAK,EAAE,IAAI,EAAE;QAC7E,EAAE,OAAO,EAAE,gEAAW,EAAE,QAAQ,EAAE,cAAc,EAAE;QAClD,EAAE,OAAO,EAAE,qEAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;KAC1D,YAjCQ;YACP,qEAAa;YACb,0FAAuB;YACvB,iEAAgB;YAChB,mEAAgB;YAChB,iEAAU;YACV,0FAAkB;YAClB,iEAAU;YACV,oEAAW;YACX,uEAAY;YACZ,qEAAW;YACX,wEAAY;YACZ,8EAAc;YACd,8EAAc;YACd,2EAAa;YACb,qEAAW;YACX,qEAAW;YACX,iFAAe;YACf,8EAAc;YACd,2EAA+B,CAAC,2EAAyB,CAAC;YAC1D,gFAA0B;YAC1B,yEAAuB,CAAC;gBACtB,eAAe,EAAE,YAAY;gBAC7B,cAAc,EAAE,IAAI;gBACpB,MAAM,EAAE,EAAE,OAAO,EAAE,iEAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,6DAAU,CAAC,EAAE;aACxF,CAAC;SACH;oIAUU,SAAS,mBAtClB,wDAAY,aAGZ,qEAAa;QACb,0FAAuB;QACvB,iEAAgB;QAChB,mEAAgB;QAChB,iEAAU;QACV,0FAAkB;QAClB,iEAAU;QACV,oEAAW;QACX,uEAAY;QACZ,qEAAW;QACX,wEAAY;QACZ,8EAAc;QACd,8EAAc;QACd,2EAAa;QACb,qEAAW;QACX,qEAAW;QACX,iFAAe;QACf,8EAAc,iEAEd,gFAA0B;;;;;;;;;;;;;;;;AC1FvB,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,4BAA4B;IAErC,YAAY,EAAE,KAAK;IAEnB,UAAU,EAAE,sCAAsC;IAClD,OAAO,EAAE,aAAa;IAEtB,cAAc,EAAE;QACZ,MAAM,EAAE,yCAAyC;QACjD,UAAU,EAAE,+BAA+B;QAC3C,WAAW,EAAE,sCAAsC;QACnD,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,2BAA2B;QAC1C,iBAAiB,EAAE,cAAc;QACjC,KAAK,EAAE,2CAA2C;QAClD,aAAa,EAAE,cAAc;KAChC;IAED,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,EAAE;CACjB;;;;;;;;;;;;;;;;;;;;ACtB8D;AAGpB;AACH;;;AAExC,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,IAAI,6DAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;KACnC,CAAC;CACH;AAED,MAAM,iBAAiB,GAAG;IACxB,OAAO,EAAE,IAAI,6DAAW,CAAC;QACvB,eAAe,EAAE,EAAE;KACpB,CAAC;CACH;AAKM,MAAM,WAAW;IAEtB,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IACtB,CAAC;IAEE,GAAG,CAAO,IAAY;QAC3B,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,6DAAmB,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,4DAAkB,GAAG,IAAI,EAAE,WAAW,CAAC;aAC5E,IAAI,CAAC,uDAAO,CAAC,iEAAuB,CAAC,CAAC;IAC3C,CAAC;IAGM,IAAI,CAAa,IAAY,EAAE,IAAU;QAC9C,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,6DAAmB,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,4DAAkB,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC;aACnF,IAAI,CAAC,uDAAO,CAAC,iEAAuB,CAAC,CAAC;IAC3C,CAAC;IAEM,GAAG,CAAa,IAAY,EAAE,IAAU;QAC7C,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,6DAAmB,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,4DAAkB,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC;aAClF,IAAI,CAAC,uDAAO,CAAC,iEAAuB,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAO,IAAY;QAC9B,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,6DAAmB,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAoB,4DAAkB,GAAG,IAAI,EAAE,WAAW,CAAC;aAC/E,IAAI,CAAC,uDAAO,CAAC,iEAAuB,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,IAAc;QACxC,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,6DAAmB,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4DAAkB,GAAG,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC;aACtE,IAAI,CAAC,uDAAO,CAAC,iEAAuB,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,IAAc;QACxC,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,6DAAmB,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4DAAkB,GAAG,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC;aACrE,IAAI,CAAC,uDAAO,CAAC,iEAAuB,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEM,QAAQ,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4DAAkB,GAAG,IAAI,EAAE;YAC9C,OAAO,EAAE,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,6DAAmB,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM;SAC3H,CAAC,CAAC,IAAI,CAAC,uDAAO,CAAC,iEAAuB,CAAC,CAAC,CAAC;IAC5C,CAAC;;sEA/CU,WAAW;4GAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;;;;ACVb,MAAM,aAAa;IAmBf,MAAM,CAAC,wBAAwB,CAAC,UAA2B;QAC9D,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAAC,UAA2B;QACtE,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mBAAmB;YAC5B,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAQM,MAAM,CAAC,uCAAuC,CAAC,UAA2B;QAC7E,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAoBM,MAAM,CAAC,yBAAyB,CAAC,UAA2B;QAC/D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,6BAA6B,CAAC,UAA2B;QACnE,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,mBAAmB;YAChC,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,UAA2B;QACxD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,UAA2B;QAC5D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,mBAAmB;YAChC,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,UAA2B;QAC/D,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IA0BM,MAAM,CAAC,qBAAqB,CAAC,UAA2B;QAC3D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,uBAAuB;YACpC,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,UAA2B;QACvD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,UAA2B;QACxD,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,UAA2B;QAC3D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,mBAAmB;YAChC,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,mCAAmC,CAAC,UAA2B;QACzE,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IACM,MAAM,CAAC,kBAAkB,CAAC,UAA2B;QACxD,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,UAA2B;QACvD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,UAA2B;QAC1D,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,UAA2B;QAC1D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IACM,MAAM,CAAC,oBAAoB,CAAC,UAA2B;QAC1D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,sDAAsD;YACnE,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,UAA2B,EAAE,KAAa;QAC7E,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ;YACpC,WAAW,EAAE,sDAAsD;YACnE,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,6BAA6B,CAAC,UAA2B;QACnE,OAAO;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAAC,UAA2B;QACtE,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,qCAAqC;YAClD,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,UAA2B;QAC3D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,8CAA8C;YAC3D,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAeM,MAAM,CAAC,mBAAmB,CAAC,UAA2B;QACzD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,uCAAuC;YACpD,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IA+DM,MAAM,CAAC,oBAAoB,CAAC,UAA2B;QAC1D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,+BAA+B;YAC5C,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,UAA2B;QAC9D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,+BAA+B;YAC5C,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,UAA2B;QACxD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,iCAAiC;YAC9C,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,UAA2B;QAC5D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,iCAAiC;YAC9C,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,2BAA2B,CAAC,UAA2B;QACjE,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IA0BM,MAAM,CAAC,yBAAyB,CAAC,UAA2B;QAC/D,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAQM,MAAM,CAAC,6BAA6B,CAAC,UAA2B;QACnE,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAgCM,MAAM,CAAC,qBAAqB,CAAC,UAA2B;QAC3D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,kCAAkC;YAC/C,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,UAA2B;QACrD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,kDAAkD;YAC/D,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAqBM,MAAM,CAAC,qCAAqC,CAAC,UAA2B;QAC3E,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,0BAA0B,CAAC,UAA2B;QAChE,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,uCAAuC;YACpD,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAQM,MAAM,CAAC,iBAAiB,CAAC,UAA2B;QACvD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,qBAAqB;YAClC,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAcM,MAAM,CAAC,+BAA+B,CAAC,UAA2B;QACrE,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,UAA2B;QACpD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAGM,MAAM,CAAC,kBAAkB,CAAC,UAA2B;QACxD,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,UAA2B;QAC9D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,gBAAgB;YACzB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,4BAA4B,CAAC,UAA2B;QAClE,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,gBAAgB;YACzB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAQM,MAAM,CAAC,oBAAoB,CAAC,UAA2B;QAC1D,OAAO;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,UAAU;SACzB,CAAC;IACN,CAAC;IAcM,MAAM,CAAC,qBAAqB,CAAC,UAA2B;QAC3D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,kCAAkC;YAC/C,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,UAA2B;QAC1D,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,sBAAsB;YACnC,UAAU,EAAE,UAAU;SACzB;IACL,CAAC;;AA/nBa,yCAA2B,GAAiB;IACtD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,EAAE;CAClB;AAEa,sCAAwB,GAAiB;IACnD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,EAAE;CAClB;AAEa,uCAAyB,GAAiB;IACpD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE;CAClB;AAoBa,0CAA4B,GAAiB;IACvD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,EAAE;CAClB;AAWa,iDAAmC,GAAiB;IAC9D,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,EAAE;CAClB;AAEa,4CAA8B,GAAiB;IACzD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,EAAE;CAClB;AAEa,kDAAoC,GAAiB;IAC/D,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE;CAClB;AA+Ca,0CAA4B,GAAiB;IACvD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,EAAE;CAClB;AAEa,qCAAuB,GAAiB;IAClD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,EAAE;CAClB;AAEa,yCAA2B,GAAiB;IACtD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,EAAE;CAClB;AAEa,0CAA4B,GAAiB;IACvD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE;CAClB;AA8Ha,wCAA0B,GAAiB;IACrD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,uCAAuC;CACvD;AAGa,qCAAuB,GAAiB;IAClD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,uBAAuB;CACvC;AAUa,yCAA2B,GAAiB;IACtD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,aAAa;CAC7B;AAGa,yCAA2B,GAAiB;IACtD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,uCAAuC;CACvD;AAEa,sCAAwB,GAAiB;IACnD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,2BAA2B;CAC3C;AAGa,2CAA6B,GAAiB;IACxD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,8BAA8B;CAC9C;AAEa,wCAA0B,GAAiB;IACrD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,2BAA2B;CAC3C;AAEa,wCAA0B,GAAiB;IACrD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,EAAE;CAClB;AAEa,uCAAyB,GAAiB;IACpD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,iDAAiD;CACjE;AAEa,oCAAsB,GAAiB;IACjD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,2BAA2B;CAC3C;AAEa,wCAA0B,GAAiB;IACrD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,EAAE;CAClB;AAEa,sCAAwB,GAAiB;IACnD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE;CAClB;AA+Ca,gCAAkB,GAAiB;IAC7C,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,eAAe;IACxB,WAAW,EAAE,wCAAwC;CACxD;AAEa,uDAAyC,GAAiB;IACpE,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,EAAE;CAClB;AAEa,gDAAkC,GAAiB;IAC7D,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,EAAE;CAClB;AAEa,2BAAa,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE;CAClB;AAWa,2CAA6B,GAAiB;IACxD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,EAAE;CAClB;AAWa,uCAAyB,GAAiB;IACpD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,EAAE;CAClB;AAEa,kCAAoB,GAAiB;IAC/C,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,EAAE;CAClB;AAEa,yCAA2B,GAAiB;IACtD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,EAAE;CAClB;AAEa,wCAA0B,GAAiB;IACrD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE;CAClB;AAEa,yCAA2B,GAAiB;IACtD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,EAAE;CAClB;AAqBa,8BAAgB,GAAiB;IAC3C,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,EAAE;CAClB;AAEa,sCAAwB,GAAiB;IACnD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,EAAE;CAClB;AAEa,uCAAyB,GAAiB;IACpD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oBAAoB;CACpC;AAoBa,yCAA2B,GAAiB;IACtD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,EAAE;CAClB;AAWa,kDAAoC,GAAiB;IAC/D,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,0BAA0B;CAC1C;AAEa,0CAA4B,GAAiB;IACvD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,EAAE;CAClB;AAgDa,sCAAwB,GAAiB;IACnD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,eAAe;IACxB,WAAW,EAAE,EAAE;CAClB;AAWa,0CAA4B,GAAiB;IACvD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,EAAE;CAClB;AAEa,kDAAoC,GAAiB;IAC/D,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,EAAE;CAClB;;;;;;;;;;;;;;;;;;;;ACpnB+C;;;;AAM7C,MAAM,mBAAmB;IAE9B,YACU,qBAA4C,EAC5C,MAAc;QADd,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAQ;IACpB,CAAC;IAEL,WAAW,CACT,KAA6B,EAC7B,KAA0B;QAC1B,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,IAAI,KAAK,EAAE;YACzD,YAAY,CAAC,UAAU,CAAC,qEAAmB,CAAC,CAAC;YAC7C,YAAY,CAAC,UAAU,CAAC,oEAAkB,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;sFAjBU,mBAAmB;oHAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;;;;;;;ACJgC;;;AAK7C,MAAM,eAAe;IAE1B,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IACpB,CAAC;IAEL,WAAW,CACT,KAA6B,EAC7B,KAA0B;QAC1B,IAAI,YAAY,CAAC,OAAO,CAAC,oEAAkB,CAAC,IAAI,YAAY,EAAE;YAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;8EAdU,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;ACJ0B;AACF;;;AAE5C,4EAA4E;AAE5E,kCAAkC;AAE3B,MAAM,sBAAsB;IAGjC,YACU,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAHzC,YAAO,GAAY,IAAI,CAAC;QAM7B,4EAA4E;IAC9E,CAAC;IAED,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,OAAO,IAAI;aACR,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CACH,0DAAU,CACR,CAAC,KAAwB,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;gBACrB,OAAO,gDAAU,CAAC,KAAK,CAAC;YAC1B,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,OAAO;gBAC9C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,gDAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CACF,CACF,CAAC;IACN,CAAC;;4FAxBU,sBAAsB;uHAAtB,sBAAsB,WAAtB,sBAAsB;;;;;;;;;;;;;;;;;;;;;ACFL;AACgB;AAEF;;;AAGrC,MAAM,uBAAuB;IAElC,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IACpB,CAAC;IAEL,SAAS,CAAC,OAA6B,EAAE,IAAiB;QACxD,OAAO,IAAI;aACR,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,0DAAU,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,KAAK,YAAY,mEAAiB,EAAE;gBACtC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;oBACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC9B;YACD,OAAO,gDAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,mBAAmB;QACzB,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;;8FAtBU,uBAAuB;wHAAvB,uBAAuB,WAAvB,uBAAuB;;;;;;;;;;;;;;;;;;ACbmC;AACnB;AAiB7C,MAAM,OAAO;IAkBhB,YAAY,OAAiB;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;QAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC;aAC3E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACzE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3E,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC9E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACzE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACzE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACxE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACxE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE7E,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,iFAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI;cACjB,IAAI,CAAC,QAAQ,CAAC,IAAI;cAClB,IAAI,CAAC,WAAW,CAAC,IAAI;cACrB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;cAC1C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;cACtD,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;cAC1C,IAAI,CAAC,KAAK,CAAC,IAAI;cACf,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;cACxC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,qBAAqB;QACjB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YACpD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACxD,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YAC9D,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YACpD,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK;YAChE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YACpD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACrD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAClD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAChD,SAAS,EAAE,KAAK;YAChB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;SACzD;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;ACpGM,MAAM,QAAQ;IAIjB,YAAY,IAAY;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;CACJ;;;;;;;;;;;;;;;;;ACRqC;AAE/B,MAAM,MAAM;IAIf,YAAY,IAAY,EAAE,aAAuB;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,+CAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,SAAS;QACZ,IAAI,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEhD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;CACJ;;;;;;;;;;;;;;;;ACxBM,MAAM,IAAI;IAGb,YAAY,IAAY,EAAE,IAAY;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;;;;;;;;;;;;;;;;;ACRmD;AAkB7C,MAAM,gBAAgB;IAiBzB,YAAY,IAAuB;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACnH,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3H,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACvDmE;AACZ;AAuBjD,MAAM,YAAY;IAuBrB,YAAY,YAA2B;QACnC,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;QAC3I,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC;QACnJ,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,sDAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;QAC/H,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC;QACnJ,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,OAAO,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YACtC,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvD,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,uDAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC3G,YAAY,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvE,UAAU,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvE,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC,CAAC;IACN,CAAC;IAEM,SAAS;QACZ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,MAAM,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,oEAAwB,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;SACrC;aACI;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;SACrC;IACL,CAAC;IAED,0BAA0B;QACtB,OAAO;YACH,gBAAgB,EAAE,IAAI,CAAC,IAAI;YAC3B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACxC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YACpC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK;YACtD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK;YACtD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;SAC7C;IACL,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAc,GAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAc;IAChH,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACzGmE;AAS7D,MAAM,SAAS;IASlB,YAAY,SAAqB;;QAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,eAAS,CAAC,OAAO,0CAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC/D,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,uBAAuB;QACnB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACzC;IACL,CAAC;CACJ;AAQM,MAAM,eAAe;IAKxB,YAAY,MAAwB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC1C,CAAC;CACJ;;;;;;;;;;;;;;;;;;;ACrDmE;AACF;AAkB3D,MAAM,UAAU;IAGnB,YAAY,MAAc,EAAC,cAAuB;QAC9C,IAAI,CAAC,MAAM,GAAC,MAAM,CAAC;QACnB,IAAI,CAAC,cAAc,GAAC,cAAc,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAC,cAAc,CAAC;IAC9C,CAAC;IACD,wBAAwB;QACpB,OAAO;YACH,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI;YAC7B,WAAW,EAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAE,EAAC,CAAC,IAAI,CAAC;SACjD;IACL,CAAC;CACJ;AAEM,MAAM,MAAM;IAcf,YAAY,MAAe;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,8DAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/H,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC7D,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC/D,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC1D,CAAC;QACF,IAAI,CAAC,cAAc,GAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAE,KAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,GAAE,CAAC;IAC9F,CAAC;IAED,oBAAoB;QAChB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAC5C,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACzC;IACL,CAAC;CACJ;AAED,SAAS,gBAAgB,CAAC,CAAY,EAAE,CAAY;IAChD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAChE,CAAC;;;;;;;;;;;;;;;;;AC9EuD;AASjD,MAAM,SAAS;IAQlB,YAAY,SAAqB;QAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,SAAS,CAAC,IAAI,CAAC;YACrC,IAAI,EAAE,IAAI,uDAAW,CAAC,SAAS,CAAC,IAAI,CAAC;SACxC,CAAC,CAAC;IACP,CAAC;IAED,uBAAuB;QACnB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACzC;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;ACzBM,MAAM,QAAQ;IAUjB,YAAY,QAAmB;QAC3B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/F,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnH,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvI,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,eAAe,GAAC,QAAQ,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IACM,YAAY;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU;QACb,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YACpB,OAAO,IAAI,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;AC7C8B;AACmC;AAGhB;AAuB3C,MAAM,aAAa;IAqBtB,YAAY,KAAqB;QAC7B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,8DAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,gDAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,YAAY,GAAC,KAAK,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,IAAI,SAAS;QACT,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9I,CAAC;IAEM,eAAe;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACzG,IAAI,IAAI,IAAI,IAAI;YACZ,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uDAAuD;IACvD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAI,IAAI,CAAC,UAAmB,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC9F,CAAC;IAED,mBAAmB;QACf,MAAM,IAAI,GAAS,IAAI,IAAI,EAAE,CAAC;QAE9B,IAAI,iBAAiB,GAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAE,EAAC;YAC5C,YAAY,EAAC,CAAC;YACd,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,CAAC,UAAU,IAAE,IAAI,IAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,UAAU,IAAE,IAAI,IAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAE,CAAC,CAAC,IAAI,CAAC,CAAC;SAC/I,CAAC,CAAC,CAAC;QACJ,IAAG,IAAI,CAAC,IAAI,IAAE,sCAAsC,EAAC;YACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,EAAC,iBAAiB,CAAC,CAAC;SACtE;QACD,IAAI,MAAM,GAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAE,EAAC,CAAC,MAAM,CAAC,CAAC,MAAM,IAAE,CAAC,EAAC,EAAC,EAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAE,EAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC;QACzH,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,SAAS;YACtB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvD,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACxF,MAAM,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACvD,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1D,0BAA0B,EAAE,kCAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAChF,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvD,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,kBAAkB;YAChC,QAAQ,EAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAE,GAAE,CAAC,YAAY,CAAC,KAAK,IAAE,WAAW,IAAE,EAAE,CAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAE,GAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM;YAC5I,eAAe,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;YAC5G,OAAO,EAAC,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAC,EAAC,MAAM,EAAC,OAAM;YACnD,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAU,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,eAAe,EAAW,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,IAAE,UAAU,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YAChN,IAAI,EAAE,EAAE;YACR,QAAQ,EAAI,IAAI,CAAC,eAAe,EAAW,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,IAAE,UAAU,CAAC,CAAC,kBAAiB,CAAC,MAAM,CAAC,EAAE,GAAE,GAAE,CAAC,YAAY,CAAC,KAAK,IAAE,WAAW,IAAE,EAAE,CAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAE,GAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,GAAE;YAC7N,MAAM,EAAI,IAAI,CAAC,eAAe,EAAW,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,IAAE,UAAU,EAAC,kBAAiB,CAAC,MAAM,CAAC,EAAE,GAAE,GAAE,CAAC,YAAY,CAAC,KAAK,IAAE,WAAW,IAAE,EAAE,CAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAE,GAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,GAAE;SAChO;IACL,CAAC;CACJ;AAED,SAAS,YAAY,CAAC,IAAiB;IACnC,IAAI,IAAI,IAAI,IAAI,EAAE;QACd,OAAO,cAAc,CAAC;KACzB;IACD,OAAO,kCAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACrC,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,EAAE;KACH;IACD,OAAO,kCAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACpC,CAAC;;;;;;;;;;;;;;;;;;AC7IwD;AACL;AAkB7C,MAAM,gBAAgB;IAmBzB,YAAY,WAA8B,EAAE,YAA4B;;QACpE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;QACpI,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,mDAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,GAAC,WAAW,CAAC,WAAW,CAAC;QACzC,IAAI,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAExI,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9D,IAAI,WAAI,CAAC,WAAW,0CAAE,MAAM,KAAI,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ;YACjE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAE7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAW,CAAC,IAAI,EAAE,+DAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc;;QACV,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,MAAM,EAAE,UAAI,CAAC,MAAM,0CAAE,UAAU;YAC/B,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC9D,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YACzB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAC5B,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BACjC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gCACjC,IAAI,CAAC,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC1F,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;YACpE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;YAChE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SAC3I;IACL,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,IAAI,CAAC,WAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;IAC/F,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;ACvF+E;AACvB;AACS;AACM;AACtB;AACwB;AAqCnE,MAAM,KAAK;IAsCd,YAAY,KAAa;QACrB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,uDAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,8DAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gDAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,kEAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gEAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAErB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI,GAAG,IAAI,0FAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,SAAS;QACT,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IAClG,CAAC;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;IAED,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC;IACpG,CAAC;CACJ;;;;;;;;;;;;;;;;;ACpJmE;AAS7D,MAAM,MAAM;IASf,YAAY,MAAe;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,eAAe,EAAE,IAAI,uDAAW,CAAC,MAAM,CAAC,eAAe,CAAC;SAC3D,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;QAChB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK;SAC/D;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;AC3BM,MAAM,mBAAmB;IAS5B,YAAY,QAA8B,EAAE,KAAa;;QACrD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,cAAQ,CAAC,MAAM,CAAC,0CAAE,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,cAAQ,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/K,IAAI,CAAC,YAAY,GAAG,eAAQ,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAQ,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACpH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,YAAY;QACf,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YACrB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC;QAClE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YACzB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC;QAClE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YACnB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC;QAClE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YACzB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC;QAClE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;;;;;;;;;;;;;;;;ACtBM,MAAM,gBAAgB;IAkB3B,YAAY,KAAwB,EAAE,KAAa;;QACjD,IAAI,CAAC,EAAE,GAAG,WAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS;YACZ,KAAK,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC;gBAClD,CAAC,CAAC,IAAI,IAAI,CACN,YAAK,CAAC,oBAAoB,CAAC,0CAAE,IAAI,EAAE;oBACjC,GAAG;qBACH,WAAK,CAAC,cAAc,CAAC,0CAAE,IAAI,EAAE;oBAC7B,SAAS,CACZ,CAAC,MAAM,EAAE;gBACZ,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,OAAO;YACV,KAAK,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC;gBAClD,CAAC,CAAC,IAAI,IAAI,CACN,YAAK,CAAC,oBAAoB,CAAC,0CAAE,IAAI,EAAE;oBACjC,GAAG;qBACH,WAAK,CAAC,cAAc,CAAC,0CAAE,IAAI,EAAE;oBAC7B,SAAS,CACZ,CAAC,MAAM,EAAE;gBACZ,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,IAAI,CAAC,0CAAE,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY;YACf,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,MAAM;gBAC9B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,CAAC,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,MAAM;oBACjC,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,CAAC,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,IAAI;wBAC/B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,IAAI,CAAC,CACR,CAAC;QAER,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,OAAO,CAAC,EAAC,IAAI,CAAC,YAAY,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG;YAClB,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;SAC9D,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa;YAChB,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,MAAM;gBAC9B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,MAAM;oBAChC,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,CAAC;QACb,IAAI,CAAC,SAAS,GAAG;YACf;gBACE,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC;oBAC/B,CAAC,CAAC,IAAI,IAAI,CACN,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,GAAG,eAAe,CACrD,CAAC,MAAM,EAAE;oBACZ,CAAC,CAAC,IAAI;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC;IACJ,CAAC;IACM,YAAY;QACjB,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI;YAAE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;QACjE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACxB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC;QAChE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC5B,OAAO,CACL,GAAG;gBACH,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,OAAO;gBACP,IAAI,CAAC,EAAE;gBACP,IAAI;gBACJ,IAAI,CAAC,SAAS;gBACd,WAAW,CACZ,CAAC;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YACtB,OAAO,CACL,GAAG;gBACH,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,OAAO;gBACP,IAAI,CAAC,EAAE;gBACP,IAAI;gBACJ,IAAI,CAAC,SAAS;gBACd,SAAS,CACV,CAAC;QACJ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAC3B,OAAO,CACL,GAAG;gBACH,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,OAAO;gBACP,IAAI,CAAC,EAAE;gBACP,IAAI;gBACJ,IAAI,CAAC,SAAS;gBACd,WAAW,CACZ,CAAC;QACJ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;YACpC,OAAO,CACL,GAAG;gBACH,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,OAAO;gBACP,IAAI,CAAC,EAAE;gBACP,IAAI;gBACJ,IAAI,CAAC,SAAS;gBACd,WAAW,CACZ,CAAC;QACJ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACxB,OAAO,CACL,GAAG;gBACH,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,OAAO;gBACP,IAAI,CAAC,EAAE;gBACP,IAAI;gBACJ,IAAI,CAAC,SAAS;gBACd,WAAW,CACZ,CAAC;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YACtB,OAAO,CACL,GAAG;gBACH,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,OAAO;gBACP,IAAI,CAAC,EAAE;gBACP,IAAI;gBACJ,IAAI,CAAC,SAAS;gBACd,WAAW,CACZ,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;CACF;;;;;;;;;;;;;;;;AC3JM,MAAM,UAAU;IAKnB,YAAY,IAAU;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;CACJ;;;;;;;;;;;;;;;;;ACCM,MAAM,2BAA2B;IAMpC,YAAY,IAAY,EAAE,eAA8B,EAAE,aAA4B,EAAE,MAAc;QAClG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI;eACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;CACJ;AAEM,MAAM,kBAAkB;IAa3B,YAAY,KAA0B,EAAE,KAAa;;QAFrD,sBAAiB,GAAS,KAAK,CAAC;QAG5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,WAAK,CAAC,QAAQ,CAAC,0CAAE,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAK,CAAC,sBAAsB,CAAC,0CAAE,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAErI,IAAI,SAAS,GAAG,mBAAO,CAAC,0CAAgC,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvD,IAAG,KAAK,CAAC,mBAAmB,CAAC,IAAE,IAAI,IAAE,KAAK,IAAE,IAAI;YAC5C,IAAI,CAAC,iBAAiB,GAAE,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAC,KAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,GAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAC,KAAI,CAAC;QAC1L,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAC,KAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,GAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAC,KAAI,CAAC;QAExL,IAAI,CAAC,MAAM,GAAG,WAAK,CAAC,IAAI,CAAC,0CAAE,IAAI,EAAE,CAAC;QAClC,MAAM,OAAO,GAAa,KAAK,CAAC,kCAAkC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;aAC/C,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;aAClC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACtB,OAAO,IAAI,2BAA2B,CAClC,SAAS,EACT,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEM,YAAY;QACf,IAAK,IAAI,CAAC,EAAE,IAAI,OAAO;YACnB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;QACjD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC1B,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;QACjE,IAAI,OAAO,IAAI,CAAC,WAAW,IAAE,WAAW,IAAE,IAAI,CAAC,WAAW,IAAI,IAAI;YAC9D,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC;QACrE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YACxB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC;QAErE,IAAI,IAAI,CAAC,WAAW,IAAI,sCAAsC;YAC1D,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC;QAErE,IAAI,IAAI,CAAC,iBAAiB;YACtB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC;QAEnE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;YAC3B,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QAChE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC;QAClE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YACpB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC;QAClE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;YACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;QACjE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI;YAC1C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI;YACxC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI;YACjC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QAChE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;;;;;;;;;;;;;;;;AC7EM,MAAM,eAAe;IAUxB,YAAY,KAAuB,EAAE,KAAa;;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG;YACX,WAAW,EAAE,WAAK,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE;YACrC,WAAW,EAAE,WAAK,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE;YACrC,MAAM,EAAE,YAAK,CAAC,KAAK,CAAC,0CAAE,IAAI,EAAE,MAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAK,CAAC,KAAK,CAAC,0CAAE,IAAI,EAAE,MAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACtF,UAAU,EAAE,WAAK,CAAC,uBAAuB,CAAC,0CAAE,IAAI,EAAE;YAClD,WAAW,EAAE,YAAK,CAAC,mBAAmB,CAAC,0CAAE,IAAI,EAAE,EAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAK,CAAC,mBAAmB,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAK,CAAC,mBAAmB,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YACvM,gBAAgB,EAAE,WAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,EAAE;YACvC,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACpG,SAAS,EAAE,CAAC;oBACR,MAAM,EAAE,WAAK,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE;oBAChC,QAAQ,EAAE,WAAK,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE;oBAClC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;oBACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAK,CAAC,QAAQ,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;oBACtD,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAK,CAAC,QAAQ,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC5D,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,EAAC,CAAC,CAAC,WAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC5D,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAK,CAAC,YAAY,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC7D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAK,CAAC,IAAI,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC7C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC3C,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC9G,SAAS,EAAE,IAAI;iBAClB,CAAC;YACF,QAAQ,EAAE,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC5D,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;YAChE,cAAc,EAAE,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,OAAO,CAAC,CAAC,CAAC,YAAY;gBAC5D,CAAC,CAAC,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,IAAI,CAAC,CAAC,CAAC,WAAW;oBAC1C,CAAC,CAAC,YAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,EAAE,KAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YAC7D,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE;gBACN,QAAQ,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;aAC/I;YACD,gBAAgB,EAAE;gBACd,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;aACjH;YACD,cAAc,EAAE;gBACZ,cAAc,EAAE,EAAE;aACrB;YACD,UAAU,EAAE,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAClL,iBAAiB,EAAE,WAAK,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE;YAC3C,wBAAwB,EAAE,WAAK,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE;YAClD,eAAe,EAAE,IAAI;SACxB;IACL,CAAC;IAEM,YAAY;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;YACpB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACtD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,YAAY,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;eAChE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACjG,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACzB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACxB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;QAClF,IAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YAClE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QACvF,IAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YAC9E,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mBAAmB,CAAC;QAC3F,IAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YAClF,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAC1F,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YACjD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACxF,IAAK,IAAI,CAAC,OAAO,CAAC,UAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;YAClE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,iBAAiB,CAAC;QACzF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI;YAC/B,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;QACrF,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI;YACxC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QACvF,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC1C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE;gBACL,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBAC3C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;gBAC/C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,gBAAgB,EAAE;oBACd,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB;iBACnE;gBACD,QAAQ,EAAE;oBACN,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ;iBAC3C;gBACD,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;gBACjD,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB;gBAC/D,cAAc,EAAE;oBACZ,gBAAgB,EAAE;wBACd;4BACI,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,CAAC;4BACZ,mBAAmB,EAAE,0BAA0B;4BAC/C,iBAAiB,EAAE,0BAA0B;yBAChD;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,CAAC;4BACZ,mBAAmB,EAAE,0BAA0B;4BAC/C,iBAAiB,EAAE,0BAA0B;yBAChD;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,CAAC;4BACZ,mBAAmB,EAAE,0BAA0B;4BAC/C,iBAAiB,EAAE,0BAA0B;yBAChD;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,CAAC;4BACZ,mBAAmB,EAAE,0BAA0B;4BAC/C,iBAAiB,EAAE,0BAA0B;yBAChD;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,CAAC;4BACZ,mBAAmB,EAAE,0BAA0B;4BAC/C,iBAAiB,EAAE,0BAA0B;yBAChD;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,CAAC;4BACZ,mBAAmB,EAAE,0BAA0B;4BAC/C,iBAAiB,EAAE,0BAA0B;yBAChD;wBACD;4BACI,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,CAAC;4BACZ,mBAAmB,EAAE,0BAA0B;4BAC/C,iBAAiB,EAAE,0BAA0B;yBAChD;qBACJ;iBACJ;gBACD,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;aACtC;SACJ;IACL,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC/C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,gBAAgB,EAAE;gBACd,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB;aACnE;YACD,QAAQ,EAAE;gBACN,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ;aAC3C;YACD,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACjD,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB;YAC/D,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;SACtC;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACzPmE;AAS7D,MAAM,MAAM;IASf,YAAmB,MAAe;QAC9B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,IAAI,EAAE,IAAI,uDAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC5D,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;QAChB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACzC;IACL,CAAC;CACJ;AAED,IAAY,WAWX;AAXD,WAAY,WAAW;IACnB,mDAAO;IACP,iDAAM;IACN,qDAAQ;IACR,2DAAW;IACX,iDAAM;IACN,6DAAY;IACZ,iDAAM;IACN,+CAAK;IACL,+CAAK;IACL,6CAAI;AACR,CAAC,EAXW,WAAW,KAAX,WAAW,QAWtB;;;;;;;;;;;;;;;;ACnCM,MAAM,YAAY;IAOrB,YAAY,YAA2B;QACnC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAS,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACtC,CAAC;CACJ;;;;;;;;;;;;;;;;;AC7B4C;AAWtC,MAAM,KAAK;IAUd,YAAY,KAAa;QACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,uDAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;CACJ;;;;;;;;;;;;;;;;ACvBM,MAAM,YAAY;IAMrB,YAAY,YAA2B;QACnC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IACxE,CAAC;CACJ;;;;;;;;;;;;;;;;;ACnBuD;AAEjD,MAAM,sBAAuB,SAAQ,sDAAO;IAG/C,YAAY,OAAiB;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;CACJ;;;;;;;;;;;;;;;;;ACTwD;AAGlD,MAAM,KAAK;IASd,YAAY,OAAgB;QACxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,wDAAwD,CAAC,CAAC,CAAC,CAAC;IAC7I,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACrBwD;AACrB;AAE7B,MAAM,eAAgB,SAAQ,6CAAO;IAGxC,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,UAAU,GAAG,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACX4E;AACpB;AACH;AACF;AAEA;AACI;AAChB;AACqB;AAC9B;AACmB;AACV;AACxC,yCAAY,CAAC,kDAAQ,CAAC,CAAC;AACvB,yCAAY,CAAC,8CAAG,CAAC,CAAC;AAqCX,MAAM,OAAO;IAiChB,YAAY,OAAiB;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,GAAC,OAAO,CAAC,MAAM,CAAC;QAC3B,oFAAoF;QACpF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,uDAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,sDAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uDAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,gLAAgL;QAChL,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,8DAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,yCAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,8EAA8E;QAC9E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uFAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAC,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,2CAAc,CAAC,sCAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,CAAC;IAED,kBAAkB;;QACd,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACjE,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAC/C,mBAAmB,EAAE,kCAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACjE,OAAO,EAAE,IAAI,CAAC,KAAK;YACnB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YACnD,OAAO,EAAE,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACrC,KAAK;YACjB,SAAS,EAAE,UAAI,CAAC,cAAc,0CAAE,MAAM,CAAC,IAAI;YAC3C,SAAS,EAAE,UAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,IAAI;YAC7C,OAAO,EAAE,UAAI,CAAC,cAAc,0CAAE,WAAW,CAAC,IAAI;YAC9C,QAAQ,EAAE,UAAI,CAAC,cAAc,0CAAE,MAAM,CAAC,IAAI;YAC1C,QAAQ,EAAE,UAAI,CAAC,cAAc,0CAAE,YAAY,CAAC,IAAI;YAChD,OAAO,EAAE,UAAI,CAAC,cAAc,0CAAE,MAAM,CAAC,IAAI;YACzC,YAAY,EAAE,UAAI,CAAC,cAAc,0CAAE,KAAK,CAAC,IAAI;YAC7C,IAAI,EAAE,UAAI,CAAC,cAAc,0CAAE,KAAK,CAAC,IAAI;YACrC,IAAI,EAAE,UAAI,CAAC,cAAc,0CAAE,IAAI,CAAC,IAAI;YACpC,oBAAoB,EAAE,UAAI,CAAC,cAAc,0CAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;YACxF,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxE,SAAS,EAAE,IAAI,CAAC,iBAAiB;YACjC,SAAS,EAAE,IAAI,CAAC,wBAAwB;YACxC,uCAAuC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9F,yDAAyD,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtH,MAAM,EAAE,IAAI,CAAC,gBAAgB;YAC7B,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACjD,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,IAAI,EAAC,IAAI,CAAC,MAAM;SACZ,CAAC;IACb,CAAC;CACJ;;;;;;;;;;;;;;;;;AC9JM,MAAM,cAAc;IAMvB,YAAY,QAAyB;QACjC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,gBAAgB,CAAC,MAAoB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAEM,YAAY;QACf,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;;YAEtH,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;IACrH,CAAC;CACJ;AAEM,MAAM,YAAY;IAKrB,YAAY,MAAqB;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;CACJ;;;;;;;;;;;;;;;;;;;AC/C8B;AAEW;AAoBnC,MAAM,eAAe;IAiBxB,YAAY,IAAsB;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACvG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,2CAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAED,cAAc;QACV,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC5B,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC/D,MAAM,EAAE,kCAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACnD,MAAM,EAAE,kCAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YAClD,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzG,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;SACvF;IACL,CAAC;IAED,6BAA6B;IAC7B,sGAAsG;IACtG,IAAI;IACJ,IAAI,SAAS;QACT,OAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,GAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,SAAS,IAAE,IAAI,CAAC,YAAY,CAAC;IAC7C,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;AC/FmD;AACgC;AACzC;AAEZ;AAyBxB,MAAM,OAAO;IAuBhB,YAAY,OAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,mDAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,2CAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,+FAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAC,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,cAAc;QACV,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC5B,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,kCAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACnD,MAAM,EAAE,kCAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YAClD,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SACvF;IACL,CAAC;IACD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACzF,CAAC;IACD,IAAI,SAAS;QACT,OAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,GAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9G,CAAC;CAEJ;;;;;;;;;;;;;;;;ACxGM,MAAM,aAAa;IAWtB,YAAY,MAAsB;QAC9B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtC,CAAC;CACJ;;;;;;;;;;;;;;;;;;;ACnCwD;AAE3B;AAsBvB,MAAM,MAAM;IAsBf,YAAY,MAAe;QACvB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACrH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACjH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACzF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,uDAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,aAAa,GAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;IAC/H,CAAC;IAED,cAAc;;QACV,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC9D,IAAI,EAAE,UAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,MAAM,EAAE,IAAI,CAAC,UAAU,IAAE,IAAI,EAAC,IAAG,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7H,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,MAAK,EAAC,OAAM;YAC7F,KAAK,EAAE,OAAO,IAAI,CAAC,YAAY,IAAE,WAAW,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,IAAI;YACpF,KAAK,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,IAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACzL,KAAK,EAAG,OAAO,IAAI,CAAC,YAAY,IAAE,WAAW,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,IAAI;YACrF,KAAK,EAAG,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,IAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1L,KAAK,EAAG,OAAO,IAAI,CAAC,YAAY,IAAE,WAAW,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,IAAI;YACrF,KAAK,EAAG,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,IAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,CAAC,CAAC,UAAI,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1L,IAAI,EAAC,EAAE;SACV;IACL,CAAC;IAED,uBAAuB;;QACnB,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC9D,IAAI,EAAE,UAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAC,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,MAAK,EAAC,OAAM;YAC3F,MAAM,EAAC,IAAI,CAAC,QAAQ;YACpB,MAAM,EAAE,IAAI,CAAC,KAAK;YAClB,MAAM,EAAC,IAAI,CAAC,UAAU;YACtB,MAAM,EAAC,kCAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YAClD,SAAS,EAAC,kCAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;SAC3D;IACL,CAAC;IAED,+BAA+B;IAC/B,eAAe;IACf,iCAAiC;IACjC,oCAAoC;IACpC,oCAAoC;IACpC,mCAAmC;IACnC,gDAAgD;IAChD,0BAA0B;IAC1B,4BAA4B;IAC5B,iCAAiC;IACjC,8BAA8B;IAC9B,mCAAmC;IACnC,+DAA+D;IAC/D,iDAAiD;IACjD,6IAA6I;IAC7I,iDAAiD;IACjD,6IAA6I;IAC7I,iDAAiD;IACjD,6IAA6I;IAC7I,mBAAmB;IACnB,QAAQ;IACR,IAAI;IAEJ,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,IAAI,CAAC,WAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzH,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;IAC1C,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;AC3IuD;AACJ;AAErB;AAgBxB,MAAM,eAAe;IAexB,YAAY,OAAyB;QACjC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,iDAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,sDAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,cAAc;QACV,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;YACjC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YACnC,mBAAmB,EAAE,kCAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YAC/D,gBAAgB,EAAE,kCAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACvD,gBAAgB,EAAE,kCAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;YACpE,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACzC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACrE,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,gBAAgB,EAAG,kCAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACxD,gBAAgB,EAAE,kCAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACrD,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;YACzE,IAAI,EAAE,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;SAC7I;IACL,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,YAAY,IAAI,SAAS,CAAC,eAAe,KAAK,WAAW,IAAI,SAAS,CAAC,eAAe,KAAK,WAAW,CAAC,CAAC;IACrL,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,gBAAgB;QAChB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACpE,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,uDAAuD;IACvD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAI,IAAI,CAAC,WAAoB,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC/F,CAAC;CAEJ;AAQM,MAAM,wBAAwB;IAKjC,YAAY,SAAoC;QAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;IACrD,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;ACrHoF;AAC5B;AACP;AACM;AACgB;AACY;AAChC;AACA;AAyB7C,MAAM,OAAO;IAuBhB,oBAAoB;IACpB,uBAAuB;IAEvB,YAAY,OAAiB;;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,kDAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,kEAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,uDAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,iDAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,sDAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,2EAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjG,IAAI,CAAC,KAAK,GAAG,IAAI,uDAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,iDAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEvG,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzG,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzG,cAAc,EAAE,IAAI,uDAAW,CAAC,UAAI,CAAC,cAAc,0CAAE,IAAI,CAAC;SAC7D,CAAC,CAAC;QACH,wBAAwB;QACxB,yBAAyB;IAC7B,CAAC;IAED,IAAI,gBAAgB;QAChB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACpE,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC;IACvF,CAAC;IAED,IAAI,yBAAyB;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC;IAChG,CAAC;IAED,IAAI,2BAA2B;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,IAAI,WAAW,IAAI,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,MAAM,CAAC;IAC7I,CAAC;IAED,IAAI,mBAAmB;QACnB,IAAI,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;QAE/F,IAAI,mBAAmB,CAAC,MAAM,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC;QAEhB,OAAO,mBAAmB;aACrB,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;aACzC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAE,QAAiB,GAAI,OAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;CACJ;AAED,SAAS,gBAAgB,CAAC,CAAY,EAAE,CAAY;IAChD,OAAO,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpC,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAClC,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oCACnC,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wCAClC,CAAC,CAAC,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4CACnC,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gDACnC,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,CAAC;;;;;;;;;;;;;;;;AC9IM,MAAM,SAAS;IAYlB,YAAY,SAAqB;QAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC;QACrD,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC,wBAAwB,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IACrC,CAAC;CACJ;;;;;;;;;;;;;;;;;ACrCmD;AAyB7C,MAAM,eAAe;IAyBxB,YAAY,SAA2B;QACnC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,mDAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,GAAC,SAAS,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,cAAc,GAAC,SAAS,CAAC,cAAc,CAAC;IACjD,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;IAClF,CAAC;CACJ;;;;;;;;;;;;;;;;;;AC9EmD;AACoB;AA6BjE,MAAM,SAAS;IA6BlB,YAAY,SAAqB;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,mDAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9F,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;QACnD,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC,yBAAyB,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe;QAChD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,kEAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;QACnD,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC,yBAAyB,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAC,SAAS,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAC,SAAS,CAAC,kBAAkB,CAAC;IACzD,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;CACJ;;;;;;;;;;;;;;;;;;AC3FmE;AACtB;AASvC,MAAM,WAAW;IASpB,YAAY,WAAyB;QACjC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,6CAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,yBAAyB;QACrB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACzC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAE3D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;IAGD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACrE,CAAC;CACJ;AAED,SAAS,cAAc,CAAC,CAAU,EAAE,CAAU;IAC1C,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI;QACtB,OAAO,CAAC,CAAC;IACb,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI;QACtB,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC;;;;;;;;;;;;;;;;;AChEmE;AAY7D,MAAM,OAAO;IAYhB,YAAmB,OAAiB;QAChC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC1D,IAAI,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,YAAY,CAAC;YAC3C,iBAAiB,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC7D,MAAM,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QACjB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAC9C,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK;YAChE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;SAC7C;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;;AClDwD;AAalD,MAAM,kBAAkB;IAY3B,YAAY,IAAyB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,uDAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,IAAI,CAAC,WAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;IAC/F,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;IACxG,CAAC;CACJ;;;;;;;;;;;;;;;;;;;AC5CmE;AACX;AACD;AA0BjD,MAAM,UAAU;IAwBnB,YAAY,IAAiB;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,uDAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,sDAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACvD,CAAC,CAAC;IACP,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,IAAI,CAAC,WAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;IAC/F,CAAC;IAED,eAAe;QACX,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YAC9C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;SACjD;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;AC1FwD;AACA;AAG1B;AAexB,MAAM,WAAW;IAgBpB,YAAY,WAAyB;QACjC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,8EAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;YAC3G,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,8EAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW;YACjH,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,8EAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACvE,kBAAkB,EAAE,kCAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,8EAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtG,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;;AC5DyD;AAOnD,MAAM,eAAgB,SAAQ,qDAAW;IAI5C,YAAY,WAA6B;QACrC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IACnC,CAAC;CACJ;;;;;;;;;;;;;;;;;AClBmE;AAQ7D,MAAM,cAAc;IAOvB,YAAY,cAA+B;QACvC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACtB,IAAI,EAAE,IAAI,uDAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACpE,CAAC,CAAC;IACP,CAAC;IAED,4BAA4B;QACxB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACzC,CAAC;IACN,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7B8C;AACW;AACN;AACG;AACD;AACY;AAC8C;AACH;AACR;AACK;AACH;AACR;AACuB;AACG;AACqB;AAC9B;AACR;AACoB;AACsC;;;AAElK,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,iCAAiC,EAAE,SAAS,EAAE,8HAA4B,EAAE;IACpF,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,iIAA6B,EAAE;IACtF,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,uJAAoC,EAAE;IAC7F,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,iIAA6B,EAAE;IAC5F,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,yHAA0B,EAAE;IACvE,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,iHAAwB,EAAE;IACnE,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,uJAAoC,EAAE;IACnG;QACE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,yHAA6B,EAAE,QAAQ,EAAE;YACpE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,qHAAwB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE;YAC7F,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,6GAAsB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;YACvF,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;YACtD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;SACtC;KACF;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mHAA2B,EAAE,QAAQ,EAAE;YAChE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,+GAAsB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE;YAC3F,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,uGAAoB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;YACrF,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;YACtD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;SACtC;KACF;IACD,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,qIAA8B,EAAE;IACnE,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,2KAA0C,EAAE;IACnG,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;CACvC,CAAC;AAiBK,MAAM,cAAc;;4EAAd,cAAc;4GAAd,cAAc;gHAVhB;YACP,0DAAY;YACZ,kEAAa;YACb,4DAAW;YACX,mEAAqB,CAAC,MAAM,CAAC;YAC7B,iEAAe;YACf,wDAAW;YACX,gEAAmB;SACpB;oIAEU,cAAc,mBAbvB,yHAA6B;QAC7B,mHAA2B,aAG3B,0DAAY;QACZ,kEAAa;QACb,4DAAW,8DAEX,iEAAe;QACf,wDAAW;QACX,gEAAmB;;;;;;;;;;;;;;;;;;;;;AC7DoC;;;;;;ICInD,wEAA6D;IAAA,mFAAI;IAAA,4DAAI;;;IACrE,wEAA2D;IAAA,mFAAI;IAAA,4DAAI;;ADGpE,MAAM,2BAA2B;IAItC,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAHxB,QAAG,GAAW,SAAS,CAAC;IAIpB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,6BAA6B,EAAE;gBACpD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;aACpB;iBACI;gBACH,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC;;sGArBU,2BAA2B;yHAA3B,2BAA2B;QCVxC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,oFAAK;QAAA,4DAAI;QACtB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAA0B;QAAA,mFAAI;QAAA,4DAAI;QAClC,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,qHAAqE;QACrE,qHAAmE;QACvE,4DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,0EAA8B;QAC1B,wEAAmH;QAApC,yJAAe,SAAS,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,yEAA+G;QAAlC,yJAAe,OAAO,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,4DAAM;QACN,2EAA4B;QACxB,2EAAgE;QAC5D,sFAAgD;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;;QAjB6B,2DAAsB;QAAtB,sFAAsB;QACtB,0DAAoB;QAApB,oFAAoB;QAWX,2DAA+B;QAA/B,yFAA+B;kpGDV7D,CAAC,uFAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;AENU;;;;;;ICEnD,wEAA6D;IAAA,mFAAI;IAAA,4DAAI;;;IACrE,wEAA2D;IAAA,mFAAI;IAAA,4DAAI;;;IAGvE,wEAA8D;IAAA,mFAAI;IAAA,4DAAI;;;IACtE,wEAA4D;IAAA,mFAAI;IAAA,4DAAI;;ADCjE,MAAM,6BAA6B;IAIxC,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAHxB,QAAG,GAAW,SAAS,CAAC;IAIpB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,+BAA+B,EAAE;gBACtD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;aACpB;iBACI;gBACH,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC;;0GArBU,6BAA6B;2HAA7B,6BAA6B;QCV1C,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,qHAAqE;QACrE,qHAAmE;QACvE,4DAAM;QAEN,qHAAsE;QACtE,qHAAoE;QAEpE,0EAA4B;QACxB,0EAA8B;QAC1B,wEAAmH;QAApC,2JAAe,SAAS,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,wEAA+G;QAAlC,2JAAe,OAAO,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,4DAAM;QACN,2EAA4B;QACxB,2EAAgE;QAC5D,sFAAgD;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEV,4DAAM;;;QAnB6B,0DAAsB;QAAtB,sFAAsB;QACtB,0DAAoB;QAApB,oFAAoB;QAGvB,0DAAsB;QAAtB,sFAAsB;QACtB,0DAAoB;QAApB,oFAAoB;QAQR,0DAA+B;QAA/B,yFAA+B;4qGDT7D,CAAC,uFAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEPF;AACO;AACC;AAC+B;AACpB;AACL;AACM;AACiC;AACY;AACE;AACpB;AACuB;AACA;AACH;AACjD;AACyD;;;;AAE1H,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,+FAAqB,EAAE;CACrD;AA8BM,MAAM,eAAe;;8EAAf,eAAe;6GAAf,eAAe;iHAhBjB;YACP,0DAAY;YACZ,0EAAwB,EAAE;YAC1B,mEAAqB,CAAC,MAAM,CAAC;YAC7B,wDAAW;YACX,gEAAmB;YACnB,wEAAgB;YAChB,8EAAmB;YACnB,2EAAW;SACZ;oIAOU,eAAe,mBA1BxB,+FAAqB;QACrB,6GAAwB;QACxB,yHAA4B;QAC5B,2HAA4B;QAC5B,uGAAsB;QACtB,8HAA6B;QAC7B,8HAA6B;QAC7B,2HAA4B;QAC5B,mIAA8B,aAG9B,0DAAY,iIAGZ,wDAAW;QACX,gEAAmB;QACnB,wEAAgB;QAChB,8EAAmB;QACnB,2EAAW,aAGX,6GAAwB;QACxB,yHAA4B;QAC5B,2HAA4B;;;;;;;;;;;;;;;;;;;;;;AC3CsI;;;;;;;AAO/J,MAAM,4BAA4B;IASvC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAP5C,uBAAkB,GAAwB,EAAE,CAAC;IAQzC,CAAC;IAEL,eAAe;QACb,oDAAc,CAAC,mDAAa,EAAE,iDAAW,EAAE,oDAAc,EAAE,kDAAY,EAAE,iDAAW,EAAE,4CAAM,EAAE,6CAAO,CAAC,CAAC;QAEvG,IAAI,CAAC,OAAO,GAAuB,IAAI,CAAC,KAAK,CAAC,aAAc,CAAC,UAAU,CAAC,IAAI,CAA6B,CAAC;QAE1G,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC;iBAC9C,SAAS,CAAC,CAAC,CAAC,EAAE;gBACb,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;aACzC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,KAAK;YACZ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAEvB,IAAI,CAAC,KAAK,GAAG,IAAI,2CAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IAC7D,CAAC;IAEO,cAAc;QACpB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;YACzB,OAAO,EAAE,YAAY;SACtB;IACH,CAAC;IAED,YAAY;QACV,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;YAC1J,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;oBACnJ,IAAI,EAAE,QAAQ;oBACd,eAAe,EAAE,mBAAmB;oBACpC,WAAW,EAAE,mBAAmB;oBAChC,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,IAAI;iBACd,CAAC;SACH;IACH,CAAC;IACD,IAAI,iBAAiB;QACnB,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,CAAC;;wGA1EU,4BAA4B;0HAA5B,4BAA4B;;;;;;QCXzC,yEAAiC;QAC7B,yEAA2D;QACvD,uEAA2C;QAAA,6EAAG;QAAA,4DAAI;QAClD,uEAAgL;;QAAA,+DAAI;QAAA,4DAAI;QAC5L,4DAAM;QAEN,uEAAgD;QAAA,uDAAuB;QAAA,4DAAI;QAE3E,yEAAuF;QACnF,8EAAwB;QAC5B,4DAAM;QAEN,qEAA2C;QAE3C,0EAA8E;QAC1E,wEAA4C;QAAA,oFAAI;QAAA,4DAAI;QACpD,yEAAwB;QAAA,wDAA0C;;QAAA,4DAAI;QAC1E,4DAAM;QACV,4DAAM;;QAfK,0DAAsE;QAAtE,wTAAsE;QAAC,uFAA8B;QAG5D,0DAAuB;QAAvB,sFAAuB;QAU3C,0DAA0C;QAA1C,mKAA0C;;ADwE1E,MAAM,YAAY,GAAiB;IAEjC,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;KACrB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAC3B;IACD,MAAM,EAAE;QACN,CAAC,EAAE;YACD,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACxB,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACzB,OAAO,EAAE,KAAK;SACf;QACD,CAAC,EAAE;YACD,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACxB,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACzB,OAAO,EAAE,KAAK;SACf;KACF;CACF;;;;;;;;;;;;;;;;;;;;;;AE1G+B;;;;;;;AAQzB,MAAM,wBAAwB;IAenC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAf5C,OAAO;QACA,qBAAgB,GAAW,CAAC,CAAC;QAC7B,uBAAkB,GAAW,CAAC,CAAC;QAEtC,SAAS;QACF,4BAAuB,GAAW,CAAC,CAAC;QACpC,8BAAyB,GAAW,CAAC,CAAC;QAE7C,OAAO;QACA,0BAAqB,GAAW,CAAC,CAAC;QAClC,4BAAuB,GAAW,CAAC,CAAC;IAMvC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAmB;QACvB,8CAAQ,CAAC;YACP,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC;YACvE,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC;YAC3E,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,UAAU,CAAC;YACrF,yBAAyB,EAAE,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,UAAU,CAAC;YACzF,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,UAAU,CAAC;YACjF,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,UAAU,CAAC;SACtF,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAC/C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;YACnD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,uBAAuB,CAAC;YAC7D,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC;YACjE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;YACzD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,uBAAuB,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;;gGA3CU,wBAAwB;sHAAxB,wBAAwB;QCVrC,yEAAiC;QAC7B,yEAA6F;QACzF,uEAAsK;;QAAA,+DAAI;QAAA,4DAAI;QAClL,4DAAM;QAEN,yEAAoC;QAChC,yEAAiF;QAC7E,uEAA2D;QAAA,yFAAK;QAAA,4DAAI;QACpE,uEAAkD;QAAA,wDAAwC;;QAAA,4DAAI;QAC9F,wEAAuC;QAAA,wDAA0E;;;QAAA,4DAAI;QACzH,4DAAM;QACN,qEAAoD;QACpD,0EAAuC;QACnC,2EAA+F;QAC3F,yEAAsC;QAAA,kHAAS;QAAA,4DAAI;QACnD,wEAAkD;QAAA,wDAAgD;;QAAA,4DAAI;QACtG,wEAAuC;QAAA,wDAAqF;;;QAAA,4DAAI;QACpI,4DAAM;QACN,2EAAiF;QAC7E,yEAAsC;QAAA,kHAAS;QAAA,4DAAI;QACnD,wEAAkD;QAAA,wDAA8C;;QAAA,4DAAI;QACpG,wEAAuC;QAAA,wDAAmF;;;QAAA,4DAAI;QAClI,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;QAvBK,0DAA4D;QAA5D,ySAA4D;QAAC,uFAA8B;QAMxC,0DAAwC;QAAxC,iKAAwC;QACnD,0DAA0E;QAA1E,sVAA0E;QAM3D,0DAAgD;QAAhD,wKAAgD;QAC3D,0DAAqF;QAArF,qXAAqF;QAI1E,0DAA8C;QAA9C,sKAA8C;QACzD,0DAAmF;QAAnF,mXAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpB7F;AAOb;AAEU;;;;;;;;;;;;;ICE1B,mEAA4D;;;;IAUpE,0EAAqE;IACjE,4EAAkC;IAAA,4EAAsI;IAApC,6TAAoB,KAAK,4BAAS;IAApI,4DAAsI;IAAA,2EAAgB;IAAA,uEAAE;IAAA,4DAAO;IAAA,4DAAQ;IACzM,4EAAkC;IAAA,4EAAgI;IAA1C,6TAAoB,WAAW,4BAAS;IAA9H,4DAAgI;IAAA,2EAAgB;IAAA,6EAAG;IAAA,4DAAO;IAAA,4DAAQ;IACpM,4EAAkC;IAAA,6EAAgI;IAA1C,8TAAoB,WAAW,4BAAS;IAA9H,4DAAgI;IAAA,4EAAgB;IAAA,8EAAG;IAAA,4DAAO;IAAA,4DAAQ;IACxM,4DAAM;;;IAH8E,0DAAqB;IAArB,qFAAqB;IACrB,0DAAqB;IAArB,qFAAqB;IACrB,0DAAqB;IAArB,qFAAqB;;;IAEzG,qEAEM;;;IAKM,6EAAyD;IAAA,uDAAa;IAAA,4DAAS;;;IAAvE,iFAAoB;IAA6B,0DAAa;IAAb,4EAAa;;;IAY1E,2EAA2E;IAAA,mFAAI;IAAA,4DAAO;;;IACtF,2EAAyE;IAAA,mFAAI;IAAA,4DAAO;;;IAIpF,0EAA0B;IACtB,0EAA6B;IAAA,2EAAoC;IAAA,uDAAyB;IAAA,4DAAO;IAAA,4DAAM;IACvG,sEAAK;IACD,0EAAsB;IAClB,2EAAoC;IAChC,0EAAoB;IAChB,qEAAuF;IAC3F,4DAAM;IACV,4DAAO;IACP,2EAA2C;IAAA,wDAAqB;IAAA,4DAAO;IACvE,4EAA4C;IAAA,wDAAuB;IAAA,4DAAO;IAC9E,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;IAZ+D,0DAAyB;IAAzB,0FAAyB;IAKrD,0DAA2D;IAA3D,8LAA2D;IAG7C,0DAAqB;IAArB,sFAAqB;IACpB,0DAAuB;IAAvB,wFAAuB;;;IAStE,8DAAwM;IAAxM,0EAAwM;IAAA,sEAAqJ;IAAA,4DAAM;;;ADrDrX,MAAM,8BAA8B;IAqBzC,YACU,gBAAkC,EAClC,aAA2B,EAC3B,cAA6B,EAC7B,gBAAiC,EACjC,cAA6B;QAJ7B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAc;QAC3B,mBAAc,GAAd,cAAc,CAAe;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,mBAAc,GAAd,cAAc,CAAe;QApBvC,UAAK,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,QAAG,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QACzC,gBAAW,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAIjD,cAAS,GAAW,KAAK,CAAC;QAC1B,aAAQ,GAAW,SAAS,CAAC;QAE7B,QAAG,GAAQ,CAAC,CAAC;QAGb,oBAAe,GAA0F,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC,EAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC,EAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC;YACvR,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC,EAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC,EAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC;YAC7K,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC,EAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC,EAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAG,WAAW,EAAE,EAAE,EAAC,CAAC;IAMnI,CAAC;IAE5C,QAAQ;QAEJ,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,8CAAQ,CAAC;YACP,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;SACtD,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,YAAY,GAAC,EAAE,CAAC;YACrB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAC,EAAE;gBAC9B,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAE,CAAC,GAAE,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,IAAI,EAAC,IAAI,EAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC;YAC5E,CAAC,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACT,CAAC;IACD,eAAe;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,UAAU,GAAC,KAAK,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,UAAU,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,WAAW,EAAE,GAAC,GAAG,GAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,GAAC,EAAE,EAAC,IAAG,EAAC,GAAE,CAAC,GAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,GAAC,GAAG,GAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAC,EAAE,EAAC,IAAG,EAAC,GAAE,CAAC,GAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,KAAK;QACH,IAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAC;YAC5B,IAAI,CAAC,QAAQ,GAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAE,CAAC,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,KAAK,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC;SACjF;;YACD,IAAI,CAAC,QAAQ,GAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAE,CAAC,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,KAAK,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,KAAK,GAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,UAAS,EAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,GAAG,GAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,UAAS,EAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,EAAC,GAAG,EAAC,IAAI,CAAC,QAAQ,EAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,IAAI,CAAC,UAAU,CAAC;aAClH,SAAS,CAAC,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,eAAe,GAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,GAAC,CAAC,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAE;;oBAC/B,IAAI,CAAC,GAAC;wBACJ,aAAa,EAAC,IAAI,CAAC,IAAI;wBACvB,SAAS,EAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,KAAK,IAAE,IAAI,CAAC,IAAI,CAAC,EAAC,YAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,KAAK,IAAE,IAAI,CAAC,IAAI,CAAC,0CAAE,KAAK,EAAC,EAAC;wBAC1G,WAAW,EAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,KAAK,IAAE,IAAI,CAAC,IAAI,CAAC,EAAC,YAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,KAAK,IAAE,IAAI,CAAC,IAAI,CAAC,0CAAE,KAAK,EAAC,EAAC;qBAC7G,CAAC;oBACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,GAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,IAAE,WAAW,EAAC,EAAC,EAAC,EAAC,CAAC,SAAS,EAAC,IAAI,CAAC,GAAG,CAAC;gBACzE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM;;QACJ,IAAI,QAAQ,GAAC,EAAE,CAAC;QAChB,IAAI,GAAG,GAAC,UAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,IAAI,IAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,0CAAE,IAAI;QAEvE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAC,IAAI,CAAC,QAAQ,EAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;IAChI,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACpD,OAAO,IAAI,CAAC;QACd,OAAc,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,kBAAkB,EAAE,GAAG,KAAK,GAAU,IAAI,CAAC,GAAG,CAAC,KAAM,CAAC,kBAAkB,EAAE,CAAC;IAC7G,CAAC;IACD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QAEb,OAAO,IAAI,CAAC,eAAe,CAAC,4DAA2D;IACzF,CAAC;;4GAtGU,8BAA8B;4HAA9B,8BAA8B;;QCjB3C,yEAAgC;QAC5B,yEAAuC;QACnC,yEAAgD;QAC5C,uEAA+B;QAAA,mFAAI;QAAA,4DAAI;QAC3C,4DAAM;QACN,yEAA0B;QACtB,yEAA4C;QACxC,4EAAsJ;QAA1H,8JAAoB,SAAS,EAAC,yBAAqB,IAAI,CAAC,SAAC,WAAO,IAAC;QAAyD,mFAAI;QAAA,4DAAS;QACnK,4EAAqJ;QAAxH,8JAAoB,OAAO,EAAC,yBAAqB,IAAI,CAAC,SAAC,WAAO,IAAC;QAAyD,oFAAI;QAAA,4DAAS;QACtK,4DAAM;QACN,0EAAsE;QAClE,4EAA+H;QAAvE,oSAAS,UAAa,IAAC;QAA/E,4DAA+H;QAC/H,+IAA4D;QAC5D,4FAA+D;QAC/D,4FAAoE;QAChE,wEAA0C;QAC1C,6EAA4D;QAAtB,8JAAa,WAAO,IAAC;QAA3D,4DAA4D;QAChE,4DAAuB;QAC3B,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,2EAAqC;QACjC,8HAIM;QACN,6HAEM;QACN,2EAAiD;QAC7C,uEAAK;QACD,8EAA+E;QAApB,yJAAU,WAAO,IAAE;QAC1E,8EAAmC;QAAA,wEAAE;QAAA,4DAAS;QAC9C,mIAA+E;QAInF,4DAAS;QACb,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,2EAAqC;QACjC,4FAAuF;QACnF,2EAAkC;QAC9B,4EAA6C;QAAA,oFAAI;QAAA,4DAAO;QACxD,+HAAsF;QACtF,+HAAoF;QACpF,4EAAqD;QAAA,wEAAE;QAAA,4DAAO;QAClE,4DAAM;QACN,0NAec;QAClB,4DAAuB;QAC3B,4DAAM;QACN,2EAAoC;QAAA,yEAAmE;QAAnB,kJAAS,YAAQ,IAAC;QAAC,oFAAI;QAAA,4DAAI;QAAA,4DAAM;QACzH,4DAAM;QACN,yNAA0Y;;;;QA/D5R,0DAA6C;QAA7C,sKAA6C;QAC9C,0DAA6C;QAA7C,sKAA6C;QAGxG,0DAAqB;QAArB,kFAAqB;QACxC,0DAA4B;QAA5B,iFAA4B;QAEE,0DAAsB;QAAtB,4EAAsB;QAC3C,0DAAqB;QAArB,kFAAqB;QACvB,0DAAmB;QAAnB,gFAAmB;QAMT,0DAA2B;QAA3B,2FAA2B;QAK3B,0DAA2B;QAA3B,2FAA2B;QAK5B,0DAA2B;QAA3B,wFAA2B;QAC9C,0DAAgB;QAAhB,yEAAgB;QACoB,0DAAW;QAAX,iFAAW;QASR,0DAA2B;QAA3B,wFAA2B;QAG1C,0DAA2B;QAA3B,2FAA2B;QAC3B,0DAAyB;QAAzB,yFAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;AC9ChC;AAC6B;;;;;;;;;;;ICc9D,mEAA4D;;;IAW5D,wEAA0E;IAAA,iHAAS;IAAA,4DAAI;;;IACvF,wEAAwE;IAAA,iHAAS;IAAA,4DAAI;;;;IAQ7E,0EAA2B;IACvB,wEAAkE;IAAA,uDAAc;IAAA,4DAAI;IACpF,wEAA6B;IAAA,uDAAmB;IAAA,4DAAI;IACpD,qEAA0B;IAC1B,oEAAG;IAAA,uDAAoC;;IAAA,4DAAI;IAC/C,4DAAM;;;;IAJgC,0DAA+B;IAA/B,0JAA+B;IAAC,0DAAc;IAAd,8EAAc;IACnD,0DAAmB;IAAnB,kFAAmB;IAE7C,0DAAoC;IAApC,4JAAoC;;;IAPnD,2FAAqI;IACjI,0EAA+B;IAAA,wEAAoC;IAAA,+FAAM;IAAA,4DAAI;IAAA,4DAAM;IACnF,uOAOc;IAClB,4DAAuB;;;IAViE,4GAA4C;;;IAevH,8DAAwM;IAAxM,0EAAwM;IAAA,sEAAqJ;IAAA,4DAAM;;;;ADrCrX,MAAM,sBAAsB;IAejC,YACU,gBAAkC,EAClC,aAA2B;QAD3B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAc;QAfrC,yBAAoB,GAAgC,IAAI,CAAC;QAEzD,oBAAe,GAAS,SAAS,CAAC;QAClC,aAAQ,GAAW,SAAS,CAAC;QAO7B,UAAK,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,QAAG,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;IAKrC,CAAC;IAEL,eAAe;QACb,oDAAc,CAAC,mDAAa,EAAE,gDAAU,CAAC;QAEzC,IAAI,CAAC,OAAO,GAAuB,IAAI,CAAC,KAAK,CAAC,aAAc,CAAC,UAAU,CAAC,IAAI,CAA6B,CAAC;QAE1G,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAmB;QAEvB,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;YAC5C,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACrD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC/C,UAAU,EAAE,UAAU;YACtB,eAAe,EAAC,IAAI,CAAC,eAAe;SACrC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,SAAS;;QACP,IAAI,IAAI,CAAC,KAAK;YACZ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAEvB,IAAI,SAAS,GAAC,UAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE;YAC3D,IAAG,CAAC,CAAC,KAAK,GAAC,CAAC,CAAC,KAAK;gBAAC,OAAO,CAAC,CAAC;YAC5B,IAAG,CAAC,CAAC,KAAK,GAAC,CAAC,CAAC,KAAK;gBAAC,OAAO,CAAC,CAAC,CAAC;YAAA,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,IAAG,SAAS,IAAE,IAAI;YAAC,OAAO;QAE1B,IAAI,CAAC,KAAK,GAAG,IAAI,2CAAK,CAAC,IAAI,CAAC,OAAO,EAAE;YACnC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE;gBACJ,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzC,QAAQ,EAAE,CAAC;wBACT,qEAAqE;wBACrE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAa;wBACnD,eAAe,EAAE,yBAAyB;wBAC1C,WAAW,EAAE,uBAAuB;wBACpC,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,GAAG;qBACnB,CAAC;aACH;YACD,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACpD,OAAO,IAAI,CAAC;QACd,OAAc,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,kBAAkB,EAAE,GAAG,KAAK,GAAU,IAAI,CAAC,GAAG,CAAC,KAAM,CAAC,kBAAkB,EAAE,CAAC;IAC7G,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,IAAI,CAAC,oBAAoB,EAAC,IAAI,CAAC,QAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzH,CAAC;;4FAlFU,sBAAsB;oHAAtB,sBAAsB;;;;;;;QCXnC,yEAA6B;QACzB,uEAA6C;QAAA,mFAAI;QAAA,4DAAI;QACrD,yEAAoC;QAChC,yEAAoC;QAChC,yEAAwC;QACpC,4EAAyI;QAA7G,6JAA2B,SAAS,SAAC,WAAO,IAAC;QAAgE,mFAAI;QAAA,4DAAS;QACtJ,4EAAwI;QAA3G,6JAA2B,OAAO,SAAC,WAAO,IAAC;QAAgE,mFAAI;QAAA,4DAAS;QACzJ,4DAAM;QACV,4DAAM;QAEN,wEAAsH;QAAhD,kJAAoB,OAAO,SAAC,WAAO,IAAE;QAAW,8EAAG;QAAA,4DAAI;QAC7H,wEAAwH;QAAjD,kJAAoB,QAAQ,SAAC,WAAO,IAAE;QAAW,8EAAG;QAAA,4DAAI;QAC/H,wEAA0H;QAAlD,kJAAoB,SAAS,SAAC,WAAO,IAAE;QAAW,8EAAG;QAAA,4DAAI;QACjI,wEAAwH;QAAjD,kJAAoB,QAAQ,SAAC,WAAO,IAAE;QAAW,8EAAG;QAAA,4DAAI;QAC/H,0EAA+B;QAC3B,4EAA+H;QAAvE,4RAAS,UAAa,IAAC;QAA/E,4DAA+H;QAC/H,uIAA4D;QAC5D,4FAA+D;QAC/D,4FAAoE;QAChE,wEAA0C;QAC1C,6EAA4D;QAAtB,sJAAa,WAAO,IAAC;QAA3D,4DAA4D;QAChE,4DAAuB;QAC3B,4DAAM;QACV,4DAAM;QAEN,2EAAkC;QAC9B,2EAAuC;QACnC,iHAAuF;QACvF,iHAAqF;QACrF,+EAAwB;QAC5B,4DAAM;QAEN,2EAAmF;QAC/E,uJAUuB;QAC3B,4DAAM;QACV,4DAAM;QACN,2EAAoC;QAAA,yEAAmE;QAAnB,0IAAS,YAAQ,IAAC;QAAC,oFAAI;QAAA,4DAAI;QAAA,4DAAM;QACzH,4DAAM;QACN,iNAA0Y;;;;QA3ChT,0DAAoD;QAApD,6KAAoD;QACrD,0DAAoD;QAApD,6KAAoD;QAIzG,0DAAyC;QAAzC,oKAAyC;QACzC,0DAA0C;QAA1C,qKAA0C;QAC1C,0DAA2C;QAA3C,sKAA2C;QAC3C,0DAA0C;QAA1C,qKAA0C;QAEhC,0DAAqB;QAArB,kFAAqB;QACxC,0DAA4B;QAA5B,iFAA4B;QAEE,0DAAsB;QAAtB,4EAAsB;QAC3C,0DAAqB;QAArB,kFAAqB;QACvB,0DAAmB;QAAnB,gFAAmB;QAOd,0DAAmC;QAAnC,kGAAmC;QACnC,0DAAiC;QAAjC,gGAAiC;QAKA,0DAA0B;QAA1B,0FAA0B;;AD+DlG,MAAM,YAAY,GAAiB;IACjC,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACP,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAC3B;IACD,MAAM,EAAE;QACN,CAAC,EAAE;YACD,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SACzB;QACD,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAEzB;CACF;;;;;;;;;;;;;;;;;;;;;;;;;AE3G4C;;;;;;;;;;;ICW7B,mEAA4D;;;;;IAuC5D,0EAAsC;IAClC,0EAAsC;IAClC,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAAsC;IAClC,oEAAG;IAAA,uDAAyB;IAAA,4DAAI;IACpC,4DAAM;IACN,0EAAsC;IAClC,oEAAG;IAAA,uDAAgC;;IAAA,4DAAI;IAC3C,4DAAM;IACN,2EAAsC;IAClC,qEAAG;IAAA,wDAA+B;IAAA,4DAAI;IAC1C,4DAAM;IACN,2EAAsC;IAClC,yEAAa;IAAA,wDAAmB;IAAA,4DAAI;IACxC,4DAAM;IACN,2EAAsC;IAClC,yEAA0D;IAAA,wDAAyB;IAAA,4DAAI;IAC3F,4DAAM;IACN,2EAAsC;IAClC,yEAA+F;IAAA,wEAAE;IAAA,4DAAI;IACzG,4DAAM;IACV,4DAAM;;;IApBK,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAAyB;IAAzB,uFAAyB;IAGzB,0DAAgC;IAAhC,oJAAgC;IAGhC,0DAA+B;IAA/B,6FAA+B;IAGrB,0DAAmB;IAAnB,iFAAmB;IAGnB,0DAA4C;IAA5C,uKAA4C;IAAC,0DAAyB;IAAzB,uFAAyB;IAGnD,0DAAoD;IAApD,+JAAoD;;;IAKpG,0EAAwE;IACpE,0EAAsC;IAClC,wEAA+B;IAAA,mFAAI;IAAA,4DAAI;IAC3C,4DAAM;IACV,4DAAM;;;IAKW,8DAAwM;IAAxM,0EAAwM;IAAA,sEAAqJ;IAAA,4DAAM;;;AD1ErX,MAAM,6BAA6B;IAexC,YACU,gBAAkC,EAClC,aAA2B;QAD3B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAc;QAfrC,UAAK,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,QAAG,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QACzC,aAAQ,GAAW,SAAS,CAAC;QAG7B,UAAK,GAAc,EAAE,CAAC;QACtB,YAAO,GAAG;YACR,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,CAAC;SAChB,CAAC;IAOE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,WAAW,EAAE,GAAC,GAAG,GAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,GAAC,EAAE,EAAC,IAAG,EAAC,GAAE,CAAC,GAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,GAAC,GAAG,GAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAC,EAAE,EAAC,IAAG,EAAC,GAAE,CAAC,GAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,KAAK,CAAC,UAAmB;QACvB,IAAI,KAAK,GAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,UAAS,EAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,GAAG,GAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,UAAS,EAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,EAAC,IAAI,CAAC,QAAQ,EAAC,KAAK,EAAC,GAAG,CAAC;aACvE,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACpD,OAAO,IAAI,CAAC;QACd,OAAc,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,kBAAkB,EAAE,GAAG,KAAK,GAAU,IAAI,CAAC,GAAG,CAAC,KAAM,CAAC,kBAAkB,EAAE,CAAC;IAC7G,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,QAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClG,CAAC;;0GArDU,6BAA6B;2HAA7B,6BAA6B;;QCX1C,yEAA6B;QACzB,yEAAoC;QAChC,yEAAiC;QAC7B,uEAA+B;QAAA,yFAAK;QAAA,4DAAI;QAC5C,4DAAM;QACN,yEAA0B;QACtB,yEAA4C;QACxC,4EAA2H;QAA/F,6JAAoB,SAAS,SAAC,WAAO,IAAC;QAAyD,mFAAI;QAAA,4DAAS;QACxI,4EAA0H;QAA7F,6JAAoB,OAAO,SAAC,WAAO,IAAC;QAAyD,oFAAI;QAAA,4DAAS;QAC3I,4DAAM;QACN,0EAAsE;QAClE,4EAA+H;QAAvE,kSAAS,UAAa,IAAC;QAA/E,4DAA+H;QAC/H,8IAA4D;QAC5D,4FAA+D;QAC/D,4FAAoE;QAChE,wEAA0C;QAC1C,6EAA4D;QAAtB,6JAAa,WAAO,IAAC;QAA3D,4DAA4D;QAChE,4DAAuB;QAC3B,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,2EAAkC;QAC9B,2EAA4D;QACxD,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACnB,yEAA+B;QAAA,wDAAkB;QAAA,4DAAI;QACrD,yEAAa;QAAA,2IAAc;QAAA,4DAAI;QACnC,4DAAM;QACN,4FAAuE;QACnE,2EAAiD;QAC7C,2EAAsC;QAClC,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsC;QAClC,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsC;QAClC,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsC;QAClC,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsC;QAClC,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsC;QAClC,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,sEAA4C;QAChD,4DAAM;QACN,0NAwBc;QAClB,4DAAuB;QACvB,4HAIM;QACV,4DAAM;QACN,2EAAoC;QAAA,yEAAmE;QAAnB,iJAAS,YAAQ,IAAC;QAAC,oFAAI;QAAA,4DAAI;QAAA,4DAAM;QAEzH,4DAAM;QACN,wNAA0Y;;;;QA9EvT,0DAA6C;QAA7C,sKAA6C;QAC9C,0DAA6C;QAA7C,sKAA6C;QAG7E,0DAAqB;QAArB,kFAAqB;QACxC,0DAA4B;QAA5B,iFAA4B;QAEE,0DAAsB;QAAtB,4EAAsB;QAC3C,0DAAqB;QAArB,kFAAqB;QACvB,0DAAmB;QAAnB,gFAAmB;QASd,0DAAkB;QAAlB,iFAAkB;QAGb,0DAA8B;QAA9B,2FAA8B;QAgDhC,2DAAgC;QAAhC,gGAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;AC3EjC;AACqF;;;;;;;;;;;;ICatG,6EAAiE;IAAA,uDAAa;IAAA,4DAAS;;;IAA/E,gFAAmB;IAAsC,0DAAa;IAAb,4EAAa;;;IADlF,+EAA+D;IAC3D,4IAAuF;IAC3F,4DAAW;;;IAF8B,kFAAqB;IACf,0DAAoB;IAApB,0FAAoB;;;IAO3E,mEAA4D;;;IAiB5D,wEAAmF;IAAA,mFAAI;IAAA,4DAAI;;;IAC3F,wEAAoF;IAAA,mFAAI;IAAA,4DAAI;;;IAC5F,wEAA8D;IAAA,6EAAG;IAAA,4DAAI;;;IASrE,2EAAiG;IAAA,mFAAI;IAAA,4DAAO;;;IAC5G,2EAAkG;IAAA,mFAAI;IAAA,4DAAO;;;IAC7G,2EAA4E;IAAA,uEAAE;IAAA,4DAAO;;;IACrF,2EAA+E;IAAA,mFAAI;IAAA,4DAAO;;;IAC1F,2EAA8F;IAAA,mFAAI;IAAA,4DAAO;;;IACzG,2EAA+F;IAAA,mFAAI;IAAA,4DAAO;;;IAG1G,0EAA0B;IACtB,qEAAsF;IACtF,wEAAgC;IAAA,uDAAmB;IAAA,4DAAI;IACvD,wEAA+B;IAAA,uDAA2C;;IAAA,4DAAI;IAC9E,wEAAsC;IAAA,uDAAmB;IAAA,4DAAI;IAC7D,wEAAsC;IAAA,wDAA+B;IAAA,4DAAI;IAC7E,4DAAM;;;;;IALmC,0DAA0C;IAA1C,wGAA0C;IAC/C,0DAAmB;IAAnB,kFAAmB;IACpB,0DAA2C;IAA3C,mLAA2C;IACpC,0DAAmB;IAAnB,kFAAmB;IACnB,0DAA+B;IAA/B,sGAA+B;;;IAOhE,8DAAwM;IAAxM,0EAAwM;IAAA,sEAAqJ;IAAA,4DAAM;;;ADzDrX,MAAM,6BAA6B;IAyBxC,YACU,gBAAkC,EAClC,QAAmB,EACnB,aAA2B;QAF3B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,aAAQ,GAAR,QAAQ,CAAW;QACnB,kBAAa,GAAb,aAAa,CAAc;QAzBrC,cAAS,GAAW,KAAK,CAAC;QAC1B,aAAQ,GAAW,SAAS,CAAC;QAI7B,UAAK,GAAa,IAAI,CAAC;QAUvB,UAAK,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,QAAG,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAEzC,cAAS,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;IAQ3C,CAAC;IAEL,eAAe;QACb,oDAAc,CAAC,wDAAkB,EAAE,gDAAU,EAAE,4CAAM,CAAC,CAAC;QAEvD,IAAI,CAAC,OAAO,GAAuB,IAAI,CAAC,KAAK,CAAC,aAAc,CAAC,UAAU,CAAC,IAAI,CAA6B,CAAC;QAE1G,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,UAAU,GAAC,KAAK,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,UAAU,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,WAAW,EAAE,GAAC,GAAG,GAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,GAAC,EAAE,EAAC,IAAG,EAAC,GAAE,CAAC,GAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,GAAC,GAAG,GAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAC,EAAE,EAAC,IAAG,EAAC,GAAE,CAAC,GAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,KAAK;QACH,IAAI,KAAK,GAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,UAAS,EAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,GAAG,GAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,UAAS,EAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAC,IAAI,CAAC,QAAQ,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAChG,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,gCAAgC;YAChC,iBAAiB;YACjB,qBAAqB;YACrB,gBAAgB;YAChB,2BAA2B;YAC3B,iEAAiE;YACjE,2EAA2E;YAC3E,mFAAmF;YACnF,yEAAyE;YACzE,MAAM;YACJ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,SAAS,EAAE;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,KAAY;;QACrB,IAAI,CAAC,GAAkB,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,IAAE,KAAK,EAAC,EAAC,GAAC,UAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAE,KAAI,CAAC,KAAK,IAAE,KAAK,CAAC,0CAAE,KAAK,EAAC,EAAC,GAAC,UAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAE,KAAI,CAAC,KAAK,IAAE,KAAK,CAAC,0CAAE,KAAK,CAAC;QAC7J,OAAO,CAAC,EAAC,EAAC,EAAC,EAAC,CAAC;IACf,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,KAAK;YACZ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,2CAAK,CAAC,IAAI,CAAC,OAAO,EAAE;YACnC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAC,KAAK,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,CAAC;IAC1K,CAAC;IACM,OAAO;QACZ,IAAI,SAAS,GAAU,EAAE,CAAC;QAC1B,IAAI,IAAI,GAAU,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3J,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,IAAI,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,IAAI;oBACV,eAAe,EAAE,SAAS;oBAC1B,WAAW,EAAE,SAAS;iBACvB,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SACjJ;IACH,CAAC;IACD,KAAK,CAAC,KAAY;QAChB,IAAI,SAAS,GAAC;YACZ,uBAAuB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB;YAC3H,sBAAsB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB;YACzH,uBAAuB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB;YAC3H,sBAAsB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB;YACzH,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB;YAC5H,qBAAqB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB;YAChG,oBAAoB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB;SAClG,CAAC;QACF,OAAO,SAAS,CAAC,KAAK,GAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjH,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,YAAY;YACpB,OAAO,CAAC,CAAC;QACX,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK;YACzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;;YAEjE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACpD,OAAO,IAAI,CAAC;QACd,OAAc,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,kBAAkB,EAAE,GAAG,KAAK,GAAU,IAAI,CAAC,GAAG,CAAC,KAAM,CAAC,kBAAkB,EAAE,CAAC;IAC7G,CAAC;IACD,kCAAkC;IAClC,oBAAoB;IACpB,uBAAuB;IAEvB,wCAAwC;IACxC,gEAAgE;IAChE,qBAAqB;IACrB,QAAQ;IACR,WAAW;IACX,8BAA8B;IAC9B,iFAAiF;IACjF,uBAAuB;IACvB,UAAU;IACV,aAAa;IACb,mFAAmF;IACnF,uBAAuB;IACvB,UAAU;IACV,QAAQ;IACR,MAAM;IAEN,cAAc;IACd,IAAI;IACJ,wBAAwB;IACxB,iDAAiD;IACjD,IAAI;IACJ,mBAAmB;IACnB,sBAAsB;IACtB,+CAA+C;IAC/C,IAAI;IACJ,mBAAmB;IACnB,sBAAsB;IACtB,4DAA4D;IAC5D,IAAI;IACJ,2BAA2B;IAC3B,wBAAwB;IACxB,IAAI;IACJ,MAAM;QACJ,IAAI,QAAQ,GAAC,EAAE,CAAC;QAChB,IAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAE,OAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAE,UAAS,CAAC,IAAI,IAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAQ,GAAC,SAAS,CAAC,IAAI,EAAC,KAAI,CAAC,CAAC,CAAC;SACvI;QACD,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,QAAQ,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrI,CAAC;;0GA5KU,6BAA6B;2HAA7B,6BAA6B;;;;;;;;;QCb1C,yEAAgC;QAC5B,yEAAuC;QACnC,yEAAgD;QAC5C,uEAA+B;QAAA,+FAAM;QAAA,4DAAI;QAC7C,4DAAM;QACN,yEAA0B;QACtB,yEAA4C;QACxC,4EAA2H;QAA/F,6JAAoB,SAAS,SAAC,WAAO,IAAC;QAAyD,mFAAI;QAAA,4DAAS;QACxI,4EAA0H;QAA7F,6JAAoB,OAAO,SAAC,WAAO,IAAC;QAAyD,oFAAI;QAAA,4DAAS;QAC3I,4DAAM;QACN,0EAAsD;QAClD,uEAAK;QACD,6EAA+E;QAApB,wJAAU,WAAO,IAAE;QAC1E,8EAAmC;QAAA,wEAAE;QAAA,4DAAS;QAC9C,sIAEW;QACf,4DAAS;QACb,4DAAM;QACV,4DAAM;QACN,2EAAsE;QAClE,6EAA+H;QAAvE,mSAAS,UAAa,IAAC;QAA/E,4DAA+H;QAC/H,8IAA4D;QAC5D,4FAA+D;QAC/D,4FAAoE;QAChE,wEAA0C;QAC1C,6EAA4D;QAAtB,6JAAa,WAAO,IAAC;QAA3D,4DAA4D;QAChE,4DAAuB;QAC3B,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,2EAAqC;QACjC,yEAAO;QAAA,6EAA6H;QAApC,gKAAoB,KAAK,SAAC,WAAO,IAAC;QAA3H,4DAA6H;QAAA,4EAAgB;QAAA,wEAAE;QAAA,4DAAO;QAAA,4DAAQ;QACrK,yEAAO;QAAA,6EAA6G;QAArC,gKAAoB,MAAM,SAAC,WAAO,IAAC;QAA3G,4DAA6G;QAAA,4EAAgB;QAAA,8EAAG;QAAA,4DAAO;QAAA,4DAAQ;QAC1J,4DAAM;QACN,2EAAqC;QACjC,2EAA0F;QACtF,+EAAwB;QACxB,+EAA8F;QAC1F,wHAA2F;QAC3F,wHAA4F;QAC5F,wHAAqE;QACrE,yEAAoE;QAAA,wDAAW;QAAA,4DAAI;QACvF,4DAAM;QACV,4DAAM;QACN,4FAAuF;QACnF,2EAA+B;QAC3B,sEAAgF;QAChF,4EAA2C;QAAA,wEAAE;QAAA,4DAAO;QACpD,4EAA2C;QAAA,wEAAE;QAAA,4DAAO;QACpD,8HAA4G;QAC5G,8HAA6G;QAC7G,8HAAqF;QACrF,8HAA0F;QAC1F,8HAAyG;QACzG,8HAA0G;QAC9G,4DAAM;QACN,yNAQc;QAClB,4DAAuB;QAC3B,4DAAM;QACN,2EAAoC;QAAA,yEAAmE;QAAnB,iJAAS,YAAQ,IAAC;QAAC,oFAAI;QAAA,4DAAI;QAAA,4DAAM;QACzH,4DAAM;QACN,wNAA0Y;;;;QA/DvT,0DAA6C;QAA7C,sKAA6C;QAC9C,0DAA6C;QAA7C,sKAA6C;QAI1E,0DAAyB;QAAzB,sFAAyB;QAC9C,0DAAgB;QAAhB,yEAAgB;QACK,0DAAU;QAAV,gFAAU;QAOb,0DAAqB;QAArB,kFAAqB;QACxC,0DAA4B;QAA5B,kFAA4B;QAEE,0DAAsB;QAAtB,4EAAsB;QAC3C,0DAAqB;QAArB,kFAAqB;QACvB,0DAAmB;QAAnB,gFAAmB;QAML,0DAAqB;QAArB,kFAAqB;QACrB,0DAAqB;QAArB,kFAAqB;QAM9B,0DAA4C;QAA5C,qHAA4C;QAC5C,0DAA6C;QAA7C,sHAA6C;QAC7C,0DAAuB;QAAvB,yFAAuB;QACkB,0DAAW;QAAX,0EAAW;QAG5B,0DAA2B;QAA3B,wFAA2B;QAK3B,0DAA4C;QAA5C,qHAA4C;QAC5C,0DAA6C;QAA7C,sHAA6C;QAC7C,0DAAuB;QAAvB,yFAAuB;QACtB,0DAAyB;QAAzB,2FAAyB;QAC1B,0DAAyC;QAAzC,mHAAyC;QACzC,0DAA0C;QAA1C,oHAA0C;;ADqI7G,MAAM,YAAY,GAAQ;IACxB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,KAAK;CACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AEtLK,MAAM,4BAA4B;IAMvC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAL5C,gBAAW,GAAW,CAAC,CAAC;IAMpB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,CAAC;iBAC/C,SAAS,CAAC,CAAC,CAAC,EAAE;gBACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE;aAC1C,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;;wGA1BU,4BAA4B;0HAA5B,4BAA4B;QCTzC,yEAAiC;QAC7B,yEAA2D;QACvD,uEAA2C;QAAA,yFAAK;QAAA,4DAAI;QACpD,uEAA4K;;QAAA,+DAAI;QAAA,4DAAI;QACxL,4DAAM;QAEN,uEAAgD;QAAA,uDAAkB;QAAA,4DAAI;QAEtE,oEAA0B;QAE1B,0EAA4B;QACxB,0EAAqD;QACzD,4DAAM;QACV,4DAAM;;QAVK,0DAAkE;QAAlE,6UAAkE;QAAC,uFAA8B;QAGxD,0DAAkB;QAAlB,0FAAkB;QAKpD,0DAAqB;QAArB,kFAAqB;;;;;;;;;;;;;;;;;;;;;;ACTP;;;;;;ICIxB,yEAAwE;IACpE,uEAA+B;IAAA,uDAAS;IAAA,4DAAI;IAC5C,uEAAkB;IAAA,uDAAgB;IAAA,4DAAI;IACtC,oEAAG;IAAA,uDAAyB;;IAAA,4DAAI;IACpC,4DAAM;;;;IAH6B,0DAAS;IAAT,yEAAS;IACtB,0DAAgB;IAAhB,8EAAgB;IAC/B,0DAAyB;IAAzB,+IAAyB;;;IAEhC,sEAAiC;IAC7B,wEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;;IAGV,0EAA8E;IAC1E,sEAAK;IACD,wEAAgD;IAAA,uDAAiG;;;IAAA,4DAAI;IACrJ,wEAA0B;IAAA,uDAAmB;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAHkD,0DAAiG;IAAjG,6ZAAiG;IACvH,0DAAmB;IAAnB,qFAAmB;;;ADTlD,MAAM,4BAA4B;IAUvC,YACU,gBAAkC,EAClC,gBAAkC;QADlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAkB;QARrC,YAAO,GAAuC,EAAE,CAAC;QACjD,kBAAa,GAAW,CAAC,CAAC;QAC1B,kBAAa,GAAW,IAAI,CAAC;QAC7B,mBAAc,GAAM,IAAI,IAAI,EAAE,CAAC;QAC/B,iBAAY,GAAM,IAAI,IAAI,EAAE,CAAC;QAC7B,gBAAW,GAAQ,EAAE,CAAC;QAK3B,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACnD,IAAI,OAAO,GAAC,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAE,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;IAEF,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAmB;QACvB,8CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC;YACrD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;SACnD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAE;YAC/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;;wGA3CU,4BAA4B;0HAA5B,4BAA4B;QCVzC,yEAAgC;QAC5B,yEAAkD;QAC9C,uEAA0C;QAAA,uDAAyJ;;;;QAAA,4DAAI;QAC3M,4DAAM;QAEN,yEAAqC;QACjC,wHAIM;QACN,wHAEM;QACV,4DAAM;QAEN,2HAKM;QACV,4DAAM;;QApB4C,0DAAyJ;QAAzJ,ifAAyJ;QAIzJ,0DAAe;QAAf,mFAAe;QAKnD,0DAAyB;QAAzB,yFAAyB;QAK7B,0DAAyB;QAAzB,2FAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfU;;;;;;;;;;;;;;;ICU7B,6EAA+D;IAAA,uDAAiB;IAAA,4DAAS;;;IAAjF,mFAAuB;IAAgC,0DAAiB;IAAjB,+EAAiB;;ADDzF,MAAM,qBAAqB;IAKhC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAJ5C,YAAO,GAAa,EAAE,CAAC;QACvB,SAAI,GAAgB,IAAI,wDAAW,CAAC,IAAI,CAAC,CAAC;IAItC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IAEf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;aAC3C,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;;0FAnBU,qBAAqB;mHAArB,qBAAqB;QCVlC,yEAAuC;QAEnC,yEAAqC;QACjC,uEAA+B;QAAA,mFAAI;QAAA,4DAAI;QAC3C,4DAAM;QAEN,yEAAqD;QACjD,uEAAuC;QAAA,mFAAI;QAAA,4DAAI;QAC/C,yEAAyB;QACrB,4EAAsD;QAClD,4EAAmC;QAAA,wEAAE;QAAA,4DAAS;QAC9C,yHAAyF;QAC7F,4DAAS;QACb,4DAAM;QACV,4DAAM;QAEN,0EAAkC;QAC9B,2EAAuC;QACnC,uFAA2D;QAC/D,4DAAM;QACN,2EAAuC;QACnC,2FAAgF;QACpF,4DAAM;QACN,2EAAuC;QACnC,4FAAkF;QACtF,4DAAM;QACV,4DAAM;QAEN,qFAAoE;QACpE,0EAAkC;QAC9B,2EAAmD;QAC/C,6FAA0G;QAC9G,4DAAM;QACN,2EAAmD;QAC/C,4FAAyF;QAC7F,4DAAM;QACV,4DAAM;QAEN,0EAAkC;QAC9B,2EAAmD;QAC/C,+FAAmH;QACvH,4DAAM;QACN,2EAAmD;QAC/C,6FAAgG;QACpG,4DAAM;QACV,4DAAM;QACV,4DAAM;;QArCuC,0DAAoB;QAApB,iFAAoB;QACzC,0DAAgB;QAAhB,yEAAgB;QAC2B,0DAAU;QAAV,gFAAU;QAO3C,0DAAa;QAAb,0EAAa;QAGI,0DAAa;QAAb,0EAAa;QAGZ,0DAAa;QAAb,0EAAa;QAI5B,0DAAa;QAAb,0EAAa;QAGK,0DAAa;QAAb,0EAAa;QAGT,0DAAa;QAAb,0EAAa;QAMV,0DAAa;QAAb,0EAAa;QAGV,0DAAa;QAAb,0EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1C/B;AACQ;AACqE;AACN;AAChE;AACa;AACf;AACc;AACqE;AAC1E;AACkF;AACzB;AAC0B;;;;AAEhJ,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,qIAAiC,EAAE;IAClE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,+HAA+B,EAAE;IACpE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,gJAAoC,EAAE;IAC9E,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,+HAA+B,EAAE;IAC9D,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,gJAAoC,EAAE;IACxE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;CACvC;AAeM,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;mHAXpB;YACP,yDAAY;YACZ,4DAAW;YACX,kEAAqB,CAAC,MAAM,CAAC;YAC7B,0EAAwB,EAAE;YAC1B,8EAAmB;YACnB,wDAAW;YACX,gEAAmB;YACnB,wEAAgB;SACjB;mIAEU,kBAAkB,mBAZd,qIAAiC,EAAE,+HAA+B,EAAE,gJAAoC,EAAE,wJAAqC,EAAE,+HAA+B,EAAE,yJAAsC,aAErO,yDAAY;QACZ,4DAAW,gIAGX,8EAAmB;QACnB,wDAAW;QACX,gEAAmB;QACnB,wEAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCsB;;;;;;;;;;;ICe1B,mEAA4D;;;;;IAkCpD,0EAAkE;IAC9D,0EAAwE;IACpE,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAChC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IACnC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAA8B;IAAA,4DAAI;IACzC,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAA+B;;IAAA,4DAAI;IAC1C,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,6DAAC;IAAA,4DAAI;IACZ,4DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,6DAAC;IAAA,4DAAI;IACZ,4DAAM;IACN,2EAAsE;IAClE,yEAAyF;IAAA,wEAAE;IAAA,4DAAI;IAC/F,yEAA6F;IAArC,kZAA0B;IAAW,wEAAE;IAAA,4DAAI;IACvG,4DAAM;IACV,4DAAM;;;IA3BK,0DAAqB;IAArB,mFAAqB;IAGrB,0DAAwB;IAAxB,sFAAwB;IAGxB,0DAA8B;IAA9B,4FAA8B;IAG9B,0DAA+B;IAA/B,mJAA+B;IAG/B,0DAAgB;IAAhB,8EAAgB;IAGhB,0DAAkB;IAAlB,gFAAkB;IASM,0DAAmD;IAAnD,6JAAmD;;;IAM1F,0EAAgE;IAC5D,0EAA6B;IACzB,wEAA+B;IAAA,mFAAI;IAAA,4DAAI;IAC3C,4DAAM;IACV,4DAAM;;;;IAvF1B,yEAAwD;IAAlB,mUAAiB;IACnD,yEAAwE;IAAnC,sKAAS,wBAAwB,IAAC;IACnE,yEAAqC;IACjC,uEAAgD;IAAA,mFAAI;IAAA,4DAAI;IACxD,yEAA0F;IACtF,uEAA8C;IAAA,qEAAU;IAAA,4DAAI;IAC5D,uEAA6B;IAAA,mFAAI;IAAA,4DAAI;IACzC,4DAAM;IACV,4DAAM;IAEN,0EAA0C;IACtC,2EAAgD;IAC5C,mFAA4F;IAC5F,yFAA8E;IAA9B,iWAA6B;IAAC,4DAAoB;IACtG,4DAAM;IAEN,2EAAwE;IACpE,4JAA4D;IAE5D,2EAA6B;IACzB,2EAAmC;IAC/B,2EAAwE;IACpE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA0E;IACtE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAA0E;IACtE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAyE;IACrE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAyE;IACrE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAsE;IAClE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACV,4DAAM;IAEN,2EAAmC;IAC/B,4IA6BM;IACV,4DAAM;IAEN,0IAIM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAA8E;IAC1E,8EAAiD;IAAlB,yUAAiB;IAAC,wEAAE;IAAA,4DAAS;IAChE,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;IApF4B,2DAA8B;IAA9B,yIAA8B;IAKjC,0DAA4B;IAA5B,iFAA4B;IAkCY,2DAAiB;IAAjB,0FAAiB;IAgCvC,0DAAiC;IAAjC,oGAAiC;;;;;IAgB9E,0EAAgD;IAC5C,0EAAuD;IACnD,wEAAa;IAAA,yFAAK;IAAA,4DAAI;IACtB,wEAAiC;IAAA,uDAAkB;IAAA,4DAAI;IACvD,wEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,0EAA6B;IACzB,6EAA0F;IAA/D,4XAAkC,8RAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,uWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,oXAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,wWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IAnBmC,0DAAkB;IAAlB,oFAAkB;IAKxB,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;AD3G1F,MAAM,qCAAqC;IAYhD,YACU,mBAAwC,EACxC,KAAqB,EACrB,cAA8B;QAF9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAgB;QAb/B,UAAK,GAAc,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;QAChE,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,YAAO,GAAY,KAAK,CAAC;QAWzB,iBAAY,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAbV,CAAC;IAEL,QAAQ;IACR,CAAC;IAYD,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI;gBAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBAClE;gBACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;qBAC1D,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;qBACvD,SAAS,CAAC;oBACT,IAAI,EAAE,GAAG,EAAE;wBACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvE,CAAC;iBACF,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC9B,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;eACjH,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;mBACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;mBAC5E,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa;aACtB,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/G,CAAC;;0HAvEU,qCAAqC;mIAArC,qCAAqC;QCblD,kIAgGM;QAEN,+NAwBc;;QA1HS,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAoC;AAE9B;AACoB;;;;;;;;;;ICM1C,oEAAkC;IAAA,uDAA+B;;IAAA,4DAAI;;;IAAnC,0DAA+B;IAA/B,kJAA+B;;;;IACjE,0EAAyD;IACrD,wEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,+EAA0I;IAAhI,qYAA2B;;IAAqG,4DAAW;IACzJ,4DAAM;;;IAD8F,0DAAyC;IAAzC,iMAAyC;IAA/H,qFAA2B;;;IAL7C,4EAAgF;IAC5E,4EAAmF;IAA9B,kQAA6B;IAAlF,4DAAmF;IACnF,8IAAqE;IACrE,kJAGM;IACV,4DAAQ;;;;;IANiD,0DAA6B;IAA7B,uFAA6B;IAC9E,0DAA4B;IAA5B,kGAA4B;IACN,0DAA6B;IAA7B,mGAA6B;;;;IAV3E,yEAAwD;IAAlB,sUAAiB;IACnD,yEAAsE;IAAnC,uKAAS,wBAAwB,IAAC;IACjE,yEAA6B;IACzB,uEAA+C;IAAA,+DAAI;IAAA,4DAAI;IACvD,yEAAgC;IAC5B,uEAA4D;IAAA,qGAAO;IAAA,4DAAI;IACvE,uEAAmG;IAAA,yOAA6B;IAAA,4DAAI;IACpI,8IAOQ;IACZ,4DAAM;IACV,4DAAM;IAEN,qEAA0B;IAE1B,2EAA0C;IACtC,8EAA8D;IAA5B,0UAAiB;IAAW,yEAAG;IAAA,4DAAS;IAC1E,8EAAsE;IAA7B,2UAAkB;IAAW,yEAAG;IAAA,4DAAS;IACtF,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAlBgE,2DAAW;IAAX,mFAAW;;ADM1E,MAAM,sCAAsC;IAUjD,YACU,cAA8B,EAC9B,mBAAwC,EACxC,mBAAwC,EACxC,KAAqB;QAHrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QAZrB,kBAAa,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAChE,YAAO,GAAY,KAAK,CAAC;QAClB,YAAO,GAAgD;YAC5D,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;YACrC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;YACrC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;SAClC,CAAC;IAOE,CAAC;IAEL,QAAQ;IACR,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3L,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6GAAkD,CAAC,CAAC;gBAChG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;SACF,CAAC,CAAC,CAAC;IACR,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;;4HAxCU,sCAAsC;oIAAtC,sCAAsC;QCbnD,mIAyBM;;QAzBiB,6EAAa;;;;;;;;;;;;;;;;;;ACA8D;AAI3F,MAAM,sBAAsB;IAI/B;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC7B,YAAY,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC1D,UAAU,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,SAAS;QACZ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,MAAM,EAAE;YACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,oEAAwB,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;SAC1C;aACI;YACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;SAC1C;IACL,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,0BAA0B;QAC7B,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAC3C,YAAY,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAc,CAAC,MAAM,EAAE;YAC9E,cAAc,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAc,CAAC,MAAM,EAAE;YAC9E,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3C,CAAC;IACN,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAc,GAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAc;IAC1H,CAAC;CACJ;AAED,SAAS,mBAAmB,CAAC,MAAc;IACvC,OAAO,CAAC,OAAwB,EAAiC,EAAE;QAC/D,IAAI,OAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;AACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DiC;AACQ;AACoB;;;;;;;;;;;;;;ICW1C,uEAA2C;IAAA,qGAAO;IAAA,4DAAI;;;IACtD,uEAAuC;IAAA,mFAAI;IAAA,4DAAI;;;IAFnD,0EAA2E;IACvE,+HAAsD;IACtD,+HAA+C;IACnD,4DAAM;;;IAFE,0DAA2B;IAA3B,8FAA2B;IAC3B,0DAAuB;IAAvB,0FAAuB;;;IAgB3B,wEAA2D;IAAA,yFAAK;IAAA,4DAAI;;;IADxE,0EAAyE;IACrE,+HAAoE;IACxE,4DAAM;;;IAD6B,0DAA0B;IAA1B,6FAA0B;;;IAIjE,mEAA4E;;;IAShE,wEAAoE;IAAA,+FAAM;IAAA,4DAAI;;;IADlF,0EAAuE;IACnE,6IAA8E;IAClF,4DAAM;;;IAD6B,0DAAyB;IAAzB,6FAAyB;;;;IANhE,yEAAwB;IACpB,wEAA2B;IAAA,6EAAG;IAAA,4DAAI;IAClC,uEAAwG;;IACxG,6EAAsG;IAA9B,6UAAmB;IAAW,mFAAI;IAAA,4DAAS;IAEnH,2IAEM;IACV,4DAAM;;;IAN6D,0DAAwC;IAAxC,2LAAwC;IAGjE,0DAA+B;IAA/B,yGAA+B;;;IAarE,uEAAkD;IAAA,qGAAO;IAAA,4DAAI;;;IAC7D,uEAA8C;IAAA,qGAAO;IAAA,4DAAI;;;IAF7D,0EAAyF;IACrF,+HAA6D;IAC7D,+HAAyD;IAC7D,4DAAM;;;IAFE,0DAAkC;IAAlC,qGAAkC;IAClC,0DAA8B;IAA9B,iGAA8B;;;IAUlC,uEAAgD;IAAA,qGAAO;IAAA,4DAAI;;;IAC3D,uEAA4C;IAAA,qGAAO;IAAA,4DAAI;;;IAF3D,0EAAqF;IACjF,+HAA2D;IAC3D,+HAAuD;IAC3D,4DAAM;;;IAFE,0DAAgC;IAAhC,mGAAgC;IAChC,0DAA4B;IAA5B,+FAA4B;;;IAEpC,0EAA0F;IACtF,uEAAa;IAAA,6HAAW;IAAA,4DAAI;IAChC,4DAAM;;;IAUN,wEAA6C;IACzC,0EAAgC;IAC5B,wEAA+D;IAAA,qJAAe;IAAA,4DAAI;IAClF,6EAAiF;IAAA,mFAAI;IAAA,4DAAS;IAClG,4DAAM;IACV,qEAAe;;;;IAEf,wEAA4C;IACxC,0EAAsD;IAClD,0EAAgD;IAC5C,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAA+B;IAAA,uDAAuB;IAAA,4DAAI;IAC1D,wEAA4B;IAAA,6EAAG;IAAA,4DAAI;IACnC,6EAAsF;IAAjC,qXAAS,WAAY,IAAC;IAAW,oFAAI;IAAA,4DAAS;IACvG,4DAAM;IACN,2EAAqD;IACjD,yEAAgE;IAAA,yEAAa;IAAA,4DAAI;IACjF,yEAA+D;IAAA,qXAAqD;IAAA,4DAAI;IAC5H,4DAAM;IACV,4DAAM;IACV,qEAAe;;;IAT4B,0DAAuB;IAAvB,0FAAuB;;AD/E3E,MAAM,+BAA+B;IAK1C,YACU,mBAAwC,EACxC,cAA8B,EAC9B,mBAAwC,EACxC,MAAc;QAHd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QAPxB,YAAO,GAAS,IAAI,IAAI,EAAE;QAC1B,SAAI,GAA2B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;IAOzD,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAC7E,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,CAAC;YACxF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;aAChF,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,yGAA8C,CACxF,IAAI,4CAAU,CAAM,UAAU,CAAC,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,CACH,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAgB,CAAC;IACrE,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAgB,CAAC;IACnE,CAAC;;8GAlEU,+BAA+B;6HAA/B,+BAA+B;;QChB5C,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAC7C,0EAA4B;QACxB,2EAA0D;QACtD,wEAA4C;QAAA,+GAAW;QAAA,4DAAI;QAE3D,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAA+G;;QAC/G,8HAGM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAoC;QAAA,wEAAE;QAAA,4DAAI;QAC1C,6EAAsC;QAClC,6EAAiG;QAA5B,yJAAU,oBAAgB,IAAC;QAAhG,4DAAiG;QACjG,wEAAa;QAAA,8EAAG;QAAA,4DAAI;QACxB,4DAAQ;QACR,yEAAO;QACH,6EAAsG;QAA5B,yJAAU,oBAAgB,IAAC;QAArG,4DAAsG;QACtG,wEAAa;QAAA,0IAAa;QAAA,4DAAI;QAClC,4DAAQ;QAER,8HAEM;QACV,4DAAM;QAEN,gJAA4E;QAE5E,0NAUc;QAGd,0EAAuB;QACnB,yEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAC5C,6EAAiL;QAA1F,qSAAS,UAAe,IAAC;;QAAhH,4DAAiL;QACjL,qFAA2F;QAC3F,kFAAsE;QACtE,8HAGM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAC5C,6EAA+K;QAA1F,qSAAS,UAAe,IAAC;;QAA9G,4DAA+K;QAC/K,qFAA2F;QAC3F,kFAAoE;QACpE,8HAGM;QACN,8HAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAuE;QAAA,oFAAI;QAAA,4DAAI;QAC/E,2EAAuF;QAC3F,4DAAM;QAEN,2EAA4B;QACxB,yEAAqJ;;QAAA,oFAAI;QAAA,4DAAI;QAC7J,gJAKe;QAEf,iJAae;QAEnB,4DAAM;QAEN,0EAAuB;QACnB,yEAAuE;QAAA,wEAAE;QAAA,4DAAI;QAC7E,2EAAqF;QACzF,4DAAM;QAEN,2EAAmF;QAC/E,8EAA4E;QAA7B,wJAAS,YAAQ,IAAC;QAAW,yEAAG;QAAA,4DAAS;QAC5F,4DAAM;QACV,4DAAO;QACX,4DAAM;QACV,4DAAM;QAEN,4GAAkF;;;;;QA/G7C,2DAA4B;QAA5B,yFAA4B;QAIvB,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC7B,0DAA6C;QAA7C,iNAA6C;QACxE,0DAAmC;QAAnC,uGAAmC;QAiBnC,2DAAiC;QAAjC,qGAAiC;QAK5D,0DAAgC;QAAhC,+FAAgC;QAiBsF,0DAAsC;QAAtC,iLAAsC;QAA3G,8EAA0B;QAErE,0DAAqB;QAArB,kFAAqB;QACA,0DAAiD;QAAjD,qHAAiD;QAQwC,0DAAsC;QAAtC,iLAAsC;QAA3G,8EAA0B;QAEnE,0DAAmB;QAAnB,gFAAmB;QACE,0DAA6C;QAA7C,iHAA6C;QAI7C,0DAAkD;QAAlD,sHAAkD;QAWlB,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC3H,0DAA4B;QAA5B,4FAA4B;QAO5B,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFhB;AACoB;;;;;;;;;;;;;;;ICKlD,qEAA0F;;;;IAE1F,wEAAyH;IAAtC,6UAA2B;IAAW,uEAAE;IAAA,4DAAI;;;;IAC/H,wEAA0H;IAAxC,+UAA6B;IAAW,mFAAI;IAAA,4DAAI;;;IAKlI,mEAAyG;;;;IAEzG,wEAA0D;IACtD,0EAAoD;IAChD,wEAAkF;IAAA,gEAAK;IAAA,4DAAI;IAC3F,uEAAa;IAAA,uDAAgE;;IAAA,4DAAI;IACjF,wEAA8B;IAAA,uDAA2D;;IAAA,4DAAI;IACjG,4DAAM;IACV,qEAAe;;;IAHM,0DAAgE;IAAhE,oRAAgE;IAC/C,0DAA2D;IAA3D,yLAA2D;;;IAOzF,0EAA4F;IACxF,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAgI;IAC5H,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA4F;IACxF,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IATV,wEAA4C;IACxC,mJAEM;IACN,mJAEM;IACN,mJAEM;IACV,qEAAe;;;IAT0C,0DAAqC;IAArC,iHAAqC;IAGtC,0DAA0E;IAA1E,sKAA0E;IAG3E,0DAAuC;IAAvC,mHAAuC;;;IAI9F,0EAAyF;IACrF,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAiF;IAC7E,uEAAa;IAAA,8EAAI;IAAA,4DAAI;IACzB,4DAAM;;;IAKN,oEAAyC;IAAA,uDAAwB;IAAA,4DAAI;;;IAA5B,0DAAwB;IAAxB,2FAAwB;;;IAIzD,uEAA2C;IAAA,qGAAO;IAAA,4DAAI;;;IAD1D,0EAA2E;IACvE,qJAAsD;IAC1D,4DAAM;;;IADE,0DAA2B;IAA3B,+FAA2B;;;IAHvC,wEAA2C;IACvC,uEAAqD;IACrD,mJAEM;IACV,qEAAe;;;IAH2B,0DAAmC;IAAnC,+GAAmC;;;IASzE,uEAAiD;IAAA,6EAAG;IAAA,4DAAI;;;IACxD,uEAAsD;IAAA,6EAAG;IAAA,4DAAI;;;IAFjE,wEAAoD;IAChD,+IAAwD;IACxD,+IAA6D;IACjE,qEAAe;;;IAFP,0DAAiC;IAAjC,qGAAiC;IACjC,0DAAsC;IAAtC,0GAAsC;;;IAatC,wEAAqE;IAAA,yFAAK;IAAA,4DAAI;;;IADlF,0EAAyE;IACrE,qJAA8E;IAClF,4DAAM;;;IAD6B,0DAA0B;IAA1B,8FAA0B;;;;IAXjE,wEAA2C;IACvC,4EAAsC;IAClC,4EAA4F;IAApC,kUAAU,gCAAwB,IAAC;IAA3F,4DAA4F;IAC5F,wEAA0B;IAAA,6EAAG;IAAA,4DAAI;IACrC,4DAAQ;IACR,wEAAO;IACH,4EAAiG;IAApC,kUAAU,gCAAwB,IAAC;IAAhG,4DAAiG;IACjG,wEAA0B;IAAA,yIAAa;IAAA,4DAAI;IAC/C,4DAAQ;IAER,mJAEM;IACV,qEAAe;;;IAH2B,0DAAiC;IAAjC,6GAAiC;;;IAQ3E,oEAAyC;IAAA,uDAAgH;;;IAAA,4DAAI;;;IAApH,0DAAgH;IAAhH,4TAAgH;;;IAMjJ,uEAAkD;IAAA,qGAAO;IAAA,4DAAI;;;IAC7D,uEAA8C;IAAA,qGAAO;IAAA,4DAAI;;;IAF7D,0EAAyF;IACrF,qJAA6D;IAC7D,qJAAyD;IAC7D,4DAAM;;;IAFE,0DAAkC;IAAlC,sGAAkC;IAClC,0DAA8B;IAA9B,kGAA8B;;;;IAN1C,wEAA2C;IACvC,4EAAiL;IAA1F,2TAAS,WAAe,IAAC;;IAAhH,4DAAiL;IACjL,oFAA2F;IAC3F,iFAAsE;IACtE,mJAGM;IACV,qEAAe;;;;IAPsH,0DAAsC;IAAtC,+KAAsC;IAA3G,+EAA0B;IAErE,0DAAqB;IAArB,sFAAqB;IACA,0DAAiD;IAAjD,6HAAiD;;;IAS3F,oEAAyC;IAAA,uDAAoH;;;IAAA,4DAAI;;;IAAxH,0DAAoH;IAApH,gUAAoH;;;IAMrJ,uEAAgD;IAAA,qGAAO;IAAA,4DAAI;;;IAC3D,uEAA4C;IAAA,qGAAO;IAAA,4DAAI;;;IAF3D,0EAAqF;IACjF,qJAA2D;IAC3D,qJAAuD;IAC3D,4DAAM;;;IAFE,0DAAgC;IAAhC,oGAAgC;IAChC,0DAA4B;IAA5B,gGAA4B;;;IAEpC,0EAAkG;IAC9F,uEAAa;IAAA,6HAAW;IAAA,4DAAI;IAChC,4DAAM;;;;IAVV,wEAA2C;IACvC,4EAA+K;IAA1F,2TAAS,WAAe,IAAC;;IAA9G,4DAA+K;IAC/K,oFAA2F;IAC3F,iFAAoE;IACpE,mJAGM;IACN,mJAEM;IACV,qEAAe;;;;IAVoH,0DAAsC;IAAtC,+KAAsC;IAA3G,+EAA0B;IAEnE,0DAAmB;IAAnB,oFAAmB;IACE,0DAA6C;IAA7C,yHAA6C;IAI7C,0DAA0D;IAA1D,sIAA0D;;;;IAMxG,wEAAwF;IACpF,0EAAuB;IACnB,wEAAoC;IAAA,mFAAI;IAAA,4DAAI;IAC5C,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IAC7B,6EAAsG;IAA9B,sVAAmB;IAAW,mFAAI;IAAA,4DAAS;IACvH,4DAAM;IACV,qEAAe;;;IAHJ,0DAAsB;IAAtB,yFAAsB;;;IAWrB,wEAAoE;IAAA,+FAAM;IAAA,4DAAI;;;IADlF,0EAAuE;IACnE,qJAA8E;IAClF,4DAAM;;;IAD6B,0DAAyB;IAAzB,6FAAyB;;;;IANpE,wEAAwE;IACpE,0EAAuB;IACnB,wEAAoC;IAAA,mFAAI;IAAA,4DAAI;IAC5C,uEAAwG;;IACxG,6EAAsG;IAA9B,sVAAmB;IAAW,mFAAI;IAAA,4DAAS;IACnH,mJAEM;IACV,4DAAM;IACV,qEAAe;;;IANwD,0DAAwC;IAAxC,2LAAwC;IAEjE,0DAA+B;IAA/B,2GAA+B;;;IAQzE,wEAA8G;IAAA,uDAA0B;IAAA,4DAAI;;;IAA9B,0DAA0B;IAA1B,6FAA0B;;;IACxI,0EAAqH;;;IAwBjH,uEAAiD;IAAA,uEAAE;IAAA,4DAAI;;;IAD3D,wEAAoD;IAChD,+IAAuD;IACvD,wEAAwE;IAAA,uDAAyB;IAAA,4DAAI;IACzG,qEAAe;;;IAFP,0DAAiC;IAAjC,qGAAiC;IACmC,0DAAyB;IAAzB,4FAAyB;;;IAErG,0EAAkH;;;IAStH,0EAA8D;IAC1D,wEAA2B;IAAA,mFAAI;IAAA,4DAAI;IACnC,oEAAG;IAAA,uDAAoC;IAAA,4DAAI;IAC/C,4DAAM;;;IADC,0DAAoC;IAApC,uGAAoC;;;;IAK3C,6EAAoG;IAAtC,4XAAS,UAAiB,IAAC;IAAW,wEAAG;IAAA,4DAAS;;;;IAChH,6EAAoL;IAAhD,gWAAgC,IAAI,IAAC;IAAW,wEAAG;IAAA,4DAAS;;;IAFpM,0EAAoE;IAChE,gJAAgH;IAChH,gJAAgM;IACpM,4DAAM;;;IAF+B,0DAA2B;IAA3B,+FAA2B;IACQ,0DAA8D;IAA9D,kJAA8D;;;;IAItI,0EAA2D;IACvD,6EAA8E;IAA/C,gVAAgC,KAAK,4BAAS;IAAC,wEAAG;IAAA,4DAAS;IAC1F,6EAAmF;IAAnB,4UAAkB;IAAC,wEAAG;IAAA,4DAAS;IACnG,4DAAM;;;;IAlLV,0EAAiD;IAC7C,0EAA8B;IAC1B,mIAA0F;IAC1F,oEAAG;IAAA,uDAAmD;;IAAA,4DAAI;IAC1D,+HAA+H;IAC/H,+HAAkI;IAClI,oEAAG;IAAA,uDAAqF;;;IAAA,4DAAI;IAChG,4DAAM;IAEN,4EAA6D;IACzD,uJAAyG;IAEzG,yJAMe;IAEf,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,4DAAI;IACxG,uJAUe;IACf,qIAEM;IACN,qIAEM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,iIAAqE;IACrE,uJAKe;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,wEAAE;IAAA,4DAAI;IAC1C,uJAGe;IACf,wJAae;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,kIAA6J;IAC7J,uJAQe;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,kIAAiK;IACjK,uJAWe;IACnB,4DAAM;IAEN,uJAMe;IAEf,uJASe;IAEf,2EAAuB;IACnB,yEAA2E;IAAA,oFAAI;IAAA,4DAAI;IACnF,iIAA4I;IAC5I,+IAAqH;IACzH,4DAAM;IAEN,2EAAuB;IACnB,yEAAqJ;;IAAA,oFAAI;IAAA,4DAAI;IAC7J,2EAAgC;IAC5B,2EAAgD;IAC5C,wEAAa;IAAA,uGAAQ;IAAA,4DAAI;IACzB,yEAAoC;IAAA,wDAA+B;IAAA,4DAAI;IACvE,wEAAa;IAAA,+EAAI;IAAA,4DAAI;IAErB,8EAAqG;IAAjC,8SAAS,WAAY,IAAC;IAAW,oFAAI;IAAA,4DAAS;IACtH,4DAAM;IAEN,2EAA6D;IACzD,yEAA+C;IAAA,yEAAa;IAAA,4DAAI;IAChE,yEAAyE;IAAA,qXAAqD;IAAA,4DAAI;IACtI,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAA2E;IAAA,wEAAE;IAAA,4DAAI;IACjF,uJAGe;IACf,+IAAkH;IACtH,4DAAM;IAEN,2EAAuB;IACnB,yEAA2B;IAAA,oFAAI;IAAA,4DAAI;IACnC,qEAAG;IAAA,wDAA4B;IAAA,4DAAI;IACvC,4DAAM;IAGN,qIAGM;IACV,4DAAO;IAEP,qIAGM;IAGN,qIAGM;IAEN,0GAA+G;IACnH,4DAAM;;;;;IAnLuD,0DAAmC;IAAnC,sGAAmC;IACrF,0DAAmD;IAAnD,mQAAmD;IACT,0DAAoC;IAApC,uGAAoC;IACpC,0DAAmC;IAAnC,sGAAmC;IAC7E,0DAAqF;IAArF,kWAAqF;IAG/D,0DAA+B;IAA/B,+FAA+B;IACzC,0DAAqC;IAArC,sGAAqC;IAErC,0DAAyC;IAAzC,4GAAyC;IASnC,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IACtE,0DAA2B;IAA3B,8FAA2B;IAWS,0DAAoC;IAApC,uGAAoC;IAGzC,0DAAiC;IAAjC,oGAAiC;IAMrD,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAmC;IAAnC,sGAAmC;IACxB,0DAA0B;IAA1B,6FAA0B;IAU1B,0DAAmC;IAAnC,sGAAmC;IAInC,0DAA0B;IAA1B,6FAA0B;IAkBrC,0DAAmC;IAAnC,sGAAmC;IACxB,0DAA0B;IAA1B,6FAA0B;IAarC,0DAAmC;IAAnC,sGAAmC;IACxB,0DAA0B;IAA1B,6FAA0B;IAc9B,0DAAuE;IAAvE,iJAAuE;IAQvE,0DAAuD;IAAvD,iIAAuD;IAa9D,0DAAmC;IAAnC,sGAAmC;IAC5B,0DAA0B;IAA1B,6FAA0B;IAIiC,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAI9F,0DAA+B;IAA/B,iGAA+B;IAe5D,2DAAmC;IAAnC,sGAAmC;IAIvC,0DAA0B;IAA1B,6FAA0B;IAKlC,0DAA4B;IAA5B,8FAA4B;IAIX,0DAAoC;IAApC,uGAAoC;IAMjC,0DAAmC;IAAnC,sGAAmC;IAMnC,0DAA0B;IAA1B,6FAA0B;IAKpB,0DAA4B;IAA5B,4FAA4B;;;IAKrE,0EAAiD;IAC7C,wEAAqD;IAAA,qEAAU;IAAA,4DAAI;IACnE,wEAA0D;IAAA,+FAAM;IAAA,4DAAI;IACxE,4DAAM;;;IAME,wEAA8D;IAAA,4DAAC;IAAA,4DAAI;;;IACnE,yEAAmF;IAAA,gEAAK;IAAA,4DAAI;;;;IAW5F,yEAAiH;IAAA,4DAAC;IAAA,4DAAI;;;IAArG,2LAAqD;;;IACtE,yEAAqF;IAAA,gEAAK;IAAA,4DAAI;;;IAW9F,yEAA2D;IAAA,4DAAC;IAAA,4DAAI;;;IAChE,yEAAqF;IAAA,gEAAK;IAAA,4DAAI;;;IA3BtG,0EAA2C;IACvC,0EAA6B;IACzB,6IAAmE;IACnE,6IAA4F;IAC5F,0EAA4B;IACxB,0EAAyB;IACrB,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,qEAA6C;IACjD,4DAAM;IACN,wEAAyC;IAAA,4GAAQ;IAAA,4DAAI;IACzD,4DAAM;IACV,4DAAM;IAEN,2EAA6B;IACzB,+IAAsH;IACtH,+IAA8F;IAC9F,2EAA4B;IACxB,2EAAyB;IACrB,wEAAa;IAAA,8EAAG;IAAA,4DAAI;IACpB,sEAA6C;IACjD,4DAAM;IACN,yEAAyC;IAAA,0FAAK;IAAA,4DAAI;IACtD,4DAAM;IACV,4DAAM;IAEN,2EAA6B;IACzB,+IAAgE;IAChE,+IAA8F;IAC9F,2EAA4B;IACxB,2EAAyB;IACrB,wEAAa;IAAA,8EAAG;IAAA,4DAAI;IACxB,4DAAM;IACN,yEAAyC;IAAA,0FAAK;IAAA,4DAAI;IACtD,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAjCyB,0DAAqC;IAArC,iHAAqC;IAChB,0DAAqC;IAArC,iHAAqC;IAWT,0DAAuC;IAAvC,mHAAuC;IACnE,0DAAuC;IAAvC,mHAAuC;IAWjE,0DAAuC;IAAvC,mHAAuC;IACb,0DAAuC;IAAvC,mHAAuC;;;IA3B3F,4IAmCM;;;IAnCiB,qFAAkB;;;ADvLtC,MAAM,+BAA+B;IAQ1C,YACU,KAAqB,EACrB,mBAAwC,EACxC,cAA8B,EAC9B,gBAAkC,EAClC,mBAAwC;QAJxC,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAXlD,iBAAY,GAAwB,IAAI,CAAC;QACzC,QAAG,GAAS,IAAI,IAAI,EAAE,CAAC;QACvB,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAE3B,SAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;IAQrC,CAAC;IAIL,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC/C,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnE,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAGD,eAAe;;QACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,gBAAgB,EAAE,UAAI,CAAC,YAAY,0CAAE,IAAc,EAAE,CAAC;aAC9F,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;SAC5B,CAAC;IACN,CAAC;IAED,iBAAiB;;QACf,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,UAAI,CAAC,YAAY,0CAAE,IAAc,EAAE,CAAC;aAChG,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;SAC5B,CAAC;IACN,CAAC;IAGD,MAAM;;QACJ,IAAI,WAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,OAAO,MAAI,UAAI,CAAC,YAAY,0CAAE,iBAAiB,GAAE;YAC3E,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,WAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,KAAK,KAAI,KAAK,EAAE;YAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,UAAI,CAAC,YAAY,0CAAE,0BAA0B,EAA6B,CAAC;aACpH,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,uGAA4C,CAAC,CAAC;YAC5F,CAAC;SACF,CAAC;IACN,CAAC;IAED,IAAI,KAAK;;QACP,OAAO,UAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAgB,CAAC;IAClE,CAAC;IAED,IAAI,IAAI;;QACN,OAAO,UAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAgB,CAAC;IACjE,CAAC;IAED,IAAI,GAAG;;QACL,OAAO,UAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAgB,CAAC;IAChE,CAAC;IAED,IAAI,YAAY;;QACd,OAAO,UAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAgB,CAAC;IACzE,CAAC;IAED,IAAI,UAAU;;QACZ,OAAO,UAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAgB,CAAC;IACvE,CAAC;IAED,IAAI,OAAO;;QACT,OAAO,UAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAgB,CAAC;IACpE,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAgB,CAAC;IACnE,CAAC;;8GAjHU,+BAA+B;6HAA/B,+BAA+B;QClB5C,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,+HAqLM;QACV,4DAAM;QAEN,yNAKc;QAEd,yNAqCc;QAEd,yNAEc;QAEd,+GAA2E;QAAtC,qMAAiB,WAAO,IAAC;QAAa,4DAAsC;;QA1OhF,2DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPP;AACF;AACoB;;;;;;;;;;;;;;;IC2BlD,mEAA4D;;;IA2ChD,qEAAkF;;;IAiB9E,0EAA4F;IACxF,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAgI;IAC5H,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA4F;IACxF,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IATV,wEAA4C;IACxC,qJAEM;IACN,qJAEM;IACN,qJAEM;IACV,qEAAe;;;;IAT0C,0DAAqC;IAArC,2GAAqC;IAGtC,0DAA0E;IAA1E,0JAA0E;IAG3E,0DAAuC;IAAvC,6GAAuC;;;IAI9F,0EAAyF;IACrF,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA2E;IACvE,uEAAa;IAAA,8EAAI;IAAA,4DAAI;IACzB,4DAAM;;;;;IArCd,0EAAuE;IACnE,0EAA2F;IACvF,4EAA8G;IAAvF,iQAAmC;IAA1D,4DAA8G;IAClH,4DAAM;IACN,0EAAuE;IACnE,qIAAkF;IAClF,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAChC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAoD;;IAAA,4DAAI;IAC/D,4DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAkC;IAAA,4DAAI;IAC7C,4DAAM;IACN,2EAAwE;IACpE,yEAAgE;IAAA,wDAAwB;IAAA,4DAAI;IAChG,4DAAM;IACN,2EAAuE;IACnE,yEAAoE;IAAA,wDAA4B;IAAA,4DAAI;IACxG,4DAAM;IACN,2EAAuE;IACnE,yJAUe;IACf,uIAEM;IACN,uIAEM;IACN,gEAAO;IACX,4DAAM;IACN,2EAAsE;IAClE,yEAAwH;IAAA,wEAAE;IAAA,4DAAI;IAC9H,yEAAoG;IAAxD,maAA6C;IAAW,oFAAI;IAAA,4DAAI;IAC5G,yEAAsG;IAA1D,qaAA+C;IAAW,wEAAE;IAAA,4DAAI;IAChH,4DAAM;IACV,4DAAM;;;IA3CyB,0DAAmC;IAAnC,6FAAmC;IAGxC,0DAA2B;IAA3B,0FAA2B;IAC1C,0DAAqB;IAArB,mFAAqB;IAGrB,0DAAoD;IAApD,8KAAoD;IAGpD,0DAAkC;IAAlC,gGAAkC;IAGlC,0DAAiC;IAAjC,6FAAiC;IAA4B,0DAAwB;IAAxB,sFAAwB;IAGrF,0DAAqC;IAArC,iGAAqC;IAA4B,0DAA4B;IAA5B,0FAA4B;IAGjF,0DAA2B;IAA3B,0FAA2B;IAWS,0DAAoC;IAApC,mGAAoC;IAGzC,0DAA2B;IAA3B,0FAA2B;IAM7B,0DAAiE;IAAjE,oKAAiE;;;IAMrH,0EAA8D;IAC1D,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;;;;IAOlB,yEAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAmB;IAAA,4DAAI;IACxD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAAwH;IAA7C,yVAAkC;IAAW,mFAAI;IAAA,4DAAI;IAEhI,2EAA2D;IACvD,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAAqB;IAAA,wDAAW;IAAA,4DAAI;IACpC,wEAAa;IAAA,kEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,2EAA6B;IACzB,8EAAuG;IAA5E,0XAAkC,qRAA0B,CAAC,iCAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAA6I;IAAvD,6VAAuC,CAAC,iCAAc;IAAC,wEAAY;IAAA,4DAAI;IAC7J,6EAA2F;IAAnD,iXAA0B;IAAlE,4DAA2F;IAC3F,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAiJ;IAAvD,8VAAuC,CAAC,iCAAc;IAAC,yEAAa;IAAA,4DAAI;IACtK,4DAAM;;;IA3BmC,0DAAmB;IAAnB,qFAAmB;IAIxB,0DAA0C;IAA1C,sKAA0C;IAIjD,0DAAW;IAAX,6EAAW;IAKL,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;AD5I1F,MAAM,iCAAiC;IAqB5C,YACU,mBAAwC,EACxC,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,mBAAwC;QAJxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QAxBlD,UAAK,GAAW,CAAC,CAAC;QACX,kBAAa,GAAuB,EAAE,CAAC;QACvC,WAAM,GAAuB,EAAE,CAAC;QAChC,QAAG,GAAS,IAAI,IAAI,EAAE,CAAC;QACvB,UAAK,GAAW,CAAC,CAAC;QAEzB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,EAAE;YACX,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,mBAAmB,EAAE,IAAI;SAC1B;QAiCD,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,QAAqB,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA/CV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aAChE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACN,CAAC;IA2BM,kBAAkB,CAAC,IAAY;QACpC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1I,CAAC;IAEM,sBAAsB;QAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;YAC1C,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAoB,+CAAQ,CAAC,QAAQ,CAAC;QAEpD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,sGAA2C,CAAC,UAAU,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,yBAAyB,CAAC,YAA8B;QACtD,IAAI,YAAY,CAAC,QAAQ;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;YAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;IAEM,qBAAqB,CAAC,YAA8B;QACzD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1F,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACtD,CAAC;IAEM,cAAc;QACnB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAI,IAAI,CAAC,OAAO,CAAC,IAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/E,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAI,IAAI,CAAC,OAAO,CAAC,EAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACzE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAC9I,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACxC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC1E;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACjF,CAAC;;kHApJU,iCAAiC;+HAAjC,iCAAiC;QChB9C,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,0EAA4B;QACxB,0EAAgD;QAC5C,kFAAiI;QAEjI,8EAAqD;QAAlB,0JAAS,WAAO,IAAC;QAChD,yEAAqC;QAAA,mEAAO;QAAA,4DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,8EAA+E;QAC3E,yEAAqC;QAAA,oEAAQ;QAAA,4DAAI;QACjD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACb,4DAAM;QAEN,2EAAoF;QAChF,oFAAqE;QACrE,qGAAkH;QAClH,iGAA4G;QAChH,4DAAM;QAEN,kJAA4D;QAE5D,6EAAoC;QAChC,2EAAmC;QAC/B,2EAA2F;QACvF,6EAAuE;QAAtB,yJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,2EAA8H;QAA9F,kOAA+E,IAAI,SAAE,WAAO,IAAC;QACzH,yEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,yEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,2EAAwI;QAAxG,4OAAyF,IAAI,SAAE,WAAO,IAAC;QACnI,yEAAuG;QAAA,yEAAa;QAAA,4DAAI;QACxH,yEAAsG;QAAA,2EAAe;QAAA,4DAAI;QAC7H,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,yEAAkF;;QAAA,oFAAI;QAAA,4DAAI;QAC9F,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,gGAAM;QAAA,4DAAI;QAC3B,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,kIA6CM;QAEN,gIAIM;QACV,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,8NAgCc;;;QAlJmC,2DAAa;QAAb,sEAAa;QAc3B,2DAA6B;QAA7B,0FAA6B;QACC,0DAA2B;QAA3B,wFAA2B;QAC/B,0DAA6B;QAA7B,0FAA6B;QAG/D,0DAA4B;QAA5B,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAMjD,0DAA4D;QAA5D,6KAA4D;QAC5D,0DAA2D;QAA3D,4KAA2D;QAItG,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAgB1B,2DAAgB;QAAhB,sFAAgB;QA+CxC,0DAA+B;QAA/B,+FAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClH1C;AACQ;AACoB;AAKJ;;;;;;;;;;;;;;;;;;ICW9C,oEAA4D;;;;;;IAyCxD,2EAA6D;IACzD,2EAA2F;IACvF,6EAA6H;IAAtG,2PAA8B;IAArD,6DAA6H;IACjI,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,2EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACrH,6DAAM;IACV,6DAAM;;;IA1ByB,2DAA8B;IAA9B,yFAA8B;IAGlD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAIxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;IAWpE,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,6EAAkG;IAA7C,6VAA4B;IAAjF,6DAAkG;IAClG,yEAA0B;IAAA,qFAAI;IAAA,6DAAI;IACtC,6DAAM;IAEN,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,gYAAkC,0RAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,mWAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,uXAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,oWAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAEhC,2DAAgC;IAAhC,iGAAgC;IAM/B,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADrH1F,MAAM,oCAAoC;IA0B/C,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC,EACxC,mBAAwC;QALxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QA9BlD,aAAQ,GAAkB,IAAI,CAAC;QAE/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAc,EAAE,CAAC;QACvB,cAAS,GAAa,EAAE,CAAC;QAEzB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAyDF,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAgBd,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IApGV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAC;gBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAE,KAAI,CAAC,IAAI,CAAC,CAAC;aAC3E;iBAAI;gBACH,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;aACxD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;4BAC7C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC5B,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;4BAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;4BACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;yBACzB;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAUD,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gCAAgC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;;YAE/I,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACxK,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErG,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC3D,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACpD,OAAO;SACR;QAED,kBAAkB;QAClB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,QAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChG,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gHAAqD,CAC/F,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChG,CAAC,CAAC,CACH,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACN,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;;YAEpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAChE,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACX,IAAI,QAAQ,GAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,oEAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,GAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAE,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,UAAU;cACb,aAAa;cACb,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAChE,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC9F;aACI;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;;wHArPU,oCAAoC;mIAApC,oCAAoC;QCrBjD,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,wEAAE;QAAA,6DAAI;QACnB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,6DAAI;QAC7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,2EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QACjG,6DAAM;QAEN,sJAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,6JAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAA4H;QAA5F,sOAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC9F,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,0EAAgF;;QAAA,yEAAE;QAAA,6DAAI;QACtF,4EAA0H;QAA1F,oOAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,sIA4BM;QAEN,oIAIM;QACV,6DAAQ;QAER,sJAA4D;QAE5D,4EAAoG;QAChG,+EAA0D;QAA3B,8JAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,8JAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,mOAgCc;;;QAlIgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAG5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAG7C,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAUhG,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QASpE,4DAAmC;QAAnC,sKAAmC;QAAC,wFAA8B;QAEvB,2DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QA8B9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjGE;AACf;AACoB;;;;;;;;;;;ICmEtC,wEAAyK;IAAA,iHAAS;IAAA,4DAAI;;;;;IArB9L,0EAAgF;IAC5E,0EAA8B;IAC1B,oEAAG;IAAA,uDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACN,0EAA8B;IAC1B,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAA8B;IAC1B,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAA8B;IAC1B,yEAAkD;IAAA,wDAAsB;IAAA,4DAAI;IAChF,4DAAM;IACN,2EAA8B;IAC1B,wEAAqG;IACzG,4DAAM;IACN,2EAA0D;IACtD,yEAAyD;IAAtB,oYAAqB;IAAC,wEAAE;IAAA,4DAAI;IAC/D,yIAAsL;IAC1L,4DAAM;IACV,4DAAM;;;IArBK,0DAAkB;IAAlB,iFAAkB;IAGlB,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAAoB;IAApB,mFAAoB;IAGpB,0DAAgB;IAAhB,8EAAgB;IAGhB,0DAA8C;IAA9C,mKAA8C;IAAC,0DAAsB;IAAtB,oFAAsB;IAGlC,0DAA2B;IAA3B,uFAA2B;IAIE,0DAA0F;IAA1F,+OAA0F;;;IA5DjL,wEAA4C;IACxC,0EAAoF;IAChF,0EAAgD;IAC5C,uEAA6D;IAC7D,wEAAoC;IAAA,2GAAQ;IAAA,4DAAI;IAChD,uEAAyG;IACzG,wEAA+B;IAAA,uEAAE;IAAA,4DAAI;IACzC,4DAAM;IAEN,0EAA+D;IAC3D,yEAAa;IAAA,0FAAK;IAAA,4DAAI;IACtB,yEAAoC;IAAA,wDAAuB;IAAA,4DAAI;IAC/D,yEAAa;IAAA,8HAAW;IAAA,4DAAI;IAChC,4DAAM;IAEN,2EAA8B;IAC1B,2EAAoC;IAChC,2EAA8B;IAC1B,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAqC;IACjC,yEAA2B;IAAA,oFAAI;IAAA,4DAAI;IACvC,4DAAM;IACN,2EAA8B;IAC1B,yEAA2B;IAAA,oFAAI;IAAA,4DAAI;IACvC,4DAAM;IACN,sEACM;IACV,4DAAM;IAEN,wIAuBM;IACV,4DAAM;IAEN,2EAA+D;IAC3D,yEAAa;IAAA,iGAAO;IAAA,4DAAI;IACxB,yEAAoC;IAAA,wDAAS;IAAA,4DAAI;IACjD,yEAAa;IAAA,yHAAW;IAAA,4DAAI;IAChC,4DAAM;IAEV,4DAAM;IACV,qEAAe;;;IArEiC,0DAAwB;IAAxB,wFAAwB;IAEjB,0DAAqB;IAArB,qFAAqB;IAM5B,0DAAuB;IAAvB,yFAAuB;IA4Bb,2DAAe;IAAf,sFAAe;IA4BzB,0DAAS;IAAT,2EAAS;;AD/DtD,MAAM,uBAAuB;IAMlC,YACU,eAAgC,EAChC,mBAAwC,EACxC,cAA8B;QAF9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAPxC,aAAQ,GAAgB,IAAI,uDAAW,CAAC,KAAK,CAAC,CAAC;QAC/C,SAAI,GAA6B,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC;QAC/E,UAAK,GAAgB,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,8DAAkB,CAAC,wDAAwD,CAAC,CAAC,CAAC,CAAC;IAMvH,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACrD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK;oBACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACjI,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC,CAAC;gBACvF,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;;8FA/DU,uBAAuB;qHAAvB,uBAAuB;QCdpC,yEAAuC;QACnC,yEAAuB;QACnB,uEAA4C;QAAA,8GAAW;QAAA,4DAAI;QAC/D,4DAAM;QAEN,yEAAuB;QACnB,uEAA2G;;QAAA,+FAAM;QAAA,4DAAI;QACrH,4EAA0F;QAAA,mFAAI;QAAA,4DAAS;QAC3G,4DAAM;QAEN,wIAwEe;QAEf,2EAAqD;QACjD,wEAAuE;QAAA,wEAAE;QAAA,4DAAI;QAC7E,0EAAqF;QACzF,4DAAO;QACP,0EAAkG;QAC9F,8EAAyE;QAA5B,gJAAS,WAAO,IAAC;QAAW,oFAAI;QAAA,4DAAS;QACtF,8EAA2G;QAA7B,gJAAS,YAAQ,IAAC;QAAW,yEAAG;QAAA,4DAAS;QAC3H,4DAAM;QACV,4DAAM;;QAtF4B,0DAAuC;QAAvC,0LAAuC;QAAC,uFAA8B;QAIrF,0DAA2B;QAA3B,2FAA2B;QA0ElB,0DAA4B;QAA5B,yFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnFxB;AAC0B;AACD;AACK;;;;;;;;;;;;;;;;;ICiB1D,oEAA4D;;;;;IAgDpD,yEAA6D;IACzD,2EAAwE;IACpE,qEAAG;IAAA,wDAAkC;IAAA,6DAAI;IAC7C,6DAAM;IACN,2EAAqE;IACjE,qEAAG;IAAA,wDAAqC;IAAA,6DAAI;IAChD,6DAAM;IACN,2EAAwE;IACpE,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAAuE;IACnE,0EAAoB;IAAA,yDAAuB;IAAA,6DAAI;IACnD,6DAAM;IACN,4EAA8F;IAC1F,0EAAqI;IAAA,qFAAI;IAAA,6DAAI;IAC7I,0EAA0G;IAAlD,icAAuC;IAAW,yEAAE;IAAA,6DAAI;IACpH,6DAAM;IACV,sEAAe;;;IAfJ,2DAAkC;IAAlC,iGAAkC;IAGlC,2DAAqC;IAArC,oGAAqC;IAMpB,2DAAuB;IAAvB,+FAAuB;IAGe,2DAAgE;IAAhE,4KAAgE;;;;IAIlI,yEAA6D;IACzD,2EAAwE;IACpE,qEAAG;IAAA,wDAAkC;IAAA,6DAAI;IAC7C,6DAAM;IACN,2EAAqE;IACjE,qEAAG;IAAA,wDAAqC;IAAA,6DAAI;IAChD,6DAAM;IACN,2EAAwE;IACpE,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAAuB;IAAA,6DAAI;IAClC,6DAAM;IAEN,4EAA8F;IAC1F,0EAAqI;IAAA,qFAAI;IAAA,6DAAI;IAC7I,0EAA0G;IAAlD,mcAAuC;IAAW,yEAAE;IAAA,6DAAI;IACpH,6DAAM;IACV,sEAAe;;;IAhBJ,2DAAkC;IAAlC,iGAAkC;IAGlC,2DAAqC;IAArC,oGAAqC;IAMrC,2DAAuB;IAAvB,+FAAuB;IAIgC,2DAAgE;IAAhE,4KAAgE;;;IA3CtI,2EAAwE;IACpE,2EAAwE;IACpE,6EAAuD;IAAhC,kPAA+B;IAAtD,6DAAuD;IAC3D,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IAC5B,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAwC;;IAAA,6DAAI;IACnD,6DAAM;IACN,mJAiBe;IACf,mJAkBe;IACnB,6DAAM;;;;IA7CyB,2DAA+B;IAA/B,0FAA+B;IAGnD,2DAAiB;IAAjB,gFAAiB;IAGjB,2DAAwC;IAAxC,kKAAwC;IAEhC,2DAA4C;IAA5C,mHAA4C;IAkB5C,2DAA4C;IAA5C,mHAA4C;;;IAqB/D,2EAAoE;IAChE,2EAA6B;IACzB,yEAA+B;IAAA,oFAAI;IAAA,6DAAI;IAC3C,6DAAM;IACV,6DAAM;;;;;;IAMV,2EAAqD;IACjD,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAA8B;IAAA,6DAAI;IACnE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAA+H;IAAzC,gVAA8B;IAAW,oFAAI;IAAA,6DAAI;IAEvI,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAsB;IAAA,6DAAI;IAC/C,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAA0F;IAA/D,qXAAkC,sRAA0B,CAAC,IAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAAgI;IAA1C,+VAAuC,CAAC,IAAC;IAAC,yEAAY;IAAA,6DAAI;IAChJ,8EAAmE;IAA3B,4WAA0B;IAAlE,6DAAmE;IACnE,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAoI;IAA1C,gWAAuC,CAAC,IAAC;IAAC,0EAAa;IAAA,6DAAI;IACzJ,6DAAM;;;IA3BmC,2DAA8B;IAA9B,iGAA8B;IAInC,2DAAqD;IAArD,mLAAqD;IAI5D,2DAAsB;IAAtB,yFAAsB;IAKhB,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADjI1F,MAAM,yBAAyB;IAiBpC,YACU,eAAgC,EAChC,cAA8B,EAC9B,mBAAwC,EACxC,kBAAsC,EACtC,aAA4B,EAC5B,aAA4B;QAL5B,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QArBtC,eAAU,GAAW,8EAAqB,CAAC;QAE3C,cAAS,GAAkB,EAAE,CAAC;QAE9B,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,IAAI;SACV,CAAC;QA4BF,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAqC,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YACpF,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,qBAAgB,GAA8B,CAAC,CAAC,KAAe,EAAE,EAAE;YACjE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAjCV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE;aACnC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK;SACtC,CAAC;IACN,CAAC;IAkBD,IAAI,iBAAiB;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC7C,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;eAC5B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;eACzD,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;eAC/D,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CACnE;YACD,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI;mBAClD,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAC5E;YACD,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;mBAC1B,CAAE,IAAI,CAAC,OAAO,CAAC,KAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;mBAClG,CAAE,IAAI,CAAC,OAAO,CAAC,KAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CACxG,CACF,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI;gBAC/B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAEtE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;gBACjC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE9E,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1I,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC;IAGD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEvE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,cAAc,CAAC,eAAuB;QACpC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,CAAC;YACxF,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAC7E,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;aACtF,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,kBAAkB;QAChB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,CAAC;YACxF,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAC7E,+CAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;aACtI,IAAI,CAAC,+DAAc,EAAE,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3K,OAAO;SACR;QAED,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7K,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;;kGArJU,yBAAyB;wHAAzB,yBAAyB;QClBtC,0EAAkE;QAC9D,0EAAgD;QAC5C,kFAAkH;QAElH,6EAAoE;QAA5B,kJAAS,qBAAiB,IAAC;QAC/D,wEAAqC;QAAA,qEAAS;QAAA,6DAAI;QAClD,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,6EAAoE;QAA5B,kJAAS,qBAAiB,IAAC;QAC/D,wEAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QACb,6DAAM;QAGN,2EAAqD;QACjD,gGAAgG;QAChG,2FAA8F;QAClG,6DAAM;QAEN,0IAA4D;QAE5D,4EAA6B;QACzB,4EAAmC;QAC/B,4EAAwE;QACpE,8EAAuE;QAAtB,kJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAAsG;QAAtE,oNAAgE,IAAI,IAAC;QACjG,0EAA2F;QAAA,0EAAa;QAAA,6DAAI;QAC5G,0EAA0F;QAAA,4EAAe;QAAA,6DAAI;QACjH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAAwG;QAAxE,sNAAkE,IAAI,IAAC;QACnG,0EAA6F;QAAA,0EAAa;QAAA,6DAAI;QAC9G,0EAA4F;QAAA,4EAAe;QAAA,6DAAI;QACnH,6DAAM;QACV,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,0HA+CM;QAEN,yHAIM;QACV,6DAAM;QACV,6DAAM;QAGN,wNAgCc;;;QAnJ2B,2DAA+B;QAA/B,gJAA+B;QAejC,4DAAgC;QAAhC,8FAAgC;QACxB,2DAA2B;QAA3B,yFAA2B;QAGvD,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAG7C,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAAgD;QAAhD,mKAAgD;QAChD,2DAA+C;QAA/C,kKAA+C;QAI1F,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAAkD;QAAlD,qKAAkD;QAClD,2DAAiD;QAAjD,oKAAiD;QAoBtD,4DAAqB;QAArB,4FAAqB;QAiDzC,2DAAqC;QAArC,sGAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GhC;AACoB;;;;;;;;;;;ICAtD,wEAAyC;IACrC,yEAAuB;IACnB,6EAAyF;IAAA,mFAAI;IAAA,4DAAS;IAC1G,4DAAM;IACV,qEAAe;;;;IAEf,wEAAiC;IAC7B,yEAAuB;IACnB,wEAA4C;IAAA,8GAAW;IAAA,4DAAI;IAC/D,4DAAM;IACN,yEAAuB;IACnB,wEAAoC;IAAA,mFAAI;IAAA,4DAAI;IAC5C,uEAAiI;IACjI,uEAAiK;IACrK,4DAAM;IAEN,yEAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,wEAA8H;IAC9H,8EAAyH;IAAA,oFAAI;IAAA,4DAAS;IAC1I,4DAAM;IACV,qEAAe;;;IATwC,0DAAkC;IAAlC,kGAAkC;IACF,0DAAkC;IAAlC,kGAAkC;IAKlE,0DAA+B;IAA/B,+FAA+B;;;IASlF,oEAA8B;IAAA,4DAAC;IAAA,4DAAI;;;IACnC,oEAAsB;IAAA,uDAA4B;IAAA,4DAAI;;;IAAhC,0DAA4B;IAA5B,8FAA4B;;;IAkB1D,wEAAyC;IACrC,0EAAkG;IAC9F,0EAAmD;IAC/C,6EAAuD;IAAA,wEAAG;IAAA,4DAAS;IACnE,wEAAiD;IAAA,kJAAiB;IAAA,4DAAI;IAC1E,4DAAM;IACV,4DAAM;IACV,qEAAe;;;;IAEf,wEAAiC;IAC7B,0EAAkG;IAC9F,6EAA8E;IAAjC,6SAAS,mBAAY,IAAC;IAAW,mFAAI;IAAA,4DAAS;IAC3F,6EAA2G;IAA7B,gUAAkB;IAAW,wEAAG;IAAA,4DAAS;IAC3H,4DAAM;IACV,qEAAe;;ADjDZ,MAAM,qBAAqB;IAIhC,YACU,eAAgC,EAChC,mBAAwC,EACxC,cAA8B;QAF9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QALxC,SAAI,GAA2B,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAK/B,CAAC;IAE7C,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;;YAE9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YAC1D,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;aACxE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,CAAC;gBACxF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACN,CAAC;;0FAhCU,qBAAqB;mHAArB,qBAAqB;QCblC,yEAAuC;QACnC,0EAAsF;QAClF,mIAIe;QAEf,oIAee;QAEf,oEAAqD;QAErD,yEAAqD;QACjD,uEAAyG;;QAAA,mFAAI;QAAA,4DAAI;QACjH,6GAAmC;QACnC,+GAAsD;QAC1D,4DAAM;QAEN,0EAAuB;QACnB,wEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,0EAAgD;QAC5C,wEAAa;QAAA,kHAAS;QAAA,4DAAI;QAC1B,uEAAgF;QAChF,wEAAa;QAAA,4FAAO;QAAA,4DAAI;QAC5B,4DAAM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAuE;QAAA,wEAAE;QAAA,4DAAI;QAC7E,2EAAqF;QACzF,4DAAM;QACV,4DAAO;QAEP,qIAOe;QAEf,qIAKe;QACnB,4DAAM;;QA9DuD,0DAA4B;QAA5B,yFAA4B;QAClE,0DAAwB;QAAxB,wFAAwB;QAMxB,0DAAgB;QAAhB,gFAAgB;QAoBD,0DAAqC;QAArC,+KAAqC;QAAC,uFAA8B;QAC1F,0DAAwB;QAAxB,wFAAwB;QACxB,0DAAgB;QAAhB,gFAAgB;QAIM,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAcvF,2DAAwB;QAAxB,wFAAwB;QASxB,0DAAgB;QAAhB,gFAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDY;AACuC;AAC/B;AACoC;AACM;AACM;AACN;AAC/B;AACL;AACP;AACF;AACgD;;;;AAEpG,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,0GAAwB,EAAE;IAClE,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,6GAAyB,EAAE;IACtE;QACE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,+FAAqB,EAAE,QAAQ,EAAE;YACpD,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oGAAqB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;YACpF,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,0GAAuB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE;YAC1F,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gHAAyB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE;YAChG,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;YACnD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;SACnC;KACF;IACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;CAC/B;AAqBM,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAVhB;YACP,yDAAY;YACZ,kEAAqB,CAAC,MAAM,CAAC;YAC7B,wDAAW;YACX,gEAAmB;YACnB,wEAAgB;YAChB,0EAAwB,EAAE;YAC1B,4DAAW;SACZ;mIAEU,cAAc,mBAjBvB,+FAAqB;QACrB,oGAAqB;QACrB,0GAAuB;QACvB,gHAAyB;QACzB,0GAAwB;QACxB,6GAAyB,aAGzB,yDAAY,6DAEZ,wDAAW;QACX,gEAAmB;QACnB,wEAAgB,qEAEhB,4DAAW;;;;;;;;;;;;;;;;;AC7CyC;AAIjD,MAAM,wBAAwB;IAIjC;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;SAChC,CAAC;IACN,CAAC;IAED,4BAA4B;QACxB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAC,CAAC,CAAC;YAC3F,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;SAClD;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACJ;;;;;;;;;;;;;;;;;AC1BmE;AAI7D,MAAM,sBAAsB;IAI/B;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,wDAAwD,CAAC,CAAC,CAAC;YAClI,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;IACP,CAAC;IAED,0BAA0B;;QACtB,OAAO;YACH,QAAQ,EAAE,UAAI,CAAC,KAAK,0CAAE,IAAc;YACpC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;SAClD,CAAC;IACN,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;AC1B0D;;;;;;ICEnD,wEAA0D;IAAA,mFAAI;IAAA,4DAAI;;;IAClE,wEAA4D;IAAA,mFAAI;IAAA,4DAAI;;;IACpE,wEAA8D;IAAA,mFAAI;IAAA,4DAAI;;;IAG1E,wEAA2D;IAAA,mFAAI;IAAA,4DAAI;;;IACnE,wEAA6D;IAAA,mFAAI;IAAA,4DAAI;;;IACrE,wEAA+D;IAAA,mFAAI;IAAA,4DAAI;;ADDpE,MAAM,qBAAqB;IAIhC,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAHxB,QAAG,GAAW,MAAM,CAAC;IAIjB,CAAC;IAEL,QAAQ;QACN,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,uBAAuB;YAC5C,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,yBAAyB;YAC9C,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC;;0FAjBU,qBAAqB;mHAArB,qBAAqB;QCVlC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,6EAAG;QAAA,4DAAI;QACpB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,6GAAkE;QAClE,6GAAoE;QACpE,6GAAsE;QAC1E,4DAAM;QAEN,6GAAmE;QACnE,+GAAqE;QACrE,+GAAuE;QAEvE,0EAA4B;QACxB,0EAA8B;QAC1B,wEAA6G;QAAjC,mJAAe,MAAM,IAAC;QAAW,oFAAI;QAAA,4DAAI;QACrH,wEAAiH;QAAnC,mJAAe,QAAQ,IAAC;QAAW,oFAAI;QAAA,4DAAI;QACzH,yEAAqH;QAArC,mJAAe,UAAU,IAAC;QAAW,oFAAI;QAAA,4DAAI;QACjI,4DAAM;QACN,2EAA4B;QACxB,2EAAgE;QAC5D,sFAAgD;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEV,4DAAM;;;QAtB6B,0DAAmB;QAAnB,mFAAmB;QACnB,0DAAqB;QAArB,qFAAqB;QACrB,0DAAuB;QAAvB,uFAAuB;QAG1B,0DAAmB;QAAnB,mFAAmB;QACnB,0DAAqB;QAArB,qFAAqB;QACrB,0DAAuB;QAAvB,uFAAuB;QASX,2DAA+B;QAA/B,yFAA+B;wnGDZ7D,CAAC,uFAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AENP;AAKY;;;;;;;;;;;;;;;;;ICgB1C,oEAA4D;;;;;;IAyCxD,2EAA6D;IACzD,2EAA2F;IACvF,2EAAyC;IACrC,6EAA+F;IAAxE,gPAA8B;IAArD,6DAA+F;IACnG,6DAAM;IACV,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACrH,6DAAM;IACV,6DAAM;;;IA3B6B,2DAA8B;IAA9B,yFAA8B;IAItD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAIxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;IAWpE,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,6EAAkG;IAA7C,kVAA4B;IAAjF,6DAAkG;IAClG,wEAA0B;IAAA,qFAAI;IAAA,6DAAI;IACtC,6DAAM;IAEN,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,qXAAkC,+QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,wVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,4WAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,yVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAEhC,2DAAgC;IAAhC,iGAAgC;IAM/B,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;AD5H1F,MAAM,yBAAyB;IAyBpC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,eAAgC;QAJhC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAiB;QA5B1C,aAAQ,GAAkB,IAAI,CAAC;QAE/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAY,EAAE,CAAC;QAErB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAgDF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAmBZ,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA/FZ,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACpE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gEAAK,CAAC,OAAO,CAAC,CAAC,CAAC;;YAErC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qCAAqC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACtJ,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IASH,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;iBAC5C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,gEAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAChE,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,gEAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,UAAU;cACb,aAAa;cACb,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC3D;aACI;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;;kGAvMU,yBAAyB;wHAAzB,yBAAyB;QCnBtC,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,8EAAG;QAAA,6DAAI;QACpB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAA0B;QAAA,oFAAI;QAAA,6DAAI;QAClC,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,yEAAqC;QAAA,qFAAI;QAAA,6DAAI;QAC7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,4EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QAEjG,6DAAM;QAEN,2IAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,kJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAA4H;QAA5F,2NAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC9F,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,0EAAgF;;QAAA,yEAAE;QAAA,6DAAI;QACtF,4EAA0H;QAA1F,yNAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,2HA8BM;QAEN,yHAIM;QACV,6DAAQ;QAER,2IAA4D;QAE5D,4EAAoG;QAChG,+EAA0D;QAA3B,mJAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,mJAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,wNAgCc;;;QArIgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAI5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAG7C,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAUhG,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QASpE,4DAAmC;QAAnC,sKAAmC;QAAC,wFAA8B;QAEvB,2DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QAgC9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrGb;;;;;;;;;;;;;;;;;ICqB9B,mEAA4D;;;;;;IAyCxD,0EAA6D;IACzD,0EAA2F;IACvF,0EAAyC;IACrC,4EAAqK;IAA9I,8OAA8B;IAArD,4DAAqK;IACzK,4DAAM;IACV,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAyB;IAAA,4DAAI;IACpC,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAAgC;;IAAA,4DAAI;IAC3C,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAA+B;IAAA,4DAAI;IAC1C,4DAAM;IACN,2EAAqE;IACjE,qEAAG;IAAA,wDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IACN,2EAAwE;IACpE,yEAA0E;IAAA,wDAAkC;IAAA,4DAAI;IACpH,4DAAM;IACN,2EAAsE;IAClE,yEAAqD;IAAA,wDAAkC;;IAAA,4DAAI;IAC/F,4DAAM;IACN,2EAAqE;IACjE,yEAA2G;IAAA,wEAAE;IAAA,4DAAI;IACrH,4DAAM;IACV,4DAAM;;;;IA3B6B,0DAA8B;IAA9B,wFAA8B;IAItD,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAAyB;IAAzB,uFAAyB;IAGzB,0DAAgC;IAAhC,qJAAgC;IAGhC,0DAA+B;IAA/B,6FAA+B;IAG/B,0DAAmB;IAAnB,iFAAmB;IAGnB,0DAA2C;IAA3C,uGAA2C;IAA4B,0DAAkC;IAAlC,gGAAkC;IAGzG,0DAAiD;IAAjD,uKAAiD;IAAC,0DAAkC;IAAlC,0JAAkC;IAG3C,0DAAoD;IAApD,+JAAoD;;;IAIxG,0EAAyD;IACrD,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;;;IAYpE,0EAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAmB;IAAA,4DAAI;IACxD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,0EAA2D;IACvD,uEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAAqB;IAAA,wDAAW;IAAA,4DAAI;IACpC,wEAAa;IAAA,kEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,2EAA6B;IACzB,8EAAuG;IAA5E,iXAAkC,4QAA0B,CAAC,iCAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAA6I;IAAvD,oVAAuC,CAAC,iCAAc;IAAC,wEAAY;IAAA,4DAAI;IAC7J,6EAA2F;IAAnD,wWAA0B;IAAlE,4DAA2F;IAC3F,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAiJ;IAAvD,qVAAuC,CAAC,iCAAc;IAAC,yEAAa;IAAA,4DAAI;IACtK,4DAAM;;;IAzBmC,0DAAmB;IAAnB,qFAAmB;IAM/B,0DAAW;IAAX,6EAAW;IAKL,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;AD3H1F,MAAM,wBAAwB;IAyBnC,YACU,eAAgC,EAChC,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc;QAJd,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QA5BxB,aAAQ,GAAkB,IAAI,CAAC;QAE/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAc,EAAE,CAAC;QAEvB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAkDF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAmBZ,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAjGZ,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7H,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kCAAkC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACnJ,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IAQH,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO;SACR;QAED,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;;gGAlJU,wBAAwB;sHAAxB,wBAAwB;QCnBrC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,6EAAG;QAAA,4DAAI;QACpB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAA0B;QAAA,mFAAI;QAAA,4DAAI;QAClC,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,0EAA4B;QACxB,kFAAkG;QAElG,2EAAoF;QAChF,oFAAqE;QACrE,qFAAqF;QACrF,qFAAqF;QACrF,uFAA2F;QAC3F,wFAA6F;QACjG,4DAAM;QAEN,yIAA4D;QAE5D,6EAAoC;QAChC,2EAAmC;QAC/B,2EAA2F;QACvF,wEAAgC;QACpC,4DAAM;QACN,2EAAuE;QACnE,yEAAkF;;QAAA,oFAAI;QAAA,4DAAI;QAC1F,2EAA4H;QAA5F,yNAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,yEAAiG;QAAA,yEAAa;QAAA,4DAAI;QAClH,yEAAgG;QAAA,2EAAe;QAAA,4DAAI;QACvH,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,yEAAkF;;QAAA,oFAAI;QAAA,4DAAI;QAC9F,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,yEAAgF;;QAAA,wEAAE;QAAA,4DAAI;QACtF,2EAA0H;QAA1F,uNAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,yEAA+F;QAAA,yEAAa;QAAA,4DAAI;QAChH,yEAA8F;QAAA,2EAAe;QAAA,4DAAI;QACrH,4DAAM;QACV,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,yHA8BM;QAEN,uHAIM;QACV,4DAAQ;QAER,yIAA4D;QAE5D,2EAAoG;QAChG,8EAA0D;QAA3B,iJAAS,UAAM,IAAC;QAAW,wEAAE;QAAA,4DAAS;QACrE,8EAA6F;QAA7B,iJAAS,YAAQ,IAAC;QAAW,oFAAI;QAAA,4DAAS;QAC9G,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAGN,qNA8Bc;;;QAnIgB,2DAA8B;QAA9B,yIAA8B;QAGzB,0DAA6B;QAA7B,0FAA6B;QAC5B,0DAA8B;QAA9B,2FAA8B;QAC9B,0DAA8B;QAA9B,2FAA8B;QAC5B,0DAAgC;QAAhC,6FAAgC;QAC/B,0DAAgC;QAAhC,6FAAgC;QAG5C,0DAA4B;QAA5B,iFAA4B;QAQ5B,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAEzB,0DAAsD;QAAtD,uKAAsD;QACtD,0DAAqD;QAArD,sKAAqD;QAUhG,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QASpE,2DAAmC;QAAnC,oKAAmC;QAAC,uFAA8B;QAEvB,0DAAoD;QAApD,qKAAoD;QACpD,0DAAmD;QAAnD,oKAAmD;QAQzD,0DAAW;QAAX,iFAAW;QAgC9B,0DAA0B;QAA1B,0FAA0B;QAO5C,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrGO;AAM9B;AAC0B;;;;;;;;;;IC0BlC,uEAA0C;IAAA,6EAAG;IAAA,4DAAI;;;IACjD,uEAAyC;IAAA,6EAAG;IAAA,4DAAI;;;IAChD,uEAAyC;IAAA,6EAAG;IAAA,4DAAI;;;IAGhD,wEAAyD;IAAA,uDAAuB;IAAA,4DAAI;;;IAA3B,0DAAuB;IAAvB,uFAAuB;;;;IAChF,4EAAkH;IAAnC,8XAAiC;IAAhH,4DAAkH;;;IAAnC,2FAAiC;;;IAlBxH,0EAAwF;IACpF,0EAA0B;IAElB,wEAAyC;IAAA,uDAA6C;;IAAA,4DAAI;IAE1F,wEAA4B;IAAA,uDAAwC;;IAAA,4DAAI;IACxE,wEAA+C;IAAA,uDAAmC;;IAAA,4DAAI;IACtF,yEAAyC;IAAA,kEAAC;IAAA,4DAAI;IAC9C,yEAA+C;IAAA,wDAAiC;;IAAA,4DAAI;IACpF,sEAAqC;IAC7C,4DAAM;IACN,2EAAoE;IAChE,qIAAiD;IACjD,qIAAgD;IAChD,qIAAgD;IACpD,4DAAM;IACN,2EAAsE;IAClE,qIAAoF;IACpF,6IAAkH;IACtH,4DAAM;IACV,4DAAM;;;;IAjB+C,0DAA6C;IAA7C,0KAA6C;IAE1D,0DAAwC;IAAxC,uKAAwC;IACrB,0DAAmC;IAAnC,6JAAmC;IAEnC,0DAAiC;IAAjC,2JAAiC;IAIrE,0DAAyB;IAAzB,iGAAyB;IACzB,0DAAwB;IAAxB,gGAAwB;IACxB,0DAAwB;IAAxB,gGAAwB;IAGnC,0DAAa;IAAb,gFAAa;IACT,0DAAY;IAAZ,+EAAY;;;;IAKhC,sEAAqB;IACjB,6EAAiE;IAAlC,8UAAuB;IAAW,wEAAG;IAAA,4DAAS;IAC7E,6EAA0F;IAA3B,uUAAgB;IAAW,wEAAG;IAAA,4DAAS;IAC1G,4DAAM;;;;IACN,sEAAoB;IAChB,6EAA+D;IAAhC,4UAAqB;IAAW,wEAAG;IAAA,4DAAS;IAC3E,6EAA0F;IAA3B,uUAAgB;IAAW,wEAAG;IAAA,4DAAS;IAC1G,4DAAM;;;;;IArDlB,yEAA8D;IAAxB,mUAAuB;IACzD,yEAA6I;IAAnC,8JAAS,wBAAwB,IAAC;IACxI,uEAA8D;IAAA,2GAAQ;IAAA,4DAAI;IAC1E,yEAAqB;IACjB,yEAA0D;IACvD,uEAAa;IAAA,sGAAQ;IAAA,4DAAI;IACzB,uEAAgC;IAAA,uDAAS;IAAA,4DAAI;IAChD,4DAAM;IAEV,4DAAM;IACN,0EAAiF;IAC7E,0EAAkD;IAC9C,yEAA0B;IAAA,oFAAI;IAAA,4DAAI;IACtC,4DAAM;IACN,2EAA6E;IACzE,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAA8E;IAC1E,wEAAa;IAAA,gGAAM;IAAA,4DAAI;IAC3B,4DAAM;IACV,4DAAM;IACN,2EAA0C;IAElC,oIAoBM;IACd,4DAAM;IACN,2EAAoB;IAChB,kIAGM;IACN,kIAGM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAvDyC,0DAA8D;IAA9D,yLAA8D;IAK9D,0DAAS;IAAT,6EAAS;IAiBe,2DAAc;IAAd,qFAAc;IAuBnE,0DAAa;IAAb,gFAAa;IAIb,0DAAY;IAAZ,+EAAY;;ADjCvB,MAAM,6BAA6B;IAWxC,YACU,gBAAkC,EAClC,YAA0B,EAC1B,KAAqB,EACrB,cAA8B,EAC9B,mBAAwC;QAJxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAdzC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QACpC,cAAS,GAAa,EAAE,CAAC;QAElC,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACjD,aAAQ,GAAK,EAAE,CAAC;QAChB,UAAK,GAAS,CAAC,CAAC;QAChB,SAAI,GAAQ,EAAE,CAAC;QACf,WAAM,GAAS,KAAK,CAAC;QA4BrB,gBAAW,GAAe,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,gBAAW,GAAW,CAAC,GAAE,EAAE;YAEzB,IAAI,CAAC,KAAK,GAAC,CAAC,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAC,EAAE;gBACjC,IAAI,CAAC,KAAK,IAAE,QAAQ,CAAC,eAAe,EAAC,SAAQ,CAAC,eAAe,EAAC,EAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,SAAI,GAAW,CAAC,GAAE,EAAE;YAGlB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,8CAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAC,EAAE;oBAEtC,IAAG,QAAQ,CAAC,IAAI,IAAE,IAAI;wBACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAC,QAAQ,CAAC,eAAe,CAAC;oBACxD,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAE;wBACtC,IAAI,EAAC,QAAQ,CAAC,IAAI;wBAClB,IAAI,EAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;wBAChC,SAAS,EAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;wBAC1C,OAAO,EAAC,QAAQ,CAAC,OAAO,IAAE,IAAI,EAAC,GAAE,EAAC,SAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;wBAChE,eAAe,EAAC,QAAQ,CAAC,eAAe;qBACzC,CAAC;gBACJ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,8DAAc,EAAE,EAAE,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;qBAC5E,SAAS,CAAC,KAAK,CAAC,EAAE;oBAChB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,CAAC;oBACxF,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,cAAS,GAAe,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAC,EAAE;gBACjC,IAAG,QAAQ,CAAC,IAAI,IAAE,IAAI;oBACpB,QAAQ,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,SAAI,GAAW,CAAC,GAAE,EAAE;YAClB,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC;QACnB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAGd,eAAU,GAAuB,CAAC,CAAC,IAAa,EAAC,EAAE;YACjD,IAAI,GAAG,GAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAG,GAAG,GAAC,IAAI,CAAC,SAAS,EAAC;gBACpB,OAAO,CAAC,CAAC;aACV;iBAAK,IAAG,GAAG,GAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAE,IAAI,IAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAC;gBACvE,OAAO,CAAC,CAAC;aACV;;gBAAK,OAAO,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA9EZ,CAAC;IAEH,QAAQ;QACN,IAAI,CAAC,KAAK,GAAC,CAAC,CAAC;QAGb,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAC,EAAE;YACjC,IAAI,CAAC,KAAK,IAAE,QAAQ,CAAC,eAAe,EAAC,SAAQ,CAAC,eAAe,EAAC,EAAC,CAAC;YAChE,IAAG,QAAQ,CAAC,IAAI,IAAE,IAAI;gBACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAC,QAAQ,CAAC,eAAe,CAAC;QAC1D,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;;0GArCU,6BAA6B;2HAA7B,6BAA6B;QCjB1C,0HAwDM;;QAxDiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICiBpB,mEAA4D;;;;;IAkCpD,0EAAkE;IAC9D,0EAAwE;IACpE,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAChC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IACnC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAA8B;IAAA,4DAAI;IACzC,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAA+B;;IAAA,4DAAI;IAC1C,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,6DAAC;IAAA,4DAAI;IACZ,4DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,6DAAC;IAAA,4DAAI;IACZ,4DAAM;IACN,2EAAsE;IAClE,yEAAyF;IAAA,wEAAE;IAAA,4DAAI;IAC/F,yEAA6F;IAArC,oZAA0B;IAAW,wEAAE;IAAA,4DAAI;IACvG,4DAAM;IACV,4DAAM;;;IA3BK,0DAAqB;IAArB,mFAAqB;IAGrB,0DAAwB;IAAxB,sFAAwB;IAGxB,0DAA8B;IAA9B,4FAA8B;IAG9B,0DAA+B;IAA/B,mJAA+B;IAG/B,0DAAgB;IAAhB,8EAAgB;IAGhB,0DAAkB;IAAlB,gFAAkB;IASM,0DAAmD;IAAnD,6JAAmD;;;IAM1F,0EAAgE;IAC5D,0EAA6B;IACzB,wEAA+B;IAAA,mFAAI;IAAA,4DAAI;IAC3C,4DAAM;IACV,4DAAM;;;;IAvF1B,yEAAwD;IAAlB,qUAAiB;IACnD,yEAAiE;IAAnC,wKAAS,wBAAwB,IAAC;IAC5D,yEAA8B;IAC1B,uEAAgD;IAAA,mFAAI;IAAA,4DAAI;IACxD,yEAAyG;IACrG,uEAA8C;IAAA,qEAAU;IAAA,4DAAI;IAC5D,uEAA6B;IAAA,mFAAI;IAAA,4DAAI;IACzC,4DAAM;IACV,4DAAM;IAEN,0EAAmC;IAC/B,2EAAgD;IAC5C,mFAA4F;IAC5F,yFAA8E;IAA9B,mWAA6B;IAAC,4DAAoB;IACtG,4DAAM;IAEN,2EAAwE;IACpE,8JAA4D;IAE5D,2EAA6B;IACzB,2EAAmC;IAC/B,2EAAwE;IACpE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA0E;IACtE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAA0E;IACtE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAyE;IACrE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAyE;IACrE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAsE;IAClE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACV,4DAAM;IAEN,2EAAmC;IAC/B,8IA6BM;IACV,4DAAM;IAEN,4IAIM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAA8E;IAC1E,8EAAiD;IAAlB,2UAAiB;IAAC,wEAAE;IAAA,4DAAS;IAChE,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;IApF4B,2DAA8B;IAA9B,yIAA8B;IAKjC,0DAA4B;IAA5B,iFAA4B;IAkCY,2DAAiB;IAAjB,0FAAiB;IAgCvC,0DAAiC;IAAjC,oGAAiC;;;;;IAgB9E,0EAAgD;IAC5C,0EAAuD;IACnD,wEAAa;IAAA,yFAAK;IAAA,4DAAI;IACtB,wEAAiC;IAAA,uDAAkB;IAAA,4DAAI;IACvD,wEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,0EAA6B;IACzB,6EAA0F;IAA/D,8XAAkC,gSAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,yWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,sXAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,0WAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IAnBmC,0DAAkB;IAAlB,oFAAkB;IAKxB,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;AC5G1F,MAAM,uCAAuC;IAalD,YACU,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAX3B,UAAK,GAAc,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACzD,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,YAAO,GAAY,KAAK,CAAC;QASzB,iBAAY,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAbV,CAAC;IAEL,QAAQ;IACR,CAAC;IAYD,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC9B,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;eACjH,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;mBACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;mBAC5E,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa;aACtB,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/G,CAAC;;8HAzDU,uCAAuC;qIAAvC,uCAAuC;QDZpD,oIAgGM;QAEN,iOAwBc;;QA1HS,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEIQ;AACc;AACI;AAET;AAGkB;AACZ;AAMY;;;;;;;;;;;;;;;;;;ICV3D,yEAA+C;IAAA,sGAAO;IAAA,6DAAI;;;IAD9D,2EAAmF;IAC/E,oHAA0D;IAC9D,6DAAM;;;IADE,2DAA+B;IAA/B,mGAA+B;;;IAS/B,8EAA8D;IAAA,wDAAe;IAAA,6DAAS;;;IAA9C,mFAAqB;IAAC,2DAAe;IAAf,+EAAe;;;IAKjF,yEAA+C;IAAA,sGAAO;IAAA,6DAAI;;;IAD9D,2EAAmF;IAC/E,qHAA0D;IAC9D,6DAAM;;;IADE,2DAA+B;IAA/B,mGAA+B;;;IA0B3B,yEAA0D;IAAA,wHAAU;IAAA,6DAAI;;;IACxE,yEAAwD;IAAA,wHAAU;IAAA,6DAAI;;;IAH9E,2EAA0G;IACtG,yEAAc;IACV,qHAAwE;IACxE,qHAAsE;IACtE,wEAA8G;IAC9G,yEAAa;IAAA,wEAAE;IAAA,6DAAI;IACvB,sEAAe;IACnB,6DAAM;;;IALM,2DAA0C;IAA1C,8GAA0C;IAC1C,2DAAyC;IAAzC,6GAAyC;;;IAOjD,yEAAqD;IAAA,sGAAO;IAAA,6DAAI;;;IADpE,2EAA+F;IAC3F,qHAAgE;IACpE,6DAAM;;;IADE,2DAAqC;IAArC,yGAAqC;;;IAIzC,yEAAoD;IAAA,sGAAO;IAAA,6DAAI;;;IAC/D,yEAA+C;IAAA,8GAAU;IAAA,6DAAI;;;IAFjE,2EAA6F;IACzF,qHAA+D;IAC/D,qHAA6D;IACjE,6DAAM;;;IAFE,2DAAoC;IAApC,wGAAoC;IACpC,2DAA+B;IAA/B,mGAA+B;;;IAmBvC,yEAAyD;IAAA,sGAAO;IAAA,6DAAI;;;IADxE,2EAAuG;IACnG,qHAAoE;IACxE,6DAAM;;;IADE,2DAAyC;IAAzC,6GAAyC;;;;IAOjD,yEAAiD;IAC7C,+FAAqF;IAA9B,6WAA6B;IAAC,6DAA0B;IACnH,sEAAe;;;IADc,2DAA6B;IAA7B,8FAA6B;;;IAYlD,yEAA4D;IAAA,sGAAO;IAAA,6DAAI;;;IAD3E,2EAA6G;IACzG,oIAAuE;IAC3E,6DAAM;;;IADE,2DAA4C;IAA5C,iHAA4C;;;;IATxD,yEAAiD;IAC7C,4EAAgD;IAC5C,6EAAgL;IAAzE,4SAAS,WAAc,IAAC;;IAA/H,6DAAgL;IAChL,qFAAmE;IACvE,6DAAO;IAEP,yEAAkF;IAAlD,4SAAS,+BAAuB,KAAK,CAAC,IAAC;IAAW,sGAAO;IAAA,6DAAI;IAE7F,iIAEM;IACV,sEAAe;;;;IAVL,2DAAyC;IAAzC,0GAAyC;IACqF,2DAAsC;IAAtC,iLAAsC;IAAhI,gFAAyB;IAM7B,2DAAqE;IAArE,gJAAqE;;;IAK/G,oEAA6E;;;IAWzE,yEAA+C;IAAA,kHAAS;IAAA,6DAAI;;;IAC5D,yEAA2C;IAAA,kHAAS;IAAA,6DAAI;;;IAF5D,2EAAmF;IAC/E,qHAA4D;IAC5D,qHAAwD;IAC5D,6DAAM;;;IAFE,2DAA+B;IAA/B,oGAA+B;IAC/B,2DAA2B;IAA3B,gGAA2B;;;IAuB/B,yEAAoE;IAAA,gGAAM;IAAA,6DAAI;;;IADlF,2EAAuE;IACnE,2HAA8E;IAClF,6DAAM;;;IAD6B,2DAAyB;IAAzB,8FAAyB;;;;IAPhE,0EAAsD;IAClD,wEAAyG;;IAAA,oFAAI;IAAA,6DAAI;IACjH,wEAAwG;;IAExG,8EAAsG;IAA9B,6TAAmB;IAAW,oFAAI;IAAA,6DAAS;IAEnH,yHAEM;IACV,6DAAM;;;IARwB,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IAC/B,2DAAwC;IAAxC,6LAAwC;IAIjE,2DAA+B;IAA/B,4GAA+B;;;IAW7D,yEAAyD;IAAA,kHAAS;IAAA,6DAAI;;;IAD1E,2EAA+G;IAC3G,4HAAsE;IAC1E,6DAAM;;;IADE,2DAAyC;IAAzC,8GAAyC;;;IAS7C,yEAAuD;IAAA,kHAAS;IAAA,6DAAI;;;IACpE,yEAA0D;IAAA,4JAAgB;IAAA,6DAAI;;;IAFlF,2EAA2G;IACvG,6HAAoE;IACpE,6HAA8E;IAClF,6DAAM;;;IAFE,2DAAuC;IAAvC,4GAAuC;IACvC,2DAA0C;IAA1C,+GAA0C;;;IAhB1D,4EAAoE;IAChE,0EAAuB;IACnB,yEAA2B;IAAA,oFAAI;IAAA,6DAAI;IACnC,kFAAoE;IAEpE,yHAEM;IACV,6DAAM;IAEN,0EAAuB;IACnB,yEAA2B;IAAA,oFAAI;IAAA,6DAAI;IACnC,kFAAkE;IAElE,2HAGM;IACV,6DAAM;IACV,6DAAO;;;IAhBkB,2DAAgC;IAAhC,kGAAgC;IAEX,2DAAuE;IAAvE,oJAAuE;IAO5F,2DAA8B;IAA9B,gGAA8B;IAET,2DAAmE;IAAnE,gJAAmE;;;;IAa7F,2EAA8D;IAC1D,yEAAO;IACH,wEAAqF;IACrF,yEAAgC;IAAA,wDAAwB;IAAA,6DAAI;IAChE,6DAAQ;IACR,yEAAiI;IAAjC,4VAA2B,IAAI,IAAC;IAAC,kEAAM;IAAA,6DAAI;IAC/I,6DAAM;;;IAJ2D,2DAA2B;IAA3B,yFAA2B;IACpD,2DAAwB;IAAxB,wFAAwB;;;;IAIhE,yEAA8C;IAC1C,mFAA8G;IAC9G,8EAA0F;IAAzC,ycAA8B;IAAW,oFAAI;IAAA,6DAAS;IAC3G,sEAAe;;;;;;IAFO,2DAAqB;IAArB,mFAAqB;;;IAVnD,2EAA4G;IACxG,2EAAgC;IAC5B,wIAMM;IACN,0JAGe;IACnB,6DAAM;IACV,6DAAM;;;IAZgC,2DAA8B;IAA9B,+FAA8B;IAO7C,2DAA6B;IAA7B,8FAA6B;;;;IAYpD,yEAA8C;IAC1C,mFAAqG;IAErG,8EAAiF;IAAhC,yVAAqB;IAAW,oFAAI;IAAA,6DAAS;IAClG,sEAAe;;;;IAHoB,2DAAa;IAAb,2EAAa;;;;IAKhD,8EAA+G;IAA/B,kVAAoB;IAAW,oFAAI;IAAA,6DAAS;;;IA/BxI,yEAA8B;IAC1B,0EAAuB;IACnB,yEAAuJ;;IAAA,oFAAI;IAAA,6DAAI;IAC/J,2EAAgC;IAC5B,kIAcM;IACN,2EAA6B;IACzB,yEAAO;IACH,wEAAkF;IAClF,0EAAgC;IAAA,yDAA+B;IAAA,6DAAI;IACvE,6DAAQ;IACZ,6DAAM;IACN,sJAIe;IAEf,0IAA4H;IAChI,6DAAM;IACV,6DAAM;IACV,sEAAe;;;IAhCiE,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IAEpE,2DAAqB;IAArB,+FAAqB;IAiBxB,2DAAwB;IAAxB,0FAAwB;IACjD,2DAA+B;IAA/B,mGAA+B;IAGxC,2DAAa;IAAb,wFAAa;IAMM,2DAA4B;IAA5B,iGAA4B;;;IAUlF,yEAA6C;IAAA,4GAAQ;IAAA,6DAAI;;;IAD7D,2EAA+E;IAC3E,qHAAyD;IAC7D,6DAAM;;;IADE,2DAA6B;IAA7B,kGAA6B;;;;IAWrC,2EAA+D;IAC3D,yEAAyC;IAAA,sJAAe;IAAA,6DAAI;IAC5D,8EAAkI;IAAA,oFAAI;IAAA,6DAAS;IACnJ,6DAAM;;IADmD,2DAAkE;IAAlE,+IAAkE;;;;IAG3H,2EAA8E;IAC1E,yEAAa;IAAA,sGAAO;IAAA,6DAAI;IACxB,yEAA+B;IAAA,wDAAuB;IAAA,6DAAI;IAC1D,yEAAgB;IAAA,wDAAoB;IAAA,6DAAI;IACxC,yEAAa;IAAA,+EAAI;IAAA,6DAAI;IACrB,8EAA2F;IAAjC,uWAAS,WAAY,IAAC;IAAW,qFAAI;IAAA,6DAAS;IAC5G,6DAAM;;;IAJ6B,2DAAuB;IAAvB,2FAAuB;IACtC,2DAAoB;IAApB,iGAAoB;;;IAwDxB,qEAAgC;IAAA,wDAAqC;;IAAA,6DAAI;;;IAAzC,2DAAqC;IAArC,gKAAqC;;;IACrE,kFAAkF;;;IAArC,gFAAkB;;;IAE/D,qEAAgC;IAAA,wDAAmC;;IAAA,6DAAI;;;IAAvC,2DAAmC;IAAnC,8JAAmC;;;IACnE,kFAAgF;;;IAAnC,8EAAgB;;;;IAG7D,0EAA4G;IAAvC,oVAAuB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;;IAClH,0EAA4G;IAAxC,oVAAuB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;;IAhB1H,2EAAmF;IAC/E,2EAAuD;IACnD,qEAAG;IAAA,wDAAmD;;IAAA,6DAAI;IAC9D,6DAAM;IACN,2EAAwD;IACpD,qEAAG;IAAA,wDAA8C;;IAAA,6DAAI;IACzD,6DAAM;IACN,2EAA8B;IAC1B,uIAAyE;IACzE,mKAAkF;IAClF,0EAA+B;IAAA,mEAAC;IAAA,6DAAI;IACpC,uIAAuE;IACvE,mKAAgF;IACpF,6DAAM;IACN,4EAAwD;IACpD,wIAAkH;IAClH,wIAAkH;IAClH,2EAA8G;IAAxC,iZAA6B;IAAW,yEAAE;IAAA,6DAAI;IACxH,6DAAM;IACV,6DAAM;;;;IAjBK,2DAAmD;IAAnD,oLAAmD;IAGnD,2DAA8C;IAA9C,iLAA8C;IAG7C,2DAA0B;IAA1B,2FAA0B;IACZ,2DAAyB;IAAzB,0FAAyB;IAEvC,2DAA0B;IAA1B,2FAA0B;IACZ,2DAAyB;IAAzB,0FAAyB;IAGF,2DAA0B;IAA1B,2FAA0B;IAC1B,2DAAyB;IAAzB,0FAAyB;;;;IAK1E,2EAAqD;IACjD,2EAAuD;IACnD,8EAAoN;IAAxE,mTAAS,WAAc,IAAC;;IAApK,6DAAoN;IACpN,sFAAmE;IACvE,6DAAM;IACN,sEAA8D;IAC9D,2EAA8B;IAC1B,kFAAkE;IAClE,yEAA+B;IAAA,mEAAC;IAAA,6DAAI;IACpC,mFAAgE;IACpE,6DAAM;IACN,4EAAwD;IACpD,2EAA8E;IAAtC,kVAA2B;IAAW,yEAAE;IAAA,6DAAI;IACpF,2EAAiH;IAA3C,+UAA2B,IAAI,IAAC;IAAW,yEAAE;IAAA,6DAAI;IAC3H,6DAAM;IACV,6DAAM;;;;IAbuK,2DAAqC;IAArC,2KAAqC;IAA7I,gFAAyB;IAKrE,2DAA8B;IAA9B,gGAA8B;IAE9B,2DAA4B;IAA5B,8FAA4B;;;;IAQrD,4EAA6G;IACzG,0EAAkE;IAAlC,gVAAuB;IAAW,sFAAM;IAAA,6DAAI;IAChF,6DAAM;;;;;IAtElB,2EAAgC;IAC5B,2EAAgD;IAC5C,yEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,yEAAqB;IAAA,wDAA0D;;IAAA,6DAAI;IACnF,yEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,yEAAqB;IAAA,yDAAwD;;IAAA,6DAAI;IACjF,0EAAa;IAAA,2FAAK;IAAA,6DAAI;IACtB,0EAAoC;IAAA,yDAA2B;IAAA,6DAAI;IACnE,0EAAa;IAAA,mEAAC;IAAA,6DAAI;IAClB,4EAAoH;IAApD,uVAA0B;IACtF,0EAAqC;IAAA,yEAAE;IAAA,6DAAI;IAC/C,6DAAM;IACV,6DAAM;IAEN,4EAAmE;IAC/D,4EAAyB;IACrB,4EAAoC;IAChC,4EAAuD;IACnD,0EAAa;IAAA,qFAAI;IAAA,6DAAI;IACrB,0EAAoC;IAAA,yDAA2B;IAAA,6DAAI;IACnE,0EAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IACN,uEAA8D;IAC9D,uEAAoC;IACpC,4EAA6E;IAArB,wUAAoB;IACxE,0EAAiF;IAAA,mEAAM;IAAA,6DAAI;IAC3F,0EAAgC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,6DAAM;IACV,6DAAM;IAEN,sIAmBM;IAEN,qIAeM;IAEN,oIAEM;IACV,6DAAM;IACV,6DAAM;IACV,6DAAM;;;IAtEuB,2DAA0D;IAA1D,kMAA0D;IAE1D,2DAAwD;IAAxD,kMAAwD;IAEzC,2DAA2B;IAA3B,+FAA2B;IAE4B,2DAAwB;IAAxB,6JAAwB;IAKxF,2DAAmC;IAAnC,qGAAmC;IAKd,2DAA2B;IAA3B,+FAA2B;IAW1B,4DAAmB;IAAnB,4FAAmB;IAqBlC,2DAAqB;IAArB,0FAAqB;IAiB2B,2DAA6B;IAA7B,kGAA6B;;AD3RpH,MAAM,oBAAoB;IAiB/B,YACU,YAA0B,EAC1B,gBAAkC,EAClC,cAA8B,EAC9B,cAA8B,EAC9B,mBAAwC,EACxC,gBAAkC,EAClC,MAAc;QANd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAQ;QAtBxB,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,WAAM,GAAY,IAAI,CAAC;QAEvB,SAAI,GAAoB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAC/C,eAAU,GAAkB,EAAE,CAAC;QAE/B,cAAS,GAAM,IAAI,+DAAI,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;QAE/B,oBAAe,GAA8B,IAAI,CAAC;QAElD,YAAO,GAAmB,IAAI,CAAC;QAC/B,eAAU,GAAgB,EAAE,CAAC;QAE7B,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAwDjD,cAAS,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QA0Fb,iBAAY,GAAe,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QA2Cb,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YACpC,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;QACpE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAzLV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,+CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAC3C,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpD,SAAS,EAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;SAC3C,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,SAAS,GAAC,KAAK,CAAC,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,iFAAW,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,+CAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAC,WAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAC,CAAC;aACjI,IAAI,CAAC,+DAAc,EAAE,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAMD,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC/B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAC/C,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kHAAuD,CAAC,CAAC;YACrG,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACnC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,sFAA2B,CAAC,CAAC;YACzE,OAAO;SACR;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YACxD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2GAAgD,CAAC,CAAC;YAC9F,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC3D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CACjF,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACpC,CAAC,CAAC,CACH,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAU;QACd,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC9B,CAAC;IAMD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,GAAG,IAAI,4EAAkB,EAAE,CAAC;IAClD,CAAC;IAED,eAAe;;QACb,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,OAAO;SACR;QAED,IAAI,UAAI,CAAC,eAAe,0CAAE,SAAS,CAAC,OAAO,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAClD,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAgB;QAC1B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;aAC7D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;;wFA9MU,oBAAoB;mHAApB,oBAAoB;;QC3BjC,2EAA4F;QACxF,wEAA4C;QAAA,+GAAW;QAAA,6DAAI;QAE3D,0EAAuB;QACnB,wEAAyG;;QAAA,oFAAI;QAAA,6DAAI;QACjH,uEAA4G;;QAE5G,iHAEM;QACV,6DAAM;QAEN,2EAAuB;QACnB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,2EAAyB;QACrB,8EAA6D;QACzD,8EAAqD;QAAA,uGAAO;QAAA,6DAAS;QACrE,0HAAsF;QAC1F,6DAAS;QACb,6DAAM;QAEN,mHAEM;QACV,6DAAM;QAEN,2EAAuB;QACnB,0EAA+H;;QAAA,qFAAI;QAAA,6DAAI;QACvI,4EAAgC;QAC5B,4EAAgD;QAC5C,0EAAO;QACH,yEAAmE;QACnE,0EAA0B;QAAA,qFAAI;QAAA,6DAAI;QACtC,6DAAQ;QAER,8EAAoB;QAChB,yEAAwE;QACxE,0EAA0B;QAAA,qFAAI;QAAA,6DAAI;QACtC,6DAAQ;QAER,8EAAoB;QAChB,yEAAuE;QACvE,0EAA0B;QAAA,qFAAI;QAAA,6DAAI;QACtC,6DAAQ;QACZ,6DAAM;QAEN,oHAOM;QAEN,mHAEM;QAEN,mHAGM;QACV,6DAAM;QAEV,6DAAM;QAEN,2EAAuB;QACnB,yEAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,0EAAO;QACH,yEAAuE;QACvE,0EAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAQ;QAER,8EAAoB;QAChB,yEAAwE;QACxE,0EAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAQ;QAER,mHAEM;QACV,6DAAM;QAEN,2EAAuB;QACnB,0EAA+H;;QAAA,qFAAI;QAAA,6DAAI;QAEvI,sIAEe;QAEf,sIAWe;QAEf,sIAA6E;QACjF,6DAAM;QAEN,2EAAuB;QACnB,yEAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,8EAAmL;QAAxE,+RAAS,WAAa,IAAC;;QAAlI,6DAAmL;QACnL,sFAAkE;QAElE,mFAAmE;QAEnE,mHAGM;QACV,6DAAM;QAEN,2EAAuB;QACnB,yEAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,0EAAO;QACH,yEAA2D;QAC3D,0EAAa;QAAA,+EAAG;QAAA,6DAAI;QACxB,6DAAQ;QACR,8EAAsC;QAClC,yEAA0D;QAC1D,0EAAa;QAAA,+EAAG;QAAA,6DAAI;QACxB,6DAAQ;QACZ,6DAAM;QAEN,oHASM;QAEN,uHAmBO;QAEP,uIAkCe;QAEf,2EAAuB;QACnB,yEAA0G;;QAAA,2FAAK;QAAA,6DAAI;QACnH,yEAAqE;QAErE,mHAEM;QACV,6DAAM;QAEN,2EAAuB;QACnB,0EAAiD;QAAA,qFAAI;QAAA,6DAAI;QACzD,4EAA0F;QAC9F,6DAAM;QAEN,2EAAuB;QACnB,0EAA+H;;QAAA,qFAAI;QAAA,6DAAI;QACvI,oHAGM;QAEN,uHAMM;QACV,6DAAM;QAEN,4EAAuB;QACnB,2EAAiD;QAAA,0EAAE;QAAA,6DAAI;QACvD,6EAAqF;QACzF,6DAAM;QACV,6DAAO;QAEP,6EAAiG;QAC7F,gFAAyE;QAA5B,+IAAS,WAAO,IAAC;QAAW,sFAAI;QAAA,6DAAS;QACtF,gFAA2G;QAA7B,+IAAS,YAAQ,IAAC;QAAW,2EAAG;QAAA,6DAAS;QAC3H,6DAAM;QAEN,qNA2Ec;QAEd,iHAAwF;;;;QA9TzB,0FAA4B;QAIzD,2DAAqC;QAArC,iLAAqC;QAAC,wFAA8B;QACzB,2DAAsC;QAAtC,kLAAsC;QAErE,2DAA2C;QAA3C,gHAA2C;QASjE,2DAAgB;QAAhB,0EAAgB;QACC,2DAAa;QAAb,oFAAa;QAIR,2DAA2C;QAA3C,gHAA2C;QAMjC,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAmB9E,4DAAsE;QAAtE,2IAAsE;QASlE,2DAAuD;QAAvD,4HAAuD;QAIvD,2DAAqD;QAArD,0HAAqD;QASrE,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAWxD,4DAA+D;QAA/D,oIAA+D;QAMrD,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAErG,2DAAgC;QAAhC,iGAAgC;QAIhC,2DAAgC;QAAhC,iGAAgC;QAahC,2DAAgC;QAAhC,gGAAgC;QAIrB,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QACqC,2DAAsC;QAAtC,mLAAsC;QAAnI,gFAAwB;QAGhC,2DAAkB;QAAlB,gFAAkB;QAEV,2DAA2C;QAA3C,gHAA2C;QAOvD,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAW1E,4DAA4B;QAA5B,6FAA4B;QAWlB,2DAAgC;QAAhC,iGAAgC;QAqBnD,2DAAa;QAAb,8EAAa;QAqCE,2DAAsC;QAAtC,wLAAsC;QAAC,wFAA8B;QAGzD,2DAAuC;QAAvC,4GAAuC;QAW7B,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QACnF,2DAA4B;QAA5B,6FAA4B;QAKZ,2DAA2B;QAA3B,4FAA2B;iuLDpMtE,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AEzBuC;AACM;AAEvB;AACH;AACA;AAEY;;;;;;;;;ICS3D,mEAAiF;;;IAEjF,mEAAiF;;;IAuBrF,2FAA+G;IAC3G,uEAAgD;IAChD,uEAA4C;IAChD,4DAAuB;;;;IAHiD,4EAAsB;;;IAK9F,2FAAgG;IAC5F,uEAAgD;IAChD,uEAA4C;IAChD,4DAAuB;;;;IAHkD,4EAAsB;;;IAmBvF,mEAAiE;;;IAVrE,wEAA4C;IACxC,0EAA8B;IAC1B,6EAAiF;IAC7E,6EAA0B;IAAA,6EAAG;IAAA,4DAAS;IACtC,6EAA0B;IAAA,6EAAG;IAAA,4DAAS;IACtC,6EAA0B;IAAA,6EAAG;IAAA,4DAAS;IACtC,6EAA0B;IAAA,8EAAG;IAAA,4DAAS;IAC1C,4DAAS;IACb,4DAAM;IAEN,yKAAiE;IACrE,qEAAe;;;;IADI,2DAAiC;IAAjC,iFAAiC;;;;IAMxC,6EAAuE;IAAA,uDAAqC;;IAAA,4DAAS;;;IAA5D,4EAAa;IAAC,0DAAqC;IAArC,kOAAqC;;;IAHxH,wEAA2C;IACvC,0EAA8B;IAC1B,6EAA+E;IAC3E,2JAAqH;IACzH,4DAAS;IACb,4DAAM;IACV,qEAAe;;;IAHmB,0DAAoB;IAApB,6FAAoB;;;;IAKtD,wEAAsG;IAAxC,0UAAwB,IAAI,IAAC;IAAW,qGAAO;IAAA,4DAAI;;;;IACjH,wEAAsG;IAAzC,0UAAwB,KAAK,IAAC;IAAW,qGAAO;IAAA,4DAAI;;;IAtBjH,yJAWe;IAEf,wJAMe;IAEf,kIAAiH;IACjH,kIAAiH;;;IAtBlG,8FAA2B;IAa3B,0DAA0B;IAA1B,6FAA0B;IAQR,0DAA2B;IAA3B,8FAA2B;IAC3B,0DAA0B;IAA1B,6FAA0B;;;IAKvD,wEAAkD;IAAA,6EAAG;IAAA,4DAAI;;;IACzD,wEAAkD;IAAA,uDAA0B;IAAA,4DAAI;;;IAA9B,0DAA0B;IAA1B,6FAA0B;;;IAC5E,0EAA4E;IACxE,wEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAqB;IAAA,uDAA6B;IAAA,4DAAI;IACtD,wEAAa;IAAA,iEAAC;IAAA,4DAAI;IACtB,4DAAM;;;IAFmB,0DAA6B;IAA7B,gGAA6B;;;;;IAK9C,4EAA+E;IAAvB,qXAAS,YAAY,IAAC;IAC1E,4EAAwF;IAAjE,0PAA0B;IAAjD,4DAAwF;IACxF,wEAA8B;IAAA,uDAA0B;;IAAA,4DAAI;IAChE,4DAAQ;;;IAFmB,0DAA0B;IAA1B,qFAA0B;IACnB,0DAA0B;IAA1B,8IAA0B;;;;IAZxE,8EAAiG;IAAhD,iUAAkB,IAAI,IAAC,uQAAkB,KAAK,IAAvB;IACpE,kIAAyD;IACzD,kIAAgF;IAChF,sIAIM;IACN,0EAAqG;IAAnC,oKAAS,wBAAwB,IAAC;IAChG,0EAAyD;IACrD,0IAGQ;IACZ,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAfE,0DAAkC;IAAlC,qGAAkC;IAClC,0DAAkC;IAAlC,qGAAkC;IACR,0DAAiC;IAAjC,oGAAiC;IAKjC,0DAAmC;IAAnC,mGAAmC;IAEhB,0DAAa;IAAb,sFAAa;;AD5EvE,MAAM,0BAA0B;IAiCrC,YACU,gBAAkC,EAClC,mBAAwC;QADxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAjCxC,gBAAW,GAAuC,IAAI,uDAAY,EAAE,CAAC;QAEtE,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,eAAU,GAAY,IAAI,CAAC;QAEpC,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAEjD,iBAAY,GAAY,KAAK,CAAC;QAC9B,cAAS,GAAc,IAAI,qDAAS,CAAC;YACnC,IAAI,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnD,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACjD,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvD,OAAO,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACrD,WAAW,EAAE,IAAI,uDAAW,CAAC,CAAC,CAAC;YAC/B,UAAU,EAAE,IAAI,uDAAW,CAAC,CAAC,CAAC;SAC/B,CAAC;QAEF,WAAM,GAAY,KAAK,CAAC;QAEjB,eAAU,GAAG;YAClB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC3C,CAAC;IAKE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;YACtE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,CAAC;YAC9E,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAChD,OAAO;SACR;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY;YACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;aAClD;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,SAAS,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,SAAS,GAAe,EAAE,CAAC;QAC/B,OAAO,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtC,SAAS,CAAC,IAAI,CAAC,IAAI,qEAAQ,CAAC;gBAC1B,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;gBACvB,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;gBACzB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAC,IAAI;aACrB,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAC5C;QAAA,CAAC;QAEF,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,4EAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,iBAAiB;QACvB,IAAI,SAAS,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,SAAS,GAAW,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAe,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ;gBAC9C,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACtC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAK,IAAI,CAAC,OAAO,CAAC,KAAc,CAAC,OAAO,EAAE,EAAE;YAC/F,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACpB,IAAI,CAAC,CAAC,OAAO,EAAE,IAAK,IAAI,CAAC,OAAO,CAAC,KAAc,CAAC,OAAO,EAAE,EAAE;oBACzD,SAAS,CAAC,IAAI,CAAC,IAAI,qEAAQ,CAAC;wBAC1B,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;wBAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;wBACvB,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;wBACjB,WAAW,EAAE,KAAK;wBAClB,eAAe,EAAC,IAAI;qBACrB,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,4EAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,sBAAsB;QAC5B,IAAI,QAAQ,GAAS,IAAI,IAAI,CAAE,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,WAAW,EAAE,EAAG,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1H,IAAI,WAAW,GAAW,EAAE,CAAC;QAC7B,IAAI,SAAS,GAAe,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ;gBACvD,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAE,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,WAAW,EAAE,EAAG,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC3J;QAED,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAK,IAAI,CAAC,OAAO,CAAC,KAAc,CAAC,OAAO,EAAE,EAAE;YACnG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,CAAC,OAAO,EAAE,GAAI,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,IAAK,IAAI,CAAC,OAAO,CAAC,KAAc,CAAC,OAAO,EAAE,EAAE;oBACnH,SAAS,CAAC,IAAI,CAAC,IAAI,qEAAQ,CAAC;wBAC1B,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;wBAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;wBACvB,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;wBACjB,WAAW,EAAE,KAAK;wBAClB,eAAe,EAAC,IAAI;qBACrB,CAAC,CAAC,CAAC;iBACL;gBACD,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;oBACjF,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;;oBAE5B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,4EAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,qBAAqB;QAC3B,IAAI,QAAQ,GAAgB,IAAI;QAChC,IAAI,SAAS,GAAe,EAAE,CAAC;QAE/B,IAAK,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK;YACnE,QAAQ,GAAG,IAAI,IAAI,CAAE,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,WAAW,EAAE,EAAG,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;;YAEpI,QAAQ,GAAG,IAAI,IAAI,CAAE,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,WAAW,EAAE,EAAG,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE1I,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACzC;QAED,OAAO,QAAQ,CAAC,OAAO,EAAE,IAAK,IAAI,CAAC,OAAO,CAAC,KAAc,CAAC,OAAO,EAAE,EAAE;YACnE,SAAS,CAAC,IAAI,CAAC,IAAI,qEAAQ,CAAC;gBAC1B,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;gBACvB,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACxB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAC,IAAI;aACrB,CAAC,CAAC,CAAC;YACJ,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACzC;SACF;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,4EAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACxD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,YAAY,CAAC,MAAc;QAChC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;;oGAxNU,0BAA0B;wHAA1B,0BAA0B;;QCfvC,yEAA2B;QACvB,yEAA8B;QAC1B,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAC7C,uEAA8D;QAAnC,6IAAS,kBAAc,IAAC;QAAW,uEAAE;QAAA,4DAAI;QACxE,4DAAM;QACN,0EAAqD;QACjD,yEAA4B;QACxB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAC5C,0EAAyB;QACrB,6EAA0E;QACtE,6EAAsB;QAAA,wEAAE;QAAA,4DAAS;QACjC,8EAAuB;QAAA,wEAAE;QAAA,4DAAS;QAClC,8EAAwB;QAAA,wEAAE;QAAA,4DAAS;QACvC,4DAAS;QACb,4DAAM;QAEN,2IAAiF;QAEjF,2IAAiF;QACrF,4DAAM;QAEN,2EAAuB;QACnB,wEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAC5C,kFAA4E;QAChF,4DAAM;QAEN,2EAAuB;QACnB,wEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAC5C,kFAA0E;QAC9E,4DAAM;QAEN,2EAAuB;QACnB,wEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAC5C,6EAAgN;QAA9G,gSAAS,UAAa,IAAC;;;QAAzH,4DAAgN;QACpN,4DAAM;QAEN,2EAAuB;QACnB,wEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAC5C,6EAA8M;QAA9G,gSAAS,UAAa,IAAC;;;QAAvH,4DAA8M;QAClN,4DAAM;QAEN,2JAGuB;QAEvB,2JAGuB;QAEvB,4FAA+D;QAG/D,qNAwBc;QAEd,qNAkBc;QAClB,4DAAO;QACX,4DAAM;QAEN,8EAAiE;QAA9B,mJAAS,aAAS,IAAC;QAAW,gGAAM;QAAA,4DAAS;;;;QAjG/C,0DAAuB;QAAvB,oFAAuB;QAW7B,2DAA6B;QAA7B,4FAA6B;QAE7B,0DAA8B;QAA9B,6FAA8B;QAK5B,0DAAc;QAAd,2EAAc;QAKd,0DAAY;QAAZ,yEAAY;QAKmI,0DAAsC;QAAtC,iLAAsC;QAA7J,qLAAwD;QAK6D,0DAAsC;QAAtC,iLAAsC;QAA3J,mLAAsD;QAG5E,0DAAwB;QAAxB,wFAAwB;QAKxB,0DAAyB;QAAzB,yFAAyB;q2ODjC1C,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AEXE;AACoB;;;;;;;;;;;ICMtD,wEAAiE;IAAA,qJAAe;IAAA,4DAAI;;;IAkExE,wEAAoE;IAAA,mFAAI;IAAA,4DAAI;;;IAC5E,uEAAgD;IAAA,mFAAI;IAAA,4DAAI;;;;;IAxBhE,0EAA+D;IAC3D,0EAAuE;IACnE,4EAAmD;IAA5B,mPAA2B;IAAlD,4DAAmD;IACvD,4DAAM;IACN,0EAAwE;IACpE,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IACN,0EAAsE;IAClE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAAsE;IAClE,qEAAG;IAAA,wDAA4B;IAAA,4DAAI;IACvC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAA6B;;IAAA,4DAAI;IACxC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAAc;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAyE;IACrE,qIAA4E;IAC5E,qIAAwD;IAC5D,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,6DAAC;IAAA,4DAAI;IACZ,4DAAM;IACN,2EAA2E;IACvE,yEAA8B;IAAA,oFAAI;IAAA,4DAAI;IACtC,yEAA2E;IAAtC,wYAA2B;IAAW,wEAAE;IAAA,4DAAI;IACjF,yEAAiG;IAAA,wEAAE;IAAA,4DAAI;IAC3G,4DAAM;IACV,4DAAM;;;IAnCyB,0DAA2B;IAA3B,qFAA2B;IAG/C,0DAAmB;IAAnB,iFAAmB;IAGnB,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAA4B;IAA5B,0FAA4B;IAG5B,0DAA6B;IAA7B,kJAA6B;IAG7B,0DAAc;IAAd,4EAAc;IAGd,0DAAgB;IAAhB,8EAAgB;IAGK,0DAAgC;IAAhC,+FAAgC;IACpD,0DAAgC;IAAhC,+FAAgC;IAGjC,0DAAoB;IAApB,oFAAoB;IAQc,0DAAiD;IAAjD,4JAAiD;;;IAI9F,0EAAsD;IAClD,0EAA6B;IACzB,wEAAqC;IAAA,+LAAsB;IAAA,4DAAI;IACnE,4DAAM;IACV,4DAAM;;ADjFX,MAAM,mCAAmC;IAQ9C,YACU,mBAAwC,EACxC,KAAqB,EACrB,YAA0B,EAC1B,cAA8B;QAH9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAV/B,UAAK,GAAuB,EAAE,CAAC;QAC/B,gBAAW,GAAe,GAAG,EAAE,GAAG,CAAC;QACnC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QACpC,oBAAe,GAA4B,GAAG,EAAE,GAAG,CAAC;QACpD,YAAO,GAAW,CAAC,CAAC;IAOzB,CAAC;IAEL,QAAQ;IAER,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAClF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CACxF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;YACrF,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;gBACrC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;aACzC;SACF;IACH,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC,CAAC;YACvF,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;iBACjG,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;oBACjG,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;iBACjG,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAElD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;;sHAnFU,mCAAmC;iIAAnC,mCAAmC;QCdhD,yEAAsB;QAClB,yEAAoE;QAChE,uEAAa;QAAA,6EAAG;QAAA,4DAAI;QACpB,uEAA+B;QAAA,uDAA0B;QAAA,4DAAI;QAC7D,uEAAgB;QAAA,uDAAc;QAAA,4DAAI;QAClC,uEAAa;QAAA,2GAAQ;QAAA,4DAAI;QAEzB,qEAA0B;QAE1B,6HAAoF;QAEpF,6EAA+D;QAAjC,4JAAS,gBAAY,IAAC;QAAW,oFAAI;QAAA,4DAAS;QAChF,4DAAM;QAEN,4EAA+B;QAC3B,0EAAmC;QAC/B,2EAAuE;QACnE,6EAAuE;QAAtB,2JAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAA2E;QACvE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,mGAAkE;QAC9D,oIAqCM;QAEN,kIAIM;QACV,4DAA8B;QAClC,4DAAQ;QACZ,4DAAM;QAEN,2EAAoB;QAChB,8EAAiE;QAAlC,4JAAS,iBAAa,IAAC;QAAW,yEAAG;QAAA,4DAAS;QAC7E,8EAA+F;QAAhC,4JAAS,eAAW,IAAC;QAAW,oFAAI;QAAA,4DAAS;QAChH,4DAAM;;QApGiC,0DAA0B;QAA1B,yFAA0B;QACzC,0DAAc;QAAd,sFAAc;QAKJ,0DAAqC;QAArC,yGAAqC;QAQhC,0DAAyB;QAAzB,sFAAyB;QAmCC,2DAAQ;QAAR,sFAAQ;QAuChC,0DAAuB;QAAvB,uFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1FnB;AAEb;AAC0B;AACI;;;;;;;;;;;;;ICuD1C,4EAAiH;IAA1F,yXAA2B;IAAlD,4DAAiH;;;IAA1F,qFAA2B;;;IAqBlD,wEAA8F;IAAA,mFAAI;IAAA,4DAAI;;;IACtG,uEAAmE;IAAA,6EAAG;IAAA,4DAAI;;;IAC1E,wEAAmD;IAAA,6EAAG;IAAA,4DAAI;;;IAOtD,oEAAiC;IAAA,uDAAiC;IAAA,4DAAI;;;IAArC,0DAAiC;IAAjC,+FAAiC;;;IAClE,uEAAuI;;;IAAtC,iGAAqC;;;IAF1I,wEAAoE;IAChE,oJAAsE;IACtE,4JAAuI;IAC3I,qEAAe;;;IAFP,0DAA2B;IAA3B,0FAA2B;IACvB,0DAA0B;IAA1B,yFAA0B;;;IAGlC,oEAAiC;IAAA,uDAAqB;IAAA,4DAAI;;;IAAzB,0DAAqB;IAArB,mFAAqB;;;IACtD,uEAA2H;;;IAA1B,qFAAyB;;;IAF9H,wEAA4E;IACxE,oJAA0D;IAC1D,4JAA2H;IAC/H,qEAAe;;;IAFP,0DAA2B;IAA3B,0FAA2B;IACvB,0DAA0B;IAA1B,yFAA0B;;;IAEtC,wEAA6C;IACzC,oEAAG;IAAA,4DAAC;IAAA,4DAAI;IACZ,qEAAe;;;;;IAGf,wEAAqJ;IAAxC,iVAAwB,IAAI,IAAC;IAAW,mFAAI;IAAA,4DAAI;;;IAA/F,qKAA8C;;;;IAC5G,wEAA8F;IAAjC,yaAAsB;IAAW,uEAAE;IAAA,4DAAI;;;;IACpG,wEAAwG;IAAtC,8aAA2B;IAAW,uEAAE;IAAA,4DAAI;;;;IAC9G,wEAA2G;IAAzC,iVAAwB,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;;;;;;IA/CzH,0EAA+D;IAC3D,0EAAuE;IACnE,4IAAiH;IACrH,4DAAM;IACN,0EAAwE;IACpE,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IACN,0EAAsE;IAClE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAAsE;IAClE,qEAAG;IAAA,wDAA4B;IAAA,4DAAI;IACvC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAA6B;;IAAA,4DAAI;IACxC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAAc;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAyE;IACrE,sIAAsG;IACtG,sIAA0E;IAC1E,sIAA0D;IAC9D,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IACN,2EAAkH;IAC9G,4JAGe;IACf,4JAGe;IACf,4JAEe;IACnB,4DAAM;IACN,2EAA4E;IACxE,sIAA6J;IAC7J,sIAAoG;IACpG,sIAA8G;IAC9G,sIAAiH;IACjH,yEAA2E;IAAtC,4YAA2B;IAAW,wEAAE;IAAA,4DAAI;IACjF,yEAAiG;IAAA,wEAAE;IAAA,4DAAI;IAC3G,4DAAM;IACV,4DAAM;;;IAjDsD,0DAA2D;IAA3D,6HAA2D;IAG5G,0DAAmB;IAAnB,iFAAmB;IAGnB,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAA4B;IAA5B,0FAA4B;IAG5B,0DAA6B;IAA7B,kJAA6B;IAG7B,0DAAc;IAAd,4EAAc;IAGd,0DAAgB;IAAhB,8EAAgB;IAGI,0DAA2D;IAA3D,6HAA2D;IAC9E,0DAAmD;IAAnD,qHAAmD;IAClC,0DAA4B;IAA5B,2FAA4B;IAG9C,0DAAoB;IAApB,oFAAoB;IAE2C,0DAA2C;IAA3C,oKAA2C;IAC9F,0DAAmD;IAAnD,qHAAmD;IAInD,0DAA2D;IAA3D,6HAA2D;IAI3D,0DAA4B;IAA5B,2FAA4B;IAKV,0DAA2B;IAA3B,0FAA2B;IAC3B,0DAA0B;IAA1B,yFAA0B;IACrB,0DAA2B;IAA3B,0FAA2B;IAC3B,0DAA0B;IAA1B,yFAA0B;IAE3B,0DAAiD;IAAjD,4JAAiD;;;IAI9F,0EAAsD;IAClD,0EAA6B;IACzB,wEAAqC;IAAA,+LAAsB;IAAA,4DAAI;IACnE,4DAAM;IACV,4DAAM;;ADjGX,MAAM,oCAAoC;IAU/C,YACU,mBAAwC,EACxC,KAAqB,EACrB,YAA0B,EAC1B,kBAAsC,EACtC,cAA8B;QAJ9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QAb/B,UAAK,GAAuB,EAAE,CAAC;QAC/B,gBAAW,GAAe,GAAG,EAAE,GAAG,CAAC;QACnC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QACpC,SAAI,GAAW,MAAM,CAAC;QAE/B,cAAS,GAAY,KAAK,CAAC;QAC3B,SAAI,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;IAQtC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK;gBACzB,OAAO;YAET,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAClF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CACxF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAsB;QAC3B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,OAAO;SACR;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB,CAAC,IAAsB;QACtC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAE,IAAI,CAAC,WAA2B,CAAC,IAAI,EAAE,EAAE,MAAM,EAAG,IAAI,CAAC,WAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACtI,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACX,IAAI,CAAC,WAA2B,CAAC,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,0FAA+B,CACzE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CACrD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,MAAM;QACJ,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAChD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,8CAAQ,CACJ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;iBACrE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,EAAE;gBACxD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxD,YAAY,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU;aACtC,CACA,CACF,CAC1B,CAAC,IAAI,CAAC,8DAAc,EAAE,EAAE,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACzE,SAAS,CAAC,KAAK,CAAC,EAAE;gBAChB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6GAAkD,CAAC,CAAC;gBAChG,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAElD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;;wHAhHU,oCAAoC;kIAApC,oCAAoC;QClBjD,yEAAsB;QAClB,yEAAoE;QAChE,uEAAa;QAAA,6EAAG;QAAA,4DAAI;QACpB,uEAA+B;QAAA,uDAA0B;QAAA,4DAAI;QAC7D,uEAAgB;QAAA,uDAAmB;QAAA,4DAAI;QACvC,uEAAa;QAAA,uKAAkB;QAAA,4DAAI;QAEnC,4EAA4D;QAAxB,4MAAuB;QAA3D,4DAA4D;QAC5D,wEAA0B;QAAA,wHAAU;QAAA,4DAAI;QACxC,uEAAiG;QACjG,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QAEnB,qEAA0B;QAE1B,0EAA0G;QACtG,yEAAwC;QAAA,sEAAU;QAAA,4DAAI;QACtD,yEAAwE;QAAA,oFAAI;QAAA,4DAAI;QACpF,4DAAM;QACV,4DAAM;QAEN,6EAA+B;QAC3B,2EAAmC;QAC/B,2EAAuE;QACnE,6EAAuE;QAAtB,4JAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAA2E;QACvE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,mGAAkE;QAC9D,qIAmDM;QAEN,mIAIM;QACV,4DAA8B;QAClC,4DAAQ;QACZ,4DAAM;QAEN,2EAAoB;QAChB,8EAAiE;QAAlC,6JAAS,iBAAa,IAAC;QAAW,yEAAG;QAAA,4DAAS;QAC7E,8EAA4F;QAA7B,6JAAS,YAAQ,IAAC;QAAW,oFAAI;QAAA,4DAAS;QAC7G,4DAAM;;QAxHiC,0DAA0B;QAA1B,yFAA0B;QACzC,0DAAmB;QAAnB,2FAAmB;QAGC,0DAAuB;QAAvB,kFAAuB;QAEiB,0DAAoB;QAApB,iFAAoB;QAcjE,2DAAyB;QAAzB,sFAAyB;QAmCC,2DAAQ;QAAR,sFAAQ;QAqDhC,0DAAuB;QAAvB,uFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GtB;AACoB;;;;;;;;;;;;;ICgDlD,0EAA+D;IAC3D,0EAAuE;IACnE,4EAAmD;IAA5B,kPAA2B;IAAlD,4DAAmD;IACvD,4DAAM;IACN,0EAAwE;IACpE,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IACN,0EAAsE;IAClE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAAsE;IAClE,qEAAG;IAAA,wDAA4B;IAAA,4DAAI;IACvC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAA6B;;IAAA,4DAAI;IACxC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAAc;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAyE;IACrE,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,6DAAC;IAAA,4DAAI;IACZ,4DAAM;IACN,2EAA2E;IACvE,yEAA8B;IAAA,oFAAI;IAAA,4DAAI;IACtC,yEAA2E;IAAtC,uYAA2B;IAAW,wEAAE;IAAA,4DAAI;IACjF,yEAAiG;IAAA,wEAAE;IAAA,4DAAI;IAC3G,4DAAM;IACV,4DAAM;;;IAlCyB,0DAA2B;IAA3B,qFAA2B;IAG/C,0DAAmB;IAAnB,iFAAmB;IAGnB,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAA4B;IAA5B,0FAA4B;IAG5B,0DAA6B;IAA7B,iJAA6B;IAG7B,0DAAc;IAAd,4EAAc;IAGd,0DAAgB;IAAhB,8EAAgB;IAMhB,0DAAoB;IAApB,oFAAoB;IAQc,0DAAiD;IAAjD,4JAAiD;;;IAI9F,0EAAsD;IAClD,0EAA6B;IACzB,wEAAqC;IAAA,iHAAS;IAAA,4DAAI;IACtD,4DAAM;IACV,4DAAM;;AD/EX,MAAM,kCAAkC;IAQ7C,YACU,mBAAwC,EACxC,KAAqB,EACrB,YAA0B,EAC1B,cAA8B;QAH9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAV/B,UAAK,GAAuB,EAAE,CAAC;QAC/B,gBAAW,GAAe,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,oBAAe,GAA4B,GAAG,EAAE,GAAG,CAAC;QACpD,WAAM,GAAW,OAAO;IAO7B,CAAC;IAEL,QAAQ;IACR,CAAC;IAEM,gBAAgB;QACrB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC,CAAC;YACvF,OAAO;SACR;QAED,IAAI,UAA2B,CAAC;QAEhC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO;gBACxB,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;gBAEzH,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBAC/D,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO;oBACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;;oBAExB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAClF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CACxF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAElD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;;oHAtEU,kCAAkC;gIAAlC,kCAAkC;QCf/C,yEAAsB;QAClB,yEAAoE;QAChE,uEAAa;QAAA,6EAAG;QAAA,4DAAI;QACpB,uEAAoC;QAAA,uDAAkB;QAAA,4DAAI;QAC1D,uEAAa;QAAA,6HAAW;QAAA,4DAAI;QAE5B,oEAA0B;QAE1B,yEAA0G;QACtG,wEAAwC;QAAA,sEAAU;QAAA,4DAAI;QACtD,wEAAwE;QAAA,oFAAI;QAAA,4DAAI;QACpF,4DAAM;QACV,4DAAM;QAEN,4EAA+B;QAC3B,0EAAmC;QAC/B,2EAAuE;QACnE,6EAAuE;QAAtB,0JAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAA2E;QACvE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,mGAAkE;QAC9D,mIAoCM;QAEN,iIAIM;QACV,4DAA8B;QAClC,4DAAQ;QACZ,4DAAM;QAEN,2EAAoB;QAChB,8EAAiE;QAAlC,2JAAS,iBAAa,IAAC;QAAW,yEAAG;QAAA,4DAAS;QAC7E,8EAAsG;QAAvC,2JAAS,sBAAkB,IAAC;QAAW,oFAAI;QAAA,4DAAS;QACvH,4DAAM;;QAnGsC,0DAAkB;QAAlB,iFAAkB;QAcvB,2DAAyB;QAAzB,sFAAyB;QAmCC,2DAAQ;QAAR,sFAAQ;QAsChC,0DAAuB;QAAvB,uFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;ACxFF;;;;;;;;;;;IC2ClD,0EAA+D;IAC3D,yEAAuE;IACnE,sEAAgC;IACpC,4DAAM;IACN,yEAAwE;IACpE,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IACN,yEAAsE;IAClE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,yEAAsE;IAClE,qEAAG;IAAA,wDAA4B;IAAA,4DAAI;IACvC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAA6B;;IAAA,4DAAI;IACxC,4DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAAc;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAyE;IACrE,yEAA8B;IAAA,8EAAG;IAAA,4DAAI;IACzC,4DAAM;IACN,0EAAsE;IAClE,qEAAG;IAAA,wDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IACN,0EAAsE;IAClE,qEAAG;IAAA,6DAAC;IAAA,4DAAI;IACZ,4DAAM;IACN,2EAA2E;IACvE,yEAA8B;IAAA,oFAAI;IAAA,4DAAI;IACtC,yEAA2E;IAAtC,wYAA2B;IAAW,wEAAE;IAAA,4DAAI;IACjF,yEAAiG;IAAA,wEAAE;IAAA,4DAAI;IAC3G,4DAAM;IACV,4DAAM;;;IA/BK,0DAAmB;IAAnB,iFAAmB;IAGnB,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAA4B;IAA5B,0FAA4B;IAG5B,0DAA6B;IAA7B,iJAA6B;IAG7B,0DAAc;IAAd,4EAAc;IAGd,0DAAgB;IAAhB,8EAAgB;IAMhB,0DAAoB;IAApB,oFAAoB;IAQc,0DAAiD;IAAjD,4JAAiD;;;IAI9F,0EAAsD;IAClD,0EAA6B;IACzB,wEAAqC;IAAA,iHAAS;IAAA,4DAAI;IACtD,4DAAM;IACV,4DAAM;;AD3EX,MAAM,mCAAmC;IAM9C,YACU,mBAAwC,EACxC,KAAqB,EACrB,YAA0B;QAF1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAP3B,UAAK,GAAuB,EAAE,CAAC;QAC/B,gBAAW,GAAe,GAAG,EAAE,GAAG,CAAC;QACnC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;IAMzC,CAAC;IAEL,QAAQ;IAER,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAClF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CACxF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;sHA3BU,mCAAmC;iIAAnC,mCAAmC;QCZhD,yEAAsB;QAClB,yEAAiD;QAC7C,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAoC;QAAA,uDAAkB;QAAA,4DAAI;QAC1D,uEAAa;QAAA,6HAAW;QAAA,4DAAI;QAChC,4DAAM;QAEN,2EAA+B;QAC3B,yEAAmC;QAC/B,0EAAuE;QACnE,uEAAgC;QACpC,4DAAM;QACN,0EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,0EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAA2E;QACvE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,mGAAkE;QAC9D,oIAoCM;QAEN,kIAIM;QACV,4DAA8B;QAClC,4DAAQ;QACZ,4DAAM;QAEN,2EAAoB;QAChB,8EAAiE;QAAlC,4JAAS,iBAAa,IAAC;QAAW,yEAAG;QAAA,4DAAS;QACjF,4DAAM;;QA3FsC,0DAAkB;QAAlB,iFAAkB;QA0CG,2DAAQ;QAAR,sFAAQ;QAsChC,0DAAuB;QAAvB,uFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICnFhE,yEAA8D;IAAxB,0UAAuB;IACzD,yEAA6E;IAAnC,wKAAS,wBAAwB,IAAC;IACxE,uEAA8D;IAAA,mFAAI;IAAA,4DAAI;IACtE,iFAA4F;IAE5F,yEAA6B;IACzB,yEAAiG;IAAzE,2UAA2B,CAAC,IAAC;IACjD,oEAAG;IAAA,uDAA0D;;IAAA,4DAAI;IACrE,4DAAM;IAEN,0EAAiG;IAAzE,4UAA2B,CAAC,IAAC;IACjD,qEAAG;IAAA,wDAAyD;;IAAA,4DAAI;IACpE,4DAAM;IAEN,0EAAiG;IAAzE,4UAA2B,CAAC,IAAC;IACjD,qEAAG;IAAA,wDAAwD;;IAAA,4DAAI;IACnE,4DAAM;IAEN,0EAAiG;IAAzE,4UAA2B,CAAC,IAAC;IACjD,wEAAa;IAAA,wDAAwD;;IAAA,4DAAI;IAC7E,4DAAM;IACV,4DAAM;IAEN,0EAAoB;IAChB,0EAA+J;IAC3J,2EAAyB;IACrB,sGAA4K;IAChL,4DAAM;IACN,2EAAyB;IACrB,qGAAmN;IACvN,4DAAM;IACN,2EAAyB;IACrB,oGAA8M;IAClN,4DAAM;IACN,2EAAyB;IACrB,qGAA2J;IAC/J,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IArCoB,0DAAuB;IAAvB,uFAAuB;IAGiB,0DAA0C;IAA1C,wKAA0C;IACzF,0DAA0D;IAA1D,qQAA0D;IAGX,0DAA0C;IAA1C,wKAA0C;IACzF,0DAAyD;IAAzD,qQAAyD;IAGV,0DAA0C;IAA1C,wKAA0C;IACzF,0DAAwD;IAAxD,oQAAwD;IAGT,0DAA0C;IAA1C,wKAA0C;IAC/E,0DAAwD;IAAxD,+PAAwD;IAKhD,0DAAqI;IAArI,+PAAqI;IAEjH,0DAAwB;IAAxB,wFAAwB;IAGzB,0DAAuB;IAAvB,uFAAuB;IAGxB,0DAAsB;IAAtB,sFAAsB;IAGrB,0DAAuB;IAAvB,uFAAuB;;AC3BxE,MAAM,uCAAuC;IAelD;QAbS,UAAK,GAAuB,EAAE,CAAC;QAC/B,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QACpC,WAAM,GAAW,OAAO;QACxB,YAAO,GAAW,CAAC,CAAC;QACpB,SAAI,GAAW,MAAM,CAAC;QAE/B,oBAAe,GAAW,CAAC,CAAC;QAC5B,YAAO,GAAY,KAAK,CAAC;QAEzB,YAAO,GAAQ;YACb,WAAW,EAAE,IAAI;SAClB;QAOD,gBAAW,GAAe,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,oBAAe,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC5D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,iBAAY,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAfE,CAAC;IAEjB,QAAQ;IACR,CAAC;IAeD,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAChC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;eAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;eACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IACtE,CAAC;;8HA1DU,uCAAuC;qIAAvC,uCAAuC;QDRpD,qIAwCM;;QAxCiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEEM;AACoB;;;;;;;;;;;;;;;;;;IC4B9D,oEAA4D;;;IA2DhD,2EAAwF;IACpF,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAuF;IACnF,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAuE;IACnE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAqE;IACjE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA2H;IACvH,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAoD;IAChD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;;IArCd,2EAAyD;IACrD,2EAA2F;IACvF,6EAAiF;IAA1D,yOAA4B;IAAnD,6DAAiF;IACrF,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAc;IAAA,6DAAI;IACzB,6DAAM;IACN,2EAAuE;IACnE,yEAAiJ;;;IAAA,yDAAyG;;;IAAA,6DAAI;IAClQ,6DAAM;IACN,4EAAuE;IACnE,0EAAkE;IAAA,yDAA0B;IAAA,6DAAI;IACpG,6DAAM;IACN,4EAAwE;IACpE,0EAA6D;IAAA,yDAAqB;IAAA,6DAAI;IAC1F,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAuE;IACnE,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,iEAAO;IACX,6DAAM;IACN,4EAAsE;IAClE,0EAA2E;IAAA,yEAAE;IAAA,6DAAI;IACjF,0EAAkF;IAAtC,kYAA2B;IAAW,qFAAI;IAAA,6DAAI;IAC1F,0EAAwF;IAA5C,wYAAiC;IAAW,yEAAE;IAAA,6DAAI;IAClG,6DAAM;IACV,6DAAM;;;IA3CyB,2DAA4B;IAA5B,uFAA4B;IAGhD,2DAAc;IAAd,6EAAc;IAGd,2DAAkH;IAAlH,8TAAkH;IAA4B,2DAAyG;IAAzG,8SAAyG;IAGvP,2DAAmC;IAAnC,gGAAmC;IAA4B,2DAA0B;IAA1B,yFAA0B;IAGzF,2DAA8B;IAA9B,2FAA8B;IAA4B,2DAAqB;IAArB,oFAAqB;IAG/E,2DAAgC;IAAhC,uJAAgC;IAGH,2DAAsD;IAAtD,yHAAsD;IAGtD,2DAAqD;IAArD,wHAAqD;IAGtD,2DAAsC;IAAtC,sGAAsC;IAGtC,2DAAoC;IAApC,oGAAoC;IAGrC,2DAA2F;IAA3F,iKAA2F;IAG/F,2DAAwB;IAAxB,wFAAwB;IAMX,2DAAyB;IAAzB,sFAAyB;;;IAMxE,2EAAuD;IACnD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;;;;IAKN,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAAiH;IAAtC,0UAA2B;IAAW,oFAAI;IAAA,6DAAI;IAEzH,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,kXAAkC,4QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,qVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,yWAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,sVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;;ADxI1F,MAAM,sBAAsB;IAsBjC,YACU,YAA0B,EAC1B,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,mBAAwC,EACxC,aAA4B,EAC5B,aAA4B;QAN5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QA3BtC,WAAM,GAAoB,EAAE,CAAC;QAC7B,WAAM,GAAoB,EAAE,CAAC;QAC7B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,EAAE;YACd,qBAAqB,EAAE,EAAE;YACzB,OAAO,EAAE,EAAE;SACZ;QAuCD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,UAAuB,EAAE,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qCAAgC,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA1DV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aAC/C,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;oBACjD,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAiCD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAChJ,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,IAAI,CAAC,CAAC,QAAQ;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAEpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,eAAe;QACb,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,+FAAoC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1K,CAAC;IAED,UAAU,CAAC,KAAoB;QAC7B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;aACzC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC/F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAK,CAAC,KAAK,0CAAE,IAAI,CAAC,CAAC;gBAC/E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACxF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACxD,CAAC;SACF,CAAC;IACN,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;cACnE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACzF,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtJ,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACzD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACvJ,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,wBAAwB;cAC3B,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;cACnE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACzF,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;;4FAzMU,sBAAsB;qHAAtB,sBAAsB;QCnBnC,0EAAgD;QAC5C,kFAAmI;QAEnI,6EAAqD;QAAlB,+IAAS,WAAO,IAAC;QAChD,wEAAqC;QAAA,mEAAO;QAAA,6DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,6EAAuF;QACnF,wEAAqC;QAAA,iEAAK;QAAA,6DAAI;QAC9C,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,8EAAoE;QAA5B,gJAAS,qBAAiB,IAAC;QAC/D,yEAAqC;QAAA,sEAAS;QAAA,6DAAI;QAClD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,8EAAoE;QAA5B,gJAAS,qBAAiB,IAAC;QAC/D,yEAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QACb,6DAAM;QAEN,2EAAoF;QAChF,gGAA2F;QAC3F,wFAA6F;QAC7F,oGAAgI;QAChI,0FAA8F;QAClG,6DAAM;QAEN,wIAA4D;QAG5D,4EAAkC;QAC9B,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,+IAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA8G;QAA9E,0MAAgE,IAAI,SAAC,WAAO,IAAC;QACzG,0EAA2F;QAAA,0EAAa;QAAA,6DAAI;QAC5G,0EAA0F;QAAA,4EAAe;QAAA,6DAAI;QACjH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAAgH;QAAhF,4MAAkE,IAAI,SAAC,WAAO,IAAC;QAC3G,0EAA6F;QAAA,0EAAa;QAAA,6DAAI;QAC9G,0EAA4F;QAAA,4EAAe;QAAA,6DAAI;QACnH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,iGAAM;QAAA,6DAAI;QAC3B,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC9F,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,wHA6CM;QAEN,sHAIM;QACV,6DAAM;QAGN,qNAgCc;;;QA5JuB,2DAAkC;QAAlC,kKAAkC;QAO3B,2DAA8C;QAA9C,gJAA8C;QAiBvD,4DAA2B;QAA3B,yFAA2B;QACnC,2DAAgC;QAAhC,8FAAgC;QACpB,2DAA2C;QAA3C,yGAA2C;QACrD,2DAA6B;QAA7B,2FAA6B;QAG3C,2DAA4B;QAA5B,kFAA4B;QAMR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAgD;QAAhD,mKAAgD;QAChD,2DAA+C;QAA/C,kKAA+C;QAM/C,2DAAkD;QAAlD,qKAAkD;QAClD,2DAAiD;QAAjD,oKAAiD;QAU5F,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAUjC,2DAAS;QAAT,gFAAS;QA+C1B,2DAAwB;QAAxB,yFAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpHV;AACmB;AACd;AACE;AACwC;AAC/C;AACc;AAC2B;AACrB;AACyC;AAC2B;AACgB;AACtD;AACsD;AACZ;AACH;AACG;AACG;AACrF;AAC4D;AACsC;AACtC;;AAiC9G,MAAM,WAAW;;sEAAX,WAAW;yGAAX,WAAW;6GAZb;YACP,0DAAY;YACZ,wDAAW;YACX,gEAAmB;YACnB,4DAAW;YACX,iEAAe;YACf,0DAAY;YACZ,wEAAgB;YAChB,8EAAmB;YACnB,oEAAe;SAChB;oIAEU,WAAW,mBA3BpB,uGAAsB;QACtB,iGAAoB;QACpB,qHAA0B;QAC1B,gJAAoC;QACpC,gKAAuC;QACvC,0GAAwB;QACxB,gKAAuC;QACvC,oJAAmC;QACnC,iJAAkC;QAClC,qJAAmC;QACnC,wJAAoC;QACpC,+HAA8B;QAC9B,qKAA0C;QAC1C,+HAA6B,aAG7B,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,4DAAW;QACX,iEAAe;QACf,0DAAY;QACZ,wEAAgB;QAChB,8EAAmB;QACnB,oEAAe;;;;;;;;;;;;;;;;;ACpDkE;AAkB9E,MAAM,kBAAkB;IAI3B,YAAY,QAAmB;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,IAAI,EAAE,IAAI,uDAAW,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC5D,KAAK,EAAE,IAAI,uDAAW,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClE,GAAG,EAAE,IAAI,uDAAW,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAEjE,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,eAAe,GAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAU,EAAE,EAAE;YAClE,IAAI,IAAI,IAAI,IAAI;gBACZ,OAAO;YAEX,IAAI,KAAK,GAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACxD,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACxC;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;YAED,IAAI,GAAG,GAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YACpD,IAAI,GAAG,IAAI,IAAI,EAAE;gBACb,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aACpC;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3D;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACvD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,YAAY;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI;YAC9F,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO;YAClF,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAa,IAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAc;YAChG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnE,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,IAAI,EAAG,IAAI,CAAC,IAAI,CAAC,KAAc,CAAC,WAAW,EAAE;YAC7C,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,WAAW,EAAE;YACnD,OAAO,EAAG,IAAI,CAAC,GAAG,CAAC,KAAc,CAAC,WAAW,EAAE;YAC/C,eAAe,EAAC,IAAI,CAAC,eAAe;SACvC;IACL,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACtGoF;AAGxB;AAEtD,MAAM,eAAe;IAKxB;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvD,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvD,eAAe,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC7D,cAAc,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YACrC,mBAAmB,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACjE,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvD,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACrD,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC7B,aAAa,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC9B,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,sEAAkB,EAAE,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,KAAK,IAAI,KAAK,EAAE;gBAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;aACvE;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aACpD;YACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC5D,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACpE,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,sEAAkB,EAAE,CAAC,CAAC;gBAC5C,OAAO;aACV;YAED,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACtE,IAAI,KAAK,IAAI,MAAM,EAAE;gBACjB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzD,OAAO;aACV;YAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC;IACN,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB;QACf,OAAO;YACH,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;YACzD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;YACrD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,WAAW,EAAE;YACjD,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE;YAC7C,eAAe,EAAE,KAAK;YACtB,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YAC5D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACpD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK;YAC1D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9G,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK;YACnE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;YACvE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC;YAChE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;SAC5C;IACL,CAAC;CASJ;;;;;;;;;;;;;;;;;;ACvGuD;AAIF;AAE/C,MAAM,qBAAsB,SAAQ,+DAAe;IAMtD;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,uDAAW,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACxC,IAAI,KAAK,IAAI,KAAK,EAAE;gBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;aACxD;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;aACzD;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/D;QACL,CAAC,CAAC;IACN,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7H,CAAC;CACJ;;;;;;;;;;;;;;;;;ACrC4D;AAEtD,MAAM,kBAAmB,SAAQ,sEAAkB;IAGtD,YAAY,QAAkB;QAC1B,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAG,IAAI,CAAC,IAAI,CAAC,KAAc,CAAC,WAAW,EAAE;YAC7C,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,WAAW,EAAE;YACnD,OAAO,EAAG,IAAI,CAAC,GAAG,CAAC,KAAc,CAAC,WAAW,EAAE;YAC/C,eAAe,EAAC,IAAI,CAAC,eAAe;SACvC;IACL,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACzC,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACzBmE;AAKP;AAEtD,MAAM,eAAe;IAKxB,YAAY,KAAY;;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,SAAS,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvE,SAAS,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClE,KAAK,EAAE,IAAI,uDAAW,CAAC,WAAK,CAAC,KAAK,0CAAE,IAAI,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACrE,QAAQ,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzC,aAAa,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,aAAa,CAAC;YACnD,kBAAkB,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,MAAM,CAAC;YACrC,OAAO,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,aAAa,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC1E,OAAO,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5D,GAAG,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC,GAAG,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,KAAK,IAAI,KAAK,EAAE;gBAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;aACvE;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,oEAAwB,CAAC,CAAC,CAAC;aAC5E;YAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC5D,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,sEAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,mBAAmB;QACf,OAAO;YACH,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;YACzD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;YACrD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE;YAC5C,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE;YACxC,gBAAgB,EAAE,KAAK;YACvB,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,KAAK;YACvE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YACjD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK;YAC7D,aAAa,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAc,CAAC,MAAM,EAAE;YAChF,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YAClD,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;YACnD,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;SAC5C;IACL,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnEmD;AACiB;AACP;AAET;AAGkB;AACZ;AAMY;;;;;;;;;;;;;;;;;ICAnD,wEAA+C;IAAA,sGAAO;IAAA,6DAAI;;;IAD9D,2EAAmF;IAC/E,+HAA0D;IAC9D,6DAAM;;;IADE,2DAA+B;IAA/B,mGAA+B;;;IAS/B,8EAA8D;IAAA,wDAAe;IAAA,6DAAS;;;IAA9C,mFAAqB;IAAC,2DAAe;IAAf,+EAAe;;;IAKjF,wEAA+C;IAAA,sGAAO;IAAA,6DAAI;;;IAD9D,2EAAmF;IAC/E,+HAA0D;IAC9D,6DAAM;;;IADE,2DAA+B;IAA/B,mGAA+B;;;IA0B3B,wEAA0D;IAAA,wHAAU;IAAA,6DAAI;;;IACxE,wEAAwD;IAAA,wHAAU;IAAA,6DAAI;;;IAH9E,2EAA0G;IACtG,yEAAc;IACV,+HAAwE;IACxE,+HAAsE;IACtE,wEAA8G;IAC9G,wEAAa;IAAA,wEAAE;IAAA,6DAAI;IACvB,sEAAe;IACnB,6DAAM;;;IALM,2DAA0C;IAA1C,8GAA0C;IAC1C,2DAAyC;IAAzC,6GAAyC;;;IAOjD,wEAAqD;IAAA,sGAAO;IAAA,6DAAI;;;IADpE,2EAA+F;IAC3F,+HAAgE;IACpE,6DAAM;;;IADE,2DAAqC;IAArC,yGAAqC;;;IAIzC,wEAAoD;IAAA,sGAAO;IAAA,6DAAI;;;IAC/D,wEAA+C;IAAA,8GAAU;IAAA,6DAAI;;;IAFjE,2EAA6F;IACzF,+HAA+D;IAC/D,+HAA6D;IACjE,6DAAM;;;IAFE,2DAAoC;IAApC,wGAAoC;IACpC,2DAA+B;IAA/B,mGAA+B;;;IAmBvC,wEAAyD;IAAA,sGAAO;IAAA,6DAAI;;;IADxE,2EAAuG;IACnG,+HAAoE;IACxE,6DAAM;;;IADE,2DAAyC;IAAzC,6GAAyC;;;;IAOjD,yEAAiD;IAC7C,+FAA0G;IAAnD,uXAA6B;IAAsB,6DAA0B;IACxI,sEAAe;;;IADc,2DAA6B;IAA7B,8FAA6B;;;IAYlD,wEAA4D;IAAA,sGAAO;IAAA,6DAAI;;;IAD3E,2EAA6G;IACzG,8IAAuE;IAC3E,6DAAM;;;IADE,2DAA4C;IAA5C,iHAA4C;;;;IATxD,yEAAiD;IAC7C,4EAAgD;IAC5C,6EAAgK;IAAzE,sTAAS,WAAc,IAAC;;IAA/G,6DAAgK;IAChK,qFAAmE;IACvE,6DAAO;IAEP,yEAAkF;IAAlD,sTAAS,+BAAuB,KAAK,CAAC,IAAC;IAAW,sGAAO;IAAA,6DAAI;IAE7F,4IAEM;IACV,sEAAe;;;;IAVL,2DAAyC;IAAzC,0GAAyC;IACqE,2DAAsC;IAAtC,iLAAsC;IAAhH,gFAAyB;IAM7B,2DAAqE;IAArE,gJAAqE;;;IAK/G,oEAA6E;;;IAWzE,wEAA+C;IAAA,kHAAS;IAAA,6DAAI;;;IAC5D,wEAA2C;IAAA,kHAAS;IAAA,6DAAI;;;IAF5D,2EAAmF;IAC/E,+HAA4D;IAC5D,+HAAwD;IAC5D,6DAAM;;;IAFE,2DAA+B;IAA/B,oGAA+B;IAC/B,2DAA2B;IAA3B,gGAA2B;;;IAuB/B,yEAAoE;IAAA,gGAAM;IAAA,6DAAI;;;IADlF,2EAAuE;IACnE,qIAA8E;IAClF,6DAAM;;;IAD6B,2DAAyB;IAAzB,8FAAyB;;;;IAPhE,0EAAsD;IAClD,yEAAyG;;IAAA,oFAAI;IAAA,6DAAI;IACjH,wEAAwG;;IAExG,8EAAsG;IAA9B,uUAAmB;IAAW,oFAAI;IAAA,6DAAS;IAEnH,mIAEM;IACV,6DAAM;;;IARwB,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IAC/B,2DAAwC;IAAxC,6LAAwC;IAIjE,2DAA+B;IAA/B,4GAA+B;;;IAW7D,wEAAyD;IAAA,kHAAS;IAAA,6DAAI;;;IAD1E,2EAA+G;IAC3G,sIAAsE;IAC1E,6DAAM;;;IADE,2DAAyC;IAAzC,8GAAyC;;;IAS7C,wEAAuD;IAAA,kHAAS;IAAA,6DAAI;;;IACpE,wEAA0D;IAAA,4JAAgB;IAAA,6DAAI;;;IAFlF,2EAA2G;IACvG,uIAAoE;IACpE,uIAA8E;IAClF,6DAAM;;;IAFE,2DAAuC;IAAvC,4GAAuC;IACvC,2DAA0C;IAA1C,+GAA0C;;;IAhB1D,4EAAoE;IAChE,0EAAuB;IACnB,yEAA2B;IAAA,oFAAI;IAAA,6DAAI;IACnC,kFAAoE;IAEpE,oIAEM;IACV,6DAAM;IAEN,0EAAuB;IACnB,yEAA2B;IAAA,oFAAI;IAAA,6DAAI;IACnC,kFAAkE;IAElE,sIAGM;IACV,6DAAM;IACV,6DAAO;;;IAhBkB,2DAAgC;IAAhC,kGAAgC;IAEX,2DAAuE;IAAvE,oJAAuE;IAO5F,2DAA8B;IAA9B,gGAA8B;IAET,2DAAmE;IAAnE,gJAAmE;;;;IAa7F,2EAA8D;IAC1D,yEAAO;IACH,wEAAqF;IACrF,yEAAgC;IAAA,wDAAwB;IAAA,6DAAI;IAChE,6DAAQ;IACR,yEAAiI;IAAjC,sWAA2B,IAAI,IAAC;IAAC,kEAAM;IAAA,6DAAI;IAC/I,6DAAM;;;IAJ2D,2DAA2B;IAA3B,yFAA2B;IACpD,2DAAwB;IAAxB,wFAAwB;;;;IAIhE,yEAA8C;IAC1C,mFAA8G;IAC9G,8EAA0F;IAAzC,mdAA8B;IAAW,oFAAI;IAAA,6DAAS;IAC3G,sEAAe;;;;;;IAFO,2DAAqB;IAArB,mFAAqB;;;IAVnD,2EAA4G;IACxG,2EAAgC;IAC5B,kJAMM;IACN,oKAGe;IACnB,6DAAM;IACV,6DAAM;;;IAZgC,2DAA8B;IAA9B,+FAA8B;IAO7C,2DAA6B;IAA7B,8FAA6B;;;;IAcpD,yEAA8C;IAC1C,mFAAqG;IAErG,8EAAiF;IAAhC,mWAAqB;IAAW,oFAAI;IAAA,6DAAS;IAClG,sEAAe;;;;IAHoB,2DAAa;IAAb,2EAAa;;;;IAKhD,8EAA+G;IAA/B,4VAAoB;IAAW,oFAAI;IAAA,6DAAS;;;IAjCxI,yEAA8B;IAC1B,0EAAuB;IACnB,yEAAuJ;;IAAA,oFAAI;IAAA,6DAAI;IAC/J,2EAAgC;IAC5B,4IAcM;IAEN,2EAA6B;IACzB,yEAAO;IACH,wEAAkF;IAClF,0EAAgC;IAAA,yDAA+B;IAAA,6DAAI;IACvE,6DAAQ;IACZ,6DAAM;IAEN,gKAIe;IAEf,oJAA4H;IAChI,6DAAM;IACV,6DAAM;IACV,sEAAe;;;IAlCiE,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IAEpE,2DAAqB;IAArB,+FAAqB;IAkBxB,2DAAwB;IAAxB,0FAAwB;IACjD,2DAA+B;IAA/B,mGAA+B;IAIxC,2DAAa;IAAb,wFAAa;IAMM,2DAA4B;IAA5B,iGAA4B;;;IAUlF,wEAA6C;IAAA,4GAAQ;IAAA,6DAAI;;;IAD7D,2EAA+E;IAC3E,gIAAyD;IAC7D,6DAAM;;;IADE,2DAA6B;IAA7B,kGAA6B;;;;IAWrC,2EAA+D;IAC3D,yEAAyC;IAAA,sJAAe;IAAA,6DAAI;IAC5D,8EAAkI;IAAA,oFAAI;IAAA,6DAAS;IACnJ,6DAAM;;IADmD,2DAAkE;IAAlE,+IAAkE;;;IAG3H,2EAA8E;IAC1E,8EAAkI;IAAA,oFAAI;IAAA,6DAAS;IACnJ,6DAAM;;IADmD,2DAAkE;IAAlE,+IAAkE;;;IAOvH,wEAA0D;IAAA,4GAAQ;IAAA,6DAAI;;;IACtE,wEAA0D;IAAA,4GAAQ;IAAA,6DAAI;;;;IA8BtE,2EAA+E;IAC3E,2EAA8B;IAC1B,qEAAG;IAAA,wDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAA4B;IAAA,6DAAI;IACvC,6DAAM;IACN,4EAA8B;IAC1B,sEAAG;IAAA,yDAAgB;IAAA,6DAAI;IAC3B,6DAAM;IACN,4EAA8B;IAC1B,yEAA6F;IACjG,6DAAM;IACN,4EAA8B;IAC1B,0EAA4E;IAApC,+YAAyB;IAAW,yEAAE;IAAA,6DAAI;IACtF,6DAAM;IACV,6DAAM;;;IAjBK,2DAAmB;IAAnB,mFAAmB;IAGnB,2DAAsB;IAAtB,sFAAsB;IAGtB,2DAA4B;IAA5B,4FAA4B;IAG5B,2DAAgB;IAAhB,gFAAgB;IAG0C,2DAA+B;IAA/B,6FAA+B;;;IAhD5G,2EAAmE;IAC/D,2EAAgD;IAC5C,wEAAiE;IACjE,gIAAsE;IACtE,gIAAsE;IACtE,wEAA2G;IAC3G,wEAAa;IAAA,wEAAE;IAAA,6DAAI;IACvB,6DAAM;IAEN,2EAAkC;IAC9B,qEAAG;IAAA,2FAAK;IAAA,6DAAI;IACZ,0EAAoC;IAAA,yDAAuB;IAAA,6DAAI;IAC/D,sEAAG;IAAA,+HAAW;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAAyB;IACrB,4EAAoC;IAChC,4EAA8B;IAC1B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACvB,6DAAM;IACN,4EAA8B;IAC1B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,uEAAoC;IACxC,6DAAM;IACN,uIAmBM;IACV,6DAAM;IAEN,4EAAkC;IAC9B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACrB,0EAAoC;IAAA,yDAAc;IAAA,6DAAI;IACtD,yEAAa;IAAA,mHAAS;IAAA,6DAAI;IAC9B,6DAAM;IACV,6DAAM;;;IA3DsC,2DAA4B;IAA5B,8FAA4B;IAC5D,2DAA2C;IAA3C,8GAA2C;IAC3C,2DAA2C;IAA3C,8GAA2C;IAC6B,2DAA8B;IAA9B,gGAA8B;IAMtE,2DAAuB;IAAvB,2FAAuB;IAuBb,4DAAc;IAAd,wFAAc;IAwBxB,2DAAc;IAAd,kFAAc;;;IAyD9C,qEAAgC;IAAA,wDAAqC;;IAAA,6DAAI;;;IAAzC,2DAAqC;IAArC,gKAAqC;;;IACrE,kFAAkF;;;IAArC,gFAAkB;;;IAE/D,qEAAgC;IAAA,wDAAmC;;IAAA,6DAAI;;;IAAvC,2DAAmC;IAAnC,8JAAmC;;;IACnE,kFAAgF;;;IAAnC,8EAAgB;;;;IAG7D,0EAA4G;IAAvC,8VAAuB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;;IAClH,0EAA4G;IAAxC,8VAAuB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;;IAhB1H,2EAAmF;IAC/E,2EAAuD;IACnD,qEAAG;IAAA,wDAAmD;;IAAA,6DAAI;IAC9D,6DAAM;IACN,4EAAwD;IACpD,qEAAG;IAAA,wDAA8C;;IAAA,6DAAI;IACzD,6DAAM;IACN,2EAA8B;IAC1B,iJAAyE;IACzE,8KAAkF;IAClF,2EAA+B;IAAA,mEAAC;IAAA,6DAAI;IACpC,iJAAuE;IACvE,8KAAgF;IACpF,6DAAM;IACN,6EAAwD;IACpD,kJAAkH;IAClH,kJAAkH;IAClH,2EAA8G;IAAxC,2ZAA6B;IAAW,yEAAE;IAAA,6DAAI;IACxH,6DAAM;IACV,6DAAM;;;;IAjBK,2DAAmD;IAAnD,oLAAmD;IAGnD,2DAA8C;IAA9C,iLAA8C;IAG7C,2DAA0B;IAA1B,2FAA0B;IACZ,2DAAyB;IAAzB,0FAAyB;IAEvC,2DAA0B;IAA1B,2FAA0B;IACZ,2DAAyB;IAAzB,0FAAyB;IAGF,2DAA0B;IAA1B,2FAA0B;IAC1B,2DAAyB;IAAzB,0FAAyB;;;;IAK1E,2EAAqD;IACjD,2EAAuD;IACnD,8EAAoM;IAAxE,+TAAS,YAAc,IAAC;;IAApJ,6DAAoM;IACpM,sFAAmE;IACvE,6DAAM;IACN,uEAA8D;IAC9D,2EAA8B;IAC1B,kFAAkE;IAClE,0EAA+B;IAAA,mEAAC;IAAA,6DAAI;IACpC,mFAAgE;IACpE,6DAAM;IACN,6EAAwD;IACpD,2EAA8E;IAAtC,+VAA2B;IAAW,yEAAE;IAAA,6DAAI;IACpF,2EAAiH;IAA3C,4VAA2B,IAAI,IAAC;IAAW,yEAAE;IAAA,6DAAI;IAC3H,6DAAM;IACV,6DAAM;;;;IAbuJ,2DAAqC;IAArC,2KAAqC;IAA7H,iFAAyB;IAKrE,2DAA8B;IAA9B,gGAA8B;IAE9B,2DAA4B;IAA5B,8FAA4B;;;;IAQrD,4EAA6G;IACzG,0EAAkE;IAAlC,0VAAuB;IAAW,sFAAM;IAAA,6DAAI;IAChF,6DAAM;;;;;IAtElB,2EAAgC;IAC5B,2EAAgD;IAC5C,wEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,yEAAqB;IAAA,wDAA0D;;IAAA,6DAAI;IACnF,wEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,yEAAqB;IAAA,yDAAwD;;IAAA,6DAAI;IACjF,yEAAa;IAAA,2FAAK;IAAA,6DAAI;IACtB,0EAAoC;IAAA,yDAA2B;IAAA,6DAAI;IACnE,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IAClB,4EAAoH;IAApD,iWAA0B;IACtF,0EAAqC;IAAA,yEAAE;IAAA,6DAAI;IAC/C,6DAAM;IACV,6DAAM;IAEN,wEAAyC;IACrC,4EAA0E;IACtE,4EAAoC;IAChC,4EAAuD;IACnD,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACrB,0EAAoC;IAAA,yDAA2B;IAAA,6DAAI;IACnE,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IACN,wEAA8D;IAC9D,uEAAoC;IACpC,6EAA6E;IAArB,kVAAoB;IACxE,2EAAiF;IAAA,mEAAM;IAAA,6DAAI;IAC3F,2EAAgC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,6DAAM;IACV,6DAAM;IAEN,gJAmBM;IAEN,gJAeM;IAEN,+IAEM;IACV,6DAAM;IACV,6DAAM;IACV,6DAAM;;;IAtEuB,2DAA0D;IAA1D,kMAA0D;IAE1D,2DAAwD;IAAxD,kMAAwD;IAEzC,2DAA2B;IAA3B,+FAA2B;IAE4B,2DAAwB;IAAxB,6JAAwB;IAKlH,2DAAmC;IAAnC,qGAAmC;IAKY,2DAA2B;IAA3B,+FAA2B;IAW1B,4DAAmB;IAAnB,4FAAmB;IAqBlC,2DAAqB;IAArB,0FAAqB;IAiB2B,2DAA6B;IAA7B,kGAA6B;;ADpWpH,MAAM,8BAA8B;IAczC,YACU,cAA8B,EAC9B,YAA0B,EAC1B,gBAAkC,EAClC,cAA8B,EAC9B,mBAAwC,EACxC,gBAAkC,EAClC,MAAc;QANd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAQ;QAnBxB,WAAM,GAAY,IAAI,CAAC;QACvB,SAAI,GAA0B,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAChE,eAAU,GAAkB,EAAE,CAAC;QAC/B,oBAAe,GAA8B,IAAI,CAAC;QAGlD,eAAU,GAAgB,EAAE,CAAC;QAC7B,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAGjD,cAAS,GAAM,IAAI,+DAAI,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;QAuD/B,cAAS,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAoIb,iBAAY,GAAe,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAmCb,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YACpC,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;QACtE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA1NV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,+CAAQ,CAAC;YACP,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpD,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAC3C,SAAS,EAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;SAC3C,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAC,KAAK,CAAC,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,iFAAW,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,+CAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAC,WAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAC,CAAC;aACjI,IAAI,CAAC,+DAAc,EAAE,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAMD,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE;YAChG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACpE,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAC/C,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kHAAuD,CAAC,CAAC;YACrG,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACnC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,sFAA2B,CAAC,CAAC;YACzE,OAAO;SACR;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YACxD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2GAAgD,CAAC,CAAC;YAC9F,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,EAAE;aACf,IAAI,CACH,0DAAS,CAAC,KAAK,CAAC,EAAE,CAAC,6CAAM,CACvB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EACrC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAC9C,IAAI,6CAAU,CACZ,UAAU,CAAC,EAAE;YACX,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,wGAA6C,CACvF,IAAI,6CAAU,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAC7G,CAAC;QACJ,CAAC,CACF,CAAC,CAAC,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CACzD,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAGD,SAAS;IACD,WAAW;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,SAAS;IACD,aAAa,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ;IACA,sBAAsB,CAAC,SAAiB;QAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,EAAE;YACzD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO;oBACL,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;iBAC9B;YACH,CAAC,CAAC;YACF,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,KAAK,UAAU;SACxD,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAU;QACd,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC9B,CAAC;IAMD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,GAAG,IAAI,4EAAkB,EAAE,CAAC;IAClD,CAAC;IAED,eAAe;;QACb,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,OAAO;SACR;QAED,IAAI,UAAI,CAAC,eAAe,0CAAE,SAAS,CAAC,OAAO,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAClD,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,OAAgB;QAC1B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;aAC7D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;;4GA5OU,8BAA8B;6HAA9B,8BAA8B;;QC3B3C,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,qFAAK;QAAA,6DAAI;QACtB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,gGAAM;QAAA,6DAAI;QAClD,6DAAM;QAEN,wEAAqC;QAAA,gGAAM;QAAA,6DAAI;QAE/C,2EAA4B;QACxB,4EAA0D;QACtD,yEAA4C;QAAA,gHAAW;QAAA,6DAAI;QAE3D,2EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,yEAA4G;;QAE5G,8HAEM;QACV,6DAAM;QAEN,2EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,4EAAyB;QACrB,+EAA6D;QACzD,+EAAqD;QAAA,uGAAO;QAAA,6DAAS;QACrE,oIAAsF;QAC1F,6DAAS;QACb,6DAAM;QAEN,8HAEM;QACV,6DAAM;QAEN,2EAAuB;QACnB,0EAA+H;;QAAA,qFAAI;QAAA,6DAAI;QACvI,4EAAgC;QAC5B,4EAAgD;QAC5C,0EAAO;QACH,yEAAmE;QACnE,0EAA0B;QAAA,qFAAI;QAAA,6DAAI;QACtC,6DAAQ;QAER,8EAAoB;QAChB,yEAAwE;QACxE,0EAA0B;QAAA,qFAAI;QAAA,6DAAI;QACtC,6DAAQ;QAER,8EAAoB;QAChB,yEAAuE;QACvE,0EAA0B;QAAA,qFAAI;QAAA,6DAAI;QACtC,6DAAQ;QACZ,6DAAM;QAEN,8HAOM;QAEN,8HAEM;QAEN,8HAGM;QACV,6DAAM;QAEV,6DAAM;QAEN,2EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,0EAAO;QACH,yEAAuE;QACvE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAQ;QAER,8EAAoB;QAChB,yEAAwE;QACxE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAQ;QAER,8HAEM;QACV,6DAAM;QAEN,2EAAuB;QACnB,0EAA+H;;QAAA,qFAAI;QAAA,6DAAI;QAEvI,gJAEe;QAEf,gJAWe;QAEf,gJAA6E;QACjF,6DAAM;QAEN,2EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,8EAAmK;QAAxE,ySAAS,WAAa,IAAC;;QAAlH,6DAAmK;QACnK,sFAAkE;QAElE,mFAAmE;QAEnE,8HAGM;QACV,6DAAM;QAEN,2EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,0EAAO;QACH,yEAA2D;QAC3D,yEAAa;QAAA,+EAAG;QAAA,6DAAI;QACxB,6DAAQ;QACR,8EAAsC;QAClC,yEAA0D;QAC1D,yEAAa;QAAA,+EAAG;QAAA,6DAAI;QACxB,6DAAQ;QACZ,6DAAM;QAEN,8HASM;QAEN,iIAmBO;QAEP,iJAoCe;QAEf,2EAAuB;QACnB,0EAA0G;;QAAA,2FAAK;QAAA,6DAAI;QACnH,0EAAqE;QAErE,gIAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,2EAAiD;QAAA,sFAAI;QAAA,6DAAI;QACzD,6EAA0F;QAC9F,6DAAM;QAEN,4EAAuB;QACnB,2EAAiI;;QAAA,kGAAM;QAAA,6DAAI;QAC3I,gIAGM;QAEN,gIAEM;QACV,6DAAM;QAEN,iIA6DM;QAEN,4EAAuB;QACnB,2EAAiD;QAAA,0EAAE;QAAA,6DAAI;QACvD,6EAAqF;QACzF,6DAAM;QAEN,6EAAiG;QAC7F,gFAAyE;QAA5B,yJAAS,WAAO,IAAC;QAAW,sFAAI;QAAA,6DAAS;QACtF,gFAA2G;QAA7B,yJAAS,YAAQ,IAAC;QAAW,2EAAG;QAAA,6DAAS;QAC3H,6DAAM;QACV,6DAAO;QACX,6DAAM;QACV,6DAAM;QAEN,+NA2Ec;;;;QA3XuB,4DAA4B;QAA5B,0FAA4B;QAIvB,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QACzB,2DAAsC;QAAtC,mLAAsC;QAErE,2DAA2C;QAA3C,gHAA2C;QASjE,2DAAgB;QAAhB,0EAAgB;QACC,2DAAa;QAAb,oFAAa;QAIR,2DAA2C;QAA3C,gHAA2C;QAMjC,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAmB9E,4DAAsE;QAAtE,2IAAsE;QASlE,2DAAuD;QAAvD,4HAAuD;QAIvD,2DAAqD;QAArD,0HAAqD;QASrE,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAWxD,4DAA+D;QAA/D,oIAA+D;QAMrD,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAErG,2DAAgC;QAAhC,iGAAgC;QAIhC,2DAAgC;QAAhC,iGAAgC;QAahC,2DAAgC;QAAhC,gGAAgC;QAIrB,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QACqB,2DAAsC;QAAtC,mLAAsC;QAAnH,gFAAwB;QAGhC,2DAAkB;QAAlB,gFAAkB;QAEV,2DAA2C;QAA3C,gHAA2C;QAOvD,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAW1E,4DAA4B;QAA5B,6FAA4B;QAWlB,2DAAgC;QAAhC,iGAAgC;QAqBnD,2DAAa;QAAb,8EAAa;QAuCE,2DAAsC;QAAtC,wLAAsC;QAAC,wFAA8B;QAGzD,2DAAuC;QAAvC,4GAAuC;QAW7B,2DAAuC;QAAvC,+LAAuC;QAAC,wFAA8B;QACrF,2DAA4B;QAA5B,6FAA4B;QAKZ,2DAA2B;QAA3B,4FAA2B;QAK1C,2DAA2B;QAA3B,4FAA2B;woMDrN/D,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AErBR;AAC0B;AACI;AAET;AAKkB;AACZ;AAOY;;;;;;;;;;;;;;;;;;;ICQvD,oEAA8D;;;IAFtE,yEAAgD;IAC5C,2EAA4B;IACxB,+JAA8D;IAClE,6DAAM;IACV,sEAAe;;;;IAFQ,2DAA8B;IAA9B,kFAA8B;;;IAM7C,oEAA8D;;;IAI1D,2EAAwF;IACpF,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAuF;IACnF,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAuE;IACnE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAqE;IACjE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA2H;IACvH,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAoD;IAChD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IAKN,qEAAkC;IAAA,wDAAqB;IAAA,6DAAI;;;IAAzB,2DAAqB;IAArB,yFAAqB;;;IAK/C,wEAA+C;IAAA,sGAAO;IAAA,6DAAI;;;IAD9D,2EAAmF;IAC/E,+JAA0D;IAC9D,6DAAM;;;IADE,2DAA+B;IAA/B,oGAA+B;;;IAJ3C,yEAA4C;IACxC,wEAAqE;IAErE,6JAEM;IACV,sEAAe;;;IAH2B,2DAA2C;IAA3C,wHAA2C;;;IAQrF,qEAAkC;IAAA,wDAA0B;IAAA,6DAAI;;;IAA9B,2DAA0B;IAA1B,8FAA0B;;;IAKhD,8EAA8D;IAAA,wDAAe;IAAA,6DAAS;;;IAA9C,mFAAqB;IAAC,2DAAe;IAAf,+EAAe;;;IAKjF,wEAA+C;IAAA,sGAAO;IAAA,6DAAI;;;IAD9D,2EAAmF;IAC/E,+JAA0D;IAC9D,6DAAM;;;IADE,2DAA+B;IAA/B,oGAA+B;;;IAT3C,yEAA4C;IACxC,2EAAyB;IACrB,8EAA6D;IACzD,8EAAqD;IAAA,sGAAO;IAAA,6DAAS;IACrE,mKAAsF;IAC1F,6DAAS;IACb,6DAAM;IAEN,6JAEM;IACV,sEAAe;;;IARK,2DAAgB;IAAhB,0EAAgB;IACC,2DAAa;IAAb,wFAAa;IAIR,2DAA2C;IAA3C,wHAA2C;;;IASrF,yEAA+C;IAC3C,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,sEAAe;;;;IAGX,yEAA6C;IACzC,yEAAgB;IAAA,wDAAwD;;IAAA,6DAAI;IAChF,sEAAe;;;IADK,2DAAwD;IAAxD,6SAAwD;;;IAE5E,yEAA4C;IACxC,wEAAa;IAAA,wHAAU;IAAA,6DAAI;IAC3B,wEAAuG;IACvG,wEAAa;IAAA,wEAAE;IAAA,6DAAI;IACvB,sEAAe;;;IATnB,yEAAoD;IAChD,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACrB,+KAEe;IACf,+KAIe;IACnB,sEAAe;;;IARI,2DAA4B;IAA5B,iGAA4B;IAG5B,2DAA2B;IAA3B,gGAA2B;;;IAQ1C,yEAA6C;IACzC,yEAAgB;IAAA,wDAAwD;;IAAA,6DAAI;IAChF,sEAAe;;;IADK,2DAAwD;IAAxD,6SAAwD;;;IAE5E,yEAA4C;IACxC,wEAAa;IAAA,wHAAU;IAAA,6DAAI;IAC3B,wEAAuG;IACvG,wEAAa;IAAA,wEAAE;IAAA,6DAAI;IACvB,sEAAe;;;IATnB,yEAAmD;IAC/C,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACrB,+KAEe;IACf,+KAIe;IACnB,sEAAe;;;IARI,2DAA4B;IAA5B,iGAA4B;IAG5B,2DAA2B;IAA3B,gGAA2B;;;IAQ1C,wEAA6C;IAAA,sGAAO;IAAA,6DAAI;;;IACxD,wEAAwC;IAAA,8GAAU;IAAA,6DAAI;;;IAF1D,2EAA+E;IAC3E,gJAAwD;IACxD,gJAAsD;IAC1D,6DAAM;;;IAFE,2DAA6B;IAA7B,kGAA6B;IAC7B,2DAAwB;IAAxB,6FAAwB;;;IAoB5B,wEAAuC;IAAA,8EAAG;IAAA,6DAAI;;;IAC9C,wEAAuC;IAAA,8EAAG;IAAA,6DAAI;;;IAFlD,yEAA6C;IACzC,yJAA8C;IAC9C,yJAA8C;IAClD,sEAAe;;;IAFP,2DAAuB;IAAvB,4FAAuB;IACvB,2DAAuB;IAAvB,4FAAuB;;;IAE/B,yEAA4C;IACxC,yEAAO;IACH,wEAA2D;IAC3D,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAQ;IACR,6EAAsC;IAClC,wEAA0D;IAC1D,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAQ;IACZ,sEAAe;;;;IAKf,yEAA6C;IACzC,qEAAG;IAAA,wDAAe;IAAA,6DAAI;IACtB,8EAAsG;IAA9B,wWAAmB;IAAW,oFAAI;IAAA,6DAAS;IACvH,sEAAe;;;IAFR,2DAAe;IAAf,mFAAe;;;IASd,yEAAoE;IAAA,gGAAM;IAAA,6DAAI;;;IADlF,2EAAuE;IACnE,qKAA8E;IAClF,6DAAM;;;IAD6B,2DAAyB;IAAzB,8FAAyB;;;;IANhE,yEAA4C;IACxC,wEAAwG;;IAExG,8EAA0G;IAAlC,4WAAuB;IAAW,oFAAI;IAAA,6DAAS;IAEvH,mKAEM;IACV,sEAAe;;;IAPoD,2DAAwC;IAAxC,6LAAwC;IAIjE,2DAA+B;IAA/B,4GAA+B;;;IAX7E,2EAA2E;IACvE,yEAAoC;IAAA,oFAAI;IAAA,6DAAI;IAC5C,sKAGe;IACf,sKAQe;IACnB,6DAAM;;;IAba,2DAA4B;IAA5B,iGAA4B;IAI5B,2DAA2B;IAA3B,gGAA2B;;;IA0B1C,oEAA0D;;;IAK1D,qEAAkC;IAAA,wDAAkG;;;IAAA,6DAAI;;;IAAtG,2DAAkG;IAAlG,mTAAkG;;;IAQ5H,wEAAmD;IAAA,kHAAS;IAAA,6DAAI;;;IAChE,wEAA+C;IAAA,kHAAS;IAAA,6DAAI;;;IAFhE,2EAA2F;IACvF,+JAAgE;IAChE,+JAA4D;IAChE,6DAAM;;;IAFE,2DAAmC;IAAnC,wGAAmC;IACnC,2DAA+B;IAA/B,oGAA+B;;;;IAR3C,yEAA4C;IACxC,6EAAuK;IAAxE,uUAAS,WAAa,IAAC;;IAAtH,6DAAuK;IACvK,qFAAkE;IAElE,kFAAuE;IAEvE,6JAGM;IACV,sEAAe;;;;IAT4G,2DAAsC;IAAtC,iLAAsC;IAAvH,gFAAwB;IAGhC,2DAAsB;IAAtB,wFAAsB;IAEd,2DAAmD;IAAnD,gIAAmD;;;IAU7F,qEAAkC;IAAA,wDAA4B;IAAA,6DAAI;;;IAAhC,2DAA4B;IAA5B,gGAA4B;;;;IAK9C,2EAA8D;IAC1D,yEAAO;IACH,wEAAqF;IACrF,yEAAgC;IAAA,wDAAwB;IAAA,6DAAI;IAChE,6DAAQ;IACR,yEAAiI;IAAjC,uXAA2B,IAAI,IAAC;IAAC,kEAAM;IAAA,6DAAI;IAC/I,6DAAM;;;IAJ2D,2DAA2B;IAA3B,yFAA2B;IACpD,2DAAwB;IAAxB,wFAAwB;;;;IAIhE,yEAA8C;IAC1C,mFAA8G;IAC9G,8EAA0F;IAAzC,oeAA8B;IAAW,oFAAI;IAAA,6DAAS;IAC3G,sEAAe;;;;;;IAFO,2DAAqB;IAArB,mFAAqB;;;IAVnD,2EAA4G;IACxG,2EAAgC;IAC5B,mKAMM;IACN,qLAGe;IACnB,6DAAM;IACV,6DAAM;;;IAZgC,2DAA8B;IAA9B,+FAA8B;IAO7C,2DAA6B;IAA7B,8FAA6B;;;;IAYpD,yEAA8C;IAC1C,mFAAqG;IAErG,8EAAiF;IAAhC,mXAAqB;IAAW,oFAAI;IAAA,6DAAS;IAClG,sEAAe;;;;IAHoB,2DAAa;IAAb,2EAAa;;;;IAKhD,8EAA+G;IAA/B,4WAAoB;IAAW,oFAAI;IAAA,6DAAS;;;IA7BpI,yEAA4C;IACxC,2EAAgC;IAC5B,6JAcM;IACN,2EAAgD;IAC5C,yEAAO;IACH,wEAAkF;IAClF,yEAAgC;IAAA,wDAA+B;IAAA,6DAAI;IACvE,6DAAQ;IACZ,6DAAM;IACN,+KAIe;IAEf,mKAA4H;IAChI,6DAAM;IACV,sEAAe;;;IA7B6D,2DAAqB;IAArB,+FAAqB;IAiBxB,2DAAwB;IAAxB,0FAAwB;IACjD,2DAA+B;IAA/B,mGAA+B;IAGxC,2DAAa;IAAb,wFAAa;IAMM,2DAA4B;IAA5B,iGAA4B;;;IAOtF,qEAAkC;IAAA,wDAA8B;IAAA,6DAAI;;;IAAlC,2DAA8B;IAA9B,kGAA8B;;;;IAChE,8EAAwH;IAA5C,oYAAS,WAAuB,IAAC;IAAW,oFAAI;IAAA,6DAAS;;;IAK7H,wEAA6C;IAAA,4GAAQ;IAAA,6DAAI;;;IAD7D,2EAA+E;IAC3E,+JAAyD;IAC7D,6DAAM;;;IADE,2DAA6B;IAA7B,kGAA6B;;;IAJzC,yEAA4C;IACxC,wEAAgF;IAEhF,6JAEM;IACV,sEAAe;;;IAH2B,2DAAuC;IAAvC,oHAAuC;;;IAS7E,qEAAyB;IAAA,6DAAC;IAAA,6DAAI;;;IADlC,yEAA6C;IACzC,0JAA8B;IAC9B,yEAA4D;IAAA,wDAAkB;IAAA,6DAAI;IACtF,sEAAe;;;IAFP,2DAAmB;IAAnB,wFAAmB;IACqC,2DAAkB;IAAlB,sFAAkB;;;IAElF,yEAA4C;IACxC,2EAAqF;IACzF,sEAAe;;;IAMX,wEAAmC;IAAA,wEAAE;IAAA,6DAAI;;;IAD7C,yEAA6C;IACzC,0JAAyC;IACzC,yEAA4D;IAAA,wDAAkB;IAAA,6DAAI;IACtF,sEAAe;;;IAFP,2DAAmB;IAAnB,wFAAmB;IACqC,2DAAkB;IAAlB,sFAAkB;;;IAElF,yEAA4C;IACxC,2EAAqF;IACzF,sEAAe;;;;IAOX,8EAAwI;IAAhC,iXAAqB;IAAW,yEAAG;IAAA,6DAAS;;;;IAEpJ,8EAAsN;IAAA,oFAAI;IAAA,6DAAS;;;IAA3G,mKAAmF;;;;IAC3M,+EAAuI;IAA/B,gXAAoB;IAAW,oFAAI;IAAA,6DAAS;;;;IAL5J,yEAA6C;IACzC,2EAAoD;IAChD,oKAAoJ;IACpJ,8EAA6G;IAAzC,yWAAyB,IAAI,IAAC;IAAW,yEAAG;IAAA,6DAAS;IACzH,oKAAmO;IACnO,oKAAoJ;IACxJ,6DAAM;IACV,sEAAe;;;IAL0D,2DAAqC;IAArC,0GAAqC;IAEpE,2DAAoF;IAApF,yKAAoF;IACrD,2DAAqC;IAArC,0GAAqC;;;;IAI9G,yEAA4C;IACxC,2EAAoD;IAChD,+EAAyG;IAA1C,yWAAyB,KAAK,IAAC;IAAW,yEAAG;IAAA,6DAAS;IACrH,+EAAmE;IAAlC,0WAAuB;IAAW,yEAAG;IAAA,6DAAS;IACnF,6DAAM;IACV,sEAAe;;;;IArQvB,yEAAiD;IAC7C,4EAAgE;IAC5D,+JAA8D;IAE9D,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,6DAAI;IACxG,6IAEM;IACN,6IAEM;IACN,6IAEM;IACN,+IAEM;IACN,+IAEM;IACN,+IAEM;IACV,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,2IAA2D;IAC3D,iKAMe;IACnB,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,2IAAgE;IAChE,iKAWe;IACnB,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,yEAA4B;IAC5B,iKAEe;IACf,iKAUe;IACf,iKAUe;IAEf,+IAGM;IACV,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,0EAAO;IACH,yEAAyG;IACzG,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAQ;IAER,0EAAO;IACH,yEAAwH;IACxH,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAQ;IACZ,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,iKAGe;IACf,iKASe;IACnB,6DAAM;IAEN,+IAeM;IAEN,4EAAuB;IACnB,0EAA2B;IAAA,qFAAI;IAAA,6DAAI;IACnC,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACpB,0EAA+B;IAAA,yDAAgC;IAAA,6DAAI;IACnE,0EAAgB;IAAA,yDAAgC;IAAA,6DAAI;IACpD,yEAAa;IAAA,iGAAM;IAAA,6DAAI;IACvB,0EAAoC;IAAA,yDAA+B;IAAA,6DAAI;IACvE,yEAAa;IAAA,2FAAK;IAAA,6DAAI;IACtB,0EAAoC;IAAA,yDAA2B;IAAA,6DAAI;IACnE,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IAClB,+EAAuF;IAA3C,0XAAS,UAAsB,IAAC;IAAW,qFAAI;IAAA,6DAAS;IACxG,6DAAM;IAEN,4EAAuB;IACnB,0EAA+H;;IAAA,qFAAI;IAAA,6DAAI;IACvI,iKAA0D;IAC9D,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,4IAAwI;IACxI,iKAUe;IAEnB,6DAAM;IAEN,4EAAuB;IACnB,0EAA8I;;IAAA,qFAAI;IAAA,6DAAI;IACtJ,2IAAkE;IAClE,kKA+Be;IACnB,6DAAM;IAEN,4EAAuB;IACnB,0EAAiG;;IAAA,2FAAK;IAAA,6DAAI;IAC1G,2IAAoE;IACpE,qJAAqI;IACrI,iKAMe;IACnB,6DAAM;IAEN,4EAAuB;IACnB,0EAAsH;;IAAA,sFAAI;IAAA,6DAAI;IAC9H,mKAGe;IACf,mKAEe;IACnB,6DAAM;IAEN,6EAAuB;IACnB,2EAAiD;IAAA,0EAAE;IAAA,6DAAI;IACvD,mKAGe;IACf,mKAEe;IACnB,6DAAM;IACV,6DAAO;IAEP,6EAA8B;IAC1B,mKAOe;IAEf,mKAKe;IACnB,6DAAM;IACV,sEAAe;;;;;IAtQkB,2DAAkC;IAAlC,mGAAkC;IAC5C,2DAA8B;IAA9B,kFAA8B;IAGxB,2DAAqC;IAArC,iLAAqC;IAAC,wFAA8B;IACrD,2DAAsD;IAAtD,iIAAsD;IAGtD,2DAAqD;IAArD,gIAAqD;IAGtD,2DAAsC;IAAtC,0GAAsC;IAGtC,2DAAoC;IAApC,wGAAoC;IAGrC,2DAA2F;IAA3F,6KAA2F;IAG/F,2DAAwB;IAAxB,4FAAwB;IAMxB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC1F,2DAA4B;IAA5B,gGAA4B;IACjB,2DAA2B;IAA3B,+FAA2B;IAUhB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC1F,2DAA4B;IAA5B,gGAA4B;IACjB,2DAA2B;IAA3B,+FAA2B;IAehB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAE/E,2DAA8B;IAA9B,kGAA8B;IAG9B,2DAAmC;IAAnC,uGAAmC;IAWnC,2DAAkC;IAAlC,sGAAkC;IAYX,2DAAuC;IAAvC,kHAAuC;IAOnD,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAEtE,2DAAyC;IAAzC,0GAAyC;IAK5B,2DAA0C;IAA1C,2GAA0C;IAMrD,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC/E,2DAA4B;IAA5B,gGAA4B;IAI5B,2DAA2B;IAA3B,+FAA2B;IAYtB,2DAAiD;IAAjD,4HAAiD;IAoBtC,2DAAgC;IAAhC,mGAAgC;IAC/C,2DAAgC;IAAhC,4GAAgC;IAEZ,2DAA+B;IAA/B,kGAA+B;IAE/B,2DAA2B;IAA3B,8FAA2B;IAMf,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IACrG,2DAA0B;IAA1B,kFAA0B;IAIf,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC1F,2DAA4B;IAA5B,gGAA4B;IACjB,2DAA2B;IAA3B,+FAA2B;IAeqB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC/H,2DAA4B;IAA5B,gGAA4B;IACjB,2DAA2B;IAA3B,+FAA2B;IAmCzB,2DAAsC;IAAtC,wLAAsC;IAAC,wFAA8B;IAClF,2DAA4B;IAA5B,gGAA4B;IACtB,2DAA4B;IAA5B,gGAA4B;IACvB,2DAA2B;IAA3B,+FAA2B;IAUH,2DAAqC;IAArC,mLAAqC;IAAC,wFAA8B;IAC5F,2DAA4B;IAA5B,gGAA4B;IAI5B,2DAA2B;IAA3B,+FAA2B;IAO3B,2DAA4B;IAA5B,gGAA4B;IAI5B,2DAA2B;IAA3B,+FAA2B;IAO/B,2DAA4B;IAA5B,gGAA4B;IAS5B,2DAA2B;IAA3B,+FAA2B;;;IA9QtD,2EAA0C;IAEtC,2EAA8B;IAC1B,qEAAG;IAAA,wDAA4C;;IAAA,6DAAI;IACnD,sEAA0B;IAC1B,qEAAG;IAAA,wDAAgF;;;IAAA,6DAAI;IAC3F,6DAAM;IAEN,iJAIe;IAEf,oJAuQe;IAEf,8GAAsO;IACtO,kGAAyI;IAC7I,6DAAM;;;IAtRK,2DAA4C;IAA5C,+PAA4C;IAE5C,2DAAgF;IAAhF,+VAAgF;IAGxE,2DAA+B;IAA/B,mGAA+B;IAM/B,2DAAgC;IAAhC,oGAAgC;IAyQU,2DAA4B;IAA5B,6FAA4B;IACvC,2DAA6B;IAA7B,8FAA6B;;;IAQvE,0EAA6G;IAAA,6DAAC;IAAA,6DAAI;;;IAClH,0EAAoH;IAAA,iEAAK;IAAA,6DAAI;;;;IAW7H,0EAAgH;IAAA,6DAAC;IAAA,6DAAI;;;IAApG,iKAA8B;;;IAC/C,0EAAsG;IAAA,iEAAK;IAAA,6DAAI;;;IAW/G,0EAAyF;IAAA,6DAAC;IAAA,6DAAI;;;IAA7E,sKAAmC;;;IACpD,0EAAmF;IAAA,iEAAK;IAAA,6DAAI;;;;IA3BpG,4EAAsB;IAClB,4EAAsD;IAClD,kIAAkH;IAClH,kIAA6H;IAC7H,4EAA4B;IACxB,4EAAyB;IACrB,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACrB,uEAA6C;IACjD,6DAAM;IACN,0EAAyC;IAAA,+HAAW;IAAA,6DAAI;IAC5D,6DAAM;IACV,6DAAM;IAEN,6EAA6B;IACzB,oIAAqH;IACrH,oIAA+G;IAC/G,6EAA4B;IACxB,6EAAyB;IACrB,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACpB,wEAA6C;IACjD,6DAAM;IACN,2EAAyC;IAAA,6GAAQ;IAAA,6DAAI;IACzD,6DAAM;IACV,6DAAM;IAEN,6EAA6B;IACzB,oIAA8F;IAC9F,oIAA4F;IAC5F,6EAA4B;IACxB,6EAAyB;IACrB,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACpB,wEAA6C;IACjD,6DAAM;IACN,2EAAyC;IAAA,uGAAO;IAAA,6DAAI;IACxD,6DAAM;IACV,6DAAM;IAEN,6EAA6B;IACzB,2EAAwE;IAAA,8DAAC;IAAA,6DAAI;IAC7E,6EAA4B;IACxB,6EAAyB;IACrB,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACxB,6DAAM;IACN,2EAAyC;IAAA,iGAAM;IAAA,6DAAI;IACvD,6DAAM;IACV,6DAAM;IACV,6DAAM;;;IA5CyB,2DAAoF;IAApF,sKAAoF;IAC/D,2DAAsE;IAAtE,wJAAsE;IAWjE,2DAA6D;IAA7D,wIAA6D;IAClE,2DAAwD;IAAxD,mIAAwD;IAW9C,2DAAiC;IAAjC,qGAAiC;IAC3C,2DAAqC;IAArC,yGAAqC;IAWhE,2DAAsD;IAAtD,qLAAsD;;;IAmB3E,2EAAwF;IACpF,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAuF;IACnF,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAuE;IACnE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAqE;IACjE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA2H;IACvH,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAoD;IAChD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;;IAxBV,4EAAmD;IAC/C,0EAAgD;IAAA,sEAAU;IAAA,6DAAI;IAC9D,0EAA0D;IAAA,gGAAM;IAAA,6DAAI;IACxE,6DAAM;IAEN,2EAAuB;IACnB,yEAA2B;IAAA,oFAAI;IAAA,6DAAI;IACnC,qIAEM;IACN,qIAEM;IACN,uIAEM;IACN,uIAEM;IACN,uIAEM;IACN,uIAEM;IACV,6DAAM;IAEN,4EAAuB;IACnB,0EAAc;IACV,0EAAiD;IAAA,qFAAI;IAAA,6DAAI;IACzD,4EAAiC;IAC7B,kFAA8H;IAAjC,uXAAgC;IAAC,6DAAW;IACzI,kEAAI;IACR,6DAAM;IACV,sEAAe;IACnB,6DAAM;IACN,gFAA+E;IAA7B,sVAA4B;IAAC,0EAAG;IAAA,6DAAS;;;IA7BvD,2DAAsD;IAAtD,iIAAsD;IAGtD,2DAAqD;IAArD,gIAAqD;IAGtD,2DAAsC;IAAtC,0GAAsC;IAGtC,2DAAoC;IAApC,wGAAoC;IAGrC,2DAA2F;IAA3F,6KAA2F;IAG/F,2DAAwB;IAAxB,4FAAwB;IASmD,2DAAgC;IAAhC,+FAAgC;;;IAoC7H,4EAAoF;IAChF,4EAAuD;IACnD,qEAAG;IAAA,wDAA6C;;IAAA,6DAAI;IACxD,6DAAM;IACN,4EAAwD;IACpD,qEAAG;IAAA,wDAAwC;;IAAA,6DAAI;IACnD,6DAAM;IACN,4EAA8B;IAC1B,sEAAG;IAAA,yDAAmC;;IAAA,6DAAI;IAC1C,2EAA+B;IAAA,mEAAC;IAAA,6DAAI;IACpC,sEAAG;IAAA,yDAAiC;;IAAA,6DAAI;IAC5C,6DAAM;IACN,wEAA8D;IAClE,6DAAM;;;;IAXK,2DAA6C;IAA7C,gLAA6C;IAG7C,2DAAwC;IAAxC,4KAAwC;IAGxC,2DAAmC;IAAnC,iKAAmC;IAEnC,2DAAiC;IAAjC,+JAAiC;;;;;IArCxD,yEAA6C;IACzC,2EAAgC;IAC5B,2EAAgD;IAC5C,wEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,0EAAqB;IAAA,wDAA2D;;IAAA,6DAAI;IACpF,wEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,2EAAqB;IAAA,yDAAyD;;IAAA,6DAAI;IAClF,yEAAa;IAAA,2FAAK;IAAA,6DAAI;IACtB,0EAAoC;IAAA,yDAA4B;IAAA,6DAAI;IACpE,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IAClB,6EAAoH;IAApD,0WAA0B;IACtF,2EAAqC;IAAA,yEAAE;IAAA,6DAAI;IAC/C,6DAAM;IACV,6DAAM;IAEN,6EAAuF;IACnF,6EAAoC;IAChC,6EAAuD;IACnD,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACrB,2EAAoC;IAAA,yDAA4B;IAAA,6DAAI;IACpE,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IACN,wEAA8D;IAC9D,wEAAoC;IACpC,wEAA8D;IAClE,6DAAM;IAEN,yJAaM;IACV,6DAAM;IACV,6DAAM;IACV,sEAAe;;;IAvCkB,2DAA2D;IAA3D,qMAA2D;IAE3D,2DAAyD;IAAzD,qMAAyD;IAE1C,2DAA4B;IAA5B,iGAA4B;IAE2B,2DAAwB;IAAxB,8JAAwB;IAKpE,2DAAmC;IAAnC,sGAAmC;IAItC,2DAA4B;IAA5B,iGAA4B;IAQ3B,2DAAoB;IAApB,8FAAoB;;;IAqDzD,qEAAgC;IAAA,wDAAqC;;IAAA,6DAAI;;;IAAzC,2DAAqC;IAArC,iKAAqC;;;IACrE,mFAAkF;;;IAArC,iFAAkB;;;IAE/D,qEAAgC;IAAA,wDAAmC;;IAAA,6DAAI;;;IAAvC,2DAAmC;IAAnC,+JAAmC;;;IACnE,mFAAgF;;;IAAnC,+EAAgB;;;;IAG7D,0EAA4G;IAAvC,yWAAuB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;;IAClH,0EAA4G;IAAxC,yWAAuB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;;IAhB1H,4EAAyF;IACrF,4EAAuD;IACnD,qEAAG;IAAA,wDAAmD;;IAAA,6DAAI;IAC9D,6DAAM;IACN,4EAAwD;IACpD,qEAAG;IAAA,wDAA8C;;IAAA,6DAAI;IACzD,6DAAM;IACN,4EAA8B;IAC1B,yJAAyE;IACzE,sLAAkF;IAClF,2EAA+B;IAAA,mEAAC;IAAA,6DAAI;IACpC,yJAAuE;IACvE,sLAAgF;IACpF,6DAAM;IACN,6EAAwD;IACpD,0JAAkH;IAClH,0JAAkH;IAClH,2EAA8G;IAAxC,waAA6B;IAAW,yEAAE;IAAA,6DAAI;IACxH,6DAAM;IACV,6DAAM;;;;IAjBK,2DAAmD;IAAnD,sLAAmD;IAGnD,2DAA8C;IAA9C,mLAA8C;IAG7C,2DAA0B;IAA1B,4FAA0B;IACZ,2DAAyB;IAAzB,2FAAyB;IAEvC,2DAA0B;IAA1B,4FAA0B;IACZ,2DAAyB;IAAzB,2FAAyB;IAGF,2DAA0B;IAA1B,4FAA0B;IAC1B,2DAAyB;IAAzB,2FAAyB;;;;IAK1E,4EAAqD;IACjD,4EAAuD;IACnD,8EAAoM;IAAxE,uUAAS,YAAc,IAAC;;IAApJ,6DAAoM;IACpM,sFAAmE;IACvE,6DAAM;IACN,uEAA8D;IAC9D,4EAA8B;IAC1B,mFAAkE;IAClE,0EAA+B;IAAA,mEAAC;IAAA,6DAAI;IACpC,oFAAgE;IACpE,6DAAM;IACN,6EAAwD;IACpD,2EAA8E;IAAtC,uWAA2B;IAAW,yEAAE;IAAA,6DAAI;IACpF,2EAAiH;IAA3C,oWAA2B,IAAI,IAAC;IAAW,yEAAE;IAAA,6DAAI;IAC3H,6DAAM;IACV,6DAAM;;;;IAbuJ,2DAAqC;IAArC,2KAAqC;IAA7H,iFAAyB;IAKrE,2DAA8B;IAA9B,iGAA8B;IAE9B,2DAA4B;IAA5B,+FAA4B;;;;IAQrD,4EAA6G;IACzG,0EAAkE;IAAlC,kWAAuB;IAAW,sFAAM;IAAA,6DAAI;IAChF,6DAAM;;;;;;IAnElB,yEAA4C;IACxC,2EAAgC;IAC5B,2EAAgD;IAC5C,wEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,0EAAqB;IAAA,wDAAgE;;IAAA,6DAAI;IACzF,wEAAa;IAAA,kEAAC;IAAA,6DAAI;IAClB,2EAAqB;IAAA,yDAA8D;;IAAA,6DAAI;IACvF,yEAAa;IAAA,2FAAK;IAAA,6DAAI;IACtB,0EAAoC;IAAA,yDAAiC;IAAA,6DAAI;IACzE,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IAClB,6EAAoH;IAApD,0WAA0B;IACtF,2EAAqC;IAAA,yEAAE;IAAA,6DAAI;IAC/C,6DAAM;IACV,6DAAM;IAEN,6EAAmI;IAC/H,6EAAoC;IAChC,6EAAuD;IACnD,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACrB,2EAAoC;IAAA,yDAAiC;IAAA,6DAAI;IACzE,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IACN,wEAA8D;IAC9D,wEAAoC;IACpC,wEAA8D;IAClE,6DAAM;IAEN,yJAmBM;IAEN,wJAeM;IAEN,uJAEM;IACV,6DAAM;IACV,6DAAM;IACV,sEAAe;;;IAlEkB,2DAAgE;IAAhE,2MAAgE;IAEhE,2DAA8D;IAA9D,0MAA8D;IAE/C,2DAAiC;IAAjC,sGAAiC;IAEsB,2DAAwB;IAAxB,8JAAwB;IAK9F,2DAAqE;IAArE,yOAAqE;IAI9C,2DAAiC;IAAjC,sGAAiC;IAQhC,2DAAyB;IAAzB,mGAAyB;IAqBxC,2DAAqB;IAArB,2FAAqB;IAiB2B,2DAA6B;IAA7B,mGAA6B;;;IA9GvH,yJA2Ce;IAEf,yJAsEe;;;IAnHA,gGAA4B;IA6C5B,2DAA2B;IAA3B,+FAA2B;;AD3ZvC,MAAM,wBAAwB;IAgBnC,YACU,YAA0B,EAC1B,cAA8B,EAC9B,KAAqB,EACrB,gBAAkC,EAClC,mBAAwC,EACxC,gBAAkC,EAClC,cAA8B,EAC9B,aAA4B;QAP5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QApBtC,eAAU,GAAgB,EAAE,CAAC;QAC7B,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAEjD,WAAM,GAAY,IAAI,CAAC;QACvB,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,eAAU,GAAkB,EAAE,CAAC;QAC/B,oBAAe,GAA8B,IAAI,CAAC;QAElD,cAAS,GAAM,IAAI,+DAAI,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;QAE/B,oBAAe,GAAS,EAAE,CAAC;QA2H3B,cAAS,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAoBb,iBAAY,GAAe,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;qBACvC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;qBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;oBACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QA4Db,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YACpC,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;QACpE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA7MV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,+CAAQ,CAAC;gBACP,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;gBAC/C,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;gBAC3C,SAAS,EAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;aAC3C,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,CAAC,CAAC,EAAE;gBACb,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC,SAAS,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;gBACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC3B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE;YACZ,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1K,CAAC,CAAC;IACJ,CAAC;IACD,gBAAgB;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAE,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAClC,EAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;iBAC9C,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC;gBACT,IAAI,EAAE,GAAG,EAAE;oBACT,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;oBACrF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IACD,QAAQ;QACN,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,wFAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,iFAAW,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,+CAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAC,WAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAC,CAAC;aACjI,IAAI,CAAC,+DAAc,EAAE,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YACnG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvE,OAAO;SACR;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACzC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,CAAC;YACpF,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC3E,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC;gBACT,IAAI,EAAE,GAAG,EAAE;oBACT,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;oBACrF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAMD,WAAW;QACT,IAAI,CAAC,eAAe,GAAG,IAAI,4EAAkB,EAAE,CAAC;IAClD,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACzC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,yFAA8B,CAAC;YAC3E,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAaD,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,oBAAoB;QAClB,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC;IAC5G,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI;YACxB,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,OAAO;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAgB;QAC1B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;aAC7D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;;gGAlOU,wBAAwB;uHAAxB,wBAAwB;QC7BrC,0EAAoB;QAChB,0EAAiE;QAC7D,wEAAa;QAAA,qFAAK;QAAA,6DAAI;QACtB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAA0B;QAAA,oFAAI;QAAA,6DAAI;QAClC,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,8EAA6G;QAAjC,kJAAS,0BAAsB,IAAC;QACxG,yEAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,2FAAK;QAAA,6DAAI;QAC1B,6DAAS;QACT,8EAAiG;QAAxB,kJAAS,iBAAa,IAAC;QAC5F,yEAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QACb,6DAAM;QAEN,yEAAqC;QAAA,iGAAM;QAAA,6DAAI;QAE/C,0HAyRM;QACV,6DAAM;QAGN,sNAgDc;QAEd,sNAsCc;QAEd,qNAsHc;;QA7emB,4DAAW;QAAX,4EAAW;u1VDQ9B,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AExBN;AACQ;AACoB;AAMJ;;;;;;;;;;;;;;;;;;ICY9C,oEAA4D;;;;;;IAyCxD,2EAA6D;IACzD,2EAA2F;IACvF,6EAA6H;IAAtG,2PAA8B;IAArD,6DAA6H;IACjI,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,2EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACrH,6DAAM;IACV,6DAAM;;;IA1ByB,2DAA8B;IAA9B,yFAA8B;IAGlD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAIxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;IAWpE,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,6EAAkG;IAA7C,6VAA4B;IAAjF,6DAAkG;IAClG,wEAA0B;IAAA,qFAAI;IAAA,6DAAI;IACtC,6DAAM;IAEN,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,gYAAkC,0RAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,mWAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,uXAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,oWAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAEhC,2DAAgC;IAAhC,iGAAgC;IAM/B,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADtH1F,MAAM,oCAAoC;IA0B/C,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC,EACxC,YAA0B,EAC1B,QAAkB;QANlB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,aAAQ,GAAR,QAAQ,CAAU;QA7B5B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAc,EAAE,CAAC;QACvB,cAAS,GAAU,EAAE,CAAC;QAEtB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAuFF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAmBZ,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IApIZ,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3C,IAAI,CAAC,SAAS,GAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;qBACvC,SAAS,CAAC,MAAM,CAAC,EAAE;oBAClB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;oBACpB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAE,EAAC,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAEhE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;wBACjD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACzB;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE;wBACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;4BAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;gCAC7D,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gCACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;6BACzB;wBACH,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iDAAiD,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;gBAChK,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,EAAE,EAAE,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QACjL,CAAC,CAAC;IACJ,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IASH,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC/C,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACtD,OAAO;aACR;iBACI;gBACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,gCAAgC,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC3D,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnC,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;qBACvD,SAAS,CAAC,MAAM,CAAC,EAAE;oBAClB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8GAAmD,CAC7F,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;wBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpE,CAAC,CAAC,CACH,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAChE,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,oEAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,GAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAE,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,UAAU;cACb,aAAa;cACb,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAChE,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC9F;aACI;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;;wHAlQU,oCAAoC;mIAApC,oCAAoC;QCvBjD,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,qFAAK;QAAA,6DAAI;QACtB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAA0B;QAAA,oFAAI;QAAA,6DAAI;QAClC,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,yEAAqC;QAAA,qFAAI;QAAA,6DAAI;QAC7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,4EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QAEjG,6DAAM;QAEN,sJAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,6JAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAA4H;QAA5F,sOAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC9F,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,0EAAgF;;QAAA,yEAAE;QAAA,6DAAI;QACtF,4EAA0H;QAA1F,oOAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,sIA4BM;QAEN,oIAIM;QACV,6DAAQ;QAER,sJAA4D;QAE5D,4EAAoG;QAChG,+EAA0D;QAA3B,8JAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,8JAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,mOAgCc;;;QAnIgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAI5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAG7C,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAUhG,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QASpE,4DAAmC;QAAnC,sKAAmC;QAAC,wFAA8B;QAEvB,2DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QA8B9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjGb;AAOkC;;;;;;;;;;;;;;;;;;ICYhE,oEAA4D;;;;;;IAyCxD,2EAA6D;IACzD,2EAA2F;IACvF,6EAA6H;IAAtG,iQAA8B;IAArD,6DAA6H;IACjI,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,2EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACrH,6DAAM;IACV,6DAAM;;;IA1ByB,2DAA8B;IAA9B,yFAA8B;IAGlD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAIxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;IAWpE,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,6EAAkG;IAA7C,mWAA4B;IAAjF,6DAAkG;IAClG,wEAA0B;IAAA,qFAAI;IAAA,6DAAI;IACtC,6DAAM;IAEN,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,sYAAkC,gSAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,yWAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,6XAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,0WAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAEhC,2DAAgC;IAAhC,iGAAgC;IAM/B,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADrH1F,MAAM,0CAA0C;IAyBrD,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC,EACxC,YAA0B,EAC1B,QAAkB;QANlB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,aAAQ,GAAR,QAAQ,CAAU;QA5B5B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAsB,EAAE,CAAC;QACjC,WAAM,GAAsB,EAAE,CAAC;QAE/B,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAsDF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAmBd,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAnGV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;YAEtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,sFAAe,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAEhE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;wBACjD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACzB;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAwB;QAC3C,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iDAAiD,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAClK,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IASD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAChE,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,sFAAe,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,UAAU;cACb,aAAa;cACb,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC3D;aACI;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;;oIA5MU,0CAA0C;yIAA1C,0CAA0C;QCxBvD,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,qFAAK;QAAA,6DAAI;QACtB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAA0B;QAAA,oFAAI;QAAA,6DAAI;QAClC,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,yEAAqC;QAAA,qFAAI;QAAA,6DAAI;QAC7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,4EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QAEjG,6DAAM;QAEN,4JAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,mKAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA4H;QAA5F,4OAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACnB,4EAA0H;QAA1F,0OAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,4IA4BM;QAEN,0IAIM;QACV,6DAAQ;QAER,4JAA4D;QAE5D,4EAAoG;QAChG,+EAA0D;QAA3B,oKAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,oKAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,yOAgCc;;;QAnIgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAI5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAqBrD,4DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QA8B9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;ACnGI;;;;;;;;;ICAvD,uEAAuI;IAA1E,iUAAkC;IAAwC,uEAAE;IAAA,4DAAI;;;IAA7G,6JAA4B;;;IAC5D,yEAA2F;IACvF,wEAAyF;IAAA,mFAAI;IAAA,4DAAI;IACjG,wEAAuF;IAAA,mFAAI;IAAA,4DAAI;IACnG,4DAAM;;;IAHgB,uGAAuC;;;IASzD,wEAA4H;IAAA,+FAAM;IAAA,4DAAI;;;IAkBtI,wEAAsH;IAAA,mFAAI;IAAA,4DAAI;;;;IAQlI,uEAA0I;IAA5E,wUAAoC;IAAwC,mFAAI;IAAA,4DAAI;;;IAAlH,8JAA6B;;;IAC7D,yEAA4F;IACxF,wEAAyF;IAAA,mFAAI;IAAA,4DAAI;IACjG,wEAAgG;IAAA,mFAAI;IAAA,4DAAI;IAC5G,4DAAM;;;IAHgB,wGAAwC;;;;IAK9D,uEAAuI;IAA1E,sUAAkC;IAAwC,6EAAG;IAAA,4DAAI;;;IAA9G,6JAA4B;;;IAC5D,yEAA2F;IACvF,wEAAwF;IAAA,mFAAI;IAAA,4DAAI;IAChG,wEAAsF;IAAA,mFAAI;IAAA,4DAAI;IAC9F,wEAAqF;IAAA,mFAAI;IAAA,4DAAI;IAC7F,wEAAyF;IAAA,mFAAI;IAAA,4DAAI;IACjG,wEAAuF;IAAA,oFAAI;IAAA,4DAAI;IACnG,4DAAM;;;IANgB,uGAAuC;;;;ADlC1D,MAAM,gBAAgB;IAe3B,YACU,qBAA4C,EAC5C,MAAc;QADd,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAQ;QAfxB,SAAI,GAAkB,OAAO,CAAC;QAC9B,WAAM,GAAY,IAAI,CAAC;QACvB,SAAI,GAAG;YACL,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK;SACb,CAAC;IAKE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;;gFAtBU,gBAAgB;8GAAhB,gBAAgB;QCX7B,yEAAiD;QAC7C,uEAAmF;QAAA,uEAAE;QAAA,4DAAI;QACzF,wGAA6I;QAC7I,4GAGM;QACN,uEAAuG;QAA3C,qKAAgC;QAAW,uEAAE;QAAA,4DAAI;QAC7G,yEAA6D;QACzD,uEAAwF;QAAA,mFAAI;QAAA,4DAAI;QAChG,wEAAsF;QAAA,oFAAI;QAAA,4DAAI;QAC9F,wEAAgG;QAAA,0FAAK;QAAA,4DAAI;QACzG,0GAAsI;QAC1I,4DAAM;QACN,wEAAmH;QAAnD,8KAAwC;QAAW,wEAAE;QAAA,4DAAI;QACzH,0EAAiE;QAC7D,yEAAoG;QAAA,oFAAI;QAAA,4DAAI;QAC5G,yEAAkG;QAAA,oFAAI;QAAA,4DAAI;QAC1G,yEAA0F;QAAA,oFAAI;QAAA,4DAAI;QAClG,yEAAgG;QAAA,oFAAI;QAAA,4DAAI;QAC5G,4DAAM;QACN,wEAA+H;QAA3D,sLAAgD;QAAW,wEAAE;QAAA,4DAAI;QACrI,0EAAqE;QACjE,yEAAgG;QAAA,oFAAI;QAAA,4DAAI;QACxG,yEAA8F;QAAA,oFAAI;QAAA,4DAAI;QAC1G,4DAAM;QACN,wEAA6G;QAA/C,0KAAoC;QAAW,oFAAI;QAAA,4DAAI;QACrH,0EAA+D;QAC3D,yEAA0F;QAAA,oFAAI;QAAA,4DAAI;QAClG,yEAAwF;QAAA,oFAAI;QAAA,4DAAI;QAChG,2GAA8H;QAClI,4DAAM;QACN,wEAAmH;QAAnD,8KAAwC;QAAW,8EAAG;QAAA,4DAAI;QAC1H,0EAAiE;QAC7D,yEAAwF;QAAA,oFAAI;QAAA,4DAAI;QAChG,yEAA0F;QAAA,oFAAI;QAAA,4DAAI;QAClG,yEAA4F;QAAA,oFAAI;QAAA,4DAAI;QACxG,4DAAM;QACN,0GAAkJ;QAClJ,8GAGM;QACN,yEAA2F;QAAA,oFAAI;QAAA,4DAAI;QACnG,0GAA8I;QAC9I,+GAMM;QACV,4DAAM;QACN,yEAAgF;QAA3B,gKAA0B;QAAC,6DAAC;QAAA,4DAAI;;QArD/D,uJAA0B;QAEqD,0DAA0B;QAA1B,0FAA0B;QAC5D,0DAA0B;QAA1B,0FAA0B;QAIzD,0DAA2B;QAA3B,0JAA2B;QACrC,0DAAsC;QAAtC,mGAAsC;QAI8B,0DAA0B;QAA1B,0FAA0B;QAEpF,0DAA+B;QAA/B,8JAA+B;QACzC,0DAA0C;QAA1C,uGAA0C;QAMhC,0DAAmC;QAAnC,kKAAmC;QAC7C,0DAA8C;QAA9C,2GAA8C;QAIpC,0DAA6B;QAA7B,4JAA6B;QACvC,0DAAwC;QAAxC,qGAAwC;QAGsB,0DAA0B;QAA1B,0FAA0B;QAE9E,0DAA+B;QAA/B,8JAA+B;QACzC,0DAA0C;QAA1C,uGAA0C;QAKoC,0DAA0B;QAA1B,0FAA0B;QAC9D,0DAA0B;QAA1B,0FAA0B;QAKO,0DAA0B;QAA1B,0FAA0B;QAC5D,0DAA0B;QAA1B,0FAA0B;QAQpE,0DAA2B;QAA3B,wJAA2B;y6LD5CtC,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AELR;AACyB;;;;;;;;;;;;ICDjD,wEAA6G;IAA3D,qSAAiB,IAAI,KAAE;IAAoC,8DAAG;IAAA,4DAAI;;;;IACpH,wEAA6G;IAAnE,qSAAiB,YAAY,KAAE;IAAoC,uEAAE;IAAA,4DAAI;;;IAE/G,wEAAkE;IAAA,uDAAyB;IAAA,4DAAI;;;IAA7B,0DAAyB;IAAzB,2FAAyB;;;IAWnF,0EAAqE;IACjE,oEAAG;IAAA,uDAAwD;IAAA,4DAAI;IAC/D,wEAAgB;IAAA,uDAAuD;IAAA,4DAAI;IAC3E,wEAAiD;IAAA,uDAAuD;;IAAA,4DAAI;IAChH,4DAAM;;;IAHC,0DAAwD;IAAxD,sHAAwD;IAC3C,0DAAuD;IAAvD,qHAAuD;IACtB,0DAAuD;IAAvD,+KAAuD;;;ADHzH,MAAM,eAAe;IAO1B,YACU,cAA8B,EAC9B,gBAAkC,EAClC,mBAAwC,EACxC,QAAqB,EACrB,eAAgC,EAChC,MAAc,EACd,qBAA4C;QAN5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,aAAQ,GAAR,QAAQ,CAAa;QACrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;QAZtD,YAAO,GAAW,2EAAkB,CAAC;QACrC,YAAO,GAAmB,IAAI,CAAC;QAC/B,kBAAa,GAAmB,EAAE,CAAC;QACnC,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;IAU7C,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACvB,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;YAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,KAAK;QAEH,8CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAC3C,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE;SAC3D,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI;QACR,QAAQ,CAAC,aAAqB,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;;8EAvDU,eAAe;6GAAf,eAAe;QClB5B,yEAAqB;QACjB,uEAAyC;QAAA,iGAAa;QAAA,4DAAI;QAC1D,uEAAuC;QAAA,uDAAa;QAAA,4DAAI;QACxD,yEAAgD;QAC5C,uGAAoH;QACpH,uGAAmH;QACnH,yEAAmC;QAC/B,uGAA+F;QAC/F,wEAAgC;QAAA,uEAAW;QAAA,4DAAI;QAC/C,0EAA8D;QAAnC,2IAAS,wBAAwB,IAAC;QACzD,wEAAuH;QAAA,gGAAM;QAAA,4DAAI;QACjI,yEAAsE;QAApB,mIAAS,aAAS,IAAC;QAAC,wEAAE;QAAA,4DAAI;QAChF,4DAAM;QACV,4DAAM;QACN,2EAA8E;QAC1E,yEAA2F;QAAA,gFAAoB;QAAA,4DAAI;QACnH,2EAAiE;QAAnC,2IAAS,wBAAwB,IAAC;QAC5D,2EAA+B;QAC3B,8GAIM;QACV,4DAAM;QACN,8EAAyF;QAA3B,wIAAS,UAAM,IAAC;QAAW,wEAAE;QAAA,4DAAS;QACxG,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;QA1BqC,0DAAa;QAAb,4EAAa;QAE1B,0DAA0B;QAA1B,0FAA0B;QAC1B,0DAAkB;QAAlB,kFAAkB;QAEd,0DAAa;QAAb,6EAAa;QAGoC,0DAAyC;QAAzC,6IAAyC;QAQrD,0DAAgB;QAAhB,sFAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBxC;AAC8B;AACtB;AACW;AACQ;AACA;AACD;AACG;AACtB;AACF;AACe;AACH;;;;AAEhE,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sFAAkB,EAAE;IAChD;QACE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,mFAAiB,EAAE,WAAW,EAAE,CAAC,oFAAmB,CAAC,EAAE,QAAQ,EAAE;YACxF,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,yHAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,6EAAe,CAAC,EAAE;YAC7I,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,oHAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACrG,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,qIAA6C,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;YACrI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,uHAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YACzG,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,4HAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;YACrH,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,yHAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YAC7G,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2HAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;YACrH,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,uHAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,6EAAe,CAAC,EAAE;YACzI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,+HAAuC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YACzH,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,6HAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;YACrH,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;YACvD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;SACvC;KACF;IACD,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE;IACpD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE;CACpC,CAAC;AAcK,MAAM,UAAU;;oEAAV,UAAU;uGAAV,UAAU;2GAVZ;YACP,yDAAY;YACZ,kEAAqB,CAAC,MAAM,CAAC;YAC7B,wDAAW;YACX,gEAAmB;YACnB,0EAAwB,EAAE;YAC1B,4DAAW;YACX,2EAAiB;SAClB;mIAEU,UAAU,mBAXN,sFAAkB,EAAE,mFAAiB,EAAE,kFAAe,EAAE,qFAAgB,aAErF,yDAAY,6DAEZ,wDAAW;QACX,gEAAmB,qEAEnB,4DAAW;QACX,2EAAiB;;;;;;;;;;;;;;;;;;;;;;;;;AC5CgE;AAG3C;;;;;;;;;;;ICFlC,wEAA6G;IAA3D,wSAAiB,IAAI,KAAE;IAAoC,8DAAG;IAAA,4DAAI;;;;IACpH,wEAA6G;IAAnE,wSAAiB,YAAY,KAAE;IAAoC,uEAAE;IAAA,4DAAI;;;IAU/G,wEAA+E;IAAA,+FAAM;IAAA,4DAAI;;;IAD7F,wEAA0D;IACtD,2HAAyF;IAC7F,qEAAe;;;IAD0B,0DAA8B;IAA9B,iGAA8B;;;IAQnE,wEAA+E;IAAA,+FAAM;IAAA,4DAAI;;;IACzF,wEAA4E;IAAA,qGAAO;IAAA,4DAAI;;;IAF3F,wEAA0D;IACtD,2HAAyF;IACzF,2HAAuF;IAC3F,qEAAe;;;IAF0B,0DAA8B;IAA9B,iGAA8B;IAC9B,0DAA2B;IAA3B,8FAA2B;;ADRrE,MAAM,kBAAkB;IAQ7B,YACU,WAAkC,EAClC,cAA8B,EAC9B,eAAgC,EAChC,MAAc,EACd,gBAAkC;QAJlC,gBAAW,GAAX,WAAW,CAAuB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAX5C,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC1C,SAAI,GAAc,IAAI,qDAAS,CAAC;YACrC,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACvD,CAAC,CAAC;IAQC,CAAC;IAEL,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACzC,OAAO;SACR;QACD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACvB,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACtB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YAC9C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YAC9C,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;SAC7C,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACpD,KAAK,EAAE,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;;oFA1DU,kBAAkB;gHAAlB,kBAAkB;QCd/B,0EAA0C;QACtC,yEAAyD;QACrD,0GAAoH;QACpH,0GAAmH;QACvH,4DAAM;QAEN,uEAAiC;QAAA,iGAAa;QAAA,4DAAI;QAClD,uEAAyC;QAAA,qMAAuB;QAAA,4DAAI;QAEpE,yEAA2D;QACvD,uEAA2C;QAAA,gEAAI;QAAA,4DAAI;QACnD,uEAAyG;;QACzG,kIAEe;QACnB,4DAAM;QAEN,0EAAyD;QACrD,wEAA2C;QAAA,gEAAI;QAAA,4DAAI;QACnD,wEAA6G;;QAC7G,kIAGe;QACnB,4DAAM;QAEN,8EAAsG;QAA7B,2IAAS,YAAQ,IAAC;QAAW,yEAAG;QAAA,4DAAS;QAElH,2EAAyE;QACrE,yEAAoC;QAAA,wEAAE;QAAA,4DAAI;QAC1C,yEAAiE;QAAA,wEAAE;QAAA,4DAAI;QACvE,yEAAiE;QAAA,wEAAE;QAAA,4DAAI;QAC3E,4DAAM;QACN,yEAAiD;QAAA,0GAAqB;QAAA,4DAAI;QAC9E,4DAAO;;QAlCgB,+EAAkB;QAEX,0DAA0B;QAA1B,0FAA0B;QAC1B,0DAAkB;QAAlB,kFAAkB;QAQ0B,0DAAsC;QAAtC,gLAAsC;QACzF,0DAAyC;QAAzC,6GAAyC;QAOc,0DAAsC;QAAtC,gLAAsC;QAC7F,0DAAyC;QAAzC,6GAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbzD,MAAM,iBAAiB;IAE5B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;kFALU,iBAAiB;+GAAjB,iBAAiB;QCP9B,yEAA0D;QACtD,yEAA2B;QAC3B,yEAA4B;QACxB,6EAAyE;QACzE,yEAA8B;QAE1B,2EAA+B;QAE/B,yEAA6D;QAMzD,uEAA6D;QAAA,yGAAqB;QAAA,4DAAI;QACtF,yEAAoE;QAAA,0EAAyD;QAAA,8EAAkB;QAAA,4DAAM;QAAA,4DAAM;QAC/J,4DAAM;QAEV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,+EAAqC;QAErC,sFAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBT;AACoB;;;;;;;;;;ICH9D,mEAA4D;;;IA2DhD,0EAAwF;IACpF,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IACN,0EAAuF;IACnF,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAuE;IACnE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAqE;IACjE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA2H;IACvH,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IACN,0EAAoD;IAChD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;;;IArCd,0EAAyD;IACrD,yEAA2F;IACvF,4EAAiF;IAA1D,uOAA4B;IAAnD,4DAAiF;IACrF,4DAAM;IACN,yEAAuE;IACnE,oEAAG;IAAA,uDAAc;IAAA,4DAAI;IACzB,4DAAM;IACN,yEAAuE;IACnE,wEAAiJ;;;IAAA,wDAAyG;;;IAAA,4DAAI;IAClQ,4DAAM;IACN,0EAAuE;IACnE,yEAAkE;IAAA,wDAA0B;IAAA,4DAAI;IACpG,4DAAM;IACN,2EAAwE;IACpE,yEAA6D;IAAA,wDAAqB;IAAA,4DAAI;IAC1F,4DAAM;IACN,0EAAuE;IACnE,qEAAG;IAAA,wDAAgC;;IAAA,4DAAI;IAC3C,4DAAM;IACN,2EAAuE;IACnE,2HAEM;IACN,2HAEM;IACN,2HAEM;IACN,2HAEM;IACN,2HAEM;IACN,2HAEM;IACN,gEAAO;IACX,4DAAM;IACN,2EAAsE;IAClE,yEAA8G;IAAA,wEAAE;IAAA,4DAAI;IACpH,yEAAkF;IAAtC,8XAA2B;IAAW,oFAAI;IAAA,4DAAI;IAC1F,yEAAwF;IAA5C,oYAAiC;IAAW,wEAAE;IAAA,4DAAI;IAClG,4DAAM;IACV,4DAAM;;;IA3CyB,0DAA4B;IAA5B,sFAA4B;IAGhD,0DAAc;IAAd,4EAAc;IAGd,0DAAkH;IAAlH,2TAAkH;IAA4B,0DAAyG;IAAzG,2SAAyG;IAGvP,0DAAmC;IAAnC,+FAAmC;IAA4B,0DAA0B;IAA1B,wFAA0B;IAGzF,0DAA8B;IAA9B,0FAA8B;IAA4B,0DAAqB;IAArB,mFAAqB;IAG/E,0DAAgC;IAAhC,qJAAgC;IAGH,0DAAsD;IAAtD,wHAAsD;IAGtD,0DAAqD;IAArD,uHAAqD;IAGtD,0DAAsC;IAAtC,qGAAsC;IAGtC,0DAAoC;IAApC,mGAAoC;IAGrC,0DAA2F;IAA3F,gKAA2F;IAG/F,0DAAwB;IAAxB,uFAAwB;IAMX,0DAA4D;IAA5D,6JAA4D;;;IAM3G,0EAAuD;IACnD,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;;;IAKN,0EAAgD;IAC5C,qEAA0B;IAE1B,0EAA2D;IACvD,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,wEAAqB;IAAA,uDAAW;IAAA,4DAAI;IACpC,uEAAa;IAAA,iEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,0EAA6B;IACzB,8EAAuG;IAA5E,8WAAkC,yQAA0B,CAAC,iCAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAA6I;IAAvD,iVAAuC,CAAC,iCAAc;IAAC,wEAAY;IAAA,4DAAI;IAC7J,6EAA2F;IAAnD,qWAA0B;IAAlE,4DAA2F;IAC3F,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAiJ;IAAvD,kVAAuC,CAAC,iCAAc;IAAC,yEAAa;IAAA,4DAAI;IACtK,4DAAM;;;IAnBuB,0DAAW;IAAX,6EAAW;IAKL,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;ADtG1F,MAAM,qBAAqB;IAuBhC,YACU,YAA0B,EAC1B,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,mBAAwC;QAJxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QAzBlD,WAAM,GAAoB,EAAE,CAAC;QAC7B,WAAM,GAAoB,EAAE,CAAC;QAC7B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,EAAE;YACd,qBAAqB,EAAE,EAAE;YACzB,OAAO,EAAE,EAAE;SACZ;QAiCD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,UAAuB,EAAE,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qCAAgC,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAtDV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aAC/C,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;oBACjD,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAiCD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACvI,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,IAAI,CAAC,CAAC,QAAQ;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAEpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,eAAe;QACb,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,+FAAoC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1K,CAAC;IAED,UAAU,CAAC,KAAoB;QAC7B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;aACzC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC/F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAK,CAAC,KAAK,0CAAE,IAAI,CAAC,CAAC;gBAC/E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACxF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACxD,CAAC;SACF,CAAC;IACN,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;cACnE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACzF,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAGD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC5D,CAAC;;0FArKU,qBAAqB;mHAArB,qBAAqB;QChBlC,mIAA4D;QAG5D,yEAAkC;QAC9B,yEAAmC;QAC/B,yEAA2F;QACvF,2EAAuE;QAAtB,4IAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,yEAAuE;QACnE,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAA8G;QAA9E,uMAAgE,IAAI,SAAC,WAAO,IAAC;QACzG,uEAA2F;QAAA,yEAAa;QAAA,4DAAI;QAC5G,wEAA0F;QAAA,2EAAe;QAAA,4DAAI;QACjH,4DAAM;QACV,4DAAM;QACN,0EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,0EAAgH;QAAhF,0MAAkE,IAAI,SAAC,WAAO,IAAC;QAC3G,wEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,wEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,0EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,gGAAM;QAAA,4DAAI;QAC3B,4DAAM;QACN,0EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,sHA6CM;QAEN,oHAIM;QACV,4DAAM;QAGN,kNA0Bc;;;QAxHC,iFAA4B;QAMR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAgD;QAAhD,gKAAgD;QAChD,0DAA+C;QAA/C,gKAA+C;QAM/C,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAoBzD,2DAAS;QAAT,+EAAS;QA+C1B,0DAAwB;QAAxB,wFAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFf;AACoB;AAGH;;;;;;;;;;ICN3D,mEAA4D;;;IAwD5C,qEAAkE;;;IAWtE,0EAA2E;IACvE,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IACN,0EAAwE;IACpE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA0E;IACtE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA0E;IACtE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA2E;IACvE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAA8D;IAC1D,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IACN,0EAA2D;IACvD,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IACN,0EAAyD;IACrD,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IAIN,oEAA0C;IAAA,4DAAC;IAAA,4DAAI;;;IAI/C,wEAAyE;IAAA,uDAA6C;IAAA,4DAAI;;;IAAjD,0DAA6C;IAA7C,2GAA6C;;;IACtH,oEAA+C;IAAA,uDAA4C;IAAA,4DAAI;;;IAAhD,0DAA4C;IAA5C,oHAA4C;;;;;;;;IAxDnG,0EAA6D;IACzD,yEAA2F;IACvF,4EAAuF;IAAhE,6OAA8B;IAArD,4DAAuF;IAC3F,4DAAM;IACN,yEAAuE;IACnE,oEAAG;IAAA,uDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,yEAAuE;IACnE,wEAA+F;IAAA,uDAAmC;IAAA,4DAAI;IAC1I,4DAAM;IACN,yEAAqE;IACjE,2EAA4E;IACxE,yEAAkB;IAAA,wDAA6B;IAAA,4DAAI;IACnD,6HAAkE;IACtE,4DAAM;IACN,gEAAO;IACX,4DAAM;IACN,0EAAuE;IACnE,yEAAkE;IAAA,wDAA0B;IAAA,4DAAI;IACpG,4DAAM;IACN,0EAAuE;IACnE,qEAAG;IAAA,wDAA4C;;IAAA,4DAAI;IACvD,4DAAM;IACN,2EAAuE;IACnE,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,6HAEM;IACN,gEAAO;IACX,4DAAM;IACN,2EAAsE;IAClE,yHAA+C;IAC/C,yEAAoE;IAAA,wDAA6C;;IAAA,4DAAI;IACzH,4DAAM;IACN,2EAAsI;IAClI,yHAA0H;IAC1H,yHAA+F;IAC/F,gEAAO;IACX,4DAAM;IACN,2EAA0G;IACtG,yEAAkH;IAAA,wEAAE;IAAA,4DAAI;IACxH,yEAA4F;IAAhD,4YAAqC;IAAW,wEAAE;IAAA,4DAAI;IAClG,yEAAqG;IAA3C,8NAA0C;IAAC,sEAAU;IAAA,4DAAI;IACnH,2EAAyE;IACrE,yEAAkM;IAAA,oFAAI;IAAA,4DAAI;IAC1M,yEAAkF;IAAxC,oYAA6B;IAAW,oFAAI;IAAA,4DAAI;IAC9F,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAlEyB,0DAA8B;IAA9B,wFAA8B;IAGlD,0DAAgB;IAAhB,8EAAgB;IAGa,0DAA8D;IAA9D,yKAA8D;IAAC,0DAAmC;IAAnC,iGAAmC;IAI5G,0DAA6B;IAA7B,2FAA6B;IACb,0DAA8B;IAA9B,6FAA8B;IAKjE,0DAAmC;IAAnC,+FAAmC;IAA4B,0DAA0B;IAA1B,wFAA0B;IAGzF,0DAA4C;IAA5C,sKAA4C;IAGd,0DAAwC;IAAxC,uGAAwC;IAGzC,0DAAsC;IAAtC,qGAAsC;IAGtC,0DAAwC;IAAxC,uGAAwC;IAGzC,0DAAyC;IAAzC,wGAAyC;IAGzC,0DAA0C;IAA1C,yGAA0C;IAG3C,0DAA8B;IAA9B,6FAA8B;IAG9B,0DAA2B;IAA3B,0FAA2B;IAG3B,0DAAyB;IAAzB,wFAAyB;IAMnD,0DAAoC;IAApC,mGAAoC;IACrC,0DAAqC;IAArC,iGAAqC;IAA4B,0DAA6C;IAA7C,sKAA6C;IAExF,0DAAqC;IAArC,iGAAqC;IAC1D,0DAAyC;IAAzC,wGAAyC;IACzC,0DAAyC;IAAzC,wGAAyC;IAIN,0DAAgE;IAAhE,+JAAgE;IAG1E,0DAA2C;IAA3C,uGAA2C;IAC/B,0DAAqF;IAArF,+JAAqF;;;IAMtI,0EAAyD;IACrD,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;;IAIN,0EAAgD;IAC5C,qEAA0B;IAE1B,0EAA2D;IACvD,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,wEAAqB;IAAA,uDAAW;IAAA,4DAAI;IACpC,uEAAa;IAAA,iEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,0EAA6B;IACzB,8EAAuG;IAA5E,gXAAkC,2QAA0B,CAAC,iCAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAA6I;IAAvD,mVAAuC,CAAC,iCAAc;IAAC,wEAAY;IAAA,4DAAI;IAC7J,6EAA2F;IAAnD,uWAA0B;IAAlE,4DAA2F;IAC3F,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAiJ;IAAvD,oVAAuC,CAAC,iCAAc;IAAC,yEAAa;IAAA,4DAAI;IACtK,4DAAM;;;IAnBuB,0DAAW;IAAX,6EAAW;IAKL,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;AD/H1F,MAAM,uBAAuB;IAuBlC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC;QAJxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QA1BlD,aAAQ,GAAsB,EAAE,CAAC;QACjC,WAAM,GAAsB,EAAE,CAAC;QAC/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB;QAiCD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,QAAkB,EAAE,MAAe,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAxDV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACnD,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;oBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAmCD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACzI,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,CAAC;IAED,iBAAiB;QACf,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxJ,CAAC;IAED,YAAY,CAAC,OAAwB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU,CAAC,OAAwB;QACjC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;aAC/C,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACnG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;;8FArKU,uBAAuB;qHAAvB,uBAAuB;QCjBpC,qIAA4D;QAE5D,yEAAkC;QAC9B,yEAAmC;QAC/B,yEAA2F;QACvF,2EAAuE;QAAtB,8IAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,yEAAuE;QACnE,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAA8G;QAA9E,yMAAgE,IAAI,SAAC,WAAO,IAAC;QACzG,uEAA2F;QAAA,yEAAa;QAAA,4DAAI;QAC5G,wEAA0F;QAAA,2EAAe;QAAA,4DAAI;QACjH,4DAAM;QACV,4DAAM;QACN,0EAAuE;QACnE,wEAAa;QAAA,8EAAG;QAAA,4DAAI;QACxB,4DAAM;QACN,0EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,0EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,0EAAgH;QAAhF,4MAAkE,IAAI,SAAC,WAAO,IAAC;QAC3G,wEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,wEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QACN,wHAoEM;QAEN,sHAIM;QACV,4DAAM;QAEN,oNA0Bc;;;QAlJC,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAgD;QAAhD,gKAAgD;QAChD,0DAA+C;QAA/C,gKAA+C;QAe/C,2DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAgBvD,2DAAW;QAAX,iFAAW;QAsE9B,0DAA0B;QAA1B,0FAA0B;s0EDlG7C,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEdO;AACuC;AAC/B;AACW;AACZ;AACU;AACP;AAC8C;AACN;AACN;AACvC;;;;AAEpD,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,gHAA0B,EAAE;IACzD;QACE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,+FAAqB,EAAE,QAAQ,EAAE;YACpD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,0GAAuB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE;YAC5F,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oGAAqB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;YACtF,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;YACtD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;SACtC;KACF;IACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;CACtC;AAoBM,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAXhB;YACP,yDAAY;YACZ,uDAAW;YACX,+DAAmB;YACnB,yEAAwB,EAAE;YAC1B,mEAAqB,CAAC,MAAM,CAAC;YAC7B,wEAAe;YACf,oEAAc;YACd,4DAAW;SACZ;mIAEU,cAAc,mBAhBvB,+FAAqB;QACrB,gHAA0B;QAC1B,0GAAuB;QACvB,oGAAqB,aAGrB,yDAAY;QACZ,uDAAW;QACX,+DAAmB,gIAGnB,wEAAe;QACf,oEAAc;QACd,4DAAW;;;;;;;;;;;;;;;;;;;;;;;;;;ACxC8B;AAEc;;;;;;;;;;;;AASpD,MAAM,qBAAqB;IAOhC,YACU,cAA8B,EAC9B,MAAc;QADd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QAPxB,SAAI,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,2BAAsB,GAAW,CAAC,CAAC;QAEnC,QAAG,GAAW,SAAS,CAAC;IAKpB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,sBAAsB,EAAE;gBAC7C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;aACpB;iBACI;gBACH,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,oCAAoC,CAAC;aAClE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC;;0FAhCU,qBAAqB;mHAArB,qBAAqB;QCZlC,yEAAuC;QACnC,yEAAqC;QACjC,uEAA+B;QAAA,uEAAE;QAAA,4DAAI;QACzC,4DAAM;QAEN,uEAA4C;QAAA,uEAAE;QAAA,4DAAI;QAGlD,yEAAkC;QAC9B,4EAA6G;QACzG,uEAAqC;QAAA,wEAAa;QAAA,4DAAI;QACtD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,6EAAuE;QACnE,wEAAqC;QAAA,sEAAU;QAAA,4DAAI;QACnD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,6EAAyF;QACrF,wEAAqC;QAAA,iEAAK;QAAA,4DAAI;QAC9C,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,6EAAuF;QACnF,wEAAqC;QAAA,oEAAQ;QAAA,4DAAI;QACjD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACb,4DAAM;QAEN,2EAA2D;QACvD,2EAA8B;QAC1B,yEAAmH;QAApC,mJAAe,SAAS,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,yEAA+G;QAAlC,mJAAe,OAAO,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,4DAAM;QACN,2EAA4B;QACxB,2EAAgE;QAC5D,sFAAgD;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,2EAA6B;QACzB,2EAAuC;QACnC,uFAA2D;QAC/D,4DAAM;QACN,2EAAuC;QACnC,2FAAgF;QACpF,4DAAM;QACN,2EAAuC;QACnC,4FAAkF;QACtF,4DAAM;QACV,4DAAM;QACV,4DAAM;;;QA5CkC,0DAAmC;QAAnC,gGAAmC;QAU3B,2DAAgD;QAAhD,6IAAgD;QAKhD,0DAA8C;QAA9C,8IAA8C;QAYlD,2DAA+B;QAA/B,yFAA+B;QAQzC,0DAAa;QAAb,0EAAa;QAGI,0DAAa;QAAb,0EAAa;QAGZ,0DAAa;QAAb,0EAAa;mxHDxCnD,CAAC,uFAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AERP;AACoB;AAGH;;;;;;;;;;;;;;;ICqC/C,oEAA4D;;;IAwD5C,sEAAkE;;;IAWtE,2EAA2E;IACvE,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAwE;IACpE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA0E;IACtE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA0E;IACtE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA2E;IACvE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA8D;IAC1D,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAA2D;IACvD,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAyD;IACrD,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IAIN,qEAA0C;IAAA,6DAAC;IAAA,6DAAI;;;IAI/C,yEAAyE;IAAA,wDAA6C;IAAA,6DAAI;;;IAAjD,2DAA6C;IAA7C,4GAA6C;;;IACtH,qEAA+C;IAAA,wDAA4C;IAAA,6DAAI;;;IAAhD,2DAA4C;IAA5C,qHAA4C;;;;;;;;IAxDnG,2EAA6D;IACzD,2EAA2F;IACvF,6EAAuF;IAAhE,iPAA8B;IAArD,6DAAuF;IAC3F,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAgB;IAAA,6DAAI;IAC3B,6DAAM;IACN,2EAAuE;IACnE,yEAA+F;IAAA,wDAAmC;IAAA,6DAAI;IAC1I,6DAAM;IACN,2EAAqE;IACjE,4EAA4E;IACxE,0EAAkB;IAAA,yDAA6B;IAAA,6DAAI;IACnD,iIAAkE;IACtE,6DAAM;IACN,iEAAO;IACX,6DAAM;IACN,4EAAuE;IACnE,0EAAkE;IAAA,yDAA0B;IAAA,6DAAI;IACpG,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAA4C;;IAAA,6DAAI;IACvD,6DAAM;IACN,4EAAuE;IACnE,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,iEAAO;IACX,6DAAM;IACN,4EAAsE;IAClE,6HAA+C;IAC/C,0EAAoE;IAAA,yDAA6C;;IAAA,6DAAI;IACzH,6DAAM;IACN,4EAAsI;IAClI,6HAA0H;IAC1H,6HAA+F;IAC/F,iEAAO;IACX,6DAAM;IACN,4EAA0G;IACtG,0EAAkH;IAAA,yEAAE;IAAA,6DAAI;IACxH,0EAA4F;IAAhD,kZAAqC;IAAW,yEAAE;IAAA,6DAAI;IAClG,0EAAqG;IAA3C,kOAA0C;IAAC,uEAAU;IAAA,6DAAI;IACnH,4EAAyE;IACrE,0EAAkM;IAAA,qFAAI;IAAA,6DAAI;IAC1M,0EAAkF;IAAxC,0YAA6B;IAAW,qFAAI;IAAA,6DAAI;IAC9F,6DAAM;IACV,6DAAM;IACV,6DAAM;;;IAlEyB,2DAA8B;IAA9B,yFAA8B;IAGlD,2DAAgB;IAAhB,+EAAgB;IAGa,2DAA8D;IAA9D,2KAA8D;IAAC,2DAAmC;IAAnC,kGAAmC;IAI5G,2DAA6B;IAA7B,4FAA6B;IACb,2DAA8B;IAA9B,8FAA8B;IAKjE,2DAAmC;IAAnC,gGAAmC;IAA4B,2DAA0B;IAA1B,yFAA0B;IAGzF,2DAA4C;IAA5C,wKAA4C;IAGd,2DAAwC;IAAxC,wGAAwC;IAGzC,2DAAsC;IAAtC,sGAAsC;IAGtC,2DAAwC;IAAxC,wGAAwC;IAGzC,2DAAyC;IAAzC,yGAAyC;IAGzC,2DAA0C;IAA1C,0GAA0C;IAG3C,2DAA8B;IAA9B,8FAA8B;IAG9B,2DAA2B;IAA3B,2FAA2B;IAG3B,2DAAyB;IAAzB,yFAAyB;IAMnD,2DAAoC;IAApC,oGAAoC;IACrC,2DAAqC;IAArC,kGAAqC;IAA4B,2DAA6C;IAA7C,wKAA6C;IAExF,2DAAqC;IAArC,kGAAqC;IAC1D,2DAAyC;IAAzC,yGAAyC;IACzC,2DAAyC;IAAzC,yGAAyC;IAIN,2DAAgE;IAAhE,iKAAgE;IAG1E,2DAA2C;IAA3C,wGAA2C;IAC/B,2DAAqF;IAArF,iKAAqF;;;IAMtI,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;;;IAIN,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAAmH;IAAxC,gVAA6B;IAAW,oFAAI;IAAA,6DAAI;IAE3H,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,sXAAkC,gRAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,yVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,6WAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,0VAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;;ADhLtG,MAAM,0BAA0B;IAuBrC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC;QAJxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QA1BlD,aAAQ,GAAsB,EAAE,CAAC;QACjC,WAAM,GAAsB,EAAE,CAAC;QAC/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB;QAiCD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,QAAkB,EAAE,MAAe,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAxDV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACnD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;oBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAmCD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iCAAiC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAClJ,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,CAAC;IAED,iBAAiB;QACf,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxJ,CAAC;IAED,YAAY,CAAC,OAAwB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU,CAAC,OAAwB;QACjC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;aAC/C,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACnG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,gBAAgB,CAAC;IACvB,CAAC;;oGArKU,0BAA0B;yHAA1B,0BAA0B;QCjBvC,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,wEAAE;QAAA,6DAAI;QACnB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,6DAAI;QAE7C,2EAA4B;QACxB,2EAA4B;QAExB,2EAAgD;QAC5C,mFAAqI;QAErI,+EAAqD;QAAlB,oJAAS,WAAO,IAAC;QAChD,0EAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAyF;QACrF,0EAAqC;QAAA,kEAAK;QAAA,6DAAI;QAC9C,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAwC;QACpC,0EAAqC;QAAA,sEAAS;QAAA,6DAAI;QAClD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAwC;QACpC,0EAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QACb,6DAAM;QAEN,4EAAoF;QAChF,sFAAwE;QACxE,sFAAsG;QACtG,iGAAwG;QACxG,6FAAkG;QACtG,6DAAM;QAEN,4IAA4D;QAE5D,4EAAkC;QAC9B,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,mJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA8G;QAA9E,8MAAgE,IAAI,SAAC,WAAO,IAAC;QACzG,0EAA2F;QAAA,0EAAa;QAAA,6DAAI;QAC5G,0EAA0F;QAAA,4EAAe;QAAA,6DAAI;QACjH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,+EAAG;QAAA,6DAAI;QACxB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAAgH;QAAhF,gNAAkE,IAAI,SAAC,WAAO,IAAC;QAC3G,0EAA6F;QAAA,0EAAa;QAAA,6DAAI;QAC9G,0EAA4F;QAAA,4EAAe;QAAA,6DAAI;QACnH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QACN,4HAoEM;QAEN,0HAIM;QACV,6DAAM;QAEN,yNAgCc;QAClB,6DAAM;QACV,6DAAM;QACV,6DAAM;;;QAzL2C,4DAAoC;QAApC,yKAAoC;QAO7B,2DAAgD;QAAhD,gJAAgD;QAiBpE,4DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QACnB,2DAA2B;QAA3B,yFAA2B;QAC/B,2DAA6B;QAA7B,2FAA6B;QAG7C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAgD;QAAhD,mKAAgD;QAChD,2DAA+C;QAA/C,kKAA+C;QAe/C,4DAAkD;QAAlD,qKAAkD;QAClD,2DAAiD;QAAjD,oKAAiD;QAgBvD,4DAAW;QAAX,kFAAW;QAsE9B,2DAA0B;QAA1B,2FAA0B;i8GD7IzD,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEfuC;AAC/C;AAC0B;AACI;;;;;;;;;;;;ICS1D,mEAA4D;;;IAmEhD,wEAA0C;IAAA,iEAAC;IAAA,4DAAI;;;IAC/C,wEAA0C;IAAA,iEAAC;IAAA,4DAAI;;;IAgB/C,oEAAmC;IAAA,uDAAqB;IAAA,4DAAI;;;IAAzB,0DAAqB;IAArB,mFAAqB;;;IACxD,4EAAyI;IAAjC,8KAAS,sBAAsB,IAAC;IAAxI,4DAAyI;;;IAAtE,gGAAoC;;;;IAQvG,wEAA0G;IAA1C,kVAA0B,IAAI,IAAC;IAAW,uEAAE;IAAA,4DAAI;;;;IAChH,wEAAgG;IAAjC,waAAsB;IAAW,uEAAE;IAAA,4DAAI;;;;;IA7C9G,0EAAoE;IAChE,yEAA0D;IACtD,4EAAyF;IAA9B,qPAA6B;IAAxF,4DAAyF;IAC7F,4DAAM;IAEN,0EAAuE;IACnE,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAChC,4DAAM;IAEN,0EAAuE;IACnE,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IACnC,4DAAM;IAEN,0EAAuE;IACnE,qEAAG;IAAA,wDAAuB;IAAA,4DAAI;IAClC,4DAAM;IAEN,2EAAyE;IACrE,mIAA+C;IAC/C,mIAA+C;IACnD,4DAAM;IAEN,2EAAyE;IACrE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IAEN,2EAAyE;IACrE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IAEN,2EAAuE;IACnE,qEAAG;IAAA,wDAAiC;;IAAA,4DAAI;IAC5C,4DAAM;IAEN,2EAA0J;IACtJ,mIAA4D;IAC5D,2IAAyI;IAC7I,4DAAM;IAEN,2EAAuE;IACnE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IAEN,2EAAuE;IACnE,mIAAgH;IAChH,mIAAsG;IACtG,yEAAmF;IAA9C,saAAS,mBAAyB,IAAC;IAAW,wEAAE;IAAA,4DAAI;IACzF,yEAA8E;IAAzC,8YAA8B;IAAW,wEAAE;IAAA,4DAAI;IACxF,4DAAM;IACV,4DAAM;;;IA/CyB,0DAAmC;IAAnC,+FAAmC;IAIvD,0DAAqB;IAArB,mFAAqB;IAIrB,0DAAwB;IAAxB,sFAAwB;IAIxB,0DAAuB;IAAvB,qFAAuB;IAIZ,0DAA0B;IAA1B,yFAA0B;IAC1B,0DAA0B;IAA1B,yFAA0B;IAIrC,0DAAgB;IAAhB,8EAAgB;IAIhB,0DAAkB;IAAlB,gFAAkB;IAIlB,0DAAiC;IAAjC,yJAAiC;IAGiC,0DAAgF;IAAhF,+LAAgF;IACjJ,0DAA6B;IAA7B,4FAA6B;IACzB,0DAAoB;IAApB,mFAAoB;IAIzB,0DAAkB;IAAlB,gFAAkB;IAIY,0DAA6B;IAA7B,4FAA6B;IAC7B,0DAA4B;IAA5B,2FAA4B;;;IAOrE,0EAAiE;IAC7D,0EAA6B;IACzB,wEAAa;IAAA,2GAAQ;IAAA,4DAAI;IAC7B,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;IAgBxD,wEAA0C;IACtC,wEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,wEAAoC;IAAA,uDAAmB;IAAA,4DAAI;IAC3D,wEAAa;IAAA,iEAAC;IAAA,4DAAI;IACtB,qEAAe;;;IAFyB,0DAAmB;IAAnB,sFAAmB;;;IAG3D,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;;;;;;IATrD,0EAAyC;IACrC,wEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAA2B;IAAA,4DAAI;IAChE,wEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,+JAIe;IACf,yIAAiD;IACjD,wEAA0B;IAAA,wDAAgE;;IAAA,4DAAI;IAC9F,6EAAyB;IACrB,6EAAoF;IAAtB,iVAAqB;IAAnF,4DAAoF;IACpF,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAQ;IAER,qEAA0B;IAE1B,2EAA6B;IACzB,8EAA0F;IAA/D,0XAAkC,4RAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAIN,yEAAgI;IAA1C,oWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,iXAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,qWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IAjC+B,0DAA2B;IAA3B,6FAA2B;IAE7C,0DAAyB;IAAzB,4FAAyB;IAKpC,0DAAyB;IAAzB,4FAAyB;IACH,0DAAgE;IAAhE,8TAAgE;IAElD,0DAAyB;IAAzB,yFAAyB;IAOlC,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAMc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;ADtJ1F,MAAM,iCAAiC;IAa5C,YACU,aAA4B,EAC5B,cAA8B,EAC9B,mBAAwC;QAFxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAdxC,YAAO,GAAG,IAAI,uDAAY,EAAO,CAAC;QAEnC,YAAO,GAAa,EAAE,CAAC;QAEhC,YAAO,GAAQ;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;SACZ;QAYD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAdV,CAAC;IAEL,QAAQ;IACR,CAAC;IAaD,OAAO;QACL,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAClD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,8CAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;aACzF,IAAI,CAAC,8DAAc,EAAE,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC;gBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;YACD,KAAK,EAAE,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC;YACrF,CAAC;SACF,CAAC;IACN,CAAC;IAGD,UAAU;QACR,IAAI,IAAI,CAAC,iBAAiB;YACxB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;;YAE1G,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7G,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;;YAEjG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpG,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;YAChC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAE1D,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,MAAM,CAAC,KAAK,GAAG,GAAG;QAClB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAC7C,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,YAAY,CAAC,MAAc;QACzB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,4FAAiC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAE,OAAM,CAAC,WAAW,IAAE,SAAS,CAAC;aAC9D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;eAC9J,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAK,IAAI,CAAC,OAAO,CAAC,OAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;aAChI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/G,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAE,OAAM,CAAC,WAAW,IAAE,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,MAAM;QACJ,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACxB,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YACnB,OAAO;QAET,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;YACzD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAElD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;gBAC7O,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5D;YAED,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrB,MAAM;aACP;YAED,CAAC,EAAE,CAAC;SACL;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAEO,YAAY,CAAC,GAAW;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,CAAC,GAAI,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;;kHApKU,iCAAiC;+HAAjC,iCAAiC;QChB9C,yEAAuB;QAEnB,yEAAqD;QACjD,iFAAkG;QAElG,kFAAkF;QAElF,oEAA0B;QAE1B,4EAA2D;QAA7B,yJAAS,YAAQ,IAAC;QAAW,mFAAI;QAAA,4DAAS;QAC5E,4DAAM;QAEN,+IAA4D;QAE5D,yEAAkC;QAC9B,yEAAmC;QAC/B,0EAA0D;QACtD,6EAA4E;QAAvB,yJAAS,gBAAY,IAAC;QAA3E,4DAA4E;QAChF,4DAAM;QAEN,2EAAuE;QACnE,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAuE;QACnE,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAuE;QACnE,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAyE;QACrE,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAyE;QACrE,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAyE;QACrE,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAuE;QACnE,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAyE;QACrE,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAuE;QACnE,yEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAuE;QACnE,yEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,kIAiDM;QAGN,gIAIM;QACV,4DAAM;QAEN,iJAA4D;QAE5D,2EAA+E;QAC3E,8EAAiF;QAA9B,0JAAS,aAAS,IAAC;QAAW,oFAAI;QAAA,4DAAS;QAC9F,yEAAyC;QAAA,oLAAoB;QAAA,4DAAI;QACjE,yEAAoC;QAAA,8KAAmB;QAAA,4DAAI;QAC/D,4DAAM;QACV,4DAAM;QAEN,yFAAmD;QAEnD,8NAqCc;;;QArKY,0DAA8B;QAA9B,yIAA8B;QAEhB,0DAA6B;QAA7B,0FAA6B;QAOlD,0DAA4B;QAA5B,iFAA4B;QAKR,0DAA6B;QAA7B,0FAA6B;QA4Cb,2DAAmB;QAAnB,yFAAmB;QAoDrC,0DAAkC;QAAlC,kGAAkC;QAOpD,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxHgC;AACrB;AAC1B;AAC8B;;;;;;;;;;;;;;ICY1D,mEAA4D;;;IAqEhD,uEAA0C;IAAA,iEAAC;IAAA,4DAAI;;;IAC/C,uEAA0C;IAAA,iEAAC;IAAA,4DAAI;;;IAoB/C,oEAAmC;IAAA,uDAAqB;IAAA,4DAAI;;;IAAzB,0DAAqB;IAArB,mFAAqB;;;IACxD,4EAAyI;IAAjC,6KAAS,sBAAsB,IAAC;IAAxI,4DAAyI;;;IAAtE,gGAAoC;;;;IAQvG,wEAA0G;IAA1C,iVAA0B,IAAI,IAAC;IAAW,uEAAE;IAAA,4DAAI;;;;IAChH,wEAAwG;IAAzC,+aAA8B;IAAW,uEAAE;IAAA,4DAAI;;;;;;IAjDtH,0EAA2D;IACvD,0EAA0D;IACtD,4EAAqD;IAA9B,oPAA6B;IAApD,4DAAqD;IACzD,4DAAM;IAEN,0EAAuE;IACnE,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAChC,4DAAM;IAEN,0EAAuE;IACnE,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IACnC,4DAAM;IAEN,0EAAuE;IACnE,qEAAG;IAAA,wDAAuB;IAAA,4DAAI;IAClC,4DAAM;IAEN,2EAAyE;IACrE,kIAA+C;IAC/C,kIAA+C;IACnD,4DAAM;IAEN,2EAAyE;IACrE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IAEN,2EAAyE;IACrE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IAEN,2EAAuE;IAKnE,2EAA2H;IAAA,wDAAsB;IAAA,4DAAM;IAC3J,4DAAM;IAEN,2EAA0J;IACtJ,kIAA4D;IAC5D,0IAAyI;IAC7I,4DAAM;IAEN,2EAAuE;IACnE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IAEN,2EAAuE;IACnE,kIAAgH;IAChH,kIAA8G;IAC9G,yEAAmF;IAA9C,qaAAS,mBAAyB,IAAC;IAAW,wEAAE;IAAA,4DAAI;IACzF,yEAA8E;IAAzC,6YAA8B;IAAW,wEAAE;IAAA,4DAAI;IACxF,4DAAM;IACV,4DAAM;;;IAnDyB,0DAA6B;IAA7B,uFAA6B;IAIjD,0DAAqB;IAArB,mFAAqB;IAIrB,0DAAwB;IAAxB,sFAAwB;IAIxB,0DAAuB;IAAvB,qFAAuB;IAIZ,0DAA0B;IAA1B,yFAA0B;IAC1B,0DAA0B;IAA1B,yFAA0B;IAIrC,0DAAgB;IAAhB,8EAAgB;IAIhB,0DAAkB;IAAlB,gFAAkB;IAQsC,0DAAqD;IAArD,gLAAqD;IAAW,0DAAsB;IAAtB,sFAAsB;IAG5E,0DAAgF;IAAhF,+LAAgF;IACjJ,0DAA6B;IAA7B,4FAA6B;IACzB,0DAAoB;IAApB,mFAAoB;IAIzB,0DAAkB;IAAlB,gFAAkB;IAIY,0DAA6B;IAA7B,4FAA6B;IAC7B,0DAA4B;IAA5B,2FAA4B;;;IAMrE,0EAAiE;IAC7D,0EAA6B;IACzB,uEAAa;IAAA,mIAAY;IAAA,4DAAI;IACjC,4DAAM;IACV,4DAAM;;;IAEV,mEAA4D;;;IAqBxD,wEAA0C;IACtC,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,wEAAoC;IAAA,uDAAmB;IAAA,4DAAI;IAC3D,uEAAa;IAAA,iEAAC;IAAA,4DAAI;IACtB,qEAAe;;;IAFyB,0DAAmB;IAAnB,sFAAmB;;;IAG3D,uEAAyC;IAAA,mFAAI;IAAA,4DAAI;;;;;;IATrD,0EAAyC;IACrC,uEAAgB;IAAA,6EAAG;IAAA,4DAAI;IACvB,wEAAiC;IAAA,uDAA2B;IAAA,4DAAI;IAChE,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,8JAIe;IACf,wIAAiD;IACjD,wEAA0B;IAAA,wDAAoE;;IAAA,4DAAI;IAClG,6EAAyB;IACrB,6EAAoF;IAAtB,gVAAqB;IAAnF,4DAAoF;IACpF,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAQ;IAER,qEAA0B;IAE1B,2EAA6B;IACzB,8EAA0F;IAA/D,yXAAkC,2RAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAIN,yEAAgI;IAA1C,mWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,gXAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,oWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IAjC+B,0DAA2B;IAA3B,6FAA2B;IAE7C,0DAAyB;IAAzB,4FAAyB;IAKpC,0DAAyB;IAAzB,4FAAyB;IACH,0DAAoE;IAApE,sVAAoE;IAEtD,0DAAyB;IAAzB,yFAAyB;IAOlC,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAMc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;ADjK1F,MAAM,gCAAgC;IAa3C,YACU,mBAAwC,EACxC,cAA8B,EAC9B,aAA4B,EAC5B,aAA4B;QAH5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAf5B,YAAO,GAAG,IAAI,uDAAY,EAAO,CAAC;QAEnC,YAAO,GAAa,EAAE,CAAC;QAEhC,YAAO,GAAQ;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;SACZ;QA2CD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA5CV,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,4FAAiC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;YAChC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QACD,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;aAC/D,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAAC,CAAC;gBACtF,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC1D,MAAM,CAAC,KAAK,GAAC,GAAG,CAAC;YACnB,CAAC;YACD,KAAK,EAAE,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACrF,CAAC;SACF,CAAC;IACN,CAAC;IAaD,UAAU;QACR,IAAI,IAAI,CAAC,iBAAiB;YACxB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;;YAEhE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IACnE,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAE,EAAC,MAAM,CAAC,WAAW,IAAE,UAAU,IAAE,MAAM,CAAC,WAAW,IAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAE;;YAE1I,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAE,EAAC,MAAM,CAAC,WAAW,IAAE,UAAU,IAAE,MAAM,CAAC,WAAW,IAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC5I,CAAC;IAED,aAAa;QACX,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAE,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;IACjG,CAAC;IAED,gBAAgB;QAEd,IAAI,OAAO,GAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAE,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,+CAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7E,IAAI,CAAC,+DAAc,EAAE,EAAE,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC;gBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC;YACrF,CAAC;SACF,CAAC;IACN,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,OAAO;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;eAC9J,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAK,IAAI,CAAC,OAAO,CAAC,OAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;aAChI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/G,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAE,CAAC,MAAM,CAAC,WAAW,IAAE,UAAU,IAAE,MAAM,CAAC,WAAW,IAAE,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxI,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,CAAC,GAAI,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;;gHAjIU,gCAAgC;8HAAhC,gCAAgC;QCjB7C,yEAAuB;QAEnB,yEAAqD;QACjD,iFAAkG;QAElG,kFAAkF;QAElF,oEAA0B;QAE1B,yEAAsJ;QAClJ,uEAA8C;QAAA,qEAAU;QAAA,4DAAI;QAC5D,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACzB,4DAAM;QACV,4DAAM;QAEN,gJAA4D;QAE5D,0EAAkC;QAC9B,2EAAmC;QAC/B,2EAA0D;QACtD,6EAA4E;QAAvB,wJAAS,gBAAY,IAAC;QAA3E,4DAA4E;QAChF,4DAAM;QAEN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAKN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QACN,iIAqDM;QAEN,+HAIM;QACV,4DAAM;QACN,gJAA4D;QAG5D,2EAA+E;QAC3E,2EAA6B;QACzB,8EAAiG;QAApC,yJAAS,mBAAe,IAAC;QAAW,oFAAI;QAAA,4DAAS;QAC9G,8EAAkG;QAAvC,yJAAS,sBAAkB,IAAC;QAAW,oFAAI;QAAA,4DAAS;QACnH,4DAAM;QACN,yEAAyC;QAAA,gJAAc;QAAA,4DAAI;QAC3D,yEAAoC;QAAA,wKAAkB;QAAA,4DAAI;QAC9D,4DAAM;QACV,4DAAM;QAEN,yFAAmD;QAEnD,6NAsCc;;;QAjLY,0DAA8B;QAA9B,yIAA8B;QAEhB,0DAA6B;QAA7B,0FAA6B;QAIY,0DAA4E;QAA5E,+JAA4E;QAM1I,0DAA4B;QAA5B,iFAA4B;QAKR,0DAA6B;QAA7B,0FAA6B;QA8Cb,2DAAU;QAAV,gFAAU;QAuD5B,0DAAkC;QAAlC,kGAAkC;QAMpD,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HgC;AACtB;AACf;AACoB;;;;;;;;;ICgD1C,oEAAmB;IAAA,uDAAmB;IAAA,4DAAI;;;IAAvB,0DAAmB;IAAnB,qFAAmB;;;IAO1C,mEAAsF;;;IAK1E,4EAAsE;IAClE,4EAAiH;IAA7E,oRAA6B;IAAjE,4DAAiH;IACjH,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC9B,4DAAQ;;;;IAFgC,0DAA6B;IAA7B,wFAA6B;IAC9D,0DAAmB;IAAnB,kFAAmB;;;;IALlC,0EAAkB;IACd,uEAAa;IAAA,uDAAuE;;IAAA,4DAAI;IACxF,0EAA0D;IACtD,8JAGQ;IACZ,4DAAM;IACV,4DAAM;;;;;IAPW,0DAAuE;IAAvE,mQAAuE;IAE/B,0DAAmB;IAAnB,wFAAmB;;;IAWpE,4EAAsE;IAClE,4EAAkE;IAA9B,oRAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC9B,4DAAQ;;;IAFgC,0DAA6B;IAA7B,wFAA6B;IAC9D,0DAAmB;IAAnB,kFAAmB;;;IALlC,0EAAkB;IACd,uEAAa;IAAA,uDAAgF;;IAAA,4DAAI;IACjG,0EAA0D;IACtD,8JAGQ;IACZ,4DAAM;IACV,4DAAM;;;;;IAPW,0DAAgF;IAAhF,yTAAgF;IAExC,0DAAmB;IAAnB,wFAAmB;;;IAjBpF,wEAAmE;IAC/D,8JAAsF;IACtF,wOAUc;IACd,wOAUc;IAClB,qEAAe;;;;;IAvBI,0DAAgC;IAAhC,8FAAgC;;;;IA1D/D,yEAAmC;IAC/B,yEAAoE;IAAnC,0JAAS,wBAAwB,IAAC;IAE/D,yEAA2B;IACvB,uEAAa;IAAA,qJAAe;IAAA,4DAAI;IACpC,4DAAM;IAEN,yEAAmE;IAC/D,yEAAoC;IAChC,yEAA8B;IAC1B,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,0EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,0EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,0EAA8B;IAC1B,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,0EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,0EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,0EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACV,4DAAM;IACN,0EAA6B;IACzB,0EAA8B;IAC1B,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACN,0EAA8B;IAC1B,qEAAG;IAAA,wDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAA8B;IAC1B,qEAAG;IAAA,wDAA4B;IAAA,4DAAI;IACvC,4DAAM;IACN,0EAA8B;IAC1B,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,0EAA8B;IAC1B,qEAAG;IAAA,wDAA+B;;IAAA,4DAAI;IAC1C,4DAAM;IACN,0EAA8B;IAC1B,uEAA8G;IAClH,4DAAM;IACN,0EAA8B;IAC1B,0HAA0C;IAC9C,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAqC;IACjC,gJAwBe;IACnB,4DAAM;IAEN,sEAA0B;IAE1B,2EAAkD;IAC9C,8EAAyF;IAA5B,6TAAiB;IAAW,yEAAG;IAAA,4DAAS;IACrG,8EAA8D;IAA7B,8TAAkB;IAAW,yEAAG;IAAA,4DAAS;IAC9E,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA1DiB,2DAAkB;IAAlB,qFAAkB;IAGlB,0DAAsB;IAAtB,wFAAsB;IAGtB,0DAA4B;IAA5B,8FAA4B;IAG5B,0DAAgB;IAAhB,kFAAgB;IAGhB,0DAA+B;IAA/B,0JAA+B;IAGmD,0DAAwB;IAAxB,wFAAwB;IAGzG,0DAAa;IAAb,gFAAa;IAMU,0DAAa;IAAb,qFAAa;;ADzCrD,MAAM,yBAAyB;IASpC,YACU,aAA4B,EAC5B,cAA8B,EAC9B,mBAAwC;QAFxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAVzC,SAAI,GAAmB,IAAI,CAAC;QAC5B,YAAO,GAAmB,IAAI,CAAC;QAC9B,YAAO,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAE1D,aAAQ,GAAgB,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,cAAS,GAAqB,EAAE,CAAC;IAM7B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;aAC9B,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK;SACtC,CAAC;IACN,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;;QACJ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACjC,OAAO;SACR;QAED,IAAI,WAAI,CAAC,OAAO,0CAAE,wBAAwB,KAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,EAAE;YACjJ,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAAC;YACrF,OAAO;SACR;QAED,IAAK,IAAI,CAAC,OAAmB,CAAC,wBAAwB,IAAE,CAAC,CAAC,IAAE,WAAI,CAAC,OAAO,0CAAE,KAAK,KAAE,CAAC,CAAC,IAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAI,IAAI,CAAC,OAAmB,CAAC,wBAAwB,EAAE;YAC7J,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,UAAI,CAAC,IAAI,0CAAE,IAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aAC5K,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;gBACrF,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,+FAAoC,CAAC,CAAC;gBAClF,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;SACF,CAAC;IACN,CAAC;;kGA/DU,yBAAyB;uHAAzB,yBAAyB;QChBtC,uHA2FM;;QA3FiB,0EAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICwBrB,0EAAqG;IACjG,wEAAsF;IAAA,qEAAU;IAAA,4DAAI;IACpG,0EAAgC;IAC5B,0EAAiE;IAC7D,oEAAG;IAAA,uDAAe;IAAA,4DAAI;IACtB,0EAAsB;IAClB,wEAAyH;IAA5B,8TAAsB,IAAI,IAAC;IAAC,gEAAK;IAAA,4DAAI;IACtI,4DAAM;IACV,4DAAM;IACN,sEAAiC;IACrC,4DAAM;IACV,4DAAM;;;IAPS,0DAAe;IAAf,iFAAe;;;;;IA5B1C,yEAAsC;IAClC,yEAAmE;IAAnC,0JAAS,wBAAwB,IAAC;IAC9D,yEAA0B;IACtB,uEAA4B;IAAA,+FAAM;IAAA,4DAAI;IACtC,uEAAqE;IAA1B,mTAAmB,KAAK,IAAC;IAAC,gEAAK;IAAA,4DAAI;IAClF,4DAAM;IAEN,yEAAwB;IACpB,yEAAoD;IAA1B,iSAAS,WAAc,IAAE;IAC/C,uEAAgC;IAAA,+DAAG;IAAA,4DAAI;IACvC,qEAAG;IAAA,kEAAM;IAAA,4DAAI;IACb,0EAAoG;IAA5C,8TAAkB,wBAAwB,IAAC;IAC/F,4EAAY;IAChB,4DAAM;IACV,4DAAM;IAEN,yEAAsC;IAAA,0IAAa;IAAA,4DAAI;IACvD,2EAAgD;IAC5C,yEAAsC;IAAA,2FAAM;IAAA,4DAAI;IAChD,yEAAsC;IAAA,+GAAqB;IAAA,4DAAI;IAC/D,yEAAsC;IAAA,wHAAe;IAAA,4DAAI;IACzD,yEAAsC;IAAA,mHAAe;IAAA,4DAAI;IAC7D,4DAAM;IAEN,+HAWM;IACV,4DAAM;IAGN,2EAA0B;IACtB,8EAAsE;IAApC,2TAAmB,KAAK,IAAC;IAAW,yEAAG;IAAA,4DAAS;IAClF,8EAAqE;IAA5B,4TAAiB;IAAW,yEAAG;IAAA,4DAAS;IACrF,4DAAM;IACV,4DAAM;IACN,iFAAgG;IAA9C,8VAA6C;IAA/F,4DAAgG;IACpG,4DAAM;;;IAlCe,2DAAkC;IAAlC,+JAAkC;IAarC,2DAAgB;IAAhB,mFAAgB;;AChB3B,MAAM,yBAAyB;IASpC,YACU,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAPzC,WAAM,GAA0B,GAAG,EAAE,GAAG,CAAC;QAElD,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAgB,IAAI,CAAC;QACzB,eAAU,GAAgB,IAAI,CAAC;IAI3B,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,aAAa,CAAC,KAAe;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE;gBACrF,OAAO;aACR;YAED,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE;gBACvB,OAAO;aACR;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,aAAkC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,KAAY;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,aAAkC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACvG;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;;kGAjDU,yBAAyB;uHAAzB,yBAAyB;;;;;;QDRtC,sHA6CM;;QA7CiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;IESpB,yEAA+C;IAAA,yFAAK;IAAA,4DAAM;;;IAC1D,sEAA+B;IAAA,uDAAoD;;IAAA,4DAAM;;;IAA1D,0DAAoD;IAApD,iLAAoD;;;IAInF,yEAAkD;IAAA,6EAAG;IAAA,4DAAM;;;IAC3D,sEAAkC;IAAA,uDAAuD;;IAAA,4DAAM;;;IAA7D,0DAAuD;IAAvD,oLAAuD;;;IAH7F,yEAAgE;IAC5D,yEAAe;IAAA,yFAAK;IAAA,4DAAM;IAC1B,6HAA2D;IAC3D,6HAA+F;IACnG,4DAAM;;;IAFI,0DAAgC;IAAhC,qGAAgC;IAChC,0DAA0B;IAA1B,6FAA0B;;;IAyDxB,wEAA6D;IACzD,4EAAgC;IAC5B,uEAAiD;IACjD,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC9B,4DAAQ;IACZ,qEAAe;;;IAHgB,0DAAiB;IAAjB,0EAAiB;IACrC,0DAAmB;IAAnB,iFAAmB;;;IAI1B,4EAAkE;IAC9D,uEAAiD;IACjD,oEAAG;IAAA,uDAAS;IAAA,4DAAI;IACpB,4DAAQ;;;IAFmB,0DAAiB;IAAjB,0EAAiB;IACrC,0DAAS;IAAT,wEAAS;;;IAHpB,wEAAoD;IAChD,gKAGQ;IACZ,qEAAe;;;IAJqC,0DAAgB;IAAhB,qFAAgB;;;IAV5E,0EAAoG;IAChG,oEAAG;IAAA,uDAAkC;IAAA,4DAAI;IACzC,0EAA0D;IACtD,8JAKe;IACf,8JAKe;IACnB,4DAAM;IACV,4DAAM;;;;;IAfC,0DAAkC;IAAlC,4GAAkC;IAElB,0DAA4C;IAA5C,kHAA4C;IAM5C,0DAAmC;IAAnC,yGAAmC;;;IAV9D,wEAA0C;IACtC,uIAgBM;IACV,qEAAe;;;IAjB8C,0DAAwB;IAAxB,+FAAwB;;;;;IArEjG,yEAAwD;IAAlB,oTAAiB;IACnD,yEAAoE;IAAnC,qJAAS,wBAAwB,IAAC;IAC/D,yEAA2B;IACvB,uEAA4B;IAAA,mFAAI;IAAA,4DAAI;IACpC,uEAAa;IAAA,uDAAqD;;IAAA,4DAAI;IAC1E,4DAAM;IACN,yEAAgC;IAC5B,yEAAqC;IACjC,0EAAe;IAAA,sGAAO;IAAA,4DAAM;IAC5B,wHAA0D;IAC1D,wHAAyF;IAC7F,4DAAM;IACN,yHAIM;IACV,4DAAM;IACN,2EAAmE;IAC/D,2EAAoC;IAChC,2EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA8B;IAC1B,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACV,4DAAM;IACN,2EAA6B;IACzB,2EAA8B;IAC1B,qEAAG;IAAA,wDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAwB;IAAA,4DAAI;IACnC,4DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAuB;IAAA,4DAAI;IAClC,4DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAiC;;IAAA,4DAAI;IAC5C,4DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAqB;IAAA,4DAAI;IAChC,4DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAoE;IAChE,0IAkBe;IACnB,4DAAM;IAEN,2EAAoD;IAChD,8EAA2D;IAA5B,wTAAiB;IAAW,yEAAG;IAAA,4DAAS;IAC3E,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAzFmB,0DAAqD;IAArD,qQAAqD;IAKxD,0DAA6B;IAA7B,kGAA6B;IAC7B,0DAAuB;IAAvB,0FAAuB;IAEK,0DAAuB;IAAvB,0FAAuB;IAgClD,2DAAoB;IAApB,uFAAoB;IAGpB,0DAAwB;IAAxB,0FAAwB;IAGxB,0DAAuB;IAAvB,yFAAuB;IAGvB,0DAAkB;IAAlB,oFAAkB;IAGlB,0DAAiC;IAAjC,6JAAiC;IAGjC,0DAAqB;IAArB,uFAAqB;IAGrB,0DAAkB;IAAlB,oFAAkB;IAMd,0DAAyB;IAAzB,4FAAyB;;AC5D7C,MAAM,oBAAoB;IAK/B;QAHA,WAAM,GAAkB,IAAI,CAAC;QAC7B,YAAO,GAAY,KAAK,CAAC;IAET,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IACM,cAAc,CAAC,GAAQ;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC;IAClC,CAAC;;wFArBU,oBAAoB;kHAApB,oBAAoB;QDRjC,kHA6FM;;QA7FiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;AEC4D;;;;;;;ICKpF,wEAAsE;IAAA,2GAAQ;IAAA,4DAAI;;;IADtF,0EAA2F;IACvF,6HAAkF;IACtF,4DAAM;;;IADqB,0DAAmC;IAAnC,sGAAmC;;;;IAG9D,0EAAiG;IAAxB,yUAAuB;IAC5F,wEAAgC;IAAA,iEAAM;IAAA,4DAAI;IAC1C,wEAAa;IAAA,uEAAE;IAAA,4DAAI;IACvB,4DAAM;;;IAeF,wEAAgE;IAAA,2GAAQ;IAAA,4DAAI;;;IADhF,0EAA+E;IAC3E,8HAA4E;IAChF,4DAAM;;;IADqB,0DAA6B;IAA7B,gGAA6B;;;;IAQxD,wEAA8E;IAAxC,iaAAyB;IAAe,wEAAa;IAAA,4DAAI;;;IAG3F,wEAA+D;IAAA,iHAAS;IAAA,4DAAI;;;IAC5E,wEAAiE;IAAA,2GAAQ;IAAA,4DAAI;;;IAFjF,0EAA6E;IACzE,oIAA4E;IAC5E,oIAA6E;IACjF,4DAAM;;;IAFqB,0DAA4B;IAA5B,4FAA4B;IAC5B,0DAA8B;IAA9B,8FAA8B;;;;;;IAR7D,yEAA6E;IACzE,wEAA+C;IAAA,uDAAoC;;IAAA,4DAAI;IACvF,4EAAgJ;IAApC,2bAAmC;;IAA/I,4DAAgJ;IAEhJ,8HAA+F;IAE/F,iIAGM;IACV,4DAAM;;;;IATe,0DAA6B;IAA7B,sJAA6B;IAAC,0DAAoC;IAApC,mOAAoC;IACnB,0DAA2C;IAA3C,6MAA2C;IAAlE,mFAAsB;IAEE,0DAAW;IAAX,2EAAW;IAEtC,0DAAqC;IAArC,yGAAqC;;;;IAM/E,0EAAwE;IAAjD,oUAAqB;IACxC,wEAAwC;IAAA,qEAAU;IAAA,4DAAI;IACtD,wEAAoC;IAAA,gJAAe;IAAA,4DAAI;IAC3D,4DAAM;;;IA9CV,0EAAyG;IACrG,yEAAuB;IACnB,uEAA0B;IAAA,uDAA0C;;IAAA,4DAAI;IACxE,sEAA+G;;IAE/G,0HAEM;IAEN,0HAGM;IACV,4DAAM;IAEN,yEAAuB;IACnB,wEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,4EAAyB;IACrB,uEAA4E;IAC5E,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAQ;IACR,6EAAwD;IACpD,wEAA0E;IAC1E,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAQ;IAER,4HAEM;IACV,4DAAM;IAEN,8HAUM;IAEN,6HAGM;IACV,4DAAO;;;IA/C2E,sFAAsB;IAEtE,0DAA0C;IAA1C,2OAA0C;IACA,0DAA0C;IAA1C,wMAA0C;IAExE,0DAAmD;IAAnD,6HAAmD;IAIjC,0DAAe;IAAf,kFAAe;IAO7C,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAUxD,2DAAuC;IAAvC,iHAAuC;IAKvC,0DAAoB;IAApB,4FAAoB;IAYhB,0DAAwB;IAAxB,2FAAwB;;ADnCnE,MAAM,uBAAuB;IAMlC;QAJS,aAAQ,GAAc,IAAI,qDAAS,CAAC,EAAE,CAAC,CAAC;QACxC,UAAK,GAAW,CAAC,CAAC;QAClB,WAAM,GAA4B,GAAG,EAAE,GAAG,CAAC,CAAC;IAGjD,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,SAAS;QACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAe;aAC7C,IAAI,CAAC,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,YAAY,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAe;aAC7C,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO;;QACT,OAAO,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,SAAS,CAAc,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,OAAoB,EAAE,KAAa;QAChD,IAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAe,CAAC,KAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;YACvG,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC1C;IACH,CAAC;;8FAxCU,uBAAuB;qHAAvB,uBAAuB;QCRpC,uHA+CO;;QA/C2D,8EAAc;;;;;;;;;;;;;;;;;;ACAZ;AAK7D,MAAM,iBAAiB;IAsB1B;QArBA,cAAS,GAAc,IAAI,qDAAS,CAAC;YACjC,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,SAAS,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,aAAa,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;YACrC,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,OAAO,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvD,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,UAAU,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACxD,iBAAiB,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;YACzC,eAAe,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC7D,IAAI,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;QACH,YAAO,GAAa,EAAE,CAAC;QACvB,UAAK,GAAgB,IAAI;QACzB,cAAS,GAAa,IAAI,CAAC;QAEtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAiB;aAChD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;aAC3B;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QAEL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAiB;aACpD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACvB;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QAEL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAiB;aAC9C,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACvB;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QAEL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;aACxD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aACtB;iBACI;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvB;QACL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAiB;aAC3C,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aACtB;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAiB;aAChD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;gBAC3F,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,IAAI,KAAK,IAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAc,GAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAc,EAAE;oBAC7K,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;iBAC1E;aACJ;QACL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAiB;aACjD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;gBAC3F,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,IAAI,KAAK,IAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAc,GAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAc,EAAE;oBAC7K,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;iBAC1E;aACJ;QACL,CAAC,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,WAAW;QACP,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;QAEzC,IAAI,KAAK,GAAuB;YAC5B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACnD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAChE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAc,CAAC,MAAM,EAAE;YACvJ,SAAS,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAc,CAAC,MAAM,EAAE;YACxE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC9C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACnD,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK;SAC7E;QAED,IAAI,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;;YAC7B,IAAI,GAAG,IAAI,YAAY,EAAE;gBACrB,IAAK,KAAK,CAAC,GAAG,CAAc,CAAC,MAAM,GAAG,CAAC;oBAClC,KAAK,CAAC,GAAG,CAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACvE,OAAO;aACV;YACD,IAAG,GAAG,IAAE,OAAO,IAAE,OAAE,IAAI,CAAC,KAAa,0CAAE,IAAI,KAAE,SAAS,EAAC;gBACnD,IAAG,KAAK,CAAC,OAAO,CAAC,IAAE,IAAI;oBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,GAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,IAAE,WAAW,EAAC,OAAM,EAAC,OAAM,CAAC,CAAC,CAAC;aAChI;;gBACG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAwB;QAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrG,CAAC;CACJ;;;;;;;;;;;;;;;;;AC5KmE;AAK7D,MAAM,iBAAiB;IAM1B,YAAY,OAAgB;QAH5B,YAAO,GAAa,EAAE,CAAC;QAInB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,WAAW,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACxE,KAAK,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC5D,SAAS,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7C,MAAM,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC3F,KAAK,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,KAAK,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,KAAK,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,WAAW,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACxE,SAAS,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpE,UAAU,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtE,wBAAwB,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClG,MAAM,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,aAAa,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,OAAO,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/E,iBAAiB,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;YACzC,SAAS,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C;QAED,IAAI,OAAO,CAAC,wBAAwB,IAAI,CAAC,CAAC,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C;QAED,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAE9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAiB;aAChD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;aAC3B;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QAEL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;aACxD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aACtB;iBACI;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvB;QAEL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAiB;aACpD,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACvB;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QAEL,CAAC,CAAC,CAAC;QAGN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAiB;aAC9C,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACvB;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QAEL,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAiB;aAC3C,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aACtB;iBACI;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC,CAAC;IACV,CAAC;IAED,WAAW;QACP,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;QAEzC,IAAI,KAAK,GAAuB;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAChE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAc,CAAC,MAAM,EAAE;YACvJ,SAAS,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAc,CAAC,MAAM,EAAE;YACxE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;YACrD,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACnD,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,KAAK;SACtF;QAED,IAAI,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,IAAI,YAAY,EAAE;gBACrB,IAAK,KAAK,CAAC,GAAG,CAAc,CAAC,MAAM,GAAG,CAAC;oBAClC,KAAK,CAAC,GAAG,CAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACvE,OAAO;aACV;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY;QACR,OAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAc,CAAC;IAChE,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClKyC;AAMoB;;;;;;;;;;;;;;;;ICS1C,wEAAsE;IAAA,qGAAO;IAAA,4DAAI;;;IADrF,0EAA2E;IACvE,yHAAiF;IACrF,4DAAM;;;IAD6B,0DAA2B;IAA3B,8FAA2B;;;IAS1D,wEAAuE;IAAA,qGAAO;IAAA,4DAAI;;;IADtF,0EAA6E;IACzE,yHAAkF;IACtF,4DAAM;;;IAD6B,0DAA4B;IAA5B,+FAA4B;;;;IAM/D,6EAAiI;IAA5E,wWAAS,UAAkB,IAAC;IAAgD,mFAAI;IAAA,4DAAS;;;;IAE1I,yEAA+B;IAC/B,wEAAgB;IAAA,uDAAc;IAAA,4DAAI;IAClC,wEAAkH;IAAjC,wXAAS,sBAAsB,IAAC;IAAC,+DAAI;IAAA,4DAAI;;;IAD1G,0DAAc;IAAd,gFAAc;;;IAkB9B,wEAAuE;IAAA,qGAAO;IAAA,4DAAI;;;IADtF,0EAA6E;IACzE,yHAAkF;IACtF,4DAAM;;;IAD6B,0DAA4B;IAA5B,+FAA4B;;;IAa3D,wEAAuE;IAAA,qGAAO;IAAA,4DAAI;;;IADtF,0EAA6E;IACzE,yHAAkF;IACtF,4DAAM;;;IAD6B,0DAA4B;IAA5B,+FAA4B;;;IAe3D,wEAAsE;IAAA,qGAAO;IAAA,4DAAI;;;IACjF,wEAAiE;IAAA,+FAAM;IAAA,4DAAI;;;IAF/E,0EAA2E;IACvE,yHAAiF;IACjF,yHAA2E;IAC/E,4DAAM;;;IAF6B,0DAA2B;IAA3B,8FAA2B;IAC3B,0DAAsB;IAAtB,yFAAsB;;;IAcrD,wEAAsE;IAAA,yFAAK;IAAA,4DAAI;;;IAC/E,wEAAiE;IAAA,mFAAI;IAAA,4DAAI;;;IAF7E,0EAA2E;IACvE,yHAA+E;IAC/E,yHAAyE;IAC7E,4DAAM;;;IAF6B,0DAA2B;IAA3B,8FAA2B;IAC3B,0DAAsB;IAAtB,yFAAsB;;;IAcrD,wEAAsE;IAAA,qGAAO;IAAA,4DAAI;;;IACjF,wEAAiE;IAAA,+FAAM;IAAA,4DAAI;;;IAF/E,0EAA2E;IACvE,yHAAiF;IACjF,yHAA2E;IAC/E,4DAAM;;;IAF6B,0DAA2B;IAA3B,+FAA2B;IAC3B,0DAAsB;IAAtB,0FAAsB;;;IAiBrD,uEAAgD;IAAA,qGAAO;IAAA,4DAAI;;;IAC3D,uEAA4C;IAAA,qGAAO;IAAA,4DAAI;;;IAF3D,0EAAqF;IACjF,0HAA2D;IAC3D,0HAAuD;IAC3D,4DAAM;;;IAFE,0DAAgC;IAAhC,oGAAgC;IAChC,0DAA4B;IAA5B,gGAA4B;;;IAqB5B,uEAA+C;IAAA,iHAAS;IAAA,4DAAI;;;IAC5D,uEAA2C;IAAA,iHAAS;IAAA,4DAAI;;;IACxD,uEAA8C;IAAA,yIAAa;IAAA,4DAAI;;;IAHnE,0EAAmF;IAC/E,0HAA4D;IAC5D,0HAAwD;IACxD,0HAA+D;IACnE,4DAAM;;;IAHE,0DAA+B;IAA/B,mGAA+B;IAC/B,0DAA2B;IAA3B,+FAA2B;IAC3B,0DAA8B;IAA9B,kGAA8B;;;IAUtC,uEAAiD;IAAA,qGAAO;IAAA,4DAAI;;;IADhE,0EAAuF;IACnF,0HAA4D;IAChE,4DAAM;;;IADE,0DAAiC;IAAjC,qGAAiC;;;;IAMzC,0EAAiE;IAC7D,wEAA+D;IAAA,qSAAuC;IAAA,4DAAI;IAC1G,6EAA8G;IAApD,wXAAS,+BAA+B,IAAC;IAAW,mFAAI;IAAA,4DAAS;IAC/H,4DAAM;;;IAUF,0EAAuF;IACnF,wEAA0B;IAAA,uDAAuB;IAAA,4DAAI;IACrD,wEAAkB;IAAA,uDAAiB;IAAA,4DAAI;IAC3C,4DAAM;;;IAFwB,0DAAuB;IAAvB,sFAAuB;IAC/B,0DAAiB;IAAjB,gFAAiB;;;;IAV3C,0EAAgE;IAC5D,0EAAgD;IAC5C,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAoC;IAAA,uDAAwB;IAAA,4DAAI;IAChE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAA+D;IAAA,yOAA6B;IAAA,4DAAI;IACpG,4DAAM;IACN,sEAA2C;IAC3C,gIAGM;IACN,2EAAmF;IAA1C,sXAAS,+BAA+B,IAAC;IAC9E,yEAAyC;IAAA,oFAAI;IAAA,4DAAI;IACjD,yEAAyC;IAAA,sEAAU;IAAA,4DAAI;IAC3D,4DAAM;IACV,4DAAM;;;IAbsC,0DAAwB;IAAxB,4FAAwB;IAKM,0DAAe;IAAf,yFAAe;;;IAiCrF,uEAAqD;IAAA,qGAAO;IAAA,4DAAI;;;IADpE,0EAA+F;IAC3F,0HAAgE;IACpE,4DAAM;;;IADE,0DAAqC;IAArC,yGAAqC;;ADxMtD,MAAM,yBAAyB;IAMpC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,MAAc,EACd,mBAAwC;QAHxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QANlD,SAAI,GAAsB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QA+DnD,sBAAiB,GAA0B,CAAC,CAAC,KAAW,EAAE,EAAE;YAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,aAAkC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,sBAAiB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACtE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAhEV,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,eAAe;QAEb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACzD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;YACxB,IAAI,CAAC,KAAK,CAAC,aAAkC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACvF,IAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAE,IAAI,EAAC;YAChC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;iBACrD,SAAS,CAAC;gBACT,IAAI,EAAE,MAAM,CAAC,EAAE;oBAEb,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE;oBACzC,UAAU,CAAC,GAAG,EAAE;wBAEZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACrC,IAAI,CAAC,KAAK,CAAC,aAAkC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBACnF,CAAC,EACC,IAAI,CAAC,CAAC;gBAEZ,CAAC;gBACD,KAAK,EAAE,KAAK,CAAC,EAAE;oBACb,YAAY;gBACd,CAAC;aACF,CAAC;SAEL;IACH,CAAC;IAGD,MAAM;;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO;SACR;QACD,IAAG,CAAC,UAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,KAAc,IAAC,IAAI,IAAI,EAAE,IAAE,CAAC,WAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,0CAAE,KAAK;YACxH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC,CAAC;QAEzF,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;aACvD,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAYD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAG,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,MAAC,IAAI,CAAC,IAAI,CAAC,KAAa,0CAAE,IAAI,CAAC;IACxC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;;kGA/HU,yBAAyB;uHAAzB,yBAAyB;;;;;;;QChBtC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,2EAA0D;QACtD,wEAAkC;QAAA,+GAAW;QAAA,4DAAI;QAEjD,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAA6G;;QAE7G,wHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAAoH;;QAEpH,wHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAgG;;QAAA,oFAAI;QAAA,4DAAI;QACxG,8HAA8I;QAC9I,oNAIc;QACd,6FAA2F;QAC/F,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,yEAAO;QACH,wEAAuD;QACvD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAQ;QACR,6EAAoC;QAChC,wEAAuD;QACvD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAQ;QAER,wHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAA4G;;QAC5G,yEAAO;QACH,wEAAgE;QAChE,yEAA0B;QAAA,oFAAI;QAAA,4DAAI;QACtC,4DAAQ;QAER,wHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAAa;QAAA,sGAAO;QAAA,4DAAI;QACxB,wEAA8E;QAC9E,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACnB,yEAAO;QACH,wEAA2D;QAC3D,yEAA0B;QAAA,wEAAE;QAAA,4DAAI;QACpC,4DAAQ;QAER,wHAGM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAoC;QAAA,wEAAE;QAAA,4DAAI;QAC1C,wEAAyE;QACzE,wEAAa;QAAA,kEAAC;QAAA,4DAAI;QAClB,yEAAO;QACH,wEAAoE;QACpE,yEAA0B;QAAA,oFAAI;QAAA,4DAAI;QACtC,4DAAQ;QAER,wHAGM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAAa;QAAA,8HAAW;QAAA,4DAAI;QAC5B,wEAA+F;QAC/F,yEAAO;QACH,wEAA8D;QAC9D,yEAA0B;QAAA,oFAAI;QAAA,4DAAI;QACtC,4DAAQ;QAER,wHAGM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAoC;QAAA,qFAAI;QAAA,4DAAI;QAC5C,8EAAmK;QAAzE,kSAAS,WAAc,IAAC;;QAAlH,4DAAmK;QAEnK,mFAAoE;QAEpE,sFAAmE;QACnE,0EAAO;QACH,yEAAwE;QACxE,0EAA0B;QAAA,qFAAI;QAAA,4DAAI;QACtC,4DAAQ;QAER,0HAGM;QACV,4DAAM;QAEN,2EAAuB;QACnB,0EAAqJ;;QAAA,qFAAI;QAAA,4DAAI;QAC7J,4EAAgC;QAC5B,4EAA6B;QACzB,8EAAgK;QAAxE,kSAAS,WAAa,IAAC;;QAA/G,4DAAgK;QAEhK,mFAAmE;QAEnE,sFAAkE;QACtE,4DAAM;QAEN,4EAA8C;QAC1C,0EAA+C;QAAA,0EAAa;QAAA,4DAAI;QAChE,0EAA4C;QAAA,8UAAgD;QAAA,4DAAI;QACpG,4DAAM;QAEN,0HAIM;QACV,4DAAM;QACV,4DAAM;QAEN,2EAAuB;QACnB,0EAAqJ;;QAAA,qFAAI;QAAA,4DAAI;QAC7J,4EAAsJ;;QAEtJ,0HAEM;QACV,4DAAM;QAEN,2EAAuB;QACnB,0EAAgF;QAAA,qFAAI;QAAA,4DAAI;QACxF,0HAGM;QAEN,2HAgBM;QAEN,wFAAgF;QACpF,4DAAM;QAEN,2EAAuB;QACnB,0EAA0H;;QAAA,qFAAI;QAAA,4DAAI;QAClI,4EAAgC;QAC5B,4EAA6B;QACzB,0EAAO;QACH,yEAAqE;QACrE,yEAAa;QAAA,yHAAU;QAAA,4DAAI;QAC/B,4DAAQ;QACR,8EAAkC;QAC9B,yEAAsE;QACtE,yEAAa;QAAA,iGAAM;QAAA,4DAAI;QAC3B,4DAAQ;QACZ,4DAAM;QACN,4EAA8C;QAC1C,0EAA+C;QAAA,0EAAa;QAAA,4DAAI;QAChE,0EAA4C;QAAA,uNAA6B;QAAA,4DAAI;QACjF,4DAAM;QACV,4DAAM;QAEN,0HAEM;QACV,4DAAM;QAEN,4EAAkF;QAC9E,+EAA4E;QAA7B,mJAAS,YAAQ,IAAC;QAAW,0EAAG;QAAA,4DAAS;QAC5F,4DAAM;QACV,4DAAO;QACX,4DAAM;QACV,4DAAM;;;;;QAvN+B,2DAA4B;QAA5B,yFAA4B;QAIvB,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC7B,0DAA2C;QAA3C,+MAA2C;QAEtE,0DAAmC;QAAnC,uGAAmC;QAM/C,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC5B,0DAAiD;QAAjD,mPAAiD;QAE7E,0DAAqC;QAArC,yGAAqC;QAM1D,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QACF,0DAAgB;QAAhB,+EAAgB;QAM3E,0DAA4B;QAA5B,yFAA4B;QAI1B,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAUxD,2DAAqC;QAArC,yGAAqC;QAMjD,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC5B,0DAAyC;QAAzC,mMAAyC;QAMrE,0DAAqC;QAArC,yGAAqC;QAMjD,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QASxD,2DAAmC;QAAnC,uGAAmC;QAenC,2DAAmC;QAAnC,uGAAmC;QAO/C,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAQxD,2DAAmC;QAAnC,uGAAmC;QAQmD,0DAAsC;QAAtC,kLAAsC;QAAlG,+EAAyB;QAExE,0DAAmB;QAAnB,gFAAmB;QAQE,0DAA6C;QAA7C,iHAA6C;QAOb,0DAAqC;QAArC,iLAAqC;QAAC,uFAA8B;QAGT,0DAAsC;QAAtC,kLAAsC;QAAhG,+EAAwB;QAEtE,0DAAkB;QAAlB,+EAAkB;QAUD,0DAA2C;QAA3C,+GAA2C;QASf,0DAAqC;QAArC,iLAAqC;QAAC,uFAA8B;QAC5D,0DAA4D;QAA5D,4TAA4D;QAEpG,0DAA+C;QAA/C,mHAA+C;QAOpD,0DAA8B;QAA9B,8FAA8B;QAK9B,0DAA6B;QAA7B,6FAA6B;QAkB9B,0DAA4B;QAA5B,yFAA4B;QAIjB,0DAAqC;QAArC,iLAAqC;QAAC,uFAA8B;QAI7C,0DAAc;QAAd,uEAAc;QAId,0DAAe;QAAf,wEAAe;QAU3C,0DAAuD;QAAvD,2HAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClNnE;AACoB;;;;;;;;;;;;;;;;;ICUlD,mEAA4D;;;IAE5D,mEAAwD;;;IAKhD,wEAA8F;IAAA,6EAAG;IAAA,4DAAI;;;IACrG,wEAAiH;IAAA,6EAAG;IAAA,4DAAI;;;IACxH,wEAA4F;IAAA,mFAAI;IAAA,4DAAI;;;IACpG,wEAAyF;IAAA,mFAAI;IAAA,4DAAI;;;IACjG,wEAAyF;IAAA,6EAAG;IAAA,4DAAI;;;IALpG,wEAAqC;IACjC,yIAAqG;IACrG,yIAAwH;IACxH,yIAAoG;IACpG,yIAAiG;IACjG,yIAAgG;IACpG,qEAAe;;;IAL8C,0DAAyB;IAAzB,4FAAyB;IAC1B,0DAA6C;IAA7C,uHAA6C;IAC/C,0DAA0B;IAA1B,6FAA0B;IAC1B,0DAAuB;IAAvB,0FAAuB;IACtB,0DAAsB;IAAtB,yFAAsB;;;IAGjF,wEAAyF;IAAA,mFAAI;IAAA,4DAAI;;;IACjG,wEAAwF;IAAA,6EAAG;IAAA,4DAAI;;;IAC/F,wEAAoF;IAAA,6EAAG;IAAA,4DAAI;;;IAK3F,oEAAqE;IAAA,uDAAyB;IAAA,4DAAI;;;IAA7B,0DAAyB;IAAzB,4FAAyB;;;IAMtF,wEAA4E;IAAA,qGAAO;IAAA,4DAAI;;;IAD3F,0EAAuF;IACnF,8IAAuF;IAC3F,4DAAM;;;IAD6B,0DAAiC;IAAjC,qGAAiC;;;IAHpE,uEAAmH;;IAEnH,4IAEM;;;IAJiE,6MAA2C;IAE5E,0DAA+C;IAA/C,2HAA+C;;;IAQzF,oEAAqE;IAAA,uDAAmB;IAAA,4DAAI;;;IAAvB,0DAAmB;IAAnB,sFAAmB;;;IAMhF,wEAAsE;IAAA,qGAAO;IAAA,4DAAI;;;IADrF,0EAA2E;IACvE,8IAAiF;IACrF,4DAAM;;;IAD6B,0DAA2B;IAA3B,+FAA2B;;;IAH9D,uEAAmH;;IAEnH,4IAEM;;;IAJ2D,iPAAiD;IAE5E,0DAAmC;IAAnC,+GAAmC;;;IAQ7E,uEAAyC;IAAA,yFAAK;IAAA,4DAAI;;;IAClD,uEAAyC;IAAA,mFAAI;IAAA,4DAAI;;;IACjD,wEAA0C;IACtC,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,wEAAoC;IAAA,uDAAmB;IAAA,4DAAI;IAC3D,uEAAa;IAAA,iEAAC;IAAA,4DAAI;IACtB,qEAAe;;;IAFyB,0DAAmB;IAAnB,sFAAmB;;;IAYvD,uEAAkC;IAAA,+FAAM;IAAA,4DAAI;;;;IADhD,wEAA+E;IAC3E,yIAA4C;IAC5C,yEAAgE;IAChE,oEAAG;IAAA,uDAAc;IAAA,4DAAI;IACzB,qEAAe;;;IAHP,0DAAkB;IAAlB,sFAAkB;IACE,0DAAgC;IAAhC,gKAAgC;IACrD,0DAAc;IAAd,iFAAc;;;;IAIjB,6EAAwI;IAAvC,+XAAS,WAAkB,IAAC;IAAW,mFAAI;IAAA,4DAAS;;;IAEjJ,uEAAkC;IAAA,+FAAM;IAAA,4DAAI;;;;IAA5C,sJAA4C;IAC5C,yEAAiE;IACjE,wEAAgB;IAAA,uDAAc;IAAA,4DAAI;IAClC,wEAAwH;IAAvC,8cAAS,6BAA4B,IAAC;IAAC,+DAAI;IAAA,4DAAI;;;IAH5H,sFAAkB;IACE,0DAAgC;IAAhC,gKAAgC;IACxC,0DAAc;IAAd,iFAAc;;;IAJlC,kJAAqJ;IACrJ,wOAKc;;;;IANL,0FAAuB;;;IAehC,uEAA8D;IAAA,mFAAI;IAAA,4DAAI;;;IACtE,uEAAqD;IAAA,mFAAI;IAAA,4DAAI;;;IAFjE,wEAA0E;IACtE,yIAAsE;IACtE,yIAA6D;IACjE,qEAAe;;;IAFP,0DAA8C;IAA9C,kHAA8C;IAC9C,0DAAqC;IAArC,yGAAqC;;;IAcrC,wEAAuE;IAAA,qGAAO;IAAA,4DAAI;;;IADtF,0EAA6E;IACzE,8IAAkF;IACtF,4DAAM;;;;IAD6B,0DAA4B;IAA5B,sFAA4B;;;IAV/D,4EAAyB;IACrB,uEAAuD;IACvD,wEAA0B;IAAA,mFAAI;IAAA,4DAAI;IACtC,4DAAQ;IACR,4EAA8B;IAC1B,uEAAuD;IACvD,wEAA0B;IAAA,mFAAI;IAAA,4DAAI;IACtC,4DAAQ;IAER,4IAEM;;;;IAFgC,0DAAqC;IAArC,6FAAqC;;;IAS3E,wEAAwC;IACpC,uEAAa;IAAA,qGAAO;IAAA,4DAAI;IACxB,wEAA+B;IAAA,uDAAmB;IAAA,4DAAI;IACtD,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACvB,qEAAe;;;IAFoB,0DAAmB;IAAnB,sFAAmB;;;IAItD,uEAAwC;IAAA,uEAAE;IAAA,4DAAI;;;IAPlD,wEAAwE;IACpE,+JAIe;IAEf,yIAA8C;IAClD,qEAAe;;;IAPI,0DAAuB;IAAvB,2FAAuB;IAMlC,0DAAwB;IAAxB,4FAAwB;;;IAaxB,wEAAsE;IAAA,qGAAO;IAAA,4DAAI;;;IACjF,wEAAiE;IAAA,+FAAM;IAAA,4DAAI;;;IAF/E,0EAA2E;IACvE,8IAAiF;IACjF,8IAA2E;IAC/E,4DAAM;;;;IAF6B,0DAA2B;IAA3B,sFAA2B;IAC3B,0DAAsB;IAAtB,iFAAsB;;;IAVzD,wEAA+B;IAAA,qGAAO;IAAA,4DAAI;IAC1C,uEAA8E;IAC9E,wEAAoC;IAAA,uEAAE;IAAA,4DAAI;IAC1C,4EAAyB;IACrB,uEAA2D;IAC3D,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACvB,4DAAQ;IAER,4IAGM;;;;IAHgC,0DAAmC;IAAnC,6FAAmC;;;;IAUzE,uEAAyC;IAAA,uDAA8C;;IAAA,4DAAI;;;IAAlD,0DAA8C;IAA9C,8OAA8C;;;IACvF,uEAAyC;IAAA,mFAAI;IAAA,4DAAI;;;IAFrD,wEAAmD;IAC/C,yIAA2F;IAC3F,yIAAiD;IACrD,qEAAe;;;IAFP,0DAAyB;IAAzB,6FAAyB;IACzB,0DAAyB;IAAzB,6FAAyB;;;IAWzB,wEAAsE;IAAA,yFAAK;IAAA,4DAAI;;;IAC/E,wEAAiE;IAAA,mFAAI;IAAA,4DAAI;;;IAF7E,0EAA2E;IACvE,8IAA+E;IAC/E,8IAAyE;IAC7E,4DAAM;;;;IAF6B,0DAA2B;IAA3B,sFAA2B;IAC3B,0DAAsB;IAAtB,iFAAsB;;;IATzD,uEAAyE;IACzE,wEAAoC;IAAA,iEAAC;IAAA,4DAAI;IACzC,4EAAyB;IACrB,uEAAoE;IACpE,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAQ;IAER,4IAGM;;;;IAHgC,0DAAmC;IAAnC,6FAAmC;;;IAWzE,wEAA6D;IACzD,uEAAa;IAAA,6HAAW;IAAA,4DAAI;IAC5B,wEAA+B;IAAA,uDAAsC;IAAA,4DAAI;IACzE,uEAAa;IAAA,iEAAC;IAAA,4DAAI;IACtB,qEAAe;;;IAFoB,0DAAsC;IAAtC,yGAAsC;;;IAIzE,uEAA4D;IAAA,mFAAI;IAAA,4DAAI;;;IAPxE,wEAAmD;IAC/C,+JAIe;IAEf,yIAAoE;IACxE,qEAAe;;;IAPI,0DAA4C;IAA5C,gHAA4C;IAMvD,0DAA4C;IAA5C,gHAA4C;;;IAY5C,wEAAsE;IAAA,qGAAO;IAAA,4DAAI;;;IACjF,wEAAiE;IAAA,+FAAM;IAAA,4DAAI;;;IAF/E,0EAA2E;IACvE,8IAAiF;IACjF,8IAA2E;IAC/E,4DAAM;;;;IAF6B,0DAA2B;IAA3B,sFAA2B;IAC3B,0DAAsB;IAAtB,iFAAsB;;;IATzD,wEAAoC;IAAA,6HAAW;IAAA,4DAAI;IACnD,uEAA+F;IAC/F,4EAAyB;IACrB,uEAA8D;IAC9D,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAQ;IAER,4IAGM;;;;IAHgC,0DAAmC;IAAnC,6FAAmC;;;IAS7E,oEAA+D;IAAA,uDAAkG;;;IAAA,4DAAI;;;IAAtG,0DAAkG;IAAlG,8SAAkG;;;IAazJ,uEAA+C;IAAA,qGAAO;IAAA,4DAAI;;;IAC1D,uEAA2C;IAAA,qGAAO;IAAA,4DAAI;;;IAF1D,0EAAqF;IACjF,8IAA0D;IAC1D,8IAAsD;IAC1D,4DAAM;;;IAFE,0DAA+B;IAA/B,mGAA+B;IAC/B,0DAA2B;IAA3B,+FAA2B;;;;IAZnC,4EAAmK;IAAzE,oTAAS,WAAc,IAAC;;IAAlH,4DAAmK;IAEnK,iFAAoE;IAEpE,oFAAmE;IACnE,wEAAO;IACH,uEAAwE;IACxE,wEAA0B;IAAA,mFAAI;IAAA,4DAAI;IACtC,4DAAQ;IAER,4IAGM;;;;IAbsH,+KAAsC;IAAlG,+EAAyB;IAExE,0DAAmB;IAAnB,oFAAmB;IAQE,0DAA6C;IAA7C,yHAA6C;;;IASvF,wEAAkD;IAC9C,wEAAgB;IAAA,uDAAgG;;;IAAA,4DAAI;IACpH,wEAAuJ;;IAAA,wEAAa;IAAA,4DAAI;IAC5K,qEAAe;;;IAFK,0DAAgG;IAAhG,4SAAgG;IACtE,0DAAiF;IAAjF,waAAiF;;;IAkBnH,uEAA+C;IAAA,iHAAS;IAAA,4DAAI;;;IAC5D,uEAA2C;IAAA,iHAAS;IAAA,4DAAI;;;IACxD,uEAA8C;IAAA,yIAAa;IAAA,4DAAI;;;IAHnE,0EAAmF;IAC/E,+IAA4D;IAC5D,+IAAwD;IACxD,+IAA+D;IACnE,4DAAM;;;IAHE,0DAA+B;IAA/B,oGAA+B;IAC/B,0DAA2B;IAA3B,gGAA2B;IAC3B,0DAA8B;IAA9B,mGAA8B;;;;IAjB1C,0EAAgC;IAC5B,0EAA6B;IACzB,4EAAgK;IAAxE,sTAAS,YAAa,IAAC;;IAA/G,4DAAgK;IAEhK,iFAAmE;IAEnE,oFAAkE;IACtE,4DAAM;IAEN,2EAA8C;IAC1C,yEAA+C;IAAA,wEAAa;IAAA,4DAAI;IAChE,0EAA4C;IAAA,6UAAgD;IAAA,4DAAI;IACpG,4DAAM;IAEN,8IAIM;IACV,4DAAM;;;;IAjB2H,0DAAsC;IAAtC,+KAAsC;IAAhG,gFAAwB;IAEtE,0DAAkB;IAAlB,mFAAkB;IAUD,0DAA2C;IAA3C,uHAA2C;;;IAYzF,yEAAwF;IAAA,uDAAyB;IAAA,4DAAI;;;IAA7B,0DAAyB;IAAzB,4FAAyB;;;IAKzG,yEAAoE;IAAA,qGAAO;IAAA,4DAAI;;;IADnF,2EAAgF;IAC5E,gJAA+E;IACnF,4DAAM;;;;IADqB,0DAAiC;IAAjC,sFAAiC;;;IAH5D,2EAAsJ;;IAEtJ,8IAEM;;;;IAJwE,yTAA4D;IAE3G,0DAA+C;IAA/C,6FAA+C;;;IAkB1E,2EAA0F;IACtF,yEAA0B;IAAA,uDAAuB;IAAA,4DAAI;IACrD,yEAAkB;IAAA,uDAAiB;IAAA,4DAAI;IAC3C,4DAAM;;;IAFwB,0DAAuB;IAAvB,uFAAuB;IAC/B,0DAAiB;IAAjB,iFAAiB;;;IAV3C,0EAAmE;IAC/D,2EAAgD;IAC5C,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,yEAAoC;IAAA,uDAA2B;IAAA,4DAAI;IACnE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,yEAAoC;IAAA,yOAA6B;IAAA,4DAAI;IACzE,4DAAM;IACN,uEAA2C;IAC3C,uJAGM;IACV,4DAAM;;;IATsC,0DAA2B;IAA3B,gGAA2B;IAKG,0DAAkB;IAAlB,6FAAkB;;;IAThG,wEAAuC;IACnC,gJAYM;IACV,qEAAe;;;IAbsB,0DAAgC;IAAhC,oGAAgC;;;IAwB7D,2EAA+F;IAC3F,yEAA0B;IAAA,uDAAuB;IAAA,4DAAI;IACrD,yEAAkB;IAAA,uDAAiB;IAAA,4DAAI;IAC3C,4DAAM;;;IAFwB,0DAAuB;IAAvB,uFAAuB;IAC/B,0DAAiB;IAAjB,iFAAiB;;;;IAX/C,wEAA8B;IAC1B,0EAAgC;IAC5B,2EAAgD;IAC5C,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,yEAAoC;IAAA,uDAAgC;IAAA,4DAAI;IACxE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,yEAAoC;IAAA,0OAA6B;IAAA,4DAAI;IACzE,4DAAM;IACN,uEAA2C;IAC3C,iJAGM;IACN,4EAA2F;IAAlD,ucAAS,wCAAuC,IAAC;IACtF,0EAAyC;IAAA,oFAAI;IAAA,4DAAI;IACjD,0EAAyC;IAAA,sEAAU;IAAA,4DAAI;IAC3D,4DAAM;IACV,4DAAM;IACV,qEAAe;;;IAdiC,0DAAgC;IAAhC,oGAAgC;IAKF,0DAAuB;IAAvB,iGAAuB;;;IAiBjG,uEAAsD;IAAA,uHAAU;IAAA,4DAAI;;;IACpE,uEAAuD;IAAA,+FAAM;IAAA,4DAAI;;;IAFrE,wEAA4E;IACxE,0IAAoE;IACpE,0IAAiE;IACrE,qEAAe;;;IAFP,0DAAsC;IAAtC,0GAAsC;IACtC,0DAAuC;IAAvC,2GAAuC;;;IAsBvC,uEAA8D;IAAA,qGAAO;IAAA,4DAAI;;;IAD7E,0EAAiH;IAC7G,gJAAyE;IAC7E,4DAAM;;;IADE,0DAA8C;IAA9C,mHAA8C;;;IAlBtD,0EAAgC;IAC5B,0EAA6B;IACzB,wEAAO;IACH,wEAA8E;IAC9E,uEAAa;IAAA,uHAAU;IAAA,4DAAI;IAC/B,4DAAQ;IACR,6EAAkC;IAC9B,wEAA+E;IAC/E,uEAAa;IAAA,+FAAM;IAAA,4DAAI;IAC3B,4DAAQ;IACZ,4DAAM;IACN,4EAA8C;IAC1C,0EAA+C;IAAA,yEAAa;IAAA,4DAAI;IAChE,0EAA4C;IAAA,sNAA6B;IAAA,4DAAI;IACjF,4DAAM;IACV,4DAAM;IAEN,+IAEM;;;IAhBqE,0DAAc;IAAd,uEAAc;IAId,0DAAe;IAAf,wEAAe;IAUpD,0DAAyE;IAAzE,qJAAyE;;;;IAQvH,8EAAgH;IAAhF,qVAA0B;IAAsD,wEAAG;IAAA,4DAAS;;;;IAC5H,8EAA2F;IAA5D,2UAAmB,KAAK,IAAC;IAAmC,wEAAG;IAAA,4DAAS;;;;IACvG,8EAAyK;IAAzG,iVAAsB;IAAmF,wEAAG;IAAA,4DAAS;;;;IACrL,8EAA6G;IAA7C,6UAAkB;IAA2B,wEAAG;IAAA,4DAAS;;;IA1UjI,yEAA4C;IACxC,0EAA8B;IAC1B,wEAA4B;IAAA,uDAA8C;;IAAA,4DAAI;IAC9E,uEAAa;IAAA,uDACjB;;;IADI,4DAAa;IACjB,4DAAM;IAEN,2EAAkE;IAC9D,iJAA4D;IAE5D,iJAAwD;IAExD,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,4DAAI;IACxG,iJAMe;IAEf,2HAAiG;IACjG,2HAA+F;IAC/F,2HAA2F;IAC/F,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,2HAAkG;IAElG,2NAMc;IAClB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,2HAA4F;IAE5F,2NAMc;IAClB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,2HAAkD;IAClD,2HAAiD;IACjD,iJAIe;IACf,wEAAa;IAAA,8EAAG;IAAA,4DAAI;IACpB,yEAAoC;IAAA,wDAA2B;IAAA,4DAAI;IACnE,wEAAa;IAAA,gGAAM;IAAA,4DAAI;IACvB,8EAAoH;IAAA,oFAAI;IAAA,4DAAS;IACrI,4DAAM;IAEN,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,4DAAI;IACxG,iJAIe;IAEf,2NAQc;IAEd,6FAA2F;IAC/F,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,iJAGe;IAEf,2NAac;IAClB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,iJAQe;IAEf,4NAac;IAClB,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,wEAAE;IAAA,4DAAI;IAC1C,iJAGe;IACf,2NAYc;IAClB,4DAAM;IAGN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,iJAQe;IAEf,2NAYc;IAClB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,4HAAqK;IACrK,4NAec;IAClB,4DAAM;IAEN,2EAAuB;IACnB,yEAAqJ;;IAAA,oFAAI;IAAA,4DAAI;IAC7J,kJAGe;IACf,4NAqBc;IAClB,4DAAM;IAGN,2EAAuB;IACnB,0EAAqJ;;IAAA,qFAAI;IAAA,4DAAI;IAC7J,6HAAqH;IACrH,6NAMc;IAClB,4DAAM;IAEN,4EAA4B;IACxB,0EAA0H;;IAAA,qFAAI;IAAA,4DAAI;IAElI,mJAce;IAEf,oJAkBe;IAEf,wFAAgF;IACpF,4DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,4DAAI;IACjH,mJAGe;IAEf,8NAqBc;IAClB,4DAAM;IACV,4DAAO;IAEP,4EAAoB;IAChB,uIAA4H;IAC5H,uIAAuG;IACvG,uIAAqL;IACrL,uIAAyH;IAC7H,4DAAM;IACV,4DAAM;;;;;;;;;;;;;;;;IA1U8B,0DAA8C;IAA9C,+PAA8C;IAC7D,0DACjB;IADiB,sWACjB;IAE6B,0DAAoC;IAApC,oGAAoC;IAC9C,0DAA4B;IAA5B,iFAA4B;IAE5B,0DAAwB;IAAxB,iFAAwB;IAGlB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IACtE,0DAAoB;IAApB,uFAAoB;IAQmB,0DAAuB;IAAvB,0FAAuB;IACtB,0DAAqB;IAArB,wFAAqB;IAC1B,0DAAsB;IAAtB,yFAAsB;IAI9C,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAA8C;IAA9C,sHAA8C;IAYxB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAA6C;IAA7C,sHAA6C;IAYvB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAyB;IAAzB,4FAAyB;IACzB,0DAAyB;IAAzB,4FAAyB;IACd,0DAAyB;IAAzB,4FAAyB;IAMJ,0DAA2B;IAA3B,6FAA2B;IAM9C,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IACtE,0DAA8C;IAA9C,sHAA8C;IAgBrC,0DAA4B;IAA5B,4FAA4B;IAI1B,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC/E,0DAA8C;IAA9C,sHAA8C;IAsBnC,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC/E,0DAA6C;IAA7C,sHAA6C;IA4B7C,0DAAwB;IAAxB,yFAAwB;IAqBb,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC/E,0DAAwB;IAAxB,yFAAwB;IA0Bb,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAA8C;IAA9C,sHAA8C;IAoBoB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC3H,0DAAuB;IAAvB,yFAAuB;IA8BgC,0DAAqC;IAArC,iLAAqC;IAAC,uFAA8B;IAClH,0DAA8C;IAA9C,sHAA8C;IAW3B,0DAAqC;IAArC,kLAAqC;IAAC,uFAA8B;IAEhG,0DAAsB;IAAtB,yFAAsB;IAgBtB,0DAAa;IAAb,gFAAa;IAoBI,0DAA4B;IAA5B,4FAA4B;IAIlC,0DAAqC;IAArC,kLAAqC;IAAC,uFAA8B;IAC/E,0DAA8C;IAA9C,sHAA8C;IA+BL,0DAAwC;IAAxC,kHAAwC;IAC1C,0DAAqB;IAArB,wFAAqB;IACS,0DAAqE;IAArE,sJAAqE;IACzE,0DAAa;IAAb,gFAAa;;;IASjG,yEAA0D;IAAA,4DAAC;IAAA,4DAAI;;;IAC/D,yEAAwH;IAAA,+DAAI;IAAA,4DAAI;;;;IAWhI,yEAAmJ;IAAA,4DAAC;IAAA,4DAAI;;;IAAvI,sMAAqE;;;IACtF,yEAAkG;IAAA,+DAAI;IAAA,4DAAI;;;;IAW1G,yEAAuF;IAAA,4DAAC;IAAA,4DAAI;;;IAA3E,qKAAsC;;;IACvD,yEAA8E;IAAA,+DAAI;IAAA,4DAAI;;;IA3B9F,2EAAsB;IAClB,2EAA6B;IACzB,kIAA+D;IAC/D,kIAAgI;IAChI,2EAA4B;IACxB,2EAAyB;IACrB,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,sEAA6C;IACjD,4DAAM;IACN,yEAAmD;IAAA,sGAAO;IAAA,4DAAI;IAClE,4DAAM;IACV,4DAAM;IAEN,4EAA6B;IACzB,oIAAwJ;IACxJ,oIAA0G;IAC1G,4EAA4B;IACxB,4EAAyB;IACrB,wEAAa;IAAA,8EAAG;IAAA,4DAAI;IACpB,uEAA6C;IACjD,4DAAM;IACN,0EAAmD;IAAA,oIAAY;IAAA,4DAAI;IACvE,4DAAM;IACV,4DAAM;IAEN,4EAA6B;IACzB,oIAA4F;IAC5F,oIAAsF;IACtF,4EAA4B;IACxB,4EAAyB;IACrB,wEAAa;IAAA,oFAAI;IAAA,4DAAI;IACrB,uEAA6C;IACjD,4DAAM;IACN,0EAAmD;IAAA,wJAAiB;IAAA,4DAAI;IAC5E,4DAAM;IACV,4DAAM;IAEN,4EAA6B;IACzB,0EAA+D;IAAA,6DAAC;IAAA,4DAAI;IACpE,4EAA4B;IACxB,4EAAyB;IACrB,wEAAa;IAAA,8EAAG;IAAA,4DAAI;IACxB,4DAAM;IACN,0EAAmD;IAAA,gGAAM;IAAA,4DAAI;IACjE,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA5CyB,0DAAiC;IAAjC,oGAAiC;IACpD,0DAAuE;IAAvE,wJAAuE;IAWa,0DAAyD;IAAzD,mIAAyD;IAC7I,0DAAiD;IAAjD,2HAAiD;IAWI,0DAA4B;IAA5B,+FAA4B;IACjF,0DAA6B;IAA7B,gGAA6B;IAWhB,0DAA6C;IAA7C,0KAA6C;;;;IAclE,2EAAoE;IAChE,wEAA4B;IAAA,iNAAyB;IAAA,4DAAI;IACzD,yEAA+G;IAA7B,wUAAiB,CAAC,IAAI,KAAK,KAAC;IAAC,gEAAK;IAAA,4DAAI;IAC5H,4DAAM;;;;IAEN,2EAAwE;IACpE,wEAA4B;IAAA,yLAAqB;IAAA,4DAAI;IACrD,yEAA+G;IAA7B,wUAAiB,CAAC,IAAI,KAAK,KAAC;IAAC,gEAAK;IAAA,4DAAI;IAC5H,4DAAM;;;;IAEN,2EAAsE;IAClE,wEAA4B;IAAA,6NAA2B;IAAA,4DAAI;IAC3D,yEAA+G;IAA7B,wUAAiB,CAAC,IAAI,KAAK,KAAC;IAAC,gEAAK;IAAA,4DAAI;IAC5H,4DAAM;;;IAdV,2EAAqE;IACjE,sIAGM;IAEN,sIAGM;IAEN,sIAGM;IACV,4DAAM;;;IAdmB,0DAA6C;IAA7C,uHAA6C;IAKpC,0DAAwC;IAAxC,kHAAwC;IAKxC,0DAAsC;IAAtC,+GAAsC;;ADtYrE,MAAM,yBAAyB;IAYpC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,gBAAkC,EAClC,mBAAwC;QAJxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAXlD,YAAO,GAAY,KAAK,CAAC;QAEzB,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAEjD,YAAO,GAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAyDxC,sBAAiB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACtC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAkGd,sBAAiB,GAA0B,CAAC,CAAC,KAAW,EAAE,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjE,UAAU,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,MAAM,CAAC,aAAkC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA1JV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,UAAU;QACR,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;aACxD,SAAS,CAAC;YACT,IAAI,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;gBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACjC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAiC;gBAC1D,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,EAAE,KAAK,CAAC,EAAE;gBACb,YAAY;YACd,CAAC;SACF,CAAC;IACN,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;iBACrC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC;gBACT,IAAI,EAAE,MAAM,CAAC,EAAE;oBACb,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI;wBAChC,OAAO;oBACT,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzI,CAAC;IAMD,UAAU;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK;YAC/C,UAAU,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,MAAM,CAAC,aAAkC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAC/G,CAAC;IAED,MAAM;QACJ,IAAI,UAA4B,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,EAAE;YACpC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SACjF;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;SAC7C;QAED,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aAC/D,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC;IACN,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,UAAU,IAAE,MAAM,CAAC,WAAW,IAAE,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzL,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC1E,CAAC;;kGArKU,yBAAyB;uHAAzB,yBAAyB;;;;;;;;QClBtC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,2HA4UM;QACV,4DAAM;QAGN,oNAgDc;QAGd,mNAiBc;;QApZmB,2DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLJ;;;;;;;;;;;;;;ICStC,mEAAgE;;;IAEhE,mEAA4D;;;;IAfhE,yEAAoC;IAChC,yEAAkE;IAC9D,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,uEAA+B;IAAA,4DAAC;IAAA,4DAAI;IACpC,uEAA+B;IAAA,mFAAI;IAAA,4DAAI;IACvC,4EAA6G;IAAlC,6UAAiC;IACxG,wEAAqC;IAAA,mEAAO;IAAA,4DAAI;IAChD,wEAAa;IAAA,0FAAK;IAAA,4DAAI;IAC1B,4DAAS;IACb,4DAAM;IAEN,0EAA2B;IAAA,oFAAI;IAAA,4DAAK;IAEpC,oJAAgE;IAEhE,oJAA4D;IAChE,4DAAM;;;;;IAHa,2DAAgC;IAAhC,iFAAgC;IAEhC,0DAA4B;IAA5B,iFAA4B;;;IAoBvB,wEAA8F;IAAA,6EAAG;IAAA,4DAAI;;;IACrG,wEAAiH;IAAA,6EAAG;IAAA,4DAAI;;;IACxH,wEAA4F;IAAA,mFAAI;IAAA,4DAAI;;;IACpG,wEAAyF;IAAA,mFAAI;IAAA,4DAAI;;;IACjG,wEAAyF;IAAA,6EAAG;IAAA,4DAAI;;;IALpG,wEAAqC;IACjC,oJAAqG;IACrG,oJAAwH;IACxH,oJAAoG;IACpG,oJAAiG;IACjG,oJAAgG;IACpG,qEAAe;;;IAL8C,0DAAyB;IAAzB,4FAAyB;IAC1B,0DAA6C;IAA7C,uHAA6C;IAC/C,0DAA0B;IAA1B,6FAA0B;IAC1B,0DAAuB;IAAvB,0FAAuB;IACtB,0DAAsB;IAAtB,yFAAsB;;;IAGjF,wEAAwF;IAAA,6EAAG;IAAA,4DAAI;;;IAC/F,wEAAoF;IAAA,6EAAG;IAAA,4DAAI;;;IAO3F,uEAA8D;IAAA,mFAAI;IAAA,4DAAI;;;IACtE,uEAAqD;IAAA,mFAAI;IAAA,4DAAI;;;;IAe7D,uEAA4D;IAAA,uDAA2E;;IAAA,4DAAI;;;IAA/E,0DAA2E;IAA3E,6TAA2E;;;IACvI,uEAA4D;IAAA,mFAAI;IAAA,4DAAI;;;IAOpE,wEAA0C;IACtC,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,wEAAoC;IAAA,uDAAmB;IAAA,4DAAI;IAC3D,uEAAa;IAAA,uDAA2C;;IAAA,4DAAI;IAChE,qEAAe;;;IAFyB,0DAAmB;IAAnB,sFAAmB;IAC1C,0DAA2C;IAA3C,sOAA2C;;;IAE5D,uEAAyC;IAAA,mFAAI;IAAA,4DAAI;;;;IA3DjE,0EAA4B;IACxB,0EAAoB;IAChB,wEAA4B;IAAA,uDAA8C;;IAAA,4DAAI;IAC9E,uEAAa;IAAC,uDAAiF;;;IAAA,4DAAI;IACvG,4DAAM;IAEN,0EAAkB;IACd,2EAAgD;IAC5C,2EAA6B;IACzB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,qEAAG;IAAA,wDAAyB;IAAA,4DAAI;IACpC,4DAAM;IACN,2EAA8B;IAC1B,yEAAgG;;IAAA,oFAAI;IAAA,4DAAI;IACxG,4JAMe;IAEf,sIAA+F;IAC/F,sIAA2F;IAC/F,4DAAM;IACV,4DAAM;IAEN,2EAAgD;IAC5C,2EAA6B;IACzB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,sIAAsE;IACtE,sIAA6D;IACjE,4DAAM;IACN,2EAA8B;IAC1B,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,wEAAa;IAAA,wDAAwD;;IAAA,4DAAI;IAC7E,4DAAM;IACV,4DAAM;IAEN,2EAAgD;IAC5C,2EAA6B;IACzB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,qEAAG;IAAA,wDAAgG;;;IAAA,4DAAI;IAC3G,4DAAM;IACN,2EAA8B;IAC1B,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,sIAA2I;IAC3I,sIAAoE;IACxE,4DAAM;IACV,4DAAM;IAEN,2EAAyC;IACrC,2EAA6B;IACzB,yEAAoC;IAAA,wEAAE;IAAA,4DAAI;IAC1C,4JAIe;IACf,sIAAiD;IACrD,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAoD;IAChD,8EAA0D;IAA3B,wUAAgB;IAAW,wEAAE;IAAA,4DAAS;IACzE,4DAAM;IACV,4DAAM;;;IAjE8B,0DAA8C;IAA9C,8PAA8C;IAC5D,0DAAiF;IAAjF,qWAAiF;IAM7D,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC3F,0DAAyB;IAAzB,2FAAyB;IAGX,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IACtE,0DAAoB;IAApB,uFAAoB;IAQoB,0DAAqB;IAArB,wFAAqB;IAC1B,0DAAsB;IAAtB,yFAAsB;IAM9C,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAA8C;IAA9C,iHAA8C;IAC9C,0DAAqC;IAArC,wGAAqC;IAGf,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IACjF,0DAAwD;IAAxD,oSAAwD;IAM3C,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC3F,0DAAgG;IAAhG,6SAAgG;IAGzE,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAA4C;IAA5C,+GAA4C;IAC5C,0DAA4C;IAA5C,+GAA4C;IAOjC,0DAAyB;IAAzB,4FAAyB;IAKpC,0DAAyB;IAAzB,4FAAyB;;;;;;IAa7C,0EAAkC;IAC9B,0EAAyC;IACrC,wEAA6F;IAAlB,8TAAe,CAAC,IAAC;IAAC,uDAAsD;;IAAA,4DAAI;IACvJ,wEAA6F;IAAlB,8TAAe,CAAC,IAAC;IAAC,uDAAsD;;IAAA,4DAAI;IAC3J,4DAAM;IAEN,0EAAuC;IACnC,0EAAoG;IAChG,2EAA6C;IACzC,qGAAsG;IAAzB,+VAAiB,KAAK,KAAE;IAAC,4DAAgC;IAC1I,4DAAM;IACN,2EAA6C;IACzC,sGAAsG;IAAzB,gWAAiB,KAAK,KAAE;IAAC,4DAAiC;IAC3I,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAd8C,0DAA8B;IAA9B,4JAA8B;IAAmB,0DAAsD;IAAtD,2PAAsD;IACvG,0DAA8B;IAA9B,4JAA8B;IAAmB,0DAAsD;IAAtD,iQAAsD;IAI5F,0DAA4C;IAA5C,6KAA4C;IAE5D,0DAAyB;IAAzB,yFAAyB;IAGxB,0DAAwB;IAAxB,wFAAwB;;ADnF3E,MAAM,UAAU;IAGf,YAAY,UAAuB;QACjC,IAAI,CAAC,IAAI,GAAC,UAAU,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAC,UAAU,CAAC,WAAW,CAAC;IAC1C,CAAC;CACF;AACA,MAAO,WAAW;IAGjB,YAAY,UAAwB;QAClC,IAAI,CAAC,KAAK,GAAC,UAAU,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAC,UAAU,CAAC,OAAO,CAAC;IAClC,CAAC;CACF;AAQM,MAAM,6BAA6B;IASxC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,aAA4B,EAC5B,KAAqB,EACrB,QAAkB,EAClB,gBAAkC,EAClC,aAA4B;QAN5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAgB;QACrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAdtC,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACjD,QAAG,GAAW,CAAC,CAAC;IAcZ,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,GAAE,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,EAAC,KAAK,CAAC;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,IAAG,CAAC,SAAS;YACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;iBACrC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAC,KAAI,EAAC,KAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvE,SAAS,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,EAAE;oBACZ,MAAM,IAAI,GAAc;wBACtB,KAAK,EAAC,KAAK,CAAC,KAAK;wBACjB,OAAO,EAAC,EAAE;qBACX,CAAC;oBACF,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAE;wBAC5B,MAAM,IAAI,GAAY,EAAC,IAAI,EAAC,MAAM,CAAC,IAAI,EAAC,WAAW,EAAC,MAAM,CAAC,WAAW,EAAC,CAAC;wBACxE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC,CAAC;oBACF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAE,IAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC;wBAC3D,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC;wBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;gBACH,CAAC;aACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YACtB,OAAO,CAAC,CAAC;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACvH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,UAAU,IAAG,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzI,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACjC,CAAC;;0GA9EU,6BAA6B;2HAA7B,6BAA6B;QC5C1C,0HAgBM;QAGN,uNAqEc;QAGd,uNAkBc;QAEd,4FAAmF;QAAzB,yKAAW,UAAM,KAAK,CAAC,IAAC;QAAC,4DAAyB;;QA/GvF,6EAAa;QA+GV,0DAAa;QAAb,0EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7GL;AACU;AACoB;;;;;;;;;;;;;;;;;ICiClD,oEAA4D;;;IAuDhD,yEAAmI;;IAAA,oFAAI;IAAA,6DAAI;;IAAvF,gLAAqC;IAAC,wFAA8B;;;IACxH,yEAAmI;;IAAA,oFAAI;IAAA,6DAAI;;IAAvF,gLAAqC;IAAC,wFAA8B;;;IAOpH,2EAA8E;IAC1E,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAiG;IAC7F,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAyE;IACrE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA4E;IACxE,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IAZV,yEAAqC;IACjC,gJAEM;IACN,gJAEM;IACN,gJAEM;IACN,gJAEM;IACV,sEAAe;;;IAZwC,2DAAyB;IAAzB,yFAAyB;IAG1B,2DAA6C;IAA7C,gHAA6C;IAG9C,2DAAsB;IAAtB,sFAAsB;IAGvB,2DAA0B;IAA1B,0FAA0B;;;IAI9E,2EAAyE;IACrE,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAyE;IACrE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAAwE;IACpE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IAKN,qEAA+B;IAAA,wDAAmB;IAAA,6DAAI;;;IAAvB,2DAAmB;IAAnB,kFAAmB;;;IAClD,yEAA8G;;IAAA,oFAAI;IAAA,6DAAI;;IAAvF,gLAAqC;IAAC,wFAA8B;;;;;IA9C3G,2EAA6D;IACzD,2EAA2F;IACvF,6EAAgF;IAAzD,kPAA8B;IAArD,6DAAgF;IACpF,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAgB;IAAA,6DAAI;IAC3B,6DAAM;IACN,2EAAwE;IACpE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,2EAAsE;IAClE,8HAA2I;IAC3I,8HAA2I;IAC/I,6DAAM;IACN,4EAA4E;IACxE,sEAAG;IAAA,yDAA6C;;IAAA,6DAAI;IACxD,6DAAM;IACN,4EAAuE;IACnE,oJAae;IACf,kIAEM;IACN,kIAEM;IACN,kIAEM;IAEN,iEAAO;IACX,6DAAM;IACN,4EAAsE;IAClE,8HAAsD;IACtD,8HAAsH;IAC1H,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAA4C;;IAAA,6DAAI;IACvD,6DAAM;IACN,4EAAqE;IACjE,0EAAwG;IAAA,yEAAE;IAAA,6DAAI;IAC9G,0EAA4F;IAAhD,mZAAqC;IAAW,yEAAE;IAAA,6DAAI;IAClG,0EAA+E;IAAnC,sYAAwB;IAAW,qFAAI;IAAA,6DAAI;IAC3F,6DAAM;IACV,6DAAM;;;IAtDyB,2DAA8B;IAA9B,yFAA8B;IAGlD,2DAAgB;IAAhB,+EAAgB;IAGhB,2DAAyB;IAAzB,wFAAyB;IAGxB,2DAA8C;IAA9C,8GAA8C;IAC9C,2DAA8C;IAA9C,8GAA8C;IAG/C,2DAA6C;IAA7C,yKAA6C;IAGjC,2DAAoB;IAApB,oFAAoB;IAca,2DAAuB;IAAvB,uFAAuB;IAGtB,2DAAsB;IAAtB,sFAAsB;IAGtB,2DAAqB;IAArB,qFAAqB;IAOlE,2DAAyB;IAAzB,yFAAyB;IACzB,2DAAyB;IAAzB,yFAAyB;IAG1B,2DAA4C;IAA5C,wKAA4C;IAGR,2DAAsD;IAAtD,iKAAsD;;;IAMrG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAEV,oEAA4D;;;;;;IAOpE,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAAmH;IAAxC,iVAA6B;IAAW,oFAAI;IAAA,6DAAI;IAE3H,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,uXAAkC,iRAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,0VAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,8WAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,2VAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADnK1F,MAAM,2BAA2B;IAwBtC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,mBAAwC,EACxC,aAA4B;QAL5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QA5BtC,aAAQ,GAAsB,EAAE,CAAC;QACjC,WAAM,GAAsB,EAAE,CAAC;QAE/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC;QAgDF,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACrE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAqC,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAiC,CAAC,CAAC,QAAkB,EAAE,EAAE;YACzE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAnEV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACrD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACxI,CAAC;IAED,KAAK,CAAC,MAAuB;QAC3B,IAAI,MAAM,CAAC,QAAQ;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YAEzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAiCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/E,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACzE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/E,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACtF,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9G,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC3G,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,wBAAwB,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;aACA;YACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAChE;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,WAAmB;QAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAClI,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,GAAG,+CAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAGjG,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChH,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;SACrJ;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,0BAA0B,CAAC;aAC1D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACrJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAwB;QAC5B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;aACzC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAE,sBAAsB,EAAC,IAAG,EAAC,IAAG,CAAC,CAAC;YAC7G,IAAG,KAAK,CAAC,MAAM,IAAE,MAAM;gBACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3E,IAAG,KAAK,CAAC,KAAK,IAAE,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,IAAG,KAAK,CAAC,KAAK,IAAE,CAAC,CAAC;gBAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3E,IAAG,KAAK,CAAC,wBAAwB,IAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxG,iCAAiC;YACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAC,KAAK,CAAC,SAAS,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;;sGAlMU,2BAA2B;0HAA3B,2BAA2B;QClBxC,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACrB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,6DAAI;QAE7C,2EAA4B;QACxB,2EAA4B;QACxB,2EAAgD;QAC5C,mFAAqI;QAErI,+EAAqD;QAAlB,qJAAS,WAAO,IAAC;QAChD,0EAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAyE;QACrE,0EAAqC;QAAA,uEAAU;QAAA,6DAAI;QACnD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAmE;QAA3B,qJAAS,oBAAgB,IAAC;QAC9D,0EAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QACb,6DAAM;QAEN,4EAAoF;QAChF,qFAAqE;QACrE,0FAA0F;QAC1F,sGAAkH;QAClH,4FAAgG;QACpG,6DAAM;QAEN,6IAA4D;QAC5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,oJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA0J;QAA1H,2NAA4E,IAAI,iCAA4B,IAAI,SAAC,WAAO,IAAC;QACrJ,0EAA6F;QAAA,0EAAa;QAAA,6DAAI;QAC9G,0EAA4F;QAAA,4EAAe;QAAA,6DAAI;QACnH,6DAAM;QACV,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC9F,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAAkK;QAAlI,mOAAoF,IAAI,iCAA4B,IAAI,SAAC,WAAO,IAAC;QAC7J,0EAAqG;QAAA,0EAAa;QAAA,6DAAI;QACtH,0EAAoG;QAAA,4EAAe;QAAA,6DAAI;QAC3H,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAAiK;QAAjI,iOAAkF,IAAI,kCAA6B,IAAI,SAAC,WAAO,IAAC;QAC5J,0EAAoG;QAAA,0EAAa;QAAA,6DAAI;QACrH,0EAAmG;QAAA,4EAAe;QAAA,6DAAI;QAC1H,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,6HAwDM;QAEN,2HAIM;QACV,6DAAQ;QACR,6IAA4D;QAChE,6DAAM;QACV,6DAAM;QACV,6DAAM;QAGN,0NAgCc;;;QA3KmC,4DAAoC;QAApC,yKAAoC;QAmBlD,4DAA6B;QAA7B,2FAA6B;QACX,2DAA2B;QAA3B,yFAA2B;QACf,2DAA2B;QAA3B,yFAA2B;QACrC,2DAA6B;QAA7B,2FAA6B;QAGzD,2DAA4B;QAA5B,kFAA4B;QAIR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAkD;QAAlD,qKAAkD;QAClD,2DAAiD;QAAjD,oKAAiD;QAO5F,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAGpE,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAA0D;QAA1D,6KAA0D;QAC1D,2DAAyD;QAAzD,4KAAyD;QAUpG,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAAyD;QAAzD,4KAAyD;QACzD,2DAAwD;QAAxD,2KAAwD;QAQ9D,2DAAW;QAAX,kFAAW;QA0D9B,2DAA0B;QAA1B,2FAA0B;QAM5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChJwB;AAC5B;AACkB;AACP;;;;;;;;;;;;;;;ICmBtC,0EAAyF;IACrF,wEAA0B;IAAA,uDAAuB;IAAA,4DAAI;IACrD,wEAAkB;IAAA,uDAAiB;IAAA,4DAAI;IACvC,wEAAiF;IAAzC,mYAA8B;IAAW,uEAAE;IAAA,4DAAI;IAC3F,4DAAM;;;IAHwB,0DAAuB;IAAvB,qFAAuB;IAC/B,0DAAiB;IAAjB,+EAAiB;;;IAyB3C,wEAA4E;IACxE,qFAA2G;IAC3G,qEAA+D;IACnE,qEAAe;;;;;IAFU,0DAAqB;IAArB,iFAAqB;;;;IAI9C,0EAAkI;IAArD,+TAAuB;IAChG,wEAA6D;IAAA,qEAAU;IAAA,4DAAI;IAC3E,wEAA0C;IAAA,gJAAe;IAAA,4DAAI;IACjE,4DAAM;;ADxCnB,MAAM,0BAA0B;IAYrC,YACU,aAA4B,EAC5B,cAA8B,EAC9B,cAA8B,EAC9B,qBAA4C,EAC5C,mBAAwC;QAJxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,wBAAmB,GAAnB,mBAAmB,CAAqB;QAflD,YAAO,GAAa,EAAE,CAAC;QAEvB,cAAS,GAAc,IAAI,qDAAS,CAAC,EAAE,CAAC,CAAC;QACzC,SAAI,GAAa,EAAE,CAAC;QAEpB,aAAQ,GAAc,IAAI,qDAAS,CAAC;YAClC,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACvD,eAAe,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC9D,CAAC,CAAC;QAqDH,sBAAiB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACtE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACrI,SAAS,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,CAAC;aACF,CAAC;QACN,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAab,mBAAc,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YAClC,IAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI;gBACxE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACvF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IArEV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,+CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE;YAC9C,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE;YACpD,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;SACtC,CAAC;aACC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAC5B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,qDAAS,CAAC;gBAC5C,IAAI,EAAE,IAAI,uDAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpC,QAAQ,EAAE,IAAI,uDAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,+DAAmB,CAAC,CAAC;gBACnE,OAAO,EAAE,IAAI,uDAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;gBAC9D,OAAO,EAAE,IAAI,qDAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,uDAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,+DAAmB,CAAC,CAAC,CAAC,CAAC;aAC9G,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAK,CAAC,KAAK,0CAAE,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,WAAK,CAAC,KAAK,0CAAE,IAAI,CAAC,CAAC;YAEtE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;gBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC9G,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;IACtE,CAAC;IAWD,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,qDAAS,CAAC;YAChC,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,OAAO,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACrD,OAAO,EAAE,IAAI,qDAAS,CAAC;gBACrB,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;gBAC5C,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;aAC7C,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;IAOD,IAAI;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,sGAA2C,CAAC,wCAAK,CAAC,CAAC,CAAC;YAChG,OAAO;SACR;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,sGAA2C,CAAC,wCAAK,CAAC,CAAC,CAAC;YAChG,OAAO;SACR;QACD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAiF,CAAC;QAEjH,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACzE,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,OAAO;YAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC,CAAC;QAEN,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aAC5G,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC/C,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC;YACxC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,OAAO;YAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC,CAAC;QAER,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC;QAExI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,+CAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7E,IAAI,CAAC,+DAAc,EAAE,EACpB,0DAAS,CAAC,GAAG,EAAE,CACb,+CAAQ,CAAC;YACP,MAAM,EAAE,+CAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,+DAAc,EAAE,CAAC;YACnD,MAAM,EAAE,+CAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,+DAAc,EAAE,CAAC;YACnD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC,EACL,yDAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;aACJ,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CACrD,yGAA8C,CAAC,IAAI,6CAAU,CAAC,UAAU,CAAC,EAAE;gBACzE,IAAI,CAAC,SAAS,EAAE;YAClB,CAAC,CAAC,CAAC,CAAC;YACN,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CACtD,sGAA2C,CAAC,IAAI,6CAAU,CAAC,UAAU,CAAC,EAAE;gBACtE,IAAI,CAAC,SAAS,EAAE;YAClB,CAAC,CAAC,CAAC,CAAC;SACP,CAAC,CAAC;IACP,CAAC;;oGA/IU,0BAA0B;wHAA1B,0BAA0B;;QClBvC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,0EAA4B;QAExB,0EAAqB;QACjB,0EAAuB;QACnB,yEAAwG;;QAAA,oFAAI;QAAA,4DAAI;QAChH,yEAA4C;QAAA,+GAAW;QAAA,4DAAI;QAC/D,4DAAM;QAEN,0EAAuB;QACnB,yEAA0H;;QAAA,oFAAI;QAAA,4DAAI;QAClI,2EAA2D;QACvD,yEAAyI;;QAAA,qNAA4B;QAAA,4DAAI;QACzK,sEAA2C;QAC3C,yHAIM;QACN,2EAAqF;QAA5C,8RAAS,4BAAiC,IAAC;QAChF,yEAAyC;QAAA,oFAAI;QAAA,4DAAI;QACjD,yEAAyC;QAAA,sEAAU;QAAA,4DAAI;QAC3D,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,uFAAgF;QACpF,4DAAM;QAEN,0EAAqB;QACjB,0EAAuB;QACnB,yEAAwG;;QAAA,oFAAI;QAAA,4DAAI;QAChH,yEAA4C;QAAA,+GAAW;QAAA,4DAAI;QAC/D,4DAAM;QAEN,2EAAuD;QACnD,wEAAa;QAAA,oXAAoD;QAAA,4DAAI;QACzE,4DAAM;QAEN,2EAAwG;QAEpG,2IAGe;QAEf,yHAGM;QACV,4DAAM;QACV,4DAAM;QAEN,4EAA6C;QACzC,0EAAuB;QACnB,yEAAwG;;QAAA,oFAAI;QAAA,4DAAI;QAChH,yEAA4C;QAAA,+GAAW;QAAA,4DAAI;QAC/D,4DAAM;QAEN,0EAAuB;QACnB,yEAA6C;QAAA,mVAAiD;QAAA,4DAAI;QACtG,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAA+G;;QACnH,4DAAM;QAEN,0EAAuB;QACnB,yEAAqJ;;QAAA,oFAAI;QAAA,4DAAI;QAC7J,2EAA6J;;QACjK,4DAAM;QACV,4DAAO;QAEP,2EAA4G;QACxG,8EAA4D;QAA3B,mJAAS,UAAM,IAAC;QAAW,yEAAG;QAAA,4DAAS;QAC5E,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;QA1EuC,2DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAKlD,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAEzE,0DAA6D;QAA7D,iTAA6D;QAAC,uFAA8B;QAExD,0DAAiB;QAAjB,uFAAiB;QAY/D,0DAA4B;QAA5B,yFAA4B;QAK/B,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAU1D,0DAAsB;QAAtB,2FAAsB;QAK6C,0DAA0B;QAA1B,0FAA0B;QAOlH,0DAAsB;QAAtB,mFAAsB;QAEX,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QASnE,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QACzB,0DAAyC;QAAzC,mMAAyC;QAIxC,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QACxD,0DAA+D;QAA/D,uUAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5E3H;AACoB;;;;;;;;;;;;;;;;;;ICoBlD,oEAA4D;;;;;;IAyCxD,2EAA6D;IACzD,2EAA2F;IACvF,2EAAyC;IACrC,6EAAqK;IAA9I,oPAA8B;IAArD,6DAAqK;IACzK,6DAAM;IACV,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACrH,6DAAM;IACV,6DAAM;;;;IA3B6B,2DAA8B;IAA9B,yFAA8B;IAItD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAIxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;IAYpE,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,2EAA2D;IACvD,wEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,yXAAkC,mRAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,4VAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,gXAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,6VAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IAzBmC,2DAAmB;IAAnB,sFAAmB;IAM/B,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;AD1H1F,MAAM,6BAA6B;IAuBxC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,aAA4B,EAC5B,QAAkB,EAClB,mBAAwC;QANxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAU;QAClB,wBAAmB,GAAnB,mBAAmB,CAAqB;QA5BlD,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAc,EAAE,CAAC;QAEvB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAsDF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAmBd,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAnGV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QACxK,CAAC,CAAC,CAAC;IACL,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IASD,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAAC,CAAC;YACtF,OAAO;SACR;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;;0GAtJU,6BAA6B;4HAA7B,6BAA6B;QCrB1C,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACrB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAA0B;QAAA,oFAAI;QAAA,6DAAI;QAClC,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,yEAAqC;QAAA,qFAAI;QAAA,6DAAI;QAE7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,4EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QAEjG,6DAAM;QAEN,+IAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,yEAAgC;QACpC,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA4H;QAA5F,+NAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACnB,4EAA0H;QAA1F,6NAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,+HA8BM;QAEN,6HAIM;QACV,6DAAQ;QAER,+IAA4D;QAE5D,4EAAoG;QAChG,+EAA0D;QAA3B,uJAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,uJAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAGN,4NA8Bc;;;QApIgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAI5C,2DAA4B;QAA5B,kFAA4B;QAUe,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAqBrD,4DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QAgC9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvGR;AACQ;AACD;AACF;AACc;AACL;AACM;AACuC;AACN;AACG;AACH;AACH;AACQ;AACO;AACc;AACG;AACzC;AAC0B;AACT;;;;AAEzG,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,mHAA2B,EAAE;IAC5D,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,6GAAyB,EAAE;IACxD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,gHAA0B,EAAE;IAC1D,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,6GAAyB,EAAE;IAC9D,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,yHAA6B,EAAE;IAC7E,EAAE,IAAI,EAAE,iCAAiC,EAAE,SAAS,EAAE,4HAA6B,EAAE;IACrF,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;CACvC,CAAC;AA4BK,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;8GAXd;YACP,0DAAY;YACZ,mEAAqB,CAAC,MAAM,CAAC;YAC7B,0EAAwB,EAAE;YAC1B,4DAAW;YACX,wDAAW;YACX,gEAAmB;YACnB,wEAAgB;YAChB,8EAAmB;SACpB;oIAEU,YAAY,mBAxBrB,mHAA2B;QAC3B,6GAAyB;QACzB,gHAA0B;QAC1B,6GAAyB;QACzB,0GAAuB;QACvB,kHAAyB;QACzB,yHAA6B;QAC7B,uIAAgC;QAChC,0IAAiC;QACjC,kGAAoB;QACpB,4HAA6B;QAC7B,mHAAyB,aAGzB,0DAAY,iIAGZ,4DAAW;QACX,wDAAW;QACX,gEAAmB;QACnB,wEAAgB;QAChB,8EAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDyB;AAC0B;AACZ;AAMS;;;;;;;;;;;;;;;;;;ICVnE,yEAAwC;IACpC,0EAA4B;IACxB,8EAAmH;IAAA,oFAAI;IAAA,6DAAS;IACpI,6DAAM;IACV,sEAAe;;IAFgC,2DAAiE;IAAjE,+IAAiE;;;IAqBxG,yEAAmD;IAAA,kEAAC;IAAA,6DAAI;;;IAM5C,yEAA6F;IAAA,sEAAU;IAAA,6DAAI;;;IAC3G,yEAAyG;IAAA,0EAAc;IAAA,6DAAI;;;IAJnI,2EAA4F;IACxF,2EAAkD;IAC9C,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IACxB,4IAA2G;IAC3G,4IAA2H;IAC/H,6DAAM;IACV,6DAAM;;;IAJK,2DAAiB;IAAjB,iFAAiB;IAC2C,2DAA4B;IAA5B,6FAA4B;IACzB,2DAAqC;IAArC,sGAAqC;;;IALnH,2EAA6D;IACzD,0IAMM;IACV,6DAAM;;;IAPoE,2DAAoB;IAApB,+FAAoB;;;IApBtG,yEAAgC;IAC5B,yEAA4C;IAAA,+GAAW;IAAA,6DAAI;IAE3D,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,6DAAI;IACjH,wEAAoF;IACpF,wEAAkH;IACtH,6DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,yEAAiF;IACjF,+EAAiJ;IAAA,qFAAI;IAAA,6DAAS;IAClK,6DAAM;IAEN,4EAAuB;IACnB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,iIAAwD;IAExD,qIAQM;IACV,6DAAM;IACV,sEAAe;;;IAzBmB,2DAAqC;IAArC,iLAAqC;IAAC,wFAA8B;IACrD,2DAAiC;IAAjC,kGAAiC;IACH,2DAAiC;IAAjC,kGAAiC;IAK/D,2DAA8B;IAA9B,+FAA8B;IACF,2DAAiE;IAAjE,gJAAiE;IAIrH,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IACjF,2DAAmC;IAAnC,uGAAmC;IAEd,2DAAkC;IAAlC,sGAAkC;;;IAmBvD,8EAAgE;IAAA,wDAAe;IAAA,6DAAS;;;IAA9C,mFAAqB;IAAC,2DAAe;IAAf,+EAAe;;;IAM/E,8EAAqF;IAAA,wDAAkB;IAAA,6DAAS;;;IAApD,sFAAwB;IAAC,2DAAkB;IAAlB,kFAAkB;;;IAK3G,yEAA6C;IAAA,0FAAK;IAAA,6DAAI;;;IAD1D,2EAA+E;IAC3E,uHAAsD;IAC1D,6DAAM;;;IADE,2DAA6B;IAA7B,iGAA6B;;;IAUjC,yEAA0C;IAAA,sGAAO;IAAA,6DAAI;;;IADzD,2EAAyE;IACrE,uHAAqD;IACzD,6DAAM;;;IADE,2DAA0B;IAA1B,8FAA0B;;;IAS9B,yEAA2C;IAAA,kHAAS;IAAA,6DAAI;;;IACxD,yEAAuC;IAAA,kHAAS;IAAA,6DAAI;;;IAFxD,2EAA2E;IACvE,uHAAwD;IACxD,uHAAoD;IACxD,6DAAM;;;IAFE,2DAA2B;IAA3B,+FAA2B;IAC3B,2DAAuB;IAAvB,2FAAuB;;;IAa3B,yEAAyC;IAAA,kHAAS;IAAA,6DAAI;;;IACtD,yEAAqC;IAAA,kHAAS;IAAA,6DAAI;;;IAClD,yEAAwC;IAAA,4JAAgB;IAAA,6DAAI;;;IAHhE,2EAAsF;IAClF,uHAAsD;IACtD,uHAAkD;IAClD,uHAA4D;IAChE,6DAAM;;;IAHE,2DAAyB;IAAzB,6FAAyB;IACzB,2DAAqB;IAArB,yFAAqB;IACrB,2DAAwB;IAAxB,4FAAwB;;;IAQxB,2EAA4F;IACxF,yEAAO;IACH,wEAAqF;IACrF,yEAAgC;IAAA,wDAAwB;IAAA,6DAAI;IAChE,6DAAQ;IACZ,6DAAM;;;IAH2D,2DAA2B;IAA3B,yFAA2B;IACpD,2DAAwB;IAAxB,wFAAwB;;;;IAIhE,yEAA8C;IAC1C,mFAAqG;IAErG,8EAAmE;IAAhC,0VAAqB;IAAW,oFAAI;IAAA,6DAAS;IACpF,sEAAe;;;;IAHoB,2DAAa;IAAb,2EAAa;;;;IAKhD,8EAAiG;IAA/B,mVAAoB;IAAW,oFAAI;IAAA,6DAAS;;;IAMlH,yEAA+D;IAAA,8EAAG;IAAA,6DAAI;;;IACtE,2EAAqF;IACjF,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IAC5B,6DAAM;;;IADC,2DAAiB;IAAjB,iFAAiB;;;IAzBhC,yEAAgC;IAC5B,2EAAuB;IACnB,yEAAuJ;;IAAA,oFAAI;IAAA,6DAAI;IAC/J,2EAAgC;IAC5B,oIAKM;IAEN,sJAIe;IAEf,0IAA8G;IAClH,6DAAM;IACV,6DAAM;IAEN,2EAA4B;IACxB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,kIAAsE;IACtE,sIAEM;IACV,6DAAM;IACV,sEAAe;;;IA1BoC,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IAEvC,2DAAsB;IAAtB,gGAAsB;IAO3D,2DAAa;IAAb,uFAAa;IAMR,2DAA4B;IAA5B,gGAA4B;IAKnD,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IACjF,2DAA+C;IAA/C,mHAA+C;IACA,2DAAgC;IAAhC,0GAAgC;;;IAU/E,2EAA4F;IACxF,yEAAO;IACH,wEAA2F;IAC3F,yEAAgC;IAAA,wDAAwB;IAAA,6DAAI;IAChE,6DAAQ;IACZ,6DAAM;;;IAHiE,2DAA2B;IAA3B,yFAA2B;IAC1D,2DAAwB;IAAxB,wFAAwB;;;;IAIhE,yEAAoD;IAChD,mFAA2G;IAE3G,8EAAyE;IAAtC,gWAA2B;IAAW,oFAAI;IAAA,6DAAS;IAC1F,sEAAe;;;;IAHoB,2DAAa;IAAb,2EAAa;;;;IAKhD,8EAA6G;IAArC,yVAA0B;IAAW,oFAAI;IAAA,6DAAS;;;IAM9H,yEAAoE;IAAA,8EAAG;IAAA,6DAAI;;;IAC3E,2EAA0F;IACtF,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IAC5B,6DAAM;;;IADC,2DAAiB;IAAjB,iFAAiB;;;IAzBhC,yEAAkD;IAC9C,2EAAuB;IACnB,yEAAsJ;;IAAA,8EAAG;IAAA,6DAAI;IAC7J,2EAAgC;IAC5B,oIAKM;IAEN,sJAIe;IAEf,0IAA0H;IAC9H,6DAAM;IACV,6DAAM;IAEN,2EAA4B;IACxB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,kIAA2E;IAC3E,sIAEM;IACV,6DAAM;IACV,sEAAe;;;IA1BiE,2DAAoC;IAApC,0KAAoC;IAAC,wFAA8B;IAEnE,2DAAsB;IAAtB,iGAAsB;IAO3D,2DAAmB;IAAnB,8FAAmB;IAMd,2DAAkC;IAAlC,uGAAkC;IAKzD,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IACjF,2DAAoD;IAApD,yHAAoD;IACL,2DAAqC;IAArC,gHAAqC;;;IAWxF,yEAAuD;IAAA,sGAAO;IAAA,6DAAI;;;IAClE,yEAAkD;IAAA,yHAAW;IAAA,6DAAI;;;IACjE,yEAAkD;IAAA,4IAAe;IAAA,6DAAI;;;IAHzE,2EAAmG;IAC/F,uHAAkE;IAClE,uHAAiE;IACjE,uHAAqE;IACzE,6DAAM;;;IAHE,2DAAuC;IAAvC,4GAAuC;IACvC,2DAAkC;IAAlC,uGAAkC;IAClC,2DAAkC;IAAlC,uGAAkC;;;IASlC,8EAAuF;IAAA,wDAAyB;IAAA,6DAAS;;;IAAjH,6FAA+B;IAAgD,2DAAyB;IAAzB,yFAAyB;;;IAcxH,yEAAyC;IAAA,8EAAG;IAAA,6DAAI;;;;IAE5C,2EAAoE;IAChE,yEAA+D;IAAA,sJAAe;IAAA,6DAAI;IAClF,8EAAyH;IAAA,oFAAI;IAAA,6DAAS;IAC1I,6DAAM;;IAD0C,2DAAkE;IAAlE,+IAAkE;;;;IAa1G,2EAAkG;IAC9F,yEAAkB;IAAA,wDAA2B;IAAA,6DAAI;IACjD,yEAAuE;IAA/B,yZAA8B;IAAC,iEAAK;IAAA,6DAAI;IACpF,6DAAM;;;IAFgB,2DAA2B;IAA3B,2FAA2B;;;IAXzD,2EAAmE;IAC/D,2EAA+D;IAC3D,yEAAwC;IAAA,8EAAG;IAAA,6DAAI;IAC/C,yEAAgB;IAAA,wDAA4B;IAAA,6DAAI;IAChD,qEAAG;IAAA,6DAAC;IAAA,6DAAI;IACR,yEAAgB;IAAA,wDAA6B;IAAA,6DAAI;IACjD,0EAAa;IAAA,+EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,4EAAkF;IAC9E,4IAGM;IACN,0EAA2G;IAAA,uEAAU;IAAA,6DAAI;IAC7H,6DAAM;IACV,6DAAM;;;IAbkB,2DAA4B;IAA5B,gGAA4B;IAE5B,2DAA6B;IAA7B,iGAA6B;IAKe,2DAAmB;IAAnB,6FAAmB;IAIvC,2DAAkE;IAAlE,+IAAkE;;;IApBtH,yEAAyC;IACrC,oIAGM;IAEN,qIAgBM;IACV,sEAAe;;;IAtBsB,2DAAiC;IAAjC,sGAAiC;IAKjC,2DAAgC;IAAhC,qGAAgC;;ADvKtE,MAAM,sBAAsB;IAYjC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,cAA8B,EAC9B,cAA8B,EAC9B,qBAA4C,EAC5C,mBAAwC,EACxC,MAAc;QANd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QAjBxB,SAAI,GAAsB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QACnD,eAAU,GAAkB,EAAE,CAAC;QAC/B,qBAAgB,GAAkB,EAAE,CAAC;QAErC,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAE3B,cAAS,GAAmB,IAAI,CAAC;QACjC,iBAAY,GAAkB,EAAE,CAAC;QACjC,oBAAe,GAAqB,EAAE,CAAC;QAgEvC,cAAS,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAuBb,oBAAe,GAAG,CAAC,GAAG,EAAE;YACtB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QA6Fb,oCAAoC;QAC5B,mBAAc,GAAkB,IAAI,CAAC;IA/KzC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,+CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,yCAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3G,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;YACjD,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE;SACnE,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;;YACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAEjE,IAAG,WAAI,CAAC,SAAS,0CAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAE,IAAI,EAAC;oBACxF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACtD;aACF;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;gBACjD,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aACtF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,iFAAW,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,+CAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAC,WAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAI,CAAC,SAAS,0CAAE,IAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAC,CAAC;aACnI,IAAI,CAAC,+DAAc,EAAE,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAMD,cAAc;QACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,iFAAW,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,+CAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAC,WAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAI,CAAC,SAAS,0CAAE,IAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAC,CAAC;aACzI,IAAI,CAAC,+DAAc,EAAE,EAAE,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAMD,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAGD,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAChE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAChG,IAAI,CAAC,oDAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAChE,0DAAS,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EACjJ,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACnD,SAAS,CAAC,KAAK,CAAC,EAAE;YAEjB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CACnF,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iCAAiC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;YACnC,CAAC,CAAC,CACH,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,2BAA2B;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnG,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC;IAED,IAAI,6BAA6B;;QAC/B,IAAI,OAAO,GAAG,UAAI,CAAC,SAAS,0CAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,kCAAkC;;QACpC,IAAI,OAAO,GAAG,UAAI,CAAC,SAAS,0CAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrG,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;;4FAhMU,sBAAsB;qHAAtB,sBAAsB;;QCzBnC,0EAAuB;QACnB,qIAIe;QAEf,uIA6Be;QACnB,6DAAM;QAEN,2EAAqD;QACjD,0EAA4B;QACxB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAC5C,0EAAyB;QACrB,6EAA6D;QACzD,6EAA4C;QAAA,uGAAO;QAAA,6DAAS;QAC5D,2HAAwF;QAC5F,6DAAS;QACb,6DAAM;QACN,2EAA8B;QAC1B,+EAAyD;QACrD,8EAA4C;QAAA,yEAAE;QAAA,6DAAS;QACvD,2HAAgH;QACpH,6DAAS;QACb,6DAAM;QAEN,sHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,8EAA8K;QAAxE,+RAAS,UAAa,IAAC;;QAA7H,6DAA8K;QAC9K,sFAAkE;QAElE,sHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,mFAAkD;QAElD,sHAGM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,mFAAgD;QAChD,0EAAO;QACH,yEAAgE;QAChE,0EAA0B;QAAA,yEAAE;QAAA,6DAAI;QACpC,6DAAQ;QAER,sHAIM;QACV,6DAAM;QAEN,yIA4Be;QAEf,yIA4Be;QAEf,4EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,yEAAsH;;QACtH,0EAA4C;QAAA,6IAAe;QAAA,6DAAI;QAC/D,sHAIM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAyG;;QAAA,qFAAI;QAAA,6DAAI;QACjH,2EAAyB;QACrB,+EAAgE;QAC5D,+EAAmC;QAAA,qFAAI;QAAA,6DAAS;QAChD,2HAAyH;QAC7H,6DAAS;QACb,6DAAM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAuE;QAAA,yEAAE;QAAA,6DAAI;QAC7E,4EAAqF;QACzF,6DAAM;QACV,6DAAO;QAEP,4EAAuB;QACnB,2EAA4B;QACxB,0EAAqJ;;QAAA,qFAAI;QAAA,6DAAI;QAC7J,kHAAgD;QAChD,uIAuBe;QACnB,6DAAM;QACV,6DAAM;QAEN,4EAAiG;QAC7F,+EAA2D;QAA5B,gJAAS,WAAO,IAAC;QAAW,qFAAI;QAAA,6DAAS;QACxE,+EAA6F;QAA7B,gJAAS,YAAQ,IAAC;QAAW,0EAAG;QAAA,6DAAS;QAC7G,6DAAM;;;QAvNa,2DAAuB;QAAvB,wFAAuB;QAMvB,2DAAe;QAAf,gFAAe;QAgCV,2DAA4B;QAA5B,0FAA4B;QAK5B,2DAAgB;QAAhB,0EAAgB;QACC,2DAAe;QAAf,sFAAe;QAKhC,2DAAgB;QAAhB,0EAAgB;QACI,2DAA8B;QAA9B,qGAA8B;QAI5B,2DAAuC;QAAvC,4GAAuC;QAOiD,2DAAsC;QAAtC,mLAAsC;QAA9H,+EAAwB;QAGxB,2DAAiC;QAAjC,sGAAiC;QAM7C,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAC7E,2DAAc;QAAd,4EAAc;QAEO,2DAAmC;QAAnC,wGAAmC;QAO/C,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAC7E,2DAAY;QAAZ,0EAAY;QAMS,2DAA8C;QAA9C,uHAA8C;QAOzE,2DAAe;QAAf,gFAAe;QA8Bf,2DAAiC;QAAjC,sGAAiC;QA+BlB,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QACf,2DAAsC;QAAtC,mLAAsC;QAE/E,2DAA2D;QAA3D,gIAA2D;QAQvE,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAG9E,2DAAgB;QAAhB,0EAAgB;QAC2C,2DAAkB;QAAlB,yFAAkB;QAavB,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QACtI,2DAAyB;QAAzB,0FAAyB;QACd,2DAAwB;QAAxB,yFAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClLe;AAEpB;;;;;;;;;;;;ICV1C,mEAA4D;;;IAgCpD,yEAAmH;IAC/G,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IA8BF,oEAA4B;IAAA,4DAAC;IAAA,4DAAI;;;IAIjC,uEAA4I;IAAA,mFAAI;IAAA,4DAAI;;;IACpJ,uEAA0L;IAAA,mFAAI;IAAA,4DAAI;;;IAClM,wEAAyH;IAAA,mFAAI;IAAA,4DAAI;;;IACjI,wEAAuH;IAAA,6EAAG;IAAA,4DAAI;;;IAC9H,uEAAkG;IAAA,6EAAG;IAAA,4DAAI;;;IACzG,wEAAqH;IAAA,6EAAG;IAAA,4DAAI;;;IAC5H,wEAA8J;IAAA,uEAAE;IAAA,4DAAI;;;IACpK,uEAAoG;IAAA,6EAAG;IAAA,4DAAI;;;IAC3G,wEAAkF;IAAA,6EAAG;IAAA,4DAAI;;;IACzF,wEAA8E;IAAA,6EAAG;IAAA,4DAAI;;;IAIrF,oEAAyC;IAAA,4DAAC;IAAA,4DAAI;;;IAE1C,uEAA4D;IAAA,uDAA2C;;IAAA,4DAAI;;;IAA/C,0DAA2C;IAA3C,iKAA2C;;;IACvG,uEAAgL;;;IAA7G,sGAA0C;;;IAFjH,wEAA4C;IACxC,0JAA2G;IAC3G,kKAAgL;IACpL,qEAAe;;;IAFP,0DAA4C;IAA5C,2GAA4C;IACxC,0DAA2C;IAA3C,0GAA2C;;;;IAJ3D,0EAA0K;IACtK,2IAA8C;IAC9C,iKAGe;IACnB,4DAAM;;;IANuB,sNAAsD;IAC3E,0DAAmC;IAAnC,kGAAmC;IACxB,0DAA2B;IAA3B,0FAA2B;;;;;IAO1C,wEAAyD;IACrD,wEAAoJ;IAArD,6cAA0C;IAAW,uEAAE;IAAA,4DAAI;IAC1J,wEAAiM;IAA9C,scAAmC;IAAW,uEAAE;IAAA,4DAAI;IAC3M,qEAAe;;;IAFqB,0DAA8D;IAA9D,mLAA8D;IACzD,0DAA6G;IAA7G,qOAA6G;;;;IAGtJ,wEAAgG;IAC5F,wEAAoJ;IAAhD,wcAAqC;IAAW,uEAAE;IAAA,4DAAI;IAC9J,qEAAe;;;IADsB,0DAAkE;IAAlE,uLAAkE;;;;IAInG,wEAA8F;IAC1F,wEAAiJ;IAAzD,kYAAyC,IAAI,IAAC;IAAW,mFAAI;IAAA,4DAAI;IACzJ,wEAA0I;IAA7C,yeAAS,sBAAwB,IAAC;IAAW,uEAAE;IAAA,4DAAI;IACpJ,qEAAe;;;IAFqB,0DAAuD;IAAvD,4KAAuD;IAClD,0DAAuD;IAAvD,4KAAuD;;;;IAGhG,wEAA6D;IACzD,wEAA2F;IAA3D,meAAgD;IAAW,uEAAE;IAAA,4DAAI;IACjG,wEAA+F;IAA1D,kYAAyC,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IACzG,qEAAe;;;IATnB,wEAA0D;IACtD,0KAGe;IAEf,0KAGe;IACnB,qEAAe;;;IATI,0DAA6E;IAA7E,+IAA6E;IAK7E,0DAA4C;IAA5C,sJAA4C;;;;IAM/D,wEAA0D;IACtD,wEAAuG;IAAA,uEAAE;IAAA,4DAAI;IACjH,qEAAe;;;IAD2B,0DAAsD;IAAtD,gKAAsD;;;IAtExG,0EAA0E;IACtE,yEAAyE;IACrE,uEAAa;IAAA,uDAAwB;IAAA,4DAAI;IAC7C,4DAAM;IAEN,yEAAuE;IACnE,oEAAG;IAAA,uDAA2B;IAAA,4DAAI;IACtC,4DAAM;IAEN,yEAAuE;IACnE,oEAAG;IAAA,uDAAiC;IAAA,4DAAI;IAC5C,4DAAM;IAEN,0EAAyE;IACrE,qEAAG;IAAA,wDAAkC;;IAAA,4DAAI;IAC7C,4DAAM;IAEN,0EAAyE;IACrE,qEAAG;IAAA,wDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IAEN,0EAAyE;IACrE,qEAAG;IAAA,wDAAqB;IAAA,4DAAI;IAC5B,sIAAiC;IACrC,4DAAM;IAEN,0EAAyE;IACrE,sIAAoJ;IACpJ,sIAAkM;IAClM,sIAAiI;IACjI,sIAA8H;IAC9H,sIAAyG;IACzG,sIAA4H;IAC5H,sIAAoK;IACpK,sIAA2G;IAC3G,sIAAyF;IACzF,sIAAqF;IACzF,4DAAM;IAEN,0IAMM;IAEN,0EAAsE;IAClE,4JAGe;IAEf,4JAEe;IAEf,4JAUe;IAEf,4JAEe;IACnB,4DAAM;IACV,4DAAM;;;;IAvEe,0DAAwB;IAAxB,sFAAwB;IAIlC,0DAA2B;IAA3B,yFAA2B;IAI3B,0DAAiC;IAAjC,+FAAiC;IAIjC,0DAAkC;IAAlC,uJAAkC;IAIlC,0DAAmB;IAAnB,iFAAmB;IAInB,0DAAqB;IAArB,mFAAqB;IACpB,0DAAsB;IAAtB,qFAAsB;IAItB,0DAA4H;IAA5H,qMAA4H;IAC5H,0DAA0K;IAA1K,qPAA0K;IACtJ,0DAAqF;IAArF,2JAAqF;IACtF,0DAAoF;IAApF,0JAAoF;IACvG,0DAAkF;IAAlF,wJAAkF;IAC/D,0DAAkF;IAAlF,wJAAkF;IACpF,0DAA6H;IAA7H,0MAA6H;IAC9I,0DAAoF;IAApF,0JAAoF;IACjE,0DAA+C;IAA/C,8GAA+C;IACjD,0DAA6C;IAA7C,4GAA6C;IAGe,0DAAyC;IAAzC,4GAAyC;IAS3G,0DAAwC;IAAxC,2GAAwC;IAKxC,0DAA+E;IAA/E,yJAA+E;IAI/E,0DAAyC;IAAzC,4GAAyC;IAYzC,0DAA0C;IAA1C,4GAA0C;;;IAMjE,0EAAoE;IAChE,0EAA6B;IACzB,wEAAoC;IAAA,mFAAI;IAAA,4DAAI;IAChD,4DAAM;IACV,4DAAM;;;IAIV,0EAA2G;IACvG,wEAAgB;IAAA,uDAAoE;IAAA,4DAAI;IACxF,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,wEAA+B;IAAA,uDAAuB;;IAAA,4DAAI;IAC1D,uEAAa;IAAA,iHAAS;IAAA,4DAAI;IAC9B,4DAAM;;;IAJc,0DAAoE;IAApE,sJAAoE;IAErD,0DAAuB;IAAvB,iJAAuB;;;;IAOlD,0EAAwE;IACpE,uEAAa;IAAA,gGAAO;IAAA,4DAAI;IACxB,wEAA+B;IAAA,uDAAuC;IAAA,4DAAI;IAC1E,oEAAG;IAAA,uDAA4D;;IAAA,4DAAI;IACvE,4DAAM;;;IAF6B,0DAAuC;IAAvC,0GAAuC;IACnE,0DAA4D;IAA5D,iQAA4D;;;IAGnE,0EAAgD;IAC5C,uEAAa;IAAA,+FAAM;IAAA,4DAAI;IAC3B,4DAAM;;;IAEN,0EAAgH;IAC5G,uEAAa;IAAA,8EAAI;IAAA,4DAAI;IACrB,wEAA+B;IAAA,uDAAyC;IAAA,4DAAI;IAC5E,oEAAG;IAAA,4DAAC;IAAA,4DAAI;IACR,wEAAgB;IAAA,uDAA+B;IAAA,4DAAI;IACnD,uEAAa;IAAA,4GAAQ;IAAA,4DAAI;IACzB,yEAAgB;IAAA,wDAAoD;;IAAA,4DAAI;IAC5E,4DAAM;;;IAL6B,0DAAyC;IAAzC,4GAAyC;IAExD,0DAA+B;IAA/B,kGAA+B;IAE/B,0DAAoD;IAApD,kLAAoD;;;;IAlB5E,0EAAgD;IAE5C,gJAIM;IAEN,gJAEM;IAEN,iJAOM;IAEN,qEAA0B;IAE1B,0EAA6B;IACzB,6EAA0F;IAA/D,4XAAkC,8RAA0B,CAAC,IAA3B;IACzD,6EAA8B;IAAA,4EAAO;IAAA,4DAAS;IAC9C,6EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,uWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,oXAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,wWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IAEzJ,4DAAM;;;IArC4B,0DAAwC;IAAxC,2GAAwC;IAMxC,0DAAgB;IAAhB,mFAAgB;IAIhB,0DAAgF;IAAhF,0JAAgF;IAY/E,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;ADxJ1F,MAAM,oCAAoC;IAU/C,YACU,mBAAwC,EACxC,cAA8B,EAC9B,gBAAkC,EAClC,KAAqB,EACrB,kBAAsC;QAJtC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,UAAK,GAAL,KAAK,CAAgB;QACrB,uBAAkB,GAAlB,kBAAkB,CAAoB;QAZvC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QAE7C,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;SACjB,CAAC;IAQE,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACzE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAgB;QACpB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAClE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACpE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,WAAwB;QACtC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aAC1F,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBAC5C,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK;gBAC3C,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,sGAA2C,CAAC,CAAC;YAC3F,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO;YAC1C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE;uBACxD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;uBACrD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3I,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClK,CAAC;;wHA5FU,oCAAoC;kIAApC,oCAAoC;QCjBjD,kJAA4D;QAE5D,yEAA6B;QACzB,yEAAmC;QAC/B,yEAAyE;QACrE,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,yEAAuE;QACnE,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,yEAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QAEN,0EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,0EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,0EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,0EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QAEN,kIAEM;QAEN,0EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,qIAyEM;QAEN,mIAIM;QACV,4DAAM;QAGN,oIAKM;QAEN,iOAyCc;QAEd,mGAAmE;;;QA9KpD,iFAA4B;QAgCL,2DAAyC;QAAzC,yGAAyC;QASzB,0DAAsB;QAAtB,4FAAsB;QA2E3C,0DAAqC;QAArC,qGAAqC;QAQN,0DAAyC;QAAzC,yGAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3HhD;AAEf;AACoB;;;;;;;;;;ICElD,wEAAkC;IAAA,uDAA2B;IAAA,4DAAI;;;IAA/B,0DAA2B;IAA3B,6FAA2B;;;;IAOrD,wEAAqF;IAArB,gYAAoB;IAAC,+DAAI;IAAA,4DAAI;;;;IAC7F,wEAAmG;IAArB,oYAAoB;IAAC,sEAAW;IAAA,4DAAI;;;;IAGtH,wEAA0H;IAAA,uDAAyE;;IAAA,4DAAI;;;IAA7E,0DAAyE;IAAzE,2RAAyE;;;IAI3L,wEAAyE;IAAA,uDAAsB;IAAA,4DAAI;;;IAA1B,0DAAsB;IAAtB,qFAAsB;;;;;IADnG,wEAAqD;IACjD,kJAAmG;IACnG,0EAAkC;IAC9B,6EAA2L;IAA1E,kVAAS,8BAA0B,IAAI,CAAC,IAAC;IAAiC,iEAAC;IAAA,4DAAS;IACrM,6EAA6M;IAAhF,kVAAS,8BAA0B,UAAU,CAAC,IAAC;IAAiC,6EAAG;IAAA,4DAAS;IACzN,6EAA8L;IAA3E,kVAAS,8BAA0B,KAAK,CAAC,IAAC;IAAiC,iEAAC;IAAA,4DAAS;IAC5M,4DAAM;IACV,qEAAe;;;;IANwB,0DAAoC;IAApC,oGAAoC;IAErC,0DAAkF;IAAlF,8MAAkF;IAClF,0DAA8F;IAA9F,0NAA8F;IAC9F,0DAAoF;IAApF,iNAAoF;;;IAG1H,mEACe;;;IAVnB,0EAAkF;IAC9E,0JAOe;IACf,yJACe;IACnB,4DAAM;;;IAVa,0DAAoC;IAApC,oGAAoC;IAQpC,0DAAoC;IAApC,oGAAoC;;;IAInD,mEACe;;;IAEX,wEAAmF;IAAA,gFAAqB;IAAA,4DAAI;;;;IADhH,wEAAqD;IACjD,kJAA4G;IAC5G,0EAAkC;IAC9B,+EAAoG;IAA/B,2YAA8B;IAAC,4DAAW;IACnH,4DAAM;IACV,qEAAe;;;;IAJwB,0DAAoC;IAApC,oGAAoC;IAEzD,0DAAqB;IAArB,sFAAqB;;;IAN3C,0EAAkF;IAC9E,yJACe;IACf,yJAKe;IACnB,4DAAM;;;IARa,0DAAoC;IAApC,oGAAoC;IAEpC,0DAAoC;IAApC,oGAAoC;;;;IAc3D,6EAAqH;IAA7B,4UAAkB;IAAW,wEAAG;IAAA,4DAAS;;;;IAhD7I,yEAAwD;IAAlB,6TAAiB;IACnD,yEAAoE;IAAnC,8JAAS,wBAAwB,IAAC;IAC/D,uEAAsE;IAA5B,2TAAiB;IAAW,uEAAE;IAAA,4DAAI;IAE5E,yEAA6B;IACzB,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,2HAAiE;IACrE,4DAAM;IAEN,yEAAyD;IACrD,uEAA0C;IAAA,gGAAM;IAAA,4DAAI;IACpD,0EAA4D;IACxD,2EAA6D;IACzD,8HAA6F;IAC7F,8HAAkH;IACtH,4DAAM;IAEN,8HAAuM;IAEvM,kIAWM;;IACN,kIASM;;IACV,4DAAM;IACV,4DAAM;IAEN,sEAA0B;IAE1B,2EAAyE;IACrE,8EAA2D;IAA5B,iUAAiB;IAAW,yEAAG;IAAA,4DAAS;IACvE,wIAAiI;IACrI,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA7CuB,0DAAe;IAAf,kFAAe;IAO8B,0DAAQ;IAAR,iFAAQ;IACD,0DAAe;IAAf,wFAAe;IAG7C,0DAAqF;IAArF,wKAAqF;IAE/D,0DAAuB;IAAvB,uJAAuB;IAYvB,0DAAuB;IAAvB,uJAAuB;IAiBrB,0DAAuB;IAAvB,0FAAuB;;ADhC3F,MAAM,6BAA6B;IAWxC,YACU,gBAAkC,EAClC,mBAAwC,EACxC,cAA8B,EAC9B,KAAqB;QAHrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QAZxB,YAAO,GAAY,KAAK,CAAC;QACzB,cAAS,GAAQ,uBAAuB,CAAC;QAEzC,cAAS,GAAqB,IAAI,CAAC;QAEnC,WAAM,GAAW,CAAC,CAAC;QACnB,YAAO,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAOvC,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC;QAExC,IAAI,CAAC,SAAS,GAAG,uBAAuB;QAExC,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,gBAAgB,IAAI,IAAI,EAAE;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM;QACJ,IAAG,IAAI,CAAC,SAAS,IAAE,IAAI;YAAE,OAAO;QAChC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,EAAE;YACjC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,QAAQ,GAAQ,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,QAAQ,CAAC,GAAG,CAAC,GAAE;gBACb,CAAC,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,CAAC,EAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAE,QAAQ,EAAC,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;aAC5F,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,aAAa,EAAC,IAAI,CAAC,SAAS,IAAE,IAAI,EAAC,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAC,GAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAC/J,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE;gBAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtD,IAAG,IAAI,CAAC,SAAS,IAAE,IAAI;oBACvB,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAE;YAEhD,CAAC,CAAC,CAAC;iBACF,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;;QACH,IAAI,UAAI,CAAC,SAAS,0CAAE,yBAAyB;YAC3C,OAAO;QAET,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAClB,OAAO,KAAK,CAAC;QAEf,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK;gBACtC,KAAK,GAAG,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,yBAAyB,IAAI,IAAI,CAAC;IACpF,CAAC;;0GAzGU,6BAA6B;2HAA7B,6BAA6B;QChB1C,2HAmDM;;QAnDiB,6EAAa;;AD4HpC,MAAM,uBAAuB,GAAG;IAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,qDAAqD,EAAE,CAAC,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC,EAAE;IACjH,EAAE,EAAE,EAAE,CAAC,EAAE,4CAA4C,EAAE,CAAC,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC,EAAE;IACxG,EAAE,EAAE,EAAE,CAAC,EAAE,iDAAiD,EAAE,CAAC,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC,EAAE;IAC7G,YAAY,EAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC;CACzB,gBAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE/H2B;AACoB;AAGH;;;;;;;;;;;;;;;;;;ICyB3D,oEAA4D;;;IAwD5C,sEAAkE;;;IAWtE,2EAA2E;IACvE,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAwE;IACpE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA0E;IACtE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA0E;IACtE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA2E;IACvE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA8D;IAC1D,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAA2D;IACvD,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAyD;IACrD,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IAIN,qEAA0C;IAAA,6DAAC;IAAA,6DAAI;;;IAI/C,yEAAyE;IAAA,wDAA6C;IAAA,6DAAI;;;IAAjD,2DAA6C;IAA7C,4GAA6C;;;IACtH,qEAA+C;IAAA,wDAA4C;IAAA,6DAAI;;;IAAhD,2DAA4C;IAA5C,qHAA4C;;;;;;;IAxDnG,2EAA6D;IACzD,2EAA2F;IACvF,6EAAuF;IAAhE,+OAA8B;IAArD,6DAAuF;IAC3F,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAgB;IAAA,6DAAI;IAC3B,6DAAM;IACN,2EAAuE;IACnE,yEAA+F;IAAA,wDAAmC;IAAA,6DAAI;IAC1I,6DAAM;IACN,2EAAqE;IACjE,4EAA4E;IACxE,0EAAkB;IAAA,yDAA6B;IAAA,6DAAI;IACnD,+HAAkE;IACtE,6DAAM;IACN,iEAAO;IACX,6DAAM;IACN,4EAAuE;IACnE,0EAAkE;IAAA,yDAA0B;IAAA,6DAAI;IACpG,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAA4C;;IAAA,6DAAI;IACvD,6DAAM;IACN,4EAAuE;IACnE,+HAEM;IACN,+HAEM;IACN,+HAEM;IACN,+HAEM;IACN,+HAEM;IACN,+HAEM;IACN,+HAEM;IACN,+HAEM;IACN,iEAAO;IACX,6DAAM;IACN,4EAAsE;IAClE,2HAA+C;IAC/C,0EAAoE;IAAA,yDAA6C;;IAAA,6DAAI;IACzH,6DAAM;IACN,4EAAsI;IAClI,2HAA0H;IAC1H,2HAA+F;IAC/F,iEAAO;IACX,6DAAM;IACN,4EAA0G;IACtG,0EAA6E;IAAA,yEAAE;IAAA,6DAAI;IACnF,0EAA4F;IAAhD,gZAAqC;IAAW,yEAAE;IAAA,6DAAI;IAClG,0EAAqG;IAA3C,gOAA0C;IAAC,uEAAU;IAAA,6DAAI;IACnH,4EAAyE;IACrE,0EAAkM;IAAA,qFAAI;IAAA,6DAAI;IAC1M,0EAAkF;IAAxC,wYAA6B;IAAW,qFAAI;IAAA,6DAAI;IAC9F,6DAAM;IACV,6DAAM;IACV,6DAAM;;;IAlEyB,2DAA8B;IAA9B,yFAA8B;IAGlD,2DAAgB;IAAhB,+EAAgB;IAGa,2DAA8D;IAA9D,2KAA8D;IAAC,2DAAmC;IAAnC,kGAAmC;IAI5G,2DAA6B;IAA7B,4FAA6B;IACb,2DAA8B;IAA9B,8FAA8B;IAKjE,2DAAmC;IAAnC,gGAAmC;IAA4B,2DAA0B;IAA1B,yFAA0B;IAGzF,2DAA4C;IAA5C,wKAA4C;IAGd,2DAAwC;IAAxC,wGAAwC;IAGzC,2DAAsC;IAAtC,sGAAsC;IAGtC,2DAAwC;IAAxC,wGAAwC;IAGzC,2DAAyC;IAAzC,yGAAyC;IAGzC,2DAA0C;IAA1C,0GAA0C;IAG3C,2DAA8B;IAA9B,8FAA8B;IAG9B,2DAA2B;IAA3B,2FAA2B;IAG3B,2DAAyB;IAAzB,yFAAyB;IAMnD,2DAAoC;IAApC,oGAAoC;IACrC,2DAAqC;IAArC,kGAAqC;IAA4B,2DAA6C;IAA7C,wKAA6C;IAExF,2DAAqC;IAArC,kGAAqC;IAC1D,2DAAyC;IAAzC,yGAAyC;IACzC,2DAAyC;IAAzC,yGAAyC;IAIN,2DAA2B;IAA3B,wFAA2B;IAGrC,2DAA2C;IAA3C,wGAA2C;IAC/B,2DAAqF;IAArF,iKAAqF;;;IAMtI,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;;;IAIN,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAAmH;IAAxC,8UAA6B;IAAW,oFAAI;IAAA,6DAAI;IAE3H,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,oXAAkC,8QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,uVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,2WAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,wVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;;ADlK1F,MAAM,wBAAwB;IAuBnC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC,EACxC,aAA4B,EAC5B,aAA4B;QAN5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QA5BtC,aAAQ,GAAsB,EAAE,CAAC;QACjC,WAAM,GAAsB,EAAE,CAAC;QAC/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB;QAuCD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,QAAkB,EAAE,MAAe,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA5DV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACnD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;oBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAmCD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iCAAiC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAClJ,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,CAAC;IAED,iBAAiB;QACf,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxJ,CAAC;IAED,YAAY,CAAC,OAAwB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU,CAAC,OAAwB;QACjC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;aAC/C,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACnG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAEO,yBAAyB;QAC/B,OAAO,0BAA0B;cAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;SACzI;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAC9D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACzI,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;;gGA3MU,wBAAwB;uHAAxB,wBAAwB;QCnBrC,0EAAgD;QAC5C,kFAAqI;QAErI,6EAAqD;QAAlB,iJAAS,WAAO,IAAC;QAChD,wEAAqC;QAAA,mEAAO;QAAA,6DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,6EAAyF;QACrF,wEAAqC;QAAA,iEAAK;QAAA,6DAAI;QAC9C,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,8EAAoE;QAA5B,kJAAS,qBAAiB,IAAC;QAC/D,yEAAqC;QAAA,sEAAS;QAAA,6DAAI;QAClD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,8EAAmE;QAA3B,kJAAS,oBAAgB,IAAC;QAC9D,yEAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QACb,6DAAM;QAEN,2EAAoF;QAChF,qFAAwE;QACxE,qFAAsG;QACtG,iGAAwG;QACxG,6FAAkG;QACtG,6DAAM;QAEN,0IAA4D;QAE5D,4EAA8D;QAC1D,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,iJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA8G;QAA9E,4MAAgE,IAAI,SAAC,WAAO,IAAC;QACzG,0EAA2F;QAAA,0EAAa;QAAA,6DAAI;QAC5G,0EAA0F;QAAA,4EAAe;QAAA,6DAAI;QACjH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,+EAAG;QAAA,6DAAI;QACxB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAuE;QACnE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC1F,4EAAgH;QAAhF,8MAAkE,IAAI,SAAC,WAAO,IAAC;QAC3G,0EAA6F;QAAA,0EAAa;QAAA,6DAAI;QAC9G,0EAA4F;QAAA,4EAAe;QAAA,6DAAI;QACnH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QACN,0HAoEM;QAEN,wHAIM;QACV,6DAAM;QAEN,uNAgCc;;;QAtLuB,2DAAoC;QAApC,yKAAoC;QAO7B,2DAAgD;QAAhD,gJAAgD;QAiBpE,4DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QACnB,2DAA2B;QAA3B,yFAA2B;QAC/B,2DAA6B;QAA7B,2FAA6B;QAG7C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAgD;QAAhD,mKAAgD;QAChD,2DAA+C;QAA/C,kKAA+C;QAa1F,4DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAEzB,2DAAkD;QAAlD,qKAAkD;QAClD,2DAAiD;QAAjD,oKAAiD;QAgBvD,4DAAW;QAAX,kFAAW;QAsE9B,2DAA0B;QAA1B,2FAA0B;whGD/H7C,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBkC;AAE9B;AACF;AACoB;;;;;;;;;;;ICA9C,wEAAqF;IAArB,qXAAoB;IAAC,+DAAI;IAAA,4DAAI;;;;IAC7F,wEAAmG;IAArB,qXAAoB;IAAC,sEAAW;IAAA,4DAAI;;;;IAKtH,0EAAyF;IACrF,wEAA6B;IAAA,uDAA4C;;IAAA,4DAAI;IACjF,4DAAM;;;IAD2B,0DAA4C;IAA5C,+PAA4C;;;;;IAG7E,0EAAuF;IACnF,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IACxB,0EAA+B;IAC3B,6EAA4J;IAA5E,2YAAiC,CAAC,GAAG,IAAI,KAAE;IAAiC,iEAAC;IAAA,4DAAS;IACtK,6EAAwK;IAAlF,2YAAiC,CAAC,GAAG,UAAU,KAAE;IAAiC,6EAAG;IAAA,4DAAS;IACpL,6EAA8J;IAA7E,2YAAiC,CAAC,GAAG,KAAK,KAAE;IAAiC,iEAAC;IAAA,4DAAS;IAC5K,4DAAM;IACV,4DAAM;;;;IANC,0DAAiB;IAAjB,gFAAiB;IAEc,0DAAiD;IAAjD,yKAAiD;IACjD,0DAAuD;IAAvD,+KAAuD;IACvD,0DAAkD;IAAlD,2KAAkD;;;IAkBpF,wEAAiE;IAAA,+DAAI;IAAA,4DAAI;;;IACzE,wEAA+E;IAAA,sEAAW;IAAA,4DAAI;;;IAatG,oEAAoB;IAAA,uDAA0B;IAAA,4DAAI;;;IAA9B,0DAA0B;IAA1B,4FAA0B;;;IAC9C,wEAA8D;IAAA,uEAAE;IAAA,4DAAI;;;;IACpE,+EAA4G;IAAnC,6WAAkC;IAAC,4DAAW;;;IAA9C,gGAAkC;;;;IAI3G,6EAA+F;IAApC,qUAAyB;IAAW,wEAAG;IAAA,4DAAS;;ADzC5G,MAAM,sBAAsB;IAajC,YACU,mBAAwC,EACxC,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB;QAHrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QAdtB,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QAE7C,WAAM,GAAW,CAAC,CAAC;QACnB,YAAO,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,YAAO,GAAkB,IAAI,CAAC;QAC9B,aAAQ,GAAY,KAAK,CAAC;QAC1B,cAAS,GAAgC,EAAE,CAAC;QAC5C,uBAAkB,GAAS,IAAI,CAAC;QAChC,0BAAqB,GAAkB,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;IAO3C,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,IAAI,IAAI,CAAC,QAAQ;YACf,OAAO;QACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,UAAU,EAAE;YAG5C,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAAC;YACnD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,yBAAyB,CAAC;YACnD,IAAI,CAAC,kBAAkB,GAAC,SAAS,CAAC,kBAAkB,CAAC;YACrD,IAAI,OAAO,GAAkI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAEpL,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG;oBACf,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,uDAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,uDAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,uDAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzE,CAAC;gBACF,IAAI,CAAC,qBAAqB,GAAC,CAAC,uBAAuB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC7E;iBACI;gBACH,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;oBAC5B,IAAI,CAAC,SAAS,GAAG;wBACf,CAAC,yDAAyD,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC,CAAC;wBACzG,CAAC,mDAAmD,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC,CAAC;wBACnG,CAAC,gEAAgE,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC,CAAC;qBACjH,CAAC;gBACF,IAAI,CAAC,qBAAqB,GAAC,CAAC,uBAAuB,EAAC,EAAE,CAAC,CAAC;aAC3D;SACF;IACH,CAAC;IAED,cAAc,CAAC,QAAqB,EAAE,KAAa;QACjD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;YAC1C,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,CAAC;YAChF,OAAO;SACR;QAED,IAAI,IAAI,CAAC,QAAQ;YACf,OAAO;QAET,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,IAAI,GAAG;gBACT,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC9D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC9D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC9D,YAAY,EAAC,EAAC,CAAC,EAAC,cAAc,EAAC,CAAC,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAC;aAChE,CAAC;YAEF,IAAI,MAAM,GAAG;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC9B,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,8CAAQ,CAAC;gBACP,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC;gBACnD,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;aAC1F,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC,CAAC;gBACvF,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjF,IAAI,CAAC,CAAC,gBAAgB,EAAE;gBACtB,GAAG,IAAI,CAAC,CAAC,eAAe,CAAC;gBACzB,KAAK,EAAE,CAAC;aACT;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,CAAC;YACZ,OAAO,CAAC,CAAC;QAEX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,YAAY,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;IAC5G,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;;4FArIU,sBAAsB;oHAAtB,sBAAsB;QCjBnC,yEAAgC;QAC5B,yEAAuB;QACnB,uEAAyE;QAAA,yFAAK;QAAA,4DAAI;QAClF,yEAAgC;QAC5B,yEAAgD;QAC5C,8GAA6F;QAC7F,8GAAkH;QAClH,uEAA+C;QAAA,wEAAa;QAAA,4DAAI;QAChE,wEAA4C;QAAA,0OAA6B;QAAA,4DAAI;QACjF,4DAAM;QAEN,oHAEM;QAEN,sHAOM;QACN,2EAAuC;QACnC,yEAAa;QAAA,iFAAqB;QAAA,4DAAI;QACtC,2EAA+B;QAC3B,2EAAkC;QAC9B,gFAA4G;QAAvC,kMAAmC,CAAC,eAAE;QAAC,4DAAW;QAC3H,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,0EAAuB;QACnB,wEAAyE;QAAA,gGAAM;QAAA,4DAAI;QACnF,0EAAgC;QAC5B,0EAAgD;QAC5C,iHAAyE;QACzE,iHAA8F;QAC9F,wEAA+C;QAAA,yEAAa;QAAA,4DAAI;QAChE,wEAA4C;QAAA,8WAAmD;QAAA,4DAAI;QACvG,4DAAM;QAEN,2EAAoD;QAChD,yEAA6B;QAAA,wDAA+C;;QAAA,4DAAI;QACpF,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAiD;QAAA,wEAAE;QAAA,4DAAI;QACvD,iHAAkD;QAClD,iHAAoE;QACpE,+HAAuH;QAC3H,4DAAM;QAEN,2EAAmF;QAC/E,2HAA2G;QAC/G,4DAAM;QACV,4DAAM;;QAvDgE,0DAAQ;QAAR,8EAAQ;QACD,0DAAe;QAAf,qFAAe;QAK3B,0DAAkC;QAAlC,wGAAkC;QAI7B,0DAAc;QAAd,kFAAc;QAYlD,0DAAqB;QAArB,kFAAqB;QAWe,0DAAS;QAAT,+EAAS;QACF,0DAAgB;QAAhB,sFAAgB;QAMhD,0DAA+C;QAA/C,gRAA+C;QAOhF,0DAAc;QAAd,8EAAc;QACd,0DAA8C;QAA9C,kHAA8C;QACvC,0DAAuB;QAAvB,uFAAuB;QAIA,0DAAuB;QAAvB,uFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDpB;AAEH;AACoB;;;;;;;;;;;ICJ9D,yEAAwD;IAAlB,uTAAiB;IACnD,yEAA2E;IAAnC,2JAAS,wBAAwB,IAAC;IACtE,uEAAa;IAAA,iHAAS;IAAA,4DAAI;IAC1B,gFAA8D;IAE9D,oEAA0B;IAE1B,yEAAiD;IAC7C,4EAA8D;IAA5B,0TAAiB;IAAW,wEAAG;IAAA,4DAAS;IAC1E,4EAAuE;IAA9B,4TAAmB;IAAW,yEAAG;IAAA,4DAAS;IACvF,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IATgC,0DAAa;IAAb,6EAAa;;ADW5C,MAAM,0BAA0B;IAKrC,YACU,mBAAwC,EACxC,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB;QAHrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QAP/B,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAgB,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC;IAO3C,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;iBACpF,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,mGAAwC,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;;oGAhCU,0BAA0B;wHAA1B,0BAA0B;QCdvC,uHAYM;;QAZiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCgC;AAG1B;AACoB;;;;;;;;;;;ICWlD,wEAA8B;IAC1B,uEAAqG;IACzG,qEAAe;;;IACf,wEAAuC;IACnC,wEAAoC;IAAA,uDAAoB;IAAA,4DAAI;IAChE,qEAAe;;;IADyB,0DAAoB;IAApB,sFAAoB;;;;;IAK5D,wEAA8B;IAC1B,wEAAqE;IAAhC,wUAAqB;IAAW,uEAAE;IAAA,4DAAI;IAC3E,wEAAiH;IAApC,mUAAmB,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IAC3H,qEAAe;;;IAD0B,0DAAuC;IAAvC,kKAAuC;;;;IAEhF,wEAAuC;IACnC,wEAAwE;IAAnC,mUAAmB,IAAI,IAAC;IAAW,uEAAE;IAAA,4DAAI;IAClF,qEAAe;;;IAjBnB,yEAA0E;IACtE,uEAA0B;IAAA,yFAAK;IAAA,4DAAI;IACnC,4IAEe;IACf,4IAEe;IACf,wEAAa;IAAA,8EAAI;IAAA,4DAAI;IACrB,wEAAgB;IAAA,uDAAoD;IAAA,4DAAI;IACxE,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,8IAGe;IACf,8IAEe;IACnB,4DAAM;;;IAhBa,0DAAa;IAAb,gFAAa;IAGb,0DAAsB;IAAtB,yFAAsB;IAIrB,0DAAoD;IAApD,sIAAoD;IAErD,0DAAa;IAAb,gFAAa;IAIb,0DAAsB;IAAtB,yFAAsB;;ADX1C,MAAM,uBAAuB;IASlC,YACU,mBAAwC,EACxC,cAA8B,EAC9B,kBAAsC,EACtC,cAA8B,EAC9B,KAAqB;QAJrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QAXtB,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;IAYzC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;YACxB,YAAY,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC1F,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAGD,SAAS;QACP,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;;YAErB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;iBAC5G,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;;YAC/B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;iBAClH,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;;8FAnEU,uBAAuB;qHAAvB,uBAAuB;QClBpC,yEAAuB;QACnB,uEAAiD;QAAA,mFAAI;QAAA,4DAAI;QACzD,0EAAoD;QAChD,yEAA6B;QACzB,wEAAO;QACH,sEAAmE;QACnE,uEAA0B;QAAA,iEAAC;QAAA,4DAAI;QACnC,4DAAQ;QAER,2EAAoC;QAChC,uEAAkE;QAClE,wEAA0B;QAAA,kEAAC;QAAA,4DAAI;QACnC,4DAAQ;QACZ,4DAAM;QACN,sHAkBM;QACV,4DAAO;QAEX,4DAAM;;QAjC+B,0DAAkB;QAAlB,+EAAkB;QAGY,0DAAe;QAAf,wEAAe;QAKf,0DAAc;QAAd,uEAAc;QAInB,0DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZtC;AACoB;;;;;;;;;;ICCtD,2EAAoE;IAChE,4EAA4D;IAAxB,qOAAoB,CAAC,eAAE;IAA3D,4DAA4D;IAC5D,oEAAG;IAAA,uDAA2B;;IAAA,4DAAI;IACtC,4DAAQ;;;IAFgC,0DAAuB;IAAvB,iFAAuB;IACxD,0DAA2B;IAA3B,8IAA2B;;;;IAN1C,yEAAwD;IAAlB,2TAAiB;IACnD,yEAA+E;IAAnC,+JAAS,wBAAwB,IAAC;IAC1E,uEAAa;IAAA,qGAAO;IAAA,4DAAI;IAExB,oIAGQ;IAER,8EAAuH;IAA7G,kWAAwB;;IAAqF,4DAAW;IAElI,yEAAiD;IAC7C,4EAA8D;IAA5B,8TAAiB;IAAW,wEAAG;IAAA,4DAAS;IAC1E,6EAA4E;IAApC,uUAAyB;IAAW,yEAAG;IAAA,4DAAS;IAC5F,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAZ0D,0DAAU;IAAV,mFAAU;IAKW,0DAAyC;IAAzC,iMAAyC;IAA5G,sFAAwB;;ADInC,MAAM,8BAA8B;IAazC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,mBAAwC,EACxC,KAAqB;QAHrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QAftB,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QAEtC,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAwB;YACpC,CAAC,SAAS,EAAE,KAAK,CAAC;YAClB,CAAC,MAAM,EAAE,KAAK,CAAC;YACf,CAAC,QAAQ,EAAE,KAAK,CAAC;YACjB,CAAC,MAAM,EAAE,KAAK,CAAC;SAChB,CAAC;QACK,eAAU,GAAkB,IAAI,CAAC;IAOpC,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,aAAa;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,YAAY,GAAsB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1G,IAAI,KAAK,GAAoC;gBAC3C,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,CAAC,IAAI,CAAC,OAAO;yBACV,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;yBACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;yBAC3B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;yBACxB,MAAM,EAAE;yBACR,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/G;YAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;iBAC/C,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC,CAAC;gBACvF,IAAI,CAAC,YAAY,EAAE;YACrB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;;4GAvDU,8BAA8B;4HAA9B,8BAA8B;QCb3C,2HAgBM;;QAhBiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;ICapB,0EAA6G;IACzG,wEAAgD;IAAA,+DAAI;IAAA,4DAAI;IACxD,wEAA6B;IAAA,6EAAG;IAAA,4DAAI;IACxC,4DAAM;;;IAMN,0EAA4K;IACxK,wEAAgD;IAAA,+DAAI;IAAA,4DAAI;IACxD,wEAA6B;IAAA,mFAAI;IAAA,4DAAI;IACzC,4DAAM;;;IAMN,0EAAyG;IACrG,wEAAgD;IAAA,+DAAI;IAAA,4DAAI;IACxD,wEAA6B;IAAA,mFAAI;IAAA,4DAAI;IACzC,4DAAM;;;IAMN,0EAA6G;IACzG,wEAAgD;IAAA,+DAAI;IAAA,4DAAI;IACxD,wEAA6B;IAAA,mFAAI;IAAA,4DAAI;IACzC,4DAAM;;;IAMN,0EAAqH;IACjH,wEAAgD;IAAA,+DAAI;IAAA,4DAAI;IACxD,wEAA6B;IAAA,mFAAI;IAAA,4DAAI;IACzC,4DAAM;;;IAjDlB,yEAA6D;IACzD,yEAA0B;IACtB,uEAA2D;IAAA,mFAAI;IAAA,4DAAI;IACnE,uEAAuB;IAAA,uDAAS;IAAA,4DAAI;IACxC,4DAAM;IAEN,yEAAwB;IACpB,yEAAgD;IAC5C,uEAA4D;IAAA,yFAAK;IAAA,4DAAI;IACrE,yEAAqD;IAAA,wDAAwB;IAAA,4DAAI;IACjF,iIAGM;IACV,4DAAM;IAEN,2EAAqD;IACjD,wEAA4D;IAAA,oFAAI;IAAA,4DAAI;IACpE,yEAAqD;IAAA,wDAAgE;IAAA,4DAAI;IACzH,iIAGM;IACV,4DAAM;IAEN,2EAAqD;IACjD,wEAA4D;IAAA,iGAAO;IAAA,4DAAI;IACvE,yEAAqD;IAAA,wDAA0B;IAAA,4DAAI;IACnF,iIAGM;IACV,4DAAM;IAEN,2EAAqD;IACjD,wEAA4D;IAAA,oFAAI;IAAA,4DAAI;IACpE,yEAAqD;IAAA,wDAAwB;IAAA,4DAAI;IACjF,iIAGM;IACV,4DAAM;IAEN,2EAAqD;IACjD,wEAA4D;IAAA,oFAAI;IAAA,4DAAI;IACpE,yEAAqD;IAAA,wDAA6C;IAAA,4DAAI;IACtG,iIAGM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAjDyB,0DAAS;IAAT,2EAAS;IAMyB,0DAAwB;IAAxB,mGAAwB;IACnB,0DAAiD;IAAjD,oHAAiD;IAQtD,0DAAgE;IAAhE,kJAAgE;IAC3D,0DAAgH;IAAhH,0LAAgH;IAQrH,0DAA0B;IAA1B,qGAA0B;IACrB,0DAA6C;IAA7C,gHAA6C;IAQlD,0DAAwB;IAAxB,mGAAwB;IACnB,0DAAiD;IAAjD,oHAAiD;IAQtD,0DAA6C;IAA7C,+HAA6C;IACxC,0DAAyD;IAAzD,4HAAyD;;;IAQ/H,yEAAqE;IACjE,wEAAsF;IAAA,mFAAI;IAAA,4DAAI;IAClG,4DAAM;;ACnDH,MAAM,4BAA4B;IAMvC;QAFA,YAAO,GAAY,KAAK,CAAC;IAET,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,IAAI,GAAG;QACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAG,IAAI,CAAC,SAAS,IAAI,IAAI;YACvB,OAAO,CAAC,CAAC;QAEX,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO;cACzB,IAAI,CAAC,SAAS,CAAC,kBAAkB;cACjC,IAAI,CAAC,SAAS,CAAC,gBAAgB;cAC/B,IAAI,CAAC,SAAS,CAAC,SAAS;cACxB,IAAI,CAAC,SAAS,CAAC,OAAO;cACtB,IAAI,CAAC,SAAS,CAAC,SAAS;cACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC5B,CAAC;;wGAvBU,4BAA4B;0HAA5B,4BAA4B;QDRzC,yEAAuB;QACnB,uEAAqI;QAA1D,qKAAuB,IAAI,IAAC,2GAAuB,KAAK,IAA5B;QAA8B,+DAAI;QAAA,4DAAI;QAE7I,0HAoDM;QAEN,wHAEM;QACV,4DAAM;;QAzD+B,0DAA0B;QAA1B,8FAA0B;QAsD1B,0DAAkC;QAAlC,sGAAkC;;;;;;;;;;;;;;;;;;AEzDH;AAK7D,MAAM,iBAAiB;IAK1B;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,+DAAmB,CAAC;YACvD,OAAO,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,+DAAmB,CAAC;YACnD,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnD,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACjD,SAAS,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnD,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAClC,iBAAiB,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,EAAE,0DAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YACtG,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC7B,cAAc,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;SACxC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAU,EAAE,EAAE;YAClE,IAAI,IAAI,IAAI,IAAI;gBACZ,OAAO;YAEX,IAAI,KAAK,GAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACxD,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9D;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;YAED,IAAI,GAAG,GAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YACpD,IAAI,GAAG,IAAI,IAAI,EAAE;gBACb,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC1D;iBACI;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3D;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAClE,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ;gBAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;;gBAEzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACvD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI;YAC9F,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO;YAClF,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAa,IAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAc;YAChG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,qBAAqB;QACjB,OAAO;YACH,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACnD,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YAC7D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACjD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK;YACzG,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK;YACrE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK;YACnE,gBAAgB,EAAE,IAAI;SACzB,CAAC;IACN,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1G6C;AAGd;AACU;AACoB;;;;;;;;;;;;;;;;;;ICYlD,oEAA+F;;;IAG3F,oEAAgE;;;;IAEhE,2EAA+C;IAC3C,yEAA+C;IAAA,gEAAI;IAAA,6DAAI;IACvD,yEAA8C;IAAA,wDAAkG;;IAAA,6DAAI;IACxJ,6DAAM;;;IAD4C,2DAAkG;IAAlG,sVAAkG;;;IAUhJ,2EAA2E;IACvE,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAwE;IACpE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA0E;IACtE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA0E;IACtE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA2E;IACvE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;;;IACN,2EAA8D;IAC1D,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAA2D;IACvD,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IACN,2EAAyD;IACrD,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAM;;;IAQV,oEAAsG;;;IAGlG,2EAAuB;IACnB,yEAAiG;;IAAA,oFAAI;IAAA,6DAAI;IACzG,qEAAG;IAAA,wDAA+F;;;IAAA,6DAAI;IAC1G,6DAAM;;;IAFgB,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IACnF,2DAA+F;IAA/F,uTAA+F;;;;IAQlG,yEAAuC;IACnC,qEAAG;IAAA,wDAA4C;;IAAA,6DAAI;IACnD,yEAAmE;IAAnC,0WAAmB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAI;IAC7E,sEAAe;;;IAFR,2DAA4C;IAA5C,2KAA4C;;;;IAInD,yEAAsC;IAClC,kFAAoE;IACpE,yEAAoE;IAApC,mXAAyB;IAAW,wEAAE;IAAA,6DAAI;IAC1E,yEAAoE;IAApC,0WAAmB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAI;IAC9E,sEAAe;;;IAHM,2DAAgC;IAAhC,kGAAgC;;;;IATzD,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,6DAAI;IAExG,gLAGe;IACf,yEAAoE;IAApC,oWAAyB;IAAW,wEAAE;IAAA,6DAAI;IAC1E,gLAIe;IACnB,6DAAM;;;IAZe,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IAEtE,2DAAsB;IAAtB,2FAAsB;IAKtB,2DAAqB;IAArB,0FAAqB;;;IAQ5C,oEAAkG;;;IAG9F,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,6DAAI;IACxG,qEAAG;IAAA,wDAA2F;;;IAAA,6DAAI;IACtG,6DAAM;;;IAFe,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IAClF,2DAA2F;IAA3F,mTAA2F;;;;IAS1F,yEAA4F;IAAnC,8WAAmB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;IAFtG,yEAAuC;IACnC,qEAAG;IAAA,wDAA6C;;IAAA,6DAAI;IACpD,yKAAkG;IACtG,sEAAe;;;IAFR,2DAA6C;IAA7C,4KAA6C;IACf,2DAAsB;IAAtB,2FAAsB;;;;IAG3D,yEAAsC;IAClC,kFAAkE;IAClE,yEAAoE;IAApC,mXAAyB;IAAW,wEAAE;IAAA,6DAAI;IAC1E,yEAAoE;IAApC,0WAAmB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAI;IAC9E,sEAAe;;;IAHM,2DAA8B;IAA9B,gGAA8B;;;IARvD,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,6DAAI;IACxG,gLAGe;IAEf,gLAIe;IACnB,6DAAM;;;IAXe,2DAAqC;IAArC,gLAAqC;IAAC,wFAA8B;IACtE,2DAAsB;IAAtB,2FAAsB;IAKtB,2DAAqB;IAArB,0FAAqB;;;IAiBpC,wEAAoD;IAAA,oFAAI;IAAA,6DAAI;;;IAC5D,qEAAkC;IAAA,wDAAiC;IAAA,6DAAI;;;IAArC,2DAAiC;IAAjC,qGAAiC;;;;IACnE,yEAA4F;IAAnC,gWAAmB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;IAHtG,yEAAuC;IACnC,2JAA4D;IAC5D,2JAAuE;IACvE,2JAAkG;IACtG,sEAAe;;;IAHP,2DAAoC;IAApC,yGAAoC;IACpC,2DAA4B;IAA5B,iGAA4B;IACC,2DAAsB;IAAtB,2FAAsB;;;IAO/C,8EAAuF;IAAA,wDAAyB;IAAA,6DAAS;;;IAAjH,6FAA+B;IAAgD,2DAAyB;IAAzB,yFAAyB;;;;IAJ5H,yEAAsC;IAClC,2EAAyB;IACrB,8EAA0E;IACtE,8EAAmC;IAAA,oFAAI;IAAA,6DAAS;IAChD,qKAAyH;IAC7H,6DAAS;IACb,6DAAM;IACN,yEAAkF;IAAlD,mXAAuC;IAAW,wEAAE;IAAA,6DAAI;IACxF,yEAAoE;IAApC,4VAAmB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAI;IAC9E,sEAAe;;;IAPwB,2DAA0C;IAA1C,4GAA0C;IAC7D,2DAAgB;IAAhB,0EAAgB;IAC2C,2DAAkB;IAAlB,6FAAkB;;;IAWjG,yEAAwF;IAAA,wDAAoB;IAAA,6DAAI;;;IAAxB,2DAAoB;IAApB,wFAAoB;;;IAC5G,wEAAyD;IAAA,kEAAC;IAAA,6DAAI;;;;IAC9D,yEAAyC;IACrC,2EAAgC;IAC5B,2EAAoF;IAEpF,2EAAiF;IAC7E,yEAA0E;IAA1C,2WAA+B;IAAW,wEAAE;IAAA,6DAAI;IAChF,yEAAuE;IAAvC,+VAAsB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAI;IACjF,6DAAM;IACV,6DAAM;IACV,sEAAe;;;IAP2C,2DAAsB;IAAtB,wFAAsB;;;;IASxE,yEAA+I;IAAtC,mWAAsB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAI;;;IAD7J,yEAA0C;IAClC,2JAAqJ;IAE7J,sEAAe;;;IAFuE,2DAAyB;IAAzB,8FAAyB;;;IAO/G,yEAAmI;IAAA,4JAAgB;IAAA,6DAAI;;;IACvJ,yEAAkI;IAAA,sJAAe;IAAA,6DAAI;;;IACrJ,yEAA4H;IAAA,0IAAa;IAAA,6DAAI;;;IAC7I,yEAA2H;IAAA,8HAAW;IAAA,6DAAI;;;IAC1I,yEAAuG;IAAA,sGAAO;IAAA,6DAAI;;;IAClH,yEAAgG;IAAA,0IAAa;IAAA,6DAAI;;;IACjH,yEAAuG;IAAA,sGAAO;IAAA,6DAAI;;;IAClH,yEAAgG;IAAA,0IAAa;IAAA,6DAAI;;;IACjH,yEAAgF;IAAA,sGAAO;IAAA,6DAAI;;;IAK/F,yEAA0D;IACtD,sFAA0I;IAE1I,qFAA2F;IAC/F,sEAAe;;;IAHU,2DAA+B;IAA/B,iGAA+B;IAEhC,2DAAmB;IAAnB,qFAAmB;;;;IAIvC,8EAA0J;IAA3C,qYAAS,UAAsB,IAAC;IAAW,yEAAG;IAAA,6DAAS;;;IACtK,8EAAiJ;IAAA,oFAAI;IAAA,6DAAS;;;;IAC9J,8EAAkK;IAA9B,8VAAmB;IAAW,oFAAI;IAAA,6DAAS;;;;IAC/K,8EAA6I;IAAvC,qYAAS,UAAkB,IAAC;IAAW,oFAAI;IAAA,6DAAS;;;;IAC1J,8EAAyG;IAA7B,6VAAkB;IAAW,oFAAI;IAAA,6DAAS;;;IA1K9H,yEAA2D;IACvD,iKAAgE;IAEhE,+IAGM;IAEN,2EAAuB;IACnB,yEAAgG;;IAAA,oFAAI;IAAA,6DAAI;IACxG,qEAAG;IAAA,wDAAuD;IAAA,6DAAI;IAClE,6DAAM;IAEN,2EAAuB;IACnB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,iJAEM;IACN,iJAEM;IACN,iJAEM;IACN,iJAEM;IACN,iJAEM;IACN,iJAEM;IACN,iJAEM;IACN,iJAEM;IACV,6DAAM;IAEN,4EAAuB;IACnB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,sEAAG;IAAA,yDAA4B;IAAA,6DAAI;IACvC,6DAAM;IAEN,mKAAsG;IAEtG,+OAKc;IAEd,8OAec;IAEd,mKAAkG;IAElG,+OAKc;IAEd,8OAcc;IAGd,4EAAuB;IACnB,0EAA2B;IAAA,qFAAI;IAAA,6DAAI;IACnC,yEAAa;IAAA,4EAAK;IAAA,6DAAI;IAC1B,6DAAM;IAEN,4EAAuB;IACnB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,mKAIe;IAEf,oKASe;IACnB,6DAAM;IAEN,4EAAuB;IACnB,0EAAiD;IAAA,yEAAE;IAAA,6DAAI;IAEvD,6IAAgH;IAChH,6IAA8D;IAC9D,mKASe;IACf,mKAGe;IACnB,6DAAM;IAEN,4EAAuB;IACnB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,6IAAuJ;IACvJ,6IAAqJ;IACrJ,6IAA6I;IAC7I,6IAA0I;IAC1I,6IAAkH;IAClH,6IAAiH;IACjH,6IAAkH;IAClH,6IAAiH;IACjH,6IAA2F;IAC/F,6DAAM;IAEN,sGAAwI;IAExI,mKAIe;IAEf,4EAAqG;IACjG,uJAAsK;IACtK,uJAA8J;IAC9J,uJAA+K;IAC/K,uJAA0J;IAC1J,uJAAsH;IAC1H,6DAAM;IACV,sEAAe;;;;;;;;IA3KI,2DAAgC;IAAhC,kFAAgC;IAErB,2DAAmB;IAAnB,uFAAmB;IAMxB,2DAAqC;IAArC,iLAAqC;IAAC,wFAA8B;IAClF,2DAAuD;IAAvD,0IAAuD;IAIzC,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IACpD,2DAAwC;IAAxC,4GAAwC;IAGzC,2DAAsC;IAAtC,0GAAsC;IAGtC,2DAAwC;IAAxC,4GAAwC;IAGzC,2DAAyC;IAAzC,6GAAyC;IAGzC,2DAA0C;IAA1C,8GAA0C;IAG3C,2DAA8B;IAA9B,kGAA8B;IAG9B,2DAA2B;IAA3B,+FAA2B;IAG3B,2DAAyB;IAAzB,6FAAyB;IAMtC,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAClF,2DAA4B;IAA5B,gGAA4B;IAGpB,2DAA0C;IAA1C,6GAA0C;IA0B1C,2DAA0C;IAA1C,6GAA0C;IAgCpC,4DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IACtE,2DAAsB;IAAtB,0FAAsB;IAMtB,2DAAqB;IAArB,yFAAqB;IAehC,2DAAiC;IAAjC,8GAAiC;IACjC,2DAAyC;IAAzC,sHAAyC;IAC9B,2DAAwB;IAAxB,4FAAwB;IAUxB,2DAAyB;IAAzB,6FAAyB;IAOvB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC1D,2DAA4F;IAA5F,8KAA4F;IAC5F,2DAA2F;IAA3F,6KAA2F;IACjG,2DAA2F;IAA3F,6KAA2F;IAC3F,2DAA0F;IAA1F,4KAA0F;IACpF,2DAAgE;IAAhE,2IAAgE;IACtE,2DAA+D;IAA/D,0IAA+D;IACzD,2DAAgE;IAAhE,2IAAgE;IACtE,2DAA+D;IAA/D,0IAA+D;IACzD,2DAAyC;IAAzC,6GAAyC;IAGvB,2DAAmB;IAAnB,oFAAmB;IAErD,2DAAyC;IAAzC,6GAAyC;IAOnB,2DAA4E;IAA5E,uJAA4E;IAC/C,2DAAwC;IAAxC,4GAAwC;IACxC,2DAAoE;IAApE,+IAAoE;IACpE,2DAAsC;IAAtC,0GAAsC;IAClE,2DAAwC;IAAxC,4GAAwC;;;;IArL1F,2EAA4C;IAExC,2EAA8B;IAC1B,yEAAkB;IAAA,wDAA8C;;IAAA,6DAAI;IACpE,qEAAG;IAAA,wDAAgF;;;IAAA,6DAAI;IAC3F,6DAAM;IAEN,2EAA4B;IAExB,mJAA+F;IAE/F,qJA4Ke;IACnB,6DAAM;IAEV,6DAAM;;;;IAvLoB,2DAA8C;IAA9C,gQAA8C;IAC7D,2DAAgF;IAAhF,8VAAgF;IAKpE,2DAA4C;IAA5C,8GAA4C;IAE5C,2DAA0C;IAA1C,8GAA0C;;;IAqMrD,wEAA2D;IAAA,kEAAC;IAAA,6DAAI;;;IAMpD,yEAA6F;IAAA,sEAAU;IAAA,6DAAI;;;IAC3G,yEAAyG;IAAA,0EAAc;IAAA,6DAAI;;;IAJnI,2EAAoG;IAChG,2EAAkD;IAC9C,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IACxB,wIAA2G;IAC3G,wIAA2H;IAC/H,6DAAM;IACV,6DAAM;;;IAJK,2DAAiB;IAAjB,kFAAiB;IAC2C,2DAA4B;IAA5B,8FAA4B;IACzB,2DAAqC;IAArC,uGAAqC;;;IALnH,2EAAqE;IACjE,sIAMM;IACV,6DAAM;;;IAPoE,2DAA4B;IAA5B,uGAA4B;;;IAYtG,wEAAiE;IAAA,sGAAO;IAAA,6DAAI;;;IAC5E,qEAA+C;IAAA,wDAAyC;IAAA,6DAAI;;;IAA7C,2DAAyC;IAAzC,6GAAyC;;;IACxF,qEAAsD;IAAA,wDAAkD;IAAA,6DAAI;;;IAAtD,2DAAkD;IAAlD,+HAAkD;;;IAyB5G,2EAAmD;IAC/C,yEAAoC;IAAA,8EAAG;IAAA,6DAAI;IAC3C,qEAAG;IAAA,wDAAoC;IAAA,6DAAI;IAC/C,6DAAM;;;IADC,2DAAoC;IAApC,wGAAoC;;;IAUvC,yEAAyF;IAAA,wDAAoB;IAAA,6DAAI;;;IAAxB,2DAAoB;IAApB,wFAAoB;;;IAC7G,wEAA4C;IAAA,kEAAC;IAAA,6DAAI;;;IAM7C,yEAAsF;IAAA,wDAAmD;IAAA,6DAAI;;;IAAvD,2DAAmD;IAAnD,kIAAmD;;;IAjFzJ,2EAAmE;IAC/D,2EAA4B;IACxB,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,6DAAI;IACjH,yEAA6B;IAAA,wDAAmC;IAAA,6DAAI;IACpE,qEAAG;IAAA,wDAAmC;IAAA,6DAAI;IAC9C,6DAAM;IAEN,4EAAuB;IACnB,0EAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,sEAAG;IAAA,yDAAgC;IAAA,6DAAI;IAC3C,6DAAM;IAEN,4EAAuB;IACnB,0EAAgG;;IAAA,qFAAI;IAAA,6DAAI;IACxG,sEAAG;IAAA,yDAA4B;IAAA,6DAAI;IACvC,6DAAM;IAEN,4EAAuB;IACnB,0EAA4I;;IAAA,qFAAI;IAAA,6DAAI;IACpJ,6HAAgE;IAEhE,iIAQM;IACV,6DAAM;IAEN,4EAAuB;IACnB,0EAAiG;;IAAA,2FAAK;IAAA,6DAAI;IAC1G,6HAA4E;IAC5E,6HAA4F;IAC5F,6HAA4G;IAChH,6DAAM;IAEN,uEAAuF;IAEvF,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,sEAAG;IAAA,yDAAqD;;IAAA,6DAAI;IAChE,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,sEAAG;IAAA,yDAA0C;;IAAA,6DAAI;IACrD,6DAAM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,sEAAG;IAAA,yDAAwC;;IAAA,6DAAI;IACnD,6DAAM;IAEN,4EAAuB;IACnB,0EAAoC;IAAA,yEAAE;IAAA,6DAAI;IAC1C,sEAAG;IAAA,yDAA8B;IAAA,6DAAI;IACzC,6DAAM;IAEN,iIAGM;IAEN,4EAAuB;IACnB,0EAAyG;;IAAA,qFAAI;IAAA,6DAAI;IACjH,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IAEN,4EAAuB;IACnB,0EAAiD;IAAA,yEAAE;IAAA,6DAAI;IACvD,6HAAiH;IACjH,6HAAiD;IACrD,6DAAM;IAEN,4EAAuB;IACnB,0EAA+H;;IAAA,qFAAI;IAAA,6DAAI;IACvI,4EAAgF;IAC5E,6HAA6I;IACjJ,6DAAM;IACV,6DAAM;IACV,6DAAM;IACV,6DAAM;;;IAlFgC,2DAAqC;IAArC,iLAAqC;IAAC,wFAA8B;IACjE,2DAAmC;IAAnC,sGAAmC;IAC7D,2DAAmC;IAAnC,sGAAmC;IAKnC,2DAAgC;IAAhC,mGAAgC;IAIlB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAClF,2DAA4B;IAA5B,gGAA4B;IAI8B,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC7H,2DAA2C;IAA3C,+GAA2C;IAEtB,2DAA0C;IAA1C,8GAA0C;IAYlD,2DAAsC;IAAtC,wLAAsC;IAAC,wFAA8B;IAClF,2DAAiD;IAAjD,qHAAiD;IACjD,2DAAyC;IAAzC,6GAAyC;IACzC,2DAAgD;IAAhD,oHAAgD;IAM1B,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC3F,2DAAqD;IAArD,2LAAqD;IAI9B,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC3F,2DAA0C;IAA1C,0KAA0C;IAInB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC3F,2DAAwC;IAAxC,wKAAwC;IAKxC,2DAA8B;IAA9B,iGAA8B;IAGb,2DAAyB;IAAzB,6FAAyB;IAMnB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAC3F,2DAA+B;IAA/B,kGAA+B;IAK9B,2DAAoB;IAApB,wFAAoB;IACpB,2DAA4B;IAA5B,gGAA4B;IAIgB,2DAAqC;IAArC,kLAAqC;IAAC,wFAA8B;IAEjD,2DAAqB;IAArB,+FAAqB;;;;IAc5F,0EAA+G;IAAA,6DAAC;IAAA,6DAAI;;;IAAnD,+KAA6C;;;IAC9G,0EAAsF;IAAA,iEAAK;IAAA,6DAAI;;;;IAW/F,0EAAqL;IAAA,6DAAC;IAAA,6DAAI;;;IAA1F,uNAAoF;;;IACpL,0EAA6H;IAAA,iEAAK;IAAA,6DAAI;;;IAWtI,0EAAkJ;IAAA,6DAAC;IAAA,6DAAI;;;IAA1F,uNAAoF;;;IACjJ,0EAAuF;IAAA,iEAAK;IAAA,6DAAI;;;;IA3BxG,2EAAsB;IAClB,2EAA6B;IACzB,mIAAoH;IACpH,mIAA+F;IAC/F,2EAA4B;IACxB,2EAAyB;IACrB,wEAAa;IAAA,oFAAI;IAAA,6DAAI;IACrB,uEAA6C;IACjD,6DAAM;IACN,0EAAyC;IAAA,mHAAS;IAAA,6DAAI;IAC1D,6DAAM;IACV,6DAAM;IAEN,4EAA6B;IACzB,sIAA0L;IAC1L,qIAAsI;IACtI,4EAA4B;IACxB,4EAAyB;IACrB,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACpB,wEAA6C;IACjD,6DAAM;IACN,2EAAyC;IAAA,6GAAQ;IAAA,6DAAI;IACzD,6DAAM;IACV,6DAAM;IAEN,4EAA6B;IACzB,sIAAuJ;IACvJ,qIAAgG;IAChG,4EAA4B;IACxB,4EAAyB;IACrB,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACpB,wEAA6C;IACjD,6DAAM;IACN,2EAAyC;IAAA,uGAAO;IAAA,6DAAI;IACxD,6DAAM;IACV,6DAAM;IAEN,4EAA6B;IACzB,2EAA2E;IAAA,8DAAC;IAAA,6DAAI;IAChF,4EAA4B;IACxB,4EAAyB;IACrB,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACxB,6DAAM;IACN,2EAAyC;IAAA,6GAAQ;IAAA,6DAAI;IACzD,6DAAM;IACV,6DAAM;IACV,6DAAM;;;IA5CyB,2DAAwC;IAAxC,4GAAwC;IACnB,2DAAwC;IAAxC,4GAAwC;IAWlE,2DAA4E;IAA5E,uJAA4E;IAClD,2DAA+E;IAA/E,0JAA+E;IAWzG,2DAAyC;IAAzC,6GAAyC;IACf,2DAAyC;IAAzC,6GAAyC;IAWpE,2DAAyD;IAAzD,wLAAyD;;;;IAalF,4EAAmD;IAC/C,0EAAgD;IAAA,sEAAU;IAAA,6DAAI;IAC9D,0EAA0D;IAAA,gGAAM;IAAA,6DAAI;IACxE,6DAAM;IAEN,2EAAuB;IACnB,yEAA2B;IAAA,oFAAI;IAAA,6DAAI;IACnC,4EAAyB;IACrB,wEAAa;IAAA,+EAAG;IAAA,6DAAI;IACxB,6DAAM;IACV,6DAAM;IAEN,4EAAuB;IACnB,0EAA2B;IAAA,qFAAI;IAAA,6DAAI;IACnC,sEAAG;IAAA,yDAA+F;;;IAAA,6DAAI;IAC1G,6DAAM;IAEN,4EAAuB;IACnB,0EAA2B;IAAA,qFAAI;IAAA,6DAAI;IACnC,sEAAG;IAAA,yDAA2F;;;IAAA,6DAAI;IACtG,6DAAM;IAEN,4EAAuB;IACnB,0EAAiD;IAAA,qFAAI;IAAA,6DAAI;IACzD,4EAAiC;IACjC,kFAAoF;IAAnC,2XAAkC;IAAC,6DAAW;IAC/F,kEAAI;IACJ,6DAAM;IACV,6DAAM;IACN,gFAA+E;IAA7B,wVAA4B;IAAC,0EAAG;IAAA,6DAAS;;;IAfpF,4DAA+F;IAA/F,sTAA+F;IAK/F,2DAA2F;IAA3F,oTAA2F;IAM7C,2DAAkC;IAAlC,iGAAkC;;AD3VpF,MAAM,0BAA0B;IAWrC,YACU,cAA8B,EAC9B,KAAqB,EACrB,cAA8B,EAC9B,gBAAkC,EAClC,qBAA4C,EAC5C,MAAc,EACd,mBAAwC;QANxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QAflD,oBAAe,GAAqB,EAAE,CAAC;QACvC,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACjD,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAC,KAAK,CAAC;QAEjB,WAAM,GAAC,IAAI,wDAAW,EAAE,CAAC;QA0EzB,iBAAY,GAAe,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAjET,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE;QACZ,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;YAChC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,UAAU;gBAC1C,OAAO;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,KAAK,CAAC;IACX,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAClC,+CAAQ,CAAC;gBACP,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE;aACpE,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBAEjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;gBAC7C,IAAI,CAAC,MAAM,GAAC,IAAI,wDAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC3C,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;iBACzC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;iBACxC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAOD,gBAAgB;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACpC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAC,CAAC;iBACjG,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC,CAAC;gBACvF,IAAI,CAAC,YAAY,EAAE;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,IAAI,EAAE;YAC5F,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;YACzE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,CAAC;YAC9E,OAAO;SACR;QAED,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAa,CAAC,CAAC;QAC/D,GAAG,CAAC,QAAQ,CAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,GAAG,CAAC,UAAU,CAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAc,CAAC,UAAU,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,+CAAQ,CAAC;gBACP,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC7D,WAAW,EAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAc,CAAC,MAAM,EAAE;oBAClE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;iBAC3B,CAAC;gBACF,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC;aACtH,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;gBACnB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;gBACrF,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC;IACJ,CAAC;IACD,mBAAmB;QACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAC,EAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC;iBAC9D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,UAAU,GAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;gBACrF,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2BAA2B;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC;iBAClG,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;gBACnB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;gBACrF,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC;IACJ,CAAC;;oGAxJU,0BAA0B;yHAA1B,0BAA0B;QCnBvC,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,qFAAK;QAAA,6DAAI;QACtB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,6DAAI;QAE7C,2HA0LM;QAEN,2HAqFM;QACV,6DAAM;QAEN,gGAAgE;QAEhE,oGAA4E;QAE5E,wNAgDc;QAGd,yNA+Bc;;QA1WmB,4DAAa;QAAb,8EAAa;QA4LU,2DAAa;QAAb,8EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnM3B;;;;;;;;;;;;;;;;;ICsB9B,mEAA4D;;;;;;IAyCxD,0EAA6D;IACzD,0EAA2F;IACvF,0EAAyC;IACrC,4EAA+J;IAAxI,kPAA8B;IAArD,4DAA+J;IACnK,4DAAM;IACV,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAyB;IAAA,4DAAI;IACpC,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAAgC;;IAAA,4DAAI;IAC3C,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAA+B;IAAA,4DAAI;IAC1C,4DAAM;IACN,2EAAqE;IACjE,qEAAG;IAAA,wDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IACN,2EAAwE;IACpE,yEAA0E;IAAA,wDAAkC;IAAA,4DAAI;IACpH,4DAAM;IACN,2EAAsE;IAClE,yEAAqD;IAAA,wDAAkC;;IAAA,4DAAI;IAC/F,4DAAM;IACN,2EAAqE;IACjE,yEAA2G;IAAA,wEAAE;IAAA,4DAAI;IACrH,4DAAM;IACV,4DAAM;;;;IA3B6B,0DAA8B;IAA9B,wFAA8B;IAItD,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAAyB;IAAzB,uFAAyB;IAGzB,0DAAgC;IAAhC,qJAAgC;IAGhC,0DAA+B;IAA/B,6FAA+B;IAG/B,0DAAmB;IAAnB,iFAAmB;IAGnB,0DAA2C;IAA3C,uGAA2C;IAA4B,0DAAkC;IAAlC,gGAAkC;IAGzG,0DAAiD;IAAjD,uKAAiD;IAAC,0DAAkC;IAAlC,0JAAkC;IAG3C,0DAAoD;IAApD,+JAAoD;;;IAIxG,0EAAyD;IACrD,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;;;IAYpE,0EAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAmB;IAAA,4DAAI;IACxD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,0EAA2D;IACvD,uEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAAqB;IAAA,wDAAW;IAAA,4DAAI;IACpC,wEAAa;IAAA,kEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,2EAA6B;IACzB,8EAAuG;IAA5E,qXAAkC,gRAA0B,CAAC,iCAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAA6I;IAAvD,wVAAuC,CAAC,iCAAc;IAAC,wEAAY;IAAA,4DAAI;IAC7J,6EAA2F;IAAnD,4WAA0B;IAAlE,4DAA2F;IAC3F,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAiJ;IAAvD,yVAAuC,CAAC,iCAAc;IAAC,yEAAa;IAAA,4DAAI;IACtK,4DAAM;;;IAzBmC,0DAAmB;IAAnB,qFAAmB;IAM/B,0DAAW;IAAX,6EAAW;IAKL,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;AD7H1F,MAAM,4BAA4B;IAuBvC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc;QAJd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QA1BxB,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAa,EAAE,CAAC;QAEtB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAkDF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAmBd,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAjGV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,kGAAkG;QAClG,KAAK;IACP,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC1C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;YAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gDAAgD,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACjK,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IASD,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;;wGAjJU,4BAA4B;0HAA5B,4BAA4B;QClBzC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,oFAAK;QAAA,4DAAI;QACtB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAA0B;QAAA,mFAAI;QAAA,4DAAI;QAClC,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,0EAA4B;QACxB,kFAAkG;QAElG,2EAAoF;QAChF,oFAAqE;QACrE,qFAAqF;QACrF,qFAAqF;QACrF,uFAA2F;QAC3F,wFAA6F;QAEjG,4DAAM;QAEN,6IAA4D;QAE5D,6EAAoC;QAChC,2EAAmC;QAC/B,2EAA2F;QACvF,wEAAgC;QACpC,4DAAM;QACN,2EAAuE;QACnE,yEAAkF;;QAAA,oFAAI;QAAA,4DAAI;QAC1F,2EAA4H;QAA5F,6NAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,yEAAiG;QAAA,yEAAa;QAAA,4DAAI;QAClH,yEAAgG;QAAA,2EAAe;QAAA,4DAAI;QACvH,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,yEAAkF;;QAAA,oFAAI;QAAA,4DAAI;QAC9F,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,yEAAgF;;QAAA,wEAAE;QAAA,4DAAI;QACtF,2EAA0H;QAA1F,2NAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,yEAA+F;QAAA,yEAAa;QAAA,4DAAI;QAChH,yEAA8F;QAAA,2EAAe;QAAA,4DAAI;QACrH,4DAAM;QACV,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,6HA8BM;QAEN,2HAIM;QACV,4DAAQ;QAER,6IAA4D;QAE5D,2EAAoG;QAChG,8EAA0D;QAA3B,qJAAS,UAAM,IAAC;QAAW,wEAAE;QAAA,4DAAS;QACrE,8EAA6F;QAA7B,qJAAS,YAAQ,IAAC;QAAW,oFAAI;QAAA,4DAAS;QAC9G,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAGN,yNA8Bc;;;QApIgB,2DAA8B;QAA9B,yIAA8B;QAGzB,0DAA6B;QAA7B,0FAA6B;QAC5B,0DAA8B;QAA9B,2FAA8B;QAC9B,0DAA8B;QAA9B,2FAA8B;QAC5B,0DAAgC;QAAhC,6FAAgC;QAC/B,0DAAgC;QAAhC,6FAAgC;QAI5C,0DAA4B;QAA5B,iFAA4B;QAQ5B,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAEzB,0DAAsD;QAAtD,uKAAsD;QACtD,0DAAqD;QAArD,sKAAqD;QAUhG,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QASpE,2DAAmC;QAAnC,oKAAmC;QAAC,uFAA8B;QAEvB,0DAAoD;QAApD,qKAAoD;QACpD,0DAAmD;QAAnD,oKAAmD;QAQzD,0DAAW;QAAX,iFAAW;QAgC9B,0DAA0B;QAA1B,0FAA0B;QAO5C,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrGP;AACN;AACoB;;;;;;;;;;;;;;;;;;ICiBlD,oEAA4D;;;IAoDhD,yEAAqD;IAAA,wDAAgC;IAAA,6DAAI;;;IAApC,2DAAgC;IAAhC,+FAAgC;;;IAiBrF,qEAA4B;IAAA,wDAA2B;IAAA,6DAAI;;;IAA/B,2DAA2B;IAA3B,0FAA2B;;;IAIvD,sEAAmE;;;;;IA1B3E,2EAA0E;IACtE,2EAA2F;IACvF,6EAAwF;IAAjE,wPAAgC;IAAvD,6DAAwF;IAC5F,6DAAM;IACN,2EAAwF;IACpF,8HAAyF;IACzF,4FAA2H;IAC3H,gEAAO;IACX,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAwB;IAAA,6DAAI;IACnC,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAA2B;IAAA,6DAAI;IACtC,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAkC;;IAAA,6DAAI;IAC7C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAsE;IAClE,gIAA2D;IAC/D,6DAAM;IACN,4EAAqE;IACjE,0EAAyC;IAAA,yDAAqB;IAAA,6DAAI;IAClE,oIAAmE;IACnE,iEAAO;IACX,6DAAM;IACN,4EAAuE;IACnE,0EAAsE;IAAA,yDAA8B;IAAA,6DAAI;IAC5G,6DAAM;IACN,4EAAuE;IACnE,0EAAuD;IAAA,yDAA2B;IAAA,6DAAI;IAC1F,6DAAM;IACN,4EAAuE;IACnE,0EAAgG;IAAA,yEAAE;IAAA,6DAAI;IAC1G,6DAAM;IACV,6DAAM;;;IApCyB,2DAAgC;IAAhC,2FAAgC;IAGjC,2DAA6B;IAA7B,6FAA6B;IACxB,2DAAiC;IAAjC,8FAAiC;IAIzD,2DAAwB;IAAxB,uFAAwB;IAGxB,2DAA2B;IAA3B,0FAA2B;IAG3B,2DAAkC;IAAlC,yJAAkC;IAGlC,2DAAmB;IAAnB,kFAAmB;IAGlB,2DAAsB;IAAtB,sFAAsB;IAGe,2DAAqB;IAArB,oFAAqB;IAC5B,2DAA+B;IAA/B,+FAA+B;IAI9D,2DAAuC;IAAvC,oGAAuC;IAA4B,2DAA8B;IAA9B,6FAA8B;IAGjG,2DAAmD;IAAnD,2KAAmD;IAAC,2DAA2B;IAA3B,0FAA2B;IAGvD,2DAA0D;IAA1D,uKAA0D;;;IAI7F,2EAAoE;IAChE,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;;;IAYlB,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAA+B;IAAA,6DAAI;IACpE,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,6EAAoF;IAAtC,+UAAqB;IAAnE,6DAAoF;IACpF,wEAA0B;IAAA,qFAAI;IAAA,6DAAI;IAClC,8EAAwE;IAApD,yXAAmC;IAAvD,6DAAwE;IACxE,yEAA0B;IAAA,6GAAQ;IAAA,6DAAI;IAC1C,6DAAM;IAEN,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAuB;IAAA,6DAAI;IAChD,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,yXAAkC,mRAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAAgI;IAA1C,mWAAuC,CAAC,IAAC;IAAC,yEAAY;IAAA,6DAAI;IAChJ,8EAAmE;IAA3B,gXAA0B;IAAlE,6DAAmE;IACnE,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAoI;IAA1C,oWAAuC,CAAC,IAAC;IAAC,0EAAa;IAAA,6DAAI;IACzJ,6DAAM;;;IA7BmC,2DAA+B;IAA/B,kGAA+B;IAE5C,2DAAyB;IAAzB,0FAAyB;IAEzB,2DAAmC;IAAnC,kGAAmC;IAMlC,2DAAuB;IAAvB,0FAAuB;IAKjB,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADvI1F,MAAM,6BAA6B;IAqBxC,YACU,gBAAkC,EAClC,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,QAAkB,EAClB,mBAAwC,EACxC,MAAc;QANd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QA1BxB,eAAU,GAAsB,EAAE,CAAC;QAEnC,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;YACpB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAC,EAAE;YACZ,YAAY,EAAC,EAAE;SAChB;QA8JD,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,wBAAmB,GAA0D,CAAC,CAAC,SAAmB,EAAE,YAAsB,EAAE,EAAE;YAC5H,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,SAAS,EAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAC,YAAY,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAGd,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAjLV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE;gBACpB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;oBAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACrB,OAAO;iBACR;gBAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;aACR;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;YACrC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YACrE,SAAS,EAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAc,CAAC,WAAW,EAAE;YAC7F,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAc,CAAC,WAAW,EAAE;YACzK,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS;YACjD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACvE,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK;SAC1F,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,MAAM,CAAC,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC/I,CAAC,CAAC;IACN,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,+CAAQ,CAAC;gBACP,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,EAAE;oBACpE,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,EAAE;iBACd,CAAC;gBACF,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,MAAM,CAAC,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBAC7G,OAAO,CAAC,CAAC,CAAC,EAAE;oBACX,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACpB,CAAC,CAAC;YACN,CAAC,CAAC;QACN,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB;QAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU;aAC1B,MAAM,CAAC,SAAS,CAAC,EAAE,CAClB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;eACpJ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,IAAI,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC;eACpE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;eACrH,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;eACvG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,IAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAS,EAAC,EAAE,UAAS,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;eAC7H,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;eACrF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAE,CAAC,IAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAmB,EAAC,EAAE,CACrF,OAAO,SAAS,CAAC,UAAU,IAAE,WAAW;gBACxC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAa,EAAC,EAAE,CACzC,GAAG,CAAC,IAAI,IAAE,SAAS,CAAC,IAAI,CACzB,CAAC,CACH,CACF;QAEL,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI;gBACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE9F,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElG,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,IAAI;YACxC,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,IAAI;gBACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE1G,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9G,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACxD,OAAO;aACR;YAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAC9I,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,sGAA2C,CACrF,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iCAAiC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5I,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxD,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEzD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,cAAc;YACrB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAE1D,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;;0GA/KU,6BAA6B;4HAA7B,6BAA6B;QCrB1C,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,qFAAK;QAAA,6DAAI;QACtB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAA0B;QAAA,oFAAI;QAAA,6DAAI;QAClC,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,yEAAqC;QAAA,qFAAI;QAAA,6DAAI;QAE7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,4EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QACjG,6DAAM;QAEN,+IAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAyE;QAAvB,sJAAS,gBAAY,IAAC;QAAxE,6DAAyE;QAC7E,6DAAM;QACN,4EAAsE;QAClE,0EAAkF;;QAAA,qFAAI;QAAA,6DAAI;QAC9F,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAAyH;QAAzF,2OAAmF,IAAI,IAAC;QACpH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAuE;QACnE,0EAAgF;;QAAA,yEAAE;QAAA,6DAAI;QACtF,4EAA4H;QAA5F,8OAAsF,IAAI,IAAC;QACvH,0EAAoG;QAAA,0EAAa;QAAA,6DAAI;QACrH,0EAAmG;QAAA,4EAAe;QAAA,6DAAI;QAC1H,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,+HAsCM;QAEN,6HAIM;QACV,6DAAQ;QAER,4EAAoG;QAChG,+EAA0D;QAA3B,uJAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,uJAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,4NAkCc;;;QAjJgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAG5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAA0B;QAA1B,wFAA0B;QAG9C,2DAAqC;QAArC,kLAAqC;QAAC,wFAA8B;QAKzB,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAsBhG,4DAAmC;QAAnC,sKAAmC;QAAC,wFAA8B;QAEvB,2DAAyD;QAAzD,4KAAyD;QACzD,2DAAwD;QAAxD,2KAAwD;QAQ5D,2DAAsB;QAAtB,6FAAsB;QAwC3C,2DAAqC;QAArC,sGAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GnC;AACK;AACc;AACZ;AAC8C;AACrD;AACc;AACiC;AAC3B;AAC0C;AACG;AACE;AACX;AACqC;AACvB;AACT;AACY;AACvB;AACH;;AA8BvF,MAAM,aAAa;;0EAAb,aAAa;2GAAb,aAAa;+GAXf;YACP,0DAAY;YACZ,4DAAW;YACX,wDAAW;YACX,gEAAmB;YACnB,iEAAe;YACf,0DAAY;YACZ,wEAAgB;YAChB,8EAAmB;SACpB;oIAEU,aAAa,mBAxBtB,6GAAwB;QACxB,uGAAsB;QACtB,sHAA4B;QAC5B,yHAA6B;QAC7B,2HAA4B;QAC5B,gHAA0B;QAC1B,qJAAoC;QACpC,8HAA6B;QAC7B,qHAA0B;QAC1B,kIAA8B;QAC9B,2GAAuB;QACvB,wGAAsB,aAGtB,0DAAY;QACZ,4DAAW;QACX,wDAAW;QACX,gEAAmB;QACnB,iEAAe;QACf,0DAAY;QACZ,wEAAgB;QAChB,8EAAmB;;;;;;;;;;;;;;;;;;;;;;AC7CsB;AACY;AACE;;;;;;ICFvD,wEAAsF;IAAA,sEAAW;IAAA,4DAAI;;;IACrG,wEAA+D;IAAA,uDAA+B;IAAA,4DAAI;;;IAAnC,0DAA+B;IAA/B,iGAA+B;;;;IAUlF,wEAAkF;IAAA,uDAAiB;IAAA,wEAAsF;IAAnC,4XAAkC;IAAC,gEAAK;IAAA,4DAAI;IAAA,4DAAI;;;IAApH,0DAAiB;IAAjB,+EAAiB;;;IAU/F,4EAA4E;IACxE,4EAAyE;IAAhC,iQAA+B;IAAxE,4DAAyE;IACzE,wEAAmB;IAAA,uDAA+B;;IAAA,4DAAI;IAC1D,4DAAQ;;;IAFqC,0DAA+B;IAA/B,0FAA+B;IACrD,0DAA+B;IAA/B,mJAA+B;;;IAP1D,wEAA6C;IACzC,4EAA6B;IACzB,4EAAkG;IAA7B,8LAAS,qBAAkB,IAAC;IAAjG,4DAAkG;IAClG,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAQ;IACR,uIAGQ;IACZ,qEAAe;;;IAP6B,0DAAgC;IAAhC,4FAAgC;IACjE,0DAA6B;IAA7B,gJAA6B;IAEmB,0DAAmB;IAAnB,wFAAmB;;;;IAY9F,0EAAyD;IAAnB,wTAAkB;IAAC,4DAAM;;;ADvBxD,MAAM,sBAAsB;IAcjC;QAZS,WAAM,GAAwD,GAAG,EAAE,GAAG,CAAC;QAChF,SAAI,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,YAAO,GAAY,KAAK,CAAC;QAEzB,YAAO,GAAa;YAClB,IAAI,mEAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,mEAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,mEAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACjF,CAAC;QAEF,iBAAY,GAAa,EAAE,CAAC;IAEZ,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,MAAM;QACJ,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAE,EAAE,EAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAC3H,IAAI,CAAC,YAAY,CAClB,CAAC;SACH;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,OAAO;QACT,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,GAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAC9I,CAAC;;4FAlDU,sBAAsB;oHAAtB,sBAAsB;QCXnC,yEAA8G;QAAnB,2IAAS,YAAQ,IAAC;QACzG,8GAAqG;QACrG,8GAAkG;QAClG,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,yEAAyG;QAAnC,iJAAS,wBAAwB,IAAC;QACpG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA6D;QAAA,uEAAE;QAAA,4DAAI;QACnE,wEAAuD;QAA5B,0IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAA6B;QACzB,iHAAsM;QACtM,6EAAgJ;QAAnF,0JAAe,oBAAgB,IAAC;;QAA7F,4DAAgJ;QACpJ,4DAAM;QAEN,2EAAwB;QACpB,uIASe;QAEnB,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,qHAA+D;;QAlC3C,2LAAsE;QACtC,0DAAoC;QAApC,oGAAoC;QAC1D,0DAAmC;QAAnC,mGAAmC;QAE5B,0DAAoC;QAApC,iGAAoC;QAQV,0DAAgB;QAAhB,qFAAgB;QAC+B,0DAAiD;QAAjD,yNAAiD;QAAvG,iFAAoB;QAI3B,0DAAU;QAAV,gFAAU;QAiBrD,0DAAa;QAAb,6EAAa;2sIDzBL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;AEPiB;AAEF;;;;;;;;ICD/C,wEAAoF;IAAlC,mTAAuB;IAAW,uEAAE;IAAA,4DAAI;;;IAU1E,6EAA+D;IAAA,uDAA6B;;IAAA,4DAAS;;;IAA9D,mFAAuB;IAAC,0DAA6B;IAA7B,gJAA6B;;;IAQxF,6EAAoF;IAAA,uDAA+B;;IAAA,4DAAS;;;IAAlE,qFAAyB;IAAC,0DAA+B;IAA/B,kJAA+B;;;IADvH,wEAAqC;IACjC,uIAA4H;IAChI,qEAAe;;;IADkB,0DAA2B;IAA3B,oGAA2B;;;;IAkBpE,0EAA0G;IACtG,0EAAkD;IAC9C,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IACxB,wEAAuE;IAA5B,0XAA2B;IAAC,gEAAK;IAAA,4DAAI;IACpF,4DAAM;IACV,4DAAM;;;IAHK,0DAAiB;IAAjB,gFAAiB;;;AD9BrC,MAAM,oBAAoB;IAY/B;QAVS,UAAK,GAAW,CAAC,CAAC;QAClB,SAAI,GAAgB,IAAI,4DAAW,EAAE,CAAC;QACtC,eAAU,GAA4B,GAAG,EAAE,GAAG,CAAC;QAEjD,YAAO,GAAa;YACzB,IAAI,mEAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,mEAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,mEAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACjF,CAAC;QAOF,sBAAiB,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAPE,CAAC;IAEjB,QAAQ;IACR,CAAC;IAMD,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;IACxF,CAAC;;wFAnCU,oBAAoB;kHAApB,oBAAoB;;QCXjC,yEAAyB;QACrB,yEAAgC;QAC5B,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAC7C,4GAA0F;QAC9F,4DAAM;QAEN,yEAA8B;QAC1B,yEAA6B;QACzB,uEAAiB;QAAA,uDAAuC;;QAAA,4DAAI;QAC5D,2EAAwD;QACpD,0EAAyB;QACrB,6EAAoF;QAA5B,+IAAU,oBAAgB,IAAC;QAC/E,8EAAqD;QAAA,yEAAG;QAAA,4DAAS;QACjE,yHAAqG;QACzG,4DAAS;QACb,4DAAM;QAEN,0EAAyB;QACrB,8EAA+D;QAC3D,8EAAqD;QAAA,yEAAG;QAAA,4DAAS;QACjE,qIAEe;QACnB,4DAAS;QACb,4DAAM;QAEN,wEAAiH;;QACjH,wEAAiH;;QACjH,wEAAkH;;QAClH,wEAAqH;;QACrH,wEAAkH;;QAClH,wEAAgH;;QAChH,wEAA0G;;QAC9G,4DAAO;QACX,4DAAM;QAEN,2EAAkC;QAC9B,yEAA2B;QAAA,wDAA0C;;QAAA,4DAAI;QACzE,2EAAwB;QACpB,mHAKM;QACN,yEAAmF;QAA1C,sRAAS,0BAA+B,IAAC;QAAC,sEAAU;QAAA,4DAAI;QACrG,4DAAM;QACV,4DAAM;QAEN,uFAAgF;QACpF,4DAAM;QACV,4DAAM;;QAhDmC,0DAAe;QAAf,+EAAe;QAK3B,0DAAuC;QAAvC,qOAAuC;QAC7B,0DAA4B;QAA5B,yFAA4B;QAGnC,0DAAgB;QAAhB,yEAAgB;QACG,0DAAU;QAAV,gFAAU;QAM7B,0DAAgB;QAAhB,yEAAgB;QACT,0DAAoB;QAApB,oFAAoB;QAMiC,0DAAoC;QAApC,qKAAoC;QACpC,0DAAoC;QAApC,qKAAoC;QACnC,0DAAoC;QAApC,qKAAoC;QACrC,0DAAwC;QAAxC,mLAAwC;QAC3C,0DAAwC;QAAxC,mLAAwC;QACtC,0DAAoC;QAApC,qKAAoC;QAC1C,0DAAoC;QAApC,qKAAoC;QAKlF,0DAA0C;QAA1C,mPAA0C;QAEK,0DAAiB;QAAjB,qFAAiB;QAU/D,0DAA4B;QAA5B,yFAA4B;;;;;;;;;;;;;;;;;;;;;;;AChDK;AAEd;;;;;;;;ICoB3D,0EAAyD;IAAnB,mUAAkB;IAAC,4DAAM;;;ADZxD,MAAM,oCAAoC;IAW/C,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAV5C,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAExC,WAAM,GAAqC,GAAG,EAAE,GAAG,CAAC;QAC7D,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC5B,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACjB,IAAI,CAAC,GAAG,CAAC,KAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAE/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;;wHA1CU,oCAAoC;kIAApC,oCAAoC;;QCXjD,yEAAoG;QAAnB,yJAAS,YAAQ,IAAC;QAC/F,uEAA+C;QAAA,qEAAU;QAAA,4DAAI;QAC7D,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAwG;QAAnC,+JAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,2EAA8K;QAAxE,wSAAS,UAAa,IAAC;;;QAA7H,4DAA8K;QAC9K,wEAA+B;QAAA,kEAAC;QAAA,4DAAI;QACpC,4EAA4K;QAAxE,ySAAS,UAAa,IAAC;;;QAA3H,4DAA4K;QAE5K,0EAAsC;QAClC,6EAA8D;QAA5B,6JAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAS;QACzE,6EAAsE;QAA7B,6JAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAS;QACrF,4DAAM;QAEN,4FAAuF;QACnF,wEAA4C;QAC5C,wEAAwC;QAC5C,4DAAuB;QACvB,4FAA+D;QACnE,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,mIAA+D;;;QAvB3C,iLAA4D;QAG5C,0DAAoC;QAApC,iGAAoC;QAEkE,0DAAsC;QAAtC,gLAAsC;QAAnH,+KAAoD;QAEuB,0DAAsC;QAAtC,iLAAsC;QAAjH,+KAAkD;QAOtD,0DAAkB;QAAlB,+EAAkB;QASrE,0DAAa;QAAb,6EAAa;sxFDdL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;AERmB;;;;;;ICAvD,wEAAoH;IAAA,sEAAW;IAAA,4DAAI;;;IACnI,wEAA8D;IAAA,uDAA8B;IAAA,4DAAI;;;IAAlC,0DAA8B;IAA9B,gGAA8B;;;IAUhF,4EAA6D;IACzD,4EAAkE;IAA9B,uPAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IAC5B,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAAiB;IAAjB,+EAAiB;;;;IAQxC,0EAAyD;IAAnB,gUAAkB;IAAC,4DAAM;;;ADbxD,MAAM,iCAAiC;IAY5C;QAVS,WAAM,GAAiC,GAAG,EAAE,GAAG,CAAC;QACzD,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;YAClD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;YACpD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;YACjD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE;YACtD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;SACnD,CAAC;QACF,YAAO,GAAY,KAAK,CAAC;IAGrB,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;;kHA/BU,iCAAiC;+HAAjC,iCAAiC;QCT9C,yEAA6G;QAAnB,sJAAS,YAAQ,IAAC;QACxG,yHAAmI;QACnI,yHAAgG;QAChG,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,yEAAwG;QAAnC,4JAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,uEAAE;QAAA,4DAAI;QACpE,wEAAuD;QAA5B,qJAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,oIAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,gIAA+D;;QAtB3C,yLAAqE;QACN,0DAAmC;QAAnC,mGAAmC;QACxF,0DAAkC;QAAlC,kGAAkC;QAE5B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAW;QAAX,iFAAW;QAUrE,0DAAa;QAAb,6EAAa;slCDfL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;AELR;AAI2B;;;;;;;ICLvD,wEAAkF;IAAA,0EAAe;IAAA,4DAAI;;;IACrG,wEAA2D;IAAA,uDAA2B;IAAA,4DAAI;;;IAA/B,0DAA2B;IAA3B,6FAA2B;;;IAgBtE,sEAAiD;IAC7C,4EAA6B;IACzB,4EAAgJ;IAA5G,wPAAgC;IAApE,4DAAgJ;IAChJ,uEAAa;IAAA,uDAAkB;IAAA,4DAAI;IACvC,4DAAQ;IACZ,4DAAM;;;;IAHsC,0DAAgC;IAAhC,0FAAgC;IAAC,iJAA0E;IAClI,0DAAkB;IAAlB,kFAAkB;;;IAR3C,0EAA6D;IACzD,4EAA6B;IAEzB,uEAAa;IAAA,uDAAe;IAAA,4DAAI;IACpC,4DAAQ;IACR,4HAKM;IACV,4DAAM;;;IARe,0DAAe;IAAf,+EAAe;IAEL,0DAAoB;IAApB,yFAAoB;;;;IAanE,0EAAyD;IAAnB,uTAAkB;IAAC,4DAAM;;;ADhBxD,MAAM,wBAAwB;IAYnC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAVnC,WAAM,GAA+B,GAAG,EAAE;QAInD,CAAC;QAED,YAAO,GAAU,EAAE,CAAC;QACpB,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QAEN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,8CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;SACxD,CAAC,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAE/B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAE;YACzB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAE;gBACzB,CAAC,CAAC,QAAQ,GAAC,KAAK,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CACT,IAAI,CAAC,OAAO,CAEb,CAAC;SACH;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,gBAAgB;IAEhB,CAAC;IAED,IAAI,qBAAqB;QAEvB,OAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAC,OAAO,EAAC,EAAE;YAC1C,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE;gBACtC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAC,EAAC,EAAC,EAAC,CAAC,CAAC;YAC5B,CAAC,EACA,MAAM,CACR,CAAC;YACA,OAAO,CAAC,CAAC;QACb,CAAC,EAAC,CAAC,CAAC,CAAC;IACP,CAAC;;gGAhEU,wBAAwB;sHAAxB,wBAAwB;QCfrC,yEAA0G;QAAnB,6IAAS,YAAQ,IAAC;QACrG,gHAAqG;QACrG,gHAA0F;QAC1F,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAA2G;QAAnC,mJAAS,wBAAwB,IAAC;QACtG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA6D;QAAA,mFAAI;QAAA,2EAAsD;QAAA,0HAAY;QAAA,4DAAO;QAAA,4DAAI;QAC9I,wEAAuD;QAA5B,4IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,2EAAwB;QAEpB,uHAWM;QACV,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,uHAA+D;;QA/B3C,sLAAkE;QAClC,0DAAgC;QAAhC,gGAAgC;QACtD,0DAA+B;QAA/B,+FAA+B;QAEtB,0DAAoC;QAApC,iGAAoC;QASV,2DAAU;QAAV,gFAAU;QAkBrE,0DAAa;QAAb,6EAAa;8sEDlBL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;IEL5B,4EAAoE;IAChE,4EAAqE;IAAjC,wPAAgC;IAApE,4DAAqE;IACrE,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC/B,4DAAQ;;;IAFgC,0DAAgC;IAAhC,0FAAgC;IACjE,0DAAoB;IAApB,kFAAoB;;;;IAVvC,yEAAwD;IAAlB,oTAAiB;IACnD,yEAAsE;IAAnC,wJAAS,wBAAwB,IAAC;IACjE,yEAA6B;IACzB,uEAA4B;IAAA,mFAAI;IAAA,4DAAI;IACpC,uEAAuD;IAA5B,kTAAiB;IAAW,uEAAE;IAAA,4DAAI;IACjE,4DAAM;IAEN,yEAAiC;IAC7B,6HAGQ;IACZ,4DAAM;IAEN,oEAA0B;IAE1B,0EAAmC;IAC/B,8EAA2D;IAA5B,wTAAiB;IAAW,yEAAG;IAAA,4DAAS;IACvE,8EAA4F;IAA9B,0TAAmB;IAAW,yEAAG;IAAA,4DAAS;IAC5G,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAb2D,0DAAa;IAAb,sFAAa;;ACCvE,MAAM,uBAAuB;IAMlC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QALnC,WAAM,GAAsC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/D,eAAU,GAAgB,EAAE,CAAC;QAC7B,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;aACrC,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,UAAU,GAAG,KAAK;YACzB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,UAAuB;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;aAChF,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IACnE,CAAC;;8FAzCU,uBAAuB;qHAAvB,uBAAuB;QDTpC,oHAqBM;;QArBiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;AEEuB;;;;;;;ICDvD,qEAAwF;;;IACxF,wEAA6D;IAAA,uDAA6B;IAAA,4DAAI;;;IAAjC,0DAA6B;IAA7B,+FAA6B;;;IAU9E,4EAA4D;IACxD,4EAAkE;IAA9B,2OAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IAC5B,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAAiB;IAAjB,+EAAiB;;;;IAQxC,0EAAyD;IAAnB,oTAAkB;IAAC,4DAAM;;;ADXxD,MAAM,qBAAqB;IAMhC,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAL7B,WAAM,GAAgC,GAAG,EAAE,GAAG,CAAC;QACxD,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;aAC5B,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;;0FApCU,qBAAqB;mHAArB,qBAAqB;QCXlC,yEAA4G;QAAnB,0IAAS,YAAQ,IAAC;QACvG,iHAAwF;QACxF,6GAA8F;QAC9F,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAwG;QAAnC,gJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,mFAAI;QAAA,4DAAI;QACtE,wEAAuD;QAA5B,yIAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,wHAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,oHAA+D;;QAtB3C,wLAAoE;QAC1D,0DAAkC;QAAlC,kGAAkC;QAClC,0DAAiC;QAAjC,iGAAiC;QAE3B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAU;QAAV,gFAAU;QAUpE,0DAAa;QAAb,6EAAa;kjCDbL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;IED5B,4EAA0D;IACtD,4EAAkE;IAA9B,+OAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IAC5B,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAAiB;IAAjB,+EAAiB;;;;IAVpC,yEAAwD;IAAlB,iTAAiB;IACnD,yEAAkE;IAAnC,qJAAS,wBAAwB,IAAC;IAC7D,yEAA6B;IACzB,uEAA4B;IAAA,mFAAI;IAAA,4DAAI;IACpC,uEAAuD;IAA5B,+SAAiB;IAAW,uEAAE;IAAA,4DAAI;IACjE,4DAAM;IAEN,yEAA6B;IACzB,0HAGQ;IACZ,4DAAM;IAEN,oEAA0B;IAE1B,0EAA+B;IAC3B,8EAA2D;IAA5B,qTAAiB;IAAW,yEAAG;IAAA,4DAAS;IACvE,8EAA4F;IAA9B,uTAAmB;IAAW,yEAAG;IAAA,4DAAS;IAC5G,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAboD,0DAAU;IAAV,mFAAU;;ACC7D,MAAM,oBAAoB;IAM/B,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QALtC,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAY,KAAK,CAAC;QAChB,WAAM,GAAgC,GAAG,EAAE,GAAG,CAAC;IAIpD,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE;aAClC,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,OAAiB;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;gBAC1C,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;;wFA5CU,oBAAoB;kHAApB,oBAAoB;QDTjC,iHAqBM;;QArBiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;AECgC;AACpC;AAG2B;;;;;;;;ICJvD,wEAAkF;IAAA,0EAAe;IAAA,4DAAI;;;IACrG,wEAA2D;IAAA,uDAA2B;IAAA,4DAAI;;;IAA/B,0DAA2B;IAA3B,6FAA2B;;;IA2B1E,4EAA4D;IACxD,4EAAkE;IAA9B,8OAA6B;IAAjE,4DAAkE;IAClE,wEAAmB;IAAA,uDAA6B;;IAAA,4DAAI;IACxD,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9C,0DAA6B;IAA7B,gJAA6B;;;IASpD,4EAA4D;IACxD,4EAAkE;IAA9B,8OAA6B;IAAjE,4DAAkE;IAClE,wEAAmB;IAAA,uDAAiB;IAAA,4DAAI;IAC5C,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9C,0DAAiB;IAAjB,+EAAiB;;;IASxC,4EAA4D;IACxD,4EAAkE;IAA9B,gPAA6B;IAAjE,4DAAkE;IAClE,wEAAmB;IAAA,uDAAiB;IAAA,4DAAI;IAC5C,4DAAQ;;;IAFgC,0DAA6B;IAA7B,wFAA6B;IAC9C,0DAAiB;IAAjB,gFAAiB;;;;IAQxD,0EAAyD;IAAnB,0TAAkB;IAAC,4DAAM;;;AD9CxD,MAAM,wBAAwB;IAiBnC,YACU,aAA4B,EAC5B,aAA4B;QAD5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAjB7B,WAAM,GAA0H,GAAG,EAAE,GAAG,CAAC;QAClJ,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAG;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC7C,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;SAC9C,CAAC;QAEF,iBAAY,GAAG,IAAI,qDAAS,CAAC;YAC3B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,EAAE,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,0DAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SACpE,CAAC,CAAC;QAEH,YAAO,GAAY,KAAK,CAAC;IAKrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/C,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;gBACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,8CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;YACpD,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;SACrD,CAAC,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,YAAY,GAAgB,IAAI,CAAC;YACrC,IAAI,UAAU,GAAgB,IAAI,CAAC;YAEnC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBAC3B,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC1B,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;gBACtF,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;aACvF;YAED,IAAI,CAAC,MAAM,CACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC9C,YAAY,EACZ,UAAU,CACX,CAAC;SACH;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,gBAAgB;QACrB,IAAI,IAAI,CAAC,mBAAmB;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAE9C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IAEM,yBAAyB;QAC9B,IAAI,IAAI,CAAC,6BAA6B;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAExD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEM,yBAAyB;QAC9B,IAAI,IAAI,CAAC,6BAA6B;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAE9C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,6BAA6B;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,6BAA6B;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM;cACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM;cACrD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;;gGA/GU,wBAAwB;sHAAxB,wBAAwB;QCfrC,yEAA0G;QAAnB,6IAAS,YAAQ,IAAC;QACrG,gHAAqG;QACrG,gHAA0F;QAC1F,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAA2G;QAAnC,mJAAS,wBAAwB,IAAC;QACtG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA6D;QAAA,mFAAI;QAAA,4DAAI;QACrE,wEAAuD;QAA5B,4IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,6EAA6B;QACzB,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAQ;QAER,4EAAiF;QAC7E,wEAA6G;;QAC7G,yEAA0B;QAAA,yEAAG;QAAA,4DAAI;QACjC,wEAA2G;;QAC3G,wEAAa;QAAA,mEAAE;QAAA,4DAAI;QACvB,4DAAO;QAEP,sEAA2C;QAE3C,6EAA6B;QAEzB,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAQ;QACR,2HAGQ;QAER,sEAA2C;QAE3C,6EAA6B;QAEzB,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAQ;QACR,2HAGQ;QAER,sEAA2C;QAE3C,6EAA6B;QAEzB,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAQ;QACR,2HAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,uHAA+D;;QA7D3C,uLAAkE;QAClC,0DAAgC;QAAhC,gGAAgC;QACtD,0DAA+B;QAA/B,+FAA+B;QAEtB,0DAAoC;QAApC,iGAAoC;QAYL,2DAA0B;QAA1B,uFAA0B;QACJ,0DAAoC;QAApC,qKAAoC;QAEtC,0DAAoC;QAApC,qKAAoC;QAU9D,0DAAU;QAAV,gFAAU;QAWV,0DAAU;QAAV,gFAAU;QAWV,0DAAU;QAAV,gFAAU;QAUpE,0DAAa;QAAb,6EAAa;ivDDhDL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;AEZmB;;;;;;ICAvD,wEAAwG;IAAA,oEAAS;IAAA,4DAAI;;;IACrH,wEAA2D;IAAA,uDAA2B;IAAA,4DAAI;;;IAA/B,0DAA2B;IAA3B,6FAA2B;;;IAU1E,4EAAwD;IACpD,4EAAgE;IAA5B,6OAA2B;IAA/D,4DAAgE;IAChE,oEAAG;IAAA,uDAA2B;;IAAA,4DAAI;IACtC,4DAAQ;;;IAFgC,0DAA2B;IAA3B,qFAA2B;IAC5D,0DAA2B;IAA3B,8IAA2B;;;;IAQlD,0EAAyD;IAAnB,0TAAkB;IAAC,4DAAM;;;ADbxD,MAAM,2BAA2B;IAStC;QAPA,YAAO,GAAY,KAAK,CAAC;QAChB,WAAM,GAA8B,GAAG,EAAE,GAAG,CAAC;QACtD,UAAK,GAAG;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;YAChD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;SACnD,CAAC;IAGE,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACzD,CAAC;;sGA5BU,2BAA2B;yHAA3B,2BAA2B;QCTxC,yEAA0G;QAAnB,gJAAS,YAAQ,IAAC;QACrG,mHAAqH;QACrH,mHAA0F;QAC1F,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAwG;QAAnC,sJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,mFAAI;QAAA,4DAAI;QACtE,wEAAuD;QAA5B,+IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,8HAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,0HAA+D;;QAtB3C,sLAAkE;QACZ,0DAAgC;QAAhC,gGAAgC;QAC5E,0DAA+B;QAA/B,+FAA+B;QAEzB,0DAAoC;QAApC,iGAAoC;QAQV,0DAAQ;QAAR,8EAAQ;QAUhE,0DAAa;QAAb,6EAAa;22CDfL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;IEH5B,uEAA8F;IAAnC,6XAAkC;IAAC,uDAAiB;IAAA,4DAAI;;;IAArB,0DAAiB;IAAjB,+EAAiB;;;;IAG/G,uEAAgF;IAA1B,oXAAyB;IAAC,uDAAiB;IAAA,4DAAI;;;IAArB,0DAAiB;IAAjB,+EAAiB;;ACEtG,MAAM,oBAAoB;IAO/B,YACU,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QALhC,WAAM,GAAa,EAAE,CAAC;QACtB,eAAU,GAAa,EAAE,CAAC;QAC1B,qBAAgB,GAAkB,IAAI,CAAC;IAInC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;YAChE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC;YAC1H,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAC,YAAK,CAAC,QAAQ,KAAI,UAAI,CAAC,gBAAgB,0CAAE,QAAQ,KAAC,CAAC;IAC7H,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YACnB,OAAO;QAET,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACrC,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;;wFAjCU,oBAAoB;kHAApB,oBAAoB;QDTjC,yEAAuC;QACnC,uEAA4D;QAAA,kFAAuB;QAAA,4DAAI;QACvF,yEAAgC;QAC5B,yEAA4B;QACxB,4GAAmH;QACvH,4DAAM;QACN,yEAAuB;QACnB,4GAAqG;QACzG,4DAAM;QACV,4DAAM;QACV,4DAAM;;QANkD,0DAAa;QAAb,mFAAa;QAGtB,0DAAiB;QAAjB,uFAAiB;;;;;;;;;;;;;;;;;;;;;;AENL;;;;;;ICAvD,wEAAoH;IAAA,sEAAW;IAAA,4DAAI;;;IACnI,wEAA8D;IAAA,uDAA8B;IAAA,4DAAI;;;IAAlC,0DAA8B;IAA9B,gGAA8B;;;IAUhF,4EAA6D;IACzD,4EAAkE;IAA9B,gPAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAA6B;IAA7B,gJAA6B;;;;IAQpD,0EAAyD;IAAnB,yTAAkB;IAAC,4DAAM;;;ADbxD,MAAM,0BAA0B;IAarC;QAXS,WAAM,GAA+B,GAAG,EAAE,GAAG,CAAC;QACvD,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;YAC3C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;SAC7C,CAAC;QACF,YAAO,GAAY,KAAK,CAAC;IAGrB,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SAC7G;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;;oGAhCU,0BAA0B;wHAA1B,0BAA0B;QCTvC,yEAA6G;QAAnB,+IAAS,YAAQ,IAAC;QACxG,kHAAmI;QACnI,kHAAgG;QAChG,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,yEAAwG;QAAnC,qJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,uEAAE;QAAA,4DAAI;QACpE,wEAAuD;QAA5B,8IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,6HAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,yHAA+D;;QAtB3C,yLAAqE;QACN,0DAAmC;QAAnC,mGAAmC;QACxF,0DAAkC;QAAlC,kGAAkC;QAE5B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAW;QAAX,iFAAW;QAUrE,0DAAa;QAAb,6EAAa;2oCDfL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;AENmB;;;;;;ICAvD,qEAAqG;;;IACrG,wEAA8D;IAAA,uDAA8B;IAAA,4DAAI;;;IAAlC,0DAA8B;IAA9B,gGAA8B;;;IAUhF,4EAA6D;IACzD,4EAAkE;IAA9B,yPAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAA6B;IAA7B,gJAA6B;;;;IAQpD,0EAAyD;IAAnB,kUAAkB;IAAC,4DAAM;;;ADbxD,MAAM,mCAAmC;IAU9C;QARS,WAAM,GAAiC,GAAG,EAAE,GAAG,CAAC;QACzD,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;YAChD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE;YACpD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;SACtD,CAAC;QACF,YAAO,GAAY,KAAK,CAAC;IAGrB,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;;sHA7BU,mCAAmC;iIAAnC,mCAAmC;QCThD,yEAA6G;QAAnB,wJAAS,YAAQ,IAAC;QACxG,+HAAqG;QACrG,2HAAgG;QAChG,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAwG;QAAnC,8JAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,mFAAI;QAAA,4DAAI;QACtE,wEAAuD;QAA5B,uJAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,sIAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,kIAA+D;;QAtB3C,yLAAqE;QAC3D,0DAAmC;QAAnC,mGAAmC;QACnC,0DAAkC;QAAlC,kGAAkC;QAE5B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAW;QAAX,iFAAW;QAUrE,0DAAa;QAAb,6EAAa;uqCDfL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;AELmB;;;;;;;ICDvD,qEAAiG;;;IACjG,wEAAgE;IAAA,uDAAgC;IAAA,4DAAI;;;IAApC,0DAAgC;IAAhC,kGAAgC;;;IAUpF,4EAAkE;IAC9D,4EAAqE;IAAjC,oPAAgC;IAApE,4DAAqE;IACrE,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC/B,4DAAQ;;;IAFgC,0DAAgC;IAAhC,0FAAgC;IACjE,0DAAoB;IAApB,kFAAoB;;;;IAQ3C,0EAAyD;IAAnB,uTAAkB;IAAC,4DAAM;;;ADXxD,MAAM,wBAAwB;IAMnC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QALnC,WAAM,GAAmC,GAAG,EAAE,GAAG,CAAC;QAC3D,eAAU,GAAgB,EAAE,CAAC;QAC7B,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;aACrC,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,0BAA0B;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACxE,CAAC;;gGApCU,wBAAwB;sHAAxB,wBAAwB;QCXrC,yEAA+G;QAAnB,6IAAS,YAAQ,IAAC;QAC1G,oHAAiG;QACjG,gHAAoG;QACpG,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAwG;QAAnC,mJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,mFAAI;QAAA,4DAAI;QACtE,wEAAuD;QAA5B,4IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,2HAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,uHAA+D;;QAtB3C,2LAAuE;QAC7D,0DAAqC;QAArC,qGAAqC;QACrC,0DAAoC;QAApC,oGAAoC;QAE9B,0DAAoC;QAApC,iGAAoC;QAQL,0DAAa;QAAb,mFAAa;QAU1E,0DAAa;QAAb,6EAAa;8jCDbL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;IEIxB,wEAAuH;IAAA,qEAAU;IAAA,4DAAI;;;IACrI,wEAAmI;IAAA,yEAAc;IAAA,4DAAI;;;IAJzJ,4EAA0D;IACtD,4EAAkE;IAA9B,gPAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IACxB,4HAAqI;IACrI,4HAAqJ;IACzJ,4DAAQ;;;IAJgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAAiB;IAAjB,+EAAiB;IACqE,0DAA4B;IAA5B,2FAA4B;IACzB,0DAAqC;IAArC,oGAAqC;;;;IAdjJ,yEAAwD;IAAlB,iTAAiB;IACnD,yEAAkE;IAAnC,qJAAS,wBAAwB,IAAC;IAC7D,yEAA6B;IACzB,uEAAsB;IAAA,mFAAI;IAAA,4DAAI;IAC9B,uEAAkE;IAAA,uEAAY;IAAA,4DAAI;IAClF,uEAAwD;IAAA,uTAA0C;IAAA,4DAAI;IACtG,uEAAuD;IAA5B,+SAAiB;IAAW,wEAAE;IAAA,4DAAI;IACjE,4DAAM;IAEN,0EAA6B;IACzB,4HAKQ;IACZ,4DAAM;IAEN,sEAA0B;IAE1B,2EAA+B;IAC3B,8EAA2D;IAA5B,uTAAiB;IAAW,yEAAG;IAAA,4DAAS;IACvE,8EAA4F;IAA9B,yTAAmB;IAAW,yEAAG;IAAA,4DAAS;IAC5G,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAfoD,2DAAU;IAAV,mFAAU;;ACD7D,MAAM,oBAAoB;IAO/B,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAN7B,WAAM,GAAgC,GAAG,EAAE,GAAG,CAAC;QACxD,YAAO,GAAa,EAAE,CAAC;QAEvB,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;aACxC,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK;YACtB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,OAAiB;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;aACpE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;;wFA1CU,oBAAoB;kHAApB,oBAAoB;QDTjC,iHAyBM;;QAzBiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;AEC0B;AACE;;;;;;;;;ICgBxC,kFAA8E;;;IAC9E,kFAA8F;;;IAFlG,sEAAoC;IAChC,8JAA8E;IAC9E,8JAA8F;IAClG,4DAAM;;;IAFiB,0DAAwB;IAAxB,uFAAwB;IACxB,0DAAuB;IAAvB,sFAAuB;;;IAG1C,kFAAiF;;;IAT7F,0EAA6D;IACzD,wEAAwE;IAAA,sEAAW;IAAA,4DAAI;IACvF,0EAAuC;IACnC,wEAA0B;IAAA,uDAAoB;IAAA,4DAAI;IAClD,8HAGM;IACN,0NAEc;IAClB,4DAAM;IACV,4DAAM;;;;IAT4B,0DAAoB;IAApB,kFAAoB;IACxC,0DAAkB;IAAlB,gFAAkB;;;;IAjB5C,yEAAwD;IAAlB,oTAAiB;IACnD,yEAAoE;IAAnC,qJAAS,wBAAwB,IAAC;IAC/D,yEAAiC;IAC7B,uEAAyE;IAAA,gGAAO;IAAA,4DAAI;IACpF,uEAA6G;IAAlB,kTAAiB;IAAC,gEAAK;IAAA,4DAAI;IAC1H,4DAAM;IACN,yEAA+B;IAC3B,yEAA4G;IAApF,2UAA+B,0iBAAkC,WAAiB,IAAnD;IACnD,wEAAwE;IAAA,qEAAS;IAAA,4DAAI;IACrF,yEAA0B;IAAA,0IAAa;IAAA,4DAAI;IAC3C,yEAAyC;IAAA,0GAAgB;IAAA,4DAAI;IACjE,4DAAM;IAEN,yHAYM;IACV,4DAAM;IACN,2EAAiC;IAC7B,yEAAmE;IAAnC,0TAAwB;IAAW,oFAAI;IAAA,4DAAI;IAC3E,sEAA0B;IAC1B,8EAA8D;IAA5B,wTAAiB;IAAW,yEAAG;IAAA,4DAAS;IAC1E,8EAAuE;IAA9B,0TAAmB;IAAW,yEAAG;IAAA,4DAAS;IACvF,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IArByD,2DAAQ;IAAR,iFAAQ;;ADDhE,MAAM,oBAAoB;IAQ/B,YACU,mBAAwC,EACxC,aAA4B,EAC5B,aAA4B;QAF5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QATtC,eAAU,GAAW,MAAM,CAAC;QAC5B,UAAK,GAAiB,EAAE,CAAC;QACzB,YAAO,GAAU,EAAE,CAAC;QAEpB,YAAO,GAAY,KAAK,CAAC;IAMrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAgB;QACzB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAgB;;QACrB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,WAAK,CAAC,YAAY,0CAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,KAA2B;QACtC,IAAI,KAAK,IAAI,SAAS;YACpB,OAAO;QAET,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE;gBAC/G,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,CAAC;gBACpF,OAAO;aACR;YAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC;iBACjC,SAAS,EAAE,CAAC;YAEf,IAAI,UAAU,GAAG,IAAI,0EAAU,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAG5B,QAAQ,IAAI,CAAC,UAAU,EAAE;gBACvB,KAAK,MAAM;oBACT,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBACnC,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBACpC,MAAM;gBACR;oBACE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;oBACrF,MAAM;aACT;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,IAAgB;QACrC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YACrD,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,0EAA0E;YACvG,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACxC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YACxD,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,0EAA0E;YACvG,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,IAAgB;QACtC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,0EAA0E;YACvG,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,IAAgB;QACzC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YACzD,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,0EAA0E;YACvG,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI;SACzC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,MAAM;gBACT,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3F,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9F,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5F,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9F,MAAM;YACR;gBACE,MAAM;SACT;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,YAAY;QACV,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,MAAM;gBACT,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACtC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACzC,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACvC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;gBAC1C,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;;wFAnJU,oBAAoB;kHAApB,oBAAoB;;QCZjC,iHAkCM;QAEN,8EAAuH;QAA7E,yRAAU,qCAAiC,qBAAmB,EAAE,IAAC;QAA3G,4DAAuH;;QApChG,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;ACCF;AACQ;AACoB;;;;;;;ICH9D,yEAAuC;IACnC,yEAA6D;IACzD,uEAA0B;IAAA,uDAAwC;;IAAA,4DAAI;IACtE,sEAAK;IACD,uEAAwB;IAAA,uDAAsB;IAAA,4DAAI;IAClD,yEAA0D;IAC9D,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAN4B,0DAAwC;IAAxC,4KAAwC;IAEtC,0DAAsB;IAAtB,wFAAsB;IACpC,0DAA0B;IAA1B,0FAA0B;;ADQzC,MAAM,0BAA0B;IAIrC,YACU,aAA4B,EAC5B,mBAAwC,EACxC,kBAAsC;QAFtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,uBAAkB,GAAlB,kBAAkB,CAAoB;QANzC,gBAAW,GAA0C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QAC3F,YAAO,GAAY,KAAK,CAAC;IAMrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,UAA2B,EAAE,EAAE;YAC5E,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,UAAU;iBACP,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;iBAClC,SAAS,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC;gBAClB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/D,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAC5F,IAAI,4CAAU,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CACvE;aACF,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;IACpD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;;oGAlCU,0BAA0B;wHAA1B,0BAA0B;QCbvC,sHAQM;;QARkB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;ACC+B;;;;;;;;;ICSpD,0EAAkI;IAApB,iXAAmB;IAC7H,oEAAG;IAAA,uDAA2B;;IAAA,4DAAI;IAClC,oEAAG;IAAA,uDAAqC;IAAA,4DAAI;IAChD,4DAAM;;;;;IAH6B,gKAAgC;IAC5D,0DAA2B;IAA3B,8IAA2B;IAC3B,0DAAqC;IAArC,0GAAqC;;;IAU5C,0EAA2E;IACvE,wEAAO;IACH,4EAAkE;IAA9B,8OAA6B;IAAjE,4DAAkE;IAClE,wEAAgB;IAAA,uDAAiB;IAAA,4DAAI;IACzC,4DAAQ;IACZ,4DAAM;;;IAHsC,0DAA6B;IAA7B,uFAA6B;IACjD,0DAAiB;IAAjB,+EAAiB;;;;IAzBzD,yEAAwD;IAAlB,kTAAiB;IACnD,yEAAkE;IAAnC,qJAAS,wBAAwB,IAAC;IAE7D,yEAAgD;IAC5C,uEAA4B;IAAA,+FAAM;IAAA,4DAAI;IACtC,uEAAuD;IAA5B,kTAAiB;IAAW,uEAAE;IAAA,4DAAI;IACjE,4DAAM;IAEN,yEAA8B;IAC1B,yEAAgC;IAC5B,sHAGM;IACN,0EAAuC;IACnC,yEAAkD;IAAA,yEAAa;IAAA,4DAAI;IACnE,yEAA2E;IAAA,4PAAgC;IAAA,4DAAI;IACnH,4DAAM;IACV,4DAAM;IAGN,2EAA2B;IACvB,yHAKM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAoB;IAChB,8EAAyF;IAA5B,wTAAiB;IAAW,yEAAG;IAAA,4DAAS;IACrG,8EAA8D;IAA7B,yTAAkB;IAAW,yEAAG;IAAA,4DAAS;IAC9E,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA1B+F,0DAAU;IAAV,iFAAU;IAY9C,0DAAwB;IAAxB,iGAAwB;;ADblF,MAAM,oBAAoB;IAgB/B,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAftC,YAAO,GAAY,KAAK,CAAC;QACzB,UAAK,GAAW,CAAC,CAAC;QACT,WAAM,GAAgC,CAAC,OAAiB,EAAE,EAAE,GAAG,CAAC;QACzE,YAAO,GAAa,EAAE,CAAC;QAEhB,UAAK,GAAG;YACb,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,2EAAgB,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,4EAAiB,EAAE;YACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,4EAAiB,EAAE;YAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,6EAAkB,EAAE;YAC3C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mFAAwB,EAAE;YAC9C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,6EAAkB,EAAE;SACzC,CAAC;IAIE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;aACxC,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK;YACtB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,IAAI,CAAC,OAAiB;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;aACpE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,oBAAoB,CAAC,IAAiB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC;;wFA3DU,oBAAoB;kHAApB,oBAAoB;QCTjC,iHAoCM;;QApCiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;ICApC,yEAAsC;IAClC,oEAAiC;IACrC,4DAAM;;ACMC,MAAM,gBAAgB;IAI3B,YACU,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAHjC,YAAO,GAAY,KAAK,CAAC;IAI5B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACvF,CAAC;;gFAVU,gBAAgB;8GAAhB,gBAAgB;QDR7B,4GAEM;;QAFiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;AEEM;AACkC;;;;;;;;ICAhE,wEAAoF;IAAA,uEAAY;IAAA,4DAAI;;;IACpG,wEAAgF;IAAA,iEAAM;IAAA,4DAAI;;;IAC1F,wEAA8E;IAAA,+DAAI;IAAA,4DAAI;;;IAH1F,yEAAsE;IAClE,yHAAoG;IACpG,yHAA0F;IAC1F,0HAAsF;IACtF,0EAAgC;IAC5B,wEAAsE;IAAA,uDAAiC;;IAAA,4DAAI;IAC3G,wEAAyE;IAAA,uDAAqC;;IAAA,4DAAI;IACtH,4DAAM;IACV,4DAAM;;;IAPiD,0DAA+B;IAA/B,kGAA+B;IAC9E,0DAA6B;IAA7B,gGAA6B;IAC7B,0DAA4B;IAA5B,+FAA4B;IAE0C,0DAAiC;IAAjC,wJAAiC;IAC9B,0DAAqC;IAArC,6JAAqC;;;;IAKlH,6EAAsG;IAApC,8TAAmB,KAAK,IAAC;IAAW,wEAAG;IAAA,4DAAS;;;;IAb9H,yEAAsC;IAClC,yEAAgC;IAC5B,wHAQM;IAEN,yEAAiD;IAC7C,6HAAkH;IAClH,4EAAuE;IAA9B,uTAAmB;IAAW,wEAAG;IAAA,4DAAS;IACvF,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAfyD,0DAAa;IAAb,gFAAa;IAW7B,0DAA6B;IAA7B,iIAA6B;;ADArE,MAAM,qBAAqB;IAKhC,YACU,mBAAwC,EACxC,cAA8B,EAC9B,mBAAuC;QAFvC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAoB;QAN1C,YAAO,GAAwB,oGAAyC,CAAC;QACzE,YAAO,GAAY,KAAK,CAAC;IAM5B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACrD,IAAI,CAAC,OAAO,GAAG;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK,CAAC,aAAa;gBAC5B,WAAW,EAAE,EAAE;aAChB,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,+EAA+E;QAC/E,qBAAqB;QACrB,qBAAqB;QACrB,oCAAoC;QACpC,wBAAwB;QACxB,MAAM;QACN,yBAAyB;QACzB,MAAM;IACR,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAE,EAAsB,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,OAAO;;QACZ,IAAI,WAAI,CAAC,OAAO,0CAAE,UAAU,KAAI,IAAI,EAAE;YACpC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,UAAU;iBACpB,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE;gBAClB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;iBACF,SAAS,EAAE,CAAC;SAChB;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;;0FArDU,qBAAqB;mHAArB,qBAAqB;QCblC,iHAiBM;;QAjBiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;ACCuB;;;;;;ICAvD,wEAAoH;IAAA,sEAAW;IAAA,4DAAI;;;IACnI,wEAA8D;IAAA,uDAA8B;IAAA,4DAAI;;;IAAlC,0DAA8B;IAA9B,gGAA8B;;;IAUhF,4EAA6D;IACzD,4EAAkE;IAA9B,iPAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAA6B;IAA7B,gJAA6B;;;;IAQpD,0EAAyD;IAAnB,0TAAkB;IAAC,4DAAM;;;ADbxD,MAAM,2BAA2B;IAetC;QAbS,WAAM,GAAiC,GAAG,EAAE,GAAG,CAAC;QACzD,aAAQ,GAAyD;YAC/D,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC3C,CAAC;QAEF,YAAO,GAAY,KAAK,CAAC;IAGrB,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;;sGAlCU,2BAA2B;yHAA3B,2BAA2B;QCTxC,yEAA6G;QAAnB,gJAAS,YAAQ,IAAC;QACxG,mHAAmI;QACnI,mHAAgG;QAChG,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,yEAAwG;QAAnC,sJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,uEAAE;QAAA,4DAAI;QACpE,wEAAuD;QAA5B,+IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,8HAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,0HAA+D;;QAtB3C,yLAAqE;QACN,0DAAmC;QAAnC,mGAAmC;QACxF,0DAAkC;QAAlC,kGAAkC;QAE5B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAW;QAAX,iFAAW;QAUrE,0DAAa;QAAb,6EAAa;+oCDfL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;AENmB;;;;;;ICAvD,wEAA0G;IAAA,0EAAe;IAAA,4DAAI;;;IAC7H,wEAA6D;IAAA,uDAA6B;IAAA,4DAAI;;;IAAjC,0DAA6B;IAA7B,+FAA6B;;;IAU9E,4EAA4D;IACxD,4EAAkE;IAA9B,+OAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAA6B;IAA7B,gJAA6B;;;;IAQpD,0EAAyD;IAAnB,wTAAkB;IAAC,4DAAM;;;ADbxD,MAAM,yBAAyB;IAUpC;QARA,YAAO,GAAY,KAAK,CAAC;QAEhB,WAAM,GAAgC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,YAAO,GAAyD;YAC9D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC5C,CAAC;IAEc,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;;kGA9BU,yBAAyB;uHAAzB,yBAAyB;QCTtC,yEAA4G;QAAnB,8IAAS,YAAQ,IAAC;QACvG,iHAA6H;QAC7H,iHAA8F;QAC9F,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAwG;QAAnC,oJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,mFAAI;QAAA,4DAAI;QACtE,wEAAuD;QAA5B,6IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,4HAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,wHAA+D;;QAtB3C,wLAAoE;QACd,0DAAkC;QAAlC,kGAAkC;QAC9E,0DAAiC;QAAjC,iGAAiC;QAE3B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAU;QAAV,gFAAU;QAUpE,0DAAa;QAAb,6EAAa;u2CDfL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;AENmB;;;;;;ICAvD,wEAAoH;IAAA,sEAAW;IAAA,4DAAI;;;IACnI,wEAA8D;IAAA,uDAA8B;IAAA,4DAAI;;;IAAlC,0DAA8B;IAA9B,gGAA8B;;;IAUhF,4EAA6D;IACzD,4EAAkE;IAA9B,kPAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAA6B;IAA7B,gJAA6B;;;;IAYpD,0EAAyD;IAAnB,2TAAkB;IAAC,4DAAM;;;ADjBxD,MAAM,4BAA4B;IAavC;QAXS,WAAM,GAAkD,GAAG,EAAE,GAAG,CAAC;QAC1E,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;YACnD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;YAChD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;YAClD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE;YACnD,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;SACrD,CAAC;QACK,WAAM,GAAY,KAAK,CAAC;QAC/B,YAAO,GAAY,KAAK,CAAC;IAGrB,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACvG;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;;wGAhCU,4BAA4B;0HAA5B,4BAA4B;QCTzC,yEAA6G;QAAnB,iJAAS,YAAQ,IAAC;QACxG,oHAAmI;QACnI,oHAAgG;QAChG,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,yEAAwG;QAAnC,uJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,uEAAE;QAAA,4DAAI;QACpE,wEAAuD;QAA5B,gJAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,+HAGQ;QACR,6EAA6B;QACzB,6EAAyD;QAArB,iMAAoB;QAAxD,4DAAyD;QACzD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,2HAA+D;;QA1B3C,yLAAqE;QACN,0DAAmC;QAAnC,mGAAmC;QACxF,0DAAkC;QAAlC,kGAAkC;QAE5B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAW;QAAX,iFAAW;QAKnB,0DAAoB;QAApB,+EAAoB;QAStE,0DAAa;QAAb,6EAAa;+oCDnBL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;AENK;;;;;;AAOtC,MAAM,oBAAoB;IAS/B;QAPS,gBAAW,GAAW,cAAc,CAAC;QACrC,WAAM,GAA4B,CAAC,KAAa,EAAE,EAAE,GAAG,CAAC,CAAC;QAEzD,SAAI,GAAW,IAAI,CAAC;QAE7B,UAAK,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;IAGvC,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;;wFAjBU,oBAAoB;kHAApB,oBAAoB;QCRjC,yEAA0B;QACtB,2EAA+J;QAAxF,6IAAU,cAAU,IAAC;;QAA5F,4DAA+J;QAC/J,uEAA4C;QAAA,iEAAM;QAAA,4DAAI;QAC1D,4DAAM;;QAF2F,0DAA2C;QAA3C,oKAA2C;QAA5G,4JAA8B;;;;;;;;;;;;;;;;;;;;;;;ACAW;AAEd;;;;;;;;ICoB3D,0EAAyD;IAAnB,8TAAkB;IAAC,4DAAM;;;ADZxD,MAAM,+BAA+B;IAW1C,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAV5C,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAExC,WAAM,GAAqC,GAAG,EAAE,GAAG,CAAC;QAC7D,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YAC5B,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YACjB,IAAI,CAAC,GAAG,CAAC,KAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAE/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;;8GA1CU,+BAA+B;6HAA/B,+BAA+B;;QCX5C,yEAAoG;QAAnB,oJAAS,YAAQ,IAAC;QAC/F,uEAA+C;QAAA,qEAAU;QAAA,4DAAI;QAC7D,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAwG;QAAnC,0JAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,2EAA8K;QAAxE,mSAAS,UAAa,IAAC;;;QAA7H,4DAA8K;QAC9K,wEAA+B;QAAA,kEAAC;QAAA,4DAAI;QACpC,4EAA4K;QAAxE,oSAAS,UAAa,IAAC;;;QAA3H,4DAA4K;QAE5K,0EAAsC;QAClC,6EAA8D;QAA5B,wJAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAS;QACzE,6EAAsE;QAA7B,wJAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAS;QACrF,4DAAM;QAEN,4FAAuF;QACnF,wEAA4C;QAC5C,wEAAwC;QAC5C,4DAAuB;QACvB,4FAA+D;QACnE,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,8HAA+D;;;QAvB3C,iLAA4D;QAG5C,0DAAoC;QAApC,iGAAoC;QAEkE,0DAAsC;QAAtC,gLAAsC;QAAnH,+KAAoD;QAEuB,0DAAsC;QAAtC,iLAAsC;QAAjH,+KAAkD;QAOtD,0DAAkB;QAAlB,+EAAkB;QASrE,0DAAa;QAAb,6EAAa;0wFDdL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;AENmB;;;;;;;ICFvD,wEAAqF;IAAA,0EAAe;IAAA,4DAAI;;;IACxG,wEAA8D;IAAA,uDAA8B;IAAA,4DAAI;;;IAAlC,0DAA8B;IAA9B,gGAA8B;;;IAgBxE,4EAA+E;IAC3E,4EAAwE;IAA/B,4QAA8B;IAAvE,4DAAwE;IACxE,wEAAmB;IAAA,uDAAkB;IAAA,4DAAI;IAC7C,4DAAQ;;;IAFqC,0DAA8B;IAA9B,wFAA8B;IACpD,0DAAkB;IAAlB,gFAAkB;;;;IAP7C,wEAAsD;IAClD,4EAA6B;IACzB,4EAA4G;IAAlC,+UAAS,0BAAuB,IAAC;IAA3G,4DAA4G;IAC5G,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAQ;IACR,sJAGQ;IACZ,qEAAe;;;IAP6B,0DAAqC;IAArC,iGAAqC;IACtE,0DAAsB;IAAtB,oFAAsB;IAEyB,0DAAuB;IAAvB,4FAAuB;;;IANrF,wEAAuD;IACnD,qJASe;IACnB,qEAAe;;;IAVI,0DAAqC;IAArC,oGAAqC;;;;IAkBxE,0EAAyD;IAAnB,wTAAkB;IAAC,4DAAM;;;ADnBxD,MAAM,sBAAsB;IAOjC,YACU,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAN/B,WAAM,GAAkC,GAAG,EAAE,GAAG,CAAC;QACjD,UAAK,GAAW,OAAO,CAAC;QACjC,iBAAY,GAAkB,EAAE,CAAC;QACjC,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;aACrC,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/H;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1H,CAAC;;4FArCU,sBAAsB;oHAAtB,sBAAsB;QCZnC,yEAA6G;QAAnB,2IAAS,YAAQ,IAAC;QACxG,8GAAwG;QACxG,8GAAgG;QAChG,oEAAG;QAAA,uDAAuB;;QAAA,4DAAI;QAC9B,yEAAyG;QAAnC,iJAAS,wBAAwB,IAAC;QACpG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA6D;QAAA,wEAAE;QAAA,4DAAI;QACnE,wEAAuD;QAA5B,0IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,sIAWe;QAEnB,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,qHAA+D;;QA/B3C,yLAAqE;QACrC,0DAAmC;QAAnC,mGAAmC;QACzD,0DAAkC;QAAlC,kGAAkC;QACzD,0DAAuB;QAAvB,2IAAuB;QACO,0DAAoC;QAApC,iGAAoC;QAQnB,0DAAe;QAAf,qFAAe;QAmB/D,0DAAa;QAAb,6EAAa;+nCDrBL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;IECxB,4EAA0E;IACtE,4EAAuE;IAAnC,2PAAkC;IAAtE,4DAAuE;IACvE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAQ;;;IAFgC,0DAAkC;IAAlC,4FAAkC;IACnE,0DAAsB;IAAtB,oFAAsB;;;IAcrB,4EAAyE;IACrE,4EAAmE;IAA/B,kQAA8B;IAAlE,4DAAmE;IACnE,wEAA4C;IAAA,uDAA0B;IAAA,4DAAI;IAC1E,oEAAG;IAAA,uDAAkB;IAAA,4DAAI;IAC7B,4DAAQ;;;IAHgC,0DAA8B;IAA9B,wFAA8B;IACtB,0DAA0B;IAA1B,wFAA0B;IACnE,0DAAkB;IAAlB,gFAAkB;;;IANjC,wEAA+D;IAC3D,wEAAyB;IAAA,uDAAsB;IAAA,4DAAI;IACnD,0EAA8B;IAC1B,4IAIQ;IACZ,4DAAM;IACV,qEAAe;;;IARc,0DAAsB;IAAtB,oFAAsB;IAEK,0DAAuB;IAAvB,4FAAuB;;;;IA3B/F,yEAAwD;IAAlB,mTAAiB;IACnD,yEAAmE;IAAnC,sJAAS,wBAAwB,IAAC;IAE9D,yEAA0B;IACtB,yEAAiC;IAC7B,uEAAa;IAAA,qGAAO;IAAA,4DAAI;IACxB,yEAA+B;IAC3B,uEAA4B;IAAA,uEAAE;IAAA,4DAAI;IAClC,uEAAkC;IAAA,wDAAsB;IAAA,4DAAI;IAChE,4DAAM;IAEN,6HAGQ;IACZ,4DAAM;IAEN,2EAA4B;IACxB,2EAA6B;IACzB,wEAA4B;IAAA,0FAAK;IAAA,4DAAI;IACrC,yEAA0F;IAAhC,wTAAqB;IAAW,oFAAI;IAAA,4DAAI;IAClG,yEAAuD;IAA5B,oTAAiB;IAAW,wEAAE;IAAA,4DAAI;IACjE,4DAAM;IAEN,4IASe;IAEnB,4DAAM;IACV,4DAAM;IAEN,2EAAoB;IAChB,8EAAyF;IAA5B,yTAAiB;IAAW,yEAAG;IAAA,4DAAS;IACrG,8EAA8D;IAA7B,0TAAkB;IAAW,yEAAG;IAAA,4DAAS;IAC9E,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAnCgD,2DAAsB;IAAtB,wFAAsB;IAGH,0DAAe;IAAf,wFAAe;IAalC,0DAAuB;IAAvB,gGAAuB;;ACdtE,MAAM,qBAAqB;IAMhC,YACU,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAL/B,WAAM,GAAkC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3D,iBAAY,GAAkB,EAAE,CAAC;QACjC,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;aACrC,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,QAA+B;QAClC,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAM;SACP;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;iBACtE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrJ,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,IAAI,oBAAoB;QACtB,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;QACzF,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACpE,CAAC;;0FA7DU,qBAAqB;mHAArB,qBAAqB;QDVlC,kHA2CM;;QA3CiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;AECuB;;;;;;ICAvD,wEAAoH;IAAA,sEAAW;IAAA,4DAAI;;;IACnI,wEAA8D;IAAA,uDAA8B;IAAA,4DAAI;;;IAAlC,0DAA8B;IAA9B,gGAA8B;;;IAUhF,4EAA6D;IACzD,4EAAkE;IAA9B,iPAA6B;IAAjE,4DAAkE;IAClE,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAQ;;;IAFgC,0DAA6B;IAA7B,uFAA6B;IAC9D,0DAA6B;IAA7B,gJAA6B;;;;IAQpD,0EAAyD;IAAnB,0TAAkB;IAAC,4DAAM;;;ADbxD,MAAM,2BAA2B;IActC;QAXS,WAAM,GAAiC,GAAG,EAAE,GAAG,CAAC;QAEzD,aAAQ,GAAyD;YAC/D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;YACnD,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;YACpD,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;YACtD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC1D,CAAC;QAEF,YAAO,GAAY,KAAK,CAAC;IAGrB,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;;sGAjCU,2BAA2B;yHAA3B,2BAA2B;QCTxC,yEAA6G;QAAnB,gJAAS,YAAQ,IAAC;QACxG,mHAAmI;QACnI,mHAAgG;QAChG,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,yEAAwG;QAAnC,sJAAS,wBAAwB,IAAC;QACnG,yEAA+B;QAC3B,yEAAqD;QACjD,uEAA8D;QAAA,uEAAE;QAAA,4DAAI;QACpE,wEAAuD;QAA5B,+IAAS,WAAO,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACjE,4DAAM;QAEN,0EAAwB;QACpB,8HAGQ;QACZ,4DAAM;QACV,4DAAM;QAEV,4DAAM;QACV,4DAAM;QAEN,0HAA+D;;QAtB3C,yLAAqE;QACN,0DAAmC;QAAnC,mGAAmC;QACxF,0DAAkC;QAAlC,kGAAkC;QAE5B,0DAAoC;QAApC,iGAAoC;QAQR,0DAAW;QAAX,iFAAW;QAUrE,0DAAa;QAAb,6EAAa;4tBDfL,CAAC,8EAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;IEJhC,sEAGe;;;;;;IAFV,2FAA2B;;;IAFpC,sEAAwD;IACpD,2IAGe;IACnB,4DAAM;;;;IAJa,0DAAuC;IAAvC,mIAAuC;;;;;IAOtD,0EAAwH;IAAzD,4XAAqB;IAAoC,uDAAK;IAAA,4DAAO;;;;IAA9G,wKAAwC;IAA0D,0DAAK;IAAL,qEAAK;;;;;IAFjI,yEAAqD;IACjD,0EAAmF;IAArB,2TAAoB;IAAC,4DAAI;IAAA,4DAAO;IAC9F,2HAAoI;IACpI,0EAA0F;IAArB,2TAAoB;IAAC,4DAAI;IAAA,4DAAO;IACzG,4DAAM;;;IAHoB,0DAAuC;IAAvC,iKAAuC;IACsC,0DAAmB;IAAnB,2FAAmB;IAChG,0DAA8C;IAA9C,kLAA8C;;;;ACHrE,MAAM,uBAAuB;IASlC;QALA,cAAS,GAAQ,CAAC,CAAC;IAKH,CAAC;IAHV,KAAK;QACV,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,OAAsB;QAEhC,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC;IACnB,CAAC;IACD,QAAQ;IACR,CAAC;IACD,IAAI,eAAe;QACjB,IAAI,CAAC,SAAS,CAAC;QACf,IAAI,CAAC,GAAU,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,SAAS,GAAC,CAAC,GAAC,IAAI,CAAC,OAAO,EAAC;YAChC,KAAI,IAAI,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,GAAC,IAAI,CAAC,OAAO,EAAC,CAAC,EAAE,EAAC;gBACtD,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;aACb;SACF;aAAI;YACH,IAAI,IAAI,CAAC,SAAS,IAAE,CAAC,EAAC;gBACpB,KAAI,IAAI,CAAC,GAAC,IAAI,CAAC,SAAS,EAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC;oBACrE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;iBACb;aACF;iBAAI;gBACH,KAAI,IAAI,CAAC,GAAC,IAAI,CAAC,SAAS,GAAC,CAAC,EAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC;oBACvE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;iBACb;aACF;SACF;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,OAAO,GAAC,CAAC,CAAC,CAAC;IAEzD,CAAC;IACD,QAAQ,CAAC,CAAQ;QACf,IAAI,CAAC,SAAS,GAAC,CAAC,GAAC,CAAC,CAAC;IACrB,CAAC;;8FArDU,uBAAuB;qHAAvB,uBAAuB;;;;;;;QDRpC,yEAAyB;QACrB,6DAA4C;QAC5C,mHAKM;QACN,mHAIM;QACV,4DAAM;;QAXwB,0DAAe;QAAf,oFAAe;QAMnC,0DAA0B;QAA1B,4FAA0B;;;;;;;;;;;;;;;;;;;;;AEPS;;;;;;;AAOtC,MAAM,mBAAmB;IAQ9B;QANS,SAAI,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,qBAAgB,GAAY,KAAK,CAAC;QAE3C,SAAI,GAAkB,IAAI,CAAC;QAC3B,WAAM,GAAkB,IAAI,CAAC;IAEb,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACpC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;gBACpB,OAAO;YAET,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO;aACR;YAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAa,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC1B;iBACI;gBACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,OAAO;QAET,IAAI,IAAI,GAAI,IAAI,CAAC,IAAI,CAAC,KAAc,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;YAC/B,IAAI,IAAI,GAAG,EAAE,EAAE;gBACb,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnC;iBACI;gBACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aAC7B;SACF;QAED,IAAI,MAAM,GAAI,IAAI,CAAC,IAAI,CAAC,KAAc,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;YACjC,IAAI,MAAM,GAAG,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;aACvC;iBACI;gBACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;aACjC;SACF;IACH,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO;SACR;QAED,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;YAC/B,IAAI,IAAI,IAAI,EAAE,EAAE;gBACd,IAAI,GAAG,CAAC,CAAC;aACV;YAED,IAAI,IAAI,GAAG,EAAE,EAAE;gBACb,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnC;iBACI;gBACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aAC7B;YAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;gBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,OAAO;SACR;IACH,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI;YAChB,OAAO;SACR;QACD,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,IAAI,IAAI,EAAE,EAAE;YACd,IAAI,GAAG,CAAC,CAAC;SACV;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO;SACR;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO;SACR;QAED,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,IAAI,GAAG,EAAE,CAAC;SACX;QAED,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO;SACR;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO;SACR;QAED,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;YACjC,IAAI,MAAM,IAAI,EAAE,EAAE;gBAChB,MAAM,GAAG,CAAC,CAAC;aACZ;YAED,IAAI,MAAM,GAAG,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,OAAO;aACR;YACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;SACjC;IACH,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI;YAClB,OAAO;SACR;QACD,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,CAAC;QACZ,IAAI,MAAM,IAAI,EAAE,EAAE;YAChB,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,MAAM,GAAG,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO;SACR;QAED,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,CAAC;QACZ,IAAI,MAAM,GAAG,CAAC,EAAE;YACd,MAAM,GAAG,EAAE,CAAC;SACb;QAED,IAAI,MAAM,GAAG,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YAC3B,IAAI,IAAI,CAAC,gBAAgB,IAAI,KAAK;gBAChC,OAAO;YAET,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAa,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;SACpC;aACI;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YAC1C,OAAO,IAAI,CAAC;QACd,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;;sFA1MU,mBAAmB;iHAAnB,mBAAmB;;QCRhC,yEAA+D;QAC3D,2EAA+L;QAA5G,0IAAS,wBAAoB,IAAC;QAAjH,4DAA+L;QAC/L,yEAAyE;QAAtB,8IAAY,YAAQ,IAAC;QACpE,yEAAyF;QACrF,yEAAgF;QAC5E,uEAAyE;QAApB,sIAAS,aAAS,IAAC;QAAC,sEAAW;QAAA,4DAAI;QACxF,8EAAgN;QAApJ,qLAAkB,oFAAW,kBAAc,IAAzB,8NAAoC,YAAkB,IAAtD;QAA9E,4DAAgN;QAChN,uEAA2E;QAAtB,sIAAS,eAAW,IAAC;QAAC,uEAAW;QAAA,4DAAI;QAC9F,4DAAM;QACN,wEAAqB;QAAA,6DAAC;QAAA,4DAAI;QAC1B,0EAA0E;QACtE,wEAA2E;QAAtB,uIAAS,eAAW,IAAC;QAAC,uEAAW;QAAA,4DAAI;QAC1F,iFAA+M;QAAjJ,wLAAoB,qFAAW,oBAAgB,IAA3B,gOAAsC,YAAoB,IAA1D;QAAlF,4DAA+M;QAC/M,wEAA6E;QAAxB,uIAAS,iBAAa,IAAC;QAAC,uEAAW;QAAA,4DAAI;QAChG,4DAAM;QACV,4DAAM;QACN,kFAAsF;QAAjD,yRAAS,UAAc,IAAC;QAAyB,yEAAG;QAAA,4DAAS;QACtG,4DAAM;QACV,4DAAM;;QAlBmB,6JAAqC;QACjB,0DAAyC;QAAzC,gKAAyC;QAKV,0DAAkB;QAAlB,6EAAkB;QAMhB,0DAAoB;QAApB,+EAAoB;;;;;;;;;;;;;;;;;;ACZ9B;AAI7D,MAAM,WAAW;IAIpB;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,WAAW,EAAE,IAAI,uDAAW,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,IAAI,uDAAW,CAAC,EAAE,CAAC;YAC3B,YAAY,EAAE,IAAI,uDAAW,CAAC,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,uDAAW,CAAC,EAAE,CAAC;YAC3B,QAAQ,EAAE,IAAI,uDAAW,CAAC,EAAE,CAAC;YAC7B,KAAK,EAAE,IAAI,uDAAW,CAAC,EAAE,CAAC;YAC1B,IAAI,EAAE,IAAI,uDAAW,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAEM,qBAAqB;QACxB,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK;YAC3D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YAChD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC7C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAC3C,SAAS,EAAE,KAAK;YAChB,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;SACpD,CAAC;IACN,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrC8C;AAC2B;AACc;AACtB;AACZ;AACkC;AACG;AACG;AACA;AACM;AACZ;AACW;AACX;AACG;AACA;AACN;AAC4C;AACW;AACzE;AACG;AAEuD;AACd;AACN;AACM;AACvB;AAC0B;AACZ;AACmC;AAC7B;AACpB;AACoB;AACpB;AACyB;AACX;AACH;;;AA6C5F,MAAM,WAAW;;sEAAX,WAAW;yGAAX,WAAW;6GAzCb;YACP,0DAAY;YACZ,wDAAW;YACX,gEAAmB;YACnB,0EAAwB,EAAE;YAC1B,8EAAmB;YACnB,iFAAoB;SACrB;oIAkCU,WAAW,mBA1CP,mFAAgB,EAAE,iGAAoB,EAAE,iGAAoB,EAAE,oGAAqB,EAAE,uGAAsB,EAAE,uGAAsB,EAAE,6GAAwB,EAAE,iGAAoB,EAAE,4GAAuB,EAAE,iGAAoB,EAAE,qGAAqB,EAAE,qGAAqB,EAAE,+FAAmB,EAAE,2IAAiC,EAAE,sJAAoC,EAAE,uIAA+B,EAAE,yHAA2B,EAAE,mHAAyB,EAAE,yHAA2B,EAAE,kGAAoB,EAAE,4HAA4B,EAAE,gHAAwB,EAAE,mJAAmC,EAAE,sHAA0B,EAAE,kGAAoB,EAAE,sHAA0B,EAAE,kGAAoB,EAAE,2HAA2B,EAAC,gHAAwB,EAAE,6GAAuB,aAEvxB,0DAAY;QACZ,wDAAW;QACX,gEAAmB,qEAEnB,8EAAmB;QACnB,iFAAoB,aAGpB,mFAAgB;QAChB,iGAAoB;QACpB,iGAAoB;QACpB,oGAAqB;QACrB,uGAAsB;QACtB,uGAAsB;QACtB,6GAAwB;QACxB,iGAAoB;QACpB,4GAAuB;QACvB,iGAAoB;QACpB,qGAAqB;QACrB,qGAAqB;QACrB,+FAAmB;QACnB,2IAAiC;QACjC,sJAAoC;QACpC,uIAA+B;QAC/B,yHAA2B;QAC3B,mHAAyB;QACzB,yHAA2B;QAC3B,kGAAoB;QACpB,4HAA4B;QAC5B,gHAAwB;QACxB,mJAAmC;QACnC,sHAA0B;QAC1B,kGAAoB;QACpB,sHAA0B;QAC1B,kGAAoB;QACpB,2HAA2B;QAC3B,gHAAwB;QACxB,6GAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;ICtEf,4EAAiF;IAC7E,4EAAkH;IAA9E,yPAA6B;IAAjE,4DAAkH;IAClH,wEAA4C;IAAA,uDAAuB;IAAA,4DAAI;IACvE,wEAAwB;IAAA,uDAAwB;IAAA,4DAAI;IACpD,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IAC5B,4DAAQ;;;;IAJgC,0DAA6B;IAA7B,uFAA6B;IACrB,0DAAuB;IAAvB,qFAAuB;IAC3C,0DAAwB;IAAxB,sFAAwB;IAC7C,0DAAiB;IAAjB,+EAAiB;;;;IAZpC,yEAAwD;IAAlB,2TAAiB;IACnD,yEAA6D;IAAnC,+JAAS,wBAAwB,IAAC;IACxD,yEAAqD;IACjD,uEAA4B;IAAA,mFAAI;IAAA,4DAAI;IACpC,uEAAuD;IAA5B,yTAAiB;IAAW,uEAAE;IAAA,4DAAI;IACjE,4DAAM;IAEN,yEAAwB;IACpB,oIAKQ;IACZ,4DAAM;IAEN,yEAA0B;IACtB,6EAA2D;IAA5B,+TAAiB;IAAW,yEAAG;IAAA,4DAAS;IACvE,8EAA2F;IAA7B,gUAAkB;IAAW,yEAAG;IAAA,4DAAS;IAC3G,4DAAM;IAEV,4DAAM;IACV,4DAAM;;;IAd2E,0DAAU;IAAV,mFAAU;;ACCpF,MAAM,8BAA8B;IAQzC,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAP7B,WAAM,GAAgC,GAAG,EAAE,GAAG,CAAC;QAExD,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAa,EAAE,CAAC;QACd,kBAAa,GAAuB,SAAS,CAAC;IAGb,CAAC;IAE3C,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;aAC5B,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK;SACpC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAC,aAAM,CAAC,IAAI,KAAI,UAAI,CAAC,aAAa,0CAAE,IAAI,KAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAEpH,CAAC;IAED,IAAI,CAAC,OAAiB;QACpB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;;4GA3CU,8BAA8B;4HAA9B,8BAA8B;QDT3C,2HAsBM;;QAtBiB,6EAAa;;;;;;;;;;;;;;;;;;;AEAgC;AAGP;AAEtD,MAAM,eAAe;IAKxB;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,gEAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,gEAAoB,CAAC,CAAC,CAAC,EAAE,gEAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,gEAAoB,CAAC,CAAC,CAAC,EAAE,gEAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;YACzG,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,gEAAoB,CAAC,CAAC,CAAC,EAAE,gEAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YACrG,aAAa,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,kEAAW,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAChC,CAAC;IAEM,mBAAmB;QACtB,IAAI,KAAK,GAAqB;YAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACnD,OAAO,EAAE;gBACL,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;gBACzD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;gBACzD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;gBAC/C,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;gBACnD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;aAC5E;YACD,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/D,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK;SAChE,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,UAAU;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,kEAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,kEAAW,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;eACpB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;IACnE,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DiC;AACQ;AACoB;AAME;;;;;;;;;;;;;;ICM5C,uEAA8C;IAAA,qGAAO;IAAA,4DAAI;;;IAD7D,0EAAiF;IAC7E,wHAAyD;IAC7D,4DAAM;;;IADE,0DAA8B;IAA9B,iGAA8B;;;IAQlC,uEAA8C;IAAA,qGAAO;IAAA,4DAAI;;;IAD7D,0EAAiF;IAC7E,wHAAyD;IAC7D,4DAAM;;;IADE,0DAA8B;IAA9B,iGAA8B;;;IAQlC,uEAA8C;IAAA,qGAAO;IAAA,4DAAI;;;IAD7D,0EAAiF;IAC7E,wHAAyD;IAC7D,4DAAM;;;IADE,0DAA8B;IAA9B,iGAA8B;;;IASlC,uEAAiD;IAAA,qGAAO;IAAA,4DAAI;;;IADhE,0EAAuF;IACnF,wHAA4D;IAChE,4DAAM;;;IADE,0DAAiC;IAAjC,oGAAiC;;;IAGrC,uEAAiD;IAAA,qGAAO;IAAA,4DAAI;;;IADhE,0EAA8G;IAC1G,wHAA4D;IAChE,4DAAM;;;IADE,0DAAiC;IAAjC,oGAAiC;;;IASjC,6EAA+D;IAAA,uDAAiB;IAAA,4DAAS;;;IAAlD,oFAAuB;IAAC,0DAAiB;IAAjB,gFAAiB;;;IAIpF,uEAA4C;IAAA,qGAAO;IAAA,4DAAI;;;IAD3D,0EAA6E;IACzE,wHAAuD;IAC3D,4DAAM;;;IADE,0DAA4B;IAA5B,+FAA4B;;;IAehC,uEAA4C;IAAA,yFAAK;IAAA,4DAAI;;;IADzD,0EAA6E;IACzE,wHAAqD;IACzD,4DAAM;;;IADE,0DAA4B;IAA5B,+FAA4B;;;IAQhC,uEAA2C;IAAA,qGAAO;IAAA,4DAAI;;;IAD1D,0EAA2E;IACvE,wHAAsD;IAC1D,4DAAM;;;IADE,0DAA2B;IAA3B,8FAA2B;;;IAIvC,wEAAuE;IACnE,kFAAwJ;IAC5J,qEAAe;;;;;IADsD,0DAAgB;IAAhB,6EAAgB;;;IASjF,wEAA+E;IAAA,yIAAa;IAAA,4DAAI;;;IAChG,mEAAuF;;;IAwC3F,wEAAgD;IAAA,uEAAE;IAAA,4DAAI;;;;IACtD,wEAAgF;IAA1C,obAA+B;IAAW,uEAAE;IAAA,4DAAI;;;IAJ1F,0EAAgH;IAC5G,wEAA+C;IAAA,uDAAuB;IAAA,4DAAI;IAC1E,wEAAkB;IAAA,uDAAiB;IAAA,4DAAI;IACvC,uIAAsD;IACtD,uIAAsF;IAC1F,4DAAM;;;;IAJ6C,0DAAuB;IAAvB,sFAAuB;IACpD,0DAAiB;IAAjB,gFAAiB;IACf,0DAAgB;IAAhB,gFAAgB;IAChB,0DAAgB;IAAhB,gFAAgB;;;;IAP5C,0EAAgC;IAC5B,wEAA0F;IACtF,4MAAwB;IAAA,4DAAI;IAChC,qIAKM;IAEN,0EAAwG;IAAxD,4XAAS,yCAA6C,IAAC;IACnG,wEAA0D;IAAA,mFAAI;IAAA,4DAAI;IAClE,wEAAyC;IAAA,qEAAU;IAAA,4DAAI;IAC3D,4DAAM;IACV,4DAAM;;;IAXiE,0DAA0B;IAA1B,mGAA0B;;ADnH9F,MAAM,wBAAwB;IAKnC,YACU,aAA4B,EAC5B,cAA8B,EAC9B,mBAAwC,EACxC,YAA0B,EAC1B,MAAc;QAJd,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QARxB,SAAI,GAAoB,IAAI,qEAAe,EAAE,CAAC;QAC9C,YAAO,GAAa,EAAE,CAAC;QAuBvB,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAMd,qBAAgB,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACxC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAzBV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;aAC5B,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK;SACpC,CAAC,CAAC;IACP,CAAC;IAMD,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAY,CAAC,CAAC;IAClG,CAAC;IAMD,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC7D,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAChG,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC,CACH,CAAC;SACH,CAAC,CAAC;IACP,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;;gGAhGU,wBAAwB;sHAAxB,wBAAwB;QClBrC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,2EAA0D;QACtD,wEAA4C;QAAA,+GAAW;QAAA,4DAAI;QAE3D,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAAqH;;QACrH,uHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAA2G;;QAC3G,uHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAAoH;;QACpH,uHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAA+G;;QAC/G,wEAA2H;;QAC3H,uHAEM;QACN,uHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,2EAAyB;QACrB,8EAAsF;QAA5B,mJAAU,oBAAgB,IAAC;QACjF,8EAAqD;QAAA,oFAAI;QAAA,4DAAS;QAClE,6HAAyF;QAC7F,4DAAS;QACb,4DAAM;QACN,uHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAuG;;QAAA,wEAAE;QAAA,4DAAI;QAC7G,6EAAiE;QAC7D,wEAAuD;QACvD,wEAAa;QAAA,kEAAC;QAAA,4DAAI;QACtB,4DAAQ;QACR,6EAAkC;QAC9B,wEAAuD;QACvD,wEAAa;QAAA,kEAAC;QAAA,4DAAI;QACtB,4DAAQ;QACR,uHAEM;QACV,4DAAM;QAEN,0EAAuB;QACnB,yEAAyG;;QAAA,oFAAI;QAAA,4DAAI;QACjH,wEAAmI;;QACnI,uHAEM;QACV,4DAAM;QAEN,yIAEe;QAEf,2EAA0F;QAA5B,8IAAS,qBAAiB,IAAC;QACrF,yEAAoC;QAAA,oFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,0EAAuB;QACnB,yEAAqJ;;QAAA,oFAAI;QAAA,4DAAI;QAC7J,mHAAgG;QAChG,yIAAuF;QAC3F,4DAAM;QAEN,0EAAuB;QACnB,yEAA+H;;QAAA,oFAAI;QAAA,4DAAI;QACvI,2EAAgC;QAC5B,2EAAgD;QAC5C,yEAAyC;QAAA,0LAAqB;QAAA,4DAAI;QAClE,yEAA+C;QAAA,wEAAY;QAAA,4DAAI;QAC/D,yEAAsD;QAAA,2QAAqC;QAAA,4DAAI;QACnG,4DAAM;QAEN,2EAA6B;QACzB,6EAAiE;QAC7D,wEAAmE;QACnE,0EAA0B;QAAA,mEAAC;QAAA,4DAAI;QACnC,4DAAQ;QACR,8EAAkC;QAC9B,yEAAoE;QACpE,0EAA0B;QAAA,mEAAC;QAAA,4DAAI;QACnC,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,4EAAoF;QAChF,+EAA8E;QAAjC,kJAAS,gBAAY,IAAC;QAAW,qFAAI;QAAA,4DAAS;QAC3F,+EAA2G;QAA7B,kJAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,4DAAS;QAC5H,4DAAM;QACV,4DAAO;QACX,4DAAM;QACV,4DAAM;QAEN,qNAgBc;QAEd,mGAC8B;;;QA1IO,2DAA4B;QAA5B,yFAA4B;QAIvB,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QACxB,0DAA8C;QAA9C,uNAA8C;QAC9E,0DAAyC;QAAzC,6GAAyC;QAMrD,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC1B,0DAAsC;QAAtC,iLAAsC;QACpE,0DAAyC;QAAzC,6GAAyC;QAMrD,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC1B,0DAA+C;QAA/C,kOAA+C;QAC7E,0DAAyC;QAAzC,6GAAyC;QAMrD,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QACvB,0DAAuC;QAAvC,kLAAuC;QAClC,0DAA8C;QAA9C,qKAA8C;QACpF,0DAA+C;QAA/C,mHAA+C;QAG/C,0DAAsE;QAAtE,8IAAsE;QAMlF,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAG9E,0DAAgB;QAAhB,yEAAgB;QACG,0DAAU;QAAV,gFAAU;QAGP,0DAAqC;QAArC,yGAAqC;QAMjD,0DAAmC;QAAnC,oKAAmC;QAAC,uFAA8B;QAStD,2DAAqC;QAArC,yGAAqC;QAMjD,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QACD,0DAAqC;QAArC,sKAAqC;QAC5F,0DAAmC;QAAnC,uGAAmC;QAK3C,0DAAkB;QAAlB,uFAAkB;QASsB,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAC/G,0DAAwC;QAAxC,wGAAwC;QACpD,0DAAwC;QAAxC,uGAAwC;QAIP,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAUpF,2DAAc;QAAd,uEAAc;QAId,0DAAe;QAAf,wEAAe;QAiClC,2DAA2B;QAA3B,wFAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9IZ;AACS;AACS;;;;;;;;;;;;;;;;;IC2B9C,oEAAoB;IAAA,uDAAsB;IAAA,4DAAI;;;IAA1B,0DAAsB;IAAtB,wFAAsB;;;IAGtC,qEAEM;;;IAJV,wEAAoD;IAChD,uEAA2G;;IAC3G,2IAEM;IACV,qEAAe;;;IAJ8B,0DAAsC;IAAtC,+KAAsC;IACzC,0DAAyC;IAAzC,mHAAyC;;;IAQnF,oEAAoB;IAAA,mEAAQ;IAAA,4DAAI;;;IAG5B,qEAEM;;;IAJV,wEAAoD;IAChD,uEAAoH;;IACpH,2IAEM;IACV,qEAAe;;;IAJ8B,0DAA+C;IAA/C,gOAA+C;IAClD,0DAAyC;IAAzC,mHAAyC;;;IAQnF,oEAAoB;IAAA,uDAAyB;IAAA,4DAAI;;;IAA7B,0DAAyB;IAAzB,2FAAyB;;;IAKrC,uEAAiD;IAAA,qGAAO;IAAA,4DAAI;;;IADhE,0EAAuF;IACnF,6IAA4D;IAChE,4DAAM;;;IADE,0DAAiC;IAAjC,qGAAiC;;;IAGrC,uEAAiD;IAAA,qGAAO;IAAA,4DAAI;;;IADhE,0EAA8G;IAC1G,6IAA4D;IAChE,4DAAM;;;IADE,0DAAiC;IAAjC,qGAAiC;;;IAP7C,wEAAwC;IACpC,uEAA+G;;IAC/G,uEAA2H;;IAC3H,2IAEM;IACN,2IAEM;IACV,qEAAe;;;IAR4D,0DAAuC;IAAvC,gLAAuC;IAClC,0DAA8C;IAA9C,mKAA8C;IACpF,0DAA+C;IAA/C,yHAA+C;IAG/C,0DAAsE;IAAtE,uJAAsE;;;IAQhH,oEAAoB;IAAA,uDAA+B;IAAA,4DAAI;;;IAAnC,0DAA+B;IAA/B,iGAA+B;;;IAKvC,6EAA+D;IAAA,uDAAiB;IAAA,4DAAS;;;IAAlD,oFAAuB;IAAC,0DAAiB;IAAjB,gFAAiB;;;IAIpF,uEAA4C;IAAA,qGAAO;IAAA,4DAAI;;;IAD3D,0EAA6E;IACzE,6IAAuD;IAC3D,4DAAM;;;IADE,0DAA4B;IAA5B,gGAA4B;;;IARxC,wEAAwC;IACpC,0EAAyB;IACrB,6EAA0D;IACtD,6EAAqD;IAAA,mFAAI;IAAA,4DAAS;IAClE,iJAAyF;IAC7F,4DAAS;IACb,4DAAM;IACN,2IAEM;IACV,qEAAe;;;IAPK,0DAAgB;IAAhB,yEAAgB;IACG,0DAAU;IAAV,mFAAU;IAGP,0DAAqC;IAArC,+GAAqC;;;;IAQ/E,wEAA+B;IAC3B,uEAAsH;IACtH,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IAC/B,uEAAiJ;IACjJ,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,qEAAe;;;IAJiC,0DAA0B;IAA1B,2FAA0B;IAEC,0DAA0B;IAA1B,2FAA0B;;;IAIrG,wEAAwC;IACpC,wEAAO;IACH,uEAAqE;IACrE,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,4DAAQ;IACR,wEAAO;IACH,uEAAgG;IAChG,wEAA2B;IAAA,iEAAC;IAAA,4DAAI;IACpC,4DAAQ;IACZ,qEAAe;;;IAMf,oEAAoB;IAAA,uDAAmB;IAAA,4DAAI;;;IAAvB,0DAAmB;IAAnB,sFAAmB;;;IAI/B,uEAA2C;IAAA,qGAAO;IAAA,4DAAI;;;IAD1D,0EAA2E;IACvE,6IAAsD;IAC1D,4DAAM;;;IADE,0DAA2B;IAA3B,+FAA2B;;;IAHvC,wEAAwC;IACpC,uEAAmI;;IACnI,2IAEM;IACV,qEAAe;;;IAJkF,0DAAqC;IAArC,oKAAqC;IAC5F,0DAAmC;IAAnC,+GAAmC;;;IAwBjE,uEAAiD;IAAA,6EAAG;IAAA,4DAAI;;;IACxD,0EAA6G;IACzG,0EAAkD;IAC9C,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IAC5B,4DAAM;IACV,4DAAM;;;IAFK,0DAAiB;IAAjB,gFAAiB;;;;;IApBxC,wEAA0E;IACtE,0EAAuB;IACnB,wEAAoG;IAAA,uDAAyC;;IAAA,4DAAI;IACjJ,0EAAgC;IAC5B,wEAAkC;IAAA,uDACH;IAAA,4DAAI;IACnC,wEAAkC;IAAA,uDAClC;IAAA,4DAAI;IACJ,yEAAkC;IAAA,wDAAkD;IAAA,4DAAI;IACxF,yEAAkC;IAAA,wDAAgD;IAAA,4DAAI;IAC1F,4DAAM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAA6D;IAAA,wDAC9C;;IAAA,4DAAI;IACnB,2EAAwB;IACpB,wJAAwD;IACxD,4JAIM;IACV,4DAAM;IACV,4DAAM;IACV,qEAAe;;;;IAvB2B,0DAAkC;IAAlC,2JAAkC;IAAgC,0DAAyC;IAAzC,yOAAyC;IAEvG,0DACH;IADG,8KACH;IACG,0DAClC;IADkC,2IAClC;IACkC,0DAAkD;IAAlD,mIAAkD;IAClD,0DAAgD;IAAhD,iIAAgD;IAKzB,0DAC9C;IAD8C,uPAC9C;IAEP,0DAAiC;IAAjC,iGAAiC;IACiC,0DAAoB;IAApB,wFAAoB;;;IAnB1G,wEAA+B;IAC3B,+JAyBe;IACnB,qEAAe;;;IA1BuB,0DAAqB;IAArB,8FAAqB;;;IA6BvD,wEAA+E;IAC3E,kFAA6J;IACjK,qEAAe;;;;;IADsD,0DAAqB;IAArB,kFAAqB;;;;IAF9F,wEAAwC;IACpC,6JAEe;IAEf,0EAAkG;IAApC,sTAAS,iCAAyB,IAAC;IAC7F,wEAAoC;IAAA,mFAAI;IAAA,4DAAI;IAChD,4DAAM;IACV,qEAAe;;;IAPuB,0DAA0B;IAA1B,mGAA0B;;;IAkBhD,wEAAoF;IAAA,uEAAE;IAAA,4DAAI;;;IAH9F,0EAA8G;IAC1G,wEAA+C;IAAA,uDAAuB;IAAA,4DAAI;IAC1E,wEAAkB;IAAA,uDAAiB;IAAA,4DAAI;IACvC,6IAA0F;IAC9F,4DAAM;;;;IAH6C,0DAAuB;IAAvB,sFAAuB;IACpD,0DAAiB;IAAjB,gFAAiB;IACf,0DAAoD;IAApD,4HAAoD;;;IAJhF,wEAA+B;IAC3B,2IAIM;IACV,qEAAe;;;IALwD,0DAAwB;IAAxB,iGAAwB;;;IAUvF,wEAAoF;IAAA,uEAAE;IAAA,4DAAI;;;IAH9F,0EAAmH;IAC/G,wEAA+C;IAAA,uDAAuB;IAAA,4DAAI;IAC1E,wEAAkB;IAAA,uDAAiB;IAAA,4DAAI;IACvC,6IAA0F;IAC9F,4DAAM;;;;IAH6C,0DAAuB;IAAvB,sFAAuB;IACpD,0DAAiB;IAAjB,gFAAiB;IACf,0DAAoD;IAApD,4HAAoD;;;;IAJhF,wEAAwC;IACpC,2IAIM;IAEN,0EAA2G;IAA3D,gYAAS,2CAAgD,IAAC;IACtG,wEAA0D;IAAA,mFAAI;IAAA,4DAAI;IAClE,wEAAyC;IAAA,qEAAU;IAAA,4DAAI;IAC3D,4DAAM;IACV,qEAAe;;;IAVwD,0DAA6B;IAA7B,sGAA6B;;;IAwBhG,wEAA+B;IAC3B,4EAAiE;IAC7D,uEAAkH;IAClH,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,4DAAQ;IACR,4EAAkC;IAC9B,uEAAmH;IACnH,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,4DAAQ;IACZ,qEAAe;;IAPa,0DAAc;IAAd,uEAAc;IAId,0DAAe;IAAf,wEAAe;;;IAK3C,wEAAwC;IACpC,4EAAiE;IAC7D,uEAAmE;IACnE,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,4DAAQ;IACR,4EAAkC;IAC9B,uEAAoE;IACpE,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,4DAAQ;IACZ,qEAAe;;IAPa,0DAAc;IAAd,uEAAc;IAId,0DAAe;IAAf,wEAAe;;;;IASnD,wEAAuC;IACnC,6EAAoE;IAAlC,kVAAuB;IAAW,wEAAG;IAAA,4DAAS;IAChF,6EAAyG;IAArC,4UAAoB,KAAK,IAAC;IAAW,wEAAG;IAAA,4DAAS;IACrH,6EAAuG;IAApC,oVAAyB;IAAW,mFAAI;IAAA,4DAAS;IACxH,qEAAe;;;;IACf,wEAAwC;IACpC,6EAAsE;IAApC,4UAAoB,IAAI,IAAC;IAAW,wEAAG;IAAA,4DAAS;IAClF,6EAAiG;IAA7B,6UAAkB;IAAW,wEAAG;IAAA,4DAAS;IACjH,qEAAe;;;IApO/B,yEAAoC;IAChC,yEAAqC;IACjC,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,uEAAgB;IAAA,4DAAC;IAAA,4DAAI;IACrB,uEAA0B;IAAA,mFAAI;IAAA,4DAAI;IAClC,uEAAgB;IAAA,4DAAC;IAAA,4DAAI;IACrB,wEAAoC;IAAA,wDAAuD;;IAAA,4DAAI;IACnG,4DAAM;IAEN,wEAAqC;IAAA,wDAAmD;IAAA,4DAAI;IAE5F,2EAA4B;IACxB,4EAAkE;IAa9D,yEAA4C;IAAA,+GAAW;IAAA,4DAAI;IAE3D,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,qEAAG;IAAA,wDAAsB;IAAA,4DAAI;IACjC,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,yHAA8C;IAC9C,+IAKe;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,yHAAgC;IAChC,+IAKe;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,yHAAiD;IACjD,+IASe;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,yHAAuD;IACvD,+IAUe;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAuG;;IAAA,wEAAE;IAAA,4DAAI;IAC7G,+IAKe;IAEf,+IASe;IAEnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,yHAA2C;IAC3C,+IAKe;IACnB,4DAAM;IAEN,+IA2Be;IAEf,+IAQe;IAGf,2EAAuB;IACnB,yEAAqJ;;IAAA,oFAAI;IAAA,4DAAI;IAC7J,2EAAgC;IAC5B,yEAA+F;IAAA,4MAAwB;IAAA,4DAAI;IAC3H,+IAMe;IACf,+IAWe;IACnB,4DAAM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAA+H;;IAAA,oFAAI;IAAA,4DAAI;IACvI,2EAAgC;IAC5B,2EAAgD;IAC5C,yEAAyC;IAAA,0LAAqB;IAAA,4DAAI;IAClE,yEAA+C;IAAA,wEAAY;IAAA,4DAAI;IAC/D,yEAAsD;IAAA,2QAAqC;IAAA,4DAAI;IACnG,4DAAM;IAEN,2EAA6B;IACzB,+IASe;IAEf,+IASe;IACnB,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAiI;IAC7H,+IAIe;IACf,+IAGe;IACnB,4DAAM;IAEV,4DAAO;IACX,4DAAM;IACV,4DAAM;;;IAnOsC,2DAAuD;IAAvD,wQAAuD;IAG1D,0DAAmD;IAAnD,qIAAmD;IAGvD,0DAAoC;IAApC,oGAAoC;IAgB/B,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC3F,0DAAsB;IAAtB,wFAAsB;IAIC,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAmC;IAAnC,6GAAmC;IASxB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAmC;IAAnC,6GAAmC;IASxB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAuB;IAAvB,0FAAuB;IAaZ,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAuB;IAAvB,0FAAuB;IAcZ,0DAAmC;IAAnC,oKAAmC;IAAC,uFAA8B;IAC7E,0DAAc;IAAd,iFAAc;IAOd,0DAAuB;IAAvB,0FAAuB;IAcZ,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAuB;IAAvB,0FAAuB;IAQ3B,0DAAc;IAAd,iFAAc;IA6Bd,0DAAuB;IAAvB,0FAAuB;IAYoC,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAGvH,0DAAc;IAAd,iFAAc;IAOd,0DAAuB;IAAvB,0FAAuB;IAgBM,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAS7F,2DAAc;IAAd,iFAAc;IAWd,0DAAuB;IAAvB,0FAAuB;IAe/B,0DAAsB;IAAtB,yFAAsB;IAKtB,0DAAuB;IAAvB,0FAAuB;;AD3M/C,MAAM,wBAAwB;IAOnC,YACU,cAA8B,EAC9B,YAA0B,EAC1B,cAA8B,EAC9B,KAAqB,EACrB,WAAkC,EAClC,mBAAwC,EACxC,aAA4B,EAC5B,QAAqB,EACrB,gBAAkC;QARlC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,gBAAW,GAAX,WAAW,CAAuB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAa;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAb5C,YAAO,GAAa,EAAE,CAAC;QACvB,aAAQ,GAAY,IAAI,CAAC;QACzB,uBAAkB,GAAY,KAAK,CAAC;QAkCpC,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;;YACrC,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAoFd,qBAAgB,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvC,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QACxD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA9GV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,+CAAQ,CAAC;gBACP,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;aACxC,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC;gBACT,IAAI,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBACzB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAMM,aAAa;;QAClB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,CAAC;aACzD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC;SACnG,CAAC,CAAC;IACP,CAAC;IAED,MAAM;;QAEJ,IAAI,WAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,KAAI,KAAK,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,UAA2B,CAAC;QAChC,IAAI,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,2BAA2B,EAAE;YAClD,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBACxG,IAAI,CAAC,0DAAS,CAAC,GAAG,EAAE;gBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC;oBAChD,QAAQ,EAAG,IAAI,CAAC,OAAmB,CAAC,IAAI;oBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;iBAC9B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;;YAEL,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAE,IAAI,CAAC,OAAmB,CAAC,IAAI,EAAG,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAExI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,UAAU;aACP,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,kCAAkC;gBAClC,+CAAQ,CAAC;oBACP,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;oBACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;iBACxC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAgB,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAgB,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAgB,CAAC;IAC1E,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAgB,CAAC;IACxE,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAgB,CAAC;IAC7E,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAgB,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAgB,CAAC;IACxE,CAAC;IAED,IAAI,KAAK;;QACP,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAgB,CAAC;IACvE,CAAC;IAMD,cAAc,CAAC,KAAa;QACzB,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,WAAW;;QACT,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChJ,CAAC;;gGAhJU,wBAAwB;sHAAxB,wBAAwB;QCtBrC,sHAyOM;QAEN,+FAC8B;;QA5OT,6EAAa;QA2OL,0DAA2B;QAA3B,wFAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1Od;AACoB;;;;;;;;;;;;;ICgClD,mEAA4D;;;;;IA4BxD,0EAAkE;IAC9D,0EAA2F;IACvF,0EAAyC;IACrC,4EAAoD;IAA7B,4OAA4B;IAAnD,4DAAoD;IACxD,4DAAM;IACV,4DAAM;IAEN,0EAAuE;IACnE,oEAAG;IAAA,uDAA6B;IAAA,4DAAI;IACxC,4DAAM;IAEN,0EAAwE;IACpE,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAClC,4DAAM;IAEN,2EAAuE;IACnE,qEAAG;IAAA,wDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IAEN,2EAAuE;IACnE,qEAAG;IAAA,wDAAuB;IAAA,4DAAI;IAClC,4DAAM;IAEN,2EAAuE;IACnE,qEAAG;IAAA,wDAAiB;IAAA,4DAAI;IAC5B,4DAAM;IAEN,2EAAwE;IACpE,yEAA0G;IAAA,iGAAO;IAAA,4DAAI;IACrH,yEAAmF;IAA5C,sYAAiC;IAAW,wEAAE;IAAA,4DAAI;IAC7F,4DAAM;IACV,4DAAM;;;IA5B6B,0DAA4B;IAA5B,sFAA4B;IAKpD,0DAA6B;IAA7B,2FAA6B;IAI7B,0DAAuB;IAAvB,qFAAuB;IAIvB,0DAAoB;IAApB,kFAAoB;IAIpB,0DAAuB;IAAvB,qFAAuB;IAIvB,0DAAiB;IAAjB,+EAAiB;IAIwB,0DAAmD;IAAnD,4JAAmD;;;IAKvG,0EAAgE;IAC5D,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;;;;IAMpE,yEAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAA2B;IAAA,4DAAI;IAChE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAAyH;IAAtC,2UAA2B;IAAW,mFAAI;IAAA,4DAAI;IAEjI,2EAA2D;IACvD,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAAqB;IAAA,wDAAmB;IAAA,4DAAI;IAC5C,wEAAa;IAAA,kEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,2EAA6B;IACzB,8EAA0F;IAA/D,mXAAkC,qRAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,6VAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,0WAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,8VAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IA3BmC,0DAA2B;IAA3B,6FAA2B;IAIhC,0DAAkD;IAAlD,8KAAkD;IAIzD,0DAAmB;IAAnB,qFAAmB;IAKb,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;AD1H1F,MAAM,0BAA0B;IAWrC,YACU,cAA8B,EAC9B,mBAAwC,EACxC,YAA0B,EAC1B,aAA4B;QAH5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAbtC,WAAM,GAAc,EAAE,CAAC;QAEvB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC;QAsBF,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAvBV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;aACpC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK;SACnC,CAAC,CAAC;IACP,CAAC;IAaM,WAAW,CAAC,IAAY;QAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAEM,eAAe;QACpB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,+FAAoC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1J,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;eACrB,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;eACzF,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;eAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9I,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvI,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEtD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAChG,CAAC;;oGA7FU,0BAA0B;wHAA1B,0BAA0B;QCfvC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,0EAA4B;QACxB,0EAA4B;QACxB,0EAAgD;QAC5C,kFAAiH;QAEjH,8EAAqD;QAAlB,mJAAS,WAAO,IAAC;QAChD,yEAAqC;QAAA,mEAAO;QAAA,4DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,8EAAwE;QACpE,yEAAqC;QAAA,sEAAU;QAAA,4DAAI;QACnD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,8EAA2D;QAAnB,mJAAS,YAAQ,IAAC;QACtD,yEAAqC;QAAA,mEAAO;QAAA,4DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACb,4DAAM;QAEN,2EAAoF;QAChF,oFAAqE;QACzE,4DAAM;QAEN,2IAA4D;QAG5D,6EAAoC;QAChC,2EAAmC;QAC/B,2EAA2F;QACvF,6EAAuE;QAAtB,kJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,0HA+BM;QAEN,yHAIM;QACV,4DAAQ;QAER,2IAA4D;QAChE,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,uNAgCc;;;QA/HmC,2DAA8B;QAA9B,yIAA8B;QAmB5C,2DAA6B;QAA7B,0FAA6B;QAGrC,0DAA4B;QAA5B,iFAA4B;QAMR,0DAAyB;QAAzB,sFAAyB;QAsBV,2DAAkB;QAAlB,wFAAkB;QAiCnC,0DAAiC;QAAjC,iGAAiC;QAOnD,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClGX;AACS;AACS;;;;;;;;;;;;;;;ICc9C,oEAAoB;IAAA,uDAAsB;IAAA,4DAAI;;;IAA1B,0DAAsB;IAAtB,wFAAsB;;;IAGtC,qEAEM;;;IAJV,wEAAoD;IAChD,uEAA2G;;IAC3G,4IAEM;IACV,qEAAe;;;IAJ8B,0DAAsC;IAAtC,+KAAsC;IACzC,0DAAyC;IAAzC,mHAAyC;;;IASnF,oEAAoB;IAAA,mEAAQ;IAAA,4DAAI;;;IAG5B,qEAEM;;;IAJV,wEAAoD;IAChD,uEAAoH;;IACpH,4IAEM;IACV,qEAAe;;;IAJ8B,0DAA+C;IAA/C,gOAA+C;IAClD,0DAAyC;IAAzC,mHAAyC;;;IASnF,oEAAoB;IAAA,uDAAyB;IAAA,4DAAI;;;IAA7B,0DAAyB;IAAzB,2FAAyB;;;IAKrC,uEAAiD;IAAA,qGAAO;IAAA,4DAAI;;;IADhE,0EAAuF;IACnF,8IAA4D;IAChE,4DAAM;;;IADE,0DAAiC;IAAjC,qGAAiC;;;IAGrC,uEAAiD;IAAA,qGAAO;IAAA,4DAAI;;;IADhE,0EAA8G;IAC1G,8IAA4D;IAChE,4DAAM;;;IADE,0DAAiC;IAAjC,qGAAiC;;;IAP7C,wEAAwC;IACpC,uEAA+G;;IAC/G,uEAA2H;;IAC3H,4IAEM;IACN,4IAEM;IACV,qEAAe;;;IAR4D,0DAAuC;IAAvC,gLAAuC;IAClC,0DAA8C;IAA9C,mKAA8C;IACpF,0DAA+C;IAA/C,yHAA+C;IAG/C,0DAAsE;IAAtE,uJAAsE;;;IAQhH,oEAAoB;IAAA,uDAA+B;IAAA,4DAAI;;;IAAnC,0DAA+B;IAA/B,iGAA+B;;;IAKvC,6EAA+D;IAAA,uDAAiB;IAAA,4DAAS;;;IAAlD,oFAAuB;IAAC,0DAAiB;IAAjB,gFAAiB;;;IAIpF,uEAA4C;IAAA,qGAAO;IAAA,4DAAI;;;IAD3D,0EAA6E;IACzE,8IAAuD;IAC3D,4DAAM;;;IADE,0DAA4B;IAA5B,gGAA4B;;;IARxC,wEAAwC;IACpC,0EAAyB;IACrB,6EAA0D;IACtD,6EAAqD;IAAA,mFAAI;IAAA,4DAAS;IAClE,kJAAyF;IAC7F,4DAAS;IACb,4DAAM;IACN,4IAEM;IACV,qEAAe;;;IAPK,0DAAgB;IAAhB,yEAAgB;IACG,0DAAU;IAAV,mFAAU;IAGP,0DAAqC;IAArC,+GAAqC;;;;IAS/E,wEAA+B;IAC3B,uEAAsH;IACtH,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IAC/B,uEAAiJ;IACjJ,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,qEAAe;;;IAJiC,0DAA0B;IAA1B,0FAA0B;IAEC,0DAA0B;IAA1B,0FAA0B;;;IAIrG,wEAAwC;IACpC,wEAAO;IACH,uEAAqE;IACrE,wEAA0B;IAAA,iEAAC;IAAA,4DAAI;IACnC,4DAAQ;IACR,wEAAO;IACH,uEAAgG;IAChG,wEAA2B;IAAA,iEAAC;IAAA,4DAAI;IACpC,4DAAQ;IACZ,qEAAe;;;IAMf,oEAAoB;IAAA,uDAAmB;IAAA,4DAAI;;;IAAvB,0DAAmB;IAAnB,sFAAmB;;;IAI/B,uEAA2C;IAAA,qGAAO;IAAA,4DAAI;;;IAD1D,0EAA2E;IACvE,8IAAsD;IAC1D,4DAAM;;;IADE,0DAA2B;IAA3B,+FAA2B;;;IAHvC,wEAAwC;IACpC,uEAAmI;;IACnI,4IAEM;IACV,qEAAe;;;IAJkF,0DAAqC;IAArC,oKAAqC;IAC5F,0DAAmC;IAAnC,+GAAmC;;;IAyBjE,uEAAiD;IAAA,6EAAG;IAAA,4DAAI;;;IACxD,0EAA6G;IACzG,0EAAkD;IAC9C,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IAC5B,4DAAM;IACV,4DAAM;;;IAFK,0DAAiB;IAAjB,gFAAiB;;;;;IApBxC,wEAA0E;IACtE,0EAAuB;IACnB,wEAAoG;IAAA,uDAAyC;;IAAA,4DAAI;IACjJ,0EAAgC;IAC5B,wEAAkC;IAAA,uDACH;IAAA,4DAAI;IACnC,wEAAkC;IAAA,uDAClC;IAAA,4DAAI;IACJ,yEAAkC;IAAA,wDAAkD;IAAA,4DAAI;IACxF,yEAAkC;IAAA,wDAAgD;IAAA,4DAAI;IAC1F,4DAAM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAA6D;IAAA,wDAC9C;;IAAA,4DAAI;IACnB,2EAAwB;IACpB,yJAAwD;IACxD,6JAIM;IACV,4DAAM;IACV,4DAAM;IACV,qEAAe;;;;IAvB2B,0DAAkC;IAAlC,2JAAkC;IAAgC,0DAAyC;IAAzC,yOAAyC;IAEvG,0DACH;IADG,8KACH;IACG,0DAClC;IADkC,2IAClC;IACkC,0DAAkD;IAAlD,mIAAkD;IAClD,0DAAgD;IAAhD,iIAAgD;IAKzB,0DAC9C;IAD8C,uPAC9C;IAEP,0DAAiC;IAAjC,iGAAiC;IACiC,0DAAoB;IAApB,wFAAoB;;;IAnB1G,wEAA+B;IAC3B,gKAyBe;IACnB,qEAAe;;;IA1BuB,0DAAqB;IAArB,8FAAqB;;;IA6BvD,wEAA+E;IAC3E,kFAA6J;IACjK,qEAAe;;;;;IADsD,0DAAqB;IAArB,kFAAqB;;;;IAF9F,wEAAwC;IACpC,8JAEe;IAEf,0EAAkG;IAApC,uTAAS,iCAAyB,IAAC;IAC7F,wEAAoC;IAAA,mFAAI;IAAA,4DAAI;IAChD,4DAAM;IACV,qEAAe;;;IAPuB,0DAA0B;IAA1B,mGAA0B;;;;IAU5D,wEAAuC;IACnC,6EAAyE;IAArC,6UAAoB,KAAK,IAAC;IAAW,wEAAG;IAAA,4DAAS;IACzF,qEAAe;;;;IACf,wEAAwC;IACpC,6EAAsE;IAApC,6UAAoB,IAAI,IAAC;IAAW,wEAAG;IAAA,4DAAS;IAClF,6EAAiG;IAA7B,8UAAkB;IAAW,wEAAG;IAAA,4DAAS;IACjH,qEAAe;;;IA1J/B,yEAAoC;IAChC,yEAAqC;IACjC,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,uEAAgB;IAAA,4DAAC;IAAA,4DAAI;IACrB,uEAAoC;IAAA,uDAAuD;;IAAA,4DAAI;IACnG,4DAAM;IAEN,uEAAqC;IAAA,wDAAmD;IAAA,4DAAI;IAE5F,0EAA4B;IACxB,2EAAkE;IAC9D,wEAA4C;IAAA,+GAAW;IAAA,4DAAI;IAE3D,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,qEAAG;IAAA,wDAAsB;IAAA,4DAAI;IACjC,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,0HAA8C;IAC9C,gJAKe;IACnB,4DAAM;IAGN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,0HAAgC;IAChC,gJAKe;IACnB,4DAAM;IAGN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,0HAAiD;IACjD,gJASe;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,0HAAuD;IACvD,gJAUe;IACnB,4DAAM;IAGN,2EAAuB;IACnB,yEAAuG;;IAAA,wEAAE;IAAA,4DAAI;IAC7G,gJAKe;IAEf,gJASe;IACnB,4DAAM;IAGN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,0HAA2C;IAC3C,gJAKe;IACnB,4DAAM;IAGN,gJA2Be;IAEf,gJAQe;IAEf,2EAAiI;IAC7H,gJAEe;IACf,gJAGe;IACnB,4DAAM;IACV,4DAAO;IACX,4DAAM;IACV,4DAAM;;;IA1JsC,0DAAuD;IAAvD,uQAAuD;IAG1D,0DAAmD;IAAnD,qIAAmD;IAGvD,0DAAoC;IAApC,oGAAoC;IAI/B,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC3F,0DAAsB;IAAtB,wFAAsB;IAIC,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAmC;IAAnC,6GAAmC;IAUxB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAmC;IAAnC,6GAAmC;IAUxB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAuB;IAAvB,0FAAuB;IAaZ,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAuB;IAAvB,0FAAuB;IAeZ,0DAAmC;IAAnC,oKAAmC;IAAC,uFAA8B;IAC7E,0DAAc;IAAd,iFAAc;IAOd,0DAAuB;IAAvB,0FAAuB;IAcZ,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAC1F,0DAAc;IAAd,iFAAc;IACH,0DAAuB;IAAvB,0FAAuB;IAS3B,0DAAc;IAAd,iFAAc;IA6Bd,0DAAuB;IAAvB,0FAAuB;IAWnB,0DAAsB;IAAtB,yFAAsB;IAGtB,0DAAuB;IAAvB,0FAAuB;;ADlI/C,MAAM,yBAAyB;IAOpC,YACU,cAA8B,EAC9B,aAA4B,EAC5B,cAA8B,EAC9B,QAAqB,EACrB,gBAAkC,EAClC,mBAAwC,EACxC,WAAkC,EAClC,YAA0B;QAP1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAa;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,gBAAW,GAAX,WAAW,CAAuB;QAClC,iBAAY,GAAZ,YAAY,CAAc;QAZpC,YAAO,GAAa,EAAE,CAAC;QACvB,aAAQ,GAAY,IAAI,CAAC;QACzB,uBAAkB,GAAY,KAAK,CAAC;QA8BpC,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;;YACrC,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IArBV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,8CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAC3C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;SACzC,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,CAAC,CAAC,EAAE;YACb,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC;IACN,CAAC;IAOD,MAAM;;QAEJ,IAAI,WAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,KAAI,KAAK,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,UAA2B,CAAC;QAChC,IAAI,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,2BAA2B,EAAE;YAClD,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBACzF,IAAI,CAAC,0DAAS,CAAC,GAAG,EAAE;gBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC;oBAChD,QAAQ,EAAG,IAAI,CAAC,OAAmB,CAAC,IAAI;oBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;iBAC9B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;;YAEL,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAE,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAE5G,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,UAAU;aACP,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,kCAAkC;gBAClC,8CAAQ,CAAC;oBACP,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;oBACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;iBACxC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAgB,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAgB,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAgB,CAAC;IAC1E,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAgB,CAAC;IACxE,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAgB,CAAC;IAC7E,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAgB,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAgB,CAAC;IACxE,CAAC;IAED,IAAI,KAAK;;QACP,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAgB,CAAC;IACvE,CAAC;;kGA9GU,yBAAyB;uHAAzB,yBAAyB;QCrBtC,uHA8JM;;QA9Je,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCa;AACwD;AACN;AACA;AAC1C;AACW;AACd;AACE;AACkE;AAC3D;AACuC;AACjC;;;;AAEnE,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gHAA0B,EAAE,WAAW,EAAE,CAAC,6EAAe,CAAC,EAAE;IAC3F,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,0GAAwB,EAAE,WAAW,EAAE,CAAC,6EAAe,CAAC,EAAE;IACvF,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,0GAAwB,EAAE,WAAW,EAAE,CAAC,6EAAe,CAAC,EAAE;IAC7F,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,6GAAyB,EAAE;IAC5D,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;CACvC,CAAC;AAoBK,MAAM,WAAW;;sEAAX,WAAW;wGAAX,WAAW;4GAVb;YACP,yDAAY;YACZ,kEAAqB,CAAC,MAAM,CAAC;YAC7B,wDAAW;YACX,gEAAmB;YACnB,4DAAW;YACX,0EAAwB,EAAE;YAC1B,wEAAgB;SACjB;mIAEU,WAAW,mBAhBpB,gHAA0B;QAC1B,0GAAwB;QACxB,0GAAwB;QACxB,iIAA8B;QAC9B,6GAAyB,aAGzB,yDAAY,6DAEZ,wDAAW;QACX,gEAAmB;QACnB,4DAAW,qEAEX,wEAAgB;;;;;;;;;;;;;;;;;;;;;;;;ACpCsB;;;;;;;;;ICsEd,wEAAqC;IAAA,uEAAE;IAAA,4DAAI;;;IAC3C,wEAA6D;IAAA,oEAAS;IAAA,4DAAI;;;IAC1E,wEAAsC;IAAA,uEAAE;IAAA,4DAAI;;;;IAO5C,wEAAuG;IAAtC,ubAA2B;IAAW,mFAAI;IAAA,4DAAI;;;;IAC/G,wEAAyG;IAAzC,0bAA8B;IAAW,mFAAI;IAAA,4DAAI;;;;;IA9BzH,0EAAmE;IAC/D,0EAAwE;IACpE,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAChC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IACnC,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAA8B;IAAA,4DAAI;IACzC,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAA+B;;IAAA,4DAAI;IAC1C,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACN,2EAAyE;IACrE,4IAA2C;IAC3C,4IAA0E;IAC1E,4IAA4C;IAChD,4DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAwB;IAAA,4DAAI;IACnC,4DAAM;IACN,2EAAsE;IAClE,yEAA8F;IAAA,wEAAE;IAAA,4DAAI;IACpG,4IAA+G;IAC/G,4IAAiH;IACjH,yEAA2F;IAA3D,0aAAgD;IAAW,wEAAE;IAAA,4DAAI;IACrG,4DAAM;IACV,4DAAM;;;IA/BK,0DAAqB;IAArB,mFAAqB;IAGrB,0DAAwB;IAAxB,sFAAwB;IAGxB,0DAA8B;IAA9B,4FAA8B;IAG9B,0DAA+B;IAA/B,oJAA+B;IAG/B,0DAAgB;IAAhB,8EAAgB;IAGhB,0DAAkB;IAAlB,gFAAkB;IAGjB,0DAAqB;IAArB,oFAAqB;IACrB,0DAAqB;IAArB,oFAAqB;IACrB,0DAAsB;IAAtB,qFAAsB;IAGvB,0DAAwB;IAAxB,sFAAwB;IAGK,0DAAmD;IAAnD,8JAAmD;IAClD,0DAA8B;IAA9B,6FAA8B;IAC9B,0DAA6B;IAA7B,4FAA6B;;;IAM1E,0EAAiE;IAC7D,0EAA6B;IACzB,wEAA+B;IAAA,mFAAI;IAAA,4DAAI;IAC3C,4DAAM;IACV,4DAAM;;;;;IA3FlB,yEAAoF;IAAnC,qKAAS,wBAAwB,IAAC;IAE/E,yEAA+B;IAC3B,uEAAwB;IAAA,uDAAoB;IAAA,4DAAI;IAEhD,yEAAgD;IAC5C,uEAAmC;IAAA,qEAAU;IAAA,4DAAI;IACjD,uEAAiG;IAAA,mFAAI;IAAA,4DAAI;IAC7G,4DAAM;IACV,4DAAM;IAEN,yEAA6B;IACzB,mFAA4F;IAC5F,2EAA+E;IAC3E,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAA+B;IAAA,wDAAoB;IAAA,4DAAI;IACvD,yEAAa;IAAA,4GAAQ;IAAA,4DAAI;IAC7B,4DAAM;IAEN,2EAA6B;IACzB,2EAAmC;IAC/B,2EAAwE;IACpE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,oFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAA0E;IACtE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAA0E;IACtE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAyE;IACrE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAyE;IACrE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAuE;IACnE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACN,2EAAsE;IAClE,yEAAa;IAAA,wEAAE;IAAA,4DAAI;IACvB,4DAAM;IACV,4DAAM;IAEN,2EAAmC;IAC/B,2IAiCM;IACV,4DAAM;IAEN,yIAIM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAA+B;IAC3B,8EAA2D;IAA5B,yUAAiB;IAAW,wEAAE;IAAA,4DAAS;IAC1E,4DAAM;IACV,4DAAM;;;IA/F0B,0DAAoB;IAApB,sFAAoB;IAIlB,0DAAgE;IAAhE,oKAAgE;IAKxE,0DAAuB;IAAvB,uFAAuB;IAGN,0DAAoB;IAApB,sFAAoB;IAoCA,2DAAkB;IAAlB,2FAAkB;IAoCxC,0DAAkC;IAAlC,qGAAkC;;;;IAxF/E,yEAAwD;IAAlB,8TAAiB;IACnD,iIAkGM;IACV,4DAAM;;;IAnG8B,0DAAe;IAAf,kFAAe;;ADY5C,MAAM,8BAA8B;IAOzC,YACU,gBAAkC,EAClC,cAA8B;QAD9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAPxC,YAAO,GAA6B,EAAE,CAAC;QACvC,oBAAe,GAA6B,EAAE,CAAC;QAC/C,cAAS,GAAqB,IAAI,CAAC;QACnC,YAAO,GAAY,KAAK,CAAC;QAkCzB,iBAAY,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1J,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA/BV,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,KAAK;;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,UAAI,CAAC,SAAS,0CAAE,IAAI,CAAC;aAC/D,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAC,mBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,WAAC,YAAK,CAAC,IAAI,KAAI,UAAI,CAAC,SAAS,0CAAE,IAAI,KAAC,0CAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YACjM,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAMD,SAAS,CAAC,IAA4B;;QACpC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,UAAI,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxE,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI;SACjC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAA4B;;QACvC,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAI,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3E,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK;SAClC,CAAC,CAAC;IACP,CAAC;IAEM,yBAAyB,CAAC,QAAgB;;QAC/C,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,UAAI,CAAC,SAAS,0CAAE,IAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;aACzF,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;SACzB,CAAC,CAAC;IACP,CAAC;;4GAhEU,8BAA8B;4HAA9B,8BAA8B;QCb3C,0HAoGM;;QApGiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;ACCgC;AAC1B;;;;;;;;;;ICKtB,6EAA+D;IAAA,uDAAiB;IAAA,4DAAS;;;IAAjF,mFAAuB;IAAgC,0DAAiB;IAAjB,+EAAiB;;;;;IASpF,0EAAiI;IAApB,gXAAmB;IAC5H,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IACxB,oEAAG;IAAA,uDAA8B;IAAA,4DAAI;IACzC,4DAAM;;;;;IAHwB,gKAAgC;IACvD,0DAAiB;IAAjB,+EAAiB;IACjB,0DAA8B;IAA9B,4FAA8B;;;IAO7B,mEAA2E;;;;IAInE,wEAAgJ;;IAAA,uDAA2D;;IAAA,4DAAI;;;IAAvK,8QAAwE;IAAC,uFAA8B;IAAC,0DAA2D;IAA3D,6PAA2D;;;IAC3M,oEAAwC;IAAA,8DAAG;IAAA,4DAAI;;;;IAHnD,wEAA2B;IAAA,uDAAoB;IAAA,4DAAI;IACnD,0EAAoC;IAChC,uJAA+M;IAC/M,sJAA+C;IACnD,4DAAM;IACN,wEAA4G;IAAnC,0WAA6B,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;IACtH,wEAA0G;IAAjC,6dAAS,uBAAsB,IAAC;IAAC,iEAAM;IAAA,4DAAI;;;IANzF,0DAAoB;IAApB,mFAAoB;IAEvC,0DAAkC;IAAlC,kGAAkC;IAClC,0DAAkC;IAAlC,kGAAkC;;;;IAO1C,2EAA8E;IAC1E,uEAAqF;IACrF,uEAA8E;IAAtC,mcAA2B;IAAW,uEAAE;IAAA,4DAAI;IACpF,wEAAsF;IAA9C,0WAA6B,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IAChG,4DAAO;;;IAJ0C,yFAA4B;;;IAbrF,0EAAsF;IAClF,8JAA2E;IAC3E,wOAQc;IAEd,wOAMc;IAClB,4DAAM;;;;;IAlBa,0DAAwB;IAAxB,uFAAwB;;;IAF/C,wEAAqC;IACjC,sIAmBM;IACV,qEAAe;;;IApB6C,0DAA4B;IAA5B,qGAA4B;;;IA0BpG,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADvCH,MAAM,yBAAyB;IAYpC,YACU,aAA4B,EAC5B,gBAAkC;QADlC,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAZ5C,UAAK,GAAW,CAAC,CAAC;QAClB,YAAO,GAAa,EAAE,CAAC;QAEvB,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACnD,CAAC,CAAC;QAEH,YAAO,GAAY,KAAK,CAAC;IAKrB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;aAC3C,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK;SACpC,CAAC;IACN,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACvC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,SAAoB;QACzB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;YAC1B,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClC,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;aACvE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;SACzB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;;kGAzEU,yBAAyB;uHAAzB,yBAAyB;QCbtC,yEAAiB;QACb,uEAA2B;QAAA,mFAAI;QAAA,4DAAI;QACnC,yEAAgC;QAC5B,0EAAqE;QACjE,yEAAyB;QACrB,4EAAwD;QACpD,4EAAqD;QAAA,mFAAI;QAAA,4DAAS;QAClE,2HAAyF;QAC7F,4DAAS;QACb,4DAAM;QACN,uEAA2I;;QAC3I,wEAAqE;QAA7B,6IAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAI;QAC/E,4DAAO;QAEP,2EAA4B;QACxB,2EAA2B;QACvB,wHAGM;QACV,4DAAM;QAEN,2EAA+B;QAC3B,0IAqBe;QACnB,4DAAM;QACV,4DAAM;QACV,4DAAM;QAGN,wHAEM;QACV,4DAAM;QAEN,qGAAqE;;QApDX,0DAAkB;QAAlB,+EAAkB;QAGhD,0DAAgB;QAAhB,yEAAgB;QAC2B,0DAAU;QAAV,gFAAU;QAG2B,0DAA0C;QAA1C,wMAA0C;QAMpD,0DAAY;QAAZ,gFAAY;QAO/E,0DAAoB;QAApB,oFAAoB;QA2BhB,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;AC/CN;;;;;;;;ICI1B,0EAAiI;IAApB,oXAAmB;IAC5H,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IAC/B,oEAAG;IAAA,uDAAkC;IAAA,4DAAI;IAC7C,4DAAM;;;;;IAHwB,gKAAgC;IACvD,0DAAwB;IAAxB,sFAAwB;IACxB,0DAAkC;IAAlC,gGAAkC;;;;;IASrC,0EAAmH;IAC/G,sEAAM;IACH,wEAAO;IAAC,4EAA6F;IAAtE,6ZAA+B;IAAtD,4DAA6F;IAAA,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IAAA,4DAAQ;IAC7I,4DAAM;IACV,4DAAM;;;;IAJ4B,qLAAiD;IAEb,0DAAoC;IAApC,uGAAoC;IAAK,0DAAsB;IAAtB,sFAAsB;;;IANzI,wEAAqC;IACjC,sEAAK;IACD,0EAA8B;IAAA,yOAA6B;IAAA,4DAAM;IACrE,4DAAM;IACN,2IAIM;IACV,qEAAe;;;IAL4F,0DAAU;IAAV,mFAAU;;;IAWjI,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADpBH,MAAM,8BAA8B;IAMzC,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QALtC,UAAK,GAAW,CAAC,CAAC;QAClB,YAAO,GAAiB,EAAE,CAAC;QAC3B,YAAO,GAAY,KAAK,CAAC;IAIrB,CAAC;IAEL,QAAQ;QAEN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IACD,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAClF,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;SACF,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,MAAa;QACrB,IAAI,QAAQ,GAAC,IAAI,CAAC,cAAc,CAAC;QACjC,IAAG,QAAQ,IAAE,IAAI;YAAC,OAAO,KAAK,CAAC;QAC/B,wGAAwG;QACxG,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,IAAI,IAAE,MAAM,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC;IACpE,CAAC;IACD,MAAM,CAAC,MAAa;QAClB,IAAI,QAAQ,GAAC,IAAI,CAAC,cAAc,CAAC;QACjC,IAAG,QAAQ,IAAE,IAAI,EAAC;YACjB,IAAI,UAAU,GAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,IAAI,IAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnE,IAAG,UAAU,IAAE,IAAI,EAAC;gBAClB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtC;iBAAI;gBACH,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAC,CAAC,CAAC,CAAC;aAC/E;YAED,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,SAAS,CAAC;gBACvG,IAAI,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC;aACF,CAAC;SACH;IACH,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;;4GAhDU,8BAA8B;4HAA9B,8BAA8B;QCX3C,yEAAiB;QACb,uEAA2B;QAAA,mFAAI;QAAA,4DAAI;QACnC,yEAAgC;QAC5B,uEAA8B;QAAA,qSAAuC;QAAA,4DAAI;QAEzE,yEAA4B;QACxB,yEAA2B;QACvB,0HAGM;QACV,4DAAM;QAEN,yEAA+B;QAC3B,8IASe;QACnB,4DAAM;QACV,4DAAM;QACV,4DAAM;QAGN,4HAEM;QACV,4DAAM;;QAzB4F,0DAAY;QAAZ,gFAAY;QAO/E,0DAAoB;QAApB,oFAAoB;QAehB,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;AC5BoB;AAC1B;;;;;;;ICQ9B,mEAAwE;;;;IAGpE,0EAAsB;IAClB,wEAAgB;IAAA,uDAAuB;IAAA,4DAAI;IAC3C,wEAAsB;IAAA,uDAAwB;IAAA,4DAAI;IAClD,wEAAqB;IAAA,uDAAiB;IAAA,4DAAI;IAC1C,wEAAoG;IAAhC,yVAA0B,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;IAClH,4DAAM;;;IAJc,0DAAuB;IAAvB,qFAAuB;IACjB,0DAAwB;IAAxB,sFAAwB;IACzB,0DAAiB;IAAjB,+EAAiB;;;;IAO1C,2EAAiD;IAC7C,sEAAwG;;IACxG,sEAAyI;;IACzI,sEAA4G;;IAC5G,uEAAoG;IAAnC,ibAAwB;IAAW,uEAAE;IAAA,4DAAI;IAC1G,wEAAmF;IAA3C,yVAA0B,KAAK,IAAC;IAAW,wEAAE;IAAA,4DAAI;IAC7F,4DAAO;;;IANgB,qFAAyB;IACqB,0DAAsC;IAAtC,+KAAsC;IACL,0DAAsC;IAAtC,+KAAsC;IACnE,0DAAsC;IAAtC,+KAAsC;;;IAjBvH,wEAA6C;IACzC,qJAAwE;IAExE,+NAQc;IAEd,iOAQc;IAClB,qEAAe;;;;;IArBI,0DAAqB;IAArB,mFAAqB;;;IAwB5C,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADzBH,MAAM,sBAAsB;IAWjC,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAVtC,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAAY,IAAI,CAAC;QAExB,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnD,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACnD,CAAC,CAAC;IAIC,CAAC;IAEL,QAAQ;QACN,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;aAC5B,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK;YACtB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAC5C,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACvC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;aAC3D,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;;4FAjEU,sBAAsB;oHAAtB,sBAAsB;QCXnC,yEAAiB;QACb,uEAA2B;QAAA,mFAAI;QAAA,4DAAI;QACnC,yEAAgC;QAC5B,0EAAqE;QACjE,sEAAwG;;QACxG,sEAAyI;;QACzI,sEAA4G;;QAC5G,wEAA8F;QAA7B,0IAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAI;QACxG,4DAAO;QACP,sIAsBe;QACnB,4DAAM;QAEN,oHAEM;QACV,4DAAM;;QAlC0B,0DAAkB;QAAlB,+EAAkB;QAC2B,0DAAsC;QAAtC,+KAAsC;QACL,0DAAsC;QAAtC,+KAAsC;QACnE,0DAAsC;QAAtC,iLAAsC;QAG9E,0DAAU;QAAV,gFAAU;QAyBhB,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BzC,MAAM,6BAA6B;IAExC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;0GALU,6BAA6B;2HAA7B,6BAA6B;QCP1C,yEAAiB;QACb,sFAAqD;QAErD,yEAAoC;QAChC,iFAA2C;QAC/C,4DAAM;QAEN,yEAAoC;QAChC,gFAAyC;QAC7C,4DAAM;QAEN,yEAAoC;QAChC,gFAAyC;QAC7C,4DAAM;QAEN,yEAAoC;QAChC,wFAAyD;QAC7D,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;;;;;;;;ACXC,MAAM,8BAA8B;IAEzC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;4GALU,8BAA8B;4HAA9B,8BAA8B;QCP3C,yEAAiB;QACb,oFAAiD;QACrD,4DAAM;;;;;;;;;;;;;;;;;;;;;;;;ACD8D;AAC1B;;;;;;;;;ICQ1B,wEAA8D;IAC1D,wEAAgB;IAAA,uDAAoB;IAAA,4DAAI;IACxC,wEAAqB;IAAA,uDAAoB;IAAA,4DAAI;IAC7C,wEAAuG;IAAnC,yVAA6B,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;IACrH,qEAAe;;;IAHK,0DAAoB;IAApB,kFAAoB;IACf,0DAAoB;IAApB,kFAAoB;;;;IAIzC,2EAA8E;IAC1E,sEAAuG;;IACvG,sEAA4G;;IAC5G,wEAA8E;IAAtC,ibAA2B;IAAW,uEAAE;IAAA,4DAAI;IACpF,wEAAsF;IAA9C,yVAA6B,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IAChG,4DAAO;;;IAL0C,wFAA4B;IACT,0DAAsC;IAAtC,+KAAsC;IACjC,0DAAsC;IAAtC,+KAAsC;;;IATvH,0EAAkE;IAC9D,+IAIe;IACf,yNAOc;IAClB,4DAAM;;;;IAba,0DAAiC;IAAjC,+FAAiC;;;IAgB5D,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADjBH,MAAM,yBAAyB;IASpC,YACU,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAR5C,eAAU,GAAgB,EAAE,CAAC;QAC7B,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACnD,CAAC,CAAC;IAIC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;aACrC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,CAAC;SACF,CAAC;IACN,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACvC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,SAAoB;QACzB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAClC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClC,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;aACvE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC;IACN,CAAC;;kGA7DU,yBAAyB;uHAAzB,yBAAyB;QCXtC,yEAAiB;QACb,uEAAkG;;QAAA,+FAAM;QAAA,4DAAI;QAC5G,yEAAgC;QAC5B,0EAAqE;QACjE,sEAAuG;;QACvG,sEAA4G;;QAC5G,wEAAqE;QAA7B,6IAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAI;QAC/E,4DAAO;QACP,0EAA4B;QACxB,uHAcM;QACV,4DAAM;QACV,4DAAM;QACN,uHAEM;QACV,4DAAM;;QA5Be,0DAAuC;QAAvC,0LAAuC;QAAC,uFAA8B;QAE3D,0DAAkB;QAAlB,+EAAkB;QAC0B,0DAAsC;QAAtC,+KAAsC;QACjC,0DAAsC;QAAtC,gLAAsC;QAIxD,0DAAa;QAAb,mFAAa;QAiBzC,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBhB;AACU;;;;;;;;;;;;;ICO1B,0EAAiI;IAApB,mXAAmB;IAC5H,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IACxB,oEAAG;IAAA,uDAA+C;IAAA,4DAAI;IAC1D,4DAAM;;;;;IAHwB,gKAAgC;IACvD,0DAAiB;IAAjB,+EAAiB;IACjB,0DAA+C;IAA/C,oHAA+C;;;;IAOtD,0EAAiF;IAC7E,wEAAgB;IAAA,uDAAmB;IAAA,4DAAI;IACvC,wEAA4E;IAA5C,oZAA2C;IAAC,gEAAK;IAAA,4DAAI;IACzF,4DAAM;;;IAFc,0DAAmB;IAAnB,iFAAmB;;ADHhD,MAAM,4BAA4B;IAOvC,YACU,aAA4B,EAC5B,wBAAkD,EAClD,aAA4B,EAC5B,cAA8B,EAC9B,SAA0B;QAJ1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAiB;QAVpC,YAAO,GAAa,EAAE,CAAC;QACvB,UAAK,GAAW,CAAC,CAAC;QAClB,cAAS,GAAwB,EAAE,CAAC;QACpC,YAAO,GAAa,EAAE,CAAC;QA+BvB,yBAAoB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACzE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACrE,OAAO;oBACL,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI;oBAClD,mBAAmB,EAAE,EAAE,CAAC,IAAI;iBAC7B;YACH,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACxD,SAAS,CAAC;gBACT,IAAI,EAAE,GAAG,EAAE;oBACT,mGAAmG;oBACnG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IArCV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,8CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;YACpD,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,EAAE;YACnE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;SACrD,CAAC;aACC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;gBAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAmBD,uBAAuB,CAAC,MAAc;QACpC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,CAAC;gBACrD,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI;gBAClD,mBAAmB,EAAE,MAAM,CAAC,IAAI;aACjC,CAAC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACxD,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,mGAAmG;gBACnG,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAGD,iCAAiC,CAAC,MAAc;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACnF,CAAC;IACA,IAAK,kBAAkB;QACtB,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,IAAW,EAAE,EAAE;YACvE,IAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAE,IAAI;gBACjC,GAAG,GAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,uBAAuB;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI;YAClC,OAAO,EAAE,CAAC;QAEZ,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS;aAC3B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;aACrE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;;wGAvFU,4BAA4B;0HAA5B,4BAA4B;;QCjBzC,yEAAiB;QACb,uEAAkG;;QAAA,+FAAM;QAAA,4DAAI;QAC5G,yEAAgC;QAC5B,yEAAuB;QACnB,uEAA+B;QAAA,iKAAiB;QAAA,4DAAI;QACxD,4DAAM;QAEN,yEAAwB;QACpB,yEAA2B;QACvB,wEAAiF;QAAA,gGAAM;QAAA,4DAAI;QAC3F,0HAGM;QACV,4DAAM;QAEN,0EAA8B;QAC1B,yEAAwG;QAAA,wDAAsB;QAAA,4DAAI;QAElI,2HAGM;QAEN,2EAA6I;QAA9C,gSAAS,qCAAmC,IAAC;QACxI,yEAA8C;QAAA,sEAAU;QAAA,4DAAI;QAC5D,yEAAqD;QAAA,gGAAM;QAAA,4DAAI;QACnE,4DAAM;QAEN,2EAA6B;QACzB,yEAAkD;QAAA,yEAAa;QAAA,4DAAI;QACnE,yEAA6F;QAAA,8WAAmD;QAAA,4DAAI;QACxJ,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,uFAA4E;;QArCvD,0DAAuC;QAAvC,0LAAuC;QAAC,uFAA8B;QASO,2DAAY;QAAZ,gFAAY;QAOU,0DAAsB;QAAtB,uFAAsB;QAEzE,0DAA0B;QAA1B,gGAA0B;QAmBtE,2DAA+B;QAA/B,4FAA+B;;;;;;;;;;;;;;;;;;;;;;;ACrCY;AAC1B;;;;;;;;ICG9B,wEAA6L;IAA1G,6RAAS,qBAAc,iBAAiB,WAAW,KAAK,CAAC,IAAC;IAAgD,qEAAU;IAAA,4DAAI;;;;IAC3M,wEAAwM;IAAlH,6RAAS,qBAAc,iBAAiB,WAAW,IAAI,CAAC,IAAC;IAAyD,yEAAc;IAAA,4DAAI;;;IAQlN,wEAAuH;IAAA,qEAAU;IAAA,4DAAI;;;IACrI,wEAAmI;IAAA,yEAAc;IAAA,4DAAI;;;;IAHzJ,wEAA2D;IACvD,wEAAgB;IAAA,uDAAiB;IAAA,4DAAI;IACrC,qIAAqI;IACrI,qIAAqJ;IACrJ,wEAAoG;IAAhC,iVAA0B,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;IAClH,qEAAe;;;IAJK,0DAAiB;IAAjB,+EAAiB;IACwD,0DAA4B;IAA5B,2FAA4B;IACzB,0DAAqC;IAArC,oGAAqC;;;;IAM7H,wEAA4J;IAAzE,obAAkC,KAAK,KAAE;IAAgC,qEAAU;IAAA,4DAAI;;;;IAC1K,wEAAuK;IAAjF,obAAkC,IAAI,KAAE;IAAyC,yEAAc;IAAA,4DAAI;;;;IAH7L,2EAA2E;IACvE,sEAAuG;;IACvG,mIAA0K;IAC1K,mIAAyL;IACzL,uEAA2E;IAAnC,waAAwB;IAAW,uEAAE;IAAA,4DAAI;IACjF,uEAAmF;IAA3C,gVAA0B,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IAC7F,4DAAO;;;IAN0C,qFAAyB;IACN,0DAAsC;IAAtC,+KAAsC;IACwB,0DAA4B;IAA5B,2FAA4B;IAC1B,0DAAqC;IAArC,oGAAqC;;;IAXjL,0EAAwD;IACpD,4IAKe;IACf,sNAQc;IAClB,4DAAM;;;;IAfa,0DAA8B;IAA9B,4FAA8B;;;IAoBzD,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADvBH,MAAM,sBAAsB;IAUjC,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QATtC,YAAO,GAAa,EAAE,CAAC;QAEvB,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,eAAe,EAAE,IAAI,uDAAW,CAAC,KAAK,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC/D,CAAC,CAAC;IAIC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;aACxC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK;YACtB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK;SAC7D,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;aACpE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,UAAmB;QAClD,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;;4FAnEU,sBAAsB;oHAAtB,sBAAsB;QCXnC,yEAAiB;QACb,uEAA2B;QAAA,mFAAI;QAAA,4DAAI;QACnC,yEAAgC;QAC5B,0EAAqE;QACjE,sEAAuG;;QACvG,8GAA2M;QAC3M,8GAA0N;QAC1N,uEAAqE;QAA7B,yIAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAI;QAC/E,4DAAO;QAEP,0EAAwB;QACpB,oHAgBM;QACV,4DAAM;QAEV,4DAAM;QAEN,qHAEM;QACV,4DAAM;;QAhC0B,0DAAkB;QAAlB,+EAAkB;QAC0B,0DAAsC;QAAtC,+KAAsC;QACyC,0DAA4C;QAA5C,4GAA4C;QAC1C,0DAAqD;QAArD,qHAAqD;QAK1J,0DAAU;QAAV,gFAAU;QAqB/B,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;AC/BoB;AAC1B;AAC0B;;;;;;;;ICIhD,6EAAyD;IAAA,uDAA2B;;IAAA,4DAAS;;;IAArF,iFAAqB;IAA4B,0DAA2B;IAA3B,8IAA2B;;;;;IAUxF,0EAAkI;IAApB,6WAAmB;IAC7H,oEAAG;IAAA,uDAA2B;;IAAA,4DAAI;IAClC,oEAAG;IAAA,uDAAqC;IAAA,4DAAI;IAChD,4DAAM;;;;;IAH6B,gKAAgC;IAC5D,0DAA2B;IAA3B,8IAA2B;IAC3B,0DAAqC;IAArC,0GAAqC;;;IAUxC,mEAAiF;;;;IAE7E,wEAAgB;IAAA,uDAAiB;IAAA,4DAAI;IACrC,wEAAyG;IAAhC,gVAA0B,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;;;IADnG,0DAAiB;IAAjB,+EAAiB;;;;IAIjC,2EAA2E;IACvE,uEAAyG;;IACzG,uEAA2E;IAAnC,waAAwB;IAAW,uEAAE;IAAA,4DAAI;IACjF,uEAAmF;IAA3C,gVAA0B,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IAC7F,4DAAO;;;IAJ0C,qFAAyB;IACN,0DAAwC;IAAxC,2LAAwC;;;IARpH,0EAA2E;IACvE,4IAAiF;IACjF,sNAGc;IACd,sNAMc;IAClB,4DAAM;;;;;IAZa,0DAA8B;IAA9B,4FAA8B;;;IAgB7D,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADpCH,MAAM,sBAAsB;IAqBjC,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QApBtC,YAAO,GAAa,EAAE,CAAC;QAEvB,UAAK,GAAW,CAAC,CAAC;QAClB,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACnD,CAAC,CAAC;QAEI,UAAK,GAAG;YACb,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,2EAAgB,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,4EAAiB,EAAE;YACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,4EAAiB,EAAE;YAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,6EAAkB,EAAE;YAC3C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mFAAwB,EAAE;YAC9C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,6EAAkB,EAAE;SACzC,CAAC;IAKE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;aACxC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACvC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;aACnE,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC;IACN,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,oBAAoB,CAAC,IAAiB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC;;4FAjFU,sBAAsB;oHAAtB,sBAAsB;QCXnC,yEAAiB;QACb,uEAAkG;;QAAA,+FAAM;QAAA,4DAAI;QAC5G,yEAAgC;QAC5B,0EAAyE;QACrE,yEAAyB;QACrB,4EAAsD;QAClD,4EAAqD;QAAA,+FAAM;QAAA,4DAAS;QACpE,0HAA6F;QACjG,4DAAS;QACb,4DAAM;QACN,uEAAyI;;QACzI,wEAAqE;QAA7B,0IAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAI;QAC/E,4DAAO;QAEP,2EAAwB;QAEpB,2EAAgC;QAC5B,qHAGM;QACN,6EAAuD;QACnD,yEAAgE;QAAA,yEAAa;QAAA,4DAAI;QACjF,yEAA2E;QAAA,4PAAgC;QAAA,4DAAI;QACnH,4DAAQ;QACZ,4DAAM;QAEN,2EAA2B;QACvB,qHAaM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,qHAEM;QACV,4DAAM;;QA/Ce,0DAAuC;QAAvC,0LAAuC;QAAC,uFAA8B;QAE7B,0DAAkB;QAAlB,+EAAkB;QAGpD,0DAAgB;QAAhB,yEAAgB;QACuB,0DAAQ;QAAR,8EAAQ;QAGiC,0DAAwC;QAAxC,6LAAwC;QAO/C,0DAAU;QAAV,8EAAU;QAW9C,0DAAwB;QAAxB,8FAAwB;QAiBtD,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;ACtCzC,MAAM,qCAAqC;IAEhD,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;0HALU,qCAAqC;mIAArC,qCAAqC;QCPlD,yEAAiB;QACb,gFAAyC;QAEzC,yEAAoC;QAChC,yFAA2D;QAC/D,4DAAM;QACN,yEAAoC;QAChC,oFAAiD;QACrD,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;;;;;;;;;;;ACRoC;;;;;;;;;;ICc9B,0EAAiG;IAC7F,wEAA+B;IAAA,+FAAM;IAAA,4DAAI;IACzC,6EAAoI;IAA7D,8TAA+B,EAAE,kCAAiB;IAAW,uEAAE;IAAA,4DAAS;IAC/I,6EAAoI;IAA7D,8TAA+B,EAAE,kCAAiB;IAAW,uEAAE;IAAA,4DAAS;IAC/I,6EAAsI;IAA9D,8TAA+B,GAAG,kCAAiB;IAAW,mFAAI;IAAA,4DAAS;IACvJ,4DAAM;;;IAHqB,0DAA+C;IAA/C,4KAA+C;IAC/C,0DAA+C;IAA/C,4KAA+C;IAC/C,0DAAgD;IAAhD,6KAAgD;;;;IAG3E,0EAAsG;IAClG,wEAA+B;IAAA,mFAAI;IAAA,4DAAI;IACvC,6EAA6I;IAAjE,oUAAoC,EAAE,kCAAgB;IAAW,uEAAE;IAAA,4DAAS;IACxJ,6EAA6I;IAAjE,sUAAoC,EAAE,mCAAgB;IAAW,uEAAE;IAAA,4DAAS;IACxJ,6EAA+I;IAAlE,sUAAoC,GAAG,mCAAgB;IAAW,mFAAI;IAAA,4DAAS;IAChK,4DAAM;;;IAHqB,0DAAoD;IAApD,iLAAoD;IACpD,0DAAoD;IAApD,iLAAoD;IACpD,0DAAqD;IAArD,kLAAqD;;;;IAGhF,0EAAiG;IAC7F,wEAA+B;IAAA,mFAAI;IAAA,4DAAI;IACvC,6EAAmI;IAA5D,iUAA+B,EAAE,mCAAgB;IAAW,uEAAE;IAAA,4DAAS;IAC9I,6EAAmI;IAA5D,iUAA+B,EAAE,mCAAgB;IAAW,uEAAE;IAAA,4DAAS;IAC9I,6EAAqI;IAA7D,iUAA+B,GAAG,mCAAgB;IAAW,mFAAI;IAAA,4DAAS;IACtJ,4DAAM;;;IAHqB,0DAA+C;IAA/C,4KAA+C;IAC/C,0DAA+C;IAA/C,4KAA+C;IAC/C,0DAAgD;IAAhD,6KAAgD;;;;IAG3E,0EAAmG;IAC/F,wEAA+B;IAAA,gGAAO;IAAA,4DAAI;IAC1C,6EAAuI;IAA9D,mUAAiC,EAAE,mCAAgB;IAAW,uEAAE;IAAA,4DAAS;IAClJ,6EAAuI;IAA9D,mUAAiC,EAAE,mCAAgB;IAAW,uEAAE;IAAA,4DAAS;IAClJ,6EAAyI;IAA/D,mUAAiC,GAAG,mCAAgB;IAAW,mFAAI;IAAA,4DAAS;IAC1J,4DAAM;;;IAHqB,0DAAiD;IAAjD,8KAAiD;IACjD,0DAAiD;IAAjD,8KAAiD;IACjD,0DAAkD;IAAlD,+KAAkD;;;;IAG7E,0EAAkG;IAC9F,wEAA+B;IAAA,yFAAK;IAAA,4DAAI;IACxC,6EAAqI;IAA7D,kUAAgC,EAAE,mCAAgB;IAAW,uEAAE;IAAA,4DAAS;IAChJ,6EAAqI;IAA7D,kUAAgC,EAAE,mCAAgB;IAAW,uEAAE;IAAA,4DAAS;IAChJ,6EAAuI;IAA9D,kUAAgC,GAAG,mCAAgB;IAAW,mFAAI;IAAA,4DAAS;IACxJ,4DAAM;;;IAHqB,0DAAgD;IAAhD,6KAAgD;IAChD,0DAAgD;IAAhD,6KAAgD;IAChD,0DAAiD;IAAjD,8KAAiD;;ADpCjF,MAAM,yBAAyB;IAIpC,YACU,qBAA4C,EAC5C,cAA8B;QAD9B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAJxC,WAAM,GAAqB,EAAE,CAAC;IAK1B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE;aAC3C,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACV,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;aACtD,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;IAC7D,CAAC;;kGAjDU,yBAAyB;uHAAzB,yBAAyB;QCXtC,yEAAiB;QACb,uEAAkG;;QAAA,+FAAM;QAAA,4DAAI;QAE5G,yEAAgC;QAC5B,yEAAuB;QACnB,uEAAsI;;QAAA,+RAAsC;QAAA,4DAAI;QACpL,4DAAM;QAGN,yEAAqC;QACjC,0EAAgD;QAC5C,wEAAgG;;QAAA,oFAAI;QAAA,4DAAI;QACxG,wEAA2B;QAAA,oFAAI;QAAA,4DAAI;QACvC,4DAAM;QAEN,uHAKM;QAEN,uHAKM;QAEN,uHAKM;QAEN,uHAKM;QAEN,uHAKM;QACV,4DAAM;QACV,4DAAM;QAEV,4DAAM;;QAnDe,0DAAuC;QAAvC,2LAAuC;QAAC,uFAA8B;QAI1D,0DAAuE;QAAvE,2XAAuE;QAAC,uFAA8B;QAMtG,0DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAIZ,0DAAkB;QAAlB,kFAAkB;QAOlB,0DAAuB;QAAvB,uFAAuB;QAOvB,0DAAkB;QAAlB,kFAAkB;QAOlB,0DAAoB;QAApB,oFAAoB;QAOpB,0DAAmB;QAAnB,mFAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CxC;AAC1B;AACoB;;;;;;;;;ICI1C,6EAAwF;IAAA,uDAAsB;IAAA,4DAAS;;;IAA/G,wFAA4B;IAAoD,0DAAsB;IAAtB,oFAAsB;;;;;IAelH,0EAAiJ;IAApB,8WAAmB;IAC5I,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IAC7B,oEAAG;IAAA,uDAAiC;IAAA,4DAAI;IAC5C,4DAAM;;;;;IAH8B,gKAAgC;IAC7D,0DAAsB;IAAtB,oFAAsB;IACtB,0DAAiC;IAAjC,+FAAiC;;;IAOhC,mEAAyE;;;;IASrE,wEAA0I;IAAjC,0cAAgC;IAAC,kEAAO;IAAA,4DAAI;;;;IACrJ,wEAAyI;IAAjC,0WAA2B,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;;;;;IARnJ,wEAAgB;IAAA,uDAA0B;IAAA,4DAAI;IAC9C,wEAAqB;IAAA,uDAAkB;IAAA,4DAAI;IAC3C,4EAAuD;IACnD,uEAAsE;IACtE,wEAAoC;IAAA,yFAAK;IAAA,4DAAI;IACjD,4DAAQ;IACR,wEAA+J;IAAlC,qcAAiC;IAAC,gEAAK;IAAA,4DAAI;IACxK,sJAAqJ;IACrJ,sJAAmJ;;;IARnI,0DAA0B;IAA1B,yFAA0B;IACrB,0DAAkB;IAAlB,iFAAkB;IAEZ,0DAAqC;IAArC,kGAAqC;IAGZ,0DAAwE;IAAxE,2LAAwE;IAClD,0DAA6B;IAA7B,6FAA6B;IAC7B,0DAA4B;IAA5B,4FAA4B;;;;IAGtG,2EAA4E;IACxE,uEAAwG;;IACxG,sEAAmJ;;IACnJ,kFAA4E;IAC5E,4EAAuD;IACnD,uEAA2D;IAC3D,wEAAoC;IAAA,yFAAK;IAAA,4DAAI;IACjD,4DAAQ;IACR,yEAA4E;IAApC,8bAAyB;IAAW,wEAAE;IAAA,4DAAI;IAClF,yEAAoF;IAA5C,qWAA2B,KAAK,IAAC;IAAW,wEAAE;IAAA,4DAAI;IAC9F,4DAAO;;;IAV0C,uFAA0B;IACN,0DAAsC;IAAtC,+KAAsC;IACE,0DAAyC;IAAzC,iMAAyC;IAChI,0DAAsC;IAAtC,mGAAsC;;;IAjBpE,0EAAoF;IAChF,4JAAyE;IACzE,uOAUc;IACd,uOAYc;IAClB,4DAAM;;;;;IAzBa,0DAAsB;IAAtB,qFAAsB;;;IAF7C,wEAA0C;IACtC,oIA0BM;IACV,qEAAe;;;IA3BwC,0DAA+B;IAA/B,wGAA+B;;;IA+BlG,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADjDH,MAAM,uBAAuB;IAalC,YACU,cAA8B,EAC9B,mBAAwC;QADxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAblD,UAAK,GAAW,CAAC,CAAC;QAClB,iBAAY,GAAkB,EAAE,CAAC;QAEjC,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClD,WAAW,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IAKC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE;aACxC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACtC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAC9C,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YACjD,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;SAC3D,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;aAC/D,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,OAAgB;QAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,EAAE;YAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAC5E,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CACnE,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,OAAgB;QAC7B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,EAAE;YAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAC7E,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CACnE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;;8FAzGU,uBAAuB;qHAAvB,uBAAuB;QCdpC,yEAAiB;QACb,uEAA2B;QAAA,yFAAK;QAAA,4DAAI;QACpC,yEAAgC;QAC5B,0EAAyE;QACrE,yEAAyB;QACrB,4EAAsD;QAClD,4EAAqD;QAAA,qGAAO;QAAA,4DAAS;QACrE,yHAAuH;QAC3H,4DAAS;QACb,4DAAM;QACN,uEAAwI;;QACxI,uEAAmJ;;QACnJ,mFAAoE;QACpE,6EAAuD;QACnD,wEAAqD;QACrD,yEAAoC;QAAA,0FAAK;QAAA,4DAAI;QACjD,4DAAQ;QACR,yEAAqE;QAA7B,2IAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAI;QAC/E,4DAAO;QAEP,2EAAyB;QACrB,2EAAiC;QAC7B,sHAGM;QACV,4DAAM;QAEN,2EAA4B;QACxB,wIA4Be;QACnB,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,sHAEM;QACV,4DAAM;;QA7DwD,0DAAkB;QAAlB,+EAAkB;QAGpD,0DAAgB;QAAhB,yEAAgB;QACqC,0DAAe;QAAf,qFAAe;QAGa,0DAAsC;QAAtC,gLAAsC;QAC9B,0DAAyC;QAAzC,mMAAyC;QAChI,0DAA8B;QAA9B,2FAA8B;QAUiD,0DAAiB;QAAjB,qFAAiB;QAO/F,0DAAyB;QAAzB,yFAAyB;QAgCrB,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;AC5DoB;AAC1B;;;;;;;;;;ICU1B,wEAAgE;IAC5D,wEAAgB;IAAA,uDAAsB;IAAA,4DAAI;IAC1C,wEAAyG;IAArC,+VAA+B,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;IACvH,qEAAe;;;IAFK,0DAAsB;IAAtB,oFAAsB;;;;IAItC,2EAAgF;IAC5E,sEAA8I;;IAC9I,iFAAgF;IAChF,uEAAgF;IAAxC,ubAA6B;IAAW,uEAAE;IAAA,4DAAI;IACtF,uEAAwF;IAAhD,+VAA+B,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IAClG,4DAAO;;;IAL0C,0FAA8B;IACyB,0DAAyC;IAAzC,4LAAyC;IAC3H,0DAA0C;IAA1C,sGAA0C;;;IARxE,0EAAwE;IACpE,iJAGe;IACf,2NAOc;IAClB,4DAAM;;;;IAZa,0DAAmC;IAAnC,iGAAmC;;;IAgB9D,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADnBH,MAAM,2BAA2B;IAQtC,YACU,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAPxC,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAkB,EAAE,CAAC;QACjC,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACnD,CAAC;IAIE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE;aACxC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,YAAY,GAAG,KAAK;YAC3B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACvC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,WAAwB;QAC7B,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC;aAC3E,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE;YACnC,CAAC;SACF,CAAC,CAAC;IACP,CAAC;;sGA7DU,2BAA2B;yHAA3B,2BAA2B;QCXxC,yEAAiB;QACb,uEAAmG;;QAAA,qGAAO;QAAA,4DAAI;QAC9G,yEAAgC;QAE5B,0EAAyE;QACrE,sEAA8I;;QAC9I,iFAAoE;QACpE,uEAAqE;QAA7B,8IAAS,YAAQ,IAAC;QAAW,wEAAE;QAAA,4DAAI;QAC/E,4DAAO;QAEP,0EAA8B;QAC1B,yHAaM;QACV,4DAAM;QACV,4DAAM;QAEN,yHAEM;QACV,4DAAM;;QA9Be,0DAAwC;QAAxC,gMAAwC;QAAC,uFAA8B;QAG9B,0DAAkB;QAAlB,+EAAkB;QACgC,0DAAyC;QAAzC,4LAAyC;QAC3H,0DAA8B;QAA9B,2FAA8B;QAKO,0DAAe;QAAf,qFAAe;QAiB/C,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;AC3BoB;AAC1B;;;;;;;;ICQ1B,wEAAmE;IAC/D,wEAAgB;IAAA,uDAAyB;IAAA,4DAAI;IAC7C,wEAA4G;IAAxC,wWAAkC,IAAI,IAAC;IAAC,iEAAM;IAAA,4DAAI;IAC1H,qEAAe;;;IAFK,0DAAyB;IAAzB,uFAAyB;;;;IAIzC,2EAAmF;IAC/E,sEAAuG;;IACvG,uEAAmF;IAA3C,gcAAgC;IAAW,uEAAE;IAAA,4DAAI;IACzF,uEAA2F;IAAnD,wWAAkC,KAAK,IAAC;IAAW,uEAAE;IAAA,4DAAI;IACrG,4DAAO;;;IAJ0C,6FAAiC;IACd,0DAAsC;IAAtC,+KAAsC;;;IAPlH,yEAAgF;IAC5E,oJAGe;IACf,8NAMc;IAClB,4DAAM;;;;IAXa,0DAAsC;IAAtC,oGAAsC;;;IAgBjE,0EAA8C;IAC1C,qEAAiC;IACrC,4DAAM;;ADjBH,MAAM,8BAA8B;IASzC,YACU,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;QARtD,oBAAe,GAAqB,EAAE,CAAC;QAEvC,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAc,IAAI,qDAAS,CAAC;YAC9B,IAAI,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACnD,CAAC,CAAC;IAIC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE;aAC/C,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;SACvC,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC;IAEN,CAAC;IAED,MAAM,CAAC,cAA8B;QACnC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACvC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,cAAc,CAAC,4BAA4B,EAAE,CAAC;aAC3F,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;aAC1C,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACP,CAAC;;4GA7DU,8BAA8B;4HAA9B,8BAA8B;QCX3C,yEAAiB;QACb,uEAA2B;QAAA,mFAAI;QAAA,4DAAI;QACnC,yEAAgC;QAC5B,0EAAqE;QACjE,sEAAuG;;QACvG,uEAAqE;QAA7B,iJAAS,YAAQ,IAAC;QAAW,uEAAE;QAAA,4DAAI;QAC/E,4DAAO;QAEP,yEAAgC;QAC5B,4HAYM;QACV,4DAAM;QAEV,4DAAM;QAEN,4HAEM;QACV,4DAAM;;QA1B0B,0DAAkB;QAAlB,+EAAkB;QAC0B,0DAAsC;QAAtC,+KAAsC;QAK1C,0DAAkB;QAAlB,wFAAkB;QAiBvD,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBd;AACQ;AACoB;AAK6B;;;;;;;;;;;;;;;;;;ICa/E,oEAA4D;;;;;;IA0CxD,2EAA6D;IACzD,2EAA2F;IACvF,2EAAyC;IACrC,6EAA+F;IAAxE,sPAA8B;IAArD,6DAA+F;IACnG,6DAAM;IACV,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACrH,6DAAM;IACV,6DAAM;;;IA3B6B,2DAA8B;IAA9B,yFAA8B;IAItD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAIxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;;;IAYlB,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAO;IACH,6EAAkG;IAA7C,sVAA4B;IAAjF,6DAAkG;IAClG,yEAA0B;IAAA,qFAAI;IAAA,6DAAI;IACtC,6DAAQ;IACZ,6DAAM;IAEN,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,2XAAkC,qRAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,8VAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,kXAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,+VAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA7BmC,2DAAmB;IAAnB,sFAAmB;IAG5B,2DAAgC;IAAhC,iGAAgC;IAOnC,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADzH1F,MAAM,+BAA+B;IAuB1C,YACU,cAA8B,EAC9B,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,gBAAkC,EAClC,mBAAwC,EACxC,QAAkB;QANlB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,aAAQ,GAAR,QAAQ,CAAU;QA5B5B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAA6B,EAAE,CAAC;QAEtC,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAqCF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QA8Bd,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA7FV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAmCD,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QAC1J,CAAC,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,qGAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;;YAEtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAQD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;iBAC5C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,qGAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAChE,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,qGAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,UAAU;cACb,aAAa;cACb,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC3D;aACI;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtF,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC;gBACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,4GAAiD,CACvG,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mCAAmC,CAAC,CAAC;oBAC3D,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBACpC,CAAC,CAAC,CACH,CAAC;aACH,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;;8GA/MU,+BAA+B;8HAA/B,+BAA+B;QCxB5C,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACrB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAA0B;QAAA,oFAAI;QAAA,6DAAI;QAClC,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,yEAAoC;QAAA,qFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,yEAAqC;QAAA,qFAAI;QAAA,6DAAI;QAE7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,4EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QAEjG,6DAAM;QAEN,iJAA4D;QAG5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,wJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA4H;QAA5F,iOAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACnB,4EAA0H;QAA1F,+NAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,iIA8BM;QAEN,+HAIM;QACV,6DAAQ;QAER,4EAAoG;QAChG,+EAA0D;QAA3B,yJAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,yJAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,8NAkCc;;;QAtIgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAI5C,2DAA4B;QAA5B,kFAA4B;QAMR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAqBrD,4DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QAgC9B,2DAA0B;QAA1B,2FAA0B;;;;;;;;;;;;;;;;;;;;;;AChGZ;;;;;;ICEnD,wEAA0D;IAAA,mFAAI;IAAA,4DAAI;;;IAClE,wEAA2D;IAAA,mFAAI;IAAA,4DAAI;;;IACnE,wEAAkE;IAAA,mFAAI;IAAA,4DAAI;;;IAG9E,wEAA2D;IAAA,mFAAI;IAAA,4DAAI;;;IACnE,wEAA4D;IAAA,mFAAI;IAAA,4DAAI;;;IACpE,wEAAmE;IAAA,mFAAI;IAAA,4DAAI;;ADDxE,MAAM,wBAAwB;IAInC,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAHxB,QAAG,GAAW,cAAc,CAAC;IAIzB,CAAC;IAEL,QAAQ;QACN,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,2BAA2B;YAChD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,4BAA4B;YACjD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC;;gGAjBU,wBAAwB;sHAAxB,wBAAwB;QCVrC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,gHAAkE;QAClE,gHAAmE;QACnE,gHAA0E;QAC9E,4DAAM;QAEN,gHAAmE;QACnE,kHAAoE;QACpE,kHAA2E;QAE3E,0EAA4B;QACxB,0EAA8B;QAC1B,wEAA6H;QAAzC,sJAAe,cAAc,IAAC;QAAW,oFAAI;QAAA,4DAAI;QACrI,wEAA6G;QAAjC,sJAAe,MAAM,IAAC;QAAW,oFAAI;QAAA,4DAAI;QACrH,yEAA+G;QAAlC,sJAAe,OAAO,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,4DAAM;QACN,2EAA4B;QACxB,uEAAqC;QACjC,sFAAgD;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;;QArB6B,0DAAmB;QAAnB,mFAAmB;QACnB,0DAAoB;QAApB,oFAAoB;QACpB,0DAA2B;QAA3B,2FAA2B;QAG9B,0DAAmB;QAAnB,mFAAmB;QACnB,0DAAoB;QAApB,oFAAoB;QACpB,0DAA2B;QAA3B,2FAA2B;QAS1C,2DAA+B;QAA/B,yFAA+B;m1FDZlC,CAAC,qFAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AEDxC,MAAM,kCAAkC;IAE7C,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;oHALU,kCAAkC;gIAAlC,kCAAkC;QCP/C,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACzB,4DAAM;QAEN,uEAAqC;QAAA,mFAAI;QAAA,4DAAI;QAE7C,yEAA4B;QACxB,yEAA4B;QACxB,wFAAuD;QAEvD,0EAAoC;QAChC,oFAA+C;QACnD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChByC;AACkD;AAC8B;AACxE;AACuC;AACuB;AACG;AACtD;AAC2E;AACpC;AACiB;AACtE;AACE;AACyD;AACd;AACH;AACA;AACwB;AACb;AACS;AACX;AACmB;AAC7D;AAC2D;;;;AAExH,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,0GAAwB,EAAE,QAAQ,EAAE;YAC9D,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,sJAAqC,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE;YACpH,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,8HAA6B,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;YAC5F,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iIAA8B,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;YAC/F,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YAC3D,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE;SAC3C;KACF;IACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,oIAA+B,EAAE;IACzE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,wIAAkC,EAAE;IACzE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;IACtD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;CACtC;AAcM,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;8GAVd;YACP,0DAAY;YACZ,mEAAqB,CAAC,MAAM,CAAC;YAC7B,wDAAW;YACX,gEAAmB;YACnB,4DAAW;YACX,0EAAwB,EAAE;YAC1B,wEAAgB;SACjB;oIAEU,YAAY,mBAXR,0GAAwB,EAAE,wIAAkC,EAAE,uGAAsB,EAAE,8HAA6B,EAAE,iIAA8B,EAAE,sJAAqC,EAAE,kHAAyB,EAAE,mIAA8B,EAAE,wHAA2B,EAAE,2GAAuB,EAAE,wGAAsB,EAAE,wGAAsB,EAAE,gIAA8B,EAAE,mHAAyB,EAAE,4HAA4B,EAAE,iHAAyB,EAAE,oIAA+B,EAAE,kIAA8B,aAE7hB,0DAAY,8DAEZ,wDAAW;QACX,gEAAmB;QACnB,4DAAW,qEAEX,wEAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDsB;AACe;AACK;;;;;;;;;;;;;ICkB1D,mEAA4D;;;;;IAgDpD,wEAA6D;IACzD,0EAAwE;IACpE,oEAAG;IAAA,uDAAkC;IAAA,4DAAI;IAC7C,4DAAM;IACN,0EAAqE;IACjE,oEAAG;IAAA,uDAAqC;IAAA,4DAAI;IAChD,4DAAM;IACN,0EAAwE;IACpE,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,yEAAoB;IAAA,wDAAuB;IAAA,4DAAI;IACnD,4DAAM;IACN,2EAA8F;IAC1F,yEAAqI;IAAA,oFAAI;IAAA,4DAAI;IAC7I,yEAA+F;IAAnD,8bAAwC;IAAW,wEAAE;IAAA,4DAAI;IACrG,yEAAyG;IAA7D,0cAAkD;IAAW,oFAAI;IAAA,4DAAI;IACrH,4DAAM;IACV,qEAAe;;;IAhBJ,0DAAkC;IAAlC,gGAAkC;IAGlC,0DAAqC;IAArC,mGAAqC;IAMpB,0DAAuB;IAAvB,8FAAuB;IAGe,0DAAgE;IAAhE,0KAAgE;;;;IAKlI,wEAA6D;IACzD,0EAAwE;IACpE,oEAAG;IAAA,uDAAkC;IAAA,4DAAI;IAC7C,4DAAM;IACN,0EAAqE;IACjE,oEAAG;IAAA,uDAAqC;IAAA,4DAAI;IAChD,4DAAM;IACN,0EAAwE;IACpE,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAuB;IAAA,4DAAI;IAClC,4DAAM;IAEN,2EAA8F;IAC1F,yEAA2H;IAAA,oFAAI;IAAA,4DAAI;IACnI,yEAA+F;IAAnD,gcAAwC;IAAW,wEAAE;IAAA,4DAAI;IACrG,yEAAyG;IAA7D,0cAAkD;IAAW,oFAAI;IAAA,4DAAI;IACrH,4DAAM;IACV,qEAAe;;;IAjBJ,0DAAkC;IAAlC,gGAAkC;IAGlC,0DAAqC;IAArC,mGAAqC;IAMrC,0DAAuB;IAAvB,8FAAuB;IAIgC,0DAAgE;IAAhE,0KAAgE;;;IA5CtI,0EAAwE;IACpE,0EAAwE;IACpE,4EAAuD;IAAhC,iPAA+B;IAAtD,4DAAuD;IAC3D,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAiB;IAAA,4DAAI;IAC5B,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAwC;;IAAA,4DAAI;IACnD,4DAAM;IACN,kJAkBe;IACf,kJAmBe;IACnB,4DAAM;;;;IA/CyB,0DAA+B;IAA/B,yFAA+B;IAGnD,0DAAiB;IAAjB,+EAAiB;IAGjB,0DAAwC;IAAxC,gKAAwC;IAEhC,0DAA4C;IAA5C,kHAA4C;IAmB5C,0DAA4C;IAA5C,kHAA4C;;;IAsB/D,0EAAoE;IAChE,0EAA6B;IACzB,wEAA+B;IAAA,mFAAI;IAAA,4DAAI;IAC3C,4DAAM;IACV,4DAAM;;;;;IAKV,0EAAqD;IACjD,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAA8B;IAAA,4DAAI;IACnE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAA2E;IAA3C,+UAAgC;IAAW,+FAAM;IAAA,4DAAI;IAErF,2EAA2D;IACvD,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAAqB;IAAA,wDAAsB;IAAA,4DAAI;IAC/C,wEAAa;IAAA,kEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,2EAA6B;IACzB,8EAA0F;IAA/D,kXAAkC,oRAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,4VAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,yWAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,6VAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IA3BmC,0DAA8B;IAA9B,gGAA8B;IAQ1C,0DAAsB;IAAtB,wFAAsB;IAKhB,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;ADrI1F,MAAM,yBAAyB;IAkBpC,YACU,cAA8B,EAC9B,mBAAwC,EACxC,kBAAsC;QAFtC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAlBhD,eAAU,GAAW,8EAAqB,CAAC;QAE3C,cAAS,GAAkB,EAAE,CAAC;QAE9B,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,IAAI;SACV,CAAC;QAqBF,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAqC,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YACpF,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,qBAAgB,GAA8B,CAAC,CAAC,KAAe,EAAE,EAAE;YACjE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA7BV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;aAC5C,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;SAChF,CAAC;IACN,CAAC;IAkBD,IAAI,iBAAiB;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC7C,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;eAC5B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;eACzD,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;eAC/D,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CACnE;YACD,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI;mBAClD,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAC5E;YACD,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;mBAC1B,CAAE,IAAI,CAAC,OAAO,CAAC,KAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;mBACtG,CAAE,IAAI,CAAC,OAAO,CAAC,KAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CACxG,CACF,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI;gBAC/B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAEtE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;gBACjC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE9E,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1I,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC;IAGD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEvE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,uFAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChI,CAAC;IAED,gBAAgB;QACd,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpL,CAAC;IAED,yBAAyB,CAAC,IAAY;QACpC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrJ,CAAC;IAED,6BAA6B;QAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxM,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChM,CAAC;;kGAxJU,yBAAyB;uHAAzB,yBAAyB;QCftC,yEAAkE;QAC9D,yEAAgD;QAC5C,iFAAkH;QAElH,4EAAqE;QAA7B,iJAAS,sBAAkB,IAAC;QAChE,uEAAqC;QAAA,kEAAO;QAAA,4DAAI;QAChD,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,4EAAyE;QAAjC,iJAAS,0BAAsB,IAAC;QACpE,uEAAqC;QAAA,0EAAc;QAAA,4DAAI;QACvD,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAS;QACb,4DAAM;QAGN,0EAAqD;QACjD,+FAAgG;QAChG,0FAA8F;QAClG,4DAAM;QAEN,yIAA4D;QAE5D,2EAA6B;QACzB,2EAAmC;QAC/B,2EAAwE;QACpE,6EAAuE;QAAtB,iJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,2EAAsG;QAAtE,mNAAgE,IAAI,IAAC;QACjG,yEAA2F;QAAA,yEAAa;QAAA,4DAAI;QAC5G,yEAA0F;QAAA,2EAAe;QAAA,4DAAI;QACjH,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,2EAAwG;QAAxE,qNAAkE,IAAI,IAAC;QACnG,yEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,yEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,yHAiDM;QAEN,wHAIM;QACV,4DAAM;QACV,4DAAM;QAEN,sNAgCc;;;QApJ2B,0DAA+B;QAA/B,+IAA+B;QAejC,2DAAgC;QAAhC,6FAAgC;QACxB,0DAA2B;QAA3B,wFAA2B;QAGvD,0DAA4B;QAA5B,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAgD;QAAhD,iKAAgD;QAChD,0DAA+C;QAA/C,gKAA+C;QAM/C,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAoBtD,2DAAqB;QAArB,2FAAqB;QAmDzC,0DAAqC;QAArC,qGAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GhC;AACe;AACK;;;;;;;;;;;;;;;;ICiB9D,oEAA4D;;;;;;IAuCxD,2EAAyD;IACrD,2EAA2F;IACvF,6EAAiF;IAA1D,yOAA4B;IAAnD,6DAAiF;IACrF,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAc;IAAA,6DAAI;IACzB,6DAAM;IACN,2EAAuE;IACnE,yEAAiJ;;;IAAA,yDAAyG;;;IAAA,6DAAI;IAClQ,6DAAM;IACN,4EAAuE;IACnE,0EAAkE;IAAA,yDAA0B;IAAA,6DAAI;IACpG,6DAAM;IACN,4EAAwE;IACpE,0EAA6D;IAAA,yDAAqB;IAAA,6DAAI;IAC1F,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAA8D;;IAAA,6DAAI;IACzE,6DAAM;IACN,4EAAsE;IAClE,0EAA8G;IAAA,yEAAE;IAAA,6DAAI;IACpH,0EAAyF;IAA7C,sYAAkC;IAAW,yEAAE;IAAA,6DAAI;IAC/F,0EAAmG;IAAvD,kZAA4C;IAAW,qFAAI;IAAA,6DAAI;IAC/G,6DAAM;IACV,6DAAM;;;;IAzByB,2DAA4B;IAA5B,uFAA4B;IAGhD,2DAAc;IAAd,6EAAc;IAGd,2DAAkH;IAAlH,8TAAkH;IAA4B,2DAAyG;IAAzG,8SAAyG;IAGvP,2DAAmC;IAAnC,gGAAmC;IAA4B,2DAA0B;IAA1B,yFAA0B;IAGzF,2DAA8B;IAA9B,2FAA8B;IAA4B,2DAAqB;IAArB,oFAAqB;IAG/E,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA8D;IAA9D,iQAA8D;IAG1B,2DAA4D;IAA5D,+JAA4D;;;IAM3G,2EAAuD;IACnD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;;;;IAKN,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAA4H;IAAjD,qVAAsC;IAAW,gGAAM;IAAA,6DAAI;IAEtI,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,kXAAkC,4QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,qVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,yWAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,sVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;AD9G1F,MAAM,sBAAsB;IAwBjC,YACU,YAA0B,EAC1B,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,mBAAwC;QAJxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QA3BlD,eAAU,GAAW,8EAAqB,CAAC;QAE3C,WAAM,GAAoB,EAAE,CAAC;QAC7B,WAAM,GAAoB,EAAE,CAAC;QAC7B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,EAAE;YACd,qBAAqB,EAAE,EAAE;YACzB,OAAO,EAAE,EAAE;SACZ;QAiCD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,UAAuB,EAAE,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qCAAgC,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAtDV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aAC/C,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;oBACjD,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAiCD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACpI,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,IAAI,CAAC,CAAC,QAAQ;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAEpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAGD,YAAY,CAAC,IAAY;QACvB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,uFAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9H,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjK,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnJ,CAAC;IAED,0BAA0B;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrL,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAClD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;cACnE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACzF,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAEO,iBAAiB;QACvB,OAAO,qCAAqC,CAAC;IAC/C,CAAC;;4FArLU,sBAAsB;qHAAtB,sBAAsB;QCjBnC,0EAAgD;QAC5C,kFAAmI;QAEnI,6EAAkE;QAA1B,+IAAS,mBAAe,IAAC;QAC7D,wEAAqC;QAAA,mEAAO;QAAA,6DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,6EAAyE;QAAjC,+IAAS,0BAAsB,IAAC;QACpE,wEAAqC;QAAA,0EAAc;QAAA,6DAAI;QACvD,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAS;QACb,6DAAM;QAEN,2EAAoF;QAChF,gGAA2F;QAC3F,wFAA6F;QAC7F,oGAAgI;QAChI,0FAA8F;QAClG,6DAAM;QAEN,uIAA4D;QAG5D,2EAAkC;QAC9B,4EAAmC;QAC/B,4EAA2F;QACvF,yEAAuB;QAC3B,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA8G;QAA9E,0MAAgE,IAAI,SAAC,WAAO,IAAC;QACzG,0EAA2F;QAAA,0EAAa;QAAA,6DAAI;QAC5G,0EAA0F;QAAA,4EAAe;QAAA,6DAAI;QACjH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAAgH;QAAhF,4MAAkE,IAAI,SAAC,WAAO,IAAC;QAC3G,0EAA6F;QAAA,0EAAa;QAAA,6DAAI;QAC9G,0EAA4F;QAAA,4EAAe;QAAA,6DAAI;QACnH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,iGAAM;QAAA,6DAAI;QAC3B,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,wHA2BM;QAEN,sHAIM;QACV,6DAAM;QAGN,qNAgCc;;;QAhIuB,2DAAkC;QAAlC,kKAAkC;QAcpC,4DAA2B;QAA3B,yFAA2B;QACnC,2DAAgC;QAAhC,8FAAgC;QACpB,2DAA2C;QAA3C,yGAA2C;QACrD,2DAA6B;QAA7B,2FAA6B;QAG3C,2DAA4B;QAA5B,kFAA4B;QAWe,2DAAgD;QAAhD,mKAAgD;QAChD,2DAA+C;QAA/C,kKAA+C;QAM/C,2DAAkD;QAAlD,qKAAkD;QAClD,2DAAiD;QAAjD,oKAAiD;QAoBzD,4DAAS;QAAT,gFAAS;QA6B1B,2DAAwB;QAAxB,yFAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFf;;;;;;;;;;;;;;;ICkB1C,mEAA4D;;;IAuDhD,uEAA8D;IAAA,mFAAI;IAAA,4DAAI;;;IACtE,uEAA8D;IAAA,mFAAI;IAAA,4DAAI;;;IAOlE,0EAA8E;IAC1E,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAiG;IAC7F,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAyE;IACrE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAyE;IACrE,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IACN,0EAA4E;IACxE,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IAfV,wEAAqC;IACjC,2IAEM;IACN,2IAEM;IACN,2IAEM;IACN,2IAEM;IACN,2IAEM;IACV,qEAAe;;;IAfwC,0DAAyB;IAAzB,wFAAyB;IAG1B,0DAA6C;IAA7C,+GAA6C;IAG9C,0DAAsB;IAAtB,qFAAsB;IAGvB,0DAAuB;IAAvB,sFAAuB;IAGvB,0DAA0B;IAA1B,yFAA0B;;;IAI9E,0EAAyE;IACrE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAmE;IAC/D,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IAIN,oEAA+B;IAAA,uDAAmB;IAAA,4DAAI;;;IAAvB,0DAAmB;IAAnB,iFAAmB;;;IAClD,uEAAyC;IAAA,mFAAI;IAAA,4DAAI;;;;;IA7CzD,0EAA6D;IACzD,0EAA2F;IACvF,4EAAgF;IAAzD,6OAA8B;IAArD,4DAAgF;IACpF,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,0EAAwE;IACpE,oEAAG;IAAA,uDAAyB;IAAA,4DAAI;IACpC,4DAAM;IACN,0EAAsE;IAClE,yHAAsE;IACtE,yHAAsE;IAC1E,4DAAM;IACN,2EAA4E;IACxE,qEAAG;IAAA,wDAA6C;;IAAA,4DAAI;IACxD,4DAAM;IACN,2EAAuE;IACnE,+IAgBe;IACf,6HAEM;IACN,6HAEM;IACN,gEAAO;IACX,4DAAM;IACN,2EAAsE;IAClE,yHAAsD;IACtD,yHAAiD;IACrD,4DAAM;IACN,2EAAqE;IACjE,qEAAG;IAAA,wDAA4C;;IAAA,4DAAI;IACvD,4DAAM;IACN,2EAAqE;IACjE,yEAAwG;IAAA,wEAAE;IAAA,4DAAI;IAClH,4DAAM;IACV,4DAAM;;;IAnDyB,0DAA8B;IAA9B,wFAA8B;IAGlD,0DAAgB;IAAhB,8EAAgB;IAGhB,0DAAyB;IAAzB,uFAAyB;IAGxB,0DAA8C;IAA9C,6GAA8C;IAC9C,0DAA8C;IAA9C,6GAA8C;IAG/C,0DAA6C;IAA7C,uKAA6C;IAGjC,0DAAoB;IAApB,mFAAoB;IAiBc,0DAAsB;IAAtB,qFAAsB;IAG3B,0DAAqB;IAArB,oFAAqB;IAM7D,0DAAyB;IAAzB,wFAAyB;IACzB,0DAAyB;IAAzB,wFAAyB;IAG1B,0DAA4C;IAA5C,sKAA4C;IAGR,0DAAsD;IAAtD,+JAAsD;;;IAIrG,0EAAyD;IACrD,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAEV,mEAA4D;;;;;IAIxD,yEAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAmB;IAAA,4DAAI;IACxD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAIN,0EAA2D;IACvD,uEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAAqB;IAAA,wDAAW;IAAA,4DAAI;IACpC,wEAAa;IAAA,kEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,2EAA6B;IACzB,8EAAuG;IAA5E,gXAAkC,2QAA0B,CAAC,iCAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAA6I;IAAvD,mVAAuC,CAAC,iCAAc;IAAC,wEAAY;IAAA,4DAAI;IAC7J,6EAA2F;IAAnD,uWAA0B;IAAlE,4DAA2F;IAC3F,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAiJ;IAAvD,oVAAuC,CAAC,iCAAc;IAAC,yEAAa;IAAA,4DAAI;IACtK,4DAAM;;;IA3BmC,0DAAmB;IAAnB,qFAAmB;IAQ/B,0DAAW;IAAX,6EAAW;IAKL,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;AD/I1F,MAAM,uBAAuB;IAwBlC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,mBAAwC;QAJxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QA3BlD,aAAQ,GAAsB,EAAE,CAAC;QACjC,WAAM,GAAsB,EAAE,CAAC;QAE/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC;QA+CF,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAgC,CAAC,CAAC,OAAiB,EAAE,EAAE;YACrE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAqC,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAiC,CAAC,CAAC,QAAkB,EAAE,EAAE;YACzE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAnEV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACrD,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACrI,CAAC;IAED,KAAK,CAAC,MAAuB;QAC3B,IAAI,MAAM,CAAC,QAAQ;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YAEzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAiCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/E,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACzE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/E,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACtF,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9G,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC3G,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,wBAAwB,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC1F,iBAAiB,CAAC;IACxB,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;aACA;YACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAChE;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;;8FAhIU,uBAAuB;qHAAvB,uBAAuB;QChBpC,yEAAgD;QAC5C,iFAAqI;QAErI,4EAAwC;QACpC,uEAAqC;QAAA,kEAAO;QAAA,4DAAI;QAChD,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACzB,4DAAS;QAET,4EAAwC;QACpC,uEAAqC;QAAA,yEAAc;QAAA,4DAAI;QACvD,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAS;QACb,4DAAM;QAEN,0EAAoF;QAChF,mFAAqE;QACrE,wFAA0F;QAC1F,oGAAkH;QAClH,0FAAgG;QACpG,4DAAM;QAEN,uIAA4D;QAC5D,4EAAoC;QAChC,2EAAmC;QAC/B,2EAA2F;QACvF,6EAAuE;QAAtB,+IAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,2EAA0J;QAA1H,sNAA4E,IAAI,iCAA4B,IAAI,SAAC,WAAO,IAAC;QACrJ,yEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,yEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,2EAAkK;QAAlI,8NAAoF,IAAI,iCAA4B,IAAI,SAAC,WAAO,IAAC;QAC7J,yEAAqG;QAAA,yEAAa;QAAA,4DAAI;QACtH,yEAAoG;QAAA,2EAAe;QAAA,4DAAI;QAC3H,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,2EAAiK;QAAjI,4NAAkF,IAAI,kCAA6B,IAAI,SAAC,WAAO,IAAC;QAC5J,yEAAoG;QAAA,yEAAa;QAAA,4DAAI;QACrH,yEAAmG;QAAA,2EAAe;QAAA,4DAAI;QAC1H,4DAAM;QACV,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,wHAqDM;QAEN,sHAIM;QACV,4DAAQ;QACR,uIAA4D;QAG5D,oNAgCc;;;QAhKuB,0DAAoC;QAApC,wKAAoC;QAclD,2DAA6B;QAA7B,0FAA6B;QACX,0DAA2B;QAA3B,wFAA2B;QACf,0DAA2B;QAA3B,wFAA2B;QACrC,0DAA6B;QAA7B,0FAA6B;QAGzD,0DAA4B;QAA5B,iFAA4B;QAIR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAYjD,2DAA0D;QAA1D,2KAA0D;QAC1D,0DAAyD;QAAzD,0KAAyD;QAYzD,2DAAyD;QAAzD,0KAAyD;QACzD,0DAAwD;QAAxD,yKAAwD;QAQ9D,0DAAW;QAAX,iFAAW;QAuD9B,0DAA0B;QAA1B,0FAA0B;QAM5C,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5HD;AACe;AACK;;;;;;;;;;;;;;;;ICiB9D,oEAA4D;;;IAwD5C,sEAAkE;;;IActE,qEAA0C;IAAA,6DAAC;IAAA,6DAAI;;;IAI/C,yEAAyE;IAAA,wDAA6C;IAAA,6DAAI;;;IAAjD,2DAA6C;IAA7C,4GAA6C;;;IACtH,qEAA+C;IAAA,wDAA4C;IAAA,6DAAI;;;IAAhD,2DAA4C;IAA5C,qHAA4C;;;;;;;IAhCnG,2EAA6D;IACzD,2EAA2F;IACvF,6EAAuF;IAAhE,+OAA8B;IAArD,6DAAuF;IAC3F,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAgB;IAAA,6DAAI;IAC3B,6DAAM;IACN,2EAAuE;IACnE,yEAA+F;IAAA,wDAAmC;IAAA,6DAAI;IAC1I,6DAAM;IACN,2EAAqE;IACjE,4EAA4E;IACxE,0EAAkB;IAAA,yDAA6B;IAAA,6DAAI;IACnD,+HAAkE;IACtE,6DAAM;IACN,iEAAO;IACX,6DAAM;IACN,4EAAuE;IACnE,0EAAkE;IAAA,yDAA0B;IAAA,6DAAI;IACpG,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAA4C;;IAAA,6DAAI;IACvD,6DAAM;IACN,4EAAuE;IACnE,sEAAG;IAAA,yDAAgE;;IAAA,6DAAI;IAC3E,6DAAM;IACN,4EAAsE;IAClE,2HAA+C;IAC/C,0EAAoE;IAAA,yDAA6C;;IAAA,6DAAI;IACzH,6DAAM;IACN,4EAAsI;IAClI,2HAA0H;IAC1H,2HAA+F;IAC/F,iEAAO;IACX,6DAAM;IACN,4EAA0G;IACtG,0EAAkH;IAAA,yEAAE;IAAA,6DAAI;IACxH,0EAA6F;IAAjD,iZAAsC;IAAW,yEAAE;IAAA,6DAAI;IACnG,0EAAuG;IAA3D,2ZAAgD;IAAW,qFAAI;IAAA,6DAAI;IACnH,6DAAM;IACV,6DAAM;;;;IAtCyB,2DAA8B;IAA9B,yFAA8B;IAGlD,2DAAgB;IAAhB,+EAAgB;IAGa,2DAA8D;IAA9D,2KAA8D;IAAC,2DAAmC;IAAnC,kGAAmC;IAI5G,2DAA6B;IAA7B,4FAA6B;IACb,2DAA8B;IAA9B,8FAA8B;IAKjE,2DAAmC;IAAnC,gGAAmC;IAA4B,2DAA0B;IAA1B,yFAA0B;IAGzF,2DAA4C;IAA5C,wKAA4C;IAG5C,2DAAgE;IAAhE,mQAAgE;IAG/D,2DAAoC;IAApC,oGAAoC;IACrC,2DAAqC;IAArC,kGAAqC;IAA4B,2DAA6C;IAA7C,wKAA6C;IAExF,2DAAqC;IAArC,kGAAqC;IAC1D,2DAAyC;IAAzC,yGAAyC;IACzC,2DAAyC;IAAzC,yGAAyC;IAIN,2DAAgE;IAAhE,iKAAgE;;;IAM/G,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;;;;IAIN,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAA8H;IAAnD,yVAAwC;IAAW,gGAAM;IAAA,6DAAI;IAExI,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,oXAAkC,8QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,uVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,2WAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,wVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;AD/H1F,MAAM,wBAAwB;IAyBnC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC;QAJxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QA5BlD,eAAU,GAAW,8EAAqB,CAAC;QAE3C,aAAQ,GAAsB,EAAE,CAAC;QACjC,WAAM,GAAsB,EAAE,CAAC;QAC/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB;QAiCD,uBAAkB,GAA4B,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC,KAAW,EAAE,GAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,QAAkB,EAAE,MAAe,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAxDV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACnD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;oBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAmCD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACtI,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,uFAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAClI,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzK,CAAC;IAED,wBAAwB,CAAC,IAAY;QACnC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvJ,CAAC;IAED,4BAA4B;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7L,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5L,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,OAAwB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACrE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/D,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACxF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC9E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAEO,iBAAiB;QACvB,OAAO,qCAAqC,CAAC;IAC/C,CAAC;;gGAzMU,wBAAwB;uHAAxB,wBAAwB;QChBrC,0EAAgD;QAC5C,kFAAqI;QAErI,6EAAoE;QAA5B,iJAAS,qBAAiB,IAAC;QAC/D,wEAAqC;QAAA,mEAAO;QAAA,6DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,6EAAyE;QAAjC,iJAAS,0BAAsB,IAAC;QACpE,wEAAqC;QAAA,0EAAc;QAAA,6DAAI;QACvD,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAS;QACb,6DAAM;QAEN,2EAAoF;QAChF,qFAAwE;QACxE,qFAAsG;QACtG,gGAAwG;QACxG,4FAAkG;QACtG,6DAAM;QAEN,yIAA4D;QAE5D,4EAAkC;QAC9B,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,iJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA8G;QAA9E,4MAAgE,IAAI,SAAC,WAAO,IAAC;QACzG,0EAA2F;QAAA,0EAAa;QAAA,6DAAI;QAC5G,0EAA0F;QAAA,4EAAe;QAAA,6DAAI;QACjH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,+EAAG;QAAA,6DAAI;QACxB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAAgH;QAAhF,8MAAkE,IAAI,SAAC,WAAO,IAAC;QAC3G,0EAA6F;QAAA,0EAAa;QAAA,6DAAI;QAC9G,0EAA4F;QAAA,4EAAe;QAAA,6DAAI;QACnH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QACN,0HAwCM;QAEN,wHAIM;QACV,6DAAM;QAEN,uNAgCc;;;QAhJuB,2DAAoC;QAApC,yKAAoC;QAcjD,4DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QACnB,2DAA2B;QAA3B,yFAA2B;QAC/B,2DAA6B;QAA7B,2FAA6B;QAG7C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAgD;QAAhD,mKAAgD;QAChD,2DAA+C;QAA/C,kKAA+C;QAe/C,4DAAkD;QAAlD,qKAAkD;QAClD,2DAAiD;QAAjD,oKAAiD;QAgBvD,4DAAW;QAAX,kFAAW;QA0C9B,2DAA0B;QAA1B,2FAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxGjB;AACoB;;;;;;;;;;;;;;;;;ICmB9D,oEAA4D;;;;;;IAyCxD,2EAA6D;IACzD,2EAA2F;IACvF,2EAAyC;IACrC,6EAA+F;IAAxE,4OAA8B;IAArD,6DAA+F;IACnG,6DAAM;IACV,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACjH,0EAA0F;IAA9C,0YAAmC;IAAW,yEAAE;IAAA,6DAAI;IAChG,0EAAoG;IAAxD,oZAA6C;IAAW,qFAAI;IAAA,6DAAI;IAChH,6DAAM;IACV,6DAAM;;;IA7B6B,2DAA8B;IAA9B,yFAA8B;IAItD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAMxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;;IAGxD,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAA2H;IAAhD,mVAAqC;IAAW,gGAAM;IAAA,6DAAI;IAErI,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,iXAAkC,2QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,oVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,wWAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,qVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADrH1F,MAAM,qBAAqB;IAuBhC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC;QAJxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QA1BlD,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAc,EAAE,CAAC;QAEvB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QA+DF,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA7FV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACnI,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,iBAAiB;cACjB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IA0CD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAGD,WAAW,CAAC,IAAY;QACtB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,uFAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/H,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChK,CAAC;IAED,qBAAqB,CAAC,IAAY;QAChC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpJ,CAAC;IAED,yBAAyB;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,gGAAqC,CAAC,CAAC;YACnF,OAAO;SACR;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpL,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aACzD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBAC/E,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB;QACvB,OAAO,qCAAqC,CAAC;IAC/C,CAAC;;0FAlNU,qBAAqB;oHAArB,qBAAqB;QCnBlC,0EAAgD;QAC5C,kFAAiH;QACjH,6EAAiE;QAAzB,8IAAS,kBAAc,IAAC;QAC5D,wEAAqC;QAAA,mEAAO;QAAA,6DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,6EAAyE;QAAjC,8IAAS,0BAAsB,IAAC;QACpE,wEAAqC;QAAA,0EAAc;QAAA,6DAAI;QACvD,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAS;QACb,6DAAM;QAEN,2EAAoF;QAChF,oFAAqE;QACrE,qFAAqF;QACrF,qFAAqF;QACrF,uFAA2F;QAC3F,wFAA6F;QAEjG,6DAAM;QAEN,sIAA4D;QAE5D,6EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,8IAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA4H;QAA5F,uNAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACnB,4EAA0H;QAA1F,qNAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,uHAgCM;QAEN,qHAIM;QACV,6DAAQ;QAER,sIAA4D;QAE5D,oNAgCc;;;QAzIuB,2DAA8B;QAA9B,0IAA8B;QAa5C,4DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAI5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAqBrD,4DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QAkC9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;ACtGgB;;;;;;ICEnD,wEAA6D;IAAA,mFAAI;IAAA,4DAAI;;;IACrE,wEAA2D;IAAA,mFAAI;IAAA,4DAAI;;;IACnE,wEAA0D;IAAA,mFAAI;IAAA,4DAAI;;;IAClE,wEAA8D;IAAA,mFAAI;IAAA,4DAAI;;;IACtE,wEAA4D;IAAA,mFAAI;IAAA,4DAAI;;ADErE,MAAM,gBAAgB;IAK3B,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAHxB,QAAG,GAAW,SAAS,CAAC;IAIpB,CAAC;IAEL,QAAQ;QACN,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,mBAAmB;YACxC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,kBAAkB;YACvC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,sBAAsB;YAC3C,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,oBAAoB;YACzC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC;;gFAtBU,gBAAgB;8GAAhB,gBAAgB;QCV7B,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,6EAAG;QAAA,4DAAI;QACpB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,wGAAqE;QACrE,wGAAmE;QACnE,wGAAkE;QAClE,wGAAsE;QACtE,0GAAoE;QACxE,4DAAM;QAEN,wEAAqC;QAAA,8EAAG;QAAA,4DAAI;QAE5C,0EAA4B;QACxB,0EAA8B;QAC1B,wEAAmH;QAApC,8IAAe,SAAS,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC3H,wEAA+G;QAAlC,8IAAe,OAAO,IAAC;QAAW,oFAAI;QAAA,4DAAI;QACvH,yEAA6G;QAAjC,8IAAe,MAAM,IAAC;QAAW,oFAAI;QAAA,4DAAI;QACrH,yEAAqH;QAArC,8IAAe,UAAU,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC7H,yEAAiH;QAAnC,8IAAe,QAAQ,IAAC;QAAW,oFAAI;QAAA,4DAAI;QAC7H,4DAAM;QACN,2EAA4B;QACxB,2EAAgE;QAC5D,sFAAgD;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEV,4DAAM;;;QAxB6B,0DAAsB;QAAtB,sFAAsB;QACtB,0DAAoB;QAApB,oFAAoB;QACpB,0DAAmB;QAAnB,mFAAmB;QACnB,0DAAuB;QAAvB,uFAAuB;QACvB,0DAAqB;QAArB,qFAAqB;QAcZ,2DAA+B;QAA/B,yFAA+B;whGDd7D,CAAC,oFAA8B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEPC;AACmB;AACZ;AACF;AACmB;AAChB;AAC+C;AACN;AACH;AACY;AACN;AACtC;;;;AAE7D,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gFAAgB,EAAE,QAAQ,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,+GAAwB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE;YAC7F,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,yGAAsB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;YACvF,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,sGAAqB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;YACpF,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,kHAAyB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE;YAChG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,4GAAuB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE;YAC1F,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;YACtD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;SACtC;KACF;IACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;CAC/B;AAcM,MAAM,WAAW;;sEAAX,WAAW;wGAAX,WAAW;4GAVb;YACP,yDAAY;YACZ,uDAAW;YACX,+DAAmB;YACnB,0EAAwB,EAAE;YAC1B,4DAAW;YACX,mEAAqB,CAAC,MAAM,CAAC;YAC7B,wEAAgB;SACjB;mIAEU,WAAW,mBAXP,gFAAgB,EAAE,+GAAwB,EAAE,yGAAsB,EAAE,sGAAqB,EAAE,kHAAyB,EAAE,4GAAuB,aAE1J,yDAAY;QACZ,uDAAW;QACX,+DAAmB,qEAEnB,4DAAW,8DAEX,wEAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;IC4BZ,0EAA0K;IAAxE,mOAAwC;IAAgC,4DAAM;;;;IAAtI,6KAAuD;;;IALrG,yEAAwE;IACpE,yEAAqC;IACjC,2EAAkH;IAAhD,sLAAS,kBAAe,IAAC;IAA3F,4DAAkH;IAClH,oEAAG;IAAA,uDAA0B;;IAAA,4DAAI;IACrC,4DAAM;IACN,6HAAgL;IACpL,4DAAM;;;;IAJsC,0DAA6B;IAA7B,yFAA6B;IAC9D,0DAA0B;IAA1B,6IAA0B;IAE2H,0DAAY;IAAZ,iFAAY;;ACvDzK,MAAM,0BAA0B;IAarC;QAZS,aAAQ,GAAY,KAAK,CAAC;QAC1B,mBAAc,GAAmB,EAAE,CAAC;QAC7C,SAAI,GAAuB;YACzB,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;YAC7B,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;YAC7B,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;YAC7B,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;YAC7B,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;YAC7B,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;YAC7B,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;SAC9B,CAAC;IAEa,CAAC;IAEhB,QAAQ;QACN,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;YAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAC/C,CAAC;;YAEF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,sBAAsB,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,SAAS;QACd,IAAI,MAAM,GAAoB,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAC7D,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;;oGAvDU,0BAA0B;wHAA1B,0BAA0B;QDXvC,yEAAgC;QAC5B,yEAA4C;QACxC,yEAAqC;QACjC,2EAA6F;QAA5C,iJAAS,eAAW,IAAC;QAAtE,4DAA6F;QACjG,4DAAM;QACN,yEAAqC;QACjC,2EAAkH;QAArD,iJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACN,yEAAqC;QACjC,2EAAkH;QAArD,iJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACN,yEAAqC;QACjC,2EAAkH;QAArD,iJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACN,0EAAqC;QACjC,4EAAkH;QAArD,kJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACN,0EAAqC;QACjC,4EAAkH;QAArD,kJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACN,0EAAqC;QACjC,4EAAkH;QAArD,kJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACN,0EAAqC;QACjC,4EAAkH;QAArD,kJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACN,0EAAqC;QACjC,4EAAkH;QAArD,kJAAS,sBAAkB,CAAC,CAAC,IAAC;QAA3F,4DAAkH;QACtH,4DAAM;QACV,4DAAM;QAEN,0EAA4C;QACxC,0EAAqC;QACjC,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,0FAAU;QAAA,4DAAI;QAC/B,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,2FAAW;QAAA,4DAAI;QAChC,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,4FAAY;QAAA,4DAAI;QACjC,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,2FAAW;QAAA,4DAAI;QAChC,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,0FAAU;QAAA,4DAAI;QAC/B,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,0FAAU;QAAA,4DAAI;QAC/B,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,0FAAU;QAAA,4DAAI;QAC/B,4DAAM;QACN,0EAAqC;QACjC,wEAAa;QAAA,0FAAU;QAAA,4DAAI;QAC/B,4DAAM;QACV,4DAAM;QAEN,wHAMM;QACV,4DAAM;;QAjE6B,0DAAyB;QAAzB,sFAAyB;QAGzB,0DAAqC;QAArC,kGAAqC;QAGrC,0DAAqC;QAArC,kGAAqC;QAGrC,0DAAqC;QAArC,kGAAqC;QAGrC,0DAAqC;QAArC,kGAAqC;QAGrC,0DAAqC;QAArC,kGAAqC;QAGrC,0DAAqC;QAArC,kGAAqC;QAGrC,0DAAqC;QAArC,kGAAqC;QAGrC,0DAAqC;QAArC,kGAAqC;QAkCL,2DAAO;QAAP,6EAAO;;ACQ1E,MAAM,gBAAgB;IAKpB,YAAY,OAAe,EAAE,IAAY;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,YAA0B;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,QAAQ;YACT,CAAC,CAAC,QAAQ;gBACV,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC7D,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;;YACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEM,mBAAmB;QACxB,IAAI,KAAK,GAAoB,EAAE,CAAC;QAChC,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACzC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK;gBAClD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACvE,GAAG,GAAG,EAAE,CAAC;YACX,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;gBAChC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;oBAC5D,eAAe,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;iBACzD,CAAC,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC;gBACb,GAAG,GAAG,IAAI,CAAC;aACZ;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,gBAAgB;IAIpB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;;;AC9IuE;AAC3B;AAEH;;;;;;;;;;ICJ1C,yEAAwD;IAAlB,2TAAiB;IACnD,yEAAmE;IAAnC,+JAAS,wBAAwB,IAAC;IAC9D,yEAA+C;IAC3C,uEAA0E;IAAA,+DAAI;IAAA,4DAAI;IAClF,yEAAqC;IACjC,uEAAoE;IAAA,uHAAU;IAAA,4DAAI;IAClF,uEAAoH;IAAA,iVAAgD;IAAA,4DAAI;IAC5K,4DAAM;IACV,4DAAM;IAEN,0EAA2J;;IAE3J,0EAAmG;IAC/F,8EAA8D;IAA5B,+TAAiB;IAAW,yEAAG;IAAA,4DAAS;IAC1E,8EAAiG;IAA7B,gUAAkB;IAAW,yEAAG;IAAA,4DAAS;IACjH,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAP2C,2DAA0C;IAA1C,wMAA0C;IAAC,oFAAoB;;ADGzG,MAAM,8BAA8B;IAOzC,YACU,cAA8B,EAC9B,aAA4B,EAC5B,KAAqB;QAFrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAgB;QARrB,WAAM,GAAsB,IAAI,uDAAY,EAAO,CAAC;QAE9D,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAgB,IAAI,uDAAW,CAAC,IAAI,CAAC,CAAC;IAMtC,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;aACxB,CAAC;iBACC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;;4GAvCU,8BAA8B;4HAA9B,8BAA8B;QCb3C,2HAiBM;;QAjBiB,6EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEJ;AAC0B;AACI;;;;;;;;;;ICJ9D,mEAA4D;;;IAgDpD,wEAA4D;IACxD,0EAA0E;IACtE,oEAAG;IAAA,uDAAqC;IAAA,4DAAI;IAChD,4DAAM;IACN,yEAAsE;IAClE,oEAAG;IAAA,uDAAwC;IAAA,4DAAI;IACnD,4DAAM;IACN,0EAA0E;IACtE,wEAA8B;IAAA,mFAAI;IAAA,4DAAI;IAC1C,4DAAM;IACN,2EAAwE;IACpE,yEAAoB;IAAA,wDAAyB;IAAA,4DAAI;IACrD,4DAAM;IACV,qEAAe;;;IAXJ,0DAAqC;IAArC,mGAAqC;IAGrC,0DAAwC;IAAxC,sGAAwC;IAMvB,0DAAyB;IAAzB,gGAAyB;;;IAGrD,wEAA4D;IACxD,0EAA0E;IACtE,oEAAG;IAAA,uDAAqC;IAAA,4DAAI;IAChD,4DAAM;IACN,yEAAsE;IAClE,oEAAG;IAAA,uDAAwC;IAAA,4DAAI;IACnD,4DAAM;IACN,0EAA0E;IACtE,wEAAgC;IAAA,mFAAI;IAAA,4DAAI;IAC5C,4DAAM;IACN,2EAAwE;IACpE,yEAAsB;IAAA,wDAAyB;IAAA,4DAAI;IACvD,4DAAM;IACV,qEAAe;;;IAXJ,0DAAqC;IAArC,mGAAqC;IAGrC,0DAAwC;IAAxC,sGAAwC;IAMrB,0DAAyB;IAAzB,gGAAyB;;;;IAnC3D,0EAA8E;IAC1E,yEAAyD;IACrD,4EAA0D;IAAnC,8PAAkC;IAAzD,4DAA0D;IAC9D,4DAAM;IACN,yEAAsE;IAClE,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC/B,4DAAM;IACN,yEAAyE;IACrE,oEAAG;IAAA,uDAA2C;;IAAA,4DAAI;IACtD,4DAAM;IACN,yJAae;IACf,yJAae;IAEf,2EAA2E;IACvE,yEAA0F;IAArD,8ZAA0C;IAAW,wEAAE;IAAA,4DAAI;IACpG,4DAAM;IACV,4DAAM;;;;IAxCyB,0DAAkC;IAAlC,4FAAkC;IAGtD,0DAAoB;IAApB,kFAAoB;IAGpB,0DAA2C;IAA3C,mKAA2C;IAEnC,0DAA2C;IAA3C,iHAA2C;IAc3C,0DAA2C;IAA3C,iHAA2C;;;IAoB9D,0EAAsE;IAClE,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;;;;IAGxD,0EAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAiC;IAAA,4DAAI;IACtE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAA+C;IAAA,mFAAI;IAAA,4DAAI;IACvD,yEAAuI;IAAzC,qVAA8B;IAAW,oFAAI;IAAA,4DAAI;IAE/I,2EAA6B;IACzB,8EAA0F;IAA/D,yXAAkC,2RAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,mWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,gXAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,oWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IAtBmC,0DAAiC;IAAjC,mGAAiC;IAKjC,0DAAwD;IAAxD,oLAAwD;IAG9D,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;ADrG1F,MAAM,gCAAgC;IAc3C,YACU,KAAqB,EACrB,mBAAwC,EACxC,kBAAsC,EACtC,cAA8B;QAH9B,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QAd/B,iBAAY,GAAsB,EAAE,CAAC;QACrC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QAE7C,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB,CAAC;IAOE,CAAC;IAEL,QAAQ;;QACN,UAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,eAAuB;QACpC,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,CAAC;YACxF,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAC7E,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;aACtF,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,kBAAkB;QAChB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,qGAA0C,CAAC,CAAC;YACxF,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAC7E,8CAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;aAC/I,IAAI,CAAC,8DAAc,EAAE,EAAE,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,qBAAqB;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAE/B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI;gBAC9B,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE1G,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7G;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI;gBAChC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE1F,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7F;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEhF,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACnF,CAAC;;gHAxFU,gCAAgC;8HAAhC,gCAAgC;QCf7C,8IAA4D;QAE5D,yEAAkC;QAC9B,yEAAmC;QAC/B,yEAAyD;QACrD,2EAAuE;QAAtB,uJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,yEAAsE;QAClE,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAsG;QAAtE,yNAAgE,IAAI,IAAC;QACjG,uEAA2F;QAAA,yEAAa;QAAA,4DAAI;QAC5G,wEAA0F;QAAA,2EAAe;QAAA,4DAAI;QACjH,4DAAM;QACV,4DAAM;QACN,0EAAyE;QACrE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,0EAAwG;QAAxE,4NAAkE,IAAI,IAAC;QACnG,wEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,wEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,2EAA0E;QACtE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAsE;QAClE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAA0E;QACtE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAA2E;QACvE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,gIA0CM;QAEN,+HAIM;QACV,4DAAM;QAEN,gJAA4D;QAE5D,6NA2Bc;;;QAtHC,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAgD;QAAhD,gKAAgD;QAChD,0DAA+C;QAA/C,gKAA+C;QAM/C,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAoBnD,2DAAwB;QAAxB,8FAAwB;QA4C/C,0DAAuC;QAAvC,uGAAuC;QAOzD,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFmB;;;;;;;;;;ICF9D,mEAA4D;;;IAiDhD,wEAA+E;IAAA,uEAAE;IAAA,4DAAI;;;IACrF,wEAA6E;IAAA,uEAAE;IAAA,4DAAI;;;;;;IAf3F,0EAA8E;IAC1E,yEAAyD;IACrD,4EAA0D;IAAnC,2PAAkC;IAAzD,4DAA0D;IAC9D,4DAAM;IACN,yEAAsE;IAClE,oEAAG;IAAA,uDAA0B;IAAA,4DAAI;IACrC,4DAAM;IACN,yEAAyE;IACrE,oEAAG;IAAA,uDAAsD;;IAAA,4DAAI;IACjE,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAAiC;IAAA,4DAAI;IAC5C,4DAAM;IACN,2EAAyE;IACrE,+HAAqF;IACrF,+HAAmF;IACvF,4DAAM;IACN,2EAAyE;IACrE,yEAAuH;IAAA,wDAAiC;;IAAA,4DAAI;IAChK,4DAAM;IACN,2EAA2E;IACvE,yEAAmH;IAAA,qFAAK;IAAA,4DAAI;IAC5H,yEAA6F;IAAxD,8ZAA6C;IAAW,oFAAI;IAAA,4DAAI;IACrG,yEAA6F;IAAxD,8ZAA6C;IAAW,oFAAI;IAAA,4DAAI;IACzG,4DAAM;IACV,4DAAM;;;;IAvByB,0DAAkC;IAAlC,4FAAkC;IAGtD,0DAA0B;IAA1B,wFAA0B;IAG1B,0DAAsD;IAAtD,8KAAsD;IAGtD,0DAAiC;IAAjC,+FAAiC;IAGb,0DAA4C;IAA5C,kHAA4C;IAC9C,0DAA4C;IAA5C,kHAA4C;IAG9D,0DAAmH;IAAnH,+OAAmH;IAAC,0DAAiC;IAAjC,yJAAiC;IAGxH,0DAAwE;IAAxE,yKAAwE;;;IAMhH,0EAAsE;IAClE,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;;;;IAGxD,0EAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAiC;IAAA,4DAAI;IACtE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAA+C;IAAA,mFAAI;IAAA,4DAAI;IACvD,yEAAoI;IAAtC,+UAA2B;IAAW,oFAAI;IAAA,4DAAI;IAE5I,2EAA6B;IACzB,8EAA0F;IAA/D,sXAAkC,wRAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,gWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,6WAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,iWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IAtBmC,0DAAiC;IAAjC,mGAAiC;IAKjC,0DAAwD;IAAxD,oLAAwD;IAG9D,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;ADlF1F,MAAM,6BAA6B;IAcxC,YACU,KAAqB,EACrB,mBAAwC,EACxC,YAA0B,EAC1B,kBAAsC;QAHtC,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAdvC,iBAAY,GAAsB,EAAE,CAAC;QACrC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QAE7C,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB,CAAC;IAOE,CAAC;IAEL,QAAQ;;QACN,UAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE;YACnB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;IACtK,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE;YACnB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,eAAe;QACb,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE;YACnB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,+FAAoC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9N,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,qBAAqB;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAE/B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI;gBAC9B,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE1G,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7G;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI;gBAChC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAEtI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACzI;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEhF,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACnF,CAAC;;0GA3FU,6BAA6B;2HAA7B,6BAA6B;QCd1C,2IAA4D;QAE5D,yEAAkC;QAC9B,yEAAmC;QAC/B,yEAAyD;QACrD,2EAAuE;QAAtB,oJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,yEAAsE;QAClE,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAsG;QAAtE,sNAAgE,IAAI,IAAC;QACjG,uEAA2F;QAAA,yEAAa;QAAA,4DAAI;QAC5G,wEAA0F;QAAA,2EAAe;QAAA,4DAAI;QACjH,4DAAM;QACV,4DAAM;QACN,0EAAyE;QACrE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,0EAAwG;QAAxE,yNAAkE,IAAI,IAAC;QACnG,wEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,wEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,2EAA0E;QACtE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAA2E;QACvE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,8HAyBM;QAEN,4HAIM;QACV,4DAAM;QAEN,6IAA4D;QAE5D,0NA2Bc;;;QAlGC,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAgD;QAAhD,gKAAgD;QAChD,0DAA+C;QAA/C,gKAA+C;QAM/C,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAiBnD,2DAAwB;QAAxB,8FAAwB;QA2B/C,0DAAuC;QAAvC,uGAAuC;QAOzD,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChEK;AACK;AACS;;;;;;;;;;;;;;;;;;;;;;ICkBlD,qEAA4B;IAAA,wDAAsB;IAAA,6DAAI;;;IAA1B,2DAAsB;IAAtB,yFAAsB;;;IAG9C,sEAEM;;;IAJV,yEAAoD;IAChD,wEAA2G;;IAC3G,yIAEM;IACV,sEAAe;;;IAJ8B,2DAAsC;IAAtC,iLAAsC;IACzC,2DAAyC;IAAzC,oHAAyC;;;IAQnF,qEAA4B;IAAA,oEAAQ;IAAA,6DAAI;;;IAGpC,sEAEM;;;IAJV,yEAAoD;IAChD,wEAAoH;;IACpH,yIAEM;IACV,sEAAe;;;IAJ8B,2DAA+C;IAA/C,kOAA+C;IAClD,2DAAyC;IAAzC,oHAAyC;;;IAQnF,qEAA4B;IAAA,wDAA+B;IAAA,6DAAI;;;IAAnC,2DAA+B;IAA/B,kGAA+B;;;IAK/C,8EAA+D;IAAA,wDAAiB;IAAA,6DAAS;;;IAAlD,qFAAuB;IAAC,2DAAiB;IAAjB,iFAAiB;;;IAIpF,yEAA4C;IAAA,sGAAO;IAAA,6DAAI;;;IAD3D,2EAA6E;IACzE,2IAAuD;IAC3D,6DAAM;;;IADE,2DAA4B;IAA5B,iGAA4B;;;IARxC,yEAAkD;IAC9C,2EAAyB;IACrB,8EAAwD;IACpD,8EAAmD;IAAA,0FAAK;IAAA,6DAAS;IACjE,+IAAyF;IAC7F,6DAAS;IACb,6DAAM;IACN,yIAEM;IACV,sEAAe;;;IAPK,2DAAc;IAAd,0EAAc;IACK,2DAAU;IAAV,oFAAU;IAGP,2DAAqC;IAArC,gHAAqC;;;IAoB/E,yEAAuC;IACnC,yEAA8B;IAAA,wDAAyB;IAAA,6DAAI;IAC3D,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,sEAAe;;;IAFmB,2DAAyB;IAAzB,6FAAyB;IACpD,2DAAyB;IAAzB,6FAAyB;;;IAMxB,yEAAiD;IAAA,sGAAO;IAAA,6DAAI;;;IADhE,2EAAuF;IACnF,2IAA4D;IAChE,6DAAM;;;IADE,2DAAiC;IAAjC,sGAAiC;;;IAGrC,yEAAiD;IAAA,sGAAO;IAAA,6DAAI;;;IADhE,2EAA8G;IAC1G,2IAA4D;IAChE,6DAAM;;;IADE,2DAAiC;IAAjC,sGAAiC;;;IAP7C,yEAAsE;IAClE,wEAA+G;;IAC/G,wEAA2H;;IAC3H,yIAEM;IACN,yIAEM;IACV,sEAAe;;;IAR8B,2DAAuC;IAAvC,kLAAuC;IAClC,2DAA8C;IAA9C,qKAA8C;IACtD,2DAA+C;IAA/C,4HAA+C;IAG/C,2DAAsE;IAAtE,2JAAsE;;;IAQhH,qEAA4B;IAAA,wDAAgC;;IAAA,6DAAI;;;IAApC,2DAAgC;IAAhC,0JAAgC;;;IAWpD,yEAA4C;IAAA,0FAAK;IAAA,6DAAI;;;IADzD,2EAA6E;IACzE,2IAAqD;IACzD,6DAAM;;;IADE,2DAA4B;IAA5B,iGAA4B;;;IAVxC,yEAAkD;IAC9C,6EAAiE;IAC7D,wEAAuD;IACvD,yEAAa;IAAA,kEAAC;IAAA,6DAAI;IACtB,6DAAQ;IACR,6EAAkC;IAC9B,wEAAuD;IACvD,yEAAa;IAAA,kEAAC;IAAA,6DAAI;IACtB,6DAAQ;IACR,yIAEM;IACV,sEAAe;;;IAH2B,2DAAqC;IAArC,kHAAqC;;;IAQ/E,2EAAyD;IACrD,yEAA8B;IAAA,wDAAmB;IAAA,6DAAI;IACrD,yEAA2C;IAAA,wDAA8B;IAAA,6DAAI;IACjF,6DAAM;;;IAF4B,2DAAmB;IAAnB,uFAAmB;IACN,2DAA8B;IAA9B,kGAA8B;;;IAcjE,yEAA2C;IAAA,sGAAO;IAAA,6DAAI;;;IAD1D,2EAA2E;IACvE,4IAAsD;IAC1D,6DAAM;;;IADE,2DAA2B;IAA3B,gGAA2B;;;IAZ3C,yEAAiD;IAC7C,2EAAgC;IAC5B,2EAAgD;IAC5C,wEAAqH;;IACrH,6EAAkC;IAC9B,wEAAyC;IACzC,yEAAa;IAAA,oFAAI;IAAA,6DAAI;IACzB,6DAAQ;IACZ,6DAAM;IAEN,wEAAkH;;IAClH,2IAEM;IACV,6DAAM;IACV,sEAAe;;;IAZ4E,2DAAqC;IAArC,sKAAqC;IAO7C,2DAAsC;IAAtC,kLAAsC;IAC3E,2DAAmC;IAAnC,gHAAmC;;;;IASjF,yEAAuC;IACnC,yEAA8B;IAAA,wDAAsD;;IAAA,6DAAI;IACxF,yEAAa;IAAA,wDAA2C;;IAAA,6DAAI;IAChE,sEAAe;;;IAFmB,2DAAsD;IAAtD,6LAAsD;IACvE,2DAA2C;IAA3C,0OAA2C;;;IASpD,yEAA8C;IAAA,sGAAO;IAAA,6DAAI;;;IAD7D,2EAAiF;IAC7E,2IAAyD;IAC7D,6DAAM;;;IADE,2DAA8B;IAA9B,mGAA8B;;;;;IAP1C,yEAAoD;IAChD,6EAAyJ;IAAxE,mTAAS,WAAa,IAAC;;IAAxG,6DAAyJ;IACzJ,wEAAiK;;IACjK,qFAAyF;IACzF,wFAAwE;IAExE,yIAEM;IACV,sEAAe;;;;IAR8F,2DAAsC;IAAtC,iLAAsC;IAAlH,gFAAwB;IACiD,2DAAwC;IAAxC,6LAAwC;IAA5G,iFAAe;IAEhB,2DAAc;IAAd,sEAAc;IAET,2DAAyC;IAAzC,sHAAyC;;;IAS/E,yEAAwC;IAAA,kEAAC;IAAA,6DAAI;;;IAC7C,yEAAiD;IAAA,wEAAE;IAAA,6DAAI;;;IAF3D,yEAAuC;IACnC,qIAA6C;IAC7C,qIAAuD;IAC3D,sEAAe;;;IAFP,2DAAwB;IAAxB,6FAAwB;IACxB,2DAAiC;IAAjC,sGAAiC;;;IAajC,yEAA6C;IAAA,sGAAO;IAAA,6DAAI;;;IAD5D,2EAA+E;IAC3E,2IAAwD;IAC5D,6DAAM;;;IADE,2DAA6B;IAA7B,kGAA6B;;;IAXzC,yEAAmD;IAC/C,6EAAiE;IAC7D,wEAA6D;IAC7D,yEAAa;IAAA,kEAAC;IAAA,6DAAI;IACtB,6DAAQ;IACR,6EAAkC;IAC9B,wEAA8D;IAC9D,yEAAa;IAAA,wEAAE;IAAA,6DAAI;IACvB,6DAAQ;IAER,yIAEM;IACV,sEAAe;;;IAXa,2DAAc;IAAd,wEAAc;IAId,2DAAe;IAAf,yEAAe;IAID,2DAAuC;IAAvC,oHAAuC;;;IAUzE,2EAAgG;IAC5F,2EAAsD;IAClD,qEAAG;IAAA,wDAAoB;IAAA,6DAAI;IAC/B,6DAAM;IACV,6DAAM;;;IAFK,2DAAoB;IAApB,oFAAoB;;;IAHnC,2EAA8D;IAC1D,+IAIM;IACN,yEAA+C;IAAA,wEAAY;IAAA,6DAAI;IAC/D,yEAAwB;IAAA,8KAAmB;IAAA,6DAAI;IACnD,6DAAM;;;IAPuE,2DAAqB;IAArB,gGAAqB;;;IASlG,yEAAoD;IAAA,8EAAG;IAAA,6DAAI;;;IAX/D,yEAAuC;IACnC,yIAQM;IAEN,qIAA2D;IAC/D,sEAAe;;;IAXc,2DAAmC;IAAnC,wGAAmC;IAUxD,2DAAoC;IAApC,yGAAoC;;;;IAIxC,2EAA4F;IACxF,yEAAoC;IAAA,8EAAG;IAAA,6DAAI;IAC3C,yEAAsG;IAAxD,ucAAS,0CAA6C,IAAC;IAAC,sEAAU;IAAA,6DAAI;IACpH,yEAAwE;IAAA,wEAAY;IAAA,6DAAI;IACxF,yEAAkC;IAAA,8KAAmB;IAAA,6DAAI;IAC7D,6DAAM;;;IAGF,2EAAqG;IACjG,2EAAsD;IAClD,qEAAG;IAAA,wDAAoB;IAAA,6DAAI;IAC/B,6DAAM;IACV,6DAAM;;;IAFK,2DAAoB;IAApB,oFAAoB;;;;IAHnC,2EAAmE;IAC/D,+IAIM;IACN,yEAAiG;IAAxD,ucAAS,0CAA6C,IAAC;IAAC,sEAAU;IAAA,6DAAI;IAC/G,yEAAwE;IAAA,wEAAY;IAAA,6DAAI;IACxF,yEAAkC;IAAA,8KAAmB;IAAA,6DAAI;IAC7D,6DAAM;;;IARuE,2DAA0B;IAA1B,qGAA0B;;;IAT3G,yEAAwC;IACpC,yIAKM;IAEN,yIASM;IACV,sEAAe;;;IAjBsC,2DAAyC;IAAzC,8GAAyC;IAOjE,2DAAwC;IAAxC,6GAAwC;;;IAkBjE,yEAAgD;IAAA,8EAAG;IAAA,6DAAI;;;IAwCvC,qEAAgC;IAAA,6DAAC;IAAA,6DAAI;;;IAd7C,2EAAqF;IACjF,2EAA8B;IAC1B,qEAAG;IAAA,wDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAuB;IAAA,6DAAI;IAClC,6DAAM;IACN,2EAA8B;IAC1B,qEAAG;IAAA,wDAAqB;IAAA,6DAAI;IAChC,6DAAM;IACN,4EAA8B;IAC1B,sEAAG;IAAA,yDAAiB;IAAA,6DAAI;IAC5B,6DAAM;IACN,4EAAqC;IACjC,oJAAqC;IACrC,sEAAG;IAAA,yDAAwB;IAAA,6DAAI;IACnC,6DAAM;IACV,6DAAM;;;IAfK,2DAAmB;IAAnB,oFAAmB;IAGnB,2DAAuB;IAAvB,uFAAuB;IAGvB,2DAAqB;IAArB,sFAAqB;IAGrB,2DAAiB;IAAjB,iFAAiB;IAGhB,2DAA0B;IAA1B,2FAA0B;IAC3B,2DAAwB;IAAxB,wFAAwB;;;IAxC3C,2EAAkE;IAC9D,2EAAqD;IACjD,yEAAa;IAAA,0FAAK;IAAA,6DAAI;IACtB,yEAAoC;IAAA,wDAA2B;IAAA,6DAAI;IACnE,yEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,2EAA8B;IAC1B,2EAAoC;IAChC,4EAA8B;IAC1B,0EAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,0EAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,0EAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,0EAAa;IAAA,yEAAE;IAAA,6DAAI;IACvB,6DAAM;IACN,4EAAqC;IACjC,0EAA2B;IAAA,yEAAE;IAAA,6DAAI;IACrC,6DAAM;IACV,6DAAM;IACN,kJAiBM;IACV,6DAAM;IACV,6DAAM;;;IAzCsC,2DAA2B;IAA3B,+FAA2B;IAsBhB,4DAAmB;IAAnB,4FAAmB;;;IA3B9E,yEAAuC;IACnC,qIAAuD;IACvD,0IA4CM;IACV,sEAAe;;;IA9CP,2DAAgC;IAAhC,qGAAgC;IACH,2DAA+B;IAA/B,oGAA+B;;;;IAiDhE,2EAAwE;IACpE,2EAAsE;IAClE,yEAAoC;IAAA,sJAAe;IAAA,6DAAI;IACvD,yEAA+C;IAAA,wEAAY;IAAA,6DAAI;IAC/D,yEAAiD;IAAA,sMAAuB;IAAA,6DAAI;IAChF,6DAAM;IAEN,8EAAgH;IAAtD,yVAAwB;IAA8B,oFAAI;IAAA,6DAAS;IACjI,6DAAM;;;;IAkCE,2EAA0F;IACtF,2EAA8B;IAC1B,yEAAa;IAAA,wDAAmB;IAAA,6DAAI;IACxC,6DAAM;IACN,2EAA8B;IAC1B,yEAAa;IAAA,wDAAuB;IAAA,6DAAI;IAC5C,6DAAM;IACN,2EAA8B;IAC1B,yEAAa;IAAA,wDAAqB;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAA8B;IAC1B,0EAAa;IAAA,yDAAiB;IAAA,6DAAI;IACtC,6DAAM;IACN,4EAAqC;IACjC,yEAAmH;;IACnH,0EAAsH;IAAlC,+cAAiC;IAAC,yEAAE;IAAA,6DAAI;IAChI,6DAAM;IACV,6DAAM;;;IAfe,2DAAmB;IAAnB,oFAAmB;IAGnB,2DAAuB;IAAvB,uFAAuB;IAGvB,2DAAqB;IAArB,sFAAqB;IAGrB,2DAAiB;IAAjB,iFAAiB;IAG4C,2DAAwC;IAAxC,yLAAwC;IAArE,0FAA4B;;;;;IA9CzF,2EAAuE;IACnE,2EAAgD;IAC5C,8EAA4I;IAAvF,yVAAwB;IAA+D,oFAAI;IAAA,6DAAS;IACzJ,yEAA+C;IAAA,wEAAY;IAAA,6DAAI;IAC/D,yEAAiD;IAAA,wKAAkB;IAAA,6DAAI;IAC3E,6DAAM;IAGN,2EAAqD;IACjD,yEAAa;IAAA,2FAAK;IAAA,6DAAI;IACtB,0EAAoC;IAAA,yDAAgC;IAAA,6DAAI;IACxE,0EAAa;IAAA,+EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,4EAA8B;IAC1B,4EAAoC;IAChC,4EAA8B;IAC1B,0EAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,0EAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,0EAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,4EAA8B;IAC1B,0EAAa;IAAA,yEAAE;IAAA,6DAAI;IACvB,6DAAM;IACN,4EAAqC;IACjC,0EAA2B;IAAA,yEAAE;IAAA,6DAAI;IACrC,6DAAM;IACV,6DAAM;IACN,kJAiBM;IACV,6DAAM;IACV,6DAAM;;;IAjDgF,2DAA6D;IAA7D,qKAA6D;IAQvG,4DAAgC;IAAhC,oGAAgC;IAsBrB,4DAAwB;IAAxB,iGAAwB;;;IA3CnF,yEAAwC;IACpC,0IAQM;IAEN,0IAmDM;IACV,sEAAe;;;IA9DsB,2DAAqC;IAArC,0GAAqC;IAUrC,2DAAoC;IAApC,yGAAoC;;;IAyDzE,yEAAuC;IACnC,yEAA8B;IAAA,wDAA+B;IAAA,6DAAI;IACjE,qEAAG;IAAA,wDAAsC;IAAA,6DAAI;IACjD,sEAAe;;;IAFmB,2DAA+B;IAA/B,mGAA+B;IAC1D,2DAAsC;IAAtC,0GAAsC;;;IAG7C,yEAAmF;IAC/E,wEAAoH;;IACpH,wEAA4H;;IAChI,sEAAe;;IAFkE,2DAAsC;IAAtC,iLAAsC;IAChC,2DAAwC;IAAxC,6LAAwC;;;IAO3H,yEAAiD;IAAA,8EAAG;IAAA,6DAAI;;;IAM5C,yEAA6F;IAAA,sEAAU;IAAA,6DAAI;;;IAC3G,yEAAyG;IAAA,0EAAc;IAAA,6DAAI;;;IAJnI,2EAA0F;IACtF,2EAAkD;IAC9C,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IACxB,iJAA2G;IAC3G,iJAA2H;IAC/H,6DAAM;IACV,6DAAM;;;IAJK,2DAAiB;IAAjB,iFAAiB;IAC2C,2DAA4B;IAA5B,6FAA4B;IACzB,2DAAqC;IAArC,sGAAqC;;;IALnH,2EAA2D;IACvD,+IAMM;IACV,6DAAM;;;IAPoE,2DAAkB;IAAlB,6FAAkB;;;IAJhG,yEAAuC;IACnC,qIAAwD;IAExD,yIAQM;IACV,sEAAe;;;IAXP,2DAAiC;IAAjC,sGAAiC;IAEZ,2DAAgC;IAAhC,qGAAgC;;;IAarD,yEAAsD;IAAA,8EAAG;IAAA,6DAAI;;;;IADjE,2EAAyF;IACrF,2IAA6D;IAC7D,yEAAiG;IAAnD,ycAAS,wCAAwC,IAAC;IAAC,sEAAU;IAAA,6DAAI;IACnH,6DAAM;;;IAFE,2DAAsC;IAAtC,4GAAsC;;;IAQlC,yEAA6F;IAAA,sEAAU;IAAA,6DAAI;;;IAC3G,yEAAyG;IAAA,0EAAc;IAAA,6DAAI;;;IAJnI,2EAA+F;IAC3F,2EAAkD;IAC9C,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IACxB,iJAA2G;IAC3G,iJAA2H;IAC/H,6DAAM;IACV,6DAAM;;;IAJK,2DAAiB;IAAjB,kFAAiB;IAC2C,2DAA4B;IAA5B,8FAA4B;IACzB,2DAAqC;IAArC,uGAAqC;;;;IALnH,2EAAgE;IAC5D,+IAMM;IAEN,yEAA2F;IAAlD,ycAAS,wCAAuC,IAAC;IAAC,sEAAU;IAAA,6DAAI;IAC7G,6DAAM;;;IAToE,2DAAuB;IAAvB,mGAAuB;;;IAPrG,yEAAwC;IACpC,yIAGM;IAEN,yIAUM;IACV,sEAAe;;;IAhBsC,2DAAsC;IAAtC,2GAAsC;IAK9D,2DAAqC;IAArC,0GAAqC;;;IAoB9D,0EAAsF;IAAA,oFAAI;IAAA,6DAAI;;;IAC9F,0EAA8E;IAAA,sGAAO;IAAA,6DAAI;;;IACzF,0EAA+E;IAAA,oFAAI;IAAA,6DAAI;;;IACvF,yEAA4D;IAAA,0FAAK;IAAA,6DAAI;;;IACrE,yEAA2D;IAAA,wEAAE;IAAA,6DAAI;;;IACjE,yEAAyD;IAAA,wEAAE;IAAA,6DAAI;;;IAC/D,yEAAsD;IAAA,8EAAG;IAAA,6DAAI;;;IAPjE,yEAAuC;IACnC,qIAA8F;IAC9F,qIAAyF;IACzF,qIAAuF;IACvF,qIAAqE;IACrE,qIAAiE;IACjE,qIAA+D;IAC/D,qIAA6D;IACjE,sEAAe;;;IAPoB,2DAA2C;IAA3C,gHAA2C;IAC3C,2DAAmC;IAAnC,wGAAmC;IACnC,2DAAoC;IAApC,yGAAoC;IAC/D,2DAA4C;IAA5C,iHAA4C;IAC5C,2DAA2C;IAA3C,gHAA2C;IAC3C,2DAAyC;IAAzC,8GAAyC;IACzC,2DAAsC;IAAtC,2GAAsC;;;IAuBtC,yEAA8C;IAAA,sGAAO;IAAA,6DAAI;;;IAD7D,2EAAiF;IAC7E,4IAAyD;IAC7D,6DAAM;;;IADE,2DAA8B;IAA9B,oGAA8B;;;IAIlC,yEAAoD;IAAA,sGAAO;IAAA,6DAAI;;;IADnE,2EAAiH;IAC7G,4IAA+D;IACnE,6DAAM;;;IADE,2DAAoC;IAApC,0GAAoC;;;IAxBhD,yEAAsE;IAClE,2EAAyB;IACrB,+EAA0D;IACtD,+EAAyC;IAAA,oFAAI;IAAA,6DAAS;IACtD,+EAA0C;IAAA,oFAAI;IAAA,6DAAS;IACvD,+EAAkC;IAAA,sGAAO;IAAA,6DAAS;IAClD,+EAAmC;IAAA,qFAAI;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IACN,6EAA8B;IAC1B,gFAAgE;IAC5D,gFAAyC;IAAA,qFAAI;IAAA,6DAAS;IACtD,gFAAqC;IAAA,2FAAK;IAAA,6DAAS;IACnD,gFAAoC;IAAA,yEAAE;IAAA,6DAAS;IAC/C,gFAAkC;IAAA,yEAAE;IAAA,6DAAS;IAC7C,gFAA+B;IAAA,+EAAG;IAAA,6DAAS;IAC/C,6DAAS;IACb,6DAAM;IAEN,2IAEM;IAEN,2IAEM;IACV,sEAAe;;;IAvBK,2DAAc;IAAd,0EAAc;IAQd,4DAAc;IAAd,0EAAc;IAQQ,4DAAyC;IAAzC,sHAAyC;IAIzC,2DAAyE;IAAzE,8JAAyE;;;IAQ/G,4EAA2H;IAAA,sGAAO;IAAA,6DAAM;;;IACxI,4EAAoL;;;IAAhD,qKAAoC;;;IACxK,yEAAuD;IAAA,wDAAkB;IAAA,6DAAI;;;IAAtB,2DAAkB;IAAlB,wFAAkB;;;IACzE,0EAA2D;IAAA,6DAAC;IAAA,4EAAgB;IAAA,sGAAO;IAAA,6DAAO;IAAA,6DAAC;IAAA,6DAAI;;;IA2BvF,yEAAiD;IAAA,8EAAG;IAAA,6DAAI;;;IACxD,2EAA6G;IACzG,4EAAkD;IAC9C,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IAC5B,6DAAM;IACV,6DAAM;;;IAFK,2DAAiB;IAAjB,kFAAiB;;;IAjBxC,yEAA2E;IACvE,0EAAuB;IACnB,0EAAyE;IAAA,wDAAyC;;IAAA,6DAAI;IACtH,2EAAgC;IAC5B,0EAAiC;IAAA,wDAAsD;IAAA,6DAAI;IAC3F,0EAAiC;IAAA,wDAAuF;IAAA,6DAAI;IAC5H,2EAAiC;IAAA,yDAAmD;IAAA,6DAAI;IACxF,2EAAiC;IAAA,yDAAgD;IAAA,6DAAI;IACzF,6DAAM;IACV,6DAAM;IAEN,2EAAuB;IACnB,2EAAsE;IAAA,yDAA4C;;IAAA,6DAAI;IACtH,4EAAwB;IACpB,uJAAwD;IACxD,2JAIM;IACV,6DAAM;IACV,6DAAM;IACV,sEAAe;;;;IApBkE,2DAAyC;IAAzC,6OAAyC;IAE7E,2DAAsD;IAAtD,+IAAsD;IACtD,2DAAuF;IAAvF,gLAAuF;IACvF,2DAAmD;IAAnD,4IAAmD;IACnD,2DAAgD;IAAhD,oIAAgD;IAKf,2DAA4C;IAA5C,2PAA4C;IAE1G,2DAAiC;IAAjC,mGAAiC;IACiC,2DAAoB;IAApB,0FAAoB;;;IAhB1G,yEAAuC;IACnC,+JAsBe;IACnB,sEAAe;;;IAvBuB,2DAAsB;IAAtB,+FAAsB;;;IA0BxD,yEAA+E;IAC3E,oFAAqJ;IACzJ,sEAAe;;;;;IAD8C,2DAAqB;IAArB,oFAAqB;;;;IAFtF,yEAAwC;IACpC,6JAEe;IAEf,4EAAyE;IAApC,yTAAS,kCAAyB,IAAC;IACpE,yEAAoC;IAAA,oFAAI;IAAA,6DAAI;IAChD,6DAAM;IACV,sEAAe;;;IAPuB,2DAA0B;IAA1B,oGAA0B;;;;IAyBxD,yEAA8H;IAAtD,6XAAS,iHAA2C,IAAC;IAAC,sEAAU;IAAA,6DAAI;;;IAFhJ,2EAA0F;IACtF,yEAAoC;IAAA,8EAAG;IAAA,6DAAI;IAC3C,8HAA4I;IAChJ,6DAAM;;;IAD6C,2DAAuB;IAAvB,4FAAuB;;;IAItE,oEAAkE;;;IADtE,yEAAuD;IACnD,6JAAkE;IACtE,sEAAe;;;;IADI,2DAAkC;IAAlC,kFAAkC;;;;IASrD,+EAA2I;IAApC,iWAAyB;IAAW,oFAAI;IAAA,6DAAS;;;;IACxJ,+EAAiJ;IAAjC,8VAAsB;IAAW,oFAAI;IAAA,6DAAS;;;;IAC9J,+EAAuJ;IAAnC,gWAAwB;IAAW,oFAAI;IAAA,6DAAS;;;;IALxK,yEAAuC;IACnC,+EAAiF;IAAjC,qVAAsB;IAAW,wEAAE;IAAA,6DAAS;IAC5F,+EAAsH;IAArC,gVAAoB,KAAK,IAAC;IAAW,wEAAE;IAAA,6DAAS;IACjI,iJAAwJ;IACxJ,iJAA8J;IAC9J,iJAAoK;IACxK,sEAAe;;;IAHF,2DAAuB;IAAvB,4FAAuB;IACtB,2DAA+B;IAA/B,oGAA+B;IAC/B,2DAA8B;IAA9B,mGAA8B;;;;IAE5C,yEAAwC;IACpC,+EAAoF;IAApC,gVAAoB,IAAI,IAAC;IAAW,wEAAE;IAAA,6DAAS;IAC/F,+EAA8G;IAA7B,iVAAkB;IAAW,wEAAE;IAAA,6DAAS;IAC7H,sEAAe;;;IArfvB,2EAAsF;IAClF,0EAAyB;IACrB,0EAAuB;IACnB,wEAAqC;IAAA,oFAAI;IAAA,6DAAI;IAC7C,wEAA4C;IAAA,+GAAW;IAAA,6DAAI;IAC/D,6DAAM;IAEN,0EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,6DAAI;IAC5C,sEAAG;IAAA,yDAAsB;IAAA,6DAAI;IACjC,6DAAM;IAEN,2EAAuB;IACnB,0EAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,uHAAsD;IACtD,6IAKe;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,uHAAwC;IACxC,6IAKe;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,uHAA+D;IAC/D,6IAUe;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,sEAAG;IAAA,yDAAkC;;IAAA,6DAAI;IAC7C,6DAAM;IAEV,6DAAM;IACN,4EAA6B;IACzB,2EAAuB;IACnB,yEAAqC;IAAA,qFAAI;IAAA,6DAAI;IAC7C,yEAA4C;IAAA,gHAAW;IAAA,6DAAI;IAC/D,6DAAM;IAEN,2EAAuB;IACnB,0EAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,6IAGe;IACf,6IASe;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAoC;IAAA,yEAAE;IAAA,6DAAI;IAC1C,uHAAgE;IAChE,8IAYe;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAgF;IAAA,qFAAI;IAAA,6DAAI;IACxF,2HAGM;IACN,8IAee;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAoC;IAAA,qFAAI;IAAA,6DAAI;IAC5C,8IAGe;IACf,8IASe;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAA2B;IAAA,uGAAO;IAAA,6DAAI;IACtC,6IAGe;IACf,8IAae;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAuE;IAAA,qFAAI;IAAA,6DAAI;IAC/E,6IAYe;IAEf,6IAkBe;IACnB,6DAAM;IAEN,2FAA8F;IAE9F,2EAAuB;IACnB,0EAAuE;IAAA,+EAAG;IAAA,6DAAI;IAC9E,6IA+Ce;IAGf,6IA+De;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAA2B;IAAA,2FAAK;IAAA,6DAAI;IACpC,6IAGe;IAEf,6IAGe;IACnB,6DAAM;IAEN,2EAAuB;IACnB,0EAAuE;IAAA,qFAAI;IAAA,6DAAI;IAC/E,6IAYe;IAEf,6IAiBe;IACnB,6DAAM;IAEN,uFAAgF;IAGhF,2EAAuB;IACnB,0EAA2B;IAAA,qFAAI;IAAA,6DAAI;IACnC,6IAQe;IAEf,8IA0Be;IACnB,6DAAM;IACN,4EAAqE;IACjE,0EAA4C;IAAA,yEAAE;IAAA,6DAAI;IAClD,wEAAK;IACD,2HAAwI;IACxI,qIAAoL;IACpL,uHAA6E;IAC7E,yHAA+F;IACnG,6DAAM;IAEV,6DAAM;IACV,6DAAM;IAEN,6EAAyB;IACrB,4EAAuB;IACnB,0EAAqC;IAAA,sFAAI;IAAA,6DAAI;IAC7C,0EAA4C;IAAA,qKAAkB;IAAA,6DAAI;IACtE,6DAAM;IAEN,+IAwBe;IAEf,+IAQe;IACnB,6DAAM;IAEN,6EAA2B;IACvB,4EAAuB;IACnB,0EAAqC;IAAA,kGAAM;IAAA,6DAAI;IAC/C,0EAA4C;IAAA,oTAAyC;IAAA,6DAAI;IAC7F,6DAAM;IAEN,4EAAuB;IACnB,2EAAgF;IAAA,sFAAI;IAAA,6DAAI;IACxF,+FAA+H;IACnI,6DAAM;IAEN,4EAAuB;IACnB,2EAAgF;IAAA,4FAAK;IAAA,6DAAI;IACzF,6HAGM;IAEN,+IAEe;IAEnB,6DAAM;IACV,6DAAM;IACN,6EAAyG;IACrG,+IAMe;IACf,+IAGe;IACnB,6DAAM;IACV,6DAAO;;;IAvf0C,qGAAoC;IAStE,4DAAsB;IAAtB,yFAAsB;IAKrB,2DAAsB;IAAtB,0FAAsB;IACX,2DAAmC;IAAnC,8GAAmC;IAU9C,2DAAsB;IAAtB,0FAAsB;IACX,2DAAmC;IAAnC,8GAAmC;IAU9C,2DAAsB;IAAtB,0FAAsB;IACX,2DAAiC;IAAjC,4GAAiC;IAe7C,2DAAkC;IAAlC,gKAAkC;IAYtB,4DAAsB;IAAtB,0FAAsB;IAItB,2DAAqD;IAArD,uIAAqD;IAchE,2DAAsB;IAAtB,0FAAsB;IACX,2DAAiC;IAAjC,4GAAiC;IAiBf,2DAAsB;IAAtB,0FAAsB;IAIxC,2DAAgC;IAAhC,2GAAgC;IAoBhC,2DAAsB;IAAtB,0FAAsB;IAItB,2DAAmC;IAAnC,8GAAmC;IAcnC,2DAAsB;IAAtB,0FAAsB;IAItB,2DAAkC;IAAlC,6GAAkC;IAkBlC,2DAAsB;IAAtB,0FAAsB;IActB,2DAAuB;IAAvB,2FAAuB;IAqBH,2DAA+B;IAA/B,gGAA+B;IAInD,2DAAsB;IAAtB,0FAAsB;IAkDtB,2DAAuB;IAAvB,2FAAuB;IAoEvB,2DAAsB;IAAtB,0FAAsB;IAKtB,2DAAkE;IAAlE,oJAAkE;IAQlE,2DAAsB;IAAtB,0FAAsB;IActB,2DAAuB;IAAvB,2FAAuB;IAoBV,2DAA4B;IAA5B,6FAA4B;IAKzC,2DAAsB;IAAtB,0FAAsB;IAUtB,2DAAqD;IAArD,uIAAqD;IA+B1B,2DAAuB;IAAvB,2FAAuB;IACV,2DAAuB;IAAvB,2FAAuB;IACtE,2DAAsB;IAAtB,0FAAsB;IACtB,2DAAsB;IAAtB,0FAAsB;IAYnB,2DAAsB;IAAtB,0FAAsB;IA0BtB,2DAAuB;IAAvB,2FAAuB;IAmBI,4DAAyC;IAAzC,0GAAyC;IAK9B,2DAAuC;IAAvC,2GAAuC;IAKzE,2DAAsC;IAAtC,0GAAsC;IAO1C,2DAAsB;IAAtB,0FAAsB;IAOtB,2DAAuB;IAAvB,2FAAuB;;;;;IAe9B,4EAAmJ;IAAnF,sYAAmB;IAC/E,0EAAkB;IAAA,wDAAsB;IAAA,6DAAI;IAC5C,0EAAkC;IAAA,wDAAyC;IAAA,6DAAI;IACnF,6DAAM;;;;;IAHyB,sKAAgC;IACzC,2DAAsB;IAAtB,uFAAsB;IACN,2DAAyC;IAAzC,0GAAyC;;;IAI/E,4EAA+F;IAC3F,0EAA8B;IAAA,wDAA0B;IAAA,6DAAI;IAC5D,0EAA2B;IAAA,wDAAkB;IAAA,6DAAI;IACrD,6DAAM;;;IAF4B,2DAA0B;IAA1B,2FAA0B;IAC7B,2DAAkB;IAAlB,mFAAkB;;;IAHrD,4EAAgE;IAC5D,uIAGM;IACV,6DAAM;;;IAJ4C,2DAA+C;IAA/C,oIAA+C;;;;IAMrG,4EAA+E;IAC3E,0EAA+B;IAAA,oFAAI;IAAA,6DAAI;IACvC,yEAA+F;IAAtD,8XAAS,iHAA2C,IAAC;IAAC,sEAAU;IAAA,6DAAI;IACjH,6DAAM;;;IArBV,4EAAyB;IACrB,4EAAqC;IACjC,0EAA6D;IAAA,4PAAgC;IAAA,6DAAI;IACrG,6DAAM;IACN,4EAA8B;IAC1B,4EAAiC;IAC7B,iIAGM;IACV,6DAAM;IACN,iIAKM;IACV,6DAAM;IACN,iIAGM;IACV,6DAAM;;;IAhBkH,2DAAwB;IAAxB,iGAAwB;IAK3G,2DAAiC;IAAjC,4GAAiC;IAOZ,2DAAuB;IAAvB,2FAAuB;;AD1f9E,MAAM,oBAAoB;IAc/B,YACU,cAA8B,EAC9B,cAA8B,EAC9B,aAA4B,EAC5B,gBAAkC,EAClC,KAAqB,EACrB,MAAc,EACd,cAA8B,EAC9B,WAAkC,EAClC,YAA0B,EAC1B,mBAAwC,EACxC,QAAqB;QAVrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAuB;QAClC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,aAAQ,GAAR,QAAQ,CAAa;QArB/B,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACjD,YAAO,GAAmB,IAAI,CAAC;QAC/B,iBAAY,GAAkB,EAAE,CAAC;QACjC,YAAO,GAAa,EAAE,CAAC;QAEvB,UAAK,GAAW,CAAC,CAAC;QAElB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,aAAQ,GAAY,IAAI,CAAC;QA+CzB,yBAAoB,GAAG,CAAC,CAAC,UAAuB,EAAE,EAAE;YACjD,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACzD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;;YACrC,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAoBd,uBAAkB,GAAG,CAAC,CAAC,QAAmB,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtD,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAoFd,sBAAiB,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;aACrC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAzJV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAClG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,+CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa;YAC1C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;SACnD,CAAC;aACC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,iBAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAC;qBACpH,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;gBACpC,UAAI,CAAC,cAAc,CAAC,eAAe,0CAAE,SAAS,CAAC,KAAK,CAAC,EAAE;;oBACrD,IAAI,KAAK,CAAC,IAAI,KAAI,UAAI,CAAC,OAAO,0CAAE,IAAI;wBACjC,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,MAAM,GAAI,KAAK,CAAC,MAAkB,CAAC;gBACtE,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAUD,SAAS,CAAC,KAAY,EAAE,KAAa;;QACnC,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK;YAC3B,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aACxC;YACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;iBACjG,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,EAAE,WAAC,iBAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAClH,CAAC,CAAC;SACN;IACH,CAAC;IAED,YAAY;;QACV,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,yCAAE,CAAC,EAAE,IAAI,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAI,EAAE,MAAM,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAWD,MAAM;;QACJ,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAC,UAAI,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC;QACzD,IAAI,WAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,KAAI,KAAK,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC1F,uFAAuF;YACvF,OAAO;SACR;QAEA,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,qBAAoD,CAAC,SAAS,EAAE,CAAC;QAEvH,IAAI,UAA2B,CAAC;QAEhC,IAAK,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC9D,UAAU,GAAG,+CAAQ,CAAC;gBACpB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC;oBACpD,QAAQ,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAc;oBACtC,QAAQ,EAAE,UAAI,CAAC,QAAQ,0CAAE,KAAK;oBAC9B,QAAQ,EAAE,UAAI,CAAC,QAAQ,0CAAE,KAAK;iBAC/B,CAAC;gBACF,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,kBAAkB,EAAqB,CAAC;aACzI,CAAC,CAAC;;YAEH,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,kBAAkB,EAAqB,CAAC,CAAC;QAE3I,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAEnC,IAAI,gBAAgB,GAAG,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;;YAAC,WAAI,CAAC,YAAY,CAAC,WAAW,CAAC;gBACrI,YAAY,EAAE,UAAI,CAAC,OAAO,0CAAE,IAAc;gBAC1C,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;aAC3B,CAAC;SAAA,CAAsB,CAAC;QAEzB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC7B,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,0DAAS,CAAC,GAAG,EAAE,CAAC,+CAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE3E,UAAU;aACP,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,kCAAkC;gBAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,+CAAQ,CACN;oBACE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;oBACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;iBACxC,CACF,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,YAAY;;QACV,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,CAAC;aAC/D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,UAAI,CAAC,cAAc,CAAC,eAAe,0CAAE,SAAS,CAAC,KAAK,CAAC,EAAE;;oBACrD,IAAI,KAAK,CAAC,IAAI,KAAI,UAAI,CAAC,OAAO,0CAAE,IAAI;wBACjC,IAAI,CAAC,OAAmB,CAAC,IAAI,CAAC,MAAM,GAAI,KAAK,CAAC,MAAkB,CAAC;gBACtE,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEM,aAAa;;QAClB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,CAAC;aACzD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,oGAAyC,CAAC;YACrG,uGAAuG;SACxG,CAAC,CAAC;IACP,CAAC;IAQD,UAAU;;QACR,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACxE,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,IAAI,EAAE,GAAG,IAAI,6CAAU,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,0FAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAI,CAAC,OAAO,0CAAE,IAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChJ,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAK;;QACP,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,GAAG;;QACL,OAAO,WAAI,CAAC,QAAQ,0CAAE,KAAK,EAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,IAAI,CAAC,QAAQ,CAAC,KAAc,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9H,CAAC;IAED,IAAI,OAAO;;QACT,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ;;QACV,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,cAAc;;QAChB,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,iBAAiB;;QACnB,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,kBAAkB;;QACpB,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACrE,CAAC;IACD,UAAU;QACR,IAAG,IAAI,CAAC,OAAO,IAAE,IAAI;YAAC,OAAO;QAE7B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACxE,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,IAAI,EAAE,GAAG,IAAI,6CAAU,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAIhD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,2FAAgC,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,0FAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC;IACpI,CAAC;IAED,YAAY;QACV,IAAG,IAAI,CAAC,OAAO,IAAE,IAAI;YAAC,OAAO;QAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACxE,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,IAAI,EAAE,GAAG,IAAI,6CAAU,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAEhD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC;IACzI,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,UAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;;wFAtSU,oBAAoB;mHAApB,oBAAoB;;;;;;QCnBjC,sHAufO;QAGP,8MAwBc;QAEd,sFAAoF;;QAphBlD,8EAAa;QAohBb,2DAA6B;QAA7B,2FAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC/hB/D,mEAA4D;;;;IAmCxD,0EAAoE;IAChE,yEAAyD;IACrD,4EAAqD;IAA9B,kPAA6B;IAApD,4DAAqD;IACzD,4DAAM;IACN,yEAAsE;IAClE,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAClC,4DAAM;IACN,yEAAyE;IACrE,oEAAG;IAAA,uDAA4C;;IAAA,4DAAI;IACvD,4DAAM;IACN,2EAA0E;IACtE,qEAAG;IAAA,wDAAwB;IAAA,4DAAI;IACnC,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAqB;IAAA,4DAAI;IAChC,4DAAM;IACN,2EAAyE;IACrE,qEAAG;IAAA,wDAAkB;IAAA,4DAAI;IAC7B,4DAAM;IACN,2EAA2E;IACvE,yEAAuG;IAAA,wEAAE;IAAA,4DAAI;IACjH,4DAAM;IACV,4DAAM;;;IApByB,0DAA6B;IAA7B,uFAA6B;IAGjD,0DAAuB;IAAvB,qFAAuB;IAGvB,0DAA4C;IAA5C,oKAA4C;IAG5C,0DAAwB;IAAxB,sFAAwB;IAGxB,0DAAqB;IAArB,mFAAqB;IAGrB,0DAAkB;IAAlB,gFAAkB;IAGW,0DAA4D;IAA5D,qKAA4D;;;IAIpG,0EAAiE;IAC7D,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;;;IAGxD,0EAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAiC;IAAA,4DAAI;IACtE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAA+C;IAAA,mFAAI;IAAA,4DAAI;IAEvD,2EAA6B;IACzB,8EAA0F;IAA/D,oXAAkC,wRAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,gWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,6WAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,iWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IArBmC,0DAAiC;IAAjC,mGAAiC;IAOvC,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;AChF1F,MAAM,8BAA8B;IAczC,YACU,KAAqB,EACrB,aAA4B,EAC5B,cAA8B;QAF9B,UAAK,GAAL,KAAK,CAAgB;QACrB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAf/B,YAAO,GAAoB,EAAE,CAAC;QAC9B,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QAE7C,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB,CAAC;QAEF,uBAAkB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAKI,CAAC;IAE7C,QAAQ;IACR,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,gBAAgB;QAClB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI;gBAC9B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE7G,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChH;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI;gBAChC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE7G,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChH;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEjE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACpE,CAAC;;4GA3DU,8BAA8B;4HAA9B,8BAA8B;QDZ3C,4IAA4D;QAE5D,yEAAkC;QAC9B,yEAAmC;QAC/B,yEAAyD;QACrD,2EAAuE;QAAtB,qJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,yEAAsE;QAClE,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAsG;QAAtE,uNAAgE,IAAI,IAAC;QACjG,uEAA2F;QAAA,yEAAa;QAAA,4DAAI;QAC5G,wEAA0F;QAAA,2EAAe;QAAA,4DAAI;QACjH,4DAAM;QACV,4DAAM;QACN,0EAAyE;QACrE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,0EAAwG;QAAxE,0NAAkE,IAAI,IAAC;QACnG,wEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,wEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,2EAA0E;QACtE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAyE;QACrE,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,2EAA2E;QACvE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,+HAsBM;QAEN,6HAIM;QACV,4DAAM;QAEN,8IAA4D;QAE5D,2NA0Bc;;;QA9FC,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAgD;QAAhD,gKAAgD;QAChD,0DAA+C;QAA/C,gKAA+C;QAM/C,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAiBxD,2DAAmB;QAAnB,yFAAmB;QAwBrC,0DAAkC;QAAlC,kGAAkC;QAOpD,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;AEhEmB;;;;;;;;;ICF9D,mEAA4D;;;IAuDhD,wEAA+E;IAAA,uEAAE;IAAA,4DAAI;;;IACrF,wEAA6E;IAAA,uEAAE;IAAA,4DAAI;;;;;;IAf3F,0EAA8E;IAC1E,yEAAyD;IACrD,4EAA0D;IAAnC,6PAAkC;IAAzD,4DAA0D;IAC9D,4DAAM;IACN,yEAAoC;IAChC,oEAAG;IAAA,uDAA4B;IAAA,4DAAI;IACvC,4DAAM;IACN,yEAAoC;IAChC,oEAAG;IAAA,uDAA2D;;IAAA,4DAAI;IACtE,4DAAM;IACN,0EAAoC;IAChC,qEAAG;IAAA,wDAAsC;IAAA,4DAAI;IACjD,4DAAM;IACN,0EAAoC;IAChC,iIAAqF;IACrF,iIAAmF;IACvF,4DAAM;IACN,0EAAoC;IAChC,qEAAG;IAAA,wDAAwC;IAAA,4DAAI;IACnD,4DAAM;IACN,0EAAoC;IAChC,qEAAG;IAAA,wDAAwC;IAAA,4DAAI;IACnD,4DAAM;IACN,0EAAoC;IAChC,yEAAuH;IAAA,wDAAiC;;IAAA,4DAAI;IAChK,4DAAM;IACN,0EAAoC;IAChC,yEAAuH;IAAA,wEAAE;IAAA,4DAAI;IAC7H,yEAAiG;IAA5D,oaAAiD;IAAW,wEAAE;IAAA,4DAAI;IAC3G,4DAAM;IACV,4DAAM;;;;IA5ByB,0DAAkC;IAAlC,4FAAkC;IAGtD,0DAA4B;IAA5B,0FAA4B;IAG5B,0DAA2D;IAA3D,oLAA2D;IAG3D,0DAAsC;IAAtC,oGAAsC;IAGlB,0DAA4C;IAA5C,kHAA4C;IAC9C,0DAA4C;IAA5C,kHAA4C;IAG9D,0DAAwC;IAAxC,sGAAwC;IAGxC,0DAAwC;IAAxC,sGAAwC;IAGxC,0DAAmH;IAAnH,+OAAmH;IAAC,0DAAiC;IAAjC,yJAAiC;IAGxH,0DAA4E;IAA5E,2KAA4E;;;IAKpH,0EAAsE;IAClE,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;IAGV,mEAA4D;;;;;;IAGxD,0EAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAiC;IAAA,4DAAI;IACtE,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAA+C;IAAA,mFAAI;IAAA,4DAAI;IACvD,yEAAsI;IAAxC,mVAA6B;IAAW,oFAAI;IAAA,4DAAI;IAE9I,2EAA6B;IACzB,8EAA0F;IAA/D,wXAAkC,0RAA0B,CAAC,IAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAAgI;IAA1C,kWAAuC,CAAC,IAAC;IAAC,wEAAY;IAAA,4DAAI;IAChJ,6EAAmE;IAA3B,+WAA0B;IAAlE,4DAAmE;IACnE,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAoI;IAA1C,mWAAuC,CAAC,IAAC;IAAC,yEAAa;IAAA,4DAAI;IACzJ,4DAAM;;;IAtBmC,0DAAiC;IAAjC,mGAAiC;IAKjC,0DAAwD;IAAxD,oLAAwD;IAG9D,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;;AD/F1F,MAAM,+BAA+B;IAa1C,YACU,KAAqB,EACrB,mBAAwC,EACxC,cAA8B;QAF9B,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAb/B,iBAAY,GAAsB,EAAE,CAAC;QACrC,iBAAY,GAAe,GAAG,EAAE,GAAG,CAAC;QAE7C,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB,CAAC;IAME,CAAC;IAEL,QAAQ;;QACN,UAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,6FAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,CAAC;IAED,iBAAiB;QACf,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9K,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,qBAAqB;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAE/B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI;gBAC9B,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAElH,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrH;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI;gBAChC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAE1J,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7J;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;YAEhF,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACnF,CAAC;;8GA/EU,+BAA+B;6HAA/B,+BAA+B;QCZ5C,6IAA4D;QAE5D,yEAAkC;QAC9B,yEAAmC;QAC/B,yEAAyD;QACrD,2EAAuE;QAAtB,sJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,yEAAoC;QAChC,uEAAa;QAAA,mFAAI;QAAA,4DAAI;QACrB,yEAAsG;QAAtE,wNAAgE,IAAI,IAAC;QACjG,uEAA2F;QAAA,yEAAa;QAAA,4DAAI;QAC5G,wEAA0F;QAAA,2EAAe;QAAA,4DAAI;QACjH,4DAAM;QACV,4DAAM;QACN,0EAAoC;QAChC,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACrB,0EAAwG;QAAxE,2NAAkE,IAAI,IAAC;QACnG,wEAA6F;QAAA,yEAAa;QAAA,4DAAI;QAC9G,wEAA4F;QAAA,2EAAe;QAAA,4DAAI;QACnH,4DAAM;QACV,4DAAM;QACN,0EAAoC;QAChC,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAoC;QAChC,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAM;QACN,0EAAoC;QAChC,wEAAa;QAAA,8EAAG;QAAA,4DAAI;QACxB,4DAAM;QACN,0EAAoC;QAChC,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,0EAAoC;QAChC,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,0EAAoC;QAChC,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,+HA8BM;QAEN,8HAIM;QACV,4DAAM;QAEN,+IAA4D;QAE5D,4NA2Bc;;;QA7GC,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAKF,0DAAgD;QAAhD,gKAAgD;QAChD,0DAA+C;QAA/C,gKAA+C;QAM/C,0DAAkD;QAAlD,mKAAkD;QAClD,0DAAiD;QAAjD,kKAAiD;QAuBnD,2DAAwB;QAAxB,8FAAwB;QAgC/C,0DAAuC;QAAvC,uGAAuC;QAOzD,0DAA4B;QAA5B,iFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/EE;AAGb;AACU;;;;;;;;;;;;;;;;;ICF9B,wEAAyC;IACrC,uEAAa;IAAA,uEAAE;IAAA,4DAAI;IACnB,wEAA0C;IAAA,0EAAe;IAAA,4DAAI;IACjE,qEAAe;;;;IACf,wEAAyC;IACrC,oEAAG;IAAA,uDAAkC;;IAAA,4DAAI;IACzC,wEAAqF;IAA3C,ySAAS,wBAAwB,2BAAS;IAAC,gEAAK;IAAA,4DAAI;IAClG,qEAAe;;;IAFR,0DAAkC;IAAlC,8JAAkC;;;IAc7C,wEAA2D;IAAA,uEAAE;IAAA,4DAAI;;;;ADHlE,MAAM,wBAAwB;IAUnC,YACU,KAAqB,EACrB,kBAAsC,EACtC,aAA4B,EAC5B,cAA8B,EAC9B,aAA4B,EAC5B,cAA8B;QAL9B,UAAK,GAAL,KAAK,CAAgB;QACrB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAdxC,QAAG,GAAW,SAAS,CAAC;QAGxB,iBAAY,GAAsB,EAAE,CAAC;QACrC,YAAO,GAAoB,EAAE,CAAC;QAC9B,SAAI,GAAgB,IAAI,wDAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAuC3B,iBAAY,GAAe,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IAhCC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;;QACH,UAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,+CAAQ,CAAC;gBACP,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;aAC3D,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;gBACvC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAU,EAAE,MAA2B;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAMD,sBAAsB;QACpB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;aAChD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE;gBAC5E,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;aACzB,CAAC,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,KAAc,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACnG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAClJ,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACpI,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;aAC7E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;aAC7E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;;gGAjGU,wBAAwB;sHAAxB,wBAAwB;;QCnBrC,yEAA4B;QACxB,yEAAsE;QAClE,4EAAoD;QAAxB,4RAAS,UAAa,IAAC;QAC/C,sIAGe;QACf,sIAGe;QACnB,4DAAS;QACT,sEAAqF;QACrF,uFAAoH;QAAnF,0TAAiB,gCAA+B,IAAC;QAAkC,4DAAiB;QAErI,4EAA2G;QAAnC,gJAAS,4BAAwB,IAAC;QACtG,uEAAqC;QAAA,mEAAO;QAAA,4DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACb,4DAAM;QAEN,2EAAyD;QACrD,mHAAiE;QACrE,4DAAM;QAEN,2EAAyD;QACrD,yEAA2D;QAAA,0FAAK;QAAA,4DAAI;QACpE,yEAAqE;QAAA,wDAAqB;QAAA,4DAAI;QAClG,4DAAM;QAEN,2EAA0E;QACtE,2EAAwF;QACpF,2EAAmD;QAC/C,yEAA2D;QAAA,wEAAE;QAAA,4DAAI;QACjE,yEAAuF;QAAA,wDAAY;QAAA,4DAAI;QAC3G,4DAAM;QACV,4DAAM;QACN,sEAAsE;QACtE,2EAAyF;QACrF,2EAAmD;QAC/C,yEAA2D;QAAA,wEAAE;QAAA,4DAAI;QACjE,yEAAqF;QAAA,wDAAY;QAAA,4DAAI;QACzG,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,sEAAkE;QAElE,2EAAgF;QAC5E,8EAA6F;QAAxB,2JAAa,SAAS,IAAC;QACxF,yEAA0C;QAAA,iEAAK;QAAA,4DAAI;QACnD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACT,8EAAoH;QAAtB,2JAAa,OAAO,IAAC;QAC/G,yEAA0C;QAAA,gEAAI;QAAA,4DAAI;QAClD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACT,8EAA0H;QAAzB,2JAAa,UAAU,IAAC;QACrH,yEAA0C;QAAA,2EAAe;QAAA,4DAAI;QAC7D,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACT,8EAAsH;QAAvB,2JAAa,QAAQ,IAAC;QACjH,yEAA0C;QAAA,kEAAM;QAAA,4DAAI;QACpD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACb,4DAAM;QAGN,2EAAoD;QAChD,2EAA6I;QACzI,2EAAyB;QACrB,+FAAgI;QACpI,4DAAM;QACN,2EAAyB;QACrB,6FAA0H;QAC9H,4DAAM;QACN,2EAAyB;QACrB,gGAAmI;QACvI,4DAAM;QACN,2EAAyB;QACrB,8FAAqH;QACzH,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;;QAjFqB,0DAAwB;QAAxB,wFAAwB;QAIxB,0DAAwB;QAAxB,wFAAwB;QAKb,0DAAwB;QAAxB,8EAAwB;QAU3B,0DAAoB;QAApB,oFAAoB;QAKsB,0DAAqB;QAArB,wFAAqB;QAOK,0DAAY;QAAZ,2EAAY;QAOd,0DAAY;QAAZ,2EAAY;QAQ3E,0DAAsC;QAAtC,iKAAsC;QAIX,0DAAoC;QAApC,+JAAoC;QAIpC,0DAAuC;QAAvC,kKAAuC;QAIvC,0DAAqC;QAArC,gKAAqC;QAQrE,0DAAmH;QAAnH,iOAAmH;QAEtG,0DAAoC;QAApC,iGAAoC;QAGtC,0DAAkC;QAAlC,+FAAkC;QAG/B,0DAAqC;QAArC,kGAAqC;QAGvC,0DAA2B;QAA3B,wFAA2B;;;;;;;;;;;;;;;;;;;AChFJ;AAQP;AAEtD,MAAM,cAAc;IAWvB;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,WAAW,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACzD,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACpD,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,gEAAoB,CAAC,CAAC,CAAC,EAAE,gEAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YACrG,UAAU,EAAE,IAAI,uDAAW,CAAC,KAAK,CAAC;YAClC,UAAU,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,OAAO,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACrD,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACtD,cAAc,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC5D,iBAAiB,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YACxC,kBAAkB,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;YACzC,MAAM,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,kEAAW,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAGD,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,kEAAW,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAEM,kBAAkB;QACrB,IAAI,KAAK,GAAoB;YACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YAC1D,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACnD,OAAO,EAAE;gBACL,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;gBACzD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;gBACzD,WAAW,EAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAM,CAAC,WAAW,EAAE;gBAC5E,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;gBAC/C,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK;gBAC/D,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;gBACnD,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;gBAC/C,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;gBACpD,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK;gBAC7D,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;gBACnD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACzE,gBAAgB,EAAE;oBACd,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC5D;gBACD,QAAQ,EAAE;oBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;iBACvD;gBACD,cAAc,EAAE;oBACZ,cAAc,EAAE,IAAI,CAAC,cAAc;iBACtC;gBACD,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK;gBACrE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,KAAK;gBAC7E,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;gBACpD,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;aACxD;SACJ;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;QACpF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,UAAU;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,kEAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAES,iBAAiB,CAAC,OAAoB;QAC5C,IAAI,IAAI,GAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACtHmE;AAET;AAapD,MAAM,cAAc;IAYvB,YAAY,OAAgB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,qDAAS,CAAC;YAC3B,WAAW,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACxE,WAAW,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACxE,MAAM,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC9D,QAAQ,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACrE,MAAM,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnE,KAAK,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,+DAAmB,EAAE,gEAAoB,CAAC,CAAC,CAAC,EAAE,gEAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9G,UAAU,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACrD,OAAO,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,+DAAmB,CAAC,CAAC;YACnE,QAAQ,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,gEAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAE,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,gEAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,QAAQ,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAClE,cAAc,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,+DAAmB,CAAC,CAAC;YAC9E,iBAAiB,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC7D,kBAAkB,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACrE,aAAa,EAAE,IAAI,uDAAW,CAAC,OAAO,CAAC,aAAa,CAAC;YACrD,MAAM,EAAC,IAAI,uDAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACzC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,qEAAO,CAAC;YAC5B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACxD,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACzD,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACpD,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;YAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACpD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACnD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACnD,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;YAClD,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kBAAkB;QACd,IAAI,KAAK,GAAoB;YACzB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,WAAW,EAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAc,CAAC,WAAW,EAAE;YAC9E,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG;gBACzD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG;oBACnD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG;wBACnD,CAAC,CAAC,GAAG;YACjB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK;YAC/D,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;YACnD,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACnD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YACpD,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK;YAC7D,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACzE,gBAAgB,EAAE;gBACd,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;aAC5D;YACD,QAAQ,EAAE;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aACvD;YACD,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK;YACrE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,KAAK;YAC7E,cAAc,EAAE;gBACZ,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC;YACD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YACpD,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;SACxD;QAED,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;QACpE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,qBAAqB;QACjB,IAAI,KAAK,GAAuB;YAC5B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;YAC7D,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;SACtD,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,mBAAmB;QACf,IAAI,KAAK,GAAqB;YAC1B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK;YACzD,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC/C,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;YAC7D,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACnD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK;SAChE,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjG,CAAC;IAED,2BAA2B;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;eACtF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;IAClG,CAAC;IAES,iBAAiB,CAAC,OAAoB;QAC5C,IAAI,IAAI,GAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClKyB;AACgB;AAKY;;;;;;;;;;;;;;;;;ICY1C,oEAA4D;;;;;;IAyCxD,2EAA6D;IACzD,2EAA2F;IACvF,2EAAyC;IACrC,6EAA+F;IAAxE,gPAA8B;IAArD,6DAA+F;IACnG,6DAAM;IACV,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAwE;IACpE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACrH,6DAAM;IACV,6DAAM;;;IA3B6B,2DAA8B;IAA9B,yFAA8B;IAItD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAIxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;IAWpE,2EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,6EAAkG;IAA7C,kVAA4B;IAAjF,6DAAkG;IAClG,yEAA0B;IAAA,qFAAI;IAAA,6DAAI;IACtC,6DAAM;IAEN,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,qXAAkC,+QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,wVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,4WAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,yVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAEhC,2DAAgC;IAAhC,iGAAgC;IAM/B,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADvH1F,MAAM,yBAAyB;IAyBpC,YACU,WAAkC,EAClC,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc;QAJd,gBAAW,GAAX,WAAW,CAAuB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QA5BxB,aAAQ,GAAkB,IAAI,CAAC;QAE/B,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAY,EAAE,CAAC;QAErB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAC,EAAE;SACb,CAAC;QAmEF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,EAAE;YACrG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAmBd,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAlHV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;;YAClC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;gBACzB,UAAI,CAAC,cAAc,CAAC,eAAe,0CAAE,SAAS,CAAC,KAAK,CAAC,EAAE;oBACrD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAiB,CAAC;qBACvC;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gEAAK,CAAC;gBACzB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;gBACrC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,CAAC;;YAEJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAC1I,CAAC;IAoCO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IASD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;iBAC5C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,gEAAK,CAAC;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;gBACrC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,CAAC,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC5C,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,yCAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC5C,OAAO;SACR;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAChE,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,gEAAK,CAAC;oBAChD,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;oBACrC,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,UAAU;cACb,aAAa;cACb,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC3D;aACI;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;;kGAlPU,yBAAyB;wHAAzB,yBAAyB;QCrBtC,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,wEAAE;QAAA,6DAAI;QACnB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,6DAAI;QAC7C,2EAA4B;QACxB,2EAA4B;QACxB,mFAAkG;QAElG,2EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QACjG,6DAAM;QAEN,2IAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,kJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA4H;QAA5F,2NAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAwE;QACpE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACnB,4EAA0H;QAA1F,yNAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,2HA8BM;QAEN,yHAIM;QACV,6DAAQ;QAER,2IAA4D;QAE5D,4EAAoG;QAChG,+EAA0D;QAA3B,mJAAS,UAAM,IAAC;QAAW,yEAAE;QAAA,6DAAS;QACrE,+EAA6F;QAA7B,mJAAS,YAAQ,IAAC;QAAW,qFAAI;QAAA,6DAAS;QAC9G,6DAAM;QACV,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,wNAgCc;;;QApIgB,4DAA8B;QAA9B,0IAA8B;QAGzB,2DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAG5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAqBrD,4DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QAgC9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClGb;AACoB;;;;;;;;;;;;;;;;ICuBlD,mEAA4D;;;IAwDhD,0EAAiG;IAC7F,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;IACN,0EAAkE;IAC9D,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAmE;IAC/D,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;;;IACN,0EAAyD;IACrD,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACzB,4DAAM;;;;;IAlCd,0EAAuD;IACnD,0EAA2F;IACvF,4EAAsF;IAA/D,2OAA2B;IAAlD,4DAAsF;IAC1F,4DAAM;IACN,0EAAuE;IACnE,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IACjC,4DAAM;IACN,0EAAsE;IAClE,oEAAG;IAAA,uDAA6B;;IAAA,4DAAI;IACxC,4DAAM;IACN,2EAAsE;IAClE,qEAAG;IAAA,wDAAc;IAAA,4DAAI;IACzB,4DAAM;IACN,2EAAqE;IACjE,qEAAG;IAAA,wDAAgB;IAAA,4DAAI;IAC3B,4DAAM;IACN,2EAAwE;IACpE,wEAAa;IAAA,wDAA6B;IAAA,4DAAI;IAClD,4DAAM;IACN,2EAAuE;IACnE,wEAAa;IAAA,wDAAyC;;IAAA,4DAAI;IAC9D,4DAAM;IACN,2EAAuE;IACnE,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,iIAEM;IACN,gEAAO;IACX,4DAAM;IACN,2EAAqE;IACjE,yEAAgH;IAAA,wEAAE;IAAA,4DAAI;IACtH,yEAAsF;IAA1C,uYAA+B;IAAW,wEAAE;IAAA,4DAAI;IAChG,4DAAM;IACV,4DAAM;;;IAvCyB,0DAA2B;IAA3B,qFAA2B;IAG/C,0DAAsB;IAAtB,oFAAsB;IAGtB,0DAA6B;IAA7B,iJAA6B;IAG7B,0DAAc;IAAd,4EAAc;IAGd,0DAAgB;IAAhB,8EAAgB;IAGN,0DAA6B;IAA7B,2FAA6B;IAG7B,0DAAyC;IAAzC,kKAAyC;IAGrB,0DAA8D;IAA9D,gIAA8D;IAG/D,0DAAgC;IAAhC,+FAAgC;IAGjC,0DAAkC;IAAlC,iGAAkC;IAGnC,0DAAyB;IAAzB,wFAAyB;IAMX,0DAAyD;IAAzD,4JAAyD;;;IAK7G,0EAAsD;IAClD,0EAA6B;IACzB,wEAAyC;IAAA,mFAAI;IAAA,4DAAI;IACrD,4DAAM;IACV,4DAAM;;;;;;IAOlB,yEAAgD;IAC5C,0EAAuD;IACnD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACpB,wEAAiC;IAAA,uDAAmB;IAAA,4DAAI;IACxD,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,wEAAgH;IAArC,2UAA0B;IAAW,mFAAI;IAAA,4DAAI;IAExH,2EAA2D;IACvD,wEAAa;IAAA,wEAAE;IAAA,4DAAI;IACnB,yEAAqB;IAAA,wDAAW;IAAA,4DAAI;IACpC,wEAAa;IAAA,kEAAC;IAAA,4DAAI;IACtB,4DAAM;IAEN,2EAA6B;IACzB,8EAAuG;IAA5E,oXAAkC,+QAA0B,CAAC,iCAA3B;IACzD,8EAA8B;IAAA,6EAAO;IAAA,4DAAS;IAC9C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IAChD,8EAA8B;IAAA,8EAAQ;IAAA,4DAAS;IAC/C,8EAA+B;IAAA,8EAAQ;IAAA,4DAAS;IACpD,4DAAS;IACb,4DAAM;IAEN,yEAA6I;IAAvD,uVAAuC,CAAC,iCAAc;IAAC,wEAAY;IAAA,4DAAI;IAC7J,6EAA2F;IAAnD,2WAA0B;IAAlE,4DAA2F;IAC3F,yEAA+B;IAAA,6DAAC;IAAA,4DAAI;IACpC,yEAAuB;IAAA,wDAAW;IAAA,4DAAI;IACtC,yEAAiJ;IAAvD,wVAAuC,CAAC,iCAAc;IAAC,yEAAa;IAAA,4DAAI;IACtK,4DAAM;;;IA3BmC,0DAAmB;IAAnB,qFAAmB;IAIxB,0DAA0C;IAA1C,sKAA0C;IAIjD,0DAAW;IAAX,6EAAW;IAKL,0DAAkC;IAAlC,gGAAkC;IACjD,0DAAW;IAAX,sEAAW;IACX,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IACZ,0DAAY;IAAZ,uEAAY;IAIc,0DAA2C;IAA3C,qKAA2C;IAC7C,0DAA0B;IAA1B,wFAA0B;IAE3C,0DAAW;IAAX,6EAAW;IACQ,0DAA+C;IAA/C,gLAA+C;;AD9H1F,MAAM,2BAA2B;IAkBtC,YACU,aAA4B,EAC5B,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,mBAAwC,EACxC,cAA8B;QAL9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAtBxC,UAAK,GAAyB,EAAE,CAAC;QACjC,WAAM,GAAyB,EAAE,CAAC;QAClC,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAElB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,EAAE;SACb,CAAC;QAkCF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAhDV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACxD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;oBAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IA2BD,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAC9I,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACrB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAClD;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,iBAAiB,CAAC,IAAwB;QACxC,IAAI,IAAI,CAAC,QAAQ;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAEvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAGO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC1G,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,0FAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,cAAc;QACZ,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClJ,CAAC;;sGAnIU,2BAA2B;yHAA3B,2BAA2B;QChBxC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,+FAAM;QAAA,4DAAI;QAClD,4DAAM;QAEN,uEAAqC;QAAA,yFAAK;QAAA,4DAAI;QAE9C,0EAA4B;QACxB,0EAA4B;QACxB,0EAAgD;QAC5C,kFAA8G;QAE9G,8EAAwC;QACpC,yEAAqC;QAAA,mEAAO;QAAA,4DAAI;QAChD,wEAAa;QAAA,oFAAI;QAAA,4DAAI;QACzB,4DAAS;QACb,4DAAM;QAEN,2EAAoF;QAChF,qFAAwE;QACxE,qFAAqF;QACrF,4FAAkG;QACtG,4DAAM;QAEN,4IAA4D;QAE5D,6EAAoC;QAChC,2EAAmC;QAC/B,2EAA2F;QACvF,6EAAuE;QAAtB,mJAAS,eAAW,IAAC;QAAtE,4DAAuE;QAC3E,4DAAM;QACN,2EAAuE;QACnE,yEAAmF;;QAAA,0FAAK;QAAA,4DAAI;QAChG,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAsE;QAClE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAwE;QACpE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAuE;QACnE,yEAAkF;;QAAA,oFAAI;QAAA,4DAAI;QAC9F,4DAAM;QACN,2EAAuE;QACnE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACN,2EAAqE;QACjE,wEAAa;QAAA,wEAAE;QAAA,4DAAI;QACvB,4DAAM;QACV,4DAAM;QAEN,4HAyCM;QAEN,0HAIM;QACV,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,wNAgCc;;;QApImC,2DAA2B;QAA3B,4HAA2B;QASxC,0DAA8B;QAA9B,2FAA8B;QAC9B,0DAA8B;QAA9B,2FAA8B;QACvB,0DAA6B;QAA7B,0FAA6B;QAG7C,0DAA4B;QAA5B,iFAA4B;QAKR,0DAAyB;QAAzB,sFAAyB;QAG7C,0DAAsC;QAAtC,sLAAsC;QAAC,uFAA8B;QAerE,2DAAqC;QAArC,gLAAqC;QAAC,uFAA8B;QAUlC,0DAAQ;QAAR,8EAAQ;QA2CxB,0DAAuB;QAAvB,uFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrGA;AAGpC;AACU;AACoB;;;;;;;;;;;ICyClD,wEAA+C;IAC3C,qEAAiF;IAEjF,yEAAqC;IACjC,0EAAgD;IAC5C,wEAAgC;IAAA,mFAAI;IAAA,4DAAI;IACxC,wEAA4C;IAAA,8GAAW;IAAA,4DAAI;IAC/D,4DAAM;IAEN,0EAAuB;IACnB,wEAAoD;IAAA,oOAA4B;IAAA,4DAAI;IACxF,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,wEAA2G;;IAC/G,4DAAM;IAEN,2EAAuB;IACnB,yEAA0D;IAAA,oFAAI;IAAA,4DAAI;IAClE,2EAA4J;;IAChK,4DAAM;IACV,4DAAM;IACV,qEAAe;;IAR8D,2DAAyC;IAAzC,kMAAyC;IAK1B,0DAAgE;IAAhE,6TAAgE;;;;IAzDhK,0EAA6D;IACzD,yEAAqC;IACjC,0EAAgD;IAC5C,wEAAqG;;IAAA,mFAAI;IAAA,4DAAI;IAC7G,wEAA4C;IAAA,8GAAW;IAAA,4DAAI;IAC/D,4DAAM;IAEN,0EAAuB;IACnB,wEAA0H;;IAAA,oFAAI;IAAA,4DAAI;IAClI,2EAAgC;IAC5B,2EAAgD;IAC5C,yEAA+B;IAAA,gJAAc;IAAA,4DAAI;IACjD,yEAA+C;IAAA,wEAAY;IAAA,4DAAI;IAC/D,yEAA4C;IAAA,6UAAgD;IAAA,4DAAI;IACpG,4DAAM;IACN,2EAAkC;IAC9B,yEAAO;IACH,wEAAsE;IACtE,yEAAyC;IAAA,iIAAc;IAAA,4DAAI;IAC/D,4DAAQ;IACR,6EAAqC;IACjC,wEAAuE;IACvE,yEAAyC;IAAA,sJAAe;IAAA,4DAAI;IAChE,4DAAQ;IACZ,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAAyG;;IAAA,oFAAI;IAAA,4DAAI;IACjH,wEAAmI;;IACnI,yEAA+C;IAAA,wEAAY;IAAA,4DAAI;IAC/D,yEAA4C;IAAA,0FAAK;IAAA,4DAAI;IACzD,4DAAM;IAEV,4DAAM;IAEN,oJAuBe;IAEf,2EAAkF;IAC9E,8EAA8D;IAA7B,8TAAkB;IAAW,yEAAG;IAAA,4DAAS;IAC9E,4DAAM;IACV,4DAAO;;;IAjEmC,kFAAkB;IAG1B,0DAAqC;IAArC,+KAAqC;IAAC,uFAA8B;IAK/C,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IAS/E,2DAAc;IAAd,uEAAc;IAId,0DAAe;IAAf,wEAAe;IAQrB,0DAAqC;IAArC,gLAAqC;IAAC,uFAA8B;IACD,0DAAqC;IAArC,sKAAqC;IAO3H,0DAA8B;IAA9B,iGAA8B;;AD9BlD,MAAM,0BAA0B;IAKrC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,mBAAwC,EACxC,QAAqB,EACrB,gBAAkC;QAJlC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,aAAQ,GAAR,QAAQ,CAAa;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;IACxC,CAAC;IAGL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;aACnC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,qDAAS,CAAC;gBACxB,gBAAgB,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAChE,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,+DAAmB,CAAC,CAAC;gBACjE,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,+DAAmB,CAAC,CAAC;gBACjE,SAAS,EAAE,IAAI,uDAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,+DAAmB,CAAC,CAAC;aAC1E,CAAC;YAEF,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;aACtE;iBACI;gBACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aACnD;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACpE,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;oBACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE;oBACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;oBACrE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE;iBACzD;qBACI;oBACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE;oBACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE;iBACzD;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK;YAC9D,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACxC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;YAChD,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;SAChD,CAAC,CAAC,IAAI,CAAC,wDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,8CAAQ,CACN;gBACE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;gBACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;aACxC,CACF,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK;IACrD,CAAC;;oGAxFU,0BAA0B;wHAA1B,0BAA0B;QCjBvC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,+FAAM;QAAA,4DAAI;QAClD,4DAAM;QAEN,uEAAqC;QAAA,+FAAM;QAAA,4DAAI;QAE/C,0EAA4B;QACxB,4HAiEO;QACX,4DAAM;QACV,4DAAM;;QAnEgC,2DAAU;QAAV,0EAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPhB;AACU;AACoB;;;;;;;;;;;;;;;ICE1D,wEAAwC;IAAA,uDAA6C;IAAA,4DAAI;;;IAAjD,0DAA6C;IAA7C,+HAA6C;;;IAQ7E,mEAAwD;;;IAExD,0EAA0F;IACtF,wEAAqC;IAAA,+DAAI;IAAA,4DAAI;IAC7C,wEAA0B;IAAA,uKAAkB;IAAA,4DAAI;IACpD,4DAAM;;;;IAEN,0EAA4J;IACxJ,wEAA0C;IAAA,+DAAI;IAAA,4DAAI;IAClD,uEAAgB;IAAA,uDAA0D;;IAAA,4DAAI;IAClF,4DAAM;;;IADc,0DAA0D;IAA1D,+RAA0D;;;;IAG9E,0EAAkF;IAC9E,wEAAyC;IAAA,+DAAI;IAAA,4DAAI;IACjD,uEAAgB;IAAA,uDAA0G;;IAAA,4DAAI;IAClI,4DAAM;;;IADc,0DAA0G;IAA1G,+VAA0G;;;IA6B9G,6EAA+D;IAAA,uDAAiB;IAAA,4DAAS;;;IAAlD,oFAAuB;IAAC,0DAAiB;IAAjB,gFAAiB;;;IA6CxF,uEAAqC;IAAA,iEAAC;IAAA,4DAAI;;;IAC1C,uEAA8C;IAAA,uEAAE;IAAA,4DAAI;;;IA+BpD,wEAAmF;IAAA,mFAAI;IAAA,4DAAI;;;IAC3F,wEAA2E;IAAA,qGAAO;IAAA,4DAAI;;;IACtF,wEAA4E;IAAA,mFAAI;IAAA,4DAAI;;;IACpF,uEAAyD;IAAA,yFAAK;IAAA,4DAAI;;;IAClE,uEAAwD;IAAA,uEAAE;IAAA,4DAAI;;;IAC9D,uEAAsD;IAAA,uEAAE;IAAA,4DAAI;;;IAC5D,uEAAmD;IAAA,6EAAG;IAAA,4DAAI;;;IAwC1D,0EAAkF;IAC9E,wEAAoC;IAAA,6EAAG;IAAA,4DAAI;IAC/C,4DAAM;;;IAGF,mEAAkE;;;IADtE,wEAA+C;IAC3C,+JAAkE;IACtE,qEAAe;;;;IADI,0DAAkC;IAAlC,iFAAkC;;;;IAQrD,6EAAmH;IAApC,+VAAyB;IAAW,mFAAI;IAAA,4DAAS;;;;IAChI,6EAA+H;IAAtC,+XAAS,UAAiB,IAAC;IAAW,wEAAG;IAAA,4DAAS;;;;IAC3I,6EAAuJ;IAA9B,yVAAmB;IAAW,mFAAI;IAAA,4DAAS;;;IAHxK,wEAAyD;IACrD,mJAAgI;IAChI,mJAA2I;IAC3I,mJAAoK;IACxK,qEAAe;;;IAHqC,0DAA6B;IAA7B,iGAA6B;IAC9B,0DAAwC;IAAxC,oHAAwC;IACR,0DAAwC;IAAxC,oHAAwC;;;;IAGvH,6EAA0G;IAAjC,4VAAsB;IAAW,wEAAG;IAAA,4DAAS;;;;IACtH,6EAAyI;IAAhC,2VAAqB;IAAW,mFAAI;IAAA,4DAAS;;;IAF1J,wEAAyD;IACrD,mJAAsH;IACtH,mJAAsJ;IAC1J,qEAAe;;;IAFoC,0DAAwB;IAAxB,4FAAwB;IACQ,0DAAwB;IAAxB,4FAAwB;;;;;IA/LvH,0EAAyC;IACrC,0EAA8B;IAC1B,wEAAkB;IAAA,uDAA4E;;;IAAA,4DAAI;IACtG,4DAAM;IAEN,0EAA4B;IACxB,8IAAwD;IAExD,4HAGM;IAEN,4HAGM;IAEN,8HAGM;IAEN,4EAA4E;IACxE,2EAAuB;IACnB,yEAAqC;IAAA,oFAAI;IAAA,4DAAI;IAC7C,yEAA4C;IAAA,+GAAW;IAAA,4DAAI;IAC/D,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,wEAAyG;;IAC7G,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,qEAAG;IAAA,wDAAmB;IAAA,4DAAI;IAC9B,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,qEAAG;IAAA,oEAAQ;IAAA,4DAAI;IACnB,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,2EAAyB;IACrB,8EAAwD;IACpD,8EAAmD;IAAA,0FAAK;IAAA,4DAAS;IACjE,oIAAyF;IAC7F,4DAAS;IACb,4DAAM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,wEAA2F;;IAC/F,4DAAM;IAEV,4DAAO;IAEP,2EAA6B;IACzB,2EAAuB;IACnB,yEAAqC;IAAA,oFAAI;IAAA,4DAAI;IAC7C,yEAA4C;IAAA,+GAAW;IAAA,4DAAI;IAC/D,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,yEAA8B;IAAA,wDAAsB;IAAA,4DAAI;IACxD,qEAAG;IAAA,wDAAsB;IAAA,4DAAI;IACjC,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,wEAAE;IAAA,4DAAI;IAC1C,qEAAG;IAAA,wDAA6B;;IAAA,4DAAI;IACxC,4DAAM;IAEN,2EAAuB;IACnB,yEAAgF;IAAA,oFAAI;IAAA,4DAAI;IACxF,2EAAgC;IAC5B,yEAA8B;IAAA,wDAAgB;IAAA,4DAAI;IAClD,yEAA2C;IAAA,wDAA2B;IAAA,4DAAI;IAC9E,4DAAM;IACV,4DAAM;IAEN,2EAAuB;IACnB,yEAAoC;IAAA,oFAAI;IAAA,4DAAI;IAC5C,yEAA8B;IAAA,wDAAmD;;IAAA,4DAAI;IACrF,wEAAa;IAAA,wDAAwC;;IAAA,4DAAI;IAC7D,4DAAM;IAEN,2EAAuB;IACnB,yEAA2B;IAAA,sGAAO;IAAA,4DAAI;IACtC,0HAA0C;IAC1C,0HAAoD;IACxD,4DAAM;IAEN,2EAAuB;IACnB,yEAAuE;IAAA,oFAAI;IAAA,4DAAI;IAC/E,wEAAa;IAAA,8EAAG;IAAA,4DAAI;IACpB,yEAA+C;IAAA,wEAAY;IAAA,4DAAI;IAC/D,yEAAwB;IAAA,8KAAmB;IAAA,4DAAI;IACnD,4DAAM;IAGN,2EAAuB;IACnB,yEAAuE;IAAA,8EAAG;IAAA,4DAAI;IAC9E,yEAAoC;IAAA,sJAAe;IAAA,4DAAI;IACvD,0EAA+C;IAAA,yEAAY;IAAA,4DAAI;IAC/D,0EAAiD;IAAA,uMAAuB;IAAA,4DAAI;IAChF,4DAAM;IAEN,4EAAuB;IACnB,0EAA2B;IAAA,2FAAK;IAAA,4DAAI;IACpC,0EAA8B;IAAA,yDAA4B;IAAA,4DAAI;IAC9D,sEAAG;IAAA,yDAAmC;IAAA,4DAAI;IAC9C,4DAAM;IAEN,4EAAuB;IACnB,0EAAuE;IAAA,qFAAI;IAAA,4DAAI;IAC/E,yEAAa;IAAA,+EAAG;IAAA,4DAAI;IACxB,4DAAM;IAEN,4EAAuB;IACnB,0EAA2B;IAAA,qFAAI;IAAA,4DAAI;IACnC,4HAA2F;IAC3F,4HAAsF;IACtF,4HAAoF;IACpF,4HAAkE;IAClE,4HAA8D;IAC9D,4HAA4D;IAC5D,4HAA0D;IAC9D,4DAAM;IACV,4DAAM;IAEN,4EAAyB;IACrB,4EAAuB;IACnB,0EAAqC;IAAA,qFAAI;IAAA,4DAAI;IAC7C,0EAA4C;IAAA,oKAAkB;IAAA,4DAAI;IACtE,4DAAM;IAEN,4EAAuB;IACnB,0EAAyE;IAAA,yDAAmC;;IAAA,4DAAI;IAChH,4EAAgC;IAC5B,0EAAiC;IAAA,yDAAgE;IAAA,4DAAI;IACrG,0EAAiC;IAAA,yDAAsG;IAAA,4DAAI;IAC3I,0EAAiC;IAAA,yDAA6D;IAAA,4DAAI;IAClG,0EAAiC;IAAA,yDAA0D;IAAA,4DAAI;IACnG,4DAAM;IACV,4DAAM;IAEN,4EAAuB;IACnB,0EAAsE;IAAA,yDAAsC;;IAAA,4DAAI;IAChH,yEAAa;IAAA,+EAAG;IAAA,4DAAI;IACxB,4DAAM;IACV,4DAAM;IAEN,4EAA2B;IACvB,4EAAuB;IACnB,0EAAqC;IAAA,iGAAM;IAAA,4DAAI;IAC/C,0EAA4C;IAAA,mTAAyC;IAAA,4DAAI;IAC7F,4DAAM;IAEN,4EAAuB;IACnB,0EAAgF;IAAA,qFAAI;IAAA,4DAAI;IACxF,8FAAuG;IAC3G,4DAAM;IAEN,4EAAuB;IAEnB,0EAAgF;IAAA,2FAAK;IAAA,4DAAI;IACzF,gIAEM;IAEN,kJAEe;IAEnB,4DAAM;IACV,4DAAM;IAEN,4EAAyG;IACrG,kJAIe;IACf,kJAGe;IACnB,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;IAjMoB,0DAA4E;IAA5E,uVAA4E;IAI/E,0DAAwB;IAAxB,iFAAwB;IAEoB,0DAA6B;IAA7B,gGAA6B;IAK/B,0DAAiG;IAAjG,yLAAiG;IAKlG,0DAAwB;IAAxB,2FAAwB;IAK5B,0DAAuB;IAAvB,uFAAuB;IAQ1B,0DAAoC;IAApC,qKAAoC;IAK1E,0DAAmB;IAAnB,qFAAmB;IAYN,2DAAc;IAAd,yEAAc;IACK,0DAAU;IAAV,mFAAU;IAOF,0DAAsC;IAAtC,iLAAsC;IAanD,2DAAsB;IAAtB,wFAAsB;IACjD,0DAAsB;IAAtB,wFAAsB;IAKtB,0DAA6B;IAA7B,sJAA6B;IAME,0DAAgB;IAAhB,kFAAgB;IACH,0DAA2B;IAA3B,6FAA2B;IAM5C,0DAAmD;IAAnD,wLAAmD;IACpE,0DAAwC;IAAxC,qOAAwC;IAKjD,0DAAqB;IAArB,wFAAqB;IACrB,0DAA8B;IAA9B,iGAA8B;IAoBJ,2DAA4B;IAA5B,8FAA4B;IACvD,0DAAmC;IAAnC,qGAAmC;IAUP,0DAAwC;IAAxC,2GAAwC;IACxC,0DAAgC;IAAhC,mGAAgC;IAChC,0DAAiC;IAAjC,oGAAiC;IAC5D,0DAAyC;IAAzC,4GAAyC;IACzC,0DAAwC;IAAxC,2GAAwC;IACxC,0DAAsC;IAAtC,yGAAsC;IACtC,0DAAmC;IAAnC,sGAAmC;IAWkC,0DAAmC;IAAnC,4NAAmC;IAEvE,0DAAgE;IAAhE,4JAAgE;IAChE,0DAAsG;IAAtG,oMAAsG;IACtG,0DAA6D;IAA7D,yJAA6D;IAC7D,0DAA0D;IAA1D,iJAA0D;IAKzB,0DAAsC;IAAtC,yOAAsC;IAatE,2DAAqB;IAArB,kJAAqB;IAMV,0DAA+B;IAA/B,kGAA+B;IAIjE,0DAA8B;IAA9B,iGAA8B;IAQlC,0DAAwC;IAAxC,2GAAwC;IAKxC,0DAAwC;IAAxC,2GAAwC;;;IAY3D,wEAA6D;IAAA,4DAAC;IAAA,4DAAI;;;IAClE,wEAAkF;IAAA,gEAAK;IAAA,4DAAI;;;;IAW3F,wEAAmJ;IAAA,4DAAC;IAAA,4DAAI;;;IAA5D,oLAAsD;;;IAClJ,wEAAsF;IAAA,gEAAK;IAAA,4DAAI;;;IAUnG,0EAAwE;IACpE,wEAAiB;IAAA,4DAAC;IAAA,4DAAI;IACtB,0EAA4B;IACxB,0EAAyB;IACrB,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IACN,wEAAyC;IAAA,2GAAQ;IAAA,4DAAI;IACzD,4DAAM;IACV,4DAAM;;;IAEN,0EAAwE;IACpE,wEAAqB;IAAA,4DAAC;IAAA,4DAAI;IAC1B,0EAA4B;IACxB,0EAAyB;IACrB,uEAAa;IAAA,6EAAG;IAAA,4DAAI;IACxB,4DAAM;IACN,wEAAyC;IAAA,+FAAM;IAAA,4DAAI;IACvD,4DAAM;IACV,4DAAM;;;IA3CV,0EAAsB;IAClB,0EAA6B;IACzB,iIAAkE;IAClE,iIAA2F;IAC3F,0EAA4B;IACxB,0EAAyB;IACrB,uEAAa;IAAA,mFAAI;IAAA,4DAAI;IACrB,qEAA6C;IACjD,4DAAM;IACN,wEAAyC;IAAA,kHAAS;IAAA,4DAAI;IAC1D,4DAAM;IACV,4DAAM;IAEN,2EAA6B;IACzB,mIAAwJ;IACxJ,mIAA+F;IAC/F,2EAA4B;IACxB,2EAAyB;IACrB,wEAAa;IAAA,8EAAG;IAAA,4DAAI;IACpB,sEAA6C;IACjD,4DAAM;IACN,yEAAyC;IAAA,sGAAO;IAAA,4DAAI;IACxD,4DAAM;IACV,4DAAM;IAEN,uIAQM;IAEN,uIAQM;IACV,4DAAM;;;IA1CyB,0DAAoC;IAApC,uGAAoC;IACf,0DAAoC;IAApC,uGAAoC;IAW9D,0DAAwE;IAAxE,kJAAwE;IAC9C,0DAAwC;IAAxC,2GAAwC;IAU1D,0DAAwC;IAAxC,2GAAwC;IAUxC,0DAAwC;IAAxC,2GAAwC;;;;;IAoB9D,0EAAmJ;IAAnF,oYAAmB;IAC/E,wEAAkB;IAAA,uDAAsB;IAAA,4DAAI;IAC5C,wEAAkC;IAAA,uDAAyC;IAAA,4DAAI;IACnF,4DAAM;;;;;IAHyB,kKAAgC;IACzC,0DAAsB;IAAtB,qFAAsB;IACN,0DAAyC;IAAzC,wGAAyC;;;IAI/E,0EAA+F;IAC3F,wEAA8B;IAAA,uDAA0B;IAAA,4DAAI;IAC5D,yEAA2B;IAAA,uDAAkB;IAAA,4DAAI;IACrD,4DAAM;;;IAF4B,0DAA0B;IAA1B,yFAA0B;IAC7B,0DAAkB;IAAlB,iFAAkB;;;IAHrD,0EAAgE;IAC5D,2IAGM;IACV,4DAAM;;;IAJ4C,0DAA+C;IAA/C,iIAA+C;;;IAZzG,0EAAyB;IACrB,0EAAqC;IACjC,wEAA6D;IAAA,2PAAgC;IAAA,4DAAI;IACrG,4DAAM;IACN,0EAA8B;IAC1B,0EAAiC;IAC7B,qIAGM;IACV,4DAAM;IACN,qIAKM;IACV,4DAAM;IACV,4DAAM;;;IAZkH,0DAAwB;IAAxB,gGAAwB;IAK3G,0DAAiC;IAAjC,2GAAiC;;ADtPnE,MAAM,yBAAyB;IAQpC,YACU,aAA4B,EAC5B,cAA8B,EAC9B,aAA4B,EAC5B,KAAqB,EACrB,gBAAkC,EAClC,cAA8B,EAC9B,cAA8B,EAC9B,mBAAwC,EACxC,MAAc;QARd,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAgB;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QAdxB,SAAI,GAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAEjD,YAAO,GAAa,EAAE,CAAC;QACvB,iBAAY,GAAkB,EAAE,CAAC;IAY7B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAClC,+CAAQ,CAAC;gBACP,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;gBACxC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;gBAClD,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;aAC3C,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,iBAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAC;qBACjH,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;gBAEpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE;oBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;oBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAClE,OAAO;iBACR;gBAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;iBACvC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;iBACpD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;iBACvC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvD,SAAS,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAGD,UAAU;;QACR,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,0FAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAI,CAAC,IAAI,0CAAE,QAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjJ,CAAC;;kGAlHU,yBAAyB;uHAAzB,yBAAyB;QCtBtC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,+FAAM;QAAA,4DAAI;QAClD,4DAAM;QAEN,iHAAyF;QAEzF,wHAmMM;QACV,4DAAM;QAEN,oNA8Cc;QAGd,mNAoBc;QAEd,uGAA6D;QAA/B,0KAAU,WAAO,IAAC;QAAa,4DAA+B;;QA/Q5D,0DAAU;QAAV,0EAAU;QAET,0DAAU;QAAV,0EAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNC;AACc;AACI;;;;;;;;;;;;;;;;;;;;ICiBtC,wEAA8C;IAAA,sGAAO;IAAA,6DAAI;;;IAD7D,2EAAiF;IAC7E,wHAAyD;IAC7D,6DAAM;;;IADE,2DAA8B;IAA9B,kGAA8B;;;IAQlC,wEAA8C;IAAA,sGAAO;IAAA,6DAAI;;;IAD7D,2EAAiF;IAC7E,wHAAyD;IAC7D,6DAAM;;;IADE,2DAA8B;IAA9B,kGAA8B;;;IAQlC,wEAA8C;IAAA,sGAAO;IAAA,6DAAI;;;IAD7D,2EAAiF;IAC7E,wHAAyD;IAC7D,6DAAM;;;IADE,2DAA8B;IAA9B,kGAA8B;;;IAS9B,8EAA+D;IAAA,wDAAiB;IAAA,6DAAS;;;IAAlD,qFAAuB;IAAC,2DAAiB;IAAjB,iFAAiB;;;IAIpF,wEAA4C;IAAA,sGAAO;IAAA,6DAAI;;;IAD3D,2EAA6E;IACzE,wHAAuD;IAC3D,6DAAM;;;IADE,2DAA4B;IAA5B,gGAA4B;;;IAsBhC,wEAAiD;IAAA,sGAAO;IAAA,6DAAI;;;IADhE,2EAAuF;IACnF,wHAA4D;IAChE,6DAAM;;;IADE,2DAAiC;IAAjC,qGAAiC;;;IAGrC,wEAAiD;IAAA,sGAAO;IAAA,6DAAI;;;IADhE,2EAA8G;IAC1G,wHAA4D;IAChE,6DAAM;;;IADE,2DAAiC;IAAjC,qGAAiC;;;IAerC,wEAA4C;IAAA,0FAAK;IAAA,6DAAI;;;IADzD,2EAA6E;IACzE,wHAAqD;IACzD,6DAAM;;;IADE,2DAA4B;IAA5B,gGAA4B;;;IAiB5B,wEAA2C;IAAA,sGAAO;IAAA,6DAAI;;;IAD1D,2EAA2E;IACvE,wHAAsD;IAC1D,6DAAM;;;IADE,2DAA2B;IAA3B,+FAA2B;;;IAanC,wEAA8C;IAAA,sGAAO;IAAA,6DAAI;;;IAD7D,2EAAiF;IAC7E,yHAAyD;IAC7D,6DAAM;;;IADE,2DAA8B;IAA9B,mGAA8B;;;IAgBlC,wEAA6C;IAAA,sGAAO;IAAA,6DAAI;;;IAD5D,2EAA+E;IAC3E,yHAAwD;IAC5D,6DAAM;;;IADE,2DAA6B;IAA7B,kGAA6B;;;;IAMrC,2EAAoF;IAChF,yEAAoC;IAAA,8EAAG;IAAA,6DAAI;IAC3C,yEAA8F;IAAhD,qXAAS,kCAAqC,IAAC;IAAC,sEAAU;IAAA,6DAAI;IAC5G,yEAAwE;IAAA,wEAAY;IAAA,6DAAI;IACxF,yEAAkC;IAAA,8KAAmB;IAAA,6DAAI;IAC7D,6DAAM;;;IAGF,2EAA6F;IACzF,2EAAsD;IAClD,qEAAG;IAAA,wDAAoB;IAAA,6DAAI;IAC/B,6DAAM;IACV,6DAAM;;;IAFK,2DAAoB;IAApB,oFAAoB;;;;IAHnC,2EAA2D;IACvD,6HAIM;IACN,yEAAyF;IAAhD,qXAAS,kCAAqC,IAAC;IAAC,sEAAU;IAAA,6DAAI;IACvG,yEAAwE;IAAA,wEAAY;IAAA,6DAAI;IACxF,yEAAkC;IAAA,8KAAmB;IAAA,6DAAI;IAC7D,6DAAM;;;IARuE,2DAAkB;IAAlB,6FAAkB;;;IAe/F,2EAAgE;IAC5D,2EAAsE;IAClE,yEAAoC;IAAA,sJAAe;IAAA,6DAAI;IACvD,yEAA+C;IAAA,wEAAY;IAAA,6DAAI;IAC/D,yEAAiD;IAAA,sMAAuB;IAAA,6DAAI;IAChF,6DAAM;IAEN,8EAAuF;IAAA,oFAAI;IAAA,6DAAS;IACxG,6DAAM;;;;IAkCE,4EAAkF;IAC9E,4EAA8B;IAC1B,wEAAa;IAAA,wDAAmB;IAAA,6DAAI;IACxC,6DAAM;IACN,4EAA8B;IAC1B,wEAAa;IAAA,wDAAuB;IAAA,6DAAI;IAC5C,6DAAM;IACN,4EAA8B;IAC1B,wEAAa;IAAA,wDAAqB;IAAA,6DAAI;IAC1C,6DAAM;IACN,6EAA8B;IAC1B,yEAAa;IAAA,yDAAiB;IAAA,6DAAI;IACtC,6DAAM;IACN,6EAAqC;IACjC,0EAAmH;;IACnH,2EAA+G;IAA3B,yYAA0B;IAAC,yEAAE;IAAA,6DAAI;IACzH,6DAAM;IACV,6DAAM;;;IAfe,2DAAmB;IAAnB,oFAAmB;IAGnB,2DAAuB;IAAvB,uFAAuB;IAGvB,2DAAqB;IAArB,sFAAqB;IAGrB,2DAAiB;IAAjB,iFAAiB;IAG4C,2DAAwC;IAAxC,yLAAwC;IAArE,0FAA4B;;;IA9CzF,2EAA+D;IAC3D,2EAAgD;IAC5C,8EAAwE;IAAA,oFAAI;IAAA,6DAAS;IACrF,yEAA+C;IAAA,wEAAY;IAAA,6DAAI;IAC/D,yEAAiD;IAAA,wKAAkB;IAAA,6DAAI;IAC3E,6DAAM;IAGN,2EAAqD;IACjD,wEAAa;IAAA,2FAAK;IAAA,6DAAI;IACtB,0EAAoC;IAAA,yDAAwB;IAAA,6DAAI;IAChE,yEAAa;IAAA,+EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,4EAA8B;IAC1B,4EAAoC;IAChC,6EAA8B;IAC1B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,6EAA8B;IAC1B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,6EAA8B;IAC1B,yEAAa;IAAA,qFAAI;IAAA,6DAAI;IACzB,6DAAM;IACN,6EAA8B;IAC1B,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACvB,6DAAM;IACN,6EAAqC;IACjC,2EAA2B;IAAA,yEAAE;IAAA,6DAAI;IACrC,6DAAM;IACV,6DAAM;IACN,iIAiBM;IACV,6DAAM;IACV,6DAAM;;;IAzCsC,4DAAwB;IAAxB,4FAAwB;IAsBb,4DAAgB;IAAhB,yFAAgB;;;;IA+BvE,2EAAiF;IAC7E,yEAAoC;IAAA,8EAAG;IAAA,6DAAI;IAC3C,yEAAwF;IAA1C,qXAAS,+BAA+B,IAAC;IAAC,sEAAU;IAAA,6DAAI;IAC1G,6DAAM;;;IAMM,0EAA6F;IAAA,sEAAU;IAAA,6DAAI;;;IAC3G,0EAAyG;IAAA,0EAAc;IAAA,6DAAI;;;IAJnI,2EAAuF;IACnF,4EAAkD;IAC9C,qEAAG;IAAA,wDAAiB;IAAA,6DAAI;IACxB,gIAA2G;IAC3G,gIAA2H;IAC/H,6DAAM;IACV,6DAAM;;;IAJK,2DAAiB;IAAjB,iFAAiB;IAC2C,2DAA4B;IAA5B,6FAA4B;IACzB,2DAAqC;IAArC,sGAAqC;;;;IALnH,2EAAwD;IACpD,6HAMM;IACN,yEAAmF;IAA1C,qXAAS,+BAA+B,IAAC;IAAC,sEAAU;IAAA,6DAAI;IACrG,6DAAM;;;IARoE,2DAAe;IAAf,0FAAe;;;IAkCrF,wEAA8C;IAAA,sGAAO;IAAA,6DAAI;;;IAD7D,2EAAiF;IAC7E,yHAAyD;IAC7D,6DAAM;;;IADE,2DAA8B;IAA9B,mGAA8B;;;IAIlC,wEAAoD;IAAA,sGAAO;IAAA,6DAAI;;;IADnE,2EAAiH;IAC7G,yHAA+D;IACnE,6DAAM;;;IADE,2DAAoC;IAApC,yGAAoC;;;IAoBhD,yEAAuE;IACnE,oFAAgJ;IACpJ,sEAAe;;;;;IAD8C,2DAAgB;IAAhB,8EAAgB;;;IAgBzE,yEAA2B;IACvB,+FAAsG;IAC1G,sEAAe;;;IAD2B,2DAAsC;IAAtC,wGAAsC;;;;IAMhF,2EAAkF;IAC9E,yEAAoC;IAAA,8EAAG;IAAA,6DAAI;IAC3C,yEAA0F;IAA5C,qXAAS,gCAAiC,IAAC;IAAC,sEAAU;IAAA,6DAAI;IAC5G,6DAAM;;;IAGF,oEAAkE;;;IADtE,yEAA+C;IAC3C,yJAAkE;IACtE,sEAAe;;;;IADI,2DAAkC;IAAlC,mFAAkC;;;;;IAuBzD,4EAAmJ;IAAnF,sYAAmB;IAC/E,0EAAkB;IAAA,wDAAsB;IAAA,6DAAI;IAC5C,0EAAkC;IAAA,wDAAyC;IAAA,6DAAI;IACnF,6DAAM;;;;;IAHyB,oKAAgC;IACzC,2DAAsB;IAAtB,sFAAsB;IACN,2DAAyC;IAAzC,yGAAyC;;;;IAI/E,4EAA+F;IAC3F,0EAA8B;IAAA,wDAA0B;IAAA,6DAAI;IAC5D,0EAA2B;IAAA,wDAAkB;IAAA,6DAAI;IACjD,0EAA0E;IAA/B,yZAA8B;IAAC,iEAAK;IAAA,6DAAI;IACvF,6DAAM;;;IAH4B,2DAA0B;IAA1B,0FAA0B;IAC7B,2DAAkB;IAAlB,kFAAkB;;;;IAd7D,4EAAyB;IACrB,4EAAqC;IACjC,0EAAkC;IAAA,4PAAgC;IAAA,6DAAI;IAC1E,6DAAM;IACN,4EAA8B;IAC1B,4EAAiC;IAC7B,sIAGM;IACV,6DAAM;IACN,4EAA4B;IACxB,sIAIM;IACV,6DAAM;IACV,6DAAM;IACN,4EAAqD;IACjD,2EAA+B;IAAA,qFAAI;IAAA,6DAAI;IACvC,0EAAqF;IAA5C,8XAAS,gCAAiC,IAAC;IAAC,uEAAU;IAAA,6DAAI;IACvG,6DAAM;IACV,6DAAM;;;IAjBkH,2DAAwB;IAAxB,kGAAwB;IAMtF,2DAA+C;IAA/C,kIAA+C;;;ADjVtG,MAAM,uBAAuB;IAWlC,YACU,WAAkC,EAClC,cAA8B,EAC9B,aAA4B,EAC5B,cAA8B,EAC9B,YAA0B,EAC1B,MAAc,EACd,mBAAwC;QANxC,gBAAW,GAAX,WAAW,CAAuB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QAZlD,YAAO,GAAa,EAAE,CAAC;QACvB,iBAAY,GAAkB,EAAE,CAAC;QAEjC,UAAK,GAAW,CAAC,CAAC;QAgClB,yBAAoB,GAAG,CAAC,CAAC,UAAuB,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACpC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,sBAAiB,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,QAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtD,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,sBAAiB,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAvCZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,+CAAQ,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;SACnD,CAAC,CAAC,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAsBD,WAAW,CAAC,OAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,IAAI,CAAC,QAAQ,CAAC,KAAc,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7H,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,kGAAuC,CAAC,CAAC;YACrF,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACZ,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;oBAChC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAChF,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;wBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBACvE,CAAC,CAAC,CACH,CAAC,CAAC;oBACH,OAAO;iBACR;gBAED,+CAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;oBACnE,YAAY,EAAE,KAAK,CAAC,IAAI;oBACxB,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;iBAC3B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,+DAAc,EAAE,CAAC;qBACxB,SAAS,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,iGAAsC,CAChF,IAAI,6CAAU,CAAM,UAAU,CAAC,EAAE;wBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBACvE,CAAC,CAAC,CACH,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;SACF,CAAC,CAAC;IACP,CAAC;;8FAlLU,uBAAuB;sHAAvB,uBAAuB;;;;;;;QCzBpC,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,wEAAE;QAAA,6DAAI;QACnB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,6DAAI;QAE7C,2EAA4B;QACxB,4EAA0D;QAEtD,2EAAyB;QACrB,2EAAuB;QACnB,0EAAqC;QAAA,qFAAI;QAAA,6DAAI;QAC7C,0EAA4C;QAAA,gHAAW;QAAA,6DAAI;QAC/D,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,yEAAqH;;QACrH,uHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,yEAA2G;;QAC3G,uHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,yEAAoH;;QACpH,uHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,4EAAyB;QACrB,+EAAwD;QACpD,+EAAmD;QAAA,2FAAK;QAAA,6DAAS;QACjE,6HAAyF;QAC7F,6DAAS;QACb,6DAAM;QACN,uHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,yEAA2F;;QAC/F,6DAAM;QAEV,6DAAM;QAEN,4EAA6B;QACzB,2EAAuB;QACnB,0EAAqC;QAAA,qFAAI;QAAA,6DAAI;QAC7C,0EAA4C;QAAA,gHAAW;QAAA,6DAAI;QAC/D,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,yEAA+G;;QAC/G,yEAA2H;;QAC3H,uHAEM;QACN,uHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,yEAAE;QAAA,6DAAI;QAC1C,8EAAiE;QAC7D,yEAAuD;QACvD,yEAAa;QAAA,mEAAC;QAAA,6DAAI;QACtB,6DAAQ;QACR,8EAAkC;QAC9B,yEAAuD;QACvD,yEAAa;QAAA,mEAAC;QAAA,6DAAI;QACtB,6DAAQ;QACR,uHAEM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAgF;QAAA,qFAAI;QAAA,6DAAI;QACxF,4EAAgC;QAC5B,4EAAgD;QAC5C,yEAAmI;;QACnI,8EAAkC;QAC9B,yEAAyC;QACzC,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAQ;QACZ,6DAAM;QAEN,yEAAkH;;QAClH,uHAEM;QACV,6DAAM;QACV,6DAAM;QAEN,4EAAuB;QACnB,0EAAoC;QAAA,qFAAI;QAAA,6DAAI;QAC5C,8EAAyJ;QAAxE,gSAAS,UAAa,IAAC;;QAAxG,6DAAyJ;QACzJ,yEAAiK;;QACjK,sFAAyF;QACzF,0FAAwE;QAExE,yHAEM;QACV,6DAAM;QAEN,6EAAuB;QACnB,2EAA2B;QAAA,wGAAO;QAAA,6DAAI;QACtC,+EAAiE;QAC7D,0EAA6D;QAC7D,0EAAa;QAAA,oEAAC;QAAA,6DAAI;QACtB,6DAAQ;QACR,+EAAkC;QAC9B,0EAA8D;QAC9D,0EAAa;QAAA,0EAAE;QAAA,6DAAI;QACvB,6DAAQ;QAER,yHAEM;QACV,6DAAM;QAEN,6EAAuB;QACnB,2EAAuE;QAAA,sFAAI;QAAA,6DAAI;QAC/E,yHAKM;QAEN,yHASM;QACV,6DAAM;QAEN,6FAA8F;QAE9F,6EAAuB;QACnB,2EAAuE;QAAA,gFAAG;QAAA,6DAAI;QAC9E,0HAQM;QAEN,0HAmDM;QAEV,6DAAM;QAEN,6EAAuB;QACnB,2EAA2B;QAAA,4FAAK;QAAA,6DAAI;QACpC,0EAAoH;;QACpH,0EAA4H;;QAChI,6DAAM;QAEN,6EAAuB;QACnB,2EAAuE;QAAA,sFAAI;QAAA,6DAAI;QAC/E,yHAGM;QAEN,yHASM;QACV,6DAAM;QAEN,yFAAgF;QAEhF,6EAAuB;QACnB,2EAAoC;QAAA,sFAAI;QAAA,6DAAI;QAC5C,6EAAyB;QACrB,gFAA0D;QACtD,gFAAyC;QAAA,sFAAI;QAAA,6DAAS;QACtD,gFAA0C;QAAA,sFAAI;QAAA,6DAAS;QACvD,gFAAkC;QAAA,wGAAO;QAAA,6DAAS;QAClD,gFAAmC;QAAA,sFAAI;QAAA,6DAAS;QACpD,6DAAS;QACb,6DAAM;QACN,6EAA8B;QAC1B,gFAAgE;QAC5D,gFAAyC;QAAA,sFAAI;QAAA,6DAAS;QACtD,gFAAqC;QAAA,4FAAK;QAAA,6DAAS;QACnD,gFAAoC;QAAA,0EAAE;QAAA,6DAAS;QAC/C,gFAAkC;QAAA,0EAAE;QAAA,6DAAS;QAC7C,gFAA+B;QAAA,gFAAG;QAAA,6DAAS;QAC/C,6DAAS;QACb,6DAAM;QAEN,yHAEM;QAEN,yHAEM;QACV,6DAAM;QACL,6EAAqE;QAClE,2EAA6C;QAAA,0EAAE;QAAA,6DAAI;QACnD,yEAAK;QACD,6EAA6E;QAAA,wGAAO;QAAA,6DAAM;QAC1F,6EAA2J;;QAE/J,6DAAM;QAEV,6DAAM;QACV,6DAAM;QAEN,6EAAyB;QACrB,4EAAuB;QACnB,2EAAqC;QAAA,sFAAI;QAAA,6DAAI;QAC7C,2EAA4C;QAAA,qKAAkB;QAAA,6DAAI;QACtE,6DAAM;QAEN,2IAEe;QAEf,6EAAiE;QAA5B,+IAAS,qBAAiB,IAAC;QAC5D,2EAAoC;QAAA,sFAAI;QAAA,6DAAI;QAChD,6DAAM;QACV,6DAAM;QAEN,6EAA2B;QACvB,4EAAuB;QACnB,2EAAqC;QAAA,kGAAM;QAAA,6DAAI;QAC/C,2EAA4C;QAAA,oTAAyC;QAAA,6DAAI;QAC7F,6DAAM;QAEN,6EAAuB;QACnB,2EAAgF;QAAA,sFAAI;QAAA,6DAAI;QACxF,2IAEe;QACnB,6DAAM;QAEN,6EAAuB;QACnB,2EAAgF;QAAA,4FAAK;QAAA,6DAAI;QACzF,yHAGM;QAEN,2IAEe;QACnB,6DAAM;QAEN,0FAAoF;QACxF,6DAAM;QAEN,6EAAyG;QACrG,gFAAyE;QAA5B,kJAAS,WAAO,IAAC;QAAW,0EAAE;QAAA,6DAAS;QACpF,gFAA2G;QAA7B,kJAAS,YAAQ,IAAC;QAAW,sFAAI;QAAA,6DAAS;QAC5H,6DAAM;QACV,6DAAO;QAEX,6DAAM;QACV,6DAAM;QAEN,uNAyBc;;;QA5WuB,4DAA4B;QAA5B,0FAA4B;QAUF,4DAA8C;QAA9C,yNAA8C;QACnD,2DAAyC;QAAzC,8GAAyC;QAOtC,2DAAsC;QAAtC,mLAAsC;QACzC,2DAAyC;QAAzC,8GAAyC;QAOtC,2DAA+C;QAA/C,oOAA+C;QAClD,2DAAyC;QAAzC,8GAAyC;QAS/D,2DAAc;QAAd,0EAAc;QACK,2DAAU;QAAV,iFAAU;QAGP,2DAAqC;QAArC,0GAAqC;QAOhC,2DAAsC;QAAtC,mLAAsC;QAaxC,4DAAuC;QAAvC,oLAAuC;QAClC,2DAA8C;QAA9C,uKAA8C;QACtD,2DAA+C;QAA/C,oHAA+C;QAG/C,2DAAsE;QAAtE,+IAAsE;QAetE,4DAAqC;QAArC,0GAAqC;QAS0B,2DAAqC;QAArC,wKAAqC;QAO3D,2DAAsC;QAAtC,mLAAsC;QAC3E,2DAAmC;QAAnC,wGAAmC;QAQ4B,2DAAsC;QAAtC,mLAAsC;QAAlH,+EAAwB;QACiD,2DAAwC;QAAxC,+LAAwC;QAA5G,6EAAe;QAEhB,2DAAc;QAAd,qEAAc;QAET,2DAAyC;QAAzC,8GAAyC;QAQvD,2DAAc;QAAd,wEAAc;QAId,2DAAe;QAAf,yEAAe;QAID,2DAAuC;QAAvC,4GAAuC;QAO5B,2DAAiC;QAAjC,kGAAiC;QAOzD,2DAAgC;QAAhC,iGAAgC;QAYtB,2DAA+B;QAA/B,6FAA+B;QAIjC,2DAA6B;QAA7B,8FAA6B;QAU7B,2DAA4B;QAA5B,6FAA4B;QAyDgB,2DAAsC;QAAtC,oLAAsC;QAChC,2DAAwC;QAAxC,gMAAwC;QAK1E,2DAA8B;QAA9B,+FAA8B;QAKtD,2DAA6B;QAA7B,8FAA6B;QAY1B,2DAA4B;QAA5B,0FAA4B;QAMxC,2DAAc;QAAd,0EAAc;QAQd,4DAAc;QAAd,0EAAc;QAQQ,4DAAyC;QAAzC,8GAAyC;QAIzC,2DAAyE;QAAzE,kJAAyE;QAQA,2DAAoC;QAApC,wKAAoC;QAarH,2DAAkB;QAAlB,wFAAkB;QAiBjC,4DAAU;QAAV,2EAAU;QAOwB,2DAA+B;QAA/B,gGAA+B;QAKjE,2DAA8B;QAA9B,+FAA8B;QAKf,2DAA6B;QAA7B,2FAA6B;;;;;;;;;;;;;;;;;;;;;;;;;AC9UxB;AAEI;;;;;;;;ICEvD,wEAA2C;IAAA,uDAAmD;IAAA,4DAAI;;;IAAvD,0DAAmD;IAAnD,qIAAmD;;ADQ3F,MAAM,uBAAuB;IAKlC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB;QAFrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QAN/B,YAAO,GAAmB,IAAI,CAAC;QAC/B,eAAU,GAA+B,IAAI,CAAC;IAM1C,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC/E,IAAI,CAAC,2DAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAExB,sCAAsC;YACtC,IAAI,CAAC,cAAc,CAAC,aAAa;gBAC/B,2DAA2D;iBAC1D,SAAS,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK;aACpC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC;;8FA/BU,uBAAuB;qHAAvB,uBAAuB;QCfpC,yEAAoB;QAChB,yEAAqC;QACjC,uEAAa;QAAA,uEAAE;QAAA,4DAAI;QACnB,uEAAgB;QAAA,4DAAC;QAAA,4DAAI;QACrB,uEAAoC;QAAA,mFAAI;QAAA,4DAAI;QAChD,4DAAM;QAEN,+GAAkG;QAElG,yEAA4B;QACxB,0EAA8B;QAC1B,wEAAyF;QAAA,oFAAI;QAAA,4DAAI;QACjG,wEAA6F;QAAA,oFAAI;QAAA,4DAAI;QACzG,4DAAM;QACN,2EAA4B;QACxB,2EAAgE;QAC5D,sFAAgD;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEV,4DAAM;;;QAd0B,0DAAa;QAAb,6EAAa;QAQD,0DAA+B;QAA/B,yFAA+B;goGDF7D,CAAC,mFAA6B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEXH;AACoB;;;;;;;;;;;;;;;;;;;ICyClD,oEAA4D;;;;;;IA4CxD,2EAA6D;IACzD,2EAA2F;IACvF,2EAAyC;IACrC,6EAA+F;IAAxE,gPAA8B;IAArD,6DAA+F;IACnG,6DAAM;IACV,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAsB;IAAA,6DAAI;IACjC,6DAAM;IACN,2EAAuE;IACnE,qEAAG;IAAA,wDAAyB;IAAA,6DAAI;IACpC,6DAAM;IACN,4EAAuE;IACnE,0EAAiE;IAAA,yDAAyB;IAAA,6DAAI;IAClG,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAAgC;;IAAA,6DAAI;IAC3C,6DAAM;IACN,4EAAsE;IAClE,sEAAG;IAAA,yDAA+B;IAAA,6DAAI;IAC1C,6DAAM;IACN,4EAAqE;IACjE,sEAAG;IAAA,yDAAmB;IAAA,6DAAI;IAC9B,6DAAM;IACN,4EAAuE;IACnE,0EAA0E;IAAA,yDAAkC;IAAA,6DAAI;IACpH,6DAAM;IACN,4EAAsE;IAClE,0EAAqD;IAAA,yDAAkC;;IAAA,6DAAI;IAC/F,6DAAM;IACN,4EAAqE;IACjE,0EAA2G;IAAA,yEAAE;IAAA,6DAAI;IACjH,0EAAyF;IAA7C,6YAAkC;IAAW,yEAAE;IAAA,6DAAI;IACnG,6DAAM;IACV,6DAAM;;;IA/B6B,2DAA8B;IAA9B,yFAA8B;IAItD,2DAAsB;IAAtB,qFAAsB;IAGtB,2DAAyB;IAAzB,wFAAyB;IAGzB,2DAAkC;IAAlC,+FAAkC;IAA4B,2DAAyB;IAAzB,wFAAyB;IAGvF,2DAAgC;IAAhC,uJAAgC;IAGhC,2DAA+B;IAA/B,8FAA+B;IAG/B,2DAAmB;IAAnB,kFAAmB;IAGnB,2DAA2C;IAA3C,wGAA2C;IAA4B,2DAAkC;IAAlC,iGAAkC;IAGzG,2DAAiD;IAAjD,yKAAiD;IAAC,2DAAkC;IAAlC,4JAAkC;IAG3C,2DAAoD;IAApD,iKAAoD;;;IAKxG,2EAAyD;IACrD,2EAA6B;IACzB,yEAAyC;IAAA,oFAAI;IAAA,6DAAI;IACrD,6DAAM;IACV,6DAAM;;;IAGV,oEAA4D;;;;;;IAMpE,0EAAgD;IAC5C,2EAAuD;IACnD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACpB,yEAAiC;IAAA,wDAAmB;IAAA,6DAAI;IACxD,wEAAa;IAAA,8EAAG;IAAA,6DAAI;IACxB,6DAAM;IAEN,yEAAgH;IAArC,4UAA0B;IAAW,oFAAI;IAAA,6DAAI;IAExH,4EAA2D;IACvD,yEAAa;IAAA,yEAAE;IAAA,6DAAI;IACnB,0EAAqB;IAAA,yDAAW;IAAA,6DAAI;IACpC,yEAAa;IAAA,mEAAC;IAAA,6DAAI;IACtB,6DAAM;IAEN,4EAA6B;IACzB,+EAAuG;IAA5E,qXAAkC,+QAA0B,CAAC,iCAA3B;IACzD,+EAA8B;IAAA,8EAAO;IAAA,6DAAS;IAC9C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IAChD,+EAA8B;IAAA,+EAAQ;IAAA,6DAAS;IAC/C,+EAA+B;IAAA,+EAAQ;IAAA,6DAAS;IACpD,6DAAS;IACb,6DAAM;IAEN,0EAA6I;IAAvD,wVAAuC,CAAC,iCAAc;IAAC,yEAAY;IAAA,6DAAI;IAC7J,8EAA2F;IAAnD,4WAA0B;IAAlE,6DAA2F;IAC3F,0EAA+B;IAAA,8DAAC;IAAA,6DAAI;IACpC,0EAAuB;IAAA,yDAAW;IAAA,6DAAI;IACtC,0EAAiJ;IAAvD,yVAAuC,CAAC,iCAAc;IAAC,0EAAa;IAAA,6DAAI;IACtK,6DAAM;;;IA3BmC,2DAAmB;IAAnB,sFAAmB;IAIxB,2DAA0C;IAA1C,wKAA0C;IAIjD,2DAAW;IAAX,8EAAW;IAKL,2DAAkC;IAAlC,iGAAkC;IACjD,2DAAW;IAAX,uEAAW;IACX,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IACZ,2DAAY;IAAZ,wEAAY;IAIc,2DAA2C;IAA3C,uKAA2C;IAC7C,2DAA0B;IAA1B,yFAA0B;IAE3C,2DAAW;IAAX,8EAAW;IACQ,2DAA+C;IAA/C,kLAA+C;;;ADjJ1F,MAAM,yBAAyB;IAyBpC,YACU,cAA8B,EAC9B,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,mBAAwC,EACxC,aAA4B,EAC5B,aAA4B;QAN5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QA9BtC,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAc,EAAE,CAAC;QACzB,WAAM,GAAc,EAAE,CAAC;QAEvB,YAAO,GAAQ;YACb,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAC,EAAE;SACb,CAAC;QAsEF,uBAAkB,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,uBAAkB,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAe,EAAE,YAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,wBAAmB,GAAG,CAAC,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,0BAAqB,GAAG,CAAC,CAAC,OAAuB,EAAE,OAAuB,EAAE,OAAuB,EAAE,YAAkB,EAAE,UAAgB,EAAE,EAAE;YAC3I,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAGd,0BAAqB,GAAG,CAAC,CAAC,MAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAE,EAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAE,GAAE,CAAC,QAAQ,EAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,KAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IArGV,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtD,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;wBAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,CAAC,QAAQ;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACtI,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cAClE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;cACrC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAI,IAAI,CAAC,OAAO,CAAC,YAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/G,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,GAAI,IAAI,CAAC,OAAO,CAAC,UAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cACzG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IA6CD,SAAS;QACP,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,0FAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,cAAc;QACZ,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,8FAAmC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClJ,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3F,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC1D,IAAI,CAAC,yDAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;aACvD,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB;QACxB,OAAO,wBAAwB;cAC3B,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7E,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAClF,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACvF,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACrF,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACjG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC3F,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;cAC5E,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/F,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAI,IAAI,CAAC,OAAO,CAAC,YAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;cAC/G,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,GAAI,IAAI,CAAC,OAAO,CAAC,UAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;IACnD,CAAC;;kGA3MU,yBAAyB;wHAAzB,yBAAyB;QCrBtC,0EAAoB;QAChB,0EAAqC;QACjC,wEAAa;QAAA,wEAAE;QAAA,6DAAI;QACnB,wEAAgB;QAAA,6DAAC;QAAA,6DAAI;QACrB,wEAAoC;QAAA,oFAAI;QAAA,6DAAI;QAChD,6DAAM;QAEN,wEAAqC;QAAA,oFAAI;QAAA,6DAAI;QAE7C,2EAA4B;QACxB,2EAA4B;QAExB,2EAAgD;QAC5C,mFAAiH;QAEjH,+EAAqD;QAAlB,mJAAS,WAAO,IAAC;QAChD,0EAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAuE;QACnE,0EAAqC;QAAA,uEAAU;QAAA,6DAAI;QACnD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAoE;QAA5B,mJAAS,qBAAiB,IAAC;QAC/D,0EAAqC;QAAA,sEAAS;QAAA,6DAAI;QAClD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QAET,+EAAgE;QAAxB,mJAAS,iBAAa,IAAC;QAC3D,0EAAqC;QAAA,oEAAO;QAAA,6DAAI;QAChD,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAS;QACb,6DAAM;QAEN,4EAAoF;QAChF,qFAAqE;QACrE,sFAAqF;QACrF,sFAAqF;QACrF,wFAA2F;QAC3F,yFAA6F;QACjG,6DAAM;QAEN,2IAA4D;QAE5D,8EAAoC;QAChC,4EAAmC;QAC/B,4EAA2F;QACvF,8EAAuE;QAAtB,kJAAS,eAAW,IAAC;QAAtE,6DAAuE;QAC3E,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACrB,4EAA4H;QAA5F,2NAA8E,IAAI,SAAC,WAAO,IAAC;QACvH,0EAAiG;QAAA,0EAAa;QAAA,6DAAI;QAClH,0EAAgG;QAAA,4EAAe;QAAA,6DAAI;QACvH,6DAAM;QACV,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAY;QAAA,6DAAI;QACjC,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,qFAAI;QAAA,6DAAI;QACzB,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAuE;QACnE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACN,4EAAsE;QAClE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACnB,4EAA0H;QAA1F,yNAA4E,IAAI,SAAC,WAAO,IAAC;QACrH,0EAA+F;QAAA,0EAAa;QAAA,6DAAI;QAChH,0EAA8F;QAAA,4EAAe;QAAA,6DAAI;QACrH,6DAAM;QACV,6DAAM;QACN,4EAAqE;QACjE,yEAAa;QAAA,yEAAE;QAAA,6DAAI;QACvB,6DAAM;QACV,6DAAM;QAEN,2HAkCM;QAEN,yHAIM;QACV,6DAAQ;QAER,2IAA4D;QAChE,6DAAM;QACV,6DAAM;QACV,6DAAM;QAEN,wNAgCc;;;QA3JmC,4DAA8B;QAA9B,0IAA8B;QAwB5C,4DAA6B;QAA7B,2FAA6B;QAC5B,2DAA8B;QAA9B,4FAA8B;QAC9B,2DAA8B;QAA9B,4FAA8B;QAC5B,2DAAgC;QAAhC,8FAAgC;QAC/B,2DAAgC;QAAhC,8FAAgC;QAG5C,2DAA4B;QAA5B,kFAA4B;QAKR,2DAAyB;QAAzB,uFAAyB;QAKF,2DAAsD;QAAtD,yKAAsD;QACtD,2DAAqD;QAArD,wKAAqD;QAwBrD,4DAAoD;QAApD,uKAAoD;QACpD,2DAAmD;QAAnD,sKAAmD;QAQzD,2DAAW;QAAX,kFAAW;QAoC9B,2DAA0B;QAA1B,2FAA0B;QAO5C,2DAA4B;QAA5B,kFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClIR;AACqD;AAC7C;AACW;AACd;AACE;AACO;AACM;AACH;AAC8B;AACY;AACN;AACN;AACN;AACY;AACuB;AACN;AACS;AACN;AACf;AACG;AACN;AACoB;;;;AAE1H,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,6GAAyB,EAAE;IAC1D,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,6GAAyB,EAAE;IACpE;QACE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,uGAAuB,EAAE,QAAQ,EAAE;YAClE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iGAAoB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE;YACzF,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,6GAAwB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE;YACrG,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;YACtD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;SACtC;KACF;IACD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,uGAAuB,EAAE;IACtD,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,6GAAyB,EAAE;IAC9D,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,mHAA0B,EAAE;IAClE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,sHAA2B,EAAE;IACpE,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,gHAAyB,EAAE;IACtE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;CACvC,CAAC;AAgBK,MAAM,UAAU;;oEAAV,UAAU;wGAAV,UAAU;4GAZZ;YACP,0DAAY;YACZ,mEAAqB,CAAC,MAAM,CAAC;YAC7B,wDAAW;YACX,gEAAmB;YACnB,4DAAW;YACX,0EAAwB,EAAE;YAC1B,wEAAgB;YAChB,8EAAmB;YACnB,2EAAiB;SAClB;oIAEU,UAAU,mBAbN,6GAAyB,EAAE,uGAAuB,EAAE,mHAA0B,EAAE,6GAAyB,EAAE,uGAAuB,EAAE,iGAAoB,EAAE,6GAAwB,EAAE,oIAA+B,EAAE,8HAA6B,EAAE,wIAAgC,EAAE,kIAA8B,EAAE,mHAA0B,EAAE,sHAA2B,EAAE,gHAAyB,EAAE,oIAA8B,aAErb,0DAAY,8DAEZ,wDAAW;QACX,gEAAmB;QACnB,4DAAW,qEAEX,wEAAgB;QAChB,8EAAmB;QACnB,2EAAiB;;;;;;;;;;;;;;;;;ACxDwF;AAEtG,MAAM,eAAe;;AACV,wBAAQ,GAAG;IACrB,4DAAO,CAAC,UAAU,EAAE;QAChB,0DAAK,CAAC,IAAI,EAAE,0DAAK,CAAC,EAAE,CAAC,CAAC;QACtB,0DAAK,CAAC,KAAK,EAAE,0DAAK,CAAC;YACf,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,MAAM;YACpB,cAAc,EAAE,aAAa;SAChC,CAAC,CAAC;QACH,+DAAU,CAAC,WAAW,EAAE;YACpB,4DAAO,CAAC,OAAO,CAAC;SACnB,CAAC;QACF,+DAAU,CAAC,WAAW,EAAE;YACpB,4DAAO,CAAC,OAAO,CAAC;SACnB,CAAC;KACL,CAAC;CACL;AAEa,+BAAe,GAAG;IAC5B,4DAAO,CAAC,OAAO,EAAE;QACb,+DAAU,CAAC,4DAA4D,EAAE;YACrE,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;QACF,+DAAU,CAAC,4DAA4D,EAAE;YACrE,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;KACL,CAAC;CACL,CAAC;AAEY,6BAAa,GAAG;IAC1B,4DAAO,CAAC,OAAO,EAAE;QACb,+DAAU,CAAC,wBAAwB,EAAE;YACjC,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;QACF,+DAAU,CAAC,wBAAwB,EAAE;YACjC,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;KACL,CAAC;CACL;AAEa,iCAAiB,GAAG;IAC9B,4DAAO,CAAC,OAAO,EAAE;QACb,+DAAU,CAAC,sDAAsD,EAAE;YAC/D,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;QACF,+DAAU,CAAC,sDAAsD,EAAE;YAC/D,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;KACL,CAAC;CACL,CAAC;AAEY,iCAAiB,GAAG;IAC9B,4DAAO,CAAC,OAAO,EAAE;QACb,+DAAU,CAAC,kBAAkB,EAAE;YAC3B,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;QACF,+DAAU,CAAC,kBAAkB,EAAE;YAC3B,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;KACL,CAAC;CACL,CAAC;AAEY,8BAAc,GAAG;IAC3B,4DAAO,CAAC,OAAO,EAAE;QACb,+DAAU,CAAC,oLAAoL,EAAE;YAC7L,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;QACF,+DAAU,CAAC,oLAAoL,EAAE;YAC7L,0DAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC/B,0DAAK,CAAC,gBAAgB,EAAE;gBACpB,0DAAK,CAAC;oBACF,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;iBAChB,CAAC;aACL,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,0DAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;YAC/B,0DAAK,CAAC;gBACF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjF,0DAAK,CAAC,QAAQ,EAAE,CAAC,4DAAO,CAAC,eAAe,EAAE,0DAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,0DAAK,CAAC,QAAQ,EAAE,iEAAY,EAAE,CAAC;SAClC,CAAC;KACL,CAAC;CACL;;;;;;;;;;;;;;;;;;;;ACrME,MAAM,YAAY;IAEvB,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;IAEE,WAAW,CAAC,KAAkE;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmE,eAAe,EAAE,KAAK,CAAC,CAAC;IACzH,CAAC;IAEM,WAAW,CAAC,KAAkD;QACnE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmD,eAAe,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;;wEAZU,YAAY;6GAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;ACHiB;AAO+B;;;AAK7D,MAAM,gBAAgB;IAE3B,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;IAEE,mBAAmB,CAAC,UAAmB;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,0BAA0B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC9G,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,qBAAqB,CAAC,UAAmB;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,4BAA4B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAChH,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,0BAA0B,CAAC,UAAmB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,mCAAmC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACvH,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,4BAA4B,CAAC,UAAmB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,qCAAqC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACzH,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,wBAAwB,CAAC,UAAmB;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,iCAAiC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACrH,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,0BAA0B,CAAC,UAAmB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,mCAAmC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACvH,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,oBAAoB,CAAC,UAAmB;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAsB,2BAA2B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC5H,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,qBAAqB,CAAC,UAAmB;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,4BAA4B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAChH,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,uBAAuB,CAAC,KAAmC;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAqD,+BAA+B,EAAE,KAAK,CAAC;aACrH,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,gBAAgB,CAAC,UAAmB,EAAC,IAAa,EAAC,SAAiB,EAAC,OAAe;QACzF,IAAI,QAAQ,GAAC,MAAM,CAAC;QACpB,QAAQ,IAAE,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,QAAQ,IAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjD,QAAQ,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxC,QAAQ,IAAE,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAa,sBAAsB,GAAG,CAAC,QAAQ,CAAC,CAAC;aACzE,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,oEAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACM,gBAAgB,CAAC,SAAiB,EAAC,OAAe,EAAC,IAAa,EAAC,SAAiB,EAAC,WAAmB,EAAC,UAAkB;QAC9H,IAAI,QAAQ,GAAC,MAAM,CAAC;QACpB,QAAQ,IAAE,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,QAAQ,IAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjD,QAAQ,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxC,QAAQ,IAAE,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,QAAQ,IAAE,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,QAAQ,IAAE,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgB,uBAAuB,GAAG,QAAQ,CAAC;aAC3E,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,eAAe,CAAC,UAAmB,EAAC,IAAY,EAAC,SAAiB,EAAC,OAAe,EAAC,cAAsB;QAC9G,IAAI,QAAQ,GAAC,MAAM,CAAC;QACpB,QAAQ,IAAE,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,QAAQ,IAAE,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,QAAQ,IAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjD,QAAQ,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxC,QAAQ,IAAE,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,sBAAsB,GAAG,QAAQ,CAAC;aACzE,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,UAAU,CAAC,UAAmB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqC,qBAAqB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACrI,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqC,qBAAqB,CAAC;aACnF,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;;gFA7FU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;;;;;;;;;;ACViB;AAEmD;AACa;AAIA;;;AAK9F,MAAM,mBAAmB;IAsB9B,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QApB5C,SAAI,GAA2B,IAAI,+GAAsB,EAAE,CAAC;QACpD,cAAS,GAAU,EAAE,CAAC;IAmBkB,CAAC;IAjBjD,YAAY,CAAC,QAAkB;QAC7B,IAAI,CAAC,SAAS,GAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAE,EAAC,CAAC,IAAI,CAAC,CAAC;QACvC,kCAAkC;QAClC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAE,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,YAAY;;QAER,MAAM,CAAC,GAAQ,YAAM,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,mCAAE,EAAE,CAAC;QACnE,IAAG,CAAC,IAAE,EAAE;YACN,OAAO,EAAE,CAAC;aACR;YACF,IAAI,IAAI,GAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;IACL,CAAC;IAID,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgB,gBAAgB,GAAG,IAAI,CAAC;aAChE,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,mFAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,mBAAmB,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA+C,eAAe,GAAG,WAAW,CAAC;aACrG,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE;YAChB,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;gBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,4FAAgB,CAAC,YAAY,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kBAAkB,CAAC,KAA8B;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkC,eAAe,EAAE,KAAK,CAAC;aAClF,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,KAA8B;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA+B,eAAe,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,MAAc;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAoD,0BAA0B,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzJ,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,aAAa,CAAC,gBAAwB,EAAE,SAAmB;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA8D,6BAA6B,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7L,CAAC;IAED,eAAe,CAAC,gBAAwB,EAAE,QAAgB;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2D,+BAA+B,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1L,CAAC;IAED,eAAe,CAAC,KAAmC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAoC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC9F,CAAC;IAED,iBAAiB,CAAC,KAAmC;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAoC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAChG,CAAC;;sFAtEU,mBAAmB;oHAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACVsB;AACe;AAMoB;;;AAKtE,MAAM,qBAAqB;IAIhC,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAHlC,SAAI,GAAmB,IAAI,uFAAc,EAAE,CAAC;IAGN,CAAC;IAEhC,QAAQ,CAAC,KAAsB;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA0B,eAAe,EAAE,KAAK,CAAC;aAC1E,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,IAAkB;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA8B,mBAAmB,EAAE,IAAI,CAAC;aACjF,IAAI,CACH,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAC1B,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAClE,CAAC;IACN,CAAC;IAEM,OAAO;QACZ,YAAY,CAAC,UAAU,CAAC,4EAAmB,CAAC,CAAC;QAC7C,YAAY,CAAC,UAAU,CAAC,2EAAkB,CAAC,CAAC;IAC9C,CAAC;IAEM,yBAAyB,CAAC,KAAqC;QACpE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAsC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC9F,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAwB,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IAEO,qBAAqB,CAAC,IAAY,EAAE,KAAa;QACvD,YAAY,CAAC,OAAO,CAAC,4EAAmB,EAAE,KAAK,CAAC,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,2EAAkB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEM,eAAe;QACpB,OAAO,YAAY,CAAC,OAAO,CAAC,4EAAmB,CAAC,IAAI,IAAI,CAAC;IAC3D,CAAC;;0FAxCU,qBAAqB;sHAArB,qBAAqB,WAArB,qBAAqB,mBAFpB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACViB;AAEyC;AAGd;AAC2B;;;AAMpF,MAAM,gBAAgB;IAE3B,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;IAGE,gBAAgB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,WAAW,CAAC;aACnD,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,4EAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAEM,sBAAsB;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAY,2BAA2B,CAAC;aAChE,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,iEAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,sBAAsB,CAAC,aAAiC;QAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAa,YAAY,GAAG,aAAa,CAAC;aAClE,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,qGAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEM,eAAe,CAAC,KAA2B;QAChD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,WAAW,EAAE,KAAK,CAAC;aACrF,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,eAAe,CAAC,KAA2B;QAChD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAEM,kBAAkB,CAAC,aAAiC,EAAE,SAAmB;QAC9E,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkE,qBAAqB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/K,CAAC;IAEM,qBAAqB,CAAC,aAAiC,EAAE,SAAmB;QACjF,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkE,wBAAwB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAClL,CAAC;IAEM,qBAAqB,CAAC,aAAqB,EAAE,SAAmB;QACrE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA6C,+BAA+B,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3J,CAAC;IAEM,0BAA0B,CAAC,aAAqB,EAAE,SAAmB;QAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA6C,kCAAkC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9J,CAAC;;gFA7CU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;AAkDpB,SAAS,gBAAgB,CAAC,CAAY,EAAE,CAAY;IAClD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9D,CAAC;;;;;;;;;;;;;;;;;;;;;AChEwD;AAEF;AAEkC;;;AAQlF,MAAM,aAAa;IAKxB,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAJlC,uBAAkB,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAC3D,uBAAkB,GAAsB,IAAI,uDAAY,EAAE,CAAC;IAIvD,CAAC;IAEE,UAAU;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAY,QAAQ,CAAC;aAC7C,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,iEAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAY,sBAAsB,CAAC;aAC3D,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,iEAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEM,YAAY,CAAC,KAAwB;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyB,QAAQ,EAAE,KAAK,CAAC;aAClE,IAAI,CAAC,mDAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,YAAY,CAAC,KAAwB;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,QAAQ,EAAE,KAAK,CAAC;aACjE,IAAI,CAAC,mDAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,gBAAgB,CAAC,OAAiB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiC,sBAAsB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACjH,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgB,wBAAwB,CAAC;aACjE,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,qEAAU,CAAC,UAAU,CAAC,MAAM,EAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACpH,CAAC;IACM,sBAAsB,CAAC,KAA2B;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC1F,CAAC;;0EAvCU,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;AA4CpB,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC;;;;;;;;;;;;;;;;;;;ACtDoC;;;AAO9B,MAAM,wBAAwB;IAEnC,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;IAEE,wBAAwB;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAsB,mBAAmB,CAAC;aAClE,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,uBAAuB,CAAC,KAA0B;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAqC,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzG,CAAC;IAEM,uBAAuB,CAAC,KAA0B;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqC,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;;gGAjBU,wBAAwB;yHAAxB,wBAAwB,WAAxB,wBAAwB,mBAFvB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACLiB;AAK+C;AACkB;AACJ;;;AAK3F,MAAM,eAAe;IAK1B,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAJlC,2BAAsB,GAA2B,IAAI,4GAAsB,EAAE,CAAC;QAC9E,6BAAwB,GAA6B,IAAI,gHAAwB,EAAE,CAAC;IAIhF,CAAC;IAEE,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiB,WAAW,CAAC;YACtD,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,gFAAW,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC;IAEM,cAAc,CAAC,KAA8B;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAEM,aAAa,CAAC,KAAgC;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEM,cAAc,CAAC,KAA0B;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;;8EAxBU,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;AA8BpB,SAAS,kBAAkB,CAAC,CAAc,EAAE,CAAc;IACxD,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;;;;;;;;;;;;;;;;AC5CwD;;AAKlD,MAAM,kBAAkB;IAI7B;QAFA,gBAAW,GAAsB,IAAI,uDAAY,EAAE,CAAC;IAEpC,CAAC;;oFAJN,kBAAkB;mHAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;;;ACDiB;AAGyC;;;AAMvE,MAAM,gBAAgB;IAE3B,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;IAGE,gBAAgB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,YAAY,CAAC;aACpD,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,4EAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAEM,eAAe,CAAC,KAA2B;QAChD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;IAEM,eAAe,CAAC,KAA2B;QAChD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAkB,aAAa,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClF,CAAC;;gFAlBU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;AAuBpB,SAAS,gBAAgB,CAAC,CAAY,EAAE,CAAY;IAClD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9D,CAAC;;;;;;;;;;;;;;;;;;;;;;;AChCoC;AAKuB;AAC0B;AAIN;AACa;;;AAKtF,MAAM,YAAY;IAKvB,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAJlC,SAAI,GAAoB,IAAI,0FAAe,EAAE,CAAC;QAC9C,oBAAe,GAA0B,IAAI,uGAAqB,EAAE,CAAC;IAIjE,CAAC;IAEE,SAAS,CAAC,WAAmB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4C,QAAQ,GAAG,WAAW,CAAC;aAC3F,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE;YAChB,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gFAAa,CAAC,CAAC,CAAC,CAAC;gBACtD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;aAC1B;QACH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAEM,cAAc,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAS,SAAS,GAAG,IAAI,CAAC;aAClD,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,8DAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,WAAW,CAAC,KAAuB;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAwB,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAEM,WAAW,CAAC,SAAiB,EAAE,KAAuB;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAwB,SAAS,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,oBAAoB;IACb,YAAY,CAAC,KAAe;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA0B,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,SAAS,CAAC,SAAiB,EAAE,KAAoC;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAqC,SAAS,GAAG,SAAS,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7G,CAAC;IAEM,QAAQ,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAW,SAAS,GAAG,SAAS,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAEM,gCAAgC,CAAC,SAAiB,EAAE,KAAwC;QACjG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,SAAS,GAAG,SAAS,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC1H,CAAC;IAEM,kBAAkB,CAAC,SAAiB,EAAE,KAA2C;QACtF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4C,SAAS,GAAG,SAAS,GAAG,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC/H,CAAC;IAEM,gBAAgB,CAAC,SAAiB,EAAE,KAAyB;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA0B,SAAS,GAAG,SAAS,GAAG,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACzG,CAAC;IAEM,SAAS,CAAC,SAAiB,EAAE,KAAyB;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA0B,SAAS,GAAG,SAAS,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;IACtG,CAAC;IAEM,QAAQ,CAAC,SAAiB,EAAE,KAAyB;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA0B,SAAS,GAAG,SAAS,GAAG,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACzG,CAAC;IAEM,MAAM,CAAC,SAAiB,EAAE,KAAyB;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA0B,SAAS,GAAG,SAAS,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC;IACvG,CAAC;IAEM,sBAAsB,CAAC,SAAiB,EAAE,KAAkC;QACjF,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA+E,SAAS,GAAG,SAAS,GAAG,eAAe,EAAE,KAAK,CAAC;aACvJ,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,yCAAyC;IAClC,aAAa,CAAC,KAAyB;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA0B,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,+BAA+B;IACxB,uBAAuB,CAAC,KAAyB;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA0B,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAC1F,CAAC;IAEM,WAAW,CAAC,KAAuB;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAwB,eAAe,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAEM,aAAa,CAAC,KAAyB;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,4BAA4B,EAAE,KAAK,CAAC,CAAC;IAC7F,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAO,iBAAiB,CAAC,CAAC,IAAI,CACrD,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAE,KAAK,CAAC,MAAM,CAAC,CAC5B,CAAC;IACN,CAAC;;wEAhGU,YAAY;6GAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACf0B;AACV;AAEqB;AAgB1B;;;AAKxB,MAAM,aAAa;IAExB,YACU,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;IACC,kBAAkB,CAAC,KAAe,EAAC,QAAgB,EAAC,SAAe,EAAC,OAAa;;YACrF,IAAI,OAAO,GAAkB,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAC;YACvE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YAEzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,CAAC,QAAQ,IAAE,SAAS,EAAC,OAAM,EAAC,OAAM,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAElC,IAAI,OAAO,GAAC,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC,CAAC;YACzD,IAAG,CAAC,SAAS,IAAE,CAAC,OAAO,EAAC;gBACtB,OAAO,GAAC,IAAI,IAAI,EAAE,CAAC;gBACnB,SAAS,GAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC,CAAC,CAAE,uBAAuB;gBACpF,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAI,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aAC3D;iBAAI;gBACH,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aACtD;YAGD,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAG3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAGnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjC,IAAI,KAAK,GAAC,CAAC,CAAC;YAEZ,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAC,GAAG,EAAC,EAAE;gBACxB,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,GAAC,EAAE,CAAC,CAAC;gBAGpD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,WAAW,CAAC;gBAE1D,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,MAAM,IAAE,GAAG,EAAC,IAAG,EAAC,IAAG,CAAC;gBAGlE,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE;gBAClE,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAE,IAAI,CAAC,KAAK,CAAE;gBACtD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG;gBAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAE,IAAI,CAAC,WAAW,CAAE;gBAE5D,KAAK,EAAE,CAAC;YACV,CAAC,CAAC;YAGF,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEvD,kDAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,qBAAqB,GAAG,kCAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC;QAC7F,CAAC;KAAA;IACK,mBAAmB,CAAC,IAA4F,EAAC,QAAgB,EAAC,SAAiB,EAAC,SAAe,EAAC,OAAa,EAAC,WAA6B;;YACnN,IAAI,OAAO,GAAkB,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAC;YAEvE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YAEzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,SAAS,GAAC,EAAE,CAAC;YACjB,IAAG,QAAQ,IAAE,SAAS,EAAC;gBACrB,SAAS,IAAE,GAAG,CAAC;gBACf,QAAO,SAAS,EAAC;oBACf,KAAK,KAAK;wBAAC,SAAS,IAAE,IAAI,CAAC;wBAAA,MAAM;oBACjC,KAAK,WAAW;wBAAC,SAAS,IAAE,KAAK,CAAC;wBAAA,MAAM;oBACxC,KAAK,WAAW;wBAAC,SAAS,IAAE,KAAK,CAAC;wBAAA,MAAM;iBACzC;aACF;YACD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,CAAC,QAAQ,IAAE,SAAS,EAAC,OAAM,EAAC,OAAM,CAAC,GAAC,SAAS,CAAC,CAAC;YACzE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,IAAE,SAAS,EAAC,OAAM,EAAC,OAAM,CAAC,CAAC;YAC9D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,WAAW,IAAE,EAAE,IAAE,OAAO,WAAW,IAAE,WAAW,IAAE,WAAW,IAAE,IAAI,EAAC,KAAI,EAAC,YAAW,CAAC,CAAC;YAChH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,OAAO,GAAC,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC,CAAC;YACzD,IAAG,CAAC,SAAS,IAAE,CAAC,OAAO,EAAC;gBACtB,OAAO,GAAC,OAAO,CAAC;gBAChB,SAAS,GAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;gBAC9C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aAC1D;iBAAI;gBACH,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aACtD;YAID,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAG3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAG5B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,IAAG,QAAQ,IAAE,SAAS,IAAE,SAAS,IAAE,KAAK;gBACtC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,SAAS,IAAE,SAAS,IAAE,MAAM;gBAC5C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,OAAO;gBACvB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,GAAC,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,GAAE,IAAG,IAAE,OAAO,IAAI,CAAC,SAAS,IAAE,WAAW,EAAC,EAAC,EAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YAE7E,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,GAAG,GAAC,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEnC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAGlC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAG,QAAQ,IAAE,SAAS,IAAE,SAAS,IAAE,KAAK;gBACtC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,OAAO;gBACvB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAErC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjC,IAAI,KAAK,GAAC,CAAC,CAAC;YAEZ,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAC,GAAG,EAAC,EAAE;gBACvB,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,aAAa,GAAC,EAAE,CAAC,CAAC;gBAE3D,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;gBAG9C,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG;gBAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC;gBAGxD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG;gBAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,WAAW,CAAC;gBAE1D,KAAK,EAAE,CAAC;YACV,CAAC,CAAC;YAGF,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEvD,kDAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,kBAAkB,GAAG,kCAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC;QAC1F,CAAC;KAAA;IAEK,sBAAsB,CAAC,CAAc,EAAC,QAAe,EAAC,SAAgB,EAAC,aAAqB,EAAC,SAAe,EAAC,OAAa;;YAC9H,IAAI,OAAO,GAAkB,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAC;YAEvE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAErC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YAEzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,CAAC,QAAQ,IAAE,SAAS,EAAC,OAAM,EAAC,OAAM,CAAC,GAAC,GAAG,GAAC,CAAC,SAAS,IAAE,KAAK,EAAC,KAAI,EAAC,MAAK,CAAC,CAAC,CAAC;YACjG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,aAAa,IAAE,EAAE,EAAC,KAAI,EAAC,cAAa,CAAC,CAAC;YAChE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,OAAO,GAAC,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC,CAAC;YACzD,IAAG,CAAC,SAAS,IAAE,CAAC,OAAO,EAAC;gBACtB,OAAO,GAAC,OAAO,CAAC;gBAChB,SAAS,GAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;gBAC9C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aAC1D;iBAAI;gBACH,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aACtD;YAID,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAG3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAG5B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,IAAG,QAAQ,IAAE,SAAS,IAAE,SAAS,IAAE,KAAK;gBACtC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,SAAS,IAAE,SAAS,IAAE,MAAM;gBAC5C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,OAAO;gBACvB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,KAGD,EAAC,KAGD,CAAC;YACJ,IAAI,GAAG,GAAC,CAAC,CAAC;YACV,IAAG,SAAS,IAAE,KAAK,EAAC;gBAClB,KAAK,GAAC,CAAC,CAAC,GAAG,CAAC;gBACZ,KAAK,GAAC,CAAC,CAAC,OAAO;aAChB;iBAAI;gBACH,KAAK,GAAC,CAAC,CAAC,QAAQ,CAAC;gBACjB,KAAK,GAAC,CAAC,CAAC,YAAY;aACrB;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,GAAE,IAAG,IAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAErC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,GAAG,GAAC,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,KAAK,GAAC,IAAI,CAAC;YACf,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAGlC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAG,QAAQ,IAAE,SAAS,IAAE,SAAS,IAAE,KAAK;gBACtC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,SAAS,IAAE,SAAS,IAAE,MAAM;gBAC5C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,OAAO;gBACvB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAG,QAAQ,IAAE,SAAS;gBACpB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,OAAO,IAAE,SAAS,IAAE,KAAK;gBACzC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAChC,IAAG,QAAQ,IAAE,OAAO,IAAE,SAAS,IAAE,MAAM;gBACxC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAGvC,IAAI,KAAK,GAAC,CAAC,CAAC;YAEZ,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAC,GAAG,EAAC,EAAE;;gBACxB,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,GAAC,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO;gBACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,KAAK,GAAC,GAAG,CAAC;gBAExD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG;gBAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,KAAK,CAAC;gBAGpD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG;gBAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,GAAC,WAAK,CAAC,IAAI,CAAC,CAAC,GAAE,EAAC,CAAC,KAAK,IAAE,IAAI,CAAC,KAAK,CAAC,0CAAE,KAAK,CAAC;gBAEnF,KAAK,EAAE,CAAC;YACV,CAAC,CAAC;YAGF,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEvD,kDAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,uBAAuB,GAAG,kCAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/F,CAAC;KAAA;IACK,0BAA0B,CAAC,CAA2B,EAAC,QAAgB,EAAC,SAAe,EAAC,OAAa;;YACzG,IAAI,OAAO,GAAkB,IAAI,aAAa,CAAC,0BAA0B,CAAC,CAAC;YAE3E,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEvC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;YAEzB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAG3C,IAAI,OAAO,GAAC,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC,CAAC;YACzD,IAAG,CAAC,SAAS,IAAE,CAAC,OAAO,EAAC;gBACtB,OAAO,GAAC,OAAO,CAAC;gBAChB,SAAS,GAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;gBAC9C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aAC1D;iBAAI;gBACH,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAC,EAAE,GAAC,IAAI,CAAC,CAAC;aACtD;YAED,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YAExB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAC,YAAY;YAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,GAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAG5B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,GAAG,GAAC,CAAC,CAAC;YACV,IAAG,CAAC,IAAE,IAAI,EAAC;gBACP,GAAG,GAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,WAAW,GAAE,YAAY,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;aAC3F;YACD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAC,GAAG,GAAC,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,KAAK,GAAC,EAAE,CAAC;YACb,QAAO,QAAQ,EAAC;gBACd,KAAK,OAAO;oBAAC,KAAK,GAAC,IAAI,CAAC;oBAAA,MAAM;gBAC9B,KAAK,QAAQ;oBAAC,KAAK,GAAC,IAAI,CAAC;oBAAA,MAAM;gBAC/B,KAAK,SAAS;oBAAC,KAAK,GAAC,IAAI,CAAC;oBAAA,MAAM;gBAChC,KAAK,UAAU;oBAAC,KAAK,GAAC,IAAI,CAAC;oBAAA,MAAM;gBACjC;oBAAQ,KAAK,GAAC,IAAI,CAAC;oBAAA,MAAM;aAC1B;YACD,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;YACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAGlC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,GAAC,CAAC,CAAC;YACZ,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAC,GAAG,EAAC,EAAE;gBAC5B,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,GAAC,EAAE,CAAC,CAAC;gBAGjD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,EAAE,EAAG,IAAI,CAAC,KAAK,GAAC,EAAE,CAAC,CAAC;gBAElD,KAAK,EAAE,CAAC;YACV,CAAC,CAAC;YAGF,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEvD,kDAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,2BAA2B,GAAG,kCAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC;QACnG,CAAC;KAAA;IAEK,WAAW,CAAC,KAAwB,EAAE,UAAkB;;YAC5D,IAAI,OAAO,GAAkB,IAAI,aAAa,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;YAEvE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEtC,IAAI,OAAO,GAAG;gBACZ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5C,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChD,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;gBACvC,EAAE,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5E,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE;gBACpE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC3C,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5C,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC3C,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC9C,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5C,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBACrC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBACrC,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtE,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChD,EAAE,MAAM,EAAE,uCAAuC,EAAE,GAAG,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5G,EAAE,MAAM,EAAE,yDAAyD,EAAE,GAAG,EAAE,yDAAyD,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChJ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1C,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE;gBACpE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;gBAClD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;aACvC,CAAC;YAEF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE5B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;YACpE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEnC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEnC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,wHAAwH,CAAC,CAAC;YACrJ,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEnC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,uFAAuF,CAAC,CAAC;YACpH,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEnC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEzB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEnE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAA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O,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QA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","file":"main.js","sourcesContent":["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(() => {\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 = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 8255;\nmodule.exports = webpackEmptyAsyncContext;","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n { path: '', loadChildren: () => import('./modules/main/main.module').then(module => module.MainModule) },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes),\n ],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FirebaseService } from './services/firebase/firebase.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'Portal';\n\n constructor(\n private firebaseService: FirebaseService,\n private translateService: TranslateService\n ) {\n var lang = localStorage.getItem('lang') || 'zh-Hant-HK';\n this.translateService.use(lang).subscribe();\n this.translateService.onLangChange.subscribe(value => {\n this.translateService.reloadLang('en').subscribe();\n });\n firebaseService.requestPermission();\n }\n}\n","
\n \n
\n\n\n\n","import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Injectable, NgModule } from '@angular/core';\nimport { AngularFireModule } from '@angular/fire';\nimport { AngularFireMessagingModule } from '@angular/fire/messaging';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { AppSetting } from './backend/app-setting';\nimport { UnauthorizedInterceptor } from './interceptors/unauthorized.interceptor';\nimport { ErrorHandleInterceptor } from './interceptors/error-handle.interceptor';\nimport { MainModule } from './modules/main/main.module';\nimport { ShareModule } from './modules/share/share.module';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { SystemModule } from './modules/system/system.module';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { UserModule } from './modules/user/user.module';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS, MAT_DATE_LOCALE, NativeDateAdapter } from '@angular/material/core';\nimport { registerLocaleData } from '@angular/common';\n\nimport zh from '@angular/common/locales/zh-Hant-HK';\nimport { AnnouncementModule } from './modules/announcement/announcement.module';\nimport { StaffModule } from './modules/staff/staff.module';\nimport { DonationModule } from './modules/donation/donation.module';\nimport { RedeemModule } from './modules/redeem/redeem.module';\nimport { RequestModule } from './modules/request/request.module';\nimport { EventModule } from './modules/event/event.module';\nimport { ActivityModule } from './modules/activity/activity.module';\nimport { TrashModule } from './modules/trash/trash.module';\nimport { AnalyticsModule } from './modules/analytics/analytics.module';\nimport { OverviewModule } from './modules/overview/overview.module';\n\nregisterLocaleData(zh);\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http, \"/v2/locales/\", \".json\");\n}\n\n@Injectable()\nexport class AppDateAdapter extends NativeDateAdapter {\n format(date: Date, displayFormat: Object): string {\n if (displayFormat === 'input') {\n let day: string = date.getDate().toString();\n day = +day < 10 ? '0' + day : day;\n let month: string = (date.getMonth() + 1).toString();\n month = +month < 10 ? '0' + month : month;\n let year = date.getFullYear();\n return `${day}-${month}-${year}`;\n }\n return date.toDateString();\n }\n}\nexport const APP_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: { month: 'short', year: 'numeric', day: 'numeric' },\n },\n display: {\n dateInput: 'input',\n monthYearLabel: { year: 'numeric', month: 'numeric' },\n dateA11yLabel: {\n year: 'numeric', month: 'long', day: 'numeric'\n },\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\n }\n};\n\n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n HttpClientModule,\n UserModule,\n AnnouncementModule,\n MainModule,\n ShareModule,\n SystemModule,\n StaffModule,\n RedeemModule,\n DonationModule,\n ActivityModule,\n RequestModule,\n EventModule,\n TrashModule,\n AnalyticsModule,\n OverviewModule,\n AngularFireModule.initializeApp(AppSetting.firebaseConfig),\n AngularFireMessagingModule,\n TranslateModule.forRoot({\n defaultLanguage: 'zh-Hant-HK',\n useDefaultLang: true,\n loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] }\n }),\n ],\n providers: [\n { provide: MAT_DATE_LOCALE, useValue: 'zh' },\n { provide: HTTP_INTERCEPTORS, useClass: UnauthorizedInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorHandleInterceptor, multi: true },\n { provide: DateAdapter, useClass: AppDateAdapter },\n { provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n","export const AppSetting = {\n baseUrl: \"https://hincaretb.com/api/\",\n\n timeoutValue: 60000,\n\n centerUUId: \"263cc549-274b-4c17-92f1-94d79b1947ff\",\n orgName: \"時間銀行 · 生活助手\",\n\n firebaseConfig: {\n apiKey: \"AIzaSyCtkMfRz36yUkXzu-UP_pgKLKpbbotfAmg\",\n authDomain: \"timebank-csfc.firebaseapp.com\",\n databaseURL: \"https://timebank-csfc.firebaseio.com\",\n projectId: \"timebank-csfc\",\n storageBucket: \"timebank-csfc.appspot.com\",\n messagingSenderId: \"574410185999\",\n appId: \"1:574410185999:web:a2b317bef687a589a4727a\",\n measurementId: \"G-TVW511Q8FL\"\n },\n\n tokenKey: \"timebank_token\",\n roleKey: \"timebank_roles\",\n remainDays: 14\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable, Type } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { AppSetting } from './app-setting';\nimport { timeout } from 'rxjs/operators'\n\nconst httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n}\n\nconst httpUploadOptions = {\n headers: new HttpHeaders({\n 'Authorization': ''\n })\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n public get(path: string): Observable> {\n httpOptions.headers = httpOptions.headers.set('Authorization', 'Bearer ' + localStorage.getItem(AppSetting.tokenKey))\n return this.http.get>(AppSetting.baseUrl + path, httpOptions)\n .pipe(timeout(AppSetting.timeoutValue))\n }\n\n\n public post(path: string, body: Body): Observable> {\n httpOptions.headers = httpOptions.headers.set('Authorization', 'Bearer ' + localStorage.getItem(AppSetting.tokenKey))\n return this.http.post>(AppSetting.baseUrl + path, body, httpOptions)\n .pipe(timeout(AppSetting.timeoutValue))\n }\n\n public put(path: string, body: Body): Observable> {\n httpOptions.headers = httpOptions.headers.set('Authorization', 'Bearer ' + localStorage.getItem(AppSetting.tokenKey))\n return this.http.put>(AppSetting.baseUrl + path, body, httpOptions)\n .pipe(timeout(AppSetting.timeoutValue))\n }\n\n public delete(path: string): Observable> {\n httpOptions.headers = httpOptions.headers.set('Authorization', 'Bearer ' + localStorage.getItem(AppSetting.tokenKey));\n return this.http.delete>(AppSetting.baseUrl + path, httpOptions)\n .pipe(timeout(AppSetting.timeoutValue));\n }\n\n public upload(path: string, body: FormData): Observable {\n httpUploadOptions.headers = httpUploadOptions.headers.set('Authorization', 'Bearer ' + localStorage.getItem(AppSetting.tokenKey));\n return this.http.post(AppSetting.baseUrl + path, body, httpUploadOptions)\n .pipe(timeout(AppSetting.timeoutValue));\n }\n\n public update(path: string, body: FormData): Observable {\n httpUploadOptions.headers = httpUploadOptions.headers.set('Authorization', 'Bearer ' + localStorage.getItem(AppSetting.tokenKey));\n return this.http.put(AppSetting.baseUrl + path, body, httpUploadOptions)\n .pipe(timeout(AppSetting.timeoutValue));\n }\n\n public getImage(path: string): Observable {\n return this.http.get(AppSetting.baseUrl + path, {\n headers: new HttpHeaders({ 'Authorization': 'Bearer ' + localStorage.getItem(AppSetting.tokenKey) }), responseType: \"blob\"\n }).pipe(timeout(AppSetting.timeoutValue));\n }\n}\n\ninterface ApiResponse {\n result: Type;\n status: string;\n}","import { Observable } from \"rxjs\";\n\nexport interface PopupMessage {\n type: string;\n message: string;\n description: string\n observable?: Observable\n}\n\nexport class PopupMessages {\n public static ForcedSignOutSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"已強制登出用戶\",\n description: \"\"\n }\n\n public static ForcedSignOutFailMessage: PopupMessage = {\n type: \"error\",\n message: \"用戶已登出\",\n description: \"\"\n }\n\n public static InvalidInformationMessage: PopupMessage = {\n type: \"error\",\n message: \"請輸入正確的數值\",\n description: \"\"\n }\n\n public static CreateUserSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"成功創建用戶\",\n description: \"\",\n observable: observable\n };\n }\n\n public static CreateAnnouncementSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"提交通告成功!用戶將會收到系統通知\",\n description: \"\",\n observable: observable\n }\n }\n\n public static EmptyParticipantErrorMessage: PopupMessage = {\n type: \"error\",\n message: \"請剔參加者\",\n description: \"\"\n }\n\n public static AddAnnouncementRecipientsSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"成功新增通告對像\",\n description: \"\",\n observable: observable\n }\n }\n\n public static AnnouncementIsPublishedErrorMessage: PopupMessage = {\n type: \"error\",\n message: \"通告已發佈\",\n description: \"\"\n }\n\n public static EditAnnouncementSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"確認成功!用戶及相關職員將會收到系統通知\",\n description: \"\"\n }\n\n public static DeactivateAnnouncementSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"成功終止中心通告\",\n description: \"\"\n }\n\n public static DeleteAnnouncementMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除該通告嗎?\",\n description: \"該通告將會在通告管理列表中移除。\",\n observable: observable\n };\n }\n\n public static DeleteAnnouncementListMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除這些通告嗎?\",\n description: \"這些通告將會在通告管理列表中移除。\",\n observable: observable\n };\n }\n\n public static DeleteStaffMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除該職員嗎?\",\n description: \"該職員將會在職員管理列表中移除。\",\n observable: observable\n };\n }\n\n public static DeleteStaffListMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除這些職員嗎?\",\n description: \"這些職員將會在職員管理列表中移除。\",\n observable: observable\n };\n }\n\n public static CreateStaffSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"成功創建職員\",\n description: \"\",\n observable: observable\n };\n }\n\n public static DonateToCenterSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"成功向中心捐分\",\n description: \"\"\n }\n\n public static NoRecordSelectedMessage: PopupMessage = {\n type: \"error\",\n message: \"請先剔選紀錄\",\n description: \"\"\n }\n\n public static DonateToUsersSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"成功向用戶捐分\",\n description: \"\"\n }\n\n public static DeleteDonationSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"成功刪除捐分紀錄\",\n description: \"\"\n }\n\n public static DeleteDonationMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"是否確認移除這交易紀錄?\",\n description: \"移除該紀錄後,已經產生的時分交易亦會取消。\",\n observable: observable\n }\n }\n\n public static DeleteUserMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除該用戶嗎?\",\n description: \"該用戶將會在用戶管理列表中移除。\",\n observable: observable\n };\n }\n\n public static UserDeletedMessage(observable: Observable): PopupMessage {\n return {\n type: 'success',\n message: \"用戶已移除\",\n description: \"\",\n observable: observable\n }\n }\n\n public static DeleteUserListMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除這些用戶嗎?\",\n description: \"這些用戶將會在用戶管理列表中移除。\",\n observable: observable\n };\n }\n\n public static AddMembersToCellGroupSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"成功將會員加入細胞小組\",\n description: \"\",\n observable: observable\n }\n }\n public static UserFreezedMessage(observable: Observable): PopupMessage {\n return {\n type: 'success',\n message: \"會員已凍結\",\n description: \"\",\n observable: observable\n }\n }\n\n public static FreezeUserMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要凍結這些會員嗎?\",\n description: \"這些會員將會停止使用。\",\n observable: observable\n };\n }\n\n public static UserUNFreezedMessage(observable: Observable): PopupMessage {\n return {\n type: 'success',\n message: \"會員已重新啟動\",\n description: \"\",\n observable: observable\n }\n }\n\n public static UNFreezedUserMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認重新啟動這些會員嗎?\",\n description: \"這些會員將會新啟動。\",\n observable: observable\n };\n }\n public static DeleteProductMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除 1 條紀錄嗎?\",\n description: \"移除後將會產生的和已產生的所有時分交易都會取消,在 15 天內仍可於垃圾桶尋回並復原,過後將被永久移除。\",\n observable: observable\n }\n }\n\n public static DeleteProductListMessage(observable: Observable, count: number): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除 \" + count + \" 條紀錄嗎?\",\n description: \"移除後將會產生的和已產生的所有時分交易都會取消,在 15 天內仍可於垃圾桶尋回並復原,過後將被永久移除。\",\n observable: observable\n }\n }\n\n public static SaveRedeemQuestionFailMessage(observable: Observable): PopupMessage {\n return {\n type: \"error\",\n message: \"儲存失敗\",\n description: \"設置填寫有誤,請根據提示修正。\",\n observable: observable\n }\n }\n\n public static SaveRedeemQuestionSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"儲存成功\",\n description: \"如發布獎勵項目時設置須回答問題,系統則會根據此問題設置提供問題及選項。\",\n observable: observable\n }\n }\n\n public static DisableProductMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要下架該獎勵項目嗎?\",\n description: \"下架後該項目將在App的獎勵列表不會顯示,已參與的相關用戶可在App“我的”可查看記錄。\",\n observable: observable\n }\n }\n\n public static UpdateRedeemSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"確認修改成功\",\n description: \"修改完成後,所選用戶的時分交易會有變化更新,系統會向所選用戶發出已修改通知\"\n }\n\n\n public static UpdateRedeemFailMessage: PopupMessage = {\n type: \"error\",\n message: \"修改失敗\",\n description: \"該會員帳戶餘額不足,修改失敗,請重新檢查。\"\n }\n\n public static CancelRedeemMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要取消該用戶的換領嗎?\",\n description: \"該用戶將會移除出此次獎勵的參與用戶列表,將會或已經產生的時分交易亦會取消。\",\n observable: observable\n }\n }\n public static RedeemLaunchDateFailMessage: PopupMessage = {\n type: \"error\",\n message: \"創建獎勵失敗\",\n description: \"發布日期不可以早於現在\"\n }\n\n\n public static ApproveRedeemSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"確認換領成功\",\n description: \"所選會員已換領成功並扣除相應時分,系統會發出通知,請在“已兌換”列表中查看\"\n }\n\n public static ApproveRedeemFailMessage: PopupMessage = {\n type: \"error\",\n message: \"確認換領失敗\",\n description: \"此次獎勵項目設定的庫存已不足,請修改庫存後再嘗試。\"\n }\n\n\n public static DeliveredRedeemSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"確認領取成功\",\n description: \"所選會員已領取,系統會發出通知,請在“已兌換”列表中查看\"\n }\n\n public static DeliveredRedeemFailMessage: PopupMessage = {\n type: \"error\",\n message: \"確認領取失敗\",\n description: \"此次獎勵項目設定的庫存已不足,請修改庫存後再嘗試。\"\n }\n\n public static EmptyRequesterErrorMessage: PopupMessage = {\n type: \"error\",\n message: \"請剔選請求者\",\n description: \"\"\n }\n\n public static GrantRedeemSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"新增用戶成功\",\n description: \"已更新至“等候處理”列表中,尚未扣除時分,請檢查是否須填寫問卷以及換領數量後再提交“確認換領”\"\n }\n\n public static GrantRedeemFailMessage: PopupMessage = {\n type: \"error\",\n message: \"新增用戶失敗\",\n description: \"此次獎勵項目設定的庫存已不足,請修改庫存後再嘗試。\"\n }\n\n public static MissingRedeemReasonMessage: PopupMessage = {\n type: \"error\",\n message: \"請回答獎勵問題\",\n description: \"\"\n }\n\n public static ExceedRedeemLimitMessage: PopupMessage = {\n type: \"error\",\n message: \"超出最大換領上限\",\n description: \"\"\n }\n\n public static DeleteRequestMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除這條紀錄嗎?\",\n description: \"紀錄在一定時間內仍可於垃圾桶尋回並復原,過後將被永久移除。\",\n observable: observable\n };\n }\n\n public static DeleteRequestListMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除這些紀錄嗎?\",\n description: \"紀錄在一定時間內仍可於垃圾桶尋回並復原,過後將被永久移除。\",\n observable: observable\n };\n }\n\n public static DeleteEventMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除這條活動紀錄嗎?\",\n description: \"活動紀錄在一定時間內仍可於垃圾桶尋回並復原,過後將被永久移除。\",\n observable: observable\n };\n }\n\n public static DeleteEventListMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除這些活動紀錄嗎?\",\n description: \"活動紀錄在一定時間內仍可於垃圾桶尋回並復原,過後將被永久移除。\",\n observable: observable\n };\n }\n\n public static CreateRequestSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"創建請求成功\",\n description: \"\",\n observable: observable\n }\n }\n\n public static InvalidTimeMessage: PopupMessage = {\n type: \"error\",\n message: \"結束時間必須在開始時間之後\",\n description: \"END_TIME_MUST_BE_LATER_THAN_START_TIME\"\n }\n\n public static InvitedParticipantsMustGreaterThanVacancy: PopupMessage = {\n type: \"error\",\n message: \"邀請人數必須大於活動人數\",\n description: \"\"\n }\n\n public static DeadlineMustBeEarlierThanStartTime: PopupMessage = {\n type: \"error\",\n message: \"截止日期必須在活動開始前\",\n description: \"\"\n }\n\n public static EmptyEventDay: PopupMessage = {\n type: \"error\",\n message: \"必須填寫活動日期\",\n description: \"\"\n }\n\n public static CreateEventSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"創建中心活動成功\",\n description: \"\",\n observable: observable\n }\n }\n\n public static EditTransactionSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"已成功更改交易紀錄\",\n description: \"\"\n }\n\n public static InviteVolunteerSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"邀請義工成功\",\n description: \"\",\n observable: observable\n }\n }\n\n public static EditRequestSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"更改請求成功\",\n description: \"\"\n }\n\n public static InvalidRatingMessage: PopupMessage = {\n type: \"error\",\n message: \"請填寫所有評分\",\n description: \"\"\n }\n\n public static SubmitCommentSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"已成功提交評分\",\n description: \"\"\n }\n\n public static StartRequestSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"請求成功開始進行\",\n description: \"\"\n }\n\n public static CancelRequestSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"已終止請求\",\n description: \"\"\n }\n\n public static TerminateEventMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"是否確認終止活動?\",\n description: \"終止該活動後,系統會發出通知,將會或已經產生的時分交易亦會取消。\",\n observable: observable\n }\n }\n\n public static EndEventMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"是否確認結束活動?\",\n description: \"確認結束後,系統會發出通知,確認參加但尚未確認完成的用戶會自動產生時分交易,請在用戶管理中查看。\",\n observable: observable\n }\n }\n\n\n public static DropEventDayFail: PopupMessage = {\n type: \"error\",\n message: \"中心活動必須有至少一個活動日期\",\n description: \"\"\n }\n\n public static ZeroEventDayErrorMessage: PopupMessage = {\n type: \"error\",\n message: \"請加入活動日期\",\n description: \"\"\n }\n\n public static UpdateEventSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"修改成功!\",\n description: \" 活動內容修改通知已發送至邀請用戶。\"\n }\n\n public static InviteEventParticipantsSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"邀請活動參加者成功\",\n description: \"\",\n observable: observable\n }\n }\n\n public static RemoveUserFromEventMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要移除該用戶嗎?\",\n description: \"該用戶將會移除出此次活動的用戶管理列表,將會或已經產生的時分交易亦會取消。\",\n observable: observable\n };\n }\n\n public static ZeroParticipantErrorMessage: PopupMessage = {\n type: \"error\",\n message: \"請剔選用戶\",\n description: \"\"\n }\n\n public static UserAbsentMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認該用戶缺席該活動嗎?\",\n description: \"該用戶確認缺席後,將不會產生時分交易。\",\n observable: observable\n };\n }\n\n public static ParticipantFinishEvnetSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"確認完成成功\",\n description: \"確認完成後,所選用戶的時分交易會發送至用戶帳戶。\"\n }\n\n public static EditAttendanceSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"確認完成成功\",\n description: \"\"\n }\n\n public static CreateEventRecordSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"創建中心活動紀錄成功\",\n description: \"\",\n observable: observable\n }\n }\n\n public static RestoreMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"你是否確定復原這個紀錄?\",\n description: \"\",\n observable: observable\n };\n }\n\n\n public static RestoreListMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"你是否確定復原這些紀錄?\",\n description: \"\",\n observable: observable\n };\n }\n\n public static DeletePermanentlyMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"你是否確定永久刪除這個紀錄?\",\n description: \"\",\n observable: observable\n };\n }\n\n public static DeleteListPermanentlyMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"你是否確定永久刪除這些紀錄?\",\n description: \"\",\n observable: observable\n };\n }\n\n public static InvalidFileFormatMessage: PopupMessage = {\n type: \"error\",\n message: \"請滙入正確的Excel檔案\",\n description: \"\"\n }\n\n public static ImportSuccessMessage(observable: Observable): PopupMessage {\n return {\n type: \"success\",\n message: \"成功滙入紀錄\",\n description: \"\",\n observable: observable\n };\n }\n\n public static EditTimeConfigSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"成功修改系統時間設定\",\n description: \"\"\n }\n\n public static EditApplicationSettingSuccessMessage: PopupMessage = {\n type: \"success\",\n message: \"成功修改應用程式設定\",\n description: \"\"\n }\n\n public static DisableServiceMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要停用該服務嗎?\",\n description: \"停用後機構會員將不可再申請該服務,系統會儲存以往該服務相關紀錄。\",\n observable: observable\n }\n }\n\n public static EnableServiceMessage(observable: Observable): PopupMessage {\n return {\n type: \"help\",\n message: \"確認要恢復該服務嗎?\",\n description: \"確認恢復該服務後,機構會員可申請該服務。\",\n observable: observable\n }\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AppSetting } from '../backend/app-setting';\nimport { AuthenticationService } from '../services/authenticate/authentication.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthenticationGuard implements CanActivate {\n\n constructor(\n private authenticationService: AuthenticationService,\n private router: Router\n ) { }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (this.authenticationService.isAuthenticated() == false) {\n localStorage.removeItem(AppSetting.tokenKey);\n localStorage.removeItem(AppSetting.roleKey);\n this.router.navigate(['/login']);\n return false;\n }\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AppSetting } from '../backend/app-setting';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SuperAdminGuard implements CanActivate {\n\n constructor(\n private router: Router\n ) { }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (localStorage.getItem(AppSetting.roleKey) != \"SuperAdmin\") {\n this.router.navigate(['/main']);\n return false;\n }\n return true;\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { ErrorHandleService } from '../services/error-handle/error-handle.service';\n// import { ImportService } from '../services/import-export/import.service';\n\n// Intercept error on http request\n@Injectable()\nexport class ErrorHandleInterceptor implements HttpInterceptor {\n public enabled: boolean = true;\n\n constructor(\n private errorHandleService: ErrorHandleService,\n // private importService: ImportService\n ) {\n // importService.interceptorSignal.subscribe(value => this.enabled = value);\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next\n .handle(request)\n .pipe(\n catchError(\n (error: HttpErrorResponse) => {\n if (error.error == null)\n return throwError(error)\n if (error.error['error_message'] && this.enabled)\n this.errorHandleService.errorSignal.emit(error.error);\n return throwError(error.error);\n }\n )\n );\n }\n}","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class UnauthorizedInterceptor implements HttpInterceptor {\n\n constructor(\n private router: Router\n ) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next\n .handle(request)\n .pipe(catchError(error => {\n if (error instanceof HttpErrorResponse) {\n if (error.status == 401)\n this.redirectToLoginPage();\n }\n return throwError(error);\n }))\n }\n\n private redirectToLoginPage(): void {\n localStorage.removeItem('timebank_token');\n localStorage.removeItem('timebank_roles');\n this.router.navigate(['/login']);\n }\n}\n","import { AddressForm } from \"src/app/modules/share/forms/address-form\";\nimport { ILiving, Living } from \"../livings/living\";\nimport { UpdateAddressModel } from \"./update-address-model\";\n\nexport interface IAddress {\n uuId: string | null;\n region: IAddressComponent;\n district: IAddressComponent;\n subDistrict: IAddressComponent;\n street: IAddressComponent;\n streetNumber: IAddressComponent;\n estate: IAddressComponent;\n block: IAddressComponent;\n floor: IAddressComponent;\n room: IAddressComponent;\n isDefault: boolean;\n}\n\nexport class Address {\n public uuId: string | null;\n public region: IAddressComponent;\n public district: IAddressComponent;\n public subDistrict: IAddressComponent;\n public street: IAddressComponent;\n public streetNumber: IAddressComponent;\n public estate: IAddressComponent;\n public block: IAddressComponent;\n public floor: IAddressComponent;\n public room: IAddressComponent;\n public isDefault: boolean;\n\n public livings: Living[];\n\n editing: boolean;\n form: AddressForm;\n\n constructor(address: IAddress) {\n this.uuId = address.uuId;\n this.region = address.region;\n this.district = address.district;\n this.subDistrict = address.subDistrict;\n this.street = address.street;\n this.streetNumber = address.streetNumber;\n this.estate = address.estate;\n this.block = address.block\n this.floor = address.floor;\n this.room = address.room;\n this.isDefault = address.isDefault;\n this.livings = address.region.livingConditions.map(living => new Living(living))\n .concat(address.region.livingConditions.map(living => new Living(living)))\n .concat(address.district.livingConditions.map(living => new Living(living)))\n .concat(address.subDistrict.livingConditions.map(living => new Living(living)))\n .concat(address.street.livingConditions.map(living => new Living(living)))\n .concat(address.streetNumber.livingConditions.map(living => new Living(living)))\n .concat(address.estate.livingConditions.map(living => new Living(living)))\n .concat(address.block.livingConditions.map(living => new Living(living)))\n .concat(address.floor.livingConditions.map(living => new Living(living)))\n .concat(address.room.livingConditions.map(living => new Living(living)));\n\n this.editing = false;\n this.form = new AddressForm();\n this.form.formGroup.controls['region'].setValue(address.region.name);\n this.form.formGroup.controls['district'].setValue(address.district.name);\n this.form.formGroup.controls['subDistrict'].setValue(address.subDistrict.name);\n this.form.formGroup.controls['street'].setValue(address.street.name);\n this.form.formGroup.controls['streetNumber'].setValue(address.streetNumber.name);\n this.form.formGroup.controls['estate'].setValue(address.estate.name);\n this.form.formGroup.controls['building'].setValue(address.block.name);\n this.form.formGroup.controls['floor'].setValue(address.floor.name);\n this.form.formGroup.controls['room'].setValue(address.room.name);\n }\n\n public toString(): string {\n return this.region.name\n + this.district.name\n + this.subDistrict.name\n + (this.street.name ? this.street.name : '')\n + (this.streetNumber.name ? this.streetNumber.name : '')\n + (this.estate.name ? this.estate.name : '')\n + this.block.name\n + (this.floor.name ? this.floor.name : '')\n + (this.room.name ? this.room.name : '');\n }\n\n getUpdateAddressModel(): UpdateAddressModel {\n return {\n uuId: this.uuId,\n region: this.form.formGroup.controls['region'].value,\n district: this.form.formGroup.controls['district'].value,\n subDistrict: this.form.formGroup.controls['subDistrict'].value,\n street: this.form.formGroup.controls['street'].value,\n streetNumber: this.form.formGroup.controls['streetNumber'].value,\n estate: this.form.formGroup.controls['estate'].value,\n block: this.form.formGroup.controls['building'].value,\n floor: this.form.formGroup.controls['floor'].value,\n room: this.form.formGroup.controls['room'].value,\n isDefault: false,\n livingConditions: this.form.livings.map(lc => lc.uuId)\n }\n }\n}\n\nexport interface IAddressComponent {\n uuId: string;\n name: string | any;\n livingConditions: ILiving[];\n}","export class District {\n name: string;\n selected: boolean;\n\n constructor(name: string) {\n this.name = name;\n this.selected = false;\n }\n}","import { District } from './district';\n\nexport class Region {\n name: string;\n districts: District[];\n\n constructor(name: string, districtNames: string[]) {\n this.name = name;\n this.districts = districtNames.map(name => new District(name));\n }\n\n public selectAll(): void {\n if (this.isSelectedAll)\n this.districts.forEach(d => d.selected = false);\n else\n this.districts.forEach(d => d.selected = true);\n }\n\n public reset(): void {\n this.districts.forEach(d => d.selected = false);\n }\n\n get isSelectedAll(): boolean {\n return this.districts.every(d => d.selected);\n }\n}","\nexport class Room {\n name: string;\n UUId:string;\n constructor(name: string, UUId: string) {\n this.name = name;\n this.UUId = UUId;\n }\n}","import { Center, ICenter } from \"../centers/center\";\n\nexport interface IAnnouncementItem {\n id: string;\n uuId: string;\n announceDate: Date;\n expirationDate: Date;\n title: string;\n createdBy: string;\n isEdited: boolean;\n isActive: boolean;\n isPinned: boolean;\n centers: ICenter[];\n content: string;\n url: string;\n type: string;\n}\n\nexport class AnnouncementItem {\n id: string;\n uuId: string;\n announceDate: Date;\n expirationDate: Date;\n title: string;\n content: string;\n url: string;\n type: string;\n createdBy: string;\n isEdited: boolean;\n isActive: boolean;\n isPinned: boolean;\n centers: Center[];\n\n selected: boolean;\n\n constructor(item: IAnnouncementItem) {\n this.id = item.id;\n this.uuId = item.uuId;\n this.announceDate = typeof (item.announceDate) == 'string' ? new Date(item.announceDate + 'Z') : item.announceDate;\n this.expirationDate = typeof (item.expirationDate) == 'string' ? new Date(item.expirationDate + 'Z') : item.expirationDate;\n this.title = item.title;\n this.content = item.content;\n this.url = item.url;\n this.type = item.type;\n this.createdBy = item.createdBy;\n this.isEdited = item.isEdited;\n this.isActive = item.isActive;\n this.isPinned = item.isPinned;\n this.centers = item.centers.map(center => new Center(center));\n this.selected = false;\n }\n\n get involvedCenters(): string {\n return this.centers.map(center => center.centerCode).join(\", \");\n }\n}","import { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IProfile, Profile } from '../profiles/profile';\nimport { UpdateAnnouncementModel } from './update-announcement-model';\n\nexport interface IAnnouncement {\n id: number;\n uuId: string;\n title: string;\n content: string;\n url: string;\n type: string;\n announceDate: Date;\n expirationDate: Date;\n isPinned: boolean;\n isActive: boolean;\n remark: string;\n users: IProfile[];\n createdBy: string;\n createdAt: Date;\n lastModifiedBy: string;\n lastModifiedAt: Date;\n deactivatedReason: string;\n}\n\nexport class Announcement {\n id: number;\n uuId: string;\n title: string;\n content: string;\n url: string;\n type: string;\n announceDate: Date;\n expirationDate: Date;\n isPinned: boolean;\n isActive: boolean;\n remark: string;\n users: Profile[];\n createdBy: string;\n createdAt: Date;\n lastModifiedBy: string;\n lastModifiedAt: Date;\n deactivatedReason: string;\n\n editing: boolean;\n\n form: FormGroup;\n\n constructor(announcement: IAnnouncement) {\n this.id = announcement.id;\n this.uuId = announcement.uuId;\n this.title = announcement.title;\n this.content = announcement.content;\n this.url = announcement.url;\n this.type = announcement.type;\n this.announceDate = typeof (announcement.announceDate) == \"string\" ? new Date(announcement.announceDate + 'Z') : announcement.announceDate;\n this.expirationDate = typeof (announcement.expirationDate) == \"string\" ? new Date(announcement.expirationDate + 'Z') : announcement.expirationDate;\n this.isPinned = announcement.isPinned;\n this.isActive = announcement.isActive;\n this.remark = announcement.remark;\n this.users = announcement.users.map(user => new Profile(user));\n this.createdBy = announcement.createdBy;\n this.createdAt = typeof (announcement.createdAt) == \"string\" ? new Date(announcement.createdAt + 'Z') : announcement.createdAt;\n this.lastModifiedBy = announcement.lastModifiedBy;\n this.lastModifiedAt = typeof (announcement.lastModifiedAt) == \"string\" ? new Date(announcement.lastModifiedAt + 'Z') : announcement.lastModifiedAt;\n this.deactivatedReason = announcement.deactivatedReason;\n this.editing = false;\n\n this.form = new FormGroup({\n title: new FormControl(this.title, [Validators.required]),\n content: new FormControl(this.content),\n type: new FormControl(this.type, [Validators.required]),\n url: this.type == 'Text' ? new FormControl(null) : new FormControl(announcement.url, [Validators.required]),\n announceDate: new FormControl(this.announceDate, [Validators.required]),\n expireDate: new FormControl(this.expirationDate, [Validators.required]),\n remark: new FormControl(this.remark),\n })\n }\n\n public enableURL(): void {\n if (this.form.controls['type'].value == \"Text\") {\n this.form.controls['url'].setValidators([Validators.nullValidator]);\n this.form.controls['url'].reset();\n }\n else {\n this.form.controls['url'].setValidators([Validators.required]);\n this.form.controls['url'].reset();\n }\n }\n\n getUpdateAnnouncementModel(): UpdateAnnouncementModel {\n return {\n announcementUUId: this.uuId,\n title: this.form.controls['title'].value,\n content: this.form.controls['content'].value,\n type: this.form.controls['type'].value,\n url: this.form.controls['url'].value,\n announceDate: this.form.controls['announceDate'].value,\n expirationDate: this.form.controls['expireDate'].value,\n remark: this.form.controls['remark'].value\n }\n }\n\n get invalidExpireDate(): boolean {\n return (this.form.controls['expireDate'].value as Date) < (this.form.controls['announceDate'].value as Date)\n }\n}\n","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { UpdateCellGroupModel } from \"./update-cell-group-model\";\n\nexport interface ICellGroup {\n uuId: string;\n name: string;\n leaders: ICellGroupLeader[];\n}\n\nexport class CellGroup {\n uuId: string;\n name: string;\n leaders: CellGroupLeader[];\n editing: boolean;\n form: FormGroup;\n\n selected: boolean;\n\n constructor(cellGroup: ICellGroup) {\n this.uuId = cellGroup.uuId;\n this.name = cellGroup.name;\n this.leaders = cellGroup.leaders?.map(leader => new CellGroupLeader(leader));\n this.editing = false;\n this.form = new FormGroup({\n name: new FormControl(cellGroup.name, [Validators.required])\n });\n this.selected = false;\n }\n\n getUpdateCellGroupModel(): UpdateCellGroupModel {\n return {\n uuid: this.uuId,\n name: this.form.controls['name'].value\n }\n }\n}\n\nexport interface ICellGroupLeader {\n uuId: string;\n name: string;\n phoneNumber: string;\n}\n\nexport class CellGroupLeader {\n uuId: string;\n name: string;\n phoneNumber: string;\n\n constructor(leader: ICellGroupLeader) {\n this.uuId = leader.uuId;\n this.name = leader.name;\n this.phoneNumber = leader.phoneNumber;\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CellGroup, ICellGroup } from \"../cell-groups/cell-group\";\nimport { UpdateCenterLinkModel } from \"./update-center-link-model\";\nimport { UpdateCenterModel } from \"./update-center-model\";\n\nexport interface ICenter {\n uuId: string;\n name: string;\n centerCode: string;\n phoneNumber: string;\n cellGroups: ICellGroup[];\n redeemEnabled: boolean;\n canFindCenters:ICenter[];\n}\n\nexport interface ICenterLink{\n center:Center;\n canFindCenters:Center[];\n}\nexport class CenterLink{\n center:Center;\n canFindCenters:Center[];\n constructor(center: Center,canFindCenters:Center[]) {\n this.center=center;\n this.canFindCenters=canFindCenters;\n this.center.canFindCenters=canFindCenters;\n }\n getUpdateCenterLinkModel(): UpdateCenterLinkModel {\n return {\n targetCenter:this.center.uuId,\n centersList:this.canFindCenters.map(c=>c.uuId)\n }\n }\n}\n\nexport class Center {\n uuId: string;\n name: string;\n centerCode: string;\n phoneNumber: string;\n cellGroups: CellGroup[];\n\n selected: boolean;\n editing: boolean;\n redeemEnabled: boolean;\n form: FormGroup;\n\n canFindCenters: Center[];\n\n constructor(center: ICenter) {\n this.uuId = center.uuId;\n this.name = center.name;\n this.centerCode = center.centerCode;\n this.phoneNumber = center.phoneNumber;\n this.selected = false;\n this.editing = false;\n this.redeemEnabled = center.redeemEnabled;\n this.cellGroups = center.cellGroups ? center.cellGroups.map(cellGroup => new CellGroup(cellGroup)).sort(CellGroupSorting) : [];\n this.form = new FormGroup({\n code: new FormControl(this.centerCode, [Validators.required]),\n phone: new FormControl(this.phoneNumber, [Validators.required]),\n name: new FormControl(this.name, [Validators.required])\n })\n this.canFindCenters=center.canFindCenters ?center.canFindCenters.map(c=>new Center(c)):[];\n }\n\n getUpdateCenterModel(): UpdateCenterModel {\n return {\n uuId: this.uuId,\n centerCode: this.form.controls['code'].value,\n phoneNumber: this.form.controls['phone'].value,\n name: this.form.controls['name'].value\n }\n }\n}\n\nfunction CellGroupSorting(a: CellGroup, b: CellGroup) {\n return a.name.localeCompare(b.name, 'en', { numeric: true })\n}\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport { UpdateEventTypeModel } from \"./update-event-type-model\";\n\nexport interface IEventType {\n code: string;\n name: string;\n uuId: string;\n}\n\nexport class EventType {\n public code: string;\n public name: string;\n public uuId: string;\n public editing: boolean;\n selected: boolean;\n form: FormGroup;\n\n constructor(eventType: IEventType) {\n this.code = eventType.code;\n this.name = eventType.name;\n this.uuId = eventType.uuId;\n this.editing = false;\n this.selected = false;\n this.form = new FormGroup({\n code: new FormControl(eventType.code),\n name: new FormControl(eventType.name)\n });\n }\n\n getUpdateEventTypeModel(): UpdateEventTypeModel {\n return {\n uuId: this.uuId,\n code: this.form.controls['code'].value,\n name: this.form.controls['name'].value\n }\n }\n}","import { UpdateEventDayForm } from \"src/app/modules/event/forms/update-event-day-form\";\n\nexport interface IEventDay {\n uuId: string | null;\n date: Date;\n startTime: Date;\n endTime: Date;\n isCancelled: boolean;\n numOfAttendance: number|null;\n}\n\nexport class EventDay {\n uuId: string | null;\n date: Date;\n startTime: Date;\n endTime: Date | null;\n isCancelled: boolean;\n\n editing: boolean;\n numOfAttendance: number|null;\n\n constructor(eventDay: IEventDay) {\n this.uuId = eventDay.uuId;\n this.date = typeof (eventDay.date) == 'string' ? new Date(eventDay.date + 'Z') : eventDay.date;\n this.startTime = typeof (eventDay.startTime) == 'string' ? new Date(eventDay.startTime + 'Z') : eventDay.startTime;\n this.endTime = eventDay.endTime ? (typeof (eventDay.endTime) == 'string' ? new Date(eventDay.endTime + 'Z') : eventDay.endTime) : null;\n this.isCancelled = eventDay.isCancelled;\n this.numOfAttendance=eventDay.numOfAttendance;\n this.editing = false;\n }\n public getStartTime(): Date {\n var time = new Date(this.date);\n time.setHours(this.startTime.getHours());\n time.setMinutes(this.startTime.getMinutes());\n return time;\n }\n\n public getEndTime(): Date | null {\n if (this.endTime == null)\n return null;\n var time = new Date(this.date);\n time.setHours(this.endTime.getHours());\n time.setMinutes(this.endTime.getMinutes());\n return time;\n }\n}","import * as dayjs from \"dayjs\";\nimport { EventType, IEventType } from \"../event-types/event-type\";\nimport { EventExportModel } from \"../exports/event-export-model\";\nimport { ITransaction } from \"../transactions/transaction\";\nimport { EventDay, IEventDay } from \"./event-day\";\nimport { EventParticipant } from \"./event-participant\";\n\nexport interface IEventListItem {\n id: number;\n uuId: string;\n eventName: string;\n eventType: IEventType;\n eventJoinType: string;\n eventStatus: string;\n eventDays: IEventDay[];\n eventPay: string;\n startTime: Date;\n participantVacancy: number;\n participants: IEventListItemParticipant[];\n deleteDate: Date;\n earning: string;\n remark: string;\n applyDeadline: Date;\n isCancelled: boolean;\n transactions:ITransaction[];\n}\n\nexport class EventListItem {\n id: number;\n uuId: string;\n eventName: string;\n eventType: EventType;\n eventJoinType: string;\n eventStatus: string;\n eventDays: EventDay[];\n eventPay: string;\n startTime: Date;\n participantVacancy: number;\n participants: IEventListItemParticipant[];\n deleteDate: Date | null;\n earning: string;\n remark: string;\n applyDeadline: Date;\n isCancelled: boolean;\n transactions:ITransaction[];\n\n selected: boolean;\n\n constructor(event: IEventListItem) {\n this.id = event.id;\n this.uuId = event.uuId;\n this.eventName = event.eventName;\n this.eventType = new EventType(event.eventType);\n this.eventJoinType = event.eventJoinType;\n this.eventStatus = event.eventStatus;\n this.eventDays = event.eventDays.map(eventDay => new EventDay(eventDay));\n this.eventPay = event.eventPay;\n this.startTime = new Date(event.startTime + 'Z');\n this.participantVacancy = event.participantVacancy;\n this.participants = event.participants;\n this.deleteDate = event.deleteDate ? new Date(event.deleteDate) : null;\n this.selected = false;\n this.earning = event.earning;\n this.remark = event.remark;\n this.applyDeadline = new Date(event.applyDeadline);\n this.isCancelled = event.isCancelled;\n this.transactions=event.transactions;\n }\n\n get isOngoing(): boolean {\n let date = new Date()\n return this.startTime.getTime() <= date.getTime();\n }\n\n get numberOfParticipants(): number {\n return this.participants.filter(p => p.state === 'Confirmed').length;\n }\n\n public getEventStartDate(): Date | null {\n return this.eventDays.length > 0 ? this.eventDays.sort((a, b) => a.date > b.date ? 1 : a.date < b.date ? -1 : 0)[0].getStartTime() : null;\n }\n\n public getEventEndDate(): Date | null {\n if (this.eventDays.length == 0)\n return null;\n let date = this.eventDays.sort((a, b) => a.date > b.date ? -1 : a.date < b.date ? 1 : 0)[0].getEndTime();\n if (date == null)\n return this.getEventStartDate();\n return date;\n }\n\n /** Return remaining date before deleted permanently */\n get deletedDays(): number {\n return Math.ceil((new Date().getTime() - (this.deleteDate as Date).getTime()) / 86400000);\n }\n\n getEventExportModel(): EventExportModel {\n const date: Date = new Date();\n\n var eventParticipants=this.participants.map(p=>({\n participants:p,\n transactions:this.transactions.filter(t=>(t.transferer!=null&&(t.transferer.uuId==p.uuId))||(t.transferee!=null&&t.transferee.uuId==p.uuId))\n }));\n if(this.uuId==\"b25a2e84-f1f0-4732-af5b-2a1b136fa184\"){\n console.log(this.participants,this.transactions,eventParticipants);\n }\n var amount=this.transactions.map(t=>t.amount).length==0?0:this.transactions.map(t=>t.amount).reduce((a,b)=>{return a+b});\n return {\n \"紀錄編號\": this.id.toString(),\n \"活動名目\": this.eventName,\n \"活動類型\": `${this.eventType.code} ${this.eventType.name}`,\n \"交易類型\": this.eventPay == \"Free\" ? \"免費活動\" : this.eventPay == \"UserEarn\" ? \"用戶加分\" : \"用戶扣分\",\n \"參加類型\": this.eventJoinType == \"Staff\" ? \"職員處理\" : \"先到先得\",\n \"活動日期(YYYY-MM-DD)\": toDateString(this.getEventStartDate()),\n \"截止報名時間(YYYY-MM-DD HH:mm)\": dayjs(this.applyDeadline).format(\"YYYY-MM-DD HH:mm\"),\n \"預計開始時間(HH:mm)\": toTimeString(this.getEventStartDate()),\n \"預計結束時間(HH:mm)\": toTimeString(this.getEventEndDate()),\n \"可參加人數\": this.participantVacancy,\n \"實際參加人數\":eventParticipants.filter(ep=>ep.participants.state==\"Confirmed\"||ep.transactions.length>0).map(ep=>ep.participants.memberId).length,\n \"預計參加的每位會員交易時分\": this.eventPay == \"Free\" ? \"0\" : `${this.eventPay == \"UserEarn\" ? \"+\" : \"-\"}${this.earning}`,\n \"總交易時分\":this.eventPay == \"UserSpend\"?-amount:amount,\n \"活動狀態\": this.isCancelled ? \"已終止\" : this.getEventStartDate() ? this.getEventStartDate() as Date > date ? \"等候報名\" : (this.getEventEndDate() as Date) < date && this.eventStatus==\"Complete\"? \"已完結\" : \"進行中\" : \"等候報名\",\n \"備註\": \"\",\n \"參加會員編號\": (this.getEventEndDate() as Date) < date || this.eventStatus==\"Complete\" ?eventParticipants.filter(ep=>ep.participants.state==\"Confirmed\"||ep.transactions.length>0).map(ep=>ep.participants.memberId).join(\",\"):\"\",\n \"參加會員\": (this.getEventEndDate() as Date) < date || this.eventStatus==\"Complete\"?eventParticipants.filter(ep=>ep.participants.state==\"Confirmed\"||ep.transactions.length>0).map(ep=>ep.participants.chineseName).join(\",\"):\"\"\n }\n }\n}\n\nfunction toDateString(date: Date | null) {\n if (date == null) {\n return \"Missing Date\";\n }\n return dayjs(date).format(\"YYYY-MM-DD\")\n}\n\nfunction toTimeString(date: Date | null) {\n if (date == null) {\n \"\"\n }\n return dayjs(date).format(\"HH:mm\")\n}\n\nexport interface IEventListItemParticipant {\n uuId: string;\n chineseName: string;\n memberId: string;\n state: string;\n}\n\n","import { FormControl, Validators } from '@angular/forms';\nimport { Center, ICenter } from '../centers/center';\nimport { EventParticipantExportModel } from '../exports/event-participant-export-model';\nimport { Transaction } from '../transactions/transaction';\n\nexport interface IEventParticipant {\n uuId: string;\n chineseName: string;\n phone: string;\n gender: string;\n dateOfBirth: Date;\n englishName: string;\n memberId: string;\n center: ICenter;\n state: string;\n lastReadEdited: string;\n timeBalance:Number;\n}\n\nexport class EventParticipant {\n uuId: string;\n chineseName: string;\n phone: string;\n gender: string;\n dateOfBirth: Date;\n englishName: string;\n memberId: string;\n center: Center | null;\n state: string;\n lastReadEdited: Date;\n timeBalance:Number;\n\n transaction: Transaction | null;\n\n selected: boolean;\n editing: boolean;\n form: FormControl;\n\n constructor(participant: IEventParticipant, transactions?: Transaction[]) {\n this.uuId = participant.uuId;\n this.chineseName = participant.chineseName;\n this.phone = participant.phone;\n this.gender = participant.gender;\n this.dateOfBirth = typeof (participant.dateOfBirth) == 'string' ? new Date(participant.dateOfBirth + 'Z') : participant.dateOfBirth;\n this.englishName = participant.englishName;\n this.memberId = participant.memberId;\n this.center = participant.center ? new Center(participant.center) : null;\n this.state = participant.state;\n this.lastReadEdited = new Date(participant.lastReadEdited + 'Z');\n this.timeBalance=participant.timeBalance;\n var existTransaction = transactions ? transactions.find(t => t.transferee.uuId === this.uuId || t.transferer.uuId === this.uuId) : null;\n\n this.transaction = existTransaction ? existTransaction : null;\n\n if (this.transaction?.status == 'Completed' && this.state != 'Absent')\n this.state = 'Confirmed';\n\n this.selected = false;\n this.editing = false;\n\n this.form = new FormControl(null, Validators.required);\n }\n\n getExportModel(): EventParticipantExportModel {\n return {\n \"會員編號\": this.memberId,\n \"中文姓名\": this.chineseName,\n \"英文姓名\": this.englishName,\n \"中心編號\": this.center?.centerCode,\n \"性別\": this.gender == \"M\" ? \"男\" : this.gender == \"F\" ? \"女\" : \"\",\n \"年齡\": this.age.toString(),\n \"電話\": this.phone,\n \"狀態\": this.state == \"Absent\" ? \"缺席\" :\n this.state == \"Rejected\" ? \"已拒絕\" :\n this.state == \"Asked\" ? \"等待回應\" :\n this.state == \"Interested\" ? \"接受邀請\" :\n this.state == \"Unselected\" ? \"未被選中\" :\n this.state == \"Confirmed\" && this.transaction == null ? \"確認參加\" : \"已完成\",\n \"交易時分\": this.transaction ? this.transaction.amount.toString() : \"暫無\",\n \"交易編碼\": this.transaction ? this.transaction.id.toString() : \"暫無\",\n \"完成時間\": this.transaction ? this.transaction.date.toJSON().split('T')[0] + ' ' + this.transaction.date.toTimeString().substr(0, 5) : \"暫無\"\n }\n }\n\n get age(): number {\n return new Date(Date.now() - (this.dateOfBirth as Date).getTime()).getUTCFullYear() - 1970;\n }\n}\n","import { UpdateEventForm } from \"src/app/modules/event/forms/update-event-form\";\nimport { Address, IAddress } from \"../addresses/address\";\nimport { EventType, IEventType } from \"../event-types/event-type\";\nimport { ITransaction, Transaction } from \"../transactions/transaction\";\nimport { EventDay, IEventDay } from \"./event-day\";\nimport { EventParticipant, IEventParticipant } from \"./event-participant\";\n\nexport interface IEvent {\n id: number;\n uuId: string;\n eventName: string;\n venue: IAddress;\n startTime: Date;\n endTime: Date;\n isUnknownEndTime: boolean;\n createdDate: Date;\n participantVacancy: number;\n volunteerVacancy: number;\n earning: number;\n spending: number;\n remark: string;\n detail: string;\n lastEditedTime: Date;\n lastEditedBy: string;\n participants: IEventParticipant[];\n transactions: ITransaction[];\n eventType: IEventType;\n eventPay: string;\n eventJoinType: string;\n applyDeadline: Date;\n eventDays: IEventDay[];\n isCancelled: boolean;\n cancelledTime: Date;\n cancelledBy: string;\n cancelDetail: string;\n eventStatus: string;\n isFull: boolean;\n extraEventJson: any;\n deleteDate: Date;\n url: string;\n}\n\nexport class Event {\n id: number;\n uuId: string;\n eventName: string;\n venue: IAddress | null;\n startTime: Date;\n endTime: Date;\n createdDate: Date;\n participantVacancy: number;\n volunteerVacancy: number;\n earning: number;\n spending: number;\n remark: string;\n detail: string;\n lastEditedTime: Date | null;\n lastEditedBy: string;\n participants: EventParticipant[];\n transactions: Transaction[];\n eventType: EventType;\n eventPay: string;\n eventJoinType: string;\n applyDeadline: Date;\n eventDays: EventDay[];\n isCancelled: boolean;\n cancelledTime: Date;\n cancelledBy: string;\n cancelDetail: string;\n eventStatus: string;\n isFull: boolean;\n extraEventJson: any;\n deleteDate: Date | null;\n url: string;\n\n selected: boolean;\n editing: boolean;\n\n form: UpdateEventForm;\n\n constructor(event: IEvent) {\n this.id = event.id;\n this.uuId = event.uuId;\n this.eventName = event.eventName;\n this.venue = event.venue ? new Address(event.venue) : null;\n this.startTime = new Date(event.startTime + 'Z');\n this.endTime = new Date(event.endTime + 'Z');\n this.createdDate = new Date(event.createdDate + 'Z');\n this.participantVacancy = event.participantVacancy;\n this.volunteerVacancy = event.volunteerVacancy;\n this.earning = event.earning;\n this.spending = event.spending;\n this.remark = event.remark;\n this.detail = event.detail;\n this.lastEditedTime = event.lastEditedTime ? new Date(event.lastEditedTime + 'Z') : null;\n this.lastEditedBy = event.lastEditedBy;\n this.isCancelled = event.isCancelled;\n this.cancelledTime = new Date(event.cancelledTime);\n this.cancelledBy = event.cancelledBy;\n this.cancelDetail = event.cancelDetail;\n this.eventStatus = event.eventStatus;\n this.isFull = event.isFull;\n this.deleteDate = event.deleteDate ? new Date(event.deleteDate) : null;\n this.extraEventJson = this.extraEventJson ? JSON.parse(event.extraEventJson) : null;\n this.eventPay = event.eventPay;\n this.eventType = new EventType(event.eventType);\n this.eventJoinType = event.eventJoinType;\n this.applyDeadline = new Date(event.applyDeadline + 'Z');\n this.eventDays = event.eventDays.map(d => new EventDay(d));\n this.transactions = event.transactions.map(transaction => new Transaction(transaction));\n this.participants = event.participants.map(p => new EventParticipant(p, this.transactions));\n this.editing = false;\n this.selected = false;\n this.url = event.url;\n\n this.participants.forEach(p => p.form.setValue(this.earning));\n\n this.form = new UpdateEventForm(this);\n }\n\n public getEventStartDate(): Date {\n return this.eventDays.map(ed => ed.startTime).sort((a, b) => a > b ? 1 : a < b ? -1 : 0)[0];\n }\n\n public getEventEndDate(): Date {\n return this.eventDays.map(ed => ed.endTime as Date).sort((a, b) => a > b ? -1 : a < b ? 1 : 0)[0];\n }\n\n get isOngoing(): boolean {\n let date = new Date()\n return this.startTime.getTime() <= date.getTime() && this.endTime.getTime() >= date.getTime();\n }\n\n get numberOfParticipants(): number {\n return this.participants.filter(p => p.state === 'Confirmed').length;\n }\n\n get numberOfApplication(): number {\n return this.participants.filter(p => p.state === 'Interested').length;\n }\n\n get numberOfInvited(): number {\n return this.participants.length;\n }\n\n get full(): boolean {\n return this.participants.filter(p => p.state === 'Confirmed').length >= this.participantVacancy;\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { UpdateHealthModel } from \"./update-health-model\";\n\nexport interface IHealth {\n uuId: string;\n name: string;\n isShowInRequest: boolean;\n}\n\nexport class Health {\n uuId: string;\n name: string;\n isShowInRequest: boolean;\n\n selected: boolean;\n editing: boolean;\n form: FormGroup;\n\n constructor(health: IHealth) {\n this.uuId = health.uuId;\n this.name = health.name;\n this.isShowInRequest = health.isShowInRequest;\n this.selected = false;\n this.editing = false;\n this.form = new FormGroup({\n name: new FormControl(health.name, [Validators.required]),\n isShowInRequest: new FormControl(health.isShowInRequest)\n });\n }\n\n getUpdateHealthModel(): UpdateHealthModel {\n return {\n uuId: this.uuId,\n name: this.form.controls['name'].value,\n isShowInRequest: this.form.controls['isShowInRequest'].value\n }\n }\n}","export interface IDonationImportModel {\n \"紀錄編號\": string;\n \"會員編號*\": string;\n \"會員中文姓名*\": string;\n \"捐分類型*\": string;\n \"捐分日期*(YYYY-MM-DD)\": string;\n \"交易時分*(捐出/受贈的時分)\": string;\n \"備註\": string;\n}\n\nexport class DonationImportModel {\n public row: number;\n public id: string;\n public userUUId: string | undefined;\n public donationDate: string | null;\n public isCenterPaid: boolean | null;\n public amount: number | null;\n public remark: string;\n\n constructor(donation: IDonationImportModel, index: number) {\n this.row = index;\n this.id = donation[\"紀錄編號\"]?.trim();\n this.userUUId = donation[\"會員編號*\"]?.trim();\n this.donationDate = donation[\"捐分日期*(YYYY-MM-DD)\"] ? new Date(donation[\"捐分日期*(YYYY-MM-DD)\"].trim()).toString() === \"Invalid Date\" ? null : donation[\"捐分日期*(YYYY-MM-DD)\"] : null;\n this.isCenterPaid = donation[\"捐分類型*\"]?.trim() == \"中心捐分\" ? true : donation[\"捐分類型*\"]?.trim() == \"用戶捐分\" ? false : null;\n this.amount = donation[\"交易時分*(捐出/受贈的時分)\"] ? Number.parseFloat(donation[\"交易時分*(捐出/受贈的時分)\"].trim()) : null;\n this.remark = donation[\"備註\"];\n }\n\n public selfValidate(): string | null {\n if (this.userUUId == null)\n return \"第\" + (this.row + 2) + \"列: 編號\" + this.id + \"未輸入會員編號\\n\";\n if (this.donationDate == null)\n return \"第\" + (this.row + 2) + \"列: 編號\" + this.id + \"未輸入捐分日期\\n\";\n if (this.amount == null)\n return \"第\" + (this.row + 2) + \"列: 編號\" + this.id + \"未輸入捐分數量\\n\";\n if (this.isCenterPaid == null)\n return \"第\" + (this.row + 2) + \"列: 編號\" + this.id + \"未輸入捐分類型\\n\";\n return null;\n }\n}","import { CreateEventTransactionModel } from \"../events/create-event-transaction-model\";\n\nexport interface IEventImportModel {\n \"紀錄編號\": string;\n \"活動名目*\": string;\n \"活動類型*\": string;\n \"交易類型*\": string;\n \"參加類型*\": string;\n \"活動日期(YYYY- MM-DD)*\": string;\n \"開始時間*(HH:mm)\": string;\n \"結束時間*(HH:mm)\": string;\n \"預計交易時分*(只作資訊參考)\": number;\n \"實際交易時分*(實際時分請以該欄目為準)\": string;\n \"會員編號*\": string;\n \"義工名稱\": string;\n \"備註\": string;\n}\n\nexport class EventImportModel {\n public id: string;\n public row: number;\n public eventTypeUuid: string\n public eventName: string;\n public startTime: string | null;\n public endTime: string | null;\n public remark: string;\n public eventPayType: string | null;\n public paritcipants: CreateEventTransactionModel\n public earning: number;\n public eventJoinType: string | null;\n public eventDays: {\n date: string | null,\n startTime: string | null,\n endTime: string | null\n }[];\n\n constructor(event: IEventImportModel, index: number) {\n this.id = event[\"紀錄編號\"]?.trim();\n this.row = index;\n console.log(\"event\",event[\"交易類型*\"])\n this.eventTypeUuid = event[\"活動類型*\"]?.trim();\n this.eventName = event[\"活動名目*\"]?.trim();\n this.startTime =\n event[\"活動日期(YYYY- MM-DD)*\"] && event[\"開始時間*(HH:mm)\"]\n ? new Date(\n event[\"活動日期(YYYY- MM-DD)*\"]?.trim() +\n \"T\" +\n event[\"開始時間*(HH:mm)\"]?.trim() +\n \":00.000\",\n ).toJSON()\n : null;\n this.endTime =\n event[\"活動日期(YYYY- MM-DD)*\"] && event[\"結束時間*(HH:mm)\"]\n ? new Date(\n event[\"活動日期(YYYY- MM-DD)*\"]?.trim() +\n \"T\" +\n event[\"結束時間*(HH:mm)\"]?.trim() +\n \":00.000\",\n ).toJSON()\n : null;\n this.remark = event[\"備註\"]?.trim();\n this.eventPayType =\n event[\"交易類型*\"]?.trim() == \"用戶加分\"\n ? \"UserEarn\"\n : (event[\"交易類型*\"]?.trim() == \"用戶扣分\"\n ? \"UserSpend\"\n : (event[\"交易類型*\"]?.trim() == \"免費\"\n ? \"Free\"\n : null)\n );\n \n console.log(\"event\",event[\"交易類型*\"],this.eventPayType)\n this.paritcipants = {\n list: [],\n isCenterPaid: this.eventPayType == \"UserSpend\" ? false : true,\n };\n this.earning = event[\"預計交易時分*(只作資訊參考)\"];\n this.eventJoinType =\n event[\"參加類型*\"]?.trim() == \"職員處理\"\n ? \"Staff\"\n : event[\"參加類型*\"]?.trim() == \"先到先得\"\n ? \"FIFJ\"\n : null;\n this.eventDays = [\n {\n date: event[\"活動日期(YYYY- MM-DD)*\"]\n ? new Date(\n event[\"活動日期(YYYY- MM-DD)*\"].trim() + \"T00:00:00.000\",\n ).toJSON()\n : null,\n startTime: this.startTime,\n endTime: this.endTime,\n },\n ];\n }\n public selfValidate(): string | null {\n if (this.id == null) return \"第\" + (this.row + 7) + \"列: 輸入紀錄編號\\n\";\n if (this.eventName == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入活動名稱\\n\";\n if (this.eventTypeUuid == null)\n return (\n \"第\" +\n (this.row + 7) +\n \"列: 編號\" +\n this.id +\n \"活動\" +\n this.eventName +\n \"未輸入活動類別\\n\"\n );\n if (this.earning == null)\n return (\n \"第\" +\n (this.row + 7) +\n \"列: 編號\" +\n this.id +\n \"活動\" +\n this.eventName +\n \"未輸入時分\\n\"\n );\n if (this.eventPayType == null)\n return (\n \"第\" +\n (this.row + 7) +\n \"列: 編號\" +\n this.id +\n \"活動\" +\n this.eventName +\n \"未輸入支付類型\\n\"\n );\n if (this.paritcipants.list.length == 0)\n return (\n \"第\" +\n (this.row + 7) +\n \"列: 編號\" +\n this.id +\n \"活動\" +\n this.eventName +\n \"未輸入義工名稱\\n\"\n );\n if (this.startTime == null)\n return (\n \"第\" +\n (this.row + 7) +\n \"列: 編號\" +\n this.id +\n \"活動\" +\n this.eventName +\n \"未輸入開始時間\\n\"\n );\n if (this.endTime == null)\n return (\n \"第\" +\n (this.row + 7) +\n \"列: 編號\" +\n this.id +\n \"活動\" +\n this.eventName +\n \"未輸入結束時間\\n\"\n );\n return null;\n }\n}\n","export interface IImportFile {\n file: File;\n uploadResult: boolean;\n error: any;\n}\n\nexport class ImportFile implements IImportFile {\n public file: File;\n public uploadResult: boolean;\n public error: any\n\n constructor(file: File) {\n this.file = file;\n this.uploadResult = false;\n this.error = null;\n }\n}","export interface IRequestImportModel {\n \"紀錄編號*\": string;\n \"申請人編號*\": string;\n \"申請人名稱\": string;\n \"服務日期(YYYY-MM-DD)*\": string;\n \"預計開始時間(HH:mm)*\": string;\n \"預計結束時間(HH:mm)*\": string;\n \"服務鐘數*\": string;\n \"提供服務*(字眼必須和後台資料設置一致)\": string;\n \"義工名稱(用英文逗號隔開)\": string;\n \"義工編號*(用英文逗號隔開)\": string;\n \"實際開始時間*\": string;\n \"實際結束時間*\": string;\n \"備註\": string;\n \"每個義工的交易時分*(根據義工編號次序填寫時分,用英文逗號隔開)\": string;\n}\n\nexport class RequestVolunteerImportModel {\n public uuId: string | undefined;\n public actualStartTime: string | null;\n public actualEndTime: string | null;\n public amount: number;\n\n constructor(uuId: string, actualStartTime: string | null, actualEndTime: string | null, amount: string) {\n this.uuId = uuId;\n this.actualStartTime = actualStartTime\n this.actualEndTime = actualEndTime\n this.amount = Number.parseFloat(amount);\n }\n\n public valid(): boolean {\n return this.uuId != null\n && this.amount > 0;\n }\n}\n\nexport class RequestImportModel {\n id: string;\n row: number;\n requesterUUId: string | undefined;\n serviceUUId: string;\n startTime: string | null;\n endTime: string | null;\n remark: string;\n volunteers: RequestVolunteerImportModel[];\n numberOfVolunteer: number;\n\n isHaveSlashInDate:boolean=false;\n\n constructor(model: IRequestImportModel, index: number) {\n console.log(model);\n this.id = model[\"紀錄編號*\"]?.trim();\n this.row = index;\n this.requesterUUId = model[\"申請人編號*\"]?.trim();\n this.serviceUUId = model[\"提供服務*(字眼必須和後台資料設置一致)\"]?.trim();\n this.startTime = (model[\"服務日期(YYYY-MM-DD)*\"] && model[\"預計開始時間(HH:mm)*\"]) \n ? new Date(model[\"服務日期(YYYY-MM-DD)*\"].trim() + 'T' + model[\"預計開始時間(HH:mm)*\"].trim() + ':00.000').toJSON() : null;\n \n var strtotime = require('locutus/php/datetime/strtotime');\n var match=model[\"服務日期(YYYY-MM-DD)*\"].match(/(\\/|\\\\)/g);\n if(model[\"服務日期(YYYY-MM-DD)*\"]!=null&&match!=null)\n this.isHaveSlashInDate= match.length>0;\n\n this.startTime = (model[\"服務日期(YYYY-MM-DD)*\"] && model[\"預計開始時間(HH:mm)*\"])?new Date(strtotime(model[\"服務日期(YYYY-MM-DD)*\"].trim() + ' ' + model[\"預計開始時間(HH:mm)*\"].trim())*1000).toJSON():null;\n this.endTime = (model[\"服務日期(YYYY-MM-DD)*\"] && model[\"預計結束時間(HH:mm)*\"])?new Date(strtotime(model[\"服務日期(YYYY-MM-DD)*\"].trim() + ' ' + model[\"預計結束時間(HH:mm)*\"].trim())*1000).toJSON():null;\n \n this.remark = model[\"備註\"]?.trim();\n const amounts: string[] = model[\"每個義工的交易時分*(根據義工編號次序填寫時分,用英文逗號隔開)\"].split(\",\").map(amount => amount.trim());\n this.volunteers = model[\"義工編號*(用英文逗號隔開)\"].split(\",\")\n .map(volunteer => volunteer.trim())\n .map((volunteer, index) => {\n return new RequestVolunteerImportModel(\n volunteer,\n this.startTime,\n this.endTime,\n amounts[index] ? amounts[index] : \"-1\")\n });\n this.numberOfVolunteer = this.volunteers.length;\n\n console.log(this);\n }\n\n public selfValidate(): string | null {\n if ( this.id == 'error')\n return \"第\" + (this.row + 7) + \"列: 未輸入紀錄編號\\n\";\n if (this.requesterUUId == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入使用者\\n\";\n if (typeof this.serviceUUId==\"undefined\"||this.serviceUUId == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入服務類別(1)\\n\";\n if (this.serviceUUId == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入服務類別(2)\\n\";\n\n if (this.serviceUUId == '00000000-0000-0000-0000-000000000000')\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入服務類別(0)\\n\";\n\n if (this.isHaveSlashInDate)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"服務日期格式錯誤\\n\";\n\n if (this.volunteers.length == 0)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入助手\\n\";\n if (this.startTime == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入開始時間\\n\";\n if (this.endTime == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入結束時間\\n\";\n if (this.volunteers.some(v => v.uuId == null))\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"含有未知助手\\n\";\n if (this.volunteers[0].actualStartTime == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入實際開始時間\\n\";\n if (this.volunteers[0].actualEndTime == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入實際結束時間\\n\";\n if (this.volunteers[0].amount == null)\n return \"第\" + (this.row + 7) + \"列: 編號\" + this.id + \"未輸入時分\\n\";\n return null;\n }\n}\n","import { CreateUserModel } from \"../profiles/create-user-model\";\nimport { IProfile } from \"../profiles/profile\";\nimport { UpdateUserModel } from \"../profiles/update-user-model\";\n\nexport interface IUserImportModel {\n \"會員編號*\": string;\n \"會員中文姓名*\": string;\n \"會員英文姓名*\": string;\n \"性別*\": string;\n \"中心編號*(須和後台設置中的中心編號一致)\": string;\n \"出生日期*(YYYY-MM-DD)\": string;\n \"電話號碼*\": string;\n \"登入帳號*\": string;\n \"會員密碼*\": string;\n \"網卡配備*(是否有數據可上網)\": string;\n \"讀寫能力*\": string;\n \"教育程度*\": string;\n \"住址(地區)*\": string;\n \"住址(分區)*\": string;\n \"住址(區)\": string;\n \"住址(街道)\": string;\n \"住址(街號)\": string;\n \"屋苑/屋邨\": string;\n \"住址(大廈/期/座)\": string;\n \"樓層\": string;\n \"單位\": string;\n \"居住條件(須和後台設置中的資料一致)\": string;\n \"身體狀況(須和後台設置中的資料一致)\": string;\n \"緊急聯絡人名稱\": string;\n \"緊急聯絡人電話\": string;\n \"可提供服務(義工可填,用逗號隔開,字眼須和後台設置中的可提供服務細項一致)\": string;\n \"細胞小組(填寫組名即可,可屬於多個細胞小組並用逗號隔開,字眼和後台設置一致,義工配對推薦時會優先推薦同組成員)\": string;\n \"電話型號\": string;\n \"智能電話?(是否可安裝使用app)\": string;\n \"備註\":string;\n}\n\nexport class UserImportModel {\n\n uuId: string | null;\n index: number;\n username: string;\n password: string;\n memberId: string;\n phoneNumber: string;\n profile: any;\n\n constructor(model: IUserImportModel, index: number) {\n this.uuId = null;\n this.index = index;\n this.username = model[\"登入帳號*\"]?.trim();\n this.password = model[\"會員密碼*\"]?.trim();\n this.memberId = model[\"會員編號*\"]?.trim();\n this.phoneNumber = model[\"電話號碼*\"]?.trim();\n this.profile = {\n chineseName: model[\"會員中文姓名*\"]?.trim(),\n englishName: model[\"會員英文姓名*\"]?.trim(),\n gender: model[\"性別*\"]?.trim() === \"男\" ? \"M\" : model[\"性別*\"]?.trim() === \"女\" ? \"F\" : null,\n CenterCode: model[\"中心編號*(須和後台設置中的中心編號一致)\"]?.trim(),\n dateOfBirth: model[\"出生日期*(YYYY-MM-DD)\"]?.trim() ? new Date(model[\"出生日期*(YYYY-MM-DD)\"]?.trim()).toString() === \"Invalid Date\" ? null : new Date(model[\"出生日期*(YYYY-MM-DD)\"]?.trim()).toISOString() : null, // uploads as UTC so it's fine\n mobilePhoneModel: model[\"電話型號\"]?.trim(),\n hasSimCard: model[\"網卡配備*(是否有數據可上網)\"] == \"是\" ? true : model[\"網卡配備*(是否有數據可上網)\"] == \"不是\" ? false : null,\n addresses: [{\n region: model[\"住址(地區)*\"]?.trim(),\n district: model[\"住址(分區)*\"]?.trim(),\n subDistrict: model[\"住址(區)\"] ? model[\"住址(區)\"]?.trim() : \"\",\n street: model[\"住址(街道)\"] ? model[\"住址(街道)\"]?.trim() : \"\",\n streetNumber: model[\"住址(街號)\"] ? model[\"住址(街號)\"]?.trim() : \"\",\n estate: model[\"屋苑/屋邨\"]?.trim() ? model[\"屋苑/屋邨\"]?.trim() : \"\",\n block: model[\"住址(大廈/期/座)\"] ? model[\"住址(大廈/期/座)\"]?.trim() : \"\",\n floor: model[\"樓層\"] ? model[\"樓層\"]?.trim() : \"\",\n room: model[\"單位\"] ? model[\"單位\"].trim() : \"\",\n livingConditions: model[\"居住條件(須和後台設置中的資料一致)\"] ? model[\"居住條件(須和後台設置中的資料一致)\"].split(',').map(s => s.trim()) : [],\n isDefault: true\n }],\n literacy: model[\"讀寫能力*\"]?.trim() == \"能讀能寫\" ? \"CanReadAndWrite\" :\n model[\"讀寫能力*\"]?.trim() == \"只能讀,不能寫\" ? \"CanRead\" : \"CanSpeak\",\n educationLevel: model[\"教育程度*\"]?.trim() == \"大學或以上\" ? \"University\"\n : model[\"教育程度*\"]?.trim() == \"中學\" ? \"Secondary\"\n : model[\"教育程度*\"]?.trim() == \"小學\" ? \"Primary\" : \"None\",\n district: null,\n HKID: null,\n MarriageStatus: null,\n Career: null,\n Remark: model[\"備註\"],\n services: {\n services: model[\"可提供服務(義工可填,用逗號隔開,字眼須和後台設置中的可提供服務細項一致)\"] ? model[\"可提供服務(義工可填,用逗號隔開,字眼須和後台設置中的可提供服務細項一致)\"].split(',').map(s => s.trim()) : []\n },\n healthConditions: {\n healthConditions: model[\"身體狀況(須和後台設置中的資料一致)\"] ? model[\"身體狀況(須和後台設置中的資料一致)\"].split(',').map(s => s.trim()) : []\n },\n availabilities: {\n availabilities: []\n },\n cellGroups: model[\"細胞小組(填寫組名即可,可屬於多個細胞小組並用逗號隔開,字眼和後台設置一致,義工配對推薦時會優先推薦同組成員)\"] ? model[\"細胞小組(填寫組名即可,可屬於多個細胞小組並用逗號隔開,字眼和後台設置一致,義工配對推薦時會優先推薦同組成員)\"].split(\",\").map(s => s.trim()) : [],\n contactPersonName: model[\"緊急聯絡人名稱\"]?.trim(),\n contactPersonPhoneNumber: model[\"緊急聯絡人電話\"]?.trim(),\n extraPersonJson: \"{}\",\n }\n }\n\n public selfValidate(): string | null {\n if (!this.profile.gender)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"未輸入性別\\n\";\n if (!this.profile.chineseName || !this.profile.englishName)\n return \"第\" + (this.index + 7) + \"列: \" + \"請輸入中英文姓名\\n\";\n if (!this.username || this.username.length > 8)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的登入帳號格式錯誤\\n\";\n if ((this.uuId == null && (!this.password || this.password.length < 4))\n || (!this.uuId && (this.password == null || (this.password != null && this.password.length < 4))))\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的登入密碼格式錯誤\\n\";\n if (!this.memberId || this.memberId.length > 8)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的會員編號格式錯誤\\n\";\n if (!this.profile.dateOfBirth)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的出生日期格式錯誤\\n\";\n if (!this.profile.CenterCode)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的中心不存在\\n\";\n if ((this.profile.services.services as string[]).some(s => s === null))\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的服務包含不存在的服務\\n\";\n if ((this.profile.addresses[0].livingConditions as string[]).some(s => s === null))\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的居住條件包含不存在的居住條件\\n\";\n if ((this.profile.healthConditions.healthConditions as string[]).some(h => h === null))\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的健康條件包含不存的健康條件\\n\";\n if (this.phoneNumber && this.phoneNumber.length !== 8)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的電話號碼只能有8個數字\\n\";\n if ((this.profile.cellGroups as string[]).some(group => group == null))\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的細包小組包含不存在的小組\\n\";\n if (this.profile.hasSimCard == null)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的網卡配備格式錯誤\\n\";\n if (this.profile.addresses[0].region == null)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的住址(地區)格式錯誤\\n\";\n if (this.profile.addresses[0].district == null)\n return \"第\" + (this.index + 7) + \"列: \" + this.profile.chineseName + \"的住址(分區)格式錯誤\\n\";\n return null;\n }\n\n getCreateUserModel(): CreateUserModel {\n return {\n username: this.username,\n password: this.password,\n memberId: this.memberId,\n phoneNumber: this.phoneNumber,\n profile: {\n chineseName: this.profile.chineseName,\n englishName: this.profile.englishName,\n dateOfBirth: this.profile.dateOfBirth,\n gender: this.profile.gender,\n district: null,\n HKID: null,\n MarriageStatus: null,\n educationLevel: this.profile.educationLevel,\n literacy: this.profile.literacy,\n Career: null,\n Remark: this.profile.Remark,\n HasSimCard: this.profile.hasSimCard,\n MobilePhoneModel: this.profile.mobilePhoneModel,\n CenterCode: this.profile.CenterCode,\n addresses: this.profile.addresses,\n healthConditions: {\n healthConditions: this.profile.healthConditions.healthConditions\n },\n services: {\n services: this.profile.services.services\n },\n contactPersonName: this.profile.contactPersonName,\n contactPersonPhoneNumber: this.profile.contactPersonPhoneNumber,\n availabilities: {\n \"availabilities\": [\n {\n \"uuId\": null,\n \"weekDay\": 0,\n \"availabilityStart\": \"2000-02-08T22:00:00.000Z\",\n \"availabilityEnd\": \"2000-02-09T13:00:00.000Z\"\n },\n {\n \"uuId\": null,\n \"weekDay\": 1,\n \"availabilityStart\": \"2000-02-08T22:00:00.000Z\",\n \"availabilityEnd\": \"2000-02-09T13:00:00.000Z\"\n },\n {\n \"uuId\": null,\n \"weekDay\": 2,\n \"availabilityStart\": \"2000-02-08T22:00:00.000Z\",\n \"availabilityEnd\": \"2000-02-09T13:00:00.000Z\"\n },\n {\n \"uuId\": null,\n \"weekDay\": 3,\n \"availabilityStart\": \"2000-02-08T22:00:00.000Z\",\n \"availabilityEnd\": \"2000-02-09T13:00:00.000Z\"\n },\n {\n \"uuId\": null,\n \"weekDay\": 4,\n \"availabilityStart\": \"2000-02-08T22:00:00.000Z\",\n \"availabilityEnd\": \"2000-02-09T13:00:00.000Z\"\n },\n {\n \"uuId\": null,\n \"weekDay\": 5,\n \"availabilityStart\": \"2000-02-08T22:00:00.000Z\",\n \"availabilityEnd\": \"2000-02-09T13:00:00.000Z\"\n },\n {\n \"uuId\": null,\n \"weekDay\": 6,\n \"availabilityStart\": \"2000-02-08T22:00:00.000Z\",\n \"availabilityEnd\": \"2000-02-09T13:00:00.000Z\"\n }\n ]\n },\n extraPersonJson: \"{}\",\n cellGroups: this.profile.cellGroups\n }\n }\n }\n\n getUpdateUserModel(): UpdateUserModel {\n return {\n phoneNumber: this.phoneNumber,\n chineseName: this.profile.chineseName,\n englishName: this.profile.englishName,\n dateOfBirth: this.profile.dateOfBirth,\n gender: this.profile.gender,\n district: null,\n HKID: null,\n MarriageStatus: null,\n EducationLevel: this.profile.educationLevel,\n Literacy: this.profile.literacy,\n Career: null,\n Remark: this.profile.Remark,\n HasSimCard: this.profile.hasSimCard,\n MobilePhoneModel: this.profile.mobilePhoneModel,\n CenterCode: this.profile.CenterCode,\n addresses: this.profile.addresses,\n healthConditions: {\n healthConditions: this.profile.healthConditions.healthConditions\n },\n services: {\n services: this.profile.services.services\n },\n contactPersonName: this.profile.contactPersonName,\n contactPersonPhoneNumber: this.profile.contactPersonPhoneNumber,\n availabilities: null,\n extraPersonJson: \"{}\",\n cellGroups: this.profile.cellGroups\n }\n }\n}\n","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { UpdateLivingModel } from \"./update-living-model\";\n\nexport interface ILiving {\n uuId: string;\n name: string;\n type: AddressType\n}\n\nexport class Living {\n uuId: string;\n name: string;\n type: AddressType;\n\n editing: boolean;\n selected: boolean;\n form: FormGroup;\n\n public constructor(living: ILiving) {\n this.uuId = living.uuId;\n this.name = living.name;\n this.type = living.type;\n this.editing = false;\n this.selected = false;\n this.form = new FormGroup({\n name: new FormControl(living.name, [Validators.required]),\n type: new FormControl(living.type, [Validators.required])\n });\n }\n\n getUpdateLivingModel(): UpdateLivingModel {\n return {\n uuId: this.uuId,\n name: this.form.controls['name'].value,\n type: this.form.controls['type'].value\n }\n }\n}\n\nexport enum AddressType {\n Country,\n Region,\n District,\n SubDistrict,\n Street,\n StreetNumber,\n Estate,\n Block,\n Floor,\n Room\n}","export interface INotificationContent {\n title: string;\n body: string;\n notificationBody: string;\n notificationTitle: string;\n}\n\nexport interface INotification {\n uuId: string;\n notificationContent: INotificationContent | string;\n createdAt: Date;\n readTime: Date;\n isRead: boolean\n}\n\nexport class Notification implements INotification {\n uuId: string;\n notificationContent: INotificationContent;\n createdAt: Date;\n readTime: Date;\n isRead: boolean;\n\n constructor(notification: INotification) {\n this.uuId = notification.uuId;\n this.notificationContent = JSON.parse(notification.notificationContent);\n this.createdAt = new Date(notification.createdAt + 'Z');\n this.readTime = new Date(notification.readTime + 'Z');\n this.isRead = notification.isRead;\n }\n}","import { FormControl } from \"@angular/forms\";\n\nexport interface IAgent {\n uuId: string;\n memberId: string;\n chineseName: string;\n centerCode: string;\n phone: string;\n remark: any;\n}\n\nexport class Agent {\n public uuId: string;\n public memberId: string;\n public chineseName: string;\n public centerCode: string;\n public phone: string;\n public remark: FormControl;\n\n public isOriginal: boolean;\n\n constructor(agent: IAgent) {\n this.uuId = agent.uuId;\n this.memberId = agent.memberId;\n this.chineseName = agent.chineseName;\n this.centerCode = agent.centerCode;\n this.phone = agent.phone;\n this.remark = new FormControl(agent.remark);\n this.isOriginal = false;\n }\n}","export interface IAvailability {\n uuId: string | null;\n weekDay: number;\n availabilityStart: any;\n availabilityEnd: any;\n}\n\nexport class Availability {\n public uuId: string | null;\n public weekDay: number;\n public availabilityStart: Date;\n public availabilityEnd: Date;\n\n constructor(availability: IAvailability) {\n this.uuId = availability.uuId;\n this.weekDay = availability.weekDay;\n this.availabilityStart = new Date(availability.availabilityStart + 'Z');\n this.availabilityEnd = new Date(availability.availabilityEnd + 'Z');\n }\n}","import { IProfile, Profile } from '../profiles/profile';\n\nexport class CellGroupMemberProfile extends Profile {\n isLeader: boolean\n\n constructor(profile: IProfile) {\n super(profile);\n this.isLeader = false;\n }\n}\n","import { FormControl, Validators } from \"@angular/forms\";\nimport { Profile } from \"./profile\";\n\nexport class Donee {\n uuId: string;\n memberId: string;\n chineseName: string;\n centerCode: string;\n phone: string;\n timeBalance: number;\n amount: FormControl;\n\n constructor(profile: Profile) {\n this.uuId = profile.uuId;\n this.memberId = profile.memberId;\n this.chineseName = profile.chineseName;\n this.centerCode = profile.center.centerCode;\n this.phone = profile.phone;\n this.timeBalance = profile.timeBalance;\n this.amount = new FormControl(null, [Validators.required, Validators.pattern(\"([0-9]*[1-9][0-9]*(\\.[0-9]+)?|[0]+\\.[0-9]*[1-9][0-9]*)\")]);\n }\n}","import { FormControl, Validators } from \"@angular/forms\";\nimport { Profile } from \"./profile\";\n\nexport class EventRecordUser extends Profile {\n recordForm: FormControl;\n\n constructor(profile: Profile) {\n super(profile);\n\n this.recordForm = new FormControl(null, [Validators.required, Validators.min(0)])\n }\n}","import { UpdateUserForm } from \"src/app/modules/user/forms/update-user-form\";\nimport { Address, IAddress } from \"../addresses/address\";\nimport { CellGroup } from \"../cell-groups/cell-group\";\nimport { Center, ICenter } from \"../centers/center\";\nimport { UserExportModel } from \"../exports/user-export-model\";\nimport { Health, IHealth } from \"../healths/health\";\nimport { IService, Service } from \"../services/service\";\nimport { IAgent, Agent } from \"./agent\";\nimport { Availability, IAvailability } from \"./availability\";\nimport * as dayjs from \"dayjs\";\nimport * as duration from \"dayjs/plugin/duration\";\nimport * as utc from \"dayjs/plugin/utc\";\ndayjs.extend(duration);\ndayjs.extend(utc);\n\nexport interface IRole{\n roleId:Number;\n name:string;\n}\nexport interface IProfile {\n addresses: IAddress[];\n agents: IAgent[];\n assignees: any;\n availabilities: IAvailability[];\n cellGroups: CellGroup[];\n center: Center;\n chineseName: string;\n contactPersonName: string;\n contactPersonPhoneNumber: string;\n dateOfBirth: Date;\n district: string;\n educationLevel: string;\n englishName: string;\n gender: string;\n hasSimCard: boolean;\n healths: IHealth[];\n literacy: string;\n memberId: string;\n mobilePhoneModel: string;\n phone: string;\n services: IService[];\n timeBalance: number;\n userName: string;\n uuId: string;\n staffCenters: ICenter[];\n remark:string;\n allowApproval: boolean;\n isFreeze:boolean;\n}\n\nexport class Profile {\n addresses: Address[];\n agents: Agent[];\n assignees: any;\n availabilities: Availability[];\n cellGroups: CellGroup[];\n center: Center;\n chineseName: string;\n contactPersonName: string;\n contactPersonPhoneNumber: string;\n dateOfBirth: Date;\n district: string;\n educationLevel: string;\n englishName: string;\n gender: string;\n hasSimCard: boolean;\n healths: Health[];\n literacy: string;\n memberId: string;\n mobilePhoneModel: string;\n phone: string;\n services: Service[];\n timeBalance: number;\n userName: string;\n uuId: string;\n staffCenters: Center[];\n allowApproval: boolean;\n\n selected: boolean;\n disabled: boolean;\n form: UpdateUserForm;\n remark:string;\n isFreeze:boolean;\n constructor(profile: IProfile) {\n this.uuId = profile.uuId;\n this.memberId = profile.memberId;\n this.chineseName = profile.chineseName;\n this.englishName = profile.englishName;\n this.center = profile.center;\n this.dateOfBirth = new Date(profile.dateOfBirth + \"Z\");\n this.district = profile.district;\n this.educationLevel = profile.educationLevel;\n this.gender = profile.gender;\n this.hasSimCard = profile.hasSimCard;\n this.literacy = profile.literacy;\n this.mobilePhoneModel = profile.mobilePhoneModel;\n this.phone = profile.phone;\n this.timeBalance = profile.timeBalance;\n this.userName = profile.userName;\n this.remark=profile.remark;\n // this.lastUpdate = profile.lastUpdate ? new Date(profile.lastUpdate + 'Z') : null;\n this.addresses = profile.addresses ? profile.addresses.map(address => new Address(address)) : [];\n this.healths = profile.healths ? profile.healths.map(health => new Health(health)) : [];\n this.services = profile.services ? profile.services.map(service => new Service(service)) : [];\n this.staffCenters = profile.staffCenters ? profile.staffCenters.map(c => new Center(c)) : [];\n this.contactPersonName = profile.contactPersonName;\n this.contactPersonPhoneNumber = profile.contactPersonPhoneNumber;\n this.availabilities = profile.availabilities ? profile.availabilities.map(a => new Availability(a)) : [];\n // this.extraPersonJson = profile.extraPersonJson == null ? null : typeof (profile.extraPersonJson) == \"object\" ? profile.extraPersonJson : JSON.parse(profile.extraPersonJson);\n this.cellGroups = profile.cellGroups ? profile.cellGroups.map(group => new CellGroup(group)) : [];\n this.agents = profile.agents.map(agent => new Agent(agent));\n // this.assignees = profile.assignees.map(assignee => new Assignee(assignee));\n this.allowApproval = profile.allowApproval;\n this.selected = false;\n this.form = new UpdateUserForm(this);\n this.disabled = false;\n this.isFreeze=profile.isFreeze;\n }\n\n get age(): number {\n return dayjs.duration(dayjs.utc().diff(this.dateOfBirth)).years();\n }\n\n get defaultAddress(): Address | undefined {\n return this.addresses.find(address => address.isDefault);\n }\n\n get defaultAddressString(): string {\n return this.defaultAddress ? this.defaultAddress.toString() : \"-\";\n }\n\n getUserExportModel(): UserExportModel {\n return {\n \"會員編號*\": this.memberId,\n \"會員中文姓名*\": this.chineseName,\n \"會員英文姓名*\": this.englishName,\n \"性別*\": this.gender == \"M\" ? \"男\" : this.gender == \"F\" ? \"女\" : null,\n \"中心編號*(須和後台設置中的中心編號一致)\": this.center.centerCode,\n \"出生日期*(YYYY-MM-DD)\": dayjs(this.dateOfBirth).format(\"YYYY-MM-DD\"),\n \"電話號碼*\": this.phone,\n \"登入帳號*\": this.userName,\n \"會員密碼*\": null,\n \"網卡配備*(是否有數據可上網)\": this.hasSimCard ? \"是\" : \"不是\",\n \"讀寫能力*\": this.literacy == \"CanReadAndWrite\" ? \"能讀能寫\" :\n this.literacy == \"CanRead\" ? \"只能讀,不能寫\" : \"不懂文字\",\n \"教育程度*\": this.educationLevel == \"University\" ? \"大學或以上\" :\n this.educationLevel == \"Secondary\" ? \"中學\" :\n this.educationLevel == \"Primary\" ? \"小學\" :\n \"不適用\",\n \"住址(地區)*\": this.defaultAddress?.region.name,\n \"住址(分區)*\": this.defaultAddress?.district.name,\n \"住址(區)\": this.defaultAddress?.subDistrict.name,\n \"住址(街道)\": this.defaultAddress?.street.name,\n \"住址(街號)\": this.defaultAddress?.streetNumber.name,\n \"屋苑/屋邨\": this.defaultAddress?.estate.name,\n \"住址(大廈/期/座)\": this.defaultAddress?.block.name,\n \"樓層\": this.defaultAddress?.floor.name,\n \"單位\": this.defaultAddress?.room.name,\n \"居住條件(須和後台設置中的資料一致)\": this.defaultAddress?.livings.map(living => living.name).join(\", \"),\n \"身體狀況(須和後台設置中的資料一致)\": this.healths.map(health => health.name).join(\", \"),\n \"緊急聯絡人名稱\": this.contactPersonName,\n \"緊急聯絡人電話\": this.contactPersonPhoneNumber,\n \"可提供服務(義工可填,用逗號隔開,字眼須和後台設置中的可提供服務細項一致)\": this.services.map(service => service.name).join(\", \"),\n \"細胞小組(填寫組名即可,可屬於多個細胞小組並用逗號隔開,字眼和後台設置一致,義工配對推薦時會優先推薦同組成員)\": this.cellGroups.map(cellGroup => cellGroup.name).join(\", \"),\n \"電話型號\": this.mobilePhoneModel,\n \"智能電話?(是否可安裝使用app)\": this.hasSimCard ? \"是\" : \"不是\",\n \"時分餘額(唯讀)\": this.timeBalance,\n \"備註\":this.remark\n } as any;\n }\n}\n","export interface IRedeemQuestion {\n uuId: string;\n question: string;\n mode: string;\n options: IRedeemOption[];\n}\n\nexport interface IRedeemOption {\n uuId: string;\n option: string;\n}\n\nexport class RedeemQuestion {\n public uuId: string;\n public question: string;\n public mode: string;\n public options: RedeemOption[]\n\n constructor(question: IRedeemQuestion) {\n this.uuId = question.uuId;\n this.question = question.question;\n this.mode = question.mode;\n this.options = question.options.map(option => new RedeemOption(option));\n }\n\n public isOptionDisabled(option: RedeemOption): boolean {\n return this.options.some(o => o.selected && o.uuId != option.uuId);\n }\n\n public toJsonFormat(): { question: string, answer: string[] } | { question: string, answer: string } {\n if (this.mode == \"Single\")\n return { question: this.question, answer: this.options.filter(o => o.selected).map(option => option.option).join(\"\") }\n else\n return { question: this.question, answer: this.options.filter(o => o.selected).map(option => option.option) }\n }\n}\n\nexport class RedeemOption {\n public uuId: string;\n public option: string;\n public selected: boolean\n\n constructor(option: IRedeemOption) {\n this.uuId = option.uuId;\n this.option = option.option;\n this.selected = false;\n }\n}","import * as dayjs from \"dayjs\";\nimport { ProductExportModel } from \"../exports/product-export-model\"\nimport { IRedeem, Redeem } from \"./redeem\"\n\nexport interface IProductListItem {\n closeDate: Date,\n format: string,\n id: number,\n isEdited: boolean,\n launchDate: Date,\n productName: string,\n stock: number,\n uuId: string,\n active: boolean\n brand: string;\n totalStock: number;\n userCount: number;\n redeemCount: number;\n redeems: IRedeem[];\n pendingCount:number;\n}\n\nexport class ProductListItem {\n closeDate: Date\n format: string\n id: number\n isEdited: boolean\n launchDate: Date\n productName: string\n stock: number\n uuId: string\n active: boolean\n selected: boolean\n brand: string;\n totalStock: number;\n userCount: number;\n redeemCount: number;\n redeems: Redeem[];\n pendingCount:number;\n constructor(item: IProductListItem) {\n this.closeDate = typeof (item.closeDate) == \"string\" ? new Date(item.closeDate + 'Z') : item.closeDate;\n this.format = item.format;\n this.id = item.id;\n this.isEdited = item.isEdited;\n this.launchDate = typeof (item.launchDate) == \"string\" ? new Date(item.launchDate + 'Z') : item.launchDate;\n this.productName = item.productName;\n this.stock = item.stock;\n this.uuId = item.uuId;\n this.active = item.active;\n this.selected = false;\n this.brand = item.brand;\n this.totalStock = item.totalStock;\n this.userCount = item.userCount;\n this.redeemCount = item.redeemCount;\n this.redeems = item.redeems ? item.redeems.map(redeem => new Redeem(redeem)) : [];\n this.pendingCount=item.pendingCount;\n }\n\n getExportModel(): ProductExportModel {\n return {\n \"獎勵項目編號\": this.id.toString(),\n \"獎勵標題\": this.productName,\n \"來源\": this.brand,\n \"參與類型\": this.format == \"FirstComeFirstServed\" ? \"先到先得\" : \"職員處理\",\n \"發布日期\": dayjs(this.launchDate).format(\"YYYY-MM-DD\"),\n \"截止日期\": dayjs(this.closeDate).format(\"YYYY-MM-DD\"),\n \"設定數量\": (this.stock + this.redeems.map(redeem => redeem.quantity).reduce((sum, value) => sum += value, 0)).toString(),\n \"庫存餘額\": this.stock.toString(),\n \"已兌換用戶人數\": this.redeems.length.toString(),\n \"已兌換獎勵數量\": this.redeems.map(redeem => redeem.quantity).reduce((sum, value) => sum += value, 0).toString(),\n \"狀態\": this.isClosed ? \"已結束\" : this.isLaunched ? \"已發佈\" : this.isPending ? \"等候發布\" : \"\"\n }\n }\n\n // get isPending(): boolean {\n // return this.format != \"FirstComeFirstServed\" && this.stock != 0 && this.closeDate < new Date();\n // }\n get isPending(): boolean {\n return this.stock != 0 && this.pendingCount>0;\n }\n\n get isLaunched(): boolean {\n return this.launchDate < new Date();\n }\n\n get isOutOfStock(): boolean {\n return this.stock == 0 && this.closeDate > new Date();\n }\n\n get isClosed(): boolean {\n return this.closeDate < new Date();\n }\n get redRot():boolean{\n return this.isPending||this.isOutOfStock;\n }\n}\n","import { Center, ICenter } from \"../centers/center\";\nimport { UpdateProductForm } from \"src/app/modules/redeem/forms/update-product-form\"\nimport { IRedeem, Redeem } from \"./redeem\";\nimport { ProductExportModel } from \"../exports/product-export-model\";\nimport * as dayjs from \"dayjs\";\n\nexport interface IProduct {\n active: boolean;\n brand: string;\n centers: ICenter[];\n closeDate: Date;\n description: string;\n format: string;\n id: number;\n imagePath: string;\n isAnswerQuestionRequired: boolean;\n launchDate: Date;\n maximumQuantityPerPerson: number;\n price: number;\n productName: string;\n redeems: IRedeem[];\n stock: number;\n uuId: string;\n createdAt: Date;\n createdBy: string;\n target: string;\n pendingCount:number;\n}\n\nexport class Product {\n active: boolean;\n brand: string;\n centers: Center[];\n closeDate: Date;\n description: string;\n format: string;\n id: number;\n imagePath: string;\n isAnswerQuestionRequired: boolean;\n launchDate: Date;\n maximumQuantityPerPerson: number;\n price: number;\n productName: string;\n redeems: Redeem[];\n stock: number;\n uuId: string;\n createdAt: Date;\n createdBy: string;\n target: string;\n pendingCount:number;\n form: UpdateProductForm;\n\n constructor(product: IProduct) {\n this.active = product.active;\n this.brand = product.brand;\n this.centers = product.centers.map(center => new Center(center));\n this.closeDate = new Date(product.closeDate + 'Z');\n this.description = product.description;\n this.format = product.format;\n this.id = product.id;\n this.imagePath = product.imagePath;\n this.isAnswerQuestionRequired = product.isAnswerQuestionRequired;\n this.launchDate = new Date(product.launchDate + 'Z');\n this.maximumQuantityPerPerson = product.maximumQuantityPerPerson;\n this.price = product.price;\n this.productName = product.productName;\n this.redeems = product.redeems.map(redeem => new Redeem(redeem));\n this.stock = product.stock;\n this.uuId = product.uuId;\n this.createdAt = new Date(product.createdAt + 'Z');\n this.createdBy = product.createdBy;\n this.target = product.target;\n this.form = new UpdateProductForm(this);\n this.pendingCount=product.pendingCount;\n }\n\n getExportModel(): ProductExportModel {\n return {\n \"獎勵項目編號\": this.id.toString(),\n \"獎勵標題\": this.productName,\n \"來源\": this.brand,\n \"參與類型\": this.format,\n \"發布日期\": dayjs(this.launchDate).format(\"YYYY-MM-DD\"),\n \"截止日期\": dayjs(this.closeDate).format(\"YYYY-MM-DD\"),\n \"設定數量\": (this.stock + this.redeems.map(redeem => redeem.quantity).reduce((sum, value) => sum += value, 0)).toString(),\n \"庫存餘額\": this.stock.toString(),\n \"已兌換用戶人數\": this.redeems.length.toString(),\n \"已兌換獎勵數量\": this.redeems.map(redeem => redeem.quantity).reduce((sum, value) => sum += value, 0).toString(),\n \"狀態\": this.isPending ? \"等候發布\" : this.isLaunched ? \"已發布\" : this.isClosed ? \"已結束\" : \"\"\n }\n }\n get state():string{\n return this.isPending ? \"等候發布\" : this.isLaunched ? \"已發布\" : this.isClosed ? \"已結束\" : \"\"\n }\n get isPending(): boolean {\n return this.stock != 0 && this.pendingCount>0;\n }\n\n get isLaunched(): boolean {\n return this.launchDate < new Date();\n }\n\n get isOutOfStock(): boolean {\n return this.stock == 0 && this.closeDate > new Date();\n }\n\n get isClosed(): boolean {\n return this.closeDate < new Date();\n }\n\n get quantity(): number {\n return (this.stock + this.redeems.map(redeem => redeem.quantity).reduce((sum, value) => sum += value, 0));\n }\n\n}\n","export interface IRedeemHistory {\n productUUId: string;\n redeemCode: string;\n redeemDate: Date;\n productName: string;\n quantity: number;\n price: number;\n transactionId: number;\n}\n\nexport class RedeemHistory {\n productUUId: string;\n redeemCode: string;\n redeemDate: Date;\n productName: string;\n quantity: number;\n price: number;\n transactionId: number;\n\n selected: boolean;\n\n constructor(redeem: IRedeemHistory) {\n this.productName = redeem.productName;\n this.redeemCode = redeem.redeemCode;\n this.redeemDate = new Date(redeem.redeemDate);\n this.productUUId = redeem.productUUId;\n this.quantity = redeem.quantity;\n this.price = redeem.price;\n this.transactionId = redeem.transactionId;\n this.selected = false;\n }\n\n get total(): number {\n return this.price * this.quantity;\n }\n}","import { FormControl, Validators } from \"@angular/forms\";\nimport { RedeemExportModel } from \"../exports/redeem-export-model\";\nimport * as dayjs from 'dayjs'\n\nexport interface IRedeem {\n memberId: string;\n chineseName: string;\n centerCode: string;\n gender: string;\n dateOfBirth: Date;\n englishName: string;\n redeemCode: string;\n redeemReason: string;\n timeBalance: number;\n uuId: string;\n phone: string;\n redeemDate: Date;\n quantity: number;\n redeemState: string;\n price: number;\n userUUId: string;\n deliveredDate: string;\n}\n\nexport class Redeem {\n selected: boolean;\n memberId: string;\n chineseName: string;\n centerCode: string;\n gender: string;\n dateOfBirth: Date;\n englishName: string;\n redeemCode: string;\n redeemReason: any;\n timeBalance: number;\n uuId: string;\n phone: string;\n redeemDate: Date;\n quantity: number;\n redeemState: string;\n price: number;\n userUUId: string;\n editing: boolean;\n quantityInput: FormControl;\n deliveredDate: Date;\n\n constructor(redeem: IRedeem) {\n this.memberId = redeem.memberId;\n this.chineseName = redeem.chineseName;\n this.centerCode = redeem.centerCode;\n this.gender = redeem.gender;\n this.dateOfBirth = typeof (redeem.dateOfBirth) == \"string\" ? new Date(redeem.dateOfBirth + 'Z') : redeem.dateOfBirth;\n this.englishName = redeem.englishName;\n this.redeemCode = redeem.redeemCode;\n this.redeemDate = typeof (redeem.redeemDate) == \"string\" ? new Date(redeem.redeemDate + 'Z') : redeem.redeemDate;\n this.redeemReason = redeem.redeemReason == null ? null : JSON.parse(redeem.redeemReason);\n this.timeBalance = redeem.timeBalance;\n this.uuId = redeem.uuId;\n this.phone = redeem.phone;\n this.quantity = redeem.quantity;\n this.selected = false;\n this.redeemState = redeem.redeemState;\n this.price = redeem.price;\n this.userUUId = redeem.uuId;\n this.editing = false;\n this.quantityInput = new FormControl(this.quantity, [Validators.required, Validators.min(1)]);\n this.deliveredDate=typeof (redeem.deliveredDate) == \"string\" ? new Date(redeem.deliveredDate + 'Z') : redeem.deliveredDate;\n }\n\n getExportModel(): RedeemExportModel {\n return {\n \"會員編號\": this.memberId,\n \"中文姓名\": this.chineseName,\n \"英文姓名\": this.englishName,\n \"中心編號\": this.centerCode,\n \"性別\": this.gender == \"M\" ? \"男\" : this.gender == \"F\" ? \"女\" : \"\",\n \"年齡\": this.age?.toString(),\n \"電話\": this.phone,\n \"換領數量\": this.quantity.toString(),\n \"交易時分\": this.price.toString(),\n \"換領編碼\": this.redeemCode,\n \"換領時間\": this.redeemDate==null?\"-\": this.redeemDate.toJSON().split('T')[0] + \" \" + this.redeemDate.toTimeString().substr(0, 5), \n \"狀態\": this.redeemState == \"Redeemed\" ? \"已兌換\" : this.redeemState == \"Delivered\" ?\"已領取\":\"等候處理\",\n \"問題1\": typeof this.redeemReason!=\"undefined\" ? this.redeemReason[0]?.question : null,\n \"答案1\": typeof this.redeemReason.answer!=\"undefined\" ?( typeof (this.redeemReason[0]?.answer) == \"string\" ? this.redeemReason[0]?.answer : this.redeemReason[0]?.answer.join(\", \")) : null,\n \"問題2\": typeof this.redeemReason!=\"undefined\" ? this.redeemReason[1]?.question : null,\n \"答案2\": typeof this.redeemReason.answer!=\"undefined\" ? (typeof (this.redeemReason[1]?.answer) == \"string\" ? this.redeemReason[1]?.answer : this.redeemReason[1]?.answer.join(\", \")) : null,\n \"問題3\": typeof this.redeemReason!=\"undefined\" ? this.redeemReason[2]?.question : null,\n \"答案3\": typeof this.redeemReason.answer!=\"undefined\" ?( typeof (this.redeemReason[2]?.answer) == \"string\" ? this.redeemReason[2]?.answer : this.redeemReason[2]?.answer.join(\", \")) : null,\n \"備註\":\"\"\n }\n }\n\n getExportModelForRedeem():any{\n return {\n \"會員編號\": this.memberId,\n \"姓名\": this.chineseName,\n \"英文姓名\": this.englishName,\n \"中心編號\": this.centerCode,\n \"性別\": this.gender == \"M\" ? \"男\" : this.gender == \"F\" ? \"女\" : \"\",\n \"年齡\": this.age?.toString(),\n \"電話\": this.phone,\n \"狀態\":this.redeemState == \"Redeemed\" ? \"已兌換\" : this.redeemState == \"Delivered\" ?\"已領取\":\"等候處理\",\n \"兌換數量\":this.quantity,\n \"交易時分\": this.price,\n \"換領編碼\":this.redeemCode,\n \"兌換時間\":dayjs(this.redeemDate).format(\"YYYY-MM-DD\"),\n \"確認已換領時間\":dayjs(this.deliveredDate).format(\"YYYY-MM-DD\")\n }\n }\n\n // public toJsonFormat(): any {\n // return {\n // \"會員編號\": this.memberId,\n // \"中文姓名\": this.chineseName,\n // \"英文姓名\": this.englishName,\n // \"中心編號\": this.centerCode,\n // \"性別\": this.gender == \"M\" ? \"男\" : \"女\",\n // \"年齡\": this.age,\n // \"電話\": this.phone,\n // \"換領數量\": this.quantity,\n // \"交易時分\": this.price,\n // \"換領編碼\": this.redeemCode,\n // \"換領時間\": this.redeemDate.toISOString().substr(0, 10),\n // \"問題1\": this.redeemReason[0]?.question,\n // \"答案1\": typeof (this.redeemReason[0]?.answer) == \"string\" ? this.redeemReason[0]?.answer : this.redeemReason[0]?.answer.join(\", \"),\n // \"問題2\": this.redeemReason[1]?.question,\n // \"答案2\": typeof (this.redeemReason[1]?.answer) == \"string\" ? this.redeemReason[1]?.answer : this.redeemReason[1]?.answer.join(\", \"),\n // \"問題3\": this.redeemReason[2]?.question,\n // \"答案3\": typeof (this.redeemReason[2]?.answer) == \"string\" ? this.redeemReason[2]?.answer : this.redeemReason[2]?.answer.join(\", \"),\n // \"備註\": \"\"\n // }\n // }\n\n get age(): number | null {\n return this.dateOfBirth ? new Date(Date.now() - (this.dateOfBirth as Date).getTime()).getUTCFullYear() - 1970 : null;\n }\n\n get hasEnoughBalance(): boolean {\n return this.timeBalance >= this.price;\n }\n}","import { Address, IAddress } from \"../addresses/address\";\nimport { RequestExportModel } from \"../exports/request-export-model\";\nimport { IService, Service } from \"../services/service\";\nimport { IRequester, Requester } from \"./requester\";\nimport {ITransaction,Transaction}from \"../transactions/transaction\";\nimport * as dayjs from \"dayjs\";\n\nexport interface IRequestListItem {\n id: number;\n uuId: string;\n requester: IRequester;\n startTime: Date;\n endTime: Date;\n requestStatus: string;\n actualDuration: number;\n service: IService;\n volunteers: IRequestListItemVolunteer[];\n deletedDate: Date;\n remark: string;\n}\n\nexport class RequestListItem {\n id: number;\n uuId: string;\n requester: Requester;\n startTime: Date;\n endTime: Date;\n requestStatus: string;\n actualDuration: number;\n service: Service;\n volunteers: RequestListItemVolunteer[];\n deletedDate: Date | null;\n selected: boolean;\n toggle: boolean;\n remark: string\n\n constructor(request: IRequestListItem) {\n this.id = request.id;\n this.uuId = request.uuId;\n this.requester = new Requester(request.requester);\n this.startTime = new Date(request.startTime + 'Z');\n this.endTime = new Date(request.endTime + 'Z');\n this.requestStatus = request.requestStatus;\n this.actualDuration = request.actualDuration;\n this.service = new Service(request.service);\n this.volunteers = request.volunteers.map(volunteer => new RequestListItemVolunteer(volunteer));\n this.deletedDate = request.deletedDate ? new Date(request.deletedDate + 'Z') : null;\n this.selected = false;\n this.toggle = false;\n this.remark = request.remark;\n }\n\n getExportModel(): RequestExportModel {\n return {\n \"紀錄編號*\": this.id.toString(),\n \"申請人編號*\": this.requester.memberId,\n \"申請人名稱\": this.requester.chineseName,\n \"服務日期(YYYY-MM-DD)*\": dayjs(this.startTime).format(\"YYYY-MM-DD\"),\n \"預計開始時間(HH:mm)*\": dayjs(this.startTime).format(\"HH:mm\"),\n \"預計結束時間(HH:mm)*\": dayjs(this.endTime).format(\"HH:mm\"),\n \"服務鐘數*\": this.actualDuration ? this.actualDuration.toString() : null,\n \"提供服務*(字眼必須和後台資料設置一致)\": this.service.name,\n \"義工編號*(用逗號隔開)\": this.JoinedVolunteers.map(v => v.memberId).join(\", \"),\n \"義工名稱(用逗號隔開)\": this.volunteerNames,\n \"實際開始時間(HH:mm)*\": dayjs(this.startTime).format(\"HH:mm\"),\n \"實際結束時間(HH:mm)*\": dayjs(this.endTime).format(\"HH:mm\"),\n \"備註\": this.remark,\n \"每個義工的交易時分*\": this.actualDuration ? this.actualDuration.toString() : null,\n \"狀態\": this.requestStatus == 'Finished' ? '已完成' : this.requestStatus == 'Cancelled' ? '已取消' : this.requestStatus == 'Pending' ? '等候配對' : ''\n }\n }\n\n get JoinedVolunteers(): RequestListItemVolunteer[] {\n return this.volunteers.filter(volunteer => volunteer.volunteerStatus === 'CheckedOut' || volunteer.volunteerStatus === 'CheckedIn' || volunteer.volunteerStatus === 'Confirmed');\n }\n\n get volunteerNames(): string {\n return this.JoinedVolunteers.map(v => v.chineseName).join(', ');\n }\n\n get matchingOvertime(): boolean {\n var date = new Date();\n date.setDate(date.getDate() + 2);\n return this.requestStatus == 'Pending' && this.startTime < date;\n }\n\n get startOvertime(): boolean {\n return this.requestStatus == 'Ready' && this.startTime < new Date();\n }\n\n get endOvertime(): boolean {\n return this.requestStatus == 'Started' && this.endTime < new Date();\n }\n\n /** Return remaining date before deleted permanently */\n get deletedDays(): number {\n return Math.ceil((new Date().getTime() - (this.deletedDate as Date).getTime()) / 86400000);\n }\n\n}\n\nexport interface IRequestListItemVolunteer {\n memberId: string;\n chineseName: string;\n volunteerStatus: string;\n}\n\nexport class RequestListItemVolunteer {\n memberId: string;\n chineseName: string;\n volunteerStatus: string;\n\n constructor(volunteer: IRequestListItemVolunteer) {\n this.memberId = volunteer.memberId;\n this.chineseName = volunteer.chineseName;\n this.volunteerStatus = volunteer.volunteerStatus;\n }\n}\n","import { AbstractControl, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { Address, IAddress } from \"../addresses/address\";\nimport { IAgent, Agent } from \"../profiles/agent\";\nimport { IService, Service } from \"../services/service\";\nimport { ITransaction, Transaction } from \"../transactions/transaction\";\nimport { ITransportation, Transportation } from \"../transportations/transportation\";\nimport { IRequester, Requester } from \"./requester\";\nimport { IVolunteer, Volunteer } from \"./volunteer\";\n\nexport interface IRequest {\n uuId: string;\n agent: IAgent;\n cancelRemark: string;\n centerDonate: ITransaction;\n checkInTime: Date;\n checkOutTime: Date;\n createdAt: Date;\n destination: IAddress;\n endTime: Date;\n id: number;\n numberOfVolunteer: number;\n remark: string;\n requester: IRequester;\n requestStatus: string;\n service: IService;\n staffComment: string;\n startTime: Date;\n transportation: ITransportation;\n venue: IAddress;\n volunteers: IVolunteer[];\n}\n\nexport class Request {\n uuId: string;\n agent: Agent | null;\n cancelRemark: string;\n centerDonate: Transaction | null;\n checkInTime: Date | null;\n checkOutTime: Date | null;\n createdAt: Date;\n destination: Address;\n endTime: Date;\n id: number;\n numberOfVolunteer: number;\n remark: string;\n requester: Requester;\n requestStatus: string;\n service: Service;\n staffComment: string;\n startTime: Date;\n transportation: Transportation | null;\n venue: Address;\n volunteers: Volunteer[];\n\n form: FormGroup;\n // editing: boolean;\n // remarkEdit: boolean;\n\n constructor(request: IRequest) {\n this.uuId = request.uuId;\n this.agent = request.agent ? new Agent(request.agent) : null;\n this.cancelRemark = request.cancelRemark;\n this.centerDonate = request.centerDonate ? new Transaction(request.centerDonate) : null;\n this.checkInTime = request.checkInTime ? new Date(request.checkInTime + 'Z') : null;\n this.checkOutTime = request.checkOutTime ? new Date(request.checkOutTime + 'Z') : null;\n this.createdAt = new Date(request.createdAt + 'Z');\n this.destination = new Address(request.destination);\n this.endTime = new Date(request.endTime + 'Z');\n this.id = request.id;\n this.numberOfVolunteer = request.numberOfVolunteer;\n this.remark = request.remark;\n this.requester = new Requester(request.requester);\n this.requestStatus = request.requestStatus;\n this.service = new Service(request.service);\n this.staffComment = request.staffComment;\n this.startTime = new Date(request.startTime + 'Z');\n this.transportation = request.transportation ? new Transportation(request.transportation) : null;\n this.venue = new Address(request.venue);\n this.volunteers = request.volunteers.map(volunteer => new Volunteer(volunteer)).sort(VolunteerSorting);\n\n this.form = new FormGroup({\n actualStart: new FormControl(this.checkInTime ? new Date(this.checkInTime) : null, [Validators.required]),\n actualEnd: new FormControl(this.checkOutTime ? new Date(this.checkOutTime) : null, [Validators.required]),\n transportation: new FormControl(this.transportation?.uuId),\n });\n // this.editing = false;\n // this.remarkEdit=false;\n }\n\n get matchingOvertime(): boolean {\n var date = new Date();\n date.setDate(date.getDate() + 2);\n return this.requestStatus == 'Pending' && this.startTime < date;\n }\n\n get startOvertime(): boolean {\n return this.requestStatus == 'Ready' && this.startTime < new Date();\n }\n\n get endOvertime(): boolean {\n return this.requestStatus == 'Started' && this.endTime < new Date();\n }\n\n get isAccepted(): boolean {\n return this.volunteers.some(volunteer => volunteer.volunteerStatus == \"Interested\")\n }\n\n get numberOfMatchedVolunteers(): number {\n return this.volunteers.filter(volunteer => volunteer.volunteerStatus == \"Confirmed\").length;\n }\n\n get numberOfCheckedInVolunteers(): number {\n return this.volunteers.filter(volunteer => volunteer.volunteerStatus == \"CheckedIn\" || volunteer.volunteerStatus == \"CheckedOut\").length;\n }\n\n get latestCheckedInTime(): Date | null {\n let checkedInVolunteers = this.volunteers.filter(volunteer => volunteer.checkedInTime != null);\n\n if (checkedInVolunteers.length == 0)\n return null;\n\n return checkedInVolunteers\n .map(volunteer => volunteer.checkedInTime)\n .reduce((previous, current) => (previous as Date) > (current as Date) ? previous : current);\n }\n\n get actualStartForm(): AbstractControl {\n return this.form.controls['actualStart'];\n }\n\n get actualEndForm(): AbstractControl {\n return this.form.controls['actualEnd'];\n }\n\n get transportationForm(): AbstractControl {\n return this.form.controls['transportation'];\n }\n\n get remarkForm(): AbstractControl {\n return this.form.controls['remark'];\n }\n}\n\nfunction VolunteerSorting(a: Volunteer, b: Volunteer): number {\n return a.volunteerStatus == \"Rejected\" ? 1 :\n b.volunteerStatus == \"Rejected\" ? -1 :\n a.volunteerStatus == 'Asked' || a.volunteerStatus == 'Invited' ? 2 :\n b.volunteerStatus == 'Asked' || b.volunteerStatus == 'Invited' ? -2 :\n a.volunteerStatus == 'Interested' ? 3 :\n b.volunteerStatus == 'Interested' ? -3 :\n a.volunteerStatus == 'Confirmed' ? 4 :\n b.volunteerStatus == 'Confirmed' ? -4 :\n a.volunteerStatus == 'CheckedIn' ? 5 :\n b.volunteerStatus == 'CheckedIn' ? -5 :\n a.volunteerStatus == 'CheckedOut' ? 6 :\n b.volunteerStatus == 'CheckedOut' ? -6 : 0;\n\n}\n","import { IHealth } from \"../healths/health\";\n\nexport interface IRequester {\n uuId: string;\n chineseName: string;\n dateOfBirth: string;\n phone: string;\n memberId: string;\n gender: string;\n englishName: string;\n contactPersonName: string;\n contactPersonPhoneNumber: string;\n healths: IHealth[];\n}\n\nexport class Requester {\n uuId: string;\n chineseName: string;\n dateOfBirth: Date;\n phone: string;\n memberId: string;\n gender: string;\n englishName: string;\n contactPersonName: string;\n contactPersonPhoneNumber: string;\n healths: IHealth[];\n\n constructor(requester: IRequester) {\n this.uuId = requester.uuId;\n this.chineseName = requester.chineseName;\n this.dateOfBirth = new Date(requester.dateOfBirth + 'Z');\n this.phone = requester.phone;\n this.memberId = requester.memberId;\n this.gender = requester.gender;\n this.englishName = requester.englishName;\n this.contactPersonName = requester.contactPersonName;\n this.contactPersonPhoneNumber = requester.contactPersonPhoneNumber;\n this.healths = requester.healths;\n }\n}","import { IAddressComponent } from \"../addresses/address\";\nimport { CellGroup } from \"../cell-groups/cell-group\";\nimport { Center, ICenter } from \"../centers/center\";\n\nexport interface IVolunteerChoice {\n userUUId: string;\n chineseName: string;\n gender: string;\n birthday: Date;\n district: string;\n hasMobilePhone: boolean;\n center: ICenter;\n memberId: string;\n phone: string;\n timeBalance: number;\n defaultDistrict: IAddressComponent;\n defaultRegion: IAddressComponent;\n\n isRecommended: boolean;\n recommendNum: number;\n isMatched: boolean;\n hinRemark: IHINRemark;\n hinDetail: IHINDetail;\n cellGroups:CellGroup[];\n defaultAddress:string;\n}\n\nexport class VolunteerChoice {\n userUUId: string;\n chineseName: string;\n gender: string;\n birthday: Date;\n district: string;\n hasMobilePhone: boolean;\n center: Center;\n memberId: string;\n phone: string;\n timeBalance: number;\n defaultDistrict: IAddressComponent;\n defaultRegion: IAddressComponent;\n defaultAddress:string;\n selected: boolean;\n disabled: boolean;\n\n isRecommended: boolean;\n recommendNum: number;\n isMatched: boolean;\n hinRemark: IHINRemark;\n hinDetail: IHINDetail;\n cellGroups:CellGroup[];\n\n\n constructor(volunteer: IVolunteerChoice) {\n this.userUUId = volunteer.userUUId;\n this.chineseName = volunteer.chineseName;\n this.gender = volunteer.gender;\n this.birthday = new Date(volunteer.birthday + 'Z');\n this.district = volunteer.district;\n this.hasMobilePhone = volunteer.hasMobilePhone;\n this.center = new Center(volunteer.center);\n this.memberId = volunteer.memberId;\n this.phone = volunteer.phone;\n this.timeBalance = volunteer.timeBalance;\n this.defaultDistrict = volunteer.defaultDistrict;\n this.defaultRegion = volunteer.defaultRegion;\n this.isMatched = volunteer.isMatched;\n this.isRecommended = volunteer.isRecommended;\n this.recommendNum = volunteer.recommendNum;\n this.hinRemark = volunteer.hinRemark;\n this.hinDetail = volunteer.hinDetail;\n this.selected = false;\n this.disabled = false;\n this.cellGroups=volunteer.cellGroups;\n this.defaultAddress=volunteer.defaultAddress;\n }\n\n get age(): number {\n return new Date(Date.now() - this.birthday.getTime()).getUTCFullYear() - 1970;\n }\n}\n\nexport interface IHINRemark {\n userIsNotProvidingRequiredService: boolean;\n userAddressIsFarAwayFromRequester: boolean;\n userHasContradictingCondition: boolean;\n userReceivedNegativeFeedbackFromRequester: boolean;\n userIsNotAvailableDuringRequestedStartTime: boolean;\n userIsNotAvailableDuringRequestedEndTime: boolean;\n}\n\nexport interface IHINDetail {\n service: number;\n availability_start: number;\n availability_end: number;\n address: number;\n condition: number;\n completed: number;\n failed: number;\n}","import { IAddressComponent } from \"../addresses/address\";\nimport { Center, ICenter } from \"../centers/center\";\nimport { ITransaction, Transaction } from \"../transactions/transaction\";\n\nexport interface IVolunteer {\n birthday: string;\n center: ICenter;\n checkedInTime: string;\n checkedOutTime: string;\n chineseName: string;\n defaultDistrict: IAddressComponent;\n defaultRegion: IAddressComponent;\n district: string;\n gender: string;\n hasMobilePhone: boolean\n memberId: string;\n phone: string;\n requesterComment: string;\n requesterCommentCreatedBy: string;\n isRequesterComment: boolean;\n requesterRating: number;\n timeBalance: number;\n transaction: ITransaction;\n userUUId: string;\n volunteerComment: string;\n volunteerCommentCreatedBy: string;\n isVolunteerComment: boolean;\n volunteerRating: number;\n volunteerStatus: string;\n}\n\nexport class Volunteer {\n birthday: Date;\n center: ICenter;\n checkedInTime: Date | null;\n checkedOutTime: Date | null;\n chineseName: string;\n defaultDistrict: IAddressComponent;\n defaultRegion: IAddressComponent;\n district: string;\n gender: string;\n hasMobilePhone: boolean\n memberId: string;\n phone: string;\n requesterComment: string;\n requesterCommentCreatedBy: string;\n requesterRating: number;\n timeBalance: number;\n transaction: Transaction | null;\n userUUId: string;\n volunteerComment: string;\n volunteerCommentCreatedBy: string;\n volunteerRating: number;\n volunteerStatus: string;\n isVolunteerComment: boolean;\n isRequesterComment: boolean;\n\n //ISelectable\n selected: boolean;\n\n constructor(volunteer: IVolunteer) {\n this.birthday = new Date(volunteer.birthday + 'Z');\n this.center = new Center(volunteer.center);\n this.checkedInTime = volunteer.checkedInTime ? new Date(volunteer.checkedInTime + 'Z') : null;\n this.checkedOutTime = volunteer.checkedOutTime ? new Date(volunteer.checkedOutTime + 'Z') : null;\n this.chineseName = volunteer.chineseName;\n this.defaultDistrict = volunteer.defaultDistrict;\n this.defaultRegion = volunteer.defaultRegion;\n this.district = volunteer.district;\n this.gender = volunteer.gender;\n this.hasMobilePhone = volunteer.hasMobilePhone;\n this.memberId = volunteer.memberId;\n this.phone = volunteer.phone;\n this.requesterComment = volunteer.requesterComment;\n this.requesterCommentCreatedBy = volunteer.requesterCommentCreatedBy;\n this.requesterRating = volunteer.requesterRating\n this.timeBalance = volunteer.timeBalance;\n this.transaction = volunteer.transaction ? new Transaction(volunteer.transaction) : null;\n this.userUUId = volunteer.userUUId;\n this.volunteerComment = volunteer.volunteerComment;\n this.volunteerCommentCreatedBy = volunteer.volunteerCommentCreatedBy;\n this.volunteerRating = volunteer.volunteerRating;\n this.volunteerStatus = volunteer.volunteerStatus;\n this.selected = false;\n this.isVolunteerComment=volunteer.isVolunteerComment;\n this.isRequesterComment=volunteer.isRequesterComment;\n }\n\n get age(): number {\n return new Date().getFullYear() - this.birthday.getFullYear();\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { IService, Service } from \"./service\";\nimport { UpdateServiceTypeModel } from \"./update-service-type-model\";\n\nexport interface IServiceType {\n uuId: string;\n name: string;\n services: IService[];\n}\n\nexport class ServiceType {\n public uuId: string;\n public name: string;\n public services: Service[];\n\n editing: boolean;\n selected: boolean;\n form: FormGroup;\n\n constructor(serviceType: IServiceType) {\n this.uuId = serviceType.uuId;\n this.name = serviceType.name;\n this.services = serviceType.services.map(service => new Service(service)).sort(ServiceSorting);\n this.editing = false;\n this.form = new FormGroup({\n name: new FormControl(serviceType.name, [Validators.required])\n });\n this.selected = false;\n }\n\n getUpdateServiceTypeModel(): UpdateServiceTypeModel {\n return {\n uuId: this.uuId,\n name: this.form.controls['name'].value\n }\n }\n\n reset(): void {\n this.services.forEach(service => service.selected = false);\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.services.forEach(service => service.selected = false);\n else\n this.services.forEach(service => service.selected = true);\n }\n\n\n get isSelectedAll(): boolean {\n return this.services.every(service => service.selected == true);\n }\n\n get selectedServices(): Service[] {\n return this.services.filter(service => service.selected == true);\n }\n}\n\nfunction ServiceSorting(a: Service, b: Service): number {\n if (a.servicesCode == null)\n return 1;\n if (b.servicesCode == null)\n return -1;\n return a.servicesCode.localeCompare(b.servicesCode, 'en', { numeric: true })\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { UpdateServiceModel } from \"./update-service-model\";\n\nexport interface IService {\n type: string;\n uuId: string;\n name: string;\n servicesCode: string;\n destinationNeeded: boolean;\n enable: boolean;\n}\n\nexport class Service {\n type: string;\n uuId: string;\n name: string;\n destinationNeeded: boolean;\n servicesCode: string;\n enable: boolean;\n\n selected: boolean;\n editing: boolean;\n form: FormGroup;\n\n public constructor(service: IService) {\n this.type = service.type;\n this.uuId = service.uuId;\n this.name = service.name;\n this.destinationNeeded = service.destinationNeeded;\n this.servicesCode = service.servicesCode;\n this.enable = service.enable;\n this.selected = false;\n this.editing = false;\n this.form = new FormGroup({\n name: new FormControl(service.name, [Validators.required]),\n code: new FormControl(service.servicesCode),\n destinationNeeded: new FormControl(service.destinationNeeded),\n enable: new FormControl(service.enable)\n });\n }\n\n getUpdateServiceModel(): UpdateServiceModel {\n return {\n uuId: this.uuId,\n name: this.form.controls['name'].value,\n servicesCode: this.form.controls['code'].value,\n destinationNeeded: this.form.controls['destinationNeeded'].value,\n enable: this.form.controls['enable'].value\n }\n }\n}","import { Address, IAddress } from \"../addresses/address\";\n\nexport interface ISignUpUserListItem {\n uuId: string;\n chineseName: string;\n gender: string;\n dateOfBirth: Date;\n phone: string;\n address: IAddress;\n signUpAt: Date;\n status: string;\n}\n\nexport class SignUpUserListItem {\n uuId: string;\n chineseName: string;\n gender: string;\n dateOfBirth: Date;\n phone: string;\n address: Address;\n signUpAt: Date;\n status: string;\n\n selected: boolean;\n\n constructor(user: ISignUpUserListItem) {\n this.uuId = user.uuId;\n this.chineseName = user.chineseName;\n this.gender = user.gender;\n this.dateOfBirth = new Date(user.dateOfBirth + 'Z');\n this.phone = user.phone;\n this.address = new Address(user.address);\n this.signUpAt = new Date(user.signUpAt + 'Z');\n this.status = user.status;\n this.selected = false;\n }\n\n get age(): number {\n return new Date(Date.now() - (this.dateOfBirth as Date).getTime()).getUTCFullYear() - 1970;\n }\n\n get signUpOverTime(): boolean {\n return this.status == 'Pending' && (new Date().getTime() - this.signUpAt.getTime()) / 86400000 > 14;\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { Address, IAddress } from \"../addresses/address\";\nimport { IService, Service } from \"../services/service\";\nimport { IApproveSignUpUserModel } from \"./approve-sign-up-user-model\";\n\nexport interface ISignUpUser {\n userUUId: string;\n username: string;\n chineseName: string;\n englishName: string;\n gender: string;\n phone: string;\n hasSimCand: boolean;\n dateOfBirth: Date;\n contactPersonName: string;\n contactPersonPhone: string;\n educationLevel: string;\n literacy: string;\n address: IAddress;\n services: IService[];\n signUpAt: Date;\n signUpStatus: string;\n approvedBy: string;\n disapprovedBy: string;\n disapprovedAt: Date;\n disapprovedReason: string;\n}\n\nexport class SignUpUser {\n userUUId: string;\n username: string;\n chineseName: string;\n englishName: string;\n gender: string;\n phone: string;\n hasSimCand: boolean;\n dateOfBirth: Date;\n contactPersonName: string;\n contactPersonPhone: string;\n educationLevel: string;\n literacy: string;\n address: IAddress;\n services: IService[];\n signUpAt: Date;\n signUpStatus: string;\n approvedBy: string;\n disapprovedBy: string;\n disapprovedAt: Date;\n disapprovedReason: string;\n\n form: FormGroup;\n\n constructor(user: ISignUpUser) {\n this.userUUId = user.userUUId;\n this.username = user.username;\n this.chineseName = user.chineseName;\n this.englishName = user.englishName;\n this.gender = user.gender;\n this.phone = user.phone;\n this.hasSimCand = user.hasSimCand;\n this.dateOfBirth = new Date(user.dateOfBirth + 'Z');\n this.contactPersonName = user.contactPersonName;\n this.contactPersonPhone = user.contactPersonPhone;\n this.educationLevel = user.educationLevel;\n this.literacy = user.literacy;\n this.address = new Address(user.address);\n this.services = user.services.map(s => new Service(s));\n this.signUpAt = new Date(user.signUpAt + 'Z');\n this.signUpStatus = user.signUpStatus;\n this.approvedBy = user.approvedBy;\n this.disapprovedBy = user.disapprovedBy;\n this.disapprovedAt = new Date(user.disapprovedAt + 'Z');\n this.disapprovedReason = user.disapprovedReason;\n this.form = new FormGroup({\n memberId: new FormControl(null, [Validators.required]),\n center: new FormControl(null, [Validators.required])\n });\n }\n\n get age(): number {\n return new Date(Date.now() - (this.dateOfBirth as Date).getTime()).getUTCFullYear() - 1970;\n }\n\n getApproveModel(): IApproveSignUpUserModel {\n return {\n userUUId: this.userUUId,\n memberId: this.form.controls['memberId'].value,\n centerUUId: this.form.controls['center'].value,\n }\n }\n}\n\n","import { FormControl, Validators } from \"@angular/forms\";\nimport { AppSetting } from \"src/app/backend/app-setting\";\nimport { DonationExportModel } from \"../exports/donation-export-model\";\nimport { IProfile, Profile } from \"../profiles/profile\";\nimport * as dayjs from \"dayjs\";\n\nexport interface ITransaction {\n id: number;\n amount: number;\n date: Date;\n note: string;\n status: string;\n type: string;\n uuId: string;\n transferee: ITransactionProfile;\n transferer: ITransactionProfile;\n}\n\n\nexport class Transaction {\n public id: number;\n public amount: number;\n public date: Date;\n public note: string;\n public status: string;\n public type: string;\n public uuId: string;\n public transferee: ITransactionProfile;\n public transferer: ITransactionProfile;\n\n selected: boolean;\n editing: boolean;\n\n form: FormControl;\n\n constructor(transcation: ITransaction) {\n this.id = transcation.id;\n this.amount = transcation.amount;\n this.date = new Date(transcation.date + 'Z');\n this.note = transcation.note;\n this.status = transcation.status;\n this.type = transcation.type;\n this.uuId = transcation.uuId;\n this.transferer = transcation.transferer;\n this.transferee = transcation.transferee;\n this.selected = false;\n this.editing = false;\n\n this.form = new FormControl(this.amount, [Validators.required, Validators.min(0)]);\n }\n\n getDonationExportModel(): DonationExportModel {\n return {\n \"紀錄編號\": this.id.toString(),\n \"會員編號\": this.transferer.uuId == AppSetting.centerUUId ? this.transferee.memberId : this.transferer.memberId,\n \"會員姓名\": this.transferer.uuId == AppSetting.centerUUId ? this.transferee.chineseName : this.transferer.chineseName,\n \"捐分類型\": this.transferer.uuId == AppSetting.centerUUId ? \"中心捐分\" : \"會員捐分\",\n \"捐分日期(YYYY-MM-DD)\": dayjs(this.date).format(\"YYYY-MM-DD\"),\n \"交易時分(捐出/受贈的時分)\": (this.transferer.uuId == AppSetting.centerUUId ? \"+\" : \"-\") + this.amount.toString(),\n \"備註\": this.note\n }\n }\n}\n\nexport interface ITransactionProfile {\n uuId: string;\n chineseName: string;\n memberId: string;\n}\n","import { IEvent } from \"../events/event\";\nimport { IRequest } from \"../requests/request\";\nimport { ITransaction, Transaction } from \"./transaction\";\n\nexport interface IUserTransaction extends ITransaction {\n request: IRequest;\n event: IEvent;\n}\n\nexport class UserTransaction extends Transaction {\n request: IRequest;\n event: IEvent;\n\n constructor(transaction: IUserTransaction) {\n super(transaction);\n this.request = transaction.request;\n this.event = transaction.event;\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { UpdateTransportationModel } from \"./update-transportation-model\";\n\nexport interface ITransportation {\n uuId: string;\n name: string;\n}\n\nexport class Transportation {\n public uuId: string;\n public name: string;\n\n editing: boolean;\n form: FormGroup;\n\n constructor(transportation: ITransportation) {\n this.uuId = transportation.uuId;\n this.name = transportation.name;\n this.editing = false;\n this.form = new FormGroup({\n name: new FormControl(transportation.name, [Validators.required])\n });\n }\n\n getUpdateTransportationModel(): UpdateTransportationModel {\n return {\n uuId: this.uuId,\n name: this.form.controls['name'].value\n };\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RequestModule } from '../request/request.module';\nimport { EventModule } from '../event/event.module';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ActivityOverviewPageComponent } from './pages/activity-overview-page/activity-overview-page.component';\nimport { RequestOverviewComponent } from '../request/components/request-overview/request-overview.component';\nimport { EventOverviewComponent } from '../event/components/event-overview/event-overview.component';\nimport { ActivityCreatePageComponent } from './pages/activity-create-page/activity-create-page.component';\nimport { RequestCreateComponent } from '../request/components/request-create/request-create.component';\nimport { EventCreateComponent } from '../event/components/event-create/event-create.component';\nimport { SelectRequesterPageComponent } from '../request/pages/select-requester-page/select-requester-page.component';\nimport { SelectVolunteersPageComponent } from '../request/pages/select-volunteers-page/select-volunteers-page.component';\nimport { SelectEventParticipantsPageComponent } from '../event/pages/select-event-participants-page/select-event-participants-page.component';\nimport { RequestDetailPageComponent } from '../request/pages/request-detail-page/request-detail-page.component';\nimport { EventDetailPageComponent } from '../event/pages/event-detail-page/event-detail-page.component';\nimport { CreateEventRecordPageComponent } from '../event/pages/create-event-record-page/create-event-record-page.component';\nimport { SelectEventRecordParticipantsPageComponent } from '../event/pages/select-event-record-participants-page/select-event-record-participants-page.component';\n\nconst routes: Routes = [\n { path: 'create/request/select-requester', component: SelectRequesterPageComponent },\n { path: 'create/request/select-volunteers', component: SelectVolunteersPageComponent },\n { path: 'create/event/select-participants', component: SelectEventParticipantsPageComponent },\n { path: 'overview/request/:id/select-volunteers', component: SelectVolunteersPageComponent },\n { path: 'overview/request/:id', component: RequestDetailPageComponent },\n { path: 'overview/event/:id', component: EventDetailPageComponent },\n { path: 'overview/event/:id/select-participants', component: SelectEventParticipantsPageComponent },\n {\n path: 'overview', component: ActivityOverviewPageComponent, children: [\n { path: 'request', component: RequestOverviewComponent, data: { animationState: 'request' } },\n { path: 'event', component: EventOverviewComponent, data: { animationState: 'event' } },\n { path: '', redirectTo: 'request', pathMatch: 'full' },\n { path: '**', redirectTo: 'request' }\n ]\n },\n {\n path: 'create', component: ActivityCreatePageComponent, children: [\n { path: 'request', component: RequestCreateComponent, data: { animationState: 'request' } },\n { path: 'event', component: EventCreateComponent, data: { animationState: 'event' } },\n { path: '', redirectTo: 'request', pathMatch: 'full' },\n { path: '**', redirectTo: 'request' }\n ]\n },\n { path: 'event-record', component: CreateEventRecordPageComponent },\n { path: 'event-record/select-participants', component: SelectEventRecordParticipantsPageComponent },\n { path: '', redirectTo: 'overview', pathMatch: 'full' },\n { path: '**', redirectTo: 'overview' }\n];\n\n@NgModule({\n declarations: [\n ActivityOverviewPageComponent,\n ActivityCreatePageComponent\n ],\n imports: [\n CommonModule,\n RequestModule,\n EventModule,\n RouterModule.forChild(routes),\n TranslateModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class ActivityModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-activity-create-page',\n templateUrl: './activity-create-page.component.html',\n styleUrls: ['./activity-create-page.component.scss'],\n animations: [PortalAnimation.ActivityPageSlide]\n})\nexport class ActivityCreatePageComponent implements OnInit {\n\n tab: string = \"request\";\n\n constructor(\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n this.router.events.subscribe(() => {\n if (this.router.url == \"/main/activity/create/event\") {\n this.tab = \"event\";\n }\n else {\n this.tab = \"request\";\n }\n });\n }\n\n prepareRoute(outlet: RouterOutlet) {\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animationState'];\n }\n\n}\n","
\n
\n

請求/訂單

\n

/

\n

創建請求

\n

/

\n

用戶請求

\n

中心活動

\n
\n\n

創建請求

\n\n
\n
\n

用戶請求

\n

中心活動

\n
\n
\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-activity-overview-page',\n templateUrl: './activity-overview-page.component.html',\n styleUrls: ['./activity-overview-page.component.scss'],\n animations: [PortalAnimation.ActivityPageSlide]\n})\nexport class ActivityOverviewPageComponent implements OnInit {\n\n tab: string = \"request\";\n\n constructor(\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n this.router.events.subscribe(() => {\n if (this.router.url == \"/main/activity/overview/event\") {\n this.tab = \"event\";\n }\n else {\n this.tab = \"request\";\n }\n });\n }\n\n prepareRoute(outlet: RouterOutlet) {\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animationState'];\n }\n}\n","
\n
\n

活動

\n

/

\n

義工服務

\n

中心活動

\n
\n\n

義工服務

\n

中心活動

\n\n
\n
\n

義工服務

\n

中心活動

\n
\n
\n
\n \n
\n
\n
\n\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AnalysisPageComponent } from './pages/analysis-page/analysis-page.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { BalanceAnalysisComponent } from './components/balance-analysis/balance-analysis.component';\nimport { ApplicationAnalysisComponent } from './components/application-analysis/application-analysis.component';\nimport { SuccessRateAnalysisComponent } from './components/success-rate-analysis/success-rate-analysis.component';\nimport { ChartAnalysisComponent } from './components/chart-analysis/chart-analysis.component';\nimport { InactiveUserAnalysisComponent } from './components/inactive-user-analysis/inactive-user-analysis.component';\nimport { ServiceRatioAnalysisComponent } from './components/service-ratio-analysis/service-ratio-analysis.component';\nimport { UserRankingAnalysisComponent } from './components/user-ranking-analysis/user-ranking-analysis.component';\nimport { ShareModule } from 'src/app/modules/share/share.module';\nimport { CellGroupDataAnalysisComponent } from './components/cell-group-data-analysis/cell-group-data-analysis.component';\n\nconst routes: Routes = [\n { path: 'report', component: AnalysisPageComponent },\n]\n\n@NgModule({\n declarations: [\n AnalysisPageComponent,\n BalanceAnalysisComponent,\n ApplicationAnalysisComponent,\n SuccessRateAnalysisComponent,\n ChartAnalysisComponent,\n InactiveUserAnalysisComponent,\n ServiceRatioAnalysisComponent,\n UserRankingAnalysisComponent,\n CellGroupDataAnalysisComponent\n ],\n imports: [\n CommonModule,\n TranslateModule.forChild(),\n RouterModule.forChild(routes),\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule,\n MatDatepickerModule,\n ShareModule\n ],\n exports: [\n BalanceAnalysisComponent,\n ApplicationAnalysisComponent,\n SuccessRateAnalysisComponent\n ]\n})\nexport class AnalyticsModule { }\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { DailyRequestCount } from 'src/app/models/analytics/daily-request-count';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\nimport { Chart, CategoryScale, LinearScale, LineController, PointElement, LineElement, ChartOptions, ChartConfiguration, ChartData, Filler, Tooltip } from 'chart.js';\n\n@Component({\n selector: 'app-application-analysis',\n templateUrl: './application-analysis.component.html',\n styleUrls: ['./application-analysis.component.scss']\n})\nexport class ApplicationAnalysisComponent implements AfterViewInit {\n\n chart!: Chart;\n dailyRequestCounts: DailyRequestCount[] = [];\n @Input() form!: FormControl;\n\n @ViewChild('graph') graph!: ElementRef;\n context!: CanvasRenderingContext2D;\n\n constructor(\n private analyticsService: AnalyticsService\n ) { }\n\n ngAfterViewInit(): void {\n Chart.register(CategoryScale, LinearScale, LineController, PointElement, LineElement, Filler, Tooltip);\n\n this.context = (this.graph.nativeElement).getContext('2d') as CanvasRenderingContext2D;\n\n this.fetch();\n\n this.form.valueChanges.subscribe(value => {\n this.analyticsService.getDailyRequestCount(value)\n .subscribe(v => {\n this.dailyRequestCounts = v;\n this.initChart();\n });\n })\n }\n\n fetch(): void {\n this.analyticsService.getDailyRequestCount()\n .subscribe(value => {\n this.dailyRequestCounts = value;\n this.initChart();\n });\n }\n\n private initChart(): void {\n if (this.chart)\n this.chart.destroy();\n\n this.chart = new Chart(this.context, this.getChartConfig())\n }\n\n private getChartConfig(): ChartConfiguration {\n return {\n type: 'line',\n data: this.getChartData(),\n options: chartOptions\n }\n }\n\n getChartData(): ChartData {\n return {\n labels: this.dailyRequestCounts.sort((a, b) => a.createdDate > b.createdDate ? 1 : a.createdDate < b.createdDate ? -1 : 0).map(count => count.createdDate),\n datasets: [{\n data: this.dailyRequestCounts.sort((a, b) => a.createdDate > b.createdDate ? 1 : a.createdDate < b.createdDate ? -1 : 0).map(count => count.number),\n fill: 'origin',\n backgroundColor: 'rgb(133, 67, 244)',\n borderColor: 'rgb(133, 67, 244)',\n borderWidth: 1,\n tension: 0.25,\n }]\n }\n }\n get totalRequestCount(): number {\n var total: number = 0;\n if (this.dailyRequestCounts.length > 0)\n this.dailyRequestCounts.forEach(count => total += count.number);\n return total;\n }\n\n get averageRequestCount(): number {\n return this.dailyRequestCounts.length > 0 ? this.totalRequestCount / this.dailyRequestCounts.length : 0;\n }\n}\n\nconst chartOptions: ChartOptions = {\n\n elements: {\n point: { radius: 0 }\n },\n plugins: {\n legend: { display: false },\n },\n scales: {\n x: {\n grid: { display: false },\n ticks: { display: false },\n display: false,\n },\n y: {\n grid: { display: false },\n ticks: { display: false },\n display: false\n }\n }\n}","
\n
\n

申請量

\n info\n
\n\n

{{ totalRequestCount }}

\n\n
\n \n
\n\n
\n\n
\n

日申請量

\n

{{ averageRequestCount | number:'1.0-0' }}

\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { forkJoin } from 'rxjs';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\n\n@Component({\n selector: 'app-balance-analysis',\n templateUrl: './balance-analysis.component.html',\n styleUrls: ['./balance-analysis.component.scss']\n})\nexport class BalanceAnalysisComponent implements OnInit {\n //Total\n public totalTimeBalance: number = 0;\n public averageTimeBalance: number = 0;\n\n //Request\n public requestTotalTimeBalance: number = 0;\n public requestAverageTimeBalance: number = 0;\n\n //Event\n public eventTotalTimeBalance: number = 0;\n public eventAverageTimeBalance: number = 0;\n\n @Input() form!: FormControl;\n\n constructor(\n private analyticsService: AnalyticsService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n\n this.form.valueChanges.subscribe(value => {\n this.fetch(value);\n });\n }\n\n fetch(centerUUId?: string) {\n forkJoin({\n totalTimeBalance: this.analyticsService.getTotalTimeBalance(centerUUId),\n averageTimeBalance: this.analyticsService.getAverageTimeBalance(centerUUId),\n requestTotalTimeBalance: this.analyticsService.getRequestTotalTimeBalance(centerUUId),\n requestAverageTimeBalance: this.analyticsService.getRequestAverageTimeBalance(centerUUId),\n eventTotalTimeBalance: this.analyticsService.getEventTotalTimeBalance(centerUUId),\n eventAverageTimeBalance: this.analyticsService.getEventAverageTimeBalance(centerUUId)\n }).subscribe(value => {\n this.totalTimeBalance = value.totalTimeBalance;\n this.averageTimeBalance = value.averageTimeBalance;\n this.requestTotalTimeBalance = value.requestTotalTimeBalance;\n this.requestAverageTimeBalance = value.requestAverageTimeBalance;\n this.eventTotalTimeBalance = value.eventTotalTimeBalance;\n this.eventAverageTimeBalance = value.eventAverageTimeBalance;\n });\n }\n\n}\n","
\n
\n info\n
\n\n
\n
\n

總交易時分

\n

{{ totalTimeBalance | number : '1.0-0'}}

\n

{{ '平均交易時分' | translate: {value: averageTimeBalance | number : '1.0-2'} }}

\n
\n
\n
\n
\n

義工服務總交易時分

\n

{{ requestTotalTimeBalance | number : '1.0-0' }}

\n

{{ '義工服務平均交易時分' | translate: {value: requestAverageTimeBalance | number : '1.0-2'} }}

\n
\n
\n

中心活動總交易時分

\n

{{ eventTotalTimeBalance | number : '1.0-0' }}

\n

{{ '中心活動平均交易時分' | translate: {value: eventAverageTimeBalance | number : '1.0-2'} }}

\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Center } from 'src/app/models/centers/center';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { ServiceService } from 'src/app/services/service/service.service';\nimport { forkJoin } from 'rxjs';\nimport { EventTypeService } from 'src/app/services/event-type/event-type.service';\nimport { finalize } from 'rxjs/operators';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\n@Component({\n selector: 'app-cell-group-data-analysis',\n templateUrl: './cell-group-data-analysis.component.html',\n styleUrls: ['./cell-group-data-analysis.component.scss']\n})\nexport class CellGroupDataAnalysisComponent implements OnInit {\n\n\n @Input() form!: FormControl;\n @Input() centers!: Center[];\n\n start: FormControl = new FormControl(null);\n end: FormControl = new FormControl(null);\n ServiceType: FormControl = new FormControl(null);\n\n ServiceTypes!:{name:string,uuId:string}[];\n EventTypes!:EventType[]\n StateType: string = \"All\";\n dataType: string = \"Request\";\n centerUUId?: string;\n Max:number=0;\n TypeList!:{name:string,value:string}[];\n \n Cell_group_list:{ cellGourpName: string, NumOfTime: number|undefined , NumOfPoeper: number|undefined}[]= [{ cellGourpName: \"Name\", NumOfTime: 10 , NumOfPoeper: 11},{ cellGourpName: \"Name\", NumOfTime: 20 , NumOfPoeper: 11},{ cellGourpName: \"Name\", NumOfTime: 30 , NumOfPoeper: 11},\n { cellGourpName: \"Name\", NumOfTime: 40 , NumOfPoeper: 11},{ cellGourpName: \"Name\", NumOfTime: 50 , NumOfPoeper: 11},{ cellGourpName: \"Name\", NumOfTime: 60 , NumOfPoeper: 11},\n { cellGourpName: \"Name\", NumOfTime: 70 , NumOfPoeper: 11},{ cellGourpName: \"Name\", NumOfTime: 80 , NumOfPoeper: 11},{ cellGourpName: \"Name\", NumOfTime: 90 , NumOfPoeper: 11}]\n constructor( \n private analyticsService: AnalyticsService,\n private exportService:ExportService,\n private serviceService:ServiceService,\n private eventTypeService:EventTypeService,\n private loadingService:LoadingService) { }\n\n ngOnInit(): void {\n \n this.loadingService.startLoading();\n forkJoin({\n eventTypes: this.eventTypeService.getEventTypeList(),\n serviceType: this.serviceService.getServiceTypeList()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.EventTypes = value.eventTypes;\n this.ServiceTypes=[];\n value.serviceType.forEach((st)=>{\n st.services.forEach( s=>this.ServiceTypes.push({name:s.name,uuId:s.uuId}))\n })\n \n console.log(value.serviceType);\n this.fetch();\n });\n }\n ngAfterViewInit(): void {\n \n this.form.valueChanges.subscribe(value => {\n this.centerUUId=value;\n this.fetch();\n });\n\n }\n dateformat(data:Date){\n return data.getFullYear()+\"-\"+(data.getMonth()+1<10?\"0\":\"\")+(data.getMonth()+1)+\"-\"+(data.getDate()<10?\"0\":\"\")+(data.getDate());\n }\n fetch(): void {\n if(this.dataType == 'Request'){\n this.TypeList= this.ServiceTypes.map(item=> ({name:item.name,value:item.uuId}));\n }else\n this.TypeList= this.EventTypes.map(item=> ({name:item.name,value:item.uuId}));\n var start=!this.start.value?undefined:this.dateformat(this.start.value);\n var end=!this.end.value?undefined:this.dateformat(this.end.value);\n this.analyticsService.getCellGroupData(start,end,this.dataType,this.StateType,this.ServiceType.value,this.centerUUId)\n .subscribe(value => {\n this.Cell_group_list=[];\n this.Max=0;\n this.centers.forEach(element => {\n element.cellGroups.forEach(item=>{\n var a={\n cellGourpName:item.name,\n NumOfTime:value.numOfTime.find(v=>v.index==item.uuId)?value.numOfTime.find(v=>v.index==item.uuId)?.value:0,\n NumOfPoeper:value.numOfUser.find(v=>v.index==item.uuId)?value.numOfUser.find(v=>v.index==item.uuId)?.value:0\n };\n this.Cell_group_list.push(a);\n this.Max=Math.max(typeof a.NumOfTime==\"undefined\"?0:a.NumOfTime,this.Max)\n })\n });\n });\n }\n export():void{\n var cellName=\"\";\n var str=this.ServiceTypes.find(a=>a.uuId==this.ServiceType.value)?.name\n \n this.exportService.exportCellGroupData(this.Cell_group_list,this.dataType,this.StateType,this.start.value,this.end.value,str);\n }\n get typeList():{name:string,value:string}[]{\n return this.TypeList;\n }\n get dateRange(): string | null {\n if (this.start.value == null || this.end.value == null)\n return null;\n return (this.start.value).toLocaleDateString() + \" - \" + (this.end.value).toLocaleDateString();\n }\n get max():number{\n return this.Max;\n }\n \n get displayList(): { cellGourpName: string, NumOfTime: number |undefined, NumOfPoeper: number|undefined}[]{\n\n return this.Cell_group_list;//{ cellGourpName: \"Name\", NumOfTime: 10 , NumOfPoeper: 11}\n }\n}\n","
\n
\n
\n

細胞小組

\n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n 細胞小組\n 服務次數\n 參與次數\n 人數\n
\n \n
\n
{{service.cellGourpName}}
\n
\n
\n \n
\n
\n
\n
\n {{service.NumOfTime}}\n {{service.NumOfPoeper}}\n
\n
\n
\n
\n
\n
\n \n
\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { BarController, BarElement, Chart, ChartOptions } from 'chart.js';\nimport { TransactionChartData } from 'src/app/models/analytics/transaction-chart-data';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\nimport { ExportService } from 'src/app/services/export/export.service';\n@Component({\n selector: 'app-chart-analysis',\n templateUrl: './chart-analysis.component.html',\n styleUrls: ['./chart-analysis.component.scss']\n})\nexport class ChartAnalysisComponent implements AfterViewInit {\n\n transactionChartData: TransactionChartData | null = null;\n\n transactionType:string =\"Request\";\n dataType: string = \"Monthly\";\n\n @ViewChild('graph') graph!: ElementRef;\n context!: CanvasRenderingContext2D;\n chart!: Chart;\n\n @Input() form!: FormControl;\n start: FormControl = new FormControl(null);\n end: FormControl = new FormControl(null);\n\n constructor(\n private analyticsService: AnalyticsService,\n private exportService:ExportService\n ) { }\n\n ngAfterViewInit(): void {\n Chart.register(BarController, BarElement)\n\n this.context = (this.graph.nativeElement).getContext('2d') as CanvasRenderingContext2D;\n\n this.fetch();\n\n this.form.valueChanges.subscribe(value => {\n this.fetch(value);\n });\n }\n\n fetch(centerUUId?: string): void {\n\n this.analyticsService.GetTransactionChartData({\n periodType: this.dataType,\n startDate: this.start.value ? this.start.value : null,\n endDate: this.end.value ? this.end.value : null,\n centerUUId: centerUUId,\n transactionType:this.transactionType\n }).subscribe(value => {\n this.transactionChartData = value;\n this.transactionChartData.service = this.transactionChartData.service.sort((a, b) => a.value > b.value ? -1 : a.value < b.value ? 1 : 0)\n\n this.initChart();\n });\n }\n initChart(): void {\n if (this.chart)\n this.chart.destroy();\n\n var sortArray=this.transactionChartData?.amount.sort((a,b)=>{\n if(a.index>b.index)return 1;\n if(a.index data.index),\n datasets: [{\n // labels: this.transactionChartData?.amount.map(data => data.index),\n data: sortArray.map(data => data.value) as number[],\n backgroundColor: 'rgba(24, 144, 255, 0.3)',\n borderColor: 'rgba(24, 144, 255, 1)',\n borderWidth: 1,\n barPercentage: 0.5,\n }]\n },\n options: chartOptions\n })\n }\n\n get dateRange(): string | null {\n if (this.start.value == null || this.end.value == null)\n return null;\n return (this.start.value).toLocaleDateString() + \" - \" + (this.end.value).toLocaleDateString();\n }\n\n export():void{\n this.exportService.exportTransactionChartData(this.transactionChartData,this.dataType,this.start.value,this.end.value);\n }\n}\n\nconst chartOptions: ChartOptions = {\n responsive: true,\n plugins: {\n legend: { display: false }\n },\n scales: {\n x: {\n grid: { display: false },\n },\n y: { beginAtZero: true }\n\n }\n}\n","
\n

時分交易

\n
\n
\n
\n \n \n
\n
\n \n

按日期

\n

按週期

\n

按月份

\n

按年份

\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n
\n

義工服務時分交易量

\n

中心活動時分交易量

\n \n
\n\n
\n \n

時分交易排名

\n \n
\n

{{ index+ 1 }}

\n

{{ service.index }}

\n
\n

{{ service.value | number:'1.0-2' }}

\n
\n
\n
\n
\n
\n \n
\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\nimport { ExportService } from 'src/app/services/export/export.service';\n\n@Component({\n selector: 'app-inactive-user-analysis',\n templateUrl: './inactive-user-analysis.component.html',\n styleUrls: ['./inactive-user-analysis.component.scss']\n})\nexport class InactiveUserAnalysisComponent implements OnInit {\n\n start: FormControl = new FormControl(null);\n end: FormControl = new FormControl(null);\n dataType: string = \"Request\";\n\n\n users: Profile[] = [];\n filters = {\n page: 1,\n itemsPerPage: 5,\n };\n\n @Input() form!: FormControl;\n\n constructor(\n private analyticsService: AnalyticsService,\n private exportService:ExportService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n\n this.form.valueChanges.subscribe(value => {\n this.fetch(value);\n });\n }\n\n dateformat(data:Date){\n return data.getFullYear()+\"-\"+(data.getMonth()+1<10?\"0\":\"\")+(data.getMonth()+1)+\"-\"+(data.getDate()<10?\"0\":\"\")+(data.getDate());\n }\n fetch(centerUUId?: string): void {\n var start=!this.start.value?undefined:this.dateformat(this.start.value);\n var end=!this.end.value?undefined:this.dateformat(this.end.value);\n this.analyticsService.getInactiveUsers(centerUUId,this.dataType,start,end)\n .subscribe(value => {\n this.users = value;\n });\n }\n\n get pages(): number {\n return Math.ceil(this.users.length / this.filters.itemsPerPage);\n }\n get displayedUsers(): Profile[] {\n return this.users;\n }\n get dateRange(): string | null {\n if (this.start.value == null || this.end.value == null)\n return null;\n return (this.start.value).toLocaleDateString() + \" - \" + (this.end.value).toLocaleDateString();\n }\n export(){\n this.exportService.exportInactiveUser(this.users,this.dataType,this.start.value,this.end.value);\n }\n}\n","
\n
\n
\n

不活躍用戶

\n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n

共有

\n

{{ users.length }}

\n

位會員在近6個月沒有交易紀錄

\n
\n \n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

時分

\n
\n
\n
\n \n
\n
\n

{{ service.memberId }}

\n
\n
\n

{{ service.chineseName }}

\n
\n
\n

{{ service.gender | translate }}

\n
\n
\n

{{ service.center.centerCode }}

\n
\n
\n

{{ service.phone }}

\n
\n
\n

{{ service.timeBalance }}

\n
\n
\n

檢視

\n
\n
\n
\n
\n
\n
\n

沒有紀錄

\n
\n
\n
\n \n\n
\n\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ArcElement, Chart, ChartData, ChartOptions, DoughnutController, DoughnutControllerChartOptions, Legend } from 'chart.js';\nimport { ServiceRatio } from 'src/app/models/analytics/service-ratio';\nimport { Center } from 'src/app/models/centers/center';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\nimport { ExportService } from 'src/app/services/export/export.service';\n\n@Component({\n selector: 'app-service-ratio-analysis',\n templateUrl: './service-ratio-analysis.component.html',\n styleUrls: ['./service-ratio-analysis.component.scss']\n})\nexport class ServiceRatioAnalysisComponent implements AfterViewInit {\n\n serviceRatio!: ServiceRatio;\n StateType: string = \"All\";\n dataType: string = \"Request\";\n\n\n\n chart: Chart|null=null;\n @ViewChild('graph') graph!: ElementRef;\n @ViewChild('graphLabel') graphLabel!:ElementRef;\n context!: CanvasRenderingContext2D;\n\n @Input() form!: FormControl;\n @Input() centers!: Center[];\n\n centerUUId?: string;\n \n start: FormControl = new FormControl(null);\n end: FormControl = new FormControl(null);\n cellGroupsUUId?: string;\n cellGroup: FormControl = new FormControl(null);\n \n\n\n constructor(\n private analyticsService: AnalyticsService,\n private renderer: Renderer2,\n private exportService:ExportService\n ) { }\n\n ngAfterViewInit(): void {\n Chart.register(DoughnutController, ArcElement, Legend);\n\n this.context = (this.graph.nativeElement).getContext('2d') as CanvasRenderingContext2D;\n \n this.fetch();\n\n this.form.valueChanges.subscribe(value => {\n this.centerUUId=value;\n this.fetch();\n });\n }\n dateformat(data:Date){\n return data.getFullYear()+\"-\"+(data.getMonth()+1<10?\"0\":\"\")+(data.getMonth()+1)+\"-\"+(data.getDate()<10?\"0\":\"\")+(data.getDate());\n }\n fetch(): void {\n var start=!this.start.value?undefined:this.dateformat(this.start.value);\n var end=!this.end.value?undefined:this.dateformat(this.end.value);\n this.analyticsService.getServiceRatio(this.centerUUId,this.dataType,start,end,this.cellGroup.value)\n .subscribe(value => {\n // this.serviceRatio={ all:[],\n // finished:[],\n // finishedUser:[],\n // allUser:[]}\n // for(var i=0;i<10;i++){\n // value.all.forEach(item=>this.serviceRatio.all.push(item));\n // value.finished.forEach(item=>this.serviceRatio.finished.push(item));\n // value.finishedUser.forEach(item=>this.serviceRatio.finishedUser.push(item));\n // value.allUser.forEach(item=>this.serviceRatio.allUser.push(item));\n // }\n this.serviceRatio = value;\n this.initGraph()\n });\n }\n\n UserNumber(index:string):number{\n var n:number|undefined=0;\n this.StateType==\"All\"?n=this.serviceRatio.allUser.find(item=>item.index==index)?.value:n=this.serviceRatio.finishedUser.find(item=>item.index==index)?.value;\n return n?n:0;\n }\n\n initGraph(): void {\n if (this.chart)\n this.chart.destroy();\n this.chart = new Chart(this.context, {\n type: 'doughnut',\n data: this.getData(),\n options: chartOptions\n });\n this.renderer.setStyle( this.graphLabel.nativeElement,'top',(this.chart.chartArea.top+(this.chart.chartArea.height-this.graphLabel.nativeElement.offsetHeight)/2)+'px');\n }\n public getData(): ChartData {\n var colorList:string[]=[];\n var data:number[]=this.StateType == \"All\" ? this.serviceRatio.all.map(service => service.value) : this.serviceRatio.finished.map(service => service.value);\n for(var i=0;i service.index) : this.serviceRatio.finished.map(service => service.index),\n }\n }\n color(index:number):string{\n var colorList=[\n 'rgba(255, 166, 32, 1)', 'rgba(249, 133, 67, 1)', 'rgba(160, 210, 255, 1)', 'rgba(59, 161, 255, 1)', 'rgba(47, 84, 235, 1)',\n 'rgba(4, 105, 255, 1)', 'rgba(4, 240, 255, 1)', 'rgba(179, 245, 245, 1)', 'rgba(54, 203, 203, 1)', 'rgba(8, 151, 156, 1)',\n 'rgba(107, 99, 151, 1)', 'rgba(188, 17, 249, 1)', 'rgba(214, 184, 255, 1)', 'rgba(151, 95, 229, 1)', 'rgba(83, 29, 171, 1)',\n 'rgba(212, 56, 13, 1)', 'rgba(255, 0, 168, 1)', 'rgba(255, 203, 212, 1)', 'rgba(242, 99, 123, 1)', 'rgba(245, 34, 45, 1)',\n 'rgba(255, 221, 102, 1)', 'rgba(212, 216, 16, 1)', 'rgba(255, 240, 181, 1)', 'rgba(251, 212, 55, 1)', 'rgba(212, 177, 6, 1)',\n 'rgba(89, 232, 1, 1)', 'rgba(173, 244, 195, 1)', 'rgba(78, 203, 116, 1)', 'rgba(56, 158, 13, 1)',\n 'rgba(220, 5, 5, 1)', 'rgba(195, 226, 226, 1)', 'rgba(54, 203, 203, 1)', 'rgba(166, 192, 192, 1)',\n ];\n return colorList[index%colorList.length];\n }\n get displayList(): { index: string, value: number }[] {\n return this.serviceRatio ? (this.StateType == \"All\" ? this.serviceRatio.all : this.serviceRatio.finished) : [];\n }\n \n get total(): number {\n if (!this.serviceRatio)\n return 1;\n var total = 0;\n if (this.StateType == \"All\")\n this.serviceRatio.all.forEach(service => total += service.value);\n else\n this.serviceRatio.finished.forEach(service => total += service.value);\n return total;\n }\n\n\n get dateRange(): string | null {\n if (this.start.value == null || this.end.value == null)\n return null;\n return (this.start.value).toLocaleDateString() + \" - \" + (this.end.value).toLocaleDateString();\n }\n // get displayListPage():number[]{\n // this.pageIndex;\n // var n:number[]=[];\n\n // if( this.pageIndex+5>this.MaxPage){\n // for(var i=Math.max(this.MaxPage-5,0);icenter.cellGroups.forEach(cellGroup=>cellGroup.uuId==this.cellGroup.value?cellName=cellGroup.name:null));\n }\n this.exportService.exportServiceRatioData(this.serviceRatio,this.dataType,this.StateType,cellName,this.start.value,this.end.value);\n }\n}\n\nconst chartOptions: any = {\n responsive: true,\n cutout: '80%'\n};\n\n","
\n
\n
\n

活動類別分析

\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n

總申請量

\n

總完成量

\n

總數量

\n

{{ total }}

\n
\n
\n \n
\n
\n 類別\n 佔比\n 申請次數\n 完成次數\n 數量 \n 義工人數\n 確認人數 \n 出席人數 \n
\n \n
\n
\n

{{ service.index }}

\n

{{ service.value * 100 / total | number }}%

\n

{{ service.value }}

\n

{{ UserNumber(service.index) }}

\n
\n
\n
\n
\n \n
\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\n\n@Component({\n selector: 'app-success-rate-analysis',\n templateUrl: './success-rate-analysis.component.html',\n styleUrls: ['./success-rate-analysis.component.scss']\n})\nexport class SuccessRateAnalysisComponent implements OnInit {\n\n successRate: number = 0;\n\n @Input() form!: FormControl;\n\n constructor(\n private analyticsService: AnalyticsService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n\n this.form.valueChanges.subscribe(value => {\n this.analyticsService.getRequestSuccessRate(value)\n .subscribe(v => {\n this.successRate = Math.round(v * 100);\n });\n });\n }\n\n fetch(): void {\n this.analyticsService.getRequestSuccessRate()\n .subscribe(value => {\n this.successRate = Math.round(value * 100) || 0;\n });\n }\n\n}\n","
\n
\n

推薦成功率

\n info\n
\n\n

{{ successRate }}%

\n\n
\n\n
\n \n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { forkJoin } from 'rxjs';\nimport { AnalyticsService } from 'src/app/services/analytics/analytics.service';\nimport { TranslateService } from '@ngx-translate/core';\n@Component({\n selector: 'app-user-ranking-analysis',\n templateUrl: './user-ranking-analysis.component.html',\n styleUrls: ['./user-ranking-analysis.component.scss']\n})\nexport class UserRankingAnalysisComponent implements OnInit {\n\n @Input() form!: FormControl;\n\n public ranking: { index: string, value: number }[] = [];\n public totalDonation: number = 0;\n public firstDonation:Date|null=null;\n public PrevMonthStart:Date=new Date();\n public PrevMonthEnd:Date=new Date();\n public currentLang:string=\"\";\n constructor(\n private analyticsService: AnalyticsService,\n private translateService: TranslateService\n ) {\n this.currentLang=this.translateService.currentLang;\n var nowDate=new Date();\n this.PrevMonthStart.setDate(1);\n this.PrevMonthStart.setMonth(nowDate.getMonth()-1);\n\n this. PrevMonthEnd = new Date(this.PrevMonthStart.getFullYear(),this.PrevMonthStart.getMonth()+1, 0);\n }\n\n ngOnInit(): void {\n this.fetch();\n\n this.form.valueChanges.subscribe(value => {\n this.fetch(value);\n });\n }\n\n fetch(centerUUId?: string): void {\n forkJoin({\n ranking: this.analyticsService.getRanking(centerUUId),\n donation: this.analyticsService.getTotalDonation()\n }).subscribe(value => {\n this.firstDonation = value.donation.startTime ;\n this.ranking = value.ranking;\n this.totalDonation = value.donation.sum | 0;\n });\n }\n\n get topRanking(): { index: string, value: number }[] {\n return this.ranking.sort((a, b) => a.value > b.value ? -1 : a.value < b.value ? 1 : 0).slice(0, 10);\n }\n}\n","
\n
\n

{{ '累積的總時分排行榜' | translate: {StartDate: PrevMonthStart | date: 'longDate':null:currentLang ,EndDate:PrevMonthEnd| date: 'longDate':null:currentLang } }}

\n
\n\n
\n
\n

{{ i+1 }}

\n

{{ rank.index }}

\n

{{ rank.value | number }}

\n
\n
\n

沒有排名

\n
\n
\n\n \n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Center } from 'src/app/models/centers/center';\nimport { CellGroupService } from 'src/app/services/cell-group/cell-group.service';\n\n@Component({\n selector: 'app-analysis-page',\n templateUrl: './analysis-page.component.html',\n styleUrls: ['./analysis-page.component.scss']\n})\nexport class AnalysisPageComponent implements OnInit {\n\n centers: Center[] = [];\n form: FormControl = new FormControl(null);\n\n constructor(\n private cellGroupService: CellGroupService,\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n \n }\n\n fetch(): void {\n this.cellGroupService.getCenterCellGroupList()\n .subscribe(value => {\n this.centers = value;\n });\n }\n \n}\n","
\n\n
\n

數據分析

\n
\n\n
\n

數據分析

\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AnnouncementOverviewPageComponent } from './pages/announcement-overview-page/announcement-overview-page.component';\nimport { AnnouncementCreatePageComponent } from './pages/announcement-create-page/announcement-create-page.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { ShareModule } from '../share/share.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SelectAnnouncementUsersPageComponent } from './pages/select-announcement-users-page/select-announcement-users-page.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { AnnouncementCreateUsersPopupComponent } from './components/announcement-create-users-popup/announcement-create-users-popup.component';\nimport { AnnouncementDetailPageComponent } from './pages/announcement-detail-page/announcement-detail-page.component';\nimport { AnnouncementDeactivationPopupComponent } from './components/announcement-deactivation-popup/announcement-deactivation-popup.component';\n\nconst routes: Routes = [\n { path: 'overview', component: AnnouncementOverviewPageComponent },\n { path: 'overview/:id', component: AnnouncementDetailPageComponent },\n { path: 'overview/:id/user', component: SelectAnnouncementUsersPageComponent },\n { path: 'create', component: AnnouncementCreatePageComponent },\n { path: 'create/user', component: SelectAnnouncementUsersPageComponent },\n { path: '', redirectTo: 'overview', pathMatch: 'full' },\n { path: '**', redirectTo: 'overview' }\n]\n\n@NgModule({\n declarations: [AnnouncementOverviewPageComponent, AnnouncementCreatePageComponent, SelectAnnouncementUsersPageComponent, AnnouncementCreateUsersPopupComponent, AnnouncementDetailPageComponent, AnnouncementDeactivationPopupComponent],\n imports: [\n CommonModule,\n ShareModule,\n RouterModule.forChild(routes),\n TranslateModule.forChild(),\n MatDatepickerModule,\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule\n ]\n})\nexport class AnnouncementModule { }\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { Center } from 'src/app/models/centers/center';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AnnouncementService } from 'src/app/services/announcement/announcement.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\n\n@Component({\n selector: 'app-announcement-create-users-popup',\n templateUrl: './announcement-create-users-popup.component.html',\n styleUrls: ['./announcement-create-users-popup.component.scss']\n})\nexport class AnnouncementCreateUsersPopupComponent implements OnInit {\n\n @Input() users: Profile[] = this.announcementService.form.users;\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n centers: [],\n filterInput: null\n };\n\n display: boolean = false;\n\n constructor(\n private announcementService: AnnouncementService,\n private route: ActivatedRoute,\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n }\n\n searchAction: (value: string) => void = ((value: string) => {\n this.filters.filterInput = value;\n this.filters.page = 1;\n }).bind(this);\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n }).bind(this);\n\n close(): void {\n this.display = false;\n }\n\n open(): void {\n this.display = true;\n }\n\n dropUser(user: Profile): void {\n this.route.params.subscribe(value => {\n if (value.id == null)\n this.users.splice(this.users.findIndex(u => u.uuId == user.uuId), 1);\n else {\n this.loadingService.startLoading();\n this.announcementService.removeRecipient(value.id, user.uuId)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.users.splice(this.users.findIndex(u => u.uuId == user.uuId), 1);\n }\n });\n }\n });\n }\n\n get pages(): number {\n return Math.ceil(this.filteredUsers.length / this.filters.itemsPerPage);\n }\n\n get filteredUsers(): Profile[] {\n return this.users.filter(user =>\n (this.filters.centers.length == 0 || this.filters.centers.some((center: Center) => center.uuId == user.center.uuId))\n && (this.filters.filterInput == null || this.filters.filterInput.length == 0\n || user.memberId.toLowerCase().includes(this.filters.filterInput.toLowerCase())\n || user.chineseName.toLowerCase().includes(this.filters.filterInput.toLowerCase())));\n }\n\n get displayedUsers(): Profile[] {\n return this.filteredUsers\n .slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n}\n","
\n
\n
\n

通告對象

\n
\n add_circle\n

新增邀請

\n
\n
\n\n
\n
\n \n \n
\n\n
\n \n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

狀態

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n

{{ member.memberId }}

\n
\n
\n

{{ member.chineseName }}

\n
\n
\n

{{ member.center.centerCode }}

\n
\n
\n

{{ member.gender | translate }}

\n
\n
\n

{{ member.age }}

\n
\n
\n

{{ member.phone }}

\n
\n
\n

-

\n
\n
\n

-

\n
\n
\n

檢視

\n

取消

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n
\n\n
\n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇邀請

\n

{{ users.length }}

\n

位用戶

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { AnnouncementService } from 'src/app/services/announcement/announcement.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-announcement-deactivation-popup',\n templateUrl: './announcement-deactivation-popup.component.html',\n styleUrls: ['./announcement-deactivation-popup.component.scss']\n})\nexport class AnnouncementDeactivationPopupComponent implements OnInit {\n\n @Output() refreshSignal: EventEmitter = new EventEmitter();\n display: boolean = false;\n public reasons: { reason: any | null, selected: boolean }[] = [\n { reason: \"通告內容有誤\", selected: false },\n { reason: \"相關安排有變\", selected: false },\n { reason: null, selected: false }\n ];\n\n constructor(\n private loadingService: LoadingService,\n private announcementService: AnnouncementService,\n private popupMessageService: PopupMessageService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n }\n\n public submit(): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => this.announcementService.deactivateAnnouncement(value.id, this.reasons.filter(reason => reason.selected == true).map(reason => reason.reason).join(\", \"))\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.close();\n this.popupMessageService.messageSignal.emit(PopupMessages.DeactivateAnnouncementSuccessMessage);\n this.refreshSignal.emit();\n }\n }));\n }\n\n open(): void {\n this.display = true;\n }\n\n close(): void {\n this.reasons.forEach(reason => reason.selected = false);\n this.display = false;\n }\n}\n","
\n
\n
\n help\n
\n

請填寫終止原因

\n

若通告已發布,終止該通告後,相關職員及用戶將會收到系統通知

\n \n
\n
\n\n
\n\n
\n \n \n
\n
\n
","import { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators } from \"@angular/forms\";\nimport { CreateAnnouncementModel } from \"src/app/models/announcements/create-announcement-model\";\nimport { Profile } from \"src/app/models/profiles/profile\";\n\nexport class CreateAnnouncementForm {\n formGroup: FormGroup;\n users: Profile[]\n\n constructor() {\n this.formGroup = new FormGroup({\n title: new FormControl(null, [Validators.required, ByteLengthValidator(54)]),\n type: new FormControl(null, [Validators.required]),\n url: new FormControl(null),\n detail: new FormControl(null),\n remark: new FormControl(null),\n announceDate: new FormControl(null, [Validators.required]),\n expireDate: new FormControl(null, [Validators.required]),\n });\n this.users = [];\n }\n\n public enableURL(): void {\n if (this.formGroup.controls['type'].value == \"Text\") {\n this.formGroup.controls['url'].setValidators([Validators.nullValidator]);\n this.formGroup.controls['url'].reset();\n }\n else {\n this.formGroup.controls['url'].setValidators([Validators.required]);\n this.formGroup.controls['url'].reset();\n }\n }\n\n public reset(): void {\n this.formGroup.reset();\n this.users = [];\n }\n\n public getCreateAnnouncementModel(): CreateAnnouncementModel {\n return {\n Title: this.formGroup.controls['title'].value,\n Content: this.formGroup.controls['detail'].value,\n Url: this.formGroup.controls['url'].value,\n Type: this.formGroup.controls['type'].value,\n AnnounceDate: (this.formGroup.controls['announceDate'].value as Date).toJSON(),\n ExpirationDate: (this.formGroup.controls['expireDate'].value as Date).toJSON(),\n Remark: this.formGroup.controls['remark'].value,\n Users: this.users.map(user => user.uuId)\n };\n }\n\n get invalidExpireDate(): boolean {\n return (this.formGroup.controls['expireDate'].value as Date) < (this.formGroup.controls['announceDate'].value as Date)\n }\n}\n\nfunction ByteLengthValidator(length: number): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n let encoder: TextEncoder = new TextEncoder();\n let valid = encoder.encode(control.value).length > length;\n return valid ? { byte: { value: control.value } } : null;\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { AnnouncementService } from 'src/app/services/announcement/announcement.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { CreateAnnouncementForm } from '../../forms/create-announcement-form';\n\n@Component({\n selector: 'app-announcement-create-page',\n templateUrl: './announcement-create-page.component.html',\n styleUrls: ['./announcement-create-page.component.scss']\n})\nexport class AnnouncementCreatePageComponent implements OnInit {\n\n minDate: Date = new Date()\n form: CreateAnnouncementForm = this.announcementService.form;\n\n constructor(\n private announcementService: AnnouncementService,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n }\n\n openURL(): void {\n if (this.url.value == null)\n return;\n window.open(this.url.value);\n }\n\n submit(): void {\n if (this.form.formGroup.valid == false || this.form.invalidExpireDate == true) {\n this.form.formGroup.markAllAsTouched();\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n if (this.form.users.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.EmptyParticipantErrorMessage);\n return;\n }\n\n this.loadingService.startLoading();\n this.announcementService.createAnnouncement(this.form.getCreateAnnouncementModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.form.reset();\n this.popupMessageService.messageSignal.emit(PopupMessages.CreateAnnouncementSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/announcement/overview', value]);\n })\n ));\n }\n });\n }\n\n get title(): AbstractControl {\n return this.form.formGroup.controls['title'];\n }\n\n get type(): AbstractControl {\n return this.form.formGroup.controls['type'];\n }\n\n get url(): AbstractControl {\n return this.form.formGroup.controls['url'];\n }\n\n get announceDate(): FormControl {\n return this.form.formGroup.controls['announceDate'] as FormControl;\n }\n\n get expireDate(): FormControl {\n return this.form.formGroup.controls['expireDate'] as FormControl;\n }\n}\n","
\n
\n

通告

\n

/

\n

創建通告

\n
\n\n

創建通告

\n
\n
\n

欄目帶 * 號為必填項

\n\n
\n

通告標題

\n \n
\n

請輸入通告標題

\n

標題過長

\n
\n
\n\n
\n

類型

\n \n \n\n
\n

請選擇類型

\n
\n
\n\n \n\n \n
\n

超鏈接

\n \n \n\n
\n

請輸入超鏈接

\n
\n
\n
\n\n\n
\n

發布時間

\n \n \n \n
\n

請輸入發布日期

\n

請輸入發布時間

\n
\n
\n\n
\n

有效期至

\n \n \n \n
\n

請輸入有效日期

\n

請輸入有效時間

\n
\n
\n

有效期必須在發佈日期後

\n
\n
\n\n
\n

通告詳情

\n \n
\n\n
\n

通告對象

\n \n
\n

未指定,請在用戶列表中確認人選

\n \n
\n
\n\n 0\">\n
\n
\n

已選擇

\n

{{ form.users.length }}

\n

位用戶

\n \n
\n
\n error_outline\n

職員可查看/管理所屬權限內的會員,未被選擇的會員將不會收到通告,如有需要,職員可新增通告對象至通告對象列表

\n
\n
\n
\n\n
\n\n
\n

備註

\n \n
\n\n
\n \n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { of } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Announcement } from 'src/app/models/announcements/announcement';\nimport { UpdateAnnouncementModel } from 'src/app/models/announcements/update-announcement-model';\nimport { AnnouncementService } from 'src/app/services/announcement/announcement.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-announcement-detail-page',\n templateUrl: './announcement-detail-page.component.html',\n styleUrls: ['./announcement-detail-page.component.scss']\n})\nexport class AnnouncementDetailPageComponent implements OnInit {\n\n announcement: Announcement | null = null;\n now: Date = new Date();\n minDate: Date = new Date();\n\n lang = this.translateService.currentLang;\n\n constructor(\n private route: ActivatedRoute,\n private announcementService: AnnouncementService,\n private loadingService: LoadingService,\n private translateService: TranslateService,\n private popupMessageService: PopupMessageService\n ) { }\n\n\n\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n this.fetch();\n }\n\n fetch(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.announcementService.getAnnouncement(value.id)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.announcement = value;\n this.announcementService.setSelection((this.announcement.users));\n }\n });\n })\n }\n\n openURL(): void {\n if (this.url.value == null)\n return;\n window.open(this.url.value);\n }\n\n\n pinAnnouncement(): void {\n this.loadingService.startLoading();\n this.announcementService.pinAnnouncement({ AnnouncementUUId: this.announcement?.uuId as string })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.fetch()\n })\n }\n\n unpinAnnouncement(): void {\n this.loadingService.startLoading();\n this.announcementService.unpinAnnouncement({ AnnouncementUUId: this.announcement?.uuId as string })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.fetch()\n })\n }\n\n\n submit(): void {\n if (this.announcement?.form.invalid || this.announcement?.invalidExpireDate) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n if (this.announcement?.form.dirty == false) {\n this.announcement.editing = false;\n return;\n }\n\n this.loadingService.startLoading();\n this.announcementService.updateAnnouncement(this.announcement?.getUpdateAnnouncementModel() as UpdateAnnouncementModel)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.fetch();\n this.popupMessageService.messageSignal.emit(PopupMessages.EditAnnouncementSuccessMessage);\n }\n })\n }\n\n get title(): AbstractControl {\n return this.announcement?.form.controls['title'] as FormControl;\n }\n\n get type(): AbstractControl {\n return this.announcement?.form.controls['type'] as FormControl;\n }\n\n get url(): AbstractControl {\n return this.announcement?.form.controls['url'] as FormControl;\n }\n\n get announceDate(): FormControl {\n return this.announcement?.form.controls['announceDate'] as FormControl;\n }\n\n get expireDate(): FormControl {\n return this.announcement?.form.controls['expireDate'] as FormControl;\n }\n\n get content(): AbstractControl {\n return this.announcement?.form.controls['content'] as FormControl;\n }\n\n get remark(): AbstractControl {\n return this.announcement?.form.controls['remark'] as FormControl;\n }\n}\n","
\n
\n

通告

\n

/

\n

通告詳情

\n
\n\n

通告詳情

\n\n
\n
\n \"pin\"\n

{{ '記錄編號:' | translate: {value: announcement.id} }}

\n

置頂

\n

取消置頂

\n

{{ '創建時間:' | translate: {value: announcement.createdAt | date: 'yyyy-MM-dd HH:mm'} }}

\n
\n\n
\n \n\n \n
\n error\n

{{ '編輯過該通告' | translate: {value: announcement.lastModifiedBy} }}

\n

{{ announcement.lastModifiedAt | date: 'yyyy-MM-dd HH:mm'}}

\n
\n
\n\n
\n

通告狀態

\n \n
now\">\n

未發布

\n
\n
now\">\n

已發布

\n
\n
\n

已完結

\n
\n
\n
\n

已終止

\n
\n
\n

已修改

\n
\n
\n\n
\n

通告標題

\n

{{ announcement.title }}

\n \n \n
\n

請輸入通告標題

\n
\n
\n
\n\n
\n

類型

\n \n

純文本

\n

超鏈接

\n
\n \n \n \n\n
\n

請輸入類型

\n
\n
\n
\n\n
\n

發布時間

\n

{{ announcement.announceDate | date : 'longDate' : '' : lang }} {{ announcement.announceDate | date : 'HH:mm' }}

\n \n \n \n \n
\n

請輸入發布日期

\n

請輸入發布時間

\n
\n
\n
\n\n
\n

有效期至

\n

{{ announcement.expirationDate | date : 'longDate' : '' : lang }} {{ announcement.expirationDate | date : 'HH:mm' }}

\n \n \n \n \n
\n

請輸入有效日期

\n

請輸入有效時間

\n
\n
\n

有效期必須在發佈日期後

\n
\n
\n
\n\n \n
\n

連結網址

\n

{{ announcement.url }}

\n \n
\n
\n\n \n
\n

連結網址

\n \n \n
\n

請輸入超鏈接

\n
\n
\n
\n\n
\n

通告詳情

\n

{{ announcement.content }}

\n \n
\n\n
\n

通告對象

\n
\n
\n

已選擇邀請參與

\n

{{ announcement.users.length }}

\n

位 用戶

\n\n \n
\n\n
\n error_outline\n

職員可查看/管理所屬權限內的會員,未被選擇的會員將不會收到通告,如有需要,職員可新增通告對象至通告對象列表

\n
\n
\n
\n\n
\n

備註

\n \n

暫無

\n

{{ announcement.remark }}

\n
\n \n
\n\n
\n

創建職員

\n

{{ announcement.createdBy }}

\n
\n\n\n
\n

終止原因

\n

{{ announcement.deactivatedReason }}

\n
\n
\n\n
\n \n \n
\n\n\n
\n \n \n
\n\n \n
\n
\n\n\n
\n add_circle\n

該記錄已終止

\n
\n
\n\n\n
\n
\n

now\">1

\n check\n
\n
\n

等候發布

\n
\n
\n

通告正在等待發布

\n
\n
\n\n
\n

now\">2

\n check\n
\n
\n

已發布

\n
\n
\n

通告已發布

\n
\n
\n\n
\n

now\">3

\n check\n
\n
\n

已完結

\n
\n

通告已過期

\n
\n
\n
\n
\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { forkJoin, Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { AnnouncementItem } from 'src/app/models/announcements/announcement-item';\nimport { Center } from 'src/app/models/centers/center';\nimport { AnnouncementService } from 'src/app/services/announcement/announcement.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-announcement-overview-page',\n templateUrl: './announcement-overview-page.component.html',\n styleUrls: ['./announcement-overview-page.component.scss']\n})\nexport class AnnouncementOverviewPageComponent implements OnInit {\n\n count: number = 0;\n public announcements: AnnouncementItem[] = [];\n public caches: AnnouncementItem[] = [];\n public now: Date = new Date();\n public pages: number = 1;\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n from: null,\n centers: [],\n to: null,\n statuses: [],\n orderById: null,\n orderByAnnounceDate: true\n }\n\n\n constructor(\n private announcementService: AnnouncementService,\n private loadingService: LoadingService,\n private router: Router,\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.announcementService.getAnnouncementList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.count = value.count;\n this.announcements = value.list;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.now = new Date();\n }\n })\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((value: string[]) => {\n (this.filters.statuses as string[]) = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n public deleteAnnouncement(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteAnnouncementMessage(this.announcementService.deleteAnnouncement(uuId)));\n }\n\n public deleteAnnouncementList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n let requests: any = {};\n this.caches.forEach((announcement, index) => {\n requests[index] = this.announcementService.deleteAnnouncement(announcement.uuId)\n });\n\n let observable: Observable = forkJoin(requests)\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteAnnouncementListMessage(observable));\n }\n\n cacheSelectedAnnouncement(announcement: AnnouncementItem): void {\n if (announcement.selected)\n this.caches.push(announcement);\n else\n this.caches.splice(this.caches.findIndex(a => a.uuId == announcement.uuId), 1);\n }\n\n public duplicateAnnouncement(announcement: AnnouncementItem): void {\n this.announcementService.form.formGroup.controls['title'].setValue(announcement.title);\n this.announcementService.form.formGroup.controls['detail'].setValue(announcement.content);\n this.announcementService.form.formGroup.controls['type'].setValue(announcement.type);\n this.announcementService.form.formGroup.controls['url'].setValue(announcement.url);\n this.router.navigate(['/main/announcement/create']);\n }\n\n public getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput != null ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.from ? \"&from=\" + (this.filters.from as Date).toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + (this.filters.to as Date).toISOString() : \"\")\n + (this.filters.statuses.map((s: string) => \"&statuses=\" + s).join(\"\"))\n + (this.filters.orderById != null ? \"&orderById=\" + this.filters.orderById : \"\")\n + (this.filters.orderByAnnounceDate != null ? \"&orderByAnnounceDate=\" + this.filters.orderByAnnounceDate : \"\")\n }\n\n changePage(): void {\n this.router.navigate(['/main/announcement/overview'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.announcements.forEach(announcement => {\n announcement.selected = false;\n this.caches.splice(this.caches.findIndex(a => a.uuId == announcement.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.announcements.filter(announcement => announcement.selected == false));\n this.announcements.forEach(announcement => announcement.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.announcements.every(announcement => announcement.selected == true);\n }\n}\n","
\n
\n

通告

\n

/

\n

通告概覽

\n
\n\n

通告概覽

\n\n
\n
\n
\n \n\n \n\n \n
\n\n
\n \n \n \n
\n\n \n\n \n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

發布日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

參與中心

\n
\n
\n

中心通告標題

\n
\n
\n

創建職員

\n
\n
\n

狀態

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n \"pin\"\n

{{ announcement.id }}

\n
\n
\n

{{ announcement.announceDate | date: 'yyyy/MM/dd' }}

\n
\n
\n

{{ announcement.involvedCenters }}

\n
\n
\n

{{ announcement.title }}

\n
\n
\n

{{ announcement.createdBy }}

\n
\n
\n \n
now\">\n

未發布

\n
\n
now\">\n

已發布

\n
\n
\n

已完結

\n
\n
\n
\n

已終止

\n
\n
\n

已修改

\n
\n

\n
\n
\n

檢視

\n

再次創建

\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { AnnouncementService } from 'src/app/services/announcement/announcement.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-select-announcement-users-page',\n templateUrl: './select-announcement-users-page.component.html',\n styleUrls: ['./select-announcement-users-page.component.scss']\n})\nexport class SelectAnnouncementUsersPageComponent implements OnInit {\n\n userUUId: string | null = null;\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Profile[] = [];\n oldCaches: string[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private announcementService: AnnouncementService,\n private popupMessageService: PopupMessageService,\n ) { }\n\n ngOnInit(): void {\n this.route.params.subscribe(value => {\n this.userUUId = value.id;\n if (value.id == null){\n this.oldCaches = this.announcementService.form.users.map(user=>user.uuId);\n }else{\n this.oldCaches=this.announcementService.getSelection();\n }\n });\n\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n if (this.userUUId == null) {\n this.profiles.forEach(profile => {\n if (this.oldCaches.find(u => u == profile.uuId))\n profile.selected = true;\n });\n }\n else {\n this.profiles.forEach(profile => {\n if (this.oldCaches.find(u => u == profile.uuId)) {\n profile.disabled = true;\n profile.selected = true;\n }\n });\n }\n }\n });\n }\n\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(profile);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n if (this.userUUId == null)\n this.router.navigate(['/main/announcement/create/user'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n else\n this.router.navigate(['/main/announcement/overview', this.userUUId, 'user'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } });\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n \n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.filter(profile=>!profile.disabled).forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles\n .filter(profile => profile.selected == false&&!profile.disabled));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n submit(): void {\n if (this.userUUId == null) {\n this.announcementService.form.users = this.caches;\n this.router.navigate(['/main/announcement/create']);\n return;\n }\n\n //Back to Overview\n this.loadingService.startLoading();\n\n this.announcementService.addRecipients(this.userUUId as string, this.caches.map(user => user.uuId))\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.AddAnnouncementRecipientsSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/announcement/overview', this.route.snapshot.paramMap.get('id')]);\n })\n ));\n }\n })\n }\n\n back(): void {\n if (this.userUUId == null)\n this.router.navigate(['/main/announcement/create']);\n else\n this.router.navigate(['main/announcement/overview', this.userUUId]);\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.filter(profile=>!profile.disabled).every(profile => profile.selected == true);\n }\n\n fetchEverything(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getEverythingQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n var templist= value.list.map(profile => new Profile(profile));\n this.caches=templist.filter(profile=>!this.oldCaches.find(p=>p==profile.uuId));\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n private getEverythingQueryString(): string {\n return \"?start=0\"\n + \"&limit=5000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n }\n\n get isSelectedEverything(): boolean {\n return this.caches.length >= this.count-this.oldCaches.length;\n }\n\n selectEverything(): void {\n if (this.isSelectedEverything == true) {\n this.caches = [];\n this.profiles.filter(profile=>!profile.disabled).forEach(profile => profile.selected = false)\n }\n else {\n this.fetchEverything();\n }\n }\n}\n","
\n
\n

通告

\n

/

\n

創建通告

\n
\n\n

會員列表

\n
\n
\n \n\n
\n \n \n \n \n \n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n \n

勾選全部

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { DonationService } from 'src/app/services/donation/donation.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { CreateCenterDonationForm } from '../../forms/create-center-donation-form';\n\n@Component({\n selector: 'app-donation-center',\n templateUrl: './donation-center.component.html',\n styleUrls: ['./donation-center.component.scss']\n})\nexport class DonationCenterComponent implements OnInit {\n\n disabled: FormControl = new FormControl(false);\n form: CreateCenterDonationForm = this.donationService.createCenterDonationForm;\n input: FormControl = new FormControl(null, [Validators.pattern(\"([0-9]*[1-9][0-9]*(\\.[0-9]+)?|[0]+\\.[0-9]*[1-9][0-9]*)\")]);\n\n constructor(\n private donationService: DonationService,\n private popupMessageService: PopupMessageService,\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n this.input.disable();\n this.disabled.valueChanges.subscribe(value => {\n this.form.users.forEach(user => value ? user.amount.disable() : user.amount.enable());\n value ? this.input.enable() : this.input.disable();\n });\n\n this.input.valueChanges.subscribe(value => {\n this.form.users.forEach(user => user.amount.setValue(value));\n });\n }\n\n submit(): void {\n if (this.form.users.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.NoRecordSelectedMessage);\n return;\n }\n\n this.form.users.forEach(user => user.amount.enable());\n\n if (!this.form.users.every(user => user.amount.valid)) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n this.input.markAllAsTouched();\n this.form.users.forEach(user => {\n user.amount.markAllAsTouched();\n if (this.disabled.value)\n user.amount.disable();\n });\n return;\n }\n\n this.loadingService.startLoading();\n this.donationService.donateToUsers(this.form.getCreateCenterDonationModel()).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.DonateToUsersSuccessMessage);\n this.reset();\n }\n });\n }\n\n reset(): void {\n this.form.reset();\n }\n\n drop(index: number): void {\n this.form.users.splice(index, 1);\n }\n\n get sum(): number {\n return this.form.users.map(user => user.amount.value as number).reduce((sum, v) => sum += v, 0);\n }\n\n}\n","
\n
\n

欄目帶 * 號為必填項

\n
\n\n
\n

指定交易會員

\n \n
\n\n 0\">\n
\n
\n \n

每個帳戶將會獲得

\n \n

時分

\n
\n\n
\n

已選擇以下

\n

{{ form.users.length }}

\n

位會員,請完善捐出時分

\n
\n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

用戶餘額

\n
\n
\n

交易時分

\n
\n
\n
\n
\n\n
\n
\n

{{ user.memberId}}

\n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.centerCode}}

\n
\n
\n

{{ user.phone }}

\n
\n
\n

{{ user.timeBalance }}

\n
\n
\n \n
\n
\n

移除

\n

(請填寫有效數字)

\n
\n
\n
\n\n
\n

中心 總共支出

\n

{{ sum }}

\n

時分 捐至所選會員帳戶

\n
\n\n
\n
\n\n
\n

備註

\n \n
\n
\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { forkJoin } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { AppSetting } from 'src/app/backend/app-setting';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Transaction } from 'src/app/models/transactions/transaction';\nimport { DonationService } from 'src/app/services/donation/donation.service';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { ImportService } from 'src/app/services/import/import.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\n\n@Component({\n selector: 'app-donation-overview',\n templateUrl: './donation-overview.component.html',\n styleUrls: ['./donation-overview.component.scss']\n})\nexport class DonationOverviewComponent implements OnInit {\n\n centerUUId: string = AppSetting.centerUUId;\n\n donations: Transaction[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n types: [],\n idOrder: false,\n dateOrder: null,\n start: null,\n end: null\n };\n\n constructor(\n private donationService: DonationService,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService,\n private transactionService: TransactionService,\n private exportService: ExportService,\n private importService: ImportService\n ) { }\n\n ngOnInit(): void {\n this.importService.refreshSignal.subscribe(() => {\n this.fetch();\n });\n\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.donationService.getDonationList()\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.donations = value\n })\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n }).bind(this);\n\n dateRangeFilterAction: (start: Date, end: Date) => void = ((start: Date, end: Date) => {\n this.filters.start = start;\n this.filters.end = end;\n this.filters.page = 1;\n })\n\n typeFilterAction: (types: string[]) => void = ((types: string[]) => {\n this.filters.types = types;\n this.filters.page = 1;\n }).bind(this);\n\n get filteredDonations(): Transaction[] {\n let results = this.donations.filter(donation =>\n (this.filters.searchInput == null\n || donation.id.toString().includes(this.filters.searchInput)\n || donation.transferer.memberId.includes(this.filters.searchInput)\n || donation.transferee.memberId.includes(this.filters.searchInput)\n ) &&\n (this.filters.start == null || this.filters.end == null\n || (donation.date > this.filters.start && donation.date < this.filters.end)\n ) &&\n (this.filters.types.length == 0\n || ((this.filters.types as string[]).includes(\"User\") && donation.transferee.uuId == this.centerUUId)\n || ((this.filters.types as string[]).includes(\"Center\") && donation.transferer.uuId == this.centerUUId)\n )\n );\n\n if (this.filters.idOrder !== null)\n if (this.filters.idOrder === true)\n return results.sort((a, b) => a.id > b.id ? 1 : a.id < b.id ? -1 : 0);\n else\n return results.sort((b, a) => a.id > b.id ? 1 : a.id < b.id ? -1 : 0);\n\n if (this.filters.dateOrder !== null)\n if (this.filters.dateOrder === true)\n return results.sort((a, b) => a.date > b.date ? 1 : a.date < b.date ? -1 : 0);\n else\n return results.sort((b, a) => a.date > b.date ? 1 : a.date < b.date ? -1 : 0);\n\n return results;\n }\n\n get displayedDonations(): Transaction[] {\n return this.filteredDonations.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get pages(): number {\n return Math.ceil(this.filteredDonations.length / this.filters.itemsPerPage);\n }\n\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.displayedDonations.forEach(donation => donation.selected = false);\n else\n this.displayedDonations.forEach(donation => donation.selected = true);\n }\n\n get isSelectedAll(): boolean {\n return this.displayedDonations.every(donation => donation.selected);\n }\n\n deleteDonation(transactionUUId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationSuccessMessage);\n this.fetch();\n subscriber.unsubscribe();\n })\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationMessage(\n this.transactionService.cancelTransaction(transactionUUId, { remark: \"Cancel Donation\" })\n .pipe(finalize(() => this.loadingService.stopLoading()))));\n }\n\n deleteDonationList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationSuccessMessage);\n this.fetch();\n subscriber.unsubscribe();\n })\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationMessage(\n forkJoin(this.selectedDonations.map(donation => this.transactionService.cancelTransaction(donation.uuId, { remark: \"Cancel Donation\" })))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))));\n }\n\n get selectedDonations(): Transaction[] {\n return this.donations.filter(donation => donation.selected == true);\n }\n\n exportDonations(): void {\n if (this.selectedDonations.length > 0) {\n this.exportService.exportDonation(this.selectedDonations.map(donation => donation.getDonationExportModel()), { startDate: this.filters.start, endDate: this.filters.end });\n return;\n }\n\n this.exportService.exportDonation(this.filteredDonations.map(donation => donation.getDonationExportModel()), { startDate: this.filters.start, endDate: this.filters.end });\n }\n\n openImportPopup(): void {\n this.importService.importPopupSignal.emit(\"Donation\");\n }\n}\n","
\n
\n \n\n \n\n \n
\n\n\n
\n \n \n
\n\n \n\n
\n
\n
\n \n
\n
\n

交易編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

捐分日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

捐分類型

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ donation.id }}

\n
\n
\n

{{ donation.date | date: 'yyyy/MM/dd' }}

\n
\n \n
\n

{{ donation.transferer.memberId }}

\n
\n
\n

{{ donation.transferer.chineseName }}

\n
\n
\n

用戶捐分

\n
\n
\n

- {{ donation.amount }}

\n
\n
\n

檢視用戶

\n

移除

\n
\n
\n \n
\n

{{ donation.transferee.memberId }}

\n
\n
\n

{{ donation.transferee.chineseName }}

\n
\n
\n

中心捐分

\n
\n
\n

+ {{ donation.amount }}

\n
\n\n
\n

檢視用戶

\n

移除

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n
\n\n\n\n
\n
\n

已選擇

\n

{{ selectedDonations.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ donations.length }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { DonationService } from 'src/app/services/donation/donation.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { CreateUserDonationForm } from '../../forms/create-user-donation-form';\n\n@Component({\n selector: 'app-donation-user',\n templateUrl: './donation-user.component.html',\n styleUrls: ['./donation-user.component.scss']\n})\nexport class DonationUserComponent implements OnInit {\n\n form: CreateUserDonationForm = this.donationService.createUserDonationForm;\n\n constructor(\n private donationService: DonationService,\n private popupMessageService: PopupMessageService,\n private loadingService: LoadingService) { }\n\n ngOnInit(): void {\n if (this.form.donor == null)\n this.form.formGroup.disable();\n else\n this.form.formGroup.enable();\n }\n\n submit(): void {\n if (this.form.formGroup.invalid || this.form.donor == null) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n this.form.formGroup.markAllAsTouched();\n return;\n }\n\n this.loadingService.startLoading();\n this.donationService.donateToCenter(this.form.getCreateUserDonationModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.DonateToCenterSuccessMessage);\n this.form.reset();\n }\n })\n }\n}\n","
\n
\n \n
\n \n
\n
\n\n \n
\n

欄目帶 * 號為必填項

\n
\n
\n

會員姓名

\n \n \n
\n\n
\n

會員編號

\n \n \n
\n
\n\n
\n\n
\n

用戶結餘

\n

-

\n

{{ form.donor.timeBalance }}

\n
\n\n
\n

捐出時分

\n
\n

將從用戶帳戶中支出

\n \n

時分 至 中心

\n
\n
\n\n
\n

備註

\n \n
\n
\n\n \n
\n
\n \n

有必填欄位未完成 / 資料格式出錯

\n
\n
\n
\n\n \n
\n \n \n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DonationPageComponent } from './pages/donation-page/donation-page.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DonationUserComponent } from './components/donation-user/donation-user.component';\nimport { DonationCenterComponent } from './components/donation-center/donation-center.component';\nimport { DonationOverviewComponent } from './components/donation-overview/donation-overview.component';\nimport { SelectDonorPageComponent } from './pages/select-donor-page/select-donor-page.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ShareModule } from '../share/share.module';\nimport { SelectDoneesPageComponent } from './pages/select-donees-page/select-donees-page.component';\n\nconst routes: Routes = [\n { path: 'user/select-donor', component: SelectDonorPageComponent },\n { path: 'center/select-donees', component: SelectDoneesPageComponent },\n {\n path: '', component: DonationPageComponent, children: [\n { path: 'user', component: DonationUserComponent, data: { animationState: 'user' } },\n { path: 'center', component: DonationCenterComponent, data: { animationState: 'center' } },\n { path: 'overview', component: DonationOverviewComponent, data: { animationState: 'overview' } },\n { path: '', redirectTo: 'user', pathMatch: 'full' },\n { path: '**', redirectTo: 'user' }\n ]\n },\n { path: '**', redirectTo: '' }\n]\n\n@NgModule({\n declarations: [\n DonationPageComponent,\n DonationUserComponent,\n DonationCenterComponent,\n DonationOverviewComponent,\n SelectDonorPageComponent,\n SelectDoneesPageComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule,\n TranslateModule.forChild(),\n ShareModule\n ]\n})\nexport class DonationModule { }\n","import { FormGroup, FormControl } from \"@angular/forms\";\nimport { CreateCenterDonationModel } from \"src/app/models/donations/create-center-donation-model\";\nimport { Donee } from \"src/app/models/profiles/donee\";\n\nexport class CreateCenterDonationForm {\n users: Donee[];\n formGroup: FormGroup;\n\n constructor() {\n this.users = [];\n this.formGroup = new FormGroup({\n remark: new FormControl(null)\n })\n }\n\n getCreateCenterDonationModel(): CreateCenterDonationModel {\n return {\n list: this.users.map(user => { return { UserUUId: user.uuId, Amount: user.amount.value } }),\n remark: this.formGroup.controls['remark'].value\n }\n }\n\n reset(): void {\n this.users = [];\n this.formGroup.reset();\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateUserDonationModel } from \"src/app/models/donations/create-user-donation-model\";\nimport { Profile } from \"src/app/models/profiles/profile\";\n\nexport class CreateUserDonationForm {\n donor: Profile | null;\n formGroup: FormGroup;\n\n constructor() {\n this.donor = null;\n this.formGroup = new FormGroup({\n amount: new FormControl(null, [Validators.required, Validators.pattern(\"([0-9]*[1-9][0-9]*(\\.[0-9]+)?|[0]+\\.[0-9]*[1-9][0-9]*)\")]),\n remark: new FormControl(null)\n });\n }\n\n getCreateUserDonationModel(): CreateUserDonationModel {\n return {\n userUUId: this.donor?.uuId as string,\n amount: this.formGroup.controls['amount'].value,\n remark: this.formGroup.controls['remark'].value\n };\n }\n\n reset(): void {\n this.donor = null;\n this.formGroup.reset();\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-donation-page',\n templateUrl: './donation-page.component.html',\n styleUrls: ['./donation-page.component.scss'],\n animations: [PortalAnimation.DonationPageSlide]\n})\nexport class DonationPageComponent implements OnInit {\n\n tab: string = \"user\";\n\n constructor(\n private router: Router\n ) { }\n\n ngOnInit(): void {\n if (this.router.url == \"/main/donation/center\")\n this.tab = \"center\";\n if (this.router.url == \"/main/donation/overview\")\n this.tab = \"overview\";\n }\n\n prepareRoute(outlet: RouterOutlet) {\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animationState'];\n }\n}\n","
\n
\n

捐分池

\n

/

\n

用戶捐分

\n

中心捐分

\n

捐分紀錄

\n
\n\n

用戶捐分

\n

中心捐分

\n

捐分紀錄

\n\n
\n
\n

用戶捐分

\n

中心捐分

\n

捐分紀錄

\n
\n
\n
\n \n
\n
\n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Donee } from 'src/app/models/profiles/donee';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { DonationService } from 'src/app/services/donation/donation.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-select-donees-page',\n templateUrl: './select-donees-page.component.html',\n styleUrls: ['./select-donees-page.component.scss']\n})\nexport class SelectDoneesPageComponent implements OnInit {\n\n userUUId: string | null = null;\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Donee[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private donationService: DonationService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n\n this.caches = this.donationService.createCenterDonationForm.users;\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(new Donee(profile));\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.router.navigate(['/main/donation/center/select-donees'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this, this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n \n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles\n .filter(profile => profile.selected == false)\n .map(profile => new Donee(profile)));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n submit(): void {\n this.donationService.createCenterDonationForm.users = this.caches;\n this.router.navigate(['/main/donation/center']);\n }\n\n back(): void {\n this.router.navigate(['/main/donation/center']);\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.every(profile => profile.selected == true);\n }\n\n fetchEverything(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getEverythingQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.caches = value.list.map(profile => new Donee(profile));\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n private getEverythingQueryString(): string {\n return \"?start=0\"\n + \"&limit=5000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n }\n\n get isSelectedEverything(): boolean {\n return this.caches.length >= this.count;\n }\n\n selectEverything(): void {\n if (this.isSelectedEverything == true) {\n this.caches = [];\n this.profiles.forEach(profile => profile.selected = false)\n }\n else {\n this.fetchEverything();\n }\n }\n}\n","
\n
\n

捐分池

\n

/

\n

中心捐分

\n

/

\n

用戶列表

\n
\n\n

用戶列表

\n
\n
\n \n\n
\n \n \n \n \n \n\n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n \n

勾選全部

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { DonationService } from 'src/app/services/donation/donation.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-select-donor-page',\n templateUrl: './select-donor-page.component.html',\n styleUrls: ['./select-donor-page.component.scss']\n})\nexport class SelectDonorPageComponent implements OnInit {\n\n userUUId: string | null = null;\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Profile[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private donationService: DonationService,\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n\n this.route.params.subscribe(value => {\n this.caches = this.donationService.createUserDonationForm.donor ? [this.donationService.createUserDonationForm.donor] : [];\n })\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(profile);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.router.navigate(['/main/donation/user/select-donor'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n \n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n submit(): void {\n if (this.caches.length == 0) {\n this.donationService.createUserDonationForm.donor = null;\n this.router.navigate(['/main/donation/user']);\n return;\n }\n\n this.donationService.createUserDonationForm.donor = this.caches[0];\n this.router.navigate(['/main/donation/user']);\n }\n\n back(): void {\n this.router.navigate(['/main/donation/user']);\n }\n\n get selectedUser(): Profile | null {\n return this.caches.length > 0 ? this.caches[0] : null;\n }\n}\n","
\n
\n

捐分池

\n

/

\n

用戶捐分

\n

/

\n

用戶列表

\n
\n\n

用戶列表

\n\n
\n
\n \n\n
\n \n \n \n \n \n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n = 1 && selectedUser?.uuId != profile.uuId\">\n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { EventDay } from 'src/app/models/events/event-day';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { forkJoin } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\n\n\n@Component({\n selector: 'app-event-attendance-popup',\n templateUrl: './event-attendance-popup.component.html',\n styleUrls: ['./event-attendance-popup.component.scss']\n})\nexport class EventAttendancePopupComponent implements OnInit {\n\n @Input() reloadAction: () => void = () => { }\n @Input() eventdays: EventDay[]=[];\n\n display: boolean = false;\n lang: string = this.translateService.currentLang;\n oldValue:any={};\n total: number=0;\n nums:number=30;\n isEdit:boolean=false;\n constructor(\n private translateService: TranslateService,\n private eventService: EventService,\n private route: ActivatedRoute,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService) { \n\n }\n\n ngOnInit(): void {\n this.total=0;\n\n\n this.eventdays.forEach((eventday)=>{\n this.total+=eventday.numOfAttendance?eventday.numOfAttendance:0;\n if(eventday.uuId!=null)\n this.oldValue[eventday.uuId]=eventday.numOfAttendance;\n });\n\n\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n }\n open(): void {\n this.display = true;\n }\n closeAction: () => void = (() => {\n this.display = false;\n }).bind(this);\n changeTotal:()=>void =(()=>{\n\n this.total=0;\n this.eventdays.forEach((eventday)=>{\n this.total+=eventday.numOfAttendance?eventday.numOfAttendance:0;\n });\n }).bind(this);\n save:()=>void =(()=>{\n\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.changeTotal();\n forkJoin(this.eventdays.map((eventday)=>{\n \n if(eventday.uuId!=null)\n this.oldValue[eventday.uuId]=eventday.numOfAttendance;\n return this.eventService.SetAttendance( {\n uuId:eventday.uuId,\n date:eventday.date.toISOString(),\n startTime:eventday.startTime.toISOString(),\n endTime:eventday.endTime==null?\"\":eventday.endTime.toISOString(),\n numOfAttendance:eventday.numOfAttendance\n })\n })).pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.EditAttendanceSuccessMessage);\n this.reloadAction();\n this.closeEdit();\n this.closeAction();\n });\n });\n\n }).bind(this);\n\n closeEdit: () => void = (() => {\n this.isEdit = false;\n this.eventdays.forEach((eventday)=>{\n if(eventday.uuId!=null)\n eventday.numOfAttendance=this.oldValue[eventday.uuId];\n });\n }).bind(this);\n\n edit:()=>void =(()=>{\n this.isEdit=true;\n }).bind(this);\n\n\n checkState:(date:EventDay)=>void=((date:EventDay)=>{\n var now=new Date();\n if(nowdate.startTime && (date.endTime!=null &&now < date.endTime)){\n return 0;\n }else return -1;\n }).bind(this);\n}\n","
\n
\n

實際出席人次記錄

\n
\n
\n

總實際出席人數

\n

{{total}}

\n
\n \n
\n
\n
\n

活動場次

\n
\n
\n

狀態

\n
\n
\n

實際出席人數

\n
\n
\n
\n \n
\n
\n \n

{{ day.date | date: 'longDate' : '' : lang }}

\n \n

{{ day.date | date: 'EEEE': '' : lang }}

\n

{{ day.startTime | date: 'HH:mm' }}

\n

\n

{{ day.endTime | date: 'HH:mm' }}

\n
\n
\n
\n

已結束

\n

進行中

\n

未開始

\n
\n
\n

{{day.numOfAttendance}}

\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
","
\n
\n
\n

用戶邀請

\n
\n add_circle\n

新增邀請

\n
\n
\n\n
\n
\n \n \n
\n\n
\n \n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

狀態

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n

{{ member.memberId }}

\n
\n
\n

{{ member.chineseName }}

\n
\n
\n

{{ member.center.centerCode }}

\n
\n
\n

{{ member.gender | translate }}

\n
\n
\n

{{ member.age }}

\n
\n
\n

{{ member.phone }}

\n
\n
\n

-

\n
\n
\n

-

\n
\n
\n

檢視

\n

取消

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n
\n\n
\n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇邀請

\n

{{ users.length }}

\n

位用戶

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Center } from 'src/app/models/centers/center';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\n\n@Component({\n selector: 'app-event-create-user-management-popup',\n templateUrl: './event-create-user-management-popup.component.html',\n styleUrls: ['./event-create-user-management-popup.component.scss']\n})\nexport class EventCreateUserManagementPopupComponent implements OnInit {\n\n\n @Input() users: Profile[] = this.eventService.form.users;\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n centers: [],\n filterInput: null\n };\n\n display: boolean = false;\n\n constructor(\n private eventService: EventService\n ) { }\n\n ngOnInit(): void {\n }\n\n searchAction: (value: string) => void = ((value: string) => {\n this.filters.filterInput = value;\n this.filters.page = 1;\n }).bind(this);\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n }).bind(this);\n\n close(): void {\n this.display = false;\n }\n\n open(): void {\n this.display = true;\n }\n\n dropUser(user: Profile): void {\n this.users.splice(this.users.findIndex(u => u.uuId == user.uuId), 1);\n }\n\n get pages(): number {\n return Math.ceil(this.filteredUsers.length / this.filters.itemsPerPage);\n }\n\n get filteredUsers(): Profile[] {\n return this.users.filter(user =>\n (this.filters.centers.length == 0 || this.filters.centers.some((center: Center) => center.uuId == user.center.uuId))\n && (this.filters.filterInput == null || this.filters.filterInput.length == 0\n || user.memberId.toLowerCase().includes(this.filters.filterInput.toLowerCase())\n || user.chineseName.toLowerCase().includes(this.filters.filterInput.toLowerCase())));\n }\n\n get displayedUsers(): Profile[] {\n return this.filteredUsers\n .slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin, Observable } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Address, IAddressComponent } from 'src/app/models/addresses/address';\nimport { Room } from 'src/app/models/addresses/room';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AddressForm } from 'src/app/modules/share/forms/address-form';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { EventTypeService } from 'src/app/services/event-type/event-type.service';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { CreateEventDayForm } from '../../forms/create-event-day-form';\nimport { CreateEventForm } from '../../forms/create-event-form';\n\n@Component({\n selector: 'app-event-create',\n templateUrl: './event-create.component.html',\n styleUrls: ['./event-create.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class EventCreateComponent implements OnInit {\n\n minDate: Date = new Date();\n toggle: boolean = true;\n\n form: CreateEventForm = this.eventService.form;\n venueForms: AddressForm[] = [];\n\n NAaddress:Room=new Room(\"\",\"\");\n\n newEventDayForm: CreateEventDayForm | null = null;\n\n profile: Profile | null = null;\n eventTypes: EventType[] = [];\n\n lang: string = this.translateService.currentLang;\n\n constructor(\n private eventService: EventService,\n private eventTypeService: EventTypeService,\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService,\n private translateService: TranslateService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n })\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n forkJoin({\n profile: this.profileService.getMyProfile(),\n eventTypes: this.eventTypeService.getEventTypeList(),\n NAaddress:this.eventService.getNAAddress()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.profile = value.profile;\n this.eventTypes = value.eventTypes;\n this.NAaddress=value.NAaddress;\n });\n }\n\n\n addVenue(): void {\n this.venueForms.push(new AddressForm());\n }\n\n saveVenue(): void {\n if (this.venueForms.length == 0 || !this.venueForms.every(form => form.formGroup.valid)) {\n this.venueForms.forEach(form => form.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n\n forkJoin(this.venueForms.map(form => this.profileService.createAddress(this.profile?.uuId as string, form.getCreateAddressModel())))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.venueForms = [];\n this.fetch();\n })\n }\n\n dropVenue = (() => {\n this.venueForms = [];\n }).bind(this)\n\n reset(): void {\n this.form.reset();\n }\n\n submit(): void {\n if (this.form.formGroup.invalid) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n this.form.formGroup.markAllAsTouched();\n return;\n }\n\n if (this.form.users.length < this.vacancy.value) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvitedParticipantsMustGreaterThanVacancy);\n return;\n }\n\n if (this.form.eventDays.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.EmptyEventDay);\n return;\n }\n\n if (this.closeDate.value > this.form.getEventStartDate()) {\n this.popupMessageService.messageSignal.emit(PopupMessages.DeadlineMustBeEarlierThanStartTime);\n return;\n }\n\n this.loadingService.startLoading();\n this.eventService.createEvent(this.form.getCreateEventModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.form.reset();\n this.popupMessageService.messageSignal.emit(PopupMessages.CreateEventSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/activity/overview/event', value.result.uuid]);\n this.loadingService.stopLoading();\n })\n ));\n });\n }\n\n get eventName(): AbstractControl {\n return this.form.formGroup.controls['eventName'];\n }\n\n get eventType(): AbstractControl {\n return this.form.formGroup.controls['eventType'];\n }\n\n get transactionType(): AbstractControl {\n return this.form.formGroup.controls['transactionType'];\n }\n\n get transactionFee(): AbstractControl {\n return this.form.formGroup.controls['transactionFee'];\n }\n\n get participationFormat(): AbstractControl {\n return this.form.formGroup.controls['participationFormat'];\n }\n\n get closeDate(): AbstractControl {\n return this.form.formGroup.controls['closeDate'];\n }\n\n get venue(): AbstractControl {\n return this.form.formGroup.controls['venue'];\n }\n\n get vacancy(): AbstractControl {\n return this.form.formGroup.controls['vacancy'];\n }\n\n get singleDayMode(): AbstractControl {\n return this.form.formGroup.controls['singleDayMode'];\n }\n\n get url(): AbstractControl {\n return this.form.formGroup.controls['url'];\n }\n\n get urlType(): AbstractControl {\n return this.form.formGroup.controls['urlType'];\n }\n\n print(value: any): void {\n this.form.eventDays = value;\n }\n\n cancelAction: () => void = (() => {\n this.singleDayMode.setValue(true);\n }).bind(this)\n\n clearAll(): void {\n this.form.eventDays = [];\n }\n\n addEventDay(): void {\n this.newEventDayForm = new CreateEventDayForm();\n }\n\n saveNewEventDay(): void {\n if (this.newEventDayForm == null) {\n return;\n }\n\n if (this.newEventDayForm?.formGroup.invalid) {\n this.newEventDayForm.formGroup.markAllAsTouched();\n return;\n }\n\n this.form.eventDays.push(this.newEventDayForm);\n this.newEventDayForm = null;\n }\n\n dropEventDay(index: number): void {\n this.form.eventDays.splice(index, 1);\n }\n\n openURL(): void {\n if (this.url.value == null)\n return;\n window.open(this.url.value);\n }\n\n editAddress(address: Address): void {\n this.loadingService.startLoading();\n this.profileService.editAddress(address.getUpdateAddressModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.fetch();\n })\n }\n\n dropAddressAction = ((index: number) => {\n (this.profile as Profile).form.addresses[index-1].editing = false;\n }).bind(this);\n}\n","
\n

欄目帶 * 號為必填項

\n\n
\n

活動名目

\n \n\n
\n

請填寫活動名目

\n
\n
\n\n
\n

活動類型

\n
\n \n
\n\n
\n

請選擇活動類型

\n
\n
\n\n
\n

交易類型

\n
\n
\n \n\n \n\n \n
\n\n
\n \n

默認每個帳戶將會支出

\n

默認每個帳戶將會賺取

\n \n

時分

\n
\n
\n\n
\n

請選擇交易類型

\n
\n\n
\n

請填寫交易時分

\n

交易時分必須大於 0

\n
\n
\n\n
\n\n
\n

參與方式

\n \n\n \n\n
\n

請選擇參與方式

\n
\n
\n\n
\n

活動日期

\n\n \n \n \n\n \n \n \n \n \n\n

多日期活動設置

\n\n
\n

請填寫活動日期

\n
\n
\n\n 1;then schedule\">\n
\n\n
\n

截止報名

\n \n \n\n \n\n
\n

請填寫截止報名日期

\n

請填寫截止報名時間

\n
\n
\n\n
\n

內容類型

\n \n \n
\n\n
\n

連結網址

\n \n\n \n\n
\n

請輸入超鏈接

\n
\n
\n\n
\n
\n

開始時間

\n \n\n
\n

請填寫活動開始時間

\n
\n
\n\n
\n

結束時間

\n \n\n
\n

請填寫活動結束時間

\n

活動結束時間必須在活動開始時間後

\n
\n
\n
\n\n \n
\n

集合地址

\n
\n
\n
\n
\n \n create\n
\n \n \n \n \n
\n
\n
\n \n
\n \n \n\n \n \n\n \n
\n
\n
\n\n
\n

參與者數量

\n \n\n
\n

請填寫參與者數量

\n
\n
\n\n
\n

活動詳情

\n \n
\n\n
\n

邀請用戶

\n
\n

未指定,請在用戶列表中確認人選

\n \n
\n\n
0\">\n

已選擇邀請參與

\n

{{ form.users.length }}

\n

/{{ vacancy.value }}

\n

位 用戶

\n \n
\n
\n\n
\n

備註

\n \n
\n\n\n
\n \n \n
\n\n\n
\n
\n

\n

{{ form.getEventStartDate() | date: 'longDate': '': lang}}

\n

\n

{{ form.getEventEndDate() | date: 'longDate': '': lang}}

\n

,活動舉辦

\n

{{ form.eventDays.length }}

\n

\n
\n

收起

\n
\n
\n\n
\n
\n
\n
\n

活動舉辦

\n

{{ form.eventDays.length }}

\n

\n
\n
\n
\n
\n delete\n

移除所有

\n
\n
\n\n
\n
\n

{{ day.date.value | date: 'longDate' : '' : lang }}

\n
\n
\n

{{ day.date.value | date: 'EEEE': '' : lang }}

\n
\n
\n

{{ day.start.value | date: 'HH:mm' }}

\n \n

\n

{{ day.end.value | date: 'HH:mm' }}

\n \n
\n
\n

修改

\n

確認

\n

移除

\n
\n
\n\n
\n
\n \n \n
\n
\n
\n \n

\n \n
\n
\n

保存

\n

移除

\n
\n
\n\n
\n

+ 新增日期

\n
\n
\n
\n
\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { EventDay } from 'src/app/models/events/event-day';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { CreateEventDayForm } from '../../forms/create-event-day-form';\n\n@Component({\n selector: 'app-event-day-scheduler',\n templateUrl: './event-day-scheduler.component.html',\n styleUrls: ['./event-day-scheduler.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class EventDaySchedulerComponent implements OnInit {\n\n @Output() valueSignal: EventEmitter = new EventEmitter();\n\n @Input() cancelAction: () => void = () => { };\n @Input() hasMinDate: boolean = true;\n\n minDate: Date = new Date();\n lang: string = this.translateService.currentLang;\n\n selectByDate: boolean = false;\n formGroup: FormGroup = new FormGroup({\n type: new FormControl('daily'),\n start: new FormControl(null, [Validators.required]),\n end: new FormControl(null, [Validators.required]),\n startDate: new FormControl(null, [Validators.required]),\n endDate: new FormControl(null, [Validators.required]),\n ordinalWeek: new FormControl(0),\n ordinalDay: new FormControl(1),\n })\n\n toggle: boolean = false;\n\n public daysOfWeek = [\n { name: '星期日', value: 0, selected: false },\n { name: '星期一', value: 1, selected: false },\n { name: '星期二', value: 2, selected: false },\n { name: '星期三', value: 3, selected: false },\n { name: '星期四', value: 4, selected: false },\n { name: '星期五', value: 5, selected: false },\n { name: '星期六', value: 6, selected: false },\n ];\n\n constructor(\n private translateService: TranslateService,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n }\n\n confirm(): void {\n if (this.formGroup.invalid) {\n this.formGroup.markAllAsTouched();\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n if (this.start.value > this.end.value || this.startDate > this.endDate) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidTimeMessage);\n return;\n }\n\n if (this.type.value == 'daily') {\n this.valueSignal.emit(this.processDailyPlan());\n return;\n }\n if (this.type.value == 'weekly') {\n this.valueSignal.emit(this.processWeeklyPlan());\n return;\n }\n if (this.type.value == 'monthly' && !this.selectByDate)\n this.valueSignal.emit(this.processMonthlyWeekPlan());\n else {\n this.valueSignal.emit(this.processMonthlyDayPlan());\n }\n }\n\n private processDailyPlan(): CreateEventDayForm[] {\n var beginDate: Date = new Date(this.startDate.value);\n var eventDays: EventDay[] = [];\n while (beginDate <= this.endDate.value) {\n eventDays.push(new EventDay({\n uuId: null,\n startTime: this.start.value,\n endTime: this.end.value,\n date: new Date(beginDate),\n isCancelled: false,\n numOfAttendance:null\n }));\n beginDate.setDate(beginDate.getDate() + 1);\n };\n\n return eventDays.map(ed => new CreateEventDayForm(ed));\n }\n\n private processWeeklyPlan(): CreateEventDayForm[] {\n var beginDate: Date = new Date(this.startDate.value);\n var beginWeek: Date[] = [];\n var eventDays: EventDay[] = [];\n for (let i of [0, 1, 2, 3, 4, 5, 6]) {\n if (this.daysOfWeek[beginDate.getDay()].selected)\n beginWeek.push(new Date(beginDate));\n beginDate.setDate(beginDate.getDate() + 1);\n }\n while (beginWeek.length > 0 && beginWeek[0].getTime() <= (this.endDate.value as Date).getTime()) {\n beginWeek.forEach(x => {\n if (x.getTime() <= (this.endDate.value as Date).getTime()) {\n eventDays.push(new EventDay({\n uuId: null,\n startTime: this.start.value,\n endTime: this.end.value,\n date: new Date(x),\n isCancelled: false,\n numOfAttendance:null\n }));\n x.setDate(x.getDate() + 7);\n }\n })\n }\n return eventDays.map(ed => new CreateEventDayForm(ed));\n }\n\n private processMonthlyWeekPlan(): CreateEventDayForm[] {\n var firstDay: Date = new Date((this.startDate.value as Date).getFullYear(), (this.startDate.value as Date).getMonth(), 1);\n var ordinalWeek: Date[] = [];\n var eventDays: EventDay[] = [];\n for (let i of [0, 1, 2, 3, 4, 5, 6]) {\n if (this.daysOfWeek[(firstDay.getDay() + i) % 7].selected)\n ordinalWeek.push(new Date((this.startDate.value as Date).getFullYear(), (this.startDate.value as Date).getMonth(), this.ordinalWeek.value * 7 + i + 1));\n }\n\n while (ordinalWeek.length > 0 && ordinalWeek[0].getTime() <= (this.endDate.value as Date).getTime()) {\n ordinalWeek.forEach(x => {\n if (x.getTime() > (this.startDate.value as Date).getTime() && x.getTime() <= (this.endDate.value as Date).getTime()) {\n eventDays.push(new EventDay({\n uuId: null,\n startTime: this.start.value,\n endTime: this.end.value,\n date: new Date(x),\n isCancelled: false,\n numOfAttendance:null\n }));\n }\n if (x.getDate() % 7 + 28 < new Date(x.getFullYear(), x.getMonth() + 1, 0).getDate())\n x.setDate(x.getDate() + 35);\n else\n x.setDate(x.getDate() + 28);\n });\n }\n\n return eventDays.map(ed => new CreateEventDayForm(ed));\n }\n\n private processMonthlyDayPlan(): CreateEventDayForm[] {\n var beginDay: Date | null = null\n var eventDays: EventDay[] = [];\n\n if ((this.startDate.value as Date).getDate() <= this.ordinalDay.value)\n beginDay = new Date((this.startDate.value as Date).getFullYear(), (this.startDate.value as Date).getMonth(), this.ordinalDay.value);\n else\n beginDay = new Date((this.startDate.value as Date).getFullYear(), (this.startDate.value as Date).getMonth() + 1, this.ordinalDay.value);\n\n if (beginDay.getDate() != this.ordinalDay.value) {\n beginDay.setDate(this.ordinalDay.value);\n }\n\n while (beginDay.getTime() <= (this.endDate.value as Date).getTime()) {\n eventDays.push(new EventDay({\n uuId: null,\n startTime: this.start.value,\n endTime: this.end.value,\n date: new Date(beginDay),\n isCancelled: false,\n numOfAttendance:null\n }));\n beginDay.setMonth(beginDay.getMonth() + 1);\n if (beginDay.getDate() != this.ordinalDay.value) {\n beginDay.setDate(this.ordinalDay.value);\n }\n }\n\n return eventDays.map(ed => new CreateEventDayForm(ed));\n }\n\n get start(): AbstractControl {\n return this.formGroup.controls['start'];\n }\n\n get end(): AbstractControl {\n return this.formGroup.controls['end'];\n }\n\n get startDate(): AbstractControl {\n return this.formGroup.controls['startDate'];\n }\n\n get endDate(): AbstractControl {\n return this.formGroup.controls['endDate'];\n }\n\n get type(): AbstractControl {\n return this.formGroup.controls['type'];\n }\n\n get numberOfSelectedWeekDay(): number {\n return this.daysOfWeek.filter(x => x.selected).length;\n }\n\n get selectedWeekDay(): any {\n return this.daysOfWeek.filter(x => x.selected)[0];\n }\n\n public arraycounter(length: number): any[] {\n return new Array(length);\n }\n\n get ordinalDay(): AbstractControl {\n return this.formGroup.controls['ordinalDay'];\n }\n\n get ordinalWeek(): AbstractControl {\n return this.formGroup.controls['ordinalWeek'];\n }\n}\n","
\n
\n

日期規劃

\n

取消

\n
\n
\n
\n

舉辦週期

\n
\n \n
\n\n \n\n \n
\n\n
\n

舉辦時間

\n \n
\n\n
\n

結束時間

\n \n
\n\n
\n

開始日期

\n \n
\n\n
\n

結束日期

\n \n
\n\n \n \n \n \n\n \n \n \n \n\n \n\n\n \n \n
\n \n
\n\n \n
\n\n \n
\n \n
\n
\n\n

由每月日期決定

\n

由每月星期決定

\n
\n\n \n
\n

請選擇

\n

{{ selectedWeekDay.name }}

\n
1 \" translate>\n

每週的

\n

{{ numberOfSelectedWeekDay }}

\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { EventParticipant } from 'src/app/models/events/event-participant';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-event-detail-accepted-user-tab',\n templateUrl: './event-detail-accepted-user-tab.component.html',\n styleUrls: ['./event-detail-accepted-user-tab.component.scss']\n})\nexport class EventDetailAcceptedUserTabComponent implements OnInit {\n\n @Input() users: EventParticipant[] = [];\n @Input() closeAction: () => void = () => { }\n @Input() reloadAction: () => void = () => { }\n @Input() changeTabAction: (index: number) => void = () => { }\n @Input() vacancy: number = 0;\n\n constructor(\n private popupMessageService: PopupMessageService,\n private route: ActivatedRoute,\n private eventService: EventService,\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n\n }\n\n remove(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction();\n subscriber.unsubscribe();\n });\n\n this.route.params.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.RemoveUserFromEventMessage(\n this.eventService.removeParticipants(value.id, { userList: [uuId], role: \"Attendant\" })\n ));\n });\n }\n\n randomPick(): void {\n var numberOfPick = this.vacancy;\n while (this.selectedUsers.length < numberOfPick && !this.users.every(p => p.selected)) {\n var randomIndex = Math.floor(Math.random() * this.users.length);\n if (!this.users[randomIndex].selected) {\n this.users[randomIndex].selected = true;\n }\n }\n }\n\n joinEvent(): void {\n if (this.selectedUsers.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.ZeroParticipantErrorMessage);\n return;\n }\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.eventService.joinEvent(value.id, { list: this.users.filter(u => u.selected).map(u => u.uuId) })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.reloadAction();\n this.changeTabAction(0);\n if (this.vacancy - this.selectedUsers.length <= 0 && this.users.filter(p => !p.selected).length > 0)\n this.unselectUsers();\n });\n });\n }\n\n private unselectUsers(): void {\n this.route.params.subscribe(value => {\n this.eventService.unselect(value.id, { list: this.users.filter(p => !p.selected).map(p => p.uuId) })\n .subscribe(value => {\n this.reloadAction();\n });\n });\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.users.forEach(user => user.selected = false);\n else\n this.users.forEach(user => user.selected = true);\n }\n\n get selectedUsers(): EventParticipant[] {\n return this.users.filter(user => user.selected);\n }\n\n get isSelectedAll(): boolean {\n return this.users.every(user => user.selected);\n }\n}\n","
\n
\n

已選擇

\n

{{ selectedUsers.length }}

\n

/{{ vacancy }}

\n

位用戶參加該活動

\n\n
\n\n

= vacancy\">選擇人數已滿足,不可隨機抽選!

\n\n \n
\n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

狀態

\n
\n
\n

時分餘額

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n \n
\n
\n \n
\n
\n

{{ user.memberId }}

\n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.center.centerCode }}

\n
\n
\n

{{ user.gender | translate }}

\n
\n
\n

{{ user.age }}

\n
\n
\n

{{ user.phone }}

\n
\n
\n

接受邀請

\n

未被選中

\n
\n
\n

{{user.timeBalance}}

\n
\n
\n

-

\n
\n
\n

修改時分

\n

移除

\n

檢視

\n
\n
\n\n
\n
\n

暫無接受邀請的用戶,請在等待回應的用戶中選擇

\n
\n
\n
\n
\n
\n\n
\n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { forkJoin } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { EventParticipant } from 'src/app/models/events/event-participant';\nimport { Transaction } from 'src/app/models/transactions/transaction';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\n\n@Component({\n selector: 'app-event-detail-confirmed-user-tab',\n templateUrl: './event-detail-confirmed-user-tab.component.html',\n styleUrls: ['./event-detail-confirmed-user-tab.component.scss']\n})\nexport class EventDetailConfirmedUserTabComponent implements OnInit {\n\n @Input() users: EventParticipant[] = [];\n @Input() closeAction: () => void = () => { }\n @Input() reloadAction: () => void = () => { }\n @Input() type: string = \"Free\";\n\n changeAll: boolean = false;\n form: FormControl = new FormControl(null);\n\n constructor(\n private popupMessageService: PopupMessageService,\n private route: ActivatedRoute,\n private eventService: EventService,\n private transactionService: TransactionService,\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n this.form.valueChanges.subscribe(value => {\n if (this.changeAll == false)\n return;\n\n this.selectedUsers.forEach(user => user.form.setValue(value));\n })\n }\n\n remove(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction();\n subscriber.unsubscribe();\n });\n\n this.route.params.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.RemoveUserFromEventMessage(\n this.eventService.removeParticipants(value.id, { userList: [uuId], role: \"Attendant\" })\n ));\n });\n }\n\n update(user: EventParticipant) {\n if (user.transaction == null) {\n user.editing = false;\n return;\n }\n\n this.updateTransaction(user);\n }\n\n updateTransaction(user: EventParticipant) {\n this.loadingService.startLoading();\n this.transactionService.editTransaction((user.transaction as Transaction).uuId, { amount: (user.transaction as Transaction).form.value })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n (user.transaction as Transaction).uuId = value.newTransactionUUId;\n user.editing = false;\n }\n });\n }\n\n absent(uuId: string): void {\n this.route.params.subscribe(value => {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.UserAbsentMessage(\n this.eventService.absent(value.id, { list: [uuId] })\n ));\n });\n }\n\n\n submut(): void {\n if (this.selectedUsers.some(u => u.form.invalid)) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n forkJoin(\n this.selectedUsers.filter(user => user.state == 'Confirmed' && user.transaction == null)\n .map(user => this.eventService.createEventTransaction(value.id, {\n list: [{ userUUId: user.uuId, amount: user.form.value }],\n isCenterPaid: this.type == \"UserEarn\"\n }\n )\n )\n ).pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.ParticipantFinishEvnetSuccessMessage);\n this.reloadAction();\n });\n });\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.users.forEach(user => user.selected = false);\n else\n this.users.forEach(user => user.selected = true);\n }\n\n get selectedUsers(): EventParticipant[] {\n return this.users.filter(user => user.selected);\n }\n\n get isSelectedAll(): boolean {\n return this.users.every(user => user.selected);\n }\n}\n","
\n
\n

已選擇

\n

{{ selectedUsers.length }}

\n

/{{ users.length }}

\n

位用戶,確認完成後時分將會交易至帳戶

\n\n \n

默認每個帳戶將會支出

\n \n

時分

\n\n
\n\n
\n add_circle\n

新增用戶

\n
\n
\n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

狀態

\n
\n
\n

時分餘額

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n \n
\n
\n \n
\n
\n

{{ user.memberId }}

\n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.center.centerCode }}

\n
\n
\n

{{ user.gender | translate }}

\n
\n
\n

{{ user.age }}

\n
\n
\n

{{ user.phone }}

\n
\n
\n

確認參加

\n

已完成

\n

已缺席

\n
\n
\n

{{user.timeBalance}}

\n
\n
\n \n

{{ user.transaction.form.value }}

\n \n
\n \n

{{ user.form.value }}

\n \n
\n \n

-

\n
\n
\n
\n

修改時分

\n

確認

\n

移除

\n

取消

\n

缺席

\n

檢視

\n
\n
\n\n
\n
\n

暫無確認參加的用戶,請在接受邀請的用戶中選擇

\n
\n
\n
\n
\n
\n\n
\n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { EventParticipant } from 'src/app/models/events/event-participant';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-event-detail-pending-user-tab',\n templateUrl: './event-detail-pending-user-tab.component.html',\n styleUrls: ['./event-detail-pending-user-tab.component.scss']\n})\nexport class EventDetailPendingUserTabComponent implements OnInit {\n\n @Input() users: EventParticipant[] = [];\n @Input() closeAction: () => void = () => { };\n @Input() reloadAction: () => void = () => { };\n @Input() changeTabAction: (index: number) => void = () => { }\n @Input() format: string = \"Staff\"\n\n constructor(\n private popupMessageService: PopupMessageService,\n private route: ActivatedRoute,\n private eventService: EventService,\n private loadingService: LoadingService,\n ) { }\n\n ngOnInit(): void {\n }\n\n public acceptInvitation(): void {\n if (this.selectedUsers.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.ZeroParticipantErrorMessage);\n return;\n }\n\n let observable: Observable;\n\n this.route.params.subscribe(value => {\n if (this.format == \"Staff\")\n observable = this.eventService.acceptInvitation(value.id, { list: this.users.filter(u => u.selected).map(u => u.uuId) });\n else\n observable = this.eventService.joinEvent(value.id, { list: this.users.filter(u => u.selected).map(u => u.uuId) });\n\n this.loadingService.startLoading();\n observable.pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n if (this.format == \"Staff\")\n this.changeTabAction(1);\n else\n this.changeTabAction(0);\n this.reloadAction();\n });\n });\n }\n\n remove(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction();\n subscriber.unsubscribe();\n });\n\n this.route.params.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.RemoveUserFromEventMessage(\n this.eventService.removeParticipants(value.id, { userList: [uuId], role: \"Attendant\" })\n ));\n });\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.users.forEach(user => user.selected = false);\n else\n this.users.forEach(user => user.selected = true);\n }\n\n get selectedUsers(): EventParticipant[] {\n return this.users.filter(user => user.selected);\n }\n\n get isSelectedAll(): boolean {\n return this.users.every(user => user.selected);\n }\n}\n","
\n
\n

已選擇

\n

{{ users.length }}

\n

位用戶接受該活動的邀請

\n\n
\n\n
\n add_circle\n

新增用戶

\n
\n
\n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

狀態

\n
\n
\n

時分餘額

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n \n
\n
\n \n
\n
\n

{{ user.memberId }}

\n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.center.centerCode }}

\n
\n
\n

{{ user.gender | translate }}

\n
\n
\n

{{ user.age }}

\n
\n
\n

{{ user.phone }}

\n
\n
\n

暫無回應

\n
\n
\n

{{user.timeBalance}}

\n
\n
\n

-

\n
\n
\n

修改時分

\n

移除

\n

檢視

\n
\n
\n\n
\n
\n

暫無等待邀請的用戶

\n
\n
\n
\n
\n
\n\n
\n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { EventParticipant } from 'src/app/models/events/event-participant';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-event-detail-rejected-user-tab',\n templateUrl: './event-detail-rejected-user-tab.component.html',\n styleUrls: ['./event-detail-rejected-user-tab.component.scss']\n})\nexport class EventDetailRejectedUserTabComponent implements OnInit {\n\n @Input() users: EventParticipant[] = [];\n @Input() closeAction: () => void = () => { }\n @Input() reloadAction: () => void = () => { }\n\n constructor(\n private popupMessageService: PopupMessageService,\n private route: ActivatedRoute,\n private eventService: EventService\n ) { }\n\n ngOnInit(): void {\n\n }\n\n remove(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction();\n subscriber.unsubscribe();\n });\n\n this.route.params.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.RemoveUserFromEventMessage(\n this.eventService.removeParticipants(value.id, { userList: [uuId], role: \"Attendant\" })\n ));\n });\n }\n}\n","
\n
\n

已有

\n

{{ users.length }}

\n

位用戶拒絕該活動的邀請

\n
\n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

狀態

\n
\n
\n

時分餘額

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n \n
\n
\n \n
\n
\n

{{ user.memberId }}

\n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.center.centerCode }}

\n
\n
\n

{{ user.gender | translate }}

\n
\n
\n

{{ user.age }}

\n
\n
\n

{{ user.phone }}

\n
\n
\n

已拒絕

\n
\n
\n

{{user.timeBalance}}

\n
\n
\n

-

\n
\n
\n

修改時分

\n

移除

\n

檢視

\n
\n
\n\n
\n
\n

暫無拒絕邀請的用戶

\n
\n
\n
\n
\n
\n\n
\n \n
","
\n
\n

用戶管理

\n \n\n
\n
\n

{{ '確認參加()' | translate: {value: confirmedUsers.length} }}

\n
\n\n
\n

{{ '接受邀請()' | translate: {value: acceptedUsers.length} }}

\n
\n\n
\n

{{ '等待回應()' | translate: {value: pendingUsers.length} }}

\n
\n\n
\n

{{ '已拒絕()' | translate: {value: rejectedUsers.length} }}

\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { EventParticipant } from 'src/app/models/events/event-participant';\n\n@Component({\n selector: 'app-event-detail-user-management-popup',\n templateUrl: './event-detail-user-management-popup.component.html',\n styleUrls: ['./event-detail-user-management-popup.component.scss']\n})\nexport class EventDetailUserManagementPopupComponent implements OnInit {\n\n @Input() users: EventParticipant[] = [];\n @Input() reloadAction: () => void = () => { }\n @Input() format: string = \"Staff\"\n @Input() vacancy: number = 0;\n @Input() type: string = \"Free\";\n\n currentTabIndex: number = 0;\n display: boolean = false;\n\n filters: any = {\n searchInput: null\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n closeAction: () => void = (() => {\n this.display = false;\n }).bind(this);\n\n changeTabAction: (index: number) => void = ((index: number) => {\n this.currentTabIndex = index;\n }).bind(this);\n\n searchAction: (value: string) => void = ((value: string) => {\n this.filters.searchInput = value;\n }).bind(this);\n\n\n open(): void {\n this.display = true;\n }\n\n get filteredUsers(): EventParticipant[] {\n return this.users.filter(user =>\n (this.filters.searchInput == null\n || user.chineseName.includes(this.filters.searchInput)\n || user.memberId.includes(this.filters.searchInput)))\n }\n\n get confirmedUsers(): EventParticipant[] {\n return this.filteredUsers.filter(user => user.state === 'Confirmed' || user.state === 'Absent');\n }\n\n get acceptedUsers(): EventParticipant[] {\n return this.filteredUsers.filter(user => user.state === 'Interested' || user.state === 'Unselected');\n }\n\n get pendingUsers(): EventParticipant[] {\n return this.filteredUsers.filter(user => user.state === 'Asked');\n }\n\n get rejectedUsers(): EventParticipant[] {\n return this.filteredUsers.filter(user => user.state === 'Rejected');\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { Event } from 'src/app/models/events/event';\nimport { EventListItem } from 'src/app/models/events/event-list-item';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { ImportService } from 'src/app/services/import/import.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-event-overview',\n templateUrl: './event-overview.component.html',\n styleUrls: ['./event-overview.component.scss']\n})\nexport class EventOverviewComponent implements OnInit {\n\n events: EventListItem[] = [];\n caches: EventListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n from: null,\n to: null,\n statuses: null,\n isDeleted: null,\n idOrder: null,\n dateOrder: true,\n eventTypes: [],\n eventTransactionTypes: [],\n centers: []\n }\n\n constructor(\n private eventService: EventService,\n private loadingService: LoadingService,\n private router: Router,\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService,\n private exportService: ExportService,\n private importService: ImportService\n ) { }\n\n ngOnInit(): void {\n this.importService.refreshSignal.subscribe(() => {\n this.fetch();\n });\n\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.eventService.getEvents(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.count = value.count;\n this.pages = value.count != 0 ? Math.ceil(value.count / this.filters.itemsPerPage) : 0;\n this.events = value.list;\n this.events.forEach(e => {\n if (this.caches.find(event => event.uuId == e.uuId))\n e.selected = true;\n });\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n eventTypeFilterAction = ((eventTypes: EventType[]) => {\n this.filters.eventTypes = eventTypes;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n eventTransactionTypeFilterAction = ((types: string[]) => {\n this.filters.eventTransactionTypes = types;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((status: number) => {\n this.filters.statuses = status;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/activity/overview/event'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n cacheEvent(e: EventListItem): void {\n if (e.selected)\n this.caches.push(e);\n else\n this.caches.splice(this.caches.findIndex(event => event.uuId == e.uuId), 1);\n }\n\n deleteEvent(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteEventMessage(this.eventService.deleteEvents([uuId])));\n }\n\n deleteEventList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteEventListMessage(this.eventService.deleteEvents(this.events.filter(e => e.selected).map(e => e.uuId))));\n }\n\n applyAgain(event: EventListItem): void {\n this.loadingService.startLoading();\n this.eventService.getEventByUUId(event.uuId)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.eventService.form.formGroup.controls['eventName'].setValue(value.eventName);\n this.eventService.form.formGroup.controls['eventType'].setValue(value.eventType.uuId);\n this.eventService.form.formGroup.controls['transactionType'].setValue(value.eventPay);\n this.eventService.form.formGroup.controls['transactionFee'].setValue(value.earning);\n this.eventService.form.formGroup.controls['participationFormat'].setValue(value.eventJoinType);\n this.eventService.form.formGroup.controls['venue'].setValue(value.venue?.uuId);\n this.eventService.form.formGroup.controls['vacancy'].setValue(value.participantVacancy);\n this.eventService.form.formGroup.controls['eventDetail'].setValue(value.detail);\n this.eventService.form.formGroup.controls['remark'].setValue(value.remark);\n this.router.navigate(['/main/activity/create/event']);\n }\n })\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.statuses ? \"&statuses=\" + this.filters.statuses : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.eventTypes.map((type: EventType) => \"&eventTypes=\" + type.uuId).join(\"\"))\n + (this.filters.eventTransactionTypes.map((type: string) => \"&eventPays=\" + type).join(\"\"))\n + (this.filters.centers ? this.filters.centers.map((c: Center) => \"¢ers=\" + c.uuId) : \"\");\n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.events.forEach(e => {\n e.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == e.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.events.filter(event => event.selected == false));\n this.events.forEach(e => e.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.events.every(event => event.selected == true);\n }\n\n exportEventList(): void {\n if (this.caches.length > 0) {\n this.exportService.exportEventList(this.caches.map(event => event.getEventExportModel()), { startDate: this.filters.from, endDate: this.filters.to });\n return;\n }\n\n this.loadingService.startLoading();\n this.eventService.getEvents(this.getEverythingQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.exportService.exportEventList(value.list.map(event => event.getEventExportModel()), { startDate: this.filters.from, endDate: this.filters.to });\n });\n }\n\n private getEverythingQueryString(): string {\n return \"?start=0&limit=1000000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.statuses ? \"&statuses=\" + this.filters.statuses : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.eventTypes.map((type: EventType) => \"&eventTypes=\" + type.uuId).join(\"\"))\n + (this.filters.eventTransactionTypes.map((type: string) => \"&eventPays=\" + type).join(\"\"))\n + (this.filters.centers ? this.filters.centers.map((c: Center) => \"¢ers=\" + c.uuId) : \"\");\n }\n\n openImportPopup(): void {\n this.importService.importPopupSignal.emit(\"Event\");\n }\n}\n","
\n \n\n \n\n \n\n \n\n \n
\n\n
\n \n \n \n \n
\n\n\n\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

活動日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

活動代碼

\n
\n
\n

中心活動名稱

\n
\n
\n

交易類型

\n
\n
\n

狀態

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ event.id }}

\n
\n
\n

{{ event.getEventStartDate() | date: 'dd/MM/yyyy' }} - {{ event.getEventEndDate() | date: 'dd/MM/yyyy' }}

\n
\n
\n

{{ event.eventType.code }}

\n
\n
\n

{{ event.eventName }}

\n
\n
\n

{{ event.eventPay | translate }}

\n
\n
\n
\n

等待參加

\n
\n
\n

進行中

\n
\n
\n

已完成

\n
\n
\n

已終止

\n
\n
\n

人數不足

\n
\n
\n

已修改

\n
\n

\n
\n
\n

檢視

\n

再次創建

\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ShareModule } from '../share/share.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EventOverviewComponent } from './components/event-overview/event-overview.component';\nimport { RouterModule } from '@angular/router';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { EventCreateComponent } from './components/event-create/event-create.component';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { EventDaySchedulerComponent } from './components/event-day-scheduler/event-day-scheduler.component';\nimport { SelectEventParticipantsPageComponent } from './pages/select-event-participants-page/select-event-participants-page.component';\nimport { EventCreateUserManagementPopupComponent } from './components/event-create-user-management-popup/event-create-user-management-popup.component';\nimport { EventDetailPageComponent } from './pages/event-detail-page/event-detail-page.component';\nimport { EventDetailUserManagementPopupComponent } from './components/event-detail-user-management-popup/event-detail-user-management-popup.component';\nimport { EventDetailRejectedUserTabComponent } from './components/event-detail-rejected-user-tab/event-detail-rejected-user-tab.component';\nimport { EventDetailPendingUserTabComponent } from './components/event-detail-pending-user-tab/event-detail-pending-user-tab.component';\nimport { EventDetailAcceptedUserTabComponent } from './components/event-detail-accepted-user-tab/event-detail-accepted-user-tab.component';\nimport { EventDetailConfirmedUserTabComponent } from './components/event-detail-confirmed-user-tab/event-detail-confirmed-user-tab.component';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CreateEventRecordPageComponent } from './pages/create-event-record-page/create-event-record-page.component';\nimport { SelectEventRecordParticipantsPageComponent } from './pages/select-event-record-participants-page/select-event-record-participants-page.component';\nimport { EventAttendancePopupComponent } from './components/event-attendance-popup/event-attendance-popup.component';\n\n\n\n@NgModule({\n declarations: [\n EventOverviewComponent,\n EventCreateComponent,\n EventDaySchedulerComponent,\n SelectEventParticipantsPageComponent,\n EventCreateUserManagementPopupComponent,\n EventDetailPageComponent,\n EventDetailUserManagementPopupComponent,\n EventDetailRejectedUserTabComponent,\n EventDetailPendingUserTabComponent,\n EventDetailAcceptedUserTabComponent,\n EventDetailConfirmedUserTabComponent,\n CreateEventRecordPageComponent,\n SelectEventRecordParticipantsPageComponent,\n EventAttendancePopupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ShareModule,\n TranslateModule,\n RouterModule,\n MatTooltipModule,\n MatDatepickerModule,\n ScrollingModule\n ]\n})\nexport class EventModule { }\n","import { AbstractControl, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateEventDayModel } from \"src/app/models/events/create-event-day-model\";\nimport { EventDay } from \"src/app/models/events/event-day\";\n\nexport interface IEventDayForm {\n formGroup: FormGroup;\n editing: boolean;\n\n getModel(): CreateEventDayModel;\n\n date: AbstractControl;\n\n start: AbstractControl\n\n end: AbstractControl;\n\n}\n\nexport class CreateEventDayForm implements IEventDayForm {\n formGroup: FormGroup;\n editing: boolean;\n numOfAttendance:number|null|undefined;\n constructor(eventDay?: EventDay) {\n this.formGroup = new FormGroup({\n date: new FormControl(eventDay?.date, [Validators.required]),\n start: new FormControl(eventDay?.startTime, [Validators.required]),\n end: new FormControl(eventDay?.endTime, [Validators.required]),\n\n });\n this.editing = false;\n this.numOfAttendance=eventDay?.numOfAttendance;\n this.formGroup.controls['date'].valueChanges.subscribe((date: Date) => {\n if (date == null)\n return;\n\n let start: Date = this.formGroup.controls['start'].value\n if (start != null) {\n start.setDate(date.getDate());\n start.setMonth(date.getMonth());\n start.setFullYear(date.getFullYear());\n this.start.setValue(new Date(start));\n }\n else {\n this.formGroup.controls['start'].setValue(new Date(date));\n }\n\n let end: Date = this.formGroup.controls['end'].value\n if (end != null) {\n end.setDate(date.getDate());\n end.setMonth(date.getMonth());\n end.setFullYear(date.getFullYear());\n this.end.setValue(new Date(end));\n }\n else {\n this.formGroup.controls['end'].setValue(new Date(date));\n }\n });\n\n this.formGroup.controls['start'].valueChanges.subscribe(() => {\n this.validateDate();\n });\n\n this.formGroup.controls['end'].valueChanges.subscribe(() => {\n setTimeout(() => this.validateDate(), 100);\n });\n\n this.date.setValue(this.date.value);\n }\n\n validateDate(): void {\n if (this.formGroup.controls['start'].value == null || this.formGroup.controls['end'].value == null)\n return;\n if (this.formGroup.controls['start'].invalid || this.formGroup.controls['end'].invalid)\n return;\n if (this.formGroup.controls['start'].value as Date >= (this.formGroup.controls['end'].value as Date))\n this.formGroup.controls['end'].setErrors({ invalid: true })\n }\n\n getCreateEventDayModel(): CreateEventDayModel {\n return {\n date: (this.date.value as Date).toISOString(),\n startTime: (this.start.value as Date).toISOString(),\n endTime: (this.end.value as Date).toISOString(),\n numOfAttendance:this.numOfAttendance\n }\n }\n\n getModel(): CreateEventDayModel {\n return this.getCreateEventDayModel();\n }\n\n get date(): AbstractControl {\n return this.formGroup.controls['date'];\n }\n\n get start(): AbstractControl {\n return this.formGroup.controls['start'];\n }\n\n get end(): AbstractControl {\n return this.formGroup.controls['end'];\n }\n}\n","import { AbstractControl, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateEventModel } from \"src/app/models/events/create-event-model\";\nimport { Profile } from \"src/app/models/profiles/profile\";\nimport { CreateEventDayForm } from \"./create-event-day-form\";\n\nexport class CreateEventForm {\n formGroup: FormGroup;\n users: Profile[];\n eventDays: CreateEventDayForm[];\n\n constructor() {\n this.formGroup = new FormGroup({\n eventName: new FormControl(null, [Validators.required]),\n eventType: new FormControl(null, [Validators.required]),\n transactionType: new FormControl(null, [Validators.required]),\n transactionFee: new FormControl(null),\n participationFormat: new FormControl(null, [Validators.required]),\n closeDate: new FormControl(null, [Validators.required]),\n venue: new FormControl(null, [Validators.required]),\n vacancy: new FormControl(null, [Validators.required]),\n eventDetail: new FormControl(null),\n remark: new FormControl(null),\n singleDayMode: new FormControl(true),\n urlType: new FormControl(null),\n url: new FormControl(null)\n });\n\n this.users = [];\n this.eventDays = [new CreateEventDayForm()];\n\n this.formGroup.controls['urlType'].valueChanges.subscribe(value => {\n if (value == 'url') {\n this.formGroup.controls['url'].setValidators([Validators.required]);\n }\n else {\n this.formGroup.controls['url'].setValidators([]);\n }\n this.formGroup.controls['url'].updateValueAndValidity();\n })\n\n this.formGroup.controls['singleDayMode'].valueChanges.subscribe(value => {\n if (value == true) {\n this.eventDays = [new CreateEventDayForm()];\n return;\n }\n\n this.eventDays = [];\n })\n\n this.formGroup.controls['transactionType'].valueChanges.subscribe(value => {\n if (value == 'Free') {\n this.formGroup.controls['transactionFee'].setValidators(null);\n this.formGroup.controls['transactionFee'].setValue(null);\n return;\n }\n\n this.formGroup.controls['transactionFee'].setValidators([Validators.required, Validators.min(0)]);\n this.formGroup.controls['transactionFee'].setValue(null);\n })\n }\n\n public getEventStartDate(): Date {\n return this.eventDays.map(ed => ed.start.value).sort((a, b) => a > b ? 1 : a < b ? -1 : 0)[0];\n }\n\n public getEventEndDate(): Date {\n return this.eventDays.map(ed => ed.end.value).sort((a, b) => a > b ? -1 : a < b ? 1 : 0)[0];\n }\n\n reset(): void {\n this.formGroup.reset();\n this.users = [];\n this.formGroup.controls['singleDayMode'].setValue(true);\n }\n\n getCreateEventModel(): CreateEventModel {\n return {\n eventTypeUUId: this.formGroup.controls['eventType'].value,\n eventName: this.formGroup.controls['eventName'].value,\n venue: this.formGroup.controls['venue'].value,\n startTime: this.getEventStartDate().toISOString(),\n endTime: this.getEventEndDate().toISOString(),\n isUnknowEndTime: false,\n participantVacancy: this.formGroup.controls['vacancy'].value,\n remark: this.formGroup.controls['remark'].value,\n detail: this.formGroup.controls['eventDetail'].value,\n invitedUsers: this.users.map(u => u.uuId),\n eventPay: this.formGroup.controls['transactionType'].value,\n earning: this.formGroup.controls['transactionFee'].value ? this.formGroup.controls['transactionFee'].value : 0,\n eventJoinType: this.formGroup.controls['participationFormat'].value,\n applyDeadline: this.formGroup.controls['closeDate'].value.toISOString(),\n eventDays: this.eventDays.map(ed => ed.getCreateEventDayModel()),\n url: this.formGroup.controls['url'].value\n }\n }\n\n // stringtifyColumns(columns: TemplateColumn[]): string {\n // var temp: any = {};\n // columns.forEach(column => {\n // temp[column.columnName] = column.input.value\n // });\n // return JSON.stringify(temp);\n // }\n}\n","import { FormControl, FormGroup } from \"@angular/forms\";\nimport { EventRecordUser } from \"src/app/models/profiles/event-record-user\";\nimport { Profile } from \"src/app/models/profiles/profile\";\nimport { CreateEventDayForm } from \"./create-event-day-form\";\nimport { CreateEventForm } from \"./create-event-form\";\n\nexport class CreateEventRecordForm extends CreateEventForm {\n users: EventRecordUser[];\n\n giveAll: FormControl;\n giveInput: FormControl;\n\n constructor() {\n super();\n this.users = [];\n this.giveAll = new FormControl(false);\n this.giveInput = new FormControl(null);\n\n this.giveAll.valueChanges.subscribe(value => {\n if (value == false) {\n this.giveInput.disable();\n this.users.forEach(user => user.recordForm.enable());\n }\n else {\n this.giveInput.enable();\n this.users.forEach(user => user.recordForm.disable());\n }\n });\n\n this.giveInput.valueChanges.subscribe(value => {\n if (this.giveAll.value == true) {\n this.users.forEach(user => user.recordForm.setValue(value));\n }\n })\n }\n\n get sum(): number {\n return this.users.map(user => user.recordForm.value ? user.recordForm.value : 0).reduce((sum, value) => sum += value, 0);\n }\n}","import { EventDay } from \"src/app/models/events/event-day\";\nimport { UpdateEventDayModel } from \"src/app/models/events/update-event-day-model\";\nimport { CreateEventDayForm } from \"./create-event-day-form\";\n\nexport class UpdateEventDayForm extends CreateEventDayForm {\n uuId: string | null;\n\n constructor(eventDay: EventDay) {\n super(eventDay);\n this.uuId = eventDay.uuId;\n }\n\n getUpdateEventDayModel(): UpdateEventDayModel {\n return {\n uuId: this.uuId,\n date: (this.date.value as Date).toISOString(),\n startTime: (this.start.value as Date).toISOString(),\n endTime: (this.end.value as Date).toISOString(),\n numOfAttendance:this.numOfAttendance ,\n }\n }\n\n getModel(): UpdateEventDayModel {\n return this.getUpdateEventDayModel();\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { Event } from \"src/app/models/events/event\";\nimport { EventDay } from \"src/app/models/events/event-day\";\nimport { UpdateEventModel } from \"src/app/models/events/update-event-model\";\nimport { IEventDayForm } from \"./create-event-day-form\";\nimport { UpdateEventDayForm } from \"./update-event-day-form\";\n\nexport class UpdateEventForm {\n formGroup: FormGroup;\n eventDays: IEventDayForm[];\n extraEventJson: string;\n\n constructor(event: Event) {\n this.formGroup = new FormGroup({\n eventType: new FormControl(event.eventType.uuId, [Validators.required]),\n eventName: new FormControl(event.eventName, [Validators.required]),\n venue: new FormControl(event.venue?.room.uuId, [Validators.required]),\n eventPay: new FormControl(event.eventPay),\n eventJoinType: new FormControl(event.eventJoinType),\n participantVacancy: new FormControl(event.participantVacancy, [Validators.required, Validators.min(0)]),\n remark: new FormControl(event.remark),\n detail: new FormControl(event.detail),\n earning: new FormControl(event.earning, [Validators.required, Validators.min(0)]),\n applyDeadline: new FormControl(event.applyDeadline, [Validators.required]),\n urlType: new FormControl(event.url == null ? 'text' : 'url'),\n url: new FormControl(event.url)\n });\n\n this.formGroup.controls['urlType'].valueChanges.subscribe(value => {\n if (value == 'url') {\n this.formGroup.controls['url'].setValidators([Validators.required]);\n }\n else {\n this.formGroup.controls['url'].setValidators([Validators.nullValidator]);\n }\n\n this.formGroup.controls['url'].updateValueAndValidity();\n })\n\n this.eventDays = event.eventDays.map(ed => new UpdateEventDayForm(ed));\n this.extraEventJson = event.extraEventJson;\n }\n\n getUpdateEventModel(): UpdateEventModel {\n return {\n eventTypeUUId: this.formGroup.controls['eventType'].value,\n eventName: this.formGroup.controls['eventName'].value,\n venue: this.formGroup.controls['venue'].value,\n startTime: this.getEventStartDate().toJSON(),\n endTime: this.getEventEndDate().toJSON(),\n isUnknownEndTime: false,\n participantVacancy: this.formGroup.controls['participantVacancy'].value,\n remark: this.formGroup.controls['remark'].value,\n detail: this.formGroup.controls['detail'].value,\n eventPay: this.formGroup.controls['eventPay'].value,\n earning: this.formGroup.controls['earning'].value,\n eventJoinType: this.formGroup.controls['eventJoinType'].value,\n applyDeadline: (this.formGroup.controls['applyDeadline'].value as Date).toJSON(),\n eventDays: this.eventDays.map(ed => ed.getModel()),\n extraEventJson: JSON.stringify(this.extraEventJson),\n url: this.formGroup.controls['url'].value\n }\n }\n\n public getEventStartDate(): Date {\n return this.eventDays.map(ed => ed.start.value).sort((a, b) => a > b ? 1 : a < b ? -1 : 0)[0];\n }\n\n public getEventEndDate(): Date {\n return this.eventDays.map(ed => ed.end.value).sort((a, b) => a > b ? -1 : a < b ? 1 : 0)[0];\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { concat, forkJoin, Observable } from 'rxjs';\nimport { defaultIfEmpty, finalize, switchMap } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Address } from 'src/app/models/addresses/address';\nimport { Room } from 'src/app/models/addresses/room';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AddressForm } from 'src/app/modules/share/forms/address-form';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { EventTypeService } from 'src/app/services/event-type/event-type.service';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { CreateEventDayForm } from '../../forms/create-event-day-form';\nimport { CreateEventRecordForm } from '../../forms/create-event-record-form';\n\n@Component({\n selector: 'app-create-event-record-page',\n templateUrl: './create-event-record-page.component.html',\n styleUrls: ['./create-event-record-page.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class CreateEventRecordPageComponent implements OnInit {\n\n toggle: boolean = true;\n form: CreateEventRecordForm = this.eventService.eventRecordForm;\n venueForms: AddressForm[] = [];\n newEventDayForm: CreateEventDayForm | null = null;\n\n profile!: Profile;\n eventTypes: EventType[] = [];\n lang: string = this.translateService.currentLang;\n\n\n NAaddress:Room=new Room(\"\",\"\");\n \n constructor(\n private loadingService: LoadingService,\n private eventService: EventService,\n private eventTypeService: EventTypeService,\n private profileService: ProfileService,\n private popupMessageService: PopupMessageService,\n private translateService: TranslateService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n forkJoin({\n eventTypes: this.eventTypeService.getEventTypeList(),\n profile: this.profileService.getMyProfile(),\n NAaddress:this.eventService.getNAAddress()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.eventTypes = value.eventTypes;\n this.profile = value.profile;\n this.NAaddress=value.NAaddress;\n });\n }\n\n addVenue(): void {\n this.venueForms.push(new AddressForm());\n }\n\n saveVenue(): void {\n if (this.venueForms.length == 0 || !this.venueForms.every(form => form.formGroup.valid)) {\n this.venueForms.forEach(form => form.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n\n forkJoin(this.venueForms.map(form => this.profileService.createAddress(this.profile?.uuId as string, form.getCreateAddressModel())))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.venueForms = [];\n this.fetch();\n })\n }\n\n dropVenue = (() => {\n this.venueForms = [];\n }).bind(this)\n\n reset(): void {\n this.form.reset();\n }\n\n submit(): void {\n this.form.giveAll.setValue(false);\n this.form.giveAll.updateValueAndValidity();\n if (this.form.formGroup.invalid || this.form.users.every(user => user.recordForm.valid) == false) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n this.form.formGroup.markAllAsTouched();\n this.form.users.forEach(user => user.recordForm.markAllAsTouched());\n return;\n }\n\n if (this.form.users.length < this.vacancy.value) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvitedParticipantsMustGreaterThanVacancy);\n return;\n }\n\n if (this.form.eventDays.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.EmptyEventDay);\n return;\n }\n\n if (this.closeDate.value > this.form.getEventStartDate()) {\n this.popupMessageService.messageSignal.emit(PopupMessages.DeadlineMustBeEarlierThanStartTime);\n return;\n }\n\n this.loadingService.startLoading();\n this.createEvent()\n .pipe(\n switchMap(value => concat(\n this.completeEvent(value.result.uuid),\n this.createUserTransactions(value.result.uuid),\n new Observable(\n subscriber => {\n this.loadingService.stopLoading();\n this.form.reset();\n this.popupMessageService.messageSignal.emit(PopupMessages.CreateEventRecordSuccessMessage(\n new Observable(subscriber => { this.router.navigate(['/main/activity/overview/event', value.result.uuid]) })\n ))\n }\n ))), finalize(() => this.loadingService.stopLoading())\n ).subscribe();\n }\n\n dropUser(index: number): void {\n this.form.users.splice(index, 1);\n }\n\n\n // Step 1\n private createEvent(): Observable {\n return this.eventService.createEvent(this.form.getCreateEventModel());\n }\n\n // Step 2\n private completeEvent(eventUUId: string): Observable {\n return this.eventService.complete(eventUUId);\n }\n\n //Step 3\n private createUserTransactions(eventUUId: string): Observable {\n return this.eventService.createEventTransaction(eventUUId, {\n list: this.form.users.map(user => {\n return {\n userUUId: user.uuId,\n amount: user.recordForm.value\n }\n }),\n isCenterPaid: this.transactionType.value === 'UserEarn'\n });\n }\n\n\n get eventName(): AbstractControl {\n return this.form.formGroup.controls['eventName'];\n }\n\n get eventType(): AbstractControl {\n return this.form.formGroup.controls['eventType'];\n }\n\n get transactionType(): AbstractControl {\n return this.form.formGroup.controls['transactionType'];\n }\n\n get transactionFee(): AbstractControl {\n return this.form.formGroup.controls['transactionFee'];\n }\n\n get participationFormat(): AbstractControl {\n return this.form.formGroup.controls['participationFormat'];\n }\n\n get closeDate(): AbstractControl {\n return this.form.formGroup.controls['closeDate'];\n }\n\n get venue(): AbstractControl {\n return this.form.formGroup.controls['venue'];\n }\n\n get vacancy(): AbstractControl {\n return this.form.formGroup.controls['vacancy'];\n }\n\n get singleDayMode(): AbstractControl {\n return this.form.formGroup.controls['singleDayMode'];\n }\n\n get url(): AbstractControl {\n return this.form.formGroup.controls['url'];\n }\n\n get urlType(): AbstractControl {\n return this.form.formGroup.controls['urlType'];\n }\n\n openURL(): void {\n if (this.url.value == null)\n return;\n window.open(this.url.value);\n }\n\n print(value: any): void {\n this.form.eventDays = value;\n }\n\n cancelAction: () => void = (() => {\n this.singleDayMode.setValue(true);\n }).bind(this)\n\n clearAll(): void {\n this.form.eventDays = [];\n }\n\n addEventDay(): void {\n this.newEventDayForm = new CreateEventDayForm();\n }\n\n saveNewEventDay(): void {\n if (this.newEventDayForm == null) {\n return;\n }\n\n if (this.newEventDayForm?.formGroup.invalid) {\n this.newEventDayForm.formGroup.markAllAsTouched();\n return;\n }\n\n this.form.eventDays.push(this.newEventDayForm);\n this.newEventDayForm = null;\n }\n\n dropEventDay(index: number): void {\n this.form.eventDays.splice(index, 1);\n }\n\n editAddress(address: Address): void {\n this.loadingService.startLoading();\n this.profileService.editAddress(address.getUpdateAddressModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => this.fetch())\n }\n\n dropAddressAction = ((index: number) => {\n (this.profile as Profile).form.addresses[index - 1].editing = false;\n }).bind(this);\n}\n","
\n
\n

請求/訂單

\n

/

\n

創建活動記錄

\n
\n\n

創建活動記錄

\n\n
\n
\n

欄目帶 * 號為必填項

\n\n
\n

活動名目

\n \n\n
\n

請填寫活動名目

\n
\n
\n\n
\n

活動類型

\n
\n \n
\n\n
\n

請選擇活動類型

\n
\n
\n\n
\n

交易類型

\n
\n
\n \n\n \n\n \n
\n\n
\n \n

默認每個帳戶將會支出

\n

默認每個帳戶將會賺取

\n \n

時分

\n
\n
\n\n
\n

請選擇交易類型

\n
\n\n
\n

請填寫交易時分

\n

交易時分必須大於 0

\n
\n
\n\n
\n\n
\n

參與方式

\n \n\n \n\n
\n

請選擇參與方式

\n
\n
\n\n
\n

活動日期

\n\n \n \n \n\n \n \n \n \n \n\n

多日期活動設置

\n\n
\n

請填寫活動日期

\n
\n
\n\n 1;then schedule\">\n
\n\n
\n

截止報名

\n \n \n\n \n\n
\n

請填寫截止報名日期

\n

請填寫截止報名時間

\n
\n
\n\n
\n

內容類型

\n \n \n
\n\n
\n

連結網址

\n \n\n \n\n
\n

請輸入超鏈接

\n
\n
\n\n
\n
\n

開始時間

\n \n\n
\n

請填寫活動開始時間

\n
\n
\n\n
\n

結束時間

\n \n\n
\n

請填寫活動結束時間

\n

活動結束時間必須在活動開始時間後

\n
\n
\n
\n\n \n
\n

集合地址

\n
\n
\n
\n
\n \n create\n
\n \n \n \n \n
\n
\n\n
\n \n
\n\n \n \n\n \n \n\n \n
\n
\n
\n\n
\n

參與者數量

\n \n\n
\n

請填寫參與者數量

\n
\n
\n\n
\n

活動詳情

\n \n
\n\n
\n

指定交易會員

\n
\n

未指定,請在用戶列表中確認人選

\n \n
\n\n
0\">\n \n
\n
\n\n
0\">\n
\n \n

每個帳戶將會賺取

\n

每個帳戶將會支出

\n \n

時分

\n
\n\n
\n

已選擇以下

\n

{{ form.users.length }}

\n

位會員,請完善交易時分

\n
\n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

交易時分

\n
\n
\n
\n
\n
\n

{{ user.memberId }}

\n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.center.centerCode }}

\n
\n
\n

{{ user.phone }}

\n
\n
\n \n
\n
\n

移除

\n
\n
\n
\n\n
\n

總共支出

\n

{{ form.sum }}

\n

時分至所選會員帳戶

\n
\n
\n\n
\n

備註

\n \n
\n\n
\n \n \n
\n \n
\n
\n\n\n
\n
\n

\n

{{ form.getEventStartDate() | date: 'longDate': '': lang}}

\n

\n

{{ form.getEventEndDate() | date: 'longDate': '': lang}}

\n

,活動舉辦

\n

{{ form.eventDays.length }}

\n

\n
\n

收起

\n
\n
\n\n
\n
\n
\n
\n

活動舉辦

\n

{{ form.eventDays.length }}

\n

\n
\n
\n
\n
\n delete\n

移除所有

\n
\n
\n\n
\n
\n

{{ day.date.value | date: 'longDate' : '' : lang }}

\n
\n
\n

{{ day.date.value | date: 'EEEE': '' : lang }}

\n
\n
\n

{{ day.start.value | date: 'HH:mm' }}

\n \n

\n

{{ day.end.value | date: 'HH:mm' }}

\n \n
\n
\n

修改

\n

確認

\n

移除

\n
\n
\n\n
\n
\n \n \n
\n
\n
\n \n

\n \n
\n
\n

保存

\n

移除

\n
\n
\n\n
\n

+ 新增日期

\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Address } from 'src/app/models/addresses/address';\nimport { Room } from 'src/app/models/addresses/room';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { Event } from 'src/app/models/events/event';\nimport { EventDay } from 'src/app/models/events/event-day';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AddressForm } from 'src/app/modules/share/forms/address-form';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { EventTypeService } from 'src/app/services/event-type/event-type.service';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { CreateEventDayForm } from '../../forms/create-event-day-form';\n\n@Component({\n selector: 'app-event-detail-page',\n templateUrl: './event-detail-page.component.html',\n styleUrls: ['./event-detail-page.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class EventDetailPageComponent implements OnInit {\n\n profile!: Profile;\n event!: Event;\n eventTypes: EventType[] = [];\n lang: string = this.translateService.currentLang;\n\n toggle: boolean = true;\n minDate: Date = new Date();\n venueForms: AddressForm[] = [];\n newEventDayForm: CreateEventDayForm | null = null;\n\n NAaddress:Room=new Room(\"\",\"\");\n\n newCancelDetail: string=\"\";\n\n constructor(\n private eventService: EventService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private translateService: TranslateService,\n private popupMessageService: PopupMessageService,\n private eventTypeService: EventTypeService,\n private profileService: ProfileService,\n private exportService: ExportService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n }\n\n fetch(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n forkJoin({\n event: this.eventService.getEventByUUId(value.id),\n types: this.eventTypeService.getEventTypeList(),\n profile: this.profileService.getMyProfile(),\n NAaddress:this.eventService.getNAAddress()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(v => {\n this.NAaddress=v.NAaddress;\n this.event = v.event;\n this.eventTypes = v.types;\n this.profile = v.profile;\n });\n });\n }\n\n terminate(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch()\n subscriber.unsubscribe();\n });\n\n this.route.params.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.TerminateEventMessage(this.eventService.terminate(value.id, { CancelEventReason: this.event.cancelDetail })));\n })\n }\n saveCancelDetail():void{\n console.log(this.event.cancelDetail );\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.eventService.terminate(value.id,\n { CancelEventReason: this.event.cancelDetail })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.UpdateEventSuccessMessage);\n this.fetch();\n }\n });\n })\n }\n endEvent(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.route.params.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.EndEventMessage(this.eventService.complete(value.id)))\n });\n }\n\n addVenue(): void {\n this.venueForms.push(new AddressForm());\n }\n\n saveVenue(): void {\n if (this.venueForms.length == 0 || !this.venueForms.every(form => form.formGroup.valid)) {\n this.venueForms.forEach(form => form.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n\n forkJoin(this.venueForms.map(form => this.profileService.createAddress(this.profile?.uuId as string, form.getCreateAddressModel())))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.venueForms = [];\n this.fetch();\n })\n }\n\n updateEvent(): void {\n if (this.event.form.formGroup.invalid || this.event.form.eventDays.some(ed => ed.formGroup.invalid)) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n this.event.form.formGroup.markAllAsTouched();\n this.event.form.eventDays.forEach(f => f.formGroup.markAllAsTouched());\n return;\n }\n\n if (this.event.form.eventDays.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.ZeroEventDayErrorMessage);\n return;\n }\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.eventService.updateEvent(value.id, this.event.form.getUpdateEventModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.UpdateEventSuccessMessage);\n this.fetch();\n }\n });\n })\n }\n\n dropVenue = (() => {\n this.venueForms = [];\n }).bind(this)\n\n addEventDay(): void {\n this.newEventDayForm = new CreateEventDayForm();\n }\n\n saveNewEventDay(): void {\n if (this.newEventDayForm != null)\n this.event.form.eventDays.push(this.newEventDayForm);\n this.newEventDayForm = null;\n }\n\n dropEventDay(index: number): void {\n if (this.event.form.eventDays.length == 1) {\n this.popupMessageService.messageSignal.emit(PopupMessages.DropEventDayFail)\n return;\n }\n this.event.form.eventDays.splice(index, 1);\n }\n\n reloadAction: () => void = (() => {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.eventService.getEventByUUId(value.id)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.event = value;\n });\n });\n }).bind(this)\n\n exportEvent(): void {\n this.exportService.exportEvent(this.event);\n }\n exportEventApplyOnly():void{\n this.exportService.exportEventApplyOnly(this.event);\n }\n\n get eventName(): AbstractControl {\n return this.event.form.formGroup.controls['eventName'];\n }\n\n get eventType(): AbstractControl {\n return this.event.form.formGroup.controls['eventType'];\n }\n\n get earning(): AbstractControl {\n return this.event.form.formGroup.controls['earning'];\n }\n\n get applyDeadline(): AbstractControl {\n return this.event.form.formGroup.controls['applyDeadline'];\n }\n\n get vacancy(): AbstractControl {\n return this.event.form.formGroup.controls['participantVacancy'];\n }\n\n get quota(): number {\n return this.event.participantVacancy - this.event.participants.filter(p => p.state == 'Confirmed').length;\n }\n\n get url(): AbstractControl {\n return this.event.form.formGroup.controls['url'];\n }\n\n get urlType(): AbstractControl {\n return this.event.form.formGroup.controls['urlType'];\n }\n\n openURL(): void {\n if (this.event.url == null)\n return;\n window.open(this.event.url);\n }\n\n openFormURL(): void {\n if (this.url.value == null)\n return;\n window.open(this.url.value);\n }\n\n editAddress(address: Address): void {\n this.loadingService.startLoading();\n this.profileService.editAddress(address.getUpdateAddressModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => this.fetch())\n }\n\n dropAddressAction = ((index: number) => {\n (this.profile as Profile).form.addresses[index-1].editing = false;\n }).bind(this);\n}","
\n
\n

請求/訂單

\n

/

\n

中心活動

\n

/

\n

活動詳情

\n \n \n
\n\n

中心活動詳情

\n\n
\n\n
\n

{{ '記錄編號:' | translate: {value: event.id} }}

\n
\n

{{ '創建時間:' | translate: {value: event.createdDate | date: 'yyyy-MM-dd HH:mm'} }}

\n
\n\n \n
\n \n
\n
\n\n \n
\n \n\n
\n

活動狀態

\n
\n

等待參加

\n
\n
\n

進行中

\n
\n
\n

已完成

\n
\n
\n

已終止

\n
\n
\n

人數不足

\n
\n
\n

已修改

\n
\n
\n\n
\n

活動名目

\n

{{ event.eventName }}

\n \n \n\n
\n

請填寫活動名目

\n
\n
\n
\n\n
\n

活動類型

\n

{{ event.eventType.name }}

\n \n
\n \n
\n\n
\n

請選擇活動類型

\n
\n
\n
\n\n
\n

交易類型

\n \n \n

免費活動

\n
\n \n

用户扣分

\n \n

{{ '默認每個帳戶將會支出時分' | translate: {value: event.earning} }}

\n
\n \n

默認每個帳戶將會支出

\n \n

時分

\n
\n
\n \n

用戶加分

\n \n

{{ '默認每個帳戶將會賺取時分' | translate: {value: event.earning} }}

\n
\n \n

默認每個帳戶將會賺取

\n \n

時分

\n
\n
\n\n
\n

請填寫交易時分

\n

交易時分必須大於 0

\n
\n
\n\n
\n

參與方式

\n \n\n \n
\n\n
\n

內容類型

\n \n

純文本

\n

超鏈接

\n
\n \n \n \n \n
\n\n
\n

連結網址

\n \n

{{ event.url }}

\n \n
\n \n \n\n \n\n
\n

請輸入超鏈接

\n
\n
\n
\n\n
\n

用戶管理

\n

已參加

\n

{{ event.numberOfParticipants }}

\n

/{{ event.participantVacancy }}

\n

位,接受邀請

\n

{{ event.numberOfApplication }}

\n

位,共邀請

\n

{{ event.numberOfInvited }}

\n

\n \n
\n\n
\n

活動日期

\n \n
\n\n
\n

截止報名

\n

{{ event.applyDeadline | date: 'longDate' : '' : lang }} {{ event.applyDeadline | date: 'HH:mm' }}

\n \n \n \n\n \n\n
\n

請填寫截止報名日期

\n

請填寫截止報名時間

\n
\n
\n\n
\n\n
\n

會面地址

\n

{{ event.venue.toString() }}

\n \n
\n
\n
\n
\n \n create\n
\n \n \n \n \n
\n
\n
\n \n
\n \n \n\n \n \n\n \n
\n
\n
\n\n
\n

參與者數量

\n

{{ event.participantVacancy }}

\n \n \n \n\n
\n

請填寫參與者數量

\n
\n
\n
\n\n
\n

活動詳情

\n \n

-

\n

{{ event.detail }}

\n
\n \n \n \n
\n\n
\n

備註

\n \n

暫無

\n

{{ event.remark }}

\n
\n \n \n \n
\n
\n\n
\n \n
\n \n \n \n \n
\n
\n\n \n
\n \n \n
\n
\n
\n
\n\n \n \n
\n
\n\n\n\n
\n
\n

1

\n check\n
\n
\n

等候參加

\n
\n
\n

該活動正在等候用戶參加

\n
\n
\n\n
\n

2

\n check\n
\n
\n

未開始

\n
\n
\n

活動正在等待開始

\n
\n
\n\n
\n

3

\n check\n
\n
\n

進行中

\n
\n
\n

活動正在進行中

\n
\n
\n\n
\n

4

\n
\n
\n

已完結

\n
\n

活動已經結束

\n
\n
\n
\n
\n\n\n
\n add_circle\n

該記錄已終止

\n
\n\n
\n

記錄狀態

\n
\n

等待參加

\n
\n
\n

進行中

\n
\n
\n

已完成

\n
\n
\n

已終止

\n
\n
\n

人數不足

\n
\n
\n

已修改

\n
\n
\n\n
\n \n

終止原因

\n
\n \n
\n
\n
\n
\n \n
\n\n\n \n
\n
\n

\n

{{ event.getEventStartDate() | date: 'longDate': '': lang}}

\n

\n

{{ event.getEventEndDate() | date: 'longDate': '': lang}}

\n

,活動舉辦

\n

{{ event.eventDays.length }}

\n

\n
\n

收起

\n
\n
\n\n
\n
\n
\n

活動舉辦

\n

{{ event.eventDays.length }}

\n

\n
\n
\n
\n
\n
\n\n
\n
\n

{{ day.date | date: 'longDate' : '' : lang }}

\n
\n
\n

{{ day.date | date: 'EEEE': '' : lang }}

\n
\n
\n

{{ day.startTime | date: 'HH:mm' }}

\n

\n

{{ day.endTime | date: 'HH:mm' }}

\n
\n
\n
\n
\n
\n
\n\n \n
\n
\n

\n

{{ event.form.getEventStartDate() | date: 'longDate': '': lang}}

\n

\n

{{ event.form.getEventEndDate() | date: 'longDate': '': lang}}

\n

,活動舉辦

\n

{{ event.form.eventDays.length }}

\n

\n
\n

收起

\n
\n
\n\n
\n
\n
\n

活動舉辦

\n

{{ event.form.eventDays.length }}

\n

\n
\n
\n
\n
\n
\n\n
\n
\n

{{ day.date.value | date: 'longDate' : '' : lang }}

\n
\n
\n

{{ day.date.value | date: 'EEEE': '' : lang }}

\n
\n
\n

{{ day.start.value | date: 'HH:mm' }}

\n \n

\n

{{ day.end.value | date: 'HH:mm' }}

\n \n
\n
\n

修改

\n

確認

\n

移除

\n
\n
\n\n
\n
\n \n \n
\n
\n
\n \n

\n \n
\n
\n

保存

\n

移除

\n
\n
\n\n
\n

+ 新增日期

\n
\n
\n
\n
\n\n
","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Event } from 'src/app/models/events/event';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-select-event-participants-page',\n templateUrl: './select-event-participants-page.component.html',\n styleUrls: ['./select-event-participants-page.component.scss']\n})\nexport class SelectEventParticipantsPageComponent implements OnInit {\n\n event!: Event;\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Profile[] = [];\n oldCaches:string[]=[];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService,\n private eventService: EventService,\n private location: Location\n ) { }\n\n ngOnInit(): void {\n this.route.params.subscribe(value => {\n if (value.id == null) {\n this.caches = this.eventService.form.users;\n this.oldCaches=[];\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n else {\n this.loadingService.startLoading();\n this.eventService.getEventByUUId(value.id)\n .subscribe(result => {\n this.event = result;\n this.oldCaches=this.event.participants.map(p=>p.uuId);\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n });\n }\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId)) {\n profile.selected = true;\n }\n });\n\n this.route.params.subscribe(value => {\n if (value.id != null) {\n this.profiles.forEach(profile => {\n if (this.event.participants.find(p => p.uuId == profile.uuId)) {\n profile.selected = true;\n profile.disabled = true;\n }\n });\n }\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(profile);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.route.params.subscribe(value => {\n if (value.id == null) {\n this.router.navigate(['/main/activity/create/event/select-participants'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n return;\n }\n\n this.router.navigate(['/main/activity/overview/event', value.id, 'select-participants'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n })\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n \n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.filter(p=>!p.disabled).forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles\n .filter(profile => profile.selected == false&&!profile.disabled));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n submit(): void {\n this.route.params.subscribe(value => {\n if (value.id == null) {\n this.eventService.form.users = this.caches;\n this.router.navigate(['/main/activity/create/event']);\n return;\n }\n else {\n this.loadingService.startLoading();\n this.eventService.addParticipantsFromExistingEvent(value.id, {\n users: this.caches.map(p => p.uuId),\n role: \"Attendant\"\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(result => {\n this.popupMessageService.messageSignal.emit(PopupMessages.InviteEventParticipantsSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/activity/overview/event', value.id]);\n })\n ));\n });\n }\n });\n }\n\n back(): void {\n this.location.back();\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.every(profile => profile.selected == true);\n }\n\n fetchEverything(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getEverythingQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n var templist = value.list.map(profile => new Profile(profile));\n this.caches=templist.filter(profile=>!this.oldCaches.find(p=>p==profile.uuId));\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n private getEverythingQueryString(): string {\n return \"?start=0\"\n + \"&limit=5000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n }\n\n get isSelectedEverything(): boolean {\n return this.caches.length >= this.count-this.oldCaches.length;\n }\n\n selectEverything(): void {\n if (this.isSelectedEverything == true) {\n this.caches = [];\n this.profiles.filter(profile=>!profile.disabled).forEach(profile => profile.selected = false)\n }\n else {\n this.fetchEverything();\n }\n }\n\n}\n","
\n
\n

請求/訂單

\n

/

\n

創建請求

\n

/

\n

中心活動

\n
\n\n

用戶列表

\n
\n
\n \n\n
\n \n \n \n \n \n\n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n \n

勾選全部

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Event } from 'src/app/models/events/event';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { EventRecordUser } from 'src/app/models/profiles/event-record-user';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-select-event-record-participants-page',\n templateUrl: './select-event-record-participants-page.component.html',\n styleUrls: ['./select-event-record-participants-page.component.scss']\n})\nexport class SelectEventRecordParticipantsPageComponent implements OnInit {\n\n event!: Event;\n\n count: number = 0;\n pages: number = 0;\n profiles: EventRecordUser[] = [];\n caches: EventRecordUser[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService,\n private eventService: EventService,\n private location: Location\n ) { }\n\n ngOnInit(): void {\n this.route.params.subscribe(value => {\n this.caches = this.eventService.eventRecordForm.users;\n\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list.map(user => new EventRecordUser(user));\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId)) {\n profile.selected = true;\n }\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: EventRecordUser): void {\n if (profile.selected)\n this.caches.push(profile);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.router.navigate(['/main/activity/event-record/select-participants'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles\n .filter(profile => profile.selected == false));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n submit(): void {\n this.eventService.eventRecordForm.users = this.caches;\n this.router.navigate(['/main/activity/event-record']);\n }\n\n back(): void {\n this.location.back();\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.every(profile => profile.selected == true);\n }\n\n fetchEverything(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getEverythingQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.caches = value.list.map(profile => new EventRecordUser(profile));\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n private getEverythingQueryString(): string {\n return \"?start=0\"\n + \"&limit=5000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n }\n\n get isSelectedEverything(): boolean {\n return this.caches.length >= this.count;\n }\n\n selectEverything(): void {\n if (this.isSelectedEverything == true) {\n this.caches = [];\n this.profiles.forEach(profile => profile.selected = false)\n }\n else {\n this.fetchEverything();\n }\n }\n}\n","
\n
\n

請求/訂單

\n

/

\n

創建請求

\n

/

\n

中心活動

\n
\n\n

用戶列表

\n
\n
\n \n\n
\n \n \n \n \n \n\n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n \n

勾選全部

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\n\n@Component({\n selector: 'app-side-nav',\n templateUrl: './side-nav.component.html',\n styleUrls: ['./side-nav.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class SideNavComponent implements OnInit {\n\n role: string | null = \"Staff\";\n toggle: boolean = true;\n menu = {\n staff: false,\n user: false,\n announcement: false,\n system: false,\n donation: false,\n redeem: false,\n activity: false,\n trash: false\n };\n\n constructor(\n private authenticationService: AuthenticationService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.role = localStorage.getItem('timebank_roles');\n }\n}\n","
\n

概覽

\n

職員

\n
\n

職員概覽

\n

創建職員

\n
\n

會員

\n
\n

會員概覽

\n

創建會員

\n

待審核列表

\n

帳號申請設置

\n
\n

活動

\n
\n

義工服務

\n

中心活動

\n

創建申請

\n

創建紀錄

\n
\n

通告

\n
\n

通告概覽

\n

創建通告

\n
\n

獎勵兌換

\n
\n

獎勵概覽

\n

發布獎勵

\n

獎勵設置

\n
\n

捐分池

\n
\n

用戶捐分

\n

中心捐分

\n

捐分紀錄

\n
\n

後台設置

\n
\n

資料設置

\n

推薦設置

\n
\n

數據分析

\n

垃圾桶

\n
\n

義工服務

\n

中心活動

\n

用戶檔案

\n

捐分紀錄

\n

獎勵兌換

\n
\n
\n

>

","import { Component, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { AppSetting } from 'src/app/backend/app-setting';\nimport { Notification } from 'src/app/models/notifications/notification';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { FirebaseService } from 'src/app/services/firebase/firebase.service';\nimport { NotificationService } from 'src/app/services/notification/notification.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.scss']\n})\nexport class TopBarComponent implements OnInit {\n\n orgName: string = AppSetting.orgName;\n profile: Profile | null = null;\n notifications: Notification[] = [];\n lang: string = this.translateService.currentLang;\n\n constructor(\n private profileService: ProfileService,\n private translateService: TranslateService,\n private notificationService: NotificationService,\n private snackBar: MatSnackBar,\n private firebaseServiec: FirebaseService,\n private router: Router,\n private authenticationService: AuthenticationService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n localStorage.setItem('lang', value.lang);\n })\n\n this.firebaseServiec.WebMessageSignal.subscribe((value: any) => {\n this.snackBar.open(value, \"Close\", { horizontalPosition: 'right', duration: 5000 });\n this.notificationService.getNotifications().subscribe(value => {\n this.notifications = value;\n });\n })\n }\n\n setLang(language: string): void {\n this.translateService.use(language).subscribe();\n }\n\n fetch(): void {\n\n forkJoin({\n profile: this.profileService.getMyProfile(),\n notifications: this.notificationService.getNotifications()\n }).subscribe(value => {\n this.profile = value.profile;\n this.notifications = value.notifications;\n console.log(this.notifications)\n });\n }\n\n public signOut(): void {\n this.authenticationService.signOut();\n this.router.navigate(['/login']);\n }\n\n public blur(): void {\n (document.activeElement as any).blur();\n }\n}\n","
\n

HINCare 網絡用戶端

\n

{{ orgName }}

\n
\n

Eng

\n

中文

\n
\n

{{ profile.chineseName }}

\n expand_more\n
\n

查看職員檔案

\n

登出

\n
\n
\n
\n notifications_active\n
\n
\n
\n

{{ notification.notificationContent.notificationTitle }}

\n

{{ notification.notificationContent.notificationBody }}

\n

{{ notification.createdAt | date: 'yyyy-MM-dd HH:mm' }}

\n
\n
\n \n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoginPageComponent } from './pages/login-page/login-page.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MainPageComponent } from './pages/main-page/main-page.component';\nimport { AuthenticationGuard } from 'src/app/guards/authentication.guard';\nimport { TopBarComponent } from './components/top-bar/top-bar.component';\nimport { SideNavComponent } from './components/side-nav/side-nav.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ShareModule } from '../share/share.module';\nimport { SuperAdminGuard } from 'src/app/guards/super-admin.guard';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\nconst routes: Routes = [\n { path: 'login', component: LoginPageComponent },\n {\n path: 'main', component: MainPageComponent, canActivate: [AuthenticationGuard], children: [\n { path: 'system', loadChildren: () => import('../system/system.module').then(module => module.SystemModule), canActivate: [SuperAdminGuard] },\n { path: 'user', loadChildren: () => import('../user/user.module').then(module => module.UserModule) },\n { path: 'announcement', loadChildren: () => import('../announcement/announcement.module').then(module => module.AnnouncementModule) },\n { path: 'staff', loadChildren: () => import('../staff/staff.module').then(module => module.StaffModule) },\n { path: 'donation', loadChildren: () => import('../donation/donation.module').then(module => module.DonationModule) },\n { path: 'redeem', loadChildren: () => import('../redeem/redeem.module').then(module => module.RedeemModule) },\n { path: 'activity', loadChildren: () => import('../activity/activity.module').then(module => module.ActivityModule) },\n { path: 'trash', loadChildren: () => import('../trash/trash.module').then(module => module.TrashModule), canActivate: [SuperAdminGuard] },\n { path: 'analytics', loadChildren: () => import('../analytics/analytics.module').then(module => module.AnalyticsModule) },\n { path: 'overview', loadChildren: () => import('../overview/overview.module').then(module => module.OverviewModule) },\n { path: '', redirectTo: 'overview', pathMatch: 'full' },\n { path: '**', redirectTo: 'overview' }\n ]\n },\n { path: '', redirectTo: 'login', pathMatch: 'full' },\n { path: '**', redirectTo: 'login' }\n];\n\n@NgModule({\n declarations: [LoginPageComponent, MainPageComponent, TopBarComponent, SideNavComponent],\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n FormsModule,\n ReactiveFormsModule,\n TranslateModule.forChild(),\n ShareModule,\n MatSnackBarModule\n ]\n})\nexport class MainModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { finalize } from 'rxjs/operators';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { FirebaseService } from 'src/app/services/firebase/firebase.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\n\n@Component({\n selector: 'app-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.scss']\n})\nexport class LoginPageComponent implements OnInit {\n\n lang: string = this.translateService.currentLang;\n public form: FormGroup = new FormGroup({\n username: new FormControl(null, [Validators.required]),\n password: new FormControl(null, [Validators.required])\n });\n\n constructor(\n private authService: AuthenticationService,\n private loadingService: LoadingService,\n private firebaseService: FirebaseService,\n private router: Router,\n private translateService: TranslateService\n ) { }\n\n setLang(language: string): void {\n this.translateService.use(language).subscribe();\n }\n\n ngOnInit(): void {\n if (this.authService.isAuthenticated()) {\n this.router.navigate(['/main/overview']);\n return;\n }\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n localStorage.setItem('lang', value.lang);\n })\n }\n\n submit(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loadingService.startLoading();\n this.authService.signIn({\n username: this.form.controls['username'].value,\n password: this.form.controls['password'].value,\n deviceToken: this.firebaseService.getToken(),\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => this.router.navigate(['/main/overview']),\n error: error => {\n this.password.setValue(null);\n this.password.setErrors({ wrong: true });\n }\n });\n }\n\n get username(): AbstractControl {\n return this.form.controls['username'];\n }\n\n get password(): AbstractControl {\n return this.form.controls['password'];\n }\n}\n","
\n
\n

Eng

\n

中文

\n
\n\n

HINCare 網絡後台端

\n

隨時隨地、輕鬆支援時間銀行移動客戶端的網絡後台

\n\n
\n face\n \n \n

帳號不能遺空

\n
\n
\n\n
\n lock\n \n \n

密碼不能遺空

\n

帳號或密碼錯誤

\n
\n
\n\n \n\n
\n

幫助

\n

私隱

\n

條款

\n
\n

copyright © 2019 香港大學

\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-main-page',\n templateUrl: './main-page.component.html',\n styleUrls: ['./main-page.component.scss']\n})\nexport class MainPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n \n
\n\n \n\n
\n \n

copyright © 2019 香港大學

\n
v1.3.0 202211w47.1
\n
\n\n
\n
\n
\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { EventListItem } from 'src/app/models/events/event-list-item';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-event-preview',\n templateUrl: './event-preview.component.html',\n styleUrls: ['./event-preview.component.scss']\n})\nexport class EventPreviewComponent implements OnInit {\n\n\n events: EventListItem[] = [];\n caches: EventListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 5,\n searchInput: null,\n from: null,\n to: null,\n statuses: null,\n isDeleted: null,\n idOrder: null,\n dateOrder: true,\n eventTypes: [],\n eventTransactionTypes: [],\n centers: []\n }\n\n constructor(\n private eventService: EventService,\n private loadingService: LoadingService,\n private router: Router,\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 5;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.eventService.getEvents(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.count = value.count;\n this.pages = value.count != 0 ? Math.ceil(value.count / this.filters.itemsPerPage) : 0;\n this.events = value.list;\n this.events.forEach(e => {\n if (this.caches.find(event => event.uuId == e.uuId))\n e.selected = true;\n });\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n eventTypeFilterAction = ((eventTypes: EventType[]) => {\n this.filters.eventTypes = eventTypes;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n eventTransactionTypeFilterAction = ((types: string[]) => {\n this.filters.eventTransactionTypes = types;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((status: number) => {\n this.filters.statuses = status;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/overview/event'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n cacheEvent(e: EventListItem): void {\n if (e.selected)\n this.caches.push(e);\n else\n this.caches.splice(this.caches.findIndex(event => event.uuId == e.uuId), 1);\n }\n\n deleteEvent(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteEventMessage(this.eventService.deleteEvents([uuId])));\n }\n\n deleteEventList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteEventListMessage(this.eventService.deleteEvents(this.events.filter(e => e.selected).map(e => e.uuId))));\n }\n\n applyAgain(event: EventListItem): void {\n this.loadingService.startLoading();\n this.eventService.getEventByUUId(event.uuId)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.eventService.form.formGroup.controls['eventName'].setValue(value.eventName);\n this.eventService.form.formGroup.controls['eventType'].setValue(value.eventType.uuId);\n this.eventService.form.formGroup.controls['transactionType'].setValue(value.eventPay);\n this.eventService.form.formGroup.controls['transactionFee'].setValue(value.earning);\n this.eventService.form.formGroup.controls['participationFormat'].setValue(value.eventJoinType);\n this.eventService.form.formGroup.controls['venue'].setValue(value.venue?.uuId);\n this.eventService.form.formGroup.controls['vacancy'].setValue(value.participantVacancy);\n this.eventService.form.formGroup.controls['eventDetail'].setValue(value.detail);\n this.eventService.form.formGroup.controls['remark'].setValue(value.remark);\n this.router.navigate(['/main/activity/create/event']);\n }\n })\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.statuses ? \"&statuses=\" + this.filters.statuses : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.eventTypes.map((type: EventType) => \"&eventTypes=\" + type.uuId).join(\"\"))\n + (this.filters.eventTransactionTypes.map((type: string) => \"&eventPays=\" + type).join(\"\"))\n + (this.filters.centers ? this.filters.centers.map((c: Center) => \"¢ers=\" + c.uuId) : \"\");\n }\n\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.events.forEach(e => {\n e.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == e.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.events.filter(event => event.selected == false));\n this.events.forEach(e => e.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.events.every(event => event.selected == true);\n }\n\n}\n","\n\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

活動日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

活動代碼

\n
\n
\n

中心活動名稱

\n
\n
\n

交易類型

\n
\n
\n

狀態

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ event.id }}

\n
\n
\n

{{ event.getEventStartDate() | date: 'dd/MM/yyyy' }} - {{ event.getEventEndDate() | date: 'dd/MM/yyyy' }}

\n
\n
\n

{{ event.eventType.code }}

\n
\n
\n

{{ event.eventName }}

\n
\n
\n

{{ event.eventPay | translate }}

\n
\n
\n
\n

等待參加

\n
\n
\n

進行中

\n
\n
\n

已完成

\n
\n
\n

已終止

\n
\n
\n

人數不足

\n
\n
\n

已修改

\n
\n

\n
\n
\n

檢視

\n

再次創建

\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n
\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { RequestListItem } from 'src/app/models/requests/request-list-item';\nimport { Service } from 'src/app/models/services/service';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-request-preview',\n templateUrl: './request-preview.component.html',\n styleUrls: ['./request-preview.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class RequestPreviewComponent implements OnInit {\n\n requests: RequestListItem[] = [];\n caches: RequestListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 5,\n searchInput: null,\n services: [],\n districts: [],\n subDistricts: [],\n from: null,\n to: null,\n statuses: [],\n isDeleted: null,\n isUrgent: null,\n idOrder: null,\n dateOrder: true\n }\n\n constructor(\n private requestService: RequestService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 5;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.requestService.getRequests(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.requests = value.list;\n this.count = value.count;\n this.pages = value.count != 0 ? Math.ceil(value.count / this.filters.itemsPerPage) : 0;\n this.requests.forEach(request => {\n if (this.caches.find(r => r.uuId == request.uuId))\n request.selected = true;\n });\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((statuses: string[], urgent: boolean) => {\n this.filters.statuses = statuses;\n this.filters.isUrgent = urgent;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/overview/request'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n deleteRequest(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestMessage(this.requestService.deleteRequests([uuId])));\n }\n\n deleteRequestList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestListMessage(this.requestService.deleteRequests(this.caches.map(r => r.uuId))));\n }\n\n cacheRequest(request: RequestListItem): void {\n if (request.selected)\n this.caches.push(request);\n else\n this.caches.splice(this.caches.findIndex(r => r.uuId == request.uuId), 1);\n }\n\n applyAgain(request: RequestListItem): void {\n this.requestService.getRequestByUUId(request.uuId)\n .subscribe(value => {\n this.requestService.form.formGroup.reset();\n this.requestService.form.volunteers = [];\n this.requestService.form.requester = value.requester.uuId;\n this.requestService.form.formGroup.controls['service'].setValue(value.service.uuId);\n this.requestService.form.formGroup.controls['start'].setValue(value.startTime);\n this.requestService.form.formGroup.controls['end'].setValue(value.endTime);\n this.requestService.form.formGroup.controls['venue'].setValue(value.venue.room.uuId);\n this.requestService.form.formGroup.controls['destination'].setValue(value.destination.room.uuId);\n this.requestService.form.formGroup.controls['numberOfVolunteer'].setValue(value.numberOfVolunteer);\n this.requestService.form.formGroup.controls['remark'].setValue(value.remark);\n this.requestService.form.formGroup.controls['transportation'].setValue(value.transportation ? value.transportation.uuId : null);\n this.router.navigate(['/main/activity/create/request']);\n });\n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.requests.forEach(r => {\n r.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == r.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.requests.filter(request => request.selected == false));\n this.requests.forEach(r => r.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.requests.every(request => request.selected == true);\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.statuses.map((s: string) => \"&statuses=\" + s).join(\"\"))\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.isUrgent ? \"&isUrgent=\" + String(this.filters.isUrgent) : \"\");\n }\n}\n","\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

申請人

\n
\n
\n

電話

\n
\n
\n

服務類型

\n
\n
\n

服務日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

狀態

\n
\n
\n

時分

\n
\n
\n

義工

\n
\n
\n

操作

\n
\n
\n
\n
\n \n
\n
\n

{{ request.id }}

\n
\n
\n

{{ request.requester.chineseName }}

\n
\n
\n
\n

{{ request.requester.phone }}

\n \n
\n

\n
\n
\n

{{ request.service.name }}

\n
\n
\n

{{ request.startTime | date: 'dd-MM-yyyy' }}

\n
\n
\n
\n

等候配對

\n
\n
\n

未開始

\n
\n
\n

進行中

\n
\n
\n

已完結

\n
\n
\n

已終止

\n
\n
\n

配對超時

\n
\n
\n

超時開始

\n
\n
\n

超時結束

\n
\n

\n
\n
\n

-

\n

{{ request.actualDuration | number:'1.0-2' }}

\n
\n
\n

0\" style=\"flex-basis: 1rem;\">{{ request.JoinedVolunteers[0].chineseName }}

\n

1\">...+{{ request.JoinedVolunteers.length - 1}}

\n

\n
\n
\n

檢視

\n

移除

\n more_horiz\n
\n

重新邀請

\n

再次申請

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n
\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverviewPageComponent } from './pages/overview-page/overview-page.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AnalyticsModule } from '../analytics/analytics.module';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { UrgentRequestPageComponent } from './pages/urgent-request-page/urgent-request-page.component';\nimport { RequestPreviewComponent } from './components/request-preview/request-preview.component';\nimport { EventPreviewComponent } from './components/event-preview/event-preview.component';\nimport { ShareModule } from '../share/share.module';\n\nconst routes: Routes = [\n { path: 'urgent', component: UrgentRequestPageComponent },\n {\n path: '', component: OverviewPageComponent, children: [\n { path: 'request', component: RequestPreviewComponent, data: { animationState: 'request' } },\n { path: 'event', component: EventPreviewComponent, data: { animationState: 'event' } },\n { path: '', redirectTo: 'request', pathMatch: 'full' },\n { path: '**', redirectTo: 'request' }\n ],\n },\n { path: '**', redirectTo: 'console' }\n]\n\n@NgModule({\n declarations: [\n OverviewPageComponent,\n UrgentRequestPageComponent,\n RequestPreviewComponent,\n EventPreviewComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule.forChild(),\n RouterModule.forChild(routes),\n AnalyticsModule,\n MatBadgeModule,\n ShareModule\n ]\n})\nexport class OverviewModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-overview-page',\n templateUrl: './overview-page.component.html',\n styleUrls: ['./overview-page.component.scss'],\n animations: [PortalAnimation.ActivityPageSlide]\n})\nexport class OverviewPageComponent implements OnInit {\n\n form: FormControl = new FormControl(null);\n numberOfUrgentRequests: number = 0;\n\n tab: string = \"request\";\n\n constructor(\n private requestService: RequestService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.router.events.subscribe(() => {\n if (this.router.url == \"/main/overview/event\") {\n this.tab = \"event\";\n }\n else {\n this.tab = \"request\";\n }\n });\n\n this.getUrgentRequests();\n }\n\n private getUrgentRequests(): void {\n this.requestService.getRequests(\"?start=0&limit=10000&isUrgent=true\")\n .subscribe(value => this.numberOfUrgentRequests = value.count);\n }\n\n prepareRoute(outlet: RouterOutlet) {\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animationState'];\n }\n}\n","
\n
\n

概覽

\n
\n\n

概覽

\n\n\n
\n \n\n \n\n \n\n \n
\n\n
\n
\n

義工服務

\n

中心活動

\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { RequestListItem } from 'src/app/models/requests/request-list-item';\nimport { Service } from 'src/app/models/services/service';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-urgent-request-page',\n templateUrl: './urgent-request-page.component.html',\n styleUrls: ['./urgent-request-page.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class UrgentRequestPageComponent implements OnInit {\n\n requests: RequestListItem[] = [];\n caches: RequestListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n services: [],\n districts: [],\n subDistricts: [],\n from: null,\n to: null,\n statuses: [],\n isDeleted: null,\n isUrgent: null,\n idOrder: null,\n dateOrder: true\n }\n\n constructor(\n private requestService: RequestService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.requestService.getRequests(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.requests = value.list;\n this.count = value.count;\n this.pages = value.count != 0 ? Math.ceil(value.count / this.filters.itemsPerPage) : 0;\n this.requests.forEach(request => {\n if (this.caches.find(r => r.uuId == request.uuId))\n request.selected = true;\n });\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((statuses: string[], urgent: boolean) => {\n this.filters.statuses = statuses;\n this.filters.isUrgent = urgent;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/activity/overview/request'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n deleteRequest(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestMessage(this.requestService.deleteRequests([uuId])));\n }\n\n deleteRequestList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestListMessage(this.requestService.deleteRequests(this.caches.map(r => r.uuId))));\n }\n\n cacheRequest(request: RequestListItem): void {\n if (request.selected)\n this.caches.push(request);\n else\n this.caches.splice(this.caches.findIndex(r => r.uuId == request.uuId), 1);\n }\n\n applyAgain(request: RequestListItem): void {\n this.requestService.getRequestByUUId(request.uuId)\n .subscribe(value => {\n this.requestService.form.formGroup.reset();\n this.requestService.form.volunteers = [];\n this.requestService.form.requester = value.requester.uuId;\n this.requestService.form.formGroup.controls['service'].setValue(value.service.uuId);\n this.requestService.form.formGroup.controls['start'].setValue(value.startTime);\n this.requestService.form.formGroup.controls['end'].setValue(value.endTime);\n this.requestService.form.formGroup.controls['venue'].setValue(value.venue.room.uuId);\n this.requestService.form.formGroup.controls['destination'].setValue(value.destination.room.uuId);\n this.requestService.form.formGroup.controls['numberOfVolunteer'].setValue(value.numberOfVolunteer);\n this.requestService.form.formGroup.controls['remark'].setValue(value.remark);\n this.requestService.form.formGroup.controls['transportation'].setValue(value.transportation ? value.transportation.uuId : null);\n this.router.navigate(['/main/activity/create/request']);\n });\n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.requests.forEach(r => {\n r.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == r.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.requests.filter(request => request.selected == false));\n this.requests.forEach(r => r.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.requests.every(request => request.selected == true);\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.statuses.map((s: string) => \"&statuses=\" + s).join(\"\"))\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + \"&isUrgent=true\";\n }\n}\n","
\n
\n

概覽

\n

/

\n

緊急事項

\n
\n\n

緊急事項

\n\n
\n
\n\n
\n \n\n \n\n \n\n \n\n \n
\n\n
\n \n \n \n \n
\n\n \n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

申請人

\n
\n
\n

電話

\n
\n
\n

服務類型

\n
\n
\n

服務日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

狀態

\n
\n
\n

時分

\n
\n
\n

義工

\n
\n
\n

操作

\n
\n
\n
\n
\n \n
\n
\n

{{ request.id }}

\n
\n
\n

{{ request.requester.chineseName }}

\n
\n
\n
\n

{{ request.requester.phone }}

\n \n
\n

\n
\n
\n

{{ request.service.name }}

\n
\n
\n

{{ request.startTime | date: 'dd-MM-yyyy' }}

\n
\n
\n
\n

等候配對

\n
\n
\n

未開始

\n
\n
\n

進行中

\n
\n
\n

已完結

\n
\n
\n

已終止

\n
\n
\n

配對超時

\n
\n
\n

超時開始

\n
\n
\n

超時結束

\n
\n

\n
\n
\n

-

\n

{{ request.actualDuration | number:'1.0-2' }}

\n
\n
\n

0\" style=\"flex-basis: 1rem;\">{{ request.JoinedVolunteers[0].chineseName }}

\n

1\">...+{{ request.JoinedVolunteers.length - 1}}

\n

\n
\n
\n

檢視

\n

移除

\n more_horiz\n
\n

重新邀請

\n

再次申請

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
\n
\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { forkJoin } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { Product } from 'src/app/models/redeems/product';\nimport { Redeem } from 'src/app/models/redeems/redeem';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\n\n@Component({\n selector: 'app-product-management-pending',\n templateUrl: './product-management-pending.component.html',\n styleUrls: ['./product-management-pending.component.scss']\n})\nexport class ProductManagementPendingComponent implements OnInit {\n\n @Output() refresh = new EventEmitter();\n @Input() product!: Product;\n @Input() redeems: Redeem[] = [];\n\n filters: any = {\n itemsPerPage: 10,\n page: 1,\n searchInput: null,\n centers: []\n }\n\n constructor(\n private redeemService: RedeemService,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n }\n\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n }).bind(this);\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n }).bind(this);\n\n approve(): void {\n var users = this.redeems.filter(redeem => redeem.selected);\n if (users.some(user => user.quantityInput.invalid)) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n if (users.length == 0) {\n return;\n }\n\n this.loadingService.startLoading();\n forkJoin(users.map(user => this.redeemService.approve(user.uuId, user.quantityInput.value)))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.ApproveRedeemSuccessMessage)\n this.refresh.emit();\n },\n error: error => {\n this.popupMessageService.messageSignal.emit(PopupMessages.ApproveRedeemFailMessage)\n }\n })\n }\n\n\n selectPage(): void {\n if (this.isPageSelectedAll)\n this.displayedRedeems.filter(redeem => redeem.hasEnoughBalance).forEach(redeem => redeem.selected = false)\n else\n this.displayedRedeems.filter(redeem => redeem.hasEnoughBalance).forEach(redeem => redeem.selected = true)\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.redeems.filter(redeem => redeem.hasEnoughBalance).forEach(redeem => redeem.selected = false)\n else\n this.redeems.filter(redeem => redeem.hasEnoughBalance).forEach(redeem => redeem.selected = true)\n }\n\n edit(redeem: Redeem): void {\n if (redeem.quantityInput.invalid) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n var sum = this.product.price * redeem.quantityInput.value;\n\n if (sum > redeem.timeBalance) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n redeem.price = sum\n redeem.quantity = redeem.quantityInput.value;\n redeem.editing = false;\n }\n cancelRedeem(redeem: Redeem): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.refresh.emit();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.CancelRedeemMessage(this.redeemService.cancel(redeem.uuId)))\n }\n\n get displayedRedeems(): Redeem[] {\n return this.redeems.filter(redeem=>redeem.redeemState==\"Pending\")\n .filter(redeem => (this.filters.searchInput == null || redeem.chineseName.includes(this.filters.searchInput) || redeem.memberId.includes(this.filters.searchInput))\n && (this.filters.centers.length == 0 || (this.filters.centers as Center[]).map(c => c.centerCode).includes(redeem.centerCode)))\n .slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get isPageSelectedAll(): boolean {\n return this.displayedRedeems.every(redeem => redeem.selected);\n }\n\n get isSelectedAll(): boolean {\n return this.redeems.filter(redeem=>redeem.redeemState==\"Pending\").every(redeem => redeem.selected);\n }\n\n get numberOfSelectedUsers(): number {\n return this.redeems.filter(redeem => redeem.selected).length;\n }\n\n get candidates(): Redeem[] {\n return this.redeems.filter(redeem => redeem.hasEnoughBalance);\n }\n\n random(): void {\n let users = [...this.candidates];\n\n users.forEach(candidate => {\n candidate.quantityInput.setValue(0);\n candidate.selected = false;\n });\n\n if (users.length == 0)\n return;\n\n let i = 0;\n while (i < this.product.stock || this.product.stock == -1) {\n var user = users[this.getRandomInt(users.length)];\n\n user.quantityInput.setValue(user.quantityInput.value + 1);\n user.selected = true;\n\n if (user.quantityInput.value >= user.quantity || (this.product.maximumQuantityPerPerson != -1 && user.quantityInput.value >= this.product.maximumQuantityPerPerson) || (user.quantityInput.value + 1) * this.product.price > user.timeBalance) {\n users.splice(users.findIndex(u => u.uuId == user.uuId), 1);\n }\n\n if (users.length == 0) {\n break;\n }\n\n i++;\n }\n\n this.candidates.forEach(user => user.quantity = user.quantityInput.value);\n }\n\n private getRandomInt(max: number): number {\n return Math.floor(Math.random() * max);\n }\n\n get numberOfRedeemUsers(): number {\n return [... new Set(this.redeems.map(redeem => redeem.userUUId))].length;\n }\n\n get pages(): number {\n return Math.ceil(this.redeems.length / this.filters.itemsPerPage);\n }\n}\n","
\n\n
\n \n\n \n\n
\n\n \n
\n\n \n\n
\n
\n
\n \n
\n\n
\n

會員編號

\n
\n\n
\n

中文姓名

\n
\n\n
\n

中心代碼

\n
\n\n
\n

性別

\n
\n\n
\n

年齡

\n
\n\n
\n

電話

\n
\n\n
\n

時分餘額

\n
\n\n
\n

數量

\n
\n\n
\n

交易時分

\n
\n\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n\n
\n

{{ redeem.memberId }}

\n
\n\n
\n

{{ redeem.chineseName }}

\n
\n\n
\n

{{ redeem.centerCode }}

\n
\n\n
\n

\n

\n
\n\n
\n

{{ redeem.age }}

\n
\n\n
\n

{{ redeem.phone }}

\n
\n\n
\n

{{ redeem.timeBalance | number }}

\n
\n\n
\n

{{ redeem.quantity }}

\n \n
\n\n
\n

{{ redeem.price }}

\n
\n\n
\n

修改

\n

確認

\n

詳情

\n

取消

\n
\n
\n\n\n
\n
\n

暫無會員申請換領

\n
\n
\n
\n\n \n\n
\n \n

確認後,所選的會員會收到換領成功的通知,

\n

更新至“已兌換”類別中,並扣除相應時分

\n
\n
\n\n\n\n\n
\n

已選擇

\n

{{ numberOfSelectedUsers }}

\n

位會員,

\n \n

庫存

\n

{{ product.stock }}

\n

\n
\n

庫存充足

\n

{{ '位會員申請換領,尚未扣除時分' | translate: {value: numberOfRedeemUsers} }}

\n \n\n
\n\n
\n \n
\n\n\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { forkJoin } from 'rxjs';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { Product } from 'src/app/models/redeems/product';\nimport { Redeem } from 'src/app/models/redeems/redeem';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\n\n@Component({\n selector: 'app-product-management-redeem',\n templateUrl: './product-management-redeem.component.html',\n styleUrls: ['./product-management-redeem.component.scss']\n})\nexport class ProductManagementRedeemComponent implements OnInit {\n\n @Output() refresh = new EventEmitter();\n @Input() product!: Product;\n @Input() redeems: Redeem[] = [];\n\n filters: any = {\n itemsPerPage: 10,\n page: 1,\n searchInput: null,\n centers: []\n }\n\n constructor(\n private popupMessageService: PopupMessageService,\n private loadingService: LoadingService,\n private redeemService: RedeemService,\n private exportService: ExportService\n ) { }\n\n ngOnInit(): void {\n }\n\n cancelRedeem(redeem: Redeem): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.refresh.emit();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.CancelRedeemMessage(this.redeemService.cancel(redeem.uuId)))\n }\n\n updateRedeem(redeem: Redeem): void {\n if (redeem.quantityInput.invalid) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n this.loadingService.startLoading();\n this.redeemService.update(redeem.uuId, redeem.quantityInput.value)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.UpdateRedeemSuccessMessage);\n redeem.editing = false;\n redeem.quantity = redeem.quantityInput.value;\n var sum = this.product.price * redeem.quantityInput.value;\n redeem.price=sum;\n },\n error: error => {\n this.popupMessageService.messageSignal.emit(PopupMessages.UpdateRedeemFailMessage);\n }\n })\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n }).bind(this);\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n }).bind(this);\n\n\n selectPage(): void {\n if (this.isPageSelectedAll)\n this.displayedRedeems.forEach(redeem => redeem.selected = false)\n else\n this.displayedRedeems.forEach(redeem => redeem.selected = true)\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.redeems.filter(redeem=>(redeem.redeemState==\"Redeemed\"||redeem.redeemState==\"Delivered\")).forEach(redeem => redeem.selected = false )\n else\n this.redeems.filter(redeem=>(redeem.redeemState==\"Redeemed\"||redeem.redeemState==\"Delivered\")).forEach(redeem => redeem.selected = true)\n }\n\n exportProduct(): void {\n this.exportService.exportRedeems(this.product,this.redeems.filter(redeem=>(redeem.selected)) );\n }\n\n deliveredProduct():void {\n\n var redeems=this.redeems.filter(redeem=>(redeem.selected));\n if (redeems.length == 0) {\n return;\n }\n\n this.loadingService.startLoading();\n forkJoin(redeems.map(redeem => this.redeemService.deliveredRedeem(redeem.uuId)))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.ApproveRedeemSuccessMessage)\n this.refresh.emit();\n },\n error: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.ApproveRedeemFailMessage)\n }\n })\n }\n\n get displayedRedeems(): Redeem[] {\n return this.redeems\n .filter(redeem => (this.filters.searchInput == null || redeem.chineseName.includes(this.filters.searchInput) || redeem.memberId.includes(this.filters.searchInput))\n && (this.filters.centers.length == 0 || (this.filters.centers as Center[]).map(c => c.centerCode).includes(redeem.centerCode)))\n .slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get isPageSelectedAll(): boolean {\n return this.displayedRedeems.every(redeem => redeem.selected);\n }\n\n get isSelectedAll(): boolean {\n return this.redeems.filter(redeem=> redeem.redeemState==\"Redeemed\"||redeem.redeemState==\"Delivered\").every(redeem => redeem.selected);\n }\n\n get numberOfSelectedUsers(): number {\n return this.redeems.filter(redeem => redeem.selected).length;\n }\n\n get numberOfRedeemUsers(): number {\n return [... new Set(this.redeems.map(redeem => redeem.userUUId))].length;\n }\n\n get pages(): number {\n return Math.ceil(this.redeems.length / this.filters.itemsPerPage);\n }\n}\n","
\n\n
\n \n\n \n\n
\n\n
\n add_circle\n

新增用戶

\n
\n
\n\n \n\n
\n
\n
\n \n
\n\n
\n

會員編號

\n
\n\n
\n

中文姓名

\n
\n\n
\n

中心代碼

\n
\n\n
\n

性別

\n
\n\n
\n

年齡

\n
\n\n
\n

電話

\n
\n\n \n
\n

狀態

\n
\n\n
\n

數量

\n
\n\n
\n

交易時分

\n
\n\n
\n

操作

\n
\n
\n
\n
\n \n
\n\n
\n

{{ redeem.memberId }}

\n
\n\n
\n

{{ redeem.chineseName }}

\n
\n\n
\n

{{ redeem.centerCode }}

\n
\n\n
\n

\n

\n
\n\n
\n

{{ redeem.age }}

\n
\n\n
\n

{{ redeem.phone }}

\n
\n\n
\n \n
{{redeem.redeemState}}
\n
\n\n
\n

{{ redeem.quantity }}

\n \n
\n\n
\n

{{ redeem.price }}

\n
\n\n
\n

修改

\n

確認

\n

詳情

\n

取消

\n
\n
\n\n
\n
\n

暫無成功換領該獎勵的會員

\n
\n
\n
\n \n\n\n
\n
\n \n \n
\n

可匯出已兌換的全部會員列表,

\n

如勾選會員後點擊,可匯出所選會員列表

\n
\n
\n\n\n\n\n\n
\n

已選擇

\n

{{ numberOfSelectedUsers }}

\n

位會員,

\n \n

庫存

\n

{{ product.stock }}

\n

\n
\n

庫存充足

\n

{{ '位會員已換取該獎勵項目並扣除相應時分' | translate: {value: numberOfRedeemUsers} }}

\n \n\n
\n\n
\n \n
\n\n\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { RedeemQuestion } from 'src/app/models/redeem-questions/redeem-question';\nimport { Product } from 'src/app/models/redeems/product';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\n\n@Component({\n selector: 'app-redeem-grant-popup',\n templateUrl: './redeem-grant-popup.component.html',\n styleUrls: ['./redeem-grant-popup.component.scss']\n})\nexport class RedeemGrantPopupComponent implements OnInit {\n\n @Input() user: Profile | null = null;\n @Input() product: Product | null = null;\n @Output() refresh: EventEmitter = new EventEmitter();\n\n quantity: FormControl = new FormControl(null, [Validators.required, Validators.min(1)]);\n questions: RedeemQuestion[] = [];\n\n constructor(\n private redeemService: RedeemService,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.redeemService.getQuestions()\n .subscribe({\n next: value => this.questions = value\n })\n }\n\n close(): void {\n this.redeemService.user = null;\n this.user = null;\n }\n\n submit(): void {\n if (this.quantity.invalid) {\n this.quantity.markAllAsTouched();\n return;\n }\n\n if (this.product?.isAnswerQuestionRequired == true && this.questions.some(question => question.options.every(option => option.selected == false))) {\n this.popupMessageService.messageSignal.emit(PopupMessages.MissingRedeemReasonMessage)\n return;\n }\n\n if ((this.product as Product).maximumQuantityPerPerson!=-1&&this.product?.stock!=-1&&this.quantity.value > (this.product as Product).maximumQuantityPerPerson) {\n this.popupMessageService.messageSignal.emit(PopupMessages.ExceedRedeemLimitMessage)\n return;\n }\n\n this.loadingService.startLoading();\n this.redeemService.grant(this.product?.uuId as string, this.user?.uuId as string, this.quantity.value, JSON.stringify(this.questions.map(question => question.toJsonFormat())))\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.GrantRedeemSuccessMessage);\n this.redeemService.user = null;\n this.user = null;\n this.refresh.emit();\n },\n error: () => {\n this.popupMessageService.messageSignal.emit(PopupMessages.GrantRedeemFailMessage);\n this.redeemService.user = null;\n this.user = null;\n }\n })\n }\n}\n","
\n
\n\n
\n

已選擇該會員,請先完善換領資料

\n
\n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

用戶餘額

\n
\n
\n

換領數量

\n
\n
\n

交易時分

\n
\n
\n
\n
\n

{{ user.memberId}}

\n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.center.centerCode }}

\n
\n
\n

{{ user.phone }}

\n
\n
\n

{{ user.timeBalance | number }}

\n
\n
\n \n
\n
\n

{{ product.price }}

\n
\n
\n
\n\n
\n \n \n \n
\n

{{ '(單選)' | translate: { value_1: index, value_2: question.question} }}

\n
\n \n
\n
\n
\n \n
\n

{{ '(多選,資料僅供研究用途)' | translate: { value_1: index, value_2: question.question} }}

\n
\n \n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n
\n
","
\n
\n
\n

上傳宣傳圖片

\n close\n
\n\n
\n
\n add\n

Upload

\n
\n \n
\n
\n\n

點擊或將文件拖拽到這裡上傳

\n
\n

-限一張圖片

\n

-支持擴展名:.JPG .PNG .GIF

\n

-將大小限制在 2MB 以下。

\n

-建議使用 16:9 的長寬比

\n
\n\n
\n attachment\n
\n
\n

{{ file.name }}

\n
\n close\n
\n
\n
\n
\n
\n
\n\n\n
\n \n \n
\n
\n \n
","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-redeem-image-popup',\n templateUrl: './redeem-image-popup.component.html',\n styleUrls: ['./redeem-image-popup.component.scss']\n})\nexport class RedeemImagePopupComponent implements OnInit {\n\n @ViewChild('image') image!: ElementRef\n @Input() action: (image: Blob) => void = () => { }\n\n display: boolean = false;\n file: Blob | null = null;\n uploadFile: Blob | null = null;\n\n constructor(\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n }\n\n onImageUpload(files: FileList) {\n\n Array.from(files).forEach(file => {\n if (file.type != \"image/png\" && file.type != \"image/jpeg\" && file.type != \"image/gif\") {\n return;\n }\n\n if (file.size > 2097152) {\n return;\n }\n\n this.file = file;\n this.uploadFile = file;\n (this.image.nativeElement as HTMLImageElement).src = URL.createObjectURL(this.file);\n });\n }\n\n delete(): void {\n this.file = null;\n this.uploadFile = null;\n }\n\n open(image?: Blob): void {\n this.display = true;\n if (image != null) {\n this.file = image;\n setTimeout(() => (this.image.nativeElement as HTMLImageElement).src = URL.createObjectURL(this.file));\n }\n }\n\n close() {\n this.action(this.file as Blob);\n this.display = false;\n }\n}\n","
\n
\n
\n

換領詳情

\n

{{ '換領編碼:' | translate: {value: redeem.redeemCode} }}

\n
\n
\n
\n
申請兌換時間:
\n
等候處理中
\n
{{ redeem.redeemDate | date: 'yyyy-MM-dd HH:mm:ss'}}
\n
\n
\n
領取時間:
\n
兌換中
\n
{{ redeem.deliveredDate | date: 'yyyy-MM-dd HH:mm:ss'}}
\n
\n
\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

用戶餘額

\n
\n
\n

換領數量

\n
\n
\n

交易時分

\n
\n
\n
\n
\n

{{ redeem.memberId}}

\n
\n
\n

{{ redeem.chineseName }}

\n
\n
\n

{{ redeem.centerCode }}

\n
\n
\n

{{ redeem.phone }}

\n
\n
\n

{{ redeem.timeBalance | number }}

\n
\n
\n

{{ redeem.quantity }}

\n
\n
\n

{{ redeem.price }}

\n
\n
\n
\n\n
\n \n
\n

{{ index }}. {{ reason.question }}

\n
\n \n \n \n \n \n \n
\n
\n
\n
\n\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Redeem } from 'src/app/models/redeems/redeem';\n\n@Component({\n selector: 'app-redeem-popup',\n templateUrl: './redeem-popup.component.html',\n styleUrls: ['./redeem-popup.component.scss']\n})\nexport class RedeemPopupComponent implements OnInit {\n\n redeem: Redeem | null = null;\n display: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n open(redeem: Redeem): void {\n this.redeem = redeem;\n this.display = true;\n }\n\n close(): void {\n this.display = false;\n this.redeem = null;\n }\n public isMultiChoices(ans: any): boolean {\n return typeof (ans) != \"string\";\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup, FormArray, FormControl, Validators, AbstractControl } from '@angular/forms';\n\n@Component({\n selector: 'app-redeem-question',\n templateUrl: './redeem-question.component.html',\n styleUrls: ['./redeem-question.component.scss']\n})\nexport class RedeemQuestionComponent implements OnInit {\n\n @Input() question: FormGroup = new FormGroup({});\n @Input() index: number = 0;\n @Input() delete: (index: number) => void = () => { };\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n addOption(): void {\n (this.question.controls['options'] as FormArray)\n .push(new FormControl(null, [Validators.required]));\n }\n\n removeOption(index: number): void {\n (this.question.controls['options'] as FormArray)\n .removeAt(index);\n\n this.question.markAsDirty();\n }\n\n get questionInput(): AbstractControl {\n return this.question.controls['question'];\n }\n\n get setting(): AbstractControl {\n return this.question.controls['setting'];\n }\n\n get options(): FormArray {\n return this.question?.controls['options'] as FormArray;\n }\n\n duplicateCheck(control: FormControl, index: number): void {\n if (((this.question.controls['options'] as FormArray).value as string[]).indexOf(control.value) < index) {\n control.setErrors({ 'duplicated': true })\n }\n }\n}\n","
\n
\n

{{ '問題' | translate: {value: index + 1} }}

\n \n\n
\n

請輸入問題描述?

\n
\n\n
0\" (click)=\"delete(index)\">\n delete\n

移除

\n
\n
\n\n
\n

問題設置

\n \n \n\n
\n

請輸入問題描述?

\n
\n
\n\n
\n

{{ '選項' | translate: {value: i+1} }}

\n \n\n 1\">remove_circle\n\n
\n

請輸入選項文字描述

\n

選項描述不可重複

\n
\n
\n\n
\n add_circle\n

增加選項(最多可設置5個選項)

\n
\n
","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { Center } from \"src/app/models/centers/center\";\nimport { CreateProductModel } from \"src/app/models/redeems/create-product-model\";\nimport { ProductListItem } from \"src/app/models/redeems/product-list-item\";\n\nexport class CreateProductForm {\n formGroup: FormGroup = new FormGroup({\n title: new FormControl(null, [Validators.required]),\n source: new FormControl(null, [Validators.required]),\n format: new FormControl(null, [Validators.required]),\n target: new FormControl(null, [Validators.required]),\n targetAll: new FormControl(false),\n price: new FormControl(null, [Validators.required, Validators.min(0)]),\n stock: new FormControl(null, [Validators.required, Validators.min(-1)]),\n adequateStock: new FormControl(false),\n limit: new FormControl(null, [Validators.required, Validators.min(-1)]),\n noLimit: new FormControl(false),\n closeDate: new FormControl(null, [Validators.required]),\n description: new FormControl(null, [Validators.required]),\n launchDate: new FormControl(null, [Validators.required]),\n launchImmediately: new FormControl(false),\n questionSetting: new FormControl(null, [Validators.required]),\n free: new FormControl(false)\n });\n centers: Center[] = [];\n image: Blob | null = null\n imagePath:string|null=null;\n constructor() {\n (this.formGroup.controls['targetAll'] as FormControl)\n .valueChanges.subscribe(value => {\n\n var control = this.formGroup.controls['target'];\n\n if (value == true) {\n control.disable();\n control.setValue(\"所有會員\")\n }\n else {\n control.enable();\n control.setValue(null);\n }\n\n });\n\n (this.formGroup.controls['adequateStock'] as FormControl)\n .valueChanges.subscribe(value => {\n\n var control = this.formGroup.controls['stock'];\n\n if (value == true) {\n control.disable();\n control.setValue(-1)\n }\n else {\n control.enable();\n control.setValue(null);\n }\n\n });\n\n (this.formGroup.controls['noLimit'] as FormControl)\n .valueChanges.subscribe(value => {\n\n var control = this.formGroup.controls['limit'];\n\n if (value == true) {\n control.disable();\n control.setValue(-1)\n }\n else {\n control.enable();\n control.setValue(null);\n }\n\n });\n\n (this.formGroup.controls['launchImmediately'] as FormControl)\n .valueChanges.subscribe(value => {\n\n let date = this.formGroup.controls['launchDate'];\n\n if (value == true) {\n date.disable();\n date.setValue(null)\n }\n else {\n date.enable();\n date.setValue(null);\n }\n });\n\n (this.formGroup.controls['free'] as FormControl)\n .valueChanges.subscribe(value => {\n var control = this.formGroup.controls['price'];\n\n if (value == true) {\n control.disable();\n control.setValue(0)\n }\n else {\n control.enable();\n control.setValue(null);\n }\n });\n\n (this.formGroup.controls['closeDate'] as FormControl)\n .valueChanges.subscribe(value => {\n if (this.formGroup.controls['launchDate'].valid && this.formGroup.controls['closeDate'].valid) {\n if (this.formGroup.controls['launchImmediately'].value == false && (this.formGroup.controls['launchDate'].value as Date) > (this.formGroup.controls['closeDate'].value as Date)) {\n this.formGroup.controls['closeDate'].setErrors({ invalid: \"invalid\" });\n }\n }\n });\n\n (this.formGroup.controls['launchDate'] as FormControl)\n .valueChanges.subscribe(value => {\n if (this.formGroup.controls['launchDate'].valid && this.formGroup.controls['closeDate'].valid) {\n if (this.formGroup.controls['launchImmediately'].value == false && (this.formGroup.controls['launchDate'].value as Date) > (this.formGroup.controls['closeDate'].value as Date)) {\n this.formGroup.controls['closeDate'].setErrors({ invalid: \"invalid\" });\n }\n }\n });\n }\n\n isValid(): boolean {\n return this.formGroup.valid;\n }\n\n getFormData(): FormData {\n let date = new Date();\n date = new Date(date.getTime() + 180000);\n\n let model: CreateProductModel = {\n ProductName: this.formGroup.controls['title'].value,\n Description: this.formGroup.controls['description'].value,\n Price: this.formGroup.controls['price'].value,\n Stock: this.formGroup.controls['stock'].value,\n MaximumQuantityPerPerson: this.formGroup.controls['limit'].value,\n LaunchDate: this.formGroup.controls['launchImmediately'].value == true ? date.toJSON() : (this.formGroup.controls['launchDate'].value as Date).toJSON(),\n CloseDate: (this.formGroup.controls['closeDate'].value as Date).toJSON(),\n Brand: this.formGroup.controls['source'].value,\n Target: this.formGroup.controls['target'].value,\n Format: this.formGroup.controls['format'].value,\n Image: this.image,\n CenterList: this.centers.map(center => center.uuId),\n IsAnswerQuestionRequired: this.formGroup.controls['questionSetting'].value\n }\n\n let data = new FormData();\n Object.keys(model).forEach(key => {\n if (key == \"CenterList\") {\n if ((model[key] as string[]).length > 0)\n (model[key] as string[]).forEach(value => data.append(key, value));\n return;\n }\n if(key==\"Image\"&&( this.image as any)?.name==undefined){\n if(model[\"Image\"]!=null)\n data.append(key, model[\"Image\"],this.formGroup.controls['title'].value+(model[\"Image\"].type==\"image/jpg\"?\".jpg\":\".png\"));\n }else\n data.append(key, model[key]);\n })\n\n return data;\n }\n\n apply(product: ProductListItem): void {\n this.formGroup.reset();\n this.centers = [];\n\n this.formGroup.controls['title'].setValue(product.productName);\n this.formGroup.controls['format'].setValue(product.format == \"FirstComeFirstServed\" ? \"1\" : \"0\");\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { Center } from \"../../../models/centers/center\";\nimport { Product } from \"../../../models/redeems/product\"\nimport { UpdateProductModel } from \"../../../models/redeems/update-product-model\"\n\nexport class UpdateProductForm {\n uuId: string;\n formGroup: FormGroup\n centers: Center[] = [];\n image!: Blob;\n\n constructor(product: Product) {\n this.uuId = product.uuId;\n this.formGroup = new FormGroup({\n productName: new FormControl(product.productName, [Validators.required]),\n brand: new FormControl(product.brand, [Validators.required]),\n imagePath: new FormControl(product.imagePath),\n format: new FormControl(product.format == \"StaffOpting\" ? \"0\" : \"1\", [Validators.required]),\n price: new FormControl(product.price, [Validators.required, Validators.min(0)]),\n stock: new FormControl(product.stock, [Validators.required, Validators.min(-1)]),\n limit: new FormControl(product.maximumQuantityPerPerson, [Validators.required, Validators.min(-1)]),\n description: new FormControl(product.description, [Validators.required]),\n closeDate: new FormControl(product.closeDate, [Validators.required]),\n launchDate: new FormControl(product.launchDate, [Validators.required]),\n isAnswerQuestionRequired: new FormControl(product.isAnswerQuestionRequired, [Validators.required]),\n target: new FormControl(product.target),\n free: new FormControl(product.price == 0 ? true : false),\n adequateStock: new FormControl(product.stock == -1 ? true : false),\n noLimit: new FormControl(product.maximumQuantityPerPerson == -1 ? true : false),\n launchImmediately: new FormControl(false),\n targetAll: new FormControl(false),\n });\n\n if (product.stock == -1) {\n this.formGroup.controls['stock'].disable();\n }\n\n if (product.maximumQuantityPerPerson == -1) {\n this.formGroup.controls['limit'].disable();\n }\n\n if (product.price == 0) {\n this.formGroup.controls['price'].disable();\n }\n\n this.centers = product.centers;\n\n (this.formGroup.controls['targetAll'] as FormControl)\n .valueChanges.subscribe(value => {\n\n var control = this.formGroup.controls['target'];\n\n if (value == true) {\n control.disable();\n control.setValue(\"所有會員\")\n }\n else {\n control.enable();\n control.setValue(null);\n }\n\n });\n\n (this.formGroup.controls['launchImmediately'] as FormControl)\n .valueChanges.subscribe(value => {\n\n let date = this.formGroup.controls['launchDate'];\n\n if (value == true) {\n date.disable();\n date.setValue(null)\n }\n else {\n date.enable();\n date.setValue(null);\n }\n\n });\n\n (this.formGroup.controls['adequateStock'] as FormControl)\n .valueChanges.subscribe(value => {\n\n var control = this.formGroup.controls['stock'];\n\n if (value == true) {\n control.disable();\n control.setValue(-1)\n }\n else {\n control.enable();\n control.setValue(null);\n }\n\n });\n\n\n (this.formGroup.controls['noLimit'] as FormControl)\n .valueChanges.subscribe(value => {\n\n var control = this.formGroup.controls['limit'];\n\n if (value == true) {\n control.disable();\n control.setValue(-1)\n }\n else {\n control.enable();\n control.setValue(null);\n }\n\n });\n\n (this.formGroup.controls['free'] as FormControl)\n .valueChanges.subscribe(value => {\n var control = this.formGroup.controls['price'];\n\n if (value == true) {\n control.disable();\n control.setValue(0)\n }\n else {\n control.enable();\n control.setValue(null);\n }\n })\n }\n\n getFormData(): FormData {\n let date = new Date();\n date = new Date(date.getTime() + 180000);\n\n let model: UpdateProductModel = {\n ProductUUId: this.uuId,\n ProductName: this.formGroup.controls['productName'].value,\n Description: this.formGroup.controls['description'].value,\n Price: this.formGroup.controls['price'].value,\n Stock: this.formGroup.controls['stock'].value,\n MaximumQuantityPerPerson: this.formGroup.controls['limit'].value,\n LaunchDate: this.formGroup.controls['launchImmediately'].value == true ? date.toJSON() : (this.formGroup.controls['launchDate'].value as Date).toJSON(),\n CloseDate: (this.formGroup.controls['closeDate'].value as Date).toJSON(),\n Brand: this.formGroup.controls['brand'].value,\n Target: this.formGroup.controls['target'].value,\n Format: this.formGroup.controls['format'].value,\n Image: this.image,\n ImagePath: this.formGroup.controls['imagePath'].value,\n CenterList: this.centers.map(center => center.uuId),\n IsAnswerQuestionRequired: this.formGroup.controls['isAnswerQuestionRequired'].value\n }\n\n let data = new FormData();\n Object.keys(model).forEach(key => {\n if (key == \"CenterList\") {\n if ((model[key] as string[]).length > 0)\n (model[key] as string[]).forEach(value => data.append(key, value));\n return;\n }\n data.append(key, model[key]);\n })\n\n return data;\n }\n\n getCloseDate(): Date {\n return (this.formGroup.controls['closeDate'].value as Date);\n }\n}","import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { Center } from 'src/app/models/centers/center';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProductService } from 'src/app/services/product/product.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { CreateProductForm } from '../../forms/create-product-form';\nimport { PopupMessages } from 'src/app/backend/popup-message';\n\n@Component({\n selector: 'app-redeem-create-page',\n templateUrl: './redeem-create-page.component.html',\n styleUrls: ['./redeem-create-page.component.scss']\n})\nexport class RedeemCreatePageComponent implements OnInit, AfterViewInit {\n\n @ViewChild('image') image!: ElementRef;\n file!: Blob;\n form: CreateProductForm = this.productService.form;\n\n constructor(\n private productService: ProductService,\n private loadingService: LoadingService,\n private router: Router,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n\n console.log(this.form.formGroup.controls['format'].value)\n if (this.form.image != null)\n (this.image.nativeElement as HTMLImageElement).src = URL.createObjectURL(this.form.image);\n else if(this.form.imagePath!=null){\n this.productService.getProductImage(this.form.imagePath)\n .subscribe({\n next: result => {\n\n this.file = result;\n this.form.image = result;\n console.log(this.file , this.form.image )\n setTimeout(() => \n { \n console.log(this.image,this.hasImage);\n (this.image.nativeElement as HTMLImageElement).src = URL.createObjectURL(result);\n }\n , 1000);\n\n },\n error: error => {\n //Do Nothing\n }\n })\n \n }\n }\n\n\n submit() {\n if (this.form.isValid() == false) {\n this.form.formGroup.markAllAsTouched();\n return;\n }\n if((this.form.formGroup.get(\"launchDate\")?.value as Date) this.loadingService.stopLoading()))\n .subscribe({\n next: result => {\n this.form.formGroup.reset();\n this.form.centers = [];\n this.form.image = null;\n this.router.navigate([\"main/redeem/overview\", result]);\n }\n });\n }\n \n imageUploadAction: (image: Blob) => void = ((image: Blob) => {\n this.form.image = image;\n this.file = image;\n setTimeout(() => (this.image.nativeElement as HTMLImageElement).src = URL.createObjectURL(this.form.image), 1000);\n }).bind(this);\n\n centerPopupAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.form.centers = centers;\n }).bind(this);\n\n get hasImage():boolean{\n return this.filename == null||this.form.image !=null;\n }\n\n get filename(): string {\n return (this.form.image as any)?.name;\n }\n\n get title(): AbstractControl {\n return this.form.formGroup.controls['title'];\n }\n\n get target(): AbstractControl {\n return this.form.formGroup.controls['target'];\n }\n\n get source(): AbstractControl {\n return this.form.formGroup.controls['source'];\n }\n\n get format(): AbstractControl {\n return this.form.formGroup.controls['format'];\n }\n\n get price(): AbstractControl {\n return this.form.formGroup.controls['price'];\n }\n\n get stock(): AbstractControl {\n return this.form.formGroup.controls['stock'];\n }\n\n get limit(): AbstractControl {\n return this.form.formGroup.controls['limit'];\n }\n\n get closeDate(): AbstractControl {\n return this.form.formGroup.controls['closeDate'];\n }\n\n get description(): AbstractControl {\n return this.form.formGroup.controls['description'];\n }\n\n get launchDate(): AbstractControl {\n return this.form.formGroup.controls['launchDate'];\n }\n\n get questionSetting(): AbstractControl {\n return this.form.formGroup.controls['questionSetting'];\n }\n\n}\n","
\n
\n

獎勵兌換

\n

/

\n

發布獎勵

\n
\n\n

發布獎勵

\n\n
\n
\n

欄目帶 * 號為必填項

\n\n
\n

獎勵標題

\n \n\n
\n

請輸入獎勵標題

\n
\n
\n\n
\n

獎勵來源

\n \n\n
\n

請輸入獎勵來源

\n
\n
\n\n
\n

宣傳圖片

\n \n \n \n

{{ filename }}

\n edit\n
\n \n
\n\n
\n

參與方式

\n \n \n\n
\n

請輸入參與方式

\n
\n
\n\n
\n

適用對象

\n \n \n\n
\n

請輸入適用對象

\n
\n
\n\n
\n

兌換比率

\n

單個獎勵須扣除

\n \n

時分

\n \n\n
\n

請輸入兌換比率

\n

無效兌換比率

\n
\n
\n\n
\n

庫存

\n \n

\n \n\n
\n

請輸入庫存

\n

無效庫存

\n
\n
\n\n
\n

換領次限

\n

每個用戶最多可換領數量

\n \n \n\n
\n

請輸入換領次限

\n

無效換領次限

\n
\n
\n\n
\n

發布時間

\n \n\n \n\n \n \n\n
\n

請輸入發布日期

\n

請輸入發布時間

\n
\n
\n\n
\n

截止換領

\n
\n
\n \n\n \n\n \n
\n\n
\n error_outline\n

過了截止換領日期後會員不可再換領,但仍可在App中見到該項目,除非職員已下架該項目則該項目不可見

\n
\n\n
\n

請輸入截止換領日期

\n

請輸入截止換領時間

\n

截止換領必須在發布時間之後

\n
\n
\n
\n\n
\n

詳情介紹

\n \n\n
\n

請輸入詳情介紹

\n
\n
\n\n
\n

選擇中心

\n
\n

未指定,選擇並提交後所選中心下所屬會員(包括後加入的新會員)都會見到該獎勵項目

\n \n
\n\n
0\">\n
\n

已選擇

\n

{{ form.centers.length}}

\n

個中心

\n

所選中心下所屬會員(包括後加入的新會員)都會見到該獎勵項目

\n
\n
\n
\n

{{ center.centerCode }}

\n

{{ center.name }}

\n
\n
\n

新增中心

\n add_circle\n
\n
\n\n \n
\n\n
\n

問題設置

\n
\n
\n \n \n
\n
\n error_outline\n

在導航欄--獎勵兌換--問題設置中可設置通用的問題以及選項

\n
\n
\n\n
\n

請輸入問題設置

\n
\n
\n\n
\n \n
\n
\n
\n
","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { Product } from 'src/app/models/redeems/product';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProductService } from 'src/app/services/product/product.service';\n\n@Component({\n selector: 'app-redeem-detail-page',\n templateUrl: './redeem-detail-page.component.html',\n styleUrls: ['./redeem-detail-page.component.scss']\n})\nexport class RedeemDetailPageComponent implements OnInit {\n\n @ViewChild('image') image!: ElementRef;\n @ViewChild('image2') image2!: ElementRef;\n product!: Product;\n file!: Blob;\n editing: boolean = false;\n\n lang: string = this.translateService.currentLang;\n\n notices: boolean[] = [true, true, true];\n\n constructor(\n private loadingService: LoadingService,\n private productService: ProductService,\n private route: ActivatedRoute,\n private translateService: TranslateService,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n this.fetch();\n }\n\n fetchImage(): void {\n this.productService.getProductImage(this.product.imagePath)\n .subscribe({\n next: result => {\n this.file = result;\n this.product.form.image = result;\n let element = this.image.nativeElement as HTMLImageElement\n element.src = URL.createObjectURL(result);\n },\n error: error => {\n //Do Nothing\n }\n })\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n this.productService.getProduct(value.id)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: result => {\n this.product = result;\n if (this.product.imagePath == null)\n return;\n this.fetchImage();\n }\n });\n });\n }\n\n disableProduct(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n })\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DisableProductMessage(this.productService.disableProduct(this.product.uuId)))\n }\n\n centerPopupAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.product.form.centers = centers;\n }).bind(this);\n\n toggleEdit(): void {\n this.editing = true;\n if (this.file && this.product.isLaunched == false)\n setTimeout(() => (this.image2.nativeElement as HTMLImageElement).src = URL.createObjectURL(this.file), 500)\n }\n\n submit(): void {\n let observable!: Observable;\n\n if (this.product.isClosed) {\n return;\n }\n\n if (this.product.form.formGroup.invalid) {\n this.product.form.formGroup.markAllAsTouched();\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n if (this.product.isLaunched == false) {\n observable = this.productService.updateProduct(this.product.form.getFormData());\n }\n\n if (this.product.isLaunched) {\n observable = this.productService.restock(this.product.uuId,\n this.product.form.formGroup.controls['stock'].value,\n this.product.form.formGroup.controls['limit'].value,\n this.product.form.getCloseDate().toJSON())\n }\n\n if (observable == null) {\n return;\n }\n\n this.loadingService.startLoading();\n observable.pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.editing = false;\n this.fetch();\n }\n })\n }\n\n get numberOfRedeemedUesrs(): number {\n return this.product ? [...new Set(this.product.redeems.filter(redeem => redeem.redeemState == \"Redeemed\"||redeem.redeemState==\"Delivered\").map(redeem => redeem.userUUId))].length : 0;\n }\n\n get filename(): string {\n return this.product ? this.product.imagePath?.slice(this.product.imagePath.indexOf(\"/\") + 1) : \"\";\n }\n\n get productName(): AbstractControl {\n return this.product.form.formGroup.controls['productName'];\n }\n\n get target(): AbstractControl {\n return this.product.form.formGroup.controls['target'];\n }\n\n get brand(): AbstractControl {\n return this.product.form.formGroup.controls['brand'];\n }\n\n get format(): AbstractControl {\n return this.product.form.formGroup.controls['format'];\n }\n\n get price(): AbstractControl {\n return this.product.form.formGroup.controls['price'];\n }\n\n get stock(): AbstractControl {\n return this.product.form.formGroup.controls['stock'];\n }\n\n get limit(): AbstractControl {\n return this.product.form.formGroup.controls['limit'];\n }\n\n get closeDate(): AbstractControl {\n return this.product.form.formGroup.controls['closeDate'];\n }\n\n get description(): AbstractControl {\n return this.product.form.formGroup.controls['description'];\n }\n\n get launchDate(): AbstractControl {\n return this.product.form.formGroup.controls['launchDate'];\n }\n\n get isAnswerQuestionRequired(): AbstractControl {\n return this.product.form.formGroup.controls['isAnswerQuestionRequired'];\n }\n\n imageUploadAction: (image: Blob) => void = ((image: Blob) => {\n this.product.form.image = image;\n this.file = image;\n this.product.form.formGroup.controls['imagePath'].setValue(null);\n setTimeout(() => (this.image2.nativeElement as HTMLImageElement).src = URL.createObjectURL(this.product.form.image), 1000);\n }).bind(this);\n}\n","
\n
\n

獎勵兌換

\n

/

\n

獎勵詳情

\n
\n\n

獎勵詳情

\n\n
\n
\n

{{ '記錄編號:' | translate: {value: product.id} }}

\n

{{ '創建時間:' | translate:{value: product.createdAt | date: 'yyyy-MM-dd HH:mm'} }}\n

\n\n
\n \n\n \n\n
\n

項目狀態

\n \n

未發布

\n

進行中

\n

庫存不足

\n

等待抽籤

\n

已結束

\n
\n\n

等待抽籤

\n

已下架

\n

已修改

\n
\n\n
\n

獎勵標題

\n

{{ product.productName }}

\n\n \n \n\n
\n

請輸入獎勵標題

\n
\n
\n
\n\n
\n

獎勵來源

\n

{{ product.brand }}

\n\n \n \n\n
\n

請輸入獎勵來源

\n
\n
\n
\n\n
\n

參與用戶

\n

暫未發布,

\n

庫存充足

\n \n

庫存剩餘

\n

{{ product.stock }}

\n

\n
\n

,共有

\n

{{ numberOfRedeemedUesrs }}

\n

位用戶已換領

\n \n
\n\n
\n

宣傳圖片

\n \n

沒有宣傳圖片

\n \n

{{ filename }}

\n
\n\n \n \n \n

沒有宣傳圖片

\n \n

{{ filename }}

\n edit\n
\n
\n\n \n
\n\n
\n

參與方式

\n \n

先到先得

\n

職員處理

\n
\n\n \n \n \n\n
\n

請輸入參與方式

\n
\n
\n
\n\n
\n

兌換比率

\n \n 0\">\n

單個獎勵須扣除

\n

{{ product.price }}

\n

時分

\n
\n\n

免費

\n
\n\n \n

單個獎勵須扣除

\n \n

時分

\n \n\n
\n

請輸入兌換比率

\n

無效兌換比率

\n
\n
\n
\n\n
\n

庫存

\n \n

{{ '件件' | translate: {value: product.stock} }}

\n

庫存充足

\n
\n \n \n

\n \n\n
\n

請輸入庫存

\n

無效庫存

\n
\n
\n
\n\n\n
\n

換領次限

\n \n \n

每個用戶最多可換領數量

\n

{{ product.maximumQuantityPerPerson }}

\n

\n
\n\n

不限次限

\n
\n\n \n

每個用戶最多可換領數量

\n \n \n\n
\n

請輸入換領次限

\n

無效換領次限

\n
\n
\n
\n\n
\n

發布時間

\n

{{ product.launchDate | date : 'longDate' : '' : lang }} {{ product.launchDate | date : 'HH:mm' }}

\n \n \n\n \n\n \n \n\n
\n

請輸入發布日期

\n

請輸入發布時間

\n
\n
\n
\n\n
\n

截止換領

\n \n

{{ product.closeDate | date : 'longDate' : '' : lang }} {{ product.closeDate | date : 'HH:mm' }}

\n error_outline\n
\n \n
\n
\n \n\n \n\n \n
\n\n
\n error_outline\n

過了截止換領日期後會員不可再換領,但仍可在App中見到該項目,除非職員已下架該項目則該項目不可見

\n
\n\n
\n

請輸入截止換領日期

\n

請輸入截止換領時間

\n

截止換領必須在發布時間之後

\n
\n
\n
\n
\n\n\n
\n

詳情介紹

\n

{{ product.description }}

\n \n \n\n
\n

請輸入詳情介紹

\n
\n
\n
\n\n
\n

選擇中心

\n\n \n
0\">\n
\n

已選擇

\n

{{ product.centers.length}}

\n

個中心

\n

所選中心下所屬會員(包括後加入的新會員)都會見到該獎勵項目

\n
\n
\n
\n

{{ center.centerCode }}

\n

{{ center.name }}

\n
\n
\n
\n\n \n
\n
\n

已選擇

\n

{{ product.form.centers.length}}

\n

個中心

\n

所選中心下所屬會員(包括後加入的新會員)都會見到該獎勵項目

\n
\n
\n
\n

{{ center.centerCode }}

\n

{{ center.name }}

\n
\n
\n

新增中心

\n add_circle\n
\n
\n
\n\n \n
\n\n
\n

問題設置

\n \n

會員換領前須填寫問卷

\n

無須填寫問卷

\n
\n\n \n
\n
\n \n \n
\n
\n error_outline\n

在導航欄--獎勵兌換--問題設置中可設置通用的問題以及選項

\n
\n
\n\n
\n

請輸入問題設置

\n
\n
\n
\n
\n\n
\n \n \n \n \n
\n
\n
\n\n\n\n
\n
\n

1

\n

done

\n
\n
\n

等候發布

\n
\n
\n

該獎勵尚未發布

\n
\n
\n\n
\n

2

\n

done

\n
\n
\n

進行中

\n
\n
\n

該獎勵已發布,換領進行中

\n
\n
\n\n
\n

3

\n

done

\n
\n
\n

換領結束

\n
\n
\n

該獎勵已結束換領,14日後自動下架

\n
\n
\n\n
\n

4

\n
\n
\n

已完結

\n
\n

該獎勵已下架

\n
\n
\n
\n
\n\n\n\n
\n
0 && notices[0]\">\n

有會員參與了該獎勵兌換項目,請在“參與用戶”中查看

\n close\n
\n\n
\n

庫存不足,如有需要,可點擊“編輯”增加庫存

\n close\n
\n\n
\n

已過截止兌換日期,已兌換人數仍少於庫存數量,請職員處理

\n close\n
\n
\n
","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { finalize } from 'rxjs/operators';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Product } from 'src/app/models/redeems/product';\nimport { Redeem } from 'src/app/models/redeems/redeem';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProductService } from 'src/app/services/product/product.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\nimport { ExportService } from 'src/app/services/export/export.service';\n\ninterface IRedeemInfo{\n UUId:string;\n RedeemState:String;\n}\n interface IProductInfo{\n stock:Number;\n redeems:IRedeemInfo[];\n}\n class RedeemInfo{\n UUId:string;\n RedeemState:String;\n constructor(redeemInfo: IRedeemInfo) {\n this.UUId=redeemInfo.UUId;\n this.RedeemState=redeemInfo.RedeemState;\n }\n}\n class ProductInfo{\n stock:Number;\n redeems:RedeemInfo[];\n constructor(redeemInfo: IProductInfo) {\n this.stock=redeemInfo.stock;\n this.redeems=redeemInfo.redeems;\n }\n}\n\n@Component({\n selector: 'app-redeem-management-page',\n templateUrl: './redeem-management-page.component.html',\n styleUrls: ['./redeem-management-page.component.scss']\n})\n\nexport class RedeemManagementPageComponent implements OnInit {\n\n lang: string = this.translateService.currentLang;\n tab: number = 1;\n product!: Product;\n\n \n productInfo?:ProductInfo;\n\n constructor(\n private productService: ProductService,\n private loadingService: LoadingService,\n private redeemService: RedeemService,\n private route: ActivatedRoute,\n private location: Location,\n private translateService: TranslateService,\n private exportService: ExportService\n ) { }\n\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n setInterval(()=>{\n this.fetch(true);\n },10000)\n this.fetch(false);\n }\n \n exportRedeemApplyOnly():void{\n this.exportService.exportRedeemApplyOnly(this.product);\n }\n\n fetch(noLoading:boolean): void {\n if(!noLoading)\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n this.productService.getProduct(value.id)\n .pipe(finalize(() => !noLoading?null:this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n const temp:ProductInfo ={\n stock:value.stock,\n redeems:[]\n };\n value.redeems.forEach(redeem=>{\n const info:RedeemInfo={UUId:redeem.uuId,RedeemState:redeem.redeemState};\n temp.redeems.push(info);\n })\n if( JSON.stringify(this.productInfo )!= JSON.stringify(temp)){\n this.productInfo=temp;\n this.product = value;\n }\n }\n })\n });\n }\n\n back(): void {\n this.location.back();\n }\n\n get totalStock(): number {\n if (this.product == null)\n return 0;\n return this.redeemedUsers.map(redeem => redeem.quantity).reduce((sum, value) => sum + value, 0) + this.product.stock;\n }\n\n get redeemedUsers(): Redeem[] {\n return this.product ? this.product.redeems.filter(redeem => redeem.redeemState == \"Redeemed\"|| redeem.redeemState == \"Delivered\") : [];\n }\n\n get pendingUsers(): Redeem[] {\n return this.product ? this.product.redeems.filter(redeem => redeem.redeemState == \"Pending\") : [];\n }\n\n get user(): Profile | null {\n return this.redeemService.user;\n }\n}\n","
\n
\n

獎勵概覽

\n

/

\n

獎勵詳情

\n \n
\n\n

參與用戶

\n\n \n\n \n
\n\n\n\n
\n
\n

{{ '記錄編號:' | translate: {value: product.id} }}

\n

{{ '創建時間:' | translate: { value: product.createdAt | date: 'yyyy-MM-dd HH:mm'} }}

\n
\n\n
\n
\n
\n

獎勵標題

\n

{{ product.productName }}

\n
\n
\n

項目狀態

\n \n

未發布

\n

進行中

\n

庫存不足

\n

等待抽籤

\n

已結束

\n
\n\n

已下架

\n

已修改

\n
\n
\n\n
\n
\n

參與方式

\n

先到先得

\n

職員處理

\n
\n
\n

兌換比率

\n

{{ '單個獎勵須扣除時分' | translate: { value: product.price } }}

\n
\n
\n\n
\n
\n

截止換領

\n

{{ product.closeDate | date : 'longDate' : '' : lang }} {{ product.closeDate | date : 'HH:mm' }}

\n
\n
\n

換領次限

\n

{{ '每個用戶最多可換領數量件' | translate: {value: product.maximumQuantityPerPerson} }}

\n

不限次限

\n
\n
\n\n
\n
\n

庫存

\n \n

剩餘

\n

{{ product.stock }}

\n

{{ '/件' | translate: {value: totalStock} }}

\n
\n

庫存充足

\n
\n
\n
\n\n
\n \n
\n
\n
\n\n\n\n
\n
\n

{{ '已兌換' | translate: {value: redeemedUsers.length} }}

\n

{{ '等候處理' | translate: {value: pendingUsers.length} }}

\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { forkJoin } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { ProductListItem } from 'src/app/models/redeems/product-list-item';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProductService } from 'src/app/services/product/product.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\n\n@Component({\n selector: 'app-redeem-overview-page',\n templateUrl: './redeem-overview-page.component.html',\n styleUrls: ['./redeem-overview-page.component.scss']\n})\nexport class RedeemOverviewPageComponent implements OnInit {\n\n products: ProductListItem[] = [];\n caches: ProductListItem[] = [];\n\n count: number = 0;\n pages: number = 1;\n\n filters: any = {\n itemsPerPage: 10,\n page: 1,\n searchInput: null,\n from: null,\n to: null,\n statuses: [],\n isDeleted: false,\n centers: [],\n formats: [],\n orderById: true,\n orderByLaunchDate: null,\n orderByCloseDate: null\n };\n\n\n constructor(\n private loadingService: LoadingService,\n private productService: ProductService,\n private router: Router,\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService,\n private exportService: ExportService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.productService.getRedeemList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: result => {\n this.products = result.list;\n this.count = result.count;\n this.pages = Math.ceil(result.count / this.filters.itemsPerPage);\n this.products.forEach(product => {\n if (this.caches.find(p => p.uuId == product.uuId))\n product.selected = true;\n });\n }\n });\n }\n\n changePage(): void {\n this.router.navigate(['/main/redeem/overview'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n cache(redeem: ProductListItem): void {\n if (redeem.selected)\n this.caches.push(redeem);\n else\n this.caches.splice(this.caches.findIndex(p => p.uuId == redeem.uuId), 1);\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n typeFilterAction: (formats: number[]) => void = ((formats: number[]) => {\n this.filters.formats = formats;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction: (start: Date, end: Date) => void = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction: (statuses: number[]) => void = ((statuses: number[]) => {\n this.filters.statuses = statuses;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.from ? \"&LaunchDateFrom=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&LaunchDateTo=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.statuses.map((status: string) => \"&statuses=\" + status).join(\"\"))\n + (this.filters.orderById != null ? \"&OrderById=\" + String(this.filters.orderById) : \"\")\n + (this.filters.orderByLaunchDate != null ? \"&OrderByLaunchDate=\" + String(this.filters.orderByLaunchDate) : \"\")\n + (this.filters.orderByCloseDate != null ? \"&OrderByCloseDate=\" + String(this.filters.orderByCloseDate) : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.formats.map((format: string) => \"&productRedeemFormats=\" + format).join(\"\"))\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.products.forEach(product => {\n product.selected = false;\n this.caches.splice(this.caches.findIndex(r => r.uuId == product.uuId), 1);\n });\n else {\n this.products.forEach(product => product.selected = true);\n this.caches = [...new Set([...this.caches, ...this.products])];\n }\n }\n\n get isSelectedAll(): boolean {\n return this.products.every(product => product.selected);\n }\n\n deleteProduct(productUUId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n this.caches = [];\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteProductMessage(this.productService.deleteProduct(productUUId)));\n }\n\n deleteProductList(): void {\n let task = forkJoin(this.caches.map(product => this.productService.deleteProduct(product.uuId)));\n\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n this.caches = [];\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteProductListMessage(task, this.caches.length));\n }\n\n exportProducts(): void {\n if (this.caches.length > 0) {\n this.exportService.exportProducts(this.caches.map(product => product.getExportModel()), { startDate: this.filters.from, endDate: this.filters.to });\n }\n\n this.loadingService.startLoading();\n this.productService.getRedeemList(\"?start=0&limit=100000000\")\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.exportService.exportProducts(value.list.map(product => product.getExportModel()), { startDate: this.filters.from, endDate: this.filters.to });\n });\n }\n\n apply(product: ProductListItem): void {\n this.loadingService.startLoading();\n this.productService.getProduct(product.uuId)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.productService.form.formGroup.controls['title'].setValue(value.productName);\n this.productService.form.formGroup.controls['source'].setValue(value.brand);\n this.productService.form.formGroup.controls['format'].setValue(value.format==\"FirstComeFirstServed\"?\"0\":\"1\");\n if(value.target=='所有會員')\n this.productService.form.formGroup.controls['targetAll'].setValue(true);\n \n this.productService.form.formGroup.controls['target'].setValue(value.target);\n this.productService.form.formGroup.controls['price'].setValue(value.price);\n if(value.price==0)\n this.productService.form.formGroup.controls['free'].setValue(true);\n if(value.stock==-1)\n this.productService.form.formGroup.controls['adequateStock'].setValue(true);\n this.productService.form.formGroup.controls['stock'].setValue(value.stock);\n if(value.maximumQuantityPerPerson==-1)\n this.productService.form.formGroup.controls['noLimit'].setValue(true);\n this.productService.form.formGroup.controls['limit'].setValue(value.maximumQuantityPerPerson);\n this.productService.form.formGroup.controls['description'].setValue(value.description);\n this.productService.form.formGroup.controls['questionSetting'].setValue(value.isAnswerQuestionRequired);\n //this.productService.form.image=\n this.productService.form.imagePath=value.imagePath;\n console.log(this.productService.form.formGroup);\n this.router.navigate(['/main/redeem/create']);\n });\n }\n}\n","
\n
\n

獎勵兌換

\n

/

\n

獎勵概覽

\n
\n\n

獎勵概覽

\n\n
\n
\n
\n \n\n \n\n \n\n \n
\n\n
\n \n \n \n \n
\n\n \n \n
\n
\n \n
\n
\n

獎勵編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

獎勵標題

\n
\n
\n

參與類型

\n
\n
\n

發布日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

狀態

\n
\n
\n

庫存

\n
\n
\n

截止日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ product.id }}

\n
\n
\n

{{ product.productName }}

\n
\n
\n

先到先得

\n

職員處理

\n
\n
\n

{{ product.launchDate | date: 'yyyy/MM/dd' }}

\n
\n
\n \n
\n

未發布

\n
\n
\n

進行中

\n
\n
\n

已結束

\n
\n
\n

庫存不足

\n
\n
\n
\n

等待抽籤

\n
\n
\n

已修改

\n
\n
\n

已下架

\n
\n\n

\n
\n
\n

{{ product.stock }}

\n

庫存充足

\n
\n
\n

{{ product.closeDate | date: 'yyyy/MM/dd' }}

\n
\n
\n

檢視

\n

移除

\n

再次創建

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n \n
\n
\n
\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { EMPTY, forkJoin, Observable } from 'rxjs';\nimport { concatMap, defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProductService } from 'src/app/services/product/product.service';\nimport { RedeemQuestionService } from 'src/app/services/redeem-question/redeem-question.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\n\n@Component({\n selector: 'app-redeem-setting-page',\n templateUrl: './redeem-setting-page.component.html',\n styleUrls: ['./redeem-setting-page.component.scss']\n})\nexport class RedeemSettingPageComponent implements OnInit {\n\n centers: Center[] = [];\n\n questions: FormArray = new FormArray([]);\n bins: string[] = [];\n\n ruleForm: FormGroup = new FormGroup({\n ruleTitle: new FormControl(null, [Validators.required]),\n ruleDescription: new FormControl(null, [Validators.required])\n });\n\n constructor(\n private centerService: CenterService,\n private loadingService: LoadingService,\n private productService: ProductService,\n private redeemQuestionService: RedeemQuestionService,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.fetchData();\n }\n\n fetchData(): void {\n this.loadingService.startLoading();\n\n forkJoin({\n centers: this.centerService.getRedeemCenters(),\n questions: this.redeemQuestionService.getQuestions(),\n rules: this.productService.getRules()\n })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.centers = value.centers;\n this.questions = new FormArray(\n value.questions.map(question => new FormGroup({\n uuid: new FormControl(question.uuId),\n question: new FormControl(question.question, [Validators.required]),\n setting: new FormControl(question.mode, [Validators.required]),\n options: new FormArray(question.options.map(option => new FormControl(option.option, [Validators.required]))),\n })))\n\n this.ruleForm.controls['ruleTitle'].setValue(value.rules?.title);\n this.ruleForm.controls['ruleDescription'].setValue(value.rules?.rule);\n\n if (this.questions.length == 0)\n this.addQuestion();\n })\n }\n\n deleteCenter(center: Center): void {\n center.redeemEnabled = true;\n this.loadingService.startLoading();\n this.centerService.setRedeemCenters(this.centers.filter(center => center.redeemEnabled == true).map(c => c.uuId))\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe();\n }\n\n get blockedCenters(): Center[] {\n return this.centers.filter(center => center.redeemEnabled == false);\n }\n\n centerPopupAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.centerService.setRedeemCenters(this.centers.filter(center => centers.every(c => center.uuId != c.uuId)).map(center => center.uuId))\n .subscribe({\n next: value => {\n this.fetchData();\n }\n })\n }).bind(this)\n\n addQuestion(): void {\n this.questions.push(new FormGroup({\n question: new FormControl(null, [Validators.required]),\n setting: new FormControl(null, [Validators.required]),\n options: new FormArray([\n new FormControl(null, [Validators.required]),\n new FormControl(null, [Validators.required])\n ]),\n }));\n }\n\n removeQuestion = ((index: number) => {\n if ((this.questions.controls[index] as FormGroup).controls[\"uuid\"] != null)\n this.bins.push((this.questions.controls[index] as FormGroup).controls[\"uuid\"].value);\n this.questions.removeAt(index);\n }).bind(this);\n save(): void {\n if (this.questions.invalid) {\n this.questions.markAllAsTouched();\n this.popupMessageService.messageSignal.emit(PopupMessages.SaveRedeemQuestionFailMessage(EMPTY));\n return;\n }\n\n if (this.ruleForm.invalid) {\n this.ruleForm.markAllAsTouched();\n this.popupMessageService.messageSignal.emit(PopupMessages.SaveRedeemQuestionFailMessage(EMPTY));\n return;\n }\n let formValue = this.questions.value as { uuid: string; question: string; setting: string; options: string[] }[];\n\n let createTask = formValue.filter(value => value.uuid == null).map(value =>\n this.redeemQuestionService.createQuestion({\n question: value.question,\n questionMode: value.setting,\n options: value.options\n }));\n\n let updateTask = this.questions.controls.filter(control => control.dirty == true).map(control => control.value)\n .filter(value => value.uuid != null).map(value =>\n this.redeemQuestionService.updateQuestion({\n uuid: value.uuid,\n question: value.question,\n questionMode: value.setting,\n options: value.options\n }));\n\n let ruleTask = this.productService.setRules(this.ruleForm.controls['ruleTitle'].value, this.ruleForm.controls['ruleDescription'].value);\n\n this.loadingService.startLoading();\n forkJoin(this.bins.map(uuid => this.redeemQuestionService.deleteQuestion(uuid)))\n .pipe(defaultIfEmpty(),\n concatMap(() =>\n forkJoin({\n create: forkJoin(createTask).pipe(defaultIfEmpty()),\n update: forkJoin(updateTask).pipe(defaultIfEmpty()),\n rule: ruleTask\n })),\n finalize(() => {\n this.loadingService.stopLoading();\n this.bins = [];\n }))\n .subscribe({\n next: () => this.popupMessageService.messageSignal.emit(\n PopupMessages.SaveRedeemQuestionSuccessMessage(new Observable(subscriber => {\n this.fetchData()\n }))),\n error: () => this.popupMessageService.messageSignal.emit(\n PopupMessages.SaveRedeemQuestionFailMessage(new Observable(subscriber => {\n this.fetchData()\n })))\n });\n }\n}\n","
\n
\n

獎勵兌換

\n

/

\n

獎勵設置

\n
\n\n

獎勵設置

\n\n
\n
\n\n
\n
\n

功能設置

\n

欄目帶 * 號為必填項

\n
\n\n
\n

屏蔽設置

\n
\n

以下所選中心的全部會員在APP中會屏蔽整個獎勵兌換功能區

\n
\n
\n

{{ center.centerCode }}

\n

{{ center.name }}

\n

移除

\n
\n
\n

新增中心

\n add_circle\n
\n
\n
\n\n \n
\n\n
\n
\n

問卷設置

\n

欄目帶 * 號為必填項

\n
\n\n
\n

問題設置適用於通用獎勵兌換功能,如職員發布某獎勵項目時設置會員須回答問題,會員則必須作答以下問題才可換領

\n
\n\n
\n\n \n \n
\n
\n\n
\n add_circle\n

增加問題(最多可設置3個問題)

\n
\n
\n
\n\n
\n
\n

獎勵規則

\n

欄目帶 * 號為必填項

\n
\n\n
\n

獎勵規則通用於所屬機構下全部獎勵的換領流程,用戶在App中可查看規則詳情,建議謹慎填寫不要輕易改動

\n
\n\n
\n

規則標題

\n \n
\n\n
\n

規則詳情

\n \n
\n
\n\n
\n \n
\n
\n
\n
","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\n\n@Component({\n selector: 'app-select-redeem-user-page',\n templateUrl: './select-redeem-user-page.component.html',\n styleUrls: ['./select-redeem-user-page.component.scss']\n})\nexport class SelectRedeemUserPageComponent implements OnInit {\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Profile[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private redeemService: RedeemService,\n private location: Location,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n\n this.route.params.subscribe(value => {\n this.caches = this.redeemService.user ? [this.redeemService.user] : [];\n })\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(profile);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.route.params.subscribe(value => {\n this.router.navigate(['/main/redeem/overview', value.id, 'select-redeem-user'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n });\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n \n submit(): void {\n if (this.caches.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.EmptyRequesterErrorMessage);\n return;\n }\n\n this.redeemService.user = this.caches[0];\n this.route.params.subscribe(value => {\n this.router.navigate(['/main/redeem/overview', value.id, 'management']);\n });\n }\n\n back(): void {\n this.location.back();\n }\n\n get selectedUser(): Profile | null {\n return this.caches.length > 0 ? this.caches[0] : null;\n }\n\n}\n","
\n
\n

獎勵兌換

\n

/

\n

獎勵詳情

\n

/

\n

參與用戶

\n
\n\n

新增用戶

\n\n
\n
\n \n\n
\n \n \n \n \n \n\n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n = 1 && selectedUser?.uuId != profile.uuId\">\n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ShareModule } from '../share/share.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { RedeemOverviewPageComponent } from './pages/redeem-overview-page/redeem-overview-page.component';\nimport { RedeemCreatePageComponent } from './pages/redeem-create-page/redeem-create-page.component';\nimport { RedeemSettingPageComponent } from './pages/redeem-setting-page/redeem-setting-page.component';\nimport { RedeemDetailPageComponent } from './pages/redeem-detail-page/redeem-detail-page.component';\nimport { RedeemQuestionComponent } from './components/redeem-question/redeem-question.component';\nimport { RedeemImagePopupComponent } from './components/redeem-image-popup/redeem-image-popup.component';\nimport { RedeemManagementPageComponent } from './pages/redeem-management-page/redeem-management-page.component';\nimport { ProductManagementRedeemComponent } from './components/product-management-redeem/product-management-redeem.component';\nimport { ProductManagementPendingComponent } from './components/product-management-pending/product-management-pending.component';\nimport { RedeemPopupComponent } from './components/redeem-popup/redeem-popup.component';\nimport { SelectRedeemUserPageComponent } from './pages/select-redeem-user-page/select-redeem-user-page.component';\nimport { RedeemGrantPopupComponent } from './components/redeem-grant-popup/redeem-grant-popup.component';\n\nconst routes: Routes = [\n { path: 'overview', component: RedeemOverviewPageComponent },\n { path: 'create', component: RedeemCreatePageComponent },\n { path: 'setting', component: RedeemSettingPageComponent },\n { path: 'overview/:id', component: RedeemDetailPageComponent },\n { path: 'overview/:id/management', component: RedeemManagementPageComponent },\n { path: 'overview/:id/select-redeem-user', component: SelectRedeemUserPageComponent },\n { path: '', redirectTo: 'overview', pathMatch: 'full' },\n { path: '**', redirectTo: 'overview' }\n];\n\n@NgModule({\n declarations: [\n RedeemOverviewPageComponent,\n RedeemCreatePageComponent,\n RedeemSettingPageComponent,\n RedeemDetailPageComponent,\n RedeemQuestionComponent,\n RedeemImagePopupComponent,\n RedeemManagementPageComponent,\n ProductManagementRedeemComponent,\n ProductManagementPendingComponent,\n RedeemPopupComponent,\n SelectRedeemUserPageComponent,\n RedeemGrantPopupComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n TranslateModule.forChild(),\n ShareModule,\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule,\n MatDatepickerModule\n ]\n})\nexport class RedeemModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { defaultIfEmpty, finalize, switchMap, tap } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { Transportation } from 'src/app/models/transportations/transportation';\nimport { AddressForm } from 'src/app/modules/share/forms/address-form';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { RequestService } from 'src/app/services/request/request.service';\nimport { ServiceService } from 'src/app/services/service/service.service';\nimport { TransportationService } from 'src/app/services/transportation/transportation.service';\nimport { CreateRequestForm } from '../../forms/create-request-form';\n\n@Component({\n selector: 'app-request-create',\n templateUrl: './request-create.component.html',\n styleUrls: ['./request-create.component.scss']\n})\nexport class RequestCreateComponent implements OnInit {\n\n form: CreateRequestForm = this.requestService.form;\n venueForms: AddressForm[] = [];\n destinationForms: AddressForm[] = [];\n\n minDate: Date = new Date();\n\n requester: Profile | null = null;\n serviceTypes: ServiceType[] = [];\n transportations: Transportation[] = [];\n\n constructor(\n private requestService: RequestService,\n private profileService: ProfileService,\n private serviceService: ServiceService,\n private loadingService: LoadingService,\n private transportationService: TransportationService,\n private popupMessageService: PopupMessageService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.form.formGroup.disable({ onlySelf: true, emitEvent: false });\n\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n forkJoin({\n profile: this.form.requester == null ? of(null) : this.profileService.getProfileByUUId(this.form.requester),\n service: this.serviceService.getServiceTypeList(),\n transportation: this.transportationService.getTransportationList()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.requester = value.profile;\n this.serviceTypes = value.service;\n this.transportations = value.transportation;\n if (value.profile != null){\n this.form.formGroup.enable({ onlySelf: true, emitEvent: false });\n\n if(this.requester?.addresses.find(address => address.room.uuId == this.venue.value)==null){\n this.form.formGroup.controls['venue'].setValue(null);\n }\n }\n if (this.form.formGroup.controls['service'].value) {\n let st = this.serviceTypes.find(serviceType => serviceType.services.some(s => s.uuId == this.form.formGroup.controls['service'].value));\n this.form.formGroup.controls['serviceType'].setValue(st?.uuId, { emitEvent: false });\n }\n });\n }\n\n addVenue(): void {\n this.venueForms.push(new AddressForm());\n }\n\n saveVenue(): void {\n if (this.venueForms.length == 0 || !this.venueForms.every(form => form.formGroup.valid)) {\n this.venueForms.forEach(form => form.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n\n forkJoin(this.venueForms.map(form => this.profileService.createAddress(this.requester?.uuId as string, form.getCreateAddressModel())))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.venueForms = [];\n this.fetch();\n })\n }\n\n dropVenue = (() => {\n this.venueForms = [];\n }).bind(this)\n\n addDestination(): void {\n this.destinationForms.push(new AddressForm());\n }\n\n saveDestination(): void {\n if (this.destinationForms.length == 0 || !this.destinationForms.every(form => form.formGroup.valid)) {\n this.destinationForms.forEach(form => form.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n\n forkJoin(this.destinationForms.map(form => this.profileService.createAddress(this.requester?.uuId as string, form.getCreateAddressModel())))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.destinationForms = [];\n this.fetch();\n })\n }\n\n dropDestination = (() => {\n this.destinationForms = [];\n }).bind(this)\n\n reset(): void {\n this.requester = null;\n this.form.reset();\n this.form.formGroup.disable();\n }\n\n dropVolunteer(index: number) {\n this.form.volunteers.splice(index, 1);\n }\n\n\n submit(): void {\n if (this.form.valid == false || this.form.volunteers.length == 0) {\n this.form.formGroup.markAllAsTouched();\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n this.requestService.createRequest(this.form.requester as string, this.form.getCreateRequestModel())\n .pipe(tap((value: any) => this.newRequestUUId = value.result.uuid),\n switchMap((value: any) => this.requestService.inviteVolunteers(value.result.uuid, { volunteersUUId: this.form.volunteers.map(v => v.userUUId) })),\n finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n\n this.popupMessageService.messageSignal.emit(PopupMessages.CreateRequestSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/activity/overview/request', this.newRequestUUId]);\n this.loadingService.stopLoading()\n })\n ));\n\n });\n }\n\n get serviceType(): AbstractControl {\n return this.form.formGroup.controls['serviceType'];\n }\n\n get service(): AbstractControl {\n return this.form.formGroup.controls['service'];\n }\n\n get date(): AbstractControl {\n return this.form.formGroup.controls['date'];\n }\n\n get start(): AbstractControl {\n return this.form.formGroup.controls['start'];\n }\n\n get end(): AbstractControl {\n return this.form.formGroup.controls['end'];\n }\n\n get noEndTime(): AbstractControl {\n return this.form.formGroup.controls['noEndTime'];\n }\n\n get venue(): AbstractControl {\n return this.form.formGroup.controls['venue'];\n }\n\n get destination(): AbstractControl {\n return this.form.formGroup.controls['destination'];\n }\n\n get numberOfVolunteer(): AbstractControl {\n return this.form.formGroup.controls['numberOfVolunteer'];\n }\n\n get selectedServiceTypeServices(): Service[] {\n var type = this.serviceTypes.find(st => st.uuId == this.serviceType.value);\n return type ? type.services : [];\n }\n\n get hasDestination(): boolean {\n let service = this.selectedServiceTypeServices.find(service => service.uuId == this.service.value);\n return service ? service.destinationNeeded : false;\n }\n\n get selectedVenueLivingConditions(): Living[] {\n let address = this.requester?.addresses.find(address => address.room.uuId == this.venue.value);\n return address ? address.livings : [];\n }\n\n get selectedDestinationLivingCondition(): Living[] {\n let address = this.requester?.addresses.find(address => address.room.uuId == this.destination.value);\n return address ? address.livings : [];\n }\n\n //For holding uuid after create only\n private newRequestUUId: string | null = null;\n}\n","
\n \n
\n \n
\n
\n\n \n

欄目帶 * 號為必填項

\n\n
\n

會員姓名

\n \n \n
\n\n
\n

會員編號

\n \n \n
\n\n
\n

身體狀況

\n

\n\n
0\">\n
\n
\n

{{ health.name }}

\n visibility\n visibility_off\n
\n
\n
\n
\n
\n
\n\n
\n
\n

服務類型

\n
\n \n
\n
\n \n
\n\n
\n

請選擇服務

\n
\n
\n\n
\n

服務日期

\n \n \n\n
\n

請輸入服務日期

\n
\n
\n\n
\n

預計開始

\n \n\n
\n

請輸入預計開始日期

\n

請輸入預計開始時間

\n
\n
\n\n
\n

預計結束

\n \n \n\n
\n

請輸入預計結束日期

\n

請輸入預計結束時間

\n

預計結束時間必須在預計開始時間後

\n
\n
\n\n \n
\n

會面地址

\n
\n
\n \n
\n\n \n \n\n \n \n\n \n
\n
\n\n
\n

居住條件

\n

不適用

\n
\n

{{ living.name }}

\n
\n
\n
\n\n \n
\n

目的地

\n
\n
\n \n
\n\n \n \n\n \n \n\n \n
\n
\n\n
\n

居住條件

\n

不適用

\n
\n

{{ living.name }}

\n
\n
\n
\n\n
\n

義工數量

\n \n

義工服務要求人數不超過50個人

\n
\n

請輸入義工數目

\n

義工數目必須大於0個人

\n

義工服務要求人數不超過50個人

\n
\n
\n\n
\n

交通工具

\n
\n \n
\n
\n\n
\n

備註

\n \n
\n
\n\n
\n
\n

邀請義工

\n

未指定

\n \n
\n

未指定,請在義工列表中確認人選

\n \n
\n\n
0\">\n
\n

已選擇

\n

{{ form.volunteers.length }}

\n

/

\n

{{ numberOfVolunteer.value }}

\n

位義工

\n
\n\n
\n
\n

{{ volunteer.chineseName }}

\n close\n
\n add_circle\n
\n
\n
\n
\n
\n\n
\n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { VolunteerService } from 'src/app/services/volunteer/volunteer.service';\nimport { Request } from 'src/app/models/requests/request';\nimport { Volunteer } from 'src/app/models/requests/volunteer';\nimport { Transaction } from 'src/app/models/transactions/transaction';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'app-request-detail-volunteer-table',\n templateUrl: './request-detail-volunteer-table.component.html',\n styleUrls: ['./request-detail-volunteer-table.component.scss']\n})\nexport class RequestDetailVolunteerTableComponent implements OnInit {\n\n @Input() request!: Request;\n @Input() reloadAction: () => void = () => { }\n\n filters: any = {\n page: 1,\n itemsPerPage: 10,\n };\n\n constructor(\n private popupMessageService: PopupMessageService,\n private loadingService: LoadingService,\n private volunteerService: VolunteerService,\n private route: ActivatedRoute,\n private transactionService: TransactionService\n ) { }\n\n ngOnInit(): void {\n }\n\n showInterest(userUUId: string): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n this.volunteerService.showInterest(value.id, { volunteersUUId: [userUUId] })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.reloadAction();\n });\n })\n }\n\n match(userUUId: string): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n this.volunteerService.match(value.id, { volunteersUUId: [userUUId] })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.reloadAction();\n });\n })\n }\n\n checkIn(userUUId: string): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n this.volunteerService.checkIn(value.id, { volunteersUUId: [userUUId] })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.reloadAction();\n })\n });\n }\n\n editTransaction(transaction: Transaction): void {\n if (transaction.form.invalid) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n this.transactionService.editTransaction(transaction.uuId, { amount: transaction.form.value })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n transaction.uuId = value.newTransactionUUId;\n transaction.amount = transaction.form.value\n transaction.editing = false;\n this.popupMessageService.messageSignal.emit(PopupMessages.EditTransactionSuccessMessage);\n }\n });\n }\n\n get pages(): number {\n return Math.ceil(this.request.volunteers.length / this.filters.itemsPerPage);\n }\n\n get startToday(): boolean {\n let today = new Date()\n return this.request.requestStatus == 'Ready' &&\n (this.request ?\n this.request.startTime.getFullYear() == today.getFullYear()\n && this.request.startTime.getMonth() == today.getMonth()\n && this.request.startTime.getDate() == today.getDate() : false)\n }\n\n get displayedVolunteers(): Volunteer[] {\n return this.request.volunteers.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get spending(): number {\n return this.request.volunteers.filter(v => v.volunteerStatus == 'CheckedOut').map(v => v.transaction ? v.transaction.amount : 0).reduce((sum, t) => sum + t, 0);\n }\n}\n","\n\n
\n
\n
\n

會員編號

\n
\n\n
\n

中文姓名

\n
\n\n
\n

中心代碼

\n
\n\n
\n

性別

\n
\n\n
\n

年齡

\n
\n\n
\n

電話

\n
\n\n
\n

狀態

\n
\n\n
\n

交易時分

\n
\n\n
\n

操作

\n
\n
\n\n
\n
\n

{{ volunteer.memberId }}

\n
\n\n
\n

{{ volunteer.chineseName }}

\n
\n\n
\n

{{ volunteer.center.centerCode }}

\n
\n\n
\n

{{ volunteer.gender | translate }}

\n
\n\n
\n

{{ volunteer.age }}

\n
\n\n
\n

{{ volunteer.phone }}

\n

-

\n
\n\n
\n

暫無回應

\n

沒有參與

\n

接受邀請

\n

已配對

\n

未報到

\n

已報到

\n

缺席

\n

進行中

\n

已完結

\n

已拒絕

\n
\n\n
\n

-

\n \n

{{ volunteer.transaction.amount | number }}

\n \n
\n
\n\n
\n \n

接受

\n

配對

\n
\n\n \n

報到

\n
\n\n \n \n

修改時分

\n

反饋

\n
\n\n \n

確認

\n

取消

\n
\n
\n\n \n

檢視

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n
\n

{{ request.requester.memberId }} {{ request.requester.chineseName }}

\n

總共支出

\n

{{ spending | number }}

\n

時分至所選會員帳戶

\n
\n\n\n
\n\n
\n

你已選擇配對

\n

{{ request.numberOfMatchedVolunteers }}

\n

{{ '/位義工' | translate: {value: request.numberOfVolunteer} }}

\n
\n\n
\n

服務尚未開始

\n
\n\n
\n

已報到

\n

{{ request.numberOfCheckedInVolunteers }}

\n

/

\n

{{ request.numberOfVolunteer }}

\n

人,最後報到時間

\n

{{ request.latestCheckedInTime | date: 'hh:mm aa' }}

\n
\n\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Volunteer } from 'src/app/models/requests/volunteer';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\nimport { VolunteerService } from 'src/app/services/volunteer/volunteer.service';\n\n@Component({\n selector: 'app-request-feedback-popup',\n templateUrl: './request-feedback-popup.component.html',\n styleUrls: ['./request-feedback-popup.component.scss']\n})\nexport class RequestFeedbackPopupComponent implements OnInit {\n\n\n public display: boolean = false;\n public questions: any = DefaultFeedBackQuestion;\n\n public volunteer: Volunteer | null = null;\n\n public rating: number = 0;\n public ratings: number[] = [1, 2, 3, 4, 5];\n\n constructor(\n private volunteerService: VolunteerService,\n private popupMessageService: PopupMessageService,\n private loadingService: LoadingService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n }\n\n rate(rating: number): void {\n this.rating = rating;\n }\n\n open(volunteer: Volunteer): void {\n this.volunteer = volunteer;\n\n this.rating = volunteer.volunteerRating;\n\n this.questions = DefaultFeedBackQuestion\n\n if (volunteer != null && volunteer.volunteerComment != null) {\n this.questions = JSON.parse(volunteer.volunteerComment);\n }\n\n this.display = true;\n }\n\n close(): void {\n this.display = false;\n this.volunteer = null;\n }\n\n submit(): void {\n if(this.volunteer==null )return;\n if (this.isValidAnswer() == false) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n let feedback: any = {};\n Object.keys(this.questions).forEach((key) => {\n feedback[key] ={\n Q:this.questions[key].Q,\n A:typeof this.questions[key].A==\"string\"?this.questions[key].A: this.questions[key].A.value\n };\n })\n this.loadingService.startLoading();\n\n this.route.params.subscribe(value => {\n this.volunteerService.feedback(value.id, { VolunteerUUId:this.volunteer!=null?this.volunteer.userUUId:\"\",rating: this.rating, comment: JSON.stringify(feedback) })\n .pipe(finalize(() => {this.loadingService.stopLoading();\n if(this.volunteer!=null)\n this.volunteer.volunteerRating = this.rating ;\n \n }))\n .subscribe(() => this.close())\n })\n }\n\n reset(): void {\n if (this.volunteer?.volunteerCommentCreatedBy)\n return;\n\n this.rating = 0;\n\n Object.keys(this.questions).forEach((key) => {\n this.questions[key].A.reset();\n })\n }\n\n isValidAnswer(): boolean {\n if (this.rating == 0)\n return false;\n\n var valid = true;\n Object.keys(this.questions).forEach((key) => {\n if (this.questions[key].A.valid == false)\n valid = false;\n });\n\n return valid;\n }\n\n get stars(): number[] {\n return this.ratings.filter(r => r <= this.rating);\n }\n\n get outlineStars(): number[] {\n return this.ratings.filter(r => r > this.rating);\n }\n\n get disabled(): boolean {\n return this.volunteer != null && this.volunteer.volunteerCommentCreatedBy != null;\n }\n}\n\nconst DefaultFeedBackQuestion = {\n Q1: { Q: \"受助者態度是否友善?\\n Is the requester friendly and sincere?\", A: new FormControl(null, [Validators.required]) },\n Q2: { Q: \"是否願意再次幫助?\\n Are you willing to help again?\", A: new FormControl(null, [Validators.required]) },\n Q3: { Q: \"此次服務是否順利?\\n Was the service conducted smoothly?\", A: new FormControl(null, [Validators.required]) }, \n OtherComment:{Q:\"\",A:\"\"}\n}//職員填寫義工想法或建議:","
\n
\n

重置

\n\n
\n

義工:

\n

{{ volunteer.chineseName }}

\n
\n\n
\n

對申請人評價

\n
\n
\n star\n star_border\n
\n\n

{{ '該評價由職員' | translate: {value: volunteer.volunteerCommentCreatedBy } }}

\n\n
\n \n

{{ question.value.Q }}

\n
\n \n \n \n
\n
\n \n \n
\n
\n \n \n \n

VolunteerOtherComment

\n
\n \n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { RequestListItem } from 'src/app/models/requests/request-list-item';\nimport { Service } from 'src/app/models/services/service';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { ImportService } from 'src/app/services/import/import.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-request-overview',\n templateUrl: './request-overview.component.html',\n styleUrls: ['./request-overview.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class RequestOverviewComponent implements OnInit {\n\n requests: RequestListItem[] = [];\n caches: RequestListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n services: [],\n districts: [],\n subDistricts: [],\n from: null,\n to: null,\n statuses: [],\n isDeleted: null,\n isUrgent: null,\n idOrder: null,\n dateOrder: true\n }\n\n constructor(\n private requestService: RequestService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService,\n private exportService: ExportService,\n private importService: ImportService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n\n this.importService.refreshSignal.subscribe(value => {\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.requestService.getRequests(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.requests = value.list;\n this.count = value.count;\n this.pages = value.count != 0 ? Math.ceil(value.count / this.filters.itemsPerPage) : 0;\n this.requests.forEach(request => {\n if (this.caches.find(r => r.uuId == request.uuId))\n request.selected = true;\n });\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((statuses: string[], urgent: boolean) => {\n this.filters.statuses = statuses;\n this.filters.isUrgent = urgent;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/activity/overview/request'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n deleteRequest(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestMessage(this.requestService.deleteRequests([uuId])));\n }\n\n deleteRequestList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestListMessage(this.requestService.deleteRequests(this.caches.map(r => r.uuId))));\n }\n\n cacheRequest(request: RequestListItem): void {\n if (request.selected)\n this.caches.push(request);\n else\n this.caches.splice(this.caches.findIndex(r => r.uuId == request.uuId), 1);\n }\n\n applyAgain(request: RequestListItem): void {\n this.requestService.getRequestByUUId(request.uuId)\n .subscribe(value => {\n this.requestService.form.formGroup.reset();\n this.requestService.form.volunteers = [];\n this.requestService.form.requester = value.requester.uuId;\n this.requestService.form.formGroup.controls['service'].setValue(value.service.uuId);\n this.requestService.form.formGroup.controls['start'].setValue(value.startTime);\n this.requestService.form.formGroup.controls['end'].setValue(value.endTime);\n this.requestService.form.formGroup.controls['venue'].setValue(value.venue.room.uuId);\n this.requestService.form.formGroup.controls['destination'].setValue(value.destination.room.uuId);\n this.requestService.form.formGroup.controls['numberOfVolunteer'].setValue(value.numberOfVolunteer);\n this.requestService.form.formGroup.controls['remark'].setValue(value.remark);\n this.requestService.form.formGroup.controls['transportation'].setValue(value.transportation ? value.transportation.uuId : null);\n this.router.navigate(['/main/activity/create/request']);\n });\n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.requests.forEach(r => {\n r.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == r.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.requests.filter(request => request.selected == false));\n this.requests.forEach(r => r.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.requests.every(request => request.selected == true);\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.statuses.map((s: string) => \"&statuses=\" + s).join(\"\"))\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.isUrgent ? \"&isUrgent=\" + String(this.filters.isUrgent) : \"\");\n }\n\n private getEverythingsQueryString(): string {\n return \"?start=0&limit=100000000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.statuses.map((s: string) => \"&statuses=\" + s).join(\"\"))\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.isUrgent ? \"&isUrgent=\" + String(this.filters.isUrgent) : \"\");\n }\n\n exportRequests(): void {\n if (this.caches.length > 0) {\n this.exportService.exportRequests(this.caches.map(r => r.getExportModel()), { startDate: this.filters.from, endDate: this.filters.to });\n }\n\n this.loadingService.startLoading();\n this.requestService.getRequests(this.getEverythingsQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.exportService.exportRequests(value.list.map(r => r.getExportModel()), { startDate: this.filters.from, endDate: this.filters.to });\n });\n }\n\n openImportPopup(): void {\n this.importService.importPopupSignal.emit(\"Request\");\n }\n}\n","
\n \n\n \n\n \n\n \n\n \n
\n\n
\n \n \n \n \n
\n\n\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

申請人

\n
\n
\n

電話

\n
\n
\n

服務類型

\n
\n
\n

服務日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

狀態

\n
\n
\n

時分

\n
\n
\n

義工

\n
\n
\n

操作

\n
\n
\n
\n
\n \n
\n
\n

{{ request.id }}

\n
\n
\n

{{ request.requester.chineseName }}

\n
\n
\n
\n

{{ request.requester.phone }}

\n \n
\n

\n
\n
\n

{{ request.service.name }}

\n
\n
\n

{{ request.startTime | date: 'dd-MM-yyyy' }}

\n
\n
\n
\n

等候配對

\n
\n
\n

未開始

\n
\n
\n

進行中

\n
\n
\n

已完結

\n
\n
\n

已終止

\n
\n
\n

配對超時

\n
\n
\n

超時開始

\n
\n
\n

超時結束

\n
\n

\n
\n
\n

-

\n

{{ request.actualDuration | number:'1.0-2' }}

\n
\n
\n

0\" style=\"flex-basis: 1rem;\">{{ request.JoinedVolunteers[0].chineseName }}

\n

1\">...+{{ request.JoinedVolunteers.length - 1}}

\n

\n
\n
\n

檢視

\n

移除

\n more_horiz\n
\n

重新邀請

\n

再次申請

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { forkJoin, Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Request } from 'src/app/models/requests/request';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\nimport { VolunteerService } from 'src/app/services/volunteer/volunteer.service';\n\n@Component({\n selector: 'app-request-rating',\n templateUrl: './request-rating.component.html',\n styleUrls: ['./request-rating.component.scss']\n})\nexport class RequestRatingComponent implements OnInit {\n\n @Input() request!: Request;\n @Input() reloadAction: () => void = () => { }\n\n rating: number = 0;\n ratings: number[] = [1, 2, 3, 4, 5];\n ratedBy: string | null = null;\n disabled: boolean = false;\n questions: [string, AbstractControl][] = [];\n isRequesterComment:boolean=true;\n RequesterOtherComment:[string, string]=[\"\",\"\"];\n\n constructor(\n private popupMessageService: PopupMessageService,\n private requestService: RequestService,\n private loadingService: LoadingService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n this.initRating();\n }\n\n rate(rating: number): void {\n if (this.disabled)\n return;\n this.rating = rating;\n }\n\n private initRating(): void {\n if (this.request.requestStatus == \"Finished\") {\n\n\n var volunteer = this.request.volunteers.filter(v => v.volunteerStatus == 'CheckedOut')[0];\n this.disabled = volunteer.requesterComment != null;\n this.ratedBy = volunteer.requesterCommentCreatedBy;\n this.isRequesterComment=volunteer.isRequesterComment;\n var comment: { Q1: { A: string, Q: string }, Q2: { A: string, Q: string }, Q3: { A: string, Q: string },OtherComment:{A:string,Q:string} } = JSON.parse(volunteer.requesterComment);\n\n if (comment) {\n this.disabled = true;\n this.rating = volunteer.requesterRating;\n this.questions = [\n [comment.Q1.Q, new FormControl({ value: comment.Q1.A, disabled: true })],\n [comment.Q2.Q, new FormControl({ value: comment.Q2.A, disabled: true })],\n [comment.Q3.Q, new FormControl({ value: comment.Q3.A, disabled: true })],\n ];\n this.RequesterOtherComment=[\"RequesterOtherComment\",comment.OtherComment.A];\n }\n else {\n if (this.questions.length == 0)\n this.questions = [\n [\"此次服務的義工態度是否友善?\\n Is the volunteer friendly and sincere?\", new FormControl(null, [Validators.required])],\n [\"此次服務是否準時開始?\\n Was the service started punctually?\", new FormControl(null, [Validators.required])],\n [\"用戶對此次服務內容是否滿意?\\n Are you satisfied with the service performed?\", new FormControl(null, [Validators.required])]\n ];\n this.RequesterOtherComment=[\"RequesterOtherComment\",\"\"];\n }\n }\n }\n\n answerQuestion(question: FormControl, value: string): void {\n question.setValue(value);\n }\n\n submitComment(): void {\n if (this.questions.some(q => q[1].invalid)) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidRatingMessage);\n return;\n }\n\n if (this.disabled)\n return;\n\n this.route.params.subscribe(value => {\n var json = {\n Q1: { Q: this.questions[0][0], A: this.questions[0][1].value },\n Q2: { Q: this.questions[1][0], A: this.questions[1][1].value },\n Q3: { Q: this.questions[2][0], A: this.questions[2][1].value },\n OtherComment:{Q:\"OtherComment\",A:this.RequesterOtherComment[1]}\n };\n\n var rating = {\n rating: this.rating,\n comment: JSON.stringify(json)\n };\n\n this.loadingService.startLoading();\n forkJoin({\n a: this.requestService.postRating(value.id, rating),\n b: this.requestService.postStaffComment(value.id, { Comment: this.request.staffComment })\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.SubmitCommentSuccessMessage);\n this.reloadAction();\n });\n });\n }\n\n get stars(): number[] {\n return this.ratings.filter(r => r <= this.rating);\n }\n\n get outlineStars(): number[] {\n return this.ratings.filter(r => r > this.rating);\n }\n\n get volunteerRating(): number {\n let count = 0;\n let sum = 0;\n this.request.volunteers.filter(v => v.volunteerStatus == 'CheckedOut').forEach(v => {\n if (v.volunteerComment) {\n sum += v.volunteerRating;\n count++;\n }\n });\n if (count == 0)\n return 0;\n\n return Math.ceil(sum / count);\n }\n\n get vcount(): number {\n return this.request.volunteers.filter(v => v.volunteerStatus == 'CheckedOut' && v.volunteerRating).length;\n }\n\n get vstars(): number[] {\n return this.ratings.filter(r => r <= this.volunteerRating);\n }\n\n get voutlineStars(): number[] {\n return this.ratings.filter(r => r > this.volunteerRating);\n }\n}\n","
\n
\n

對義工評價

\n
\n
\n star\n star_border\n error_outline\n

該評價視為申請人對整體義工進行評價,查看詳情可查看具體評價

\n
\n\n
\n

{{ '該評價由職員' | translate: {value: ratedBy} }}

\n
\n\n
\n

{{ question[0] }}

\n
\n \n \n \n
\n
\n
\n

RequesterOtherComment

\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n

對申請人評價

\n
\n
\n star\n star_border\n error_outline\n

該評分是經過系統收集參與義工對申請人的評價後計算的平均數值,在配對義工列表中點擊“反饋”可查看具體評價

\n
\n\n
\n

{{ '已有位參與義工評價' | translate: {value : vcount} }}

\n
\n
\n
\n\n
\n

備註

\n

{{ request.staffComment }}

\n

暫無

\n \n
\n\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-request-start-popup',\n templateUrl: './request-start-popup.component.html',\n styleUrls: ['./request-start-popup.component.scss']\n})\nexport class RequestStartPopupComponent implements OnInit {\n\n display: boolean = false;\n form: FormControl = new FormControl(new Date())\n\n constructor(\n private popupMessageService: PopupMessageService,\n private requestService: RequestService,\n private loadingService: LoadingService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n }\n\n open(): void {\n this.display = true;\n }\n\n close(): void {\n this.display = false;\n }\n\n confirm() {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.requestService.startRequest(value.id, { dateTime: this.form.value.toISOString() })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.StartRequestSuccessMessage);\n });\n });\n }\n}\n","
\n
\n

請輸用實際開始時間

\n \n\n
\n\n
\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Requester } from 'src/app/models/requests/requester';\nimport { Transaction } from 'src/app/models/transactions/transaction';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\n\n@Component({\n selector: 'app-request-subsidy',\n templateUrl: './request-subsidy.component.html',\n styleUrls: ['./request-subsidy.component.scss']\n})\nexport class RequestSubsidyComponent implements OnInit {\n\n @Input() subsidy!: Transaction | null;\n @Input() reloadAction: () => void = () => { }\n @Input() requester!: Requester;\n\n form!: FormGroup;\n editing!: boolean;\n\n constructor(\n private popupMessageService: PopupMessageService,\n private requestService: RequestService,\n private transcationService: TransactionService,\n private loadingService: LoadingService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n this.form = new FormGroup({\n isSubsidised: new FormControl(this.subsidy ? true : false),\n amount: new FormControl(this.subsidy ? this.subsidy.amount : null, [Validators.required])\n });\n\n this.editing = this.subsidy ? false : true;\n }\n\n\n subsidise(): void {\n if (this.form.invalid) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n if (this.subsidy)\n this.updateSubsidy();\n else\n this.createSubsidy();\n }\n\n private createSubsidy(): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n console.log(value);\n this.requestService.giveRequestAllowance({ requestUUId: value.id, amount: this.form.controls['amount'].value })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.editing = false;\n this.reloadAction();\n });\n });\n }\n\n private updateSubsidy(): void {\n this.route.params.subscribe(() => {\n this.loadingService.startLoading();\n this.transcationService.editTransaction(this.subsidy?.uuId as string, { amount: this.form.controls['amount'].value })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.editing = false;\n this.reloadAction();\n })\n });\n }\n\n\n get isSubsidised(): boolean {\n return this.form.controls['isSubsidised'].value;\n }\n\n}\n","
\n

中央補貼

\n
\n
\n \n\n \n
\n
\n

系統會補貼

\n \n \n \n \n

{{ subsidy.amount }}

\n
\n

時分 至

\n

{{ requester.memberId }} {{ requester.chineseName }}

\n

帳戶

\n \n

確認

\n

取消

\n
\n \n

編輯

\n
\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-request-terminate-popup',\n templateUrl: './request-terminate-popup.component.html',\n styleUrls: ['./request-terminate-popup.component.scss']\n})\nexport class RequestTerminatePopupComponent implements OnInit {\n\n @Input() reloadAction: () => void = () => { }\n\n public display: boolean = false;\n public reasons: [string, boolean][] = [\n [\"受助者日程有變\", false],\n [\"義工不足\", false],\n [\"更改申請內容\", false],\n [\"自訂原因\", false]\n ];\n public reasonText: string | null = null;\n\n constructor(\n private loadingService: LoadingService,\n private requestService: RequestService,\n private popupMessageService: PopupMessageService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n }\n\n cancelRequest(): void {\n this.route.params.subscribe(value => {\n var customReason: [string, boolean] = this.reasons.slice(this.reasons.length - 1, this.reasons.length)[0];\n var model: { CancelRequestReason: string } = {\n CancelRequestReason: this.reasons.some(reason => reason[1]) ?\n (this.reasons\n .slice(0, this.reasons.length - 1)\n .filter(reason => reason[1])\n .map(reason => reason[0])\n .concat()\n .join() + (customReason[1] ? \",\" + this.reasonText : \"\")) : (customReason[1] ? \",\" + this.reasonText : \"\")\n }\n\n this.loadingService.startLoading();\n this.requestService.cancelRequest(value.id, model)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.close()\n this.popupMessageService.messageSignal.emit(PopupMessages.CancelRequestSuccessMessage);\n this.reloadAction()\n });\n })\n }\n\n open() {\n this.display = true;\n }\n\n close(): void {\n this.reasons.forEach(reason => reason[1] = false);\n this.reasonText = null;\n this.display = false;\n }\n}\n","
\n
\n

請選譯中止原因

\n\n \n\n \n\n
\n \n \n
\n
\n
","
\n info\n\n
\n
\n

推薦總分

\n

{{ sum }}

\n
\n\n
\n
\n

可提供服務

\n

+{{ hinDetail.service }}

\n
\n info\n

不適合

\n
\n
\n\n
\n

空閒時間

\n

+{{ hinDetail.availability_start + hinDetail.availability_end }}

\n
\n info\n

沒有空閒

\n
\n
\n\n
\n

健康/居住條件

\n

+{{ hinDetail.condition }}

\n
\n info\n

條件相斥

\n
\n
\n\n
\n

地理位置

\n

+{{ hinDetail.address }}

\n
\n info\n

位置較遠

\n
\n
\n\n
\n

用戶反饋

\n

+{{ hinDetail.completed + hinDetail.failed }}

\n
\n info\n

評分較低

\n
\n
\n
\n
\n\n
\n

沒有評分

\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { IHINRemark, IHINDetail } from 'src/app/models/requests/volunteer-choice';\n\n@Component({\n selector: 'app-volunteer-score-popup',\n templateUrl: './volunteer-score-popup.component.html',\n styleUrls: ['./volunteer-score-popup.component.scss']\n})\nexport class VolunteerScorePopupComponent implements OnInit {\n @Input() hinRemark!: IHINRemark;\n @Input() hinDetail!: IHINDetail;\n\n display: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n get sum(): number {\n console.log(this.hinDetail);\n if(this.hinDetail == null)\n return 0;\n\n return this.hinDetail.service\n + this.hinDetail.availability_start \n + this.hinDetail.availability_end \n + this.hinDetail.condition \n + this.hinDetail.address \n + this.hinDetail.completed \n + this.hinDetail.failed;\n }\n}\n","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { Profile } from \"src/app/models/profiles/profile\";\nimport { CreateRequestModel } from \"src/app/models/requests/create-request-model\";\nimport { VolunteerChoice } from \"src/app/models/requests/volunteer-choice\";\n\nexport class CreateRequestForm {\n requester: string | null;\n formGroup: FormGroup;\n volunteers: VolunteerChoice[];\n\n constructor() {\n this.requester = null;\n this.formGroup = new FormGroup({\n serviceType: new FormControl(null, Validators.required),\n service: new FormControl(null, Validators.required),\n date: new FormControl(null, [Validators.required]),\n start: new FormControl(null, [Validators.required]),\n end: new FormControl(null, [Validators.required]),\n noEndTime: new FormControl(false),\n venue: new FormControl(null, [Validators.required]),\n destination: new FormControl(null),\n numberOfVolunteer: new FormControl(null, [Validators.required, Validators.min(1), Validators.max(50)]),\n remark: new FormControl(null),\n transportation: new FormControl(null)\n })\n this.volunteers = [];\n\n this.formGroup.controls['date'].valueChanges.subscribe((date: Date) => {\n if (date == null)\n return;\n\n let start: Date = this.formGroup.controls['start'].value\n if (start != null) {\n start.setDate(date.getDate());\n start.setMonth(date.getMonth());\n start.setFullYear(date.getFullYear());\n this.formGroup.controls['start'].setValue(new Date(start));\n }\n else {\n this.formGroup.controls['start'].setValue(new Date(date));\n }\n\n let end: Date = this.formGroup.controls['end'].value\n if (end != null) {\n end.setDate(date.getDate());\n end.setMonth(date.getMonth());\n end.setFullYear(date.getFullYear());\n this.formGroup.controls['end'].setValue(new Date(end));\n }\n else {\n this.formGroup.controls['end'].setValue(new Date(date));\n }\n });\n\n this.formGroup.controls['noEndTime'].valueChanges.subscribe((value) => {\n if (value == true || this.formGroup.controls['noEndTime'].disabled)\n this.formGroup.controls['end'].disable();\n else\n this.formGroup.controls['end'].enable();\n });\n\n this.formGroup.controls['serviceType'].valueChanges.subscribe(value => {\n this.formGroup.controls['service'].setValue(null);\n })\n\n this.formGroup.controls['start'].valueChanges.subscribe(() => {\n this.validateDate();\n });\n\n this.formGroup.controls['end'].valueChanges.subscribe(() => {\n setTimeout(() => this.validateDate(), 100);\n });\n }\n\n validateDate(): void {\n if (this.formGroup.controls['start'].value == null || this.formGroup.controls['end'].value == null)\n return;\n if (this.formGroup.controls['start'].invalid || this.formGroup.controls['end'].invalid)\n return;\n if (this.formGroup.controls['start'].value as Date >= (this.formGroup.controls['end'].value as Date))\n this.formGroup.controls['end'].setErrors({ invalid: true })\n }\n\n get valid(): boolean {\n return this.formGroup.valid;\n }\n\n reset(): void {\n this.requester = null;\n this.volunteers = [];\n this.formGroup.reset();\n }\n\n getCreateRequestModel(): CreateRequestModel {\n return {\n originalRequestUUId: null,\n addressUUId: this.formGroup.controls['venue'].value,\n destinationUUId: this.formGroup.controls['destination'].value,\n service: this.formGroup.controls['service'].value,\n startTime: this.formGroup.controls['start'].value,\n endTime: this.formGroup.controls['noEndTime'].value == true ? null : this.formGroup.controls['end'].value,\n remark: this.formGroup.controls['remark'].value,\n numberOfVolunteer: this.formGroup.controls['numberOfVolunteer'].value,\n transportationUUId: this.formGroup.controls['transportation'].value,\n extraRequestJson: null\n };\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from \"@angular/forms\";\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Request } from 'src/app/models/requests/request';\nimport { Transportation } from 'src/app/models/transportations/transportation';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\nimport { TransportationService } from 'src/app/services/transportation/transportation.service';\n\n@Component({\n selector: 'app-request-detail-page',\n templateUrl: './request-detail-page.component.html',\n styleUrls: ['./request-detail-page.component.scss']\n})\nexport class RequestDetailPageComponent implements OnInit {\n\n request!: Request;\n transportations: Transportation[] = [];\n lang: string = this.translateService.currentLang;\n editing = false;\n remarkEdit=false;\n worker!: any;\n remark=new FormControl();\n\n\n constructor(\n private requestService: RequestService,\n private route: ActivatedRoute,\n private loadingService: LoadingService,\n private translateService: TranslateService,\n private transportationService: TransportationService,\n private router: Router,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.fetch()\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n\n this.router.events.subscribe(() => {\n clearInterval(this.worker);\n })\n\n this.worker = setInterval(() => {\n if (this.request.requestStatus == 'Finished')\n return;\n this.refresh();\n }, 10000)\n }\n\n fetch(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading()\n forkJoin({\n request: this.requestService.getRequestByUUId(value.id),\n transportations: this.transportationService.getTransportationList()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n\n this.request = value.request;\n this.transportations = value.transportations;\n this.remark=new FormControl(this.request.remark);\n });\n })\n }\n\n refresh(): void {\n this.route.params.subscribe(value => {\n this.requestService.getRequestByUUId(value.id)\n .subscribe(value => {\n this.request = value;\n });\n })\n }\n\n approve(): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n this.requestService.approveRequest(value.id)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => this.fetch());\n });\n }\n\n finish(): void {\n this.loadingService.startLoading();\n this.route.params.subscribe(value => {\n this.requestService.finishRequest(value.id)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => this.fetch());\n });\n }\n\n\n reloadAction: () => void = (() => {\n this.fetch();\n }).bind(this)\n\n saveCancelDetail():void{\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.requestService.cancelRequestReason(value.id, { CancelRequestReason: this.request.cancelRemark})\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.CancelRequestSuccessMessage);\n this.reloadAction()\n });\n });\n }\n \n updateRequest(): void {\n if (this.request.actualStartForm.value == null || this.request.actualStartForm.value == null) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n if (this.request.actualStartForm.value > this.request.actualEndForm.value) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidTimeMessage);\n return;\n }\n\n var cot = new Date(this.request.actualStartForm.value as Date);\n cot.setHours((this.request.actualEndForm.value as Date).getHours());\n cot.setMinutes((this.request.actualEndForm.value as Date).getMinutes());\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n forkJoin({\n request: this.requestService.editCheckInCheckOutTime(value.id, {\n CheckInTime: (this.request.actualStartForm.value as Date).toJSON(),\n CheckOutTime: cot.toJSON()\n }),\n transportation: this.transportationService.editRequestTransportation(value.id, this.request.transportationForm.value)\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.editing=false;\n this.popupMessageService.messageSignal.emit(PopupMessages.EditRequestSuccessMessage);\n this.fetch();\n })\n })\n }\n updateRequestRemark():void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.requestService.editRemark(value.id,{Remark:this.remark.value})\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.remarkEdit=false;\n this.popupMessageService.messageSignal.emit(PopupMessages.EditRequestSuccessMessage);\n this.fetch();\n })\n });\n }\n updateRequestTransportation(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.transportationService.editRequestTransportation(value.id, this.request.transportationForm.value)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.editing=false;\n this.popupMessageService.messageSignal.emit(PopupMessages.EditRequestSuccessMessage);\n this.fetch();\n })\n })\n }\n}\n","
\n
\n

請求/訂單

\n

/

\n

記錄詳情

\n
\n\n

記錄詳情

\n\n
\n\n
\n

{{ '記錄編號:' | translate: {value: request.id} }}

\n

{{ '創建時間:' | translate: {value: request.createdAt | date: 'yyyy-MM-dd HH:mm'} }}

\n
\n\n
\n\n \n\n \n \n\n
\n info\n

{{ '代理人代為申請該義工服務' | translate: {value1: request.agent.chineseName, value2: request.agent.phone} }}

\n
\n\n
\n

申請服務

\n

{{ request.service.type }} - {{ request.service.name }}

\n
\n\n
\n

記錄狀態

\n
\n

等候配對

\n
\n
\n

未開始

\n
\n
\n

進行中

\n
\n
\n

已完結

\n
\n
\n

已終止

\n
\n
\n

配對超時

\n
\n
\n

超時開始

\n
\n
\n

超時結束

\n
\n
\n\n
\n

聯絡電話

\n

{{ request.requester.phone}}

\n
\n\n \n\n \n
\n

預計開始

\n

{{ request.startTime | date: 'hh:mm aa' }},{{ request.startTime | date: 'longDate': '': lang }}

\n
\n
\n\n \n
\n

開始時間

\n\n \n

{{ request.checkInTime | date: 'hh:mm aa' }}

\n

編輯

\n
\n

確定

\n \n \n

確定

\n

取消

\n
\n
\n
\n\n \n\n \n
\n

預計結束

\n

{{ request.endTime | date: 'hh:mm aa' }},{{ request.endTime | date: 'longDate': '': lang }}

\n
\n
\n\n \n
\n

結束時間

\n \n

{{ request.checkOutTime | date: 'hh:mm aa' }}

\n

編輯

\n
\n\n \n \n

確定

\n

取消

\n
\n
\n
\n\n\n
\n

提醒時限

\n

15 分鐘

\n
\n\n
\n

交通工具

\n \n

自行選擇

\n

{{ request.transportation.name }}

\n

編輯

\n
\n\n \n
\n \n
\n

確定

\n

取消

\n
\n
\n\n
\n

備註

\n\n

{{ request.remark }}

\n

\n \n
\n \n \n
\n

確定

\n

取消

\n
\n
\n
\n \n

編輯

\n \n
\n
\n\n
\n

邀請義工

\n

正在等候配對,尚未有義工接受邀請

\n

已有義工接受邀請,尚未進行配對

\n

超過時限,未有義工接受邀請

\n

超過時限,尚未進行配對

\n

尚未到服務日期

\n

超過時限,服務尚未確認開始

\n

服務正在進行中

\n

超過時限,服務尚未確認結束

\n

服務已確認結束

\n
\n\n \n\n \n \n\n \n \n\n
\n \n \n \n \n \n
\n
\n
\n\n
\n\n
\n
\n
\n

會員姓名

\n

{{ request.requester.chineseName }}

\n

{{ request.requester.englishName }}

\n
\n\n
\n

會員編號

\n

{{ request.requester.memberId }}

\n
\n \n
\n

聯絡電話

\n

{{ request.requester.phone}}

\n
\n\n
\n

身體狀況

\n

\n\n
0\">\n
\n
\n

{{ health.name }}

\n visibility\n visibility_off\n
\n
\n
\n
\n\n
\n

緊急聯絡人

\n

沒有緊急聯絡人

\n

{{ request.requester.contactPersonName }}

\n

({{ request.requester.contactPersonPhoneNumber }})

\n
\n\n
\n\n
\n

服務日期

\n

{{ request.startTime | date: 'longDate': '' : lang }}

\n
\n\n
\n

預計開始

\n

{{ request.startTime | date: 'hh:mm aa' }}

\n
\n\n
\n

預計結束

\n

{{ request.endTime | date: 'hh:mm aa' }}

\n
\n\n
\n

地址

\n

{{ request.venue.toString() }}

\n
\n\n
\n

目的地

\n

{{ request.destination.toString() }}

\n
\n\n
\n

義工數量

\n

{{ request.numberOfVolunteer }}

\n
\n\n
\n

備註

\n

{{ request.remark }}

\n

\n
\n\n
\n

邀請義工

\n
\n

{{ volunteer.chineseName }} ({{ volunteer.phone }})

\n
\n
\n
\n
\n
\n\n\n\n\n\n\n
\n
\n

1

\n check\n
\n
\n

等候配對

\n
\n
\n

該請求正在等候配對

\n
\n
\n\n
\n

2

\n check\n
\n
\n

未開始

\n
\n
\n

服務正在等待開始

\n
\n
\n\n
\n

3

\n check\n
\n
\n

進行中

\n
\n
\n

服務正在進行中

\n
\n
\n\n
\n

4

\n
\n
\n

已完結

\n
\n

服務已經確認結束

\n
\n
\n
\n
\n\n\n\n
\n add_circle\n

該記錄已終止

\n
\n\n
\n

記錄狀態

\n
\n

已終止

\n
\n
\n\n
\n

預計開始

\n

{{ request.startTime | date: 'hh:mm aa' }},{{ request.startTime | date: 'longDate': '': lang }}

\n
\n\n
\n

預計結束

\n

{{ request.endTime | date: 'hh:mm aa' }},{{ request.endTime | date: 'longDate': '': lang }}

\n
\n\n
\n

終止原因

\n
\n \n
\n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-select-requester-page',\n templateUrl: './select-requester-page.component.html',\n styleUrls: ['./select-requester-page.component.scss']\n})\nexport class SelectRequesterPageComponent implements OnInit {\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: string[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private requestService: RequestService,\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n\n // this.route.params.subscribe(value => {\n // this.caches = this.requestService.form.requester ? [this.requestService.form.requester] : [];\n // })\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(profile.uuId);\n else\n this.caches.splice(this.caches.findIndex(u => u == profile.uuId), 1);\n }\n\n changePage(): void {\n this.router.navigate(['/main/activity/create/request/select-requester'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n submit(): void {\n if (this.caches.length == 0) {\n this.requestService.form.requester = null;\n this.router.navigate(['/main/activity/create/request']);\n return;\n }\n\n this.requestService.form.requester = this.caches[0];\n this.router.navigate(['/main/activity/create/request']);\n }\n\n back(): void {\n this.router.navigate(['/main/activity/create/request']);\n }\n\n get selectedUser(): string | null {\n return this.caches.length > 0 ? this.caches[0] : null;\n }\n}\n","
\n
\n

請求/訂單

\n

/

\n

創建請求

\n

/

\n

用戶請求

\n
\n\n

用戶列表

\n\n
\n
\n \n\n
\n \n \n \n \n \n\n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n = 1 && selectedUser != profile.uuId\">\n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { VolunteerChoice } from 'src/app/models/requests/volunteer-choice';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\nimport { VolunteerService } from 'src/app/services/volunteer/volunteer.service';\n\n@Component({\n selector: 'app-select-volunteers-page',\n templateUrl: './select-volunteers-page.component.html',\n styleUrls: ['./select-volunteers-page.component.scss']\n})\nexport class SelectVolunteersPageComponent implements OnInit {\n\n volunteers: VolunteerChoice[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n livingConditions: [],\n conditions: [],\n healths: [],\n genders: [],\n matchedBefore: false,\n memberIdOrder: null,\n timeBalanceOrder: null,\n cellGroup:[],\n subDistricts:[]\n }\n\n constructor(\n private volunteerService: VolunteerService,\n private requestService: RequestService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private location: Location,\n private popupMessageService: PopupMessageService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.route.params.subscribe(value => {\n if (value.id == null) {\n if (this.requestService.form.valid == false) {\n this.location.back();\n return;\n }\n\n this.fetchByForm();\n return;\n }\n\n this.fetchByRequest();\n });\n }\n\n fetchByForm(): void {\n this.loadingService.startLoading();\n this.volunteerService.searchVolunteers({\n regions: [],\n districts: [],\n service: this.requestService.form.formGroup.controls['service'].value,\n startTime: (this.requestService.form.formGroup.controls['start'].value as Date).toISOString(),\n endTime: this.requestService.form.formGroup.controls['noEndTime'].value == true ? null : (this.requestService.form.formGroup.controls['end'].value as Date).toISOString(),\n requesterUUId: this.requestService.form.requester,\n addressUUId: this.requestService.form.formGroup.controls['venue'].value,\n numberOfVolunteer: this.requestService.form.formGroup.controls['numberOfVolunteer'].value\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(result => {\n this.volunteers = result;\n this.volunteers.filter(v => this.requestService.form.volunteers.map(vs => vs.userUUId).includes(v.userUUId)).forEach(v => v.selected = true);\n })\n }\n\n fetchByRequest(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n forkJoin({\n volunteers: this.volunteerService.searchVolunteersByRequest(value.id, {\n regions: [],\n districts: [],\n }),\n request: this.requestService.getRequestByUUId(value.id)\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(result => {\n this.volunteers = result.volunteers;\n this.volunteers.filter(v => result.request.volunteers.map(volunteer => volunteer.userUUId).includes(v.userUUId))\n .forEach(v => {\n v.selected = true;\n v.disabled = true;\n })\n })\n })\n }\n\n get filteredVolunteers(): VolunteerChoice[] {\n \n let results = this.volunteers\n .filter(volunteer =>\n (this.filters.searchInput == null || volunteer.chineseName.includes(this.filters.searchInput) || volunteer.memberId.includes(this.filters.searchInput))\n && (this.filters.matchedBefore == false || volunteer.isMatched == true)\n && (this.filters.centers.length == 0 || this.filters.centers.map((c: Center) => c.uuId).includes(volunteer.center.uuId))\n && (this.filters.districts.length == 0 || this.filters.districts.includes(volunteer.defaultDistrict.name))\n && (this.filters.subDistricts.length==0 || this.filters.subDistricts.find((sd:string)=>volunteer.defaultAddress.indexOf(sd)>-1))\n && (this.filters.genders.length == 0 || this.filters.genders.includes(volunteer.gender))\n && (this.filters.cellGroup.length==0||this.filters.cellGroup.find((cellgroup:CellGroup)=>\n typeof volunteer.cellGroups!=\"undefined\"&&\n volunteer.cellGroups.find((vcg:CellGroup)=>\n vcg.uuId==cellgroup.uuId\n ))\n )\n )\n\n if (this.filters.memberIdOrder !== null)\n if (this.filters.memberIdOrder === true)\n return results.sort((a, b) => a.memberId > b.memberId ? 1 : a.memberId < b.memberId ? -1 : 0);\n else\n return results.sort((b, a) => a.memberId > b.memberId ? 1 : a.memberId < b.memberId ? -1 : 0);\n\n if (this.filters.timeBalanceOrder !== null)\n if (this.filters.timeBalanceOrder === true)\n return results.sort((a, b) => a.timeBalance > b.timeBalance ? 1 : a.timeBalance < b.timeBalance ? -1 : 0);\n else\n return results.sort((b, a) => a.timeBalance > b.timeBalance ? 1 : a.timeBalance < b.timeBalance ? -1 : 0);\n\n return results;\n }\n submit(): void {\n this.route.params.subscribe(value => {\n if (value.id == null) {\n this.requestService.form.volunteers = this.selectedVolunteers;\n this.router.navigate(['/main/activity/create/request']);\n return;\n }\n\n this.loadingService.startLoading();\n this.requestService.inviteVolunteers(value.id, { volunteersUUId: this.selectedVolunteers.filter(v => v.disabled == false).map(v => v.userUUId) })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.popupMessageService.messageSignal.emit(PopupMessages.InviteVolunteerSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/activity/overview/request', value.id]);\n })\n ))\n });\n })\n }\n\n get displayedVolunteers(): VolunteerChoice[] {\n return this.filteredVolunteers.splice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get pages(): number {\n return Math.ceil(this.filteredVolunteers.length / this.filters.itemsPerPage);\n }\n\n get isSelectedAll(): boolean {\n return this.filteredVolunteers.every(v => v.selected);\n }\n\n get isSelectedPage(): boolean {\n return this.displayedVolunteers.every(v => v.selected)\n }\n\n get selectedVolunteers(): VolunteerChoice[] {\n return this.volunteers.filter(v => v.selected);\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.filteredVolunteers.forEach(v => v.selected = false);\n else\n this.filteredVolunteers.forEach(v => v.selected = true);\n }\n\n selectPage(): void {\n if (this.isSelectedPage)\n this.displayedVolunteers.forEach(v => v.selected = false);\n else\n this.displayedVolunteers.forEach(v => v.selected = true);\n }\n\n back(): void {\n this.location.back();\n }\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n }).bind(this);\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n })\n\n addressFilterAction: (addresses: string[], subDistricts: string[]) => void = ((addresses: string[], subDistricts: string[]) => {\n console.log(\"addressFilterAction\",addresses,subDistricts);\n this.filters.districts = addresses;\n this.filters.subDistricts=subDistricts;\n this.filters.page = 1;\n })\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n }).bind(this);\n\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n this.filters.page = 1;\n }).bind(this);\n}\n","
\n
\n

請求/訂單

\n

/

\n

創建請求

\n

/

\n

用戶請求

\n
\n\n

義工列表

\n\n
\n
\n \n\n
\n \n \n \n \n
\n\n \n\n \n
\n
\n \n
\n
\n

推薦排名

\n
\n
\n

用戶編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

中文姓名

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

中心

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ volunteer.recommendNum + 1 }}

\n \n

\n
\n
\n

{{ volunteer.memberId }}

\n
\n
\n

{{ volunteer.chineseName }}

\n
\n
\n

{{ volunteer.gender | translate }}

\n
\n
\n

{{ volunteer.age }}

\n
\n
\n

{{ volunteer.center.name }}

\n
\n
\n

{{ volunteer.phone }}

\n \n

\n
\n
\n

{{ volunteer.defaultAddress }}

\n
\n
\n

{{ volunteer.timeBalance }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ selectedVolunteers.length }}

\n

位義工

\n \n

勾選全部

\n \n

只顯示曾經配對過

\n
\n\n
\n

合計

\n

{{ volunteers.length }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShareModule } from '../share/share.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RequestOverviewComponent } from './components/request-overview/request-overview.component';\nimport { RouterModule } from '@angular/router';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RequestCreateComponent } from './components/request-create/request-create.component';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { SelectRequesterPageComponent } from './pages/select-requester-page/select-requester-page.component';\nimport { SelectVolunteersPageComponent } from './pages/select-volunteers-page/select-volunteers-page.component';\nimport { VolunteerScorePopupComponent } from './components/volunteer-score-popup/volunteer-score-popup.component';\nimport { RequestDetailPageComponent } from './pages/request-detail-page/request-detail-page.component';\nimport { RequestDetailVolunteerTableComponent } from './components/request-detail-volunteer-table/request-detail-volunteer-table.component';\nimport { RequestFeedbackPopupComponent } from './components/request-feedback-popup/request-feedback-popup.component';\nimport { RequestStartPopupComponent } from './components/request-start-popup/request-start-popup.component';\nimport { RequestTerminatePopupComponent } from './components/request-terminate-popup/request-terminate-popup.component';\nimport { RequestSubsidyComponent } from './components/request-subsidy/request-subsidy.component';\nimport { RequestRatingComponent } from './components/request-rating/request-rating.component';\n\n\n\n@NgModule({\n declarations: [\n RequestOverviewComponent,\n RequestCreateComponent,\n SelectRequesterPageComponent,\n SelectVolunteersPageComponent,\n VolunteerScorePopupComponent,\n RequestDetailPageComponent,\n RequestDetailVolunteerTableComponent,\n RequestFeedbackPopupComponent,\n RequestStartPopupComponent,\n RequestTerminatePopupComponent,\n RequestSubsidyComponent,\n RequestRatingComponent\n ],\n imports: [\n CommonModule,\n ShareModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n RouterModule,\n MatTooltipModule,\n MatDatepickerModule\n ]\n})\nexport class RequestModule { }\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Region } from 'src/app/models/addresses/region';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-address-filter',\n templateUrl: './address-filter.component.html',\n styleUrls: ['./address-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class AddressFilterComponent implements OnInit {\n\n @Input() action: (regions: string[], subDistricts: string[]) => void = () => { }\n form: FormControl = new FormControl(null);\n display: boolean = false;\n\n regions: Region[] = [\n new Region(\"香港島\", [\"中西區\", \"東區\", \"南區\", \"灣仔區\"]),\n new Region(\"九龍\", [\"九龍城區\", \"觀塘區\", \"深水埗區\", \"黃大仙區\", \"油尖旺區\"]),\n new Region(\"新界\", [\"葵青區\", \"荃灣區\", \"屯門區\", \"元朗區\", \"西貢區\", \"大埔區\", \"離島區\", \"沙田區\", \"北區\"])\n ];\n\n subDistricts: string[] = [];\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n toggle(): void {\n if(this.form.value!=\"\"){\n this.addSubDistrict();\n }\n if (this.display == true) {\n this.action(\n this.regions.map(r => r.districts.filter(d => d.selected)).reduce((merged, value) => merged.concat(value)).map(v => v.name),\n this.subDistricts\n );\n }\n this.display = !this.display;\n }\n\n reset(): void {\n this.regions.forEach(region => region.reset());\n this.subDistricts = [];\n }\n\n addSubDistrict(): void {\n if (this.form.value == null)\n return;\n this.subDistricts.push(this.form.value);\n this.form.reset();\n }\n\n removeSubDistrict(index: number): void {\n this.subDistricts.splice(index, 1);\n }\n\n get numberOfSelectedAddresses(): number {\n return this.regions.map(r => r.districts.filter(d => d.selected).length).reduce((sum, length) => sum + length, 0)+ this.subDistricts.length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n location_on\n

0\">{{ numberOfSelectedAddresses }}

\n

分區

\n
\n
\n
\n

分區

\n

清除

\n
\n\n
\n

{{ subDistrict }}close

\n \n
\n\n
\n \n \n \n \n\n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Region } from 'src/app/models/addresses/region';\nimport { Living } from 'src/app/models/livings/living';\nimport { AddressForm } from '../../forms/address-form';\n\n@Component({\n selector: 'app-address-form',\n templateUrl: './address-form.component.html',\n styleUrls: ['./address-form.component.scss']\n})\nexport class AddressFormComponent implements OnInit {\n\n @Input() index: number = 1;\n @Input() form: AddressForm = new AddressForm();\n @Input() dropAction: (index: number) => void = () => { }\n\n public regions: Region[] = [\n new Region(\"香港島\", [\"中西區\", \"東區\", \"南區\", \"灣仔區\"]),\n new Region(\"九龍\", [\"九龍城區\", \"觀塘區\", \"深水埗區\", \"黃大仙區\", \"油尖旺區\"]),\n new Region(\"新界\", [\"葵青區\", \"荃灣區\", \"屯門區\", \"元朗區\", \"西貢區\", \"大埔區\", \"離島區\", \"沙田區\", \"北區\"])\n ];\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n livingPopupAction = ((livings: Living[]) => {\n this.form.livings = livings;\n }).bind(this);\n\n dropAddress(): void {\n this.dropAction(this.index - 1);\n }\n\n dropLiving(index: number): void {\n this.form.livings.splice(index, 1);\n }\n\n get district(): AbstractControl {\n return this.form.formGroup.controls['district'];\n }\n\n get selectedRegion(): Region | undefined {\n return this.regions.find(r => r.name == this.form.formGroup.controls['region'].value);\n }\n}\n","
\n
\n

預設地址

\n

1\" (click)=\"dropAddress()\" translate>移除

\n
\n\n
\n
\n

{{ '地址#' | translate: {value: index} }}

\n
\n
\n \n
\n\n
\n \n
\n\n \n \n \n \n \n \n \n
\n
\n\n
\n

{{ '居住條件 #' | translate: {value: index} }}

\n
\n
\n
\n

{{ living.name }}

\n close\n
\n
\n add_circle\n
\n
\n\n \n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-announcement-date-range-filter',\n templateUrl: './announcement-date-range-filter.component.html',\n styleUrls: ['./announcement-date-range-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class AnnouncementDateRangeFilterComponent implements OnInit {\n\n lang: string = this.translateService.currentLang;\n\n @Input() action: (start: Date, end: Date) => void = () => { }\n form: FormGroup = new FormGroup({\n start: new FormControl(null),\n end: new FormControl(null)\n });\n display: boolean = false;\n\n constructor(\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n })\n }\n\n public toggle(): void {\n if (this.end.value != null)\n (this.end.value).setHours(23, 59, 59);\n\n if (this.display == true) {\n this.action(this.start.value, this.end.value);\n }\n this.display = !this.display;\n\n }\n\n clear(): void {\n this.form.reset();\n }\n\n get start(): AbstractControl {\n return this.form.controls['start'];\n }\n\n get end(): AbstractControl {\n return this.form.controls['end'];\n }\n}\n","
\n date_range\n

發布日期

\n
\n
\n \n

\n \n\n
\n \n \n
\n\n \n \n \n \n \n
\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-announcement-status-filter',\n templateUrl: './announcement-status-filter.component.html',\n styleUrls: ['./announcement-status-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class AnnouncementStatusFilterComponent implements OnInit {\n\n @Input() action: (statuses: string[]) => void = () => { }\n statuses = [\n { name: \"未發布\", selected: false, value: 'Pending' },\n { name: \"已發布\", selected: false, value: 'Announced' },\n { name: \"已修改\", selected: false, value: 'Edited' },\n { name: \"已終止\", selected: false, value: 'Deactivated' },\n { name: \"已完結\", selected: false, value: 'Expired' }\n ];\n display: boolean = false;\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n reset(): void {\n this.statuses.forEach(status => status.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.statuses.filter(status => status.selected).map(status => status.value));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedStatuses(): number {\n return this.statuses.filter(status => status.selected).length;\n }\n\n}\n","
0}\" (click)=\"toggle()\">\n local_offer\n

0\">{{ numberOfSelectedStatuses }}

\n

狀態

\n
\n
\n
\n

狀態

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { forkJoin } from 'rxjs';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Living } from 'src/app/models/livings/living';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { CellGroupService } from 'src/app/services/cell-group/cell-group.service';\n\n@Component({\n selector: 'app-cell-group-filter',\n templateUrl: './cell-group-filter.component.html',\n styleUrls: ['./cell-group-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class CellGroupFilterComponent implements OnInit {\n\n \n @Input() action: (centers:Center[]) => void = () => { \n\n\n\n }\n \n centers:Center[]=[];\n display: boolean = false;\n\n constructor(\n private cellGroupService: CellGroupService\n ) { }\n\n ngOnInit(): void {\n \n this.fetch();\n }\n\n fetch(): void {\n forkJoin({\n centers: this.cellGroupService.getCenterCellGroupList()\n }).subscribe({\n next: value => {\n this.centers = value.centers;\n \n }\n });\n }\n\n reset(): void {\n this.centers.forEach(item=>{\n item.cellGroups.forEach(e=>{\n e.selected=false;\n })\n });\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(\n this.centers\n \n );\n }\n this.display = !this.display;\n }\n\n selectCellGroups():void{\n \n }\n\n get numberOfSelectedItems(): number {\n \n return this.centers.reduce((preVal,current)=>{\n return current.cellGroups.reduce((p,c)=>{\n return p+(c.selected?1:0);\n }\n ,preVal\n );\n return 0;\n },0);\n }\n}\n","
0}\" (click)=\"toggle()\">\n favorite_border\n

0\">{{ numberOfSelectedItems }}

\n

細胞小組

\n
\n
\n
\n

細胞小組(最多可篩選30個小組)

\n

清除

\n
\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n\n
\n
\n\n
","
\n
\n
\n

細胞小組

\n

重置

\n
\n\n
\n \n
\n\n
\n\n
\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { CellGroupService } from 'src/app/services/cell-group/cell-group.service';\n\n@Component({\n selector: 'app-cell-group-popup',\n templateUrl: './cell-group-popup.component.html',\n styleUrls: ['./cell-group-popup.component.scss']\n})\nexport class CellGroupPopupComponent implements OnInit {\n\n @Input() action: (cellGroups: CellGroup[]) => void = () => { };\n cellGroups: CellGroup[] = [];\n display: boolean = false;\n\n constructor(\n private cellGroupService: CellGroupService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.cellGroupService.getCellGroupList()\n .subscribe({\n next: value => {\n this.cellGroups = value\n }\n });\n }\n\n open(cellGroups: CellGroup[]): void {\n this.cellGroups.filter(cellGroup => cellGroups.some(c => c.uuId == cellGroup.uuId))\n .forEach(cellGroup => cellGroup.selected = true);\n this.display = true;\n }\n\n close(): void {\n this.display = false;\n this.reset();\n }\n\n confirm(): void {\n this.action(this.cellGroups.filter(cellGroup => cellGroup.selected));\n this.close();\n }\n\n reset(): void {\n this.cellGroups.forEach(cellGroup => cellGroup.selected = false);\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Center } from 'src/app/models/centers/center';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { CenterService } from 'src/app/services/center/center.service';\n\n@Component({\n selector: 'app-center-filter',\n templateUrl: './center-filter.component.html',\n styleUrls: ['./center-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class CenterFilterComponent implements OnInit {\n\n @Input() action: (centers: Center[]) => void = () => { }\n centers: Center[] = [];\n display: boolean = false;\n\n constructor(\n private centerService: CenterService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.centerService.getCenters()\n .subscribe({\n next: value => {\n this.centers = value;\n }\n });\n }\n\n reset(): void {\n this.centers.forEach(center => center.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.centers.filter(center => center.selected));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedCenters(): number {\n return this.centers.filter(center => center.selected).length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n \n

0\">{{ numberOfSelectedCenters }}

\n

中心代碼

\n
\n
\n
\n

中心代碼

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","
\n
\n
\n

選定中心

\n

重置

\n
\n\n
\n \n
\n\n
\n\n
\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Center } from 'src/app/models/centers/center';\nimport { CenterService } from 'src/app/services/center/center.service';\n\n@Component({\n selector: 'app-center-popup',\n templateUrl: './center-popup.component.html',\n styleUrls: ['./center-popup.component.scss']\n})\nexport class CenterPopupComponent implements OnInit {\n\n centers: Center[] = [];\n display: boolean = false;\n @Input() action: (centers: Center[]) => void = () => { }\n\n constructor(\n private centerService: CenterService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.centerService.getRedeemCenters()\n .subscribe({\n next: value => {\n this.centers = value;\n }\n });\n }\n\n open(centers: Center[]): void {\n this.display = true\n this.centers.forEach(center => {\n center.selected = false;\n if (centers.some(c => c.uuId == center.uuId))\n center.selected = true;\n });\n }\n\n close(): void {\n this.action(this.centers.filter(center => center.selected == true));\n this.display = false;\n }\n\n confirm(): void {\n this.action(this.centers.filter(center => center.selected));\n this.close();\n }\n\n reset(): void {\n this.centers.forEach(center => center.selected = false);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { forkJoin } from 'rxjs';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { HealthService } from 'src/app/services/health/health.service';\nimport { LivingService } from 'src/app/services/living/living.service';\n\n@Component({\n selector: 'app-condition-filter',\n templateUrl: './condition-filter.component.html',\n styleUrls: ['./condition-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class ConditionFilterComponent implements OnInit {\n\n @Input() action: (genders: string[], healths: Health[], livings: Living[], birthdayFrom: Date | null, birthdayTo: Date | null) => void = () => { }\n livings: Living[] = [];\n healths: Health[] = [];\n genders = [\n { name: \"只顯示男\", selected: false, value: 'M' },\n { name: \"只顯示女\", selected: false, value: 'F' }\n ];\n\n ageFromGroup = new FormGroup({\n from: new FormControl(null, [Validators.required, Validators.min(0)]),\n to: new FormControl(null, [Validators.required, Validators.min(0)])\n });\n\n display: boolean = false;\n\n constructor(\n private healthService: HealthService,\n private livingService: LivingService\n ) { }\n\n ngOnInit(): void {\n this.ageFromGroup.valueChanges.subscribe(value => {\n if (value.to < value.from) {\n this.ageFromGroup.controls['to'].setErrors({ \"invalid-range\": true });\n }\n });\n\n this.fetch();\n }\n\n fetch(): void {\n forkJoin({\n healths: this.healthService.getHealthConditionList(),\n livings: this.livingService.getLivingConditionList()\n }).subscribe({\n next: value => {\n this.livings = value.livings;\n this.healths = value.healths;\n }\n });\n }\n\n reset(): void {\n this.genders.forEach(gender => gender.selected = false);\n this.healths.forEach(health => health.selected = false);\n this.livings.forEach(living => living.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n let birthdayFrom: Date | null = null;\n let birthdayTo: Date | null = null;\n\n if (this.ageFromGroup.valid) {\n var today = new Date();\n birthdayFrom = new Date();\n birthdayFrom.setFullYear(today.getFullYear() - this.ageFromGroup.controls['to'].value)\n birthdayTo = new Date();\n birthdayTo.setFullYear(today.getFullYear() - this.ageFromGroup.controls['from'].value)\n }\n\n this.action(\n this.genders.filter(gender => gender.selected).map(gender => gender.value),\n this.healths.filter(health => health.selected),\n this.livings.filter(living => living.selected),\n birthdayFrom,\n birthdayTo\n );\n }\n this.display = !this.display;\n }\n\n public selectAllGenders(): void {\n if (this.isSelectedAllGender)\n this.genders.forEach(g => g.selected = false);\n else\n this.genders.forEach(g => g.selected = true);\n }\n\n public selectAllLivingConditions(): void {\n if (this.isSelectedAllLivingConditions)\n this.livings.forEach(living => living.selected = false);\n else\n this.livings.forEach(living => living.selected = true);\n }\n\n public selectAllHealthConditions(): void {\n if (this.isSelectedAllHealthConditions)\n this.healths.forEach(h => h.selected = false);\n else\n this.healths.forEach(h => h.selected = true);\n }\n\n get isSelectedAllGender(): boolean {\n return this.genders.every(g => g.selected);\n }\n\n get isSelectedAllLivingConditions(): boolean {\n return this.livings.every(living => living.selected);\n }\n\n get isSelectedAllHealthConditions(): boolean {\n return this.healths.every(h => h.selected);\n }\n\n get numberOfSelectedItems(): number {\n return this.genders.filter(gender => gender.selected).length\n + this.livings.filter(living => living.selected).length\n + this.healths.filter(health => health.selected).length;\n }\n\n}\n","
0}\" (click)=\"toggle()\">\n favorite_border\n

0\">{{ numberOfSelectedItems }}

\n

個人情況

\n
\n
\n
\n

個人情況

\n

清除

\n
\n\n
\n \n\n
\n \n

歲 至

\n \n

歲*

\n
\n\n
\n\n \n \n\n
\n\n \n \n\n
\n\n \n \n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-donation-type-filter',\n templateUrl: './donation-type-filter.component.html',\n styleUrls: ['./donation-type-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class DonationTypeFilterComponent implements OnInit {\n\n display: boolean = false;\n @Input() action: (types: string[]) => void = () => { }\n types = [\n { name: \"用戶捐分\", selected: false, value: 'User' },\n { name: \"中心捐分\", selected: false, value: 'Center' },\n ];\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n reset(): void {\n this.types.forEach(type => type.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.types.filter(type => type.selected).map(type => type.value));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedTypes(): number {\n return this.types.filter(type => type.selected).length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n grid_view\n

0\">{{ numberOfSelectedTypes }}

\n

捐分類型

\n
\n
\n
\n

捐分類型

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","
\n sentiment_satisfied_alt\n
\n
\n

{{ emoji.emoji }}

\n
\n
\n

{{ emoji.emoji }}

\n
\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-emoji-picker',\n templateUrl: './emoji-picker.component.html',\n styleUrls: ['./emoji-picker.component.scss']\n})\nexport class EmojiPickerComponent implements OnInit {\n\n @Input() form!: FormControl;\n emojis: IEmoji[] = [];\n categories: IEmoji[] = [];\n selectedCategory: IEmoji | null = null;\n\n constructor(\n private httpClient: HttpClient\n ) { }\n\n ngOnInit(): void {\n this.httpClient.get('assets/emoji.json').subscribe((value: any) => {\n this.emojis = value.emojis;\n this.categories = this.emojis.filter((value, index, self) => self.findIndex(v => v.category == value.category) === index);\n this.selectedCategory = this.categories[0];\n });\n }\n\n get filteredEmojis(): IEmoji[] {\n return this.selectedCategory == null ? [] : this.emojis.filter(emoji => emoji.category == this.selectedCategory?.category);\n }\n\n onSelect(emoji: IEmoji): void {\n if (this.form == null)\n return;\n\n if (this.form.value == null) {\n this.form.setValue(`${emoji.emoji}`);\n return;\n }\n\n this.form.setValue(`${this.form.value}${emoji.emoji}`);\n }\n}\n\ninterface IEmoji {\n category: string;\n emoji: string;\n html: \"👩‍👩‍👧‍👧\"\n name: \"family: woman, woman, girl, girl\"\n order: \"\"\n shortname: \":woman_woman_girl_girl:\"\n unicode: \"1F469 200D 1F469 200D 1F467 200D 1F467\"\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-event-status-filter',\n templateUrl: './event-status-filter.component.html',\n styleUrls: ['./event-status-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class EventStatusFilterComponent implements OnInit {\n\n @Input() action: (statuses: number) => void = () => { }\n statuses = [\n { name: \"等待參加\", selected: false, value: 1 },\n { name: \"進行中\", selected: false, value: 2 },\n { name: \"已完結\", selected: false, value: 4 },\n { name: \"已終止\", selected: false, value: 8 },\n { name: \"已修改\", selected: false, value: 16 },\n { name: \"人數不足\", selected: false, value: 32 }\n ];\n display: boolean = false;\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n reset(): void {\n this.statuses.forEach(status => status.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.statuses.filter(s => s.selected).map(s => s.value).reduce((sum, value) => sum + value, 0));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedStatuses(): number {\n return this.statuses.filter(status => status.selected).length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n local_offer\n

0\">{{ numberOfSelectedStatuses }}

\n

狀態

\n
\n
\n
\n

狀態

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-event-transaction-type-filter',\n templateUrl: './event-transaction-type-filter.component.html',\n styleUrls: ['./event-transaction-type-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class EventTransactionTypeFilterComponent implements OnInit {\n\n @Input() action: (statuses: string[]) => void = () => { }\n statuses = [\n { name: \"免費活動\", selected: false, value: 'Free' },\n { name: \"用戶加分\", selected: false, value: 'UserEarn' },\n { name: \"用戶扣分\", selected: false, value: 'UserSpend' },\n ];\n display: boolean = false;\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n reset(): void {\n this.statuses.forEach(status => status.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.statuses.filter(status => status.selected).map(status => status.value));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedStatuses(): number {\n return this.statuses.filter(status => status.selected).length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n \n

0\">{{ numberOfSelectedStatuses }}

\n

活動類型

\n
\n
\n
\n

活動類型

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { EventTypeService } from 'src/app/services/event-type/event-type.service';\n\n@Component({\n selector: 'app-event-type-filter',\n templateUrl: './event-type-filter.component.html',\n styleUrls: ['./event-type-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class EventTypeFilterComponent implements OnInit {\n\n @Input() action: (centers: EventType[]) => void = () => { }\n eventTypes: EventType[] = [];\n display: boolean = false;\n\n constructor(\n private eventTypeService: EventTypeService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.eventTypeService.getEventTypeList()\n .subscribe({\n next: value => {\n this.eventTypes = value;\n }\n });\n }\n\n reset(): void {\n this.eventTypes.forEach(eventType => eventType.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.eventTypes.filter(eventType => eventType.selected));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedEventTypes(): number {\n return this.eventTypes.filter(eventType => eventType.selected).length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n \n

0\">{{ numberOfSelectedEventTypes }}

\n

活動代碼

\n
\n
\n
\n

活動代碼

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","
\n
\n
\n

身體情況

\n help_outline\n

身體狀況項目可在後台設置——資料設置中編輯以及設置是否在申請義工服務時對相關義工可見

\n

重置

\n
\n\n
\n \n
\n\n
\n\n
\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Health } from 'src/app/models/healths/health';\nimport { HealthService } from 'src/app/services/health/health.service';\n\n@Component({\n selector: 'app-health-popup',\n templateUrl: './health-popup.component.html',\n styleUrls: ['./health-popup.component.scss']\n})\nexport class HealthPopupComponent implements OnInit {\n\n @Input() action: (healths: Health[]) => void = () => { }\n healths: Health[] = [];\n\n display: boolean = false;\n\n constructor(\n private healthService: HealthService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.healthService.getHealthConditionList()\n .subscribe({\n next: value => {\n this.healths = value\n }\n });\n }\n\n open(healths: Health[]): void {\n this.healths.filter(health => healths.some(h => h.uuId == health.uuId))\n .forEach(health => health.selected = true);\n this.display = true;\n }\n\n close(): void {\n this.display = false;\n this.reset();\n }\n\n confirm(): void {\n this.action(this.healths.filter(health => health.selected));\n this.close();\n }\n\n reset(): void {\n this.healths.forEach(health => health.selected = false);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { ImportFile } from 'src/app/models/imports/import-file';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { ImportService } from 'src/app/services/import/import.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-import-popup',\n templateUrl: './import-popup.component.html',\n styleUrls: ['./import-popup.component.scss']\n})\nexport class ImportPopupComponent implements OnInit {\n\n importType: string = \"User\";\n files: ImportFile[] = [];\n records: any[] = [];\n\n display: boolean = false;\n\n constructor(\n private popupMessageSerivce: PopupMessageService,\n private importService: ImportService,\n private exportService: ExportService\n ) { }\n\n ngOnInit(): void {\n this.importService.importPopupSignal.subscribe(value => {\n this.open(value);\n });\n }\n\n onDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onDrop(event: DragEvent) {\n event.preventDefault();\n this.onFileImport(event.dataTransfer?.files);\n }\n\n onFileImport(files: FileList | undefined) {\n if (files == undefined)\n return;\n\n Array.from(files).forEach(file => {\n if (file.name.substring(file.name.length - 5) != '.xlsx' && file.name.substring(file.name.length - 4) != '.xls') {\n this.popupMessageSerivce.messageSignal.emit(PopupMessages.InvalidFileFormatMessage);\n return;\n }\n\n this.importService.uploadExcel(file)\n .subscribe();\n\n var importFile = new ImportFile(file);\n this.files.push(importFile);\n\n\n switch (this.importType) {\n case \"User\":\n this.parseUserExcel(importFile);\n break;\n case \"Request\":\n this.parseRequestExcel(importFile);\n break;\n case \"Event\":\n this.parseEventExcel(importFile);\n break;\n case \"Donation\":\n this.parseDonationExcel(importFile);\n break;\n default:\n this.popupMessageSerivce.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n break;\n }\n });\n }\n\n open(type: string): void {\n this.importType = type;\n this.display = true;\n }\n\n close(): void {\n this.display = false;\n this.records = [];\n this.files = [];\n }\n\n private parseUserExcel(file: ImportFile): void {\n this.importService.parseUserExcel(file.file).subscribe({\n next: value => this.records = this.records.concat(value),\n error: error => file.error = \"EXCEL FILE MAY CONTAIN SOME EMPTY VALUE IN BLANK ROW OR IN WRONG FORMAT!\",\n complete: () => file.uploadResult = true\n });\n }\n\n private parseRequestExcel(file: ImportFile): void {\n this.importService.parseRequestExcel(file.file).subscribe({\n next: value => this.records = this.records.concat(value),\n error: error => file.error = \"EXCEL FILE MAY CONTAIN SOME EMPTY VALUE IN BLANK ROW OR IN WRONG FORMAT!\",\n complete: () => file.uploadResult = true\n });\n }\n\n private parseEventExcel(file: ImportFile): void {\n this.importService.parseEventExcel(file.file).subscribe({\n next: value => this.records = this.records.concat(value),\n error: error => file.error = \"EXCEL FILE MAY CONTAIN SOME EMPTY VALUE IN BLANK ROW OR IN WRONG FORMAT!\",\n complete: () => file.uploadResult = true\n });\n }\n\n private parseDonationExcel(file: ImportFile): void {\n this.importService.parseDonationExcel(file.file).subscribe({\n next: value => this.records = this.records.concat(value),\n error: error => file.error = \"EXCEL FILE MAY CONTAIN SOME EMPTY VALUE IN BLANK ROW OR IN WRONG FORMAT!\",\n complete: () => file.uploadResult = true\n });\n }\n\n confirm(): void {\n switch (this.importType) {\n case \"User\":\n this.importService.importTaskSignal.emit(this.importService.processUserData(this.records));\n break;\n case \"Request\":\n this.importService.importTaskSignal.emit(this.importService.processRequestData(this.records));\n break;\n case \"Event\":\n this.importService.importTaskSignal.emit(this.importService.processEventData(this.records));\n break;\n case \"Donation\":\n this.importService.importTaskSignal.emit(this.importService.processDonationData(this.records))\n break;\n default:\n break;\n }\n this.close();\n }\n\n exportSample(): void {\n switch (this.importType) {\n case \"User\":\n this.exportService.exportUserSample();\n break;\n case \"Request\":\n this.exportService.exportRequestSample();\n break;\n case \"Event\":\n this.exportService.exportEventSample();\n break;\n case \"Donation\":\n this.exportService.exportDonationSample();\n break;\n default:\n break;\n }\n }\n}\n","
\n
\n
\n

批量更新/創建

\n close\n
\n
\n
\n unarchive\n

點擊或將文件拖拽到這裡上傳

\n

支持擴展名:.xlsx .xls

\n
\n\n
\n attach_file\n
\n

{{ file.file.name }}

\n
\n \n \n
\n \n \n \n
\n
\n
\n
\n

示範格式

\n
\n \n \n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { ErrorHandleService } from 'src/app/services/error-handle/error-handle.service';\nimport { ImportService } from 'src/app/services/import/import.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-import-status-popup',\n templateUrl: './import-status-popup.component.html',\n styleUrls: ['./import-status-popup.component.scss']\n})\nexport class ImportStatusPopupComponent implements OnInit {\n public currentTask: { rate: number, text: string | null } = this.importService.currentTask;\n display: boolean = false;\n\n constructor(\n private importService: ImportService,\n private popupMessageService: PopupMessageService,\n private errorHandleService: ErrorHandleService\n ) { }\n\n ngOnInit(): void {\n this.importService.importTaskSignal.subscribe((observable: Observable) => {\n this.open();\n observable\n .pipe(finalize(() => this.close()))\n .subscribe({\n next: value => { },\n error: value => this.errorHandleService.errorSignal.emit(value),\n complete: () => this.popupMessageService.messageSignal.emit(PopupMessages.ImportSuccessMessage(\n new Observable(subscriber => this.importService.refreshSignal.emit()))\n )\n });\n });\n\n this.currentTask = this.importService.currentTask;\n }\n\n open(): void {\n this.display = true;\n }\n\n close(): void {\n this.display = false;\n setTimeout(() => { this.currentTask.rate = 0; this.currentTask.text = null; }, 1000);\n }\n\n}\n","
\n
\n

{{ currentTask.rate | number:'1.0-0' }}%

\n
\n

{{ currentTask.text }}

\n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { AddressType, Living } from 'src/app/models/livings/living';\nimport { LivingService } from 'src/app/services/living/living.service';\n\n@Component({\n selector: 'app-living-popup',\n templateUrl: './living-popup.component.html',\n styleUrls: ['./living-popup.component.scss']\n})\nexport class LivingPopupComponent implements OnInit {\n\n display: boolean = false;\n index: number = 0;\n @Input() action: (livings: Living[]) => void = (livings: Living[]) => { }\n livings: Living[] = [];\n\n public types = [\n { name: \"單位\", type: AddressType.Room },\n { name: \"樓層\", type: AddressType.Floor },\n { name: \"大廈/期/座\", type: AddressType.Block },\n { name: \"屋苑/屋邨\", type: AddressType.Estate },\n { name: \"街號\", type: AddressType.StreetNumber },\n { name: \"街道\", type: AddressType.Street },\n ];\n\n constructor(\n private livingService: LivingService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.livingService.getLivingConditionList()\n .subscribe({\n next: value => {\n this.livings = value\n }\n });\n }\n\n submit(): void {\n this.action(this.livings.filter(living => living.selected == true));\n this.close();\n }\n\n open(livings: Living[]) {\n this.livings.filter(living => livings.some(l => living.uuId == l.uuId))\n .forEach(living => living.selected = true);\n this.display = true;\n }\n\n close(): void {\n this.reset();\n this.display = false;\n }\n\n reset(): void {\n this.livings.forEach(living => living.selected = false);\n }\n\n get livingsOfSelectedType(): Living[] {\n return this.livings.filter(living => living.type == this.types[this.index].type);\n }\n\n numberOfLivingOfType(type: AddressType): number {\n return this.livings.filter(living => living.type == type).length;\n }\n}\n","
\n
\n\n
\n

居住條件限制

\n

重置

\n
\n\n
\n
\n
\n

{{ type.name | translate }}

\n

{{ numberOfLivingOfType(type.type) }}

\n
\n
\n error_outline\n

請根據居住條件實際情況去選擇所屬類型以提高住宅條件自動顯示準確率

\n
\n
\n\n\n
\n
\n \n
\n
\n
\n\n
\n \n \n
\n
\n
","
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss']\n})\nexport class LoadingComponent implements OnInit {\n\n public loading: boolean = false;\n\n constructor(\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n this.loadingService.getAppLoadingSignal().subscribe(signal => this.loading = signal);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Subscriber } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessage, PopupMessages } from 'src/app/backend/popup-message';\nimport { ErrorHandleService } from 'src/app/services/error-handle/error-handle.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-message-popup',\n templateUrl: './message-popup.component.html',\n styleUrls: ['./message-popup.component.scss']\n})\nexport class MessagePopupComponent implements OnInit {\n\n public message: PopupMessage | null = PopupMessages.ForcedSignOutSuccessMessage;\n public display: boolean = false;\n\n constructor(\n private popupMessageService: PopupMessageService,\n private loadingService: LoadingService,\n private errorHandlerService: ErrorHandleService\n ) { }\n\n ngOnInit(): void {\n this.errorHandlerService.errorSignal.subscribe(value => {\n this.message = {\n type: \"error\",\n message: value.error_message,\n description: \"\"\n };\n this.display = true;\n });\n\n this.popupMessageService.messageSignal.subscribe(value => {\n this.message = value;\n this.display = true;\n });\n\n // this.errorHandleService.getAppErrorSignal().subscribe((error: AppError) => {\n // this.message = {\n // type: \"error\",\n // message: error.error_message,\n // description: null\n // }\n // this.display = true;\n // });\n }\n\n public close() {\n this.popupMessageService.executeSuccessSignal.observers.forEach(ob => (ob as Subscriber).unsubscribe());\n this.display = false;\n }\n\n public confirm() {\n if (this.message?.observable != null) {\n this.loadingService.startLoading();\n this.message.observable\n .pipe(finalize(() => {\n this.loadingService.stopLoading();\n this.popupMessageService.executeSuccessSignal.emit();\n }))\n .subscribe();\n }\n\n this.display = false;\n }\n}\n","
\n
\n
\n check_circle\n cancel\n help\n
\n

{{ message.message | translate }}

\n

{{ message.description | translate }}

\n
\n
\n\n
\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-redeem-status-filter',\n templateUrl: './redeem-status-filter.component.html',\n styleUrls: ['./redeem-status-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class RedeemStatusFilterComponent implements OnInit {\n\n @Input() action: (statuses: number[]) => void = () => { }\n statuses: { name: string, value: number, selected: boolean }[] = [\n { name: \"未發布\", value: 0, selected: false },\n { name: \"進行中\", value: 1, selected: false },\n { name: \"已結束\", value: 2, selected: false },\n { name: \"等待抽籤\", value: 3, selected: false },\n { name: \"庫存不足\", value: 4, selected: false },\n { name: \"已修改\", value: 5, selected: false },\n { name: \"已下架\", value: 6, selected: false },\n ];\n\n display: boolean = false;\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n reset(): void {\n this.statuses.forEach(status => status.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.statuses.filter(status => status.selected).map(status => status.value));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedStatuses(): number {\n return this.statuses.filter(status => status.selected).length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n local_offer\n

0\">{{ numberOfSelectedStatuses }}

\n

狀態

\n
\n
\n
\n

狀態

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-redeem-type-filter',\n templateUrl: './redeem-type-filter.component.html',\n styleUrls: ['./redeem-type-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class RedeemTypeFilterComponent implements OnInit {\n\n display: boolean = false;\n\n @Input() action: (formats: number[]) => void = () => { };\n formats: { name: string, value: number, selected: boolean }[] = [\n { name: \"職員處理\", value: 0, selected: false },\n { name: \"先到先得\", value: 1, selected: false },\n ];\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n toggle(): void {\n if (this.display) this.action(this.formats.filter(format => format.selected).map(format => format.value));\n this.display = !this.display;\n }\n\n reset(): void {\n this.formats.forEach(format => format.selected = false);\n }\n\n clear(): void {\n this.formats.forEach(format => format.selected = false);\n }\n\n get numberOfSelectedFormats(): number {\n return this.formats.filter(format => format.selected).length;\n }\n}\n","
0}\" (click)=\"toggle()\">\n favorite_border\n

0\">{{ numberOfSelectedFormats }}

\n

參與類型

\n
\n
\n
\n

參與類型

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-request-status-filter',\n templateUrl: './request-status-filter.component.html',\n styleUrls: ['./request-status-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class RequestStatusFilterComponent implements OnInit {\n\n @Input() action: (statuses: string[], urgent: boolean) => void = () => { }\n statuses = [\n { name: \"等候配對\", selected: false, value: 'Pending' },\n { name: \"未開始\", selected: false, value: 'Ready' },\n { name: \"進行中\", selected: false, value: 'Started' },\n { name: \"已完結\", selected: false, value: 'Finished' },\n { name: \"已終止\", selected: false, value: 'Cancelled' }\n ];\n public urgent: boolean = false;\n display: boolean = false;\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n reset(): void {\n this.statuses.forEach(status => status.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.statuses.filter(status => status.selected).map(status => status.value), this.urgent);\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedStatuses(): number {\n return this.statuses.filter(status => status.selected).length;\n }\n\n}\n","
0}\" (click)=\"toggle()\">\n local_offer\n

0\">{{ numberOfSelectedStatuses }}

\n

狀態

\n
\n
\n
\n

狀態

\n

清除

\n
\n\n
\n \n \n
\n
\n\n
\n
\n\n
","import { Component, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-search-input',\n templateUrl: './search-input.component.html',\n styleUrls: ['./search-input.component.scss']\n})\nexport class SearchInputComponent implements OnInit {\n\n @Input() placeholder: string = \"請輸入姓名 或 會員編號\";\n @Input() action: (value: string) => void = (value: string) => { };\n\n @Input() size: string = \"md\";\n\n input: FormControl = new FormControl(null);\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n onChange(): void {\n this.action(this.input.value);\n }\n\n}\n","
\n \n search\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, AbstractControl } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-service-date-range-filter',\n templateUrl: './service-date-range-filter.component.html',\n styleUrls: ['./service-date-range-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class ServiceDateRangeFilterComponent implements OnInit {\n\n lang: string = this.translateService.currentLang;\n\n @Input() action: (start: Date, end: Date) => void = () => { }\n form: FormGroup = new FormGroup({\n start: new FormControl(null),\n end: new FormControl(null)\n });\n display: boolean = false;\n\n constructor(\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n })\n }\n\n public toggle(): void {\n if (this.end.value != null)\n (this.end.value).setHours(23, 59, 59);\n\n if (this.display == true) {\n this.action(this.start.value, this.end.value);\n }\n this.display = !this.display;\n\n }\n\n clear(): void {\n this.form.reset();\n }\n\n get start(): AbstractControl {\n return this.form.controls['start'];\n }\n\n get end(): AbstractControl {\n return this.form.controls['end'];\n }\n\n}\n","
\n date_range\n

服務日期

\n
\n
\n \n

\n \n\n
\n \n \n
\n\n \n \n \n \n \n
\n
\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Service } from 'src/app/models/services/service';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { ServiceService } from 'src/app/services/service/service.service';\n\n@Component({\n selector: 'app-service-filter',\n templateUrl: './service-filter.component.html',\n styleUrls: ['./service-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class ServiceFilterComponent implements OnInit {\n\n @Input() action: (services: Service[]) => void = () => { }\n @Input() title: string = \"可提供服務\";\n serviceTypes: ServiceType[] = [];\n display: boolean = false;\n\n constructor(\n private serviceService: ServiceService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.serviceService.getServiceTypeList()\n .subscribe({\n next: value => {\n this.serviceTypes = value;\n }\n });\n }\n\n reset(): void {\n this.serviceTypes.forEach(serviceType => serviceType.reset())\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.serviceTypes.map(st => st.services.filter(s => s.selected)).reduce((merged, value) => merged.concat(value)));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedServices(): number {\n return this.serviceTypes.map(st => st.services.filter(s => s.selected).length).reduce((sum, length) => sum + length, 0);\n }\n\n}\n","
0}\" (click)=\"toggle()\">\n favorite_border\n

0\">{{ numberOfSelectedServices }}

\n

{{ title | translate }}

\n
\n
\n
\n

服務

\n

清除

\n
\n\n
\n \n 0\">\n \n \n \n \n\n
\n
\n\n
\n
\n\n
","
\n
\n\n
\n
\n

可提供服務類型

\n
\n

全部

\n

{{ numberOfServices }}

\n
\n\n \n
\n\n
\n
\n

可提供服務

\n

選擇全部

\n

重置

\n
\n\n \n

{{ serviceType.name }}

\n
\n \n
\n
\n\n
\n
\n\n
\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Service } from 'src/app/models/services/service';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { ServiceService } from 'src/app/services/service/service.service';\n\n@Component({\n selector: 'app-service-popup',\n templateUrl: './service-popup.component.html',\n styleUrls: ['./service-popup.component.scss']\n})\nexport class ServicePopupComponent implements OnInit {\n\n @Input() action: (services: Service[]) => void = () => { };\n serviceTypes: ServiceType[] = [];\n display: boolean = false;\n\n constructor(\n private serviceService: ServiceService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.serviceService.getServiceTypeList()\n .subscribe({\n next: value => {\n this.serviceTypes = value;\n }\n });\n }\n\n open(services: Service[] | undefined): void {\n if (services == undefined) {\n this.display = true;\n return\n }\n\n this.serviceTypes.forEach(st => {\n st.services.filter(service => services.some(s => s.uuId == service.uuId))\n .forEach(service => service.selected = true);\n })\n this.display = true;\n }\n\n close(): void {\n this.reset();\n this.display = false;\n }\n\n submit(): void {\n this.action(this.serviceTypes.map(st => st.services.filter(s => s.selected)).reduce((previous, current) => previous = previous.concat(current), []));\n this.close();\n }\n\n selectAll(): void {\n this.serviceTypes.forEach(serviceType => serviceType.services.forEach(service => service.selected = true));\n }\n\n reset(): void {\n this.serviceTypes.forEach(serviceType => serviceType.services.forEach(service => service.selected = false));\n }\n\n get numberOfServices(): number {\n return this.serviceTypes.map(serviceType => serviceType.services.length).reduce((sum, count) => sum += count, 0);\n }\n\n get selectedServiceTypes(): ServiceType[] {\n let serviceTypes = this.serviceTypes.filter(serviceType => serviceType.selected == true);\n return serviceTypes.length > 0 ? serviceTypes : this.serviceTypes;\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-sign-up-status-filter',\n templateUrl: './sign-up-status-filter.component.html',\n styleUrls: ['./sign-up-status-filter.component.scss'],\n animations: [PortalAnimation.DropDown]\n})\nexport class SignUpStatusFilterComponent implements OnInit {\n\n\n @Input() action: (statuses: string[]) => void = () => { }\n\n statuses: { name: string, value: string, selected: boolean }[] = [\n { name: \"等待審核\", value: \"Pending\", selected: false },\n { name: \"審核中\", value: \"Approving\", selected: false },\n { name: \"已拒絕\", value: \"Disapproved\", selected: false },\n { name: \"超時審核\", value: \"TimeoutReview\", selected: false }\n ];\n\n display: boolean = false;\n\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n reset(): void {\n this.statuses.forEach(status => status.selected = false);\n }\n\n toggle(): void {\n if (this.display == true) {\n this.action(this.statuses.filter(status => status.selected).map(status => status.value));\n }\n this.display = !this.display;\n }\n\n get numberOfSelectedStatuses(): number {\n return this.statuses.filter(status => status.selected).length;\n }\n\n}\n","
0}\" (click)=\"toggle()\">\n local_offer\n

0\">{{ numberOfSelectedStatuses }}

\n

狀態

\n
\n
\n
\n

狀態

\n

清除

\n
\n\n
\n \n
\n
\n\n
\n
\n\n
","
\n \n
\n =pageIndex*6&&i<(pageIndex+1)*6\"\n [ngTemplateOutlet]=\"tplRef\" \n [ngTemplateOutletContext]=\"{service:service,index:i}\">\n \n
\n
6\" class=\"pageBtnBar\">\n <\n {{i}}\n >\n
\n
","import { Component, ContentChild, Input, OnChanges, OnInit, SimpleChanges, TemplateRef, ViewChild } from '@angular/core';\nimport { ChartData } from 'chart.js';\n\n@Component({\n selector: 'app-simple-table-box',\n templateUrl: './simple-table-box.component.html',\n styleUrls: ['./simple-table-box.component.scss']\n})\nexport class SimpleTableBoxComponent implements OnInit,OnChanges {\n\n @Input() displayList!:[];\n @ContentChild('row', {static: true}) tplRef!: TemplateRef;\n pageIndex:number=0;\n\n public reset() {\n this.pageIndex=0;\n }\n constructor() { }\n ngOnChanges(changes: SimpleChanges): void{\n \n this.pageIndex=0;\n } \n ngOnInit(): void {\n }\n get displayListPage():number[]{\n this.pageIndex;\n var n:number[]=[];\n\n if( this.pageIndex+5>this.MaxPage){\n for(var i=Math.max(this.MaxPage-5,0);i {\n if (this.form.disabled)\n return;\n\n if (this.form.value == null) {\n this.form.markAllAsTouched();\n return;\n }\n\n if (this.hour != null && this.minute != null) {\n let date = this.form.value as Date;\n date.setHours(parseInt(this.hour));\n date.setMinutes(parseInt(this.minute));\n this.form.setErrors(null)\n }\n else {\n this.form.markAllAsTouched();\n this.form.setErrors({ time: true });\n }\n });\n }\n\n init(): void {\n if (this.form.value == null)\n return;\n\n let hour = (this.form.value as Date).getHours();\n if (Number.isNaN(hour) == false) {\n if (hour < 10) {\n this.hour = \"0\" + hour.toString();\n }\n else {\n this.hour = hour.toString();\n }\n }\n\n let minute = (this.form.value as Date).getMinutes();\n if (Number.isNaN(minute) == false) {\n if (minute < 10) {\n this.minute = \"0\" + minute.toString();\n }\n else {\n this.minute = minute.toString();\n }\n }\n }\n\n onHourChange(): void {\n if (this.hour == null || this.hour == \"\") {\n this.hour = \"00\";\n return;\n }\n\n let hour = parseInt(this.hour);\n if (Number.isNaN(hour) == false) {\n if (hour >= 24) {\n hour = 0;\n }\n\n if (hour < 10) {\n this.hour = \"0\" + hour.toString();\n }\n else {\n this.hour = hour.toString();\n }\n\n if (this.minute == null)\n this.minute = \"00\";\n return;\n }\n }\n\n addHour(): void {\n if (this.hour == null) {\n this.hour = \"01\"\n return;\n }\n let hour = parseInt(this.hour);\n hour += 1;\n if (hour >= 24) {\n hour = 0;\n }\n if (hour < 10) {\n this.hour = \"0\" + hour.toString();\n return;\n }\n this.hour = hour.toString();\n }\n\n minusHour(): void {\n if (this.hour == null) {\n this.hour = \"23\";\n return;\n }\n\n let hour = parseInt(this.hour);\n hour -= 1;\n if (hour < 0) {\n hour = 23;\n }\n\n if (hour < 10) {\n this.hour = \"0\" + hour.toString();\n return;\n }\n this.hour = hour.toString();\n }\n\n onMinuteChange(): void {\n if (this.minute == null || this.minute == \"\") {\n this.minute = \"00\";\n return;\n }\n\n let minute = parseInt(this.minute);\n if (Number.isNaN(minute) == false) {\n if (minute >= 60) {\n minute = 0;\n }\n\n if (minute < 10) {\n this.minute = \"0\" + minute.toString();\n return;\n }\n this.minute = minute.toString();\n }\n }\n\n addMinute(): void {\n if (this.minute == null) {\n this.minute = \"01\"\n return;\n }\n let minute = parseInt(this.minute);\n minute += 1;\n if (minute >= 60) {\n minute = 0;\n }\n if (minute < 10) {\n this.minute = \"0\" + minute.toString();\n return;\n }\n this.minute = minute.toString();\n }\n\n minusMinute(): void {\n if (this.minute == null) {\n this.minute = \"59\";\n return;\n }\n\n let minute = parseInt(this.minute);\n minute -= 1;\n if (minute < 0) {\n minute = 59;\n }\n\n if (minute < 10) {\n this.minute = \"0\" + minute.toString();\n return;\n }\n this.minute = minute.toString();\n }\n\n submit(): void {\n this.form.markAllAsTouched();\n if (this.form.value == null) {\n if (this.selfGenerateDate == false)\n return;\n\n this.form.setValue(new Date())\n }\n\n if (this.hour != null && this.minute != null) {\n let date = this.form.value as Date;\n date.setHours(parseInt(this.hour));\n date.setMinutes(parseInt(this.minute));\n this.form.setErrors(null)\n this.form.updateValueAndValidity();\n }\n else {\n this.form.setErrors({ time: true })\n }\n }\n\n get timeText(): string | null {\n if (this.hour == null || this.minute == null)\n return null;\n return `${this.hour}:${this.minute}`;\n }\n}\n","
\n \n
\n
\n
\n expand_less\n \n expand_more\n
\n

:

\n
\n expand_less\n \n expand_more\n
\n
\n \n
\n
","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateAddressModel } from \"src/app/models/addresses/create-address-model\";\nimport { Living } from \"src/app/models/livings/living\";\n\nexport class AddressForm {\n formGroup: FormGroup;\n livings: Living[];\n\n constructor() {\n this.formGroup = new FormGroup({\n region: new FormControl(null, [Validators.required]),\n district: new FormControl(null, [Validators.required]),\n subDistrict: new FormControl(''),\n street: new FormControl(''),\n streetNumber: new FormControl(''),\n estate: new FormControl(''),\n building: new FormControl(''),\n floor: new FormControl(''),\n room: new FormControl('')\n });\n this.livings = [];\n }\n\n public getCreateAddressModel(): CreateAddressModel {\n return {\n region: this.formGroup.controls['region'].value,\n district: this.formGroup.controls['district'].value,\n subDistrict: this.formGroup.controls['subDistrict'].value,\n street: this.formGroup.controls['street'].value,\n streetNumber: this.formGroup.controls['streetNumber'].value,\n estate: this.formGroup.controls['estate'].value,\n block: this.formGroup.controls['building'].value,\n floor: this.formGroup.controls['floor'].value,\n room: this.formGroup.controls['room'].value,\n isDefault: false,\n livingConditions: this.livings.map(lc => lc.uuId)\n };\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingComponent } from './components/loading/loading.component';\nimport { SearchInputComponent } from './components/search-input/search-input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LivingPopupComponent } from './components/living-popup/living-popup.component';\nimport { CenterFilterComponent } from './components/center-filter/center-filter.component';\nimport { AddressFilterComponent } from './components/address-filter/address-filter.component';\nimport { ServiceFilterComponent } from './components/service-filter/service-filter.component';\nimport { ConditionFilterComponent } from './components/condition-filter/condition-filter.component';\nimport { HealthPopupComponent } from './components/health-popup/health-popup.component';\nimport { CellGroupPopupComponent } from './components/cell-group-popup/cell-group-popup.component';\nimport { AddressFormComponent } from './components/address-form/address-form.component';\nimport { ServicePopupComponent } from './components/service-popup/service-popup.component';\nimport { MessagePopupComponent } from './components/message-popup/message-popup.component';\nimport { TimePickerComponent } from './components/time-picker/time-picker.component';\nimport { AnnouncementStatusFilterComponent } from './components/announcement-status-filter/announcement-status-filter.component';\nimport { AnnouncementDateRangeFilterComponent } from './components/announcement-date-range-filter/announcement-date-range-filter.component';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { ServiceDateRangeFilterComponent } from './components/service-date-range-filter/service-date-range-filter.component';\nimport { DonationTypeFilterComponent } from './components/donation-type-filter/donation-type-filter.component';\nimport { RedeemTypeFilterComponent } from './components/redeem-type-filter/redeem-type-filter.component';\nimport { RedeemStatusFilterComponent } from './components/redeem-status-filter/redeem-status-filter.component';\nimport { CenterPopupComponent } from './components/center-popup/center-popup.component';\nimport { RequestStatusFilterComponent } from './components/request-status-filter/request-status-filter.component';\nimport { EventTypeFilterComponent } from './components/event-type-filter/event-type-filter.component';\nimport { EventTransactionTypeFilterComponent } from './components/event-transaction-type-filter/event-transaction-type-filter.component';\nimport { EventStatusFilterComponent } from './components/event-status-filter/event-status-filter.component';\nimport { ImportPopupComponent } from './components/import-popup/import-popup.component';\nimport { ImportStatusPopupComponent } from './components/import-status-popup/import-status-popup.component';\nimport { EmojiPickerComponent } from './components/emoji-picker/emoji-picker.component';\nimport { SignUpStatusFilterComponent } from './components/sign-up-status-filter/sign-up-status-filter.component';\nimport { CellGroupFilterComponent } from './components/cell-group-filter/cell-group-filter.component';\nimport { SimpleTableBoxComponent } from './components/simple-table-box/simple-table-box.component';\n\n@NgModule({\n declarations: [LoadingComponent, SearchInputComponent, LivingPopupComponent, CenterFilterComponent, AddressFilterComponent, ServiceFilterComponent, ConditionFilterComponent, HealthPopupComponent, CellGroupPopupComponent, AddressFormComponent, ServicePopupComponent, MessagePopupComponent, TimePickerComponent, AnnouncementStatusFilterComponent, AnnouncementDateRangeFilterComponent, ServiceDateRangeFilterComponent, DonationTypeFilterComponent, RedeemTypeFilterComponent, RedeemStatusFilterComponent, CenterPopupComponent, RequestStatusFilterComponent, EventTypeFilterComponent, EventTransactionTypeFilterComponent, EventStatusFilterComponent, ImportPopupComponent, ImportStatusPopupComponent, EmojiPickerComponent, SignUpStatusFilterComponent,CellGroupFilterComponent, SimpleTableBoxComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule.forChild(),\n MatDatepickerModule,\n MatProgressBarModule\n ],\n exports: [\n LoadingComponent,\n SearchInputComponent,\n LivingPopupComponent,\n CenterFilterComponent,\n AddressFilterComponent,\n ServiceFilterComponent,\n ConditionFilterComponent,\n HealthPopupComponent,\n CellGroupPopupComponent,\n AddressFormComponent,\n ServicePopupComponent,\n MessagePopupComponent,\n TimePickerComponent,\n AnnouncementStatusFilterComponent,\n AnnouncementDateRangeFilterComponent,\n ServiceDateRangeFilterComponent,\n DonationTypeFilterComponent,\n RedeemTypeFilterComponent,\n RedeemStatusFilterComponent,\n CenterPopupComponent,\n RequestStatusFilterComponent,\n EventTypeFilterComponent,\n EventTransactionTypeFilterComponent,\n EventStatusFilterComponent,\n ImportPopupComponent,\n ImportStatusPopupComponent,\n EmojiPickerComponent,\n SignUpStatusFilterComponent,\n CellGroupFilterComponent,\n SimpleTableBoxComponent\n ]\n})\nexport class ShareModule { }\n","
\n
\n
\n

指定中心

\n

重置

\n
\n\n
\n \n
\n\n
\n \n \n
\n\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Center } from 'src/app/models/centers/center';\nimport { CenterService } from 'src/app/services/center/center.service';\n\n@Component({\n selector: 'app-center-permission-popup',\n templateUrl: './center-permission-popup.component.html',\n styleUrls: ['./center-permission-popup.component.scss']\n})\nexport class CenterPermissionPopupComponent implements OnInit {\n\n @Input() action: (centers: Center[]) => void = () => { }\n\n display: boolean = false;\n centers: Center[] = [];\n @Input() defaultCenter: Center | undefined = undefined;\n\n constructor(\n private centerService: CenterService) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.centerService.getCenters()\n .subscribe({\n next: value => this.centers = value\n });\n }\n\n reset(): void {\n this.centers.filter(center => center.uuId != this.defaultCenter?.uuId).forEach(center => center.selected = false);\n\n }\n\n open(centers: Center[]): void {\n this.defaultCenter = centers[0];\n this.centers.forEach(center => {\n center.selected = centers.some(c => c.uuId == center.uuId);\n });\n this.display = true;\n }\n\n close(): void {\n this.centers.forEach(center => center.selected = false);\n this.display = false;\n }\n\n submit(): void {\n this.action(this.centers.filter(center => center.selected));\n this.close();\n }\n}\n","import { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Center } from 'src/app/models/centers/center';\nimport { CreateStaffModel } from 'src/app/models/staffs/create-staff-model';\nimport { AddressForm } from '../../share/forms/address-form';\n\nexport class CreateStaffForm {\n public formGroup: FormGroup;\n public addresses: AddressForm[];\n public accessibleCenters: Center[];\n\n constructor() {\n this.formGroup = new FormGroup({\n memberId: new FormControl(null, [Validators.required, Validators.maxLength(8)]),\n username: new FormControl(null, [Validators.required, Validators.minLength(4), Validators.maxLength(8)]),\n password: new FormControl(null, [Validators.required, Validators.minLength(4), Validators.maxLength(12)]),\n chineseName: new FormControl(null, [Validators.required]),\n englishName: new FormControl(null, [Validators.required]),\n center: new FormControl(null, [Validators.required]),\n gender: new FormControl(null, [Validators.required]),\n phone: new FormControl(null, [Validators.required, Validators.minLength(8), Validators.maxLength(8)]),\n allowApproval: new FormControl(false)\n });\n this.addresses = [new AddressForm()];\n this.accessibleCenters = [];\n }\n\n public getCreateStaffModel(): CreateStaffModel {\n var model: CreateStaffModel = {\n Username: this.formGroup.controls['username'].value,\n Password: this.formGroup.controls['password'].value,\n MemberId: this.formGroup.controls['memberId'].value,\n phoneNumber: this.formGroup.controls['phone'].value,\n Profile: {\n ChineseName: this.formGroup.controls['chineseName'].value,\n EnglishName: this.formGroup.controls['englishName'].value,\n Gender: this.formGroup.controls['gender'].value,\n Remark: null,\n CenterCode: this.formGroup.controls['center'].value,\n Addresses: this.addresses.map(address => address.getCreateAddressModel())\n },\n CentersStaff: this.accessibleCenters.map(center => center.uuId),\n allowApproval: this.formGroup.controls['allowApproval'].value\n };\n model.Profile.Addresses[0].isDefault = true;\n return model;\n }\n\n addAddress(): void {\n this.addresses.push(new AddressForm());\n }\n\n public reset(): void {\n this.formGroup.reset();\n this.addresses = [new AddressForm()];\n this.accessibleCenters = [];\n }\n\n get valid(): boolean {\n return this.formGroup.valid\n && this.addresses.every(address => address.formGroup.valid)\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { StaffService } from 'src/app/services/staff/staff.service';\nimport { CreateStaffForm } from '../../forms/create-staff-form';\n\n@Component({\n selector: 'app-staff-create-page',\n templateUrl: './staff-create-page.component.html',\n styleUrls: ['./staff-create-page.component.scss']\n})\nexport class StaffCreatePageComponent implements OnInit {\n\n form: CreateStaffForm = new CreateStaffForm();\n centers: Center[] = [];\n\n constructor(\n private centerService: CenterService,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService,\n private staffService: StaffService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.centerService.getCenters()\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.centers = value\n });\n }\n\n dropAddressAction = ((index: number) => {\n this.form.addresses.splice(index, 1);\n }).bind(this);\n\n onCenterChange(): void {\n this.form.accessibleCenters = [(this.centers.find(c => c.uuId == this.center.value) as Center)];\n }\n\n permissionAction = ((centers: Center[]) => {\n this.form.accessibleCenters = centers;\n }).bind(this);\n\n dropPermission(index: number): void {\n this.form.accessibleCenters.splice(index, 1);\n }\n\n submit(): void {\n if (this.form.valid == false) {\n this.form.formGroup.markAllAsTouched();\n this.form.addresses.forEach(address => address.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.loadingService.startLoading();\n this.staffService.registerStaff(this.form.getCreateStaffModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.popupMessageService.messageSignal.emit(PopupMessages.CreateStaffSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/staff/overview', value.result.uuid]);\n })\n ))\n });\n }\n\n get defaultCenter(): Center | undefined {\n return this.centers.find(center => center.uuId == this.center.value);\n }\n\n get memberId(): AbstractControl {\n return this.form.formGroup.controls['memberId'];\n }\n\n get username(): AbstractControl {\n return this.form.formGroup.controls['username'];\n }\n\n get password(): AbstractControl {\n return this.form.formGroup.controls['password'];\n }\n\n get center(): AbstractControl {\n return this.form.formGroup.controls['center'];\n }\n\n get chineseName(): AbstractControl {\n return this.form.formGroup.controls['chineseName'];\n }\n\n get englishName(): AbstractControl {\n return this.form.formGroup.controls['englishName'];\n }\n\n get gender(): AbstractControl {\n return this.form.formGroup.controls['gender'];\n }\n\n get phone(): AbstractControl {\n return this.form.formGroup.controls['phone'];\n }\n}\n","
\n
\n

職員

\n

/

\n

創建職員

\n
\n\n

創建職員

\n\n
\n
\n

欄目帶 * 號為必填項

\n\n
\n

職員編號

\n \n
\n

請輸入職員編號

\n
\n
\n\n
\n

登入帳號

\n \n
\n

請輸入登入帳號

\n
\n
\n\n
\n

登入密碼

\n \n
\n

請輸入帳號密碼

\n
\n
\n\n
\n

職員姓名

\n \n \n
\n

請輸入中文姓名

\n
\n
\n

請輸入英文姓名

\n
\n
\n\n
\n

中心編號

\n
\n \n
\n
\n

請選擇所屬中心

\n
\n
\n\n
\n

性別

\n \n \n
\n

請選擇性別

\n
\n
\n\n
\n

電話號碼

\n \n
\n

請輸入電話號碼

\n
\n
\n\n \n \n \n\n
\n

增添地址

\n
\n\n
\n

權限設置

\n

暫未指定可見資料的中心代碼

\n 0;then permission\">\n
\n\n
\n

註冊審核

\n
\n
\n

是否擁有審核機構內會員帳號申請資料的權限?

\n help_outline\n

該權限可審核由App遞交的會員帳號申請,並可指定通過申請的會員所屬中心位置

\n
\n\n
\n \n \n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n\n\n
\n

\n 可擁有以下中心的職員權限,包括查看同操作會員資料

\n
\n

{{ center.centerCode }}

\n

{{ center.name }}

\n

默認

\n

移除

\n
\n\n
\n

新增中心

\n add_circle\n
\n
\n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin, Observable } from 'rxjs';\nimport { finalize, switchMap } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { StaffService } from 'src/app/services/staff/staff.service';\n\n@Component({\n selector: 'app-staff-detail-page',\n templateUrl: './staff-detail-page.component.html',\n styleUrls: ['./staff-detail-page.component.scss']\n})\nexport class StaffDetailPageComponent implements OnInit {\n\n profile: Profile | undefined;\n centers: Center[] = [];\n readonly: boolean = true;\n showSuccessMessage: boolean = false;\n\n constructor(\n private profileService: ProfileService,\n private staffService: StaffService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private authService: AuthenticationService,\n private popupMessageService: PopupMessageService,\n private centerService: CenterService,\n private snackBar: MatSnackBar,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n forkJoin({\n profile: this.profileService.getProfileByUUId(value.id),\n center: this.centerService.getCenters()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: v => {\n this.profile = v.profile;\n this.centers = v.center;\n }\n });\n });\n }\n\n dropAddressAction = ((index: number) => {\n this.profile?.form.addresses.splice(index, 1);\n }).bind(this);\n\n public forcedSignOut(): void {\n this.loadingService.startLoading();\n this.authService.forcedSignOut(this.profile?.uuId as string)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => this.popupMessageService.messageSignal.emit(PopupMessages.ForcedSignOutSuccessMessage)\n });\n }\n\n submit(): void {\n\n if (this.profile?.form.valid == false) {\n this.profile.form.formGroup.markAllAsTouched();\n this.profile.form.addresses.forEach(address => address.form.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n let observable: Observable;\n if (this.profile?.form.doChangeUsernameAndPassword())\n observable = this.staffService.editStaffProfile(this.profile.uuId, this.profile.form.getUpdateStaffModel())\n .pipe(switchMap(() => {\n return this.authService.changeUsernameAndPassword({\n userUUId: (this.profile as Profile).uuId,\n username: this.username.value,\n password: this.password.value\n });\n }))\n else\n observable = this.staffService.editStaffProfile((this.profile as Profile).uuId, (this.profile as Profile).form.getUpdateStaffModel());\n\n this.loadingService.startLoading();\n observable\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.readonly = true;\n // this.showSuccessMessage = true;\n forkJoin({\n text: this.translateService.get(\"資料已保存\"),\n action: this.translateService.get(\"關閉\")\n }).subscribe(value => {\n this.snackBar.open(value.text, value.action, { horizontalPosition: 'right', duration: 5000 });\n });\n window.scrollTo(0, 0);\n this.fetch();\n }\n });\n }\n\n get memberId(): AbstractControl {\n return this.profile?.form.formGroup.controls['memberId'] as FormControl;\n }\n\n get username(): AbstractControl {\n return this.profile?.form.formGroup.controls['username'] as FormControl;\n }\n\n get password(): AbstractControl {\n return this.profile?.form.formGroup.controls['password'] as FormControl;\n }\n\n get center(): AbstractControl {\n return this.profile?.form.formGroup.controls['center'] as FormControl;\n }\n\n get chineseName(): AbstractControl {\n return this.profile?.form.formGroup.controls['chineseName'] as FormControl;\n }\n\n get englishName(): AbstractControl {\n return this.profile?.form.formGroup.controls['englishName'] as FormControl;\n }\n\n get gender(): AbstractControl {\n return this.profile?.form.formGroup.controls['gender'] as FormControl;\n }\n\n get phone(): AbstractControl {\n return this.profile?.form.formGroup.controls['phone'] as FormControl;\n }\n\n permissionAction = ((centers: Center[]) => {\n (this.profile as Profile).form.staffCenters = centers;\n }).bind(this);\n\n dropPermission(index: number): void {\n (this.profile as Profile).form.staffCenters.splice(index, 1);\n }\n\n get defaultCenter(): Center | undefined {\n return this.centers.find(center => center.uuId == this.center.value);\n }\n\n deleteStaff(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteStaffMessage(this.staffService.deleteStaffs([this.profile?.uuId as string])));\n }\n}\n","
\n
\n

職員

\n

/

\n

職員概覽

\n

/

\n

{{ '的職員檔案' | translate: {value: profile.chineseName} }}

\n
\n\n

{{ profile.chineseName }} {{ profile.englishName }}

\n\n
\n
\n\n \n\n

欄目帶 * 號為必填項

\n\n
\n

職員編號

\n

{{ profile.memberId }}

\n
\n\n
\n

登入帳號

\n

{{ profile.userName }}

\n \n \n
\n \n
\n
\n
\n\n
\n

登入密碼

\n

********

\n \n \n
\n \n
\n
\n
\n\n
\n

職員姓名

\n

{{ profile.chineseName }}

\n \n \n \n
\n

請輸入中文姓名

\n
\n
\n

請輸入英文姓名

\n
\n
\n
\n\n
\n

中心編號

\n

{{ profile.center.centerCode }}

\n \n
\n \n
\n
\n

請選擇所屬中心

\n
\n
\n
\n\n
\n

性別

\n \n \n

\n \n

\n
\n\n \n \n \n \n\n
\n\n
\n

電話號碼

\n

{{ profile.phone }}

\n \n \n
\n

請輸入電話號碼

\n
\n
\n
\n\n \n \n
\n

{{ '地址#' | translate: {value: index+1} }}

\n
\n

{{ address.region.name }},{{ address.district.name }},{{\n address.subDistrict.name }}

\n

{{ address.street.name }},{{ address.streetNumber.name }}\n

\n

{{ address.estate.name }},{{ address.block.name }}

\n

{{ address.floor.name }},{{ address.room.name }}

\n
\n
\n\n
\n

{{ '居住條件 #' | translate: {value:\n index+1} }}

\n
\n

未設置

\n
\n
\n

{{ living.name }}

\n
\n
\n
\n
\n
\n
\n\n \n \n \n \n\n
\n

增添地址

\n
\n
\n\n\n
\n

權限設置

\n
\n

可擁有以下中心的職員權限,包括查看同操作會員資料

\n \n
\n

{{ center.centerCode }}

\n

{{ center.name }}

\n

默認

\n
\n
\n \n
\n

{{ center.centerCode }}

\n

{{ center.name }}

\n

默認

\n
\n\n
\n

新增中心

\n add_circle\n
\n
\n
\n
\n\n
\n

註冊審核

\n
\n
\n

是否擁有審核機構內會員帳號申請資料的權限?

\n help_outline\n

該權限可審核由App遞交的會員帳號申請,並可指定通過申請的會員所屬中心位置

\n
\n\n
\n \n \n \n \n\n \n \n \n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { StaffService } from 'src/app/services/staff/staff.service';\n\n@Component({\n selector: 'app-staff-overview-page',\n templateUrl: './staff-overview-page.component.html',\n styleUrls: ['./staff-overview-page.component.scss']\n})\nexport class StaffOverviewPageComponent implements OnInit {\n\n staffs: Profile[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n };\n\n constructor(\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService,\n private staffService: StaffService,\n private exportService: ExportService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.staffService.getStaffProfileList()\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.staffs = value\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n }).bind(this);\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n }).bind(this);\n\n\n public deleteStaff(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteStaffMessage(this.staffService.deleteStaffs([uuId])));\n }\n\n public deleteStaffList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteStaffListMessage(this.staffService.deleteStaffs(this.selectedStaffs.map(s => s.uuId))));\n }\n\n get pages(): number {\n return Math.ceil(this.filteredStaffs.length / this.filters.itemsPerPage);\n }\n\n get filteredStaffs(): Profile[] {\n return this.staffs.filter(staff =>\n (!this.filters.searchInput\n || staff.memberId.toLocaleLowerCase().includes(this.filters.searchInput.toLocaleLowerCase())\n || staff.chineseName.toLocaleLowerCase().includes(this.filters.searchInput.toLocaleLowerCase()))\n && (this.filters.centers.length == 0 || this.filters.centers.some((center: Center) => staff.center && staff.center.uuId == center.uuId)));\n }\n\n get displayedStaffs(): Profile[] {\n return this.filteredStaffs.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get selectedStaffs(): Profile[] {\n return this.staffs ? this.staffs.filter(p => p.selected) : [];\n }\n\n get isSelectedAll(): boolean {\n return this.displayedStaffs.every(s => s.selected);\n }\n\n public selectAll(): void {\n if (this.isSelectedAll)\n this.displayedStaffs.forEach(s => s.selected = false);\n else\n this.displayedStaffs.forEach(s => s.selected = true);\n }\n\n export(): void {\n this.exportService.exportUsers(this.staffs.map(staff => staff.getUserExportModel()), \"Staff\");\n }\n}\n","
\n
\n

職員

\n

/

\n

職員概覽

\n
\n\n

職員概覽

\n\n
\n
\n
\n \n\n \n\n \n\n \n
\n\n
\n \n
\n\n \n\n\n \n
\n
\n \n
\n
\n

中心代碼

\n
\n
\n

中心名稱

\n
\n
\n

職員編號

\n
\n
\n

中文姓名

\n
\n
\n

電話

\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n \n
\n
\n\n
\n

{{ staff.center.centerCode }}

\n
\n\n
\n

{{ staff.center.name }}

\n
\n\n
\n

{{ staff.memberId }}

\n
\n\n
\n

{{ staff.chineseName }}

\n
\n\n
\n

{{ staff.phone }}

\n
\n\n
\n

檢視/更改權限

\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ selectedStaffs.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ staffs.length }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin, Observable } from 'rxjs';\nimport { finalize, switchMap } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { StaffService } from 'src/app/services/staff/staff.service';\n\n@Component({\n selector: 'app-staff-profile-page',\n templateUrl: './staff-profile-page.component.html',\n styleUrls: ['./staff-profile-page.component.scss']\n})\nexport class StaffProfilePageComponent implements OnInit {\n\n profile!: Profile;\n centers: Center[] = [];\n readonly: boolean = true;\n showSuccessMessage: boolean = false;\n\n constructor(\n private profileService: ProfileService,\n private centerService: CenterService,\n private loadingService: LoadingService,\n private snackBar: MatSnackBar,\n private translateService: TranslateService,\n private popupMessageService: PopupMessageService,\n private authService: AuthenticationService,\n private staffService: StaffService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n forkJoin({\n profile: this.profileService.getMyProfile(),\n centers: this.centerService.getCenters()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(v => {\n this.profile = v.profile;\n this.centers = v.centers;\n })\n }\n\n\n dropAddressAction = ((index: number) => {\n this.profile?.form.addresses.splice(index, 1);\n }).bind(this);\n\n submit(): void {\n\n if (this.profile?.form.valid == false) {\n this.profile.form.formGroup.markAllAsTouched();\n this.profile.form.addresses.forEach(address => address.form.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n let observable: Observable;\n if (this.profile?.form.doChangeUsernameAndPassword())\n observable = this.staffService.editMyStaffProfile(this.profile.form.getUpdateMyStaffModel())\n .pipe(switchMap(() => {\n return this.authService.changeUsernameAndPassword({\n userUUId: (this.profile as Profile).uuId,\n username: this.username.value,\n password: this.password.value\n });\n }))\n else\n observable = this.staffService.editMyStaffProfile((this.profile as Profile).form.getUpdateMyStaffModel());\n\n this.loadingService.startLoading();\n observable\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n this.readonly = true;\n // this.showSuccessMessage = true;\n forkJoin({\n text: this.translateService.get(\"資料已保存\"),\n action: this.translateService.get(\"關閉\")\n }).subscribe(value => {\n this.snackBar.open(value.text, value.action, { horizontalPosition: 'right', duration: 5000 });\n });\n window.scrollTo(0, 0);\n this.fetch();\n }\n });\n }\n\n get memberId(): AbstractControl {\n return this.profile?.form.formGroup.controls['memberId'] as FormControl;\n }\n\n get username(): AbstractControl {\n return this.profile?.form.formGroup.controls['username'] as FormControl;\n }\n\n get password(): AbstractControl {\n return this.profile?.form.formGroup.controls['password'] as FormControl;\n }\n\n get center(): AbstractControl {\n return this.profile?.form.formGroup.controls['center'] as FormControl;\n }\n\n get chineseName(): AbstractControl {\n return this.profile?.form.formGroup.controls['chineseName'] as FormControl;\n }\n\n get englishName(): AbstractControl {\n return this.profile?.form.formGroup.controls['englishName'] as FormControl;\n }\n\n get gender(): AbstractControl {\n return this.profile?.form.formGroup.controls['gender'] as FormControl;\n }\n\n get phone(): AbstractControl {\n return this.profile?.form.formGroup.controls['phone'] as FormControl;\n }\n}\n","
\n
\n

職員

\n

/

\n

{{ '的職員檔案' | translate: {value: profile.chineseName} }}

\n
\n\n

{{ profile.chineseName }} {{ profile.englishName }}

\n\n
\n
\n

欄目帶 * 號為必填項

\n\n
\n

會員編號

\n

{{ profile.memberId }}

\n
\n\n
\n

登入帳號

\n

{{ profile.userName }}

\n \n \n
\n \n
\n
\n
\n\n\n
\n

登入密碼

\n

********

\n \n \n
\n \n
\n
\n
\n\n\n
\n

職員姓名

\n

{{ profile.chineseName }}

\n \n \n \n
\n

請輸入中文姓名

\n
\n
\n

請輸入英文姓名

\n
\n
\n
\n\n
\n

中心編號

\n

{{ profile.center.centerCode }}

\n \n
\n \n
\n
\n

請選擇所屬中心

\n
\n
\n
\n\n\n
\n

性別

\n \n \n

\n \n

\n
\n\n \n \n \n \n
\n\n\n
\n

電話號碼

\n

{{ profile.phone }}

\n \n \n
\n

請輸入電話號碼

\n
\n
\n
\n\n\n \n \n
\n

{{ '地址#' | translate: {value: index+1} }}

\n
\n

{{ address.region.name }},{{ address.district.name }},{{\n address.subDistrict.name }}

\n

{{ address.street.name }},{{ address.streetNumber.name }}\n

\n

{{ address.estate.name }},{{ address.block.name }}

\n

{{ address.floor.name }},{{ address.room.name }}

\n
\n
\n\n
\n

{{ '居住條件 #' | translate: {value:\n index+1} }}

\n
\n

未設置

\n
\n
\n

{{ living.name }}

\n
\n
\n
\n
\n
\n
\n\n \n \n \n \n\n
\n

增添地址

\n
\n
\n\n
\n \n \n \n \n \n \n \n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StaffOverviewPageComponent } from './pages/staff-overview-page/staff-overview-page.component';\nimport { StaffCreatePageComponent } from './pages/staff-create-page/staff-create-page.component';\nimport { StaffDetailPageComponent } from './pages/staff-detail-page/staff-detail-page.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ShareModule } from '../share/share.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CenterPermissionPopupComponent } from './components/center-permission-popup/center-permission-popup.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { StaffProfilePageComponent } from './pages/staff-profile-page/staff-profile-page.component';\nimport { SuperAdminGuard } from 'src/app/guards/super-admin.guard';\n\nconst routes: Routes = [\n { path: 'overview', component: StaffOverviewPageComponent, canActivate: [SuperAdminGuard] },\n { path: 'create', component: StaffCreatePageComponent, canActivate: [SuperAdminGuard] },\n { path: 'overview/:id', component: StaffDetailPageComponent, canActivate: [SuperAdminGuard] },\n { path: 'my-profile', component: StaffProfilePageComponent },\n { path: '', redirectTo: 'overview', pathMatch: 'full' },\n { path: '**', redirectTo: 'overview' }\n];\n\n@NgModule({\n declarations: [\n StaffOverviewPageComponent,\n StaffCreatePageComponent,\n StaffDetailPageComponent,\n CenterPermissionPopupComponent,\n StaffProfilePageComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n FormsModule,\n ReactiveFormsModule,\n ShareModule,\n TranslateModule.forChild(),\n MatTooltipModule\n ]\n})\nexport class StaffModule { }\n","import { ValueConverter } from '@angular/compiler/src/render3/view/template';\nimport { Component, OnInit } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { CellGroupMemberProfile } from 'src/app/models/profiles/cell-group-member-profile';\nimport { CellGroupService } from 'src/app/services/cell-group/cell-group.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\n\n@Component({\n selector: 'app-cell-group-members-popup',\n templateUrl: './cell-group-members-popup.component.html',\n styleUrls: ['./cell-group-members-popup.component.scss']\n})\nexport class CellGroupMembersPopupComponent implements OnInit {\n\n members: CellGroupMemberProfile[] = [];\n filteredMembers: CellGroupMemberProfile[] = [];\n cellGroup: CellGroup | null = null;\n display: boolean = false;\n\n constructor(\n private cellGroupService: CellGroupService,\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.cellGroupService.getCellGroupMemberList(this.cellGroup?.uuId)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.members = value;\n this.members.filter(member => member.cellGroups.find(group => group.uuId == this.cellGroup?.uuId)?.leaders.some(leader => leader.uuId == member.uuId)).forEach(member => member.isLeader = true);\n this.filteredMembers = this.members;\n })\n }\n\n open(cellGroup: CellGroup): void {\n this.display = true;\n this.cellGroup = cellGroup;\n this.fetch();\n }\n\n close(): void {\n this.cellGroup = null;\n this.members = [];\n this.filteredMembers = [];\n this.display = false;\n }\n\n searchAction: (value: string) => void = ((value: string) => {\n this.filteredMembers = this.members.filter(member => member.chineseName.includes(value) || member.memberId.toLowerCase().includes(value.toLowerCase()));\n }).bind(this);\n\n addLeader(user: CellGroupMemberProfile): void {\n this.cellGroupService.addCellGroupLeader(this.cellGroup?.uuId, [user.uuId])\n .subscribe({\n next: () => user.isLeader = true\n });\n }\n\n removeLeader(user: CellGroupMemberProfile): void {\n this.cellGroupService.removeCellGroupLeader(this.cellGroup?.uuId, [user.uuId])\n .subscribe({\n next: () => user.isLeader = false\n });\n }\n\n public removeMemberFromCellGroup(userUUId: string): void {\n this.loadingService.startLoading();\n this.cellGroupService.removeMembersFromCellGroup(this.cellGroup?.uuId as string, [userUUId])\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => this.fetch()\n });\n }\n}\n","
\n
\n\n
\n

{{ cellGroup.name }}

\n\n
\n add_circle\n

新增組員

\n
\n
\n\n
\n \n
\n

共有

\n

{{ members.length }}

\n

位用戶屬於該小組

\n
\n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

身分

\n
\n
\n

時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n

{{ member.memberId }}

\n
\n
\n

{{ member.chineseName }}

\n
\n
\n

{{ member.center.centerCode }}

\n
\n
\n

{{ member.gender | translate }}

\n
\n
\n

{{ member.age }}

\n
\n
\n

{{ member.phone }}

\n
\n
\n

組長

\n star_rate\n

組員

\n
\n
\n

{{ member.timeBalance }}

\n
\n
\n

檢視

\n

設為組長

\n

取消組長

\n

移出

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n
\n\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { CellGroupService } from 'src/app/services/cell-group/cell-group.service';\nimport { CenterService } from 'src/app/services/center/center.service';\n\n@Component({\n selector: 'app-cell-group-setting',\n templateUrl: './cell-group-setting.component.html',\n styleUrls: ['./cell-group-setting.component.scss']\n})\nexport class CellGroupSettingComponent implements OnInit {\n\n index: number = 0;\n centers: Center[] = [];\n\n form: FormGroup = new FormGroup({\n center: new FormControl(null, [Validators.required]),\n name: new FormControl(null, [Validators.required])\n });\n\n loading: boolean = false;\n\n constructor(\n private centerService: CenterService,\n private cellGroupService: CellGroupService,\n ) { }\n\n ngOnInit(): void {\n this.centerService.centerCreatedEvent.subscribe(() => {\n this.fetch();\n });\n\n this.centerService.centerUpdatedEvent.subscribe(() => {\n this.fetch();\n });\n\n this.fetch();\n }\n\n fetch(): void {\n this.loading = true;\n this.cellGroupService.getCenterCellGroupList()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => this.centers = value\n })\n }\n\n create(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.cellGroupService.createCellGroup({\n centerUUId: this.form.controls['center'].value,\n name: this.form.controls['name'].value\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n this.form.reset();\n }\n });\n }\n\n update(cellGroup: CellGroup): void {\n if (cellGroup.form.invalid) {\n cellGroup.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.cellGroupService.updateCellGroup(cellGroup.getUpdateCellGroupModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => this.fetch()\n });\n }\n\n get selectedCenter(): Center | null {\n return this.centers.length > 0 ? this.centers[this.index] : null;\n }\n\n}\n","
\n

细胞小组

\n
\n
\n
\n \n
\n \n

保存

\n
\n\n
\n
\n
\n

{{ center.name }}

\n

{{ center.cellGroups.length }}

\n
\n
\n\n
\n \n
\n \n \n

{{ cellGroup.name }}

\n
\n

0\" matTooltip=\"{{ '組長:' | translate: {value: cellGroup.leaders[0].name} }}\" [matTooltipPosition]=\"'above'\">{{ '組長:' | translate: {value: cellGroup.leaders[0].name} }}

\n

1\">...

\n
\n create\n search\n
\n\n \n
\n \n

保存

\n

取消

\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { Center, CenterLink } from 'src/app/models/centers/center';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { finalize } from 'rxjs/operators';\nimport { UpdateCenterLinkModel } from 'src/app/models/centers/update-center-link-model';\n\n@Component({\n selector: 'app-center-linker-volunteer',\n templateUrl: './center-linker-volunteer.component.html',\n styleUrls: ['./center-linker-volunteer.component.scss']\n})\nexport class CenterLinkerVolunteerComponent implements OnInit {\n\n index: number = 0;\n centers: CenterLink[] = [];\n loading: boolean = false;\n\n constructor(\n private centerService: CenterService\n ) { }\n\n ngOnInit(): void {\n \n this.fetch();\n }\n fetch(): void {\n this.loading = true;\n this.centerService.centerLinkVolunteer().pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.centers = value;\n }\n })\n }\n hasCenter(center:Center):boolean{\n var selected=this.selectedCenter;\n if(selected==null)return false;\n //console.log(center.name,selected.canFindCenters,selected.canFindCenters.find(c=>c.uuId==center.uuId));\n return selected.canFindCenters.find(c=>c.uuId==center.uuId)!=null;\n }\n update(center:Center):void{\n var selected=this.selectedCenter;\n if(selected!=null){\n var findCenter=selected.canFindCenters.find(c=>c.uuId==center.uuId);\n if(findCenter==null){\n selected.canFindCenters.push(center);\n }else{\n selected.canFindCenters.splice(selected.canFindCenters.indexOf(findCenter),1);\n }\n \n this.centerService.setCenterLinkVolunteer(this.centers[this.index].getUpdateCenterLinkModel()).subscribe({\n next: value => {\n this.fetch();\n }\n })\n }\n }\n get selectedCenter(): Center | null {\n return this.centers.length > 0 ? this.centers[this.index].center : null;\n }\n}\n","
\n

中心義工

\n
\n

默認義工服務申請只顯示同一中心內的義工列表,可設置和其他中心的義工列表互通邀請

\n\n
\n
\n
\n

{{ center.center.name }}

\n

{{ center.canFindCenters.length }}

\n
\n
\n\n
\n \n
\n
(只可用於邀請義工,管理其他中心義工會員檔案另需開通權限)
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { Center } from 'src/app/models/centers/center';\nimport { CenterService } from 'src/app/services/center/center.service';\n\n@Component({\n selector: 'app-center-setting',\n templateUrl: './center-setting.component.html',\n styleUrls: ['./center-setting.component.scss']\n})\nexport class CenterSettingComponent implements OnInit {\n\n centers: Center[] = [];\n loading: boolean = true;\n\n form: FormGroup = new FormGroup({\n code: new FormControl(null, [Validators.required]),\n phone: new FormControl(null, [Validators.required]),\n name: new FormControl(null, [Validators.required])\n });\n\n constructor(\n private centerService: CenterService\n ) { }\n\n ngOnInit(): void {\n setTimeout(() => this.fetch(), 500)\n }\n\n fetch(): void {\n this.loading = true;\n this.centerService.getCenters()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.centers = value\n }\n });\n }\n\n create(): void {\n if (this.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.centerService.createCenter({\n centerCode: this.form.controls['code'].value,\n phoneNumber: this.form.controls['phone'].value,\n name: this.form.controls['name'].value\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n this.form.reset();\n }\n });\n }\n\n update(center: Center): void {\n if (center.form.invalid) {\n center.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.centerService.updateCenter(center.getUpdateCenterModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n center.editing = false;\n this.fetch();\n }\n });\n }\n}\n","
\n

中心代碼

\n
\n
\n \n \n \n

保存

\n
\n \n \n\n \n
\n

{{ center.centerCode }}

\n

{{ center.phoneNumber }}

\n

{{ center.name }}

\n create\n
\n\n
\n\n \n
\n \n \n \n

保存

\n

取消

\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-data-setting-container',\n templateUrl: './data-setting-container.component.html',\n styleUrls: ['./data-setting-container.component.scss']\n})\nexport class DataSettingContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-event-setting-container',\n templateUrl: './event-setting-container.component.html',\n styleUrls: ['./event-setting-container.component.scss']\n})\nexport class EventSettingContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { EventTypeService } from 'src/app/services/event-type/event-type.service';\n\n@Component({\n selector: 'app-event-type-setting',\n templateUrl: './event-type-setting.component.html',\n styleUrls: ['./event-type-setting.component.scss']\n})\nexport class EventTypeSettingComponent implements OnInit {\n\n eventTypes: EventType[] = [];\n loading: boolean = false;\n form: FormGroup = new FormGroup({\n code: new FormControl(null, [Validators.required]),\n name: new FormControl(null, [Validators.required])\n });\n\n constructor(\n private eventTypeService: EventTypeService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loading = true;\n this.eventTypeService.getEventTypeList()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.eventTypes = value;\n }\n })\n }\n\n create(): void {\n if (this.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.eventTypeService.createEventType({\n code: this.form.controls['code'].value,\n name: this.form.controls['name'].value\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.form.reset();\n this.fetch();\n }\n });\n }\n\n update(eventType: EventType): void {\n if (eventType.form.invalid == true) {\n eventType.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.eventTypeService.updateEventType(eventType.getUpdateEventTypeModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n }\n })\n }\n\n}\n","
\n

中心活動類型

\n
\n
\n \n \n

保存

\n
\n
\n
\n \n

{{ eventType.code }}

\n

{{ eventType.name }}

\n create\n
\n \n
\n \n \n

保存

\n

取消

\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { ConditionConflict } from 'src/app/models/condition-conflicts/condition-conflict';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { ConditionConflictService } from 'src/app/services/condition-conflict/condition-conflict.service';\nimport { HealthService } from 'src/app/services/health/health.service';\nimport { LivingService } from 'src/app/services/living/living.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\n\n@Component({\n selector: 'app-health-living-setting',\n templateUrl: './health-living-setting.component.html',\n styleUrls: ['./health-living-setting.component.scss']\n})\nexport class HealthLivingSettingComponent implements OnInit {\n\n healths: Health[] = [];\n index: number = 0;\n conflicts: ConditionConflict[] = [];\n livings: Living[] = [];\n\n constructor(\n private healthService: HealthService,\n private conditionConflictService: ConditionConflictService,\n private livingService: LivingService,\n private loadingService: LoadingService,\n private translate:TranslateService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n forkJoin({\n healths: this.healthService.getHealthConditionList(),\n conflicts: this.conditionConflictService.getConditionConflictList(),\n livings: this.livingService.getLivingConditionList()\n })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.healths = value.healths;\n this.conflicts = value.conflicts\n this.livings = value.livings;\n }\n });\n }\n\n createConflictAction: (livings: Living[]) => void = ((livings: Living[]) => {\n this.loadingService.startLoading();\n this.conditionConflictService.createConditionConflict(livings.map(lc => {\n return {\n healthConditionUUId: this.healths[this.index].uuId,\n livingConditionUUId: lc.uuId\n }\n })).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n // this.messageService.displayPopupMessage(AppStaticMessage.CreateConditionConflictSuccessMessage);\n this.fetch();\n }\n });\n }).bind(this);\n\n\n deleteConditionConflict(living: Living): void {\n this.loadingService.startLoading();\n this.conditionConflictService.deleteConditionConflict([{\n healthConditionUUId: this.healths[this.index].uuId,\n livingConditionUUId: living.uuId\n }]).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => {\n // this.messageService.displayPopupMessage(AppStaticMessage.DeleteConditionConflictSuccessMessage);\n this.fetch();\n }\n });\n }\n\n\n getHealthConditionConflictsLength(health: Health): number {\n return this.conflicts.filter(cc => cc.healthConditionUUId == health.uuId).length;\n }\n get selectedHealthName():string{\n var out:string=\"\";\n this.translate.get('和健康狀況 「行動不便」 相斥的申請人居住條件:').subscribe((text:string) => {\n if(this.healths[this.index]!=null)\n out=text.replace(\"{{ value }}\",this.healths[this.index].name);\n });\n return out;\n }\n get selectedHealthConflicts(): Living[] {\n if (this.healths[this.index] == null)\n return [];\n\n var conflicts = this.conflicts\n .filter(cc => cc.healthConditionUUId == this.healths[this.index].uuId)\n .map(cc => cc.livingConditionUUId);\n return this.livings.filter(living => conflicts.includes(living.uuId));\n }\n}\n","
\n

健康狀況限制

\n
\n
\n

請指定居住條件和對應相斥的健康狀況

\n
\n\n
\n
\n

義工健康狀況

\n
\n

{{ health.name }}

\n

{{ getHealthConditionConflictsLength(health) }}

\n
\n
\n\n
\n

{{selectedHealthName}}

\n\n
\n

{{ conflict.name }}

\n close\n
\n\n
\n add_circle\n

新增居住條件

\n
\n\n
\n error_outline\n

義工若擁有不符合或相斥對應的申請人居住條件需求的健康狀況,在該申請人的義工配對系統中推薦評分會相應降低

\n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { Health } from 'src/app/models/healths/health';\nimport { HealthService } from 'src/app/services/health/health.service';\n\n@Component({\n selector: 'app-health-setting',\n templateUrl: './health-setting.component.html',\n styleUrls: ['./health-setting.component.scss']\n})\nexport class HealthSettingComponent implements OnInit {\n\n healths: Health[] = [];\n\n loading: boolean = false;\n form: FormGroup = new FormGroup({\n name: new FormControl(null, [Validators.required]),\n isShowInRequest: new FormControl(false, [Validators.required])\n });\n\n constructor(\n private healthService: HealthService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loading = true;\n this.healthService.getHealthConditionList()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.healths = value\n }\n });\n }\n\n create(): void {\n if (this.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.healthService.createHealthCondition({\n name: this.form.controls['name'].value,\n isShowInRequest: this.form.controls['isShowInRequest'].value\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n this.form.reset();\n }\n })\n }\n\n update(health: Health): void {\n if (health.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.healthService.updateHealthCondition(health.getUpdateHealthModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n }\n })\n }\n\n updateVisibility(health: Health, visibility: boolean): void {\n health.isShowInRequest = visibility;\n health.form.controls['isShowInRequest'].setValue(visibility);\n }\n}\n","
\n

身體狀況

\n
\n
\n \n visibility\n visibility_off\n

保存

\n
\n\n
\n
\n \n

{{ health.name }}

\n visibility\n visibility_off\n create\n
\n \n
\n \n visibility\n visibility_off\n

保存

\n

取消

\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { AddressType, Living } from 'src/app/models/livings/living';\nimport { LivingService } from 'src/app/services/living/living.service';\n\n@Component({\n selector: 'app-living-setting',\n templateUrl: './living-setting.component.html',\n styleUrls: ['./living-setting.component.scss']\n})\nexport class LivingSettingComponent implements OnInit {\n\n livings: Living[] = [];\n\n index: number = 0;\n loading: boolean = false;\n form: FormGroup = new FormGroup({\n type: new FormControl(null, [Validators.required]),\n name: new FormControl(null, [Validators.required])\n });\n\n public types = [\n { name: \"單位\", type: AddressType.Room },\n { name: \"樓層\", type: AddressType.Floor },\n { name: \"大廈/期/座\", type: AddressType.Block },\n { name: \"屋苑/屋邨\", type: AddressType.Estate },\n { name: \"街號\", type: AddressType.StreetNumber },\n { name: \"街道\", type: AddressType.Street },\n ];\n\n\n constructor(\n private livingService: LivingService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loading = true;\n this.livingService.getLivingConditionList()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.livings = value;\n }\n });\n }\n\n create(): void {\n if (this.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.livingService.createLivingCondition({\n name: this.form.controls['name'].value,\n type: this.form.controls['type'].value,\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.form.reset();\n this.fetch();\n }\n })\n }\n\n update(living: Living): void {\n if (living.form.invalid == true) {\n living.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.livingService.updateLivingConditon(living.getUpdateLivingModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n }\n })\n }\n\n get livingsOfSelectedType(): Living[] {\n return this.livings.filter(living => living.type == this.types[this.index].type);\n }\n\n numberOfLivingOfType(type: AddressType): number {\n return this.livings.filter(living => living.type == type).length;\n }\n}\n","
\n

居住條件限制

\n
\n
\n
\n \n
\n \n

保存

\n
\n\n
\n\n
\n
\n

{{ type.name | translate }}

\n

{{ numberOfLivingOfType(type.type) }}

\n
\n \n
\n\n
\n
\n \n \n

{{ living.name }}

\n create\n
\n \n
\n \n

保存

\n

取消

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-organization-setting-container',\n templateUrl: './organization-setting-container.component.html',\n styleUrls: ['./organization-setting-container.component.scss']\n})\nexport class OrganizationSettingContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n\n
\n \n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\nimport { RecommandRatio } from 'src/app/models/recommands/recommand-ratio';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { RecommandRatioService } from 'src/app/services/recommand-ratio/recommand-ratio.service';\n\n@Component({\n selector: 'app-recommand-setting',\n templateUrl: './recommand-setting.component.html',\n styleUrls: ['./recommand-setting.component.scss']\n})\nexport class RecommandSettingComponent implements OnInit {\n\n ratios: RecommandRatio[] = [];\n\n constructor(\n private recommandRatioService: RecommandRatioService,\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.recommandRatioService.getRecommandRatio()\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.ratios = value;\n }\n });\n }\n\n updateRatios(): void {\n this.loadingService.startLoading();\n this.recommandRatioService.setRecommandRatio(this.ratios)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe();\n }\n\n get serviceRatio(): RecommandRatio | undefined {\n return this.ratios.find(ratio => ratio.name == \"service\");\n }\n \n get availabilityRatio(): RecommandRatio | undefined {\n return this.ratios.find(ratio => ratio.name == \"availability\");\n }\n \n get addressRatio(): RecommandRatio | undefined {\n return this.ratios.find(ratio => ratio.name == \"address\");\n }\n \n get conditionRatio(): RecommandRatio | undefined {\n return this.ratios.find(ratio => ratio.name == \"condition\");\n }\n \n get feedbackRatio(): RecommandRatio | undefined {\n return this.ratios.find(ratio => ratio.name == \"feedback\");\n }\n\n}\n","
\n

推薦比重設置

\n\n
\n
\n

義工配對系統會根據所設定的不同推薦因素比重綜合評分以推薦符合申請人需求的義工

\n
\n\n\n
\n
\n

推薦因素

\n

重要程度

\n
\n\n
\n

可提供的服務

\n \n \n \n
\n\n
\n

空閒時間

\n \n \n \n
\n\n
\n

地理位置

\n \n \n \n
\n\n
\n

居住/健康條件

\n \n \n \n
\n\n
\n

申請人反饋

\n \n \n \n
\n
\n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Service } from 'src/app/models/services/service';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ServiceService } from 'src/app/services/service/service.service';\n\n@Component({\n selector: 'app-service-setting',\n templateUrl: './service-setting.component.html',\n styleUrls: ['./service-setting.component.scss']\n})\nexport class ServiceSettingComponent implements OnInit {\n\n index: number = 0;\n serviceTypes: ServiceType[] = [];\n\n loading: boolean = false;\n form: FormGroup = new FormGroup({\n type: new FormControl(null, [Validators.required]),\n code: new FormControl(null, [Validators.required]),\n name: new FormControl(null, [Validators.required]),\n destination: new FormControl(false)\n });\n\n constructor(\n private serviceService: ServiceService,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n\n this.serviceService.signal.subscribe(() => {\n this.fetch();\n })\n }\n\n fetch(): void {\n this.loading = true;\n this.serviceService.getAllServiceTypeList()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.serviceTypes = value;\n }\n });\n }\n\n create(): void {\n if (this.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.serviceService.createService({\n name: this.form.controls['name'].value,\n servicesCode: this.form.controls['code'].value,\n serviceTypeUUId: this.form.controls['type'].value,\n destinationNeeded: this.form.controls['destination'].value\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n this.form.reset();\n this.form.controls['destination'].setValue(false);\n }\n });\n }\n\n update(service: Service): void {\n if (service.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.serviceService.updateService(service.getUpdateServiceModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.form.reset();\n this.form.controls['destination'].setValue(false);\n this.fetch();\n }\n });\n }\n\n enableService(service: Service): void {\n service.form.controls['enable'].setValue(true);\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(() => {\n this.fetch();\n subscriber.unsubscribe();\n })\n\n this.popupMessageService.messageSignal.emit(PopupMessages.EnableServiceMessage(\n this.serviceService.updateService(service.getUpdateServiceModel())\n ));\n }\n\n disableService(service: Service): void {\n service.form.controls['enable'].setValue(false);\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(() => {\n this.fetch();\n subscriber.unsubscribe();\n })\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DisableServiceMessage(\n this.serviceService.updateService(service.getUpdateServiceModel())\n ));\n }\n\n get selectedServiceType(): ServiceType {\n return this.serviceTypes[this.index];\n }\n}\n","
\n

可提供服務

\n
\n
\n
\n \n
\n \n \n \n \n

保存

\n
\n\n
\n
\n
\n

{{ serviceType.name }}

\n

{{ serviceType.services.length }}

\n
\n
\n\n
\n \n
\n \n \n

{{ service.servicesCode }}

\n

{{ service.name }}

\n \n block\n refresh\n create\n
\n \n
\n \n \n \n \n

保存

\n

取消

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { ServiceService } from 'src/app/services/service/service.service';\n\n@Component({\n selector: 'app-service-type-setting',\n templateUrl: './service-type-setting.component.html',\n styleUrls: ['./service-type-setting.component.scss']\n})\nexport class ServiceTypeSettingComponent implements OnInit {\n\n loading: boolean = false;\n serviceTypes: ServiceType[] = [];\n form: FormGroup = new FormGroup({\n name: new FormControl(null, [Validators.required])\n })\n\n constructor(\n private serviceService: ServiceService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loading = true;\n this.serviceService.getAllServiceTypeList()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.serviceTypes = value\n }\n });\n }\n\n create(): void {\n if (this.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.serviceService.createServiceType({\n name: this.form.controls['name'].value\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n this.form.reset();\n this.serviceService.signal.emit();\n }\n });\n }\n\n update(serviceType: ServiceType): void {\n if (serviceType.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.serviceService.updateServiceType(serviceType.getUpdateServiceTypeModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n this.serviceService.signal.emit()\n }\n });\n }\n\n}\n","
\n

可提供服務類別

\n
\n\n
\n \n \n

保存

\n
\n\n
\n
\n \n

{{ serviceType.name }}

\n create\n
\n \n
\n \n \n

保存

\n

取消

\n
\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { Transportation } from 'src/app/models/transportations/transportation';\nimport { TransportationService } from 'src/app/services/transportation/transportation.service';\n\n@Component({\n selector: 'app-transportation-setting',\n templateUrl: './transportation-setting.component.html',\n styleUrls: ['./transportation-setting.component.scss']\n})\nexport class TransportationSettingComponent implements OnInit {\n\n transportations: Transportation[] = [];\n\n loading: boolean = false;\n form: FormGroup = new FormGroup({\n name: new FormControl(null, [Validators.required])\n });\n\n constructor(\n private transportationService: TransportationService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loading = true;\n this.transportationService.getTransportationList()\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: value => {\n this.transportations = value;\n }\n });\n }\n\n create(): void {\n if (this.form.invalid == true) {\n this.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.transportationService.createTransportation({\n name: this.form.controls['name'].value\n }).pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.form.reset();\n this.fetch();\n }\n })\n\n }\n\n update(transportation: Transportation): void {\n if (transportation.form.invalid == true) {\n transportation.form.markAllAsTouched();\n return;\n }\n\n this.loading = true;\n this.transportationService.updateTransportation(transportation.getUpdateTransportationModel())\n .pipe(finalize(() => this.loading = false))\n .subscribe({\n next: () => {\n this.fetch();\n }\n });\n }\n\n}\n","
\n

交通工具

\n
\n
\n \n

保存

\n
\n\n
\n
\n \n

{{ transportation.name }}

\n create\n
\n \n
\n \n

保存

\n

取消

\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { CellGroupMemberProfile } from 'src/app/models/profiles/cell-group-member-profile';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { CellGroupService } from 'src/app/services/cell-group/cell-group.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-add-cell-group-member-page',\n templateUrl: './add-cell-group-member-page.component.html',\n styleUrls: ['./add-cell-group-member-page.component.scss']\n})\nexport class AddCellGroupMemberPageComponent implements OnInit {\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: CellGroupMemberProfile[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private loadingService: LoadingService,\n private profileService: ProfileService,\n private router: Router,\n private route: ActivatedRoute,\n private cellGroupService: CellGroupService,\n private popupMessageService: PopupMessageService,\n private location: Location\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profiles = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.route.params.subscribe(value => {\n this.router.navigate(['/main/system', value.id, 'select-member'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n })\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(new CellGroupMemberProfile(profile));\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles\n .filter(profile => profile.selected == false)\n .map(profile => new CellGroupMemberProfile(profile)));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n fetchEverything(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getEverythingQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.caches = value.list.map(profile => new CellGroupMemberProfile(profile));\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n private getEverythingQueryString(): string {\n return \"?start=0\"\n + \"&limit=5000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.every(profile => profile.selected == true);\n }\n\n get isSelectedEverything(): boolean {\n return this.caches.length >= this.count;\n }\n\n selectEverything(): void {\n if (this.isSelectedEverything == true) {\n this.caches = [];\n this.profiles.forEach(profile => profile.selected = false)\n }\n else {\n this.fetchEverything();\n }\n }\n\n back(): void {\n this.location.back();\n }\n\n submit(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.cellGroupService.addMembersToCellGroup(value.id, this.caches.map(user => user.uuId))\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: () => this.popupMessageService.messageSignal.emit(PopupMessages.AddMembersToCellGroupSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/system/setting/organization'])\n this.loadingService.stopLoading();\n })\n ))\n });\n });\n }\n}\n","
\n
\n

後台設置

\n

/

\n

機構設置

\n

/

\n

細胞小組

\n
\n\n

新增組員

\n\n
\n
\n \n\n
\n \n \n \n \n \n\n
\n\n \n\n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n \n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-data-setting-page',\n templateUrl: './data-setting-page.component.html',\n styleUrls: ['./data-setting-page.component.scss'],\n animations: [PortalAnimation.SystemPageSlide]\n})\nexport class DataSettingPageComponent implements OnInit {\n\n tab: string = \"organization\";\n\n constructor(\n private router: Router\n ) { }\n\n ngOnInit(): void {\n if (this.router.url == \"/main/system/setting/data\")\n this.tab = \"data\";\n if (this.router.url == \"/main/system/setting/event\")\n this.tab = \"event\";\n }\n\n prepareRoute(outlet: RouterOutlet) {\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animationState'];\n }\n}\n","
\n
\n

後台設置

\n

/

\n

資料設置

\n

活動設置

\n

機構設置

\n
\n\n

資料設置

\n

活動設置

\n

機構設置

\n\n
\n
\n

機構設置

\n

資料設置

\n

活動設置

\n
\n
\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-recommendation-setting-page',\n templateUrl: './recommendation-setting-page.component.html',\n styleUrls: ['./recommendation-setting-page.component.scss']\n})\nexport class RecommendationSettingPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n

後台設置

\n

/

\n
\n\n

推薦設置

\n\n
\n
\n \n\n
\n \n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataSettingPageComponent } from './pages/data-setting-page/data-setting-page.component';\nimport { RecommendationSettingPageComponent } from './pages/recommendation-setting-page/recommendation-setting-page.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { CenterSettingComponent } from './components/center-setting/center-setting.component';\nimport { DataSettingContainerComponent } from './components/data-setting-container/data-setting-container.component';\nimport { EventSettingContainerComponent } from './components/event-setting-container/event-setting-container.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OrganizationSettingContainerComponent } from './components/organization-setting-container/organization-setting-container.component';\nimport { CellGroupSettingComponent } from './components/cell-group-setting/cell-group-setting.component';\nimport { CellGroupMembersPopupComponent } from './components/cell-group-members-popup/cell-group-members-popup.component';\nimport { ShareModule } from '../share/share.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ServiceTypeSettingComponent } from './components/service-type-setting/service-type-setting.component';\nimport { ServiceSettingComponent } from './components/service-setting/service-setting.component';\nimport { HealthSettingComponent } from './components/health-setting/health-setting.component';\nimport { LivingSettingComponent } from './components/living-setting/living-setting.component';\nimport { TransportationSettingComponent } from './components/transportation-setting/transportation-setting.component';\nimport { EventTypeSettingComponent } from './components/event-type-setting/event-type-setting.component';\nimport { HealthLivingSettingComponent } from './components/health-living-setting/health-living-setting.component';\nimport { RecommandSettingComponent } from './components/recommand-setting/recommand-setting.component';\nimport { AddCellGroupMemberPageComponent } from './pages/add-cell-group-member-page/add-cell-group-member-page.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { CenterLinkerVolunteerComponent } from './components/center-linker-volunteer/center-linker-volunteer.component';\n\nconst routes: Routes = [\n {\n path: 'setting', component: DataSettingPageComponent, children: [\n { path: 'organization', component: OrganizationSettingContainerComponent, data: { animationState: 'organization' } },\n { path: 'data', component: DataSettingContainerComponent, data: { animationState: 'data' } },\n { path: 'event', component: EventSettingContainerComponent, data: { animationState: 'event' } },\n { path: '', redirectTo: 'organization', pathMatch: 'full' },\n { path: '**', redirectTo: 'organization' }\n ]\n },\n { path: ':id/select-member', component: AddCellGroupMemberPageComponent },\n { path: 'recommendation', component: RecommendationSettingPageComponent },\n { path: '', redirectTo: 'setting', pathMatch: 'full' },\n { path: '**', redirectTo: 'setting' }\n]\n\n@NgModule({\n declarations: [DataSettingPageComponent, RecommendationSettingPageComponent, CenterSettingComponent, DataSettingContainerComponent, EventSettingContainerComponent, OrganizationSettingContainerComponent, CellGroupSettingComponent, CellGroupMembersPopupComponent, ServiceTypeSettingComponent, ServiceSettingComponent, HealthSettingComponent, LivingSettingComponent, TransportationSettingComponent, EventTypeSettingComponent, HealthLivingSettingComponent, RecommandSettingComponent, AddCellGroupMemberPageComponent, CenterLinkerVolunteerComponent],\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n FormsModule,\n ReactiveFormsModule,\n ShareModule,\n TranslateModule.forChild(),\n MatTooltipModule\n ]\n})\nexport class SystemModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\nimport { AppSetting } from 'src/app/backend/app-setting';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Transaction } from 'src/app/models/transactions/transaction';\nimport { DonationService } from 'src/app/services/donation/donation.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\n\n@Component({\n selector: 'app-donation-trash-bin',\n templateUrl: './donation-trash-bin.component.html',\n styleUrls: ['./donation-trash-bin.component.scss']\n})\nexport class DonationTrashBinComponent implements OnInit {\n\n\n centerUUId: string = AppSetting.centerUUId;\n\n donations: Transaction[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n types: [],\n idOrder: false,\n dateOrder: null,\n start: null,\n end: null\n };\n\n constructor(\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService,\n private transactionService: TransactionService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.transactionService.getDeletedTransaction()\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.donations = value.filter(value => value.type == \"Donation\")\n })\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n }).bind(this);\n\n dateRangeFilterAction: (start: Date, end: Date) => void = ((start: Date, end: Date) => {\n this.filters.start = start;\n this.filters.end = end;\n this.filters.page = 1;\n })\n\n typeFilterAction: (types: string[]) => void = ((types: string[]) => {\n this.filters.types = types;\n this.filters.page = 1;\n }).bind(this);\n\n get filteredDonations(): Transaction[] {\n let results = this.donations.filter(donation =>\n (this.filters.searchInput == null\n || donation.id.toString().includes(this.filters.searchInput)\n || donation.transferer.memberId.includes(this.filters.searchInput)\n || donation.transferee.memberId.includes(this.filters.searchInput)\n ) &&\n (this.filters.start == null || this.filters.end == null\n || (donation.date > this.filters.start && donation.date < this.filters.end)\n ) &&\n (this.filters.types.length == 0\n || ((this.filters.types as string[]).includes(\"Donation\") && donation.transferee.uuId == this.centerUUId)\n || ((this.filters.types as string[]).includes(\"Center\") && donation.transferer.uuId == this.centerUUId)\n )\n );\n\n if (this.filters.idOrder !== null)\n if (this.filters.idOrder === true)\n return results.sort((a, b) => a.id > b.id ? 1 : a.id < b.id ? -1 : 0);\n else\n return results.sort((b, a) => a.id > b.id ? 1 : a.id < b.id ? -1 : 0);\n\n if (this.filters.dateOrder !== null)\n if (this.filters.dateOrder === true)\n return results.sort((a, b) => a.date > b.date ? 1 : a.date < b.date ? -1 : 0);\n else\n return results.sort((b, a) => a.date > b.date ? 1 : a.date < b.date ? -1 : 0);\n\n return results;\n }\n\n get displayedDonations(): Transaction[] {\n return this.filteredDonations.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get pages(): number {\n return Math.ceil(this.filteredDonations.length / this.filters.itemsPerPage);\n }\n\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.displayedDonations.forEach(donation => donation.selected = false);\n else\n this.displayedDonations.forEach(donation => donation.selected = true);\n }\n\n get isSelectedAll(): boolean {\n return this.displayedDonations.every(donation => donation.selected);\n }\n\n get selectedDonations(): Transaction[] {\n return this.donations.filter(donation => donation.selected == true);\n }\n\n restoreDonation(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreMessage(this.transactionService.restoreTransactions([uuId])))\n }\n\n restoreDonations(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreListMessage(this.transactionService.restoreTransactions(this.selectedDonations.map(donation => donation.uuId))));\n }\n\n deleteDonationPermanently(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeletePermanentlyMessage(this.transactionService.deleteTransactionsPermanently([uuId])));\n }\n\n deleteDonationListPermanently(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.transactionService.deleteTransactionsPermanently(this.selectedDonations.map(donation => donation.uuId))));\n }\n\n deleteAllPermanently(): void {\n this.loadingService.startLoading();\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.transactionService.deleteTransactionsPermanently(this.donations.map(donation => donation.uuId))));\n }\n}\n","
\n
\n \n\n \n\n \n
\n\n\n
\n \n \n
\n\n \n\n
\n
\n
\n \n
\n
\n

交易編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

捐分日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

捐分類型

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ donation.id }}

\n
\n
\n

{{ donation.date | date: 'yyyy/MM/dd' }}

\n
\n \n
\n

{{ donation.transferer.memberId }}

\n
\n
\n

{{ donation.transferer.chineseName }}

\n
\n
\n

用戶捐分

\n
\n
\n

- {{ donation.amount }}

\n
\n
\n

檢視用戶

\n

還原

\n

永久移除

\n
\n
\n \n
\n

{{ donation.transferee.memberId }}

\n
\n
\n

{{ donation.transferee.chineseName }}

\n
\n
\n

中心捐分

\n
\n
\n

+ {{ donation.amount }}

\n
\n\n
\n

檢視用戶

\n

還原

\n

永久移除

\n
\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ selectedDonations.length }}

\n

條紀錄

\n
\n\n

批量永久移除

\n\n
\n

合計

\n

{{ donations.length }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { AppSetting } from 'src/app/backend/app-setting';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { EventType } from 'src/app/models/event-types/event-type';\nimport { EventListItem } from 'src/app/models/events/event-list-item';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\n\n@Component({\n selector: 'app-event-trash-bin',\n templateUrl: './event-trash-bin.component.html',\n styleUrls: ['./event-trash-bin.component.scss']\n})\nexport class EventTrashBinComponent implements OnInit {\n\n remainDays: number = AppSetting.remainDays;\n\n events: EventListItem[] = [];\n caches: EventListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n from: null,\n to: null,\n statuses: null,\n isDeleted: true,\n idOrder: true,\n dateOrder: null,\n eventTypes: [],\n eventTransactionTypes: [],\n centers: []\n }\n\n constructor(\n private eventService: EventService,\n private loadingService: LoadingService,\n private router: Router,\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.eventService.getEvents(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.count = value.count;\n this.pages = value.count != 0 ? Math.ceil(value.count / this.filters.itemsPerPage) : 0;\n this.events = value.list;\n this.events.forEach(e => {\n if (this.caches.find(event => event.uuId == e.uuId))\n e.selected = true;\n });\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n eventTypeFilterAction = ((eventTypes: EventType[]) => {\n this.filters.eventTypes = eventTypes;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n eventTransactionTypeFilterAction = ((types: string[]) => {\n this.filters.eventTransactionTypes = types;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((status: number) => {\n this.filters.statuses = status;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/trash/event'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n cacheEvent(e: EventListItem): void {\n if (e.selected)\n this.caches.push(e);\n else\n this.caches.splice(this.caches.findIndex(event => event.uuId == e.uuId), 1);\n }\n\n\n restoreEvent(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreMessage(this.eventService.restoreEvents({ list: [uuId] })))\n }\n\n restoreEvents(): void {\n if (this.caches.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.NoRecordSelectedMessage);\n return;\n }\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreListMessage(this.eventService.restoreEvents({ list: this.caches.map(event => event.uuId) })));\n }\n\n deleteEventPermanently(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeletePermanentlyMessage(this.eventService.deleteEventsPermanently({ list: [uuId] })));\n }\n\n deleteEventListPermanently(): void {\n if (this.caches.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.NoRecordSelectedMessage);\n return;\n }\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.eventService.deleteEventsPermanently({ list: this.caches.map(event => event.uuId) })));\n }\n\n deleteAllPermanently(): void {\n this.loadingService.startLoading();\n this.eventService.getEvents(this.getAllQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.eventService.deleteEventsPermanently({ list: value.list.map(event => event.uuId) })));\n }\n });\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.statuses ? \"&statuses=\" + this.filters.statuses : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.eventTypes.map((type: EventType) => \"&eventTypes=\" + type.uuId).join(\"\"))\n + (this.filters.eventTransactionTypes.map((type: string) => \"&eventPays=\" + type).join(\"\"))\n + (this.filters.centers ? this.filters.centers.map((c: Center) => \"¢ers=\" + c.uuId) : \"\");\n }\n\n private getAllQueryString(): string {\n return \"?start=0&limit=10000&isDeleted=true\";\n }\n}\n","
\n \n\n \n\n \n
\n\n
\n \n \n \n \n
\n\n\n\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

活動日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

活動代碼

\n
\n
\n

中心活動名稱

\n
\n
\n

交易類型

\n
\n
\n

尚餘

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ event.id }}

\n
\n
\n

{{ event.getEventStartDate() | date: 'dd/MM/yyyy' }} - {{ event.getEventEndDate() | date: 'dd/MM/yyyy' }}

\n
\n
\n

{{ event.eventType.code }}

\n
\n
\n

{{ event.eventName }}

\n
\n
\n

{{ event.eventPay | translate }}

\n
\n
\n

{{ '日' | translate: {value: remainDays - event.deletedDays} }}

\n
\n
\n

檢視

\n

還原

\n

永久移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量永久移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { forkJoin } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { ProductListItem } from 'src/app/models/redeems/product-list-item';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProductService } from 'src/app/services/product/product.service';\n\n@Component({\n selector: 'app-redeem-trash-bin',\n templateUrl: './redeem-trash-bin.component.html',\n styleUrls: ['./redeem-trash-bin.component.scss']\n})\nexport class RedeemTrashBinComponent implements OnInit {\n\n products: ProductListItem[] = [];\n caches: ProductListItem[] = [];\n\n count: number = 0;\n pages: number = 1;\n\n filters: any = {\n itemsPerPage: 10,\n page: 1,\n searchInput: null,\n from: null,\n to: null,\n statuses: [],\n isDeleted: true,\n centers: [],\n formats: [],\n orderById: true,\n orderByLaunchDate: null,\n orderByCloseDate: null\n };\n\n\n constructor(\n private loadingService: LoadingService,\n private productService: ProductService,\n private router: Router,\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.productService.getRedeemList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: result => {\n this.products = result.list;\n this.count = result.count;\n this.pages = Math.ceil(result.count / this.filters.itemsPerPage);\n this.products.forEach(product => {\n if (this.caches.find(p => p.uuId == product.uuId))\n product.selected = true;\n });\n }\n });\n }\n\n changePage(): void {\n this.router.navigate(['/main/trash/redeem'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n cache(redeem: ProductListItem): void {\n if (redeem.selected)\n this.caches.push(redeem);\n else\n this.caches.splice(this.caches.findIndex(p => p.uuId == redeem.uuId), 1);\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction: (centers: Center[]) => void = ((centers: Center[]) => {\n this.filters.centers = centers;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n typeFilterAction: (formats: number[]) => void = ((formats: number[]) => {\n this.filters.formats = formats;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction: (start: Date, end: Date) => void = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction: (statuses: number[]) => void = ((statuses: number[]) => {\n this.filters.statuses = statuses;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.from ? \"&LaunchDateFrom=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&LaunchDateTo=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.statuses.map((status: string) => \"&statuses=\" + status).join(\"\"))\n + (this.filters.orderById != null ? \"&OrderById=\" + String(this.filters.orderById) : \"\")\n + (this.filters.orderByLaunchDate != null ? \"&OrderByLaunchDate=\" + String(this.filters.orderByLaunchDate) : \"\")\n + (this.filters.orderByCloseDate != null ? \"&OrderByCloseDate=\" + String(this.filters.orderByCloseDate) : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.formats.map((format: string) => \"&productRedeemFormats=\" + format).join(\"\"))\n + \"&isDeleted=true\";\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.products.forEach(product => {\n product.selected = false;\n this.caches.splice(this.caches.findIndex(r => r.uuId == product.uuId), 1);\n });\n else {\n this.products.forEach(product => product.selected = true);\n this.caches = [...new Set([...this.caches, ...this.products])];\n }\n }\n\n get isSelectedAll(): boolean {\n return this.products.every(product => product.selected);\n }\n\n\n}\n","
\n \n\n \n\n \n
\n\n
\n \n \n \n \n
\n\n\n\n
\n
\n \n
\n
\n

獎勵編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

獎勵標題

\n
\n
\n

參與類型

\n
\n
\n

發布日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

狀態

\n
\n
\n

庫存

\n
\n
\n

截止日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ product.id }}

\n
\n
\n

{{ product.productName }}

\n
\n
\n

先到先得

\n

職員處理

\n
\n
\n

{{ product.launchDate | date: 'yyyy/MM/dd' }}

\n
\n
\n \n
\n

未發布

\n
\n
\n

進行中

\n
\n
\n

已結束

\n
\n
\n

等待抽籤

\n
\n
\n

庫存不足

\n
\n
\n
\n

已修改

\n
\n
\n

已下架

\n
\n

\n
\n
\n

{{ product.stock }}

\n

庫存充足

\n
\n
\n

{{ product.closeDate | date: 'yyyy/MM/dd' }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n \n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { AppSetting } from 'src/app/backend/app-setting';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { RequestListItem } from 'src/app/models/requests/request-list-item';\nimport { Service } from 'src/app/models/services/service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-request-trash-bin',\n templateUrl: './request-trash-bin.component.html',\n styleUrls: ['./request-trash-bin.component.scss']\n})\nexport class RequestTrashBinComponent implements OnInit {\n\n remainDays: number = AppSetting.remainDays;\n\n requests: RequestListItem[] = [];\n caches: RequestListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n services: [],\n districts: [],\n subDistricts: [],\n from: null,\n to: null,\n statuses: [],\n isDeleted: true,\n isUrgent: null,\n idOrder: true,\n dateOrder: null\n }\n\n constructor(\n private requestService: RequestService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.requestService.getRequests(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.requests = value.list;\n this.count = value.count;\n this.pages = value.count != 0 ? Math.ceil(value.count / this.filters.itemsPerPage) : 0;\n this.requests.forEach(request => {\n if (this.caches.find(r => r.uuId == request.uuId))\n request.selected = true;\n });\n });\n }\n\n searchFilterAction: (input: string) => void = ((input: string) => {\n this.filters.searchInput = input;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n dateFilterAction = ((start: Date, end: Date) => {\n this.filters.from = start;\n this.filters.to = end;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((statuses: string[], urgent: boolean) => {\n this.filters.statuses = statuses;\n this.filters.isUrgent = urgent;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/trash/request'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n restoreRequest(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreMessage(this.requestService.restoreRequests({ list: [uuId] })))\n }\n\n restoreRequests(): void {\n if (this.caches.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.NoRecordSelectedMessage);\n return;\n }\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreListMessage(this.requestService.restoreRequests({ list: this.caches.map(request => request.uuId) })));\n }\n\n deleteRequestPermanently(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeletePermanentlyMessage(this.requestService.deleteRequestsPermanently({ list: [uuId] })));\n }\n\n deleteRequestListPermanently(): void {\n if (this.caches.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.NoRecordSelectedMessage);\n return;\n }\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.requestService.deleteRequestsPermanently({ list: this.caches.map(request => request.uuId) })));\n }\n\n deleteAllPermanently(): void {\n this.loadingService.startLoading();\n this.requestService.getRequests(this.getAllQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.requestService.deleteRequestsPermanently({ list: value.list.map(request => request.uuId) })));\n }\n });\n }\n\n cacheRequest(request: RequestListItem): void {\n if (request.selected)\n this.caches.push(request);\n else\n this.caches.splice(this.caches.findIndex(r => r.uuId == request.uuId), 1);\n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.requests.forEach(r => {\n r.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == r.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.requests.filter(request => request.selected == false));\n this.requests.forEach(r => r.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.requests.every(request => request.selected == true);\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.statuses.map((s: string) => \"&statuses=\" + s).join(\"\"))\n + (this.filters.from ? \"&from=\" + this.filters.from.toISOString() : \"\")\n + (this.filters.to ? \"&to=\" + this.filters.to.toISOString() : \"\")\n + (this.filters.idOrder != null ? \"&orderById=\" + String(this.filters.idOrder) : \"\")\n + (this.filters.dateOrder != null ? \"&orderByDate=\" + String(this.filters.dateOrder) : \"\")\n + (this.filters.isDeleted ? \"&isDeleted=\" + String(this.filters.isDeleted) : \"\")\n + (this.filters.isUrgent ? \"&isUrgent=\" + String(this.filters.isUrgent) : \"\");\n }\n\n private getAllQueryString(): string {\n return \"?start=0&limit=10000&isDeleted=true\";\n }\n}\n","
\n \n\n \n\n \n
\n\n
\n \n \n \n \n
\n\n\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

申請人

\n
\n
\n

電話

\n
\n
\n

服務類型

\n
\n
\n

服務日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

尚餘

\n
\n
\n

時分

\n
\n
\n

義工

\n
\n
\n

操作

\n
\n
\n
\n
\n \n
\n
\n

{{ request.id }}

\n
\n
\n

{{ request.requester.chineseName }}

\n
\n
\n
\n

{{ request.requester.phone }}

\n \n
\n

\n
\n
\n

{{ request.service.name }}

\n
\n
\n

{{ request.startTime | date: 'dd-MM-yyyy' }}

\n
\n
\n

{{ '日' | translate: {value: remainDays - request.deletedDays} }}

\n
\n
\n

-

\n

{{ request.actualDuration | number:'1.0-2' }}

\n
\n
\n

0\" style=\"flex-basis: 1rem;\">{{ request.JoinedVolunteers[0].chineseName }}

\n

1\">...+{{ request.JoinedVolunteers.length - 1}}

\n

\n
\n
\n

檢視

\n

還原

\n

永久移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量永久移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-user-trash-bin',\n templateUrl: './user-trash-bin.component.html',\n styleUrls: ['./user-trash-bin.component.scss']\n})\nexport class UserTrashBinComponent implements OnInit {\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Profile[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.count = value.count;\n this.profiles = value.list;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(profile);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.router.navigate(['/main/trash/user'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + \"&isDeleted=true\"\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles.filter(profile => profile.selected == false));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.every(profile => profile.selected == true);\n }\n\n\n restoreUser(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreMessage(this.profileService.restoreUesrs({ list: [uuId] })))\n }\n\n restoreUsers(): void {\n if (this.caches.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.NoRecordSelectedMessage);\n return;\n }\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.RestoreListMessage(this.profileService.restoreUesrs({ list: this.caches.map(user => user.uuId) })));\n }\n\n deleteUserPermanently(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeletePermanentlyMessage(this.profileService.deleteUsersPermanently({ list: [uuId] })));\n }\n\n deleteUserListPermanently(): void {\n if (this.caches.length == 0) {\n this.popupMessageService.messageSignal.emit(PopupMessages.NoRecordSelectedMessage);\n return;\n }\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.profileService.deleteUsersPermanently({ list: this.caches.map(user => user.uuId) })));\n }\n\n deleteAllPermanently(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getAllQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.caches = [];\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteListPermanentlyMessage(this.profileService.deleteUsersPermanently({ list: value.list.map(user => user.uuId) })));\n }\n });\n }\n\n private getAllQueryString(): string {\n return \"?start=0&limit=10000&isDeleted=true\";\n }\n}\n","
\n \n \n\n \n
\n\n
\n \n \n \n \n \n\n
\n\n\n\n\n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n

還原

\n

永久移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量永久移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { PortalAnimation } from 'src/app/portal-animation';\n\n@Component({\n selector: 'app-bin-page',\n templateUrl: './bin-page.component.html',\n styleUrls: ['./bin-page.component.scss'],\n animations: [PortalAnimation.TrashPageSlide]\n})\nexport class BinPageComponent implements OnInit {\n\n\n tab: string = \"request\";\n\n constructor(\n private router: Router\n ) { }\n\n ngOnInit(): void {\n if (this.router.url == \"/main/trash/event\")\n this.tab = \"event\";\n if (this.router.url == \"/main/trash/user\")\n this.tab = \"user\";\n if (this.router.url == \"/main/trash/donation\")\n this.tab = \"donation\";\n if (this.router.url == \"/main/trash/redeem\")\n this.tab = \"redeem\";\n }\n\n prepareRoute(outlet: RouterOutlet) {\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animationState'];\n }\n\n}\n","
\n
\n

垃圾桶

\n

/

\n

義工服務

\n

中心活動

\n

用戶檔案

\n

捐分紀錄

\n

獎勵兌換

\n
\n\n

垃圾桶

\n\n
\n
\n

義工服務

\n

中心活動

\n

用戶檔案

\n

捐分紀錄

\n

獎勵兌換

\n
\n
\n
\n \n
\n
\n
\n\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ShareModule } from '../share/share.module';\nimport { BinPageComponent } from './pages/bin-page/bin-page.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { RequestTrashBinComponent } from './components/request-trash-bin/request-trash-bin.component';\nimport { EventTrashBinComponent } from './components/event-trash-bin/event-trash-bin.component';\nimport { UserTrashBinComponent } from './components/user-trash-bin/user-trash-bin.component';\nimport { DonationTrashBinComponent } from './components/donation-trash-bin/donation-trash-bin.component';\nimport { RedeemTrashBinComponent } from './components/redeem-trash-bin/redeem-trash-bin.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nconst routes: Routes = [\n {\n path: '', component: BinPageComponent, children: [\n { path: 'request', component: RequestTrashBinComponent, data: { animationState: 'request' } },\n { path: 'event', component: EventTrashBinComponent, data: { animationState: 'event' } },\n { path: 'user', component: UserTrashBinComponent, data: { animationState: 'user' } },\n { path: 'donation', component: DonationTrashBinComponent, data: { animationState: 'donation' } },\n { path: 'redeem', component: RedeemTrashBinComponent, data: { animationState: 'redeem' } },\n { path: '', redirectTo: 'request', pathMatch: 'full' },\n { path: '**', redirectTo: 'request' }\n ]\n },\n { path: '**', redirectTo: '' }\n]\n\n@NgModule({\n declarations: [BinPageComponent, RequestTrashBinComponent, EventTrashBinComponent, UserTrashBinComponent, DonationTrashBinComponent, RedeemTrashBinComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule.forChild(),\n ShareModule,\n RouterModule.forChild(routes),\n MatTooltipModule\n ]\n})\nexport class TrashModule { }\n","
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n

全部時間

\n
\n
\n

上午 6 至 8 時

\n
\n
\n

上午 8 至 10 時

\n
\n
\n

上午 10 至 12 時

\n
\n
\n

中午 12 至 1 時

\n
\n
\n

下午 1 至 3 時

\n
\n
\n

下午 3 至 5 時

\n
\n
\n

下午 5 至 7 時

\n
\n
\n

下午 7 至 9 時

\n
\n
\n\n
\n
\n \n

{{ day.name | translate }}

\n
\n
\n
\n
","import { Component, Input, OnInit } from \"@angular/core\";\nimport {\n Availability,\n IAvailability,\n} from \"src/app/models/profiles/availability\";\n\n@Component({\n selector: \"app-availability-table\",\n templateUrl: \"./availability-table.component.html\",\n styleUrls: [\"./availability-table.component.scss\"],\n})\nexport class AvailabilityTableComponent implements OnInit {\n @Input() readonly: boolean = false;\n @Input() availabilities: Availability[] = [];\n days: AvailiabilityDay[] = [\n new AvailiabilityDay(0, \"週日\"),\n new AvailiabilityDay(1, \"週一\"),\n new AvailiabilityDay(2, \"週二\"),\n new AvailiabilityDay(3, \"週三\"),\n new AvailiabilityDay(4, \"週四\"),\n new AvailiabilityDay(5, \"週五\"),\n new AvailiabilityDay(6, \"週六\"),\n ];\n\n constructor() {}\n\n ngOnInit(): void {\n if (this.availabilities.length == 0 && this.readonly == false) {\n this.selectAll();\n return;\n }\n\n this.availabilities.forEach((a) => {\n this.days[a.weekDay].initialize(a);\n });\n }\n\n get isSelectedAll(): boolean {\n return this.days.every((day) => day.isSelectedAll);\n }\n\n public selectAll(): void {\n if (this.isSelectedAll)\n this.days.forEach((day) =>\n day.times.forEach((t) => (t.selected = false)),\n );\n else\n this.days.forEach((day) => day.times.forEach((t) => (t.selected = true)));\n }\n\n getTimeslotAllSelected(index: number): boolean {\n return this.days.every((day) => day.times[index].selected);\n }\n\n selectAllTimeSlot(index: number): void {\n if (this.getTimeslotAllSelected(index))\n this.days.forEach((day) => (day.times[index].selected = false));\n else this.days.forEach((day) => (day.times[index].selected = true));\n }\n\n public getModels(): IAvailability[] {\n var result: IAvailability[] = [];\n this.days.forEach(\n (day) => (result = result.concat(day.toAvailabilityModel())),\n );\n return result;\n }\n}\n\nclass AvailiabilityDay {\n public weekday: number;\n public name: string;\n public times: AvailabilityTime[];\n\n constructor(weekday: number, name: string) {\n this.weekday = weekday;\n this.name = name;\n this.times = [\n new AvailabilityTime(new Date(2000, 1, 9, 6)),\n new AvailabilityTime(new Date(2000, 1, 9, 8)),\n new AvailabilityTime(new Date(2000, 1, 9, 10)),\n new AvailabilityTime(new Date(2000, 1, 9, 12)),\n new AvailabilityTime(new Date(2000, 1, 9, 13)),\n new AvailabilityTime(new Date(2000, 1, 9, 15)),\n new AvailabilityTime(new Date(2000, 1, 9, 17)),\n new AvailabilityTime(new Date(2000, 1, 9, 19)),\n ];\n }\n\n initialize(availability: Availability): void {\n this.times.forEach(\n (t) =>\n (t.selected =\n t.selected ||\n (availability.availabilityStart.getHours() <= t.time.getHours() &&\n availability.availabilityEnd.getHours() > t.time.getHours())),\n );\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.times.forEach((time) => (time.selected = false));\n else this.times.forEach((time) => (time.selected = true));\n }\n\n public toAvailabilityModel(): IAvailability[] {\n var times: IAvailability[] = [];\n var start: number | null = null;\n var end: number | null = null;\n for (var i = 0; i < this.times.length; i++) {\n if (start == null && this.times[i].selected)\n start = this.times[i].time.getHours();\n if (start != null && this.times[i].selected == false)\n end = this.times[i].time.getHours();\n if (start != null && i == this.times.length - 1 && this.times[i].selected)\n end = 21;\n if (start != null && end != null) {\n times.push({\n uuId: null,\n weekDay: this.weekday,\n availabilityStart: new Date(2000, 1, 9, start).toISOString(),\n availabilityEnd: new Date(2000, 1, 9, end).toISOString(),\n });\n start = null;\n end = null;\n }\n }\n return times;\n }\n\n get isSelectedAll(): boolean {\n return this.times.every((time) => time.selected);\n }\n}\n\nclass AvailabilityTime {\n public time: Date;\n public selected: boolean;\n\n constructor(time: Date) {\n this.time = time;\n this.selected = false;\n }\n}\n","import { Route } from '@angular/compiler/src/core';\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { SignUpService } from 'src/app/services/sign-up/sign-up.service';\n\n@Component({\n selector: 'app-sign-up-disapprove-popup',\n templateUrl: './sign-up-disapprove-popup.component.html',\n styleUrls: ['./sign-up-disapprove-popup.component.scss']\n})\nexport class SignUpDisapprovePopupComponent implements OnInit {\n\n @Output() signal: EventEmitter = new EventEmitter();\n\n display: boolean = false;\n form: FormControl = new FormControl(null);\n\n constructor(\n private loadingService: LoadingService,\n private signUpService: SignUpService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n }\n\n open(): void {\n this.display = true;\n\n }\n\n close(): void {\n this.display = false;\n }\n\n submit(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.signUpService.disapprove({\n UserUUId: value.id,\n Reason: this.form.value\n })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.signal.emit();\n window.scrollTo(0, 0);\n this.close();\n });\n });\n }\n}\n","
\n
\n
\n help\n
\n

確認要拒絕該申請嗎?

\n

請填寫拒絕理由,拒絕該帳號申請後,審核結果通知會發送至該申請人應用程式,且資料在XX日後自動移除

\n
\n
\n\n \n\n
\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { forkJoin } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { UserTransaction } from 'src/app/models/transactions/user-transaction';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\n\n@Component({\n selector: 'app-user-donation-transaction',\n templateUrl: './user-donation-transaction.component.html',\n styleUrls: ['./user-donation-transaction.component.scss']\n})\nexport class UserDonationTransactionComponent implements OnInit {\n\n\n userId!: string;\n @Input() transactions: UserTransaction[] = [];\n @Input() reloadAction: () => void = () => { }\n\n filters: any = {\n page: 1,\n itemsPerPage: 10,\n idOrder: null,\n dateOrder: true\n };\n\n constructor(\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService,\n private transactionService: TransactionService,\n private loadingService: LoadingService\n ) { }\n\n ngOnInit(): void {\n this.route.parent?.params.subscribe(value => {\n this.userId = value.id;\n });\n }\n\n deleteDonation(transactionUUId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationSuccessMessage);\n this.reloadAction();\n subscriber.unsubscribe();\n })\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationMessage(\n this.transactionService.cancelTransaction(transactionUUId, { remark: \"Cancel Donation\" })\n .pipe(finalize(() => this.loadingService.stopLoading()))));\n }\n\n deleteDonationList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationSuccessMessage);\n this.reloadAction();\n subscriber.unsubscribe();\n })\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationMessage(\n forkJoin(this.selectedTransactions.map(transaction => this.transactionService.cancelTransaction(transaction.uuId, { remark: \"Cancel Donation\" })))\n .pipe(defaultIfEmpty(), finalize(() => this.loadingService.stopLoading()))));\n }\n\n get pages(): number {\n return this.transactions ? Math.ceil(this.transactions.length / this.filters.itemsPerPage) : 0;\n }\n\n get selectedTransactions(): UserTransaction[] {\n return this.transactions.filter(transaction => transaction.selected);\n }\n\n get displayedTransactions(): UserTransaction[] {\n let result = this.transactions;\n\n if (this.filters.idOrder != null) {\n if (this.filters.idOrder == true)\n result = this.transactions.sort((a, b) => a.event.id > b.event.id ? 1 : a.event.id < b.event.id ? -1 : 0);\n else\n result = this.transactions.sort((b, a) => a.event.id > b.event.id ? 1 : a.event.id < b.event.id ? -1 : 0);\n }\n\n if (this.filters.dateOrder != null) {\n if (this.filters.dateOrder == true)\n result = this.transactions.sort((b, a) => a.date > b.date ? 1 : a.date < b.date ? -1 : 0);\n else\n result = this.transactions.sort((a, b) => a.date > b.date ? 1 : a.date < b.date ? -1 : 0);\n }\n\n return result.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get isSelectedAll(): boolean {\n return this.displayedTransactions.every(transaction => transaction.selected == true);\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.displayedTransactions.forEach(transaction => transaction.selected = false);\n else\n this.displayedTransactions.forEach(transaction => transaction.selected = true);\n }\n}\n","\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

捐分日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

捐分類型

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ transaction.id }}

\n
\n
\n

{{ transaction.date | date: 'dd-MM-yyyy' }}

\n
\n \n
\n

{{ transaction.transferer.memberId }}

\n
\n
\n

{{ transaction.transferer.chineseName }}

\n
\n
\n

用戶捐分

\n
\n
\n

-{{ transaction.amount }}

\n
\n
\n \n
\n

{{ transaction.transferee.memberId }}

\n
\n
\n

{{ transaction.transferee.chineseName }}

\n
\n
\n

中心捐分

\n
\n
\n

+{{ transaction.amount }}

\n
\n
\n\n
\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n\n
\n
\n

已選擇

\n

{{ selectedTransactions.length }}

\n

條紀錄

\n
\n\n

匯出選項

\n

移除選項

\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { UserTransaction } from 'src/app/models/transactions/user-transaction';\nimport { EventService } from 'src/app/services/event/event.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\n\n@Component({\n selector: 'app-user-event-transaction',\n templateUrl: './user-event-transaction.component.html',\n styleUrls: ['./user-event-transaction.component.scss']\n})\nexport class UserEventTransactionComponent implements OnInit {\n\n\n userId!: string;\n @Input() transactions: UserTransaction[] = [];\n @Input() reloadAction: () => void = () => { }\n\n filters: any = {\n page: 1,\n itemsPerPage: 10,\n idOrder: null,\n dateOrder: true\n };\n\n constructor(\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService,\n private eventService: EventService,\n private transactionService: TransactionService\n ) { }\n\n ngOnInit(): void {\n this.route.parent?.params.subscribe(value => {\n this.userId = value.id;\n });\n }\n\n deleteTransaction(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction()\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteDonationMessage(this.transactionService.cancelTransaction(uuId, { remark: \"Cancel Transaction\" })));\n }\n\n deleteEvent(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction()\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteEventMessage(this.eventService.deleteEvents([uuId])));\n }\n\n deleteEventList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction()\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteEventListMessage(this.eventService.deleteEvents(this.transactions.filter(transaction => transaction.selected).map(transaction => transaction.event.uuId))));\n }\n\n get pages(): number {\n return this.transactions ? Math.ceil(this.transactions.length / this.filters.itemsPerPage) : 0;\n }\n\n get selectedTransactions(): UserTransaction[] {\n return this.transactions.filter(transaction => transaction.selected);\n }\n\n get displayedTransactions(): UserTransaction[] {\n let result = this.transactions;\n\n if (this.filters.idOrder != null) {\n if (this.filters.idOrder == true)\n result = this.transactions.sort((a, b) => a.event.id > b.event.id ? 1 : a.event.id < b.event.id ? -1 : 0);\n else\n result = this.transactions.sort((b, a) => a.event.id > b.event.id ? 1 : a.event.id < b.event.id ? -1 : 0);\n }\n\n if (this.filters.dateOrder != null) {\n if (this.filters.dateOrder == true)\n result = this.transactions.sort((b, a) => a.event.startTime > b.event.startTime ? 1 : a.event.startTime < b.event.startTime ? -1 : 0);\n else\n result = this.transactions.sort((a, b) => a.event.startTime > b.event.startTime ? 1 : a.event.startTime < b.event.startTime ? -1 : 0);\n }\n\n return result.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get isSelectedAll(): boolean {\n return this.displayedTransactions.every(transaction => transaction.selected == true);\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.displayedTransactions.forEach(transaction => transaction.selected = false);\n else\n this.displayedTransactions.forEach(transaction => transaction.selected = true);\n }\n}\n","\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

活動日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

中心活動

\n
\n
\n

類型

\n
\n
\n

時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ transaction.event.id }}

\n
\n
\n

{{ transaction.event.startTime | date: 'dd-MM-yyyy' }}

\n
\n
\n

{{ transaction.event.eventName }}

\n
\n
\n

收入

\n

支出

\n
\n
\n

{{ transaction.amount | number }}

\n
\n
\n

檢視/編輯

\n

移除活動

\n

移除交易

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n\n
\n
\n

已選擇

\n

{{ selectedTransactions.length }}

\n

條紀錄

\n
\n\n

匯出選項

\n

移除選項

\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { switchMap, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Agent } from 'src/app/models/profiles/agent';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { UpdateUserModel } from 'src/app/models/profiles/update-user-model';\nimport { Service } from 'src/app/models/services/service';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { AgentService } from 'src/app/services/agent/agent.service';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { ServiceService } from 'src/app/services/service/service.service';\nimport { AvailabilityTableComponent } from '../availability-table/availability-table.component';\n\n@Component({\n selector: 'app-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./user-profile.component.scss']\n})\nexport class UserProfileComponent implements OnInit {\n\n @ViewChild('availability') availabilityComponent: AvailabilityTableComponent | undefined;\n\n lang: string = this.translateService.currentLang;\n profile: Profile | null = null;\n serviceTypes: ServiceType[] = [];\n centers: Center[] = [];\n\n index: number = 0;\n\n showSuccessMessage = false;\n readonly: boolean = true;\n\n constructor(\n private profileService: ProfileService,\n private serviceService: ServiceService,\n private centerService: CenterService,\n private translateService: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n private loadingService: LoadingService,\n private authService: AuthenticationService,\n private agentService: AgentService,\n private popupMessageService: PopupMessageService,\n private snackBar: MatSnackBar\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n this.translateService.onLangChange.subscribe(() => this.lang = this.translateService.currentLang);\n this.route.queryParams.subscribe(value => {\n this.readonly = value.readonly == \"false\" ? false : true;\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n forkJoin({\n profile: this.profileService.getObservable,\n centers: this.centerService.getCenters(),\n services: this.serviceService.getServiceTypeList()\n })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profile = value.profile;\n this.centers = value.centers;\n this.serviceTypes = value.services;\n this.serviceTypes.forEach(st => st.services.filter(s => this.profile?.services.some(service => s.uuId == service.uuId))\n .forEach(s => s.selected = true));\n this.profileService.agentSelections?.subscribe(value => {\n if (value.uuid == this.profile?.uuId)\n (this.profile as Profile).form.agents = (value.agents as Agent[]);\n });\n }\n });\n }\n\n cellGroupPopupAction = ((cellGroups: CellGroup[]) => {\n (this.profile as Profile).form.cellGroups = cellGroups;\n }).bind(this);\n\n dropAddressAction = ((index: number) => {\n this.profile?.form.addresses.splice(index, 1);\n }).bind(this);\n\n dropAgent(agent: Agent, index: number): void {\n if (agent.isOriginal == false)\n this.profile?.form.agents.splice(index, 1);\n else {\n this.loadingService.startLoading();\n this.agentService.removeAgent({ AssigneeUUId: this.profile?.uuId as string, AgentUUId: agent.uuId })\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.profile?.form.agents.splice(this.profile.form.agents.findIndex(a => a.uuId == agent.uuId), 1)\n });\n }\n }\n\n selectAgents(): void {\n this.profileService.agentSelections = of({ uuid: this.profile?.uuId, agents: this.profile?.form.agents });\n this.router.navigate(['/main/user/overview', this.profile?.uuId, 'agent']);\n }\n\n servicePopupAction = ((services: Service[]) => {\n (this.profile as Profile).form.services = services;\n this.serviceTypes.forEach(st => st.services.forEach(s => {\n s.selected = services.some(service => s.uuId == service.uuId);\n }));\n this.index = 0;\n }).bind(this);\n\n\n submit(): void {\n console.log(\"this.profile?.remark\",this.profile?.remark);\n if (this.profile?.form.valid == false) {\n this.profile.form.formGroup.markAllAsTouched();\n this.profile.form.addresses.forEach(address => address.form.formGroup.markAllAsTouched());\n // this.messageService.displayPopupMessage(AppStaticMessage.InvalidInformationMessage);\n return;\n }\n\n (this.profile as Profile).form.availabilities = (this.availabilityComponent as AvailabilityTableComponent).getModels();\n\n let observable: Observable;\n\n if ((this.profile as Profile).form.doChangeUsernameAndPassword())\n observable = forkJoin({\n editLogin: this.authService.changeUsernameAndPassword({\n userUUId: this.profile?.uuId as string,\n username: this.username?.value,\n password: this.password?.value\n }),\n editProfile: this.profileService.updateProfile(this.profile?.uuId as string, this.profile?.form.getUpdateUserModel() as UpdateUserModel)\n });\n else\n observable = this.profileService.updateProfile(this.profile?.uuId as string, this.profile?.form.getUpdateUserModel() as UpdateUserModel);\n\n this.loadingService.startLoading();\n\n let agentObservables = this.profile?.form.agents.filter(agent => agent.isOriginal == false).map(agent => this.agentService.assignAgent({\n AssigneeUUId: this.profile?.uuId as string,\n AgentUUId: agent.uuId,\n Remark: agent.remark.value\n })) as Observable[];\n\n if (agentObservables.length > 0)\n observable = observable.pipe(switchMap(() => forkJoin(agentObservables)))\n\n observable\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n // this.showSuccessMessage = true;\n this.readonly = true;\n forkJoin(\n {\n text: this.translateService.get(\"資料已保存\"),\n action: this.translateService.get(\"關閉\")\n }\n ).subscribe(value => {\n this.snackBar.open(value.text, value.action, { horizontalPosition: 'right', duration: 5000 });\n });\n window.scrollTo(0, 0)\n this.fetchProfile();\n }\n });\n }\n\n fetchProfile(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileByUUId(this.profile?.uuId as string)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.profile = value;\n this.profileService.agentSelections?.subscribe(value => {\n if (value.uuid == this.profile?.uuId)\n (this.profile as Profile).form.agents = (value.agents as Agent[]);\n });\n }\n });\n }\n\n public forcedSignOut(): void {\n this.loadingService.startLoading();\n this.authService.forcedSignOut(this.profile?.uuId as string)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.popupMessageService.messageSignal.emit(PopupMessages.ForcedSignOutSuccessMessage)\n // error: value => this.popupMessageService.messageSignal.emit(PopupMessages.ForcedSignOutFailMessage),\n });\n }\n\n healthPopupAction = ((healths: Health[]) => {\n if (this.profile) {\n this.profile.form.healths = healths;\n }\n }).bind(this);\n\n deleteUser(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n subscriber.unsubscribe();\n var sub = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n sub.unsubscribe();\n });\n var ob = new Observable(subscriber => {\n this.router.navigate(['/main/user/overview']);\n });\n this.popupMessageService.messageSignal.emit(PopupMessages.UserDeletedMessage(ob))\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteUserMessage(this.profileService.deleteUsers([this.profile?.uuId as string])));\n }\n\n get selectedServiceTypes(): ServiceType[] {\n return this.serviceTypes.filter(st => st.services.some(s => s.selected == true));\n }\n\n get username(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['username'];\n }\n\n get password(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['password'];\n }\n\n get center(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['center'];\n }\n\n get chineseName(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['chineseName'];\n }\n\n get englishName(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['englishName'];\n }\n\n get gender(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['gender'];\n }\n\n get phone(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['phone'];\n }\n\n get birthday(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['birthday'];\n }\n\n get age(): number | null {\n return this.birthday?.valid ? new Date(Date.now() - (this.birthday.value as Date).getTime()).getUTCFullYear() - 1970 : null;\n }\n\n get simCard(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['simCard'];\n }\n\n get literacy(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['literacy'];\n }\n\n get educationLevel(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['educationLevel'];\n }\n\n get contactPersonName(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['contactPersonName'];\n }\n\n get contactPersonPhone(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['contactPersonPhone'];\n }\n FreezeUser(): void {\n if(this.profile==null)return;\n\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n subscriber.unsubscribe();\n var sub = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n sub.unsubscribe();\n });\n var ob = new Observable(subscriber => {\n this.router.navigate(['/main/user/overview']);\n\n\n\n });\n this.popupMessageService.messageSignal.emit(PopupMessages.UserFreezedMessage(ob))\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.FreezeUserMessage(this.profileService.FreezeUsers(this.profile.uuId )));\n }\n\n unFreezeUser(): void {\n if(this.profile==null)return;\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n subscriber.unsubscribe();\n var sub = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n sub.unsubscribe();\n });\n var ob = new Observable(subscriber => {\n this.router.navigate(['/main/user/overview']);\n\n });\n this.popupMessageService.messageSignal.emit(PopupMessages.UserUNFreezedMessage(ob))\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.UNFreezedUserMessage(this.profileService.unFreezeUsers(this.profile.uuId )));\n }\n\n get remark(): AbstractControl | undefined {\n return this.profile?.form.formGroup.controls['remark'];\n }\n}\n","\n\n
\n
\n
\n

帳號信息

\n

欄目帶 * 號為必填項

\n
\n\n
\n

會員編號

\n

{{ profile.memberId }}

\n
\n\n
\n

登入帳號

\n

{{ profile.userName }}

\n \n \n
\n \n
\n
\n
\n\n
\n

登入密碼

\n

********

\n \n \n
\n \n
\n
\n
\n\n
\n

中心編號

\n

{{ profile.center.centerCode }}

\n \n
\n \n
\n
\n

請選擇所屬中心

\n
\n
\n
\n\n
\n

時分餘額

\n

{{ profile.timeBalance | number }}

\n
\n\n
\n
\n
\n

基本信息

\n

欄目帶 * 號為必填項

\n
\n\n
\n

會員姓名

\n \n

{{ profile.chineseName }}

\n

{{ profile.englishName }}

\n
\n \n \n \n
\n

請輸入中文姓名

\n
\n
\n

請輸入英文姓名

\n
\n
\n
\n\n
\n

性別

\n

{{ profile.gender | translate }}

\n \n \n \n
\n

請選擇性別

\n
\n
\n
\n\n
\n

電話號碼

\n
\n

{{ profile.phone }}

\n

{{ profile.mobilePhoneModel }}

\n
\n \n
\n
\n \n \n
\n\n \n
\n

請輸入電話號碼

\n
\n
\n
\n
\n\n
\n

出生日期

\n \n

{{ profile.dateOfBirth | date: 'longDate': '': lang }}

\n

{{ '歲' | translate: {value: profile.age} }}

\n
\n \n \n \n \n \n\n
\n

請輸入出生日期

\n
\n
\n
\n\n
\n

是否有流動數據

\n \n

\n

沒有

\n
\n \n \n \n\n
\n

請選擇網卡配備

\n
\n
\n
\n\n
\n

細胞小組

\n \n
0\">\n
\n
\n

{{ cellGroup.name }}

\n
\n
\n help_outline\n

同一細胞小組的會員在義工推薦時優先顯示

\n
\n\n

未指定

\n
\n\n \n
\n

未指定

\n add_circle\n help_outline\n

同一細胞小組的會員在義工推薦時優先顯示

\n
\n\n
0\">\n
\n
\n

{{ cellGroup.name }}

\n
\n
\n add_circle\n help_outline\n

同一細胞小組的會員在義工推薦時優先顯示

\n
\n
\n
\n\n \n\n
\n

代理人

\n \n

未指定

\n
0\">\n
\n

已選擇以下

\n

{{ profile.agents.length }}

\n

位會員

\n
\n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

備註

\n
\n
\n
\n
\n

{{ agent.memberId}}

\n
\n
\n

{{ agent.chineseName }}

\n
\n
\n

{{ agent.centerCode}}

\n
\n
\n

{{ agent.phone }}

\n
\n
\n

-

\n

{{ agent.remark.value }}

\n
\n
\n
\n
\n
\n\n\n \n
\n
\n

未指定,請在用戶列表中確認人選

\n help_outline\n

代理人帳號可代該用戶帳號申請義工服務和中心活動

\n
\n\n \n
\n\n
0\">\n
\n \n help_outline\n

代理人帳號可代該用戶帳號申請義工服務

\n
\n\n\n
\n

已選擇以下

\n

{{ profile.form.agents.length }}

\n

位會員

\n
\n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

備註

\n
\n
\n
\n
\n

{{ agent.memberId}}

\n
\n
\n

{{ agent.chineseName }}

\n
\n
\n

{{ agent.centerCode}}

\n
\n
\n

{{ agent.phone }}

\n
\n
\n \n

移除

\n
\n
\n
\n
\n
\n
\n\n
\n

緊急聯絡人

\n \n

{{ profile.contactPersonName }}

\n

{{ profile.contactPersonPhoneNumber }}

\n
\n\n \n \n \n \n
\n\n
\n

身體狀況

\n \n

未設置

\n\n
0\">\n
\n
\n

{{ health.name }}

\n visibility\n visibility_off\n
\n
\n
\n
\n\n \n
\n

未設置

\n add_circle\n
\n\n
0\">\n
\n
\n

{{ health.name }}

\n visibility\n visibility_off\n
\n
\n\n add_circle\n
\n
\n
\n\n \n\n\n
\n

教育程度

\n \n

能讀能寫

\n

只能讀,不能寫

\n

不懂文字

\n

大學或以上

\n

中學

\n

小學

\n

不適用

\n
\n\n \n
\n \n
\n
\n \n
\n\n
\n

請選擇讀寫能力

\n
\n\n
\n

請選擇教育程度

\n
\n
\n
\n
\n

備註

\n
\n
備註僅職員可見
\n \n

{{profile.remark}}

\n

(備註僅職員可見)

\n
\n \n
\n
\n\n
\n
\n

地址信息

\n

居住條件選項可在後台設置中增加/編輯

\n
\n\n \n \n
\n

{{ '地址#' | translate: {value: index+1} }}

\n
\n

{{ address.region.name }},{{ address.district.name }},

\n

{{ address.subDistrict.name }}{{ address.street.name }}{{ address.streetNumber.name }},

\n

{{ address.estate.name }},{{ address.block.name }},

\n

{{ address.floor.name }},{{ address.room.name }}

\n
\n
\n\n
\n

{{ '居住條件 #' | translate: {value: index+1} }}

\n
\n

未設置

\n
\n
\n

{{ living.name }}

\n
\n
\n
\n
\n
\n
\n\n \n \n \n \n\n
\n

增添地址

\n
\n
\n
\n\n
\n
\n

義工服務信息

\n

義工會員須填寫,系統會根據以下信息在邀請義工時篩選適合的義工會員,非義工會員可不填

\n
\n\n
\n

空閒時間

\n \n
\n\n
\n

可提供服務

\n
\n

未設置

\n add_circle\n
\n\n 0\">\n \n \n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n\n\n
\n
\n

該會員可提供以下義工服務,系統根據可供服務和空閒時間進行義工推薦

\n
\n
\n
\n
\n

{{ serviceType.name }}

\n

{{ serviceType.selectedServices.length }}

\n
\n
\n
\n
\n

{{ service.servicesCode }}

\n

{{ service.name }}

\n
\n
\n
\n
\n

新增服務

\n add_circle\n
\n
\n
\n\n","\n\n
\n
\n
\n \n
\n
\n

換領編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

換領日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

獎勵標題

\n
\n
\n

數量

\n
\n
\n

交易時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ redeem.redeemCode }}

\n
\n
\n

{{ redeem.redeemDate | date: 'yyyy/MM/dd' }}

\n
\n
\n

{{ redeem.productName }}

\n
\n
\n

{{ redeem.quantity }}

\n
\n
\n

{{ redeem.total }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n\n
\n
\n

已選擇

\n

{{ selectedTransactions.length }}

\n

條紀錄

\n
\n\n

匯出選項

\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { RedeemHistory, IRedeemHistory } from 'src/app/models/redeems/redeem-history';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\n\n@Component({\n selector: 'app-user-redeem-transaction',\n templateUrl: './user-redeem-transaction.component.html',\n styleUrls: ['./user-redeem-transaction.component.scss']\n})\nexport class UserRedeemTransactionComponent implements OnInit {\n userUUId!: string;\n @Input() redeems: RedeemHistory[] = [];\n @Input() reloadAction: () => void = () => { }\n\n filters: any = {\n page: 1,\n itemsPerPage: 10,\n idOrder: null,\n dateOrder: true\n };\n\n itemsPerPageOption = [5, 10, 20, 30, 50]\n\n constructor(\n private route: ActivatedRoute,\n private redeemService: RedeemService,\n private loadingService: LoadingService) { }\n\n ngOnInit(): void {\n }\n\n get pages(): number {\n return this.redeems ? Math.ceil(this.redeems.length / this.filters.itemsPerPage) : 0;\n }\n\n get selectedTransactions(): RedeemHistory[] {\n return this.redeems.filter(redeem => redeem.selected);\n }\n\n get displayedRedeems(): RedeemHistory[] {\n let result = this.redeems;\n\n if (this.filters.idOrder != null) {\n if (this.filters.idOrder == true)\n result = this.redeems.sort((a, b) => a.redeemCode > b.redeemCode ? 1 : a.redeemCode < b.redeemCode ? -1 : 0);\n else\n result = this.redeems.sort((b, a) => a.redeemCode > b.redeemCode ? 1 : a.redeemCode < b.redeemCode ? -1 : 0);\n }\n\n if (this.filters.dateOrder != null) {\n if (this.filters.dateOrder == true)\n result = this.redeems.sort((b, a) => a.redeemDate > b.redeemDate ? 1 : a.redeemDate < b.redeemDate ? -1 : 0);\n else\n result = this.redeems.sort((a, b) => a.redeemDate > b.redeemDate ? 1 : a.redeemDate < b.redeemDate ? -1 : 0);\n }\n\n return result.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get isSelectedAll(): boolean {\n return this.displayedRedeems.every(redeem => redeem.selected == true);\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.displayedRedeems.forEach(redeem => redeem.selected = false);\n else\n this.displayedRedeems.forEach(redeem => redeem.selected = true);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { UserTransaction } from 'src/app/models/transactions/user-transaction';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { RequestService } from 'src/app/services/request/request.service';\n\n@Component({\n selector: 'app-user-request-transaction',\n templateUrl: './user-request-transaction.component.html',\n styleUrls: ['./user-request-transaction.component.scss']\n})\nexport class UserRequestTransactionComponent implements OnInit {\n\n userId!: string;\n @Input() transactions: UserTransaction[] = [];\n @Input() reloadAction: () => void = () => { }\n\n filters: any = {\n page: 1,\n itemsPerPage: 10,\n idOrder: null,\n dateOrder: true\n };\n\n constructor(\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService,\n private requestService: RequestService\n ) { }\n\n ngOnInit(): void {\n this.route.parent?.params.subscribe(value => {\n this.userId = value.id;\n });\n }\n\n deleteRequest(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestMessage(this.requestService.deleteRequests([uuId])));\n }\n\n deleteRequestList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.reloadAction();\n subscriber.unsubscribe();\n });\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteRequestListMessage(this.requestService.deleteRequests(this.selectedTransactions.map(t => t.request.uuId))));\n }\n\n get pages(): number {\n return this.transactions ? Math.ceil(this.transactions.length / this.filters.itemsPerPage) : 0;\n }\n\n get selectedTransactions(): UserTransaction[] {\n return this.transactions.filter(transaction => transaction.selected);\n }\n\n get displayedTransactions(): UserTransaction[] {\n let result = this.transactions;\n\n if (this.filters.idOrder != null) {\n if (this.filters.idOrder == true)\n result = this.transactions.sort((a, b) => a.request.id > b.request.id ? 1 : a.request.id < b.request.id ? -1 : 0);\n else\n result = this.transactions.sort((b, a) => a.request.id > b.request.id ? 1 : a.request.id < b.request.id ? -1 : 0);\n }\n\n if (this.filters.dateOrder != null) {\n if (this.filters.dateOrder == true)\n result = this.transactions.sort((b, a) => a.request.checkOutTime > b.request.checkOutTime ? 1 : a.request.checkOutTime < b.request.checkOutTime ? -1 : 0);\n else\n result = this.transactions.sort((a, b) => a.request.checkOutTime > b.request.checkOutTime ? 1 : a.request.checkOutTime < b.request.checkOutTime ? -1 : 0);\n }\n\n return result.slice((this.filters.page - 1) * this.filters.itemsPerPage, this.filters.page * this.filters.itemsPerPage);\n }\n\n get isSelectedAll(): boolean {\n return this.displayedTransactions.every(transaction => transaction.selected == true);\n }\n\n selectAll(): void {\n if (this.isSelectedAll)\n this.displayedTransactions.forEach(transaction => transaction.selected = false);\n else\n this.displayedTransactions.forEach(transaction => transaction.selected = true);\n }\n}\n","\n\n
\n
\n
\n \n
\n
\n

紀錄編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

服務日期

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

服務類型

\n
\n
\n

交易類別

\n
\n
\n

受助者

\n
\n
\n

義工

\n
\n
\n

時分

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ transaction.request.id }}

\n
\n
\n

{{ transaction.request.checkOutTime | date: 'dd-MM-yyyy' }}

\n
\n
\n

{{ transaction.request.service.name }}

\n
\n
\n

收入

\n

支出

\n
\n
\n

{{ transaction.transferer.chineseName }}

\n
\n
\n

{{ transaction.transferee.chineseName }}

\n
\n
\n

{{ transaction.amount | number }}

\n
\n
\n

檢視

\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n\n\n\n
\n
\n

已選擇

\n

{{ selectedTransactions.length }}

\n

條紀錄

\n
\n\n

匯出選項

\n

移除選項

\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { ActivatedRoute } from '@angular/router';\nimport { forkJoin } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { RedeemHistory } from 'src/app/models/redeems/redeem-history';\nimport { UserTransaction } from 'src/app/models/transactions/user-transaction';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { RedeemService } from 'src/app/services/redeem/redeem.service';\nimport { TransactionService } from 'src/app/services/transaction/transaction.service';\n\n@Component({\n selector: 'app-user-transaction',\n templateUrl: './user-transaction.component.html',\n styleUrls: ['./user-transaction.component.scss']\n})\nexport class UserTransactionComponent implements OnInit {\n\n tab: string = \"Request\";\n\n userUUId!: string;\n transactions: UserTransaction[] = [];\n redeems: RedeemHistory[] = [];\n date: FormControl = new FormControl(null);\n current: Date = new Date();\n\n constructor(\n private route: ActivatedRoute,\n private transactionService: TransactionService,\n private redeemService: RedeemService,\n private loadingService: LoadingService,\n private exportService: ExportService,\n private profileService: ProfileService\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.route.parent?.params.subscribe(value => {\n this.userUUId = value.id;\n this.loadingService.startLoading();\n forkJoin({\n transactions: this.transactionService.getUserTransactions(value.id),\n redeems: this.redeemService.getUserRedeemHistory(value.id)\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.transactions = value.transactions;\n this.redeems = value.redeems;\n });\n });\n }\n\n onMonthSelected(value: any, picker: MatDatepicker): void {\n this.date.setValue(value);\n picker.close();\n }\n\n close(): void {\n this.date.setValue(null);\n }\n\n reloadAction: () => void = (() => {\n this.fetch();\n });\n\n exportUserTransactions(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileByUUId(this.userUUId)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.exportService.exportTransactions(value, this.transactions, this.redeems, {\n startDate: this.date.value,\n endDate: this.date.value\n });\n })\n }\n\n get isCurrentMonth(): boolean {\n return this.date.value ? (this.date.value as Date).getMonth() == this.current.getMonth() : false;\n }\n\n get filteredTransactions(): UserTransaction[] {\n return this.date.value ? this.transactions.filter(transaction => transaction.date.getMonth() == this.date.value.getMonth()) : this.transactions;\n }\n\n get filteredRedeems(): RedeemHistory[] {\n return this.date.value ? this.redeems.filter(redeem => redeem.redeemDate.getMonth() == this.date.value.getMonth()) : this.redeems;\n }\n\n get requestTransactions(): UserTransaction[] {\n return this.filteredTransactions.filter(transaction => transaction.type == \"Request\");\n }\n\n get eventTransactions(): UserTransaction[] {\n return this.filteredTransactions.filter(transaction => transaction.type == \"Event\");\n }\n\n get donationTransactions(): UserTransaction[] {\n return this.filteredTransactions.filter(transaction => transaction.type == \"Donation\");\n }\n\n get income(): number {\n return this.filteredTransactions.filter(t => t.transferee.uuId == this.userUUId)\n .map(t => t.amount)\n .reduce((sum, t) => sum + t, 0);\n }\n\n get expend(): number {\n return this.filteredTransactions.filter(t => t.transferer.uuId == this.userUUId)\n .map(t => t.amount)\n .reduce((sum, t) => sum + t, 0);\n }\n}\n","
\n
\n \n \n \n\n \n
\n\n
\n

本月

\n
\n\n
\n

時分結餘:

\n

{{ income - expend }}

\n
\n\n
\n
\n
\n

收入

\n

{{ income }}

\n
\n
\n
\n
\n
\n

支出

\n

{{ expend }}

\n
\n
\n
\n\n
\n\n
\n \n \n \n \n
\n\n\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AppColumn } from \"src/app/backend/app-column\";\nimport { CellGroup } from \"src/app/models/cell-groups/cell-group\";\nimport { Health } from \"src/app/models/healths/health\";\nimport { Agent } from \"src/app/models/profiles/agent\";\nimport { Availability } from \"src/app/models/profiles/availability\";\nimport { CreateUserModel } from \"src/app/models/profiles/create-user-model\";\nimport { Service } from \"src/app/models/services/service\";\nimport { AddressForm } from \"../../share/forms/address-form\";\n\nexport class CreateUserForm {\n formGroup: FormGroup;\n healths: Health[];\n cellGroups: CellGroup[];\n services: Service[];\n addresses: AddressForm[];\n availabilities: Availability[];\n columns: AppColumn[];\n agents: Agent[];\n\n\n constructor() {\n this.formGroup = new FormGroup({\n memberId: new FormControl(null, [Validators.required]),\n username: new FormControl(null, [Validators.required]),\n password: new FormControl(null, [Validators.required]),\n center: new FormControl(null, [Validators.required]),\n chineseName: new FormControl(null, [Validators.required]),\n englishName: new FormControl(null, [Validators.required]),\n gender: new FormControl(null, [Validators.required]),\n phone: new FormControl(null, [Validators.required, Validators.minLength(8), Validators.maxLength(8)]),\n smartPhone: new FormControl(false),\n phoneModel: new FormControl(null),\n birthday: new FormControl(null, [Validators.required]),\n simCard: new FormControl(null, [Validators.required]),\n literacy: new FormControl(null, [Validators.required]),\n educationLevel: new FormControl(null, [Validators.required]),\n contactPersonName: new FormControl(null),\n contactPersonPhone: new FormControl(null),\n remark: new FormControl(null) \n });\n this.addresses = [new AddressForm()];\n this.healths = [];\n this.services = [];\n this.availabilities = [];\n this.cellGroups = [];\n this.agents = [];\n this.columns = [];\n }\n\n\n reset(): void {\n this.formGroup.reset();\n this.addresses = [new AddressForm()];\n this.healths = [];\n this.services = [];\n this.agents = [];\n this.cellGroups = [];\n this.availabilities = [];\n this.columns = [];\n }\n\n public getCreateUserModel(): CreateUserModel {\n let model: CreateUserModel = {\n username: this.formGroup.controls['username'].value,\n password: this.formGroup.controls['password'].value,\n memberId: this.formGroup.controls['memberId'].value.trim(),\n phoneNumber: this.formGroup.controls['phone'].value,\n profile: {\n chineseName: this.formGroup.controls['chineseName'].value,\n englishName: this.formGroup.controls['englishName'].value,\n dateOfBirth: (this.formGroup.controls['birthday'].value).toISOString(),\n gender: this.formGroup.controls['gender'].value,\n district: null,\n HKID: null,\n MarriageStatus: null,\n educationLevel: this.formGroup.controls['educationLevel'].value,\n literacy: this.formGroup.controls['literacy'].value,\n Career: null,\n Remark: this.formGroup.controls[\"remark\"].value,\n HasSimCard: this.formGroup.controls['simCard'].value,\n MobilePhoneModel: this.formGroup.controls['phoneModel'].value,\n CenterCode: this.formGroup.controls['center'].value,\n addresses: this.addresses.map(address => address.getCreateAddressModel()),\n healthConditions: {\n healthConditions: this.healths.map(health => health.uuId)\n },\n services: {\n services: this.services.map(service => service.uuId)\n },\n availabilities: {\n availabilities: this.availabilities\n },\n contactPersonName: this.formGroup.controls['contactPersonName'].value,\n contactPersonPhoneNumber: this.formGroup.controls['contactPersonPhone'].value,\n cellGroups: this.cellGroups.map(group => group.uuId),\n extraPersonJson: this.stringtifyColumns(this.columns),\n }\n }\n if (model.profile.addresses.length > 0) model.profile.addresses[0].isDefault = true;\n return model;\n }\n\n get valid(): boolean {\n return this.formGroup.valid && this.addresses.every(address => address.formGroup.valid);\n }\n\n addAddress(): void {\n this.addresses.push(new AddressForm());\n }\n\n protected stringtifyColumns(columns: AppColumn[]): string {\n var temp: any = {};\n columns.forEach(column => {\n temp[column.columnName] = column.input.value\n });\n return JSON.stringify(temp);\n }\n}","import { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AppColumn } from \"src/app/backend/app-column\";\nimport { Address } from \"src/app/models/addresses/address\";\nimport { CellGroup } from \"src/app/models/cell-groups/cell-group\";\nimport { Center } from \"src/app/models/centers/center\";\nimport { Health } from \"src/app/models/healths/health\";\nimport { Agent } from \"src/app/models/profiles/agent\";\nimport { Availability } from \"src/app/models/profiles/availability\";\nimport { Profile } from \"src/app/models/profiles/profile\";\nimport { UpdateUserModel } from \"src/app/models/profiles/update-user-model\";\nimport { Service } from \"src/app/models/services/service\";\nimport { UpdateMyStaffModel } from \"src/app/models/staffs/update-my-staff-model\";\nimport { UpdateStaffModel } from \"src/app/models/staffs/update-staff-model\";\nimport { AddressForm } from \"../../share/forms/address-form\";\n\nexport class UpdateUserForm {\n formGroup: FormGroup;\n healths: Health[];\n cellGroups: CellGroup[];\n services: Service[];\n addresses: Address[];\n availabilities: Availability[];\n columns: AppColumn[];\n agents: Agent[];\n staffCenters: Center[];\n\n\n constructor(profile: Profile) {\n this.formGroup = new FormGroup({\n chineseName: new FormControl(profile.chineseName, [Validators.required]),\n englishName: new FormControl(profile.englishName, [Validators.required]),\n gender: new FormControl(profile.gender, [Validators.required]),\n birthday: new FormControl(profile.dateOfBirth, [Validators.required]),\n center: new FormControl(profile.center.uuId, [Validators.required]),\n phone: new FormControl(profile.phone, [Validators.required, Validators.minLength(8), Validators.maxLength(8)]),\n phoneModel: new FormControl(profile.mobilePhoneModel),\n simCard: new FormControl(profile.hasSimCard, [Validators.required]),\n username: new FormControl(profile.userName, [Validators.minLength(4)]),\n password: new FormControl(null, [Validators.minLength(4)]),\n literacy: new FormControl(profile.literacy, [Validators.required]),\n educationLevel: new FormControl(profile.educationLevel, [Validators.required]),\n contactPersonName: new FormControl(profile.contactPersonName),\n contactPersonPhone: new FormControl(profile.contactPersonPhoneNumber),\n allowApproval: new FormControl(profile.allowApproval),\n remark:new FormControl(profile.remark)\n });\n\n this.healths = [...profile.healths];\n this.cellGroups = [...profile.cellGroups];\n this.services = [...profile.services];\n this.availabilities = [...profile.availabilities];\n this.columns = [];\n this.agents = [...profile.agents];\n this.addresses = [...profile.addresses];\n this.agents.forEach(agent => agent.isOriginal = true);\n this.staffCenters = [...profile.staffCenters];\n }\n\n addAddress(): void {\n this.addresses.push(new Address({\n uuId: null,\n region: { uuId: '', name: null, livingConditions: [] },\n district: { uuId: '', name: null, livingConditions: [] },\n subDistrict: { uuId: '', name: '', livingConditions: [] },\n street: { uuId: '', name: '', livingConditions: [] },\n streetNumber: { uuId: '', name: '', livingConditions: [] },\n estate: { uuId: '', name: '', livingConditions: [] },\n block: { uuId: '', name: '', livingConditions: [] },\n floor: { uuId: '', name: '', livingConditions: [] },\n room: { uuId: '', name: '', livingConditions: [] },\n isDefault: false\n }));\n }\n\n getUpdateUserModel(): UpdateUserModel {\n let model: UpdateUserModel = {\n chineseName: this.formGroup.controls['chineseName'].value,\n englishName: this.formGroup.controls['englishName'].value,\n dateOfBirth: (this.formGroup.controls['birthday'].value as Date).toISOString(),\n gender: this.formGroup.controls['gender'].value === 'M' ? 'M'\n : this.formGroup.controls['gender'].value === 'F' ? 'F'\n : this.formGroup.controls['gender'].value === '男' ? 'M'\n : 'F',\n district: null,\n HKID: null,\n MarriageStatus: null,\n EducationLevel: this.formGroup.controls['educationLevel'].value,\n Literacy: this.formGroup.controls['literacy'].value,\n Career: null,\n Remark: this.formGroup.controls['remark'].value,\n phoneNumber: this.formGroup.controls['phone'].value,\n HasSimCard: this.formGroup.controls['simCard'].value,\n MobilePhoneModel: this.formGroup.controls['phoneModel'].value,\n CenterCode: this.formGroup.controls['center'].value,\n addresses: this.addresses.map(address => address.getUpdateAddressModel()),\n healthConditions: {\n healthConditions: this.healths.map(health => health.uuId)\n },\n services: {\n services: this.services.map(service => service.uuId)\n },\n contactPersonName: this.formGroup.controls['contactPersonName'].value,\n contactPersonPhoneNumber: this.formGroup.controls['contactPersonPhone'].value,\n availabilities: {\n availabilities: this.availabilities\n },\n cellGroups: this.cellGroups.map(group => group.uuId),\n extraPersonJson: this.stringtifyColumns(this.columns)\n }\n\n if (model.addresses.length > 0) model.addresses[0].isDefault = true;\n return model;\n }\n\n getUpdateMyStaffModel(): UpdateMyStaffModel {\n var model: UpdateMyStaffModel = {\n ChineseName: this.formGroup.controls['chineseName'].value,\n EnglishName: this.formGroup.controls['englishName'].value,\n DateOfBirth: new Date(\"1970-01-01\"),\n Gender: this.formGroup.controls['gender'].value,\n Remark: this.formGroup.controls['remark'].value,\n HasSimCard: false,\n CenterCode: this.formGroup.controls['center'].value,\n Addresses: this.addresses.map(a => a.getUpdateAddressModel()),\n PhoneNumber: this.formGroup.controls['phone'].value,\n };\n model.Addresses[0].isDefault = true;\n return model;\n }\n\n getUpdateStaffModel(): UpdateStaffModel {\n var model: UpdateStaffModel = {\n ChineseName: this.formGroup.controls['chineseName'].value,\n EnglishName: this.formGroup.controls['englishName'].value,\n DateOfBirth: new Date(\"1970-01-01\"),\n Gender: this.formGroup.controls['gender'].value,\n Remark: null,\n HasSimCard: false,\n CenterCode: this.formGroup.controls['center'].value,\n Addresses: this.addresses.map(a => a.getUpdateAddressModel()),\n CentersStaff: this.staffCenters.map(c => c.uuId),\n PhoneNumber: this.formGroup.controls['phone'].value,\n allowApproval: this.formGroup.controls['allowApproval'].value\n };\n model.Addresses[0].isDefault = true;\n return model;\n }\n\n get valid(): boolean {\n return this.formGroup.valid && this.addresses.every(address => address.form.formGroup.valid);\n }\n\n doChangeUsernameAndPassword(): boolean {\n return this.formGroup.controls['username'].value && this.formGroup.controls['username'].valid\n && this.formGroup.controls['password'].value && this.formGroup.controls['password'].valid;\n }\n\n protected stringtifyColumns(columns: AppColumn[]): string {\n var temp: any = {};\n columns.forEach(column => {\n temp[column.columnName] = column.input.value\n });\n return JSON.stringify(temp);\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { of } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Agent } from 'src/app/models/profiles/agent';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { CreateUserForm } from '../../forms/create-user-form';\n\n@Component({\n selector: 'app-select-agents-page',\n templateUrl: './select-agents-page.component.html',\n styleUrls: ['./select-agents-page.component.scss']\n})\nexport class SelectAgentsPageComponent implements OnInit {\n\n userUUId: string | null = null;\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Agent[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n cellGroup:[]\n };\n\n constructor(\n private authService: AuthenticationService,\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n\n this.route.params.subscribe(value => {\n if (value.id == null) {\n this.caches = this.authService.form.agents;\n }\n else {\n this.userUUId = value.id;\n this.profileService.agentSelections?.subscribe(value => {\n if (value.uuid == this.userUUId) {\n this.caches = value.agents as Agent[];\n }\n });\n }\n })\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.count = value.count;\n this.profiles = value.list;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(new Agent({\n uuId: profile.uuId,\n memberId: profile.memberId,\n chineseName: profile.chineseName,\n centerCode: profile.center.centerCode,\n phone: profile.phone,\n remark: null\n }));\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.router.navigate(['/main/user/create/agent'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles\n .filter(profile => profile.selected == false)\n .map(profile => new Agent({\n uuId: profile.uuId,\n memberId: profile.memberId,\n chineseName: profile.chineseName,\n centerCode: profile.center.centerCode,\n phone: profile.phone,\n remark: null\n })));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n submit(): void {\n if (this.userUUId == null) {\n this.authService.form.agents = this.caches;\n this.router.navigate(['/main/user/create']);\n return;\n }\n\n this.profileService.agentSelections = of({ uuid: this.userUUId, agents: this.caches });\n this.router.navigate(['/main/user/overview', this.userUUId], { queryParams: { readonly: false } });\n }\n\n back(): void {\n if (this.userUUId == null) {\n this.router.navigate(['/main/user/create']);\n return;\n }\n\n this.router.navigate(['/main/user/overview', this.userUUId], { queryParams: { readonly: false } });\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.every(profile => profile.selected == true);\n }\n\n fetchEverything(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getEverythingQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.caches = value.list.map(profile => new Agent({\n uuId: profile.uuId,\n memberId: profile.memberId,\n chineseName: profile.chineseName,\n centerCode: profile.center.centerCode,\n phone: profile.phone,\n remark: null\n }));\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n private getEverythingQueryString(): string {\n return \"?start=0\"\n + \"&limit=5000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n }\n\n get isSelectedEverything(): boolean {\n return this.caches.length >= this.count;\n }\n\n selectEverything(): void {\n if (this.isSelectedEverything == true) {\n this.caches = [];\n this.profiles.forEach(profile => profile.selected = false)\n }\n else {\n this.fetchEverything();\n }\n }\n}\n","
\n
\n

會員

\n

/

\n

創建會員

\n
\n\n

會員列表

\n
\n
\n \n\n
\n \n \n \n \n \n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n \n

勾選全部

\n
\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Service } from 'src/app/models/services/service';\nimport { SignUpUserListItem } from 'src/app/models/sign-ups/sign-up-user-list-item';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { SignUpService } from 'src/app/services/sign-up/sign-up.service';\n\n@Component({\n selector: 'app-sign-up-overview-page',\n templateUrl: './sign-up-overview-page.component.html',\n styleUrls: ['./sign-up-overview-page.component.scss']\n})\nexport class SignUpOverviewPageComponent implements OnInit {\n\n users: SignUpUserListItem[] = [];\n caches: SignUpUserListItem[] = [];\n count: number = 0;\n pages: number = 0;\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n districts: [],\n subDistricts: [],\n services: [],\n signUpDateOrder: true,\n statuses: []\n };\n\n constructor(\n private signUpService: SignUpService,\n private loadingService: LoadingService,\n private router: Router,\n private route: ActivatedRoute,\n private popupMessageService: PopupMessageService,\n private profileService: ProfileService\n ) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.signUpService.getSignUpUserList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.users = value.list;\n this.count = value.count;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.users.forEach(user => {\n if (this.caches.find(u => u.uuId == user.uuId))\n user.selected = true;\n });\n });\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n statusFilterAction = ((value: string[]) => {\n this.filters.statuses = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n changePage(): void {\n this.router.navigate(['/main/user/sign-up-overview'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.users.forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.users.filter(user => user.selected == false));\n this.users.forEach(user => user.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.users.every(profile => profile.selected == true);\n }\n\n cacheSelectedUser(user: SignUpUserListItem): void {\n if (user.selected)\n this.caches.push(user);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == user.uuId), 1);\n }\n\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.signUpDateOrder != null ? \"&OrderBySignUpDate=\" + String(this.filters.signUpDateOrder) : \"\")\n + (this.filters.statuses.map((status: string) => \"&status=\" + status).join(\"\"))\n }\n\n deleteUser(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteUserMessage(this.profileService.deleteUsers([uuId])));\n }\n\n deleteUserList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteUserListMessage(this.profileService.deleteUsers(this.caches.map(p => p.uuId))));\n }\n}\n","
\n
\n

會員

\n

/

\n

申請審核列表

\n
\n\n

待審核列表

\n\n
\n
\n
\n \n\n \n
\n\n
\n \n \n \n
\n\n \n\n \n
\n
\n \n
\n
\n

申請人姓名

\n
\n
\n

性別

\n
\n
\n

年齡

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

申請日期

\n
\n
\n

狀態

\n
\n
\n

操作

\n
\n
\n\n
\n
\n \n
\n
\n

{{ user.chineseName }}

\n
\n
\n

{{ user.gender | translate }}

\n
\n
\n

{{ user.age }}

\n
\n
\n

{{ user.phone }}

\n
\n
\n

{{ user.address.toString() }}

\n
\n
\n

{{ user.signUpAt | date : 'yyyy/MM/dd' }}

\n
\n
\n
\n

等待審核

\n
\n
\n

審核中

\n
\n
\n

已拒絕

\n
\n
\n

超時審核

\n
\n

\n
\n
\n

檢視

\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { ISignUpSetting } from \"src/app/models/settings/sign-up-setting\";\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { SettingService } from 'src/app/services/setting/setting.service';\n\n@Component({\n selector: 'app-sign-up-setting-page',\n templateUrl: './sign-up-setting-page.component.html',\n styleUrls: ['./sign-up-setting-page.component.scss']\n})\nexport class SignUpSettingPageComponent implements OnInit {\n\n setting!: ISignUpSetting;\n form!: FormGroup;\n\n constructor(\n private settingService: SettingService,\n private loadingService: LoadingService,\n private popupMessageService: PopupMessageService,\n private snackBar: MatSnackBar,\n private translateSerivce: TranslateService\n ) { }\n\n\n ngOnInit(): void {\n this.fetch()\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.settingService.GetSignUpSetting()\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.setting = value;\n this.form = new FormGroup({\n openRegistration: new FormControl(this.setting.openRegistration),\n phone: new FormControl(this.setting.phone, [Validators.required]),\n title: new FormControl(this.setting.title, [Validators.required]),\n statement: new FormControl(this.setting.statement, [Validators.required])\n })\n\n if (this.openRegistration == true) {\n this.form.controls['title'].setValidators([Validators.required]);\n this.form.controls['statement'].setValidators([Validators.required]);\n }\n else {\n this.form.controls['title'].setValidators([]);\n this.form.controls['statement'].setValidators([]);\n }\n\n this.form.controls['openRegistration'].valueChanges.subscribe(value => {\n if (value == true) {\n this.form.controls['title'].setValidators([Validators.required]);\n this.form.controls['title'].updateValueAndValidity()\n this.form.controls['statement'].setValidators([Validators.required]);\n this.form.controls['statement'].updateValueAndValidity()\n }\n else {\n this.form.controls['title'].setValidators([]);\n this.form.controls['title'].updateValueAndValidity()\n this.form.controls['statement'].setValidators([]);\n this.form.controls['statement'].updateValueAndValidity()\n }\n })\n });\n\n }\n\n onSave(): void {\n if (this.form.invalid) {\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n this.form.markAllAsTouched();\n return;\n }\n\n this.loadingService.startLoading();\n this.settingService.SetSignUpSetting({\n uuId: this.setting.uuId,\n openRegistration: this.form.controls['openRegistration'].value,\n phone: this.form.controls['phone'].value,\n title: this.form.controls['title'].value,\n statement: this.form.controls['statement'].value,\n organizationName: this.setting.organizationName\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n forkJoin(\n {\n text: this.translateSerivce.get(\"資料已保存\"),\n action: this.translateSerivce.get(\"關閉\")\n }\n ).subscribe(translation => {\n this.snackBar.open(translation.text, translation.action, { horizontalPosition: 'right', duration: 5000 });\n });\n })\n }\n\n get openRegistration(): boolean {\n return this.form.controls['openRegistration'].value\n }\n\n}\n","
\n
\n

會員

\n

/

\n

申請審核列表

\n
\n\n

帳號申請設置

\n\n
\n
\n
\n
\n

功能設置

\n

欄目帶 * 號為必填項

\n
\n\n
\n

註冊功能

\n
\n
\n

機構是否開啟會員帳號申請功能

\n help_outline\n

該功能允許用戶可由App選擇想加入的機構並遞交會員申請資料,如職員審核通過,即默認成為機構的會員

\n
\n
\n \n \n
\n
\n
\n\n
\n

諮詢熱線

\n \n help_outline\n

該聯絡號碼

\n
\n\n
\n\n \n
\n\n
\n
\n

申請條款

\n

欄目帶 * 號為必填項

\n
\n\n
\n

帳號申請前用戶必須瀏覽並同意以下條款才可開始填寫申請資料

\n
\n\n
\n

條款標題

\n \n
\n\n
\n

條款詳情

\n \n
\n
\n
\n\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { Center } from 'src/app/models/centers/center';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { SignUpUser } from 'src/app/models/sign-ups/sign-up-user';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\nimport { ServiceService } from 'src/app/services/service/service.service';\nimport { SignUpService } from 'src/app/services/sign-up/sign-up.service';\n\n@Component({\n selector: 'app-sign-up-user-detail',\n templateUrl: './sign-up-user-detail.component.html',\n styleUrls: ['./sign-up-user-detail.component.scss']\n})\nexport class SignUpUserDetailComponent implements OnInit {\n\n client!: Profile;\n lang: string = this.translateService.currentLang;\n user!: SignUpUser;\n centers: Center[] = [];\n serviceTypes: ServiceType[] = [];\n\n constructor(\n private signUpService: SignUpService,\n private loadingService: LoadingService,\n private centerService: CenterService,\n private route: ActivatedRoute,\n private translateService: TranslateService,\n private serviceService: ServiceService,\n private profileService: ProfileService,\n private popupMessageService: PopupMessageService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.translateService.onLangChange.subscribe(value => {\n this.lang = value.lang;\n });\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading()\n forkJoin({\n user: this.signUpService.getSignUpUser(value.id),\n centers: this.centerService.getCenters(),\n services: this.serviceService.getServiceTypeList(),\n client: this.profileService.getMyProfile()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.user = value.user;\n this.centers = value.centers;\n this.serviceTypes = value.services;\n this.serviceTypes.forEach(st => st.services.filter(s => this.user?.services.some(service => s.uuId == service.uuId))\n .forEach(s => s.selected = true));\n\n this.client = value.client;\n\n if (this.user.signUpStatus == 'Approving') {\n this.user.form.enable();\n return;\n }\n\n if (this.user.signUpStatus == 'Approved') {\n this.router.navigate(['/main/user/overview', this.user.userUUId]);\n return;\n }\n\n this.user.form.disable();\n this.user.form.updateValueAndValidity();\n });\n })\n }\n\n startApproval(): void {\n this.route.params.subscribe(value => {\n this.signUpService.startApproval(value.id)\n .subscribe(value => {\n this.user.form.enable();\n window.scrollTo(0, 0);\n this.fetch();\n });\n });\n }\n\n get selectedServiceTypes(): ServiceType[] {\n return this.serviceTypes.filter(st => st.services.some(s => s.selected == true));\n }\n\n approve(): void {\n if (this.user.form.invalid) {\n this.user.form.markAllAsTouched();\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.signUpService.approve(this.user.getApproveModel())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(() => {\n this.router.navigate(['/main/user/overview', this.user.userUUId]);\n })\n });\n }\n\n reapprove(): void {\n this.route.params.subscribe(value => {\n this.loadingService.startLoading();\n this.signUpService.resetApproval(value.id)\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.fetch();\n window.scrollTo(0, 0);\n });\n })\n }\n\n\n deleteUser(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteUserMessage(this.profileService.deleteUsers([this.user?.userUUId as string])));\n }\n}\n","
\n
\n

會員

\n

/

\n

申請審核列表

\n
\n\n

{{ user.chineseName }} {{ user.englishName }}

\n\n
\n
\n

{{ '申請時間:' | translate: {value: user.signUpAt | date: 'yyyy-MM-dd HH:mm'} }}

\n
\n\n
\n \n\n
\n info\n

點擊底部“開始審核”按鈕後可進行操作

\n
\n\n
\n info\n

{{ '職員正在審核該資料中' | translate: { value: user.approvedBy } }}

\n
\n\n
\n info\n

{{ '職員審核後拒絕申請。理由:' | translate: { value: user.disapprovedBy, reason: user.disapprovedReason || 'null' } }}

\n
\n\n
\n
\n

帳號信息

\n

欄目帶 * 號為必填項

\n
\n\n
\n

會員編號

\n \n
\n\n
\n

登入帳號

\n

{{ user.username }}

\n
\n\n
\n

登入密碼

\n

********

\n
\n\n
\n

中心編號

\n
\n \n
\n
\n\n
\n

時分餘額

\n \n
\n\n
\n\n
\n
\n

基本信息

\n

欄目帶 * 號為必填項

\n
\n\n
\n

會員姓名

\n

{{ user.chineseName }}

\n

{{ user.englishName }}

\n
\n\n
\n

性別

\n

{{ user.gender | translate }}

\n
\n\n
\n

電話號碼

\n
\n

{{ user.phone }}

\n

{{ user.mobilePhoneModel }}

\n
\n
\n\n
\n

出生日期

\n

{{ user.dateOfBirth | date: 'longDate': '': lang }}

\n

{{ '歲' | translate: {value: user.age} }}

\n
\n\n
\n

是否有流動數據

\n

\n

沒有

\n
\n\n
\n

細胞小組

\n

未指定

\n help_outline\n

同一細胞小組的會員在義工推薦時優先顯示

\n
\n\n\n
\n

代理人

\n

未指定,請在用戶列表中確認人選

\n help_outline\n

代理人帳號可代該用戶帳號申請義工服務和中心活動

\n
\n\n
\n

緊急聯絡人

\n

{{ user.contactPersonName }}

\n

{{ user.contactPersonPhoneNumber }}

\n
\n\n
\n

身體狀況

\n

未設置

\n
\n\n
\n

教育程度

\n

能讀能寫

\n

只能讀,不能寫

\n

不懂文字

\n

大學或以上

\n

中學

\n

小學

\n

不適用

\n
\n
\n\n
\n
\n

地址信息

\n

居住條件選項可在後台設置中增加/編輯

\n
\n\n
\n

{{ '地址#' | translate: {value: 1} }}

\n
\n

{{ user.address.region.name }},{{ user.address.district.name }},

\n

{{ user.address.subDistrict.name }}{{ user.address.street.name }}{{ user.address.streetNumber.name }},

\n

{{ user.address.estate.name }},{{ user.address.block.name }},

\n

{{ user.address.floor.name }},{{ user.address.room.name }}

\n
\n
\n\n
\n

{{ '居住條件 #' | translate: {value: 1} }}

\n

不適用

\n
\n
\n\n
\n
\n

義工服務信息

\n

義工會員須填寫,系統會根據以下信息在邀請義工時篩選適合的義工會員,非義工會員可不填

\n
\n\n
\n

空閒時間

\n \n
\n\n
\n\n

可提供服務

\n
\n

未設置

\n
\n\n 0\">\n \n \n\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n\n\n
\n
\n

1

\n check\n
\n
\n

等候審核

\n
\n
\n

該申請正在等候審核

\n
\n
\n\n
\n

2

\n check\n
\n
\n

審核中

\n
\n
\n

職員正在審核中

\n
\n
\n\n
\n

3

\n
\n
\n

已通過

\n
\n

該申請已通過審核

\n
\n
\n\n
\n

3

\n
\n
\n

已拒絕

\n
\n

該申請被拒絕

\n
\n
\n
\n
\n\n\n\n
\n
\n

該會員可提供以下義工服務,系統根據可供服務和空閒時間進行義工推薦

\n
\n
\n
\n
\n

{{ serviceType.name }}

\n

{{ serviceType.selectedServices.length }}

\n
\n
\n
\n
\n

{{ service.servicesCode }}

\n

{{ service.name }}

\n
\n
\n
\n
\n
\n\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { forkJoin, Observable } from 'rxjs';\nimport { defaultIfEmpty, finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Service } from 'src/app/models/services/service';\nimport { ServiceType } from 'src/app/models/services/service-type';\nimport { AgentService } from 'src/app/services/agent/agent.service';\nimport { AuthenticationService } from 'src/app/services/authenticate/authentication.service';\nimport { CenterService } from 'src/app/services/center/center.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ServiceService } from 'src/app/services/service/service.service';\nimport { AvailabilityTableComponent } from '../../components/availability-table/availability-table.component';\nimport { CreateUserForm } from '../../forms/create-user-form';\n\n@Component({\n selector: 'app-user-create-page',\n templateUrl: './user-create-page.component.html',\n styleUrls: ['./user-create-page.component.scss']\n})\nexport class UserCreatePageComponent implements OnInit {\n\n @ViewChild('availability') availabilityComponent: AvailabilityTableComponent | undefined;\n\n form: CreateUserForm;\n\n centers: Center[] = [];\n serviceTypes: ServiceType[] = [];\n\n index: number = 0;\n\n constructor(\n private authService: AuthenticationService,\n private loadingService: LoadingService,\n private centerService: CenterService,\n private serviceService: ServiceService,\n private agentService: AgentService,\n private router: Router,\n private popupMessageService: PopupMessageService\n ) {\n this.form = this.authService.form;\n }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n forkJoin({\n centers: this.centerService.getCenters(),\n services: this.serviceService.getServiceTypeList()\n }).pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.centers = value.centers;\n this.serviceTypes = value.services;\n }\n });\n }\n\n cellGroupPopupAction = ((cellGroups: CellGroup[]) => {\n this.form.cellGroups = cellGroups;\n }).bind(this);\n\n healthPopupAction = ((healths: Health[]) => {\n this.form.healths = healths;\n }).bind(this);\n\n servicePopupAction = ((services: Service[]) => {\n this.form.services = services;\n this.serviceTypes.forEach(st => st.services.forEach(s => {\n s.selected = services.some(service => s.uuId == service.uuId);\n }));\n this.index = 0;\n }).bind(this);\n\n dropAddressAction = ((index: number) => {\n this.form.addresses.splice(index, 1);\n }).bind(this);\n\n dropService(service: Service): void {\n this.form.services.splice(this.form.services.findIndex(s => service.uuId == s.uuId), 1);\n service.selected = false;\n }\n\n dropAgent(index: number): void {\n this.form.agents.splice(index, 1);\n }\n\n reset(): void {\n this.form.reset();\n }\n\n get selectedServiceTypes(): ServiceType[] {\n return this.serviceTypes.filter(st => st.services.some(s => s.selected == true));\n }\n\n get memberId(): AbstractControl {\n return this.form.formGroup.controls['memberId'];\n }\n\n get username(): AbstractControl {\n return this.form.formGroup.controls['username'];\n }\n\n get password(): AbstractControl {\n return this.form.formGroup.controls['password'];\n }\n\n get center(): AbstractControl {\n return this.form.formGroup.controls['center'];\n }\n\n get chineseName(): AbstractControl {\n return this.form.formGroup.controls['chineseName'];\n }\n\n get englishName(): AbstractControl {\n return this.form.formGroup.controls['englishName'];\n }\n\n get gender(): AbstractControl {\n return this.form.formGroup.controls['gender'];\n }\n\n get phone(): AbstractControl {\n return this.form.formGroup.controls['phone'];\n }\n\n get birthday(): AbstractControl {\n return this.form.formGroup.controls['birthday'];\n }\n\n get age(): number | null {\n return this.birthday.valid ? new Date(Date.now() - (this.birthday.value as Date).getTime()).getUTCFullYear() - 1970 : null;\n }\n\n get simCard(): AbstractControl {\n return this.form.formGroup.controls['simCard'];\n }\n\n get literacy(): AbstractControl {\n return this.form.formGroup.controls['literacy'];\n }\n\n get educationLevel(): AbstractControl {\n return this.form.formGroup.controls['educationLevel'];\n }\n\n get contactPersonName(): AbstractControl {\n return this.form.formGroup.controls['contactPersonName'];\n }\n\n get contactPersonPhone(): AbstractControl {\n return this.form.formGroup.controls['contactPersonPhone'];\n }\n\n submit(): void {\n if (!this.form.valid) {\n this.form.formGroup.markAllAsTouched();\n this.form.addresses.forEach(address => address.formGroup.markAllAsTouched());\n this.popupMessageService.messageSignal.emit(PopupMessages.InvalidInformationMessage);\n return;\n }\n\n this.form.availabilities = this.availabilityComponent ? this.availabilityComponent.getModels() : [];\n this.loadingService.startLoading();\n this.authService.register(this.form.getCreateUserModel())\n .pipe(finalize(() => {\n this.loadingService.stopLoading();\n })).subscribe({\n next: (value: any) => {\n if (this.form.agents.length == 0) {\n this.form.reset();\n this.popupMessageService.messageSignal.emit(PopupMessages.CreateUserSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/user/overivew', value.uuid, 'profile']);\n })\n ));\n return;\n }\n\n forkJoin(this.form.agents.map(agent => this.agentService.assignAgent({\n AssigneeUUId: value.uuId,\n AgentUUId: agent.uuId,\n Remark: agent.remark.value\n }))).pipe(defaultIfEmpty())\n .subscribe(() => {\n this.form.reset();\n this.popupMessageService.messageSignal.emit(PopupMessages.CreateUserSuccessMessage(\n new Observable(subscriber => {\n this.router.navigate(['/main/user/overivew', value.uuid, 'profile']);\n })\n ));\n });\n }\n });\n }\n\n}\n","
\n
\n

用戶

\n

/

\n

創建用戶

\n
\n\n

創建用戶

\n\n
\n
\n\n
\n
\n

帳號信息

\n

欄目帶 * 號為必填項

\n
\n\n
\n

會員編號

\n \n
\n

請輸入會員編號

\n
\n
\n\n
\n

登入帳號

\n \n
\n

請輸入登入帳號

\n
\n
\n\n
\n

登入密碼

\n \n
\n

請輸入帳號密碼

\n
\n
\n\n
\n

所屬中心

\n
\n \n
\n
\n

請選擇所屬中心

\n
\n
\n\n
\n

時分餘額

\n \n
\n\n
\n\n
\n
\n

基本信息

\n

欄目帶 * 號為必填項

\n
\n\n
\n

會員姓名

\n \n \n
\n

請輸入中文姓名

\n
\n
\n

請輸入英文姓名

\n
\n
\n\n
\n

性別

\n \n \n
\n

請選擇性別

\n
\n
\n\n
\n

電話號碼

\n
\n
\n \n \n
\n\n \n
\n

請輸入電話號碼

\n
\n
\n
\n\n
\n

出生日期

\n \n \n \n \n\n
\n

請輸入出生日期

\n
\n
\n\n
\n

是否有流動數據

\n \n \n\n
\n

請選擇網卡配備

\n
\n
\n\n
\n

細胞小組

\n
\n

未指定

\n add_circle\n help_outline\n

同一細胞小組的會員在義工推薦時優先顯示

\n
\n\n
0\">\n
\n
\n

{{ cellGroup.name }}

\n
\n
\n add_circle\n help_outline\n

同一細胞小組的會員在義工推薦時優先顯示

\n
\n
\n\n \n\n
\n

代理人

\n
\n
\n

未指定,請在用戶列表中確認人選

\n help_outline\n

代理人帳號可代該用戶帳號申請義工服務和中心活動

\n
\n\n \n
\n\n
0\">\n
\n \n help_outline\n

代理人帳號可代該用戶帳號申請義工服務

\n
\n\n\n
\n

已選擇以下

\n

{{ form.agents.length }}

\n

位會員

\n
\n\n
\n
\n
\n

會員編號

\n
\n
\n

中文姓名

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

備註

\n
\n
\n
\n
\n

{{ agent.memberId}}

\n
\n
\n

{{ agent.chineseName }}

\n
\n
\n

{{ agent.centerCode}}

\n
\n
\n

{{ agent.phone }}

\n
\n
\n \n

移除

\n
\n
\n
\n
\n\n
\n\n
\n

緊急聯絡人

\n \n \n
\n\n
\n

身體狀況

\n
\n

未設置

\n add_circle\n
\n\n
0\">\n
\n
\n

{{ health.name }}

\n visibility\n visibility_off\n
\n
\n add_circle\n
\n
\n\n \n\n
\n

教育程度

\n
\n \n
\n
\n \n
\n\n
\n

請選擇讀寫能力

\n
\n\n
\n

請選擇教育程度

\n
\n
\n
\n

備註

\n
\n
備註僅職員可見
\n \n \n
\n \n
\n
\n\n
\n
\n

地址信息

\n

居住條件選項可在後台設置中增加/編輯

\n
\n\n \n \n \n\n
\n

增添地址

\n
\n
\n\n
\n
\n

義工服務信息

\n

義工會員須填寫,系統會根據以下信息在邀請義工時篩選適合的義工會員,非義工會員可不填

\n
\n\n
\n

空閒時間

\n \n \n \n
\n\n
\n

可提供服務

\n
\n

未設置

\n add_circle\n
\n\n 0\">\n \n \n
\n\n \n
\n\n
\n \n \n
\n
\n\n
\n
\n\n\n
\n
\n

該會員可提供以下義工服務,系統根據可供服務和空閒時間進行義工推薦

\n
\n
\n
\n
\n

{{ serviceType.name }}

\n

{{ serviceType.selectedServices.length }}

\n
\n
\n
\n
\n

{{ service.servicesCode }}

\n

{{ service.name }}

\n close\n
\n
\n
\n
\n

新增服務

\n add_circle\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, RouterOutlet } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { finalize, shareReplay } from 'rxjs/operators';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { PortalAnimation } from 'src/app/portal-animation';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-user-detail-page',\n templateUrl: './user-detail-page.component.html',\n styleUrls: ['./user-detail-page.component.scss'],\n animations: [PortalAnimation.UserPageSlide]\n})\nexport class UserDetailPageComponent implements OnInit {\n\n profile: Profile | null = null;\n observable: Observable | null = null;\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n this.fetch();\n }\n\n fetch(): void {\n this.route.params.subscribe(value => {\n this.profileService.getObservable = this.profileService.getProfileByUUId(value.id)\n .pipe(shareReplay(1));\n\n // this.loadingService.startLoading();\n this.profileService.getObservable\n // .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => this.profile = value\n });\n })\n }\n\n prepareRoute(outlet: RouterOutlet) {\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animationState'];\n }\n}\n","
\n
\n

會員

\n

/

\n

會員概覽

\n
\n\n

{{ profile.chineseName }} {{ profile.englishName }}

\n\n
\n
\n

個人檔案

\n

交易紀錄

\n
\n
\n
\n \n
\n
\n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { finalize } from 'rxjs/operators';\nimport { PopupMessages } from 'src/app/backend/popup-message';\nimport { CellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { Center } from 'src/app/models/centers/center';\nimport { Health } from 'src/app/models/healths/health';\nimport { Living } from 'src/app/models/livings/living';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Service } from 'src/app/models/services/service';\nimport { ExportService } from 'src/app/services/export/export.service';\nimport { ImportService } from 'src/app/services/import/import.service';\nimport { LoadingService } from 'src/app/services/loading/loading.service';\nimport { PopupMessageService } from 'src/app/services/popup-message/popup-message.service';\nimport { ProfileService } from 'src/app/services/profile/profile.service';\n\n@Component({\n selector: 'app-user-overview-page',\n templateUrl: './user-overview-page.component.html',\n styleUrls: ['./user-overview-page.component.scss']\n})\nexport class UserOverviewPageComponent implements OnInit {\n\n count: number = 0;\n pages: number = 0;\n profiles: Profile[] = [];\n caches: Profile[] = [];\n\n filters: any = {\n page: 1,\n itemsPerPage: 20,\n searchInput: null,\n centers: [],\n districts: [],\n subDistricts: [],\n services: [],\n conditions: [],\n healths: [],\n genders: [],\n memberIdOrder: true,\n creditOrder: null,\n birthdayFrom: null,\n birthdayTo: null,\n cellGroup:[]\n };\n\n constructor(\n private profileService: ProfileService,\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private router: Router,\n private popupMessageService: PopupMessageService,\n private exportService: ExportService,\n private importService: ImportService,\n ) { }\n\n ngOnInit(): void {\n this.importService.refreshSignal.subscribe(value => {\n this.fetch();\n });\n\n this.route.queryParams.subscribe(value => {\n this.filters.page = parseInt(value.page) || 1;\n this.filters.itemsPerPage = parseInt(value.itemsPerPage) || 20;\n this.fetch();\n });\n }\n\n fetch(): void {\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getQueryString())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe({\n next: value => {\n this.count = value.count;\n this.profiles = value.list;\n this.pages = Math.ceil(value.count / this.filters.itemsPerPage);\n this.profiles.forEach(profile => {\n if (this.caches.find(u => u.uuId == profile.uuId))\n profile.selected = true;\n });\n }\n });\n }\n\n cacheSelectedProfile(profile: Profile): void {\n if (profile.selected)\n this.caches.push(profile);\n else\n this.caches.splice(this.caches.findIndex(u => u.uuId == profile.uuId), 1);\n }\n\n changePage(): void {\n this.router.navigate(['/main/user/overview'], { queryParams: { page: this.filters.page, itemsPerPage: this.filters.itemsPerPage } })\n }\n\n private getQueryString(): string {\n return \"?start=\" + (this.filters.page - 1) * this.filters.itemsPerPage\n + \"&limit=\" + this.filters.itemsPerPage\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.birthdayFrom != null ? \"&birthdayFrom=\" + (this.filters.birthdayFrom as Date).toISOString() : \"\")\n + (this.filters.birthdayTo != null ? \"&birthdayTo=\" + (this.filters.birthdayTo as Date).toISOString() : \"\")\n + (this.filters.cellGroup.map((cellGroup: CellGroup) => \"&cellGroup=\" + cellGroup.uuId).join(\"\"))\n }\n\n searchFilterAction = ((value: string | any) => {\n this.filters.searchInput = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n centerFilterAction = ((value: Center[] | any) => {\n this.filters.centers = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n addressFilterAction = ((value: string[], subDistricts: string[] | any) => {\n this.filters.districts = value;\n this.filters.subDistricts = subDistricts;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n serviceFilterAction = ((value: Service[] | any) => {\n this.filters.services = value;\n this.filters.page = 1;\n this.fetch();\n }).bind(this);\n\n conditionFilterAction = ((genders: string[] | any, healths: Health[] | any, livings: Living[] | any, birthdayFrom: Date, birthdayTo: Date) => {\n this.filters.genders = genders;\n this.filters.healths = healths;\n this.filters.conditions = livings;\n this.filters.page = 1;\n this.filters.birthdayFrom = birthdayFrom;\n this.filters.birthdayTo = birthdayTo;\n this.fetch();\n }).bind(this);\n\n\n cellGroupFilterAction = ((center: Center[]) => {\n this.filters.cellGroup=[];\n center.forEach(c=>c.cellGroups.forEach(cg=>cg.selected?this.filters.cellGroup.push(cg):null))\n console.log(this.filters.cellGroup);\n this.fetch();\n }).bind(this);\n\n selectAll(): void {\n if (this.isSelectedAll) {\n this.profiles.forEach(p => {\n p.selected = false;\n this.caches.splice(this.caches.findIndex(u => u.uuId == p.uuId), 1);\n });\n }\n else {\n this.caches = this.caches.concat(this.profiles.filter(profile => profile.selected == false));\n this.profiles.forEach(p => p.selected = true);\n }\n }\n\n get isSelectedAll(): boolean {\n return this.profiles.every(profile => profile.selected == true);\n }\n\n deleteUser(uuId: string): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteUserMessage(this.profileService.deleteUsers([uuId])));\n }\n\n deleteUserList(): void {\n var subscriber = this.popupMessageService.executeSuccessSignal.subscribe(value => {\n this.fetch();\n subscriber.unsubscribe();\n });\n\n this.popupMessageService.messageSignal.emit(PopupMessages.DeleteUserListMessage(this.profileService.deleteUsers(this.caches.map(p => p.uuId))));\n }\n\n exportUsers(): void {\n if (this.caches.length != 0) {\n this.exportService.exportUsers(this.caches.map(user => user.getUserExportModel()), \"User\");\n return;\n }\n\n this.loadingService.startLoading();\n this.profileService.getProfileList(this.getEverythingQuery())\n .pipe(finalize(() => this.loadingService.stopLoading()))\n .subscribe(value => {\n this.exportService.exportUsers(value.list.map(user => user.getUserExportModel()), \"User\");\n });\n }\n\n private getEverythingQuery(): string {\n return \"?start=0&limit=1000000\"\n + (this.filters.searchInput ? \"&filterString=\" + this.filters.searchInput : \"\")\n + (this.filters.centers.map((center: Center) => \"¢ers=\" + center.uuId).join(\"\"))\n + (this.filters.services.map((service: Service) => \"&services=\" + service.uuId).join(\"\"))\n + (this.filters.districts.map((district: string) => \"&districts=\" + district).join(\"\"))\n + (this.filters.subDistricts.map((subDistrict: string) => \"&subDistricts=\" + subDistrict).join(\"\"))\n + (this.filters.conditions.map((condition: Living) => \"&livingConditions=\" + condition.uuId).join(\"\"))\n + (this.filters.healths.map((health: Health) => \"&healthConditions=\" + health.uuId).join(\"\"))\n + (this.filters.genders.map((gender: string) => \"&gender=\" + gender).join(\"\"))\n + (this.filters.memberIdOrder != null ? \"&orderByMemberId=\" + String(this.filters.memberIdOrder) : \"\")\n + (this.filters.creditOrder != null ? \"&orderByBalance=\" + String(this.filters.creditOrder) : \"\")\n + (this.filters.birthdayFrom != null ? \"&birthdayFrom=\" + (this.filters.birthdayFrom as Date).toISOString() : \"\")\n + (this.filters.birthdayTo != null ? \"&birthdayTo=\" + (this.filters.birthdayTo as Date).toISOString() : \"\")\n }\n\n openImportPopup(): void {\n this.importService.importPopupSignal.emit(\"User\")\n }\n}\n","
\n
\n

用戶

\n

/

\n

用戶概覽

\n
\n\n

用戶概覽

\n\n
\n
\n\n
\n \n\n \n\n \n\n \n\n \n
\n\n
\n \n \n \n \n \n
\n\n \n\n \n
\n
\n \n
\n
\n

會員編號

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

用戶姓名

\n
\n
\n

English Name

\n
\n
\n

性別

\n
\n
\n

中心代碼

\n
\n
\n

電話

\n
\n
\n

地址

\n
\n
\n

時分

\n
\n arrow_drop_up\n arrow_drop_down\n
\n
\n
\n

操作

\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n

{{ profile.memberId }}

\n
\n
\n

{{ profile.chineseName }}

\n
\n
\n

{{ profile.englishName }}

\n
\n
\n

{{ profile.gender | translate }}

\n
\n
\n

{{ profile.center.centerCode }}

\n
\n
\n

{{ profile.phone }}

\n
\n
\n

{{ profile.defaultAddressString }}

\n
\n
\n

{{ profile.timeBalance | number }}

\n
\n
\n

檢視

\n

移除

\n
\n
\n\n
\n
\n

沒有紀錄

\n
\n
\n
\n\n \n
\n
\n
\n\n\n
\n
\n

已選擇

\n

{{ caches.length }}

\n

條紀錄

\n
\n\n

批量移除

\n\n
\n

合計

\n

{{ count }}

\n

\n
\n\n
\n \n
\n\n chevron_left\n \n

/

\n

{{ pages }}

\n = pages}\" (click)=\"filters.page = +filters.page +1;changePage()\">chevron_right\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserOverviewPageComponent } from './pages/user-overview-page/user-overview-page.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ShareModule } from '../share/share.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { UserCreatePageComponent } from './pages/user-create-page/user-create-page.component';\nimport { AvailabilityTableComponent } from './components/availability-table/availability-table.component';\nimport { SelectAgentsPageComponent } from './pages/select-agents-page/select-agents-page.component';\nimport { UserDetailPageComponent } from './pages/user-detail-page/user-detail-page.component';\nimport { UserProfileComponent } from './components/user-profile/user-profile.component';\nimport { UserTransactionComponent } from './components/user-transaction/user-transaction.component';\nimport { UserRequestTransactionComponent } from './components/user-request-transaction/user-request-transaction.component';\nimport { UserEventTransactionComponent } from './components/user-event-transaction/user-event-transaction.component';\nimport { UserDonationTransactionComponent } from './components/user-donation-transaction/user-donation-transaction.component';\nimport { UserRedeemTransactionComponent } from './components/user-redeem-transaction/user-redeem-transaction.component';\nimport { SignUpSettingPageComponent } from './pages/sign-up-setting-page/sign-up-setting-page.component';\nimport { SignUpOverviewPageComponent } from './pages/sign-up-overview-page/sign-up-overview-page.component';\nimport { SignUpUserDetailComponent } from './pages/sign-up-user-detail/sign-up-user-detail.component';\nimport { SignUpDisapprovePopupComponent } from './components/sign-up-disapprove-popup/sign-up-disapprove-popup.component';\n\nconst routes: Routes = [\n { path: 'overview', component: UserOverviewPageComponent },\n { path: 'overview/:id/agent', component: SelectAgentsPageComponent },\n {\n path: 'overview/:id', component: UserDetailPageComponent, children: [\n { path: 'profile', component: UserProfileComponent, data: { animationState: 'profile' } },\n { path: 'transaction', component: UserTransactionComponent, data: { animationState: 'transaction' } },\n { path: '', redirectTo: 'profile', pathMatch: 'full' },\n { path: '**', redirectTo: 'profile' }\n ]\n },\n { path: 'create', component: UserCreatePageComponent },\n { path: 'create/agent', component: SelectAgentsPageComponent },\n { path: 'sign-up-setting', component: SignUpSettingPageComponent },\n { path: 'sign-up-overview', component: SignUpOverviewPageComponent },\n { path: 'sign-up-overview/:id', component: SignUpUserDetailComponent },\n { path: '', redirectTo: 'overview', pathMatch: 'full' },\n { path: '**', redirectTo: 'overview' }\n];\n\n@NgModule({\n declarations: [UserOverviewPageComponent, UserCreatePageComponent, AvailabilityTableComponent, SelectAgentsPageComponent, UserDetailPageComponent, UserProfileComponent, UserTransactionComponent, UserRequestTransactionComponent, UserEventTransactionComponent, UserDonationTransactionComponent, UserRedeemTransactionComponent, SignUpSettingPageComponent, SignUpOverviewPageComponent, SignUpUserDetailComponent, SignUpDisapprovePopupComponent],\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n FormsModule,\n ReactiveFormsModule,\n ShareModule,\n TranslateModule.forChild(),\n MatTooltipModule,\n MatDatepickerModule,\n MatSnackBarModule\n ]\n})\nexport class UserModule { }\n","import { trigger, state, style, animate, transition, query, animateChild, group } from '@angular/animations';\n\nexport class PortalAnimation {\n public static DropDown = [\n trigger('dropdown', [\n state('on', style({})),\n state('off', style({\n overflow: 'hidden',\n height: '0px',\n 'box-shadow': 'none',\n 'border-color': 'transparent'\n })),\n transition('on => off', [\n animate('0.25s')\n ]),\n transition('off => on', [\n animate('0.25s')\n ])\n ])\n ]\n\n public static SystemPageSlide = [\n trigger('slide', [\n transition('event => data, event => organization, data => organization', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '-100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n transition('data => event, organization => data, organization => event', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '-100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n ])\n ];\n\n public static UserPageSlide = [\n trigger('slide', [\n transition('transaction => profile', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '-100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n transition('profile => transaction', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '-100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n ])\n ]\n\n public static DonationPageSlide = [\n trigger('slide', [\n transition('overview => center, overview => user, center => user', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '-100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n transition('center => overview, user => center, user => overview', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '-100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n ])\n ];\n\n public static ActivityPageSlide = [\n trigger('slide', [\n transition('event => request', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '-100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n transition('request => event', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '-100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n ])\n ];\n\n public static TrashPageSlide = [\n trigger('slide', [\n transition('redeem => donation, redeem => user, redeem => event, redeem => request, donation => user, donation => event, donation => request, user => event, user => request, event => request', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '-100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n transition('request => event, request => user, request => donation, request => redeem, event => user, event => donation, event => redeem, user => donation, user => redeem, donation => redeem', [\n style({ position: 'relative' }),\n query(':enter, :leave', [\n style({\n position: 'absolute',\n width: '100%'\n })\n ]),\n query(':enter', [style({ left: '100%', opacity: 0 })]),\n query(':leave', animateChild()),\n group([\n query(':leave', [animate('0.5s ease-out', style({ left: '-100%', opacity: 0 }))]),\n query(':enter', [animate('0.5s ease-out', style({ left: '0%', opacity: 1 }))])\n ]),\n query(':enter', animateChild())\n ]),\n ])\n ]\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpService } from 'src/app/backend/http.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AgentService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public assignAgent(model: { AssigneeUUId: string, AgentUUId: string, Remark: string }): Observable {\n return this.httpService.post(\"agents/assign\", model);\n }\n\n public removeAgent(model: { AssigneeUUId: string, AgentUUId: string }): Observable {\n return this.httpService.put(\"agents/remove\", model);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CellGroupData } from 'src/app/models/analytics/cell-group-data';\nimport { DailyRequestCount } from 'src/app/models/analytics/daily-request-count';\nimport { GetTransactionChartDataModel } from 'src/app/models/analytics/get-transaction-chart-data-model';\nimport { ServiceRatio } from 'src/app/models/analytics/service-ratio';\nimport { TransactionChartData } from 'src/app/models/analytics/transaction-chart-data';\nimport { Profile, IProfile } from 'src/app/models/profiles/profile';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalyticsService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getTotalTimeBalance(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/TotalTimeBalance\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getAverageTimeBalance(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/AverageTimeBalance\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getRequestTotalTimeBalance(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/Requests/TotalTimeBalance\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getRequestAverageTimeBalance(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/Requests/AverageTimeBalance\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getEventTotalTimeBalance(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/Events/TotalTimeBalance\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getEventAverageTimeBalance(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/Events/AverageTimeBalance\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getDailyRequestCount(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/CountRequestDaily\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getRequestSuccessRate(centerUUId?: string): Observable {\n return this.httpService.get(\"Reports/RequestMatchedRate\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public GetTransactionChartData(model: GetTransactionChartDataModel): Observable {\n return this.httpService.post(\"Reports/GetTransactionsPeriod\", model)\n .pipe(map(value => value.result));\n }\n\n public getInactiveUsers(centerUUId?: string,type?: string,startTime?:string,endTime?:string): Observable {\n var getvalue=\"?a=1\";\n getvalue+=(startTime ? \"&startTime=\" + startTime : \"\");\n getvalue+=(endTime ? \"&endTime=\" + endTime : \"\");\n getvalue+=(type ? \"&type=\" + type : \"\");\n getvalue+=(centerUUId ? \"¢erUUId=\" + centerUUId : \"\");\n return this.httpService.get(\"Reports/InactiveUser\" + (getvalue))\n .pipe(map(value => value.result.map(profile => new Profile(profile))));\n }\n public getCellGroupData(startTime?:string,endTime?:string,type?: string,StateType?:string,ServiceUUId?:string,centerUUId?:string): Observable {\n var getvalue=\"?a=1\";\n getvalue+=(startTime ? \"&startTime=\" + startTime : \"\");\n getvalue+=(endTime ? \"&endTime=\" + endTime : \"\");\n getvalue+=(type ? \"&type=\" + type : \"\");\n getvalue+=(StateType ? \"&StateType=\" + StateType : \"\");\n getvalue+=(ServiceUUId ? \"&ServiceUUId=\" + ServiceUUId : \"\");\n getvalue+=(centerUUId ? \"¢erUUId=\" + centerUUId : \"\");\n\n return this.httpService.get(\"Reports/CellGroupData\" + getvalue)\n .pipe(map(value => value.result));\n }\n \n public getServiceRatio(centerUUId?: string,type?:string,startTime?:string,endTime?:string,cellGroupsUUId?:string): Observable {\n var getvalue=\"?a=1\";\n getvalue+=(centerUUId ? \"¢erUUId=\" + centerUUId : \"\");\n getvalue+=(startTime ? \"&startTime=\" + startTime : \"\");\n getvalue+=(endTime ? \"&endTime=\" + endTime : \"\");\n getvalue+=(type ? \"&type=\" + type : \"\");\n getvalue+=(cellGroupsUUId ? \"&cellGroupsUUId=\" + cellGroupsUUId : \"\");\n\n return this.httpService.get(\"Reports/ServiceRatio\" + getvalue)\n .pipe(map(value => value.result));\n }\n\n public getRanking(centerUUId?: string): Observable<{ index: string, value: number }[]> {\n return this.httpService.get<{ index: string, value: number }[]>(\"Reports/earnRanking\" + (centerUUId ? \"?centerUUId=\" + centerUUId : \"\"))\n .pipe(map(value => value.result));\n }\n\n public getTotalDonation(): Observable<{ sum: number, startTime: Date }> {\n return this.httpService.get<{ sum: number, startTime: Date }>(\"Reports/totalDonate\")\n .pipe(map(value => value.result));\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Observable,of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { Announcement, IAnnouncement } from 'src/app/models/announcements/announcement';\nimport { AnnouncementItem, IAnnouncementItem } from 'src/app/models/announcements/announcement-item';\nimport { CreateAnnouncementModel } from 'src/app/models/announcements/create-announcement-model';\nimport { UpdateAnnouncementModel } from 'src/app/models/announcements/update-announcement-model';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { CreateAnnouncementForm } from 'src/app/modules/announcement/forms/create-announcement-form';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnnouncementService {\n\n form: CreateAnnouncementForm = new CreateAnnouncementForm();\n private selection:string[]=[];\n\n setSelection(profiles:Profile[]){\n this.selection=profiles.map(p=>p.uuId);\n // console.log(profiles.values());\n window.localStorage.setItem(\"AnnouncementList\",JSON.stringify(profiles.map(p=>p.uuId)));\n }\n\n getSelection():string[]{\n \n const a:string=window.localStorage.getItem(\"AnnouncementList\")??\"\";\n if(a==\"\")\n return [];\n else{\n var list=JSON.parse(a);\n return (list);\n }\n }\n\n constructor(private httpService: HttpService) { }\n\n getAnnouncement(uuId: string): Observable {\n return this.httpService.get(\"announcements/\" + uuId)\n .pipe(map(value => new Announcement(value.result)));\n }\n\n getAnnouncementList(queryString: string): Observable<{ list: AnnouncementItem[], count: number }> {\n return this.httpService.get<{ list: IAnnouncementItem[], count: number }>(\"announcements\" + queryString)\n .pipe(map(value => {\n return {\n count: value.result.count,\n list: value.result.list.map(announcement => new AnnouncementItem(announcement))\n }\n }));\n }\n\n createAnnouncement(model: CreateAnnouncementModel): Observable {\n return this.httpService.post(\"announcements\", model)\n .pipe(map(value => value.result));\n }\n\n updateAnnouncement(model: UpdateAnnouncementModel): Observable {\n return this.httpService.put(\"announcements\", model);\n }\n\n deactivateAnnouncement(uuId: string, reason: string): Observable {\n return this.httpService.put(\"announcements/Deactivate\", { announcementUUId: uuId, reason: reason });\n }\n\n deleteAnnouncement(uuId: string): Observable {\n return this.httpService.delete(\"announcements/\" + uuId);\n }\n\n addRecipients(announcementUUId: string, userUUIds: string[]): Observable {\n return this.httpService.put(\"announcements/addRecipients\", { announcementUUId: announcementUUId, recipientUUIds: userUUIds });\n }\n\n removeRecipient(announcementUUId: string, userUUId: string): Observable {\n return this.httpService.put(\"announcements/RemoveRecipient\", { announcementUUId: announcementUUId, recipientUUId: userUUId });\n }\n\n pinAnnouncement(model: { AnnouncementUUId: string }): Observable {\n return this.httpService.post(\"announcements/Pin\", model);\n }\n\n unpinAnnouncement(model: { AnnouncementUUId: string }): Observable {\n return this.httpService.post(\"announcements/unpin\", model);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { AppSetting } from 'src/app/backend/app-setting';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { LoginRequest } from 'src/app/models/auths/login-request';\nimport { LoginResponse } from 'src/app/models/auths/login-response';\nimport { ChangeUsernameAndPasswordModel } from 'src/app/models/profiles/change-username-password-model';\nimport { CreateUserModel } from 'src/app/models/profiles/create-user-model';\nimport { CreateUserForm } from 'src/app/modules/user/forms/create-user-form';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthenticationService {\n\n form: CreateUserForm = new CreateUserForm();\n\n constructor(\n private httpService: HttpService) { }\n\n public register(model: CreateUserModel): Observable {\n return this.httpService.post(\"auth/register\", model)\n .pipe(map(value => value.result));\n }\n\n public signIn(body: LoginRequest): Observable {\n return this.httpService.post(\"auth/portal_login\", body)\n .pipe(\n map(value => value.result),\n tap(value => this.storageTokenOnSuccess(value.role, value.token))\n );\n }\n\n public signOut(): void {\n localStorage.removeItem(AppSetting.tokenKey);\n localStorage.removeItem(AppSetting.roleKey);\n }\n\n public changeUsernameAndPassword(model: ChangeUsernameAndPasswordModel) {\n return this.httpService.post(\"auth/edit_login\", model);\n }\n\n public forcedSignOut(uuId: string): Observable {\n return this.httpService.post(\"auth/force_logout\", { uuid: uuId });\n }\n\n private storageTokenOnSuccess(role: string, token: string): void {\n localStorage.setItem(AppSetting.tokenKey, token);\n localStorage.setItem(AppSetting.roleKey, role);\n }\n\n public isAuthenticated(): boolean {\n return localStorage.getItem(AppSetting.tokenKey) != null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CellGroup, ICellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { CreateCellGroupModel } from 'src/app/models/cell-groups/create-cell-group-model';\nimport { UpdateCellGroupModel } from 'src/app/models/cell-groups/update-cell-group-model';\nimport { Center, ICenter } from 'src/app/models/centers/center';\nimport { CellGroupMemberProfile } from 'src/app/models/profiles/cell-group-member-profile';\nimport { IProfile } from 'src/app/models/profiles/profile';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CellGroupService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n\n public getCellGroupList(): Observable {\n return this.httpService.get(\"CellGroup\")\n .pipe(map(value => value.result.map(cellGroup => new CellGroup(cellGroup)).sort(CellGroupSorting)));\n }\n\n public getCenterCellGroupList(): Observable {\n return this.httpService.get(\"CellGroup/CellGroupDetail\")\n .pipe(map(value => value.result.map(center => new Center(center))));\n }\n\n public getCellGroupMemberList(cellGroupUUId: string | undefined): Observable {\n return this.httpService.get(\"CellGroup/\" + cellGroupUUId)\n .pipe(map(value => value.result.map(profile => new CellGroupMemberProfile(profile))));\n }\n\n public createCellGroup(model: CreateCellGroupModel): Observable<{ uuid: string }> {\n return this.httpService.post<{ uuid: string }, CreateCellGroupModel>(\"CellGroup\", model)\n .pipe(map(value => value.result));\n }\n\n public updateCellGroup(model: UpdateCellGroupModel): Observable {\n return this.httpService.put(\"CellGroup\", model);\n }\n\n public addCellGroupLeader(cellGroupUUId: string | undefined, userUUIds: string[]): Observable {\n return this.httpService.post(\"CellGroup/AddLeader\", { CellGroupUUId: cellGroupUUId, UserUUIds: userUUIds });\n }\n\n public removeCellGroupLeader(cellGroupUUId: string | undefined, userUUIds: string[]): Observable {\n return this.httpService.post(\"CellGroup/RemoveLeader\", { CellGroupUUId: cellGroupUUId, UserUUIds: userUUIds });\n }\n\n public addMembersToCellGroup(cellGroupUUId: string, userUUIds: string[]): Observable {\n return this.httpService.post(\"CellGroup/AddCellGroupMembers\", { UUId: cellGroupUUId, UserUUIds: userUUIds });\n }\n\n public removeMembersFromCellGroup(cellGroupUUId: string, userUUIds: string[]): Observable {\n return this.httpService.post(\"CellGroup/RemoveCellGroupMembers\", { UUId: cellGroupUUId, UserUUIds: userUUIds });\n }\n}\n\nfunction CellGroupSorting(a: CellGroup, b: CellGroup) {\n return a.name.localeCompare(b.name, 'en', { numeric: true })\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay, tap } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { Center, CenterLink, ICenter, ICenterLink } from 'src/app/models/centers/center';\nimport { CreateCenterModel } from 'src/app/models/centers/create-center-model';\nimport { UpdateCenterModel } from 'src/app/models/centers/update-center-model';\nimport { UpdateCenterLinkModel } from 'src/app/models/centers/update-center-link-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CenterService {\n\n centerCreatedEvent: EventEmitter = new EventEmitter();\n centerUpdatedEvent: EventEmitter = new EventEmitter();\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getCenters(): Observable {\n return this.httpService.get(\"center\")\n .pipe(map(value => value.result.map(center => new Center(center)).sort(centerSorting)))\n }\n\n getRedeemCenters(): Observable {\n return this.httpService.get(\"redeem/admin/centers\")\n .pipe(map(value => value.result.map(center => new Center(center)).sort(centerSorting)))\n }\n\n public createCenter(model: CreateCenterModel): Observable {\n return this.httpService.post(\"center\", model)\n .pipe(tap(() => this.centerCreatedEvent.emit()));\n }\n\n public updateCenter(model: UpdateCenterModel): Observable {\n return this.httpService.put(\"center\", model)\n .pipe(tap(() => this.centerUpdatedEvent.emit()));\n }\n\n setRedeemCenters(centers: string[]): Observable {\n return this.httpService.post(\"redeem/admin/centers\", { CenterUUIds: centers });\n }\n\n public centerLinkVolunteer(): Observable {\n return this.httpService.get(\"center/CenterVolunteer\")\n .pipe(map(value => value.result.map(centerLink => new CenterLink(centerLink.center,centerLink.canFindCenters))))\n }\n public setCenterLinkVolunteer(model:UpdateCenterLinkModel): Observable {\n return this.httpService.put(\"center/CenterVolunteer\", model);\n }\n}\n\nfunction centerSorting(a: Center, b: Center): number {\n return a.centerCode.localeCompare(b.centerCode, 'en', { numeric: true })\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { ConditionConflict } from 'src/app/models/condition-conflicts/condition-conflict';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConditionConflictService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getConditionConflictList(): Observable {\n return this.httpService.get(\"Settings/conflict\")\n .pipe(map(value => value.result));\n }\n\n public createConditionConflict(model: ConditionConflict[]): Observable {\n return this.httpService.post(\"Settings/conflict\", { list: model });\n }\n\n public deleteConditionConflict(model: ConditionConflict[]): Observable {\n return this.httpService.put(\"Settings/conflict\", { list: model });\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateCenterDonationModel } from 'src/app/models/donations/create-center-donation-model';\nimport { CreateUserDonationModel } from 'src/app/models/donations/create-user-donation-model';\nimport { DonationImportModel } from 'src/app/models/imports/donation-import-model';\nimport { Transaction, ITransaction } from 'src/app/models/transactions/transaction';\nimport { CreateCenterDonationForm } from 'src/app/modules/donation/forms/create-center-donation-form';\nimport { CreateUserDonationForm } from 'src/app/modules/donation/forms/create-user-donation-form';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DonationService {\n\n createUserDonationForm: CreateUserDonationForm = new CreateUserDonationForm();\n createCenterDonationForm: CreateCenterDonationForm = new CreateCenterDonationForm();\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getDonationList(): Observable {\n return this.httpService.get(\"donations\").\n pipe(map(value => value.result.map(transaction => new Transaction(transaction)).sort(TransactionSorting)));\n }\n\n public donateToCenter(model: CreateUserDonationModel): Observable {\n return this.httpService.post(\"donations/DonationCenter\", model);\n }\n\n public donateToUsers(model: CreateCenterDonationModel): Observable {\n return this.httpService.post(\"donations/DonationUsers\", model);\n }\n\n public importDonation(model: DonationImportModel): Observable {\n return this.httpService.post(\"donations/Import\", model);\n }\n}\n\n\nfunction TransactionSorting(a: Transaction, b: Transaction): number {\n return a.id > b.id ? -1 : a.id < b.id ? 1 : 0;\n}","import { Injectable, EventEmitter } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorHandleService {\n\n errorSignal: EventEmitter = new EventEmitter();\n\n constructor() { }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateEventTypeModel } from 'src/app/models/event-types/create-event-type-model';\nimport { EventType, IEventType } from 'src/app/models/event-types/event-type';\nimport { UpdateEventTypeModel } from 'src/app/models/event-types/update-event-type-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventTypeService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n\n public getEventTypeList(): Observable {\n return this.httpService.get(\"eventtypes\")\n .pipe(map(value => value.result.map(eventType => new EventType(eventType)).sort(EventTypeSorting)));\n }\n\n public createEventType(model: CreateEventTypeModel): Observable {\n return this.httpService.post(\"eventtypes\", model);\n }\n\n public updateEventType(model: UpdateEventTypeModel): Observable {\n return this.httpService.put(\"eventtypes/\" + model.uuId, model);\n }\n}\n\nfunction EventTypeSorting(a: EventType, b: EventType): number {\n return a.code.localeCompare(b.code, 'en', { numeric: true })\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { Room } from 'src/app/models/addresses/room';\nimport { CreateEventModel } from 'src/app/models/events/create-event-model';\nimport { CreateEventTransactionModel } from 'src/app/models/events/create-event-transaction-model';\nimport { IEvent, Event } from 'src/app/models/events/event';\nimport { EventListItem, IEventListItem } from 'src/app/models/events/event-list-item';\nimport { UpdateEventDayModel } from 'src/app/models/events/update-event-day-model';\nimport { UpdateEventModel } from 'src/app/models/events/update-event-model';\nimport { EventImportModel } from 'src/app/models/imports/event-import-model';\nimport { CreateEventForm } from 'src/app/modules/event/forms/create-event-form';\nimport { CreateEventRecordForm } from 'src/app/modules/event/forms/create-event-record-form';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventService {\n\n form: CreateEventForm = new CreateEventForm();\n eventRecordForm: CreateEventRecordForm = new CreateEventRecordForm();\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getEvents(queryString: string): Observable<{ list: EventListItem[], count: number }> {\n return this.httpService.get<{ list: IEventListItem[], count: number }>(\"events\" + queryString)\n .pipe(map(value => {\n return {\n list: value.result.list.map(e => new EventListItem(e)),\n count: value.result.count\n }\n }));\n }\n\n public getEventByUUId(uuId: string): Observable {\n return this.httpService.get(\"events/\" + uuId)\n .pipe(map(value => new Event(value.result)));\n }\n\n public createEvent(model: CreateEventModel): Observable {\n return this.httpService.post(\"events\", model);\n }\n\n public updateEvent(eventUUId: string, model: UpdateEventModel): Observable {\n return this.httpService.put(\"events/\" + eventUUId, model);\n }\n\n /** Delete Events */\n public deleteEvents(model: string[]): Observable {\n return this.httpService.put(\"events/delete\", { list: model });\n }\n\n public terminate(eventUUId: string, model: { CancelEventReason: string }): Observable {\n return this.httpService.post(\"events/\" + eventUUId + \"/Cancel\", model);\n }\n\n public complete(eventUUId: string): Observable {\n return this.httpService.post(\"events/\" + eventUUId + \"/Complete\", null);\n }\n\n public addParticipantsFromExistingEvent(eventUUId: string, model: { users: string[], role: string }): Observable {\n return this.httpService.post(\"events/\" + eventUUId + \"/addParticipants\", model);\n }\n\n public removeParticipants(eventUUId: string, model: { userList: string[], role: string }): Observable {\n return this.httpService.put(\"events/\" + eventUUId + \"/removeParticipants\", model);\n }\n\n public acceptInvitation(eventUUId: string, model: { list: string[] }): Observable {\n return this.httpService.post(\"events/\" + eventUUId + \"/interestStaff\", model);\n }\n\n public joinEvent(eventUUId: string, model: { list: string[] }): Observable {\n return this.httpService.post(\"events/\" + eventUUId + \"/applyStaff\", model);\n }\n\n public unselect(eventUUId: string, model: { list: string[] }): Observable {\n return this.httpService.post(\"events/\" + eventUUId + \"/unselectStaff\", model);\n }\n\n public absent(eventUUId: string, model: { list: string[] }): Observable {\n return this.httpService.post(\"events/\" + eventUUId + \"/AbsentStaff\", model);\n }\n\n public createEventTransaction(eventUUId: string, model: CreateEventTransactionModel): Observable<{ userUUId: string, transactionUUId: string }[]> {\n return this.httpService.post<{ userUUId: string, transactionUUId: string }[], CreateEventTransactionModel>(\"events/\" + eventUUId + \"/transactions\", model)\n .pipe(map(value => value.result));\n }\n\n /** Restore the list of deleted events */\n public restoreEvents(model: { list: string[] }): Observable {\n return this.httpService.put(\"events/restore\", model);\n }\n\n /** Delete Event Permanently */\n public deleteEventsPermanently(model: { list: string[] }): Observable {\n return this.httpService.put(\"events/deletePermanently\", model);\n }\n\n public importEvent(model: EventImportModel): Observable {\n return this.httpService.post(\"events/import\", model);\n }\n\n public SetAttendance(model:UpdateEventDayModel): Observable {\n return this.httpService.put(\"events/EditEventAttendance\", model);\n }\n\n public getNAAddress():Observable{\n return this.httpService.get(\"addresses/GetNA\").pipe(\n map(value => value.result)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Workbook, Worksheet } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { Observable } from 'rxjs';\nimport { AppSetting } from 'src/app/backend/app-setting';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { ServiceRatio } from 'src/app/models/analytics/service-ratio';\nimport { TransactionChartData } from 'src/app/models/analytics/transaction-chart-data';\nimport { Event } from 'src/app/models/events/event';\nimport { DonationExportModel } from 'src/app/models/exports/donation-export-model';\nimport { EventExportModel } from 'src/app/models/exports/event-export-model';\nimport { ProductExportModel } from 'src/app/models/exports/product-export-model';\nimport { RequestExportModel } from 'src/app/models/exports/request-export-model';\nimport { TransactionExportModel } from 'src/app/models/exports/transaction-export-model';\nimport { UserExportModel } from 'src/app/models/exports/user-export-model';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { Product } from 'src/app/models/redeems/product';\nimport { Redeem } from 'src/app/models/redeems/redeem';\nimport { RedeemHistory } from 'src/app/models/redeems/redeem-history';\nimport { UserTransaction } from 'src/app/models/transactions/user-transaction';\nimport * as dayjs from 'dayjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n constructor(\n private httpService: HttpService\n ) { }\n async exportInactiveUser(users:Profile[],dataType: string,startDate?:Date,endDate?:Date){\n let builder: ReportBuilder = new ReportBuilder(\"Inactive User Export\");\n builder.setCellValue(\"A1\", \"不活躍會員\");\n builder.setWidth(\"B\",20);\n builder.setWidth(\"D\",20);\n\n builder.sheet.mergeCells('A1:D1');\n builder.setHeight(1,38);\n builder.setCellMiddle(\"A1\");\n builder.setBorder(\"A1\");\n\n builder.setHeight(2,38);\n builder.setCellValue('A2', \"種類\");\n builder.setBorder('A2');\n builder.setCellMiddle(\"A2\");\n builder.setBackgroundColor('A2', 'FCF2D1');\n\n builder.setCellValue('B2',(dataType==\"Request\"?\"義工服務\":\"中心活動\"));\n builder.setBorder('B2');\n builder.setCellMiddle(\"B2\");\n builder.sheet.mergeCells('B2:D2');\n\n var nowDate=new Date();\n var offset = nowDate.getTimezoneOffset();\n nowDate = new Date(nowDate.getTime() - (offset*60*1000));\n if(!startDate||!endDate){\n endDate=new Date();\n startDate=new Date(nowDate.setMonth(nowDate.getMonth()-6)); // TODO: this is broken\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n }else{\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n endDate.setTime(endDate.getTime() - (offset*60*1000))\n }\n\n\n builder.setHeight(3,38);\n builder.setCellValue('A3', \"初始日期\");\n builder.setBorder('A3');\n builder.setCellMiddle(\"A3\");\n builder.setBackgroundColor('A3', 'FCF2D1');\n\n\n builder.sheet.getCell(`B3`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`B3`).value=startDate;\n builder.setBorder('B3');\n builder.setCellMiddle(\"B3\");\n\n builder.setCellValue('C3', \"結束日期\");\n builder.setBorder('C3');\n builder.setBackgroundColor('C3', 'FCF2D1');\n builder.setCellMiddle(\"C3\");\n\n builder.sheet.getCell(`D3`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`D3`).value=endDate;\n builder.setBorder('D3');\n builder.setCellMiddle(\"D3\");\n\n builder.setHeight(4,26);\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'F4B084');\n builder.setCellValue('A4', \"會員編號\");\n\n\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'F4B084');\n builder.setCellValue('B4', \"中文姓名\");\n\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'F4B084');\n builder.setCellValue('C4', \"性別\");\n\n builder.setBorder('D4');\n builder.setBackgroundColor('D4', 'F4B084');\n builder.setCellValue('D4', \"中心代碼\");\n builder.setBorder('E4');\n builder.setBackgroundColor('E4', 'F4B084');\n builder.setCellValue('E4', \"電話\");\n builder.setBorder('F4');\n builder.setBackgroundColor('F4', 'F4B084');\n builder.setCellValue('F4', \"時分\");\n\n var index=5;\n\n users.forEach((user,key)=>{\n builder.setBorder(`A${index}`);\n builder.setCellValue(`A${index}`, user.memberId+\"\");\n\n\n builder.setBorder(`B${index}`);\n builder.sheet.getCell(`B${index}`).value=user.chineseName;\n\n builder.setBorder(`C${index}`);\n builder.sheet.getCell(`C${index}`).value=user.gender==\"M\"?\"男\":\"女\";\n\n\n builder.setBorder(`D${index}`);\n builder.sheet.getCell(`D${index}`).value= user.center.centerCode ;\n builder.setBorder(`E${index}`);\n builder.sheet.getCell(`E${index}`).value= user.phone ;\n builder.setBorder(`F${index}`);\n builder.sheet.getCell(`F${index}`).numFmt = '0'\n builder.sheet.getCell(`F${index}`).value= user.timeBalance ;\n\n index++;\n })\n\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Inactive_User_Data_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n async exportCellGroupData(list:{ cellGourpName: string, NumOfTime: number|undefined , NumOfPoeper: number|undefined}[],dataType: string,StateType: string,startDate?:Date,endDate?:Date,serivceType?:string|undefined){\n let builder: ReportBuilder = new ReportBuilder(\"Service Ratio Export\");\n\n builder.setCellValue(\"A1\", \"細胞小組分析\");\n builder.setWidth(\"B\",20);\n builder.setWidth(\"D\",20);\n\n builder.sheet.mergeCells('A1:D1');\n builder.setHeight(1,38);\n builder.setCellMiddle(\"A1\");\n builder.setBorder(\"A1\");\n\n builder.setHeight(2,38);\n builder.setCellValue('A2', \"種類\");\n builder.setBorder('A2');\n builder.setCellMiddle(\"A2\");\n builder.setBackgroundColor('A2', 'FCF2D1');\n var substring=\"\";\n if(dataType==\"Request\"){\n substring+=\"-\";\n switch(StateType){\n case \"All\":substring+=\"全部\";break;\n case \"Requester\":substring+=\"找幫手\";break;\n case \"Volunteer\":substring+=\"幫他人\";break;\n }\n }\n builder.setCellValue('B2',(dataType==\"Request\"?\"義工服務\":\"中心活動\")+substring);\n builder.setBorder('B2');\n builder.setCellMiddle(\"B2\");\n\n builder.setCellValue('C2', dataType==\"Request\"?\"服務種類\":\"活動種類\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'FCF2D1');\n builder.setCellMiddle(\"C2\");\n\n builder.setCellValue('D2',serivceType==\"\"||typeof serivceType==\"undefined\"||serivceType==null?\"全部\":serivceType);\n builder.setBorder('D2');\n builder.setCellMiddle(\"D2\");\n\n var nowDate=new Date();\n var offset = nowDate.getTimezoneOffset();\n nowDate = new Date(nowDate.getTime() - (offset*60*1000));\n if(!startDate||!endDate){\n endDate=nowDate;\n startDate=new Date(nowDate.getFullYear(),0,1);\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n }else{\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n endDate.setTime(endDate.getTime() - (offset*60*1000))\n }\n\n\n\n builder.setHeight(3,38);\n builder.setCellValue('A3', \"初始日期\");\n builder.setBorder('A3');\n builder.setCellMiddle(\"A3\");\n builder.setBackgroundColor('A3', 'FCF2D1');\n\n\n builder.sheet.getCell(`B3`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`B3`).value=startDate;\n builder.setBorder('B3');\n builder.setCellMiddle(\"B3\");\n\n builder.setCellValue('C3', \"結束日期\");\n builder.setBorder('C3');\n builder.setBackgroundColor('C3', 'FCF2D1');\n builder.setCellMiddle(\"C3\");\n\n builder.sheet.getCell(`D3`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`D3`).value=endDate;\n builder.setBorder('D3');\n builder.setCellMiddle(\"D3\");\n\n\n builder.setHeight(4,38);\n if(dataType=='Request'&&StateType=='All')\n builder.setCellValue('A4', \"總申請量\");\n else if(dataType=='Request'&&StateType=='Done')\n builder.setCellValue('A4', \"總完成量\");\n else if(dataType=='Event')\n builder.setCellValue('A4', \"總數量\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'FCF2D1');\n builder.setCellMiddle(\"A4\");\n var num=0\n list.forEach(item=>num+=typeof item.NumOfTime==\"undefined\"?0:item.NumOfTime);\n\n builder.setCellValue('B4',num+\"\");\n builder.setBorder('B4');\n\n builder.sheet.mergeCells('B4:D4');\n builder.setBorder('B4');\n builder.setCellMiddle(\"B4\");\n\n builder.setHeight(5,26);\n builder.setBorder('A5');\n builder.setBackgroundColor('A5', 'F4B084');\n builder.setCellValue('A5', \"細胞小組\");\n\n builder.sheet.mergeCells('A5:B5');\n\n\n builder.setBorder('C5');\n builder.setBackgroundColor('C5', 'F4B084');\n if(dataType=='Request'&&StateType=='All')\n builder.setCellValue('C5', \"服務次數\");\n else if(dataType=='Event')\n builder.setCellValue('C5', \"參與次數\");\n\n builder.setBorder('D5');\n builder.setBackgroundColor('D5', 'F4B084');\n builder.setCellValue('D5', \"人數\");\n\n var index=6;\n\n list.forEach((item,key)=>{\n builder.setBorder(`A${index}`);\n builder.setCellValue(`A${index}`, item.cellGourpName+\"\");\n\n builder.sheet.mergeCells(`A${index}:B${index}`);\n\n\n builder.setBorder(`C${index}`);\n builder.sheet.getCell(`C${index}`).numFmt = '0'\n builder.sheet.getCell(`C${index}`).value=item.NumOfTime;\n\n\n builder.setBorder(`D${index}`);\n builder.sheet.getCell(`D${index}`).numFmt = '0'\n builder.sheet.getCell(`D${index}`).value=item.NumOfPoeper;\n\n index++;\n })\n\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Cell_Group_Data_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n\n async exportServiceRatioData(t:ServiceRatio,dataType:String,StateType:String,cellGroupName: string,startDate?:Date,endDate?:Date):Promise{\n let builder: ReportBuilder = new ReportBuilder(\"Service Ratio Export\");\n\n builder.setCellValue(\"A1\", \"活動類別分析\");\n\n builder.setWidth(\"B\",20);\n builder.setWidth(\"D\",20);\n\n builder.sheet.mergeCells('A1:D1');\n builder.setHeight(1,38);\n builder.setCellMiddle(\"A1\");\n builder.setBorder(\"A1\");\n\n builder.setHeight(2,38);\n builder.setCellValue('A2', \"種類\");\n builder.setBorder('A2');\n builder.setCellMiddle(\"A2\");\n builder.setBackgroundColor('A2', 'FCF2D1');\n\n builder.setCellValue('B2',(dataType==\"Request\"?\"義工服務\":\"中心活動\")+\"-\"+(StateType==\"All\"?\"全部\":\"已完成\"));\n builder.setBorder('B2');\n builder.setCellMiddle(\"B2\");\n\n builder.setCellValue('C2', \"細胞小組\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'FCF2D1');\n builder.setCellMiddle(\"C2\");\n\n builder.setCellValue('D2',cellGroupName==\"\"?\"全部\":cellGroupName);\n builder.setBorder('D2');\n builder.setCellMiddle(\"D2\");\n\n var nowDate=new Date();\n var offset = nowDate.getTimezoneOffset();\n nowDate = new Date(nowDate.getTime() - (offset*60*1000));\n if(!startDate||!endDate){\n endDate=nowDate;\n startDate=new Date(nowDate.getFullYear(),0,1);\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n }else{\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n endDate.setTime(endDate.getTime() - (offset*60*1000))\n }\n\n\n\n builder.setHeight(3,38);\n builder.setCellValue('A3', \"初始日期\");\n builder.setBorder('A3');\n builder.setCellMiddle(\"A3\");\n builder.setBackgroundColor('A3', 'FCF2D1');\n\n\n builder.sheet.getCell(`B3`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`B3`).value=startDate;\n builder.setBorder('B3');\n builder.setCellMiddle(\"B3\");\n\n builder.setCellValue('C3', \"結束日期\");\n builder.setBorder('C3');\n builder.setBackgroundColor('C3', 'FCF2D1');\n builder.setCellMiddle(\"C3\");\n\n builder.sheet.getCell(`D3`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`D3`).value=endDate;\n builder.setBorder('D3');\n builder.setCellMiddle(\"D3\");\n\n\n builder.setHeight(4,38);\n if(dataType=='Request'&&StateType=='All')\n builder.setCellValue('A4', \"總申請量\");\n else if(dataType=='Request'&&StateType=='Done')\n builder.setCellValue('A4', \"總完成量\");\n else if(dataType=='Event')\n builder.setCellValue('A4', \"總數量\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'FCF2D1');\n builder.setCellMiddle(\"A4\");\n\n var list1:{\n index: string;\n value: number;\n }[],list2:{\n index: string;\n value: number;\n }[];\n var num=0;\n if(StateType=='All'){\n list1=t.all;\n list2=t.allUser\n }else{\n list1=t.finished;\n list2=t.finishedUser\n }\n\n list1.forEach(item=>num+=item.value);\n\n builder.setCellValue('B4',num+\"\");\n builder.setBorder('B4');\n\n builder.sheet.mergeCells('B4:D4');\n builder.setBorder('B4');\n builder.setCellMiddle(\"B4\");\n\n var title=\"類別\";\n builder.setHeight(4,26);\n builder.setBorder('A5');\n builder.setBackgroundColor('A5', 'F4B084');\n builder.setCellValue('A5', title);\n\n\n builder.setBorder('B5');\n builder.setBackgroundColor('B5', 'F4B084');\n builder.setCellValue('B5', \"佔比\");\n\n builder.setBorder('C5');\n builder.setBackgroundColor('C5', 'F4B084');\n if(dataType=='Request'&&StateType=='All')\n builder.setCellValue('C5', \"申請次數\");\n else if(dataType=='Request'&&StateType=='Done')\n builder.setCellValue('C5', \"完成次數\");\n else if(dataType=='Event')\n builder.setCellValue('C5', \"數量\");\n\n builder.setBorder('D5');\n builder.setBackgroundColor('D5', 'F4B084');\n if(dataType=='Request')\n builder.setCellValue('D5', \"義工人數\");\n else if(dataType=='Event'&&StateType=='All')\n builder.setCellValue('D5', \"確認人數\");\n else if(dataType=='Event'&&StateType=='Done')\n builder.setCellValue('D5', \"出席人數\");\n\n\n var index=6;\n\n list1.forEach((item,key)=>{\n builder.setBorder(`A${index}`);\n builder.setCellValue(`A${index}`, item.index+\"\");\n builder.setBorder(`B${index}`);\n builder.sheet.getCell(`B${index}`).numFmt = '0.00%'\n builder.sheet.getCell(`B${index}`).value=item.value/num;\n\n builder.setBorder(`C${index}`);\n builder.sheet.getCell(`C${index}`).numFmt = '0'\n builder.sheet.getCell(`C${index}`).value=item.value;\n\n\n builder.setBorder(`D${index}`);\n builder.sheet.getCell(`D${index}`).numFmt = '0'\n builder.sheet.getCell(`D${index}`).value=list2.find(i=>i.index==item.index)?.value;\n\n index++;\n })\n\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Service_Ratio_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n async exportTransactionChartData(t:TransactionChartData|null,dataType: string,startDate?:Date,endDate?:Date):Promise{\n let builder: ReportBuilder = new ReportBuilder(\"Transaction Chart Export\");\n\n builder.setCellValue(\"A1\", \"時分交易趨勢報告\");\n\n builder.setWidth(\"B\",20);\n builder.setWidth(\"D\",20);\n\n builder.sheet.mergeCells('A1:D1');\n builder.setHeight(1,38);\n builder.setCellMiddle(\"A1\");\n builder.setBorder(\"A1\");\n\n builder.setCellValue('A2', \"初始日期\");\n builder.setBorder('A2');\n builder.setCellMiddle(\"A2\");\n builder.setBackgroundColor('A2', 'FCF2D1');\n\n\n var nowDate=new Date();\n var offset = nowDate.getTimezoneOffset();\n nowDate = new Date(nowDate.getTime() - (offset*60*1000));\n if(!startDate||!endDate){\n endDate=nowDate;\n startDate=new Date(nowDate.getFullYear(),0,1);\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n }else{\n startDate.setTime(startDate.getTime() - (offset*60*1000))\n endDate.setTime(endDate.getTime() - (offset*60*1000))\n }\n\n builder.setHeight(2,38);\n\n builder.sheet.getCell(`B2`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`B2`).value=startDate;\n builder.setBorder('B2');\n builder.setCellMiddle(\"B2\");\n\n builder.setCellValue('C2', \"結束日期\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'FCF2D1');\n builder.setCellMiddle(\"C2\");\n\n builder.sheet.getCell(`D2`).numFmt=\"YYYY-mm-dd\"\n builder.sheet.getCell(`D2`).value=endDate;\n builder.setBorder('D2');\n builder.setCellMiddle(\"D2\");\n\n\n builder.setHeight(3,38);\n builder.setCellValue('A3', \"總時分\");\n builder.setBorder('A3');\n builder.setBackgroundColor('A3', 'FCF2D1');\n builder.setCellMiddle(\"A3\");\n\n var num=0;\n if(t!=null){\n num=t.amount.reduce((accumulator, currentValue) => accumulator+ currentValue.value,num);\n }\n builder.setCellValue('B3',num+\"\");\n builder.setBorder('B3');\n\n builder.sheet.mergeCells('B3:D3');\n builder.setBorder('B3');\n builder.setCellMiddle(\"B3\");\n\n var title=\"\";\n switch(dataType){\n case \"Daily\":title=\"每日\";break;\n case \"Weekly\":title=\"每週\";break;\n case \"Monthly\":title=\"每月\";break;\n case \"Annually\":title=\"全年\";break;\n default:title=\"日期\";break;\n }\n builder.setHeight(4,26);\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'F4B084');\n builder.setCellValue('A4', title);\n\n\n builder.sheet.mergeCells('B4:D4');\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'F4B084');\n builder.setCellValue('B4', \"時分\");\n var index=5;\n t?.amount.forEach((item,key)=>{\n builder.setBorder(`A${index}`);\n builder.setCellValue(`A${index}`, item.index+\"\");\n\n\n builder.sheet.mergeCells(`B${index}:D${index}`);\n builder.setBorder(`B${index}`);\n builder.setCellValue(`B${index}`, item.value+\"\");\n\n index++;\n })\n\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Transaction_Chart_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n\n async exportUsers(users: UserExportModel[], reportName: string): Promise {\n let builder: ReportBuilder = new ReportBuilder(reportName + \" Export\");\n\n users = users.sort(ExportUserSorting);\n\n let columns = [\n { header: '會員編號*', key: '會員編號*', width: 14 },\n { header: '會員中文姓名*', key: '會員中文姓名*', width: 14 },\n { header: '會員英文姓名*', key: '會員英文姓名*', width: 17 },\n { header: '性別*', key: '性別*', width: 9 },\n { header: '中心編號*(須和後台設置中的中心編號一致)', key: '中心編號*(須和後台設置中的中心編號一致)', width: 24 },\n { header: '出生日期*(YYYY-MM-DD)', key: '出生日期*(YYYY-MM-DD)', width: 24 },\n { header: '電話號碼*', key: '電話號碼*', width: 13 },\n { header: '登入帳號*', key: '登入帳號*', width: 15 },\n { header: '會員密碼*', key: '會員密碼*', width: 9 },\n { header: '網卡配備*(是否有數據可上網)', key: '網卡配備*(是否有數據可上網)', width: 28 },\n { header: '讀寫能力*', key: '讀寫能力*', width: 20 },\n { header: '教育程度*', key: '教育程度*', width: 12 },\n { header: '住址(地區)*', key: '住址(地區)*', width: 17 },\n { header: '住址(分區)*', key: '住址(分區)*', width: 22 },\n { header: '住址(區)', key: '住址(區)', width: 9 },\n { header: '住址(街道)', key: '住址(街道)', width: 15 },\n { header: '住址(街號)', key: '住址(街號)', width: 12 },\n { header: '屋苑/屋邨', key: '屋苑/屋邨', width: 13 },\n { header: '住址(大廈/期/座)', key: '住址(大廈/期/座)', width: 21 },\n { header: '樓層', key: '樓層', width: 9 },\n { header: '單位', key: '單位', width: 9 },\n { header: '居住條件(須和後台設置中的資料一致)', key: '居住條件(須和後台設置中的資料一致)', width: 30 },\n { header: '身體狀況(須和後台設置中的資料一致)', key: '身體狀況(須和後台設置中的資料一致)', width: 24 },\n { header: '緊急聯絡人名稱', key: '緊急聯絡人名稱', width: 16 },\n { header: '緊急聯絡人電話', key: '緊急聯絡人電話', width: 16 },\n { header: '可提供服務(義工可填,用逗號隔開,字眼須和後台設置中的可提供服務細項一致)', key: '可提供服務(義工可填,用逗號隔開,字眼須和後台設置中的可提供服務細項一致)', width: 28 },\n { header: '細胞小組(填寫組名即可,可屬於多個細胞小組並用逗號隔開,字眼和後台設置一致,義工配對推薦時會優先推薦同組成員)', key: '細胞小組(填寫組名即可,可屬於多個細胞小組並用逗號隔開,字眼和後台設置一致,義工配對推薦時會優先推薦同組成員)', width: 39 },\n { header: '電話型號', key: '電話型號', width: 14 },\n { header: '智能電話?(是否可安裝使用app)', key: '智能電話?(是否可安裝使用app)', width: 39 },\n { header: '時分餘額(唯讀)', key: '時分餘額(唯讀)', width: 20 },\n { header: '備註', key: '備註', width: 20 }\n ];\n\n builder.setColumns(columns);\n\n builder.setCellValue(\"A1\", \"注意事項1:會員編號不可和已有的會員編號重複,系統會根據會員編號識別會員。\");\n builder.sheet.mergeCells('A1:AD1');\n\n builder.setCellValue(\"A2\", \"注意事項2:登入帳號不可和已有的登入帳號重複\");\n builder.sheet.mergeCells('A2:AD2');\n\n builder.setCellValue(\"A3\", \"注意事項3: 第一次使用時請先登入Portal——後台設置檢查/新增中心和設置各種資料。中心編號須和Portal後台設置——機構設置中已有中心編號一致,填寫編號即可。另,居住條件、身體狀況和可提供服務亦須和後台設置——資料設置字眼一致。\");\n builder.sheet.mergeCells('A3:AD3');\n\n builder.setCellValue(\"A4\", \"注意事項4:如果會員是義工身分可進行一對多的義工服務,請填寫可提供服務欄,並在Portal的用戶檔案中完善空閒時間(會員可在app中設置),才可在義工推薦時搜尋到該會員。\");\n builder.sheet.mergeCells('A4:AD4');\n\n builder.sheet.addRow(\"\");\n\n builder.sheet.getRow(6).values = columns.map(column => column.key);\n\n builder.setBorder('A6');\n builder.setBackgroundColor('A6', 'FDE9D9');\n builder.setBorder('B6');\n builder.setBackgroundColor('B6', 'FDE9D9');\n builder.setBorder('C6');\n builder.setBackgroundColor('C6', 'FDE9D9');\n builder.setBorder('D6');\n builder.setBackgroundColor('D6', 'FDE9D9');\n builder.setBorder('E6');\n builder.setBackgroundColor('E6', 'FDE9D9');\n builder.setBorder('F6');\n builder.setBackgroundColor('F6', 'FDE9D9');\n builder.setBorder('G6');\n builder.setBackgroundColor('G6', 'FDE9D9');\n builder.setBorder('H6');\n builder.setBackgroundColor('H6', 'FDE9D9');\n builder.setBorder('I6');\n builder.setBackgroundColor('I6', 'FDE9D9');\n builder.setBorder('J6');\n builder.setBackgroundColor('J6', 'FDE9D9');\n builder.setBorder('K6');\n builder.setBackgroundColor('K6', 'FDE9D9');\n builder.setBorder('L6');\n builder.setBackgroundColor('L6', 'FDE9D9');\n builder.setBorder('M6');\n builder.setBackgroundColor('M6', 'FDE9D9');\n builder.setBorder('N6');\n builder.setBackgroundColor('N6', 'FDE9D9');\n builder.setBorder('O6');\n builder.setBackgroundColor('O6', 'EBF1DE');\n builder.setBorder('P6');\n builder.setBackgroundColor('P6', 'EBF1DE');\n builder.setBorder('Q6');\n builder.setBackgroundColor('Q6', 'EBF1DE');\n builder.setBorder('R6');\n builder.setBackgroundColor('R6', 'EBF1DE');\n builder.setBorder('S6');\n builder.setBackgroundColor('S6', 'EBF1DE');\n builder.setBorder('T6');\n builder.setBackgroundColor('T6', 'EBF1DE');\n builder.setBorder('U6');\n builder.setBackgroundColor('U6', 'EBF1DE');\n builder.setBorder('V6');\n builder.setBackgroundColor('V6', 'EBF1DE');\n builder.setBorder('W6');\n builder.setBackgroundColor('W6', 'EBF1DE');\n builder.setBorder('X6');\n builder.setBackgroundColor('X6', 'EBF1DE');\n builder.setBorder('Y6');\n builder.setBackgroundColor('Y6', 'EBF1DE');\n builder.setBorder('Z6');\n builder.setBackgroundColor('Z6', 'EBF1DE');\n builder.setBorder('AA6');\n builder.setBackgroundColor('AA6', 'EBF1DE');\n builder.setBorder('AB6');\n builder.setBackgroundColor('AB6', 'EBF1DE');\n builder.setBorder('AC6');\n builder.setBackgroundColor('AC6', 'EBF1DE');\n builder.setBorder('AD6');\n builder.setBackgroundColor('AD6', 'EBF1DE');\n\n users.forEach((user, index) => {\n const row = builder.sheet.addRow(user);\n builder.setDataValidation(`D${index + 7}`, '\"男,女\"');\n builder.setDataValidation(`J${index + 7}`, '\"是,不是\"');\n builder.setDataValidation(`K${index + 7}`, '\"能讀能寫,只能讀,不能寫,不懂文字\"');\n builder.setDataValidation(`L${index + 7}`, '\"大學或以上,中學,小學,不適用\"');\n builder.setDataValidation(`M${index + 7}`, '\"香港島,九龍,新界\"');\n builder.setDataValidation(`N${index + 7}`, '\"中西區,灣仔區,東區,南區,深水埗區,油尖旺區,九龍城區,黃大仙區,觀塘區,葵青區,荃灣區,屯門區,元朗區,北區,大埔區,沙田區,西貢區,離島區\"');\n builder.setDataValidation(`AB${index + 7}`, '\"是,不是\"');\n })\n\n\n users.forEach((user, index) => {\n const row = builder.sheet.addRow(user);\n builder.setDataValidation(`D${index + 7}`, '\"男,女\"');\n builder.setDataValidation(`J${index + 7}`, '\"是,不是\"');\n builder.setDataValidation(`K${index + 7}`, '\"能讀能寫,只能讀,不能寫,不懂文字\"');\n builder.setDataValidation(`L${index + 7}`, '\"大學或以上,中學,小學,不適用\"');\n builder.setDataValidation(`M${index + 7}`, '\"香港島,九龍,新界\"');\n builder.setDataValidation(`N${index + 7}`, '\"中西區,灣仔區,東區,南區,深水埗區,油尖旺區,九龍城區,黃大仙區,觀塘區,葵青區,荃灣區,屯門區,元朗區,北區,大埔區,沙田區,西貢區,離島區\"');\n builder.setDataValidation(`AB${index + 7}`, '\"是,不是\"');\n })\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), reportName + \"_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n \n }\n\n async exportRequests(requests: RequestExportModel[], dateRange?: { startDate: Date, endDate: Date }): Promise {\n if (dateRange == null || dateRange.startDate == null || dateRange.endDate == null)\n dateRange = { startDate: new Date(2019, 1, 1), endDate: new Date() };\n\n let builder: ReportBuilder = new ReportBuilder(\"Request Export\");\n\n let columns = [\n { header: '紀錄編號*', key: '紀錄編號*', width: 18 },\n { header: '申請人編號*', key: '申請人編號*', width: 21 },\n { header: '申請人名稱', key: '申請人名稱', width: 22 },\n { header: '服務日期(YYYY-MM-DD)*', key: '服務日期(YYYY-MM-DD)*', width: 28 },\n { header: '預計開始時間(HH:mm)*', key: '預計開始時間(HH:mm)*', width: 26 },\n { header: '預計結束時間(HH:mm)*', key: '預計結束時間(HH:mm)*', width: 22 },\n { header: '服務鐘數*', key: '服務鐘數*', width: 21 },\n { header: '提供服務*(字眼必須和後台資料設置一致)', key: '提供服務*(字眼必須和後台資料設置一致)', width: 47 },\n { header: '義工編號*(用逗號隔開)', key: '義工編號*(用逗號隔開)', width: 28 },\n { header: '義工名稱(用逗號隔開)', key: '義工名稱(用逗號隔開)', width: 43 },\n { header: '實際開始時間(HH:mm)*', key: '實際開始時間(HH:mm)*', width: 14 },\n { header: '實際結束時間(HH:mm)*', key: '實際結束時間(HH:mm)*', width: 21 },\n { header: '備註', key: '備註', width: 18 },\n { header: '每個義工的交易時分*', key: '每個義工的交易時分*', width: 18 },\n { header: '狀態', key: '狀態', width: 18 },\n ];\n\n builder.setColumns(columns);\n\n builder.setCellValue(\"A1\", AppSetting.orgName + \"——義工服務紀錄報告\");\n\n builder.sheet.mergeCells('A1:O1');\n\n builder.sheet.getCell('A1').alignment = { horizontal: 'center' };\n\n builder.setCellValue('A2', \"開始日期\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n\n builder.setCellValue('B2', dayjs(dateRange.startDate).format(\"YYYY-MM-DD\"));\n\n builder.setCellValue('C2', \"截止日期\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n\n builder.setCellValue('D2', dayjs(dateRange.endDate).format(\"YYYY-MM-DD\"));\n\n builder.sheet.addRow(\"\");\n\n builder.sheet.getRow(4).values = columns.map(column => column.key);\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'FDE9D9');\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'FDE9D9');\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'EBF1DE');\n builder.setBorder('D4');\n builder.setBackgroundColor('D4', 'FDE9D9');\n builder.setBorder('E4');\n builder.setBackgroundColor('E4', 'FDE9D9');\n builder.setBorder('F4');\n builder.setBackgroundColor('F4', 'FDE9D9');\n builder.setBorder('G4');\n builder.setBackgroundColor('G4', 'FDE9D9');\n builder.setBorder('H4');\n builder.setBackgroundColor('H4', 'FDE9D9');\n builder.setBorder('I4');\n builder.setBackgroundColor('I4', 'FDE9D9');\n builder.setBorder('J4');\n builder.setBackgroundColor('J4', 'EBF1DE');\n builder.setBorder('K4');\n builder.setBackgroundColor('K4', 'FDE9D9');\n builder.setBorder('L4');\n builder.setBackgroundColor('L4', 'FDE9D9');\n builder.setBorder('M4');\n builder.setBackgroundColor('M4', 'EBF1DE');\n builder.setBorder('N4');\n builder.setBackgroundColor('N4', 'FDE9D9');\n builder.setBorder('O4');\n builder.setBackgroundColor('O4', 'EBF1DE');\n\n requests.forEach(request => {\n builder.sheet.addRow(request);\n })\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Request_Export_\" + new Date().toISOString().split('T')[0] + \".xlsx\");\n }\n\n async exportProducts(products: ProductExportModel[], dateRange?: { startDate: Date, endDate: Date }): Promise {\n if (dateRange == null || dateRange.startDate == null || dateRange.endDate == null)\n dateRange = { startDate: new Date(2019, 0, 1), endDate: new Date() };\n\n let builder: ReportBuilder = new ReportBuilder(\"Product Report\");\n\n let columns = [\n { header: \"獎勵項目編號\", key: \"獎勵項目編號\", width: 21 },\n { header: \"獎勵標題\", key: \"獎勵標題\", width: 28 },\n { header: \"來源\", key: \"來源\", width: 28 },\n { header: \"參與類型\", key: \"參與類型\", width: 20 },\n { header: \"發布日期\", key: \"發布日期\", width: 22 },\n { header: \"截止日期\", key: \"截止日期\", width: 21 },\n { header: \"設定數量\", key: \"設定數量\", width: 16 },\n { header: \"庫存餘額\", key: \"庫存餘額\", width: 16 },\n { header: \"已兌換用戶人數\", key: \"已兌換用戶人數\", width: 15 },\n { header: \"已兌換獎勵數量\", key: \"已兌換獎勵數量\", width: 14 },\n { header: \"狀態\", key: \"狀態\", width: 21 },\n ]\n\n builder.setColumns(columns);\n\n builder.setCellValue(\"A1\", \"獎勵兌換列表報告\");\n builder.sheet.getRow(1).height = 27;\n builder.sheet.mergeCells('A1:K1');\n builder.sheet.getCell('A1').alignment = { horizontal: 'center' };\n\n builder.setCellValue('A2', \"開始日期\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n\n builder.setCellValue('B2', dayjs(dateRange.startDate).format(\"YYYY-MM-DD\"));\n\n builder.setCellValue('C2', \"截止日期\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n\n builder.setCellValue('D2', dayjs(dateRange.endDate).format(\"YYYY-MM-DD\"));\n\n builder.sheet.addRow(\"\");\n\n builder.sheet.getRow(4).values = columns.map(column => column.key);\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'FDE9D9');\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'FDE9D9');\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'FDE9D9');\n builder.setBorder('D4');\n builder.setBackgroundColor('D4', 'FDE9D9');\n builder.setBorder('E4');\n builder.setBackgroundColor('E4', 'EBF1DE');\n builder.setBorder('F4');\n builder.setBackgroundColor('F4', 'EBF1DE');\n builder.setBorder('G4');\n builder.setBackgroundColor('G4', 'FDE9D9');\n builder.setBorder('H4');\n builder.setBackgroundColor('H4', 'FDE9D9');\n builder.setBorder('I4');\n builder.setBackgroundColor('I4', 'FDE9D9');\n builder.setBorder('J4');\n builder.setBackgroundColor('J4', 'FDE9D9');\n builder.setBorder('K4');\n builder.setBackgroundColor('K4', 'EBF1DE');\n\n products.forEach(product => {\n builder.sheet.addRow(product);\n })\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Product_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n\n async exportRedeems(product: Product,redeems:Redeem[]): Promise {\n let builder: ReportBuilder = new ReportBuilder(product.productName + \" Report\");\n\n let columns = [\n { header: \"會員編號\", key: \"會員編號\", width: 15 },\n { header: \"中文姓名\", key: \"中文姓名\", width: 28 },\n { header: \"英文姓名\", key: \"英文姓名\", width: 20 },\n { header: \"中心編號\", key: \"中心編號\", width: 22 },\n { header: \"性別\", key: \"性別\", width: 9 },\n { header: \"年齡\", key: \"年齡\", width: 10 },\n { header: \"電話\", key: \"電話\", width: 16 },\n { header: \"換領數量\", key: \"換領數量\", width: 15 },\n { header: \"交易時分\", key: \"交易時分\", width: 13 },\n { header: \"換領編碼\", key: \"換領編碼\", width: 14 },\n { header: \"狀態\", key: \"狀態\", width: 8 },\n { header: \"換領時間\", key: \"換領時間\", width: 21 },\n { header: \"問題1\", key: \"問題1\", width: 18 },\n { header: \"答案1\", key: \"答案1\", width: 10 },\n { header: \"問題2\", key: \"問題2\", width: 18 },\n { header: \"答案2\", key: \"答案2\", width: 10 },\n { header: \"問題3\", key: \"問題3\", width: 18 },\n { header: \"答案3\", key: \"答案3\", width: 10 },\n { header: \"備註\", key: \"備註\", width: 8 },\n ]\n\n builder.setColumns(columns);\n\n builder.setCellValue(\"A1\", \"獎勵標題\");\n builder.setBorder('A1');\n builder.setBackgroundColor('A1', 'EBF1DE');\n builder.sheet.getRow(1).height = 27;\n\n builder.setCellValue(\"B1\", product.productName);\n builder.sheet.mergeCells('B1:R1');\n\n builder.setCellValue(\"A2\", \"來源\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n\n builder.setCellValue(\"B2\", product.brand);\n\n builder.setCellValue(\"C2\", \"參與類型\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n\n builder.setCellValue(\"D2\", product.format == \"FirstComeFirstServed\" ? \"先到先得\" : \"職員處理\");\n\n builder.setCellValue(\"A3\", \"發布時間\");\n builder.setBorder('A3');\n builder.setBackgroundColor('A3', 'EBF1DE');\n\n builder.setCellValue(\"B3\", dayjs(product.launchDate).format(\"YYYY-MM-DD HH:mm\"));\n\n builder.setCellValue(\"C3\", \"截止時間\");\n builder.setBorder('C3');\n builder.setBackgroundColor('C3', 'EBF1DE');\n\n builder.setCellValue(\"D3\", dayjs(product.closeDate).format(\"YYYY-MM-DD HH:mm\"));\n\n builder.setCellValue(\"A4\", \"數量\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'EBF1DE');\n\n builder.setCellValue(\"B4\", product.quantity.toString());\n\n builder.setCellValue(\"C4\", \"兌換比率(時分/件)\");\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'EBF1DE');\n\n builder.setCellValue(\"D4\", product.price.toString());\n\n builder.setCellValue(\"A5\", \"每人限領數量\");\n builder.setBorder('A5');\n builder.setBackgroundColor('A5', 'EBF1DE');\n\n builder.setCellValue(\"B5\", product.maximumQuantityPerPerson.toString());\n\n builder.sheet.addRow(\"\");\n\n builder.setCellValue(\"A7\", \"已兌換會員名單\");\n\n builder.sheet.getRow(8).values = columns.map(column => column.key);\n\n builder.setBorder('A8');\n builder.setBackgroundColor('A8', 'FDE9D9');\n builder.setBorder('B8');\n builder.setBackgroundColor('B8', 'FDE9D9');\n builder.setBorder('C8');\n builder.setBackgroundColor('C8', 'EBF1DE');\n builder.setBorder('D8');\n builder.setBackgroundColor('D8', 'EBF1DE');\n builder.setBorder('E8');\n builder.setBackgroundColor('E8', 'EBF1DE');\n builder.setBorder('F8');\n builder.setBackgroundColor('F8', 'EBF1DE');\n builder.setBorder('G8');\n builder.setBackgroundColor('G8', 'FDE9D9');\n builder.setBorder('H8');\n builder.setBackgroundColor('H8', 'FDE9D9');\n builder.setBorder('I8');\n builder.setBackgroundColor('I8', 'FDE9D9');\n builder.setBorder('J8');\n builder.setBackgroundColor('J8', 'FDE9D9');\n builder.setBorder('K8');\n builder.setBackgroundColor('K8', 'EBF1DE');\n builder.setBorder('L8');\n builder.setBackgroundColor('L8', 'EBF1DE');\n builder.setBorder('M8');\n builder.setBackgroundColor('M8', 'EBF1DE');\n builder.setBorder('N8');\n builder.setBackgroundColor('N8', 'EBF1DE');\n builder.setBorder('O8');\n builder.setBackgroundColor('O8', 'EBF1DE');\n builder.setBorder('P8');\n builder.setBackgroundColor('P8', 'EBF1DE');\n builder.setBorder('Q8');\n builder.setBackgroundColor('Q8', 'EBF1DE');\n builder.setBorder('R8');\n builder.setBackgroundColor('R8', 'EBF1DE');\n builder.setBorder('S8');\n builder.setBackgroundColor('S8', 'EBF1DE');\n\n redeems.forEach(redeem => {\n builder.sheet.addRow(redeem.getExportModel());\n });\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Product_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n\n async exportEvent(event: Event): Promise {\n let builder: ReportBuilder = new ReportBuilder(\n\n (event.eventName.length>24?event.eventName.substring(0,24):event.eventName).replace(/[\\*\\?\\:\\\\\\/\\[\\]]/gi,\"\")\n\n + \" Report\");\n\n let columns = [\n { header: \"會員編號\", key: \"會員編號\", width: 17 },\n { header: \"中文姓名\", key: \"中文姓名\", width: 28 },\n { header: \"英文姓名\", key: \"英文姓名\", width: 20 },\n { header: \"中心編號\", key: \"中心編號\", width: 22 },\n { header: \"性別\", key: \"性別\", width: 9 },\n { header: \"年齡\", key: \"年齡\", width: 10 },\n { header: \"電話\", key: \"電話\", width: 16 },\n { header: \"狀態\", key: \"狀態\", width: 16 },\n { header: \"交易時分\", key: \"交易時分\", width: 13 },\n { header: \"交易編碼\", key: \"交易編碼\", width: 14 },\n { header: \"完成時間\", key: \"完成時間\", width: 21 },\n ];\n\n builder.setColumns(columns);\n\n builder.sheet.getRow(1).height = 27;\n\n builder.setCellValue(\"A1\", \"活動標題\");\n builder.setBorder('A1');\n builder.setBackgroundColor('A1', 'EBF1DE');\n\n builder.setCellValue(\"B1\", event.eventName);\n\n builder.setCellValue(\"C1\", \"活動編號\");\n builder.setBorder('C1');\n builder.setBackgroundColor('C1', 'EBF1DE');\n\n builder.setCellValue(\"D1\", event.id.toString());\n\n builder.sheet.mergeCells(\"D1:K1\");\n\n builder.setCellValue(\"A2\", \"狀態\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n\n builder.setCellValue(\"B2\", event.eventStatus);\n\n builder.setCellValue(\"C2\", \"參與類型\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n\n builder.setCellValue(\"D2\", event.eventJoinType == \"FIFJ\" ? \"先到先得\" : \"職員處理\");\n\n builder.setCellValue(\"A3\", \"活動類型\");\n builder.setBorder('A3');\n builder.setBackgroundColor('A3', 'EBF1DE');\n\n builder.setCellValue(\"B3\", `${event.eventType.code} ${event.eventType.name}`);\n\n builder.setCellValue(\"C3\", \"截止時間\");\n builder.setBorder('C3');\n builder.setBackgroundColor('C3', 'EBF1DE');\n\n builder.setCellValue(\"D3\", dayjs(event.applyDeadline).format(\"YYYY-MM-DD HH:mm\"));\n\n builder.setCellValue(\"A4\", \"參與者數量\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'EBF1DE');\n\n builder.setCellValue(\"B4\", event.participantVacancy.toString());\n\n builder.setCellValue(\"C4\", \"交易類型\");\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'EBF1DE');\n\n builder.setCellValue(\"D4\", event.eventPay == \"Free\" ? \"免費\" : event.eventPay == \"UserSpend\" ? \"用戶扣分\" : \"用戶加分\");\n\n builder.setCellValue(\"A5\", \"預設每用戶交易時分\");\n builder.setBorder('A5');\n builder.setBackgroundColor('A5', 'EBF1DE');\n\n builder.setCellValue(\"B5\", event.earning.toString());\n\n builder.setCellValue(\"A6\", \"活動日期\");\n builder.setBorder('A6');\n builder.setBackgroundColor('A6', 'EBF1DE');\n\n\n builder.setCellValue(\"C5\", \"總交易時分\");\n builder.setBorder('C5');\n builder.setBackgroundColor('C5', 'EBF1DE');\n\n builder.setCellValue(\"D5\",(event.eventPay == \"UserSpend\" ?\"-\":\"\")+\n (\n event.transactions.length==0?0:\n event.transactions.map(t=>t==null?0:t.amount).reduce((a,b)=>(a+b)).toString()\n )\n );\n\n\n var datelist: string = \"\"\n event.eventDays.forEach((eventday) => {\n datelist += (datelist != \"\") ? \",\" : \"\";\n datelist += dayjs(eventday.date).format(\"YYYY-MM-DD\")\n })\n\n builder.setCellValue(\"B6\", datelist);\n\n builder.sheet.addRow(\"\");\n\n builder.setCellValue(\"A8\", \"確認參加會員名單\");\n\n builder.sheet.getRow(9).values = columns.map(column => column.key);\n\n builder.setBorder('A9');\n builder.setBackgroundColor('A9', 'FDE9D9');\n builder.setBorder('B9');\n builder.setBackgroundColor('B9', 'FDE9D9');\n builder.setBorder('C9');\n builder.setBackgroundColor('C9', 'EBF1DE');\n builder.setBorder('D9');\n builder.setBackgroundColor('D9', 'EBF1DE');\n builder.setBorder('E9');\n builder.setBackgroundColor('E9', 'EBF1DE');\n builder.setBorder('F9');\n builder.setBackgroundColor('F9', 'EBF1DE');\n builder.setBorder('G9');\n builder.setBackgroundColor('G9', 'FDE9D9');\n builder.setBorder('H9');\n builder.setBackgroundColor('H9', 'FDE9D9');\n builder.setBorder('I9');\n builder.setBackgroundColor('I9', 'FDE9D9');\n builder.setBorder('J9');\n builder.setBackgroundColor('J9', 'FDE9D9');\n builder.setBorder('K9');\n builder.setBackgroundColor('K9', 'FDE9D9');\n\n event.participants.forEach(user => {\n builder.sheet.addRow(user.getExportModel());\n });\n\n builder.addSheet(\"實際出席人次\");\n builder.index=1;\n\n builder.setCellValue(\"A1\", \"實際出席人次記錄\");\n builder.setFontSize(\"A1\",14);\n\n builder.setCellValue(\"A2\", \"活動標題\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n builder.setCellValue(\"B2\",event.eventName);\n\n\n builder.setCellValue(\"C2\", \"活動編號\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n builder.setCellValue(\"D2\",event.id.toString());\n\n\n builder.setCellValue(\"A3\", \"總實際出席人數\");\n builder.setBorder('A3');\n builder.setBackgroundColor('A3', 'EBF1DE');\n var total:number=0;\n event.eventDays.forEach((eventday)=>{\n if(eventday.numOfAttendance!=null)\n total+=eventday.numOfAttendance;\n })\n builder.setCellValue(\"B3\",total.toString());\n\n builder.setCellValue(\"A4\", \"活動日期\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'EBF1DE');\n\n builder.setCellValue(\"B4\", \"開始時間\");\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'EBF1DE');\n\n builder.setCellValue(\"C4\", \"狀態\");\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'EBF1DE');\n\n builder.setCellValue(\"D4\", \"實際出席人數\");\n builder.setBorder('D4');\n builder.setBackgroundColor('D4', 'EBF1DE');\n\n let columns2 = [\n { header: \"活動日期\", key: \"會員編號\", width: 17 },\n { header: \"開始時間\", key: \"中文姓名\", width: 28 },\n { header: \"狀態\", key: \"英文姓名\", width: 20 },\n { header: \"實際出席人數\", key: \"中心編號\", width: 22 }\n ];\n builder.setColumns(columns2);\n\n\n var now=new Date();\n\n event.eventDays.forEach((eventday, index) => {\n var state:string='';\n if(noweventday.startTime && (eventday.endTime!=null &&now < eventday.endTime)){\n state=('進行中');\n }else {\n state=('已結束');\n };\n builder.sheet.addRow([\n dayjs(eventday.startTime).format(\"YYYY-MM-DD\"), // TODO: are you sure?\n dayjs(eventday.startTime).format(\"HH:mm\"),\n state,\n eventday.numOfAttendance==null?\"0\":eventday.numOfAttendance.toString()\n ]);\n });\n\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Event_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n async exportEventApplyOnly(event: Event): Promise {\n let builder: ReportBuilder = new ReportBuilder(\n\n (event.eventName.length>24?event.eventName.substring(0,24):event.eventName).replace(/[\\*\\?\\:\\\\\\/\\[\\]]/gi,\"\")\n\n + \" Report\");\n\n let columns = [\n { header: \"會員編號\", key: \"會員編號\", width: 17 },\n { header: \"中文姓名\", key: \"中文姓名\", width: 28 },\n { header: \"英文姓名\", key: \"英文姓名\", width: 20 },\n { header: \"中心編號\", key: \"中心編號\", width: 22 },\n { header: \"性別\", key: \"性別\", width: 9 },\n { header: \"年齡\", key: \"年齡\", width: 10 },\n { header: \"電話\", key: \"電話\", width: 16 },\n { header: \"狀態\", key: \"狀態\", width: 16 },\n { header: \"交易時分\", key: \"交易時分\", width: 13 },\n { header: \"交易編碼\", key: \"交易編碼\", width: 14 },\n { header: \"完成時間\", key: \"完成時間\", width: 21 },\n ];\n\n builder.setColumns(columns);\n\n builder.sheet.getRow(1).height = 27;\n\n builder.setCellValue(\"A1\", \"活動標題\");\n builder.setBorder('A1');\n builder.setBackgroundColor('A1', 'EBF1DE');\n\n builder.setCellValue(\"B1\", event.eventName);\n\n builder.setCellValue(\"C1\", \"活動編號\");\n builder.setBorder('C1');\n builder.setBackgroundColor('C1', 'EBF1DE');\n\n builder.setCellValue(\"D1\", event.id.toString());\n\n builder.sheet.mergeCells(\"D1:K1\");\n\n builder.setCellValue(\"A2\", \"狀態\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n\n builder.setCellValue(\"B2\", event.eventStatus);\n\n builder.setCellValue(\"C2\", \"參與類型\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n\n builder.setCellValue(\"D2\", event.eventJoinType == \"FIFJ\" ? \"先到先得\" : \"職員處理\");\n\n builder.setCellValue(\"A3\", \"活動類型\");\n builder.setBorder('A3');\n builder.setBackgroundColor('A3', 'EBF1DE');\n\n builder.setCellValue(\"B3\", `${event.eventType.code} ${event.eventType.name}`);\n\n builder.setCellValue(\"C3\", \"截止時間\");\n builder.setBorder('C3');\n builder.setBackgroundColor('C3', 'EBF1DE');\n\n builder.setCellValue(\"D3\", dayjs(event.applyDeadline).format(\"YYYY-MM-DD HH:mm\"));\n\n builder.setCellValue(\"A4\", \"參與者數量\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'EBF1DE');\n\n builder.setCellValue(\"B4\", event.participantVacancy.toString());\n\n builder.setCellValue(\"C4\", \"交易類型\");\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'EBF1DE');\n\n builder.setCellValue(\"D4\", event.eventPay == \"Free\" ? \"免費\" : event.eventPay == \"UserSpend\" ? \"用戶扣分\" : \"用戶加分\");\n\n builder.setCellValue(\"A5\", \"預設每用戶交易時分\");\n builder.setBorder('A5');\n builder.setBackgroundColor('A5', 'EBF1DE');\n\n builder.setCellValue(\"B5\", event.earning.toString());\n\n builder.setCellValue(\"A6\", \"活動日期\");\n builder.setBorder('A6');\n builder.setBackgroundColor('A6', 'EBF1DE');\n\n\n builder.setCellValue(\"C5\", \"總交易時分\");\n builder.setBorder('C5');\n builder.setBackgroundColor('C5', 'EBF1DE');\n\n builder.setCellValue(\"D5\",(event.eventPay == \"UserSpend\" ?\"-\":\"\")+\n (\n event.transactions.length==0?0:\n event.transactions.map(t=>t==null?0:t.amount).reduce((a,b)=>(a+b)).toString()\n )\n );\n\n var datelist: string = \"\"\n event.eventDays.forEach((eventday) => {\n datelist += (datelist != \"\") ? \",\" : \"\";\n datelist += dayjs(eventday.date).format(\"YYYY-MM-DD\")\n })\n\n builder.setCellValue(\"B6\", datelist);\n\n builder.sheet.addRow(\"\");\n\n builder.setCellValue(\"A8\", \"確認參加會員名單\");\n\n builder.sheet.getRow(9).values = columns.map(column => column.key);\n\n builder.setBorder('A9');\n builder.setBackgroundColor('A9', 'FDE9D9');\n builder.setBorder('B9');\n builder.setBackgroundColor('B9', 'FDE9D9');\n builder.setBorder('C9');\n builder.setBackgroundColor('C9', 'EBF1DE');\n builder.setBorder('D9');\n builder.setBackgroundColor('D9', 'EBF1DE');\n builder.setBorder('E9');\n builder.setBackgroundColor('E9', 'EBF1DE');\n builder.setBorder('F9');\n builder.setBackgroundColor('F9', 'EBF1DE');\n builder.setBorder('G9');\n builder.setBackgroundColor('G9', 'FDE9D9');\n builder.setBorder('H9');\n builder.setBackgroundColor('H9', 'FDE9D9');\n builder.setBorder('I9');\n builder.setBackgroundColor('I9', 'FDE9D9');\n builder.setBorder('J9');\n builder.setBackgroundColor('J9', 'FDE9D9');\n builder.setBorder('K9');\n builder.setBackgroundColor('K9', 'FDE9D9');\n\n event.participants.filter(user=>(user.state == \"Confirmed\")||user.state == \"Absent\" ).forEach(user => {\n builder.sheet.addRow(user.getExportModel());\n });\n\n builder.addSheet(\"實際出席人次\");\n builder.index=1;\n\n builder.setCellValue(\"A1\", \"實際出席人次記錄\");\n builder.setFontSize(\"A1\",14);\n\n builder.setCellValue(\"A2\", \"活動標題\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n builder.setCellValue(\"B2\",event.eventName);\n\n\n builder.setCellValue(\"C2\", \"活動編號\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n builder.setCellValue(\"D2\",event.id.toString());\n\n\n builder.setCellValue(\"A3\", \"總實際出席人數\");\n builder.setBorder('A3');\n builder.setBackgroundColor('A3', 'EBF1DE');\n var total:number=0;\n event.eventDays.forEach((eventday)=>{\n if(eventday.numOfAttendance!=null)\n total+=eventday.numOfAttendance;\n })\n builder.setCellValue(\"B3\",total.toString());\n\n builder.setCellValue(\"A4\", \"活動日期\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'EBF1DE');\n\n builder.setCellValue(\"B4\", \"開始時間\");\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'EBF1DE');\n\n builder.setCellValue(\"C4\", \"狀態\");\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'EBF1DE');\n\n builder.setCellValue(\"D4\", \"實際出席人數\");\n builder.setBorder('D4');\n builder.setBackgroundColor('D4', 'EBF1DE');\n\n let columns2 = [\n { header: \"活動日期\", key: \"會員編號\", width: 17 },\n { header: \"開始時間\", key: \"中文姓名\", width: 28 },\n { header: \"狀態\", key: \"英文姓名\", width: 20 },\n { header: \"實際出席人數\", key: \"中心編號\", width: 22 }\n ];\n builder.setColumns(columns2);\n\n\n var now=new Date();\n\n event.eventDays.forEach((eventday, index) => {\n var state:string='';\n if(noweventday.startTime && (eventday.endTime!=null &&now < eventday.endTime)){\n state=('進行中');\n }else {\n state=('已結束');\n };\n builder.sheet.addRow([\n dayjs(eventday.startTime).format(\"YYYY-MM-DD\"), // TODO: are you sure?\n dayjs(eventday.startTime).format(\"HH:mm\"),\n state,\n eventday.numOfAttendance==null?\"0\":eventday.numOfAttendance.toString()\n ]);\n });\n\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Event_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n async exportRedeemApplyOnly(product:Product): Promise {\n let builder: ReportBuilder = new ReportBuilder(\n\n (product.productName.length>24?product.productName.substring(0,24):product.productName).replace(/[\\*\\?\\:\\\\\\/\\[\\]]/gi,\"\")\n\n + \" Report\");\n\n let columns = [\n { header: \"會員編號\", key: \"會員編號\", width: 17 },\n { header: \"姓名\", key: \"姓名\", width: 28 },\n { header: \"暱稱\", key: \"英文姓名\", width: 20 },\n { header: \"中心編號\", key: \"中心編號\", width: 22 },\n { header: \"性別\", key: \"性別\", width: 9 },\n { header: \"年齡\", key: \"年齡\", width: 10 },\n { header: \"電話\", key: \"電話\", width: 16 },\n { header: \"狀態\", key: \"狀態\", width: 16 },\n { header: \"兌換數量\", key: \"兌換數量\", width: 14 },\n { header: \"交易時分\", key: \"交易時分\", width: 13 },\n { header: \"換領編碼\", key: \"換領編碼\", width: 14 },\n { header: \"兌換時間\", key: \"兌換時間\", width: 21 },\n { header: \"確認已換領時間\", key: \"確認已換領時間\", width: 21 },\n ];\n\n builder.setColumns(columns);\n\n builder.sheet.getRow(1).height = 27;\n\n\n builder.sheet.mergeCells(\"A1:M1\");\n\n builder.setCellValue(\"A1\", \"獎勵兌換點名紙\");\n builder.setBorder('A1');\n\n builder.setCellValue(\"A2\", \"獎勵標題\");\n builder.setBorder('A2');\n builder.setBackgroundColor('A2', 'EBF1DE');\n\n builder.setCellValue(\"B2\", product.productName);\n\n builder.setCellValue(\"C2\", \"獎勵編號\");\n builder.setBorder('C2');\n builder.setBackgroundColor('C2', 'EBF1DE');\n builder.setCellValue(\"D2\", product.id.toString());\n\n\n builder.setCellValue(\"A3\", \"狀態\");\n builder.setBorder('A3');\n builder.setBackgroundColor('A3', 'EBF1DE');\n\n builder.setCellValue(\"B3\", product.state);\n\n builder.setCellValue(\"C3\", \"參與方式\");\n builder.setBorder('C3');\n builder.setBackgroundColor('C3', 'EBF1DE');\n\n builder.setCellValue(\"D3\",product.format == \"FIFJ\" ? \"先到先得\" : \"職員處理\");\n\n builder.setCellValue(\"A4\", \"適用對象\");\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'EBF1DE');\n\n builder.setCellValue(\"B4\", `${product.target}`);\n\n builder.setCellValue(\"C4\", \"截止換領時間\");\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'EBF1DE');\n\n builder.setCellValue(\"D4\", dayjs(product.closeDate).format(\"YYYY-MM-DD HH:mm\"));\n\n builder.setCellValue(\"A5\", \"獎勵件數\");\n builder.setBorder('A5');\n builder.setBackgroundColor('A5', 'EBF1DE');\n\n builder.setCellValue(\"B5\", product.quantity+\"\");\n\n builder.setCellValue(\"C5\", \"獎勵來源\");\n builder.setBorder('C5');\n builder.setBackgroundColor('C5', 'EBF1DE');\n\n builder.setCellValue(\"D5\", product.brand);\n\n builder.setCellValue(\"A6\", \"預設每用戶交易時分\");\n builder.setBorder('A6');\n builder.setBackgroundColor('A6', 'EBF1DE');\n\n builder.setCellValue(\"B6\", product.price+\"\");\n\n builder.setCellValue(\"A7\", \"發布日期\");\n builder.setBorder('A7');\n builder.setBackgroundColor('A7', 'EBF1DE');\n\n\n\n builder.setCellValue(\"B7\", dayjs(product.launchDate).format(\"YYYY-MM-DD HH:mm\"));\n\n\n builder.sheet.addRow(\"\");\n\n builder.setCellValue(\"A9\", \"確認兌換會員名單\");\n\n\n builder.sheet.getRow(10).values = columns.map(column => column.key);\n\n builder.setBorder('A10');\n builder.setBackgroundColor('A10', 'FDE9D9');\n builder.setBorder('B10');\n builder.setBackgroundColor('B10', 'FDE9D9');\n builder.setBorder('C10');\n builder.setBackgroundColor('C10', 'EBF1DE');\n builder.setBorder('D10');\n builder.setBackgroundColor('D10', 'EBF1DE');\n builder.setBorder('E10');\n builder.setBackgroundColor('E10', 'EBF1DE');\n builder.setBorder('F10');\n builder.setBackgroundColor('F10', 'EBF1DE');\n builder.setBorder('G10');\n builder.setBackgroundColor('G10', 'FDE9D9');\n builder.setBorder('H10');\n builder.setBackgroundColor('H10', 'FDE9D9');\n builder.setBorder('I10');\n builder.setBackgroundColor('I10', 'FDE9D9');\n builder.setBorder('J10');\n builder.setBackgroundColor('J10', 'FDE9D9');\n builder.setBorder('K10');\n builder.setBackgroundColor('K10', 'FDE9D9');\n builder.setBorder('L10');\n builder.setBackgroundColor('L10', 'FDE9D9');\n builder.setBorder('M10');\n builder.setBackgroundColor('M10', 'FDE9D9');\n\n product.redeems.filter(redeem=>(redeem.redeemState == \"Redeemed\")||redeem.redeemState == \"Delivered\" )\n .forEach(redeem => {\n builder.sheet.addRow(redeem.getExportModelForRedeem());\n });\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Redeem_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n async exportEventList(events: EventExportModel[], dateRange?: { startDate: Date, endDate: Date }): Promise {\n if (dateRange == null || dateRange.startDate == null || dateRange.endDate == null)\n dateRange = { startDate: new Date(2019, 1, 1), endDate: new Date() };\n\n let builder: ReportBuilder = new ReportBuilder(\"Events Report\");\n\n let columns = [\n { header: \"紀錄編號\", key: \"紀錄編號\", width: 13 },\n { header: \"活動名目\", key: \"活動名目\", width: 38 },\n { header: \"活動類型\", key: \"活動類型\", width: 42 },\n { header: \"交易類型\", key: \"交易類型\", width: 13 },\n { header: \"參加類型\", key: \"參加類型\", width: 22 },\n { header: \"活動日期(YYYY-MM-DD)\", key: \"活動日期(YYYY-MM-DD)\", width: 32 },\n { header: \"截止報名時間(YYYY-MM-DD HH:mm)\", key: \"截止報名時間(YYYY-MM-DD HH:mm)\", width: 37 },\n { header: \"預計開始時間(HH:mm)\", key: \"預計開始時間(HH:mm)\", width: 24 },\n { header: \"預計結束時間(HH:mm)\", key: \"預計結束時間(HH:mm)\", width: 25 },\n { header: \"可參加人數\", key: \"可參加人數\", width: 13 },\n { header: \"實際參加人數\", key: \"實際參加人數\", width: 13 },\n { header: \"預計參加的每位會員交易時分\", key: \"預計參加的每位會員交易時分\", width: 28 },\n { header: \"總交易時分\", key: \"總交易時分\", width: 14 },\n { header: \"活動狀態\", key: \"活動狀態\", width: 14 },\n { header: \"參加會員編號\", key: \"參加會員編號\", width: 21 },\n { header: \"參加會員\", key: \"參加會員\", width: 42 },\n { header: \"備註\", key: \"備註\", width: 25 },\n ];\n\n builder.setColumns(columns);\n\n builder.sheet.getRow(1).height = 40;\n\n builder.sheet.getRow(2).height = 25;\n\n\n builder.setCellValue(\"A1\", \"中心活動列表報告\");\n builder.sheet.mergeCells(\"A1:Q1\");\n\n builder.setCellValue(\"A2\", \"開始日期\");\n builder.setBorder(\"A2\");\n builder.setBackgroundColor(\"A2\", \"EAF1DD\");\n\n builder.setCellValue('B2', dayjs(dateRange.startDate).format(\"YYYY-MM-DD\"));\n\n builder.setCellValue(\"C2\", \"截止日期\");\n builder.setBorder(\"C2\");\n builder.setBackgroundColor(\"C2\", \"EAF1DD\");\n\n builder.setCellValue('D2', dayjs(dateRange.endDate).format(\"YYYY-MM-DD\"));\n\n builder.sheet.addRow(\"\");\n\n builder.sheet.getRow(4).values = columns.map(column => column.key);\n\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'FDE9D9');\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'FDE9D9');\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'FDE9D9');\n builder.setBorder('D4');\n builder.setBackgroundColor('D4', 'FDE9D9');\n builder.setBorder('E4');\n builder.setBackgroundColor('E4', 'FDE9D9');\n builder.setBorder('F4');\n builder.setBackgroundColor('F4', 'FDE9D9');\n builder.setBorder('G4');\n builder.setBackgroundColor('G4', 'FDE9D9');\n builder.setBorder('H4');\n builder.setBackgroundColor('H4', 'FDE9D9');\n builder.setBorder('I4');\n builder.setBackgroundColor('I4', 'FDE9D9');\n builder.setBorder('J4');\n builder.setBackgroundColor('J4', 'FDE9D9');\n builder.setBorder('K4');\n builder.setBackgroundColor('K4', 'FDE9D9');\n builder.setBorder('L4');\n builder.setBackgroundColor('L4', 'EBF1DE');\n builder.setBorder('M4');\n builder.setBackgroundColor('M4', 'EBF1DE');\n builder.setBorder('N4');\n builder.setBackgroundColor('N4', 'EBF1DE');\n builder.setBorder('O4');\n builder.setBackgroundColor('O4', 'EBF1DE');\n builder.setBorder('P4');\n builder.setBackgroundColor('P4', 'EBF1DE');\n\n events.forEach((event, index) => {\n builder.sheet.addRow(event);\n builder.setDataValidation(`D${index + 5}`, '\"用戶加分,用戶扣分,免費\"');\n builder.setDataValidation(`E${index + 5}`, '\"職員處理,先到先得\"');\n });\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Event_List_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n \n }\n\n async exportTransactions(\n user: Profile,\n transactions: UserTransaction[],\n redeems: RedeemHistory[],\n dateRange?: { startDate: Date, endDate: Date }): Promise {\n\n if (dateRange == null || dateRange.startDate == null || dateRange.endDate == null)\n dateRange = { startDate: new Date(2019, 0, 1), endDate: new Date() };\n\n let builder: ReportBuilder = new ReportBuilder(user.chineseName + \" Report\");\n\n let columns = [\n { header: \"時分交易日期\", key: \"時分交易日期\", width: 18 },\n { header: \"交易編號\", key: \"交易編號\", width: 21 },\n { header: \"義工服務\", key: \"義工服務\", width: 28 },\n { header: \"中心活動\", key: \"中心活動\", width: 28 },\n { header: \"獎勵兌換\", key: \"獎勵兌換\", width: 28 },\n { header: \"捐分\", key: \"捐分\", width: 26 },\n { header: \"時分交易類型\", key: \"時分交易類型\", width: 22 },\n { header: \"交易對象\", key: \"交易對象\", width: 21 },\n { header: \"交易時分\", key: \"交易時分\", width: 47 },\n ];\n\n builder.sheet.mergeCells(\"A1:I1\");\n\n builder.setColumns(columns);\n\n builder.sheet.getRow(1).height = 27;\n\n builder.setCellValue(\"A1\", `會員${user.chineseName} (ID${user.memberId}) 時分交易記錄`);\n\n builder.setCellValue(\"A2\", \"開始日期\");\n builder.setBorder(\"A2\");\n builder.setBackgroundColor(\"A2\", \"EBF1DE\");\n\n builder.setCellValue(\"B2\", dayjs(dateRange.startDate).format(\"YYYY-MM-DD\"));\n\n builder.setCellValue(\"D2\", \"截至日期\");\n builder.setBorder(\"D2\");\n builder.setBackgroundColor(\"D2\", \"EBF1DE\");\n\n builder.setCellValue(\"E2\", dayjs(dateRange.endDate).format(\"YYYY-MM-DD\"));\n\n builder.sheet.addRow(\"\");\n\n builder.sheet.getRow(4).values = columns.map(column => column.key);\n\n builder.setBorder('A4');\n builder.setBackgroundColor('A4', 'FDE9D9');\n builder.setBorder('B4');\n builder.setBackgroundColor('B4', 'FDE9D9');\n builder.setBorder('C4');\n builder.setBackgroundColor('C4', 'FDE9D9');\n builder.setBorder('D4');\n builder.setBackgroundColor('D4', 'FDE9D9');\n builder.setBorder('E4');\n builder.setBackgroundColor('E4', 'FDE9D9');\n builder.setBorder('F4');\n builder.setBackgroundColor('F4', 'FDE9D9');\n builder.setBorder('G4');\n builder.setBackgroundColor('G4', 'FDE9D9');\n builder.setBorder('H4');\n builder.setBackgroundColor('H4', 'FDE9D9');\n builder.setBorder('I4');\n builder.setBackgroundColor('I4', 'FDE9D9');\n\n transactions.map(transaction => {\n return {\n \"時分交易日期\": dayjs(transaction.date).format(\"YYYY-MM-DD\"),\n \"交易編號\": transaction.id.toString(),\n \"義工服務\": transaction.request ? transaction.request.service.name : \"無\",\n \"中心活動\": transaction.event ? transaction.event.eventName : \"無\",\n \"獎勵兌換\": transaction.type == 'Redeem' ? redeems.find(redeem => redeem.transactionId == transaction.id)?.productName : \"無\",\n \"捐分\": transaction.type == 'Donation' ? (transaction.transferee.uuId == user.uuId ? \"中心捐分\" : \"用戶捐分\") : \"無\",\n \"時分交易類型\": transaction.transferee.uuId == user.uuId ? \"收入\" : \"支出\",\n \"交易對象\": transaction.transferee.uuId == user.uuId ? transaction.transferer.chineseName : transaction.transferee.chineseName,\n \"交易時分\": transaction.amount.toString(),\n } as TransactionExportModel\n }).forEach(transaction => {\n builder.sheet.addRow(transaction);\n })\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), user.chineseName + \"_Transaction_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n }\n\n async exportDonation(donations: DonationExportModel[], dateRange?: { startDate: Date, endDate: Date }): Promise {\n if (dateRange == null || dateRange.startDate == null || dateRange.endDate == null)\n dateRange = { startDate: new Date(2019, 0, 1), endDate: new Date() };\n\n let builder: ReportBuilder = new ReportBuilder(\"Donation Report\");\n\n let columns = [\n { header: \"紀錄編號\", key: \"紀錄編號\", width: 12 },\n { header: \"會員編號\", key: \"會員編號\", width: 37 },\n { header: \"會員中文姓名\", key: \"會員中文姓名\", width: 42 },\n { header: \"捐分類型\", key: \"捐分類型\", width: 13 },\n { header: \"捐分日期(YYYY-MM-DD)\", key: \"捐分日期(YYYY-MM-DD)\", width: 32 },\n { header: \"交易時分(捐出/受贈的時分)\", key: \"交易時分(捐出/受贈的時分)\", width: 26 },\n { header: \"備註\", key: \"備註\", width: 25 }\n ];\n\n builder.setColumns(columns);\n\n builder.setCellValue(\"A1\", \"捐分紀錄匯出報告\");\n\n builder.sheet.mergeCells(\"A1:H1\");\n\n builder.setCellValue(\"A2\", \"開始日期\");\n builder.setBorder(\"A2\");\n builder.setBackgroundColor(\"A2\", \"EAF1DD\");\n\n builder.setCellValue('B2', dayjs(dateRange.startDate).format(\"YYYY-MM-DD\"));\n\n builder.setCellValue(\"C2\", \"截止日期\");\n builder.setBorder(\"C2\");\n builder.setBackgroundColor(\"C2\", \"EAF1DD\");\n\n builder.setCellValue('D2', dayjs(dateRange.endDate).format(\"YYYY-MM-DD\"));\n\n builder.sheet.addRow(\"\");\n\n builder.setCellValue(\"A4\", \"注意事項:中心捐分即中心將時分捐至會員帳戶,用戶捐分即用戶將時分捐至中心\");\n builder.sheet.mergeCells(\"A4:H4\");\n\n builder.sheet.getRow(5).values = columns.map(column => column.key);\n\n builder.setBorder('A5');\n builder.setBackgroundColor('A5', 'FDE9D9');\n builder.setBorder('B5');\n builder.setBackgroundColor('B5', 'FDE9D9');\n builder.setBorder('C5');\n builder.setBackgroundColor('C5', 'FDE9D9');\n builder.setBorder('D5');\n builder.setBackgroundColor('D5', 'FDE9D9');\n builder.setBorder('E5');\n builder.setBackgroundColor('E5', 'FDE9D9');\n builder.setBorder('F5');\n builder.setBackgroundColor('F5', 'FDE9D9');\n builder.setBorder('G5');\n builder.setBackgroundColor('G5', 'EAF1DD');\n\n donations.forEach((donation, index) => {\n builder.sheet.addRow(donation);\n builder.setDataValidation(`D${index + 6}`, '\"中心捐分,用戶捐分\"');\n });\n\n let buffer = await builder.workbook.xlsx.writeBuffer();\n\n saveAs(new Blob([buffer]), \"Donation_Export_\" + dayjs().format(\"YYYY-MM-DD\") + \".xlsx\");\n\n }\n\n exportUserSample(): void {\n window.open(\"https://drive.google.com/file/d/1MbTc71pkbgudUGaeojEXvfJ0jOsrS86L/view?usp=sharing\");\n }\n\n exportRequestSample(): void {\n window.open(\"https://drive.google.com/file/d/1_RmryHqbQeGQn894bIK6akVP0YdPWLgJ/view?usp=sharing\")\n }\n\n exportEventSample(): void {\n window.open(\"https://drive.google.com/file/d/1-BjYD7oEAdqu2ArZ3xkiE609obvJcDrl/view?usp=sharing\");\n }\n\n exportDonationSample(): void {\n window.open(\"https://drive.google.com/file/d/1-B-1RC_jWS0smFVRlN6FgXOuJe6PAQvP/view?usp=sharing\");\n }\n}\n\nexport class ReportBuilder {\n workbook: Workbook;\n sheets: Worksheet[];\n index: number;\n\n get sheet(): Worksheet{\n return this.sheets[this.index];\n }\n\n addSheet(sheetName: string){\n this.sheets.push(this.workbook.addWorksheet(sheetName));\n }\n\n set NowSheetIndex(index:number){\n this.index=index;\n }\n\n getMaxSheetIndex(){\n return this.sheets.length;\n }\n\n constructor(sheetName: string) {\n this.workbook = new Workbook();\n this.sheets = [this.workbook.addWorksheet(sheetName)];\n this.index = 0;\n }\n\n setCellMiddle(cell: string){\n this.sheet.getCell(cell).alignment = {\n vertical: 'middle',\n horizontal: 'center'\n }\n }\n\n setHeight(row: number, value: number){\n this.sheet.getRow(row).height=value;\n }\n setWidth(colulmn:string,value:number){\n this.sheet.getColumn(colulmn).width=value;\n }\n\n setColumns(columns: any[]) {\n this.sheet.columns = columns;\n }\n\n setCellValue(cell: string, value: string) {\n this.sheet.getCell(cell).value = value;\n }\n\n setBackgroundColor(cell: string, colorCode: string) {\n this.sheet.getCell(cell).fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: colorCode }\n }\n }\n\n setFontSize(cell:string,fontSize:number){\n this.sheet.getCell(cell).font= {\n name: 'Calibri (Body)',\n size: fontSize,\n };\n }\n\n setBorder(cell: string) {\n this.sheet.getCell(cell).border = {\n top: { style: 'thin', color: { argb: 'FF000000' } },\n right: { style: 'thin', color: { argb: 'FF000000' } },\n bottom: { style: 'thin', color: { argb: 'FF000000' } },\n left: { style: 'thin', color: { argb: 'FF000000' } }\n };\n }\n\n setDataValidation(cell: string, formulae: string) {\n this.sheet.getCell(cell).dataValidation = {\n type: \"list\",\n allowBlank: true,\n formulae: [formulae]\n }\n }\n}\n\nfunction ExportUserSorting(a: UserExportModel, b: UserExportModel): number {\n return a['會員編號*'].localeCompare(b['會員編號*'], 'en', { numeric: true })\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { mergeMapTo } from 'rxjs/operators';\nimport { AngularFireMessaging } from '@angular/fire/messaging';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FirebaseService {\n\n private WebDeviceToken: string | null = null;\n\n public WebMessageSignal: EventEmitter = new EventEmitter();\n\n constructor(\n private afMessaging: AngularFireMessaging\n ) { }\n\n public requestPermission(): void {\n this.afMessaging.requestPermission\n .pipe(mergeMapTo(this.afMessaging.tokenChanges))\n .subscribe({\n next: (token) => {\n console.log(token);\n this.WebDeviceToken = token;\n this.subscribeMessaging();\n },\n error: (error) => {\n { console.error(error); }\n }\n })\n }\n\n public getToken(): string | null {\n return this.WebDeviceToken;\n }\n\n private subscribeMessaging(): void {\n this.afMessaging.onMessage({\n next: (message) => { console.log(\"On Message\"); console.log(message) },\n error: () => { },\n complete: () => { }\n })\n\n this.afMessaging.messages\n .subscribe((message: any) => {\n console.log(message);\n this.WebMessageSignal.emit(message.notification.title + \": \" + message.notification.body)\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateHealthModel } from 'src/app/models/healths/create-health-model';\nimport { Health, IHealth } from 'src/app/models/healths/health';\nimport { UpdateHealthModel } from 'src/app/models/healths/update-health-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HealthService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getHealthConditionList(): Observable {\n return this.httpService.get(\"healthConditions\")\n .pipe(map(value => value.result.map(health => new Health(health)).sort(HealthSorting)))\n }\n\n public createHealthCondition(model: CreateHealthModel): Observable {\n return this.httpService.post(\"healthConditions\", model);\n }\n\n public updateHealthCondition(model: UpdateHealthModel): Observable {\n return this.httpService.put(\"healthConditions\", model);\n }\n}\n\nfunction HealthSorting(a: Health, b: Health): number {\n return a.name.localeCompare(b.name, 'en', { numeric: true })\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { concat, defer, EMPTY, forkJoin, Observable, of, throwError } from 'rxjs';\nimport { catchError, finalize, switchMap } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { ICellGroup } from 'src/app/models/cell-groups/cell-group';\nimport { ICenter } from 'src/app/models/centers/center';\nimport { IEventType } from 'src/app/models/event-types/event-type';\nimport { IHealth } from 'src/app/models/healths/health';\nimport { DonationImportModel, IDonationImportModel } from 'src/app/models/imports/donation-import-model';\nimport { EventImportModel, IEventImportModel } from 'src/app/models/imports/event-import-model';\nimport { IRequestImportModel, RequestImportModel } from 'src/app/models/imports/request-import-model';\nimport { IUserImportModel, UserImportModel } from 'src/app/models/imports/user-import-model';\nimport { ILiving } from 'src/app/models/livings/living';\nimport { IService } from 'src/app/models/services/service';\nimport { WorkBook, WorkSheet, read, utils, writeFile } from \"xlsx\";\nimport { AuthenticationService } from '../authenticate/authentication.service';\nimport { CellGroupService } from '../cell-group/cell-group.service';\nimport { CenterService } from '../center/center.service';\nimport { DonationService } from '../donation/donation.service';\nimport { ErrorHandleService } from '../error-handle/error-handle.service';\nimport { EventTypeService } from '../event-type/event-type.service';\nimport { EventService } from '../event/event.service';\nimport { HealthService } from '../health/health.service';\nimport { LivingService } from '../living/living.service';\nimport { ProfileService } from '../profile/profile.service';\nimport { RequestService } from '../request/request.service';\nimport { ServiceService } from '../service/service.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImportService {\n\n public refreshSignal: EventEmitter = new EventEmitter();\n\n currentTask: { rate: number; text: string | null; } = {\n rate: 0,\n text: null\n };\n\n\n importPopupSignal: EventEmitter = new EventEmitter();\n importTaskSignal: EventEmitter> = new EventEmitter();\n public interceptorSignal: EventEmitter = new EventEmitter();\n\n constructor(\n private httpService: HttpService,\n private profileService: ProfileService,\n private serviceService: ServiceService,\n private livingService: LivingService,\n private healthService: HealthService,\n private centerService: CenterService,\n private cellGroupService: CellGroupService,\n private authService: AuthenticationService,\n private requestService: RequestService,\n private errorHandleService: ErrorHandleService,\n private eventTypeService: EventTypeService,\n private eventService: EventService,\n private donationService: DonationService\n ) { }\n\n uploadExcel(file: File): Observable {\n const fileData = new FormData();\n fileData.append('file', file, `${file.name}_${new Date().toISOString()}`);\n\n return this.httpService.upload(\"ExcelBackup\", fileData);\n }\n\n parseUserExcel(file: File): Observable {\n return new Observable(subscriber => {\n //Register Reader\n const reader: FileReader = new FileReader();\n\n reader.onload = (e: any) => {\n\n /* read workbook */\n const binaryString: string = (e.target as FileReader).result as string;\n const workBook: WorkBook = read(binaryString, { type: 'binary' });\n\n /* grab first sheet */\n const workSheetName: string = workBook.SheetNames[0];\n const workSheet: WorkSheet = workBook.Sheets[workSheetName];\n\n /* read sheet */\n var users: IUserImportModel[] = utils.sheet_to_json(workSheet, { raw: false, range: 5, blankrows: false });\n subscriber.next(users.map((user, index) => new UserImportModel(user, index)));\n subscriber.complete();\n };\n\n reader.onerror = (e: any) => {\n subscriber.error(e);\n };\n\n reader.readAsBinaryString(file);\n });\n }\n\n processUserData(models: UserImportModel[]): Observable {\n return new Observable(subscriber => {\n var services: IService[] = [];\n var healths: IHealth[] = [];\n var livingConditions: ILiving[] = [];\n var centers: ICenter[] = [];\n var cellGroups: ICellGroup[] = [];\n\n this.currentTask.text = \"正在處理用戶數㨿中。\";\n\n forkJoin({\n u: this.profileService.getUUIdByMemberId({ list: models.map(m => m.memberId) }),\n s: this.serviceService.getServiceTypeList(),\n h: this.healthService.getHealthConditionList(),\n l: this.livingService.getLivingConditionList(),\n c: this.centerService.getCenters(),\n cellGroups: this.cellGroupService.getCellGroupList()\n }).subscribe(\n response => {\n\n //Replace Service, LivingCondition, CenderCode, Health with UUID\n services = response.s.map(st => st.services).reduce((pre, cur) => pre.concat(cur), []);\n healths = response.h;\n livingConditions = response.l;\n centers = response.c;\n cellGroups = response.cellGroups;\n\n models.forEach((user, index) => {\n user.uuId = response.u[index];\n var center = centers[centers.findIndex(c => c.centerCode === user.profile.CenterCode)];\n user.profile.CenterCode = center ? center.uuId : null;\n user.profile.services.services = (user.profile.services.services as string[])\n .map(service => services[services.findIndex(s => s.name === service)])\n .map(s => s ? s.uuId : null);\n user.profile.healthConditions.healthConditions = (user.profile.healthConditions.healthConditions as string[])\n .map(health => healths[healths.findIndex(h => h.name === health)])\n .map(h => h ? h.uuId : null);\n user.profile.cellGroups = (user.profile.cellGroups as string[])\n .map(group => cellGroups[cellGroups.findIndex(cg => cg.name === group)])\n .map(group => group ? group.uuId : null);\n user.profile.addresses[0].livingConditions = (user.profile.addresses[0].livingConditions as string[])\n .map(livingCondition => livingConditions[livingConditions.findIndex(lv => lv.name === livingCondition)])\n .map(lv => lv ? lv.uuId : null);\n });\n\n //Validate User Before Sending to Server\n var errors: (string | null)[] = models.map(user => user.selfValidate());\n if (errors.some(error => error != null)) {\n subscriber.error({ status: \"IMPORT_ERROR\", error_message: errors.join('') });\n subscriber.complete();\n return;\n }\n\n //Turn off Interceptor\n this.interceptorSignal.emit(false);\n\n //Import Data to Server\n this.importUsers(models)\n .pipe(finalize(() => this.interceptorSignal.emit(true)))\n .subscribe({\n next: value => { },\n error: value => subscriber.error(value),\n complete: () => subscriber.complete()\n });\n },\n (error) => subscriber.error({ status: \"IMPORT_ERROR\", error_message: \"匯入時出現錯誤,請重新嘗試。\" }),\n () => { }\n );\n });\n }\n\n importUsers(models: UserImportModel[]): Observable {\n let finishedTask: number = 0;\n let errorModels: any[] = [];\n\n return concat(...models.map(model => model.uuId === null ?\n defer(() => {\n this.currentTask.text = \"正在註冊\" + model.profile.chineseName + \"的帳號。\";\n return this.authService.register(model.getCreateUserModel())\n .pipe(catchError((error) => {\n (model as any)[\"錯誤\"] = error.error_message;\n errorModels.push(model);\n return EMPTY;\n }),\n finalize(() => {\n finishedTask += 1;\n this.currentTask.rate = finishedTask / models.length * 100;\n }))\n }) :\n defer(() => {\n this.currentTask.text = \"正在更新\" + model.profile.chineseName + \"的帳號。\";\n return forkJoin({\n update: this.profileService.createAddress(model.uuId, model.profile.addresses[0])\n .pipe(switchMap(value => {\n model.profile.addresses[0].uuId = value.result.uuid;\n return this.profileService.updateProfile(model.uuId, model.getUpdateUserModel());\n })),\n updateUsernamePassword: model.password == null ? of(true) : this.authService.changeUsernameAndPassword({ userUUId: model.uuId, username: model.username, password: model.password })\n }).pipe(\n catchError((error) => {\n (model as any)[\"錯誤\"] = error.error_message;\n errorModels.push(model);\n return EMPTY;\n }),\n finalize(() => {\n finishedTask += 1;\n this.currentTask.rate = finishedTask / models.length * 100;\n }));\n })\n )).pipe(finalize(() => {\n if (errorModels.length > 0) {\n this.exportErrorData(errorModels);\n this.errorHandleService.errorSignal.emit({ status: \"IMPORT ERROR\", error_message: \"滙入資料錯誤,已將錯誤項目滙出\" });\n }\n }));\n }\n\n parseRequestExcel(file: File): Observable {\n return new Observable(subscriber => {\n\n const reader: FileReader = new FileReader();\n\n reader.onload = (e: any) => {\n /* read workbook */\n const binaryString: string = (e.target as FileReader).result as string;\n const workBook: WorkBook = read(binaryString, { type: 'binary' });\n\n /* grab first sheet */\n const workSheetName: string = workBook.SheetNames[0];\n const workSheet: WorkSheet = workBook.Sheets[workSheetName];\n \n /* save data */\n var requests: IRequestImportModel[] = utils.sheet_to_json(workSheet, { raw: false, range: 5, blankrows: false });\n \n requests.forEach(request=>{\n console.log()\n if((request['紀錄編號*']?.trim() == \"\" || request['紀錄編號*']?.trim() == null)&&request[\"申請人編號*\"]?.trim()!=\"\"&&request[\"申請人編號*\"]?.trim()!=null){\n request['紀錄編號*']=\"error\";\n }\n });\n try {\n subscriber.next(\n requests.filter(\n request => request['紀錄編號*']?.trim() != \"\" && request['紀錄編號*']?.trim() != null)\n .map((request, index) => new RequestImportModel(request, index)));\n }\n catch (error) {\n subscriber.error(error);\n }\n subscriber.complete();\n };\n\n reader.onerror = (e: any) => {\n subscriber.error(e);\n }\n\n reader.readAsBinaryString(file);\n })\n }\n\n processRequestData(models: RequestImportModel[]): Observable {\n return new Observable(subscriber => {\n var users: { uuId: string, memberId: string }[] = [];\n var services: IService[] = [];\n\n this.currentTask.text = \"正在處理數㨿中。\";\n\n forkJoin({\n users: this.profileService.getProfileList(\"?start=0&limit=100000\"),\n services: this.serviceService.getServiceTypeList(),\n }).subscribe(\n response => {\n users = response.users.list.map(u => { return { uuId: u.uuId, memberId: u.memberId } });\n services = response.services.map(st => st.services).reduce((pre, cur) => pre.concat(cur), []);\n\n if(users.length==0||services.length==0)\n subscriber.error({ status: \"IMPORT_ERROR\", error_message: \"無法載入用戶或服務資料,請重新整理版面\" });\n\n models.forEach(request => {\n request.requesterUUId = users.find(u => u.memberId === request.requesterUUId)?.uuId;\n request.serviceUUId = services[services.findIndex(s => s.name === request.serviceUUId)]?.uuId;\n request.volunteers.forEach(v => v.uuId = users.find(u => u.memberId === v.uuId)?.uuId)\n })\n //Validate Date Before Sending to Server\n var errors: (string | null)[] = models.map(request => request.selfValidate());\n if (errors.some(error => error != null)) {\n subscriber.error({ status: \"IMPORT_ERROR\", error_message: errors.join('') });\n subscriber.complete();\n return;\n }\n //Turn off Interceptor\n this.interceptorSignal.emit(false);\n \n //Import Data to Server\n this.importRequests(models)\n .pipe(finalize(() => this.interceptorSignal.emit(true)))\n .subscribe({\n next: value => { },\n error: value => subscriber.error(value),\n complete: () => subscriber.complete()\n });\n },\n (error) => subscriber.error({ status: \"IMPORT_ERROR\", error_message: \"匯入時出現錯誤,請重新嘗試。\" }),\n () => { }\n )\n })\n }\n\n importRequests(models: RequestImportModel[]): Observable {\n var finishedTask: number = 0;\n var errorModels: RequestImportModel[] = []\n return concat(...models.map(model => {\n return defer(() => {\n this.currentTask.text = \"正在處理編號\" + model.id + \"的義工請求。\"\n return this.requestService.ImportRequest(model)\n .pipe(\n catchError((error) => {\n (model).error = error.error_message;\n errorModels.push(model);\n return EMPTY;\n }),\n finalize(() => {\n finishedTask += 1;\n this.currentTask.rate = finishedTask / models.length * 100;\n })\n );\n });\n })).pipe(finalize(() => {\n if (errorModels.length > 0) {\n this.exportErrorData(errorModels);\n this.errorHandleService.errorSignal.emit({ status: \"IMPORT ERROR\", error_message: \"滙入資料錯誤,已將錯誤項目滙出\" });\n }\n }));\n }\n\n parseEventExcel(file: File): Observable {\n return new Observable(subscriber => {\n const reader: FileReader = new FileReader();\n reader.onload = (e: any) => {\n /* read workbook */\n const binaryString: string = (e.target as FileReader).result as string;\n const workBook: WorkBook = read(binaryString, { type: 'binary' });\n\n /* grab first sheet */\n const workSheetName: string = workBook.SheetNames[0];\n const workSheet: WorkSheet = workBook.Sheets[workSheetName];\n\n /* save data */\n var dataset: IEventImportModel[] = utils.sheet_to_json(workSheet, { raw: false, range: 5, blankrows: false });\n var events: EventImportModel[] = [];\n try {\n dataset.forEach((data, index) => {\n\n var event = events.find(e => e.id == data[\"紀錄編號\"]);\n\n if (event == null) {\n event = new EventImportModel(data, index)\n events.push(event);\n }\n\n event.paritcipants.list.push({\n userUUId: data[\"會員編號*\"],\n amount: Number.parseFloat(data[\"實際交易時分*(實際時分請以該欄目為準)\"])\n });\n\n })\n }\n catch (e) {\n subscriber.error();\n }\n subscriber.next(events);\n subscriber.complete();\n };\n\n reader.onerror = (e: any) => {\n subscriber.error(e);\n }\n reader.readAsBinaryString(file);\n })\n }\n\n public processEventData(models: EventImportModel[]): Observable {\n return new Observable(subscriber => {\n var users: { uuId: string, memberId: string }[] = [];\n var eventTypes: IEventType[] = [];\n\n this.currentTask.text = \"正在處理數㨿中。\";\n\n forkJoin({\n users: this.profileService.getProfileList(\"?start=0&limit=100000\"),\n eventTypes: this.eventTypeService.getEventTypeList()\n }).subscribe(\n response => {\n users = response.users.list.map(u => { return { uuId: u.uuId, memberId: u.memberId } });\n eventTypes = response.eventTypes;\n\n models.forEach(event => {\n event.eventTypeUuid = eventTypes[eventTypes.findIndex(s => s.name === event.eventTypeUuid)]?.uuId;\n event.paritcipants.list.forEach(p => p.userUUId = users.find(u => u.memberId === p.userUUId)?.uuId)\n })\n\n //Validate User Before Sending to Server\n var errors: (string | null)[] = models.map(event => event.selfValidate());\n if (errors.some(error => error != null)) {\n subscriber.error({ status: \"IMPORT_ERROR\", error_message: errors.join('') });\n subscriber.complete();\n return;\n }\n\n //Turn off Interceptor\n this.interceptorSignal.emit(false);\n\n //Import Data to Server\n this.importEvents(models)\n .pipe(finalize(() => this.interceptorSignal.emit(true)))\n .subscribe({\n next: value => { },\n error: value => subscriber.error(value),\n complete: () => subscriber.complete()\n });\n },\n (error) => subscriber.error({ status: \"IMPORT_ERROR\", error_message: \"匯入時出現錯誤,請重新嘗試。\" }),\n () => { }\n )\n })\n }\n\n public importEvents(models: EventImportModel[]): Observable {\n var finishedTask: number = 0;\n var errorModels: EventImportModel[] = []\n return concat(...models.map(model => defer(() => {\n this.currentTask.text = \"正在處理\" + model.eventName + \"的活動紀錄。\";\n return this.eventService.importEvent(model)\n .pipe(\n catchError((error) => {\n (model).error = error.error_message;\n errorModels.push(model);\n return EMPTY;\n }),\n finalize(() => {\n finishedTask += 1;\n this.currentTask.rate = finishedTask / models.length * 100;\n })\n )\n })))\n .pipe(finalize(() => {\n if (errorModels.length > 0) {\n this.exportErrorData(errorModels);\n this.errorHandleService.errorSignal.emit({ status: \"IMPORT ERROR\", error_message: \"滙入資料錯誤,已將錯誤項目滙出\" });\n }\n }));\n }\n\n parseDonationExcel(file: File): Observable {\n return new Observable(subscriber => {\n const reader: FileReader = new FileReader();\n reader.onload = (e: any) => {\n /* read workbook */\n const binaryString: string = (e.target as FileReader).result as string;\n const workBook: WorkBook = read(binaryString, { type: 'binary' });\n\n /* grab first sheet */\n const workSheetName: string = workBook.SheetNames[0];\n const workSheet: WorkSheet = workBook.Sheets[workSheetName];\n\n /* save data */\n var dataset: IDonationImportModel[] = utils.sheet_to_json(workSheet, { raw: false, range: 2, blankrows: false });\n try {\n subscriber.next(dataset.map((data, index) => new DonationImportModel(data, index)))\n }\n catch (e) {\n subscriber.error(e);\n }\n subscriber.complete();\n };\n reader.onerror = (e: any) => {\n subscriber.error(e);\n }\n reader.readAsBinaryString(file);\n })\n }\n\n public processDonationData(models: DonationImportModel[]): Observable {\n return new Observable(subscriber => {\n var users: { uuId: string, memberId: string }[] = [];\n\n this.currentTask.text = \"正在處理數㨿中。\";\n\n forkJoin({\n users: this.profileService.getProfileList(\"?start=0&limit=100000\"),\n }).subscribe(\n response => {\n users = response.users.list.map(u => { return { uuId: u.uuId, memberId: u.memberId } });\n\n models.forEach(donation => {\n donation.userUUId = users.find(u => u.memberId === donation.userUUId)?.uuId;\n })\n\n //Validate User Before Sending to Server\n var errors: (string | null)[] = models.map(donation => donation.selfValidate());\n if (errors.some(error => error != null)) {\n subscriber.error({ status: \"IMPORT_ERROR\", error_message: errors.join('') });\n subscriber.complete();\n return;\n }\n\n //Turn off Interceptor\n this.interceptorSignal.emit(false);\n\n //Import Data to Server\n this.ImportDonations(models)\n .pipe(finalize(() => this.interceptorSignal.emit(true)))\n .subscribe({\n next: value => { },\n error: value => subscriber.error(value),\n complete: () => subscriber.complete()\n });\n },\n (error) => subscriber.error({ status: \"IMPORT_ERROR\", error_message: \"匯入時出現錯誤,請重新嘗試。\" }),\n () => { }\n )\n })\n }\n\n public ImportDonations(models: DonationImportModel[]): Observable {\n var finishedTask: number = 0;\n var errorModels: DonationImportModel[] = [];\n return concat(...models.map(model => defer(() => {\n this.currentTask.text = \"正在處理\" + model.id + \"的捐分紀錄。\";\n return this.donationService.importDonation(model)\n .pipe(\n catchError((error) => {\n (model).error = error.error_message;\n errorModels.push(model);\n return EMPTY;\n }),\n finalize(() => {\n finishedTask += 1;\n this.currentTask.rate = finishedTask / models.length * 100;\n })\n )\n }))).pipe(finalize(() => {\n if (errorModels.length > 0) {\n this.exportErrorData(errorModels);\n this.errorHandleService.errorSignal.emit({ status: \"IMPORT ERROR\", error_message: \"滙入資料錯誤,已將錯誤項目滙出\" });\n }\n }));\n }\n\n exportErrorData(data: any): void {\n this.saveAsExcelFile(data, [], \"Data Import Error Report\");\n }\n\n private saveAsExcelFile(json: any, headers: string[], fileName: string) {\n const workSheet: WorkSheet = utils.aoa_to_sheet([\n headers\n ]);\n utils.sheet_add_json(workSheet, json, { origin: headers ? 1 : 0 });\n const workBook: WorkBook = utils.book_new();\n utils.book_append_sheet(workBook, workSheet, fileName);\n /* save to file */\n writeFile(workBook, fileName + \".xlsx\");\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateLivingModel } from 'src/app/models/livings/create-living-model';\nimport { ILiving, Living } from 'src/app/models/livings/living';\nimport { UpdateLivingModel } from 'src/app/models/livings/update-living-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LivingService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getLivingConditionList(): Observable {\n return this.httpService.get(\"livingConditions\")\n .pipe(map(value => value.result.map(living => new Living(living)).sort(LivingConditionSorting)));\n }\n\n public createLivingCondition(model: CreateLivingModel): Observable {\n return this.httpService.post(\"livingConditions\", model);\n }\n\n public updateLivingConditon(model: UpdateLivingModel): Observable {\n return this.httpService.put(\"livingConditions\", model);\n }\n}\n\nfunction LivingConditionSorting(a: Living, b: Living): number {\n return a.name.localeCompare(b.name, 'en', { numeric: true })\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingService {\n private appLoadingSignal: EventEmitter = new EventEmitter();\n\n constructor() { }\n\n public getAppLoadingSignal(): EventEmitter {\n return this.appLoadingSignal;\n }\n\n public startLoading(): void {\n this.appLoadingSignal.emit(true);\n }\n\n public stopLoading(): void {\n this.appLoadingSignal.emit(false);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { INotification, Notification } from 'src/app/models/notifications/notification';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getNotifications(): Observable {\n return this.httpService.get(\"notification\")\n .pipe(map(value => value.result.map(notification => new Notification(notification))));\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { PopupMessage } from 'src/app/backend/popup-message';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PopupMessageService {\n\n constructor() { }\n\n public messageSignal: EventEmitter = new EventEmitter();\n\n public executeSuccessSignal: EventEmitter = new EventEmitter();\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { Product, IProduct } from 'src/app/models/redeems/product';\nimport { ProductListItem, IProductListItem } from 'src/app/models/redeems/product-list-item';\nimport { CreateProductForm } from 'src/app/modules/redeem/forms/create-product-form';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductService {\n\n form: CreateProductForm = new CreateProductForm();\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getProduct(productUUId: string): Observable {\n return this.httpService.get(\"redeem/admin/products?UUId=\" + productUUId)\n .pipe(map(response => new Product(response.result)));\n }\n\n public getProductImage(imagePath: string): Observable {\n return this.httpService.getImage(\"redeem/products/image?imagePath=\" + imagePath)\n }\n\n public getRedeemList(queryString: string): Observable<{ list: ProductListItem[], count: number }> {\n return this.httpService.get<{ list: IProductListItem[], count: number }>(\"redeem/admin/products/list\" + queryString)\n .pipe(map(response => {\n return {\n list: response.result.list.map(redeem => new ProductListItem(redeem)),\n count: response.result.count\n }\n }));\n }\n\n public restock(productUUId: string, quantity: number, maxQuantity: number, closeDate: string) {\n return this.httpService.post, { ProductUUId: string, StockQuantity: number, MaximumQuantityPerPerson: number, CloseDate: string }>(\"redeem/admin/products/restock\", { ProductUUId: productUUId, StockQuantity: quantity, MaximumQuantityPerPerson: maxQuantity, CloseDate: closeDate });\n }\n\n public createProduct(model: FormData): Observable {\n return this.httpService.upload(\"redeem/admin/products\", model)\n .pipe(map(result => result.result));\n }\n\n public deleteProduct(productUUId: string): Observable {\n return this.httpService.delete>(\"redeem/admin/products?productUUId=\" + productUUId);\n }\n\n public getRules(): Observable<{ title: string, rule: string }> {\n return this.httpService.get<{ title: string, rule: string }>(\"redeem/products/rule\")\n .pipe(map(result => result.result));\n }\n\n public setRules(title: string, rule: string): Observable {\n return this.httpService.post(\"redeem/admin/products/rule\", { title: title, rule: rule })\n }\n\n public disableProduct(productUUId: string): Observable {\n return this.httpService.post, { ProductUUId: string }>(\"redeem/admin/products/disable\", { ProductUUId: productUUId });\n }\n\n public updateProduct(model: FormData): Observable {\n return this.httpService.update(\"redeem/admin/products\", model);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateAddressModel } from 'src/app/models/addresses/create-address-model';\nimport { UpdateAddressModel } from 'src/app/models/addresses/update-address-model';\nimport { Center, ICenter } from 'src/app/models/centers/center';\nimport { Agent } from 'src/app/models/profiles/agent';\nimport { Profile, IProfile } from 'src/app/models/profiles/profile';\nimport { UpdateUserModel } from 'src/app/models/profiles/update-user-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n myCenters: Center[] = [];\n agentSelections: Observable<{ uuid: string | undefined, agents: Agent[] | undefined }> | null = null;\n getObservable: Observable | null = null;\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getMyProfile(): Observable {\n return this.httpService.get(\"profiles/me\")\n .pipe(\n map(value => new Profile(value.result)),\n tap(profile => this.myCenters = profile.staffCenters.map(center => new Center(center)))\n );\n }\n\n public getProfileList(queryString: string): Observable<{ list: Profile[], count: number }> {\n return this.httpService.get<{ list: IProfile[], count: number }>(\"profiles/list\" + queryString)\n .pipe(map(value => {\n return {\n list: value.result.list.map(profile => new Profile(profile)),\n count: value.result.count\n }\n }));\n }\n\n public updateProfile(userUUId: string | null, model: UpdateUserModel): Observable {\n return this.httpService.post(\"profiles/\" + userUUId, model);\n }\n\n public getProfileByUUId(uuId: string): Observable {\n return this.httpService.get(\"profiles/\" + uuId)\n .pipe(map(value => new Profile(value.result)));\n }\n\n public deleteUsers(model: string[]): Observable {\n return this.httpService.put(\"auth/delete\", { list: model });\n }\n public FreezeUsers(model: string): Observable {\n return this.httpService.post(\"profiles/freeze\", { userUUId: model });\n }\n\n public unFreezeUsers(model: string): Observable {\n return this.httpService.post(\"profiles/active\", { userUUId: model });\n }\n\n public createAddress(userUUId: string | null, model: CreateAddressModel): Observable {\n return this.httpService.post(\"profiles/\" + userUUId + \"/address\", model);\n }\n\n /** Restore the list of deleted users */\n public restoreUesrs(model: { list: string[] }): Observable {\n return this.httpService.put(\"auth/restore\", model);\n }\n\n /** Delete User Permanently */\n public deleteUsersPermanently(model: { list: string[] }): Observable {\n return this.httpService.put(\"auth/deletePermanently\", model);\n }\n\n public getUUIdByMemberId(model: { list: string[] }): Observable {\n return this.httpService.post(\"profiles/memberId\", model)\n .pipe(map(value => value.result));\n }\n\n public editAddress(model: UpdateAddressModel): Observable {\n return this.httpService.put(\"profiles/me/address\", model);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { RecommandRatio } from 'src/app/models/recommands/recommand-ratio';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RecommandRatioService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getRecommandRatio(): Observable {\n return this.httpService.get(\"Settings/recommendRatio\")\n .pipe(map(value => value.result));\n }\n\n public setRecommandRatio(model: RecommandRatio[]): Observable {\n return this.httpService.post(\"Settings/recommendRatio\", { list: model });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateRedeemQuestionModel } from 'src/app/models/redeem-questions/create-redeem-question-model';\nimport { RedeemQuestion, IRedeemQuestion } from 'src/app/models/redeem-questions/redeem-question';\nimport { UpdateRedeemQuestionModel } from 'src/app/models/redeem-questions/update-redeem-question-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RedeemQuestionService {\n\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getQuestions(): Observable {\n return this.httpService.get(\"redeem/Redeems/Question\")\n .pipe(map(value => value.result.map(question => new RedeemQuestion(question))));\n }\n\n public createQuestion(model: CreateRedeemQuestionModel): Observable {\n return this.httpService.post(\"redeem/admin/RedeemQuestions\", model);\n }\n\n public updateQuestion(model: UpdateRedeemQuestionModel): Observable {\n return this.httpService.put(\"redeem/admin/RedeemQuestions\", model);\n }\n\n public deleteQuestion(uuid: string): Observable {\n return this.httpService.delete(\"redeem/admin/RedeemQuestions?uuid=\" + uuid);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { Profile } from 'src/app/models/profiles/profile';\nimport { RedeemQuestion, IRedeemQuestion } from 'src/app/models/redeem-questions/redeem-question';\nimport { RedeemHistory, IRedeemHistory } from 'src/app/models/redeems/redeem-history';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RedeemService {\n\n public user: Profile | null = null;\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public approve(redeemUUId: string, quantity: number): Observable {\n return this.httpService.post(\"redeem/admin/redeems/approve\", { RedeemUUId: redeemUUId, Quantity: quantity });\n }\n\n public grant(productUUId: string, userUUId: string, quantity: number, reason: string): Observable {\n return this.httpService.post(\"redeem/admin/redeems/grant\", {\n ProductUUId: productUUId, UserUUId: userUUId, Quantity: quantity, RedeemReason: reason\n });\n }\n\n public update(redeemUUId: string, quantity: number): Observable {\n return this.httpService.put(\"redeem/admin/redeems\", { RedeemUUId: redeemUUId, Quantity: quantity });\n }\n\n public cancel(redeemUUId: string): Observable {\n return this.httpService.delete(\"redeem/admin/redeems?RedeemUUId=\" + redeemUUId);\n }\n\n public getQuestions(): Observable {\n return this.httpService.get(\"redeem/redeems/question\")\n .pipe(map(result => result.result.map(question => new RedeemQuestion(question))));\n }\n\n public getRules(): Observable<{ title: string, rule: string }> {\n return this.httpService.get<{ title: string, rule: string }>(\"redeem/products/rule\")\n .pipe(map(result => result.result));\n }\n\n public setRules(title: string, rule: string): Observable {\n return this.httpService.post(\"redeem/admin/products/rule\", { title: title, rule: rule })\n }\n\n public getUserRedeemHistory(userUUId: string): Observable {\n return this.httpService.get(\"redeem/admin/redeems?UserUUId=\" + userUUId)\n .pipe(map(result => result.result.map(redeem => new RedeemHistory(redeem))));\n }\n\n public deliveredRedeem(redeemUUId:string):Observable {\n return this.httpService.post(\"redeem/admin/redeems/Delivered\", { RedeemUUId: redeemUUId});\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { RequestImportModel } from 'src/app/models/imports/request-import-model';\nimport { CreateRequestModel } from 'src/app/models/requests/create-request-model';\nimport { IRequest, Request } from 'src/app/models/requests/request';\nimport { IRequestListItem, RequestListItem } from 'src/app/models/requests/request-list-item';\nimport { CreateRequestForm } from 'src/app/modules/request/forms/create-request-form';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RequestService {\n\n form: CreateRequestForm = new CreateRequestForm()\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getRequests(queryString: string): Observable<{ list: RequestListItem[], count: number }> {\n return this.httpService.get<{ list: IRequestListItem[], count: number }>(\"requests/list\" + queryString)\n .pipe(map(value => {\n return {\n list: value.result.list.map(request => new RequestListItem(request)),\n count: value.result.count\n };\n }));\n }\n\n public getRequestByUUId(uuId: string): Observable {\n return this.httpService.get(\"requests/\" + uuId)\n .pipe(map(value => new Request(value.result)));\n }\n\n\n public createRequest(userUUId: string, model: CreateRequestModel): Observable {\n return this.httpService.post(\"requests/\" + userUUId, model);\n }\n\n public deleteRequests(model: string[]): Observable {\n return this.httpService.put(\"requests/delete\", { list: model });\n }\n\n public inviteVolunteers(requestUUId: string, model: { volunteersUUId: string[] }): Observable {\n return this.httpService.post(\"requests/\" + requestUUId + \"/askforinterest\", model)\n }\n\n public finishRequest(requestUUId: string): Observable {\n return this.httpService.post(\"requests/\" + requestUUId + \"/Finish\", null);\n }\n\n public approveRequest(requestUUId: string): Observable {\n return this.httpService.put(\"requests/\" + requestUUId + \"/ready\", null);\n }\n public editRemark(requestUUId: string,model:{Remark:string}){\n return this.httpService.put(\"orders/\" + requestUUId + \"/remark\", model);\n }\n public editCheckInCheckOutTime(requestUUId: string, model: { CheckInTime: string, CheckOutTime: string }): Observable {\n return this.httpService.post(\"orders/\" + requestUUId + \"/edit\", model);\n }\n\n public giveRequestAllowance(model: { requestUUId: string, amount: number }): Observable {\n return this.httpService.post<{ requestUUId: string, amount: number }, any>(\"donations/DonationRequest\", model);\n }\n\n public postRating(requestUUId: string, rating: { rating: number, comment: string }): Observable {\n return this.httpService.post(\"requests/\" + requestUUId + \"/volunteerRating\", rating);\n }\n\n public postStaffComment(requestUUId: string, model: { Comment: string }): Observable {\n return this.httpService.post(\"orders/\" + requestUUId + \"/StaffComment\", model);\n }\n\n public startRequest(requestUUId: string, model: { dateTime: string }): Observable {\n return this.httpService.post(\"orders/\" + requestUUId + \"/start\", model);\n }\n\n public cancelRequest(requestUUId: string, model: { CancelRequestReason: string }): Observable {\n return this.httpService.put(\"requests/\" + requestUUId + \"/cancel\", model);\n }\n\n public cancelRequestReason(requestUUId: string, model: { CancelRequestReason: string }): Observable {\n return this.httpService.put(\"requests/\" + requestUUId + \"/CancelReason\", model);\n }\n\n\n /** Restore the list of deleted requests */\n public restoreRequests(model: { list: string[] }): Observable {\n return this.httpService.put(\"requests/restore\", model);\n }\n\n /** Delete requests permanently */\n public deleteRequestsPermanently(model: { list: string[] }): Observable {\n return this.httpService.put(\"requests/deletePermanently\", model);\n }\n\n public ImportRequest(model: RequestImportModel): Observable {\n return this.httpService.post(\"requests/import\", model);\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateServiceModel } from 'src/app/models/services/create-service-model';\nimport { CreateServiceTypeModel } from 'src/app/models/services/create-service-type-model';\nimport { ServiceType, IServiceType } from 'src/app/models/services/service-type';\nimport { UpdateServiceModel } from 'src/app/models/services/update-service-model';\nimport { UpdateServiceTypeModel } from 'src/app/models/services/update-service-type-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ServiceService {\n\n signal: EventEmitter = new EventEmitter();\n\n constructor(private httpService: HttpService) { }\n\n public getServiceTypeList(): Observable {\n return this.httpService.get(\"services\")\n .pipe(map(value => value.result.map(serviceType => new ServiceType(serviceType)).sort(ServiceTypeSorting)))\n }\n\n public getAllServiceTypeList(): Observable {\n return this.httpService.get(\"services?ShowAll=true\")\n .pipe(map(value => value.result.map(serviceType => new ServiceType(serviceType)).sort(ServiceTypeSorting)))\n }\n\n public createServiceType(model: CreateServiceTypeModel): Observable {\n return this.httpService.post(\"services/serviceType\", model);\n }\n\n public updateServiceType(model: UpdateServiceTypeModel): Observable {\n return this.httpService.put(\"services/serviceType\", model);\n }\n\n public createService(model: CreateServiceModel): Observable {\n return this.httpService.post(\"services\", model);\n }\n\n public updateService(model: UpdateServiceModel): Observable {\n return this.httpService.put(\"services\", model);\n }\n}\n\n\nfunction ServiceTypeSorting(a: ServiceType, b: ServiceType): number {\n return a.name.localeCompare(b.name, 'en', { numeric: true })\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { ISignUpSetting } from 'src/app/models/settings/sign-up-setting';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SettingService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n GetSignUpSetting(): Observable {\n return this.httpService.get(\"settings/timebanksetting\")\n .pipe(map(value => value.result));\n }\n\n SetSignUpSetting(setting: ISignUpSetting): Observable {\n return this.httpService.post(\"settings/timebanksetting\", setting);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { IApproveSignUpUserModel } from 'src/app/models/sign-ups/approve-sign-up-user-model';\nimport { ISignUpUser, SignUpUser } from 'src/app/models/sign-ups/sign-up-user';\nimport { ISignUpUserListItem, SignUpUserListItem } from 'src/app/models/sign-ups/sign-up-user-list-item';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SignUpService {\n\n constructor(private httpService: HttpService) { }\n\n getSignUpUserList(query: string): Observable<{ list: SignUpUserListItem[], count: number }> {\n return this.httpService.get<{ list: ISignUpUserListItem[], count: number }>(\"auth/signuplist\" + query)\n .pipe(map(value => {\n return {\n list: value.result.list.map(u => new SignUpUserListItem(u)),\n count: value.result.count\n };\n }));\n }\n\n getSignUpUser(userUUId: string): Observable {\n return this.httpService.get(\"auth/SignUpUser?UserUUId=\" + userUUId)\n .pipe(map(value => new SignUpUser(value.result)));\n }\n\n startApproval(userUUId: string): Observable {\n return this.httpService.post(\"auth/startApproval\", { userUUId: userUUId });\n }\n\n approve(model: IApproveSignUpUserModel): Observable {\n return this.httpService.post(\"auth/approve\", model);\n }\n\n disapprove(model: { UserUUId: string, Reason: string }): Observable {\n return this.httpService.post(\"auth/disapprove\", model);\n }\n\n resetApproval(userUUId: string): Observable {\n return this.httpService.post(\"auth/ResetApproval\", { userUUId: userUUId });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { Profile, IProfile } from 'src/app/models/profiles/profile';\nimport { CreateStaffModel } from 'src/app/models/staffs/create-staff-model';\nimport { UpdateMyStaffModel } from 'src/app/models/staffs/update-my-staff-model';\nimport { UpdateStaffModel } from 'src/app/models/staffs/update-staff-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StaffService {\n\n constructor(private httpService: HttpService) { }\n\n public getStaffProfileList(): Observable {\n return this.httpService.get(\"profiles/staff/list\")\n .pipe(map(value => value.result.map(profile => new Profile(profile))));\n }\n\n public registerStaff(model: CreateStaffModel): Observable {\n return this.httpService.post(\"auth/registerStaff\", model);\n }\n\n public editMyStaffProfile(model: UpdateMyStaffModel): Observable {\n return this.httpService.put(\"profiles/my-staff\", model);\n }\n\n public editStaffProfile(userUUId: string, model: UpdateStaffModel): Observable {\n return this.httpService.post(\"profiles/staff/\" + userUUId, model);\n }\n\n public deleteStaffs(model: string[]): Observable {\n return this.httpService.put(\"auth/delete\", { list: model });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { ITransaction, Transaction } from 'src/app/models/transactions/transaction';\nimport { UserTransaction } from 'src/app/models/transactions/user-transaction';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TransactionService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getUserTransactions(userUUId: string): Observable {\n return this.httpService.get(\"transactions/\" + userUUId + \"/list\")\n .pipe(map(value => value.result.map(t => new UserTransaction(t))));\n }\n\n public cancelTransaction(transactionUUId: string, model: { remark: string }): Observable {\n return this.httpService.post(\"transactions/\" + transactionUUId + \"/cancel\", model);\n }\n\n public editTransaction(transactionUUId: string, model: { amount: number }): Observable<{ newTransactionUUId: string }> {\n return this.httpService.put<{ newTransactionUUId: string }, { amount: number }>(\"transactions/\" + transactionUUId, model)\n .pipe(map(value => value.result));\n }\n\n public getDeletedTransaction(): Observable {\n return this.httpService.get(\"transactions/deletedList\")\n .pipe(map(value => value.result.map(transaction => new Transaction(transaction))));\n }\n\n public restoreTransactions(transactionUUIds: string[]): Observable {\n return this.httpService.put(\"transactions/restore\", { list: transactionUUIds });\n }\n\n public deleteTransactionsPermanently(transactionUUIds: string[]): Observable {\n return this.httpService.put(\"transactions/deletePermanently\", { list: transactionUUIds });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { CreateTransportationModel } from 'src/app/models/transportations/create-transportation-model';\nimport { Transportation, ITransportation } from 'src/app/models/transportations/transportation';\nimport { UpdateTransportationModel } from 'src/app/models/transportations/update-transportation-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TransportationService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public getTransportationList(): Observable {\n return this.httpService.get(\"transportations\")\n .pipe(map(value => value.result.map(transportation => new Transportation(transportation)).sort(TransportationSorting)));\n }\n\n public createTransportation(model: CreateTransportationModel): Observable {\n return this.httpService.post(\"transportations\", model);\n }\n\n public updateTransportation(model: UpdateTransportationModel): Observable {\n return this.httpService.put(\"transportations\", model);\n }\n\n public editRequestTransportation(requestUUId: string, transportationUUId: string): Observable {\n return this.httpService.post(\"requests/Transporation\", { requestUUId: requestUUId, transportationUUId: transportationUUId });\n }\n}\n\nfunction TransportationSorting(a: Transportation, b: Transportation): number {\n return a.name.localeCompare(b.name, 'en', { numeric: true })\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HttpService } from 'src/app/backend/http.service';\nimport { SearchVolunteerByRequestModel } from 'src/app/models/requests/search-volunteer-by-request-model';\nimport { SearchVolunteerModel } from 'src/app/models/requests/search-volunteer-model';\nimport { IVolunteerChoice, VolunteerChoice } from 'src/app/models/requests/volunteer-choice';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VolunteerService {\n\n constructor(\n private httpService: HttpService\n ) { }\n\n public showInterest(uuId: string, model: { volunteersUUId: string[] }): Observable {\n return this.httpService.post(\"requests/\" + uuId + \"/showinterest\", model);\n }\n\n public match(requestUUId: string, model: { volunteersUUId: string[] }): Observable {\n return this.httpService.post(\"requests/\" + requestUUId + \"/confirm\", model);\n }\n\n\n public checkIn(requestUUId: string, model: { volunteersUUId: string[] }): Observable {\n return this.httpService.post(\"orders/\" + requestUUId + \"/checkin\", model);\n }\n\n public checkOut(requestUUId: string, model: { volunteersUUId: string[] }): Observable {\n return this.httpService.post(\"orders/\" + requestUUId + \"/checkout\", model);\n }\n\n public searchVolunteers(model: SearchVolunteerModel): Observable {\n return this.httpService.post(\"volunteers\", model)\n .pipe(map(value => value.result.map(choice => new VolunteerChoice(choice))));\n }\n\n public searchVolunteersByRequest(requestUUId: string, model: SearchVolunteerByRequestModel): Observable {\n return this.httpService.post(\"volunteers/\" + requestUUId, model)\n .pipe(map(value => value.result.map(choice => new VolunteerChoice(choice))));\n }\n\n public feedback(requestUUId: string, model: { VolunteerUUId:string,rating: number, comment: string }): Observable {\n return this.httpService.post(\"requests/\" + requestUUId + \"/requesterRatingbyStaff\", model);\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}