kwikid-agent-dashboard 0.0.48 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"kwikid-agent-dashboard.js","sources":["../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-header/layout-header.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-header/layout-header.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/primary-actions/primary-actions.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/primary-actions/primary-actions.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/map-view/map-view.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/map-view/map-view.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item-status/task-item-status.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item-status/task-item-status.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-detail/task-detail.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-detail/task-detail.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/bottom-sheet/bottom-sheet.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/bottom-sheet/bottom-sheet.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/helpers/date.helplers.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/helpers/array.helper.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list-search/task-list-search.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list-search/task-list-search.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.constant.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list/task-list.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list/task-list.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-body/layout-body.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-body/layout-body.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/kwikid-agent-dashboard.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/kwikid-agent-dashboard.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/helpers/maps.helpers.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.definitions.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/services/agent.service.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/services/google-maps.service.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/services/open-street-maps.service.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.constants.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/action-button/action-button.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/action-button/action-button.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-details/customer-details.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-details/customer-details.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/customer-tile.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/customer-tile.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/pipes/search-filter.pipe.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-list/customer-list.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-list/customer-list.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/kwikid-agent-dashboard.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/kwikid-agent-dashboard.component.html","../../../projects/kwikid-agent-dashboard/src/lib/kwikid-agent-dashboard.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/kwikid-agent-dashboard.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/kwikid-agent-dashboard.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/agent-info/agent-info.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/agent-info/agent-info.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/agent-info/agent-info.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/bottom-sheet/bottom-sheet.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/map-view/map-view.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/primary-actions/primary-actions.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item-status/task-item-status.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-detail/task-detail.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list-search/task-list-search.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/pipes/search-filter.pipe.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list/task-list.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-preview/task-preview.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-preview/task-preview.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-preview/task-preview.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/components.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-body/layout-body.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-header/layout-header.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/kwikid-agent-dashboard.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/kwikid-agent-dashboard.module.ts","../../../projects/kwikid-agent-dashboard/src/public_api.ts","../../../projects/kwikid-agent-dashboard/src/kwikid-agent-dashboard.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\n\n@Component({\n selector: \"layout-header\",\n templateUrl: \"./layout-header.component.html\",\n styleUrls: [\"./layout-header.component.scss\"]\n})\nexport class LayoutHeaderComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n agentInfo: any = {};\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter();\n\n constructor() {}\n\n async ngOnInit() {}\n\n refreshPage() {\n this.handleOnGetTaskList({});\n }\n\n open = false;\n\n onClick(): void {\n this.open = !this.open;\n }\n\n onObscured(obscured: boolean): void {\n if (obscured) {\n this.open = false;\n }\n }\n\n onActiveZone(active: boolean): void {\n this.open = active && this.open;\n }\n\n logout() {\n this.handleOnClickPerformAction({ action: { type: \"logout\" } });\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n handleOnClickPerformAction(event) {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div id=\"header-container\">\n <div id=\"client-information-wrapper\">\n <img\n id=\"client-logo\"\n [src]=\"config?.theme?.clientLogo\"\n />\n </div>\n <div id=\"actions-wrapper\">\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconSettingsLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"l\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button>\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentInfo?.agent_name ?? \"Welcome\" }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID:\n {{ agentInfo?.agent_id }}\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Refresh\"\n [icon]=\"'tuiIconRefreshCw'\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"refreshPage()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n id=\"\"\n label=\"Logout\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconLogOut'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"logout()\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { ALWAYS_FALSE_HANDLER } from \"@taiga-ui/cdk\";\nimport { logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"primary-actions\",\n templateUrl: \"./primary-actions.component.html\",\n styleUrls: [\"./primary-actions.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PrimaryActionsComponent implements OnInit, OnChanges {\n @Input()\n primaryActionsConfig: any = [];\n\n @Output()\n onClickPrimaryAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n for (const change of Object.entries(changes)) {\n const key: string = change[0];\n const value: any = change[1].currentValue;\n }\n\n if (verifyChange(\"primaryActionsConfig\")) {\n this.primaryActionsConfig = changes.primaryActionsConfig.currentValue;\n this.primaryActionsConfig.map(ALWAYS_FALSE_HANDLER);\n }\n }\n\n @logMethod\n handleOnInitPrimaryActionsConfig(): void {\n this.primaryActionsConfig = this.primaryActionsConfig;\n this.primaryActionsConfig.map(ALWAYS_FALSE_HANDLER);\n }\n\n @logMethod\n handleOnClickPrimaryAction(event): void {\n this.onClickPrimaryAction.emit(event);\n }\n\n trackByFn(index: number, item: any) {\n return index; // or unique identifier if available\n }\n}\n","<div id=\"primary-actions-container\">\n <tui-items-with-more\n tuiGroup\n [itemsLimit]=\"1\"\n >\n <ng-container *ngFor=\"let item of primaryActionsConfig; let index = index\">\n <kwikui-button\n *tuiItem\n [label]=\"item.label\"\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n styles=\"width: max-content; margin-right: 1rem; box-shadow: #32325d40 0 13px 27px -5px, #0000004d 0 8px 16px -8px;\"\n [icon]=\"item.props.iconLeft || ''\"\n [iconRight]=\"item.props.iconRight || ''\"\n (onClick)=\"handleOnClickPrimaryAction(item)\"\n ></kwikui-button>\n </ng-container>\n <ng-template\n let-lastIndex\n tuiMore\n >\n <tui-hosted-dropdown\n tuiDropdownAlign=\"right\"\n class=\"item\"\n [content]=\"dropdown\"\n >\n <kwikui-button\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n icon=\"tuiIconMoreVertical\"\n styles=\"\n box-shadow: #32325d40 0 13px 27px -5px, #0000004d 0 8px 16px -8px;\n \"\n ></kwikui-button>\n <ng-template #dropdown>\n <tui-data-list size=\"l\">\n <ng-container\n *ngFor=\"let item of primaryActionsConfig; let index = index\"\n >\n <kwikui-button\n *ngIf=\"index > lastIndex\"\n tuiOption\n [label]=\"item.label\"\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n styles=\"width: calc(100% - 1rem); margin: 0.5rem;\"\n [icon]=\"item.props.iconLeft || ''\"\n [iconRight]=\"item.props.iconRight || ''\"\n (onClick)=\"handleOnClickPrimaryAction(item)\"\n ></kwikui-button>\n </ng-container>\n </tui-data-list>\n </ng-template>\n </tui-hosted-dropdown>\n </ng-template>\n </tui-items-with-more>\n</div>\n","import { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\n\n@Component({\n selector: \"map-view\",\n templateUrl: \"./map-view.component.html\",\n styleUrls: [\"./map-view.component.scss\"]\n})\nexport class MapViewComponent implements OnInit {\n @Input()\n mapConfig: any = {\n isMapHidden: true\n };\n\n constructor() {}\n\n async ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n for (const change of Object.entries(changes)) {\n const key: string = change[0];\n const value: any = change[1].currentValue;\n }\n\n if (verifyChange(\"mapConfig\")) {\n this.mapConfig = changes.mapConfig.currentValue;\n }\n }\n}\n","<div class=\"map-view-container\">\n <iframe\n *ngIf=\"!mapConfig?.isMapHidden\"\n src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d942.4620332111369!2d72.89243374854026!3d19.114317185214237!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3be7c90062467355%3A0xbc5e9528a3783c2b!2sBoomerang!5e0!3m2!1sen!2sin!4v1708350741641!5m2!1sen!2sin\"\n width=\"600\"\n height=\"450\"\n style=\"border: 0\"\n allowfullscreen=\"\"\n loading=\"lazy\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n ></iframe>\n</div>\n","import { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\nimport {\n logMethod,\n isNotEmptyValue,\n checkObjectKeyExists,\n convertSnakeCaseToNormalText,\n checkObjectPathExists\n} from \"kwikid-toolkit\";\n\n@Component({\n selector: \"task-item-status\",\n templateUrl: \"./task-item-status.component.html\",\n styleUrls: [\"./task-item-status.component.scss\"]\n})\nexport class TaskItemStatusComponent implements OnInit {\n @Input()\n config;\n\n @Input()\n status;\n\n styles = {};\n\n value = \"\";\n\n constructor() {}\n\n async ngOnInit() {\n this.setupStatus();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"config\")) {\n this.config = changes.config.currentValue;\n }\n if (verifyChange(\"status\")) {\n this.status = changes.status.currentValue;\n\n this.setupStatus();\n }\n }\n\n setupStatus() {\n if (\n checkObjectPathExists(this.config, \"mapping\") &&\n checkObjectKeyExists(this.config.mapping, this.status)\n ) {\n this.styles = this.config.mapping[this.status];\n this.value =\n this.config.mapping[this.status]?.label ??\n convertSnakeCaseToNormalText(this.status);\n }\n }\n}\n","<div\n class=\"task-iem-status-container\"\n [style]=\"styles\"\n>\n {{ value }}\n</div>\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\n\nimport {\n isNotEmptyValue,\n getObjectValueFromPath,\n checkObjectPathExists\n} from \"kwikid-toolkit\";\n\n@Component({\n selector: \"task-detail\",\n templateUrl: \"./task-detail.component.html\",\n styleUrls: [\"./task-detail.component.scss\"]\n})\nexport class TaskDetailComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n taskDetail: any = {};\n\n data: any = [];\n\n title: string = undefined;\n\n taskId: string = undefined;\n\n status: string = undefined;\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @Output()\n onClickCloseTaskDetail: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {\n this.parseData();\n this.parseTaskId();\n this.parseSessionStatus();\n }\n\n ngOnChanges(changes: SimpleChanges): void {}\n\n parseData() {\n if (\n checkObjectPathExists(this.config, \"taskUI.details.data\") &&\n isNotEmptyValue(this.config.taskUI.details.data) &&\n Array.isArray(this.config.taskUI.details.data) &&\n this.config.taskUI.details.data.length > 0\n ) {\n const data = [];\n this.config.taskUI.details.data.map((field) => {\n const value = getObjectValueFromPath(this.taskDetail.data, field.path);\n data.push({ label: field.label, value });\n });\n this.labelValuePairData = data;\n this.labelValuePairConfig = this.config?.taskUI?.details?.config ?? {};\n this.title = this.config?.taskUI?.details?.header?.title;\n }\n }\n\n parseSessionStatus() {\n if (\n this.config?.utilityFlags?.isShowTaskStatus &&\n checkObjectPathExists(\n this.config,\n \"taskUI.details.header.taskStatus.path\"\n ) &&\n isNotEmptyValue(this.config.taskUI.details.header.taskStatus.path)\n ) {\n this.status = getObjectValueFromPath(\n this.taskDetail.data,\n this.config?.taskUI?.details?.header?.taskStatus?.path\n );\n }\n }\n\n parseTaskId() {\n if (\n checkObjectPathExists(this.config, \"taskUI.details.header.taskId.path\") &&\n isNotEmptyValue(this.config.taskUI.details.header.taskId.path)\n ) {\n this.taskId = getObjectValueFromPath(\n this.taskDetail.data,\n this.config?.taskUI?.details?.header?.taskId?.path\n );\n }\n }\n\n handleOnClickClose(e: any): void {\n this.onClickCloseTaskDetail.emit(e);\n }\n\n handleOnClickPerformAction(e: any) {\n alert(`${e.id}, Action yet to be added`);\n }\n}\n","<div id=\"task-detail-container\">\n <kwikui-button\n appearance=\"primary\"\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickClose($event)\"\n ></kwikui-button>\n\n <div id=\"task-details-title\">{{ title }}</div>\n <div id=\"task-detail-header\">\n <div>{{ taskId }}</div>\n <task-item-status\n *ngIf=\"status\"\n [config]=\"config?.taskUI?.details?.header?.taskStatus\"\n [status]=\"status\"\n ></task-item-status>\n </div>\n\n <div id=\"task-details-container\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n id=\"task-detail-footer\"\n *ngIf=\"\n config?.taskUI?.details?.action &&\n config?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikui-button\n [label]=\"action.label\"\n appearance=\"primary\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickPerformAction(action)\"\n ></kwikui-button>\n </ng-container>\n </div>\n</div>\n","import { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\nimport { logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"bottom-sheet\",\n templateUrl: \"./bottom-sheet.component.html\",\n styleUrls: [\"./bottom-sheet.component.scss\"]\n})\nexport class BottomSheetComponent implements OnInit {\n @ViewChild(\"parentElement\", { static: true })\n parentElement: ElementRef<HTMLVideoElement>;\n\n constructor() {}\n\n async ngOnInit() {}\n\n isSwipeActive = false;\n\n swipeDirection: \"UP\" | \"DOWN\" = null;\n\n startY: number;\n\n startHeight: number;\n\n height = 320; // Initial height of the bottom sheet\n\n minHeight = 54; // Initial height of the bottom sheet\n\n @logMethod\n onMouseStart(event: MouseEvent) {\n event.preventDefault();\n\n this.isSwipeActive = true;\n\n this.startY = event.clientY;\n this.startHeight = this.parentElement.nativeElement.clientHeight;\n }\n\n onMouseMove(event: MouseEvent) {\n if (this.isSwipeActive) {\n this.resize(event.clientY);\n }\n }\n\n @logMethod\n onMouseEnd(event: MouseEvent) {\n this.isSwipeActive = false;\n }\n\n @logMethod\n onTouchStart(event: TouchEvent) {\n event.preventDefault();\n\n this.isSwipeActive = true;\n\n this.startY = event.touches[0].clientY;\n this.startHeight = this.parentElement.nativeElement.clientHeight;\n }\n\n @logMethod\n onTouchMove(event: TouchEvent) {\n event.preventDefault(); // Prevent scrolling while dragging\n if (this.isSwipeActive) {\n this.resize(event.touches[0].clientY);\n }\n }\n\n @logMethod\n onTouchEnd(event: TouchEvent) {\n this.isSwipeActive = false;\n }\n\n resize(clientY: number) {\n const deltaY = clientY - this.startY;\n const newHeight = this.startHeight - deltaY;\n\n if (newHeight > this.startHeight) {\n this.swipeDirection = \"UP\";\n }\n if (newHeight < this.startHeight) {\n this.swipeDirection = \"DOWN\";\n }\n\n const maxHeight = window.innerHeight - 180;\n if (newHeight >= this.minHeight && newHeight <= maxHeight) {\n // this.height = newHeight;\n this.parentElement.nativeElement.style.height = `${newHeight}px`;\n } else if (newHeight < this.minHeight) {\n this.parentElement.nativeElement.style.height = `${this.minHeight}px`;\n } else if (newHeight > maxHeight) {\n this.parentElement.nativeElement.style.height = `${maxHeight}px`;\n }\n }\n\n @logMethod\n preventMouseOrTouchEvents(event: MouseEvent | TouchEvent) {\n event.stopPropagation();\n\n return undefined;\n }\n\n removeEventListeners() {\n document.removeEventListener(\"mousedown\", this.onMouseStart.bind(this));\n document.removeEventListener(\"mousemove\", this.onMouseMove.bind(this));\n document.removeEventListener(\"mouseup\", this.onMouseEnd.bind(this));\n document.removeEventListener(\"touchend\", this.onTouchMove.bind(this));\n document.removeEventListener(\"touchmove\", this.onTouchEnd.bind(this));\n document.removeEventListener(\"touchstart\", this.onTouchEnd.bind(this));\n }\n}\n","<div\n #parentElement\n class=\"bottom-sheet\"\n [style.height.px]=\"height\"\n>\n <div\n class=\"top-holder\"\n (mousedown)=\"onMouseStart($event)\"\n (mousemove)=\"onMouseMove($event)\"\n (mouseup)=\"onMouseEnd($event)\"\n (touchend)=\"onTouchEnd($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchstart)=\"onTouchStart($event)\"\n >\n <tui-svg\n *ngIf=\"isSwipeActive && swipeDirection == 'UP'\"\n src=\"tuiIconChevronUpLarge\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"isSwipeActive && swipeDirection == 'DOWN'\"\n src=\"tuiIconChevronDownLarge\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"!isSwipeActive\"\n src=\"tuiIconHrLarge\"\n ></tui-svg>\n </div>\n <!-- Use ng-content to project content into the component -->\n <div class=\"bottom-sheet-content-container\">\n <ng-content></ng-content>\n </div>\n</div>\n","export const padZeroValuesInStart = (value, digits = 2) => {\n return String(value).padStart(digits, \"0\");\n};\n\nexport const convertKwikUIDateToStringFormat = (event) => {\n const { year } = event;\n const month = padZeroValuesInStart(event.month + 1, 2);\n const day = padZeroValuesInStart(event.day);\n\n return `${year}-${month}-${day}`;\n};\n\nexport const convertNormalDateToStringFormat = (value) => {\n const date = value ? new Date(value) : new Date();\n\n const year = date.getFullYear();\n const month: number | string = padZeroValuesInStart(date.getMonth() + 1);\n const day: number | string = padZeroValuesInStart(date.getDate());\n\n return `${year}-${month}-${day}`;\n};\n","export const sortItems = (data, key, sortInAscendingOrder) => {\n if (!data || data.length === 0) {\n return data; // Skip sorting if no items are available\n }\n\n const sortedData = sortInAscendingOrder\n ? data.sort((a, b) => (a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0))\n : data.sort((b, a) => (a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0));\n\n return sortedData;\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output\n} from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { logMethod } from \"kwikid-toolkit\";\nimport { TuiDay, TuiDayRange } from \"@taiga-ui/cdk\";\nimport {\n convertKwikUIDateToStringFormat,\n convertNormalDateToStringFormat\n} from \"../../helpers/date.helplers\";\n\n@Component({\n selector: \"task-list-search\",\n templateUrl: \"./task-list-search.component.html\",\n styleUrls: [\"./task-list-search.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TaskListSearchComponent implements OnInit {\n @Input()\n config;\n\n // Search Text\n searchText = \"\";\n\n formGroup: FormGroup = new FormGroup({});\n\n searchTextFormControl: FormControl;\n\n searchDateFormControl: FormControl;\n\n sortFilterKeyFormControl: FormControl;\n\n sortInAscendingOrder = true;\n\n // Date Range Values\n start_time: string | Date = undefined;\n\n end_time: string | Date = undefined;\n\n max: TuiDay = new TuiDay(\n new Date().getFullYear(),\n new Date().getMonth(),\n new Date().getDate()\n );\n\n maxLength: any;\n\n // Sorting Variables\n sortFilterOptions = [\"name\", \"session_status\", \"mobile_number\"];\n\n activeSearchAction: string = undefined;\n\n @Output()\n onFilterTasksByText: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onFilterTasksByDate: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onChangeSortFilter: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit() {\n this.handleSearchAndSortFormControls();\n this.handleInitialDateRange();\n }\n\n handleOnClickSearchType(type) {\n if (this.activeSearchAction !== type) {\n this.activeSearchAction = type;\n } else {\n this.activeSearchAction = undefined;\n }\n }\n\n handleInitialDateRange() {\n const searchFilterStartPoint = this.config?.extendedFlags\n ?.searchFilterStartPoint ?? {\n day: 0,\n month: 0,\n year: 0\n };\n const currentDate = new Date();\n const startDate = new Date(\n currentDate.getFullYear() - searchFilterStartPoint?.year ?? 0,\n currentDate.getMonth() - searchFilterStartPoint?.month ?? 0,\n currentDate.getDate() - searchFilterStartPoint?.day ?? 0\n );\n\n this.searchDateFormControl = new FormControl({\n value: new TuiDayRange(\n new TuiDay(\n startDate.getFullYear(),\n startDate.getMonth(),\n startDate.getDate()\n ),\n this.max\n ),\n disabled: false\n });\n this.formGroup.addControl(\"search-date\", this.searchDateFormControl);\n\n this.start_time = convertNormalDateToStringFormat(startDate);\n this.end_time = convertNormalDateToStringFormat(null);\n\n // To get Tasks for First Time\n this.onFilterTasksByDate.emit({\n start_time: this.start_time,\n end_time: this.end_time\n });\n }\n\n handleSearchAndSortFormControls() {\n this.searchTextFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"search-text\", this.searchTextFormControl);\n\n this.sortFilterKeyFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"sort-filter\", this.sortFilterKeyFormControl);\n this.sortFilterOptions =\n this.config?.extendedFlags?.sortFilterKeys ?? this.sortFilterOptions;\n }\n\n @logMethod\n handleOnChangeSearchText(event: any): void {\n this.onFilterTasksByText.emit({ text: event.value });\n }\n\n handleOnChangeDateRange(event: any) {\n this.handleChangeDateRangeFormat(event);\n this.onFilterTasksByDate.emit({\n start_time: this.start_time,\n end_time: this.end_time\n });\n }\n\n handleOnChangeSortFilter(event: any) {\n this.onChangeSortFilter.emit({\n sortFilterKey: this.sortFilterKeyFormControl.value,\n sortFilterOrder: this.sortInAscendingOrder\n });\n }\n\n handleOnClickChangeSortOrder() {\n this.sortInAscendingOrder = !this.sortInAscendingOrder;\n this.handleOnChangeSortFilter(false);\n }\n\n handleChangeDateRangeFormat(event: any) {\n this.start_time = convertKwikUIDateToStringFormat(event.value.from);\n this.end_time = convertKwikUIDateToStringFormat(event.value.to);\n }\n}\n","<div\n class=\"task-list-search-container\"\n [formGroup]=\"formGroup\"\n>\n <div class=\"task-list-search-icons\">\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconSearchLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-text')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconCalendarLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-date')\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"config?.utilityFlags?.isAllowSortTasks\"\n appearance=\"mono\"\n icon=\"tuiIconFilterLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('sort-filter')\"\n ></kwikui-button>\n </div>\n\n <div\n class=\"task-list-search-action\"\n *ngIf=\"activeSearchAction\"\n >\n <kwikui-input-date-range\n *ngIf=\"activeSearchAction == 'search-date'\"\n class=\"task-list-date-box\"\n label=\"Search by Date Range\"\n id=\"dateRange\"\n size=\"m\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n formControlName=\"search-date\"\n [formControl]=\"searchDateFormControl\"\n (getKeyValue)=\"handleOnChangeDateRange($event)\"\n ></kwikui-input-date-range>\n\n <kwikui-input\n *ngIf=\"activeSearchAction == 'search-text'\"\n label=\"Search\"\n id=\"search\"\n icon=\"tuiIconSearch\"\n placeholder=\"Search any task from here\"\n size=\"m\"\n [formControl]=\"searchTextFormControl\"\n formControlName=\"search-text\"\n (getKeyValue)=\"handleOnChangeSearchText($event)\"\n ></kwikui-input>\n\n <div\n *ngIf=\"activeSearchAction == 'sort-filter'\"\n class=\"task-list-sort-action\"\n >\n <kwikui-button\n appearance=\"outline\"\n [icon]=\"\n sortInAscendingOrder\n ? 'tuiIconChevronsUpLarge'\n : 'tuiIconChevronsDownLarge'\n \"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickChangeSortOrder()\"\n ></kwikui-button>\n <kwikui-input-select\n class=\"task-list-sort-key\"\n formControlName=\"sort-filter\"\n label=\"Sort By Key\"\n size=\"m\"\n [formControl]=\"sortFilterKeyFormControl\"\n [options]=\"sortFilterOptions\"\n [searchable]=\"false\"\n (getKeyValue)=\"handleOnChangeSortFilter($event)\"\n ></kwikui-input-select>\n </div>\n </div>\n</div>\n","export const PREVIEW_DATA_DEFAULT_CONFIG = {\n separator: \":\",\n orientation: \"horizontal\",\n placeholder: \"-\",\n customStyles: {\n label: {},\n value: {},\n placeholder: {},\n container: {}\n }\n};\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport {\n logMethod,\n isNotEmptyValue,\n getObjectValueFromPath,\n checkObjectPathExists\n} from \"kwikid-toolkit\";\nimport { PREVIEW_DATA_DEFAULT_CONFIG } from \"./task-item.constant\";\n\n@Component({\n selector: \"task-item\",\n templateUrl: \"./task-item.component.html\",\n styleUrls: [\"./task-item.component.scss\"]\n})\nexport class TaskItemComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n data: any = {};\n\n header = \"\";\n\n status = \"\";\n\n previewConfig: any = {};\n\n previewData: any = [];\n\n @Output()\n onClickTaskItem: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickTaskItemViewDetail: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {\n this.parseHeader();\n this.parseSessionStatus();\n this.parsePreviewData();\n }\n\n parseHeader() {\n if (\n checkObjectPathExists(this.config, \"taskUI.header.taskId.path\") &&\n isNotEmptyValue(this.config.taskUI.header.taskId.path)\n ) {\n this.header = getObjectValueFromPath(\n this.data,\n this.config?.taskUI?.header?.taskId?.path\n );\n }\n\n if (\n checkObjectPathExists(\n this.config,\n \"taskUI.header.taskId.maxLengthToShow\"\n ) &&\n isNotEmptyValue(this.config.taskUI.header.taskId.maxLengthToShow) &&\n this.header.length > this.config.taskUI.header.taskId.maxLengthToShow\n ) {\n this.header = `${this.header.slice(\n 0,\n this.config.taskUI.header.taskId.maxLengthToShow\n )}...`;\n }\n }\n\n parseSessionStatus() {\n if (\n this.config?.utilityFlags?.isShowTaskStatus &&\n checkObjectPathExists(this.config, \"taskUI.header.taskStatus.path\") &&\n isNotEmptyValue(this.config.taskUI.header.taskStatus.path)\n ) {\n this.status = getObjectValueFromPath(\n this.data,\n this.config?.taskUI?.header?.taskStatus?.path\n );\n }\n }\n\n parsePreviewData() {\n if (\n checkObjectPathExists(this.config, \"taskUI.preview.data\") &&\n isNotEmptyValue(this.config.taskUI.preview.data) &&\n Array.isArray(this.config.taskUI.preview.data) &&\n this.config.taskUI.preview.data.length > 0\n ) {\n const previewData = [];\n this.config.taskUI.preview.data.map((field) => {\n const value = getObjectValueFromPath(this.data, field.path);\n previewData.push({ label: field.label, value });\n });\n this.previewData = previewData;\n\n this.previewConfig =\n this.config?.taskUI?.preview?.config ?? PREVIEW_DATA_DEFAULT_CONFIG;\n }\n }\n\n @logMethod\n handleOnClickTaskItem(e: any, taskItemData: any): void {\n this.onClickTaskItem.emit({\n data: taskItemData\n });\n }\n\n @logMethod\n handleOnClickTaskItemViewDetail(e: any, taskItemData: any): void {\n this.onClickTaskItemViewDetail.emit({\n data: taskItemData\n });\n }\n\n handleOnClickPerformAction(e: any, action: any): void {\n this.onClickPerformAction.emit({\n action\n });\n }\n}\n","<tui-accordion\n class=\"task-item-container\"\n (click)=\"handleOnClickTaskItem($event, data)\"\n>\n <tui-accordion-item>\n <div class=\"task-item-header\">\n <div class=\"task-item-id\">{{ header }}</div>\n <task-item-status\n *ngIf=\"status\"\n [config]=\"config?.taskUI?.header?.taskStatus\"\n [status]=\"status\"\n ></task-item-status>\n </div>\n <ng-template tuiAccordionItemContent>\n <div class=\"task-item-preview\">\n <kwikui-label-value-pair\n [config]=\"previewConfig\"\n [data]=\"previewData\"\n ></kwikui-label-value-pair>\n </div>\n <div class=\"task-item-footer\">\n <kwikui-button\n appearance=\"primary\"\n label=\"View Detail\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"handleOnClickTaskItemViewDetail($event, data)\"\n ></kwikui-button>\n </div>\n </ng-template>\n </tui-accordion-item>\n</tui-accordion>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { TuiDay, TuiDayRange } from \"@taiga-ui/cdk\";\nimport { isNotEmptyValue, logMethod } from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport {\n convertKwikUIDateToStringFormat,\n convertNormalDateToStringFormat\n} from \"../../helpers/date.helplers\";\nimport { sortItems } from \"../../helpers/array.helper\";\n\n@Component({\n selector: \"task-list\",\n templateUrl: \"./task-list.component.html\",\n styleUrls: [\"./task-list.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TaskListComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n taskItems: any[] = [];\n\n @Output()\n onClickTaskItemViewDetail: EventEmitter<any> = new EventEmitter<any>();\n\n // Pagination\n paginationIndex = 0;\n\n paginationLength: number = null;\n\n activePageItems: any = [];\n\n filteredItems: any = [];\n\n itemPerPage = 50;\n\n // Loaders\n loading = false;\n\n // Search Text\n searchText = \"\";\n\n // Sort Filter\n sortFilterKey: string | undefined = \"\";\n\n sortInAscendingOrder = \"ASC\";\n\n // Date Range Values\n start_time: string | Date = undefined;\n\n end_time: string | Date = undefined;\n\n max: TuiDay = new TuiDay(\n new Date().getFullYear(),\n new Date().getMonth(),\n new Date().getDate()\n );\n\n maxLength: any;\n\n formGroup: FormGroup = new FormGroup({});\n\n searchDataFormControl: FormControl;\n\n searchTextFormControl: FormControl;\n\n // Event Emitters\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n constructor(private loaderService: KwikUILoaderService) {}\n\n async ngOnInit() {\n this.toggleLoader(true);\n\n // this.taskItems = Array.from({ length: 1000 }, (_, i) =>\n // String(`test_${i}`)\n // );\n this.handleInitialDateRange();\n }\n\n @logMethod\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"taskItems\")) {\n this.toggleLoader(true);\n this.taskItems = changes.taskItems.currentValue;\n this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);\n this.handleOnTaskItemsChange();\n }\n }\n\n @logMethod\n handleOnTaskItemsChange() {\n this.toggleLoader(true);\n\n this.handleOnFilterTaskItems();\n\n this.paginationLength = Math.ceil(\n this.filteredItems.length / this.itemPerPage\n );\n this.activePageItems = this.filteredItems.slice(\n this.paginationIndex * this.itemPerPage,\n this.paginationIndex * this.itemPerPage + this.itemPerPage\n );\n\n this.toggleLoader(false);\n }\n\n handleInitialDateRange() {\n const searchFilterStartPoint = this.config?.extendedFlags\n ?.searchFilterStartPoint ?? {\n day: 0,\n month: 0,\n year: 0\n };\n const currentDate = new Date();\n const startDate = new Date(\n currentDate.getFullYear() - searchFilterStartPoint?.year ?? 0,\n currentDate.getMonth() - searchFilterStartPoint?.month ?? 0,\n currentDate.getDate() - searchFilterStartPoint?.day ?? 0\n );\n\n this.start_time = convertNormalDateToStringFormat(startDate);\n this.end_time = convertNormalDateToStringFormat(null);\n\n this.searchDataFormControl = new FormControl({\n value: new TuiDayRange(\n new TuiDay(\n startDate.getFullYear(),\n startDate.getMonth(),\n startDate.getDate()\n ),\n this.max\n ),\n disabled: false\n });\n this.formGroup.addControl(\"searchDate\", this.searchDataFormControl);\n\n this.searchTextFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"searchText\", this.searchTextFormControl);\n\n this.handleOnGetTaskItems();\n }\n\n handleOnFilterTasksByText(event) {\n this.searchText = event?.text;\n this.handleOnTaskItemsChange();\n }\n\n handleOnFilterTasksByDate(event) {\n this.start_time = event.start_time;\n this.end_time = event.end_time;\n this.handleOnGetTaskItems();\n }\n\n handleOnGetTaskItems() {\n this.toggleLoader(true);\n this.onGetTaskList.emit({\n from_date: this.start_time,\n to_date: this.end_time\n });\n }\n\n handleOnChangeSortFilter(event: any) {\n if (event && isNotEmptyValue(event.sortFilterKey)) {\n this.sortFilterKey = event.sortFilterKey;\n this.sortInAscendingOrder = event.sortFilterOrder ?? true;\n this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);\n this.handleOnTaskItemsChange();\n }\n }\n\n handleOnSortTaskItems(key, order) {\n const sortedTaskItems = sortItems(this.taskItems, key, order);\n this.taskItems = sortedTaskItems;\n this.handleOnTaskItemsChange();\n }\n\n @logMethod\n handleOnClickTaskItemViewDetail(e: any): void {\n this.onClickTaskItemViewDetail.emit(e);\n }\n\n @logMethod\n handleOnClickChangePaginationIndex(indexOfPage: number): void {\n if (indexOfPage >= 0) {\n this.paginationIndex = indexOfPage;\n\n this.activePageItems = this.taskItems.slice(\n this.paginationIndex * this.itemPerPage,\n this.paginationIndex * this.itemPerPage + this.itemPerPage\n );\n }\n }\n\n handleOnFilterTaskItems() {\n const lowerCaseSearchText = this.searchText.toLowerCase();\n this.filteredItems = this.taskItems.filter((item) => {\n return Object.values(item).some(\n (value) =>\n // Ensure the value can be converted to string and check if it includes the search text\n value != null &&\n value.toString().toLowerCase().includes(lowerCaseSearchText)\n );\n });\n }\n\n trackByFn(index: number, item: any) {\n return index; // or unique identifier if available\n }\n\n async toggleLoader(loader, message = undefined) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: message ?? \"Please Wait\"\n });\n this.loading = true;\n } else {\n this.loaderService.hide();\n this.loading = false;\n }\n }\n}\n","<kwikui-loader></kwikui-loader>\n<div id=\"task-list-container\">\n <div id=\"task-list-search-wrapper\">\n <task-list-search\n [config]=\"config\"\n (onFilterTasksByText)=\"handleOnFilterTasksByText($event)\"\n (onFilterTasksByDate)=\"handleOnFilterTasksByDate($event)\"\n (onChangeSortFilter)=\"handleOnChangeSortFilter($event)\"\n ></task-list-search>\n </div>\n <hr />\n <div\n itemSize=\"50\"\n class=\"virtualscroll-container\"\n *ngIf=\"activePageItems.length > 0 && !loading; else NO_TASKS\"\n >\n <div id=\"task-list-items-container\">\n <div\n *ngFor=\"let taskItem of activePageItems\"\n class=\"task-item-container\"\n >\n <task-item\n [config]=\"config\"\n [data]=\"taskItem\"\n (onClickTaskItemViewDetail)=\"handleOnClickTaskItemViewDetail($event)\"\n >\n </task-item>\n </div>\n </div>\n <div id=\"task-list-items-pagination-container\">\n <tui-pagination\n [index]=\"paginationIndex\"\n [length]=\"paginationLength\"\n (indexChange)=\"handleOnClickChangePaginationIndex($event)\"\n ></tui-pagination>\n </div>\n </div>\n <ng-template #NO_TASKS>\n <div class=\"no-tasks\">No Tasks</div>\n </ng-template>\n</div>\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from \"@angular/core\";\nimport { TuiPreviewDialogService } from \"@taiga-ui/addon-preview\";\nimport { TuiDialogContext, TuiDialogService } from \"@taiga-ui/core\";\nimport { logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"layout-body\",\n templateUrl: \"./layout-body.component.html\",\n styleUrls: [\"./layout-body.component.scss\"],\n animations: [\n trigger(\"taskDetailInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(100%)\" }),\n animate(150)\n ]),\n transition(\":leave\", [\n animate(150, style({ transform: \"translateY(100%)\" }))\n ])\n ]),\n trigger(\"taskDetail2InOut\", [\n transition(\":enter\", [\n style({ transform: \"translateX(100%)\" }),\n animate(150)\n ]),\n transition(\":leave\", [\n animate(150, style({ transform: \"translateX(100%)\" }))\n ])\n ]),\n trigger(\"taskListInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(100%)\" }),\n animate(0)\n ]),\n transition(\":leave\", [\n animate(0, style({ transform: \"translateY(100%)\" }))\n ])\n ])\n ]\n})\nexport class LayoutBodyComponent implements OnInit {\n // The final value should be provided to service, so that it can be used in all components\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 720) {\n this.isMobileView = true;\n } else {\n this.isMobileView = false;\n }\n }\n\n isMobileView = false;\n\n @ViewChild(\"preview\") readonly preview: TemplateRef<TuiDialogContext<void>>;\n\n private previewDialogRef: any;\n\n popupFormCallback: any = {};\n\n popupFormConfig: any = {};\n\n popupFormData: any = {};\n\n previewProperties: any = {\n html: {\n before: \"\",\n after: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n popupFormKey: \"\",\n title: \"\",\n unavailable: false\n };\n\n pageFormConfig: any = undefined;\n\n pageFormData: any = {};\n\n @Output()\n onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n apiCallResponse: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n agentInfo: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n isShowFullTaskDetails = false;\n\n isActiveSidebar = true;\n\n activeTaskDetail: any = null;\n\n constructor(\n private hostElement: ElementRef,\n @Inject(TuiPreviewDialogService)\n private readonly previewDialogService: TuiPreviewDialogService,\n @Inject(TuiDialogService) private readonly dialogs: TuiDialogService\n ) {}\n\n ngOnInit() {\n this.windowResizeWatcher();\n }\n\n @logMethod\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n for (const change of Object.entries(changes)) {\n const key: string = change[0];\n const value: any = change[1].currentValue;\n }\n\n if (verifyChange(\"taskList\")) {\n this.taskList = changes.taskList.currentValue;\n }\n }\n\n @logMethod\n handleShowingFullTaskDetails() {\n if (this.config?.maps?.isShowMaps) {\n this.isShowFullTaskDetails = false;\n } else if (this.isMobileView) {\n this.isShowFullTaskDetails = false;\n } else {\n this.isShowFullTaskDetails = true;\n }\n }\n\n @logMethod\n handleOnClickTaskItemViewDetail(e: any): void {\n this.handleShowingFullTaskDetails();\n this.handleOnClickCloseTaskDetail(e);\n this.activeTaskDetail = e;\n }\n\n @logMethod\n handleOnClickCloseTaskDetail(e: any): void {\n this.activeTaskDetail = null;\n }\n\n @logMethod\n handleOnClickToggleSidebar(e: any): void {\n this.isActiveSidebar = !this.isActiveSidebar;\n }\n\n @logMethod\n handleOnClickApiCall(e: any) {\n this.onClickApiCall.emit(e);\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n @logMethod\n async handleOnClickPrimaryAction(e: any): Promise<void> {\n switch (e.type) {\n case \"POPUP_FORM\":\n this.popupFormConfig = await (await fetch(e?.props?.formUrl)).json();\n console.log(\"popupFormConfig\", this.popupFormConfig);\n this.previewDialogRef = this.previewDialogService\n .open(this.preview || \"\")\n .subscribe({\n next: (data: any) => {\n this.popupFormCallback = {\n popupFormData: data.data,\n popupFormConfig: data.formConfig\n };\n this.popupFormConfig = {};\n this.previewDialogRef.complete();\n },\n error: () => {\n this.popupFormCallback = {\n popupFormData: {},\n popupFormConfig: this.popupFormConfig\n };\n this.popupFormConfig = {};\n\n console.info(\"Preview error\");\n },\n complete: () => {\n console.info(\"Preview closed\");\n }\n });\n break;\n case \"PAGE_FORM\":\n this.pageFormConfig = await (await fetch(e?.props?.formUrl)).json();\n break;\n case \"action_3\":\n break;\n default:\n break;\n }\n }\n\n @logMethod\n handleOnClickSaveForm(e: any, eventType: any): void {\n switch (eventType) {\n case \"POPUP_FORM\":\n this.previewDialogRef.next(e);\n break;\n case \"PAGE_FORM\":\n this.pageFormConfig = undefined;\n break;\n default:\n break;\n }\n }\n}\n","<div id=\"body-container\">\n <div\n id=\"sidebar-container\"\n *ngIf=\"!isMobileView && !activeTaskDetail\"\n [class.is-hidden]=\"!isActiveSidebar\"\n >\n <div\n id=\"sidebar-toggle\"\n *ngIf=\"!isMobileView && !activeTaskDetail && !pageFormConfig\"\n [class.is-hidden]=\"!isActiveSidebar\"\n (click)=\"handleOnClickToggleSidebar($event)\"\n >\n <tui-svg\n *ngIf=\"isActiveSidebar\"\n [src]=\"'tuiIconChevronsLeftLarge'\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"!isActiveSidebar\"\n [src]=\"'tuiIconChevronsRightLarge'\"\n ></tui-svg>\n </div>\n <ng-container *ngTemplateOutlet=\"TaskList\"></ng-container>\n </div>\n <div\n id=\"main-container\"\n [class.is-desktop]=\"!isMobileView\"\n >\n <div\n id=\"primary-actions-wrapper\"\n [class.is-desktop]=\"!isMobileView\"\n [class.is-nomaps]=\"config.mapConfig?.isHidden\"\n *ngIf=\"config.primaryActionsConfig\"\n >\n <primary-actions\n [primaryActionsConfig]=\"config.primaryActionsConfig\"\n (onClickPrimaryAction)=\"handleOnClickPrimaryAction($event)\"\n ></primary-actions>\n </div>\n\n <div\n class=\"kwikid-form-view-page-container\"\n *ngIf=\"pageFormConfig && pageFormConfig !== {}\"\n >\n <kwikid-form-view\n [formConfig]=\"pageFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'PAGE_FORM')\"\n ></kwikid-form-view>\n </div>\n\n <div\n id=\"map-view-wrapper\"\n [class.is-desktop]=\"!isMobileView\"\n >\n <map-view [mapConfig]=\"config.mapConfig\"></map-view>\n </div>\n\n <div\n id=\"task-detail-wrapper\"\n *ngIf=\"activeTaskDetail && isShowFullTaskDetails\"\n [@taskDetail2InOut]\n >\n <task-detail\n [config]=\"config\"\n [taskDetail]=\"activeTaskDetail\"\n (onClickCloseTaskDetail)=\"handleOnClickCloseTaskDetail($event)\"\n ></task-detail>\n </div>\n </div>\n</div>\n\n<bottom-sheet *ngIf=\"isMobileView\">\n <!-- Content to be projected into the bottom sheet -->\n <ng-container *ngTemplateOutlet=\"TaskList\"></ng-container>\n</bottom-sheet>\n\n<ng-template #TaskList>\n <div\n id=\"task-detail-wrapper\"\n *ngIf=\"activeTaskDetail && !isShowFullTaskDetails\"\n [@taskDetailInOut]\n >\n <task-detail\n [config]=\"config\"\n [taskDetail]=\"activeTaskDetail\"\n (onClickCloseTaskDetail)=\"handleOnClickCloseTaskDetail($event)\"\n ></task-detail>\n </div>\n <div id=\"task-list-wrapper\">\n <task-list\n [config]=\"config\"\n [taskItems]=\"taskList\"\n (onClickTaskItemViewDetail)=\"handleOnClickTaskItemViewDetail($event)\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n [@taskListInOut]\n ></task-list>\n </div>\n</ng-template>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'POPUP_FORM')\"\n ></kwikid-form-view>\n </div>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'POPUP_FORM')\"\n ></kwikid-form-view>\n </div>\n</ng-template>\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\n\n@Component({\n selector: \"kwikid-agent-dashboard-v2\",\n templateUrl: \"./kwikid-agent-dashboard.component.html\",\n styleUrls: [\"./kwikid-agent-dashboard.component.scss\"]\n})\nexport class KwikIDAgentDashboardComponentV2 implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n agentInfo: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"taskList\")) {\n this.taskList = changes.taskList.currentValue;\n }\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n handleOnClickPerformAction(event) {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div id=\"container\">\n <div id=\"header\">\n <layout-header\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></layout-header>\n </div>\n <div id=\"body\">\n <layout-body\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></layout-body>\n </div>\n</div>\n","import { getObjectValueFromPath } from \"kwikid-toolkit\";\n\n// To Calculate Distance between two markers\nexport const calculateDistance = (point1: any, point2: any): number => {\n const lat1 = point1.lat;\n const lng1 = point1.lng;\n const lat2 = point2.lat;\n const lng2 = point2.lng;\n\n const R = 6371; // Earth radius in kilometers\n const dLat = (lat2 - lat1) * (Math.PI / 180);\n const dLng = (lng2 - lng1) * (Math.PI / 180);\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos((lat1 * Math.PI) / 180) *\n Math.cos((lat2 * Math.PI) / 180) *\n Math.sin(dLng / 2) *\n Math.sin(dLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = R * c;\n\n return distance;\n};\n\n// To calculate nearest distance from marker\nexport const nearestNeighborAlgorithm = (\n startingPoint: any,\n unvisitedPoints: any[]\n): any[] => {\n let currentPoint = startingPoint;\n const path: any[] = [currentPoint];\n const visitedPoints: Set<any> = new Set([currentPoint]);\n\n while (unvisitedPoints.length > 0) {\n let nearestPoint = null;\n let minDistance = Number.POSITIVE_INFINITY;\n\n for (const point of unvisitedPoints) {\n const distance = calculateDistance(currentPoint, point);\n if (distance < minDistance) {\n minDistance = distance;\n nearestPoint = point;\n }\n }\n\n path.push(nearestPoint);\n visitedPoints.add(nearestPoint);\n currentPoint = nearestPoint;\n\n unvisitedPoints = unvisitedPoints.filter(\n (point) => !visitedPoints.has(point)\n );\n }\n\n return path;\n};\n\nexport const addressConcator = (data: any, config: any): string => {\n const address = config.reduce(\n (accumulator, currentValue) =>\n `${accumulator} ${getObjectValueFromPath(data, currentValue)}`,\n \"\"\n );\n return address;\n};\n","export enum EStatus {\n NOT_STARTED = \"not_started\",\n ON_GOING = \"on_going\",\n AUDITING = \"auditing\",\n REJECTED = \"rejected\",\n AFTER_AUDIT = \"after_audit\",\n COMPLETE = \"complete\",\n WAITING = \"waiting\",\n SESSION_EXPIRED = \"session_expired\",\n KYC_REJECTED = \"kyc_rejected\",\n KYC_REQUEST_REJECTED = \"kyc_request_rejected\",\n KYC_REQUEST_ACCEPTED = \"kyc_request_accepted\",\n KYC_RESULT_REJECTED = \"kyc_result_rejected\",\n KYC_RESULT_APPROVED = \"kyc_result_approved\",\n KYC_RESULT_PARTIAL_UPDATE = \"kyc_result_partial_update\",\n KYC_RESULT_UNDER_REVIEW = \"kyc_result_under_review\"\n}\n\nexport const VStatus = [\n EStatus.NOT_STARTED,\n EStatus.ON_GOING,\n EStatus.AUDITING,\n EStatus.REJECTED,\n EStatus.AFTER_AUDIT,\n EStatus.COMPLETE,\n EStatus.WAITING,\n EStatus.SESSION_EXPIRED,\n EStatus.KYC_REJECTED,\n EStatus.KYC_REQUEST_REJECTED,\n EStatus.KYC_REQUEST_ACCEPTED,\n EStatus.KYC_RESULT_REJECTED,\n EStatus.KYC_RESULT_APPROVED,\n EStatus.KYC_RESULT_PARTIAL_UPDATE,\n EStatus.KYC_RESULT_UNDER_REVIEW\n] as const;\n\nexport type TStatus = (typeof VStatus)[number];\n","import { Injectable } from \"@angular/core\";\nimport { EStatus } from \"../components/customer-tile/status-pill/status-pill.definitions\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AgentService {\n config;\n\n isListOpen = true;\n\n isMobileView;\n\n showMapview = false;\n\n currentTaskDetails;\n\n addTaskForm = {\n key: \"ADD_TASK\",\n title: \"Add Task\",\n fields: [\n {\n key: \"name\",\n label: \"Customer Name\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the Customer Name\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n },\n {\n key: \"phone\",\n label: \"Phone Number\",\n validators: {\n required: true\n },\n properties: {\n countryCode: \"+91\",\n removeCountryCodeFromValue: true,\n phoneMaskAfterCountryCode: \"##########\",\n placeholder: \"Please enter your Mobile Number\",\n readOnly: false\n },\n type: \"phone\"\n },\n {\n key: \"address\",\n label: \"Address\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the Address\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n },\n {\n key: \"city\",\n label: \"City\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the City\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n },\n {\n key: \"location\",\n label: \"Location URL\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the Location URL\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n }\n ],\n properties: {\n header: {\n title: {\n hidden: true,\n label: \"Add Task\"\n },\n steps: {\n hidden: true\n },\n logo: {\n hidden: true\n }\n },\n footer: {\n viewFormsButton: {\n hidden: true,\n label: \"View Forms\"\n },\n saveButton: {\n hidden: false,\n label: \"Submit\"\n }\n }\n }\n };\n\n notRequiredStatus = [\n EStatus.REJECTED,\n EStatus.AFTER_AUDIT,\n EStatus.COMPLETE,\n EStatus.SESSION_EXPIRED,\n EStatus.KYC_REJECTED,\n EStatus.KYC_RESULT_APPROVED,\n EStatus.KYC_RESULT_REJECTED,\n EStatus.KYC_RESULT_UNDER_REVIEW,\n EStatus.KYC_REQUEST_REJECTED\n ];\n\n constructor() {}\n\n ngOnInit() {}\n\n setAgentConfig(config) {\n this.config = config;\n }\n\n toggleMapview() {\n this.showMapview = !this.showMapview;\n }\n\n canPlotMarkers(status) {\n const nonePlottingSessions =\n this.config?.extendedFlags?.dontPlotMarkers ?? [];\n\n if (nonePlottingSessions.includes(status)) {\n return false;\n }\n return true;\n }\n}\n","import { ElementRef, Injectable, QueryList, ViewChildren } from \"@angular/core\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\n\nimport { MapDirectionsService } from \"@angular/google-maps\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AgentService } from \"./agent.service\";\nimport {\n addressConcator,\n nearestNeighborAlgorithm\n} from \"../helpers/maps.helpers\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class GoogleMapsService {\n myPosition;\n\n map: any;\n\n apiKey: any;\n\n allMarkers: any = [];\n\n directionsRenderOption: any;\n\n directionsResults$: any;\n\n allDirectionsResults$: any;\n\n @ViewChildren(\"directionsRender\") directionsRenders: QueryList<\n ElementRef<google.maps.DirectionsRenderer>\n >;\n\n constructor(\n private agentService: AgentService,\n public mapDirectionsService: MapDirectionsService,\n public httpClient: HttpClient\n ) {}\n\n // To get Current Position\n getPosition(): Promise<any> {\n return new Promise((resolve, reject) => {\n navigator.geolocation.watchPosition(\n (resp) => {\n resolve({\n lng: resp.coords.longitude,\n lat: resp.coords.latitude\n });\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n\n // To Initialize Google Maps\n async initializeMap() {\n return new Promise(async(resolve) => {\n this.myPosition = await this.getPosition();\n this.map = {\n zoom: 10,\n center: this.myPosition,\n streetViewControl: false,\n mapTypeControl: false,\n fullscreenControl: false,\n zoomControl: false\n };\n resolve(true);\n });\n }\n\n // To extract Location from the Task Details\n async getLocation(task) {\n return new Promise(async(resolve) => {\n let encodedAddres;\n\n // If Fetch Address from Multiple Paths\n if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPaths\"\n )\n ) {\n // Get address string from multiple paths\n const config = this.agentService.config.extendedFlags.taskLocationPaths;\n const address = addressConcator(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // If Fetch Address from Single Path\n else if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPath\"\n )\n ) {\n // Get Address from Single Path\n const config = this.agentService.config.extendedFlags.taskLocationPath;\n const address = getObjectValueFromPath(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // Default Address Paths Avaiable\n else {\n const address =\n task?.extras?.task_details?.customer_details?.address ??\n task?.task_details?.customer_details?.address ??\n task?.extras?.address ??\n task?.address ??\n \"\";\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // URL to geocode Address String to Latitude & Longitude\n const url = `https://maps.googleapis.com/maps/api/geocode/json?key=${this.apiKey}&address=${encodedAddres}`;\n\n const response = await fetch(url);\n const data: any = await response.json();\n\n // Set Location {lat: LAT, lng: LNG} from address geocoded\n const isValidLocation = isNotEmptyArray(data?.results);\n const location = isValidLocation\n ? data?.results[0]?.geometry?.location\n : { lat: null, lng: null };\n\n // Set Location validation & Google Maps URL\n location.isValidLocation = isValidLocation;\n location.googleMapsUrl = `https://www.google.com/maps/place/${location?.lat},${location?.lng}`;\n\n resolve(location);\n });\n }\n\n // Get Tasks | Markers Location Co Ordinates\n async getMarkersLocation(myMarker, tasks) {\n return new Promise(async(resolve) => {\n const markers = [];\n markers.push(myMarker);\n const promises = tasks.map(async(task) => {\n const marker: any = await this.getLocation(task);\n task = { ...task, ...marker };\n markers.push(task);\n });\n\n await Promise.all(promises);\n\n resolve(markers);\n });\n }\n\n // Plot All Markers\n async plotAllMarkers(tasks) {\n return new Promise(async(resolve) => {\n const path = [];\n const promises = tasks.map((task) => {\n if (task?.isValidLocation) {\n path.push({\n location: task,\n stopover: true\n });\n this.allMarkers.push(task);\n }\n });\n\n await Promise.all(promises);\n\n resolve(path);\n });\n }\n\n // To Plot Directions for All Tasks\n async plotDirectionsForAllTasks(tasks) {\n if (!this.map || !this.myPosition) {\n return tasks;\n }\n this.allMarkers = [];\n\n // Create Agent Marker & Plot It.\n const myMarker = {\n lat: this.myPosition.lat,\n lng: this.myPosition.lng,\n title: 0,\n color: \"red\"\n };\n\n // Get All Markers Location Co Ordinates\n const markers: any = await this.getMarkersLocation(myMarker, tasks);\n\n // Run Algorithm to get optimized Routes\n const startingPoint = markers[0];\n const unvisitedWaypoints = markers.slice(1);\n const optimizedRoute = nearestNeighborAlgorithm(\n startingPoint,\n unvisitedWaypoints\n );\n\n // Sort All Tasks as per optimized routes\n tasks = optimizedRoute.slice(1);\n this.allMarkers = [myMarker];\n\n // Plot all markers & get path for directions\n const path: any = await this.plotAllMarkers(tasks);\n\n // Set Directions in Google Maps\n const request: google.maps.DirectionsRequest = {\n origin: this.myPosition,\n destination: this.myPosition,\n waypoints: path,\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n this.directionsRenderOption = {\n suppressMarkers: true\n };\n\n this.directionsResults$ = this.mapDirectionsService\n .route(request)\n .pipe(map((response) => response.result));\n\n this.directionsResults$.subscribe((val) => {});\n\n this.allDirectionsResults$ = this.directionsResults$;\n\n return tasks;\n }\n\n // To Plot Directions for Selected Tasks\n plotDirectionsForSelectedTask(task) {\n if (task != null) {\n const taskMarker = task;\n\n // If Location is Available in Task Details\n if (taskMarker?.isValidLocation) {\n const request: google.maps.DirectionsRequest = {\n origin: this.myPosition,\n destination: taskMarker,\n optimizeWaypoints: true,\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n this.directionsResults$ = this.mapDirectionsService\n .route(request)\n .pipe(map((response) => response.result));\n\n this.directionsResults$.subscribe();\n } else {\n alert(\"No Location Available\");\n this.directionsResults$ = this.allDirectionsResults$;\n }\n } else {\n this.directionsResults$ = this.allDirectionsResults$;\n }\n }\n}\n","import { ElementRef, Injectable, QueryList, ViewChildren } from \"@angular/core\";\nimport * as L from \"leaflet\";\nimport \"leaflet-routing-machine\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\n\nimport { MapDirectionsService } from \"@angular/google-maps\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AgentService } from \"./agent.service\";\nimport {\n addressConcator,\n nearestNeighborAlgorithm\n} from \"../helpers/maps.helpers\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class OpenStreetMapsService {\n myPosition;\n\n map: any;\n\n allMarkers: any = [];\n\n allTasksRoutes: any;\n\n selectedTaskRoutes: any;\n\n selectedTaskDistanceAndTime: any;\n\n @ViewChildren(\"directionsRender\") directionsRenders: QueryList<\n ElementRef<google.maps.DirectionsRenderer>\n >;\n\n constructor(\n private agentService: AgentService,\n public mapDirectionsService: MapDirectionsService,\n public httpClient: HttpClient\n ) {}\n\n // To get Current Position\n getPosition(): Promise<any> {\n return new Promise((resolve, reject) => {\n navigator.geolocation.watchPosition(\n (resp) => {\n resolve({\n lng: resp.coords.longitude,\n lat: resp.coords.latitude\n });\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n\n // To extract Location from the Task Details\n async getLocation(task) {\n return new Promise(async(resolve) => {\n let encodedAddres;\n\n // If Fetch Address from Multiple Paths\n if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPaths\"\n )\n ) {\n // Get address string from multiple paths\n const config = this.agentService.config.extendedFlags.taskLocationPaths;\n const address = addressConcator(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // If Fetch Address from Single Path\n else if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPath\"\n )\n ) {\n // Get Address from Single Path\n const config = this.agentService.config.extendedFlags.taskLocationPath;\n const address = getObjectValueFromPath(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // Default Address Paths Avaiable\n else {\n const address =\n task?.extras?.task_details?.customer_details?.address ??\n task?.task_details?.customer_details?.address ??\n task?.extras?.address ??\n task?.address ??\n \"\";\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // URL to geocode Address String to Latitude & Longitude\n const url = `https://nominatim.openstreetmap.org/search?q=${encodedAddres}&format=json`;\n\n const response = await fetch(url);\n const data: any = await response.json();\n\n // Set Location {lat: LAT, lng: LNG} from address geocoded\n const isValidLocation =\n isNotEmptyArray(data) && data[0]?.lat & data[0]?.lon;\n const location: any = isValidLocation\n ? { lat: data[0]?.lat, lng: data[0]?.lon }\n : { lat: null, lng: null };\n\n // Set Location validation & Google Maps URL\n location.isValidLocation = isValidLocation;\n location.color = isValidLocation ? \"blue\" : \"red\";\n location.googleMapsUrl = `https://www.google.com/maps/place/${location?.lat},${location?.lng}`;\n\n resolve(location);\n });\n }\n\n // Get Tasks | Markers Location Co Ordinates\n async getMarkersLocation(myMarker, tasks) {\n return new Promise(async(resolve) => {\n const markers = [];\n markers.push(myMarker);\n const promises = tasks.map(async(task) => {\n const marker: any = await this.getLocation(task);\n task = { ...task, ...marker };\n markers.push(task);\n });\n\n await Promise.all(promises);\n\n resolve(markers);\n });\n }\n\n // To Initialize Open Street Map\n async initializeMap() {\n console.log(\"Running Init Open Street Maps\");\n this.myPosition = await this.getPosition();\n this.map = L.map(\"map\", {\n center: [this.myPosition.lat, this.myPosition.lng],\n zoom: 11\n });\n L.tileLayer(\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\").addTo(\n this.map\n );\n }\n\n // To Add Open Street Marker in Map\n addMarker({ lat, lng, title, color }) {\n L.marker([lat, lng], {\n icon: L.icon({\n iconUrl:\n color == \"red\"\n ? \"https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/map-marker-0.png\"\n : \"https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/map-marker-1.png\"\n })\n })\n .addTo(this.map)\n .bindPopup(title);\n }\n\n // To Plot Open Street Directions for All Tasks\n async plotDirectionsForAllTasks(tasks) {\n if (this.map) {\n this.allMarkers = [];\n\n // Create Agent Marker & Plot It.\n const myMarker = {\n lat: this.myPosition.lat,\n lng: this.myPosition.lng,\n title: 0,\n color: \"red\"\n };\n this.addMarker(myMarker);\n this.allMarkers.push(myMarker);\n\n // Create Markers for all Tasks\n this.allMarkers = await this.getMarkersLocation(myMarker, tasks);\n\n // Run Algorithm to get optimized Routes\n const startingPoint = this.allMarkers[0];\n const unvisitedWaypoints = this.allMarkers.slice(1);\n const optimizedRoute = nearestNeighborAlgorithm(\n startingPoint,\n unvisitedWaypoints\n );\n\n // Sort All Markers as per optimized routes\n this.allMarkers = this.sortTasksAsPerDistance(\n optimizedRoute,\n this.allMarkers,\n true\n );\n\n // Sort All Tasks as per optimized routes\n tasks = this.sortTasksAsPerDistance(\n optimizedRoute.slice(1),\n tasks,\n false\n );\n\n // Plot Markers for All Tasks\n tasks.map((task) => {\n if (task?.isValidLocation) {\n const marker: any = this.getLocation(task);\n this.addMarker(marker);\n }\n });\n\n // Set Styles for all Task Routes\n const styles = [\n { color: \"blue\", opacity: 1, weight: 8 },\n { color: \"white\", opacity: 0.6, weight: 12 }\n ];\n\n // Set Routes for all Tasks\n this.allTasksRoutes = this.setRoutes(this.allMarkers, styles);\n this.fitMapBounds();\n }\n return tasks;\n }\n\n // To plot Open Street Direction for selected Task\n plotDirectionsForSelectedTask(task) {\n if (task !== null) {\n // Remove Previously Selected Task Route\n if (this.selectedTaskRoutes) {\n this.map.removeControl(this.selectedTaskRoutes);\n }\n\n // Remove All Tasks Routes\n if (this.allTasksRoutes) {\n this.map.removeControl(this.allTasksRoutes);\n }\n\n const taskMarker = task;\n\n // If Location is Available in Task Details\n if (taskMarker.color != \"red\") {\n const markers = [this.allMarkers[0], taskMarker];\n const styles = [\n { color: \"green\", opacity: 1, weight: 8 },\n { color: \"white\", opacity: 0.4, weight: 12 }\n ];\n this.selectedTaskRoutes = this.setRoutes(markers, styles);\n this.setSelectedTaskDistanceAndTime();\n } else {\n alert(\"No Location Available\");\n }\n }\n // Set All Tasks Routes Again & Remove Selected Tasks route\n else {\n if (this.selectedTaskRoutes) {\n this.map.removeControl(this.selectedTaskRoutes);\n }\n this.map.addControl(this.allTasksRoutes);\n this.selectedTaskRoutes = undefined;\n }\n this.fitMapBounds();\n }\n\n // Get Distance & Time of Selected Task\n getSelectedTaskDistanceAndTime() {\n return this.selectedTaskDistanceAndTime;\n }\n\n // Set Distance & Time of Selected Task\n setSelectedTaskDistanceAndTime() {\n this.selectedTaskRoutes.on(\"routesfound\", function(e) {\n const { routes } = e;\n const { summary } = routes[0];\n\n const distance = summary.totalDistance / 1000;\n const time = Math.round((summary.totalTime % 3600) / 60);\n\n this.selectedTaskDistanceAndTime = {\n distance,\n time\n };\n });\n }\n\n // To sort Open Street Maps Task as per nearest distance\n sortTasksAsPerDistance(order, tasks, isMarker) {\n const sortedTasks = [];\n for (let i = 0; i < tasks.length; i++) {\n const title = isMarker ? order[i].title : order[i].title - 1;\n const task = tasks[title];\n sortedTasks.push(task);\n }\n return sortedTasks;\n }\n\n // To set Open Street routes in the maps\n setRoutes(markers, styles) {\n return L.Routing.control({\n waypoints: markers,\n lineOptions: {\n styles\n },\n createMarker() {\n return null;\n },\n routeWhileDragging: true\n }).addTo(this.map);\n }\n\n // To set Open Street view point on the map\n fitMapBounds() {\n const markerLatLngs = this.allMarkers.map((marker) =>\n L.latLng(marker.lat, marker.lng)\n );\n this.map.fitBounds(markerLatLngs);\n }\n}\n","export const STATUS = {\n kyc_result_rejected: {\n color: \"#eb3434\",\n label: \"KYC Result Rejected\",\n background: \"#ffd4da\",\n hint: \"KYC Result Rejected\"\n },\n kyc_result_approved: {\n color: \"#01663e\",\n label: \"KYC Result Approved\",\n background: \"#d7faee\",\n hint: \"KYC Result Approved\"\n },\n kyc_result_partial_update: {\n color: \"#023b57\",\n label: \"Partial Update\",\n background: \"#b5e0f5\",\n hint: \"Partial Update\"\n },\n waiting: {\n color: \"#000\",\n label: \"Waiting\",\n background: \"#f5ecb5\",\n hint: \"Waiting\"\n }\n};\n\nexport const DEFAULT_STYLES = {\n color: \"#fff\",\n label: \"Waiting\",\n background: \"#888\",\n hint: \"Waiting\"\n};\n","/* eslint-disable no-empty-function */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable no-prototype-builtins */\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\nimport {\n checkObjectKeyExists,\n checkObjectPathExists,\n convertSnakeCaseToNormalText\n} from \"kwikid-toolkit\";\nimport { DEFAULT_STYLES } from \"./status-pill.constants\";\n\n@Component({\n selector: \"status-pill\",\n templateUrl: \"./status-pill.component.html\",\n styleUrls: [\"./status-pill.component.css\"]\n})\nexport class StatusPillComponent implements OnInit {\n @Input()\n config;\n\n @Input()\n status;\n\n styles = {};\n\n value = \"\";\n\n constructor() {}\n\n async ngOnInit() {\n this.setupStatus();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"config\")) {\n this.config = changes.config.currentValue;\n }\n if (verifyChange(\"status\")) {\n this.status = changes.status.currentValue;\n\n this.setupStatus();\n }\n }\n\n setupStatus() {\n if (\n checkObjectPathExists(this.config, \"mapping\") &&\n checkObjectKeyExists(this.config.mapping, this.status)\n ) {\n this.styles = { ...DEFAULT_STYLES, ...this.config.mapping[this.status] };\n this.value =\n this.config.mapping[this.status]?.label ??\n convertSnakeCaseToNormalText(this.status);\n } else {\n this.styles = DEFAULT_STYLES;\n this.value = convertSnakeCaseToNormalText(this.status);\n }\n }\n}\n","<div\n class=\"task-iem-status-container\"\n [style]=\"styles\"\n>\n {{ value }}\n</div>\n","/* eslint-disable class-methods-use-this */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable no-empty-function */\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { RuleEngine } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"kwikid-action-button\",\n templateUrl: \"./action-button.component.html\",\n styleUrls: [\"./action-button.component.css\"]\n})\nexport class ActionButtonComponent implements OnInit {\n @Input()\n action: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n customer: any = {};\n\n disabled = false;\n\n hidden = false;\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n // eslint-disable-next-line no-prototype-builtins\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"action\")) {\n this.action = changes.action.currentValue;\n }\n\n if (verifyChange(\"customer\")) {\n this.customer = changes.customer.currentValue;\n }\n\n if (this.action?.default) {\n this.runValidations();\n }\n }\n\n async runValidations() {\n await new RuleEngine(\n {\n DATA: this.customer\n },\n this.takeAction\n ).run({\n triggers: [],\n rules: this.action?.default?.rules ?? [],\n actions: this.action?.default?.actions ?? []\n });\n }\n\n takeAction = (action) => {\n switch (action.key) {\n case \"BUTTON_DISABLE\":\n this.disabled = true;\n break;\n case \"BUTTON_ENABLE\":\n this.disabled = false;\n break;\n case \"BUTTON_HIDE\":\n this.hidden = true;\n break;\n case \"BUTTON_SHOW\":\n this.hidden = false;\n break;\n default:\n break;\n }\n };\n\n handleOnClickPerformAction(action: any, customer: any) {\n this.onClickPerformAction.emit({\n action,\n customer\n });\n }\n}\n","<kwikui-button\n *ngIf=\"!hidden\"\n appearance=\"primary\"\n [disabled]=\"disabled\"\n [label]=\"action?.label\"\n [icon]=\"action?.icon\"\n [iconRight]=\"action?.iconRight\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickPerformAction(action, customer)\"\n></kwikui-button>\n","/* eslint-disable no-empty-function */\n/* eslint-disable no-magic-numbers */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable no-prototype-builtins */\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\nimport { AgentService } from \"../../services/agent.service\";\nimport { GoogleMapsService } from \"../../services/google-maps.service\";\nimport { OpenStreetMapsService } from \"../../services/open-street-maps.service\";\n\n@Component({\n selector: \"customer-details\",\n templateUrl: \"./customer-details.component.html\",\n styleUrls: [\"./customer-details.component.scss\"],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class CustomerDetailsComponent implements OnInit, OnChanges {\n @Input()\n customer: any = {};\n\n @Input()\n config: any;\n\n title = \"Session Details\";\n\n viewTaskDetails: Array<string> = [];\n\n taskId: any = \"\";\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n public agentService: AgentService,\n public googleMapsService: GoogleMapsService,\n public openStreetMapsService: OpenStreetMapsService,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.parseData();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"customer\")) {\n this.customer = changes.customer.currentValue;\n this.parseData();\n }\n }\n\n getValueFromArray(paths) {\n let data = \"\";\n // eslint-disable-next-line array-callback-return\n paths.map((path) => {\n const value = getObjectValueFromPath(this.customer, path);\n data = `${data} ${value}`;\n });\n\n return data;\n }\n\n parseData() {\n const identifier =\n this.config.taskUI.details.header.taskId.path ?? \"user_id\";\n this.taskId = getObjectValueFromPath(this.customer, identifier);\n\n let detailsConfig = [];\n if (\n checkObjectPathExists(this.config, \"taskUI.details.data\") &&\n isNotEmptyArray(this.config.taskUI.details.data)\n ) {\n const data = [];\n detailsConfig = this.config.taskUI.details.data;\n detailsConfig.map((field) => {\n let value;\n if (Array.isArray(field.path)) {\n value = this.getValueFromArray(field.path);\n } else {\n value = getObjectValueFromPath(this.customer, field.path);\n }\n data.push({ label: field.label, value });\n return true;\n });\n this.labelValuePairData = data;\n }\n this.labelValuePairConfig = this.config?.taskUI?.details?.config ?? {};\n this.title = this.config?.taskUI?.details?.header?.title ?? this.title;\n }\n\n getTaskCreationTime(task) {\n if (this.config?.taskUI?.details?.time?.path) {\n const time = getObjectValueFromPath(\n task,\n this.config?.taskUI?.details?.time?.path\n );\n return this.convertEpochToDate(time);\n }\n return this.convertEpochToDate(\n task?.task_creation_time ?? task?.start_time\n );\n }\n\n convertEpochToDate(epochTime) {\n if (typeof epochTime === \"string\") epochTime = Number(epochTime);\n const date = new Date(epochTime * 1000); // Convert to milliseconds\n const day = date.getDate().toString().padStart(2, \"0\");\n const month = (date.getMonth() + 1).toString().padStart(2, \"0\"); // Months are zero-based\n const year = date.getFullYear().toString();\n\n return `${day}-${month}-${year}`;\n }\n\n getTaskDetails(taskData) {\n return getObjectValueFromPath(this.customer, taskData);\n }\n\n goToMaps(location) {\n window.open(`${location}`, \"_blank\");\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n close() {\n this.agentService.currentTaskDetails = undefined;\n\n if (this.config?.maps?.mapType === \"google-maps\") {\n this.googleMapsService.plotDirectionsForSelectedTask(null);\n } else {\n this.openStreetMapsService.plotDirectionsForSelectedTask(null);\n }\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div class=\"customer-details-wrapper\">\n <div>\n <kwikui-button\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"close()\"\n ></kwikui-button>\n </div>\n <div class=\"customer-details-heading\">{{ title }}</div>\n <div class=\"customer-details-body\">\n <div class=\"customer-details-user-id\">\n {{ taskId }}\n\n <status-pill\n *ngIf=\"config?.utilityFlags?.isShowTaskStatus\"\n [config]=\"config?.taskUI?.details?.header?.taskStatus\"\n [status]=\"\n customer[\n config?.taskUI?.details?.header?.taskStatus?.path ??\n 'session_status'\n ]\n \"\n ></status-pill>\n </div>\n\n <div class=\"customer-details-table\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n class=\"customer-details-actions\"\n *ngIf=\"\n config?.taskUI?.details?.action &&\n config?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikid-action-button\n [action]=\"action\"\n [config]=\"config\"\n [customer]=\"customer\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-action-button>\n </ng-container>\n </div>\n </div>\n</div>\n","/* eslint-disable no-prototype-builtins */\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\nimport { GoogleMapsService } from \"../../services/google-maps.service\";\nimport { AgentService } from \"../../services/agent.service\";\nimport { OpenStreetMapsService } from \"../../services/open-street-maps.service\";\n\ndeclare const google: any;\n\n@Component({\n selector: \"customer-tile\",\n templateUrl: \"./customer-tile.component.html\",\n styleUrls: [\"./customer-tile.component.scss\"]\n})\nexport class CustomerTileComponent implements OnInit {\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n this.isMobileView = true;\n } else {\n this.isMobileView = false;\n }\n }\n\n @Input()\n customer: any = {};\n\n @Input()\n index: number = undefined;\n\n @Input()\n config: any;\n\n isMobileView = false;\n\n viewTaskDetails: Array<string> = [];\n\n taskId: any = \"\";\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n constructor(\n public googleMapsService: GoogleMapsService,\n public openStreetMapsService: OpenStreetMapsService,\n public agentService: AgentService,\n private hostElement: ElementRef\n ) {}\n\n ngOnInit(): void {\n this.parseData();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"customer\")) {\n this.customer = changes.customer.currentValue;\n this.parseData();\n }\n }\n\n getValueFromArray(paths) {\n let data = \"\";\n // eslint-disable-next-line array-callback-return\n paths.map((path) => {\n const value = getObjectValueFromPath(this.customer, path);\n data = `${data} ${value}`;\n });\n\n return data;\n }\n\n parseData() {\n const identifier = this.config?.taskIdentifier ?? \"user_id\";\n this.taskId = getObjectValueFromPath(this.customer, identifier);\n\n let detailsConfig = [];\n if (\n checkObjectPathExists(this.config, \"taskUI.details.data\") &&\n isNotEmptyArray(this.config.taskUI.details.data)\n ) {\n const data = [];\n detailsConfig = this.config.taskUI.details.data;\n detailsConfig.map((field) => {\n let value;\n if (Array.isArray(field.path)) {\n value = this.getValueFromArray(field.path);\n } else {\n value = getObjectValueFromPath(this.customer, field.path);\n }\n data.push({ label: field.label, value });\n return true;\n });\n\n this.labelValuePairData = data;\n }\n\n this.labelValuePairConfig = this.config?.taskUI?.details?.config ?? {};\n }\n\n openDetails() {\n const isDifferentTaskSelected =\n this.agentService.currentTaskDetails?.session_id !==\n this.customer?.session_id;\n\n if (isDifferentTaskSelected) {\n this.agentService.currentTaskDetails = this.customer;\n } else {\n this.agentService.currentTaskDetails = undefined;\n }\n\n if (this.agentService.showMapview) {\n if (this.agentService.config?.maps?.mapType === \"google-maps\") {\n this.googleMapsService.plotDirectionsForSelectedTask(\n this.agentService.currentTaskDetails\n );\n } else {\n this.openStreetMapsService.plotDirectionsForSelectedTask(\n this.agentService.currentTaskDetails\n );\n }\n }\n }\n\n goToMaps(location) {\n window.open(`${location}`, \"_blank\");\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n}\n","<div\n [ngClass]=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id\n ? 'customer-tile-wrapper customer-tile-active'\n : 'customer-tile-wrapper'\n \"\n>\n <div class=\"customer-tile-primary-container\">\n <div class=\"customer-tile-primary-container-data\">\n <div class=\"customer-tile-primary-container-userid\">\n {{ taskId }}\n </div>\n <status-pill\n *ngIf=\"config?.utilityFlags?.isShowTaskStatus\"\n [config]=\"config?.taskUI?.header?.taskStatus\"\n [status]=\"\n customer[config?.taskUI?.header?.taskStatus?.path ?? 'session_status']\n \"\n ></status-pill>\n </div>\n <kwikui-button\n *ngIf=\"!agentService.isMobileView && !agentService.showMapview\"\n [icon]=\"\n agentService.currentTaskDetails?.session_id == customer?.session_id\n ? 'tuiIconChevronLeftLarge'\n : 'tuiIconChevronRightLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"openDetails()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"agentService.isMobileView || agentService.showMapview\"\n [icon]=\"\n agentService.currentTaskDetails?.session_id == customer?.session_id\n ? 'tuiIconChevronUpLarge'\n : 'tuiIconChevronDownLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"openDetails()\"\n ></kwikui-button>\n </div>\n <div\n *ngIf=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id &&\n (agentService.isMobileView || agentService.showMapview)\n \"\n [ngClass]=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id &&\n (agentService.isMobileView || agentService.showMapview)\n ? 'customer-tile-secondary-container'\n : 'data-collasped'\n \"\n >\n <div class=\"customer-tile-secondary-container-data\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n <!-- <div\n *ngIf=\"\n agentService.config?.maps?.sho &&\n agentService.config?.isShowDistanceAndTime &&\n openStreetMapsService.getSelectedTaskDistanceAndTime()\n \"\n class=\"customer-tile-secondary-container-custom-details\"\n >\n Distance: {{ openStreetMapsService.getSelectedTaskDistanceAndTime()?.distance }} |\n Time: {{ openStreetMapsService.getSelectedTaskDistanceAndTime()?.time }}\n </div> -->\n </div>\n <div class=\"customer-tile-secondary-container-actions\">\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikid-action-button\n [action]=\"action\"\n [config]=\"config\"\n [customer]=\"customer\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-action-button>\n </ng-container>\n <!-- <div class=\"customer-tile-secondary-container-task-buttons\">\n <kwikui-button\n *ngIf=\"config?.isAllowRemoveTask\"\n [icon]=\"'tuiIconTrash2'\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"handleOnClickRemoveTask(customer)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"config?.isShowCopyLink\"\n icon=\"tuiIconCopy\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"\n handleOnClickNext({\n customer: customer,\n stepType: 'SHARE_JOURNEY_LINK'\n })\n \"\n ></kwikui-button>\n </div>\n <div class=\"customer-tile-secondary-container-journey-buttons\">\n <kwikui-button\n *ngIf=\"config?.isShowMaps && customer?.isValidLocation\"\n label=\"Show Directions\"\n appearance=\"flat\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToMaps(customer.googleMapsUrl)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"\n config?.isAllowStartJourney &&\n agentService.canStartJourney(customer.session_status)\n \"\n label=\"Start Journey\"\n appearance=\"primary\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"\n handleOnClickNext({ customer: customer, stepType: 'START_JOURNEY' })\n \"\n ></kwikui-button>\n </div> -->\n </div>\n </div>\n</div>\n","import { Pipe, PipeTransform, Injectable } from \"@angular/core\";\n\n@Pipe({\n name: \"filter\",\n pure: false\n})\n@Injectable()\nexport class Ng2SearchPipe implements PipeTransform {\n /**\n * @param items object from array\n * @param term term's search\n * @param excludes array of strings which will ignored during search\n */\n transform(items: any, term: string, excludes: any = []): any {\n if (!term || !items) return items;\n\n return Ng2SearchPipe.filter(items, term, excludes);\n }\n\n /**\n *\n * @param items List of items to filter\n * @param term a string term to compare with every property of the list\n * @param excludes List of keys which will be ignored during search\n *\n */\n static filter(\n items: Array<{ [key: string]: any }>,\n term: string,\n excludes: any\n ): Array<{ [key: string]: any }> {\n const toCompare = term.toLowerCase();\n\n function checkInside(item: any, term: string) {\n if (\n typeof item === \"string\" &&\n item.toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n\n for (const property in item) {\n if (\n item[property] === null ||\n item[property] == undefined ||\n excludes.includes(property)\n ) {\n continue;\n }\n if (typeof item[property] === \"object\") {\n if (checkInside(item[property], term)) {\n return true;\n }\n } else if (\n item[property].toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n }\n return false;\n }\n\n return items.filter((item) => {\n return checkInside(item, term);\n });\n }\n}\n","/* eslint-disable no-magic-numbers */\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { getObjectDeepCopy, isNotEmptyValue } from \"kwikid-toolkit\";\nimport { TuiDay, TuiDayRange } from \"@taiga-ui/cdk\";\nimport { GoogleMapsService } from \"../../services/google-maps.service\";\nimport { AgentService } from \"../../services/agent.service\";\nimport { OpenStreetMapsService } from \"../../services/open-street-maps.service\";\nimport {\n convertKwikUIDateToStringFormat,\n convertNormalDateToStringFormat\n} from \"../../../v2/helpers/date.helplers\";\nimport { sortItems } from \"../../../v2/helpers/array.helper\";\n\n@Component({\n selector: \"customer-list\",\n templateUrl: \"./customer-list.component.html\",\n styleUrls: [\"./customer-list.component.scss\"]\n})\nexport class CustomerListComponent implements OnInit {\n @Input()\n customers: any;\n\n @Input()\n config: any;\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n filterTaskList = new EventEmitter();\n\n searchText;\n\n lastInfoWindowOpened: any;\n\n filteredData = [];\n\n formGroup: FormGroup = new FormGroup({});\n\n searchTextFormControl: FormControl;\n\n searchDateFormControl: FormControl;\n\n sortFilterKeyFormControl: FormControl;\n\n sortInAscendingOrder = true;\n\n fromDate: string | Date;\n\n toDate: string | Date;\n\n max: TuiDay = new TuiDay(\n new Date().getFullYear(),\n new Date().getMonth(),\n new Date().getDate()\n );\n\n maxLength: any;\n\n // Sorting Variables\n sortFilterKey = \"\";\n\n sortFilterOptions = [\"user_id\", \"session_status\"];\n\n activeSearchAction: string = undefined;\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n public googleMapsService: GoogleMapsService,\n public openStreetMapsService: OpenStreetMapsService,\n public agentService: AgentService\n // eslint-disable-next-line no-empty-function\n ) {}\n\n async ngOnInit() {\n this.handleInitialDateRange();\n this.handleSearchAndSortFormControls();\n }\n\n handleOnClickSearchType(type) {\n if (this.activeSearchAction !== type) {\n this.activeSearchAction = type;\n } else {\n this.activeSearchAction = undefined;\n }\n }\n\n handleInitialDateRange() {\n const searchFilterStartPoint = this.config?.extendedFlags\n ?.searchFilterStartPoint ?? {\n day: 0,\n month: 0,\n year: 0\n };\n const currentDate = new Date();\n const startDate = new Date(\n currentDate.getFullYear() - searchFilterStartPoint?.year ?? 0,\n currentDate.getMonth() - searchFilterStartPoint?.month ?? 0,\n currentDate.getDate() - searchFilterStartPoint?.day ?? 0\n );\n\n this.fromDate = convertNormalDateToStringFormat(startDate);\n this.toDate = convertNormalDateToStringFormat(null);\n\n this.searchDateFormControl = new FormControl({\n value: new TuiDayRange(\n new TuiDay(\n startDate.getFullYear(),\n startDate.getMonth(),\n startDate.getDate()\n ),\n this.max\n ),\n disabled: false\n });\n this.formGroup.addControl(\"search-date\", this.searchDateFormControl);\n }\n\n handleSearchAndSortFormControls() {\n this.searchTextFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"search-text\", this.searchTextFormControl);\n\n this.sortFilterKeyFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"sort-filter\", this.sortFilterKeyFormControl);\n this.sortFilterOptions =\n this.config?.extendedFlags?.sortFilterKeys ?? this.sortFilterOptions;\n }\n\n async setUpMaps() {\n if (this.config?.maps?.isShowMaps) {\n if (this.config?.maps?.mapType === \"open-street\") {\n await this.openStreetMapsService.initializeMap();\n } else {\n await this.googleMapsService.initializeMap();\n }\n }\n }\n\n async setCustomersList() {\n if (this.config?.maps?.isShowMaps) {\n this.filteredData = await this.plotMarkers(this.customers);\n } else {\n this.filteredData = this.customers;\n }\n }\n\n ngAfterViewInit(): void {\n this.maxLength =\n this.config?.extendedFlags?.searchFilterThreshold ?? this.maxLength;\n setTimeout(async() => {\n await this.setUpMaps();\n await this.setCustomersList();\n }, 1000);\n }\n\n async ngOnChanges() {\n await this.setCustomersList();\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n async plotMarkers(customers) {\n if (!this.config?.utilityFlags?.isPlotCompletedTaskMarkers) {\n customers = customers.filter((customer) => {\n return this.agentService.canPlotMarkers(customer.session_status);\n });\n }\n\n if (this.config?.maps?.mapType === \"open-street\") {\n customers =\n await this.openStreetMapsService.plotDirectionsForAllTasks(customers);\n } else {\n customers =\n await this.googleMapsService.plotDirectionsForAllTasks(customers);\n }\n\n return customers;\n }\n\n handleOnChangeDateRange(event) {\n this.handleChangeDateRangeFormat(event);\n this.handleOnFilterTaskList({\n from_date: this.fromDate,\n to_date: this.toDate\n });\n }\n\n handleOnClickChangeSortOrder() {\n this.sortInAscendingOrder = !this.sortInAscendingOrder;\n this.handleOnChangeSortFilter(false);\n }\n\n handleOnChangeSortFilter(event: any) {\n if (event && isNotEmptyValue(event.value)) {\n this.sortFilterKey = event.value;\n this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);\n }\n }\n\n handleOnSortTaskItems(key, order) {\n const sortedTaskItems = sortItems(this.filteredData, key, order);\n this.filteredData = getObjectDeepCopy(sortedTaskItems);\n }\n\n handleChangeDateRangeFormat(event: any) {\n if (event.value?.from && event.value?.to) {\n this.fromDate = convertKwikUIDateToStringFormat(event.value.from);\n this.toDate = convertKwikUIDateToStringFormat(event.value.to);\n }\n }\n\n handleOnChangeSearchText(event) {\n this.searchText = event.value;\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnFilterTaskList(filter) {\n this.filterTaskList.emit(filter);\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div class=\"customer-list-wrapper\">\n <div\n class=\"customer-list-filter\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"task-list-search-icons\">\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconSearchLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-text')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconCalendarLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-date')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconFilterLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('sort-filter')\"\n ></kwikui-button>\n </div>\n\n <div\n class=\"task-list-search-action\"\n *ngIf=\"activeSearchAction\"\n >\n <kwikui-input-date-range\n *ngIf=\"activeSearchAction == 'search-date'\"\n class=\"task-list-date-box\"\n label=\"Search by Date Range\"\n id=\"dateRange\"\n size=\"m\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n formControlName=\"search-date\"\n [formControl]=\"searchDateFormControl\"\n (getKeyValue)=\"handleOnChangeDateRange($event)\"\n ></kwikui-input-date-range>\n\n <kwikui-input\n *ngIf=\"activeSearchAction == 'search-text'\"\n label=\"Search\"\n id=\"search\"\n icon=\"tuiIconSearch\"\n placeholder=\"Search any task from here\"\n size=\"m\"\n [formControl]=\"searchTextFormControl\"\n formControlName=\"search-text\"\n (getKeyValue)=\"handleOnChangeSearchText($event)\"\n ></kwikui-input>\n\n <div\n *ngIf=\"activeSearchAction == 'sort-filter'\"\n class=\"task-list-sort-action\"\n >\n <kwikui-button\n appearance=\"outline\"\n [icon]=\"\n sortInAscendingOrder\n ? 'tuiIconChevronsUpLarge'\n : 'tuiIconChevronsDownLarge'\n \"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickChangeSortOrder()\"\n ></kwikui-button>\n <kwikui-input-select\n class=\"task-list-sort-key\"\n formControlName=\"sort-filter\"\n label=\"Sort By Key\"\n size=\"m\"\n [formControl]=\"sortFilterKeyFormControl\"\n [options]=\"sortFilterOptions\"\n [searchable]=\"false\"\n (getKeyValue)=\"handleOnChangeSortFilter($event)\"\n ></kwikui-input-select>\n </div>\n </div>\n </div>\n\n <div class=\"customer-task-list\">\n <cdk-virtual-scroll-viewport\n itemSize=\"1\"\n class=\"customer-task-list-scroll\"\n >\n <div\n *cdkVirtualFor=\"\n let customer of filteredData | filter: searchText;\n index as index\n \"\n >\n <customer-tile\n class=\"example-item\"\n [customer]=\"customer\"\n [config]=\"config\"\n [index]=\"index\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-tile>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n\n <div\n class=\"customer-list-empty\"\n *ngIf=\"filteredData.length === 0\"\n >\n No Tasks for the given Date.\n </div>\n</div>\n","/* eslint-disable no-magic-numbers */\n/* eslint-disable no-empty-function */\nimport { HttpClient } from \"@angular/common/http\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnInit,\n Output,\n ViewChild\n} from \"@angular/core\";\nimport { MapInfoWindow, MapMarker } from \"@angular/google-maps\";\nimport { TuiDialogContext, TuiDialogService } from \"@taiga-ui/core\";\nimport { PolymorpheusContent } from \"@tinkoff/ng-polymorpheus\";\nimport {\n isNotEmptyValue,\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { Observable, of } from \"rxjs\";\nimport { AgentService } from \"./services/agent.service\";\nimport { GoogleMapsService } from \"./services/google-maps.service\";\n\n@Component({\n selector: \"kwikid-agent-dashboard-v1\",\n templateUrl: \"./kwikid-agent-dashboard.component.html\",\n styleUrls: [\"./kwikid-agent-dashboard.component.scss\"]\n})\nexport class KwikIDAgentDashboardComponentV1 implements OnInit {\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n this.isMobileView = true;\n this.agentService.isMobileView = true;\n } else {\n this.isMobileView = false;\n this.agentService.isMobileView = false;\n }\n }\n\n isMobileView;\n\n @Input()\n agentInfo: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n addTask = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n filterTaskList = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n loading = true;\n\n map: any;\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @ViewChild(MapInfoWindow, { static: false }) infoWindow: MapInfoWindow;\n\n @ViewChild(\"map\", { static: true }) mapElement: ElementRef;\n\n mapsLoaded: boolean;\n\n dialogSubscription;\n\n constructor(\n public googleMapsService: GoogleMapsService,\n public agentService: AgentService,\n public httpClient: HttpClient,\n private hostElement: ElementRef,\n @Inject(TuiDialogService) private readonly dialogService: TuiDialogService\n ) {}\n\n async ngOnInit() {\n this.parseData();\n this.agentService.config = this.config;\n this.agentService.showMapview = this.config?.maps?.isShowMaps ?? false;\n\n if (\n this.config?.maps?.mapType === \"google-maps\" &&\n isNotEmptyValue(this.config?.maps?.apiKey)\n ) {\n this.loadMaps(this.config?.maps?.apiKey).subscribe((loaded: boolean) => {\n this.mapsLoaded = loaded;\n if (loaded) {\n console.log(\"Google Maps JavaScript API loaded successfully.\");\n this.loading = false;\n // Initialize and render Google Map here\n } else {\n console.error(\"Google Maps JavaScript API failed to load.\");\n this.loading = false;\n }\n });\n } else {\n this.mapsLoaded = true;\n this.loading = false;\n }\n\n setTimeout(() => {\n this.windowResizeWatcher();\n }, 1000);\n }\n\n // Load Google Maps\n loadMaps(apiKey): Observable<boolean> {\n const url = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&v=3.exp&libraries=geometry,drawing,places`;\n this.googleMapsService.apiKey = apiKey;\n\n return this.httpClient.jsonp(url, \"callback\").pipe(\n map(() => true),\n catchError(() => {\n console.error(\"Error loading Google Maps JavaScript API.\");\n return of(false);\n })\n );\n }\n\n getValueFromArray(paths) {\n let data = \"\";\n // eslint-disable-next-line array-callback-return\n paths.map((path) => {\n const value = getObjectValueFromPath(this.agentInfo, path);\n data = `${data} ${value}`;\n });\n\n return data;\n }\n\n parseData() {\n let detailsConfig = [];\n if (\n checkObjectPathExists(this.config, \"hamburgerUI.data\") &&\n isNotEmptyArray(this.config.hamburgerUI.data)\n ) {\n const data = [];\n detailsConfig = this.config.hamburgerUI.data;\n detailsConfig.map((field) => {\n let value;\n if (Array.isArray(field.path)) {\n value = this.getValueFromArray(field.path);\n } else {\n value = getObjectValueFromPath(this.agentInfo, field.path);\n }\n data.push({ label: field.label, value });\n return true;\n });\n this.labelValuePairData = data;\n } else {\n this.labelValuePairData = [\n {\n label: \"Agent ID\",\n value: this.agentInfo?.agent_id\n }\n ];\n }\n this.labelValuePairConfig = this.config?.hamburgerUI?.config ?? {};\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n handleOnClickAddTask(task) {\n this.addTask.emit(task);\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnFilterTaskList(filter) {\n this.filterTaskList.emit(filter);\n }\n\n refresh() {\n this.handleOnFilterTaskList({});\n }\n\n open = false;\n\n onClick(): void {\n this.open = !this.open;\n }\n\n allFormsData = {};\n\n String = String;\n\n onObscured(obscured: boolean): void {\n if (obscured) {\n this.open = false;\n }\n }\n\n onActiveZone(active: boolean): void {\n this.open = active && this.open;\n }\n\n close() {\n this.open = false;\n if (this.dialogSubscription) {\n this.dialogSubscription.unsubscribe();\n }\n }\n\n showDialog(content: PolymorpheusContent<TuiDialogContext>): void {\n this.dialogSubscription = this.dialogService\n .open(content, { closeable: false, dismissible: false })\n .subscribe();\n }\n\n openInfoWindow(marker: MapMarker) {\n this.infoWindow.open(marker);\n }\n\n handleOnClickSaveForm(e) {\n this.handleOnClickAddTask(e.data);\n this.close();\n }\n\n handleOnClickLogout() {\n this.handleOnClickPerformAction({ action: { type: \"logout\" } });\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div\n class=\"kwikid-agent-dashboard\"\n *ngIf=\"!loading\"\n>\n <div class=\"wrapper\">\n <header>\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconMenuLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"m\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button>\n <img\n *ngIf=\"\n userConfig?.theme?.clientLogo &&\n config?.utilityFlags?.isShowClientLogo &&\n !config?.utilityFlags?.isAllowAddTask\n \"\n [src]=\"userConfig?.theme.clientLogo\"\n class=\"client-logo\"\n />\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentInfo.agent_name ?? userConfig?.theme?.clientName }}\n </div>\n <div class=\"customer-details-table\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Refresh\"\n [icon]=\"'tuiIconRefreshCw'\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"refresh()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"this.config?.maps?.isShowMaps\"\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"{{\n agentService.showMapview ? 'Hide Maps' : 'Show Maps'\n }}\"\n type=\"button\"\n icon=\"{{\n agentService.showMapview ? 'tuiIconEyeOff' : 'tuiIconEye'\n }}\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"padding: 0rem !important\"\n (onClick)=\"agentService.toggleMapview()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Logout\"\n icon=\"tuiIconLogOut\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickLogout()\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n <div class=\"actions\">\n <kwikui-button\n *ngIf=\"config?.utilityFlags?.isAllowAddTask\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"primary\"\n [label]=\"config?.formsConfig?.addTaskForm?.title ?? 'Add User'\"\n icon=\"tuiIconPlus\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"showDialog(template)\"\n ></kwikui-button>\n </div>\n </header>\n\n <div class=\"dashboard-body\">\n <div\n *ngIf=\"mapsLoaded\"\n [class]=\"agentService.showMapview ? 'map' : 'map-hidden'\"\n >\n <google-map\n *ngIf=\"config?.maps?.mapType == 'google-maps'\"\n [options]=\"this.googleMapsService.map\"\n height=\"100%\"\n width=\"100%\"\n >\n <map-marker\n #marker=\"mapMarker\"\n *ngFor=\"\n let markerPosition of this.googleMapsService.allMarkers;\n let index = index\n \"\n [position]=\"markerPosition\"\n [label]=\"{ text: String(index) }\"\n ></map-marker>\n <map-directions-renderer\n *ngIf=\"\n this.googleMapsService.directionsResults$\n | async as directionsResults\n \"\n [directions]=\"directionsResults\"\n [options]=\"this.googleMapsService.directionsRenderOption\"\n ></map-directions-renderer>\n </google-map>\n\n <div\n *ngIf=\"config?.maps?.mapType == 'open-street'\"\n id=\"map\"\n style=\"height: 100%\"\n ></div>\n </div>\n\n <div\n class=\"task-details\"\n *ngIf=\"\n !agentService.isMobileView &&\n agentService.currentTaskDetails != undefined &&\n !agentService.showMapview\n \"\n >\n <customer-details\n [customer]=\"agentService.currentTaskDetails\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-details>\n </div>\n\n <div\n class=\"no-task-details\"\n *ngIf=\"\n agentService.currentTaskDetails == undefined &&\n !agentService.isMobileView &&\n !agentService.showMapview\n \"\n >\n <img\n src=\"assets/No-Results.jpg\"\n class=\"no-task-img\"\n alt=\"No Task\"\n />\n <div>Select a Task to view it's details.</div>\n </div>\n\n <div class=\"customer-list\">\n <customer-list\n [customers]=\"taskList\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-list>\n </div>\n </div>\n </div>\n</div>\n\n<div\n class=\"kwikid-agent-dashboard-loader\"\n *ngIf=\"loading\"\n>\n <span class=\"loader\"></span>\n</div>\n\n<ng-template\n #template\n let-observer\n>\n <div class=\"add-task-header\">\n <h2>{{ config?.formsConfig?.addTaskForm?.title ?? \"Create User\" }}</h2>\n <kwikui-button\n icon=\"tuiIconX\"\n id=\"\"\n styles=\"\"\n type=\"button\"\n appearance=\"mono\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"observer.complete()\"\n ></kwikui-button>\n </div>\n <kwikid-form-view\n [allFormsData]=\"allFormsData\"\n [formConfig]=\"config?.formsConfig?.addTaskForm\"\n [isMobileView]=\"true\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n</ng-template>\n","/* eslint-disable no-empty-function */\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\n\n@Component({\n selector: \"kwikid-agent-dashboard\",\n templateUrl: \"./kwikid-agent-dashboard.component.html\",\n styleUrls: [\"./kwikid-agent-dashboard.component.scss\"]\n})\nexport class KwikIDAgentDashboardComponent implements OnInit {\n @Input()\n agentInfo: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n addTask = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n filterTaskList = new EventEmitter();\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter();\n\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n constructor() {}\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n // eslint-disable-next-line no-prototype-builtins\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"taskList\")) {\n this.taskList = changes.taskList.currentValue;\n }\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n handleOnClickAddTask(task) {\n this.addTask.emit(task);\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnFilterTaskList(filter) {\n this.onGetTaskList.emit(filter);\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n handleOnClickPerformAction(event) {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div *ngIf=\"config?.version === 2\">\n <kwikid-agent-dashboard-v2\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v2>\n</div>\n\n<div *ngIf=\"config?.version !== 2\">\n <kwikid-agent-dashboard-v1\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (nextStep)=\"handleOnClickNext($event)\"\n (addTask)=\"handleOnClickAddTask($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v1>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientJsonpModule, HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { GoogleMapsModule } from \"@angular/google-maps\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\n\nimport {\n KwikUIButtonModule,\n KwikUIInputDateModule,\n KwikUIInputModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n KwikUILabelValuePairModule\n} from \"kwikui\";\n\nimport { TuiSidebarModule } from \"@taiga-ui/addon-mobile\";\nimport { TuiActiveZoneModule } from \"@taiga-ui/cdk\";\nimport {\n TuiDialogModule,\n TuiDropdownModule,\n TuiGroupModule,\n TuiRootModule,\n TuiSvgModule\n} from \"@taiga-ui/core\";\nimport { KwikIDFormViewModule } from \"kwikid-forms\";\nimport { CustomerTileComponent } from \"./components/customer-tile/customer-tile.component\";\nimport { CustomerListComponent } from \"./components/customer-list/customer-list.component\";\nimport { Ng2SearchPipe } from \"./pipes/search-filter.pipe\";\nimport { StatusPillComponent } from \"./components/customer-tile/status-pill/status-pill.component\";\nimport { CustomerDetailsComponent } from \"./components/customer-details/customer-details.component\";\nimport { KwikIDAgentDashboardComponentV1 } from \"./kwikid-agent-dashboard.component\";\nimport { ActionButtonComponent } from \"./components/action-button/action-button.component\";\n\n@NgModule({\n declarations: [\n KwikIDAgentDashboardComponentV1,\n CustomerListComponent,\n CustomerTileComponent,\n Ng2SearchPipe,\n StatusPillComponent,\n CustomerDetailsComponent,\n ActionButtonComponent\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n\n KwikUIButtonModule,\n KwikUIInputModule,\n KwikUIInputDateModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUILabelValuePairModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n\n KwikIDFormViewModule,\n\n TuiRootModule,\n TuiDialogModule,\n TuiDropdownModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiGroupModule,\n TuiSvgModule,\n\n ScrollingModule,\n\n GoogleMapsModule,\n HttpClientModule,\n HttpClientJsonpModule\n ],\n exports: [KwikIDAgentDashboardComponentV1]\n})\nexport class KwikIDAgentDashboardModuleV1 {}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"agent-info\",\n templateUrl: \"./agent-info.component.html\",\n styleUrls: [\"./agent-info.component.scss\"]\n})\nexport class AgentInfoComponent implements OnInit {\n constructor() {}\n\n async ngOnInit() {}\n}\n","Agent Info\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { AgentInfoComponent } from \"./agent-info.component\";\n\n@NgModule({\n declarations: [AgentInfoComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [AgentInfoComponent]\n})\nexport class AgentInfoModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TuiSvgModule } from \"@taiga-ui/core\";\nimport { BottomSheetComponent } from \"./bottom-sheet.component\";\n\n@NgModule({\n declarations: [BottomSheetComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiSvgModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [BottomSheetComponent]\n})\nexport class BottomSheetModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { MapViewComponent } from \"./map-view.component\";\n\n@NgModule({\n declarations: [MapViewComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [MapViewComponent]\n})\nexport class MapViewModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n TuiDataListModule,\n TuiDropdownModule,\n TuiHostedDropdownModule\n} from \"@taiga-ui/core\";\nimport { TuiBadgeModule, TuiItemsWithMoreModule } from \"@taiga-ui/kit\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { PrimaryActionsComponent } from \"./primary-actions.component\";\n\n@NgModule({\n declarations: [PrimaryActionsComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiItemsWithMoreModule,\n TuiDropdownModule,\n TuiHostedDropdownModule,\n TuiDataListModule,\n TuiBadgeModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [PrimaryActionsComponent]\n})\nexport class PrimaryActionsModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TaskItemStatusComponent } from \"./task-item-status.component\";\n\n@NgModule({\n declarations: [TaskItemStatusComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n exports: [TaskItemStatusComponent]\n})\nexport class TaskItemStatusModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskDetailComponent } from \"./task-detail.component\";\nimport { TaskItemStatusModule } from \"../task-item-status/task-item-status.module\";\n\n@NgModule({\n declarations: [TaskDetailComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule,\n TaskItemStatusModule\n ],\n exports: [TaskDetailComponent]\n})\nexport class TaskDetailModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiAccordionModule } from \"@taiga-ui/kit\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskItemComponent } from \"./task-item.component\";\nimport { TaskItemStatusModule } from \"../task-item-status/task-item-status.module\";\n\n@NgModule({\n declarations: [TaskItemComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiAccordionModule,\n TaskItemStatusModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [TaskItemComponent]\n})\nexport class TaskItemModule {}\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskListSearchComponent } from \"./task-list-search.component\";\n\n@NgModule({\n declarations: [TaskListSearchComponent],\n imports: [\n CommonModule,\n ScrollingModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [TaskListSearchComponent]\n})\nexport class TaskListSearchModule {}\n","import { Pipe, PipeTransform, Injectable } from \"@angular/core\";\n\n@Pipe({\n name: \"filter\",\n pure: false\n})\n@Injectable()\nexport class Ng2SearchPipe implements PipeTransform {\n /**\n * @param items object from array\n * @param term term's search\n * @param excludes array of strings which will ignored during search\n */\n transform(items: any, term: string, excludes: any = []): any {\n if (!term || !items) return items;\n\n return Ng2SearchPipe.filter(items, term, excludes);\n }\n\n /**\n *\n * @param items List of items to filter\n * @param term a string term to compare with every property of the list\n * @param excludes List of keys which will be ignored during search\n *\n */\n static filter(\n items: Array<{ [key: string]: any }>,\n term: string,\n excludes: any\n ): Array<{ [key: string]: any }> {\n const toCompare = term.toLowerCase();\n\n function checkInside(item: any, term: string) {\n if (\n typeof item === \"string\" &&\n item.toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n\n for (const property in item) {\n if (\n item[property] === null ||\n item[property] == undefined ||\n excludes.includes(property)\n ) {\n continue;\n }\n if (typeof item[property] === \"object\") {\n if (checkInside(item[property], term)) {\n return true;\n }\n } else if (\n item[property].toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n }\n return false;\n }\n\n return items.filter((item) => {\n return checkInside(item, term);\n });\n }\n}\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiPaginationModule } from \"@taiga-ui/kit\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUILoaderModule, KwikUIModule } from \"kwikui\";\nimport { TaskItemModule } from \"../task-item/task-item.module\";\nimport { TaskListSearchModule } from \"../task-list-search/task-list-search.module\";\nimport { TaskListComponent } from \"./task-list.component\";\nimport { Ng2SearchPipe } from \"../../pipes/search-filter.pipe\";\n\n@NgModule({\n declarations: [TaskListComponent, Ng2SearchPipe],\n imports: [\n CommonModule,\n ScrollingModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikUILoaderModule,\n KwikIDFormsModule,\n TaskItemModule,\n TaskListSearchModule,\n TuiPaginationModule\n ],\n exports: [TaskListComponent]\n})\nexport class TaskListModule {}\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\n\n@Component({\n selector: \"task-preview\",\n templateUrl: \"./task-preview.component.html\",\n styleUrls: [\"./task-preview.component.scss\"]\n})\nexport class TaskPreviewComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n data: any = {};\n\n @Output()\n onClickTaskItemAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {}\n}\n","<div></div>\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskPreviewComponent } from \"./task-preview.component\";\n\n@NgModule({\n declarations: [TaskPreviewComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [TaskPreviewComponent]\n})\nexport class TaskPreviewModule {}\n","import { NgModule } from \"@angular/core\";\nimport { AgentInfoModule } from \"./agent-info/agent-info.module\";\nimport { BottomSheetModule } from \"./bottom-sheet/bottom-sheet.module\";\nimport { MapViewModule } from \"./map-view/map-view.module\";\nimport { PrimaryActionsModule } from \"./primary-actions/primary-actions.module\";\nimport { TaskDetailModule } from \"./task-detail/task-detail.module\";\nimport { TaskItemModule } from \"./task-item/task-item.module\";\nimport { TaskListSearchModule } from \"./task-list-search/task-list-search.module\";\nimport { TaskListModule } from \"./task-list/task-list.module\";\nimport { TaskPreviewModule } from \"./task-preview/task-preview.module\";\n\n@NgModule({\n declarations: [],\n imports: [\n AgentInfoModule,\n BottomSheetModule,\n MapViewModule,\n PrimaryActionsModule,\n TaskDetailModule,\n TaskItemModule,\n TaskListModule,\n TaskListSearchModule,\n TaskPreviewModule\n ],\n exports: [\n AgentInfoModule,\n BottomSheetModule,\n MapViewModule,\n PrimaryActionsModule,\n TaskDetailModule,\n TaskItemModule,\n TaskListModule,\n TaskListSearchModule,\n TaskPreviewModule\n ]\n})\nexport class ComponentModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n TuiPreviewActionModule,\n TuiPreviewModule\n} from \"@taiga-ui/addon-preview\";\nimport { TuiButtonModule, TuiSvgModule } from \"@taiga-ui/core\";\nimport { KwikIDFormViewModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { ComponentModule } from \"../../components/components.module\";\nimport { LayoutBodyComponent } from \"./layout-body.component\";\n\n@NgModule({\n declarations: [LayoutBodyComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormViewModule,\n ComponentModule,\n TuiSvgModule,\n TuiPreviewActionModule,\n TuiPreviewModule,\n TuiButtonModule\n ],\n exports: [LayoutBodyComponent]\n})\nexport class LayoutBodyModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TuiActiveZoneModule } from \"@taiga-ui/cdk\";\nimport { TuiDropdownModule, TuiGroupModule } from \"@taiga-ui/core\";\nimport { LayoutHeaderComponent } from \"./layout-header.component\";\n\n@NgModule({\n declarations: [LayoutHeaderComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule,\n TuiActiveZoneModule,\n TuiGroupModule,\n TuiDropdownModule\n ],\n exports: [LayoutHeaderComponent]\n})\nexport class LayoutHeaderModule {}\n","import { NgModule } from \"@angular/core\";\nimport { LayoutBodyModule } from \"./layout-body/layout-body.module\";\nimport { LayoutHeaderModule } from \"./layout-header/layout-header.module\";\n\n@NgModule({\n declarations: [],\n imports: [LayoutHeaderModule, LayoutBodyModule],\n exports: [LayoutHeaderModule, LayoutBodyModule]\n})\nexport class LayoutModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { ComponentModule } from \"./components/components.module\";\nimport { KwikIDAgentDashboardComponentV2 } from \"./kwikid-agent-dashboard.component\";\nimport { LayoutModule } from \"./layout/layout.module\";\n\n@NgModule({\n declarations: [KwikIDAgentDashboardComponentV2],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule,\n LayoutModule,\n ComponentModule\n ],\n exports: [KwikIDAgentDashboardComponentV2]\n})\nexport class KwikIDAgentDashboardModuleV2 {}\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientJsonpModule, HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { GoogleMapsModule } from \"@angular/google-maps\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\n\nimport {\n KwikUIButtonModule,\n KwikUIInputDateModule,\n KwikUIInputModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n KwikUILabelValuePairModule\n} from \"kwikui\";\n\nimport { TuiSidebarModule } from \"@taiga-ui/addon-mobile\";\nimport { TuiActiveZoneModule } from \"@taiga-ui/cdk\";\nimport {\n TuiDialogModule,\n TuiDropdownModule,\n TuiGroupModule,\n TuiRootModule,\n TuiSvgModule\n} from \"@taiga-ui/core\";\n\nimport { KwikIDFormViewModule } from \"kwikid-forms\";\nimport { KwikIDAgentDashboardComponent } from \"./kwikid-agent-dashboard.component\";\n\nimport { KwikIDAgentDashboardModuleV1 } from \"./v1/kwikid-agent-dashboard.module\";\nimport { KwikIDAgentDashboardModuleV2 } from \"./v2/kwikid-agent-dashboard.module\";\n\n@NgModule({\n declarations: [KwikIDAgentDashboardComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n\n KwikUIButtonModule,\n KwikUIInputModule,\n KwikUIInputDateModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUILabelValuePairModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n\n KwikIDFormViewModule,\n\n TuiRootModule,\n TuiDialogModule,\n TuiDropdownModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiGroupModule,\n TuiSvgModule,\n\n ScrollingModule,\n\n GoogleMapsModule,\n HttpClientModule,\n HttpClientJsonpModule,\n\n KwikIDAgentDashboardModuleV1,\n KwikIDAgentDashboardModuleV2\n ],\n exports: [KwikIDAgentDashboardComponent]\n})\nexport class KwikIDAgentDashboardModule {}\n","/* kwikid-agent-dashboard */\nexport * from \"./lib/kwikid-agent-dashboard.component\";\n\n/* All Modules in import order from bottom to top */\nexport * from \"./lib/kwikid-agent-dashboard.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4","i5","i2.TaskItemStatusComponent","i3","i2.TaskListSearchComponent","i3.TaskItemComponent","i2.PrimaryActionsComponent","i4.MapViewComponent","i5.TaskDetailComponent","i6.BottomSheetComponent","i7.TaskListComponent","i9","i1.LayoutHeaderComponent","i2.LayoutBodyComponent","i1.AgentService","i2.GoogleMapsService","i3.OpenStreetMapsService","i5.StatusPillComponent","i6.ActionButtonComponent","i1.GoogleMapsService","i2.OpenStreetMapsService","i3.AgentService","i4.StatusPillComponent","Ng2SearchPipe","i6.CustomerTileComponent","i7","i8","i9.Ng2SearchPipe","i6.CustomerDetailsComponent","i7.CustomerListComponent","i10","i11","i1.KwikIDAgentDashboardComponentV2","i2.KwikIDAgentDashboardComponentV1"],"mappings":"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"}
1
+ {"version":3,"file":"kwikid-agent-dashboard.js","sources":["../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-header/layout-header.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-header/layout-header.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/primary-actions/primary-actions.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/primary-actions/primary-actions.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/map-view/map-view.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/map-view/map-view.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item-status/task-item-status.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item-status/task-item-status.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-detail/task-detail.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-detail/task-detail.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/bottom-sheet/bottom-sheet.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/bottom-sheet/bottom-sheet.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/helpers/date.helplers.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/helpers/array.helper.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list-search/task-list-search.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list-search/task-list-search.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.constant.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list/task-list.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list/task-list.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-body/layout-body.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-body/layout-body.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/kwikid-agent-dashboard.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/kwikid-agent-dashboard.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/helpers/maps.helpers.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.definitions.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/services/agent.service.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/services/google-maps.service.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/services/open-street-maps.service.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.constants.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/status-pill/status-pill.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/action-button/action-button.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/action-button/action-button.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-details/customer-details.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-details/customer-details.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/customer-tile.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-tile/customer-tile.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/pipes/search-filter.pipe.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-list/customer-list.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/components/customer-list/customer-list.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/kwikid-agent-dashboard.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v1/kwikid-agent-dashboard.component.html","../../../projects/kwikid-agent-dashboard/src/lib/kwikid-agent-dashboard.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/kwikid-agent-dashboard.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v1/kwikid-agent-dashboard.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/agent-info/agent-info.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/agent-info/agent-info.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/agent-info/agent-info.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/bottom-sheet/bottom-sheet.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/map-view/map-view.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/primary-actions/primary-actions.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item-status/task-item-status.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-detail/task-detail.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-item/task-item.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list-search/task-list-search.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/pipes/search-filter.pipe.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-list/task-list.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-preview/task-preview.component.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-preview/task-preview.component.html","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/task-preview/task-preview.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/components/components.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-body/layout-body.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout-header/layout-header.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/layout/layout.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/v2/kwikid-agent-dashboard.module.ts","../../../projects/kwikid-agent-dashboard/src/lib/kwikid-agent-dashboard.module.ts","../../../projects/kwikid-agent-dashboard/src/public_api.ts","../../../projects/kwikid-agent-dashboard/src/kwikid-agent-dashboard.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\n\n@Component({\n selector: \"layout-header\",\n templateUrl: \"./layout-header.component.html\",\n styleUrls: [\"./layout-header.component.scss\"]\n})\nexport class LayoutHeaderComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n agentInfo: any = {};\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter();\n\n constructor() {}\n\n async ngOnInit() {}\n\n refreshPage() {\n this.handleOnGetTaskList({});\n }\n\n open = false;\n\n onClick(): void {\n this.open = !this.open;\n }\n\n onObscured(obscured: boolean): void {\n if (obscured) {\n this.open = false;\n }\n }\n\n onActiveZone(active: boolean): void {\n this.open = active && this.open;\n }\n\n logout() {\n this.handleOnClickPerformAction({ action: { type: \"logout\" } });\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n handleOnClickPerformAction(event) {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div id=\"header-container\">\n <div id=\"client-information-wrapper\">\n <img\n id=\"client-logo\"\n [src]=\"config?.theme?.clientLogo\"\n />\n </div>\n <div id=\"actions-wrapper\">\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconSettingsLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"l\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button>\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentInfo?.agent_name ?? \"Welcome\" }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID:\n {{ agentInfo?.agent_id }}\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Refresh\"\n [icon]=\"'tuiIconRefreshCw'\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"refreshPage()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n id=\"\"\n label=\"Logout\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconLogOut'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"logout()\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { ALWAYS_FALSE_HANDLER } from \"@taiga-ui/cdk\";\nimport { logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"primary-actions\",\n templateUrl: \"./primary-actions.component.html\",\n styleUrls: [\"./primary-actions.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PrimaryActionsComponent implements OnInit, OnChanges {\n @Input()\n primaryActionsConfig: any = [];\n\n @Output()\n onClickPrimaryAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n for (const change of Object.entries(changes)) {\n const key: string = change[0];\n const value: any = change[1].currentValue;\n }\n\n if (verifyChange(\"primaryActionsConfig\")) {\n this.primaryActionsConfig = changes.primaryActionsConfig.currentValue;\n this.primaryActionsConfig.map(ALWAYS_FALSE_HANDLER);\n }\n }\n\n @logMethod\n handleOnInitPrimaryActionsConfig(): void {\n this.primaryActionsConfig = this.primaryActionsConfig;\n this.primaryActionsConfig.map(ALWAYS_FALSE_HANDLER);\n }\n\n @logMethod\n handleOnClickPrimaryAction(event): void {\n this.onClickPrimaryAction.emit(event);\n }\n\n trackByFn(index: number, item: any) {\n return index; // or unique identifier if available\n }\n}\n","<div id=\"primary-actions-container\">\n <tui-items-with-more\n tuiGroup\n [itemsLimit]=\"1\"\n >\n <ng-container *ngFor=\"let item of primaryActionsConfig; let index = index\">\n <kwikui-button\n *tuiItem\n [label]=\"item.label\"\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n styles=\"width: max-content; margin-right: 1rem; box-shadow: #32325d40 0 13px 27px -5px, #0000004d 0 8px 16px -8px;\"\n [icon]=\"item.props.iconLeft || ''\"\n [iconRight]=\"item.props.iconRight || ''\"\n (onClick)=\"handleOnClickPrimaryAction(item)\"\n ></kwikui-button>\n </ng-container>\n <ng-template\n let-lastIndex\n tuiMore\n >\n <tui-hosted-dropdown\n tuiDropdownAlign=\"right\"\n class=\"item\"\n [content]=\"dropdown\"\n >\n <kwikui-button\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n icon=\"tuiIconMoreVertical\"\n styles=\"\n box-shadow: #32325d40 0 13px 27px -5px, #0000004d 0 8px 16px -8px;\n \"\n ></kwikui-button>\n <ng-template #dropdown>\n <tui-data-list size=\"l\">\n <ng-container\n *ngFor=\"let item of primaryActionsConfig; let index = index\"\n >\n <kwikui-button\n *ngIf=\"index > lastIndex\"\n tuiOption\n [label]=\"item.label\"\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n styles=\"width: calc(100% - 1rem); margin: 0.5rem;\"\n [icon]=\"item.props.iconLeft || ''\"\n [iconRight]=\"item.props.iconRight || ''\"\n (onClick)=\"handleOnClickPrimaryAction(item)\"\n ></kwikui-button>\n </ng-container>\n </tui-data-list>\n </ng-template>\n </tui-hosted-dropdown>\n </ng-template>\n </tui-items-with-more>\n</div>\n","import { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\n\n@Component({\n selector: \"map-view\",\n templateUrl: \"./map-view.component.html\",\n styleUrls: [\"./map-view.component.scss\"]\n})\nexport class MapViewComponent implements OnInit {\n @Input()\n mapConfig: any = {\n isMapHidden: true\n };\n\n constructor() {}\n\n async ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n for (const change of Object.entries(changes)) {\n const key: string = change[0];\n const value: any = change[1].currentValue;\n }\n\n if (verifyChange(\"mapConfig\")) {\n this.mapConfig = changes.mapConfig.currentValue;\n }\n }\n}\n","<div class=\"map-view-container\">\n <iframe\n *ngIf=\"!mapConfig?.isMapHidden\"\n src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d942.4620332111369!2d72.89243374854026!3d19.114317185214237!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3be7c90062467355%3A0xbc5e9528a3783c2b!2sBoomerang!5e0!3m2!1sen!2sin!4v1708350741641!5m2!1sen!2sin\"\n width=\"600\"\n height=\"450\"\n style=\"border: 0\"\n allowfullscreen=\"\"\n loading=\"lazy\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n ></iframe>\n</div>\n","import { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\nimport {\n logMethod,\n isNotEmptyValue,\n checkObjectKeyExists,\n convertSnakeCaseToNormalText,\n checkObjectPathExists\n} from \"kwikid-toolkit\";\n\n@Component({\n selector: \"task-item-status\",\n templateUrl: \"./task-item-status.component.html\",\n styleUrls: [\"./task-item-status.component.scss\"]\n})\nexport class TaskItemStatusComponent implements OnInit {\n @Input()\n config;\n\n @Input()\n status;\n\n styles = {};\n\n value = \"\";\n\n constructor() {}\n\n async ngOnInit() {\n this.setupStatus();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"config\")) {\n this.config = changes.config.currentValue;\n }\n if (verifyChange(\"status\")) {\n this.status = changes.status.currentValue;\n\n this.setupStatus();\n }\n }\n\n setupStatus() {\n if (\n checkObjectPathExists(this.config, \"mapping\") &&\n checkObjectKeyExists(this.config.mapping, this.status)\n ) {\n this.styles = this.config.mapping[this.status];\n this.value =\n this.config.mapping[this.status]?.label ??\n convertSnakeCaseToNormalText(this.status);\n }\n }\n}\n","<div\n class=\"task-iem-status-container\"\n [style]=\"styles\"\n>\n {{ value }}\n</div>\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\n\nimport {\n isNotEmptyValue,\n getObjectValueFromPath,\n checkObjectPathExists\n} from \"kwikid-toolkit\";\n\n@Component({\n selector: \"task-detail\",\n templateUrl: \"./task-detail.component.html\",\n styleUrls: [\"./task-detail.component.scss\"]\n})\nexport class TaskDetailComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n taskDetail: any = {};\n\n data: any = [];\n\n title: string = undefined;\n\n taskId: string = undefined;\n\n status: string = undefined;\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @Output()\n onClickCloseTaskDetail: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {\n this.parseData();\n this.parseTaskId();\n this.parseSessionStatus();\n }\n\n ngOnChanges(changes: SimpleChanges): void {}\n\n parseData() {\n if (\n checkObjectPathExists(this.config, \"taskUI.details.data\") &&\n isNotEmptyValue(this.config.taskUI.details.data) &&\n Array.isArray(this.config.taskUI.details.data) &&\n this.config.taskUI.details.data.length > 0\n ) {\n const data = [];\n this.config.taskUI.details.data.map((field) => {\n const value = getObjectValueFromPath(this.taskDetail.data, field.path);\n data.push({ label: field.label, value });\n });\n this.labelValuePairData = data;\n this.labelValuePairConfig = this.config?.taskUI?.details?.config ?? {};\n this.title = this.config?.taskUI?.details?.header?.title;\n }\n }\n\n parseSessionStatus() {\n if (\n this.config?.utilityFlags?.isShowTaskStatus &&\n checkObjectPathExists(\n this.config,\n \"taskUI.details.header.taskStatus.path\"\n ) &&\n isNotEmptyValue(this.config.taskUI.details.header.taskStatus.path)\n ) {\n this.status = getObjectValueFromPath(\n this.taskDetail.data,\n this.config?.taskUI?.details?.header?.taskStatus?.path\n );\n }\n }\n\n parseTaskId() {\n if (\n checkObjectPathExists(this.config, \"taskUI.details.header.taskId.path\") &&\n isNotEmptyValue(this.config.taskUI.details.header.taskId.path)\n ) {\n this.taskId = getObjectValueFromPath(\n this.taskDetail.data,\n this.config?.taskUI?.details?.header?.taskId?.path\n );\n }\n }\n\n handleOnClickClose(e: any): void {\n this.onClickCloseTaskDetail.emit(e);\n }\n\n handleOnClickPerformAction(e: any) {\n alert(`${e.id}, Action yet to be added`);\n }\n}\n","<div id=\"task-detail-container\">\n <kwikui-button\n appearance=\"primary\"\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickClose($event)\"\n ></kwikui-button>\n\n <div id=\"task-details-title\">{{ title }}</div>\n <div id=\"task-detail-header\">\n <div>{{ taskId }}</div>\n <task-item-status\n *ngIf=\"status\"\n [config]=\"config?.taskUI?.details?.header?.taskStatus\"\n [status]=\"status\"\n ></task-item-status>\n </div>\n\n <div id=\"task-details-container\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n id=\"task-detail-footer\"\n *ngIf=\"\n config?.taskUI?.details?.action &&\n config?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikui-button\n [label]=\"action.label\"\n appearance=\"primary\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickPerformAction(action)\"\n ></kwikui-button>\n </ng-container>\n </div>\n</div>\n","import { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\nimport { logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"bottom-sheet\",\n templateUrl: \"./bottom-sheet.component.html\",\n styleUrls: [\"./bottom-sheet.component.scss\"]\n})\nexport class BottomSheetComponent implements OnInit {\n @ViewChild(\"parentElement\", { static: true })\n parentElement: ElementRef<HTMLVideoElement>;\n\n constructor() {}\n\n async ngOnInit() {}\n\n isSwipeActive = false;\n\n swipeDirection: \"UP\" | \"DOWN\" = null;\n\n startY: number;\n\n startHeight: number;\n\n height = 320; // Initial height of the bottom sheet\n\n minHeight = 54; // Initial height of the bottom sheet\n\n @logMethod\n onMouseStart(event: MouseEvent) {\n event.preventDefault();\n\n this.isSwipeActive = true;\n\n this.startY = event.clientY;\n this.startHeight = this.parentElement.nativeElement.clientHeight;\n }\n\n onMouseMove(event: MouseEvent) {\n if (this.isSwipeActive) {\n this.resize(event.clientY);\n }\n }\n\n @logMethod\n onMouseEnd(event: MouseEvent) {\n this.isSwipeActive = false;\n }\n\n @logMethod\n onTouchStart(event: TouchEvent) {\n event.preventDefault();\n\n this.isSwipeActive = true;\n\n this.startY = event.touches[0].clientY;\n this.startHeight = this.parentElement.nativeElement.clientHeight;\n }\n\n @logMethod\n onTouchMove(event: TouchEvent) {\n event.preventDefault(); // Prevent scrolling while dragging\n if (this.isSwipeActive) {\n this.resize(event.touches[0].clientY);\n }\n }\n\n @logMethod\n onTouchEnd(event: TouchEvent) {\n this.isSwipeActive = false;\n }\n\n resize(clientY: number) {\n const deltaY = clientY - this.startY;\n const newHeight = this.startHeight - deltaY;\n\n if (newHeight > this.startHeight) {\n this.swipeDirection = \"UP\";\n }\n if (newHeight < this.startHeight) {\n this.swipeDirection = \"DOWN\";\n }\n\n const maxHeight = window.innerHeight - 180;\n if (newHeight >= this.minHeight && newHeight <= maxHeight) {\n // this.height = newHeight;\n this.parentElement.nativeElement.style.height = `${newHeight}px`;\n } else if (newHeight < this.minHeight) {\n this.parentElement.nativeElement.style.height = `${this.minHeight}px`;\n } else if (newHeight > maxHeight) {\n this.parentElement.nativeElement.style.height = `${maxHeight}px`;\n }\n }\n\n @logMethod\n preventMouseOrTouchEvents(event: MouseEvent | TouchEvent) {\n event.stopPropagation();\n\n return undefined;\n }\n\n removeEventListeners() {\n document.removeEventListener(\"mousedown\", this.onMouseStart.bind(this));\n document.removeEventListener(\"mousemove\", this.onMouseMove.bind(this));\n document.removeEventListener(\"mouseup\", this.onMouseEnd.bind(this));\n document.removeEventListener(\"touchend\", this.onTouchMove.bind(this));\n document.removeEventListener(\"touchmove\", this.onTouchEnd.bind(this));\n document.removeEventListener(\"touchstart\", this.onTouchEnd.bind(this));\n }\n}\n","<div\n #parentElement\n class=\"bottom-sheet\"\n [style.height.px]=\"height\"\n>\n <div\n class=\"top-holder\"\n (mousedown)=\"onMouseStart($event)\"\n (mousemove)=\"onMouseMove($event)\"\n (mouseup)=\"onMouseEnd($event)\"\n (touchend)=\"onTouchEnd($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchstart)=\"onTouchStart($event)\"\n >\n <tui-svg\n *ngIf=\"isSwipeActive && swipeDirection == 'UP'\"\n src=\"tuiIconChevronUpLarge\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"isSwipeActive && swipeDirection == 'DOWN'\"\n src=\"tuiIconChevronDownLarge\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"!isSwipeActive\"\n src=\"tuiIconHrLarge\"\n ></tui-svg>\n </div>\n <!-- Use ng-content to project content into the component -->\n <div class=\"bottom-sheet-content-container\">\n <ng-content></ng-content>\n </div>\n</div>\n","export const padZeroValuesInStart = (value, digits = 2) => {\n return String(value).padStart(digits, \"0\");\n};\n\nexport const convertKwikUIDateToStringFormat = (event) => {\n const { year } = event;\n const month = padZeroValuesInStart(event.month + 1, 2);\n const day = padZeroValuesInStart(event.day);\n\n return `${year}-${month}-${day}`;\n};\n\nexport const convertNormalDateToStringFormat = (value) => {\n const date = value ? new Date(value) : new Date();\n\n const year = date.getFullYear();\n const month: number | string = padZeroValuesInStart(date.getMonth() + 1);\n const day: number | string = padZeroValuesInStart(date.getDate());\n\n return `${year}-${month}-${day}`;\n};\n","export const sortItems = (data, key, sortInAscendingOrder) => {\n if (!data || data.length === 0) {\n return data; // Skip sorting if no items are available\n }\n\n const sortedData = sortInAscendingOrder\n ? data.sort((a, b) => (a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0))\n : data.sort((b, a) => (a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0));\n\n return sortedData;\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output\n} from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { logMethod } from \"kwikid-toolkit\";\nimport { TuiDay, TuiDayRange } from \"@taiga-ui/cdk\";\nimport {\n convertKwikUIDateToStringFormat,\n convertNormalDateToStringFormat\n} from \"../../helpers/date.helplers\";\n\n@Component({\n selector: \"task-list-search\",\n templateUrl: \"./task-list-search.component.html\",\n styleUrls: [\"./task-list-search.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TaskListSearchComponent implements OnInit {\n @Input()\n config;\n\n // Search Text\n searchText = \"\";\n\n formGroup: FormGroup = new FormGroup({});\n\n searchTextFormControl: FormControl;\n\n searchDateFormControl: FormControl;\n\n sortFilterKeyFormControl: FormControl;\n\n sortInAscendingOrder = true;\n\n // Date Range Values\n start_time: string | Date = undefined;\n\n end_time: string | Date = undefined;\n\n max: TuiDay = new TuiDay(\n new Date().getFullYear(),\n new Date().getMonth(),\n new Date().getDate()\n );\n\n maxLength: any;\n\n // Sorting Variables\n sortFilterOptions = [\"name\", \"session_status\", \"mobile_number\"];\n\n activeSearchAction: string = undefined;\n\n @Output()\n onFilterTasksByText: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onFilterTasksByDate: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onChangeSortFilter: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit() {\n this.handleSearchAndSortFormControls();\n this.handleInitialDateRange();\n }\n\n handleOnClickSearchType(type) {\n if (this.activeSearchAction !== type) {\n this.activeSearchAction = type;\n } else {\n this.activeSearchAction = undefined;\n }\n }\n\n handleInitialDateRange() {\n const searchFilterStartPoint = this.config?.extendedFlags\n ?.searchFilterStartPoint ?? {\n day: 0,\n month: 0,\n year: 0\n };\n const currentDate = new Date();\n const startDate = new Date(\n currentDate.getFullYear() - searchFilterStartPoint?.year ?? 0,\n currentDate.getMonth() - searchFilterStartPoint?.month ?? 0,\n currentDate.getDate() - searchFilterStartPoint?.day ?? 0\n );\n\n this.searchDateFormControl = new FormControl({\n value: new TuiDayRange(\n new TuiDay(\n startDate.getFullYear(),\n startDate.getMonth(),\n startDate.getDate()\n ),\n this.max\n ),\n disabled: false\n });\n this.formGroup.addControl(\"search-date\", this.searchDateFormControl);\n\n this.start_time = convertNormalDateToStringFormat(startDate);\n this.end_time = convertNormalDateToStringFormat(null);\n\n // To get Tasks for First Time\n this.onFilterTasksByDate.emit({\n start_time: this.start_time,\n end_time: this.end_time\n });\n }\n\n handleSearchAndSortFormControls() {\n this.searchTextFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"search-text\", this.searchTextFormControl);\n\n this.sortFilterKeyFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"sort-filter\", this.sortFilterKeyFormControl);\n this.sortFilterOptions =\n this.config?.extendedFlags?.sortFilterKeys ?? this.sortFilterOptions;\n }\n\n @logMethod\n handleOnChangeSearchText(event: any): void {\n this.onFilterTasksByText.emit({ text: event.value });\n }\n\n handleOnChangeDateRange(event: any) {\n this.handleChangeDateRangeFormat(event);\n this.onFilterTasksByDate.emit({\n start_time: this.start_time,\n end_time: this.end_time\n });\n }\n\n handleOnChangeSortFilter(event: any) {\n this.onChangeSortFilter.emit({\n sortFilterKey: this.sortFilterKeyFormControl.value,\n sortFilterOrder: this.sortInAscendingOrder\n });\n }\n\n handleOnClickChangeSortOrder() {\n this.sortInAscendingOrder = !this.sortInAscendingOrder;\n this.handleOnChangeSortFilter(false);\n }\n\n handleChangeDateRangeFormat(event: any) {\n this.start_time = convertKwikUIDateToStringFormat(event.value.from);\n this.end_time = convertKwikUIDateToStringFormat(event.value.to);\n }\n}\n","<div\n class=\"task-list-search-container\"\n [formGroup]=\"formGroup\"\n>\n <div class=\"task-list-search-icons\">\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconSearchLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-text')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconCalendarLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-date')\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"config?.utilityFlags?.isAllowSortTasks\"\n appearance=\"mono\"\n icon=\"tuiIconFilterLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('sort-filter')\"\n ></kwikui-button>\n </div>\n\n <div\n class=\"task-list-search-action\"\n *ngIf=\"activeSearchAction\"\n >\n <kwikui-input-date-range\n *ngIf=\"activeSearchAction == 'search-date'\"\n class=\"task-list-date-box\"\n label=\"Search by Date Range\"\n id=\"dateRange\"\n size=\"m\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n formControlName=\"search-date\"\n [formControl]=\"searchDateFormControl\"\n (getKeyValue)=\"handleOnChangeDateRange($event)\"\n ></kwikui-input-date-range>\n\n <kwikui-input\n *ngIf=\"activeSearchAction == 'search-text'\"\n label=\"Search\"\n id=\"search\"\n icon=\"tuiIconSearch\"\n placeholder=\"Search any task from here\"\n size=\"m\"\n [formControl]=\"searchTextFormControl\"\n formControlName=\"search-text\"\n (getKeyValue)=\"handleOnChangeSearchText($event)\"\n ></kwikui-input>\n\n <div\n *ngIf=\"activeSearchAction == 'sort-filter'\"\n class=\"task-list-sort-action\"\n >\n <kwikui-button\n appearance=\"outline\"\n [icon]=\"\n sortInAscendingOrder\n ? 'tuiIconChevronsUpLarge'\n : 'tuiIconChevronsDownLarge'\n \"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickChangeSortOrder()\"\n ></kwikui-button>\n <kwikui-input-select\n class=\"task-list-sort-key\"\n formControlName=\"sort-filter\"\n label=\"Sort By Key\"\n size=\"m\"\n [formControl]=\"sortFilterKeyFormControl\"\n [options]=\"sortFilterOptions\"\n [searchable]=\"false\"\n (getKeyValue)=\"handleOnChangeSortFilter($event)\"\n ></kwikui-input-select>\n </div>\n </div>\n</div>\n","export const PREVIEW_DATA_DEFAULT_CONFIG = {\n separator: \":\",\n orientation: \"horizontal\",\n placeholder: \"-\",\n customStyles: {\n label: {},\n value: {},\n placeholder: {},\n container: {}\n }\n};\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport {\n logMethod,\n isNotEmptyValue,\n getObjectValueFromPath,\n checkObjectPathExists\n} from \"kwikid-toolkit\";\nimport { PREVIEW_DATA_DEFAULT_CONFIG } from \"./task-item.constant\";\n\n@Component({\n selector: \"task-item\",\n templateUrl: \"./task-item.component.html\",\n styleUrls: [\"./task-item.component.scss\"]\n})\nexport class TaskItemComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n data: any = {};\n\n header = \"\";\n\n status = \"\";\n\n previewConfig: any = {};\n\n previewData: any = [];\n\n @Output()\n onClickTaskItem: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickTaskItemViewDetail: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {\n this.parseHeader();\n this.parseSessionStatus();\n this.parsePreviewData();\n }\n\n parseHeader() {\n if (\n checkObjectPathExists(this.config, \"taskUI.header.taskId.path\") &&\n isNotEmptyValue(this.config.taskUI.header.taskId.path)\n ) {\n this.header = getObjectValueFromPath(\n this.data,\n this.config?.taskUI?.header?.taskId?.path\n );\n }\n\n if (\n checkObjectPathExists(\n this.config,\n \"taskUI.header.taskId.maxLengthToShow\"\n ) &&\n isNotEmptyValue(this.config.taskUI.header.taskId.maxLengthToShow) &&\n this.header.length > this.config.taskUI.header.taskId.maxLengthToShow\n ) {\n this.header = `${this.header.slice(\n 0,\n this.config.taskUI.header.taskId.maxLengthToShow\n )}...`;\n }\n }\n\n parseSessionStatus() {\n if (\n this.config?.utilityFlags?.isShowTaskStatus &&\n checkObjectPathExists(this.config, \"taskUI.header.taskStatus.path\") &&\n isNotEmptyValue(this.config.taskUI.header.taskStatus.path)\n ) {\n this.status = getObjectValueFromPath(\n this.data,\n this.config?.taskUI?.header?.taskStatus?.path\n );\n }\n }\n\n parsePreviewData() {\n if (\n checkObjectPathExists(this.config, \"taskUI.preview.data\") &&\n isNotEmptyValue(this.config.taskUI.preview.data) &&\n Array.isArray(this.config.taskUI.preview.data) &&\n this.config.taskUI.preview.data.length > 0\n ) {\n const previewData = [];\n this.config.taskUI.preview.data.map((field) => {\n const value = getObjectValueFromPath(this.data, field.path);\n previewData.push({ label: field.label, value });\n });\n this.previewData = previewData;\n\n this.previewConfig =\n this.config?.taskUI?.preview?.config ?? PREVIEW_DATA_DEFAULT_CONFIG;\n }\n }\n\n @logMethod\n handleOnClickTaskItem(e: any, taskItemData: any): void {\n this.onClickTaskItem.emit({\n data: taskItemData\n });\n }\n\n @logMethod\n handleOnClickTaskItemViewDetail(e: any, taskItemData: any): void {\n this.onClickTaskItemViewDetail.emit({\n data: taskItemData\n });\n }\n\n handleOnClickPerformAction(e: any, action: any): void {\n this.onClickPerformAction.emit({\n action\n });\n }\n}\n","<tui-accordion\n class=\"task-item-container\"\n (click)=\"handleOnClickTaskItem($event, data)\"\n>\n <tui-accordion-item>\n <div class=\"task-item-header\">\n <div class=\"task-item-id\">{{ header }}</div>\n <task-item-status\n *ngIf=\"status\"\n [config]=\"config?.taskUI?.header?.taskStatus\"\n [status]=\"status\"\n ></task-item-status>\n </div>\n <ng-template tuiAccordionItemContent>\n <div class=\"task-item-preview\">\n <kwikui-label-value-pair\n [config]=\"previewConfig\"\n [data]=\"previewData\"\n ></kwikui-label-value-pair>\n </div>\n <div class=\"task-item-footer\">\n <kwikui-button\n appearance=\"primary\"\n label=\"View Detail\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"handleOnClickTaskItemViewDetail($event, data)\"\n ></kwikui-button>\n </div>\n </ng-template>\n </tui-accordion-item>\n</tui-accordion>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { TuiDay, TuiDayRange } from \"@taiga-ui/cdk\";\nimport { isNotEmptyValue, logMethod } from \"kwikid-toolkit\";\nimport { KwikUILoaderService } from \"kwikui\";\nimport {\n convertKwikUIDateToStringFormat,\n convertNormalDateToStringFormat\n} from \"../../helpers/date.helplers\";\nimport { sortItems } from \"../../helpers/array.helper\";\n\n@Component({\n selector: \"task-list\",\n templateUrl: \"./task-list.component.html\",\n styleUrls: [\"./task-list.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TaskListComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n taskItems: any[] = [];\n\n @Output()\n onClickTaskItemViewDetail: EventEmitter<any> = new EventEmitter<any>();\n\n // Pagination\n paginationIndex = 0;\n\n paginationLength: number = null;\n\n activePageItems: any = [];\n\n filteredItems: any = [];\n\n itemPerPage = 50;\n\n // Loaders\n loading = false;\n\n // Search Text\n searchText = \"\";\n\n // Sort Filter\n sortFilterKey: string | undefined = \"\";\n\n sortInAscendingOrder = \"ASC\";\n\n // Date Range Values\n start_time: string | Date = undefined;\n\n end_time: string | Date = undefined;\n\n max: TuiDay = new TuiDay(\n new Date().getFullYear(),\n new Date().getMonth(),\n new Date().getDate()\n );\n\n maxLength: any;\n\n formGroup: FormGroup = new FormGroup({});\n\n searchDataFormControl: FormControl;\n\n searchTextFormControl: FormControl;\n\n // Event Emitters\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n constructor(private loaderService: KwikUILoaderService) {}\n\n async ngOnInit() {\n this.toggleLoader(true);\n\n // this.taskItems = Array.from({ length: 1000 }, (_, i) =>\n // String(`test_${i}`)\n // );\n this.handleInitialDateRange();\n }\n\n @logMethod\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"taskItems\")) {\n this.toggleLoader(true);\n this.taskItems = changes.taskItems.currentValue;\n this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);\n this.handleOnTaskItemsChange();\n }\n }\n\n @logMethod\n handleOnTaskItemsChange() {\n this.toggleLoader(true);\n\n this.handleOnFilterTaskItems();\n\n this.paginationLength = Math.ceil(\n this.filteredItems.length / this.itemPerPage\n );\n this.activePageItems = this.filteredItems.slice(\n this.paginationIndex * this.itemPerPage,\n this.paginationIndex * this.itemPerPage + this.itemPerPage\n );\n\n this.toggleLoader(false);\n }\n\n handleInitialDateRange() {\n const searchFilterStartPoint = this.config?.extendedFlags\n ?.searchFilterStartPoint ?? {\n day: 0,\n month: 0,\n year: 0\n };\n const currentDate = new Date();\n const startDate = new Date(\n currentDate.getFullYear() - searchFilterStartPoint?.year ?? 0,\n currentDate.getMonth() - searchFilterStartPoint?.month ?? 0,\n currentDate.getDate() - searchFilterStartPoint?.day ?? 0\n );\n\n this.start_time = convertNormalDateToStringFormat(startDate);\n this.end_time = convertNormalDateToStringFormat(null);\n\n this.searchDataFormControl = new FormControl({\n value: new TuiDayRange(\n new TuiDay(\n startDate.getFullYear(),\n startDate.getMonth(),\n startDate.getDate()\n ),\n this.max\n ),\n disabled: false\n });\n this.formGroup.addControl(\"searchDate\", this.searchDataFormControl);\n\n this.searchTextFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"searchText\", this.searchTextFormControl);\n\n this.handleOnGetTaskItems();\n }\n\n handleOnFilterTasksByText(event) {\n this.searchText = event?.text;\n this.handleOnTaskItemsChange();\n }\n\n handleOnFilterTasksByDate(event) {\n this.start_time = event.start_time;\n this.end_time = event.end_time;\n this.handleOnGetTaskItems();\n }\n\n handleOnGetTaskItems() {\n this.toggleLoader(true);\n this.onGetTaskList.emit({\n from_date: this.start_time,\n to_date: this.end_time\n });\n }\n\n handleOnChangeSortFilter(event: any) {\n if (event && isNotEmptyValue(event.sortFilterKey)) {\n this.sortFilterKey = event.sortFilterKey;\n this.sortInAscendingOrder = event.sortFilterOrder ?? true;\n this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);\n this.handleOnTaskItemsChange();\n }\n }\n\n handleOnSortTaskItems(key, order) {\n const sortedTaskItems = sortItems(this.taskItems, key, order);\n this.taskItems = sortedTaskItems;\n this.handleOnTaskItemsChange();\n }\n\n @logMethod\n handleOnClickTaskItemViewDetail(e: any): void {\n this.onClickTaskItemViewDetail.emit(e);\n }\n\n @logMethod\n handleOnClickChangePaginationIndex(indexOfPage: number): void {\n if (indexOfPage >= 0) {\n this.paginationIndex = indexOfPage;\n\n this.activePageItems = this.taskItems.slice(\n this.paginationIndex * this.itemPerPage,\n this.paginationIndex * this.itemPerPage + this.itemPerPage\n );\n }\n }\n\n handleOnFilterTaskItems() {\n const lowerCaseSearchText = this.searchText.toLowerCase();\n this.filteredItems = this.taskItems.filter((item) => {\n return Object.values(item).some(\n (value) =>\n // Ensure the value can be converted to string and check if it includes the search text\n value != null &&\n value.toString().toLowerCase().includes(lowerCaseSearchText)\n );\n });\n }\n\n trackByFn(index: number, item: any) {\n return index; // or unique identifier if available\n }\n\n async toggleLoader(loader, message = undefined) {\n if (loader) {\n this.loaderService.show({\n fullscreen: true,\n loaderText: message ?? \"Please Wait\"\n });\n this.loading = true;\n } else {\n this.loaderService.hide();\n this.loading = false;\n }\n }\n}\n","<kwikui-loader></kwikui-loader>\n<div id=\"task-list-container\">\n <div id=\"task-list-search-wrapper\">\n <task-list-search\n [config]=\"config\"\n (onFilterTasksByText)=\"handleOnFilterTasksByText($event)\"\n (onFilterTasksByDate)=\"handleOnFilterTasksByDate($event)\"\n (onChangeSortFilter)=\"handleOnChangeSortFilter($event)\"\n ></task-list-search>\n </div>\n <hr />\n <div\n itemSize=\"50\"\n class=\"virtualscroll-container\"\n *ngIf=\"activePageItems.length > 0 && !loading; else NO_TASKS\"\n >\n <div id=\"task-list-items-container\">\n <div\n *ngFor=\"let taskItem of activePageItems\"\n class=\"task-item-container\"\n >\n <task-item\n [config]=\"config\"\n [data]=\"taskItem\"\n (onClickTaskItemViewDetail)=\"handleOnClickTaskItemViewDetail($event)\"\n >\n </task-item>\n </div>\n </div>\n <div id=\"task-list-items-pagination-container\">\n <tui-pagination\n [index]=\"paginationIndex\"\n [length]=\"paginationLength\"\n (indexChange)=\"handleOnClickChangePaginationIndex($event)\"\n ></tui-pagination>\n </div>\n </div>\n <ng-template #NO_TASKS>\n <div class=\"no-tasks\">No Tasks</div>\n </ng-template>\n</div>\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from \"@angular/core\";\nimport { TuiPreviewDialogService } from \"@taiga-ui/addon-preview\";\nimport { TuiDialogContext, TuiDialogService } from \"@taiga-ui/core\";\nimport { logMethod } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"layout-body\",\n templateUrl: \"./layout-body.component.html\",\n styleUrls: [\"./layout-body.component.scss\"],\n animations: [\n trigger(\"taskDetailInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(100%)\" }),\n animate(150)\n ]),\n transition(\":leave\", [\n animate(150, style({ transform: \"translateY(100%)\" }))\n ])\n ]),\n trigger(\"taskDetail2InOut\", [\n transition(\":enter\", [\n style({ transform: \"translateX(100%)\" }),\n animate(150)\n ]),\n transition(\":leave\", [\n animate(150, style({ transform: \"translateX(100%)\" }))\n ])\n ]),\n trigger(\"taskListInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(100%)\" }),\n animate(0)\n ]),\n transition(\":leave\", [\n animate(0, style({ transform: \"translateY(100%)\" }))\n ])\n ])\n ]\n})\nexport class LayoutBodyComponent implements OnInit {\n // The final value should be provided to service, so that it can be used in all components\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 720) {\n this.isMobileView = true;\n } else {\n this.isMobileView = false;\n }\n }\n\n isMobileView = false;\n\n @ViewChild(\"preview\") readonly preview: TemplateRef<TuiDialogContext<void>>;\n\n private previewDialogRef: any;\n\n popupFormCallback: any = {};\n\n popupFormConfig: any = {};\n\n popupFormData: any = {};\n\n previewProperties: any = {\n html: {\n before: \"\",\n after: \"\"\n },\n iframe: {\n src: \"\",\n title: \"\"\n },\n popupFormKey: \"\",\n title: \"\",\n unavailable: false\n };\n\n pageFormConfig: any = undefined;\n\n pageFormData: any = {};\n\n @Output()\n onClickApiCall: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n apiCallResponse: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n agentInfo: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n isShowFullTaskDetails = false;\n\n isActiveSidebar = true;\n\n activeTaskDetail: any = null;\n\n constructor(\n private hostElement: ElementRef,\n @Inject(TuiPreviewDialogService)\n private readonly previewDialogService: TuiPreviewDialogService,\n @Inject(TuiDialogService) private readonly dialogs: TuiDialogService\n ) {}\n\n ngOnInit() {\n this.windowResizeWatcher();\n }\n\n @logMethod\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n for (const change of Object.entries(changes)) {\n const key: string = change[0];\n const value: any = change[1].currentValue;\n }\n\n if (verifyChange(\"taskList\")) {\n this.taskList = changes.taskList.currentValue;\n }\n }\n\n @logMethod\n handleShowingFullTaskDetails() {\n if (this.config?.maps?.isShowMaps) {\n this.isShowFullTaskDetails = false;\n } else if (this.isMobileView) {\n this.isShowFullTaskDetails = false;\n } else {\n this.isShowFullTaskDetails = true;\n }\n }\n\n @logMethod\n handleOnClickTaskItemViewDetail(e: any): void {\n this.handleShowingFullTaskDetails();\n this.handleOnClickCloseTaskDetail(e);\n this.activeTaskDetail = e;\n }\n\n @logMethod\n handleOnClickCloseTaskDetail(e: any): void {\n this.activeTaskDetail = null;\n }\n\n @logMethod\n handleOnClickToggleSidebar(e: any): void {\n this.isActiveSidebar = !this.isActiveSidebar;\n }\n\n @logMethod\n handleOnClickApiCall(e: any) {\n this.onClickApiCall.emit(e);\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n @logMethod\n async handleOnClickPrimaryAction(e: any): Promise<void> {\n switch (e.type) {\n case \"POPUP_FORM\":\n this.popupFormConfig = await (await fetch(e?.props?.formUrl)).json();\n console.log(\"popupFormConfig\", this.popupFormConfig);\n this.previewDialogRef = this.previewDialogService\n .open(this.preview || \"\")\n .subscribe({\n next: (data: any) => {\n this.popupFormCallback = {\n popupFormData: data.data,\n popupFormConfig: data.formConfig\n };\n this.popupFormConfig = {};\n this.previewDialogRef.complete();\n },\n error: () => {\n this.popupFormCallback = {\n popupFormData: {},\n popupFormConfig: this.popupFormConfig\n };\n this.popupFormConfig = {};\n\n console.info(\"Preview error\");\n },\n complete: () => {\n console.info(\"Preview closed\");\n }\n });\n break;\n case \"PAGE_FORM\":\n this.pageFormConfig = await (await fetch(e?.props?.formUrl)).json();\n break;\n case \"action_3\":\n break;\n default:\n break;\n }\n }\n\n @logMethod\n handleOnClickSaveForm(e: any, eventType: any): void {\n switch (eventType) {\n case \"POPUP_FORM\":\n this.previewDialogRef.next(e);\n break;\n case \"PAGE_FORM\":\n this.pageFormConfig = undefined;\n break;\n default:\n break;\n }\n }\n}\n","<div id=\"body-container\">\n <div\n id=\"sidebar-container\"\n *ngIf=\"!isMobileView && !activeTaskDetail\"\n [class.is-hidden]=\"!isActiveSidebar\"\n >\n <div\n id=\"sidebar-toggle\"\n *ngIf=\"!isMobileView && !activeTaskDetail && !pageFormConfig\"\n [class.is-hidden]=\"!isActiveSidebar\"\n (click)=\"handleOnClickToggleSidebar($event)\"\n >\n <tui-svg\n *ngIf=\"isActiveSidebar\"\n [src]=\"'tuiIconChevronsLeftLarge'\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"!isActiveSidebar\"\n [src]=\"'tuiIconChevronsRightLarge'\"\n ></tui-svg>\n </div>\n <ng-container *ngTemplateOutlet=\"TaskList\"></ng-container>\n </div>\n <div\n id=\"main-container\"\n [class.is-desktop]=\"!isMobileView\"\n >\n <div\n id=\"primary-actions-wrapper\"\n [class.is-desktop]=\"!isMobileView\"\n [class.is-nomaps]=\"config.mapConfig?.isHidden\"\n *ngIf=\"config.primaryActionsConfig\"\n >\n <primary-actions\n [primaryActionsConfig]=\"config.primaryActionsConfig\"\n (onClickPrimaryAction)=\"handleOnClickPrimaryAction($event)\"\n ></primary-actions>\n </div>\n\n <div\n class=\"kwikid-form-view-page-container\"\n *ngIf=\"pageFormConfig && pageFormConfig !== {}\"\n >\n <kwikid-form-view\n [formConfig]=\"pageFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'PAGE_FORM')\"\n ></kwikid-form-view>\n </div>\n\n <div\n id=\"map-view-wrapper\"\n [class.is-desktop]=\"!isMobileView\"\n >\n <map-view [mapConfig]=\"config.mapConfig\"></map-view>\n </div>\n\n <div\n id=\"task-detail-wrapper\"\n *ngIf=\"activeTaskDetail && isShowFullTaskDetails\"\n [@taskDetail2InOut]\n >\n <task-detail\n [config]=\"config\"\n [taskDetail]=\"activeTaskDetail\"\n (onClickCloseTaskDetail)=\"handleOnClickCloseTaskDetail($event)\"\n ></task-detail>\n </div>\n </div>\n</div>\n\n<bottom-sheet *ngIf=\"isMobileView\">\n <!-- Content to be projected into the bottom sheet -->\n <ng-container *ngTemplateOutlet=\"TaskList\"></ng-container>\n</bottom-sheet>\n\n<ng-template #TaskList>\n <div\n id=\"task-detail-wrapper\"\n *ngIf=\"activeTaskDetail && !isShowFullTaskDetails\"\n [@taskDetailInOut]\n >\n <task-detail\n [config]=\"config\"\n [taskDetail]=\"activeTaskDetail\"\n (onClickCloseTaskDetail)=\"handleOnClickCloseTaskDetail($event)\"\n ></task-detail>\n </div>\n <div id=\"task-list-wrapper\">\n <task-list\n [config]=\"config\"\n [taskItems]=\"taskList\"\n (onClickTaskItemViewDetail)=\"handleOnClickTaskItemViewDetail($event)\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n [@taskListInOut]\n ></task-list>\n </div>\n</ng-template>\n\n<ng-template\n #preview\n let-preview\n>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'POPUP_FORM')\"\n ></kwikid-form-view>\n </div>\n </tui-preview>\n</ng-template>\n\n<ng-template\n #content\n let-context\n>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'POPUP_FORM')\"\n ></kwikid-form-view>\n </div>\n</ng-template>\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\n\n@Component({\n selector: \"kwikid-agent-dashboard-v2\",\n templateUrl: \"./kwikid-agent-dashboard.component.html\",\n styleUrls: [\"./kwikid-agent-dashboard.component.scss\"]\n})\nexport class KwikIDAgentDashboardComponentV2 implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n agentInfo: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"taskList\")) {\n this.taskList = changes.taskList.currentValue;\n }\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n handleOnClickPerformAction(event) {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div id=\"container\">\n <div id=\"header\">\n <layout-header\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></layout-header>\n </div>\n <div id=\"body\">\n <layout-body\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></layout-body>\n </div>\n</div>\n","import { getObjectValueFromPath } from \"kwikid-toolkit\";\n\n// To Calculate Distance between two markers\nexport const calculateDistance = (point1: any, point2: any): number => {\n const lat1 = point1.lat;\n const lng1 = point1.lng;\n const lat2 = point2.lat;\n const lng2 = point2.lng;\n\n const R = 6371; // Earth radius in kilometers\n const dLat = (lat2 - lat1) * (Math.PI / 180);\n const dLng = (lng2 - lng1) * (Math.PI / 180);\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos((lat1 * Math.PI) / 180) *\n Math.cos((lat2 * Math.PI) / 180) *\n Math.sin(dLng / 2) *\n Math.sin(dLng / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = R * c;\n\n return distance;\n};\n\n// To calculate nearest distance from marker\nexport const nearestNeighborAlgorithm = (\n startingPoint: any,\n unvisitedPoints: any[]\n): any[] => {\n let currentPoint = startingPoint;\n const path: any[] = [currentPoint];\n const visitedPoints: Set<any> = new Set([currentPoint]);\n\n while (unvisitedPoints.length > 0) {\n let nearestPoint = null;\n let minDistance = Number.POSITIVE_INFINITY;\n\n for (const point of unvisitedPoints) {\n const distance = calculateDistance(currentPoint, point);\n if (distance < minDistance) {\n minDistance = distance;\n nearestPoint = point;\n }\n }\n\n path.push(nearestPoint);\n visitedPoints.add(nearestPoint);\n currentPoint = nearestPoint;\n\n unvisitedPoints = unvisitedPoints.filter(\n (point) => !visitedPoints.has(point)\n );\n }\n\n return path;\n};\n\nexport const addressConcator = (data: any, config: any): string => {\n const address = config.reduce(\n (accumulator, currentValue) =>\n `${accumulator} ${getObjectValueFromPath(data, currentValue)}`,\n \"\"\n );\n return address;\n};\n","export enum EStatus {\n NOT_STARTED = \"not_started\",\n ON_GOING = \"on_going\",\n AUDITING = \"auditing\",\n REJECTED = \"rejected\",\n AFTER_AUDIT = \"after_audit\",\n COMPLETE = \"complete\",\n WAITING = \"waiting\",\n SESSION_EXPIRED = \"session_expired\",\n KYC_REJECTED = \"kyc_rejected\",\n KYC_REQUEST_REJECTED = \"kyc_request_rejected\",\n KYC_REQUEST_ACCEPTED = \"kyc_request_accepted\",\n KYC_RESULT_REJECTED = \"kyc_result_rejected\",\n KYC_RESULT_APPROVED = \"kyc_result_approved\",\n KYC_RESULT_PARTIAL_UPDATE = \"kyc_result_partial_update\",\n KYC_RESULT_UNDER_REVIEW = \"kyc_result_under_review\"\n}\n\nexport const VStatus = [\n EStatus.NOT_STARTED,\n EStatus.ON_GOING,\n EStatus.AUDITING,\n EStatus.REJECTED,\n EStatus.AFTER_AUDIT,\n EStatus.COMPLETE,\n EStatus.WAITING,\n EStatus.SESSION_EXPIRED,\n EStatus.KYC_REJECTED,\n EStatus.KYC_REQUEST_REJECTED,\n EStatus.KYC_REQUEST_ACCEPTED,\n EStatus.KYC_RESULT_REJECTED,\n EStatus.KYC_RESULT_APPROVED,\n EStatus.KYC_RESULT_PARTIAL_UPDATE,\n EStatus.KYC_RESULT_UNDER_REVIEW\n] as const;\n\nexport type TStatus = (typeof VStatus)[number];\n","import { Injectable } from \"@angular/core\";\nimport { EStatus } from \"../components/customer-tile/status-pill/status-pill.definitions\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AgentService {\n config;\n\n isListOpen = true;\n\n isMobileView;\n\n showMapview = false;\n\n currentTaskDetails;\n\n addTaskForm = {\n key: \"ADD_TASK\",\n title: \"Add Task\",\n fields: [\n {\n key: \"name\",\n label: \"Customer Name\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the Customer Name\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n },\n {\n key: \"phone\",\n label: \"Phone Number\",\n validators: {\n required: true\n },\n properties: {\n countryCode: \"+91\",\n removeCountryCodeFromValue: true,\n phoneMaskAfterCountryCode: \"##########\",\n placeholder: \"Please enter your Mobile Number\",\n readOnly: false\n },\n type: \"phone\"\n },\n {\n key: \"address\",\n label: \"Address\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the Address\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n },\n {\n key: \"city\",\n label: \"City\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the City\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n },\n {\n key: \"location\",\n label: \"Location URL\",\n validators: {\n required: true\n },\n properties: {\n placeholder: \"Please enter the Location URL\",\n readOnly: false,\n case: \"default\"\n },\n type: \"text\"\n }\n ],\n properties: {\n header: {\n title: {\n hidden: true,\n label: \"Add Task\"\n },\n steps: {\n hidden: true\n },\n logo: {\n hidden: true\n }\n },\n footer: {\n viewFormsButton: {\n hidden: true,\n label: \"View Forms\"\n },\n saveButton: {\n hidden: false,\n label: \"Submit\"\n }\n }\n }\n };\n\n notRequiredStatus = [\n EStatus.REJECTED,\n EStatus.AFTER_AUDIT,\n EStatus.COMPLETE,\n EStatus.SESSION_EXPIRED,\n EStatus.KYC_REJECTED,\n EStatus.KYC_RESULT_APPROVED,\n EStatus.KYC_RESULT_REJECTED,\n EStatus.KYC_RESULT_UNDER_REVIEW,\n EStatus.KYC_REQUEST_REJECTED\n ];\n\n constructor() {}\n\n ngOnInit() {}\n\n setAgentConfig(config) {\n this.config = config;\n }\n\n toggleMapview() {\n this.showMapview = !this.showMapview;\n }\n\n canPlotMarkers(status) {\n const nonePlottingSessions =\n this.config?.extendedFlags?.dontPlotMarkers ?? [];\n\n if (nonePlottingSessions.includes(status)) {\n return false;\n }\n return true;\n }\n}\n","import { ElementRef, Injectable, QueryList, ViewChildren } from \"@angular/core\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\n\nimport { MapDirectionsService } from \"@angular/google-maps\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AgentService } from \"./agent.service\";\nimport {\n addressConcator,\n nearestNeighborAlgorithm\n} from \"../helpers/maps.helpers\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class GoogleMapsService {\n myPosition;\n\n map: any;\n\n apiKey: any;\n\n allMarkers: any = [];\n\n directionsRenderOption: any;\n\n directionsResults$: any;\n\n allDirectionsResults$: any;\n\n @ViewChildren(\"directionsRender\") directionsRenders: QueryList<\n ElementRef<google.maps.DirectionsRenderer>\n >;\n\n constructor(\n private agentService: AgentService,\n public mapDirectionsService: MapDirectionsService,\n public httpClient: HttpClient\n ) {}\n\n // To get Current Position\n getPosition(): Promise<any> {\n return new Promise((resolve, reject) => {\n navigator.geolocation.watchPosition(\n (resp) => {\n resolve({\n lng: resp.coords.longitude,\n lat: resp.coords.latitude\n });\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n\n // To Initialize Google Maps\n async initializeMap() {\n return new Promise(async(resolve) => {\n this.myPosition = await this.getPosition();\n this.map = {\n zoom: 10,\n center: this.myPosition,\n streetViewControl: false,\n mapTypeControl: false,\n fullscreenControl: false,\n zoomControl: false\n };\n resolve(true);\n });\n }\n\n // To extract Location from the Task Details\n async getLocation(task) {\n return new Promise(async(resolve) => {\n let encodedAddres;\n\n // If Fetch Address from Multiple Paths\n if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPaths\"\n )\n ) {\n // Get address string from multiple paths\n const config = this.agentService.config.extendedFlags.taskLocationPaths;\n const address = addressConcator(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // If Fetch Address from Single Path\n else if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPath\"\n )\n ) {\n // Get Address from Single Path\n const config = this.agentService.config.extendedFlags.taskLocationPath;\n const address = getObjectValueFromPath(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // Default Address Paths Avaiable\n else {\n const address =\n task?.extras?.task_details?.customer_details?.address ??\n task?.task_details?.customer_details?.address ??\n task?.extras?.address ??\n task?.address ??\n \"\";\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // URL to geocode Address String to Latitude & Longitude\n const url = `https://maps.googleapis.com/maps/api/geocode/json?key=${this.apiKey}&address=${encodedAddres}`;\n\n const response = await fetch(url);\n const data: any = await response.json();\n\n // Set Location {lat: LAT, lng: LNG} from address geocoded\n const isValidLocation = isNotEmptyArray(data?.results);\n const location = isValidLocation\n ? data?.results[0]?.geometry?.location\n : { lat: null, lng: null };\n\n // Set Location validation & Google Maps URL\n location.isValidLocation = isValidLocation;\n location.googleMapsUrl = `https://www.google.com/maps/place/${location?.lat},${location?.lng}`;\n\n resolve(location);\n });\n }\n\n // Get Tasks | Markers Location Co Ordinates\n async getMarkersLocation(myMarker, tasks) {\n return new Promise(async(resolve) => {\n const markers = [];\n markers.push(myMarker);\n const promises = tasks.map(async(task) => {\n const marker: any = await this.getLocation(task);\n task = { ...task, ...marker };\n markers.push(task);\n });\n\n await Promise.all(promises);\n\n resolve(markers);\n });\n }\n\n // Plot All Markers\n async plotAllMarkers(tasks) {\n return new Promise(async(resolve) => {\n const path = [];\n const promises = tasks.map((task) => {\n if (task?.isValidLocation) {\n path.push({\n location: task,\n stopover: true\n });\n this.allMarkers.push(task);\n }\n });\n\n await Promise.all(promises);\n\n resolve(path);\n });\n }\n\n // To Plot Directions for All Tasks\n async plotDirectionsForAllTasks(tasks) {\n if (!this.map || !this.myPosition) {\n return tasks;\n }\n this.allMarkers = [];\n\n // Create Agent Marker & Plot It.\n const myMarker = {\n lat: this.myPosition.lat,\n lng: this.myPosition.lng,\n title: 0,\n color: \"red\"\n };\n\n // Get All Markers Location Co Ordinates\n const markers: any = await this.getMarkersLocation(myMarker, tasks);\n\n // Run Algorithm to get optimized Routes\n const startingPoint = markers[0];\n const unvisitedWaypoints = markers.slice(1);\n const optimizedRoute = nearestNeighborAlgorithm(\n startingPoint,\n unvisitedWaypoints\n );\n\n // Sort All Tasks as per optimized routes\n tasks = optimizedRoute.slice(1);\n this.allMarkers = [myMarker];\n\n // Plot all markers & get path for directions\n const path: any = await this.plotAllMarkers(tasks);\n\n // Set Directions in Google Maps\n const request: google.maps.DirectionsRequest = {\n origin: this.myPosition,\n destination: this.myPosition,\n waypoints: path,\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n this.directionsRenderOption = {\n suppressMarkers: true\n };\n\n this.directionsResults$ = this.mapDirectionsService\n .route(request)\n .pipe(map((response) => response.result));\n\n this.directionsResults$.subscribe((val) => {});\n\n this.allDirectionsResults$ = this.directionsResults$;\n\n return tasks;\n }\n\n // To Plot Directions for Selected Tasks\n plotDirectionsForSelectedTask(task) {\n if (task != null) {\n const taskMarker = task;\n\n // If Location is Available in Task Details\n if (taskMarker?.isValidLocation) {\n const request: google.maps.DirectionsRequest = {\n origin: this.myPosition,\n destination: taskMarker,\n optimizeWaypoints: true,\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n this.directionsResults$ = this.mapDirectionsService\n .route(request)\n .pipe(map((response) => response.result));\n\n this.directionsResults$.subscribe();\n } else {\n alert(\"No Location Available\");\n this.directionsResults$ = this.allDirectionsResults$;\n }\n } else {\n this.directionsResults$ = this.allDirectionsResults$;\n }\n }\n}\n","import { ElementRef, Injectable, QueryList, ViewChildren } from \"@angular/core\";\nimport * as L from \"leaflet\";\nimport \"leaflet-routing-machine\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\n\nimport { MapDirectionsService } from \"@angular/google-maps\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AgentService } from \"./agent.service\";\nimport {\n addressConcator,\n nearestNeighborAlgorithm\n} from \"../helpers/maps.helpers\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class OpenStreetMapsService {\n myPosition;\n\n map: any;\n\n allMarkers: any = [];\n\n allTasksRoutes: any;\n\n selectedTaskRoutes: any;\n\n selectedTaskDistanceAndTime: any;\n\n @ViewChildren(\"directionsRender\") directionsRenders: QueryList<\n ElementRef<google.maps.DirectionsRenderer>\n >;\n\n constructor(\n private agentService: AgentService,\n public mapDirectionsService: MapDirectionsService,\n public httpClient: HttpClient\n ) {}\n\n // To get Current Position\n getPosition(): Promise<any> {\n return new Promise((resolve, reject) => {\n navigator.geolocation.watchPosition(\n (resp) => {\n resolve({\n lng: resp.coords.longitude,\n lat: resp.coords.latitude\n });\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n\n // To extract Location from the Task Details\n async getLocation(task) {\n return new Promise(async(resolve) => {\n let encodedAddres;\n\n // If Fetch Address from Multiple Paths\n if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPaths\"\n )\n ) {\n // Get address string from multiple paths\n const config = this.agentService.config.extendedFlags.taskLocationPaths;\n const address = addressConcator(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // If Fetch Address from Single Path\n else if (\n checkObjectPathExists(\n this.agentService.config,\n \"extendedFlags.taskLocationPath\"\n )\n ) {\n // Get Address from Single Path\n const config = this.agentService.config.extendedFlags.taskLocationPath;\n const address = getObjectValueFromPath(task, config);\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // Default Address Paths Avaiable\n else {\n const address =\n task?.extras?.task_details?.customer_details?.address ??\n task?.task_details?.customer_details?.address ??\n task?.extras?.address ??\n task?.address ??\n \"\";\n\n // Encode the Address in URI\n encodedAddres = encodeURI(address);\n }\n\n // URL to geocode Address String to Latitude & Longitude\n const url = `https://nominatim.openstreetmap.org/search?q=${encodedAddres}&format=json`;\n\n const response = await fetch(url);\n const data: any = await response.json();\n\n // Set Location {lat: LAT, lng: LNG} from address geocoded\n const isValidLocation =\n isNotEmptyArray(data) && data[0]?.lat & data[0]?.lon;\n const location: any = isValidLocation\n ? { lat: data[0]?.lat, lng: data[0]?.lon }\n : { lat: null, lng: null };\n\n // Set Location validation & Google Maps URL\n location.isValidLocation = isValidLocation;\n location.color = isValidLocation ? \"blue\" : \"red\";\n location.googleMapsUrl = `https://www.google.com/maps/place/${location?.lat},${location?.lng}`;\n\n resolve(location);\n });\n }\n\n // Get Tasks | Markers Location Co Ordinates\n async getMarkersLocation(myMarker, tasks) {\n return new Promise(async(resolve) => {\n const markers = [];\n markers.push(myMarker);\n const promises = tasks.map(async(task) => {\n const marker: any = await this.getLocation(task);\n task = { ...task, ...marker };\n markers.push(task);\n });\n\n await Promise.all(promises);\n\n resolve(markers);\n });\n }\n\n // To Initialize Open Street Map\n async initializeMap() {\n console.log(\"Running Init Open Street Maps\");\n this.myPosition = await this.getPosition();\n this.map = L.map(\"map\", {\n center: [this.myPosition.lat, this.myPosition.lng],\n zoom: 11\n });\n L.tileLayer(\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\").addTo(\n this.map\n );\n }\n\n // To Add Open Street Marker in Map\n addMarker({ lat, lng, title, color }) {\n L.marker([lat, lng], {\n icon: L.icon({\n iconUrl:\n color == \"red\"\n ? \"https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/map-marker-0.png\"\n : \"https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/map-marker-1.png\"\n })\n })\n .addTo(this.map)\n .bindPopup(title);\n }\n\n // To Plot Open Street Directions for All Tasks\n async plotDirectionsForAllTasks(tasks) {\n if (this.map) {\n this.allMarkers = [];\n\n // Create Agent Marker & Plot It.\n const myMarker = {\n lat: this.myPosition.lat,\n lng: this.myPosition.lng,\n title: 0,\n color: \"red\"\n };\n this.addMarker(myMarker);\n this.allMarkers.push(myMarker);\n\n // Create Markers for all Tasks\n this.allMarkers = await this.getMarkersLocation(myMarker, tasks);\n\n // Run Algorithm to get optimized Routes\n const startingPoint = this.allMarkers[0];\n const unvisitedWaypoints = this.allMarkers.slice(1);\n const optimizedRoute = nearestNeighborAlgorithm(\n startingPoint,\n unvisitedWaypoints\n );\n\n // Sort All Markers as per optimized routes\n this.allMarkers = this.sortTasksAsPerDistance(\n optimizedRoute,\n this.allMarkers,\n true\n );\n\n // Sort All Tasks as per optimized routes\n tasks = this.sortTasksAsPerDistance(\n optimizedRoute.slice(1),\n tasks,\n false\n );\n\n // Plot Markers for All Tasks\n tasks.map((task) => {\n if (task?.isValidLocation) {\n const marker: any = this.getLocation(task);\n this.addMarker(marker);\n }\n });\n\n // Set Styles for all Task Routes\n const styles = [\n { color: \"blue\", opacity: 1, weight: 8 },\n { color: \"white\", opacity: 0.6, weight: 12 }\n ];\n\n // Set Routes for all Tasks\n this.allTasksRoutes = this.setRoutes(this.allMarkers, styles);\n this.fitMapBounds();\n }\n return tasks;\n }\n\n // To plot Open Street Direction for selected Task\n plotDirectionsForSelectedTask(task) {\n if (task !== null) {\n // Remove Previously Selected Task Route\n if (this.selectedTaskRoutes) {\n this.map.removeControl(this.selectedTaskRoutes);\n }\n\n // Remove All Tasks Routes\n if (this.allTasksRoutes) {\n this.map.removeControl(this.allTasksRoutes);\n }\n\n const taskMarker = task;\n\n // If Location is Available in Task Details\n if (taskMarker.color != \"red\") {\n const markers = [this.allMarkers[0], taskMarker];\n const styles = [\n { color: \"green\", opacity: 1, weight: 8 },\n { color: \"white\", opacity: 0.4, weight: 12 }\n ];\n this.selectedTaskRoutes = this.setRoutes(markers, styles);\n this.setSelectedTaskDistanceAndTime();\n } else {\n alert(\"No Location Available\");\n }\n }\n // Set All Tasks Routes Again & Remove Selected Tasks route\n else {\n if (this.selectedTaskRoutes) {\n this.map.removeControl(this.selectedTaskRoutes);\n }\n this.map.addControl(this.allTasksRoutes);\n this.selectedTaskRoutes = undefined;\n }\n this.fitMapBounds();\n }\n\n // Get Distance & Time of Selected Task\n getSelectedTaskDistanceAndTime() {\n return this.selectedTaskDistanceAndTime;\n }\n\n // Set Distance & Time of Selected Task\n setSelectedTaskDistanceAndTime() {\n this.selectedTaskRoutes.on(\"routesfound\", function(e) {\n const { routes } = e;\n const { summary } = routes[0];\n\n const distance = summary.totalDistance / 1000;\n const time = Math.round((summary.totalTime % 3600) / 60);\n\n this.selectedTaskDistanceAndTime = {\n distance,\n time\n };\n });\n }\n\n // To sort Open Street Maps Task as per nearest distance\n sortTasksAsPerDistance(order, tasks, isMarker) {\n const sortedTasks = [];\n for (let i = 0; i < tasks.length; i++) {\n const title = isMarker ? order[i].title : order[i].title - 1;\n const task = tasks[title];\n sortedTasks.push(task);\n }\n return sortedTasks;\n }\n\n // To set Open Street routes in the maps\n setRoutes(markers, styles) {\n return L.Routing.control({\n waypoints: markers,\n lineOptions: {\n styles\n },\n createMarker() {\n return null;\n },\n routeWhileDragging: true\n }).addTo(this.map);\n }\n\n // To set Open Street view point on the map\n fitMapBounds() {\n const markerLatLngs = this.allMarkers.map((marker) =>\n L.latLng(marker.lat, marker.lng)\n );\n this.map.fitBounds(markerLatLngs);\n }\n}\n","export const STATUS = {\n kyc_result_rejected: {\n color: \"#eb3434\",\n label: \"KYC Result Rejected\",\n background: \"#ffd4da\",\n hint: \"KYC Result Rejected\"\n },\n kyc_result_approved: {\n color: \"#01663e\",\n label: \"KYC Result Approved\",\n background: \"#d7faee\",\n hint: \"KYC Result Approved\"\n },\n kyc_result_partial_update: {\n color: \"#023b57\",\n label: \"Partial Update\",\n background: \"#b5e0f5\",\n hint: \"Partial Update\"\n },\n waiting: {\n color: \"#000\",\n label: \"Waiting\",\n background: \"#f5ecb5\",\n hint: \"Waiting\"\n }\n};\n\nexport const DEFAULT_STYLES = {\n color: \"#fff\",\n label: \"Waiting\",\n background: \"#888\",\n hint: \"Waiting\"\n};\n","/* eslint-disable no-empty-function */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable no-prototype-builtins */\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\nimport {\n checkObjectKeyExists,\n checkObjectPathExists,\n convertSnakeCaseToNormalText\n} from \"kwikid-toolkit\";\nimport { DEFAULT_STYLES } from \"./status-pill.constants\";\n\n@Component({\n selector: \"status-pill\",\n templateUrl: \"./status-pill.component.html\",\n styleUrls: [\"./status-pill.component.css\"]\n})\nexport class StatusPillComponent implements OnInit {\n @Input()\n config;\n\n @Input()\n status;\n\n styles = {};\n\n value = \"\";\n\n constructor() {}\n\n async ngOnInit() {\n this.setupStatus();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"config\")) {\n this.config = changes.config.currentValue;\n }\n if (verifyChange(\"status\")) {\n this.status = changes.status.currentValue;\n\n this.setupStatus();\n }\n }\n\n setupStatus() {\n if (\n checkObjectPathExists(this.config, \"mapping\") &&\n checkObjectKeyExists(this.config.mapping, this.status)\n ) {\n this.styles = { ...DEFAULT_STYLES, ...this.config.mapping[this.status] };\n this.value =\n this.config.mapping[this.status]?.label ??\n convertSnakeCaseToNormalText(this.status);\n } else {\n this.styles = DEFAULT_STYLES;\n this.value = convertSnakeCaseToNormalText(this.status);\n }\n }\n}\n","<div\n class=\"task-iem-status-container\"\n [style]=\"styles\"\n>\n {{ value }}\n</div>\n","/* eslint-disable class-methods-use-this */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable no-empty-function */\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport { RuleEngine } from \"kwikid-toolkit\";\n\n@Component({\n selector: \"kwikid-action-button\",\n templateUrl: \"./action-button.component.html\",\n styleUrls: [\"./action-button.component.css\"]\n})\nexport class ActionButtonComponent implements OnInit {\n @Input()\n action: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n customer: any = {};\n\n disabled = false;\n\n hidden = false;\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n // eslint-disable-next-line no-prototype-builtins\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"action\")) {\n this.action = changes.action.currentValue;\n }\n\n if (verifyChange(\"customer\")) {\n this.customer = changes.customer.currentValue;\n }\n\n if (this.action?.default) {\n this.runValidations();\n }\n }\n\n async runValidations() {\n await new RuleEngine(\n {\n DATA: this.customer\n },\n this.takeAction\n ).run({\n triggers: [],\n rules: this.action?.default?.rules ?? [],\n actions: this.action?.default?.actions ?? []\n });\n }\n\n takeAction = (action) => {\n switch (action.key) {\n case \"BUTTON_DISABLE\":\n this.disabled = true;\n break;\n case \"BUTTON_ENABLE\":\n this.disabled = false;\n break;\n case \"BUTTON_HIDE\":\n this.hidden = true;\n break;\n case \"BUTTON_SHOW\":\n this.hidden = false;\n break;\n default:\n break;\n }\n };\n\n handleOnClickPerformAction(action: any, customer: any) {\n this.onClickPerformAction.emit({\n action,\n customer\n });\n }\n}\n","<kwikui-button\n *ngIf=\"!hidden\"\n appearance=\"primary\"\n [disabled]=\"disabled\"\n [label]=\"action?.label\"\n [icon]=\"action?.icon\"\n [iconRight]=\"action?.iconRight\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickPerformAction(action, customer)\"\n></kwikui-button>\n","/* eslint-disable no-empty-function */\n/* eslint-disable no-magic-numbers */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable no-prototype-builtins */\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\nimport { AgentService } from \"../../services/agent.service\";\nimport { GoogleMapsService } from \"../../services/google-maps.service\";\nimport { OpenStreetMapsService } from \"../../services/open-street-maps.service\";\n\n@Component({\n selector: \"customer-details\",\n templateUrl: \"./customer-details.component.html\",\n styleUrls: [\"./customer-details.component.scss\"],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class CustomerDetailsComponent implements OnInit, OnChanges {\n @Input()\n customer: any = {};\n\n @Input()\n config: any;\n\n title = \"Session Details\";\n\n viewTaskDetails: Array<string> = [];\n\n taskId: any = \"\";\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n public agentService: AgentService,\n public googleMapsService: GoogleMapsService,\n public openStreetMapsService: OpenStreetMapsService,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.parseData();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"customer\")) {\n this.customer = changes.customer.currentValue;\n this.parseData();\n }\n }\n\n getValueFromArray(paths) {\n let data = \"\";\n // eslint-disable-next-line array-callback-return\n paths.map((path) => {\n const value = getObjectValueFromPath(this.customer, path);\n data = `${data} ${value}`;\n });\n\n return data;\n }\n\n parseData() {\n const identifier =\n this.config.taskUI.details.header.taskId.path ?? \"user_id\";\n this.taskId = getObjectValueFromPath(this.customer, identifier);\n\n let detailsConfig = [];\n if (\n checkObjectPathExists(this.config, \"taskUI.details.data\") &&\n isNotEmptyArray(this.config.taskUI.details.data)\n ) {\n const data = [];\n detailsConfig = this.config.taskUI.details.data;\n detailsConfig.map((field) => {\n let value;\n if (Array.isArray(field.path)) {\n value = this.getValueFromArray(field.path);\n } else {\n value = getObjectValueFromPath(this.customer, field.path);\n }\n data.push({ label: field.label, value });\n return true;\n });\n this.labelValuePairData = data;\n }\n this.labelValuePairConfig = this.config?.taskUI?.details?.config ?? {};\n this.title = this.config?.taskUI?.details?.header?.title ?? this.title;\n }\n\n getTaskCreationTime(task) {\n if (this.config?.taskUI?.details?.time?.path) {\n const time = getObjectValueFromPath(\n task,\n this.config?.taskUI?.details?.time?.path\n );\n return this.convertEpochToDate(time);\n }\n return this.convertEpochToDate(\n task?.task_creation_time ?? task?.start_time\n );\n }\n\n convertEpochToDate(epochTime) {\n if (typeof epochTime === \"string\") epochTime = Number(epochTime);\n const date = new Date(epochTime * 1000); // Convert to milliseconds\n const day = date.getDate().toString().padStart(2, \"0\");\n const month = (date.getMonth() + 1).toString().padStart(2, \"0\"); // Months are zero-based\n const year = date.getFullYear().toString();\n\n return `${day}-${month}-${year}`;\n }\n\n getTaskDetails(taskData) {\n return getObjectValueFromPath(this.customer, taskData);\n }\n\n goToMaps(location) {\n window.open(`${location}`, \"_blank\");\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n close() {\n this.agentService.currentTaskDetails = undefined;\n\n if (this.config?.maps?.mapType === \"google-maps\") {\n this.googleMapsService.plotDirectionsForSelectedTask(null);\n } else {\n this.openStreetMapsService.plotDirectionsForSelectedTask(null);\n }\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div class=\"customer-details-wrapper\">\n <div>\n <kwikui-button\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"close()\"\n ></kwikui-button>\n </div>\n <div class=\"customer-details-heading\">{{ title }}</div>\n <div class=\"customer-details-body\">\n <div class=\"customer-details-user-id\">\n {{ taskId }}\n\n <status-pill\n *ngIf=\"config?.utilityFlags?.isShowTaskStatus\"\n [config]=\"config?.taskUI?.details?.header?.taskStatus\"\n [status]=\"\n customer[\n config?.taskUI?.details?.header?.taskStatus?.path ??\n 'session_status'\n ]\n \"\n ></status-pill>\n </div>\n\n <div class=\"customer-details-table\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n class=\"customer-details-actions\"\n *ngIf=\"\n config?.taskUI?.details?.action &&\n config?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikid-action-button\n [action]=\"action\"\n [config]=\"config\"\n [customer]=\"customer\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-action-button>\n </ng-container>\n </div>\n </div>\n</div>\n","/* eslint-disable no-prototype-builtins */\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\nimport { GoogleMapsService } from \"../../services/google-maps.service\";\nimport { AgentService } from \"../../services/agent.service\";\nimport { OpenStreetMapsService } from \"../../services/open-street-maps.service\";\n\ndeclare const google: any;\n\n@Component({\n selector: \"customer-tile\",\n templateUrl: \"./customer-tile.component.html\",\n styleUrls: [\"./customer-tile.component.scss\"]\n})\nexport class CustomerTileComponent implements OnInit {\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n this.isMobileView = true;\n } else {\n this.isMobileView = false;\n }\n }\n\n @Input()\n customer: any = {};\n\n @Input()\n index: number = undefined;\n\n @Input()\n config: any;\n\n isMobileView = false;\n\n viewTaskDetails: Array<string> = [];\n\n taskId: any = \"\";\n\n headerFields: Array<{ path?: string; value: any }> = [];\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n constructor(\n public googleMapsService: GoogleMapsService,\n public openStreetMapsService: OpenStreetMapsService,\n public agentService: AgentService,\n private hostElement: ElementRef\n ) {}\n\n ngOnInit(): void {\n this.parseData();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const verifyChange = (key: string) => {\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"customer\")) {\n this.customer = changes.customer.currentValue;\n this.parseData();\n }\n }\n\n getValueFromArray(paths) {\n let data = \"\";\n // eslint-disable-next-line array-callback-return\n paths.map((path) => {\n const value = getObjectValueFromPath(this.customer, path);\n data = `${data} ${value}`;\n });\n\n return data;\n }\n\n parseData() {\n const identifier =\n this.config?.taskUI?.header?.taskId?.path ??\n this.config?.taskIdentifier ??\n \"user_id\";\n this.taskId = getObjectValueFromPath(this.customer, identifier);\n\n this.headerFields = this.parseHeaderFields();\n\n let detailsConfig = [];\n if (\n checkObjectPathExists(this.config, \"taskUI.details.data\") &&\n isNotEmptyArray(this.config.taskUI.details.data)\n ) {\n const data = [];\n detailsConfig = this.config.taskUI.details.data;\n detailsConfig.map((field) => {\n let value;\n if (Array.isArray(field.path)) {\n value = this.getValueFromArray(field.path);\n } else {\n value = getObjectValueFromPath(this.customer, field.path);\n }\n data.push({ label: field.label, value });\n return true;\n });\n\n this.labelValuePairData = data;\n }\n\n this.labelValuePairConfig = this.config?.taskUI?.details?.config ?? {};\n }\n\n parseHeaderFields() {\n let fieldsConfig = [];\n\n if (\n checkObjectPathExists(this.config, \"taskUI.header.fields\") &&\n isNotEmptyArray(this.config.taskUI.header.fields)\n ) {\n fieldsConfig = this.config.taskUI.header.fields;\n } else if (this.config?.taskUI?.header?.taskName?.path) {\n // Backward compatible with earlier taskName config\n fieldsConfig = [{ path: this.config.taskUI.header.taskName.path }];\n }\n\n return fieldsConfig\n .map((field) => {\n let value = \"\";\n if (Array.isArray(field.path)) {\n value = this.getValueFromArray(field.path)?.trim() || \"\";\n } else if (field.path) {\n value = getObjectValueFromPath(this.customer, field.path) || \"\";\n }\n return { ...field, value };\n })\n .filter((field) => field.value);\n }\n\n openDetails() {\n const isDifferentTaskSelected =\n this.agentService.currentTaskDetails?.session_id !==\n this.customer?.session_id;\n\n if (isDifferentTaskSelected) {\n this.agentService.currentTaskDetails = this.customer;\n } else {\n this.agentService.currentTaskDetails = undefined;\n }\n\n if (this.agentService.showMapview) {\n if (this.agentService.config?.maps?.mapType === \"google-maps\") {\n this.googleMapsService.plotDirectionsForSelectedTask(\n this.agentService.currentTaskDetails\n );\n } else {\n this.openStreetMapsService.plotDirectionsForSelectedTask(\n this.agentService.currentTaskDetails\n );\n }\n }\n }\n\n goToMaps(location) {\n window.open(`${location}`, \"_blank\");\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n}\n","<div\n [ngClass]=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id\n ? 'customer-tile-wrapper customer-tile-active'\n : 'customer-tile-wrapper'\n \"\n>\n <div class=\"customer-tile-primary-container\">\n <div class=\"customer-tile-primary-container-data\">\n <div class=\"customer-tile-primary-container-userid\">\n {{ taskId }}\n </div>\n <div\n class=\"customer-tile-primary-container-field\"\n *ngFor=\"let field of headerFields\"\n >\n {{ field.value }}\n </div>\n <status-pill\n *ngIf=\"config?.utilityFlags?.isShowTaskStatus\"\n [config]=\"config?.taskUI?.header?.taskStatus\"\n [status]=\"\n customer[config?.taskUI?.header?.taskStatus?.path ?? 'session_status']\n \"\n ></status-pill>\n </div>\n <kwikui-button\n *ngIf=\"!agentService.isMobileView && !agentService.showMapview\"\n [icon]=\"\n agentService.currentTaskDetails?.session_id == customer?.session_id\n ? 'tuiIconChevronLeftLarge'\n : 'tuiIconChevronRightLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"openDetails()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"agentService.isMobileView || agentService.showMapview\"\n [icon]=\"\n agentService.currentTaskDetails?.session_id == customer?.session_id\n ? 'tuiIconChevronUpLarge'\n : 'tuiIconChevronDownLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"openDetails()\"\n ></kwikui-button>\n </div>\n <div\n *ngIf=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id &&\n (agentService.isMobileView || agentService.showMapview)\n \"\n [ngClass]=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id &&\n (agentService.isMobileView || agentService.showMapview)\n ? 'customer-tile-secondary-container'\n : 'data-collasped'\n \"\n >\n <div class=\"customer-tile-secondary-container-data\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n <!-- <div\n *ngIf=\"\n agentService.config?.maps?.sho &&\n agentService.config?.isShowDistanceAndTime &&\n openStreetMapsService.getSelectedTaskDistanceAndTime()\n \"\n class=\"customer-tile-secondary-container-custom-details\"\n >\n Distance: {{ openStreetMapsService.getSelectedTaskDistanceAndTime()?.distance }} |\n Time: {{ openStreetMapsService.getSelectedTaskDistanceAndTime()?.time }}\n </div> -->\n </div>\n <div class=\"customer-tile-secondary-container-actions\">\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikid-action-button\n [action]=\"action\"\n [config]=\"config\"\n [customer]=\"customer\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-action-button>\n </ng-container>\n <!-- <div class=\"customer-tile-secondary-container-task-buttons\">\n <kwikui-button\n *ngIf=\"config?.isAllowRemoveTask\"\n [icon]=\"'tuiIconTrash2'\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"handleOnClickRemoveTask(customer)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"config?.isShowCopyLink\"\n icon=\"tuiIconCopy\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"\n handleOnClickNext({\n customer: customer,\n stepType: 'SHARE_JOURNEY_LINK'\n })\n \"\n ></kwikui-button>\n </div>\n <div class=\"customer-tile-secondary-container-journey-buttons\">\n <kwikui-button\n *ngIf=\"config?.isShowMaps && customer?.isValidLocation\"\n label=\"Show Directions\"\n appearance=\"flat\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToMaps(customer.googleMapsUrl)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"\n config?.isAllowStartJourney &&\n agentService.canStartJourney(customer.session_status)\n \"\n label=\"Start Journey\"\n appearance=\"primary\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"\n handleOnClickNext({ customer: customer, stepType: 'START_JOURNEY' })\n \"\n ></kwikui-button>\n </div> -->\n </div>\n </div>\n</div>\n","import { Pipe, PipeTransform, Injectable } from \"@angular/core\";\n\n@Pipe({\n name: \"filter\",\n pure: false\n})\n@Injectable()\nexport class Ng2SearchPipe implements PipeTransform {\n /**\n * @param items object from array\n * @param term term's search\n * @param excludes array of strings which will ignored during search\n */\n transform(items: any, term: string, excludes: any = []): any {\n if (!term || !items) return items;\n\n return Ng2SearchPipe.filter(items, term, excludes);\n }\n\n /**\n *\n * @param items List of items to filter\n * @param term a string term to compare with every property of the list\n * @param excludes List of keys which will be ignored during search\n *\n */\n static filter(\n items: Array<{ [key: string]: any }>,\n term: string,\n excludes: any\n ): Array<{ [key: string]: any }> {\n const toCompare = term.toLowerCase();\n\n function checkInside(item: any, term: string) {\n if (\n typeof item === \"string\" &&\n item.toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n\n for (const property in item) {\n if (\n item[property] === null ||\n item[property] == undefined ||\n excludes.includes(property)\n ) {\n continue;\n }\n if (typeof item[property] === \"object\") {\n if (checkInside(item[property], term)) {\n return true;\n }\n } else if (\n item[property].toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n }\n return false;\n }\n\n return items.filter((item) => {\n return checkInside(item, term);\n });\n }\n}\n","/* eslint-disable no-magic-numbers */\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { getObjectDeepCopy, isNotEmptyValue } from \"kwikid-toolkit\";\nimport { TuiDay, TuiDayRange } from \"@taiga-ui/cdk\";\nimport { GoogleMapsService } from \"../../services/google-maps.service\";\nimport { AgentService } from \"../../services/agent.service\";\nimport { OpenStreetMapsService } from \"../../services/open-street-maps.service\";\nimport {\n convertKwikUIDateToStringFormat,\n convertNormalDateToStringFormat\n} from \"../../../v2/helpers/date.helplers\";\nimport { sortItems } from \"../../../v2/helpers/array.helper\";\n\n@Component({\n selector: \"customer-list\",\n templateUrl: \"./customer-list.component.html\",\n styleUrls: [\"./customer-list.component.scss\"]\n})\nexport class CustomerListComponent implements OnInit {\n @Input()\n customers: any;\n\n @Input()\n config: any;\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n filterTaskList = new EventEmitter();\n\n searchText;\n\n lastInfoWindowOpened: any;\n\n filteredData = [];\n\n formGroup: FormGroup = new FormGroup({});\n\n searchTextFormControl: FormControl;\n\n searchDateFormControl: FormControl;\n\n sortFilterKeyFormControl: FormControl;\n\n sortInAscendingOrder = true;\n\n fromDate: string | Date;\n\n toDate: string | Date;\n\n max: TuiDay = new TuiDay(\n new Date().getFullYear(),\n new Date().getMonth(),\n new Date().getDate()\n );\n\n maxLength: any;\n\n // Sorting Variables\n sortFilterKey = \"\";\n\n sortFilterOptions = [\"user_id\", \"session_status\"];\n\n activeSearchAction: string = undefined;\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n public googleMapsService: GoogleMapsService,\n public openStreetMapsService: OpenStreetMapsService,\n public agentService: AgentService\n // eslint-disable-next-line no-empty-function\n ) {}\n\n async ngOnInit() {\n this.handleInitialDateRange();\n this.handleSearchAndSortFormControls();\n }\n\n handleOnClickSearchType(type) {\n if (this.activeSearchAction !== type) {\n this.activeSearchAction = type;\n } else {\n this.activeSearchAction = undefined;\n }\n }\n\n handleInitialDateRange() {\n const searchFilterStartPoint = this.config?.extendedFlags\n ?.searchFilterStartPoint ?? {\n day: 0,\n month: 0,\n year: 0\n };\n const currentDate = new Date();\n const startDate = new Date(\n currentDate.getFullYear() - searchFilterStartPoint?.year ?? 0,\n currentDate.getMonth() - searchFilterStartPoint?.month ?? 0,\n currentDate.getDate() - searchFilterStartPoint?.day ?? 0\n );\n\n this.fromDate = convertNormalDateToStringFormat(startDate);\n this.toDate = convertNormalDateToStringFormat(null);\n\n this.searchDateFormControl = new FormControl({\n value: new TuiDayRange(\n new TuiDay(\n startDate.getFullYear(),\n startDate.getMonth(),\n startDate.getDate()\n ),\n this.max\n ),\n disabled: false\n });\n this.formGroup.addControl(\"search-date\", this.searchDateFormControl);\n }\n\n handleSearchAndSortFormControls() {\n this.searchTextFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"search-text\", this.searchTextFormControl);\n\n this.sortFilterKeyFormControl = new FormControl(\"\");\n this.formGroup.addControl(\"sort-filter\", this.sortFilterKeyFormControl);\n this.sortFilterOptions =\n this.config?.extendedFlags?.sortFilterKeys ?? this.sortFilterOptions;\n }\n\n async setUpMaps() {\n if (this.config?.maps?.isShowMaps) {\n if (this.config?.maps?.mapType === \"open-street\") {\n await this.openStreetMapsService.initializeMap();\n } else {\n await this.googleMapsService.initializeMap();\n }\n }\n }\n\n async setCustomersList() {\n if (this.config?.maps?.isShowMaps) {\n this.filteredData = await this.plotMarkers(this.customers);\n } else {\n this.filteredData = this.customers;\n }\n }\n\n ngAfterViewInit(): void {\n this.maxLength =\n this.config?.extendedFlags?.searchFilterThreshold ?? this.maxLength;\n setTimeout(async() => {\n await this.setUpMaps();\n await this.setCustomersList();\n }, 1000);\n }\n\n async ngOnChanges() {\n await this.setCustomersList();\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n async plotMarkers(customers) {\n if (!this.config?.utilityFlags?.isPlotCompletedTaskMarkers) {\n customers = customers.filter((customer) => {\n return this.agentService.canPlotMarkers(customer.session_status);\n });\n }\n\n if (this.config?.maps?.mapType === \"open-street\") {\n customers =\n await this.openStreetMapsService.plotDirectionsForAllTasks(customers);\n } else {\n customers =\n await this.googleMapsService.plotDirectionsForAllTasks(customers);\n }\n\n return customers;\n }\n\n handleOnChangeDateRange(event) {\n this.handleChangeDateRangeFormat(event);\n this.handleOnFilterTaskList({\n from_date: this.fromDate,\n to_date: this.toDate\n });\n }\n\n handleOnClickChangeSortOrder() {\n this.sortInAscendingOrder = !this.sortInAscendingOrder;\n this.handleOnChangeSortFilter(false);\n }\n\n handleOnChangeSortFilter(event: any) {\n if (event && isNotEmptyValue(event.value)) {\n this.sortFilterKey = event.value;\n this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);\n }\n }\n\n handleOnSortTaskItems(key, order) {\n const sortedTaskItems = sortItems(this.filteredData, key, order);\n this.filteredData = getObjectDeepCopy(sortedTaskItems);\n }\n\n handleChangeDateRangeFormat(event: any) {\n if (event.value?.from && event.value?.to) {\n this.fromDate = convertKwikUIDateToStringFormat(event.value.from);\n this.toDate = convertKwikUIDateToStringFormat(event.value.to);\n }\n }\n\n handleOnChangeSearchText(event) {\n this.searchText = event.value;\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnFilterTaskList(filter) {\n this.filterTaskList.emit(filter);\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div class=\"customer-list-wrapper\">\n <div\n class=\"customer-list-filter\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"task-list-search-icons\">\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconSearchLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-text')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconCalendarLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-date')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconFilterLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('sort-filter')\"\n ></kwikui-button>\n </div>\n\n <div\n class=\"task-list-search-action\"\n *ngIf=\"activeSearchAction\"\n >\n <kwikui-input-date-range\n *ngIf=\"activeSearchAction == 'search-date'\"\n class=\"task-list-date-box\"\n label=\"Search by Date Range\"\n id=\"dateRange\"\n size=\"m\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n formControlName=\"search-date\"\n [formControl]=\"searchDateFormControl\"\n (getKeyValue)=\"handleOnChangeDateRange($event)\"\n ></kwikui-input-date-range>\n\n <kwikui-input\n *ngIf=\"activeSearchAction == 'search-text'\"\n label=\"Search\"\n id=\"search\"\n icon=\"tuiIconSearch\"\n placeholder=\"Search any task from here\"\n size=\"m\"\n [formControl]=\"searchTextFormControl\"\n formControlName=\"search-text\"\n (getKeyValue)=\"handleOnChangeSearchText($event)\"\n ></kwikui-input>\n\n <div\n *ngIf=\"activeSearchAction == 'sort-filter'\"\n class=\"task-list-sort-action\"\n >\n <kwikui-button\n appearance=\"outline\"\n [icon]=\"\n sortInAscendingOrder\n ? 'tuiIconChevronsUpLarge'\n : 'tuiIconChevronsDownLarge'\n \"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickChangeSortOrder()\"\n ></kwikui-button>\n <kwikui-input-select\n class=\"task-list-sort-key\"\n formControlName=\"sort-filter\"\n label=\"Sort By Key\"\n size=\"m\"\n [formControl]=\"sortFilterKeyFormControl\"\n [options]=\"sortFilterOptions\"\n [searchable]=\"false\"\n (getKeyValue)=\"handleOnChangeSortFilter($event)\"\n ></kwikui-input-select>\n </div>\n </div>\n </div>\n\n <div class=\"customer-task-list\">\n <cdk-virtual-scroll-viewport\n itemSize=\"1\"\n class=\"customer-task-list-scroll\"\n >\n <div\n *cdkVirtualFor=\"\n let customer of filteredData | filter: searchText;\n index as index\n \"\n >\n <customer-tile\n class=\"example-item\"\n [customer]=\"customer\"\n [config]=\"config\"\n [index]=\"index\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-tile>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n\n <div\n class=\"customer-list-empty\"\n *ngIf=\"filteredData.length === 0\"\n >\n No Tasks for the given Date.\n </div>\n</div>\n","/* eslint-disable no-magic-numbers */\n/* eslint-disable no-empty-function */\nimport { HttpClient } from \"@angular/common/http\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnInit,\n Output,\n ViewChild\n} from \"@angular/core\";\nimport { MapInfoWindow, MapMarker } from \"@angular/google-maps\";\nimport { TuiDialogContext, TuiDialogService } from \"@taiga-ui/core\";\nimport { PolymorpheusContent } from \"@tinkoff/ng-polymorpheus\";\nimport {\n isNotEmptyValue,\n checkObjectPathExists,\n getObjectValueFromPath,\n isNotEmptyArray\n} from \"kwikid-toolkit\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { Observable, of } from \"rxjs\";\nimport { AgentService } from \"./services/agent.service\";\nimport { GoogleMapsService } from \"./services/google-maps.service\";\n\n@Component({\n selector: \"kwikid-agent-dashboard-v1\",\n templateUrl: \"./kwikid-agent-dashboard.component.html\",\n styleUrls: [\"./kwikid-agent-dashboard.component.scss\"]\n})\nexport class KwikIDAgentDashboardComponentV1 implements OnInit {\n @HostListener(\"window:resize\", [\"$event\"])\n windowResizeWatcher() {\n if (this.hostElement.nativeElement.offsetWidth < 600) {\n this.isMobileView = true;\n this.agentService.isMobileView = true;\n } else {\n this.isMobileView = false;\n this.agentService.isMobileView = false;\n }\n }\n\n isMobileView;\n\n @Input()\n agentInfo: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n addTask = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n filterTaskList = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter<any>();\n\n loading = true;\n\n map: any;\n\n labelValuePairConfig: any = {};\n\n labelValuePairData: any = [];\n\n @ViewChild(MapInfoWindow, { static: false }) infoWindow: MapInfoWindow;\n\n @ViewChild(\"map\", { static: true }) mapElement: ElementRef;\n\n mapsLoaded: boolean;\n\n dialogSubscription;\n\n constructor(\n public googleMapsService: GoogleMapsService,\n public agentService: AgentService,\n public httpClient: HttpClient,\n private hostElement: ElementRef,\n @Inject(TuiDialogService) private readonly dialogService: TuiDialogService\n ) {}\n\n async ngOnInit() {\n this.parseData();\n this.agentService.config = this.config;\n this.agentService.showMapview = this.config?.maps?.isShowMaps ?? false;\n\n if (\n this.config?.maps?.mapType === \"google-maps\" &&\n isNotEmptyValue(this.config?.maps?.apiKey)\n ) {\n this.loadMaps(this.config?.maps?.apiKey).subscribe((loaded: boolean) => {\n this.mapsLoaded = loaded;\n if (loaded) {\n console.log(\"Google Maps JavaScript API loaded successfully.\");\n this.loading = false;\n // Initialize and render Google Map here\n } else {\n console.error(\"Google Maps JavaScript API failed to load.\");\n this.loading = false;\n }\n });\n } else {\n this.mapsLoaded = true;\n this.loading = false;\n }\n\n setTimeout(() => {\n this.windowResizeWatcher();\n }, 1000);\n }\n\n // Load Google Maps\n loadMaps(apiKey): Observable<boolean> {\n const url = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&v=3.exp&libraries=geometry,drawing,places`;\n this.googleMapsService.apiKey = apiKey;\n\n return this.httpClient.jsonp(url, \"callback\").pipe(\n map(() => true),\n catchError(() => {\n console.error(\"Error loading Google Maps JavaScript API.\");\n return of(false);\n })\n );\n }\n\n getValueFromArray(paths) {\n let data = \"\";\n // eslint-disable-next-line array-callback-return\n paths.map((path) => {\n const value = getObjectValueFromPath(this.agentInfo, path);\n data = `${data} ${value}`;\n });\n\n return data;\n }\n\n parseData() {\n let detailsConfig = [];\n if (\n checkObjectPathExists(this.config, \"hamburgerUI.data\") &&\n isNotEmptyArray(this.config.hamburgerUI.data)\n ) {\n const data = [];\n detailsConfig = this.config.hamburgerUI.data;\n detailsConfig.map((field) => {\n let value;\n if (Array.isArray(field.path)) {\n value = this.getValueFromArray(field.path);\n } else {\n value = getObjectValueFromPath(this.agentInfo, field.path);\n }\n data.push({ label: field.label, value });\n return true;\n });\n this.labelValuePairData = data;\n } else {\n this.labelValuePairData = [\n {\n label: \"Agent ID\",\n value: this.agentInfo?.agent_id\n }\n ];\n }\n this.labelValuePairConfig = this.config?.hamburgerUI?.config ?? {};\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n handleOnClickAddTask(task) {\n this.addTask.emit(task);\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnFilterTaskList(filter) {\n this.filterTaskList.emit(filter);\n }\n\n refresh() {\n this.handleOnFilterTaskList({});\n }\n\n open = false;\n\n onClick(): void {\n this.open = !this.open;\n }\n\n allFormsData = {};\n\n String = String;\n\n onObscured(obscured: boolean): void {\n if (obscured) {\n this.open = false;\n }\n }\n\n onActiveZone(active: boolean): void {\n this.open = active && this.open;\n }\n\n close() {\n this.open = false;\n if (this.dialogSubscription) {\n this.dialogSubscription.unsubscribe();\n }\n }\n\n showDialog(content: PolymorpheusContent<TuiDialogContext>): void {\n this.dialogSubscription = this.dialogService\n .open(content, { closeable: false, dismissible: false })\n .subscribe();\n }\n\n openInfoWindow(marker: MapMarker) {\n this.infoWindow.open(marker);\n }\n\n handleOnClickSaveForm(e) {\n this.handleOnClickAddTask(e.data);\n this.close();\n }\n\n handleOnClickLogout() {\n this.handleOnClickPerformAction({ action: { type: \"logout\" } });\n }\n\n handleOnClickPerformAction(event: any): void {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div\n class=\"kwikid-agent-dashboard\"\n *ngIf=\"!loading\"\n>\n <div class=\"wrapper\">\n <header>\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconMenuLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"m\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button>\n <img\n *ngIf=\"\n userConfig?.theme?.clientLogo &&\n config?.utilityFlags?.isShowClientLogo &&\n !config?.utilityFlags?.isAllowAddTask\n \"\n [src]=\"userConfig?.theme.clientLogo\"\n class=\"client-logo\"\n />\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentInfo.agent_name ?? userConfig?.theme?.clientName }}\n </div>\n <div class=\"customer-details-table\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Refresh\"\n [icon]=\"'tuiIconRefreshCw'\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"refresh()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"this.config?.maps?.isShowMaps\"\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"{{\n agentService.showMapview ? 'Hide Maps' : 'Show Maps'\n }}\"\n type=\"button\"\n icon=\"{{\n agentService.showMapview ? 'tuiIconEyeOff' : 'tuiIconEye'\n }}\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"padding: 0rem !important\"\n (onClick)=\"agentService.toggleMapview()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Logout\"\n icon=\"tuiIconLogOut\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickLogout()\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n <div class=\"actions\">\n <kwikui-button\n *ngIf=\"config?.utilityFlags?.isAllowAddTask\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"primary\"\n [label]=\"config?.formsConfig?.addTaskForm?.title ?? 'Add User'\"\n icon=\"tuiIconPlus\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"showDialog(template)\"\n ></kwikui-button>\n </div>\n </header>\n\n <div class=\"dashboard-body\">\n <div\n *ngIf=\"mapsLoaded\"\n [class]=\"agentService.showMapview ? 'map' : 'map-hidden'\"\n >\n <google-map\n *ngIf=\"config?.maps?.mapType == 'google-maps'\"\n [options]=\"this.googleMapsService.map\"\n height=\"100%\"\n width=\"100%\"\n >\n <map-marker\n #marker=\"mapMarker\"\n *ngFor=\"\n let markerPosition of this.googleMapsService.allMarkers;\n let index = index\n \"\n [position]=\"markerPosition\"\n [label]=\"{ text: String(index) }\"\n ></map-marker>\n <map-directions-renderer\n *ngIf=\"\n this.googleMapsService.directionsResults$\n | async as directionsResults\n \"\n [directions]=\"directionsResults\"\n [options]=\"this.googleMapsService.directionsRenderOption\"\n ></map-directions-renderer>\n </google-map>\n\n <div\n *ngIf=\"config?.maps?.mapType == 'open-street'\"\n id=\"map\"\n style=\"height: 100%\"\n ></div>\n </div>\n\n <div\n class=\"task-details\"\n *ngIf=\"\n !agentService.isMobileView &&\n agentService.currentTaskDetails != undefined &&\n !agentService.showMapview\n \"\n >\n <customer-details\n [customer]=\"agentService.currentTaskDetails\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-details>\n </div>\n\n <div\n class=\"no-task-details\"\n *ngIf=\"\n agentService.currentTaskDetails == undefined &&\n !agentService.isMobileView &&\n !agentService.showMapview\n \"\n >\n <img\n src=\"assets/No-Results.jpg\"\n class=\"no-task-img\"\n alt=\"No Task\"\n />\n <div>Select a Task to view it's details.</div>\n </div>\n\n <div class=\"customer-list\">\n <customer-list\n [customers]=\"taskList\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-list>\n </div>\n </div>\n </div>\n</div>\n\n<div\n class=\"kwikid-agent-dashboard-loader\"\n *ngIf=\"loading\"\n>\n <span class=\"loader\"></span>\n</div>\n\n<ng-template\n #template\n let-observer\n>\n <div class=\"add-task-header\">\n <h2>{{ config?.formsConfig?.addTaskForm?.title ?? \"Create User\" }}</h2>\n <kwikui-button\n icon=\"tuiIconX\"\n id=\"\"\n styles=\"\"\n type=\"button\"\n appearance=\"mono\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"observer.complete()\"\n ></kwikui-button>\n </div>\n <kwikid-form-view\n [allFormsData]=\"allFormsData\"\n [formConfig]=\"config?.formsConfig?.addTaskForm\"\n [isMobileView]=\"true\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n</ng-template>\n","/* eslint-disable no-empty-function */\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges\n} from \"@angular/core\";\n\n@Component({\n selector: \"kwikid-agent-dashboard\",\n templateUrl: \"./kwikid-agent-dashboard.component.html\",\n styleUrls: [\"./kwikid-agent-dashboard.component.scss\"]\n})\nexport class KwikIDAgentDashboardComponent implements OnInit {\n @Input()\n agentInfo: any = {};\n\n @Input()\n config: any = {};\n\n @Input()\n userConfig: any = {};\n\n @Input()\n taskList: Array<any> = [];\n\n @Output()\n nextStep = new EventEmitter();\n\n @Output()\n addTask = new EventEmitter();\n\n @Output()\n removeTask = new EventEmitter();\n\n @Output()\n filterTaskList = new EventEmitter();\n\n @Output()\n onGetTaskList: EventEmitter<any> = new EventEmitter();\n\n @Output()\n onClickPerformAction: EventEmitter<any> = new EventEmitter();\n\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n constructor() {}\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n const verifyChange = (key: string) => {\n // eslint-disable-next-line no-prototype-builtins\n return changes.hasOwnProperty(key) && !changes[key].firstChange;\n };\n\n if (verifyChange(\"taskList\")) {\n this.taskList = changes.taskList.currentValue;\n }\n }\n\n handleOnClickNext(e) {\n this.nextStep.emit(e);\n }\n\n handleOnClickAddTask(task) {\n this.addTask.emit(task);\n }\n\n handleOnClickRemoveTask(task) {\n this.removeTask.emit(task);\n }\n\n handleOnFilterTaskList(filter) {\n this.onGetTaskList.emit(filter);\n }\n\n handleOnGetTaskList(event) {\n this.onGetTaskList.emit(event);\n }\n\n handleOnClickPerformAction(event) {\n this.onClickPerformAction.emit(event);\n }\n}\n","<div *ngIf=\"config?.version === 2\">\n <kwikid-agent-dashboard-v2\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v2>\n</div>\n\n<div *ngIf=\"config?.version !== 2\">\n <kwikid-agent-dashboard-v1\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (nextStep)=\"handleOnClickNext($event)\"\n (addTask)=\"handleOnClickAddTask($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v1>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientJsonpModule, HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { GoogleMapsModule } from \"@angular/google-maps\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\n\nimport {\n KwikUIButtonModule,\n KwikUIInputDateModule,\n KwikUIInputModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n KwikUILabelValuePairModule\n} from \"kwikui\";\n\nimport { TuiSidebarModule } from \"@taiga-ui/addon-mobile\";\nimport { TuiActiveZoneModule } from \"@taiga-ui/cdk\";\nimport {\n TuiDialogModule,\n TuiDropdownModule,\n TuiGroupModule,\n TuiRootModule,\n TuiSvgModule\n} from \"@taiga-ui/core\";\nimport { KwikIDFormViewModule } from \"kwikid-forms\";\nimport { CustomerTileComponent } from \"./components/customer-tile/customer-tile.component\";\nimport { CustomerListComponent } from \"./components/customer-list/customer-list.component\";\nimport { Ng2SearchPipe } from \"./pipes/search-filter.pipe\";\nimport { StatusPillComponent } from \"./components/customer-tile/status-pill/status-pill.component\";\nimport { CustomerDetailsComponent } from \"./components/customer-details/customer-details.component\";\nimport { KwikIDAgentDashboardComponentV1 } from \"./kwikid-agent-dashboard.component\";\nimport { ActionButtonComponent } from \"./components/action-button/action-button.component\";\n\n@NgModule({\n declarations: [\n KwikIDAgentDashboardComponentV1,\n CustomerListComponent,\n CustomerTileComponent,\n Ng2SearchPipe,\n StatusPillComponent,\n CustomerDetailsComponent,\n ActionButtonComponent\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n\n KwikUIButtonModule,\n KwikUIInputModule,\n KwikUIInputDateModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUILabelValuePairModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n\n KwikIDFormViewModule,\n\n TuiRootModule,\n TuiDialogModule,\n TuiDropdownModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiGroupModule,\n TuiSvgModule,\n\n ScrollingModule,\n\n GoogleMapsModule,\n HttpClientModule,\n HttpClientJsonpModule\n ],\n exports: [KwikIDAgentDashboardComponentV1]\n})\nexport class KwikIDAgentDashboardModuleV1 {}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"agent-info\",\n templateUrl: \"./agent-info.component.html\",\n styleUrls: [\"./agent-info.component.scss\"]\n})\nexport class AgentInfoComponent implements OnInit {\n constructor() {}\n\n async ngOnInit() {}\n}\n","Agent Info\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { AgentInfoComponent } from \"./agent-info.component\";\n\n@NgModule({\n declarations: [AgentInfoComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [AgentInfoComponent]\n})\nexport class AgentInfoModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TuiSvgModule } from \"@taiga-ui/core\";\nimport { BottomSheetComponent } from \"./bottom-sheet.component\";\n\n@NgModule({\n declarations: [BottomSheetComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiSvgModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [BottomSheetComponent]\n})\nexport class BottomSheetModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { MapViewComponent } from \"./map-view.component\";\n\n@NgModule({\n declarations: [MapViewComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [MapViewComponent]\n})\nexport class MapViewModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n TuiDataListModule,\n TuiDropdownModule,\n TuiHostedDropdownModule\n} from \"@taiga-ui/core\";\nimport { TuiBadgeModule, TuiItemsWithMoreModule } from \"@taiga-ui/kit\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { PrimaryActionsComponent } from \"./primary-actions.component\";\n\n@NgModule({\n declarations: [PrimaryActionsComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiItemsWithMoreModule,\n TuiDropdownModule,\n TuiHostedDropdownModule,\n TuiDataListModule,\n TuiBadgeModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [PrimaryActionsComponent]\n})\nexport class PrimaryActionsModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TaskItemStatusComponent } from \"./task-item-status.component\";\n\n@NgModule({\n declarations: [TaskItemStatusComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n exports: [TaskItemStatusComponent]\n})\nexport class TaskItemStatusModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskDetailComponent } from \"./task-detail.component\";\nimport { TaskItemStatusModule } from \"../task-item-status/task-item-status.module\";\n\n@NgModule({\n declarations: [TaskDetailComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule,\n TaskItemStatusModule\n ],\n exports: [TaskDetailComponent]\n})\nexport class TaskDetailModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiAccordionModule } from \"@taiga-ui/kit\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskItemComponent } from \"./task-item.component\";\nimport { TaskItemStatusModule } from \"../task-item-status/task-item-status.module\";\n\n@NgModule({\n declarations: [TaskItemComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiAccordionModule,\n TaskItemStatusModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [TaskItemComponent]\n})\nexport class TaskItemModule {}\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskListSearchComponent } from \"./task-list-search.component\";\n\n@NgModule({\n declarations: [TaskListSearchComponent],\n imports: [\n CommonModule,\n ScrollingModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [TaskListSearchComponent]\n})\nexport class TaskListSearchModule {}\n","import { Pipe, PipeTransform, Injectable } from \"@angular/core\";\n\n@Pipe({\n name: \"filter\",\n pure: false\n})\n@Injectable()\nexport class Ng2SearchPipe implements PipeTransform {\n /**\n * @param items object from array\n * @param term term's search\n * @param excludes array of strings which will ignored during search\n */\n transform(items: any, term: string, excludes: any = []): any {\n if (!term || !items) return items;\n\n return Ng2SearchPipe.filter(items, term, excludes);\n }\n\n /**\n *\n * @param items List of items to filter\n * @param term a string term to compare with every property of the list\n * @param excludes List of keys which will be ignored during search\n *\n */\n static filter(\n items: Array<{ [key: string]: any }>,\n term: string,\n excludes: any\n ): Array<{ [key: string]: any }> {\n const toCompare = term.toLowerCase();\n\n function checkInside(item: any, term: string) {\n if (\n typeof item === \"string\" &&\n item.toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n\n for (const property in item) {\n if (\n item[property] === null ||\n item[property] == undefined ||\n excludes.includes(property)\n ) {\n continue;\n }\n if (typeof item[property] === \"object\") {\n if (checkInside(item[property], term)) {\n return true;\n }\n } else if (\n item[property].toString().toLowerCase().includes(toCompare)\n ) {\n return true;\n }\n }\n return false;\n }\n\n return items.filter((item) => {\n return checkInside(item, term);\n });\n }\n}\n","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { TuiPaginationModule } from \"@taiga-ui/kit\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUILoaderModule, KwikUIModule } from \"kwikui\";\nimport { TaskItemModule } from \"../task-item/task-item.module\";\nimport { TaskListSearchModule } from \"../task-list-search/task-list-search.module\";\nimport { TaskListComponent } from \"./task-list.component\";\nimport { Ng2SearchPipe } from \"../../pipes/search-filter.pipe\";\n\n@NgModule({\n declarations: [TaskListComponent, Ng2SearchPipe],\n imports: [\n CommonModule,\n ScrollingModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikUILoaderModule,\n KwikIDFormsModule,\n TaskItemModule,\n TaskListSearchModule,\n TuiPaginationModule\n ],\n exports: [TaskListComponent]\n})\nexport class TaskListModule {}\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\n\n@Component({\n selector: \"task-preview\",\n templateUrl: \"./task-preview.component.html\",\n styleUrls: [\"./task-preview.component.scss\"]\n})\nexport class TaskPreviewComponent implements OnInit {\n @Input()\n config: any = {};\n\n @Input()\n data: any = {};\n\n @Output()\n onClickTaskItemAction: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n async ngOnInit() {}\n}\n","<div></div>\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TaskPreviewComponent } from \"./task-preview.component\";\n\n@NgModule({\n declarations: [TaskPreviewComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule\n ],\n exports: [TaskPreviewComponent]\n})\nexport class TaskPreviewModule {}\n","import { NgModule } from \"@angular/core\";\nimport { AgentInfoModule } from \"./agent-info/agent-info.module\";\nimport { BottomSheetModule } from \"./bottom-sheet/bottom-sheet.module\";\nimport { MapViewModule } from \"./map-view/map-view.module\";\nimport { PrimaryActionsModule } from \"./primary-actions/primary-actions.module\";\nimport { TaskDetailModule } from \"./task-detail/task-detail.module\";\nimport { TaskItemModule } from \"./task-item/task-item.module\";\nimport { TaskListSearchModule } from \"./task-list-search/task-list-search.module\";\nimport { TaskListModule } from \"./task-list/task-list.module\";\nimport { TaskPreviewModule } from \"./task-preview/task-preview.module\";\n\n@NgModule({\n declarations: [],\n imports: [\n AgentInfoModule,\n BottomSheetModule,\n MapViewModule,\n PrimaryActionsModule,\n TaskDetailModule,\n TaskItemModule,\n TaskListModule,\n TaskListSearchModule,\n TaskPreviewModule\n ],\n exports: [\n AgentInfoModule,\n BottomSheetModule,\n MapViewModule,\n PrimaryActionsModule,\n TaskDetailModule,\n TaskItemModule,\n TaskListModule,\n TaskListSearchModule,\n TaskPreviewModule\n ]\n})\nexport class ComponentModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n TuiPreviewActionModule,\n TuiPreviewModule\n} from \"@taiga-ui/addon-preview\";\nimport { TuiButtonModule, TuiSvgModule } from \"@taiga-ui/core\";\nimport { KwikIDFormViewModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { ComponentModule } from \"../../components/components.module\";\nimport { LayoutBodyComponent } from \"./layout-body.component\";\n\n@NgModule({\n declarations: [LayoutBodyComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormViewModule,\n ComponentModule,\n TuiSvgModule,\n TuiPreviewActionModule,\n TuiPreviewModule,\n TuiButtonModule\n ],\n exports: [LayoutBodyComponent]\n})\nexport class LayoutBodyModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { TuiActiveZoneModule } from \"@taiga-ui/cdk\";\nimport { TuiDropdownModule, TuiGroupModule } from \"@taiga-ui/core\";\nimport { LayoutHeaderComponent } from \"./layout-header.component\";\n\n@NgModule({\n declarations: [LayoutHeaderComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule,\n TuiActiveZoneModule,\n TuiGroupModule,\n TuiDropdownModule\n ],\n exports: [LayoutHeaderComponent]\n})\nexport class LayoutHeaderModule {}\n","import { NgModule } from \"@angular/core\";\nimport { LayoutBodyModule } from \"./layout-body/layout-body.module\";\nimport { LayoutHeaderModule } from \"./layout-header/layout-header.module\";\n\n@NgModule({\n declarations: [],\n imports: [LayoutHeaderModule, LayoutBodyModule],\n exports: [LayoutHeaderModule, LayoutBodyModule]\n})\nexport class LayoutModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { KwikIDFormsModule } from \"kwikid-forms\";\nimport { KwikUIModule } from \"kwikui\";\nimport { ComponentModule } from \"./components/components.module\";\nimport { KwikIDAgentDashboardComponentV2 } from \"./kwikid-agent-dashboard.component\";\nimport { LayoutModule } from \"./layout/layout.module\";\n\n@NgModule({\n declarations: [KwikIDAgentDashboardComponentV2],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n KwikUIModule,\n KwikIDFormsModule,\n LayoutModule,\n ComponentModule\n ],\n exports: [KwikIDAgentDashboardComponentV2]\n})\nexport class KwikIDAgentDashboardModuleV2 {}\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientJsonpModule, HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { GoogleMapsModule } from \"@angular/google-maps\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\n\nimport {\n KwikUIButtonModule,\n KwikUIInputDateModule,\n KwikUIInputModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n KwikUILabelValuePairModule\n} from \"kwikui\";\n\nimport { TuiSidebarModule } from \"@taiga-ui/addon-mobile\";\nimport { TuiActiveZoneModule } from \"@taiga-ui/cdk\";\nimport {\n TuiDialogModule,\n TuiDropdownModule,\n TuiGroupModule,\n TuiRootModule,\n TuiSvgModule\n} from \"@taiga-ui/core\";\n\nimport { KwikIDFormViewModule } from \"kwikid-forms\";\nimport { KwikIDAgentDashboardComponent } from \"./kwikid-agent-dashboard.component\";\n\nimport { KwikIDAgentDashboardModuleV1 } from \"./v1/kwikid-agent-dashboard.module\";\nimport { KwikIDAgentDashboardModuleV2 } from \"./v2/kwikid-agent-dashboard.module\";\n\n@NgModule({\n declarations: [KwikIDAgentDashboardComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n\n KwikUIButtonModule,\n KwikUIInputModule,\n KwikUIInputDateModule,\n KwikUIInputDateRangeModule,\n KwikUIInputSelectModule,\n KwikUILabelValuePairModule,\n KwikUITableModule,\n KwikUITablePaginationModule,\n\n KwikIDFormViewModule,\n\n TuiRootModule,\n TuiDialogModule,\n TuiDropdownModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiGroupModule,\n TuiSvgModule,\n\n ScrollingModule,\n\n GoogleMapsModule,\n HttpClientModule,\n HttpClientJsonpModule,\n\n KwikIDAgentDashboardModuleV1,\n KwikIDAgentDashboardModuleV2\n ],\n exports: [KwikIDAgentDashboardComponent]\n})\nexport class KwikIDAgentDashboardModule {}\n","/* kwikid-agent-dashboard */\nexport * from \"./lib/kwikid-agent-dashboard.component\";\n\n/* All Modules in import order from bottom to top */\nexport * from \"./lib/kwikid-agent-dashboard.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4","i5","i2.TaskItemStatusComponent","i3","i2.TaskListSearchComponent","i3.TaskItemComponent","i2.PrimaryActionsComponent","i4.MapViewComponent","i5.TaskDetailComponent","i6.BottomSheetComponent","i7.TaskListComponent","i9","i1.LayoutHeaderComponent","i2.LayoutBodyComponent","i1.AgentService","i2.GoogleMapsService","i3.OpenStreetMapsService","i5.StatusPillComponent","i6.ActionButtonComponent","i1.GoogleMapsService","i2.OpenStreetMapsService","i3.AgentService","i4.StatusPillComponent","Ng2SearchPipe","i6.CustomerTileComponent","i7","i8","i9.Ng2SearchPipe","i6.CustomerDetailsComponent","i7.CustomerListComponent","i10","i11","i1.KwikIDAgentDashboardComponentV2","i2.KwikIDAgentDashboardComponentV1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOa,qBAAqB,CAAA;AAahC,IAAA,WAAA,GAAA;QAXA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;AAGpB,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAE,CAAC;AAGtD,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAE,CAAC;QAU7D,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;KARG;IAEV,QAAQ,GAAA;+DAAK,CAAA,CAAA;AAAA,KAAA;IAEnB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;KAC9B;IAID,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KACxB;AAED,IAAA,UAAU,CAAC,QAAiB,EAAA;AAC1B,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AACnB,SAAA;KACF;AAED,IAAA,YAAY,CAAC,MAAe,EAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;KACjC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;KACjE;AAED,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,0BAA0B,CAAC,KAAK,EAAA;AAC9B,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;;sIA/CU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sMCPlC,smEAqEA,EAAA,MAAA,EAAA,CAAA,gmCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD9Da,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,WAAW,EAAE,gCAAgC;oBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;AAC9C,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAIP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;;;MEEI,uBAAuB,CAAA;AAOlC,IAAA,WAAA,GAAA;QALA,IAAoB,CAAA,oBAAA,GAAQ,EAAE,CAAC;AAG/B,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAElD;IAEV,QAAQ,GAAA;+DAAK,CAAA,CAAA;AAAA,KAAA;AAEnB,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC5C,YAAA,MAAM,GAAG,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,sBAAsB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC;AACtE,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACrD,SAAA;KACF;IAGD,gCAAgC,GAAA;AAC9B,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;AACtD,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;KACrD;AAGD,IAAA,0BAA0B,CAAC,KAAK,EAAA;AAC9B,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,SAAS,CAAC,KAAa,EAAE,IAAS,EAAA;QAChC,OAAO,KAAK,CAAC;KACd;;wIAxCU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,mBAAA,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,iMCnBpC,i/DA4DA,EAAA,MAAA,EAAA,CAAA,ojBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,mKAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADbE,UAAA,CAAA;IADC,SAAS;AAIT,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,kCAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,4BAAA,EAAA,IAAA,CAAA,CAAA;4FApCU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,WAAW,EAAE,kCAAkC;oBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;oBAC/C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;0EAGC,oBAAoB,EAAA,CAAA;sBADnB,KAAK;gBAIN,oBAAoB,EAAA,CAAA;sBADnB,MAAM;AAwBP,aAAA,CAAA,EAAA,gCAAgC,MAMhC,0BAA0B,EAAA,EAAA,EAAA,EAAA,CAAA;;ME9Cf,gBAAgB,CAAA;AAM3B,IAAA,WAAA,GAAA;AAJA,QAAA,IAAA,CAAA,SAAS,GAAQ;AACf,YAAA,WAAW,EAAE,IAAI;SAClB,CAAC;KAEc;IAEV,QAAQ,GAAA;+DAAK,CAAA,CAAA;AAAA,KAAA;AAEnB,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC5C,YAAA,MAAM,GAAG,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,WAAW,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;AACjD,SAAA;KACF;;iIAvBU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,mBAAA,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,yGCP7B,qiBAYA,EAAA,MAAA,EAAA,CAAA,uIAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDLa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,WAAW,EAAE,2BAA2B;oBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;AACzC,iBAAA,CAAA;0EAGC,SAAS,EAAA,CAAA;sBADR,KAAK;;;MEMK,uBAAuB,CAAA;AAWlC,IAAA,WAAA,GAAA;QAJA,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;QAEZ,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;KAEK;IAEV,QAAQ,GAAA;;YACZ,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;AAC3C,SAAA;AACD,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAE1C,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IAED,WAAW,GAAA;;AACT,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;YAC7C,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EACtD;AACA,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,KAAK;gBACR,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,mCACvC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7C,SAAA;KACF;;wIA1CU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,mBAAA,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,6HCdpC,+FAMA,EAAA,MAAA,EAAA,CAAA,2HAAA,CAAA,EAAA,CAAA,CAAA;4FDQa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,WAAW,EAAE,mCAAmC;oBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;AACjD,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;;;MEEK,mBAAmB,CAAA;AAsB9B,IAAA,WAAA,GAAA;QApBA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;QAErB,IAAI,CAAA,IAAA,GAAQ,EAAE,CAAC;QAEf,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;QAE1B,IAAM,CAAA,MAAA,GAAW,SAAS,CAAC;QAE3B,IAAM,CAAA,MAAA,GAAW,SAAS,CAAC;QAE3B,IAAoB,CAAA,oBAAA,GAAQ,EAAE,CAAC;QAE/B,IAAkB,CAAA,kBAAA,GAAQ,EAAE,CAAC;AAG7B,QAAA,IAAA,CAAA,sBAAsB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAEpD;IAEV,QAAQ,GAAA;;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B,CAAA,CAAA;AAAA,KAAA;IAED,WAAW,CAAC,OAAsB,EAAA,GAAU;IAE5C,SAAS,GAAA;;AACP,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC;YACzD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAChD,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9C,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAC1C;YACA,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC5C,gBAAA,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACvE,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC/B,YAAA,IAAI,CAAC,oBAAoB,GAAG,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;AACvE,YAAA,IAAI,CAAC,KAAK,GAAG,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;AAC1D,SAAA;KACF;IAED,kBAAkB,GAAA;;QAChB,IACE,CAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB;AAC3C,YAAA,qBAAqB,CACnB,IAAI,CAAC,MAAM,EACX,uCAAuC,CACxC;AACD,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAClE;AACA,YAAA,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAClC,IAAI,CAAC,UAAU,CAAC,IAAI,EACpB,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CACvD,CAAC;AACH,SAAA;KACF;IAED,WAAW,GAAA;;AACT,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,mCAAmC,CAAC;AACvE,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAC9D;AACA,YAAA,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAClC,IAAI,CAAC,UAAU,CAAC,IAAI,EACpB,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CACnD,CAAC;AACH,SAAA;KACF;AAED,IAAA,kBAAkB,CAAC,CAAM,EAAA;AACvB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,0BAA0B,CAAC,CAAM,EAAA;AAC/B,QAAA,KAAK,CAAC,CAAG,EAAA,CAAC,CAAC,EAAE,CAAA,wBAAA,CAA0B,CAAC,CAAC;KAC1C;;oIApFU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,+LCpBhC,ssCA6CA,EAAA,MAAA,EAAA,CAAA,iVAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDzBa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,WAAW,EAAE,8BAA8B;oBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;AAC5C,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAgBN,sBAAsB,EAAA,CAAA;sBADrB,MAAM;;;ME/BI,oBAAoB,CAAA;AAI/B,IAAA,WAAA,GAAA;QAIA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QAEtB,IAAc,CAAA,cAAA,GAAkB,IAAI,CAAC;AAMrC,QAAA,IAAA,CAAA,MAAM,GAAG,GAAG,CAAC;AAEb,QAAA,IAAA,CAAA,SAAS,GAAG,EAAE,CAAC;KAdC;IAEV,QAAQ,GAAA;+DAAK,CAAA,CAAA;AAAA,KAAA;AAenB,IAAA,YAAY,CAAC,KAAiB,EAAA;QAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC;KAClE;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,SAAA;KACF;AAGD,IAAA,UAAU,CAAC,KAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;AAGD,IAAA,YAAY,CAAC,KAAiB,EAAA;QAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC;KAClE;AAGD,IAAA,WAAW,CAAC,KAAiB,EAAA;AAC3B,QAAA,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACvC,SAAA;KACF;AAGD,IAAA,UAAU,CAAC,KAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;AAED,IAAA,MAAM,CAAC,OAAe,EAAA;AACpB,QAAA,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;AACrC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAE5C,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC9B,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;QAC3C,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE;;AAEzD,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,CAAC;AAClE,SAAA;AAAM,aAAA,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AACrC,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAG,EAAA,IAAI,CAAC,SAAS,IAAI,CAAC;AACvE,SAAA;aAAM,IAAI,SAAS,GAAG,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,CAAC;AAClE,SAAA;KACF;AAGD,IAAA,yBAAyB,CAAC,KAA8B,EAAA;QACtD,KAAK,CAAC,eAAe,EAAE,CAAC;AAExB,QAAA,OAAO,SAAS,CAAC;KAClB;IAED,oBAAoB,GAAA;AAClB,QAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,QAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,QAAA,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,QAAA,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,QAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,QAAA,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxE;;qIApGU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,kLCRjC,23BAgCA,EAAA,MAAA,EAAA,CAAA,usBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;ADHE,UAAA,CAAA;IADC,SAAS;AAQT,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AASD,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAQT,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAMT,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA,CAAA;AAyBD,UAAA,CAAA;IADC,SAAS;AAKT,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,2BAAA,EAAA,IAAA,CAAA,CAAA;4FA3FU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,WAAW,EAAE,+BAA+B;oBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;AAC7C,iBAAA,CAAA;0EAGC,aAAa,EAAA,CAAA;sBADZ,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAoB5C,YAAY,EAAA,EAAA,EAgBZ,UAAU,EAKV,EAAA,EAAA,YAAY,MAUZ,WAAW,EAAA,EAAA,EAQX,UAAU,EAAA,EAAA,EA2BV,yBAAyB,EAAA,EAAA,EAAA,EAAA,CAAA;;AE/FpB,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,KAAI;IACxD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,+BAA+B,GAAG,CAAC,KAAK,KAAI;AACvD,IAAA,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AACvB,IAAA,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE5C,IAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAI,CAAA,EAAA,GAAG,EAAE,CAAC;AACnC,CAAC,CAAC;AAEK,MAAM,+BAA+B,GAAG,CAAC,KAAK,KAAI;AACvD,IAAA,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AAElD,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,KAAK,GAAoB,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,GAAG,GAAoB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAElE,IAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAI,CAAA,EAAA,GAAG,EAAE,CAAC;AACnC,CAAC;;ACpBM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,oBAAoB,KAAI;IAC3D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;AACb,KAAA;IAED,MAAM,UAAU,GAAG,oBAAoB;UACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;UACrE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1E,IAAA,OAAO,UAAU,CAAC;AACpB,CAAC;;MCYY,uBAAuB,CAAA;AA4ClC,IAAA,WAAA,GAAA;;QAvCA,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAEhB,QAAA,IAAA,CAAA,SAAS,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;QAQzC,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;;QAG5B,IAAU,CAAA,UAAA,GAAkB,SAAS,CAAC;QAEtC,IAAQ,CAAA,QAAA,GAAkB,SAAS,CAAC;QAEpC,IAAG,CAAA,GAAA,GAAW,IAAI,MAAM,CACtB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;;QAKF,IAAiB,CAAA,iBAAA,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAEhE,IAAkB,CAAA,kBAAA,GAAW,SAAS,CAAC;AAGvC,QAAA,IAAA,CAAA,mBAAmB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAGjE,QAAA,IAAA,CAAA,mBAAmB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAGjE,QAAA,IAAA,CAAA,kBAAkB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAEhD;IAEhB,QAAQ,GAAA;QACN,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;AAED,IAAA,uBAAuB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACrC,SAAA;KACF;IAED,sBAAsB,GAAA;;AACpB,QAAA,MAAM,sBAAsB,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,MACrD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,sBAAsB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA;AAC5B,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,IAAI,EAAE,CAAC;SACR,CAAC;AACF,QAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,CAAA,EAAA,GAAA,WAAW,CAAC,WAAW,EAAE,IAAG,sBAAsB,KAAA,IAAA,IAAtB,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,IAAI,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,EAC7D,CAAA,EAAA,GAAA,WAAW,CAAC,QAAQ,EAAE,IAAG,sBAAsB,KAAtB,IAAA,IAAA,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,KAAK,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,EAC3D,CAAA,EAAA,GAAA,WAAW,CAAC,OAAO,EAAE,IAAG,sBAAsB,KAAtB,IAAA,IAAA,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,GAAG,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,CACzD,CAAC;AAEF,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,WAAW,CAAC;YAC3C,KAAK,EAAE,IAAI,WAAW,CACpB,IAAI,MAAM,CACR,SAAS,CAAC,WAAW,EAAE,EACvB,SAAS,CAAC,QAAQ,EAAE,EACpB,SAAS,CAAC,OAAO,EAAE,CACpB,EACD,IAAI,CAAC,GAAG,CACT;AACD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAErE,QAAA,IAAI,CAAC,UAAU,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;;AAGtD,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;KACJ;IAED,+BAA+B,GAAA;;QAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAErE,IAAI,CAAC,wBAAwB,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,iBAAiB;AACpB,YAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,iBAAiB,CAAC;KACxE;AAGD,IAAA,wBAAwB,CAAC,KAAU,EAAA;AACjC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;KACtD;AAED,IAAA,uBAAuB,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,wBAAwB,CAAC,KAAU,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC3B,YAAA,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK;YAClD,eAAe,EAAE,IAAI,CAAC,oBAAoB;AAC3C,SAAA,CAAC,CAAC;KACJ;IAED,4BAA4B,GAAA;AAC1B,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACvD,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;KACtC;AAED,IAAA,2BAA2B,CAAC,KAAU,EAAA;QACpC,IAAI,CAAC,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACjE;;wIAtIU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,mBAAA,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,qOCtBpC,i/EAsFA,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AD2CE,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,0BAAA,EAAA,IAAA,CAAA,CAAA;4FA7GU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,WAAW,EAAE,mCAAmC;oBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;oBAChD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAmCN,mBAAmB,EAAA,CAAA;sBADlB,MAAM;gBAIP,mBAAmB,EAAA,CAAA;sBADlB,MAAM;gBAIP,kBAAkB,EAAA,CAAA;sBADjB,MAAM;gBAkEP,wBAAwB,EAAA,EAAA,EAAA,EAAA,CAAA;;AEjInB,MAAM,2BAA2B,GAAG;AACzC,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,WAAW,EAAE,GAAG;AAChB,IAAA,YAAY,EAAE;AACZ,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,SAAS,EAAE,EAAE;AACd,KAAA;CACF;;MCIY,iBAAiB,CAAA;AAwB5B,IAAA,WAAA,GAAA;QAtBA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAI,CAAA,IAAA,GAAQ,EAAE,CAAC;QAEf,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;QAEZ,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;QAEZ,IAAa,CAAA,aAAA,GAAQ,EAAE,CAAC;QAExB,IAAW,CAAA,WAAA,GAAQ,EAAE,CAAC;AAGtB,QAAA,IAAA,CAAA,eAAe,GAAsB,IAAI,YAAY,EAAO,CAAC;AAG7D,QAAA,IAAA,CAAA,yBAAyB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAGvE,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAElD;IAEV,QAAQ,GAAA;;YACZ,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB,CAAA,CAAA;AAAA,KAAA;IAED,WAAW,GAAA;;AACT,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC;AAC/D,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EACtD;YACA,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAClC,IAAI,CAAC,IAAI,EACT,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAC1C,CAAC;AACH,SAAA;AAED,QAAA,IACE,qBAAqB,CACnB,IAAI,CAAC,MAAM,EACX,sCAAsC,CACvC;AACD,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;AACjE,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EACrE;YACA,IAAI,CAAC,MAAM,GAAG,CAAG,EAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAChC,CAAC,EACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CACjD,CAAA,GAAA,CAAK,CAAC;AACR,SAAA;KACF;IAED,kBAAkB,GAAA;;QAChB,IACE,CAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB;AAC3C,YAAA,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC;AACnE,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAC1D;YACA,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAClC,IAAI,CAAC,IAAI,EACT,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAC9C,CAAC;AACH,SAAA;KACF;IAED,gBAAgB,GAAA;;AACd,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC;YACzD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAChD,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9C,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAC1C;YACA,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC5C,gBAAA,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5D,gBAAA,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAE/B,YAAA,IAAI,CAAC,aAAa;AAChB,gBAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,2BAA2B,CAAC;AACvE,SAAA;KACF;IAGD,qBAAqB,CAAC,CAAM,EAAE,YAAiB,EAAA;AAC7C,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,YAAY;AACnB,SAAA,CAAC,CAAC;KACJ;IAGD,+BAA+B,CAAC,CAAM,EAAE,YAAiB,EAAA;AACvD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;AAClC,YAAA,IAAI,EAAE,YAAY;AACnB,SAAA,CAAC,CAAC;KACJ;IAED,0BAA0B,CAAC,CAAM,EAAE,MAAW,EAAA;AAC5C,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC7B,MAAM;AACP,SAAA,CAAC,CAAC;KACJ;;kIA5GU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,oPCd9B,o+BAgCA,EAAA,MAAA,EAAA,CAAA,4FAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,CAAA;ADyEE,UAAA,CAAA;IADC,SAAS;AAKT,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAKT,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,iCAAA,EAAA,IAAA,CAAA,CAAA;4FAtGU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,WAAW,EAAE,4BAA4B;oBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;AAC1C,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAYN,eAAe,EAAA,CAAA;sBADd,MAAM;gBAIP,yBAAyB,EAAA,CAAA;sBADxB,MAAM;gBAIP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;AAsEP,aAAA,CAAA,EAAA,qBAAqB,MAOrB,+BAA+B,EAAA,EAAA,EAAA,EAAA,CAAA;;MEvFpB,iBAAiB,CAAA;AAuD5B,IAAA,WAAA,CAAoB,aAAkC,EAAA;QAAlC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;QArDtD,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAS,CAAA,SAAA,GAAU,EAAE,CAAC;AAGtB,QAAA,IAAA,CAAA,yBAAyB,GAAsB,IAAI,YAAY,EAAO,CAAC;;QAGvE,IAAe,CAAA,eAAA,GAAG,CAAC,CAAC;QAEpB,IAAgB,CAAA,gBAAA,GAAW,IAAI,CAAC;QAEhC,IAAe,CAAA,eAAA,GAAQ,EAAE,CAAC;QAE1B,IAAa,CAAA,aAAA,GAAQ,EAAE,CAAC;QAExB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;;QAGjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGhB,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;;QAGhB,IAAa,CAAA,aAAA,GAAuB,EAAE,CAAC;QAEvC,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;;QAG7B,IAAU,CAAA,UAAA,GAAkB,SAAS,CAAC;QAEtC,IAAQ,CAAA,QAAA,GAAkB,SAAS,CAAC;QAEpC,IAAG,CAAA,GAAA,GAAW,IAAI,MAAM,CACtB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;AAIF,QAAA,IAAA,CAAA,SAAS,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;;AAQzC,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAE,CAAC;KAEI;IAEpD,QAAQ,GAAA;;AACZ,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;;;;YAKxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B,CAAA,CAAA;AAAA,KAAA;AAGD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,WAAW,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1E,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,SAAA;KACF;IAGD,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAE/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAC7C,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAC3D,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,sBAAsB,GAAA;;AACpB,QAAA,MAAM,sBAAsB,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,MACrD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,sBAAsB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA;AAC5B,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,IAAI,EAAE,CAAC;SACR,CAAC;AACF,QAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,CAAA,EAAA,GAAA,WAAW,CAAC,WAAW,EAAE,IAAG,sBAAsB,KAAA,IAAA,IAAtB,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,IAAI,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,EAC7D,CAAA,EAAA,GAAA,WAAW,CAAC,QAAQ,EAAE,IAAG,sBAAsB,KAAtB,IAAA,IAAA,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,KAAK,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,EAC3D,CAAA,EAAA,GAAA,WAAW,CAAC,OAAO,EAAE,IAAG,sBAAsB,KAAtB,IAAA,IAAA,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,GAAG,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,CACzD,CAAC;AAEF,QAAA,IAAI,CAAC,UAAU,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;AAEtD,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,WAAW,CAAC;YAC3C,KAAK,EAAE,IAAI,WAAW,CACpB,IAAI,MAAM,CACR,SAAS,CAAC,WAAW,EAAE,EACvB,SAAS,CAAC,QAAQ,EAAE,EACpB,SAAS,CAAC,OAAO,EAAE,CACpB,EACD,IAAI,CAAC,GAAG,CACT;AACD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEpE,IAAI,CAAC,qBAAqB,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEpE,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;AAED,IAAA,yBAAyB,CAAC,KAAK,EAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,IAAI,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;AAED,IAAA,yBAAyB,CAAC,KAAK,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;AACvB,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,wBAAwB,CAAC,KAAU,EAAA;;QACjC,IAAI,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YACzC,IAAI,CAAC,oBAAoB,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,eAAe,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;YAC1D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1E,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,SAAA;KACF;IAED,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAA;AAC9B,QAAA,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;AAGD,IAAA,+BAA+B,CAAC,CAAM,EAAA;AACpC,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACxC;AAGD,IAAA,kCAAkC,CAAC,WAAmB,EAAA;QACpD,IAAI,WAAW,IAAI,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;AAEnC,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAC3D,CAAC;AACH,SAAA;KACF;IAED,uBAAuB,GAAA;QACrB,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAC1D,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAClD,YAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAC7B,CAAC,KAAK;;AAEJ,YAAA,KAAK,IAAI,IAAI;AACb,gBAAA,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAC/D,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAED,SAAS,CAAC,KAAa,EAAE,IAAS,EAAA;QAChC,OAAO,KAAK,CAAC;KACd;AAEK,IAAA,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAA;;AAC5C,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,OAAO,GAAI,aAAa;AACrC,iBAAA,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;;kIAnNU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,iOCzB9B,gxCAyCA,EAAA,MAAA,EAAA,CAAA,gnCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,2BAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADmDE,UAAA,CAAA;IADC,SAAS;AAYT,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAeT,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,IAAA,CAAA,CAAA;AAyED,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,iCAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAUT,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,oCAAA,EAAA,IAAA,CAAA,CAAA;4FAtLU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,WAAW,EAAE,4BAA4B;oBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;oBACzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;0GAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,yBAAyB,EAAA,CAAA;sBADxB,MAAM;gBA8CP,aAAa,EAAA,CAAA;sBADZ,MAAM;AAeP,aAAA,CAAA,EAAA,WAAW,EAcX,EAAA,EAAA,uBAAuB,EAuFvB,EAAA,EAAA,+BAA+B,MAK/B,kCAAkC,EAAA,EAAA,EAAA,EAAA,CAAA;;MElJvB,mBAAmB,CAAA;AAmE9B,IAAA,WAAA,CACU,WAAuB,EAEd,oBAA6C,EACnB,OAAyB,EAAA;QAH5D,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAEd,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAyB;QACnB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QA5DtE,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAMrB,IAAiB,CAAA,iBAAA,GAAQ,EAAE,CAAC;QAE5B,IAAe,CAAA,eAAA,GAAQ,EAAE,CAAC;QAE1B,IAAa,CAAA,aAAA,GAAQ,EAAE,CAAC;AAExB,QAAA,IAAA,CAAA,iBAAiB,GAAQ;AACvB,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,EAAE;AACP,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA;AACD,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,WAAW,EAAE,KAAK;SACnB,CAAC;QAEF,IAAc,CAAA,cAAA,GAAQ,SAAS,CAAC;QAEhC,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAC;AAGvB,QAAA,IAAA,CAAA,cAAc,GAAsB,IAAI,YAAY,EAAO,CAAC;AAG5D,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAE,CAAC;QAEtD,IAAe,CAAA,eAAA,GAAQ,EAAE,CAAC;QAG1B,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;QAGrB,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;QAGpB,IAAQ,CAAA,QAAA,GAAe,EAAE,CAAC;QAE1B,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAE9B,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QAEvB,IAAgB,CAAA,gBAAA,GAAQ,IAAI,CAAC;KAOzB;;IArEJ,mBAAmB,GAAA;QACjB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,EAAE;AACpD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;KACF;IAiED,QAAQ,GAAA;QACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;AAGD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC5C,YAAA,MAAM,GAAG,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC/C,SAAA;KACF;IAGD,4BAA4B,GAAA;;QAC1B,IAAI,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,EAAE;AACjC,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;AACpC,SAAA;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE;AAC5B,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;AACpC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;AACnC,SAAA;KACF;AAGD,IAAA,+BAA+B,CAAC,CAAM,EAAA;QACpC,IAAI,CAAC,4BAA4B,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;KAC3B;AAGD,IAAA,4BAA4B,CAAC,CAAM,EAAA;AACjC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAC9B;AAGD,IAAA,0BAA0B,CAAC,CAAM,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;KAC9C;AAGD,IAAA,oBAAoB,CAAC,CAAM,EAAA;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC7B;AAED,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;AAGK,IAAA,0BAA0B,CAAC,CAAM,EAAA;;;YACrC,QAAQ,CAAC,CAAC,IAAI;AACZ,gBAAA,KAAK,YAAY;oBACf,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA,EAAA,GAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAD,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAC,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACrD,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB;AAC9C,yBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACxB,yBAAA,SAAS,CAAC;AACT,wBAAA,IAAI,EAAE,CAAC,IAAS,KAAI;4BAClB,IAAI,CAAC,iBAAiB,GAAG;gCACvB,aAAa,EAAE,IAAI,CAAC,IAAI;gCACxB,eAAe,EAAE,IAAI,CAAC,UAAU;6BACjC,CAAC;AACF,4BAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC1B,4BAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;yBAClC;wBACD,KAAK,EAAE,MAAK;4BACV,IAAI,CAAC,iBAAiB,GAAG;AACvB,gCAAA,aAAa,EAAE,EAAE;gCACjB,eAAe,EAAE,IAAI,CAAC,eAAe;6BACtC,CAAC;AACF,4BAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAE1B,4BAAA,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;yBAC/B;wBACD,QAAQ,EAAE,MAAK;AACb,4BAAA,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;yBAChC;AACF,qBAAA,CAAC,CAAC;oBACL,MAAM;AACR,gBAAA,KAAK,WAAW;oBACd,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA,EAAA,GAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAD,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAC,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;oBACpE,MAAM;AACR,gBAAA,KAAK,UAAU;oBACb,MAAM;AACR,gBAAA;oBACE,MAAM;AACT,aAAA;;AACF,KAAA;IAGD,qBAAqB,CAAC,CAAM,EAAE,SAAc,EAAA;AAC1C,QAAA,QAAQ,SAAS;AACf,YAAA,KAAK,YAAY;AACf,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM;AACR,YAAA,KAAK,WAAW;AACd,gBAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,MAAM;AACR,YAAA;gBACE,MAAM;AACT,SAAA;KACF;;oIAxLU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAqEpB,uBAAuB,EAAA,EAAA,EAAA,KAAA,EAEvB,gBAAgB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wHAvEf,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpDhC,goIAkJA,ED5Hc,MAAA,EAAA,CAAA,gsFAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAQ,uBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,2BAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAZ,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAa,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,iBAAiB,EAAE;YACzB,UAAU,CAAC,QAAQ,EAAE;AACnB,gBAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC;aACb,CAAC;YACF,UAAU,CAAC,QAAQ,EAAE;gBACnB,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;aACvD,CAAC;SACH,CAAC;QACF,OAAO,CAAC,kBAAkB,EAAE;YAC1B,UAAU,CAAC,QAAQ,EAAE;AACnB,gBAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC;aACb,CAAC;YACF,UAAU,CAAC,QAAQ,EAAE;gBACnB,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;aACvD,CAAC;SACH,CAAC;QACF,OAAO,CAAC,eAAe,EAAE;YACvB,UAAU,CAAC,QAAQ,EAAE;AACnB,gBAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC,CAAC;aACX,CAAC;YACF,UAAU,CAAC,QAAQ,EAAE;gBACnB,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;aACrD,CAAC;SACH,CAAC;AACH,KAAA,EAAA,CAAA,CAAA;AAiFD,UAAA,CAAA;IADC,SAAS;AAcT,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAST,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,8BAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAKT,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,iCAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,8BAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,4BAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAGT,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA,CAAA;AAOD,UAAA,CAAA;IADC,SAAS;AAuCT,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,4BAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,SAAS;AAYT,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,IAAA,CAAA,CAAA;4FAxLU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAlC/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,WAAW,EAAE,8BAA8B;oBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;AAC3C,oBAAA,UAAU,EAAE;wBACV,OAAO,CAAC,iBAAiB,EAAE;4BACzB,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gCACxC,OAAO,CAAC,GAAG,CAAC;6BACb,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;6BACvD,CAAC;yBACH,CAAC;wBACF,OAAO,CAAC,kBAAkB,EAAE;4BAC1B,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gCACxC,OAAO,CAAC,GAAG,CAAC;6BACb,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;6BACvD,CAAC;yBACH,CAAC;wBACF,OAAO,CAAC,eAAe,EAAE;4BACvB,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gCACxC,OAAO,CAAC,CAAC,CAAC;6BACX,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;6BACrD,CAAC;yBACH,CAAC;AACH,qBAAA;AACF,iBAAA,CAAA;;0BAsEI,MAAM;2BAAC,uBAAuB,CAAA;;0BAE9B,MAAM;2BAAC,gBAAgB,CAAA;4CApE1B,mBAAmB,EAAA,CAAA;sBADlB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAWV,OAAO,EAAA,CAAA;sBAArC,SAAS;uBAAC,SAAS,CAAA;gBA6BpB,cAAc,EAAA,CAAA;sBADb,MAAM;gBAIP,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAMP,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;AAqBN,aAAA,CAAA,EAAA,WAAW,EAgBX,EAAA,EAAA,4BAA4B,EAW5B,EAAA,EAAA,+BAA+B,EAO/B,EAAA,EAAA,4BAA4B,EAK5B,EAAA,EAAA,0BAA0B,EAK1B,EAAA,EAAA,oBAAoB,EASd,EAAA,EAAA,0BAA0B,MAyChC,qBAAqB,EAAA,EAAA,EAAA,EAAA,CAAA;;MEnNV,+BAA+B,CAAA;AAmB1C,IAAA,WAAA,GAAA;QAjBA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;QAGrB,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;QAGpB,IAAQ,CAAA,QAAA,GAAe,EAAE,CAAC;AAG1B,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAE,CAAC;AAGtD,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAE,CAAC;KAE7C;AAEhB,IAAA,QAAQ,MAAK;AAEb,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC/C,SAAA;KACF;AAED,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,0BAA0B,CAAC,KAAK,EAAA;AAC9B,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;;gJAvCU,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,mBAAA,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,uRCd5C,smBAoBA,EAAA,MAAA,EAAA,CAAA,6dAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,WAAW,EAAE,yCAAyC;oBACtD,SAAS,EAAE,CAAC,yCAAyC,CAAC;AACvD,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAIP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;;;AE5BT;AACO,MAAM,iBAAiB,GAAG,CAAC,MAAW,EAAE,MAAW,KAAY;AACpE,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AACxB,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AACxB,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AACxB,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AAExB,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC;AACf,IAAA,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AAC7C,IAAA,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AAC7C,IAAA,MAAM,CAAC,GACL,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC;AAC9B,YAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC;AAChC,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAClB,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzD,IAAA,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;AAEvB,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;AACO,MAAM,wBAAwB,GAAG,CACtC,aAAkB,EAClB,eAAsB,KACb;IACT,IAAI,YAAY,GAAG,aAAa,CAAC;AACjC,IAAA,MAAM,IAAI,GAAU,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,aAAa,GAAa,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAExD,IAAA,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QACjC,IAAI,YAAY,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE3C,QAAA,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;YACnC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,QAAQ,GAAG,WAAW,EAAE;gBAC1B,WAAW,GAAG,QAAQ,CAAC;gBACvB,YAAY,GAAG,KAAK,CAAC;AACtB,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxB,QAAA,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,YAAY,GAAG,YAAY,CAAC;AAE5B,QAAA,eAAe,GAAG,eAAe,CAAC,MAAM,CACtC,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CACrC,CAAC;AACH,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,IAAS,EAAE,MAAW,KAAY;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,WAAW,EAAE,YAAY,KACxB,GAAG,WAAW,CAAA,CAAA,EAAI,sBAAsB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAE,CAAA,EAChE,EAAE,CACH,CAAC;AACF,IAAA,OAAO,OAAO,CAAC;AACjB,CAAC;;AChED,IAAY,OAgBX,CAAA;AAhBD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,OAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,OAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,OAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,OAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,OAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,OAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,OAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,OAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,OAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,IAAA,OAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,IAAA,OAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,OAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,OAAA,CAAA,2BAAA,CAAA,GAAA,2BAAuD,CAAA;AACvD,IAAA,OAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AACrD,CAAC,EAhBW,OAAO,KAAP,OAAO,GAgBlB,EAAA,CAAA,CAAA,CAAA;AAEM,MAAM,OAAO,GAAG;AACrB,IAAA,OAAO,CAAC,WAAW;AACnB,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,WAAW;AACnB,IAAA,OAAO,CAAC,QAAQ;AAChB,IAAA,OAAO,CAAC,OAAO;AACf,IAAA,OAAO,CAAC,eAAe;AACvB,IAAA,OAAO,CAAC,YAAY;AACpB,IAAA,OAAO,CAAC,oBAAoB;AAC5B,IAAA,OAAO,CAAC,oBAAoB;AAC5B,IAAA,OAAO,CAAC,mBAAmB;AAC3B,IAAA,OAAO,CAAC,mBAAmB;AAC3B,IAAA,OAAO,CAAC,yBAAyB;AACjC,IAAA,OAAO,CAAC,uBAAuB;CACvB;;MC5BG,YAAY,CAAA;AAyHvB,IAAA,WAAA,GAAA;QAtHA,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAIlB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAIpB,QAAA,IAAA,CAAA,WAAW,GAAG;AACZ,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA;AACE,oBAAA,GAAG,EAAE,MAAM;AACX,oBAAA,KAAK,EAAE,eAAe;AACtB,oBAAA,UAAU,EAAE;AACV,wBAAA,QAAQ,EAAE,IAAI;AACf,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA,WAAW,EAAE,gCAAgC;AAC7C,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,IAAI,EAAE,SAAS;AAChB,qBAAA;AACD,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,OAAO;AACZ,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,UAAU,EAAE;AACV,wBAAA,QAAQ,EAAE,IAAI;AACf,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA,WAAW,EAAE,KAAK;AAClB,wBAAA,0BAA0B,EAAE,IAAI;AAChC,wBAAA,yBAAyB,EAAE,YAAY;AACvC,wBAAA,WAAW,EAAE,iCAAiC;AAC9C,wBAAA,QAAQ,EAAE,KAAK;AAChB,qBAAA;AACD,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,SAAS;AACd,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,UAAU,EAAE;AACV,wBAAA,QAAQ,EAAE,IAAI;AACf,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA,WAAW,EAAE,0BAA0B;AACvC,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,IAAI,EAAE,SAAS;AAChB,qBAAA;AACD,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,MAAM;AACX,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,UAAU,EAAE;AACV,wBAAA,QAAQ,EAAE,IAAI;AACf,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA,WAAW,EAAE,uBAAuB;AACpC,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,IAAI,EAAE,SAAS;AAChB,qBAAA;AACD,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,UAAU;AACf,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,UAAU,EAAE;AACV,wBAAA,QAAQ,EAAE,IAAI;AACf,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA,WAAW,EAAE,+BAA+B;AAC5C,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,IAAI,EAAE,SAAS;AAChB,qBAAA;AACD,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE;AACL,wBAAA,MAAM,EAAE,IAAI;AACZ,wBAAA,KAAK,EAAE,UAAU;AAClB,qBAAA;AACD,oBAAA,KAAK,EAAE;AACL,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE;AACf,wBAAA,MAAM,EAAE,IAAI;AACZ,wBAAA,KAAK,EAAE,YAAY;AACpB,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,KAAK,EAAE,QAAQ;AAChB,qBAAA;AACF,iBAAA;AACF,aAAA;SACF,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG;AAClB,YAAA,OAAO,CAAC,QAAQ;AAChB,YAAA,OAAO,CAAC,WAAW;AACnB,YAAA,OAAO,CAAC,QAAQ;AAChB,YAAA,OAAO,CAAC,eAAe;AACvB,YAAA,OAAO,CAAC,YAAY;AACpB,YAAA,OAAO,CAAC,mBAAmB;AAC3B,YAAA,OAAO,CAAC,mBAAmB;AAC3B,YAAA,OAAO,CAAC,uBAAuB;AAC/B,YAAA,OAAO,CAAC,oBAAoB;SAC7B,CAAC;KAEc;AAEhB,IAAA,QAAQ,MAAK;AAEb,IAAA,cAAc,CAAC,MAAM,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;KACtC;AAED,IAAA,cAAc,CAAC,MAAM,EAAA;;AACnB,QAAA,MAAM,oBAAoB,GACxB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;AAEpD,QAAA,IAAI,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACzC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;;6HA7IU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,mBAAA,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCeY,iBAAiB,CAAA;AAmB5B,IAAA,WAAA,CACU,YAA0B,EAC3B,oBAA0C,EAC1C,UAAsB,EAAA;QAFrB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC3B,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;QAC1C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAf/B,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;KAgBjB;;IAGJ,WAAW,GAAA;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,SAAS,CAAC,WAAW,CAAC,aAAa,CACjC,CAAC,IAAI,KAAI;AACP,gBAAA,OAAO,CAAC;AACN,oBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;AAC1B,oBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;AAC1B,iBAAA,CAAC,CAAC;AACL,aAAC,EACD,CAAC,GAAG,KAAI;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;AACd,aAAC,CACF,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;;IAGK,aAAa,GAAA;;AACjB,YAAA,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;gBAClC,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAG,GAAG;AACT,oBAAA,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,IAAI,CAAC,UAAU;AACvB,oBAAA,iBAAiB,EAAE,KAAK;AACxB,oBAAA,cAAc,EAAE,KAAK;AACrB,oBAAA,iBAAiB,EAAE,KAAK;AACxB,oBAAA,WAAW,EAAE,KAAK;iBACnB,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC;aACf,CAAA,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,WAAW,CAAC,IAAI,EAAA;;AACpB,YAAA,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClC,gBAAA,IAAI,aAAa,CAAC;;gBAGlB,IACE,qBAAqB,CACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB,iCAAiC,CAClC,EACD;;oBAEA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC;oBACxE,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;;AAG9C,oBAAA,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;;qBAGI,IACH,qBAAqB,CACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB,gCAAgC,CACjC,EACD;;oBAEA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;oBACvE,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;;AAGrD,oBAAA,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;;AAGI,qBAAA;oBACH,MAAM,OAAO,GACX,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MACrD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAC7C,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MACrB,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,OAAO,MACb,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;;AAGL,oBAAA,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;;gBAGD,MAAM,GAAG,GAAG,CAAyD,sDAAA,EAAA,IAAI,CAAC,MAAM,CAAA,SAAA,EAAY,aAAa,CAAA,CAAE,CAAC;AAE5G,gBAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;AAClC,gBAAA,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;;AAGxC,gBAAA,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,eAAe;AAC9B,sBAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,OAAO,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,0CAAE,QAAQ;sBACpC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;;AAG7B,gBAAA,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;gBAC3C,QAAQ,CAAC,aAAa,GAAG,CAAA,kCAAA,EAAqC,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAI,CAAA,EAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,GAAG,EAAE,CAAC;gBAE/F,OAAO,CAAC,QAAQ,CAAC,CAAC;aACnB,CAAA,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;;IAGK,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAA;;AACtC,YAAA,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;gBAClC,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,gBAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAM,IAAI,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;oBACvC,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACjD,oBAAA,IAAI,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAK,EAAA,MAAM,CAAE,CAAC;AAC9B,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB,CAAA,CAAC,CAAC;AAEH,gBAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE5B,OAAO,CAAC,OAAO,CAAC,CAAC;aAClB,CAAA,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,cAAc,CAAC,KAAK,EAAA;;AACxB,YAAA,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;gBAClC,MAAM,IAAI,GAAG,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AAClC,oBAAA,IAAI,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,eAAe,EAAE;wBACzB,IAAI,CAAC,IAAI,CAAC;AACR,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,QAAQ,EAAE,IAAI;AACf,yBAAA,CAAC,CAAC;AACH,wBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,qBAAA;AACH,iBAAC,CAAC,CAAC;AAEH,gBAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE5B,OAAO,CAAC,IAAI,CAAC,CAAC;aACf,CAAA,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,yBAAyB,CAAC,KAAK,EAAA;;YACnC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACjC,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACD,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;;AAGrB,YAAA,MAAM,QAAQ,GAAG;AACf,gBAAA,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;AACxB,gBAAA,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;AACxB,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,KAAK,EAAE,KAAK;aACb,CAAC;;YAGF,MAAM,OAAO,GAAQ,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;;AAGpE,YAAA,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,wBAAwB,CAC7C,aAAa,EACb,kBAAkB,CACnB,CAAC;;AAGF,YAAA,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC;;YAG7B,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;AAGnD,YAAA,MAAM,OAAO,GAAkC;gBAC7C,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,WAAW,EAAE,IAAI,CAAC,UAAU;AAC5B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;aAC3C,CAAC;YAEF,IAAI,CAAC,sBAAsB,GAAG;AAC5B,gBAAA,eAAe,EAAE,IAAI;aACtB,CAAC;AAEF,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB;iBAChD,KAAK,CAAC,OAAO,CAAC;AACd,iBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,YAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI,GAAG,CAAC,CAAC;AAE/C,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAErD,YAAA,OAAO,KAAK,CAAC;SACd,CAAA,CAAA;AAAA,KAAA;;AAGD,IAAA,6BAA6B,CAAC,IAAI,EAAA;QAChC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC;;AAGxB,YAAA,IAAI,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,eAAe,EAAE;AAC/B,gBAAA,MAAM,OAAO,GAAkC;oBAC7C,MAAM,EAAE,IAAI,CAAC,UAAU;AACvB,oBAAA,WAAW,EAAE,UAAU;AACvB,oBAAA,iBAAiB,EAAE,IAAI;AACvB,oBAAA,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;iBAC3C,CAAC;AAEF,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB;qBAChD,KAAK,CAAC,OAAO,CAAC;AACd,qBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;AACrC,aAAA;AAAM,iBAAA;gBACL,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACtD,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AACtD,SAAA;KACF;;kIArPU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,IAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;gKAgBmC,iBAAiB,EAAA,CAAA;sBAAlD,YAAY;uBAAC,kBAAkB,CAAA;;;MCfrB,qBAAqB,CAAA;AAiBhC,IAAA,WAAA,CACU,YAA0B,EAC3B,oBAA0C,EAC1C,UAAsB,EAAA;QAFrB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC3B,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;QAC1C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAf/B,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;KAgBjB;;IAGJ,WAAW,GAAA;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,SAAS,CAAC,WAAW,CAAC,aAAa,CACjC,CAAC,IAAI,KAAI;AACP,gBAAA,OAAO,CAAC;AACN,oBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;AAC1B,oBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;AAC1B,iBAAA,CAAC,CAAC;AACL,aAAC,EACD,CAAC,GAAG,KAAI;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;AACd,aAAC,CACF,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;;AAGK,IAAA,WAAW,CAAC,IAAI,EAAA;;AACpB,YAAA,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClC,gBAAA,IAAI,aAAa,CAAC;;gBAGlB,IACE,qBAAqB,CACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB,iCAAiC,CAClC,EACD;;oBAEA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC;oBACxE,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;;AAG9C,oBAAA,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;;qBAGI,IACH,qBAAqB,CACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB,gCAAgC,CACjC,EACD;;oBAEA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;oBACvE,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;;AAGrD,oBAAA,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;;AAGI,qBAAA;oBACH,MAAM,OAAO,GACX,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MACrD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAC7C,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MACrB,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,OAAO,MACb,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;;AAGL,oBAAA,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;;AAGD,gBAAA,MAAM,GAAG,GAAG,CAAgD,6CAAA,EAAA,aAAa,cAAc,CAAC;AAExF,gBAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;AAClC,gBAAA,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;;gBAGxC,MAAM,eAAe,GACnB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,KAAG,CAAA,EAAA,GAAA,IAAI,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAA,CAAC;gBACvD,MAAM,QAAQ,GAAQ,eAAe;sBACjC,EAAE,GAAG,EAAE,MAAA,IAAI,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,EAAE,GAAG,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,EAAE;sBACxC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;;AAG7B,gBAAA,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;AAC3C,gBAAA,QAAQ,CAAC,KAAK,GAAG,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC;gBAClD,QAAQ,CAAC,aAAa,GAAG,CAAA,kCAAA,EAAqC,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAI,CAAA,EAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,GAAG,EAAE,CAAC;gBAE/F,OAAO,CAAC,QAAQ,CAAC,CAAC;aACnB,CAAA,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;;IAGK,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAA;;AACtC,YAAA,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;gBAClC,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,gBAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAM,IAAI,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;oBACvC,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACjD,oBAAA,IAAI,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAK,EAAA,MAAM,CAAE,CAAC;AAC9B,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB,CAAA,CAAC,CAAC;AAEH,gBAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE5B,OAAO,CAAC,OAAO,CAAC,CAAC;aAClB,CAAA,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;;IAGK,aAAa,GAAA;;AACjB,YAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;AACtB,gBAAA,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AAClD,gBAAA,IAAI,EAAE,EAAE;AACT,aAAA,CAAC,CAAC;AACH,YAAA,CAAC,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC,KAAK,CACrE,IAAI,CAAC,GAAG,CACT,CAAC;SACH,CAAA,CAAA;AAAA,KAAA;;IAGD,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAA;QAClC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;AACnB,YAAA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;gBACX,OAAO,EACL,KAAK,IAAI,KAAK;AACZ,sBAAE,gFAAgF;AAClF,sBAAE,gFAAgF;aACvF,CAAC;SACH,CAAC;AACC,aAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;aACf,SAAS,CAAC,KAAK,CAAC,CAAC;KACrB;;AAGK,IAAA,yBAAyB,CAAC,KAAK,EAAA;;YACnC,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,gBAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;;AAGrB,gBAAA,MAAM,QAAQ,GAAG;AACf,oBAAA,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;AACxB,oBAAA,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;AACxB,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,KAAK,EAAE,KAAK;iBACb,CAAC;AACF,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzB,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAG/B,gBAAA,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;;gBAGjE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,cAAc,GAAG,wBAAwB,CAC7C,aAAa,EACb,kBAAkB,CACnB,CAAC;;AAGF,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAC3C,cAAc,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CACL,CAAC;;AAGF,gBAAA,KAAK,GAAG,IAAI,CAAC,sBAAsB,CACjC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EACvB,KAAK,EACL,KAAK,CACN,CAAC;;AAGF,gBAAA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACjB,oBAAA,IAAI,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,eAAe,EAAE;wBACzB,MAAM,MAAM,GAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3C,wBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACxB,qBAAA;AACH,iBAAC,CAAC,CAAC;;AAGH,gBAAA,MAAM,MAAM,GAAG;oBACb,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBACxC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;iBAC7C,CAAC;;AAGF,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;SACd,CAAA,CAAA;AAAA,KAAA;;AAGD,IAAA,6BAA6B,CAAC,IAAI,EAAA;QAChC,IAAI,IAAI,KAAK,IAAI,EAAE;;YAEjB,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjD,aAAA;;YAGD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC7C,aAAA;YAED,MAAM,UAAU,GAAG,IAAI,CAAC;;AAGxB,YAAA,IAAI,UAAU,CAAC,KAAK,IAAI,KAAK,EAAE;AAC7B,gBAAA,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACjD,gBAAA,MAAM,MAAM,GAAG;oBACb,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBACzC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;iBAC7C,CAAC;gBACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAI,CAAC,8BAA8B,EAAE,CAAC;AACvC,aAAA;AAAM,iBAAA;gBACL,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAChC,aAAA;AACF,SAAA;;AAEI,aAAA;YACH,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjD,aAAA;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACrC,SAAA;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;;IAGD,8BAA8B,GAAA;QAC5B,OAAO,IAAI,CAAC,2BAA2B,CAAC;KACzC;;IAGD,8BAA8B,GAAA;QAC5B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,UAAS,CAAC,EAAA;AAClD,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9B,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;AAC9C,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC,2BAA2B,GAAG;gBACjC,QAAQ;gBACR,IAAI;aACL,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;;AAGD,IAAA,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAA;QAC3C,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AAC7D,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1B,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACpB;;IAGD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAA;AACvB,QAAA,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACvB,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,WAAW,EAAE;gBACX,MAAM;AACP,aAAA;YACD,YAAY,GAAA;AACV,gBAAA,OAAO,IAAI,CAAC;aACb;AACD,YAAA,kBAAkB,EAAE,IAAI;AACzB,SAAA,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACpB;;IAGD,YAAY,GAAA;QACV,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,KAC/C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CACjC,CAAC;AACF,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;KACnC;;sIAlTU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAW,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,IAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;gKAcmC,iBAAiB,EAAA,CAAA;sBAAlD,YAAY;uBAAC,kBAAkB,CAAA;;;ACjC3B,MAAM,MAAM,GAAG;AACpB,IAAA,mBAAmB,EAAE;AACnB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,IAAI,EAAE,qBAAqB;AAC5B,KAAA;AACD,IAAA,mBAAmB,EAAE;AACnB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,IAAI,EAAE,qBAAqB;AAC5B,KAAA;AACD,IAAA,yBAAyB,EAAE;AACzB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,IAAI,EAAE,gBAAgB;AACvB,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,IAAI,EAAE,SAAS;AAChB,KAAA;CACF,CAAC;AAEK,MAAM,cAAc,GAAG;AAC5B,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,IAAI,EAAE,SAAS;CAChB;;MChBY,mBAAmB,CAAA;AAW9B,IAAA,WAAA,GAAA;QAJA,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;QAEZ,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;KAEK;IAEV,QAAQ,GAAA;;YACZ,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;AAC3C,SAAA;AACD,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAE1C,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IAED,WAAW,GAAA;;AACT,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;YAC7C,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EACtD;AACA,YAAA,IAAI,CAAC,MAAM,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,cAAc,CAAA,EAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC;AACzE,YAAA,IAAI,CAAC,KAAK;gBACR,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,mCACvC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,SAAA;KACF;;oIA7CU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,wHChBhC,+FAMA,EAAA,MAAA,EAAA,CAAA,2HAAA,CAAA,EAAA,CAAA,CAAA;4FDUa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,WAAW,EAAE,8BAA8B;oBAC3C,SAAS,EAAE,CAAC,6BAA6B,CAAC;AAC3C,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;;;MEFK,qBAAqB,CAAA;AAiBhC,IAAA,WAAA,GAAA;QAfA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;QAEnB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAEjB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAGf,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAsClE,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,MAAM,KAAI;YACtB,QAAQ,MAAM,CAAC,GAAG;AAChB,gBAAA,KAAK,gBAAgB;AACnB,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,MAAM;AACR,gBAAA,KAAK,eAAe;AAClB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,MAAM;AACR,gBAAA,KAAK,aAAa;AAChB,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,MAAM;AACR,gBAAA,KAAK,aAAa;AAChB,oBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,MAAM;AACR,gBAAA;oBACE,MAAM;AACT,aAAA;AACH,SAAC,CAAC;KArDc;AAEhB,IAAA,QAAQ,MAAW;AAEnB,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;;AAEnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC/C,SAAA;AAED,QAAA,IAAI,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,EAAE;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,SAAA;KACF;IAEK,cAAc,GAAA;;;YAClB,MAAM,IAAI,UAAU,CAClB;gBACE,IAAI,EAAE,IAAI,CAAC,QAAQ;AACpB,aAAA,EACD,IAAI,CAAC,UAAU,CAChB,CAAC,GAAG,CAAC;AACJ,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,KAAK,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;AACxC,gBAAA,OAAO,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;AAC7C,aAAA,CAAC,CAAC;;AACJ,KAAA;IAqBD,0BAA0B,CAAC,MAAW,EAAE,QAAa,EAAA;AACnD,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC7B,MAAM;YACN,QAAQ;AACT,SAAA,CAAC,CAAC;KACJ;;sIA7EU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,kNClBlC,6SAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDOa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,WAAW,EAAE,gCAAgC;oBAC7C,SAAS,EAAE,CAAC,+BAA+B,CAAC;AAC7C,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAQN,oBAAoB,EAAA,CAAA;sBADnB,MAAM;;;AEhCT;MA8Ba,wBAAwB,CAAA;AA0BnC,IAAA,WAAA,CACS,YAA0B,EAC1B,iBAAoC,EACpC,qBAA4C,EAC3C,GAAsB,EAAA;QAHvB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;QAC3C,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QA5BhC,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;QAKnB,IAAK,CAAA,KAAA,GAAG,iBAAiB,CAAC;QAE1B,IAAe,CAAA,eAAA,GAAkB,EAAE,CAAC;QAEpC,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAEjB,IAAoB,CAAA,oBAAA,GAAQ,EAAE,CAAC;QAE/B,IAAkB,CAAA,kBAAA,GAAQ,EAAE,CAAC;AAG7B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAG9B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAGhC,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAO9D;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,KAAK,EAAA;QACrB,IAAI,IAAI,GAAG,EAAE,CAAC;;AAEd,QAAA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YACjB,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1D,YAAA,IAAI,GAAG,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC;KACb;IAED,SAAS,GAAA;;AACP,QAAA,MAAM,UAAU,GACd,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,SAAS,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEhE,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC;YACzD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAChD;YACA,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAChD,YAAA,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC1B,gBAAA,IAAI,KAAK,CAAC;gBACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAC7B,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5C,iBAAA;AAAM,qBAAA;oBACL,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3D,iBAAA;AACD,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,gBAAA,OAAO,IAAI,CAAC;AACd,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,SAAA;AACD,QAAA,IAAI,CAAC,oBAAoB,GAAG,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;QACvE,IAAI,CAAC,KAAK,GAAG,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC;KACxE;AAED,IAAA,mBAAmB,CAAC,IAAI,EAAA;;AACtB,QAAA,IAAI,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,0CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,EAAE;YAC5C,MAAM,IAAI,GAAG,sBAAsB,CACjC,IAAI,EACJ,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CACzC,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACtC,SAAA;QACD,OAAO,IAAI,CAAC,kBAAkB,CAC5B,MAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAC7C,CAAC;KACH;AAED,IAAA,kBAAkB,CAAC,SAAS,EAAA;QAC1B,IAAI,OAAO,SAAS,KAAK,QAAQ;AAAE,YAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AACxC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE3C,QAAA,OAAO,GAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KAClC;AAED,IAAA,cAAc,CAAC,QAAQ,EAAA;QACrB,OAAO,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACxD;AAED,IAAA,QAAQ,CAAC,QAAQ,EAAA;QACf,MAAM,CAAC,IAAI,CAAC,CAAA,EAAG,QAAQ,CAAE,CAAA,EAAE,QAAQ,CAAC,CAAC;KACtC;AAED,IAAA,iBAAiB,CAAC,CAAC,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACvB;IAED,KAAK,GAAA;;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,SAAS,CAAC;AAEjD,QAAA,IAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAK,aAAa,EAAE;AAChD,YAAA,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAC5D,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,qBAAqB,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAChE,SAAA;KACF;AAED,IAAA,uBAAuB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;AAED,IAAA,0BAA0B,CAAC,KAAU,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;;yIA1IU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAe,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4OC9BrC,m+CAoDA,EAAA,MAAA,EAAA,CAAA,ojDAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAhB,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAiB,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAjB,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAkB,qBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;4FDtBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,WAAW,EAAE,mCAAmC;oBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;oBAChD,eAAe,EAAE,uBAAuB,CAAC,OAAO;AACjD,iBAAA,CAAA;8LAGC,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAcN,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAIP,UAAU,EAAA,CAAA;sBADT,MAAM;gBAIP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;;;AErDT;MA2Ba,qBAAqB,CAAA;AAwChC,IAAA,WAAA,CACS,iBAAoC,EACpC,qBAA4C,EAC5C,YAA0B,EACzB,WAAuB,EAAA;QAHxB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;QAC5C,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QACzB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAjCjC,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;QAGnB,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;QAK1B,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAErB,IAAe,CAAA,eAAA,GAAkB,EAAE,CAAC;QAEpC,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAEjB,IAAY,CAAA,YAAA,GAAyC,EAAE,CAAC;QAExD,IAAoB,CAAA,oBAAA,GAAQ,EAAE,CAAC;QAE/B,IAAkB,CAAA,kBAAA,GAAQ,EAAE,CAAC;AAG7B,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAGlE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAG9B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;KAO5B;IA3CJ,mBAAmB,GAAA;QACjB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,EAAE;AACpD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;KACF;IAuCD,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;AACnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,KAAK,EAAA;QACrB,IAAI,IAAI,GAAG,EAAE,CAAC;;AAEd,QAAA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YACjB,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1D,YAAA,IAAI,GAAG,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC;KACb;IAED,SAAS,GAAA;;AACP,QAAA,MAAM,UAAU,GACd,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GACzC,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAc,MAC3B,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,SAAS,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEhE,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE7C,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC;YACzD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAChD;YACA,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAChD,YAAA,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC1B,gBAAA,IAAI,KAAK,CAAC;gBACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAC7B,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5C,iBAAA;AAAM,qBAAA;oBACL,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3D,iBAAA;AACD,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,gBAAA,OAAO,IAAI,CAAC;AACd,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,SAAA;AAED,QAAA,IAAI,CAAC,oBAAoB,GAAG,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;KACxE;IAED,iBAAiB,GAAA;;QACf,IAAI,YAAY,GAAG,EAAE,CAAC;AAEtB,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC;YAC1D,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACjD;YACA,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AACjD,SAAA;AAAM,aAAA,IAAI,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,EAAE;;AAEtD,YAAA,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACpE,SAAA;AAED,QAAA,OAAO,YAAY;AAChB,aAAA,GAAG,CAAC,CAAC,KAAK,KAAI;;YACb,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC7B,gBAAA,KAAK,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,KAAI,EAAE,CAAC;AAC1D,aAAA;iBAAM,IAAI,KAAK,CAAC,IAAI,EAAE;AACrB,gBAAA,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACjE,aAAA;YACD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAE,EAAA,EAAA,KAAK,EAAG,CAAA,CAAA;AAC7B,SAAC,CAAC;aACD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,WAAW,GAAA;;QACT,MAAM,uBAAuB,GAC3B,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU;AAChD,aAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,CAAA,CAAC;AAE5B,QAAA,IAAI,uBAAuB,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC;AACtD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,SAAS,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AACjC,YAAA,IAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAK,aAAa,EAAE;gBAC7D,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAClD,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACrC,CAAC;AACH,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,qBAAqB,CAAC,6BAA6B,CACtD,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACrC,CAAC;AACH,aAAA;AACF,SAAA;KACF;AAED,IAAA,QAAQ,CAAC,QAAQ,EAAA;QACf,MAAM,CAAC,IAAI,CAAC,CAAA,EAAG,QAAQ,CAAE,CAAA,EAAE,QAAQ,CAAC,CAAC;KACtC;AAED,IAAA,0BAA0B,CAAC,KAAU,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;AAED,IAAA,iBAAiB,CAAC,CAAC,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACvB;AAED,IAAA,uBAAuB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;;sIA1KU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,kUC3BlC,qtJA0IA,EAAA,MAAA,EAAA,CAAA,89DAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAArB,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAiB,qBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD/Ga,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,WAAW,EAAE,gCAAgC;oBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;AAC9C,iBAAA,CAAA;uLAGC,mBAAmB,EAAA,CAAA;sBADlB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAUzC,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAgBN,oBAAoB,EAAA,CAAA;sBADnB,MAAM;gBAIP,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAIP,UAAU,EAAA,CAAA;sBADT,MAAM;;;MEzDIK,eAAa,CAAA;AACxB;;;;AAIG;AACH,IAAA,SAAS,CAAC,KAAU,EAAE,IAAY,EAAE,WAAgB,EAAE,EAAA;AACpD,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,KAAK,CAAC;QAElC,OAAOA,eAAa,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KACpD;AAED;;;;;;AAMG;AACH,IAAA,OAAO,MAAM,CACX,KAAoC,EACpC,IAAY,EACZ,QAAa,EAAA;AAEb,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAErC,QAAA,SAAS,WAAW,CAAC,IAAS,EAAE,IAAY,EAAA;YAC1C,IACE,OAAO,IAAI,KAAK,QAAQ;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EACjD;AACA,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AAED,YAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;AAC3B,gBAAA,IACE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI;AACvB,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS;AAC3B,oBAAA,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC3B;oBACA,SAAS;AACV,iBAAA;AACD,gBAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE;oBACtC,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;AACrC,wBAAA,OAAO,IAAI,CAAC;AACb,qBAAA;AACF,iBAAA;AAAM,qBAAA,IACL,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC3D;AACA,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;SACd;AAED,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC3B,YAAA,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACJ;;gIA1DUA,eAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8HAAbA,eAAa,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;oIAAbA,eAAa,EAAA,CAAA,CAAA;4FAAbA,eAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA,CAAA;;kBACA,UAAU;;;MCaE,qBAAqB,CAAA;AAsDhC,IAAA,WAAA,CACS,iBAAoC,EACpC,qBAA4C,EAC5C,YAA0B;;;QAF1B,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;QAC5C,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAjDnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAG9B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAGhC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;QAMpC,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;AAElB,QAAA,IAAA,CAAA,SAAS,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;QAQzC,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;QAM5B,IAAG,CAAA,GAAA,GAAW,IAAI,MAAM,CACtB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;;QAKF,IAAa,CAAA,aAAA,GAAG,EAAE,CAAC;AAEnB,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAElD,IAAkB,CAAA,kBAAA,GAAW,SAAS,CAAC;AAGvC,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAO9D;IAEE,QAAQ,GAAA;;YACZ,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,+BAA+B,EAAE,CAAC;SACxC,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,uBAAuB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACrC,SAAA;KACF;IAED,sBAAsB,GAAA;;AACpB,QAAA,MAAM,sBAAsB,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,MACrD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,sBAAsB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA;AAC5B,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,IAAI,EAAE,CAAC;SACR,CAAC;AACF,QAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,CAAA,EAAA,GAAA,WAAW,CAAC,WAAW,EAAE,IAAG,sBAAsB,KAAA,IAAA,IAAtB,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,IAAI,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,EAC7D,CAAA,EAAA,GAAA,WAAW,CAAC,QAAQ,EAAE,IAAG,sBAAsB,KAAtB,IAAA,IAAA,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,KAAK,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,EAC3D,CAAA,EAAA,GAAA,WAAW,CAAC,OAAO,EAAE,IAAG,sBAAsB,KAAtB,IAAA,IAAA,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,GAAG,CAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,CACzD,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,MAAM,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;AAEpD,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,WAAW,CAAC;YAC3C,KAAK,EAAE,IAAI,WAAW,CACpB,IAAI,MAAM,CACR,SAAS,CAAC,WAAW,EAAE,EACvB,SAAS,CAAC,QAAQ,EAAE,EACpB,SAAS,CAAC,OAAO,EAAE,CACpB,EACD,IAAI,CAAC,GAAG,CACT;AACD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACtE;IAED,+BAA+B,GAAA;;QAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAErE,IAAI,CAAC,wBAAwB,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,iBAAiB;AACpB,YAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,iBAAiB,CAAC;KACxE;IAEK,SAAS,GAAA;;;YACb,IAAI,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,EAAE;AACjC,gBAAA,IAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAK,aAAa,EAAE;AAChD,oBAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;AAClD,iBAAA;AAAM,qBAAA;AACL,oBAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAC9C,iBAAA;AACF,aAAA;;AACF,KAAA;IAEK,gBAAgB,GAAA;;;YACpB,IAAI,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,EAAE;AACjC,gBAAA,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5D,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;AACpC,aAAA;;AACF,KAAA;IAED,eAAe,GAAA;;AACb,QAAA,IAAI,CAAC,SAAS;AACZ,YAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,SAAS,CAAC;QACtE,UAAU,CAAC,MAAU,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACnB,YAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AACvB,YAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAChC,SAAC,CAAA,EAAE,IAAI,CAAC,CAAC;KACV;IAEK,WAAW,GAAA;;AACf,YAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC/B,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,iBAAiB,CAAC,CAAC,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACvB;AAEK,IAAA,WAAW,CAAC,SAAS,EAAA;;;AACzB,YAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,0BAA0B,CAAA,EAAE;gBAC1D,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAI;oBACxC,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACnE,iBAAC,CAAC,CAAC;AACJ,aAAA;AAED,YAAA,IAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAK,aAAa,EAAE;gBAChD,SAAS;oBACP,MAAM,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACzE,aAAA;AAAM,iBAAA;gBACL,SAAS;oBACP,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACrE,aAAA;AAED,YAAA,OAAO,SAAS,CAAC;;AAClB,KAAA;AAED,IAAA,uBAAuB,CAAC,KAAK,EAAA;AAC3B,QAAA,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,sBAAsB,CAAC;YAC1B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,OAAO,EAAE,IAAI,CAAC,MAAM;AACrB,SAAA,CAAC,CAAC;KACJ;IAED,4BAA4B,GAAA;AAC1B,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACvD,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;KACtC;AAED,IAAA,wBAAwB,CAAC,KAAU,EAAA;QACjC,IAAI,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AACzC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC3E,SAAA;KACF;IAED,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAA;AAC9B,QAAA,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACjE,QAAA,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;KACxD;AAED,IAAA,2BAA2B,CAAC,KAAU,EAAA;;AACpC,QAAA,IAAI,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAI,CAAA,EAAA,GAAA,KAAK,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAE,CAAA,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC/D,SAAA;KACF;AAED,IAAA,wBAAwB,CAAC,KAAK,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;KAC/B;AAED,IAAA,uBAAuB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;AAED,IAAA,sBAAsB,CAAC,MAAM,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;AAED,IAAA,0BAA0B,CAAC,KAAU,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;;sIAtNU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,6QCnBlC,49GAsHA,EAAA,MAAA,EAAA,CAAA,gnCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAArB,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAwB,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,gCAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAAA,EAAAE,eAAA,EAAA,EAAA,CAAA,CAAA;4FDnGa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,WAAW,EAAE,gCAAgC;oBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;AAC9C,iBAAA,CAAA;8JAGC,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAIP,UAAU,EAAA,CAAA;sBADT,MAAM;gBAIP,cAAc,EAAA,CAAA;sBADb,MAAM;gBAuCP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;;;MErCI,+BAA+B,CAAA;IAyD1C,WACS,CAAA,iBAAoC,EACpC,YAA0B,EAC1B,UAAsB,EACrB,WAAuB,EACY,aAA+B,EAAA;QAJnE,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACrB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACY,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QA/C5E,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;QAGpB,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;QAGrB,IAAQ,CAAA,QAAA,GAAe,EAAE,CAAC;AAG1B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAG9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAG7B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAGhC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAGpC,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAO,CAAC;QAElE,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QAIf,IAAoB,CAAA,oBAAA,GAAQ,EAAE,CAAC;QAE/B,IAAkB,CAAA,kBAAA,GAAQ,EAAE,CAAC;QA2H7B,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QAMb,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;QAElB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;KAnHZ;IA7DJ,mBAAmB,GAAA;QACjB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,EAAE;AACpD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;AACvC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC;AACxC,SAAA;KACF;IAuDK,QAAQ,GAAA;;;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACvC,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,0CAAE,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC;YAEvE,IACE,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAK,aAAa;gBAC5C,eAAe,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAC,EAC1C;AACA,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAe,KAAI;AACrE,oBAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;AACzB,oBAAA,IAAI,MAAM,EAAE;AACV,wBAAA,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;AAC/D,wBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;;AAEtB,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAC5D,wBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,aAAA;YAED,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B,EAAE,IAAI,CAAC,CAAC;;AACV,KAAA;;AAGD,IAAA,QAAQ,CAAC,MAAM,EAAA;AACb,QAAA,MAAM,GAAG,GAAG,CAA+C,4CAAA,EAAA,MAAM,4CAA4C,CAAC;AAC9G,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAChD,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,UAAU,CAAC,MAAK;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;AAC3D,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;SAClB,CAAC,CACH,CAAC;KACH;AAED,IAAA,iBAAiB,CAAC,KAAK,EAAA;QACrB,IAAI,IAAI,GAAG,EAAE,CAAC;;AAEd,QAAA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YACjB,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3D,YAAA,IAAI,GAAG,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC;KACb;IAED,SAAS,GAAA;;QACP,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAA,IACE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC;YACtD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7C;YACA,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;AAC7C,YAAA,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC1B,gBAAA,IAAI,KAAK,CAAC;gBACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAC7B,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5C,iBAAA;AAAM,qBAAA;oBACL,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5D,iBAAA;AACD,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,gBAAA,OAAO,IAAI,CAAC;AACd,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,kBAAkB,GAAG;AACxB,gBAAA;AACE,oBAAA,KAAK,EAAE,UAAU;AACjB,oBAAA,KAAK,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ;AAChC,iBAAA;aACF,CAAC;AACH,SAAA;AACD,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;KACpE;AAED,IAAA,iBAAiB,CAAC,CAAC,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACvB;AAED,IAAA,oBAAoB,CAAC,IAAI,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;AAED,IAAA,uBAAuB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;AAED,IAAA,sBAAsB,CAAC,MAAM,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;KACjC;IAID,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KACxB;AAMD,IAAA,UAAU,CAAC,QAAiB,EAAA;AAC1B,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AACnB,SAAA;KACF;AAED,IAAA,YAAY,CAAC,MAAe,EAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;KACjC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AACvC,SAAA;KACF;AAED,IAAA,UAAU,CAAC,OAA8C,EAAA;AACvD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa;AACzC,aAAA,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACvD,aAAA,SAAS,EAAE,CAAC;KAChB;AAED,IAAA,cAAc,CAAC,MAAiB,EAAA;AAC9B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC9B;AAED,IAAA,qBAAqB,CAAC,CAAC,EAAA;AACrB,QAAA,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAED,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;KACjE;AAED,IAAA,0BAA0B,CAAC,KAAU,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;;AA1NU,mBAAA,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,+HA8DhC,gBAAgB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oIA9Df,+BAA+B,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAiD/B,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,KAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClF1B,63NA2NA,EAAA,MAAA,EAAA,CAAA,sqKAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA3B,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA2B,wBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAf,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmB,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAApB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAU,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA;4FD1La,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,WAAW,EAAE,yCAAyC;oBACtD,SAAS,EAAE,CAAC,yCAAyC,CAAC;AACvD,iBAAA,CAAA;;0BA+DI,MAAM;2BAAC,gBAAgB,CAAA;4CA5D1B,mBAAmB,EAAA,CAAA;sBADlB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAczC,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAIP,OAAO,EAAA,CAAA;sBADN,MAAM;gBAIP,UAAU,EAAA,CAAA;sBADT,MAAM;gBAIP,cAAc,EAAA,CAAA;sBADb,MAAM;gBAIP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;gBAWsC,UAAU,EAAA,CAAA;sBAAtD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAEP,UAAU,EAAA,CAAA;sBAA7C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AEpFpC;MAea,6BAA6B,CAAA;;AAgCxC,IAAA,WAAA,GAAA;QA9BA,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;QAGpB,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;QAGrB,IAAQ,CAAA,QAAA,GAAe,EAAE,CAAC;AAG1B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAG9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAG7B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAGhC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAGpC,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAE,CAAC;AAGtD,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAE,CAAC;KAG7C;;AAGhB,IAAA,QAAQ,MAAK;AAEb,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;;AAEnC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAClE,SAAC,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC/C,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,CAAC,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACvB;AAED,IAAA,oBAAoB,CAAC,IAAI,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;AAED,IAAA,uBAAuB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;AAED,IAAA,sBAAsB,CAAC,MAAM,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjC;AAED,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,0BAA0B,CAAC,KAAK,EAAA;AAC9B,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;;8IAtEU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,mBAAA,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,0XCf1C,o1BAwBA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAqB,+BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,+BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA9B,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDTa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,WAAW,EAAE,yCAAyC;oBACtD,SAAS,EAAE,CAAC,yCAAyC,CAAC;AACvD,iBAAA,CAAA;0EAGC,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAIP,OAAO,EAAA,CAAA;sBADN,MAAM;gBAIP,UAAU,EAAA,CAAA;sBADT,MAAM;gBAIP,cAAc,EAAA,CAAA;sBADb,MAAM;gBAIP,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAIP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;;;MEoCI,4BAA4B,CAAA;;6IAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,mBAAA,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,iBAzCrC,+BAA+B;QAC/B,qBAAqB;QACrB,qBAAqB;QACrBoB,eAAa;QACb,mBAAmB;QACnB,wBAAwB;AACxB,QAAA,qBAAqB,aAGrB,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,mBAAmB;QAEnB,kBAAkB;QAClB,iBAAiB;QACjB,qBAAqB;QACrB,0BAA0B;QAC1B,uBAAuB;QACvB,0BAA0B;QAC1B,iBAAiB;QACjB,2BAA2B;QAE3B,oBAAoB;QAEpB,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,gBAAgB;QAChB,mBAAmB;QACnB,cAAc;QACd,YAAY;QAEZ,eAAe;QAEf,gBAAgB;QAChB,gBAAgB;AAChB,QAAA,qBAAqB,aAEb,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAE9B,mBAAA,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EAjC9B,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,mBAAmB;YAEnB,kBAAkB;YAClB,iBAAiB;YACjB,qBAAqB;YACrB,0BAA0B;YAC1B,uBAAuB;YACvB,0BAA0B;YAC1B,iBAAiB;YACjB,2BAA2B;YAE3B,oBAAoB;YAEpB,aAAa;YACb,eAAe;YACf,iBAAiB;YACjB,gBAAgB;YAChB,mBAAmB;YACnB,cAAc;YACd,YAAY;YAEZ,eAAe;YAEf,gBAAgB;YAChB,gBAAgB;YAChB,qBAAqB;AACtB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBA3CxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,+BAA+B;wBAC/B,qBAAqB;wBACrB,qBAAqB;wBACrBA,eAAa;wBACb,mBAAmB;wBACnB,wBAAwB;wBACxB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;wBAEnB,kBAAkB;wBAClB,iBAAiB;wBACjB,qBAAqB;wBACrB,0BAA0B;wBAC1B,uBAAuB;wBACvB,0BAA0B;wBAC1B,iBAAiB;wBACjB,2BAA2B;wBAE3B,oBAAoB;wBAEpB,aAAa;wBACb,eAAe;wBACf,iBAAiB;wBACjB,gBAAgB;wBAChB,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBAEZ,eAAe;wBAEf,gBAAgB;wBAChB,gBAAgB;wBAChB,qBAAqB;AACtB,qBAAA;oBACD,OAAO,EAAE,CAAC,+BAA+B,CAAC;AAC3C,iBAAA,CAAA;;;MCvEY,kBAAkB,CAAA;AAC7B,IAAA,WAAA,GAAA,GAAgB;IAEV,QAAQ,GAAA;+DAAK,CAAA,CAAA;AAAA,KAAA;;mIAHR,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,kDCP/B,cACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,WAAW,EAAE,6BAA6B;oBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;AAC3C,iBAAA,CAAA;;;MEYY,eAAe,CAAA;;gIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iIAAf,eAAe,EAAA,YAAA,EAAA,CAVX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAE/B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;AACZ,QAAA,iBAAiB,aAET,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EATjB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA,CAAA;;;MCGY,iBAAiB,CAAA;;kIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mIAAjB,iBAAiB,EAAA,YAAA,EAAA,CAXb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEjC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,YAAY;AACZ,QAAA,iBAAiB,aAET,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAVnB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA,CAAA;;;MCDY,aAAa,CAAA;;8HAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+HAAb,aAAa,EAAA,YAAA,EAAA,CAVT,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAE7B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;AACZ,QAAA,iBAAiB,aAET,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAEf,mBAAA,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EATf,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;AAChC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;MCYY,oBAAoB,CAAA;;qIAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sIAApB,oBAAoB,EAAA,YAAA,EAAA,CAfhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAEpC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,sBAAsB;QACtB,iBAAiB;QACjB,uBAAuB;QACvB,iBAAiB;QACjB,cAAc;QACd,YAAY;AACZ,QAAA,iBAAiB,aAET,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAdtB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,sBAAsB;YACtB,iBAAiB;YACjB,uBAAuB;YACvB,iBAAiB;YACjB,cAAc;YACd,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAhBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,sBAAsB;wBACtB,iBAAiB;wBACjB,uBAAuB;wBACvB,iBAAiB;wBACjB,cAAc;wBACd,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,iBAAA,CAAA;;;MClBY,oBAAoB,CAAA;;qIAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sIAApB,oBAAoB,EAAA,YAAA,EAAA,CAJhB,uBAAuB,CAC5B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAC9C,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAHtB,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAA,EAAA,CAAA,CAAA;4FAG9C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC;oBACzD,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,iBAAA,CAAA;;;MCWY,gBAAgB,CAAA;;iIAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAhB,gBAAgB,EAAA,YAAA,EAAA,CAXZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,iBAAiB;AACjB,QAAA,oBAAoB,aAEZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAElB,mBAAA,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAVlB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,iBAAiB;YACjB,oBAAoB;AACrB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,iBAAiB;wBACjB,oBAAoB;AACrB,qBAAA;oBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;MCGY,cAAc,CAAA;;+HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gIAAd,cAAc,EAAA,YAAA,EAAA,CAZV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAE9B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,YAAY;AACZ,QAAA,iBAAiB,aAET,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAXhB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,kBAAkB;YAClB,oBAAoB;YACpB,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACjC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,kBAAkB;wBAClB,oBAAoB;wBACpB,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;MCDY,oBAAoB,CAAA;;qIAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sIAApB,oBAAoB,EAAA,YAAA,EAAA,CAXhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAEpC,YAAY;QACZ,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,YAAY;AACZ,QAAA,iBAAiB,aAET,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAVtB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,eAAe;YACf,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAZhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,iBAAA,CAAA;;;MCZY,aAAa,CAAA;AACxB;;;;AAIG;AACH,IAAA,SAAS,CAAC,KAAU,EAAE,IAAY,EAAE,WAAgB,EAAE,EAAA;AACpD,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,KAAK,CAAC;QAElC,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KACpD;AAED;;;;;;AAMG;AACH,IAAA,OAAO,MAAM,CACX,KAAoC,EACpC,IAAY,EACZ,QAAa,EAAA;AAEb,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAErC,QAAA,SAAS,WAAW,CAAC,IAAS,EAAE,IAAY,EAAA;YAC1C,IACE,OAAO,IAAI,KAAK,QAAQ;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EACjD;AACA,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AAED,YAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;AAC3B,gBAAA,IACE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI;AACvB,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS;AAC3B,oBAAA,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC3B;oBACA,SAAS;AACV,iBAAA;AACD,gBAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE;oBACtC,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;AACrC,wBAAA,OAAO,IAAI,CAAC;AACb,qBAAA;AACF,iBAAA;AAAM,qBAAA,IACL,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC3D;AACA,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;SACd;AAED,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC3B,YAAA,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACJ;;8HA1DU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4HAAb,aAAa,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;kIAAb,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA,CAAA;;kBACA,UAAU;;;MCsBE,cAAc,CAAA;;+HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAfV,YAAA,EAAA,CAAA,iBAAiB,EAAE,aAAa,aAE7C,YAAY;QACZ,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,oBAAoB;AACpB,QAAA,mBAAmB,aAEX,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAdhB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,eAAe;YACf,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,kBAAkB;YAClB,iBAAiB;YACjB,cAAc;YACd,oBAAoB;YACpB,mBAAmB;AACpB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAhB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;AAChD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,kBAAkB;wBAClB,iBAAiB;wBACjB,cAAc;wBACd,oBAAoB;wBACpB,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;MCpBY,oBAAoB,CAAA;AAU/B,IAAA,WAAA,GAAA;QARA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAI,CAAA,IAAA,GAAQ,EAAE,CAAC;AAGf,QAAA,IAAA,CAAA,qBAAqB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAEnD;IAEV,QAAQ,GAAA;+DAAK,CAAA,CAAA;AAAA,KAAA;;qIAZR,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6JCPjC,eACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,WAAW,EAAE,+BAA+B;oBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;AAC7C,iBAAA,CAAA;0EAGC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,qBAAqB,EAAA,CAAA;sBADpB,MAAM;;;MEII,iBAAiB,CAAA;;kIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mIAAjB,iBAAiB,EAAA,YAAA,EAAA,CAVb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEjC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;AACZ,QAAA,iBAAiB,aAET,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EATnB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA,CAAA;;;MCmBY,eAAe,CAAA;;gIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAtBxB,eAAe;QACf,iBAAiB;QACjB,aAAa;QACb,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,oBAAoB;AACpB,QAAA,iBAAiB,aAGjB,eAAe;QACf,iBAAiB;QACjB,aAAa;QACb,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,oBAAoB;QACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGR,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAvBjB,OAAA,EAAA,CAAA;YACP,eAAe;YACf,iBAAiB;YACjB,aAAa;YACb,oBAAoB;YACpB,gBAAgB;YAChB,cAAc;YACd,cAAc;YACd,oBAAoB;YACpB,iBAAiB;AAClB,SAAA,EAEC,eAAe;QACf,iBAAiB;QACjB,aAAa;QACb,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,oBAAoB;QACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;4FAGR,eAAe,EAAA,UAAA,EAAA,CAAA;kBAzB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,iBAAiB;wBACjB,aAAa;wBACb,oBAAoB;wBACpB,gBAAgB;wBAChB,cAAc;wBACd,cAAc;wBACd,oBAAoB;wBACpB,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,iBAAiB;wBACjB,aAAa;wBACb,oBAAoB;wBACpB,gBAAgB;wBAChB,cAAc;wBACd,cAAc;wBACd,oBAAoB;wBACpB,iBAAiB;AAClB,qBAAA;AACF,iBAAA,CAAA;;;MCNY,gBAAgB,CAAA;;iIAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAhB,gBAAgB,EAAA,YAAA,EAAA,CAfZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,oBAAoB;QACpB,eAAe;QACf,YAAY;QACZ,sBAAsB;QACtB,gBAAgB;AAChB,QAAA,eAAe,aAEP,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAElB,mBAAA,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAdlB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,oBAAoB;YACpB,eAAe;YACf,YAAY;YACZ,sBAAsB;YACtB,gBAAgB;YAChB,eAAe;AAChB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,eAAe;wBACf,YAAY;wBACZ,sBAAsB;wBACtB,gBAAgB;wBAChB,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;MCLY,kBAAkB,CAAA;;mIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oIAAlB,kBAAkB,EAAA,YAAA,EAAA,CAbd,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAElC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,iBAAiB;QACjB,mBAAmB;QACnB,cAAc;AACd,QAAA,iBAAiB,aAET,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEpB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAZpB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,iBAAiB;YACjB,mBAAmB;YACnB,cAAc;YACd,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;AACrC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,iBAAiB;wBACjB,mBAAmB;wBACnB,cAAc;wBACd,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,iBAAA,CAAA;;;MCbY,YAAY,CAAA;;6HAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,mBAAA,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHb,kBAAkB,EAAE,gBAAgB,CACpC,EAAA,OAAA,EAAA,CAAA,kBAAkB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;8HAEnC,YAAY,EAAA,OAAA,EAAA,CAHd,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EACrC,kBAAkB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;4FAEnC,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;AAC/C,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;AAChD,iBAAA,CAAA;;;MCcY,4BAA4B,CAAA;;6IAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8IAA5B,4BAA4B,EAAA,YAAA,EAAA,CAZxB,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAE5C,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,iBAAiB;QACjB,YAAY;AACZ,QAAA,eAAe,aAEP,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAE9B,mBAAA,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EAX9B,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,iBAAiB;YACjB,YAAY;YACZ,eAAe;AAChB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAbxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,+BAA+B,CAAC;AAC/C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,iBAAiB;wBACjB,YAAY;wBACZ,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,+BAA+B,CAAC;AAC3C,iBAAA,CAAA;;;MCmDY,0BAA0B,CAAA;;2IAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAA1B,0BAA0B,EAAA,YAAA,EAAA,CArCtB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAE1C,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,mBAAmB;QAEnB,kBAAkB;QAClB,iBAAiB;QACjB,qBAAqB;QACrB,0BAA0B;QAC1B,uBAAuB;QACvB,0BAA0B;QAC1B,iBAAiB;QACjB,2BAA2B;QAE3B,oBAAoB;QAEpB,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,gBAAgB;QAChB,mBAAmB;QACnB,cAAc;QACd,YAAY;QAEZ,eAAe;QAEf,gBAAgB;QAChB,gBAAgB;QAChB,qBAAqB;QAErB,4BAA4B;AAC5B,QAAA,4BAA4B,aAEpB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAE5B,mBAAA,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EApC5B,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,mBAAmB;YAEnB,kBAAkB;YAClB,iBAAiB;YACjB,qBAAqB;YACrB,0BAA0B;YAC1B,uBAAuB;YACvB,0BAA0B;YAC1B,iBAAiB;YACjB,2BAA2B;YAE3B,oBAAoB;YAEpB,aAAa;YACb,eAAe;YACf,iBAAiB;YACjB,gBAAgB;YAChB,mBAAmB;YACnB,cAAc;YACd,YAAY;YAEZ,eAAe;YAEf,gBAAgB;YAChB,gBAAgB;YAChB,qBAAqB;YAErB,4BAA4B;YAC5B,4BAA4B;AAC7B,SAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAtCtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;AAC7C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;wBAEnB,kBAAkB;wBAClB,iBAAiB;wBACjB,qBAAqB;wBACrB,0BAA0B;wBAC1B,uBAAuB;wBACvB,0BAA0B;wBAC1B,iBAAiB;wBACjB,2BAA2B;wBAE3B,oBAAoB;wBAEpB,aAAa;wBACb,eAAe;wBACf,iBAAiB;wBACjB,gBAAgB;wBAChB,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBAEZ,eAAe;wBAEf,gBAAgB;wBAChB,gBAAgB;wBAChB,qBAAqB;wBAErB,4BAA4B;wBAC5B,4BAA4B;AAC7B,qBAAA;oBACD,OAAO,EAAE,CAAC,6BAA6B,CAAC;AACzC,iBAAA,CAAA;;;ACvED;;ACAA;;AAEG;;;;"}